address size name category description 0x00401048 6 ijlInit game_core Import thunk for Intel JPEG Library (IJL) ijlInit function 0x0040104E 6 ijlWrite game_core Import thunk for Intel JPEG Library (IJL) ijlWrite function 0x00401054 6 ijlFree game_core Import thunk for Intel JPEG Library (IJL) ijlFree function 0x0040105A 6 ijlRead game_core Import thunk for Intel JPEG Library (IJL) ijlRead function 0x00401080 16 register_atexit_handler_00401080 game_core Registers LAB_00401090 as atexit cleanup handler 0x004012B0 20 CFileReader__init_vtable file Initializes CFileReader vtable, zeros size/error/buffer fields 0x004012D0 42 CFileReader__reset_and_free_buffer file Resets CFileReader error and size fields, frees buffer at offset 0xc 0x00401300 202 CFileReader__open_file_wide file Opens file via CreateFileW for reading, gets file size with GetFileSizeEx 0x00401640 6 thunk_00401640 game_core Thunk to FUN_027112dc 0x004016E0 67 binary_search_pair_array game_core Binary search pair array 0x00401730 113 CFileReader__read_data_from_buffer file Reads data from CFileReader internal buffer, sets error codes 1 or 3 0x00401870 4 CFileReader__get_file_size file Returns CFileReader file size from offset 0x8 0x00401880 4 CFileReader__get_error_code file Returns CFileReader error code from offset 0x4 0x00401890 48 CFileReader__cleanup_and_free file Resets CFileReader vtable, zeros fields, frees buffer at offset 0xc 0x004018C0 89 CFileReader__open_file_ansi file Converts ANSI filename to wide char then calls open_file_wide 0x00401920 178 CFileReader__load_with_hash_check file Loads file and verifies MD5 hash from data+size params 0x004019E0 210 CFileReader__load_file_with_md5_check file Opens wide file, computes MD5 hash via mmap, then reads buffer 0x00401AC0 68 CFileReader__destructor file CFileReader destructor: resets vtable, frees buffer, optional scalar delete 0x00401B10 148 CFileReader__load_ansi_with_hash_check file Converts ANSI path to wide, loads file with MD5 verification 0x00401BB0 131 CFileReader__load_ansi_with_md5_check file Converts ANSI path to wide, loads file with MD5 check via mmap 0x00401C40 3 noop_passthrough game_core No-op function that returns its first parameter unchanged 0x00401C50 1 noop_void game_core Empty function, no-op stub 0x00401C60 64 memcpy_dwords stl Copies memory in 4-byte (DWORD) chunks using a counted loop 0x00401CD0 1668 md5_transform_block security MD5 compression: 64-round transform on 16-dword block per RFC 1321 0x00402360 187 md5_update security MD5 update: processes input in 64-byte blocks via md5_transform_block 0x00402420 254 md5_finalize security MD5 finalize: pads with 0x80, appends 64-bit length, outputs 16-byte digest 0x00402520 94 md5_compute_hash security Initializes MD5 state, updates and finalizes in one call 0x00402580 190 md5_hash_to_uint32 security Computes MD5 of data+size, XOR-folds 16-byte digest to 4-byte hash 0x00402640 207 md5_hash_string_to_uint32 security Computes MD5 of null-terminated string, XOR-folds to 4-byte hash 0x00402710 1 stub_ret_00402710 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x00402770 472 md5_hash_file_to_uint32 security Memory-maps file (capped 500MB), computes MD5, XOR-folds to 4 bytes 0x00402B60 108 CCrypto__release_handles security Releases CryptoAPI handles: hash, keys, context via CryptDestroy* 0x00402BE0 1 stub_ret_00402be0 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x00402F10 1 stub_ret_00402f10 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x00403140 157 crc32_generate_table game_core Generates 256-entry CRC32 lookup table using polynomial 0xEDB88320 0x004031F0 79 crc32_update_buffer game_core Updates CRC32 running value byte-by-byte using precomputed table 0x00403370 297 crc32_compute_file game_core Reads file in 64KB chunks, computes CRC32, inverts final result 0x004034A0 390 crc32_compute_file_partial game_core Computes CRC32 of file from offset, reading up to N bytes 0x00403670 1 stub_ret_00403670 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x00403800 39 crc32_compute_buffer game_core Computes CRC32 of memory buffer, inits 0xFFFFFFFF, inverts final 0x00403830 253 crc32_compute_file_mapped game_core Memory-maps file (capped 500MB), computes CRC32 via buffer method 0x004039C0 154 CRT_init_critical_section_004039c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00403AC0 154 CRT_init_critical_section_00403ac0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00403BC0 154 CRT_init_critical_section_00403bc0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00403CC0 154 CRT_init_critical_section_00403cc0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00403DC0 154 CRT_init_critical_section_00403dc0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00403EC0 154 CRT_init_critical_section_00403ec0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00403FC0 154 CRT_init_critical_section_00403fc0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004040C0 154 CRT_init_critical_section_004040c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004041C0 154 CRT_init_critical_section_004041c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00404710 154 CRT_init_critical_section_00404710 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00404810 154 CRT_init_critical_section_00404810 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00404910 154 CRT_init_critical_section_00404910 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00404A10 154 CRT_init_critical_section_00404a10 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00404B10 154 CRT_init_critical_section_00404b10 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00404C10 154 CRT_init_critical_section_00404c10 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00404D10 154 CRT_init_critical_section_00404d10 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00404E10 154 CRT_init_critical_section_00404e10 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00405360 154 CRT_init_critical_section_00405360 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00405400 133 gdiplus_startup_init game_core Initializes GDI+ via GdiplusStartup, registers atexit cleanup 0x00405490 95 STL_init_map_tree_00405490 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00405550 154 CRT_init_critical_section_00405550 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00405650 154 CRT_init_critical_section_00405650 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00405750 154 CRT_init_critical_section_00405750 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004057F0 194 STL_init_unordered_map_004057f0 stl Initializes a global std::unordered_map/set. Allocates bucket list node, sets load_factor=1.0f, max_bucket_count=8, initial_buckets=7. Calls STL_vector_resize to create bucket array. Registers atexit cleanup. 0x00405D70 154 CRT_init_critical_section_00405d70 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00405E70 154 CRT_init_critical_section_00405e70 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00405F10 194 STL_init_unordered_map_00405f10 stl Initializes a global std::unordered_map/set. Allocates bucket list node, sets load_factor=1.0f, max_bucket_count=8, initial_buckets=7. Calls STL_vector_resize to create bucket array. Registers atexit cleanup. 0x00406490 154 CRT_init_critical_section_00406490 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00406590 154 CRT_init_critical_section_00406590 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00406AE0 154 CRT_init_critical_section_00406ae0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00406BE0 154 CRT_init_critical_section_00406be0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00406CE0 154 CRT_init_critical_section_00406ce0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00406DE0 154 CRT_init_critical_section_00406de0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00406EE0 154 CRT_init_critical_section_00406ee0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00407430 154 CRT_init_critical_section_00407430 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004074D0 103 STL_init_map_tree_004074d0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x004075A0 154 CRT_init_critical_section_004075a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004076A0 154 CRT_init_critical_section_004076a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004077A0 154 CRT_init_critical_section_004077a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004078A0 154 CRT_init_critical_section_004078a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004079A0 154 CRT_init_critical_section_004079a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00407AA0 154 CRT_init_critical_section_00407aa0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00407BA0 154 CRT_init_critical_section_00407ba0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00407CA0 154 CRT_init_critical_section_00407ca0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004081F0 154 CRT_init_critical_section_004081f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408290 95 STL_init_map_tree_00408290 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00408350 154 CRT_init_critical_section_00408350 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408460 154 CRT_init_critical_section_00408460 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408560 154 CRT_init_critical_section_00408560 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408660 154 CRT_init_critical_section_00408660 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408760 154 CRT_init_critical_section_00408760 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408860 154 CRT_init_critical_section_00408860 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408960 154 CRT_init_critical_section_00408960 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408A60 154 CRT_init_critical_section_00408a60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408B60 154 CRT_init_critical_section_00408b60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408C60 154 CRT_init_critical_section_00408c60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408D60 154 CRT_init_critical_section_00408d60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408E60 154 CRT_init_critical_section_00408e60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00408F60 154 CRT_init_critical_section_00408f60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409060 154 CRT_init_critical_section_00409060 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409160 154 CRT_init_critical_section_00409160 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409260 154 CRT_init_critical_section_00409260 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409360 154 CRT_init_critical_section_00409360 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409460 154 CRT_init_critical_section_00409460 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409560 154 CRT_init_critical_section_00409560 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409660 154 CRT_init_critical_section_00409660 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409760 154 CRT_init_critical_section_00409760 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409860 154 CRT_init_critical_section_00409860 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409DB0 154 CRT_init_critical_section_00409db0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00409E50 95 STL_init_map_tree_00409e50 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x0040A360 154 CRT_init_critical_section_0040a360 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040A400 95 STL_init_map_tree_0040a400 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x0040A910 154 CRT_init_critical_section_0040a910 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040A9B0 95 STL_init_map_tree_0040a9b0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x0040AA70 154 CRT_init_critical_section_0040aa70 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040AB70 154 CRT_init_critical_section_0040ab70 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040B0C0 154 CRT_init_critical_section_0040b0c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040B160 95 STL_init_map_tree_0040b160 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x0040B670 154 CRT_init_critical_section_0040b670 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040B770 154 CRT_init_critical_section_0040b770 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040BCC0 154 CRT_init_critical_section_0040bcc0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040BD60 194 STL_init_unordered_map_0040bd60 stl Initializes a global std::unordered_map/set. Allocates bucket list node, sets load_factor=1.0f, max_bucket_count=8, initial_buckets=7. Calls STL_vector_resize to create bucket array. Registers atexit cleanup. 0x0040C2E0 154 CRT_init_critical_section_0040c2e0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040C3E0 154 CRT_init_critical_section_0040c3e0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040C4E0 154 CRT_init_critical_section_0040c4e0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040C5E0 154 CRT_init_critical_section_0040c5e0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040CB30 154 CRT_init_critical_section_0040cb30 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040CBD0 122 CEffect__register_callback_c_0040cbd0 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable PTR_CEffect__get_callback_ptr_c_010dffb4, stores callback function pointer, then calls CEffectCallbackContainer__constructor to register the effect callback. NOT an exception throw despite SEH frame setup. 0x0040CC50 122 CEffect__register_callback_c_0040cc50 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040CCD0 122 CEffect__register_callback_c_0040ccd0 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040CD50 122 CEffect__register_callback_c_0040cd50 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040CDD0 122 CEffect__register_callback_c_0040cdd0 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040CE50 122 CEffect__register_callback_c_0040ce50 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040CED0 122 CEffect__register_callback_c_0040ced0 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040CF50 122 CEffect__register_callback_c_0040cf50 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040CFD0 122 CEffect__register_callback_c_0040cfd0 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040D050 122 CEffect__register_callback_c_0040d050 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040D0D0 122 CEffect__register_callback_c_0040d0d0 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040D150 122 CEffect__register_callback_c_0040d150 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040D1D0 202 MSVC_exception_init_0040d1d0 game_core MSVC exception propagation: constructs exception with vtable, calls throw helper 0x0040D2A0 122 CEffect__register_callback_a_0040d2a0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable PTR_CEffect__get_callback_ptr_a_010dff98, stores callback function pointer, then calls CEffectCallbackContainer__constructor_copy to register the effect callback. NOT an exception throw despite SEH frame setup. 0x0040D320 122 CEffect__register_callback_a_0040d320 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D3A0 122 CEffect__register_callback_a_0040d3a0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D420 122 CEffect__register_callback_a_0040d420 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D4A0 122 CEffect__register_callback_a_0040d4a0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D520 122 CEffect__register_callback_a_0040d520 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D5A0 122 CEffect__register_callback_a_0040d5a0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D620 122 CEffect__register_callback_a_0040d620 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D6A0 122 CEffect__register_callback_a_0040d6a0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D720 122 CEffect__register_callback_a_0040d720 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D7A0 122 CEffect__register_callback_a_0040d7a0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D820 122 CEffect__register_callback_a_0040d820 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D8A0 122 CEffect__register_callback_a_0040d8a0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D920 122 CEffect__register_callback_a_0040d920 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040D9A0 122 CEffect__register_callback_a_0040d9a0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DA20 122 CEffect__register_callback_a_0040da20 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DAA0 122 CEffect__register_callback_a_0040daa0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DB20 122 CEffect__register_callback_a_0040db20 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DBA0 122 CEffect__register_callback_a_0040dba0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DC20 122 CEffect__register_callback_a_0040dc20 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DCA0 122 CEffect__register_callback_a_0040dca0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DD20 122 CEffect__register_callback_a_0040dd20 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DDA0 122 CEffect__register_callback_a_0040dda0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DE20 122 CEffect__register_callback_a_0040de20 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DEA0 122 CEffect__register_callback_a_0040dea0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DF20 122 CEffect__register_callback_a_0040df20 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040DFA0 122 CEffect__register_callback_a_0040dfa0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040E020 122 CEffect__register_callback_a_0040e020 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040E0A0 122 CEffect__register_callback_a_0040e0a0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040E120 122 CEffect__register_callback_a_0040e120 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040E650 154 CRT_init_critical_section_0040e650 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040E6F0 122 CEffect__register_callback_c_0040e6f0 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040E770 122 CEffect__register_callback_c_0040e770 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040E7F0 122 CEffect__register_callback_c_0040e7f0 effect CEffect callback registration (type C). Sets up CEffectCallbackContainer with vtable c, calls CEffectCallbackContainer__constructor. NOT an exception throw. 0x0040E870 202 MSVC_exception_init_0040e870 game_core MSVC exception propagation: constructs exception with vtable, calls throw helper 0x0040E940 122 CEffect__register_callback_a_0040e940 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040E9C0 122 CEffect__register_callback_a_0040e9c0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EA40 122 CEffect__register_callback_a_0040ea40 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EAC0 122 CEffect__register_callback_a_0040eac0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EB40 122 CEffect__register_callback_a_0040eb40 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EBC0 122 CEffect__register_callback_a_0040ebc0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EC40 122 CEffect__register_callback_a_0040ec40 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040ECC0 122 CEffect__register_callback_a_0040ecc0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040ED40 122 CEffect__register_callback_a_0040ed40 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EDC0 122 CEffect__register_callback_a_0040edc0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EE40 122 CEffect__register_callback_a_0040ee40 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EEC0 122 CEffect__register_callback_a_0040eec0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EF40 122 CEffect__register_callback_a_0040ef40 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040EFC0 122 CEffect__register_callback_a_0040efc0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040F040 122 CEffect__register_callback_a_0040f040 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040F0C0 122 CEffect__register_callback_a_0040f0c0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040F140 122 CEffect__register_callback_a_0040f140 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040F1C0 122 CEffect__register_callback_a_0040f1c0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040F240 122 CEffect__register_callback_a_0040f240 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040F2C0 122 CEffect__register_callback_a_0040f2c0 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040F340 122 CEffect__register_callback_a_0040f340 effect CEffect callback registration (type A). Sets up CEffectCallbackContainer with vtable a, calls CEffectCallbackContainer__constructor_copy. NOT an exception throw. 0x0040F3C0 194 STL_init_unordered_map_0040f3c0 stl Initializes a global std::unordered_map/set. Allocates bucket list node, sets load_factor=1.0f, max_bucket_count=8, initial_buckets=7. Calls STL_vector_resize to create bucket array. Registers atexit cleanup. 0x0040F940 154 CRT_init_critical_section_0040f940 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040FE90 154 CRT_init_critical_section_0040fe90 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0040FF90 154 CRT_init_critical_section_0040ff90 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00410090 154 CRT_init_critical_section_00410090 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00410190 154 CRT_init_critical_section_00410190 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004106E0 154 CRT_init_critical_section_004106e0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00410780 262 tls_decrypt_string_00410780 security Decrypts TLS-stored encrypted string using XOR key pair, stores in global pointer 0x004108F0 154 CRT_init_critical_section_004108f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00410E40 154 CRT_init_critical_section_00410e40 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00410EE0 95 STL_init_map_tree_00410ee0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00410F40 262 tls_decrypt_string_00410f40 security Decrypts TLS-stored encrypted string using XOR key pair, stores in global pointer 0x004110B0 154 CRT_init_critical_section_004110b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004111B0 154 CRT_init_critical_section_004111b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004112B0 154 CRT_init_critical_section_004112b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004113B0 154 CRT_init_critical_section_004113b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00411900 154 CRT_init_critical_section_00411900 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004119A0 95 STL_init_map_tree_004119a0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00411EB0 154 CRT_init_critical_section_00411eb0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00411F50 95 STL_init_map_tree_00411f50 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00411FB0 246 tls_decrypt_string_00411fb0 security Decrypts shorter TLS encrypted string using XOR key pair, stores in global pointer 0x00412560 154 CRT_init_critical_section_00412560 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00412600 95 STL_init_map_tree_00412600 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00412660 246 tls_decrypt_string_00412660 security Decrypts shorter TLS encrypted string using XOR key pair, stores in global pointer 0x00412C10 154 CRT_init_critical_section_00412c10 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00412CB0 95 STL_init_map_tree_00412cb0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00412D10 262 tls_decrypt_string_00412d10 security Decrypts TLS-stored encrypted string using XOR key pair, stores in global pointer 0x00412E80 154 CRT_init_critical_section_00412e80 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00412F20 262 tls_decrypt_string_00412f20 security Decrypts TLS-stored encrypted string using XOR key pair, stores in global pointer 0x00413090 154 CRT_init_critical_section_00413090 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00413130 262 tls_decrypt_string_00413130 security Decrypts TLS-stored encrypted string using XOR key pair, stores in global pointer 0x004136F0 154 CRT_init_critical_section_004136f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00413790 95 STL_init_map_tree_00413790 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x004137F0 232 tls_decrypt_string_004137f0 security Decrypts TLS encrypted string variant using XOR key pair, stores in global pointer 0x00413D90 154 CRT_init_critical_section_00413d90 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00413E30 95 STL_init_map_tree_00413e30 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00413EF0 154 CRT_init_critical_section_00413ef0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00413FF0 154 CRT_init_critical_section_00413ff0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00414540 154 CRT_init_critical_section_00414540 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004145E0 95 STL_init_map_tree_004145e0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00414AF0 154 CRT_init_critical_section_00414af0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00414B90 95 STL_init_map_tree_00414b90 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x004150A0 154 CRT_init_critical_section_004150a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00415140 95 STL_init_map_tree_00415140 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00415650 154 CRT_init_critical_section_00415650 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004156F0 95 STL_init_map_tree_004156f0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00415750 262 tls_decrypt_string_00415750 security Decrypts TLS-stored encrypted string using XOR key pair, stores in global pointer 0x004158C0 154 CRT_init_critical_section_004158c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00415960 194 STL_init_unordered_map_00415960 stl Initializes a global std::unordered_map/set. Allocates bucket list node, sets load_factor=1.0f, max_bucket_count=8, initial_buckets=7. Calls STL_vector_resize to create bucket array. Registers atexit cleanup. 0x00415EE0 154 CRT_init_critical_section_00415ee0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00415F80 95 STL_init_map_tree_00415f80 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00415FE0 262 tls_decrypt_string_00415fe0 security Decrypts TLS-stored encrypted string using XOR key pair, stores in global pointer 0x00416150 154 CRT_init_critical_section_00416150 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00416250 154 CRT_init_critical_section_00416250 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00416350 154 CRT_init_critical_section_00416350 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004163F0 232 tls_decrypt_string_004163f0 security Decrypts TLS encrypted string variant using XOR key pair, stores in global pointer 0x00416540 154 CRT_init_critical_section_00416540 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00416A90 154 CRT_init_critical_section_00416a90 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00416B30 95 STL_init_map_tree_00416b30 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00416B90 248 tls_decrypt_string_00416b90 security Decrypts TLS string at offset 0x14f8 with XOR keys 0x6d070127/0x2ff3c503 0x00416CF0 154 CRT_init_critical_section_00416cf0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00416DF0 154 CRT_init_critical_section_00416df0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00416EF0 154 CRT_init_critical_section_00416ef0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00416FF0 154 CRT_init_critical_section_00416ff0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004170F0 154 CRT_init_critical_section_004170f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004171F0 154 CRT_init_critical_section_004171f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00417740 154 CRT_init_critical_section_00417740 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004177E0 95 STL_init_map_tree_004177e0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00417CF0 154 CRT_init_critical_section_00417cf0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00417D90 95 STL_init_map_tree_00417d90 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x004182A0 154 CRT_init_critical_section_004182a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00418340 95 STL_init_map_tree_00418340 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00418850 154 CRT_init_critical_section_00418850 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004188F0 95 STL_init_map_tree_004188f0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00418E00 154 CRT_init_critical_section_00418e00 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00418EA0 95 STL_init_map_tree_00418ea0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00418F60 154 CRT_init_critical_section_00418f60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00419060 154 CRT_init_critical_section_00419060 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00419160 154 CRT_init_critical_section_00419160 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00419260 154 CRT_init_critical_section_00419260 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00419360 154 CRT_init_critical_section_00419360 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004198B0 154 CRT_init_critical_section_004198b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00419950 95 STL_init_map_tree_00419950 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x004199B0 262 tls_decrypt_string_004199b0 security Decrypts TLS-stored encrypted string using XOR key pair, stores in global pointer 0x00419F70 154 CRT_init_critical_section_00419f70 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041A010 262 tls_decrypt_string_0041a010 security Decrypts TLS-stored encrypted string using XOR key pair, stores in global pointer 0x0041A5D0 154 CRT_init_critical_section_0041a5d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041AB20 154 CRT_init_critical_section_0041ab20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041AC20 154 CRT_init_critical_section_0041ac20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041AD20 154 CRT_init_critical_section_0041ad20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041AE20 154 CRT_init_critical_section_0041ae20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041AF20 154 CRT_init_critical_section_0041af20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041B020 154 CRT_init_critical_section_0041b020 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041B120 154 CRT_init_critical_section_0041b120 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041B670 154 CRT_init_critical_section_0041b670 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041B710 95 STL_init_map_tree_0041b710 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x0041BC20 154 CRT_init_critical_section_0041bc20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041BCC0 95 STL_init_map_tree_0041bcc0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x0041BD80 154 CRT_init_critical_section_0041bd80 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041BE80 154 CRT_init_critical_section_0041be80 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041BF80 154 CRT_init_critical_section_0041bf80 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041C080 154 CRT_init_critical_section_0041c080 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041C5D0 154 CRT_init_critical_section_0041c5d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041C670 95 STL_init_map_tree_0041c670 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x0041C730 154 CRT_init_critical_section_0041c730 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041CC80 154 CRT_init_critical_section_0041cc80 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041D1D0 154 CRT_init_critical_section_0041d1d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041D720 154 CRT_init_critical_section_0041d720 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041DC70 154 CRT_init_critical_section_0041dc70 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041DD30 95 STL_init_map_tree_0041dd30 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x0041DDF0 154 CRT_init_critical_section_0041ddf0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041DEF0 154 CRT_init_critical_section_0041def0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041DFF0 154 CRT_init_critical_section_0041dff0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041E0F0 154 CRT_init_critical_section_0041e0f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041E1F0 154 CRT_init_critical_section_0041e1f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041E2F0 154 CRT_init_critical_section_0041e2f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041E3F0 154 CRT_init_critical_section_0041e3f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041E940 154 CRT_init_critical_section_0041e940 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041E9E0 95 STL_init_map_tree_0041e9e0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x0041EAA0 154 CRT_init_critical_section_0041eaa0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0041EB40 122 CEffect__register_callback_c_0041eb40 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632100, constructs CEffectCallbackContainer with effect ID 0x68E. 0x0041EBC0 122 CEffect__register_callback_c_0041ebc0 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632120, constructs CEffectCallbackContainer with effect ID 0x691. 0x0041EC40 122 CEffect__register_callback_c_0041ec40 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632140, constructs CEffectCallbackContainer with effect ID 0x68C. 0x0041ECC0 122 CEffect__register_callback_c_0041ecc0 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632160, constructs CEffectCallbackContainer with effect ID 0x6A1. 0x0041ED40 122 CEffect__register_callback_c_0041ed40 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632180, constructs CEffectCallbackContainer with effect ID 0x6A2. 0x0041EDC0 122 CEffect__register_callback_c_0041edc0 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x6321A0, constructs CEffectCallbackContainer with effect ID 0x697. 0x0041EE40 122 CEffect__register_callback_c_0041ee40 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x6321C0, constructs CEffectCallbackContainer with effect ID 0x692. 0x0041EEC0 122 CEffect__register_callback_c_0041eec0 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x6321E0, constructs CEffectCallbackContainer with effect ID 0x69F. 0x0041EF40 122 CEffect__register_callback_c_0041ef40 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632200, constructs CEffectCallbackContainer with effect ID 0x6A0. 0x0041EFC0 122 CEffect__register_callback_c_0041efc0 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632220, constructs CEffectCallbackContainer with effect ID 0x696. 0x0041F040 122 CEffect__register_callback_c_0041f040 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632240, constructs CEffectCallbackContainer with effect ID 0x694. 0x0041F0C0 122 CEffect__register_callback_c_0041f0c0 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632260, constructs CEffectCallbackContainer with effect ID 0x695. 0x0041F140 122 CEffect__register_callback_c_0041f140 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x632280, constructs CEffectCallbackContainer with effect ID 0x690. 0x0041F1C0 122 CEffect__register_callback_c_0041f1c0 effect CEffect callback registration (type C). Sets vtable to CEffect__get_callback_ptr_c, callback at 0x6322A0, constructs CEffectCallbackContainer with effect ID 0x68B. 0x0041F240 122 CEffect__register_callback_a_0041f240 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x6322C0, constructs CEffectCallbackContainer (copy) with effect ID 0x1992. 0x0041F2C0 122 CEffect__register_callback_a_0041f2c0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x6322E0, constructs CEffectCallbackContainer (copy) with effect ID 0x1981. 0x0041F340 122 CEffect__register_callback_a_0041f340 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632300, constructs CEffectCallbackContainer (copy) with effect ID 0x197F. 0x0041F3C0 122 CEffect__register_callback_a_0041f3c0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632320, constructs CEffectCallbackContainer (copy) with effect ID 0x198E. 0x0041F440 122 CEffect__register_callback_a_0041f440 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632340, constructs CEffectCallbackContainer (copy) with effect ID 0x1991. 0x0041F4C0 122 CEffect__register_callback_a_0041f4c0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632360, constructs CEffectCallbackContainer (copy) with effect ID 0x1984. 0x0041F540 122 CEffect__register_callback_a_0041f540 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632380, constructs CEffectCallbackContainer (copy) with effect ID 0x197D. 0x0041F5C0 122 CEffect__register_callback_a_0041f5c0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x6323A0, constructs CEffectCallbackContainer (copy) with effect ID 0x1986. 0x0041F640 122 CEffect__register_callback_a_0041f640 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x6323C0, constructs CEffectCallbackContainer (copy) with effect ID 0x1980. 0x0041F6C0 122 CEffect__register_callback_a_0041f6c0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x6323E0, constructs CEffectCallbackContainer (copy) with effect ID 0x198C. 0x0041F740 122 CEffect__register_callback_a_0041f740 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632400, constructs CEffectCallbackContainer (copy) with effect ID 0x198B. 0x0041F7C0 122 CEffect__register_callback_a_0041f7c0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632420, constructs CEffectCallbackContainer (copy) with effect ID 0x1987. 0x0041F840 122 CEffect__register_callback_a_0041f840 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632440, constructs CEffectCallbackContainer (copy) with effect ID 0x1993. 0x0041F8C0 122 CEffect__register_callback_a_0041f8c0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632460, constructs CEffectCallbackContainer (copy) with effect ID 0x197E. 0x0041F940 122 CEffect__register_callback_a_0041f940 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632480, constructs CEffectCallbackContainer (copy) with effect ID 0x1988. 0x0041F9C0 122 CEffect__register_callback_a_0041f9c0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x6324A0, constructs CEffectCallbackContainer (copy) with effect ID 0x1985. 0x0041FA40 122 CEffect__register_callback_a_0041fa40 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x6324C0, constructs CEffectCallbackContainer (copy) with effect ID 0x1990. 0x0041FAC0 122 CEffect__register_callback_a_0041fac0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x6324E0, constructs CEffectCallbackContainer (copy) with effect ID 0x198A. 0x0041FB40 122 CEffect__register_callback_a_0041fb40 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632500, constructs CEffectCallbackContainer (copy) with effect ID 0x198D. 0x0041FBC0 122 CEffect__register_callback_a_0041fbc0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632520, constructs CEffectCallbackContainer (copy) with effect ID 0x1983. 0x0041FC40 122 CEffect__register_callback_a_0041fc40 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632540, constructs CEffectCallbackContainer (copy) with effect ID 0x197C. 0x0041FCC0 122 CEffect__register_callback_a_0041fcc0 effect CEffect callback registration (type A). Sets vtable to CEffect__get_callback_ptr_a, callback at 0x632560, constructs CEffectCallbackContainer (copy) with effect ID 0x198F. 0x004201F0 154 CRT_init_critical_section_004201f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00420740 154 CRT_init_critical_section_00420740 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00420840 154 CRT_init_critical_section_00420840 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00420D90 154 CRT_init_critical_section_00420d90 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00420E30 95 STL_init_map_tree_00420e30 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00421340 154 CRT_init_critical_section_00421340 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004213E0 95 STL_init_map_tree_004213e0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x004218F0 154 CRT_init_critical_section_004218f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00421990 95 STL_init_map_tree_00421990 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00421A50 154 CRT_init_critical_section_00421a50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00421B50 154 CRT_init_critical_section_00421b50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00421C50 154 CRT_init_critical_section_00421c50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004221A0 154 CRT_init_critical_section_004221a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00422240 95 STL_init_map_tree_00422240 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00422310 154 CRT_init_critical_section_00422310 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00422860 154 CRT_init_critical_section_00422860 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00422900 95 STL_init_map_tree_00422900 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00422E10 154 CRT_init_critical_section_00422e10 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00422EB0 95 STL_init_map_tree_00422eb0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x004233C0 154 CRT_init_critical_section_004233c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00423460 95 STL_init_map_tree_00423460 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00423970 154 CRT_init_critical_section_00423970 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00423A10 95 STL_init_map_tree_00423a10 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00423A70 194 STL_init_unordered_map_00423a70 stl Initializes a global std::unordered_map/set. Allocates bucket list node, sets load_factor=1.0f, max_bucket_count=8, initial_buckets=7. Calls STL_vector_resize to create bucket array. Registers atexit cleanup. 0x00423FF0 154 CRT_init_critical_section_00423ff0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00424090 95 STL_init_map_tree_00424090 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00424150 154 CRT_init_critical_section_00424150 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004246A0 154 CRT_init_critical_section_004246a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00424740 95 STL_init_map_tree_00424740 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00424C50 154 CRT_init_critical_section_00424c50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00424CF0 95 STL_init_map_tree_00424cf0 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00424D50 194 STL_init_unordered_map_00424d50 stl Initializes a global std::unordered_map/set. Allocates bucket list node, sets load_factor=1.0f, max_bucket_count=8, initial_buckets=7. Calls STL_vector_resize to create bucket array. Registers atexit cleanup. 0x004252D0 154 CRT_init_critical_section_004252d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00425370 95 STL_init_map_tree_00425370 stl Initializes a global std::map/set RB-tree sentinel node. Allocates 0x18 bytes, sets circular prev/next/parent pointers to self, flags=0x101 (red/black + is_nil). Registers atexit cleanup. 0x00425880 154 CRT_init_critical_section_00425880 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00425980 154 CRT_init_critical_section_00425980 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00425A80 154 CRT_init_critical_section_00425a80 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00425B80 154 CRT_init_critical_section_00425b80 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00425C20 194 STL_init_unordered_map_00425c20 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x00425D60 154 CRT_init_critical_section_00425d60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00425E00 194 STL_init_unordered_map_00425e00 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x00425ED0 194 STL_init_unordered_map_00425ed0 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x00426000 154 CRT_init_critical_section_00426000 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426100 154 CRT_init_critical_section_00426100 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426200 154 CRT_init_critical_section_00426200 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426300 154 CRT_init_critical_section_00426300 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426400 154 CRT_init_critical_section_00426400 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426500 154 CRT_init_critical_section_00426500 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426600 154 CRT_init_critical_section_00426600 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426700 154 CRT_init_critical_section_00426700 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426C50 154 CRT_init_critical_section_00426c50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426CF0 95 STL_init_rbtree_sentinel_00426cf0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x00426DB0 154 CRT_init_critical_section_00426db0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00426EB0 154 CRT_init_critical_section_00426eb0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00427400 154 CRT_init_critical_section_00427400 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00427950 154 CRT_init_critical_section_00427950 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00427A50 154 CRT_init_critical_section_00427a50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00427B50 154 CRT_init_critical_section_00427b50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004280A0 154 CRT_init_critical_section_004280a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004285F0 154 CRT_init_critical_section_004285f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00428690 95 STL_init_rbtree_sentinel_00428690 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x00428BA0 154 CRT_init_critical_section_00428ba0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00428C40 95 STL_init_rbtree_sentinel_00428c40 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x00429150 154 CRT_init_critical_section_00429150 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004291F0 95 STL_init_rbtree_sentinel_004291f0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x004292B0 154 CRT_init_critical_section_004292b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004293B0 154 CRT_init_critical_section_004293b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00429900 154 CRT_init_critical_section_00429900 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004299A0 95 STL_init_rbtree_sentinel_004299a0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x00429A60 154 CRT_init_critical_section_00429a60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00429B00 194 STL_init_unordered_map_00429b00 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x0042A080 154 CRT_init_critical_section_0042a080 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042A120 95 STL_init_rbtree_sentinel_0042a120 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0042A180 194 STL_init_unordered_map_0042a180 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x0042A700 154 CRT_init_critical_section_0042a700 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042A7A0 95 STL_init_rbtree_sentinel_0042a7a0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0042A860 154 CRT_init_critical_section_0042a860 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042A960 154 CRT_init_critical_section_0042a960 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042AEB0 154 CRT_init_critical_section_0042aeb0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042AFB0 154 CRT_init_critical_section_0042afb0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042B0B0 154 CRT_init_critical_section_0042b0b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042B1B0 154 CRT_init_critical_section_0042b1b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042B2B0 154 CRT_init_critical_section_0042b2b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042B3B0 154 CRT_init_critical_section_0042b3b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042B900 154 CRT_init_critical_section_0042b900 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042BA00 154 CRT_init_critical_section_0042ba00 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042BAA0 95 STL_init_rbtree_sentinel_0042baa0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0042BB00 95 STL_init_rbtree_sentinel_0042bb00 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0042BB60 95 STL_init_rbtree_sentinel_0042bb60 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0042BBC0 95 STL_init_rbtree_sentinel_0042bbc0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0042BC20 95 STL_init_rbtree_sentinel_0042bc20 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0042BC80 86 CItemInfoMgr__static_init_0042bc80 game_items Static initializer: calls CSVParser__free_all_line_buffers to initialize CItemInfoMgr CSV state, registers atexit_CItemInfoMgr_dtor for cleanup at shutdown 0x0042C190 154 CRT_init_critical_section_0042c190 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042C290 154 CRT_init_critical_section_0042c290 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042C390 154 CRT_init_critical_section_0042c390 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042C4B0 154 CRT_init_critical_section_0042c4b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042C5C0 154 CRT_init_critical_section_0042c5c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042C6C0 154 CRT_init_critical_section_0042c6c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042C7C0 154 CRT_init_critical_section_0042c7c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042C8C0 154 CRT_init_critical_section_0042c8c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042C9C0 154 CRT_init_critical_section_0042c9c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042CAC0 154 CRT_init_critical_section_0042cac0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042CBC0 154 CRT_init_critical_section_0042cbc0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042D110 154 CRT_init_critical_section_0042d110 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042D210 154 CRT_init_critical_section_0042d210 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042D760 154 CRT_init_critical_section_0042d760 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042D800 194 STL_init_unordered_map_0042d800 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x0042DD80 154 CRT_init_critical_section_0042dd80 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042E2D0 154 CRT_init_critical_section_0042e2d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042E820 154 CRT_init_critical_section_0042e820 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042E920 154 CRT_init_critical_section_0042e920 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042EE70 154 CRT_init_critical_section_0042ee70 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042F3C0 154 CRT_init_critical_section_0042f3c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042F460 194 STL_init_unordered_map_0042f460 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x0042F9E0 154 CRT_init_critical_section_0042f9e0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0042FF30 154 CRT_init_critical_section_0042ff30 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00430480 154 CRT_init_critical_section_00430480 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004309D0 154 CRT_init_critical_section_004309d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00430F20 154 CRT_init_critical_section_00430f20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00431470 154 CRT_init_critical_section_00431470 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004319C0 154 CRT_init_critical_section_004319c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00431F10 154 CRT_init_critical_section_00431f10 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00432460 154 CRT_init_critical_section_00432460 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004329B0 154 CRT_init_critical_section_004329b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00432F00 154 CRT_init_critical_section_00432f00 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00433450 154 CRT_init_critical_section_00433450 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004339A0 154 CRT_init_critical_section_004339a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00433EF0 154 CRT_init_critical_section_00433ef0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00434440 154 CRT_init_critical_section_00434440 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00434990 154 CRT_init_critical_section_00434990 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00434EE0 154 CRT_init_critical_section_00434ee0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00435430 154 CRT_init_critical_section_00435430 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00435980 154 CRT_init_critical_section_00435980 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00435ED0 154 CRT_init_critical_section_00435ed0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00436420 154 CRT_init_critical_section_00436420 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00436970 154 CRT_init_critical_section_00436970 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00436EC0 154 CRT_init_critical_section_00436ec0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00437410 154 CRT_init_critical_section_00437410 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00437960 154 CRT_init_critical_section_00437960 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00437EB0 154 CRT_init_critical_section_00437eb0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00437F50 194 STL_init_unordered_map_00437f50 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x004384D0 154 CRT_init_critical_section_004384d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00438A20 154 CRT_init_critical_section_00438a20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00438AC0 194 STL_init_unordered_map_00438ac0 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x00439040 154 CRT_init_critical_section_00439040 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00439590 154 CRT_init_critical_section_00439590 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00439AE0 154 CRT_init_critical_section_00439ae0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043A030 154 CRT_init_critical_section_0043a030 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043A580 154 CRT_init_critical_section_0043a580 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043AAD0 154 CRT_init_critical_section_0043aad0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043B020 154 CRT_init_critical_section_0043b020 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043B570 154 CRT_init_critical_section_0043b570 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043BAC0 154 CRT_init_critical_section_0043bac0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043C010 154 CRT_init_critical_section_0043c010 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043C560 154 CRT_init_critical_section_0043c560 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043C660 154 CRT_init_critical_section_0043c660 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043C760 154 CRT_init_critical_section_0043c760 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043CCB0 154 CRT_init_critical_section_0043ccb0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043CD50 194 STL_init_unordered_map_0043cd50 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x0043D2D0 154 CRT_init_critical_section_0043d2d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043D370 194 STL_init_unordered_map_0043d370 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x0043D8F0 154 CRT_init_critical_section_0043d8f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043DE40 154 CRT_init_critical_section_0043de40 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043E390 154 CRT_init_critical_section_0043e390 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043E8E0 154 CRT_init_critical_section_0043e8e0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043EE30 154 CRT_init_critical_section_0043ee30 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043F380 154 CRT_init_critical_section_0043f380 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043F8D0 154 CRT_init_critical_section_0043f8d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043F9D0 154 CRT_init_critical_section_0043f9d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043FF20 154 CRT_init_critical_section_0043ff20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0043FFC0 95 STL_init_rbtree_sentinel_0043ffc0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x004404D0 154 CRT_init_critical_section_004404d0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00440A20 154 CRT_init_critical_section_00440a20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00440F70 154 CRT_init_critical_section_00440f70 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004414C0 154 CRT_init_critical_section_004414c0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00441A10 154 CRT_init_critical_section_00441a10 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00441F60 154 CRT_init_critical_section_00441f60 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004424B0 154 CRT_init_critical_section_004424b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004425B0 154 CRT_init_critical_section_004425b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00442B00 154 CRT_init_critical_section_00442b00 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00443050 154 CRT_init_critical_section_00443050 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004435A0 154 CRT_init_critical_section_004435a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00443640 194 STL_init_unordered_map_00443640 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x00443BC0 154 CRT_init_critical_section_00443bc0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00444110 154 CRT_init_critical_section_00444110 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00444660 154 CRT_init_critical_section_00444660 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00444BB0 154 CRT_init_critical_section_00444bb0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00445100 154 CRT_init_critical_section_00445100 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00445650 154 CRT_init_critical_section_00445650 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00445BA0 154 CRT_init_critical_section_00445ba0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004460F0 154 CRT_init_critical_section_004460f0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00446640 154 CRT_init_critical_section_00446640 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004466E0 608 init_soul_ascetic_efst_strings_set1 game_core Inits 4 SOUL_ASCETIC EFST strings (blue/white/red/black) into globals 0x00446940 568 init_soul_ascetic_efst_strings_set2 game_core Inits 4 SOUL_ASCETIC EFST strings variant 2 (blue/white/red/black) 0x00446B80 597 init_soul_ascetic_efst_strings_set3 game_core Inits 4 SOUL_ASCETIC EFST strings variant 3 (blue/white/red/black) 0x00447290 154 CRT_init_critical_section_00447290 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00447390 154 CRT_init_critical_section_00447390 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00447430 194 STL_init_unordered_map_00447430 stl Initializes global std::unordered_map: allocates bucket list node, sets max_load_factor=1.0f, initial bucket_count=8, fills bucket vector, registers atexit cleanup 0x0044791B 7 CRT_register_atexit_callback crt Registers an atexit callback via CRT _atexit. 0x004479B0 154 CRT_init_critical_section_004479b0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00447F00 154 CRT_init_critical_section_00447f00 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448450 154 CRT_init_critical_section_00448450 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448550 154 CRT_init_critical_section_00448550 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448650 154 CRT_init_critical_section_00448650 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448750 154 CRT_init_critical_section_00448750 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448850 154 CRT_init_critical_section_00448850 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448950 154 CRT_init_critical_section_00448950 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448A50 154 CRT_init_critical_section_00448a50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448B50 154 CRT_init_critical_section_00448b50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448C50 154 CRT_init_critical_section_00448c50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448D50 154 CRT_init_critical_section_00448d50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448E50 154 CRT_init_critical_section_00448e50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00448F50 154 CRT_init_critical_section_00448f50 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00449050 154 CRT_init_critical_section_00449050 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00449150 154 CRT_init_critical_section_00449150 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00449250 154 CRT_init_critical_section_00449250 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00449350 154 CRT_init_critical_section_00449350 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x004498A0 154 CRT_init_critical_section_004498a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00449940 95 STL_init_rbtree_sentinel_00449940 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x00449A00 154 CRT_init_critical_section_00449a00 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x00449B00 154 CRT_init_critical_section_00449b00 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044A050 154 CRT_init_critical_section_0044a050 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044A0F0 95 STL_init_rbtree_sentinel_0044a0f0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0044A600 154 CRT_init_critical_section_0044a600 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044A6A0 95 STL_init_rbtree_sentinel_0044a6a0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0044ABB0 154 CRT_init_critical_section_0044abb0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044AC50 95 STL_init_rbtree_sentinel_0044ac50 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0044B160 154 CRT_init_critical_section_0044b160 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044B200 95 STL_init_rbtree_sentinel_0044b200 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0044B710 154 CRT_init_critical_section_0044b710 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044B7B0 95 STL_init_rbtree_sentinel_0044b7b0 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0044BCC0 154 CRT_init_critical_section_0044bcc0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044BD60 95 STL_init_rbtree_sentinel_0044bd60 stl Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction 0x0044BE20 154 CRT_init_critical_section_0044be20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044BEC0 225 CResourceMgr__init_sprite_manager file Inits sprite resource manager vtable, registers as sprite type 0x0044BFB0 225 CResourceMgr__init_model_manager file Inits model resource manager vtable, registers as model type 0x0044C100 154 CRT_init_critical_section_0044c100 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044C1A0 157 CResourceMgr__init_generic_mgr_0044c1a0 file Inits resource manager for unnamed type, registers with system 0x0044C2A0 154 CRT_init_critical_section_0044c2a0 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044C340 123 CResourceMgr__init_texture_mgr_a file Inits texture resource manager instance A 0x0044C3C0 123 CResourceMgr__init_texture_mgr_b file Inits texture resource manager instance B 0x0044C440 123 CResourceMgr__init_texture_mgr_c file Inits texture resource manager instance C 0x0044C4C0 123 CResourceMgr__init_texture_mgr_d file Inits texture resource manager instance D 0x0044C540 204 CResourceMgr__init_texture_mgr_complex file Inits texture manager with extended fields, registers with system 0x0044C670 154 CRT_init_critical_section_0044c670 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044C710 137 CResourceMgr__init_emblem_manager file Inits emblem texture resource manager for tmpEmblem files 0x0044C800 154 CRT_init_critical_section_0044c800 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044C8A0 282 CResourceMgr__init_texture_effect_mgr file Inits texture effect manager with 0x380 array, STL string 0x0044CA20 154 CRT_init_critical_section_0044ca20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044CAC0 344 CResourceMgr__init_complex_resource_mgr file Inits complex resource manager with STL string at offset 0x0044CC80 154 CRT_init_critical_section_0044cc80 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044CD20 157 CResourceMgr__init_named_mgr_0044cd20 file Inits named resource manager, registers with system 0x0044CE20 154 CRT_init_critical_section_0044ce20 crt CRT static init: InitializeCriticalSectionEx on global mutex, registers atexit cleanup 0x0044CEC0 299 CResourceMgr__init_model_list_mgr file Inits model resource manager with two linked lists for tracking 0x0044CFF0 153 CResourceMgr__init_3dmob_model_mgr file Inits 3D mob model resource manager, registers as model_3dmob 0x0044D090 123 CResourceMgr__init_model_variant_mgr file Inits model variant resource manager with custom constructor 0x0044D110 123 init_model_resource_manager_0044d110 game_core Static init: constructs model resource manager, registers with resource system 0x0044D640 154 CRT_init_critical_section_0044d640 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044D6F0 123 init_palette_resource_manager_0044d6f0 game_core Static init: constructs palette resource manager, registers with resource system 0x0044D7D0 154 CRT_init_critical_section_0044d7d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044DD20 154 CRT_init_critical_section_0044dd20 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044DDC0 151 init_sprite_resource_manager_0044ddc0 game_core Static init: constructs sprite resource manager with vector init + atexit 0x0044DEC0 154 CRT_init_critical_section_0044dec0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044DFC0 154 CRT_init_critical_section_0044dfc0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044E060 123 init_str_resource_manager_0044e060 game_core Static init: constructs str resource manager, registers with resource system 0x0044E590 154 CRT_init_critical_section_0044e590 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044E630 459 init_resource_list_container_0044e630 game_core Static init: constructs resource container with 3 linked lists and 3 strings 0x0044ECB0 154 CRT_init_critical_section_0044ecb0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044EDB0 154 CRT_init_critical_section_0044edb0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044EEB0 154 CRT_init_critical_section_0044eeb0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044F400 154 CRT_init_critical_section_0044f400 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044F500 154 CRT_init_critical_section_0044f500 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044F600 154 CRT_init_critical_section_0044f600 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044F700 154 CRT_init_critical_section_0044f700 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044F800 154 CRT_init_critical_section_0044f800 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044F900 154 CRT_init_critical_section_0044f900 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044FE50 154 CRT_init_critical_section_0044fe50 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0044FF50 154 CRT_init_critical_section_0044ff50 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450050 154 CRT_init_critical_section_00450050 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450150 154 CRT_init_critical_section_00450150 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450250 154 CRT_init_critical_section_00450250 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450350 154 CRT_init_critical_section_00450350 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450450 154 CRT_init_critical_section_00450450 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450550 154 CRT_init_critical_section_00450550 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450650 154 CRT_init_critical_section_00450650 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450750 154 CRT_init_critical_section_00450750 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450850 154 CRT_init_critical_section_00450850 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450950 154 CRT_init_critical_section_00450950 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450A50 154 CRT_init_critical_section_00450a50 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00450FA0 154 CRT_init_critical_section_00450fa0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004514F0 154 CRT_init_critical_section_004514f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004515F0 154 CRT_init_critical_section_004515f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004516F0 154 CRT_init_critical_section_004516f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004517F0 154 CRT_init_critical_section_004517f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004518F0 154 CRT_init_critical_section_004518f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00451990 150 init_packet_obfuscation_keys_00451990 game_core Static init: generates random seed and XOR-derives packet obfuscation keys 0x00451A30 150 init_packet_obfuscation_keys_00451a30 game_core Static init: generates random seed and XOR-derives packet obfuscation keys 0x00451B30 154 CRT_init_critical_section_00451b30 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00452080 154 CRT_init_critical_section_00452080 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004525D0 154 CRT_init_critical_section_004525d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00452670 95 init_global_linked_list_00452670 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00452B80 154 CRT_init_critical_section_00452b80 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00452C20 122 register_zone_packet_handler_58D network Static init: registers zone server packet 0x58D handler via vtable 0x00452CA0 122 register_zone_packet_handler_58C network Static init: registers zone server packet 0x58C handler via vtable 0x004531D0 154 CRT_init_critical_section_004531d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00453270 122 register_zone_packet_handler_617 network Static init: registers zone server packet 0x617 handler via vtable 0x004537A0 154 CRT_init_critical_section_004537a0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00453840 122 register_zone_packet_handler_58E network Static init: registers zone server packet 0x58E handler via vtable 0x004538C0 122 register_zone_packet_handler_58F network Static init: registers zone server packet 0x58F handler via vtable 0x00453940 122 register_zone_packet_handler_590 network Static init: registers zone server packet 0x590 handler via vtable 0x00453E70 154 CRT_init_critical_section_00453e70 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00453F10 202 register_packet_handler_with_alloc_00453f10 game_core Static init: allocates object and registers packet handler via vtable dispatch 0x00453FE0 202 register_packet_handler_with_alloc_00453fe0 game_core Static init: allocates object and registers packet handler via vtable dispatch 0x004540B0 194 init_global_struct_with_list_004540b0 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x00454630 154 CRT_init_critical_section_00454630 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004546D0 122 register_char_packet_handler_1974 network Static init: registers char server packet 0x1974 handler via vtable 0x00454C00 154 CRT_init_critical_section_00454c00 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00454CA0 122 register_char_packet_handler_1976 network Static init: registers char server packet 0x1976 handler via vtable 0x004551D0 154 CRT_init_critical_section_004551d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00455270 122 register_zone_packet_handler_4A9 network Static init: registers zone server packet 0x4A9 handler via vtable 0x004552F0 122 register_zone_packet_handler_4A8 network Static init: registers zone server packet 0x4A8 handler via vtable 0x00455370 122 register_zone_packet_handler_4CA network Static init: registers zone server packet 0x4CA handler via vtable 0x004553F0 122 register_char_packet_handler_196F network Static init: registers char server packet 0x196F handler via vtable 0x00455470 122 register_char_packet_handler_14A6 network Static init: registers char server packet 0x14A6 handler via vtable 0x004554F0 122 register_char_packet_handler_14AD network Static init: registers char server packet 0x14AD handler via vtable 0x00455570 122 register_char_packet_handler_14AC network Static init: registers char server packet 0x14AC handler via vtable 0x004555F0 122 register_char_packet_handler_14A5 network Static init: registers char server packet 0x14A5 handler via vtable 0x00455670 122 register_char_packet_handler_14AB network Static init: registers char server packet 0x14AB handler via vtable 0x00455BA0 154 CRT_init_critical_section_00455ba0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00455C40 122 register_char_packet_handler_1973 network Static init: registers char server packet 0x1973 handler via vtable 0x00455CC0 122 register_char_packet_handler_197A network Static init: registers char server packet 0x197A handler via vtable 0x00455D40 122 register_char_packet_handler_1971 network Static init: registers char server packet 0x1971 handler via vtable 0x00455DC0 122 register_char_packet_handler_1972 network Static init: registers char server packet 0x1972 handler via vtable 0x00455E40 122 register_char_packet_handler_1970 network Static init: registers char server packet 0x1970 handler via vtable 0x00456370 154 CRT_init_critical_section_00456370 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00456410 122 register_char_packet_handler_1975 network Static init: registers char server packet 0x1975 handler via vtable 0x00456940 154 CRT_init_critical_section_00456940 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004569E0 122 register_char_packet_handler_1977 network Static init: registers char server packet 0x1977 handler via vtable 0x00456F10 154 CRT_init_critical_section_00456f10 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00457460 154 CRT_init_critical_section_00457460 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00457500 202 register_packet_handler_with_alloc_00457500 game_core Static init: allocates object and registers packet handler via vtable dispatch 0x004575D0 122 register_char_packet_handler_196E network Static init: registers char server packet 0x196E handler via vtable 0x00457650 122 register_char_packet_handler_1775 network Static init: registers char server packet 0x1775 handler via vtable 0x004576D0 122 register_char_packet_handler_1776 network Static init: registers char server packet 0x1776 handler via vtable 0x00457750 122 register_char_packet_handler_196D network Static init: registers char server packet 0x196D handler via vtable 0x00457C80 154 CRT_init_critical_section_00457c80 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00457D20 122 register_zone_packet_handler_496 network Static init: registers zone server packet 0x496 handler via vtable 0x00457DA0 122 register_zone_packet_handler_497 network Static init: registers zone server packet 0x497 handler via vtable 0x00457E20 122 register_zone_packet_handler_494 network Static init: registers zone server packet 0x494 handler via vtable 0x00457EA0 122 register_zone_packet_handler_495 network Static init: registers zone server packet 0x495 handler via vtable 0x00457F20 122 register_zone_packet_handler_49A network Static init: registers zone server packet 0x49A handler via vtable 0x00457FA0 122 register_char_packet_handler_1456 network Static init: registers char server packet 0x1456 handler via vtable 0x00458020 122 register_char_packet_handler_1771 network Static init: registers char server packet 0x1771 handler via vtable 0x004580A0 122 register_char_packet_handler_1966 network Static init: registers char server packet 0x1966 handler via vtable 0x00458120 122 register_char_packet_handler_1458 network Static init: registers char server packet 0x1458 handler via vtable 0x004581A0 122 register_char_packet_handler_1459 network Static init: registers char server packet 0x1459 handler via vtable 0x00458220 122 register_char_packet_handler_145B network Static init: registers char server packet 0x145B handler via vtable 0x004582A0 122 register_char_packet_handler_1452 network Static init: registers char server packet 0x1452 handler via vtable 0x00458320 122 register_char_packet_handler_1455 network Static init: registers char server packet 0x1455 handler via vtable 0x004583A0 122 register_char_packet_handler_1454 network Static init: registers char server packet 0x1454 handler via vtable 0x00458420 122 register_char_packet_handler_1453 network Static init: registers char server packet 0x1453 handler via vtable 0x004584A0 122 register_char_packet_handler_145D network Static init: registers char server packet 0x145D handler via vtable 0x00458520 122 register_char_packet_handler_145C network Static init: registers char server packet 0x145C handler via vtable 0x00458A50 154 CRT_init_critical_section_00458a50 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00458AF0 122 register_zone_packet_handler_5AE network Static init: registers zone server packet 0x5AE handler via vtable 0x00458B70 122 register_zone_packet_handler_5AF network Static init: registers zone server packet 0x5AF handler via vtable 0x00458BF0 122 register_zone_packet_handler_5B0 network Static init: registers zone server packet 0x5B0 handler via vtable 0x00458C70 122 register_zone_packet_handler_5AD network Static init: registers zone server packet 0x5AD handler via vtable 0x00458CF0 122 register_char_packet_handler_312 network Static init: registers char server packet 0x312 handler via vtable 0x00458D70 122 register_char_packet_handler_313 network Static init: registers char server packet 0x313 handler via vtable 0x00458DF0 122 register_char_packet_handler_315 network Static init: registers char server packet 0x315 handler via vtable 0x00458E70 122 register_char_packet_handler_314 network Static init: registers char server packet 0x314 handler via vtable 0x00458EF0 122 register_char_packet_handler_316 network Static init: registers char server packet 0x316 handler via vtable 0x00458F70 122 register_char_packet_handler_317 network Static init: registers char server packet 0x317 handler via vtable 0x00458FF0 122 register_char_packet_handler_319 network Static init: registers char server packet 0x319 handler via vtable 0x00459520 154 CRT_init_critical_section_00459520 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004595C0 122 register_zone_packet_handler_567 network Static init: registers zone server packet 0x567 handler via vtable 0x00459640 122 register_zone_packet_handler_568 network Static init: registers zone server packet 0x568 handler via vtable 0x004596C0 122 register_login_packet_handler_128 network Static init: registers login server packet 0x128 handler via vtable 0x00459740 122 register_login_packet_handler_127 network Static init: registers login server packet 0x127 handler via vtable 0x004597C0 122 register_char_packet_handler_1555 network Static init: registers char server packet 0x1555 handler via vtable 0x00459840 122 register_char_packet_handler_154B network Static init: registers char server packet 0x154B handler via vtable 0x004598C0 122 register_char_packet_handler_1553 network Static init: registers char server packet 0x1553 handler via vtable 0x00459940 122 register_char_packet_handler_1552 network Static init: registers char server packet 0x1552 handler via vtable 0x004599C0 122 register_char_packet_handler_1551 network Static init: registers char server packet 0x1551 handler via vtable 0x00459A40 122 register_char_packet_handler_1550 network Static init: registers char server packet 0x1550 handler via vtable 0x00459AC0 122 register_char_packet_handler_154C network Static init: registers char server packet 0x154C handler via vtable 0x00459B40 122 register_char_packet_handler_154F network Static init: registers char server packet 0x154F handler via vtable 0x00459BC0 122 register_char_packet_handler_1554 network Static init: registers char server packet 0x1554 handler via vtable 0x00459C40 122 register_char_packet_handler_1581 network Static init: registers char server packet 0x1581 handler via vtable 0x00459CC0 122 register_char_packet_handler_1556 network Static init: registers char server packet 0x1556 handler via vtable 0x00459D40 122 register_char_packet_handler_154D network Static init: registers char server packet 0x154D handler via vtable 0x00459DC0 122 register_char_packet_handler_154E network Static init: registers char server packet 0x154E handler via vtable 0x00459E40 194 init_global_struct_with_list_00459e40 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x0045A3C0 154 CRT_init_critical_section_0045a3c0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0045A460 122 register_zone_packet_handler_4B3 network Static init: registers zone server packet 0x4B3 handler via vtable 0x0045A4E0 122 register_zone_packet_handler_4C6 network Static init: registers zone server packet 0x4C6 handler via vtable 0x0045A560 122 register_zone_packet_handler_4B4 network Static init: registers zone server packet 0x4B4 handler via vtable 0x0045A5E0 122 register_zone_packet_handler_4B2 network Static init: registers zone server packet 0x4B2 handler via vtable 0x0045A660 122 register_zone_packet_handler_4C4 network Static init: registers zone server packet 0x4C4 handler via vtable 0x0045A6E0 122 register_zone_packet_handler_4C5 network Static init: registers zone server packet 0x4C5 handler via vtable 0x0045A760 122 register_zone_packet_handler_4C1 network Static init: registers zone server packet 0x4C1 handler via vtable 0x0045A7E0 202 register_packet_handler_with_alloc_0045a7e0 game_core Static init: allocates object and registers packet handler via vtable dispatch 0x0045A8B0 122 register_char_packet_handler_148C network Static init: registers char server packet 0x148C handler via vtable 0x0045A930 122 register_char_packet_handler_1493 network Static init: registers char server packet 0x1493 handler via vtable 0x0045A9B0 122 register_char_packet_handler_148F network Static init: registers char server packet 0x148F handler via vtable 0x0045AA30 122 register_char_packet_handler_1488 network Static init: registers char server packet 0x1488 handler via vtable 0x0045AAB0 122 register_char_packet_handler_1487 network Static init: registers char server packet 0x1487 handler via vtable 0x0045AB30 122 register_char_packet_handler_148E network Static init: registers char server packet 0x148E handler via vtable 0x0045ABB0 122 register_char_packet_handler_1968 network Static init: registers char server packet 0x1968 handler via vtable 0x0045AC30 122 register_char_packet_handler_1969 network Static init: registers char server packet 0x1969 handler via vtable 0x0045ACB0 122 register_char_packet_handler_1490 network Static init: registers char server packet 0x1490 handler via vtable 0x0045AD30 122 register_char_packet_handler_1492 network Static init: registers char server packet 0x1492 handler via vtable 0x0045ADB0 122 register_char_packet_handler_1967 network Static init: registers char server packet 0x1967 handler via vtable 0x0045AE30 122 register_char_packet_handler_1489 network Static init: registers char server packet 0x1489 handler via vtable 0x0045AEB0 122 register_char_packet_handler_1491 network Static init: registers char server packet 0x1491 handler via vtable 0x0045AF30 122 register_char_packet_handler_148D network Static init: registers char server packet 0x148D handler via vtable 0x0045B460 154 CRT_init_critical_section_0045b460 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0045B500 122 register_char_packet_handler_196C network Static init: registers char server packet 0x196C handler via vtable 0x0045B580 122 register_char_packet_handler_1774 network Static init: registers char server packet 0x1774 handler via vtable 0x0045B600 122 register_char_packet_handler_196B network Static init: registers char server packet 0x196B handler via vtable 0x0045B680 122 register_char_packet_handler_196A network Static init: registers char server packet 0x196A handler via vtable 0x0045B700 122 register_char_packet_handler_1772 network Static init: registers char server packet 0x1772 handler via vtable 0x0045B780 122 register_char_packet_handler_1773 network Static init: registers char server packet 0x1773 handler via vtable 0x0045B800 194 init_global_struct_with_list_0045b800 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x0045BD80 154 CRT_init_critical_section_0045bd80 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0045BE20 122 register_zone_packet_handler_3F6 network Static init: registers zone server packet 0x3F6 handler via vtable 0x0045C350 154 CRT_init_critical_section_0045c350 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0045C3F0 122 register_zone_packet_handler_54A network Static init: registers zone server packet 0x54A handler via vtable 0x0045C470 122 register_zone_packet_handler_541 network Static init: registers zone server packet 0x541 handler via vtable 0x0045C4F0 122 register_zone_packet_handler_542 network Static init: registers zone server packet 0x542 handler via vtable 0x0045C570 122 register_login_packet_handler_120 network Static init: registers login server packet 0x120 handler via vtable 0x0045C5F0 122 register_login_packet_handler_123 network Static init: registers login server packet 0x123 handler via vtable 0x0045C670 122 register_char_packet_handler_1525 network Static init: registers char server packet 0x1525 handler via vtable 0x0045C6F0 122 register_char_packet_handler_1522 network Static init: registers char server packet 0x1522 handler via vtable 0x0045C770 122 register_char_packet_handler_1524 network Static init: registers char server packet 0x1524 handler via vtable 0x0045C7F0 122 register_char_packet_handler_151C network Static init: registers char server packet 0x151C handler via vtable 0x0045C870 122 register_char_packet_handler_1523 network Static init: registers char server packet 0x1523 handler via vtable 0x0045C8F0 122 register_char_packet_handler_1526 network Static init: registers char server packet 0x1526 handler via vtable 0x0045C970 122 register_char_packet_handler_151B network Static init: registers char server packet 0x151B handler via vtable 0x0045C9F0 122 register_char_packet_handler_1520 network Static init: registers char server packet 0x1520 handler via vtable 0x0045CA70 122 register_char_packet_handler_157D network Static init: registers char server packet 0x157D handler via vtable 0x0045CAF0 122 register_char_packet_handler_1527 network Static init: registers char server packet 0x1527 handler via vtable 0x0045CB70 122 register_char_packet_handler_151E network Static init: registers char server packet 0x151E handler via vtable 0x0045CBF0 122 register_char_packet_handler_151F network Static init: registers char server packet 0x151F handler via vtable 0x0045CC70 122 register_char_packet_handler_151D network Static init: registers char server packet 0x151D handler via vtable 0x0045CCF0 122 register_char_packet_handler_1578 network Static init: registers char server packet 0x1578 handler via vtable 0x0045CD70 122 register_char_packet_handler_1579 network Static init: registers char server packet 0x1579 handler via vtable 0x0045CDF0 122 register_char_packet_handler_1521 network Static init: registers char server packet 0x1521 handler via vtable 0x0045CE70 122 register_char_packet_handler_157C network Static init: registers char server packet 0x157C handler via vtable 0x0045D3A0 154 CRT_init_critical_section_0045d3a0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0045D8F0 154 CRT_init_critical_section_0045d8f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0045D990 194 init_global_struct_with_list_0045d990 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x0045DF10 154 CRT_init_critical_section_0045df10 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0045DFB0 122 register_zone_packet_handler_573 network Static init: registers zone server packet 0x573 handler via vtable 0x0045E030 122 register_zone_packet_handler_571 network Static init: registers zone server packet 0x571 handler via vtable 0x0045E0B0 122 register_login_packet_handler_122 network Static init: registers login server packet 0x122 handler via vtable 0x0045E130 122 register_login_packet_handler_12A network Static init: registers login server packet 0x12A handler via vtable 0x0045E1B0 122 register_login_packet_handler_126 network Static init: registers login server packet 0x126 handler via vtable 0x0045E230 122 register_char_packet_handler_1566 network Static init: registers char server packet 0x1566 handler via vtable 0x0045E2B0 122 register_char_packet_handler_1577 network Static init: registers char server packet 0x1577 handler via vtable 0x0045E330 122 register_char_packet_handler_1574 network Static init: registers char server packet 0x1574 handler via vtable 0x0045E3B0 122 register_char_packet_handler_157B network Static init: registers char server packet 0x157B handler via vtable 0x0045E430 122 register_char_packet_handler_156C network Static init: registers char server packet 0x156C handler via vtable 0x0045E4B0 122 register_char_packet_handler_156B network Static init: registers char server packet 0x156B handler via vtable 0x0045E530 122 register_char_packet_handler_157A network Static init: registers char server packet 0x157A handler via vtable 0x0045E5B0 122 register_char_packet_handler_1576 network Static init: registers char server packet 0x1576 handler via vtable 0x0045E630 122 register_char_packet_handler_1575 network Static init: registers char server packet 0x1575 handler via vtable 0x0045E6B0 122 register_char_packet_handler_1568 network Static init: registers char server packet 0x1568 handler via vtable 0x0045E730 122 register_char_packet_handler_156A network Static init: registers char server packet 0x156A handler via vtable 0x0045E7B0 122 register_char_packet_handler_1569 network Static init: registers char server packet 0x1569 handler via vtable 0x0045E830 122 register_char_packet_handler_1573 network Static init: registers char server packet 0x1573 handler via vtable 0x0045E8B0 122 register_char_packet_handler_156E network Static init: registers char server packet 0x156E handler via vtable 0x0045E930 122 register_char_packet_handler_156F network Static init: registers char server packet 0x156F handler via vtable 0x0045E9B0 122 register_char_packet_handler_156D network Static init: registers char server packet 0x156D handler via vtable 0x0045EA30 122 register_char_packet_handler_1572 network Static init: registers char server packet 0x1572 handler via vtable 0x0045EAB0 122 register_char_packet_handler_1571 network Static init: registers char server packet 0x1571 handler via vtable 0x0045EB30 122 register_char_packet_handler_1570 network Static init: registers char server packet 0x1570 handler via vtable 0x0045EBB0 122 register_char_packet_handler_1567 network Static init: registers char server packet 0x1567 handler via vtable 0x0045EC30 122 register_char_packet_handler_1564 network Static init: registers char server packet 0x1564 handler via vtable 0x0045ECB0 194 init_global_struct_with_list_0045ecb0 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x0045F230 154 CRT_init_critical_section_0045f230 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0045F2D0 122 register_zone_packet_handler_56E network Static init: registers zone server packet 0x56E handler via vtable 0x0045F350 122 register_zone_packet_handler_56D network Static init: registers zone server packet 0x56D handler via vtable 0x0045F3D0 122 register_zone_packet_handler_56A network Static init: registers zone server packet 0x56A handler via vtable 0x0045F450 122 register_zone_packet_handler_56C network Static init: registers zone server packet 0x56C handler via vtable 0x0045F4D0 122 register_zone_packet_handler_569 network Static init: registers zone server packet 0x569 handler via vtable 0x0045F550 122 register_zone_packet_handler_570 network Static init: registers zone server packet 0x570 handler via vtable 0x0045F5D0 122 register_zone_packet_handler_56F network Static init: registers zone server packet 0x56F handler via vtable 0x0045F650 122 register_zone_packet_handler_56B network Static init: registers zone server packet 0x56B handler via vtable 0x0045F6D0 122 register_login_packet_handler_11F network Static init: registers login server packet 0x11F handler via vtable 0x0045F750 122 register_login_packet_handler_11E network Static init: registers login server packet 0x11E handler via vtable 0x0045F7D0 122 register_char_packet_handler_1562 network Static init: registers char server packet 0x1562 handler via vtable 0x0045F850 122 register_char_packet_handler_155E network Static init: registers char server packet 0x155E handler via vtable 0x0045F8D0 122 register_char_packet_handler_1563 network Static init: registers char server packet 0x1563 handler via vtable 0x0045F950 122 register_char_packet_handler_155D network Static init: registers char server packet 0x155D handler via vtable 0x0045F9D0 122 register_char_packet_handler_155A network Static init: registers char server packet 0x155A handler via vtable 0x0045FA50 122 register_char_packet_handler_155C network Static init: registers char server packet 0x155C handler via vtable 0x0045FAD0 122 register_char_packet_handler_1559 network Static init: registers char server packet 0x1559 handler via vtable 0x0045FB50 122 register_char_packet_handler_157F network Static init: registers char server packet 0x157F handler via vtable 0x0045FBD0 122 register_char_packet_handler_157E network Static init: registers char server packet 0x157E handler via vtable 0x0045FC50 122 register_char_packet_handler_1560 network Static init: registers char server packet 0x1560 handler via vtable 0x0045FCD0 122 register_char_packet_handler_1561 network Static init: registers char server packet 0x1561 handler via vtable 0x0045FD50 122 register_char_packet_handler_1580 network Static init: registers char server packet 0x1580 handler via vtable 0x0045FDD0 122 register_char_packet_handler_155B network Static init: registers char server packet 0x155B handler via vtable 0x0045FE50 122 register_char_packet_handler_155F network Static init: registers char server packet 0x155F handler via vtable 0x00460380 154 CRT_init_critical_section_00460380 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00460420 122 register_zone_packet_handler_555 network Static init: registers zone server packet 0x555 handler via vtable 0x004604A0 122 register_zone_packet_handler_550 network Static init: registers zone server packet 0x550 handler via vtable 0x00460520 122 register_zone_packet_handler_554 network Static init: registers zone server packet 0x554 handler via vtable 0x004605A0 122 register_zone_packet_handler_553 network Static init: registers zone server packet 0x553 handler via vtable 0x00460620 122 register_zone_packet_handler_551 network Static init: registers zone server packet 0x551 handler via vtable 0x004606A0 122 register_zone_packet_handler_552 network Static init: registers zone server packet 0x552 handler via vtable 0x00460720 202 register_packet_handler_with_alloc_00460720 game_core Static init: allocates object and registers packet handler via vtable dispatch 0x004607F0 122 register_char_packet_handler_1537 network Static init: registers char server packet 0x1537 handler via vtable 0x00460870 122 register_char_packet_handler_1531 network Static init: registers char server packet 0x1531 handler via vtable 0x004608F0 122 register_char_packet_handler_152D network Static init: registers char server packet 0x152D handler via vtable 0x00460970 122 register_char_packet_handler_1538 network Static init: registers char server packet 0x1538 handler via vtable 0x004609F0 122 register_char_packet_handler_1535 network Static init: registers char server packet 0x1535 handler via vtable 0x00460A70 122 register_char_packet_handler_1532 network Static init: registers char server packet 0x1532 handler via vtable 0x00460AF0 122 register_char_packet_handler_152F network Static init: registers char server packet 0x152F handler via vtable 0x00460B70 122 register_char_packet_handler_1536 network Static init: registers char server packet 0x1536 handler via vtable 0x00460BF0 122 register_char_packet_handler_152C network Static init: registers char server packet 0x152C handler via vtable 0x00460C70 122 register_char_packet_handler_152A network Static init: registers char server packet 0x152A handler via vtable 0x00460CF0 122 register_char_packet_handler_1534 network Static init: registers char server packet 0x1534 handler via vtable 0x00460D70 122 register_char_packet_handler_1530 network Static init: registers char server packet 0x1530 handler via vtable 0x00460DF0 122 register_char_packet_handler_152B network Static init: registers char server packet 0x152B handler via vtable 0x00460E70 122 register_char_packet_handler_1533 network Static init: registers char server packet 0x1533 handler via vtable 0x00460EF0 122 register_char_packet_handler_152E network Static init: registers char server packet 0x152E handler via vtable 0x00461420 154 CRT_init_critical_section_00461420 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004614C0 122 register_zone_packet_handler_556 network Static init: registers zone server packet 0x556 handler via vtable 0x00461540 122 register_zone_packet_handler_557 network Static init: registers zone server packet 0x557 handler via vtable 0x004615C0 122 register_zone_packet_handler_558 network Static init: registers zone server packet 0x558 handler via vtable 0x00461640 122 register_zone_packet_handler_561 network Static init: registers zone server packet 0x561 handler via vtable 0x004616C0 202 register_packet_handler_with_alloc_004616c0 game_core Static init: allocates object and registers packet handler via vtable dispatch 0x00461790 122 register_char_packet_handler_1548 network Static init: registers char server packet 0x1548 handler via vtable 0x00461810 122 register_char_packet_handler_1582 network Static init: registers char server packet 0x1582 handler via vtable 0x00461890 122 register_char_packet_handler_153B network Static init: registers char server packet 0x153B handler via vtable 0x00461910 122 register_char_packet_handler_1544 network Static init: registers char server packet 0x1544 handler via vtable 0x00461990 122 register_char_packet_handler_153D network Static init: registers char server packet 0x153D handler via vtable 0x00461A10 122 register_char_packet_handler_153C network Static init: registers char server packet 0x153C handler via vtable 0x00461A90 122 register_char_packet_handler_1545 network Static init: registers char server packet 0x1545 handler via vtable 0x00461B10 122 register_char_packet_handler_1546 network Static init: registers char server packet 0x1546 handler via vtable 0x00461B90 122 register_char_packet_handler_1583 network Static init: registers char server packet 0x1583 handler via vtable 0x00461C10 122 register_char_packet_handler_1542 network Static init: registers char server packet 0x1542 handler via vtable 0x00461C90 122 register_char_packet_handler_153F network Static init: registers char server packet 0x153F handler via vtable 0x00461D10 122 register_char_packet_handler_1540 network Static init: registers char server packet 0x1540 handler via vtable 0x00461D90 122 register_char_packet_handler_1541 network Static init: registers char server packet 0x1541 handler via vtable 0x00461E10 122 register_char_packet_handler_1547 network Static init: registers char server packet 0x1547 handler via vtable 0x00462340 154 CRT_init_critical_section_00462340 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004623E0 122 register_zone_packet_handler_4EC network Static init: registers zone server packet 0x4EC handler via vtable 0x00462460 122 register_zone_packet_handler_4EB network Static init: registers zone server packet 0x4EB handler via vtable 0x004624E0 122 register_zone_packet_handler_4EE network Static init: registers zone server packet 0x4EE handler via vtable 0x00462560 122 register_zone_packet_handler_4E9 network Static init: registers zone server packet 0x4E9 handler via vtable 0x004625E0 122 register_zone_packet_handler_4E8 network Static init: registers zone server packet 0x4E8 handler via vtable 0x00462660 122 register_zone_packet_handler_4EF network Static init: registers zone server packet 0x4EF handler via vtable 0x004626E0 122 register_char_packet_handler_14F0 network Static init: registers char server packet 0x14F0 handler via vtable 0x00462760 122 register_char_packet_handler_14EE network Static init: registers char server packet 0x14EE handler via vtable 0x004627E0 122 register_char_packet_handler_14F2 network Static init: registers char server packet 0x14F2 handler via vtable 0x00462860 122 register_char_packet_handler_14E8 network Static init: registers char server packet 0x14E8 handler via vtable 0x004628E0 122 register_char_packet_handler_14EC network Static init: registers char server packet 0x14EC handler via vtable 0x00462960 122 register_char_packet_handler_14E7 network Static init: registers char server packet 0x14E7 handler via vtable 0x004629E0 122 register_char_packet_handler_14F4 network Static init: registers char server packet 0x14F4 handler via vtable 0x00462A60 122 register_char_packet_handler_1979 network Static init: registers char server packet 0x1979 handler via vtable 0x00462AE0 122 register_char_packet_handler_14EB network Static init: registers char server packet 0x14EB handler via vtable 0x00462B60 122 register_char_packet_handler_14EF network Static init: registers char server packet 0x14EF handler via vtable 0x00462BE0 122 register_char_packet_handler_14E9 network Static init: registers char server packet 0x14E9 handler via vtable 0x00462C60 122 register_char_packet_handler_14EA network Static init: registers char server packet 0x14EA handler via vtable 0x00463190 154 CRT_init_critical_section_00463190 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00463230 202 register_packet_handler_with_alloc_00463230 game_core Static init: allocates object and registers packet handler via vtable dispatch 0x00463300 122 register_char_packet_handler_14D0 network Static init: registers char server packet 0x14D0 handler via vtable 0x00463380 122 register_char_packet_handler_14D6 network Static init: registers char server packet 0x14D6 handler via vtable 0x00463400 122 register_char_packet_handler_14D2 network Static init: registers char server packet 0x14D2 handler via vtable 0x00463480 122 register_char_packet_handler_1978 network Static init: registers char server packet 0x1978 handler via vtable 0x004639B0 154 CRT_init_critical_section_004639b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00463AB0 154 CRT_init_critical_section_00463ab0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00464000 154 CRT_init_critical_section_00464000 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00464550 154 CRT_init_critical_section_00464550 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004645F0 86 init_static_object_004645f0 game_core Static init: constructs static object and registers atexit cleanup 0x004646B0 154 CRT_init_critical_section_004646b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004647B0 154 CRT_init_critical_section_004647b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00464D00 154 CRT_init_critical_section_00464d00 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00465250 154 CRT_init_critical_section_00465250 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004652F0 95 init_global_linked_list_004652f0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00465800 154 CRT_init_critical_section_00465800 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00465900 154 CRT_init_critical_section_00465900 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00465A00 154 CRT_init_critical_section_00465a00 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00465F50 154 CRT_init_critical_section_00465f50 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004664A0 154 CRT_init_critical_section_004664a0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00466540 95 init_global_linked_list_00466540 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00466A50 154 CRT_init_critical_section_00466a50 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00466AF0 95 init_global_linked_list_00466af0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00467000 154 CRT_init_critical_section_00467000 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004670A0 95 init_global_linked_list_004670a0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004675B0 154 CRT_init_critical_section_004675b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00467B00 154 CRT_init_critical_section_00467b00 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00468050 154 CRT_init_critical_section_00468050 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004680F0 95 init_global_linked_list_004680f0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00468600 154 CRT_init_critical_section_00468600 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00468B50 154 CRT_init_critical_section_00468b50 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00468BF0 95 init_global_linked_list_00468bf0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00469100 154 CRT_init_critical_section_00469100 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00469650 154 CRT_init_critical_section_00469650 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004696F0 95 init_global_linked_list_004696f0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00469C00 154 CRT_init_critical_section_00469c00 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00469CA0 95 init_global_linked_list_00469ca0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046A1B0 154 CRT_init_critical_section_0046a1b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046A250 95 init_global_linked_list_0046a250 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046A760 154 CRT_init_critical_section_0046a760 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046A800 95 init_global_linked_list_0046a800 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046AD10 154 CRT_init_critical_section_0046ad10 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046ADB0 95 init_global_linked_list_0046adb0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046B2C0 154 CRT_init_critical_section_0046b2c0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046B360 95 init_global_linked_list_0046b360 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046B870 154 CRT_init_critical_section_0046b870 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046B910 95 init_global_linked_list_0046b910 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046BE20 154 CRT_init_critical_section_0046be20 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046BEC0 95 init_global_linked_list_0046bec0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046C3D0 154 CRT_init_critical_section_0046c3d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046C470 95 init_global_linked_list_0046c470 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046C980 154 CRT_init_critical_section_0046c980 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046CA20 95 init_global_linked_list_0046ca20 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046CF30 154 CRT_init_critical_section_0046cf30 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046D480 154 CRT_init_critical_section_0046d480 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046D520 95 init_global_linked_list_0046d520 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046DA30 154 CRT_init_critical_section_0046da30 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046DAD0 95 init_global_linked_list_0046dad0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046DFE0 154 CRT_init_critical_section_0046dfe0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046E080 95 init_global_linked_list_0046e080 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046E590 154 CRT_init_critical_section_0046e590 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046E630 95 init_global_linked_list_0046e630 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046EB40 154 CRT_init_critical_section_0046eb40 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046EBE0 95 init_global_linked_list_0046ebe0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046ECA0 154 CRT_init_critical_section_0046eca0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046F1F0 154 CRT_init_critical_section_0046f1f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046F290 95 init_global_linked_list_0046f290 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046F350 154 CRT_init_critical_section_0046f350 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046F3F0 256 init_global_string_struct_0046f3f0 game_core Static init: zeroes global struct fields and processes embedded string data 0x0046F9D0 154 CRT_init_critical_section_0046f9d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046FA70 95 init_global_linked_list_0046fa70 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0046FAD0 86 init_static_object_0046fad0 game_core Static init: constructs static object and registers atexit cleanup 0x0046FB90 154 CRT_init_critical_section_0046fb90 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046FC90 154 CRT_init_critical_section_0046fc90 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0046FD90 154 CRT_init_critical_section_0046fd90 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004702E0 154 CRT_init_critical_section_004702e0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00470380 95 init_global_linked_list_00470380 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00470890 154 CRT_init_critical_section_00470890 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00470930 95 init_global_linked_list_00470930 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00470E40 154 CRT_init_critical_section_00470e40 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00470EE0 95 init_global_linked_list_00470ee0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004713F0 154 CRT_init_critical_section_004713f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00471490 95 init_global_linked_list_00471490 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004719A0 154 CRT_init_critical_section_004719a0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00471A40 95 init_global_linked_list_00471a40 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00471B00 154 CRT_init_critical_section_00471b00 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00471C00 154 CRT_init_critical_section_00471c00 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00472150 154 CRT_init_critical_section_00472150 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004721F0 95 init_global_linked_list_004721f0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00472700 154 CRT_init_critical_section_00472700 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004727A0 95 init_global_linked_list_004727a0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00472CB0 154 CRT_init_critical_section_00472cb0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00472D50 95 init_global_linked_list_00472d50 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00473260 154 CRT_init_critical_section_00473260 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00473300 95 init_global_linked_list_00473300 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00473810 154 CRT_init_critical_section_00473810 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004738B0 95 init_global_linked_list_004738b0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00473DC0 154 CRT_init_critical_section_00473dc0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00473E60 95 init_global_linked_list_00473e60 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00474370 154 CRT_init_critical_section_00474370 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00474410 95 init_global_linked_list_00474410 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00474920 154 CRT_init_critical_section_00474920 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004749C0 95 init_global_linked_list_004749c0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00474ED0 154 CRT_init_critical_section_00474ed0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00474F70 95 init_global_linked_list_00474f70 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00475480 154 CRT_init_critical_section_00475480 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00475520 95 init_global_linked_list_00475520 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00475A30 154 CRT_init_critical_section_00475a30 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00475AD0 95 init_global_linked_list_00475ad0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00475B90 154 CRT_init_critical_section_00475b90 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004760E0 154 CRT_init_critical_section_004760e0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00476180 95 init_global_linked_list_00476180 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00476690 154 CRT_init_critical_section_00476690 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00476730 95 init_global_linked_list_00476730 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00476C40 154 CRT_init_critical_section_00476c40 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00476CE0 95 init_global_linked_list_00476ce0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004771F0 154 CRT_init_critical_section_004771f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00477290 95 init_global_linked_list_00477290 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004777A0 154 CRT_init_critical_section_004777a0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00477840 95 init_global_linked_list_00477840 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004778A0 194 init_global_struct_with_list_004778a0 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x00477E20 154 CRT_init_critical_section_00477e20 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00477EC0 95 init_global_linked_list_00477ec0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004783D0 154 CRT_init_critical_section_004783d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00478470 95 init_global_linked_list_00478470 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00478980 154 CRT_init_critical_section_00478980 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00478A20 95 init_global_linked_list_00478a20 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00478F30 154 CRT_init_critical_section_00478f30 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00478FD0 95 init_global_linked_list_00478fd0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004794E0 154 CRT_init_critical_section_004794e0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00479580 95 init_global_linked_list_00479580 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00479A90 154 CRT_init_critical_section_00479a90 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00479B30 95 init_global_linked_list_00479b30 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00479BF0 154 CRT_init_critical_section_00479bf0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047A140 154 CRT_init_critical_section_0047a140 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047A1E0 95 init_global_linked_list_0047a1e0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047A6F0 154 CRT_init_critical_section_0047a6f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047A790 95 init_global_linked_list_0047a790 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047ACA0 154 CRT_init_critical_section_0047aca0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047AD40 95 init_global_linked_list_0047ad40 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047B250 154 CRT_init_critical_section_0047b250 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047B2F0 95 init_global_linked_list_0047b2f0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047B810 154 CRT_init_critical_section_0047b810 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047B8B0 95 init_global_linked_list_0047b8b0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047BDC0 154 CRT_init_critical_section_0047bdc0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047BE60 95 init_global_linked_list_0047be60 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047C370 154 CRT_init_critical_section_0047c370 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047C410 95 init_global_linked_list_0047c410 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047C920 154 CRT_init_critical_section_0047c920 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047C9C0 95 init_global_linked_list_0047c9c0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047CED0 154 CRT_init_critical_section_0047ced0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047CF70 95 init_global_linked_list_0047cf70 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047D480 154 CRT_init_critical_section_0047d480 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047D520 95 init_global_linked_list_0047d520 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047D580 194 init_global_struct_with_list_0047d580 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x0047DB00 154 CRT_init_critical_section_0047db00 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047DBA0 95 init_global_linked_list_0047dba0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047E0B0 154 CRT_init_critical_section_0047e0b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047E150 95 init_global_linked_list_0047e150 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047E210 154 CRT_init_critical_section_0047e210 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047E760 154 CRT_init_critical_section_0047e760 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047E800 95 init_global_linked_list_0047e800 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047E860 194 init_global_struct_with_list_0047e860 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x0047EDE0 154 CRT_init_critical_section_0047ede0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047EE80 95 init_global_linked_list_0047ee80 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047EEE0 194 init_global_struct_with_list_0047eee0 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x0047F4D0 154 CRT_init_critical_section_0047f4d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047F570 95 init_global_linked_list_0047f570 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047F5D0 95 init_global_linked_list_0047f5d0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047F630 95 init_global_linked_list_0047f630 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047FB40 154 CRT_init_critical_section_0047fb40 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0047FBE0 95 init_global_linked_list_0047fbe0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0047FC40 194 init_global_struct_with_list_0047fc40 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x004801C0 154 CRT_init_critical_section_004801c0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00480260 95 init_global_linked_list_00480260 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00480770 154 CRT_init_critical_section_00480770 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00480810 95 init_global_linked_list_00480810 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00480D20 154 CRT_init_critical_section_00480d20 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00480DC0 95 init_global_linked_list_00480dc0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004812D0 154 CRT_init_critical_section_004812d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00481370 95 init_global_linked_list_00481370 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00481880 154 CRT_init_critical_section_00481880 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00481920 95 init_global_linked_list_00481920 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00481E30 154 CRT_init_critical_section_00481e30 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00481ED0 95 init_global_linked_list_00481ed0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00481F30 194 init_global_struct_with_list_00481f30 game_core Static init: zeroes global struct, allocates linked list, sets default values 0x004824B0 154 CRT_init_critical_section_004824b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00482550 95 init_global_linked_list_00482550 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00482A60 154 CRT_init_critical_section_00482a60 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00482B00 95 init_global_linked_list_00482b00 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00482BC0 154 CRT_init_critical_section_00482bc0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00482CC0 154 CRT_init_critical_section_00482cc0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00482DC0 154 CRT_init_critical_section_00482dc0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00482EC0 154 CRT_init_critical_section_00482ec0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00482FC0 154 CRT_init_critical_section_00482fc0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00483510 154 CRT_init_critical_section_00483510 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004835B0 95 init_global_linked_list_004835b0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00483AC0 154 CRT_init_critical_section_00483ac0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00483B60 95 init_global_linked_list_00483b60 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00484070 154 CRT_init_critical_section_00484070 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00484110 95 init_global_linked_list_00484110 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00484620 154 CRT_init_critical_section_00484620 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004846C0 95 init_global_linked_list_004846c0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00484BD0 154 CRT_init_critical_section_00484bd0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00484C70 95 init_global_linked_list_00484c70 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00485180 154 CRT_init_critical_section_00485180 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00485220 95 init_global_linked_list_00485220 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00485730 154 CRT_init_critical_section_00485730 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004857D0 95 init_global_linked_list_004857d0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00485890 154 CRT_init_critical_section_00485890 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00485DE0 154 CRT_init_critical_section_00485de0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00485E80 95 init_global_linked_list_00485e80 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00486390 154 CRT_init_critical_section_00486390 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00486430 95 init_global_linked_list_00486430 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00486940 154 CRT_init_critical_section_00486940 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004869E0 95 init_global_linked_list_004869e0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00486EF0 154 CRT_init_critical_section_00486ef0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00487440 154 CRT_init_critical_section_00487440 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004874E0 95 init_global_linked_list_004874e0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004879F0 154 CRT_init_critical_section_004879f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00487A90 95 init_global_linked_list_00487a90 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00487B10 254 init_CUIWindowPositionMgr_singleton_00487b10 game_core 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 0x004880C0 154 CRT_init_critical_section_004880c0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00488160 95 init_global_linked_list_00488160 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00488670 154 CRT_init_critical_section_00488670 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00488710 95 init_global_linked_list_00488710 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004887D0 154 CRT_init_critical_section_004887d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004888D0 154 CRT_init_critical_section_004888d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004889D0 154 CRT_init_critical_section_004889d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00488AD0 154 CRT_init_critical_section_00488ad0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00488BD0 154 CRT_init_critical_section_00488bd0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00488CD0 154 CRT_init_critical_section_00488cd0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00489220 154 CRT_init_critical_section_00489220 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004892C0 95 init_global_linked_list_004892c0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004897D0 154 CRT_init_critical_section_004897d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00489870 95 init_global_linked_list_00489870 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00489D80 154 CRT_init_critical_section_00489d80 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048A2D0 154 CRT_init_critical_section_0048a2d0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048A370 95 init_global_linked_list_0048a370 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048A880 154 CRT_init_critical_section_0048a880 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048A920 95 init_global_linked_list_0048a920 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048AE30 154 CRT_init_critical_section_0048ae30 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048AED0 95 init_global_linked_list_0048aed0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048B3E0 154 CRT_init_critical_section_0048b3e0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048B480 95 init_global_linked_list_0048b480 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048B990 154 CRT_init_critical_section_0048b990 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048BA30 95 init_global_linked_list_0048ba30 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048BF40 154 CRT_init_critical_section_0048bf40 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048BFE0 95 init_global_linked_list_0048bfe0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048C4F0 154 CRT_init_critical_section_0048c4f0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048C590 95 init_global_linked_list_0048c590 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048CAA0 154 CRT_init_critical_section_0048caa0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048CFF0 154 CRT_init_critical_section_0048cff0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048D090 95 init_global_linked_list_0048d090 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048D5A0 154 CRT_init_critical_section_0048d5a0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048D640 95 init_global_linked_list_0048d640 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048DB50 154 CRT_init_critical_section_0048db50 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048DBF0 95 init_global_linked_list_0048dbf0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048E100 154 CRT_init_critical_section_0048e100 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048E1A0 95 init_global_linked_list_0048e1a0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048E6B0 154 CRT_init_critical_section_0048e6b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048E750 95 init_global_linked_list_0048e750 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048EC60 154 CRT_init_critical_section_0048ec60 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048ED00 95 init_global_linked_list_0048ed00 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048F210 154 CRT_init_critical_section_0048f210 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048F760 154 CRT_init_critical_section_0048f760 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048F800 95 init_global_linked_list_0048f800 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x0048FD10 154 CRT_init_critical_section_0048fd10 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x0048FDB0 95 init_global_linked_list_0048fdb0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x004902C0 154 CRT_init_critical_section_004902c0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00490810 154 CRT_init_critical_section_00490810 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00490D60 154 CRT_init_critical_section_00490d60 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004912B0 154 CRT_init_critical_section_004912b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00491350 95 init_global_linked_list_00491350 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00491410 154 CRT_init_critical_section_00491410 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00491960 154 CRT_init_critical_section_00491960 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00491A00 95 init_global_linked_list_00491a00 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00491F10 154 CRT_init_critical_section_00491f10 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00491FB0 95 init_global_linked_list_00491fb0 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00492010 254 init_CUIWindowPositionMgr_singleton_00492010 game_core 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 0x004925C0 154 CRT_init_critical_section_004925c0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00492660 95 init_global_linked_list_00492660 game_core Static init: allocates and self-links global linked list node + atexit cleanup 0x00492B70 154 CRT_init_critical_section_00492b70 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00492C10 95 STL_init_rbtree_sentinel_00492c10 stl Static init: allocates 0x18-byte RB-tree sentinel node at DAT_0145715c with triple self-pointer + 0x101 flag + atexit cleanup 0x00492C70 254 singleton_register_UIWindowPositionMgr_0x2711 game_core 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 0x00493220 154 CRT_init_critical_section_00493220 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004932C0 95 STL_init_rbtree_sentinel_004932c0 stl Static init: allocates 0x18-byte RB-tree sentinel node at DAT_01457168 with triple self-pointer + 0x101 flag + atexit cleanup 0x004937D0 154 CRT_init_critical_section_004937d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00493870 95 STL_init_rbtree_sentinel_00493870 stl Allocates 0x18-byte RB-tree sentinel node at DAT_01457170 with atexit cleanup 0x00493930 154 CRT_init_critical_section_00493930 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00493A30 154 CRT_init_critical_section_00493a30 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00493AD0 254 singleton_register_factory_0x271b game_core Registers singleton factory ID 0x271b via operator_new and FUN_009d31f0 0x00494080 154 CRT_init_critical_section_00494080 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00494120 95 STL_init_rbtree_sentinel_00494120 stl Allocates 0x18-byte RB-tree sentinel node at DAT_0145717c with atexit cleanup 0x00494630 154 CRT_init_critical_section_00494630 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004946D0 95 STL_init_rbtree_sentinel_004946d0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x00494730 254 singleton_register_factory_0x271e game_core Registers singleton factory ID 0x271e via operator_new and FUN_009d31f0 0x00494CE0 154 CRT_init_critical_section_00494ce0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00494D80 95 STL_init_rbtree_sentinel_00494d80 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x00494DE0 194 CRT_init_linked_list_and_vector_00494de0 crt Initializes render state list with 0x10 node, float 1.0, and tree params 0x00495360 154 CRT_init_critical_section_00495360 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00495400 95 STL_init_rbtree_sentinel_00495400 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x00495460 325 STL_init_map_with_entries_00495460 stl Initializes STL map with pre-populated entries via Insert_node 0x004955B0 254 singleton_register_factory_0x2715 game_core Registers singleton factory ID 0x2715 via operator_new and FUN_009d31f0 0x00495B60 154 CRT_init_critical_section_00495b60 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00495C00 95 STL_init_rbtree_sentinel_00495c00 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014571ac with atexit cleanup 0x00496110 154 CRT_init_critical_section_00496110 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004961B0 95 STL_init_rbtree_sentinel_004961b0 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014571b4 with atexit cleanup 0x00496270 154 CRT_init_critical_section_00496270 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00496370 154 CRT_init_critical_section_00496370 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00496470 154 CRT_init_critical_section_00496470 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x00496570 154 CRT_init_critical_section_00496570 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00496610 254 singleton_register_factory_0x271c game_core Registers singleton factory ID 0x271c via operator_new and FUN_009d31f0 0x00496C30 154 CRT_init_critical_section_00496c30 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00496CD0 95 STL_init_rbtree_sentinel_00496cd0 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014571c0 with atexit cleanup 0x00497250 154 CRT_init_critical_section_00497250 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004972F0 95 STL_init_rbtree_sentinel_004972f0 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014571c8 with atexit cleanup 0x004973B0 154 CRT_init_critical_section_004973b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004974B0 154 CRT_init_critical_section_004974b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004975B0 154 CRT_init_critical_section_004975b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004976B0 154 CRT_init_critical_section_004976b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004977B0 154 CRT_init_critical_section_004977b0 crt Static CRT initializer: InitializeCriticalSectionEx + atexit cleanup 0x004978B0 154 CRT_init_critical_section_004978b0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00497950 254 singleton_register_factory_0x2719 game_core Registers singleton factory ID 0x2719 via operator_new and FUN_009d31f0 0x00497F00 154 CRT_init_critical_section_00497f00 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00497FA0 95 STL_init_rbtree_sentinel_00497fa0 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014571d4 with atexit cleanup 0x004984B0 154 CRT_init_critical_section_004984b0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00498550 95 STL_init_rbtree_sentinel_00498550 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014571dc with atexit cleanup 0x004985B0 254 singleton_register_factory_0x271a game_core Registers singleton factory ID 0x271a via operator_new and FUN_009d31f0 0x00498B60 154 CRT_init_critical_section_00498b60 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00498C00 95 STL_init_rbtree_sentinel_00498c00 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014571e8 with atexit cleanup 0x00499110 154 CRT_init_critical_section_00499110 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004991B0 95 STL_init_rbtree_sentinel_004991b0 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014571f0 with atexit cleanup 0x00499210 254 singleton_register_factory_0x2718 game_core Registers singleton factory ID 0x2718 via operator_new and FUN_009d31f0 0x004997C0 154 CRT_init_critical_section_004997c0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00499860 95 STL_init_rbtree_sentinel_00499860 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014571fc with atexit cleanup 0x00499D70 154 CRT_init_critical_section_00499d70 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00499E10 95 STL_init_rbtree_sentinel_00499e10 stl Allocates 0x18-byte RB-tree sentinel node at DAT_01457204 with atexit cleanup 0x00499ED0 154 CRT_init_critical_section_00499ed0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x00499FD0 154 CRT_init_critical_section_00499fd0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A0D0 154 CRT_init_critical_section_0049a0d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A1D0 154 CRT_init_critical_section_0049a1d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A2D0 154 CRT_init_critical_section_0049a2d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A3D0 154 CRT_init_critical_section_0049a3d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A4D0 154 CRT_init_critical_section_0049a4d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A5D0 154 CRT_init_critical_section_0049a5d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A6D0 154 CRT_init_critical_section_0049a6d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A7D0 154 CRT_init_critical_section_0049a7d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A8D0 154 CRT_init_critical_section_0049a8d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049A9D0 154 CRT_init_critical_section_0049a9d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049AAD0 154 CRT_init_critical_section_0049aad0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049ABD0 154 CRT_init_critical_section_0049abd0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049ACD0 154 CRT_init_critical_section_0049acd0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049ADD0 154 CRT_init_critical_section_0049add0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049AED0 154 CRT_init_critical_section_0049aed0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049AFD0 154 CRT_init_critical_section_0049afd0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049B0D0 154 CRT_init_critical_section_0049b0d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049B1D0 154 CRT_init_critical_section_0049b1d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049B2D0 154 CRT_init_critical_section_0049b2d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049B3D0 154 CRT_init_critical_section_0049b3d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049B4D0 154 CRT_init_critical_section_0049b4d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049B5D0 154 CRT_init_critical_section_0049b5d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049B670 254 singleton_register_factory_0x2731 game_core Registers singleton factory ID 0x2731 via operator_new and FUN_009d31f0 0x0049BC20 154 CRT_init_critical_section_0049bc20 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049BCC0 95 STL_init_rbtree_sentinel_0049bcc0 stl Allocates 0x18-byte RB-tree sentinel node at DAT_01457210 with atexit cleanup 0x0049C1D0 154 CRT_init_critical_section_0049c1d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049C270 95 STL_init_rbtree_sentinel_0049c270 stl Allocates 0x18-byte RB-tree sentinel node at DAT_01457218 with atexit cleanup 0x0049C2D0 254 singleton_register_factory_0x272e game_core Registers singleton factory ID 0x272e via operator_new and FUN_009d31f0 0x0049C880 154 CRT_init_critical_section_0049c880 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049C920 95 STL_init_rbtree_sentinel_0049c920 stl Allocates 0x18-byte RB-tree sentinel node at DAT_01457224 with atexit cleanup 0x0049CE30 154 CRT_init_critical_section_0049ce30 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049CED0 95 STL_init_rbtree_sentinel_0049ced0 stl Allocates 0x18-byte RB-tree sentinel node at DAT_0145722c with atexit cleanup 0x0049CF90 154 CRT_init_critical_section_0049cf90 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049D090 154 CRT_init_critical_section_0049d090 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049D5E0 154 CRT_init_critical_section_0049d5e0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049D680 95 STL_init_rbtree_sentinel_0049d680 stl Allocates 0x18-byte RB-tree sentinel node at DAT_01457234 with atexit cleanup 0x0049DB90 154 CRT_init_critical_section_0049db90 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049DC30 95 STL_init_rbtree_sentinel_0049dc30 stl Allocates 0x18-byte RB-tree sentinel node at DAT_01457240 with atexit cleanup 0x0049DC90 194 CRenderPipeline__static_init_0049dc90 game_render Initializes CRenderPipeline static globals: allocates 0x10-byte linked list node, sets scale to 1.0f (0x3f800000), resizes vector to 16 entries, registers atexit_CRenderPipeline_destroy_wrapper for cleanup 0x0049E210 154 CRT_init_critical_section_0049e210 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049E2B0 95 STL_init_rbtree_sentinel_0049e2b0 stl Allocates 0x18-byte RB-tree sentinel node at DAT_014a6930 with atexit cleanup 0x0049E7F0 154 CRT_init_critical_section_0049e7f0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049E890 95 STL_init_rbtree_sentinel_0049e890 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x0049E8F0 194 CRenderPipeline__static_init_0049e8f0 game_render Static init for CRenderPipeline: allocates linked list sentinel (0x10 bytes), clears counters, sets float 1.0 scale, resizes vector to 16 entries, registers atexit destructor 0x0049EE70 154 CRT_init_critical_section_0049ee70 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049EF10 95 STL_init_rbtree_sentinel_0049ef10 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x0049F420 154 CRT_init_critical_section_0049f420 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049F4C0 95 STL_init_rbtree_sentinel_0049f4c0 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x0049F9D0 154 CRT_init_critical_section_0049f9d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x0049FA70 95 STL_init_rbtree_sentinel_0049fa70 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x0049FF80 154 CRT_init_critical_section_0049ff80 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A0020 95 STL_init_rbtree_sentinel_004a0020 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A0530 154 CRT_init_critical_section_004a0530 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A05D0 95 STL_init_rbtree_sentinel_004a05d0 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A0AE0 154 CRT_init_critical_section_004a0ae0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A0B80 95 STL_init_rbtree_sentinel_004a0b80 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A1090 154 CRT_init_critical_section_004a1090 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A15E0 154 CRT_init_critical_section_004a15e0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A1680 95 STL_init_rbtree_sentinel_004a1680 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A1B90 154 CRT_init_critical_section_004a1b90 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A1C30 95 STL_init_rbtree_sentinel_004a1c30 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A2140 154 CRT_init_critical_section_004a2140 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A21E0 95 STL_init_rbtree_sentinel_004a21e0 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A26F0 154 CRT_init_critical_section_004a26f0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A2790 95 STL_init_rbtree_sentinel_004a2790 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A2CA0 154 CRT_init_critical_section_004a2ca0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A2D40 95 STL_init_rbtree_sentinel_004a2d40 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit cleanup 0x004A2E00 154 CRT_init_critical_section_004a2e00 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A3350 154 CRT_init_critical_section_004a3350 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A33F0 194 CRenderPipeline__static_init_004a33f0 game_render Static init for CRenderPipeline: allocates linked list sentinel (0x10 bytes), clears counters, sets float 1.0 scale, resizes vector to 16 entries, registers atexit destructor 0x004A3970 154 CRT_init_critical_section_004a3970 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A3A70 154 CRT_init_critical_section_004a3a70 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A3FC0 154 CRT_init_critical_section_004a3fc0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A40C0 154 CRT_init_critical_section_004a40c0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A4610 154 CRT_init_critical_section_004a4610 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A46B0 95 STL_init_rbtree_sentinel_004a46b0 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A4BD0 154 CRT_init_critical_section_004a4bd0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A4C70 95 STL_init_rbtree_sentinel_004a4c70 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A51A0 154 CRT_init_critical_section_004a51a0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A5240 101 STL_init_xml_document_regex_004a5240 stl Static init: calls regex_node_ctor on XMLDocument string, clears global, registers atexit for xml_node_destroy_and_regex_cleanup 0x004A52B0 95 STL_init_rbtree_sentinel_004a52b0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004A5310 246 tls_init_encrypted_string_004a5310 security TLS static init: copies 10-byte encrypted blob to TLS field at offset 0xa970, decrypts via xor_decrypt_buffer on first access, stores pointer in global. Uses TLS destructor for cleanup. 0x004A58F0 154 CRT_init_critical_section_004a58f0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A5990 95 STL_init_rbtree_sentinel_004a5990 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A5EA0 154 CRT_init_critical_section_004a5ea0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A5F40 95 STL_init_rbtree_sentinel_004a5f40 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit cleanup 0x004A6000 154 CRT_init_critical_section_004a6000 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A60A0 103 STL_init_list_sentinel_and_globals_004a60a0 stl Static init: allocates 0xC-byte doubly-linked list sentinel (not rbtree, only 2 self-pointers), clears 4 global counters, registers atexit cleanup 0x004A6110 194 CRenderPipeline__static_init_004a6110 game_render Static init for CRenderPipeline: allocates linked list sentinel (0x10 bytes), clears counters, sets float 1.0 scale, resizes vector to 16 entries, registers atexit destructor 0x004A6690 154 CRT_init_critical_section_004a6690 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A6790 154 CRT_init_critical_section_004a6790 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A6CE0 154 CRT_init_critical_section_004a6ce0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A7230 154 CRT_init_critical_section_004a7230 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A72D0 95 STL_init_rbtree_sentinel_004a72d0 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A77E0 154 CRT_init_critical_section_004a77e0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004A7D30 154 CRT_init_critical_section_004a7d30 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004A8280 154 CRT_init_critical_section_004a8280 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004A87D0 154 CRT_init_critical_section_004a87d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004A8890 95 STL_init_rbtree_sentinel_004a8890 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A8DA0 154 CRT_init_critical_section_004a8da0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A8E40 69 STL_register_atexit_clear_vector_004a8e40 stl Static init: registers atexit handler to clear a vector of 0xC-byte elements. No allocation, only cleanup registration. 0x004A8E90 95 STL_init_rbtree_sentinel_004a8e90 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004A93A0 154 CRT_init_critical_section_004a93a0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004A9440 69 STL_register_atexit_clear_vector_int_004a9440 stl Static init: registers atexit handler to clear a vector of ints. No allocation, only cleanup registration. 0x004A9490 95 STL_init_rbtree_sentinel_004a9490 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004A94F0 86 CRT_init_CSVParser_with_atexit_004a94f0 crt Static init: calls CSVParser__free_all_line_buffers then registers atexit handler to destroy CSVParser and associated vector 0x004A9A00 154 CRT_init_critical_section_004a9a00 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004A9F50 154 CRT_init_critical_section_004a9f50 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004AA4A0 154 CRT_init_critical_section_004aa4a0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004AA540 95 STL_init_rbtree_sentinel_004aa540 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004AA5A0 69 CRT_register_atexit_UIWindow_cleanup_004aa5a0 crt CRT static init stub: registers atexit handler to clear UIWindow vector. Does NOT initialize a critical section despite original name. SEH frame setup only. 0x004AA60B 1 stub_ret_004aa60b game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004AA650 154 CRT_init_critical_section_004aa650 crt CRT init: Calls InitializeCriticalSectionEx to initialize a global CRITICAL_SECTION, registers atexit cleanup handler 0x004AA750 154 CRT_init_critical_section_004aa750 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AA850 154 CRT_init_critical_section_004aa850 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AA950 154 CRT_init_critical_section_004aa950 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004AA9F0 86 STL_init_list_node_004aa9f0 stl Allocates 0x10-byte doubly-linked list node (prev/next self-pointers) with atexit cleanup registration 0x004AAF00 154 CRT_init_critical_section_004aaf00 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AB000 154 CRT_init_critical_section_004ab000 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AB100 154 CRT_init_critical_section_004ab100 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AB200 154 CRT_init_critical_section_004ab200 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AB300 154 CRT_init_critical_section_004ab300 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AB400 154 CRT_init_critical_section_004ab400 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004AB5C0 124 STL_init_list_with_critsect_004ab5c0 stl Allocates 0x28-byte list node and initializes critical section with atexit 0x004AB9D0 154 CRT_init_critical_section_004ab9d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004ABA70 95 STL_init_rbtree_sentinel_004aba70 stl Allocates 0x18-byte RB-tree sentinel node at DAT_016d56c0 with atexit cleanup 0x004ABF80 154 CRT_init_critical_section_004abf80 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004AC4D0 154 CRT_init_critical_section_004ac4d0 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AC5D0 154 CRT_init_critical_section_004ac5d0 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AC6D0 154 CRT_init_critical_section_004ac6d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004ACC20 154 CRT_init_critical_section_004acc20 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004ACCC0 95 STL_init_rbtree_sentinel_004accc0 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004AD1D0 154 CRT_init_critical_section_004ad1d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004AD270 194 CRT_init_linked_list_and_vector_004ad270 crt Initializes render pipeline: allocates 0x10-byte list node, sets float 1.0 (0x3f800000), resizes vector to 16 entries, registers atexit_destroy_render_pipeline cleanup 0x004AD7F0 154 CRT_init_critical_section_004ad7f0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004AD890 95 STL_init_rbtree_sentinel_004ad890 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004ADDA0 154 CRT_init_critical_section_004adda0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup handler 0x004AE2F0 154 CRT_init_critical_section_004ae2f0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004AE390 194 CRT_init_linked_list_and_vector_004ae390 crt Initializes render pipeline: allocates 0x24-byte list node, sets float 1.0 (0x3f800000), resizes vector to 16 entries via STL_vector_4byte__resize_fill, registers atexit cleanup 0x004AE460 86 CRT_init_CSVParser_004ae460 crt Static init: calls CSVParser__free_all_line_buffers then registers atexit handler to destroy CSVParser and associated vector 0x004AE520 154 CRT_init_critical_section_004ae520 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AE640 154 CRT_init_critical_section_004ae640 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AE740 154 CRT_init_critical_section_004ae740 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AE840 154 CRT_init_critical_section_004ae840 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AE940 154 CRT_init_critical_section_004ae940 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AEA40 154 CRT_init_critical_section_004aea40 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AEB40 154 CRT_init_critical_section_004aeb40 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AEC40 154 CRT_init_critical_section_004aec40 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AED40 154 CRT_init_critical_section_004aed40 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004AF290 154 CRT_init_critical_section_004af290 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AF390 154 CRT_init_critical_section_004af390 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AF490 154 CRT_init_critical_section_004af490 crt Initializes render state list/tree with alloc and atexit cleanup 0x004AF590 154 CRT_init_critical_section_004af590 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004AFAE0 154 CRT_init_critical_section_004afae0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004AFB80 95 STL_init_rbtree_sentinel_004afb80 stl Allocates 0x18-byte RB-tree sentinel node at DAT_016f711c with atexit cleanup 0x004AFBE0 194 CRT_init_linked_list_and_vector_004afbe0 crt Initializes render state list with 0x10 node, float 1.0, and tree params 0x004AFCB0 194 CRT_init_rbtree_and_vector_004afcb0 crt Initializes render state RB-tree with 0x18 node, float 1.0, and tree params 0x004B0230 154 CRT_init_critical_section_004b0230 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004B02D0 95 STL_init_rbtree_sentinel_004b02d0 stl Allocates 0x18-byte RB-tree sentinel node with self-referencing pointers and sentinel flag 0x101, registers atexit destructor 0x004B07E0 154 CRT_init_critical_section_004b07e0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004B0880 194 CRT_init_linked_list_and_vector_004b0880 crt Initializes render state list with 0x10 node, float 1.0, and vector resize to 0x10 entries with atexit cleanup 0x004B0E00 154 CRT_init_critical_section_004b0e00 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004B0EA0 95 STL_init_rbtree_sentinel_004b0ea0 stl Allocates 0x18-byte RB-tree sentinel node with self-referencing pointers and sentinel flag 0x101, registers atexit destructor 0x004B13B0 154 CRT_init_critical_section_004b13b0 crt Initializes render state list/tree with alloc and atexit cleanup 0x004B14B0 154 CRT_init_critical_section_004b14b0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B1A00 154 CRT_init_critical_section_004b1a00 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004B1AA0 194 CRT_init_linked_list_and_vector_004b1aa0 crt Initializes render state list with 0x10 node, float 1.0, and vector resize to 0x10 entries with atexit cleanup 0x004B2020 154 CRT_init_critical_section_004b2020 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B2570 154 CRT_init_critical_section_004b2570 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B2AC0 154 CRT_init_critical_section_004b2ac0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B3010 154 CRT_init_critical_section_004b3010 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B3560 154 CRT_init_critical_section_004b3560 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B3AB0 154 CRT_init_critical_section_004b3ab0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B4000 154 CRT_init_critical_section_004b4000 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B4550 154 CRT_init_critical_section_004b4550 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B4AA0 154 CRT_init_critical_section_004b4aa0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B4FF0 154 CRT_init_critical_section_004b4ff0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B5540 154 CRT_init_critical_section_004b5540 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B5A90 154 CRT_init_critical_section_004b5a90 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B5FE0 154 CRT_init_critical_section_004b5fe0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004B6080 194 CRT_init_linked_list_and_vector_004b6080 crt Initializes render state list with 0x10 node, float 1.0, and vector resize to 0x10 entries with atexit cleanup 0x004B6600 154 CRT_init_critical_section_004b6600 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004B66A0 95 STL_init_rbtree_sentinel_004b66a0 stl Allocates 0x18-byte RB-tree sentinel node with self-referencing pointers and sentinel flag 0x101, registers atexit destructor 0x004B6BB0 154 CRT_init_critical_section_004b6bb0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B7100 154 CRT_init_critical_section_004b7100 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B7650 154 CRT_init_critical_section_004b7650 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004B76F0 194 CRT_init_linked_list_and_vector_004b76f0 crt Initializes render state list with 0x10 node, float 1.0, and vector resize to 0x10 entries with atexit cleanup 0x004B7C70 154 CRT_init_critical_section_004b7c70 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B81C0 154 CRT_init_critical_section_004b81c0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B8710 154 CRT_init_critical_section_004b8710 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B8C60 154 CRT_init_critical_section_004b8c60 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B91B0 154 CRT_init_critical_section_004b91b0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B9700 154 CRT_init_critical_section_004b9700 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004B9C50 154 CRT_init_critical_section_004b9c50 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup callback 0x004BA1A0 154 CRT_init_critical_section_004ba1a0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BA6F0 154 CRT_init_critical_section_004ba6f0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BAC40 154 CRT_init_critical_section_004bac40 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BB190 154 CRT_init_critical_section_004bb190 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BB6E0 154 CRT_init_critical_section_004bb6e0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BBC30 154 CRT_init_critical_section_004bbc30 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BC180 154 CRT_init_critical_section_004bc180 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BC6D0 154 CRT_init_critical_section_004bc6d0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BCC20 154 CRT_init_critical_section_004bcc20 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BD170 154 CRT_init_critical_section_004bd170 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BD6C0 154 CRT_init_critical_section_004bd6c0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BDC10 154 CRT_init_critical_section_004bdc10 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BE160 154 CRT_init_critical_section_004be160 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BE6B0 154 CRT_init_critical_section_004be6b0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004BE750 194 CRT_init_linked_list_and_vector_004be750 crt Initializes global render pipeline: allocates 0x10-byte linked list head, sets float globals (1.0f scale), resizes 4-byte vector to 16 entries, registers atexit_destroy_render_pipeline cleanup 0x004BECD0 154 CRT_init_critical_section_004becd0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BF220 154 CRT_init_critical_section_004bf220 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BF770 154 CRT_init_critical_section_004bf770 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004BFCC0 154 CRT_init_critical_section_004bfcc0 crt Initializes render state list/tree with alloc and atexit cleanup 0x004BFDC0 154 CRT_init_critical_section_004bfdc0 crt Initializes render state list/tree with alloc and atexit cleanup 0x004BFEC0 154 CRT_init_critical_section_004bfec0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C0410 154 CRT_init_critical_section_004c0410 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C0960 154 CRT_init_critical_section_004c0960 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C0EB0 154 CRT_init_critical_section_004c0eb0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C1400 154 CRT_init_critical_section_004c1400 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C1500 154 CRT_init_critical_section_004c1500 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C1A50 154 CRT_init_critical_section_004c1a50 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C1AF0 95 STL_init_rbtree_sentinel_004c1af0 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C2000 154 CRT_init_critical_section_004c2000 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C20C0 95 STL_init_rbtree_sentinel_004c20c0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004C2120 95 STL_init_rbtree_sentinel_004c2120 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C2630 154 CRT_init_critical_section_004c2630 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C26D0 95 STL_init_rbtree_sentinel_004c26d0 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C2BE0 154 CRT_init_critical_section_004c2be0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C2C80 95 STL_init_rbtree_sentinel_004c2c80 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C3190 154 CRT_init_critical_section_004c3190 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C36E0 154 CRT_init_critical_section_004c36e0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C3780 95 STL_init_rbtree_sentinel_004c3780 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C3C90 154 CRT_init_critical_section_004c3c90 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C3D30 95 STL_init_rbtree_sentinel_004c3d30 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C4240 154 CRT_init_critical_section_004c4240 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C42E0 95 STL_init_rbtree_sentinel_004c42e0 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C43A0 154 CRT_init_critical_section_004c43a0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C48F0 154 CRT_init_critical_section_004c48f0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C4990 95 STL_init_rbtree_sentinel_004c4990 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C4EA0 154 CRT_init_critical_section_004c4ea0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C4F40 95 STL_init_rbtree_sentinel_004c4f40 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C5450 154 CRT_init_critical_section_004c5450 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C54F0 95 STL_init_rbtree_sentinel_004c54f0 stl Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup 0x004C55C0 154 CRT_init_critical_section_004c55c0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C5B60 154 CRT_init_critical_section_004c5b60 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C5C00 95 STL_init_rbtree_sentinel_004c5c00 stl Initializes render state list/tree with alloc and atexit cleanup 0x004C5CC0 154 CRT_init_critical_section_004c5cc0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup 0x004C6210 154 CRT_init_critical_section_004c6210 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C62B0 95 STL_init_rbtree_sentinel_004c62b0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004C6310 194 CRT_init_linked_list_and_vector_004c6310 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C6857 1 stub_ret_004c6857 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004C6890 154 CRT_init_critical_section_004c6890 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C6950 95 STL_init_rbtree_sentinel_004c6950 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004C69B0 194 CRT_init_linked_list_and_vector_004c69b0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C6F30 154 CRT_init_critical_section_004c6f30 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C6FD0 95 STL_init_rbtree_sentinel_004c6fd0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004C7030 194 CRT_init_linked_list_and_vector_004c7030 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C75B0 154 CRT_init_critical_section_004c75b0 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C7670 95 STL_init_rbtree_sentinel_004c7670 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004C76D0 194 CRT_init_linked_list_and_vector_004c76d0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C7C50 154 CRT_init_critical_section_004c7c50 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C7CF0 95 STL_init_rbtree_sentinel_004c7cf0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004C7D50 194 CRT_init_linked_list_and_vector_004c7d50 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C82D0 154 CRT_init_critical_section_004c82d0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004C8370 194 CRT_init_linked_list_and_vector_004c8370 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004C88F0 154 CRT_init_critical_section_004c88f0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup 0x004C8E40 154 CRT_init_critical_section_004c8e40 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C8F40 154 CRT_init_critical_section_004c8f40 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9040 154 CRT_init_critical_section_004c9040 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9140 154 CRT_init_critical_section_004c9140 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9240 154 CRT_init_critical_section_004c9240 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9340 154 CRT_init_critical_section_004c9340 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9440 154 CRT_init_critical_section_004c9440 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9540 154 CRT_init_critical_section_004c9540 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9640 154 CRT_init_critical_section_004c9640 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9740 154 CRT_init_critical_section_004c9740 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9840 154 CRT_init_critical_section_004c9840 crt Initializes render state list/tree with alloc and atexit cleanup 0x004C9940 154 CRT_init_critical_section_004c9940 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup 0x004C9E90 154 CRT_init_critical_section_004c9e90 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup 0x004CA3E0 154 CRT_init_critical_section_004ca3e0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup 0x004CA930 154 CRT_init_critical_section_004ca930 crt Initializes render state list/tree with alloc and atexit cleanup 0x004CAA30 154 CRT_init_critical_section_004caa30 crt Initializes render state list/tree with alloc and atexit cleanup 0x004CAB30 154 CRT_init_critical_section_004cab30 crt Initializes render state list/tree with alloc and atexit cleanup 0x004CAC30 154 CRT_init_critical_section_004cac30 crt Initializes render state list/tree with alloc and atexit cleanup 0x004CAD30 154 CRT_init_critical_section_004cad30 crt Initializes render state list/tree with alloc and atexit cleanup 0x004CAE30 154 CRT_init_critical_section_004cae30 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CAED0 194 CRT_init_linked_list_and_vector_004caed0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CB460 154 CRT_init_critical_section_004cb460 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CB500 95 STL_init_rbtree_sentinel_004cb500 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and registers atexit cleanup 0x004CBA10 154 CRT_init_critical_section_004cba10 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CBAB0 194 CRT_init_linked_list_and_vector_004cbab0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CC030 154 CRT_init_critical_section_004cc030 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CC0D0 95 STL_init_rbtree_sentinel_004cc0d0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004CC130 194 CRT_init_linked_list_and_vector_004cc130 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CC6B0 154 CRT_init_critical_section_004cc6b0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CC750 95 CRT_init_STL_map_singleton_004cc750 crt CRT static init: allocates 0x18-byte STL map/set node (self-referential head node), registers atexit handler to destroy it. Not a critical section init. 0x004CC7F0 69 STL_register_atexit_destroy_json_stream_004cc7f0 stl Static init: registers atexit handler to destroy JSON filestream and associated string. No allocation, only cleanup registration. 0x004CC840 194 CRT_init_linked_list_and_vector_004cc840 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CCDC0 154 CRT_init_critical_section_004ccdc0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CCE60 95 STL_init_rbtree_sentinel_004cce60 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004CCEC0 194 CRT_init_linked_list_and_vector_004ccec0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CD440 154 CRT_init_critical_section_004cd440 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CD4E0 95 STL_init_rbtree_sentinel_004cd4e0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004CD540 194 CRT_init_linked_list_and_vector_004cd540 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CDAC0 154 CRT_init_critical_section_004cdac0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CDB60 95 STL_init_rbtree_sentinel_004cdb60 stl Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CE070 154 CRT_init_critical_section_004ce070 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CE110 194 CRT_init_linked_list_and_vector_004ce110 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CE690 154 CRT_init_critical_section_004ce690 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CE730 95 STL_init_rbtree_sentinel_004ce730 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer (parent/left/right all point to self) and registers atexit destructor to free it. 0x004CEC40 154 CRT_init_critical_section_004cec40 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CECE0 95 STL_init_rbtree_sentinel_004cece0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004CED40 194 CRT_init_linked_list_and_vector_004ced40 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CF2C0 154 CRT_init_critical_section_004cf2c0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CF360 95 STL_init_rbtree_sentinel_004cf360 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004CF3C0 194 CRT_init_linked_list_and_vector_004cf3c0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CF940 154 CRT_init_critical_section_004cf940 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004CF9E0 95 STL_init_rbtree_sentinel_004cf9e0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004CFA40 194 CRT_init_linked_list_and_vector_004cfa40 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004CFFC0 154 CRT_init_critical_section_004cffc0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004D0060 95 STL_init_rbtree_sentinel_004d0060 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004D00C0 194 CRT_init_linked_list_and_vector_004d00c0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004D0640 154 CRT_init_critical_section_004d0640 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004D06E0 95 STL_init_rbtree_sentinel_004d06e0 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004D0760 194 CRT_init_linked_list_and_vector_004d0760 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004D0CE0 154 CRT_init_critical_section_004d0ce0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004D0D80 95 STL_init_rbtree_sentinel_004d0d80 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004D0DE0 194 CRT_init_linked_list_and_vector_004d0de0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004D1360 154 CRT_init_critical_section_004d1360 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004D1400 95 STL_init_rbtree_sentinel_004d1400 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004D1460 194 CRT_init_linked_list_and_vector_004d1460 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004D19E0 154 CRT_init_critical_section_004d19e0 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004D1A80 95 STL_init_rbtree_sentinel_004d1a80 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer (parent/left/right all point to self) and registers atexit destructor to free it. 0x004D1B40 154 CRT_init_critical_section_004d1b40 crt Initializes global critical section via InitializeCriticalSectionEx with atexit cleanup registration. Converts GetLastError to HRESULT on failure. 0x004D1C40 154 CRT_init_critical_section_004d1c40 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004D1CE0 194 CRT_init_linked_list_and_vector_004d1ce0 crt Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit 0x004D2260 154 CRT_init_critical_section_004d2260 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004D2300 95 STL_init_rbtree_sentinel_004d2300 stl Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit 0x004D2360 247 CRT_init_tls_xor_decrypt_004d2360 crt CRT init: Initializes TLS field at offset 0x108d8 with XOR-encrypted buffer, registers TLS destructor. Decrypts on first use via xor_decrypt_buffer. 0x004D2910 154 CRT_init_critical_section_004d2910 crt Initializes global critical section via InitializeCriticalSectionEx with atexit 0x004D2A70 137 CRT_time_put_wchar_ctor_004d2a70 crt Constructor for std::time_put facet. Initializes Cvtvec conversion info, then duplicates wide day names, month names, and AM/PM strings from _Locinfo into facet fields at offsets +8, +0xC, +0x10. 0x004D2B00 137 CRT_time_put_wchar_copy_ctor_004d2b00 crt Copy constructor for std::time_put facet. Same initialization as primary ctor: copies Cvtvec data and duplicates wide day/month/AM-PM strings from _Locinfo. 0x004D2B90 76 CRT_strdup_with_calloc crt Duplicates null-terminated char string using calloc and memcpy 0x004D2BE0 89 CRT_locale_facet_free_buffer crt Frees buffer at param_1[0] and zeroes length fields at [1] and [2] 0x004D2C40 102 CRT_locale_facet_free_wbuffer crt Frees wchar buffer at offset 0x20 and zeroes length fields 0x004D2CB0 20 _AtlInitializeCriticalSectionEx game_core ATL wrapper around InitializeCriticalSectionEx. Returns the BOOL result directly. 0x004D2CD0 21 CRT_raise_exception_wrapper crt Wrapper calling RaiseException with given code and flags, no arguments 0x004D2CF0 81 CRT_wcsdup_with_calloc crt Duplicates null-terminated wchar_t string using calloc and memcpy 0x004D2D50 31 CRT_validate_timeout_threshold crt Returns 5 if timeout exceeds 10000000 ticks, else returns 0 0x004D2D70 229 xxhash_murmurhash3_mix64 game_core MurmurHash3-style 64-bit mix processing 8 bytes per iteration 0x004D2F60 229 xxhash_murmurhash3_mix128 game_core MurmurHash3-style 128-bit mix returning 8-byte result 0x004D3150 43 XXH128_hash_from_canonical game_core Converts canonical big-endian form to XXH128 hash value 0x004D3180 91 XXH128_canonicalize_from_hash game_core Converts XXH128 hash to canonical big-endian byte order 0x004D31E0 158 XXH128_compare game_core Compares two 128-bit XXH hash values, returns -1/0/1 0x004D3280 47 XXH128_bswap_copy game_core Byte-swaps and copies 128-bit hash value between buffers 0x004D32B0 102 XXH128_is_equal game_core Tests equality of two 128-bit hash values, returns 0 or 1 0x004D3320 198 XXH32_hash_buffer security XXH32 hash function for arbitrary-length input buffer 0x004D33F0 15 XXH32_canonicalize security Converts 32-bit hash to canonical big-endian byte order 0x004D3400 33 XXH3_state_copy_48bytes security Copies 48-byte (12 dwords) XXH3 state structure 0x004D3440 76 XXH3_state_finalize_digest security Finalizes XXH3 streaming state and produces hash digest 0x004D3490 131 XXH32_finalize_tail security Processes remaining tail bytes for XXH32 hash with avalanche mixing 0x004D3520 19 XXH_free_state game_core Frees XXH hash state buffer and returns 0 0x004D3540 12 XXH32_read_canonical security Reads and byte-swaps 32-bit canonical hash value 0x004D3550 102 XXH3_state_reset_with_seed security Resets XXH3 state with initial seed and prime constants 0x004D35C0 413 XXH3_state_update security Updates XXH3 streaming hash state with input data block 0x004D3760 2736 XXH3_128bit_hash security Computes XXH3 128-bit hash of input buffer with default secret 0x004D48E0 44 XXH3_state_reset_default security Resets XXH3 hash state with default secret key at DAT_010d4c40 0x004D4910 55 XXH3_state_reset_custom_secret security Resets XXH3 hash state with custom secret, validates min 136 bytes 0x004D4950 69 XXH3_state_reset_with_seed_secret security Resets XXH3 hash state with seed and custom secret, min 136 bytes 0x004D49A0 193 XXH3_state_reset_rekeyed security Resets XXH3 hash state with new seed, re-derives internal keys 0x004D56F0 1 stub_ret_004d56f0 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004D6C29 1 stub_ret_004d6c29 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004D71CE 1 stub_ret_004d71ce game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004D7290 1 stub_ret_004d7290 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004D7334 1 stub_ret_004d7334 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004D7930 2932 XXH3_128bit_hash_with_seed security Computes XXH3 128-bit hash with seed using length-dependent paths 0x004D84B0 1619 XXH3_64bit_hash_default security Computes XXH3 64-bit hash with default secret key 0x004D9120 44 XXH3_64bit_state_reset_default security Resets XXH3 64-bit hash state with default secret 0x004D9150 55 XXH3_64bit_state_reset_custom security Resets XXH3 64-bit hash state with custom secret, min 136 bytes 0x004D9190 69 XXH3_64bit_state_reset_seeded security Resets XXH3 64-bit state with seed and custom secret, min 136 bytes 0x004D91E0 193 XXH3_64bit_state_reset_rekeyed security Resets XXH3 64-bit state with new seed, re-derives internal keys 0x004D9F30 1 stub_ret_004d9f30 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004DB600 1818 XXH3_64bit_hash_with_seed security Computes XXH3 64-bit hash with seed using length-dependent paths 0x004DBD20 166 XXH3_accumulate_stripe_128 security Accumulates one 64-byte stripe into XXH3 128-bit accumulator state 0x004DBDD0 22 XXH3_copy_state_576bytes security Copies 576-byte (0x90 dwords) XXH3 internal state structure 0x004DBE30 30 XXH3_free_aligned_buffer security Frees aligned buffer using stored offset byte before pointer 0x004DBE50 401 XXH3_encrypt_buffer_ctr security XOR-encrypts buffer using XXH3 128-bit hash in CTR mode 0x004DC090 1041 XXH3_128bit_hash_long_internal security Internal XXH3 128-bit hash for inputs >= 241 bytes with striping 0x004DC930 2230 XXH3_128bit_hash_long_seeded security XXH3 128-bit hash for long inputs >= 241 bytes with seed 0x004DD1F0 978 XXH3_64bit_hash_long_default security XXH3 64-bit hash for long inputs >= 241 bytes with default secret 0x004DDA00 2054 XXH3_64bit_hash_long_seeded security XXH3 64-bit hash for long inputs >= 241 bytes with seed 0x004DE210 88 XXH3_derive_secret_from_seed security Derives custom secret by adding seed pair to default secret (DAT_010d4c40). Iterates 12 times over 16-byte blocks, adding +seed to first 8 bytes and -seed to second 8 bytes of each block. 0x004DE270 1457 XXH3_128bit_hash_medium security XXH3 128-bit hash for medium inputs 129-240 bytes 0x004DE830 629 XXH3_64bit_hash_medium security XXH3 64-bit hash for medium inputs 129-240 bytes 0x004DEAB0 235 XXH3_scramble_accumulator security Scrambles XXH3 accumulator state with secret key material 0x004DEBA0 204 XXH3_init_custom_secret security Initializes XXH3 custom secret from base secret and seed pair 0x004DEC70 115 XXH3_len4to8_64bit security XXH3 64-bit hash specialized for 4-8 byte inputs 0x004DECF0 206 XXH3_mix16bytes_seed security Mixes 16 bytes of input with secret and seed for XXH3 0x004DEDC0 850 XXH3_mix16bytes_accumulate security Accumulates 16-byte input block into XXH3 hash state 0x004DF120 77 XXH64_avalanche security XXH64 avalanche finalization step. Applies three rounds of multiply-shift-xor mixing to produce the final hash value. 0x004DF170 23 XXH64_canonicalize security Converts 64-bit hash value to canonical big-endian byte order. Byte-swaps both 32-bit halves and stores them in reversed order for network-portable representation. 0x004DF190 59 XXH64_state_copy_88bytes security Copies 88 bytes (22 uint32 fields) from source struct to destination struct. Used for XXH64 state copy operations. 0x004DF1E0 530 XXH64_avalanche_step3 security Third step of XXH64 avalanche hash finalization 0x004DF400 413 XXH3_len1to3_64bit security XXH3 64-bit hash specialized for 1-3 byte inputs 0x004DF5A0 19 free_and_return_zero stl Frees a heap-allocated block and returns 0. Simple cleanup helper. 0x004DF5C0 17 bswap64_from_two_uint32 game_core 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). 0x004DF5E0 144 XXH3_init_custom_secret_from_seed security Initializes an XXH3 custom secret array (80 bytes / 20 uint32s) from a seed value. Applies seed offsets derived from XXH prime constants (0xc2b2ae3d, 0x27d4eb4f, 0x9e3779b1, 0x85ebca87) to generate 5 64-bit secret segments. 0x004DF670 61 XXH64_round security XXH64 round function. Multiplies input by PRIME2, adds to accumulator, rotates left by 31, then multiplies by PRIME1. 0x004DF6B0 557 XXH64_update security XXH64 streaming update: processes input data in 32-byte blocks using XXH64_round on 4 accumulator lanes. Buffers incomplete blocks for later processing. Standard XXH64 update implementation. 0x004DF8F0 19 store_uint64_as_two_uint32 game_core Simple 8-byte store: writes two uint32 values (param_2 and param_3) to the location pointed to by param_1. 0x004DF910 153 STL_json_token_ctor_type5_with_seed stl JSON token constructor (type=5): moves string from param_2 into token, stores flag byte from param_4, copies 8-byte value from param_3. Uses SEH frame for exception safety. 0x004DF9B0 532 STL_basic_istringstream_ctor stl Constructs a basic_istringstream object: initializes basic_ios, basic_istream with internal basic_streambuf, allocates 16KB buffer, sets up JSON parser and vtable pointers. 0x004DFBD0 157 STL_json_token_ctor_type2 stl JSON token constructor: initializes token with type=2, moves string from param_2, copies 8 bytes from param_3, and stores a flag byte from param_4. 0x004DFC70 157 STL_json_token_ctor_type3 stl JSON token constructor: initializes token with type=3, moves string from param_2, copies 8 bytes from param_3, and stores a flag byte from param_4. 0x004DFD10 149 STL_json_token_ctor_type1 stl JSON token constructor: initializes token with type=1, moves string from param_2, stores two flag bytes from param_3 and param_4. 0x004DFDB0 178 STL_json_token_ctor_type8_with_string stl JSON token constructor: initializes token with type=8, moves string from param_2, stores flag byte from param_5, allocates a string node using param_4 values and param_6. 0x004DFE70 177 STL_json_token_ctor_type17_with_string stl JSON token constructor: initializes token with type=0x1108 (17 with flags), moves string from param_2, allocates a string node using param_4 and param_5 values and param_6. 0x004DFF30 151 STL_json_token_ctor_type4 stl JSON token constructor: initializes token with type=4, moves string from param_2, stores flag byte from param_5 and 2-byte value from param_4. 0x004DFFD0 301 STL_json_token_ctor_type9_with_flatten stl JSON token constructor: initializes token with type=9, moves string from param_2, stores flag byte from param_4, then calls stringbuf seekoff and json flatten_recursive for nested value processing. 0x004E0100 194 STL_json_token_ctor_type11_with_seekpos stl JSON token constructor: initializes token with type=11, moves string from param_2, stores flag byte from param_4, then calls stringbuf seekpos and json object destroy for cleanup. 0x004E01D0 151 STL_json_token_ctor_with_string_value stl JSON token constructor: moves string from param_2 into token, then calls json_value_construct_string with param_3, param_4, param_5 to initialize the string value. 0x004E0270 290 STL_json_out_of_range_exception_ctor stl Constructs a JSON out_of_range exception: sets up vtable chain for exception hierarchy, copies "Key not found" message, initializes two std::string members via UTF-8 multibyte decode. 0x004E03C0 277 STL_json_type_error_exception_ctor stl Constructs a JSON type_error exception: sets up vtable chain, copies "Attempting to access a member of" error message, initializes two std::string members via UTF-8 multibyte decode. 0x004E0500 87 STL_regex_node_ctor stl Regex node constructor: initializes vtable pointer from PTR_STL_regex_node_vtable_init, sets self-referencing pointer at offset 0x24. SEH frame setup. 0x004E0560 98 STL_json_error_code_pair_ctor stl Constructs a JSON error code pair: initializes two fields to 0, delegates to STL_json_make_error_code_pair to produce the pair from param_2. 0x004E05D0 98 STL_json_error_code_pair_ctor2 stl Constructs a JSON error code pair (variant 2): initializes two fields to 0, delegates to STL_json_make_error_code_pair2 to produce the pair from param_2. 0x004E0640 178 STL_json_node_singleton_accessor stl Thread-safe singleton accessor for a JSON node object at DAT_01387228. Uses init_thread_header/epoch_counter pattern for one-time initialization with atexit cleanup registration. 0x004E0700 150 STL_strtod_locale_wrapper stl Wrapper around _strtod_l: converts string to double using locale from param_1. Throws JSON parse_error exception with "Convert string to double failed" message on failure. 0x004E07A0 49 _Allocate_manually_vector_aligned game_core Allocates memory with 32-byte alignment for SIMD vector operations. Adds 0x23 bytes padding, aligns, and stores original pointer at offset -4. 0x004E07E0 384 STL_sort_merge_with_buffer_0x28_elements stl Merge sort helper with temporary buffer for 0x28-byte elements keyed by std::string. Handles rotation and uninitialized_move operations to merge two sorted ranges. Delegates to STL_rotate/STL_uninitialized_move helpers. 0x004E0960 428 STL_sort_merge_upper_bound_0x28_elements stl Binary search (upper_bound) within a merge sort for 0x28-byte string-keyed elements. Finds the insertion point using _Traits_compare on embedded std::string keys, then delegates to sort_merge_with_buffer. 0x004E0B10 842 STL_sort_inplace_merge_0x28_string_keyed stl In-place merge for 0x28-byte string-keyed elements. Handles special cases (single element, empty ranges), uses _Traits_compare for string comparison, calls rotate/forward/backward merge helpers. Part of stable_sort implementation. 0x004E0E60 99 STL_sort_merge_dispatch_0x28_string_keyed stl Merge dispatch for 0x28-byte string-keyed elements: selects between forward partition, reverse partition, or upper-bound merge based on relative sizes of the two ranges to merge. 0x004E0ED0 450 STL_stable_sort_0x28_string_keyed stl Stable sort (merge sort) for 0x28-byte elements keyed by std::string. Uses insertion sort for chunks <= 32, then iterative bottom-up merge with temporary buffer allocation. Handles buffer cleanup after merge passes. 0x004E10A0 409 STL_rotate_merge_0x28_elements stl Rotate-merge for 0x28-byte elements: merges two adjacent sorted ranges using rotation when buffer is insufficient. Falls back to element-by-element reverse_swap when ranges are small enough. Returns new midpoint. 0x004E1240 318 STL_merge_sorted_chunks_0x28_string_keyed stl Merges sorted chunks of 0x28-byte string-keyed elements by interleaving from two sorted input ranges. Swaps elements in-place using json_variant_move, delegates remaining tail via rotate_forward. 0x004E1380 314 STL_regex_mismatch_search_with_transform stl Regex mismatch search with locale transform: iterates two char ranges in parallel, applies locale facet character transformation (collation) to each char before comparing. Stores mismatch point in param_1. 0x004E14C0 75 STL_regex_mismatch_search_case_sensitive stl STL template instantiation: STL regex mismatch search case sensitive 0x004E1510 119 STL_regex_mismatch_search_case_insensitive stl STL template instantiation: STL regex mismatch search case insensitive 0x004E1590 319 STL_regex_mismatch_search_with_collate stl Regex mismatch search with collation transform: applies locale facet transformation to both characters before comparing. Similar to the transform variant but applies transform to both sides independently. Stores mismatch point in param_1. 0x004E16D0 80 STL_regex_range_match_case_sensitive stl STL template instantiation: STL regex range match case sensitive 0x004E1720 129 STL_regex_range_match_case_insensitive stl STL template instantiation: STL regex range match case insensitive 0x004E17B0 499 STL_regex_compile_pattern stl Regex pattern compile helper: compares two character ranges with multiple comparison modes selected by flags. Flag 0x100 = case-insensitive via tolower; flag 0x800 = locale collation transform; default = direct comparison. Stores mismatch point in param_1. 0x004E19B0 513 STL_regex_compile_wchar stl Wide-char regex pattern compile helper: same as STL_regex_compile_pattern but for wide character (wchar_t) regex processing. Supports case-insensitive (0x100), collation (0x800), and direct comparison modes. 0x004E1BC0 34 STL_memcpy_range_004e1bc0 stl Raw memory range copy: memcpy(dst, src, end-src), returns pointer past copied data. Used as uninitialized_copy for trivially-copyable types. 0x004E1BF0 34 STL_memcpy_range_004e1bf0 stl Raw memory range copy: memcpy(dst, src, end-src), returns pointer past copied data. Used as uninitialized_copy for trivially-copyable types. 0x004E1C20 34 STL_memcpy_range_004e1c20 stl Raw memory range copy: memcpy(dst, src, end-src), returns pointer past copied data. Used as uninitialized_copy for trivially-copyable types. 0x004E1C50 34 STL_memcpy_range_004e1c50 stl Raw memory range copy: memcpy(dst, src, end-src), returns pointer past copied data. Used as uninitialized_copy for trivially-copyable types. 0x004E1C80 34 STL_memcpy_range_004e1c80 stl Raw memory range copy: memcpy(dst, src, end-src), returns pointer past copied data. Used as uninitialized_copy for trivially-copyable types. 0x004E1CB0 34 STL_memcpy_range_004e1cb0 stl Raw memory range copy: memcpy(dst, src, end-src), returns pointer past copied data. Used as uninitialized_copy for trivially-copyable types. 0x004E1CE0 34 STL_memcpy_range_004e1ce0 stl Raw memory range copy: memcpy(dst, src, end-src), returns pointer past copied data. Used as uninitialized_copy for trivially-copyable types. 0x004E1D10 104 STL_destroy_json_value_range_004e1d10 stl Range destructor for 0x28-byte JSON value elements: iterates [param_1, param_2) in 0x28 steps, calling json_value_heap_dealloc + string_dtor on each. 0x004E1D80 104 STL_destroy_json_value_range_004e1d80 stl Range destructor for 0x28-byte JSON value elements: iterates [param_1, param_2) in 0x28 steps, calling json_value_deep_destroy + string_dtor on each. 0x004E1DF0 264 STL_vector_insert_grow_004e1df0 stl Vector insert with reallocation: grows vector capacity (1.5x), inserts single byte element at position param_2, copies existing elements around insertion point. Returns pointer to inserted element. 0x004E1F20 275 STL_vector_emplace_0x10_004e1f20 stl Vector emplace with reallocation for 0x10-byte elements: grows capacity (1.5x), constructs element at position via json_value_destroy_by_type, relocates existing elements. Returns pointer to new element. 0x004E2060 334 STL_vector_emplace_0x28_004e2060 stl Vector emplace with reallocation for 0x28-byte elements: grows capacity (1.5x), constructs element via XXH3_hashLong call, relocates existing elements. Returns pointer to new element. 0x004E21E0 334 STL_vector_0x28_emplace_with_5arg_ctor stl Vector emplace for 0x28-byte elements. Grows vector with 1.5x strategy (max 0x6666666), allocates new buffer, constructs element via 5-arg constructor, relocates existing elements around insertion point. 0x004E2360 334 STL_vector_0x28_emplace_with_5arg_ctor_v2 stl Vector emplace for 0x28-byte elements (variant 2). Same 1.5x growth pattern, different inner constructor than v1. 0x004E24E0 334 STL_vector_0x28_emplace_with_5arg_ctor_v3 stl Vector emplace for 0x28-byte elements (variant 3). Same 1.5x growth pattern, different inner constructor. 0x004E2660 340 STL_vector_0x28_emplace_with_7arg_ctor stl Vector emplace for 0x28-byte elements with 7-arg constructor. Same 1.5x growth, larger element initialization. 0x004E27E0 340 STL_vector_0x28_emplace_with_7arg_ctor_v2 stl Vector emplace for 0x28-byte elements with 7-arg constructor (variant 2). 0x004E2960 337 STL_vector_0x28_emplace_with_6arg_ctor stl Vector emplace for 0x28-byte elements with 6-arg constructor. 0x004E2AE0 337 STL_vector_0x28_emplace_with_6arg_ctor_v2 stl Vector emplace for 0x28-byte elements with 6-arg constructor (variant 2). 0x004E2C60 337 STL_vector_0x28_emplace_with_6arg_ctor_v3 stl Vector emplace for 0x28-byte elements with 6-arg constructor (variant 3). 0x004E2DE0 337 STL_vector_0x28_emplace_with_6arg_ctor_v4 stl Vector emplace for 0x28-byte elements with 6-arg constructor (variant 4). 0x004E2F60 455 STL_vector_0x10_emplace_with_4arg_ctor stl Vector emplace for 0x10-byte elements. Uses aligned allocation (0x20 alignment for >0x1000 byte buffers). 1.5x growth with max 0xfffffff elements. 0x004E3130 339 STL_vector_0x28_emplace_with_5arg_ctor_v4 stl Vector emplace for 0x28-byte elements (variant 4). Calls different inner constructor/initializer. 0x004E32B0 330 STL_vector_0x28_emplace_with_3arg_move_ctor stl Vector emplace for 0x28-byte elements using move constructor with 3 args. Moves element data into new position after vector growth. 0x004E3430 345 STL_vector_0x14_emplace_with_copy_ctor stl Vector emplace for 0x14-byte (20-byte) elements. Copies 3 dwords + 1 byte + 1 dword into new element. Max 0xccccccc elements. 0x004E35B0 345 STL_vector_0x14_emplace_with_copy_ctor_v2 stl Vector emplace for 0x14-byte (20-byte) elements (variant 2). Same layout as v1, different callers. 0x004E3730 271 STL_vector_8byte_emplace_with_copy_ctor stl Vector emplace for 8-byte elements. Copies 2 dwords. Max 0x1fffffff elements. 0x004E3860 271 STL_vector_8byte_emplace_with_copy_ctor_v2 stl Vector emplace for 8-byte elements (variant 2). Same layout, different callers. 0x004E3990 25 STL_memset_zero_dwords stl Zeroes param_2 dwords starting at param_1 using memset. Simple memory initialization wrapper. 0x004E39B0 28 STL_fputc_wrapper stl Wrapper around fputc. Writes single character to FILE stream. Returns true if successful (not EOF). 0x004E39D0 79 STL_allocate_0x28_array_with_retry stl Allocates array of 0x28-byte elements with retry. If allocation fails, retries with halved size until success or zero. Stores pointer and count in output struct. 0x004E3A20 45 _Hash_array_representation game_core FNV-1a hash of a char array. Uses offset basis 0x811c9dc5 and prime 0x1000193. 0x004E3A70 465 STL_sort_partition_0x28_string_keyed stl Quicksort partition for array of 0x28-byte elements with embedded std::string keys. Compares using std::_Traits_compare, swaps 0x28-byte elements around pivot. Part of STL sort implementation. 0x004E3C50 569 STL_sort_partition_reverse_0x28_string_keyed stl Reverse quicksort partition for 0x28-byte string-keyed elements. Iterates backward from end, partitioning around last element as pivot. 0x004E3E90 702 STL_insertion_sort_chunked_0x28_string_keyed stl Chunked insertion sort for 0x28-byte string-keyed elements. Processes in chunks of 32 elements. For small ranges (<=32), delegates to linear insertion sort. Uses string move + compare for element placement. 0x004E4150 650 STL_insertion_sort_linear_0x28_string_keyed stl Linear insertion sort for 0x28-byte string-keyed elements. Iterates through range, finds correct position via string comparison, shifts elements to insert. Base case for small ranges in sort algorithms. 0x004E43E0 28 STL_is_null_check stl Returns true (1) if the pointed-to value is zero/null, false otherwise. Simple null/zero check. 0x004E4400 32 STL_string_range_compare_wrapper stl Wrapper that calls std::_Traits_compare on two string ranges. Computes lengths from begin/end pointers and delegates to char_traits compare. 0x004E4420 33 STL_string_range_compare_wrapper_v2 stl Wrapper that calls std::_Traits_compare on two string ranges (variant 2). Identical logic to the other wrapper. 0x004E4450 33 STL_string_range_compare_wrapper_v3 stl Wrapper that calls std::_Traits_compare on two string ranges (variant 3). Same pattern as other string range compare wrappers. 0x004E4480 135 STL_linked_list_multi_pattern_search stl STL template instantiation: STL linked list multi pattern search 0x004E4510 1664 STL_string_search_with_tolower_transform stl Complex string search with case-insensitive transform. Searches through linked list patterns, applies ctype::tolower transform to input, then uses regex/collation facet for matching. Returns true if transformed input matches target pattern. 0x004E4BA0 59 STL_char_in_range_table_check stl Checks if a character value falls within any byte-pair range in a table. Table at param_2+8 contains pairs of (low, high) bytes. Returns true if param_1 is within any [low, high] range. 0x004E4BE0 377 STL_automaton_build_transition_table stl Builds automaton transition table. Initializes bit arrays, constructs state transitions from pattern data. Uses param_2 as callback/observer, populates output structure with transition states, default values, and boundary markers. 0x004E4D60 242 STL_merge_sort_forward_0x28_string_keyed stl Forward merge sort for 0x28-byte string-keyed elements. Merges two sorted subsequences by comparing string keys and swapping 0x28-byte blocks. Calls rotate_forward for element movement. 0x004E4E60 84 STL_rotate_backward_0x28_elements stl STL template instantiation: STL rotate backward 0x28 elements 0x004E4EC0 84 STL_rotate_forward_0x28_elements stl STL template instantiation: STL rotate forward 0x28 elements 0x004E4F20 499 STL_regex_match_search_driver stl Regex match/search driver. Initializes match context with sentry, iterates through input searching for pattern matches. Uses automaton transition table built earlier. Manages match state vectors and result collection. 0x004E5120 222 STL_vector_4byte_resize_with_fill stl Vector resize with fill for 4-byte elements. Grows vector capacity with 1.5x strategy (max 0x3fffffff), fills new elements with param_3 value via memset-like fill, copies old data to new buffer. 0x004E5230 218 STL_vector_1byte_resize_with_zero_fill stl Vector resize with zero-fill for 1-byte elements. Grows with 1.5x strategy (max 0x7fffffff), zero-fills new space via memset, copies old data to new buffer. 0x004E5330 279 STL_vector_8byte_resize_with_fill stl Vector resize with fill for 8-byte elements. Grows with 1.5x strategy (max 0x1fffffff), fills new 8-byte slots, relocates existing elements. Frees old buffer with aligned deallocation. 0x004E5470 414 STL_vector_8byte_resize_with_fill_aligned stl Vector resize with fill for 8-byte elements (aligned allocation variant). Uses 0x20-byte alignment for buffers >0x1000 bytes. Same 1.5x growth, fills and copies like other resize functions. 0x004E5620 457 STL_vector_0xc_resize_with_fill_aligned stl Vector resize with fill for 0xc-byte (12-byte) elements. Uses aligned allocation for large buffers. Max 0x15555555 elements. Fills new slots and relocates existing data. 0x004E5800 322 STL_sort_insert_step_0x28_string_keyed stl Sort insertion step for 0x28-byte string-keyed elements. Moves string data out of element, finds insertion position via lower_bound search, then inserts. Part of insertion sort for string-keyed containers. 0x004E5950 323 STL_sort_insert_backward_0x28_string_keyed stl Sort insertion step with backward rotation for 0x28-byte string-keyed elements. Extracts element, rotates remaining elements backward to make room, inserts at correct sorted position. 0x004E5AA0 158 STL_merge_sort_recursive_0x28_string_keyed stl Recursive merge sort driver for 0x28-byte string-keyed elements. Splits range at midpoint, recursively sorts halves, then merges. Falls back to insertion sort for ranges <=32 elements. 0x004E5B50 133 _Traits_compare_> game_core 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_> game_core 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<> game_core 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. 0x004E5C90 153 STL_uint_to_string_buffer stl Converts unsigned integer to string buffer. Uses _UIntegral_to_buff template to write digits into local buffer, then constructs output std::string from the result. 0x004E5D30 317 STL_merge_sort_chunked_0x28_string_keyed stl Chunked merge sort for 0x28-byte string-keyed elements. Processes in chunks of 32 (0x20), uses merge step to combine sorted chunks. Manages temporary buffer with vector destroy on cleanup. 0x004E5E70 209 STL_merge_step_0x28_string_keyed stl Merge step for sort of 0x28-byte string-keyed elements. Merges two sorted subsequences [param_1,param_2) and [param_2,param_3) by comparing string keys and moving elements to output. Uses move constructors for 0x28-byte elements. 0x004E5F50 137 STL_uninitialized_move_0x28_with_cleanup stl Uninitialized move for 0x28-byte elements with cleanup. Moves elements from [param_1,param_2) to destination at param_3 using move constructors. On completion, destroys source range via cleanup function. 0x004E5FE0 123 STL_uninitialized_move_0x10_elements stl Uninitialized move for 0x10-byte elements. Moves elements from [param_1,param_2) to destination at param_3 by calling destroy-by-type on each source element. 0x10-byte stride. 0x004E6060 137 STL_uninitialized_move_0x28_with_cleanup_v2 stl Uninitialized move for 0x28-byte elements with cleanup (variant 2). Moves elements using move constructor, cleans up via destroy range function. Different cleanup path than v1. 0x004E60F0 125 STL_uninitialized_move_0x28_with_destroy stl Uninitialized move for 0x28-byte elements with vector destroy. Moves elements via move constructor, then calls vector_0x28_destroy_elements for cleanup. Used during vector reallocation. 0x004E6170 28 _Zero_range<> stl Zeroes a memory range [param_1, param_2) using memset. VS2019 library template instantiation for unsigned int pointers. 0x004E6190 28 _Zero_range<> stl Zeroes a memory range [param_1, param_2) using memset. VS2019 library template instantiation (second variant, different pointer type). 0x004E61B0 53 STL_basic_filebuf_is_open stl Returns whether basic_filebuf has an open file 0x004E61F0 39 STL_basic_filebuf_overflow stl Handles basic_filebuf overflow by flushing to file 0x004E6220 138 STL_basic_filebuf_underflow stl Handles basic_filebuf underflow by reading from file 0x004E62B0 109 STL_basic_filebuf_seekoff stl Seeks to offset in basic_filebuf file 0x004E6320 109 STL_basic_filebuf_seekpos stl Seeks to position in basic_filebuf file 0x004E6390 1052 STL_utf8_multibyte_decode_to_string stl Decodes UTF-8 multi-byte sequences from input buffer into SSO string. Uses DAT_010d4d20 lookup table for byte classification and length. Processes up to 3 bytes per character through fall-through switch cases. 0x004E67C0 255 STL_utf_codepoint_encode stl Encodes a Unicode codepoint into UTF output. Dispatches based on codepoint range: <0x80 (1 byte), <0x800 (2 bytes), <0x10000 or >0x10FFFF (3 bytes), else (4 bytes). Returns error code 4 for surrogate range (0xD800-0xDFFF). 0x004E6930 106 STL_allocate_0x10_and_copy_ctor stl Allocates a 0x10-byte object via operator_new, stores pointer at this+4, then calls json_value_array_copy_ctor to copy-construct from param_3. 0x004E69C0 106 STL_allocate_0x10_and_object_copy_ctor stl Allocates a 0x10-byte object via operator_new, stores pointer at this+4, then calls json_object_member_vector_copy_ctor to copy-construct from param_3. 0x004E6A50 113 STL_basic_stringbuf_seekoff stl Seeks to offset in basic_stringbuf 0x004E6AF0 113 STL_basic_stringbuf_seekpos stl Seeks to position in basic_stringbuf 0x004E6B90 191 STL_basic_stringbuf_pbackfail stl Handles putback failure in basic_stringbuf 0x004E6C50 843 STL_basic_istringstream_init stl Initializes basic_istringstream with string 0x004E6FA0 1053 STL_basic_ostringstream_init stl Initializes basic_ostringstream with string 0x004E73C0 193 STL_detect_bom_encoding stl Detects BOM (Byte Order Mark) encoding from input bytes. Returns encoding type: 0=no BOM, 1=UTF-8 (EF BB BF), 2=UTF-16 BE (FE FF), 3=UTF-16 LE (FF FE), 4=UTF-32 BE (00 00 FE FF), 5=UTF-32 LE (FF FE 00 00). Advances pointer past BOM. 0x004E7490 118 STL_detect_text_encoding stl Detects text encoding by examining null byte patterns. First calls BOM detection, then if no BOM found, checks for null bytes to distinguish UTF-16/32 from UTF-8/ANSI. Returns encoding type + adjusted pointer. 0x004E7510 49 STL_vector_push_back_0x10_element stl Pushes a 0x10-byte element onto a vector. If capacity available, copies via json_value_destroy_by_type and advances end pointer. Otherwise calls vector_emplace_0x10 for reallocation. 0x004E7550 85 STL_vector_emplace_back_0x14_element stl Emplaces a 0x14-byte element (3 fields + bool + pointer) onto a vector. If capacity available, copies fields inline. Otherwise calls locale_collate_hash for reallocation. 0x004E75B0 450 STL_equal_range_0x28_stride_by_string stl Binary search (equal_range) on sorted array of 0x28-byte elements keyed by SSO string at offset 0. Returns pair of iterators [lower_bound, upper_bound) for key matching param_4 string. 0x004E7780 46 STL_find_byte_in_range stl Linear search: finds first byte in [param_2, param_3) that matches *param_4. Returns pointer to found element or end iterator. 0x004E77B0 66 STL_find_string_in_0x10_stride_array stl Linear search in array of 0x10-byte elements (string ptr + length at offsets 0,4). Finds first element whose string equals param_4/param_5 using Traits_equal. Returns pointer to found element or end. 0x004E7800 763 STL_integer_to_string_append stl Converts integer to decimal string and appends digits in reverse order to SSO string param_2. Handles negative numbers. Returns length of digit sequence. 0x004E7B10 1110 STL_sorted_vector_merge_0x28_elements stl Merges elements from [param_2, param_3) into sorted vector at param_1. Each element is 0x28 bytes keyed by SSO string. Reserves capacity, appends new elements, deduplicates via string compare, then removes trailing duplicates. 0x004E7F70 165 STL_validate_utf8_byte_sequence stl Validates a UTF-8 byte sequence. Checks continuation bytes (0x80 mask), and validates code point ranges for E0, ED, F0, F4 leading bytes. Returns 0 on valid, 2 for bad continuation, 6 for invalid lead/range. 0x004E8060 8 CRT_identity_passthrough_int_004e8060 crt Returns param_1 unchanged (identity function for int) 0x004E8070 8 CRT_identity_passthrough_int_004e8070 crt Returns param_1 unchanged (identity function for int) 0x004E8080 8 CRT_identity_passthrough_int_004e8080 crt Returns param_1 unchanged (identity function for int) 0x004E8090 8 CRT_identity_passthrough_int_004e8090 crt Returns param_1 unchanged (identity function for int) 0x004E80A0 20 CRT_safe_read_dword crt Reads 4-byte value from buffer if size >= 4, else returns 0 0x004E80C0 39 CRT_safe_read_double crt Reads 8-byte double from buffer if size >= 8, else returns 0.0 0x004E80F0 25 CRT_safe_read_qword_004e80f0 crt Reads 8-byte value from buffer if size >= 8, else returns 0 0x004E8110 25 CRT_safe_read_qword_004e8110 crt Reads 8-byte value from buffer if size >= 8, else returns 0 0x004E8130 202 STL_regex_classify_char_class stl Classifies regex char class name (alnum etc) with case-insensitive compare 0x004E8200 20 STL_regex_traits_init_vtable stl Initializes regex_traits vtable at PTR_FUN_010d65b8 0x004E8220 168 STL_regex_node_allocate stl Allocates 0x18-byte regex parse tree node with vtable PTR_FUN_010d509c 0x004E82D0 650 STL_json_parser_parse_value stl JSON parser: parses a value from input. Initializes lexer, calls stringstream_init (BOM detection), then processes token stream. On success calls fda20 to finalize. On type error or parse error, constructs ios_base_failure and throws. 0x004E8560 745 STL_basic_string_read_stream stl Reads chars from input stream into std::string with capacity growth 0x004E8850 778 STL_read_stream_into_string stl Reads bytes from stream-like source (param_1 has begin/end pointers) into SSO string param_2, up to param_3 bytes. Reads in 0x4000-byte chunks. Grows string capacity as needed with SSO/heap management. 0x004E8B60 49 STL_string_append_range stl Appends a range from SSO string's internal buffer to another destination. Gets string data pointer (SSO or heap), then calls basic_istream_init with [begin, begin+length) range. 0x004E8BA0 78 STL_0x28_element_array_reverse_swap stl Reverse swap of 0x28-byte elements between two iterators converging toward the middle. Swaps 6 fields (24 bytes) plus calls lib_func_005053a0 for string field cleanup. Used in sort/partition. 0x004E8BF0 341 STL_sort_0x28_elements_merge stl Merge sort for array of 0x28-byte elements. For small arrays (<=32 elements) uses in-place sort via codecvt_do_length. For larger arrays, allocates temp buffer and uses merge via basic_istream_peek. Frees temp buffer after. 0x004E8D50 998 STL_json_variant_swap_by_type_a stl JSON variant value swap/move. Dispatches on lower nibble of type byte (*param_2 & 0xF). Handles 13 type cases (0-12): moves data from param_1 into param_2 and vice versa, with heap cleanup for types 7/8. Part of nlohmann::json variant storage. 0x004E9170 820 STL_json_variant_swap_by_type_b stl JSON variant value swap variant B. Same type-dispatch pattern as variant A but with different field layout - copies 2 bytes from param_1 (short) vs 8 bytes (2 fields + zeroing). Part of nlohmann::json variant storage. 0x004E94E0 1336 STL_json_variant_swap_by_type_c stl JSON variant value swap variant C. Type-dispatch on lower nibble, swaps variant data between param_1 and param_2 with heap cleanup for large types (7/8). Handles all 13 json value types. 0x004E9A50 753 STL_json_variant_swap_by_type_d stl JSON variant value swap variant D. Copies 16 bytes from param_1 into param_2, swaps type info from param_2 into param_1. Handles all 13 json value types via lower nibble dispatch. 0x004E9D80 752 STL_json_variant_swap_by_type_e stl JSON variant value swap variant E. 2-byte swap of type+flags from param_1/param_2, with variant-specific data movement for each of 13 json types. 0x004EA0B0 732 STL_json_variant_swap_by_type_f stl JSON variant value swap variant F. 4-byte swap of first field between param_1/param_2, with type-specific handling for all 13 json value types. 0x004EA3C0 753 STL_json_variant_swap_by_type_g stl JSON variant value swap variant G. Copies 16 bytes from param_1 into param_2, then moves param_2's old data into param_1. Handles all 13 json types with heap cleanup for types 7/8. 0x004EA6F0 849 STL_json_variant_swap_by_type_h stl JSON variant value swap variant H. Copies 8 bytes (2 fields) from param_1 into param_2, swaps type data back. Handles all 13 json types with heap cleanup. 0x004EAA80 1336 STL_json_variant_swap_by_type_i stl JSON variant value swap variant I. Sets param_2 type from param_1, swaps a 4-byte field at offset+4, then moves param_2's old type data into param_1. Handles all 13 json types. 0x004EAFF0 752 STL_json_variant_swap_by_type_j stl JSON variant value swap variant J. 2-byte type swap between param_1/param_2 with type-specific data movement. Handles all 13 json value types via lower nibble dispatch. 0x004EB320 998 STL_json_variant_swap_by_type_k stl JSON variant value swap variant K. Sets param_2 type from param_1, zeroes param_1 fields, swaps data. Handles all 13 json types with heap cleanup for types 7/8. 0x004EB740 1430 STL_json_variant_swap_by_type_l stl JSON variant value swap variant L. Copies param_1 type byte with nibble manipulation into param_2, then copies data. Handles all 13 json value types with memcpy for inline data and heap cleanup for large types. 0x004EBD10 753 STL_json_variant_swap_by_type_m stl JSON variant value swap variant M. Copies 16 bytes from param_1 into param_2, then moves param_2 old data into param_1. Handles all 13 json types with heap cleanup for types 7/8. 0x004EC040 443 STL_parse_int64_from_chars stl Parse signed 64-bit integer from char range with overflow detection 0x004EC200 409 STL_parse_uint64_from_chars stl Parse unsigned 64-bit integer from char range with overflow detection 0x004EC3A0 259 STL_bytes_to_hex_string_12 stl Convert 12 bytes to 24-char hex string using DAT_010d5c70 lookup table 0x004EC4B0 569 STL_collate_tolower_transform_004ec4b0 stl STL collate transform: tolower range then virtual transform 0x004EC6F0 569 STL_collate_tolower_transform_004ec6f0 stl STL collate transform variant: tolower range then virtual transform 0x004EC930 584 STL_collate_tolower_transform_004ec930 stl STL collate transform variant: tolower then virtual transform 0x004ECB80 244 STL_use_facet_codecvt_char stl std::use_facet> retrieves codecvt facet 0x004ECC80 432 STL_use_facet_collate_char stl std::use_facet> retrieves or creates collate facet 0x004ECE30 244 STL_use_facet_ctype_char stl std::use_facet> retrieves ctype facet from locale 0x004ECF30 247 STL_validate_utf8_sequence stl Validate UTF-8 byte sequence using length table; returns error code 0x004ED070 205 STL_basic_stringbuf_ctor_with_mode stl Construct basic_stringbuf with streambuf vtable; sets ios flags 0x004ED140 427 STL_regex_match_context_init stl Initialize regex match context: zeroes struct, sets match groups 0x004ED2F0 458 STL_basic_regex_ctor_with_flags stl Construct basic_regex with syntax flags; sets magic constants per type 0x004ED4C0 230 STL_regex_match_result_copy_ctor stl Copy construct regex match_results; deep copies sub_match vector 0x004ED5B0 497 STL_basic_ifstream_open_ctor stl Construct basic_ifstream: creates streambuf, opens file, sets codecvt 0x004ED7B0 121 STL_json_value_destroy_by_type stl Destroy JSON value by type nibble; dispatches to destroy or dealloc 0x004ED850 226 STL_json_value_construct_string stl Construct JSON string value: inline if len<14, heap if len>=14 0x004ED940 474 STL_regex_pattern_dtor stl Destruct regex pattern: resets vtable, clears 9 string members + flags 0x004EDB20 399 STL_regex_pattern_copy_ctor stl Copy construct regex pattern: copies 8 string fields + bit flags 0x004EDCB0 1062 STL_json_parser_ctor stl Construct JSON parser: init pattern, locale, token buffer, special values 0x004EE0E0 357 STL_basic_regex_compile_pattern stl Compile regex pattern from C-string; inits locale, builds NFA 0x004EE250 135 STL_string_copy_construct stl Copy construct std::string; SSO inline if len<16, heap if larger 0x004EE2E0 61 STL_string_construct_from_cstr stl Construct std::string from null-terminated C-string via strlen 0x004EE320 224 STL_json_value_array_copy_ctor stl Copy construct JSON array: allocates 16-byte value vector, deep copies 0x004EE400 305 STL_json_lexer_ctor stl Construct JSON lexer: vtable PTR_FUN_010d5e74, reserves 1000 tokens 0x004EE540 187 STL_regex_error_ctor_from_exception stl Construct regex_error from exception; vtable PTR_FUN_010d62e0 0x004EE600 203 STL_regex_error_ctor_from_string stl Construct regex_error from std::string for __std_exception_copy 0x004EE6D0 187 STL_json_parse_error_ctor_from_exception stl Construct json::parse_error; vtable PTR_FUN_010d64b4 0x004EE790 203 STL_json_parse_error_ctor_from_string stl Construct json::parse_error from std::string message 0x004EE860 143 STL_json_key_value_move_ctor stl Move construct JSON key-value pair: steals string+value from source 0x004EE8F0 263 STL_json_object_member_vector_copy_ctor stl Copy construct JSON object member vector: 0x28-byte entries 0x004EEA00 410 STL_basic_istream_with_buffer_ctor stl Construct basic_istream with internal buffer and vtable 0x004EEBA0 181 STL_vector_int_copy_ctor stl Copy construct vector of ints; allocates and memcpys array 0x004EEC60 130 STL_json_serializer_ctor stl Construct JSON serializer: vtable, init output string and indent 0x004EECF0 109 STL_basic_streambuf_locale_ctor stl Construct basic_streambuf with locale facet id 0x11 0x004EED60 124 STL_basic_streambuf_with_locale_ctor stl Construct basic_streambuf with locale param and facet id 0x10 0x004EEDE0 528 STL_json_type_error_ctor stl Construct json::type_error with error id and formatter callback 0x004EEFF0 140 STL_json_type_error_copy_ctor stl Copy construct json::type_error; copies message + error id 0x004EF080 126 STL_json_exception_copy_ctor stl Copy construct json::exception base class; vtable PTR_FUN_010d50d4 0x004EF100 143 STL_json_exception_ctor_from_string stl Construct json::exception from std::string 0x004EF190 113 STL_bad_alloc_copy_ctor stl Copy construct std::bad_alloc; vtable PTR_FUN_010d4e54 0x004EF210 126 STL_bad_array_new_length_copy_ctor stl Copy construct std::bad_array_new_length 0x004EF290 109 STL_bad_array_new_length_default_ctor stl Default construct std::bad_array_new_length with static message 0x004EF300 113 STL_bad_cast_copy_ctor stl Copy construct std::bad_cast; vtable PTR_FUN_010d4f48 0x004EF380 96 STL_bad_cast_default_ctor stl Default construct std::bad_cast with static message string 0x004EF3E0 47 STL_regex_pattern_base_dtor stl Destruct regex pattern base; resets vtable, size 0x400 0x004EF410 126 STL_runtime_error_copy_ctor stl Copy construct std::runtime_error; vtable PTR_FUN_010d4ea0 0x004EF490 89 STL_exception_copy_ctor stl Copy construct std::exception; vtable PTR_FUN_010d4e34 0x004EF4F0 126 STL_invalid_argument_copy_ctor stl Copy construct std::invalid_argument; vtable PTR_FUN_010d4eac 0x004EF580 217 STL_system_error_copy_ctor stl Copy construct std::system_error; copies exception + two strings 0x004EF660 113 STL_logic_error_copy_ctor stl Copy construct std::logic_error; vtable PTR_FUN_010d4e94 0x004EF6E0 204 STL_json_out_of_range_copy_ctor stl Copy construct json::out_of_range; vtable PTR_FUN_010d5160 0x004EF7B0 126 STL_range_error_copy_ctor stl Copy construct std::range_error; vtable PTR_FUN_010d4eb8 0x004EF830 113 STL_json_detail_exception_copy_ctor stl Copy construct json detail exception base 0x004EF8B0 164 STL_ios_base_failure_copy_ctor stl Copy construct ios_base::failure; vtable PTR_FUN_010d5180 0x004EF960 194 STL_ios_base_failure_ctor_with_type_error stl Construct ios_base::failure from type_error params 0x004EFA30 176 STL_ios_base_failure_ctor_with_code stl Construct ios_base::failure with error code params 0x004EFAE0 143 STL_json_key_value_move_ctor_004efae0 stl Move construct JSON key-value pair variant 0x004EFB70 153 STL_json_other_error_copy_ctor stl Copy construct json::other_error; copies id + formatter ptr 0x004EFC10 240 STL_json_other_error_ctor_from_type stl Construct json::other_error from type_error params 0x004EFD00 80 STL_vector_dealloc_4byte_at_offset4 stl EH cleanup wrapper: deallocates vector of 4-byte elements at object offset +4 0x004EFD50 61 STL_free_buffer_at_offset8 stl Free heap buffer stored at offset +8 of the object 0x004EFDA0 33 STL_release_streambuf_locale stl Release streambuf locale facet reference at offset +0x24 0x004EFDD0 167 STL_regex_cleanup_sequence stl Sequential cleanup: regex state dtor, string dtors 0x004EFE90 80 STL_vector_dealloc_4byte_at_offset14 stl EH cleanup wrapper: deallocates vector of 4-byte elements at object offset +0x14 0x004EFEE0 84 STL_release_locale_facet_ref stl Release locale facet ref at offset +0xC; virtual clone then dtor 0x004EFF40 99 STL_string_dtor_and_cleanup stl Destroy std::string member then call cleanup function 0x004F0040 105 STL_vector_0x28_destroy_elements stl Destroy vector of 0x28-byte elements per element 0x004F00D0 79 STL_vector_0x10_destroy_elements stl Destroy vector of 0x10-byte elements per element 0x004F0150 65 STL_vector_dealloc_4byte_wrapper_004f0150 stl EH cleanup wrapper: deallocates vector of 4-byte elements 0x004F01A0 198 STL_ifstream_full_dtor stl Full ifstream destructor: filebuf + streambuf + istream + ios 0x004F0270 99 STL_regex_state_cleanup stl Cleanup regex state: destroy match result, dealloc string 0x004F02E0 65 STL_ifstream_dtor_wrapper stl Wrapper calling full ifstream destructor 0x004F0330 111 STL_regex_state_cleanup_variant stl Cleanup regex state variant: destroy match + string + state 0x004F03A0 136 STL_filebuf_dtor stl Destruct filebuf: flushes buffers, frees conversion buffer 0x004F0430 190 STL_ifstream_vbase_dtor stl Destruct ifstream via virtual base: filebuf + streambuf + istream 0x004F04F0 235 STL_json_value_heap_dealloc stl Deallocate heap-backed JSON value by type nibble 0x004F05F0 183 STL_regex_pattern_9string_dtor stl Destroy 9 std::string members of regex pattern sequentially 0x004F06B0 193 STL_json_parser_dtor stl Destruct JSON parser: frees locale, destroys vectors + pattern 0x004F0780 89 STL_json_parser_and_stream_dtor stl Destroy JSON parser then associated input stream 0x004F07F0 115 STL_regex_state_release_and_cleanup stl Release regex NFA state via vtable+8 then virtual destroy 0x004F0870 5 STL_string_dtor stl std::string destructor: frees heap buffer if capacity > 0xF (SSO threshold), resets length=0, capacity=0xF 0x004F0880 92 STL_release_streambuf_locale_wrapper stl Release streambuf locale at offset +0x24 via dtor 0x004F08E0 84 STL_json_object_ordered_map_dtor stl Destroy JSON ordered_map: key-value pairs then storage 0x004F0940 111 STL_json_value_full_dtor stl Full JSON value destructor: containers, strings, heap deallocs 0x004F09B0 147 STL_istream_chain_dtor stl Destroy istream chain: streambuf + istream + ios 0x004F0A50 86 STL_json_member_dtor_and_dealloc stl Destroy single JSON member then deallocate 0x004F0AB0 68 STL_json_serializer_dtor_wrapper stl Wrapper calling JSON serializer destructor 0x004F0B00 84 STL_release_locale_facet_ref_wrapper stl Release locale facet ref at +0xC; virtual clone+destroy 0x004F0B60 285 STL_json_object_destroy_nonempty_values stl Iterate JSON object; recursively destroy nested values 0x004F0CA0 137 STL_istream_chain_dtor_variant stl Destroy istream chain variant with cleanup 0x004F0D30 137 STL_istream_chain_dtor_variant2 stl Destroy istream chain variant2 with string dtor 0x004F0DC0 103 STL_dealloc_heap_string_small stl Deallocate small heap string: size = *(ptr+8) + 0x10 0x004F0E30 103 STL_dealloc_heap_string_large stl Deallocate large heap string: size = *(ptr+8) + 0x20 0x004F0EC0 5 STL_vector_dealloc_raw_buffer stl Thunk to STL_lib_func_004f9500: deallocates raw byte vector buffer 0x004F0ED0 5 STL_vector_dealloc_raw_buffer_v2 stl Thunk to STL_lib_func_004f9590: deallocates raw byte vector buffer 0x004F0EE0 5 STL_vector_dealloc_4byte_elements stl STL template instantiation: STL vector dealloc 4byte elements 0x004F0EF0 129 STL_vector_dealloc_0x10_elements stl Deallocate vector of 0x10-byte elements; frees buffer 0x004F0F90 129 STL_vector_dealloc_8byte_elements stl Deallocate vector of 8-byte elements; frees buffer 0x004F1020 151 STL_vector_dealloc_0x14_elements stl Deallocate vector of 0x14-byte elements; frees buffer 0x004F10C0 166 STL_vector_dealloc_0x28_elements stl Deallocate vector of 0x28-byte elements; destroys+frees 0x004F1170 129 STL_vector_dealloc_8byte_elements_004f1170 stl Deallocate vector of 8-byte elements variant 0x004F1220 150 STL_vector_dealloc_0xc_elements stl Deallocate vector of 0xC-byte elements; frees buffer 0x004F12C0 126 STL_vector_dealloc_raw_bytes stl Deallocate raw byte vector; frees buffer and zeros ptrs 0x004F1350 65 STL_vector_dealloc_4byte_wrapper_004f1350 stl EH cleanup wrapper: deallocates vector of 4-byte elements 0x004F13A0 93 STL_json_serializer_dtor stl Destruct JSON serializer: dealloc string + value 0x004F1410 78 STL_exception_dtor_004f1410 stl Destruct std::exception; resets vtable + __std_exception_destroy 0x004F1470 108 STL_json_value_destroy_ordered_map_node stl Destroy JSON ordered_map node, frees 0x10 bytes 0x004F14E0 78 STL_exception_dtor_004f14e0 stl Destruct std::exception variant 0x004F1530 78 STL_exception_dtor_004f1530 stl Destruct std::exception variant 0x004F1580 78 STL_exception_dtor_004f1580 stl Destruct std::exception variant 0x004F15D0 78 STL_exception_dtor_004f15d0 stl Destruct std::exception variant 0x004F1630 115 STL_dealloc_json_string_heap_large stl Deallocate large JSON heap string at offset +4 0x004F16B0 60 STL_free_locale stl Free CRT locale object via _free_locale 0x004F1700 78 STL_exception_dtor_004f1700 stl Destruct std::exception; resets vtable + __std_exception_destroy 0x004F1760 67 STL_exception_dtor_004f1760 stl Destruct std::exception; resets vtable + __std_exception_destroy 0x004F17B0 78 STL_exception_dtor_004f17b0 stl Destruct std::exception; resets vtable + __std_exception_destroy 0x004F1810 142 STL_system_error_dtor stl Destruct system_error: destroys two string members + exception base 0x004F18C0 78 STL_exception_dtor_004f18c0 stl Destruct std::exception; resets vtable + __std_exception_destroy 0x004F1910 115 STL_dealloc_json_string_heap_small stl Deallocate small JSON heap string at offset +4 0x004F1990 142 STL_json_out_of_range_dtor stl Destruct json::out_of_range: destroys two strings + base 0x004F1A20 66 STL_basic_streambuf_dtor_wrapper stl Wrapper calling basic_streambuf destructor 0x004F1A70 78 STL_json_object_node_destroy_and_free stl Destroy JSON object node recursively then free 0x004F1AD0 78 STL_exception_dtor_004f1ad0 stl Destruct std::exception; resets vtable + __std_exception_destroy 0x004F1B20 78 STL_exception_dtor_004f1b20 stl Destruct std::exception; resets vtable + __std_exception_destroy 0x004F1B80 78 STL_exception_dtor_004f1b80 stl Destruct std::exception; resets vtable + __std_exception_destroy 0x004F1BD0 117 STL_vector_copy_assign_004f1bd0 stl Copy-assign vector contents: copies vtable ptr, then memcpys element data from source to dest, growing buffer if needed 0x004F1C50 106 STL_regex_match_results_copy_assign stl Copy-assign regex match_results: copies primary vector via STL_vector_copy_assign, then copies secondary 8-byte element vector at offset +0x14 0x004F1CC0 20 STL_string_c_str_plus_offset stl Returns pointer to string's raw character data plus an offset. Handles SSO: if capacity >= 16, dereferences heap pointer; otherwise uses inline buffer 0x004F1CE0 33 STL_function_call_or_throw_bad_function stl Invokes std::function callable at offset +0x24 via its vtable. Throws std::_Xbad_function_call if no callable is stored 0x004F1D10 92 STL_deque_iterator_advance stl Advance a deque bit-iterator by param_2 positions. Handles forward and backward movement with 32-element block stride 0x004F1D70 199 STL_istringstream_dtor stl Destructor for std::istringstream. Resets stringbuf vtable, optionally flushes buffer, destroys streambuf, istream, and basic_ios bases 0x004F1E50 107 STL_istringstream_base_dtor stl Base destructor for istringstream: destroys streambuf at +0x10, istream at +0x18, basic_ios at +0x50 0x004F1EC0 111 STL_runtime_error_derived_dtor_004f1ec0 stl Destructor for a class derived from std::runtime_error. Resets derived vtable + virtual base offset, then destroys exception base 0x004F1F30 111 STL_runtime_error_derived_dtor_004f1f30 stl Destructor for a class derived from std::runtime_error (different vtable variant). Resets derived vtable + virtual base offset, then destroys exception base 0x004F1FA0 142 STL_system_error_dtor_004f1fa0 stl Destructor for std::system_error: destroys two string members + exception base via __std_exception_destroy. Same pattern as STL_system_error_dtor 0x004F2030 142 STL_json_out_of_range_dtor_variant stl Destruct json::out_of_range variant 0x004F20C0 97 STL_exception_with_string_dtor_004f20c0 stl Destructor for exception subclass with a string member. Destroys the string, then resets vtable and calls __std_exception_destroy 0x004F2170 264 STL_regex_builder_scalar_deleting_dtor stl Scalar deleting destructor for regex builder/compiler. Frees linked list of pattern nodes (with C strings), match buffer, two additional buffers, and a second node list. Optionally deletes self (0x2c bytes) 0x004F2280 110 STL_regex_node_scalar_deleting_dtor stl Scalar deleting destructor for a regex node. Frees a C string buffer at offset +0x1c, optionally deletes self (0x20 bytes) 0x004F22F0 38 STL_ifstream_scalar_deleting_dtor stl Scalar deleting destructor for std::ifstream. Calls STL_ifstream_full_dtor, optionally deletes self (0x100 bytes) 0x004F2320 120 STL_json_parser_result_scalar_deleting_dtor stl Scalar deleting destructor for JSON parser result object. Destroys vector of 0x14-sized elements, string member, and base object. Optionally deletes self (0x50 bytes) 0x004F23A0 30 STL_scalar_deleting_dtor_0x10_004f23a0 stl Trivial scalar deleting destructor. No member cleanup, just optionally deletes self (0x10 bytes) 0x004F23C0 157 STL_stringbuf_scalar_deleting_dtor stl Scalar deleting destructor for stringbuf (std::basic_stringbuf). Resets vtable, optionally flushes buffer, destroys base basic_streambuf. Optionally deletes self (0x58 bytes) 0x004F2460 41 STL_istringstream_vbase_scalar_deleting_dtor stl Virtual-base scalar deleting destructor for istringstream. Calls STL_istringstream_dtor, optionally deletes self (0xb8 bytes, adjusted from vbase offset -0x70) 0x004F2490 41 STL_regex_pattern_vbase_scalar_deleting_dtor stl Virtual-base scalar deleting destructor for regex pattern. Calls STL_regex_pattern_9string_dtor, optionally deletes self (0xf0 bytes, adjusted from vbase offset -8) 0x004F24C0 38 STL_regex_pattern_scalar_deleting_dtor stl Scalar deleting destructor for regex pattern. Calls STL_regex_pattern_9string_dtor, optionally deletes self (0xe8 bytes) 0x004F24F0 38 STL_json_parser_scalar_deleting_dtor stl Scalar deleting destructor for JSON parser. Calls STL_json_parser_dtor, optionally deletes self (0x188 bytes) 0x004F2520 30 STL_scalar_deleting_dtor_0x04_004f2520 stl Trivial scalar deleting destructor. No member cleanup, just optionally deletes self (4 bytes) 0x004F2540 135 STL_istringstream_ios_scalar_deleting_dtor stl Scalar deleting destructor for istringstream from basic_ios vbase entry. Destroys streambuf, istream, and basic_ios. Optionally deletes self (0x98 bytes, adjusted from ios offset -0x50) 0x004F25D0 118 STL_codecvt_scalar_deleting_dtor stl Scalar deleting destructor for std::codecvt. Frees C string at +0xc, calls base codecvt destructor. Optionally deletes self (0x10 bytes) 0x004F2650 132 STL_json_serializer_scalar_deleting_dtor stl Scalar deleting destructor for JSON serializer. Destroys 8-byte vector, 0x28-element vector, string member, and heap-allocated JSON value. Optionally deletes self (0x50 bytes) 0x004F26E0 136 STL_runtime_error_derived_scalar_deleting_dtor_004f26e0 stl Scalar deleting destructor for runtime_error-derived class. Resets derived vtable + virtual base offset, destroys exception base. Optionally deletes self (0x18 bytes) 0x004F2770 136 STL_runtime_error_derived_scalar_deleting_dtor_004f2770 stl Scalar deleting destructor for runtime_error-derived class (different vtable variant). Resets derived vtable + virtual base offset, destroys exception base. Optionally deletes self (0x18 bytes) 0x004F2800 30 STL_scalar_deleting_dtor_0x08_004f2800 stl Trivial scalar deleting destructor. No member cleanup, just optionally deletes self (8 bytes) 0x004F2820 30 STL_json_node_scalar_deleting_dtor_004f2820 stl Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. 0x004F2840 114 STL_json_string_node_dtor_004f2840 stl Destructor for JSON string node. Destroys embedded STL string, deallocates JSON value, then conditionally frees 0x38-byte node. 0x004F28C0 30 STL_json_node_scalar_deleting_dtor_004f28c0 stl Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. 0x004F28E0 138 STL_regex_nfa_state_list_dtor_004f28e0 stl Destructor for regex NFA state with linked-list cleanup. Walks child state chain calling virtual destructors on each, then sets base vtable and optionally frees 0x18 bytes. 0x004F2970 91 STL_regex_nfa_state_dtor_004f2970 stl Regex NFA state destructor. Sets base vtable and conditionally frees 0x18 bytes. 0x004F29D0 36 STL_regex_nfa_state_base_dtor_004f29d0 stl Base regex NFA state destructor. Sets vtable and conditionally frees 0x14 bytes. This is the base class for all NFA state types. 0x004F2A00 91 STL_regex_nfa_state_dtor_004f2a00 stl Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x18 bytes. 0x004F2A60 91 STL_regex_nfa_state_dtor_004f2a60 stl Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x18 bytes. 0x004F2AC0 91 STL_regex_nfa_state_dtor_004f2ac0 stl Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x18 bytes. 0x004F2B20 91 STL_regex_nfa_state_dtor_004f2b20 stl Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x14 bytes. 0x004F2B80 193 STL_regex_nfa_group_state_dtor_004f2b80 stl Destructor for regex NFA group state. Walks a nested linked list of child states, calling virtual destructors on each sub-chain. Frees 0x1c bytes if heap-allocated. 0x004F2C50 91 STL_regex_nfa_state_dtor_004f2c50 stl Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x28 bytes. 0x004F2CB0 91 STL_regex_nfa_state_dtor_004f2cb0 stl Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x24 bytes. 0x004F2D10 103 STL_json_exception_dtor_004f2d10 stl JSON exception destructor. Destroys std::exception base, conditionally frees 0x14 bytes. 0x004F2D80 30 STL_json_node_scalar_deleting_dtor_004f2d80 stl Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. 0x004F2DA0 103 STL_json_exception_dtor_004f2da0 stl JSON exception destructor. Destroys std::exception base, conditionally frees 0xc bytes. 0x004F2E10 103 STL_json_exception_dtor_004f2e10 stl JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. 0x004F2E80 103 STL_json_exception_dtor_004f2e80 stl JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. 0x004F2EF0 103 STL_json_exception_dtor_004f2ef0 stl JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. 0x004F2F60 31 STL_regex_base_offset_scalar_deleting_dtor_004f2f60 stl Scalar deleting destructor that adjusts this pointer by -4 before deleting. Frees 0xc bytes. Used by regex/exception hierarchy with virtual base offset. 0x004F2F80 30 STL_json_node_scalar_deleting_dtor_004f2f80 stl Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. 0x004F2FA0 30 STL_json_node_scalar_deleting_dtor_004f2fa0 stl Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. 0x004F2FC0 30 STL_json_node_scalar_deleting_dtor_004f2fc0 stl Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. 0x004F2FE0 103 STL_json_exception_dtor_004f2fe0 stl JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. 0x004F3050 92 STL_json_exception_base_dtor_004f3050 stl Base JSON exception destructor. Sets vtable, destroys std::exception, conditionally frees 0xc bytes. All JSON exception types derive from this. 0x004F30C0 103 STL_json_exception_dtor_004f30c0 stl JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. 0x004F3130 30 STL_json_node_scalar_deleting_dtor_004f3130 stl Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. 0x004F3150 30 STL_regex_node_scalar_deleting_dtor_004f3150 stl Scalar deleting destructor for 4-byte regex node. Conditionally frees heap memory. 0x004F3170 163 STL_json_regex_exception_dtor_004f3170 stl Destructor for JSON regex exception (inherits from JSON exception + virtual base). Destroys two STL strings, then calls JSON exception base dtor. Frees 0x48 bytes. Adjusts virtual base pointer offsets. 0x004F3220 103 STL_json_exception_dtor_004f3220 stl JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. 0x004F3290 163 STL_json_regex_exception_dtor_004f3290 stl Destructor for JSON regex exception variant (inherits from JSON exception + virtual base). Destroys two STL strings, then calls JSON exception base dtor. Frees 0x48 bytes. 0x004F3340 91 STL_basic_streambuf_scalar_deleting_dtor_004f3340 stl Scalar deleting destructor for basic_streambuf. Calls ~basic_streambuf then conditionally frees 0x38 bytes. 0x004F33A0 103 STL_json_exception_dtor_004f33a0 stl JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. 0x004F3410 103 STL_json_exception_dtor_004f3410 stl JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. 0x004F3480 30 STL_regex_node_scalar_deleting_dtor_004f3480 stl Scalar deleting destructor for 4-byte regex node. Conditionally frees heap memory. 0x004F34A0 118 STL_json_parse_exception_dtor_004f34a0 stl Destructor for JSON parse exception. Destroys embedded STL string, then calls JSON exception base dtor. Frees 0x40 bytes. 0x004F3520 103 STL_json_exception_dtor_004f3520 stl JSON exception destructor variant. Destroys std::exception base, conditionally frees 0x14 bytes. 0x004F3590 235 STL_json_value_deep_destroy stl Deep destroy JSON value: frees strings, arrays, objects 0x004F3690 395 STL_json_value_resolve_reference_004f3690 stl Resolves a JSON reference by type. Checks if value is null or a reference type, looks up the reference path, and deep-copies the resolved value. Handles array/object/reference types (0xa, 0xb, 0xc). 0x004F3820 30 STL_json_get_value_type_clamped_004f3820 stl Gets JSON value type, clamping type 3 to type 2. Thin wrapper around type query function at 005058b0. 0x004F3840 487 STL_json_value_deep_copy stl Deep copy JSON value by type nibble; all value types handled 0x004F3A60 516 STL_json_parse_from_string_004f3a60 stl Parses a JSON/BSON document from an STL string. Uses regex to match the format pattern (json vs bson). If BSON format, delegates to BSON file parser; otherwise delegates to JSON text parser. Sets success flag at offset 0x30. 0x004F3C70 73 STL_json_parse_from_iterator_004f3c70 stl Parses JSON from an iterator range. Checks if range is empty, then delegates to either BSON stream parser or JSON stream parser based on a flag. Sets success flag at offset 0x30. 0x004F3CC0 256 STL_json_parse_bson_from_file_004f3cc0 stl Parses BSON data from a file path. Opens file as ifstream (binary mode 0x20\|0x40), reads content, parses BSON format, and stores result in the JSON document object. 0x004F3DF0 185 STL_json_parse_bson_from_stream_004f3df0 stl Parses BSON data from an iterator/stream range. Checks for empty input, then reads and parses BSON content into the JSON document object. 0x004F3ED0 314 STL_json_parse_json_from_file_004f3ed0 stl Parses JSON text from a file path. Opens file as ifstream (binary mode), reads content, applies XXH3 hash, then parses JSON text into the document object. 0x004F4040 276 STL_json_parse_json_from_stream_004f4040 stl Parses JSON text from a stream/iterator range. Checks for empty input and null terminator. If valid, applies XXH3 hash and parses JSON text into the document object. 0x004F4180 140 STL_json_set_parse_error_message_004f4180 stl Sets a parse error message on the JSON document. Formats the error string using vsnprintf into a 2048-byte buffer, stores it via string setter, and clears the success flag at offset 0x31. 0x004F4210 184 STL_regex_nfa_push_accept_state_004f4210 stl Pushes a new accept/end state onto the regex NFA state machine. Allocates 0x18-byte NFA state node with type=0xf, links it into the doubly-linked state list at the current position. 0x004F42E0 330 STL_regex_nfa_push_char_match_state_004f42e0 stl Pushes a character match state onto the regex NFA. If current state type is not 6 or has flag 4 set, allocates a new 0x20-byte match state with buffer. Applies case folding if configured (tolower via ctype facet or locale-independent). Appends the character to the match buffer with dynamic realloc growth. 0x004F4430 209 STL_regex_nfa_append_char_to_buffer_004f4430 stl Appends a character to the NFA regex buffer. Optionally case-folds via ctype::tolower if icase flag (0x100) is set. Buffer at node+0x1c uses dynamic realloc growth (+0x10). 0x004F4510 170 STL_regex_nfa_set_bitmap_bit_004f4510 stl Sets a bit in the 256-bit character bitmap (node+0x18). Optionally case-folds via ctype::tolower if icase flag (0x100) set. Bitmap is 0x20 bytes (32 bytes = 256 bits). 0x004F45C0 168 STL_regex_nfa_set_bitmap_bit_uint_004f45c0 stl Sets a bit in the 256-bit character bitmap (node+0x18) using uint param. Variant of set_bitmap_bit_004f4510 that takes uint instead of byte. Case-folds if icase flag set. 0x004F4670 212 STL_regex_nfa_create_char_class_node_004f4670 stl Creates a new NFA character class node (type 7, size 0x2C). Initializes vtable, links into the NFA node list via prev/next pointers at offsets 0xC/0x10. 0x004F4750 28 STL_regex_nfa_add_collate_element_004f4750 stl Wrapper that forwards to STL_regex_nfa_insert_collate_list_node_004f5f30, passing the collate list pointer from node+0x14. 0x004F4780 248 STL_regex_nfa_build_class_bitmap_004f4780 stl Builds a 256-bit character class bitmap by iterating all 256 chars. For each char, checks if it matches the ctype mask (param_3) or is '_' for word chars (mask 0xFFFF). Sets bit if match != param_4 (invert flag). 0x004F4890 301 STL_regex_nfa_build_collate_bitmap_004f4890 stl Builds character class bitmap using collation/locale-aware string comparison. Transforms each of 256 chars via collate_tolower_transform, compares to target string, sets bitmap bit on match. 0x004F49C0 248 STL_regex_nfa_build_ctype_bitmap_004f49c0 stl Builds character class bitmap using ctype mask. Iterates all 256 chars, checks ctype category (param_2). For 0xFFFF mask, checks alpha/digit/underscore (word chars). Sets bit if match != param_3 (invert). 0x004F4AC0 520 STL_regex_nfa_add_char_range_004f4ac0 stl Adds a character range [param_2..param_3] to the NFA character class. Case-folds both endpoints if icase. Uses bitmap for small ranges within 256 chars, buffer for individual chars, or range-pairs list for large ranges. 0x004F4CD0 871 STL_regex_nfa_add_repeat_node_004f4cd0 stl Adds a repeat/quantifier node to the NFA. Handles two cases: (1) simple repeat with lookahead/lookbehind using streambuf nodes, (2) counted repeat (type 0x12/0x13) with min/max counts and group index tracking. 0x004F5040 197 STL_regex_nfa_create_node stl Create regex NFA node: alloc 0x20 bytes, link into list 0x004F5120 903 STL_regex_parser_parse_atom_004f5120 stl Main regex parser atom loop. Parses regex atoms: literal chars, '.', escape sequences (\\b, \\B, char classes), bracket expressions [...], groups (...), anchors (^ $). Returns whether an atom was parsed. Handles regex grammar flags for ECMAScript, POSIX, etc. 0x004F54B0 397 STL_regex_parser_parse_escape_004f54b0 stl Parses regex escape sequences in atom context. Handles backreferences (\\1-\\9), character class escapes (\\d, \\w, etc.), octal escapes, and literal character escapes. Creates backref NFA nodes (type 0xF) for valid backrefs. 0x004F5640 36 STL_regex_node_is_end_type_004f5640 stl Checks if an NFA node is an end-type node: types 0x14 (end), 8 (accept), or 0xD (capture end). Returns 1 if node is one of these types, 0 otherwise. 0x004F5670 53 STL_regex_node_check_end_or_split_004f5670 stl Checks if an NFA node or its first child (for type 2 = split) is an end-type node. Walks through split node to check the target. Returns 1 if end-type found. 0x004F56B0 230 STL_regex_nfa_create_group_begin_node_004f56b0 stl Creates a group-begin NFA node. Allocates regex_node_allocate with offset+10, creates an empty node (type 1), links both into the NFA list. Returns the group begin node. 0x004F57A0 186 STL_regex_nfa_create_capture_node_004f57a0 stl Creates a capture group NFA node (type 0xD). Stores the capture group index (param_2) at offset+5. Links into the NFA node list. Used to track named/numbered capture groups. 0x004F5870 299 STL_regex_nfa_create_lookahead_node_004f5870 stl Creates a lookahead assertion NFA node pair: a begin node (type 0x11) and an end node (type 0x10). The end node references the begin node and is inserted at the appropriate position in the NFA list. 0x004F59A0 137 STL_regex_match_compare_captures_004f59a0 stl Compares capture group match positions between two match states. Iterates through capture groups, checking if the current match is better (shorter distance from base) than the previous best. Returns comparison result. 0x004F5A30 136 STL_regex_vector_allocate_aligned_004f5a30 stl Allocates aligned memory for a regex internal vector. For sizes < 0x1000, allocates directly. For larger sizes, allocates with 0x23 extra bytes and aligns to 32-byte boundary, storing original pointer at aligned-4. 0x004F5AC0 174 STL_regex_nfa_analyze_loop_nodes_004f5ac0 stl STL template instantiation: STL regex nfa analyze loop nodes 004f5ac0 0x004F5B90 85 STL_regex_vector_replace_buffer_004f5b90 stl Replaces a regex internal vector's buffer. Frees old aligned buffer (handles >0x1000 alignment), sets new base/size/capacity from params. Used for vector reallocation with raw byte elements. 0x004F5BF0 90 STL_vector_change_array_4byte stl std::vector::_Change_array for 4-byte elements (uint/pointer). Frees old buffer, sets new begin/end/capacity pointers. 0x004F5C50 118 STL_vector_change_array_0x14 stl std::vector::_Change_array for 0x14 (20-byte) elements. Frees old buffer, sets new begin/end/capacity pointers. 0x004F5CD0 133 STL_regex_vector_replace_buffer_0x28_004f5cd0 stl Replaces a regex vector buffer with 0x28-byte element stride. Destroys old elements via STL_destroy_json_value_range_004e1d10, frees aligned buffer, sets new base/count/capacity. Element size = 0x28. 0x004F5D60 90 STL_vector_change_array_8byte stl std::vector::_Change_array for 8-byte elements. Frees old buffer, sets new begin/end/capacity pointers. 0x004F5DC0 120 STL_regex_vector_replace_buffer_0x10_004f5dc0 stl Replaces a regex vector buffer with 0x10-byte element stride. Destroys old elements via STL_json_value_deep_destroy, frees aligned buffer, sets new base/count/capacity. Element size = 0x10. 0x004F5E40 133 STL_regex_vector_replace_buffer_0x28b_004f5e40 stl Replaces a regex vector buffer with 0x28-byte element stride. Variant using STL_destroy_json_value_range_004e1d80 destructor. Frees aligned buffer, sets new base/count/capacity. 0x004F5ED0 85 STL_regex_vector_replace_raw_buffer_004f5ed0 stl Replaces a regex vector's raw buffer (no element destructors). Frees old aligned buffer, sets new base/size/capacity. Used for vectors of trivially-destructible types (e.g., int, char). 0x004F5F30 245 STL_regex_nfa_insert_collate_list_node_004f5f30 stl Inserts characters into a sorted linked list of collation nodes used by bracket expressions. Each node has a sort key and a growable char buffer. Finds or creates the node for the given key, appends chars from param_1..param_2. 0x004F6030 73 STL_regex_parser_parse_bracket_open_004f6030 stl Opens a bracket expression [...] during regex parsing. Creates a char class node, handles ^ negation, handles empty-bracket-ok flag (']' as first char), then delegates to parse_bracket_list. 0x004F6080 116 STL_regex_parser_try_char_class_escape_004f6080 stl Tries to parse a character class escape (e.g., \\d, \\w, \\s) inside a bracket expression. On success, creates a char class node and populates its ctype bitmap. Returns 1 on success, 0 if not a class escape. 0x004F6100 405 STL_regex_parser_parse_char_escape_004f6100 stl Parses character escape sequences: \\f \\n \\r \\t \\v (simple), \\c (control char), \\x (hex 2-digit), \\u (unicode 4-digit), octal, and ECMAScript identity escapes. Sets the parsed char value at parser+0x44. Throws error 2 on invalid escape. 0x004F6340 440 STL_regex_parser_parse_bracket_element_004f6340 stl Parses a single element within a bracket expression [...]. Handles: escape sequences (\\), literal chars, nested bracket expressions [[:class:]], [.collate.], [=equiv=]. Returns 0=end, 1=char, 2=class. Stores parsed char at parser+0x44. 0x004F6500 132 STL_regex_parser_parse_bracket_escape_004f6500 stl Parses an escape within a bracket expression context. Checks for literal backslash (\\\\), character class escapes, octal/numeric escapes, and char escapes. Returns true if escape parsed, false on error. Returns 2 for class escapes. 0x004F6590 488 STL_regex_parser_parse_bracket_list_004f6590 stl Main bracket list parser loop for [...] expressions. Iterates bracket elements, handles '-' range operator (a-z), collation-aware range comparison, single chars, and class insertions. Calls parse_bracket_element repeatedly until ']'. 0x004F6780 162 STL_regex_vector_grow_int_004f6780 stl Grows a regex internal vector of 4-byte (int) elements using 1.5x growth strategy. Frees old aligned buffer, allocates new via STL_lib_func_004fa110. Max capacity 0x3FFFFFFF elements. 0x004F6830 162 STL_regex_vector_grow_pair_004f6830 stl Grows a regex internal vector of 8-byte (pair) elements using 1.5x growth strategy. Frees old aligned buffer, allocates new via STL_lib_func_004fa170. Max capacity 0x1FFFFFFF elements. 0x004F68E0 166 STL_regex_parser_compile_regex_004f68e0 stl Top-level regex compilation entry point. Creates a capture node for group 0, parses the full alternation expression, verifies all input consumed (throws error 0xE if not). Sets up the root NFA node with capture count and regex flags. 0x004F6990 16 STL_regex_node_vtable_init_004f6990 stl Initializes an NFA node's vtable pointer. Sets the vtable to the base regex node vtable at 010d6744. Simple 16-byte function. 0x004F69A0 21 STL_regex_parser_try_parse_number_004f69a0 stl Tests whether the current position in the regex source can be parsed as a number (octal/decimal/hex). Calls parse_integer with base 10 and max 0x7FFFFFFF. Returns true if a number was found. 0x004F69C0 68 STL_regex_node_scalar_deleting_dtor_004f69c0 stl Scalar deleting destructor for a small (8-byte) regex node. If param_2 is non-zero, frees the 8-byte allocation. SEH protected. 0x004F6A10 22 STL_regex_vector_destroy_range_0x28_004f6a10 stl Wrapper to destroy a range of 0x28-byte elements in a regex vector. Forwards to STL_destroy_json_value_range_004e1d10 (destroy with dtor A). 0x004F6A30 36 STL_regex_vector_destroy_range_0x10_004f6a30 stl STL template instantiation: STL regex vector destroy range 0x10 004f6a30 0x004F6A60 22 STL_regex_vector_destroy_range_0x28b_004f6a60 stl Wrapper to destroy a range of 0x28-byte elements in a regex vector. Forwards to STL_destroy_json_value_range_004e1d80 (destroy with dtor B). Variant of 004f6a10. 0x004F6A80 885 STL_regex_parser_parse_alternation_004f6a80 stl Parses regex alternation (\|) expressions. Calls parse_atom in a loop, handles '\|' by creating split/alternation NFA nodes (types 8/9/10/11/12/0xE). Builds the NFA alternation tree with begin/end markers and lookahead connectors. 0x004F6E00 247 STL_regex_parser_parse_group_004f6e00 stl Parses a parenthesized group in the regex. Creates a group-begin node, parses the inner alternation expression, links the group end, and restores parser state. Used for (...) and (?:...) groups. 0x004F6F00 16 STL_regex_node_is_type_0x18_004f6f00 stl Checks if a regex NFA node is type 0x18 (a specific internal node type). Returns true if node[0] == 0x18. 0x004F6F10 80 STL_regex_parser_add_capture_group_004f6f10 stl Adds a new capture group to the regex parser. Increments group count, creates capture node, parses inner alternation, links end, updates capture bitmask. Called when '(' is encountered during parsing. 0x004F6F60 228 STL_regex_match_char_class_node_004f6f60 stl Matches current input character against a character class NFA node. Checks collation string table, range table, and 256-bit bitmap. Handles icase via ctype::tolower and collation-aware matching. Returns 1 on match (or inverted non-match), advances input. 0x004F7050 213 STL_regex_parser_parse_integer_004f7050 stl Parses an integer from the regex source in the given base (8/10/16). Accumulates digits up to param_3 count. Handles 0-9, a-f, A-F for hex. Returns remaining digit count (0=all consumed, param_3=none found). Result stored at parser+0x44. 0x004F7130 642 STL_regex_parser_parse_posix_bracket_004f7130 stl Parses POSIX bracket expressions: [:class:] (character class), [=equiv=] (equivalence class), [.collate.] (collation element). Reads the name between delimiters, classifies or builds bitmap accordingly. Throws error on invalid class name. 0x004F73C0 97 STL_regex_parser_try_simple_escape_004f73c0 stl Tries to match a simple escape character: \\f(0xC) \\n(0xA) \\r(0xD) \\t(0x9) \\v(0xB). Sets the numeric value at parser+0x44 and returns 1 on match, 0 otherwise. No locale or flag dependence. 0x004F7430 48 STL_regex_set_anchor_flag stl Set regex anchor flag: 'a' sets type 7, 'b' sets type 8. Returns 1 on match, 0 otherwise. 0x004F7460 602 STL_regex_match_alternation stl Execute regex alternation matching. Iterates through NFA alternation branches, copying match vectors and trying each branch via STL_regex_nfa_execute. Returns 1 if any branch matches. 0x004F76C0 37 STL_regex_parse_group_alternation stl Parse a regex group alternation. Allocates NFA state (type 8), parses the alternation body, then creates a lookahead state for it. 0x004F76F0 612 STL_regex_match_repeat stl Execute regex repeat matching (*, +, {n,m}). Loops up to max count, saving match state at each iteration. Tests the tail expression after the loop exits. 0x004F7960 414 STL_regex_match_counted_repeat stl Execute counted repeat matching with capture group tracking. Handles min/max repeat counts, greedy/lazy modes, and backreference validation during NFA execution. 0x004F7B00 214 STL_regex_nfa_add_group_end_state stl Add a group-end NFA state to the regex NFA. Allocates a new NFA group state (0x1c bytes), links it into the NFA chain, and connects the group's last state to the continuation. 0x004F7BE0 25 STL_regex_nfa_append_state stl Append a new NFA state: calls STL_regex_nfa_create_lookahead_state then updates the current state pointer. 0x004F7C00 216 STL_regex_nfa_create_lookahead_state stl Create an NFA lookahead/lookbehind state. Allocates 0x18-byte NFA state, sets type based on input (8->9, 10->12, 11->14), and inserts into the NFA chain. 0x004F7CF0 205 STL_filebuf_unshift_and_write stl Flush filebuf encoding state: calls codecvt::unshift to finalize multibyte encoding, then fwrites the resulting bytes. Returns true if successfully flushed. 0x004F7DC0 12 STL_throw_regex_error stl Throw a std::regex_error with the given error code. Calls std::_Xregex_error which does not return. 0x004F7DD0 28 STL_regex_expect_token stl Expect a specific regex token. If current token matches param_2, advance parser. Otherwise throw regex_error with param_3 error code. 0x004F7E30 1 stub_ret_004f7e30 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004F7E40 1 stub_ret_004f7e40 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004F7E50 1 stub_ret_004f7e50 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004F7E60 3 STL_regex_identity_transform_a stl Identity transform function for regex - returns param_1 unchanged. Used as a no-op character transform callback. 0x004F7E70 1 stub_ret_004f7e70 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004F7E80 1 stub_ret_004f7e80 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004F7E90 1 stub_ret_004f7e90 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004F7EA0 1 stub_ret_004f7ea0 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004F7EB0 3 STL_regex_identity_transform_b stl Identity transform function for regex - returns param_1 unchanged. Second instance, used as alternate no-op transform callback. 0x004F7EC0 1 stub_ret_004f7ec0 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x004F7EE0 34 STL_regex_parse_hex_escape stl Parse a hex escape sequence in regex (e.g. \\x1F). Calls parse_integer with base 16. Throws regex_error(2) if parsing fails. 0x004F8020 29 STL_regex_nfa_insert_before stl Insert an NFA node before the current position in the doubly-linked NFA state list. Updates prev/next pointers of surrounding nodes. 0x004F8040 390 STL_bitvector_insert_bits stl Insert bits into a bitvector at a given position. Grows the underlying storage if needed, then shifts existing bits right to make room for param_4 new bits. 0x004F82D0 49 STL_regex_check_escaped_special_char stl Check if the next character after a backslash is a regex-special character that needs escaping (parens if flag 0x8 clear, braces if flag 0x10 clear). Returns 1 if special. 0x004F8380 53 STL_regex_nfa_chain_append stl Append an NFA state to the end of the current NFA chain. Updates the doubly-linked prev/next pointers and returns the appended state. 0x004F83E0 1497 STL_regex_nfa_execute stl Main regex NFA execution engine. Processes NFA states via a large switch on state type: anchors (begin/end line/word), character matching (literal, class, bracket), groups, backreferences, alternation, repeats, and lookahead/lookbehind. Returns match success/failure. 0x004F89D0 16 STL_regex_node_set_vtable stl Set the vtable pointer for a regex NFA node to the default node vtable at 010d6744. 0x004F89F0 165 STL_regex_nfa_alloc_state stl Allocate and initialize a base NFA state (0x14 bytes). Sets vtable, state type from param_2, zeroes link pointers. Inserts into the NFA chain and returns the new state. 0x004F8AA0 89 STL_regex_parser_advance stl Advance the regex parser cursor past the current character. Handles backslash escapes for special chars (parens, braces) based on regex flags. Then calls the lexer to tokenize the next character. 0x004F8B10 323 STL_regex_parse_quantifier stl Parse regex quantifier (*, +, ?, {n,m}). Determines min/max repeat counts, sets the greedy flag, checks for lazy modifier (?), then calls STL_regex_nfa_add_repeat_node to build the NFA repeat structure. 0x004F8C60 144 STL_vector_0x28_reallocate stl Reallocate a vector of 0x28-byte elements. Allocates new buffer, moves existing elements via uninitialized_move, then replaces the old buffer. 0x004F8D20 189 STL_vector_8byte_reallocate stl Reallocate a vector of 8-byte elements. Allocates new aligned buffer of param_2*8 bytes, copies existing data, frees old buffer, and updates begin/end/capacity pointers. 0x004F8E10 130 STL_vector_0x10_reallocate stl Reallocate a vector of 0x10-byte elements. Allocates new buffer, moves existing elements, then replaces the old buffer via STL_regex_vector_replace_buffer_0x10. 0x004F8EC0 144 STL_vector_0x28_reallocate_v2 stl Reallocate a vector of 0x28-byte elements (variant 2). Uses a different move and replace buffer function than STL_vector_0x28_reallocate. 0x004F8F80 260 STL_vector_raw_buffer_reallocate stl Reallocate a raw byte buffer for a vector. Allocates param_2 bytes (aligned to 32 for large allocs), memcpy existing data, frees old buffer, updates begin/end/capacity. 0x004F90B0 35 _Reset_back game_core std::basic_filebuf::_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. 0x004F90E0 125 STL_vector_0xc_resize stl Resize a vector of 0xC-byte elements. If shrinking, adjusts end pointer. If growing within capacity, fills new elements with zeros. If beyond capacity, reallocates. 0x004F9170 634 STL_regex_nfa_skip_search stl Regex NFA skip/fast-forward search. Optimized scanner that advances through input text looking for potential match starting positions, handling different NFA state types (anchors, char classes, string searches via Aho-Corasick, groups). Returns the position where a match attempt should begin. 0x004F9440 28 STL_throw_bad_array_new_length stl Throw std::bad_array_new_length via _CxxThrowException 0x004F9460 28 STL_throw_bad_cast stl Throw std::bad_cast exception via _CxxThrowException. 0x004F9480 48 STL_regex_nfa_destroy_node_list stl Destroy a linked list of regex NFA nodes. Walks the chain via offset +0xC, calls each node's virtual destructor (vtable[0] with flag=1), then zeroes the head pointer. 0x004F94B0 72 STL_regex_nfa_release_shared stl Release shared ownership of regex NFA nodes. Atomically decrements refcount at offset +0x20. If refcount reaches zero, destroys the entire NFA node linked list. Always zeroes the local pointer. 0x004F9500 126 STL_vector_dealloc_raw_buffer stl Deallocate an aligned raw buffer. Handles both small (<0x1000) and large (aligned to 32) allocations. Frees memory and zeroes the vector's begin/end/capacity pointers. 0x004F9590 126 STL_vector_dealloc_raw_buffer_v2 stl Deallocate an aligned raw buffer (variant 2). Same pattern as STL_vector_dealloc_raw_buffer but used for a different element type context. 0x004F9620 129 STL_vector_dealloc_4byte_elements stl Deallocate vector of 4-byte elements; frees buffer 0x004F96B0 129 STL_vector_dealloc_8byte_elements_004f96b0 stl Deallocate vector of 8-byte elements. Computes buffer size as (capacity - begin) & ~7, frees aligned memory, zeroes begin/end/capacity. 0x004F9740 155 STL_vector_destroy_json_values_0x10 stl Destroy and deallocate a vector of 0x10-byte JSON values. Iterates through elements calling STL_json_value_deep_destroy on each, then frees the buffer. 0x004F97F0 166 STL_vector_destroy_json_values_0x28 stl Destroy and deallocate a vector of 0x28-byte JSON values. Calls STL_destroy_json_value_range to destroy all elements, then frees the aligned buffer and zeroes pointers. 0x004F98A0 123 STL_string_dtor stl Destruct std::string; frees heap buffer if capacity > 15 0x004F9930 260 STL_regex_lexer_next_token stl Regex lexer: read and classify the next token. Handles special regex metacharacters (\|, *, +, ?, ^, $, (, ), {, }, \\) and sets the token type. Respects regex syntax flags for BRE vs ERE escaping rules. 0x004F9AD0 82 STL_bitvector_resize stl Resize a bitvector to param_2 bits. Shrinks or grows the underlying uint32 array. When shrinking, masks off unused bits in the last word. 0x004F9B30 82 STL_uninitialized_fill_n_int stl Fill N int-sized elements: if fill value is 0, uses memset; otherwise copies fill value N times. Returns pointer past the last written element. 0x004F9B90 41 STL_uninitialized_fill_n_pair stl STL template instantiation: STL uninitialized fill n pair 0x004F9BC0 51 STL_uninitialized_fill_n_8byte stl Zero-fill N 8-byte elements using memset. Returns pointer past the last written element, or the original pointer if count is 0. 0x004F9C00 45 STL_uninitialized_fill_n_0xc stl STL template instantiation: STL uninitialized fill n 0xc 0x004F9C30 36 STL_uninitialized_copy_0x10 stl STL template instantiation: STL uninitialized copy 0x10 0x004F9C60 44 STL_uninitialized_copy_0x14 stl STL template instantiation: STL uninitialized copy 0x14 0x004F9C90 44 STL_uninitialized_copy_8byte stl STL template instantiation: STL uninitialized copy 8byte 0x004F9CC0 36 STL_copy_elements_16byte_004f9cc0 stl Unrolled element copy for 16-byte (4x DWORD) stride. Copies elements from [param_1, param_2) to destination at param_3 offset. Template instantiation for std::copy with 16-byte elements. 0x004F9CF0 45 STL_copy_elements_8byte_004f9cf0 stl Unrolled element copy for 8-byte (2x DWORD) stride. Copies elements from [param_1, param_2) to destination at param_3 offset. Template instantiation for std::copy with 8-byte elements. 0x004F9D20 45 STL_copy_elements_20byte stl Unrolled element copy for 20-byte (5x DWORD) stride. Copies elements from [param_1, param_2) to destination at param_3 offset. Template instantiation for std::copy with 20-byte elements. 0x004F9D50 45 STL_copy_elements_8byte_004f9d50 stl Unrolled element copy for 8-byte (2x DWORD) stride. Duplicate template instantiation of STL_copy_elements_8byte. Copies elements from [param_1, param_2) to destination at param_3 offset. 0x004F9D80 47 STL_copy_elements_12byte stl Unrolled element copy for 12-byte (QWORD + DWORD) stride. Copies elements from [param_1, param_2) to destination at param_3 offset. Template instantiation for std::copy with 12-byte elements. 0x004F9DC0 248 STL_regex_parser_parse_group stl std::regex parser: parse group/subexpression. Handles '(' ... ')' including non-capturing (?:), lookahead (?=), negative lookahead (?!). Increments nesting depth, creates capture nodes, delegates to parse_alternation. Calls _Xlength_error(5) on nesting overflow. 0x004F9EC0 10 STL_throw_vector_bool_too_long stl Throws std::_Xlength_error with "vector<bool> too long". Template instantiation for vector<bool>::_Xlen(). 0x004F9ED0 10 STL_throw_string_too_long stl Throws std::_Xlength_error with "string too long". Called when std::string capacity would exceed max_size(). 0x004F9EE0 10 STL_throw_vector_too_long_004f9ee0 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9EF0 10 STL_throw_vector_too_long_004f9ef0 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F00 10 STL_throw_vector_too_long_004f9f00 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F10 10 STL_throw_vector_too_long_004f9f10 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F20 10 STL_throw_vector_too_long_004f9f20 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F30 10 STL_throw_vector_too_long_004f9f30 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F40 10 STL_throw_vector_too_long_004f9f40 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F50 10 STL_throw_vector_too_long_004f9f50 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F60 10 STL_throw_vector_too_long_004f9f60 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F70 10 STL_throw_vector_too_long_004f9f70 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F80 10 STL_throw_vector_too_long_004f9f80 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9F90 10 STL_throw_vector_too_long_004f9f90 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9FA0 10 STL_throw_vector_too_long_004f9fa0 stl Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). 0x004F9FB0 10 STL_throw_invalid_string_position stl Throws std::_Xout_of_range with "invalid string position". Called by std::string methods when position exceeds string length. 0x004F9FC0 132 STL_regex_parser_parse_atom stl std::regex parser: parse atom/element. Checks current token type and handles different regex elements. Returns error via callback for unexpected tokens. Sets parser state flags (0x14c) based on token type (0=normal, 8=backref, 0xe=special). 0x004FA050 82 STL_aligned_heap_alloc stl Allocate heap with 32-byte alignment for sizes >= 0x1000 0x004FA0B0 82 STL_aligned_heap_alloc_004fa0b0 stl Allocate heap memory with 32-byte alignment for sizes >= 0x1000. Identical to STL_aligned_heap_alloc at 004fa050. Duplicate template instantiation. 0x004FA110 92 STL_allocate_array_4byte stl Allocate array of 4-byte elements with overflow check. Multiplies count by 4, checks count < 0x40000000 to prevent overflow, then delegates to aligned heap alloc. For sizes >= 0x1000, uses 32-byte aligned allocation. 0x004FA170 92 STL_allocate_array_8byte stl Allocate array of 8-byte elements with overflow check. Multiplies count by 8, checks count < 0x20000000, then delegates to aligned heap alloc. 0x004FA1D0 95 STL_allocate_array_20byte stl Allocate array of 20-byte (0x14) elements with overflow check. Multiplies count by 0x14, checks count < 0xCCCCCCD, then delegates to aligned heap alloc. 0x004FA230 95 STL_allocate_array_40byte stl Allocate array of 40-byte (0x28) elements with overflow check. Multiplies count by 0x28, checks count < 0x6666667, then delegates to aligned heap alloc. 0x004FA290 92 STL_allocate_array_8byte_004fa290 stl Allocate array of 8-byte elements with overflow check. Duplicate template instantiation. Multiplies count by 8, checks count < 0x20000000, then delegates to aligned heap alloc. 0x004FA2F0 92 STL_allocate_array_16byte stl Allocate array of 16-byte (0x10) elements with overflow check. Multiplies count by 0x10, checks count < 0x10000000, then delegates to aligned heap alloc. 0x004FA350 95 STL_allocate_array_40byte_004fa350 stl Allocate array of 40-byte (0x28) elements with overflow check. Duplicate template instantiation. Multiplies count by 0x28, checks count < 0x6666667. 0x004FA3B0 82 STL_aligned_heap_alloc_004fa3b0 stl Allocate heap memory with 32-byte alignment for sizes >= 0x1000. Identical to STL_aligned_heap_alloc. Duplicate template instantiation. 0x004FA410 28 STL_string_append_wrapper stl std::string append wrapper. Resolves the string's internal buffer pointer (SSO vs heap) and delegates to STL_string_append_buffer to append the string's own content. 0x004FA430 351 STL_string_append_chars stl std::string::append(count, char). Appends param_2 copies of param_3 character. Grows buffer with 1.5x strategy if needed, using 32-byte aligned allocation for large buffers. Uses memset to fill the appended region. 0x004FA590 40 operator= game_core SimpleString assignment operator. Computes string length, then appends to internal buffer. 0x004FA5C0 342 STL_string_append_buffer stl std::string::append(const char*, size_t). Appends param_3 bytes from param_2 buffer. Grows buffer with 1.5x strategy if needed, using 32-byte aligned allocation for large buffers. Uses memcpy for the append. 0x004FA720 169 STL_regex_parse_hex_digit stl std::regex: parse hex digit character to integer value. Converts '0'-'9' to 0-9, 'a'-'f' to 10-15, 'A'-'F' to 10-15. Accumulates into param_2*16 + digit. Reports error 0x11 via callback for invalid hex chars. 0x004FA7D0 124 STL_json_get_array_value stl nlohmann::json variant: get array value. Checks type tag byte & 0xF == 9 (array type), returns the value at offset +4. Throws "Bad array cast" if type doesn't match. 0x004FA850 144 STL_json_get_array_value_indirect stl nlohmann::json variant: get array value with indirection. Follows pointer chain while type tag & 0xF == 0xC (reference/indirection type). Returns value when type == 9 (array). Throws "Bad array cast" if final type is neither 9 nor 0xC. 0x004FA8F0 237 STL_string_assign_buffer stl std::string::assign(const char*, size_t). Replaces string content with param_3 bytes from param_2. If new size fits current capacity, copies in-place. Otherwise allocates new buffer with 1.5x growth strategy and frees old buffer. 0x004FA9E0 225 STL_json_object_find_value stl nlohmann::json: find value in object by key. Uses equal_range with 0x28-byte stride to binary search sorted object entries. Follows indirection chains (type 0xC). Throws typed exceptions for type mismatches (type 0xA = wrong type). 0x004FAAD0 196 STL_regex_parser_parse_quantifier stl std::regex parser: parse quantifier/repetition. Increments recursion depth counter at +0x124, checks against max depth from grammar table. Pushes opcode 0xE to NFA node list, sets state to 0xC, then delegates to virtual parse method. Reports error 5 on depth overflow. 0x004FABA0 170 STL_regex_parser_parse_with_capacity_check stl std::regex parser: parse with capture capacity check. Checks if capture group count exceeds limit from grammar table (+0xC4). On overflow, creates error node (code 4) and signals failure. Otherwise pushes opcode and delegates to virtual parse method via vtable+0xC. 0x004FAC50 195 STL_json_parser_read_uint32 stl JSON parser: read 4-byte (uint32) value from input stream. Reads up to 4 bytes from buffer at +8, bounded by end pointer at +0xC. On short read, signals error (code 1). On success, delegates to virtual parse handler via vtable+0xC and emplaces result into 0x14-byte vector. 0x004FAD20 132 STL_regex_parser_parse_atom_alt stl std::regex parser: parse atom alternative variant. Similar to STL_regex_parser_parse_atom but with different state flag values (0xA for backref, 0xD for special). Checks token type and handles different regex elements via callback. 0x004FADB0 196 STL_regex_parser_parse_quantifier_alt stl std::regex parser: parse quantifier alternative variant. Similar to STL_regex_parser_parse_quantifier but pushes opcode 8 instead of 0xE and sets state to 9 instead of 0xC. Different NFA node encoding for this grammar variant. 0x004FAE80 154 STL_json_parser_skip_whitespace stl JSON parser: skip whitespace characters then invoke handler. Iterates through input buffer at +0x148, skipping tab (9), newline (10), carriage return (13), and space (0x20). When non-whitespace found, reports error code 4 via callback. Used by JSON token scanner. 0x004FAF40 600 STL_json_parser_main_loop stl JSON parser: main parse loop with BOM detection and buffered I/O. Reads input chunks, detects UTF BOM encoding on first chunk (UTF-8, UTF-16LE/BE, UTF-32LE/BE). Skips whitespace between tokens. Invokes error callback (code 4) for unexpected characters. Manages read buffer at +0x218/+0x21c/+0x220. 0x004FB1C0 30 STL_string_clear stl std::string::clear(). Sets size (offset +0x10) to 0 and null-terminates. Handles both SSO (small string, capacity <= 15) and heap-allocated cases by writing null to the appropriate buffer pointer. 0x004FB1E0 127 STL_filebuf_close stl std::basic_filebuf::close(). If file is open, flushes write buffer (adjusts put pointers if needed), calls unshift_and_write to flush codecvt state, then fclose(). Resets streambuf state via _Init(), clears file pointer and locale facet pointers. Returns this on success, nullptr on failure. 0x004FB260 33 STL_ostream_check_and_setstate_004fb260 stl Calls a helper function and if it returns 0, sets badbit (0x2) on the associated basic_ios via setstate. Used for stream error checking. 0x004FB2B0 5 STL_vtable_dispatch_offset8_004fb2b0 stl Virtual call dispatcher. Calls vtable[2] (offset +8) on the object pointed to by param_1. 0x004FB2C0 5 STL_vtable_dispatch_offset8_004fb2c0 stl Virtual call dispatcher. Calls vtable[2] (offset +8) on the object pointed to by param_1. Duplicate of 004fb2b0 in different context. 0x004FB2D0 14 STL_json_parser__get_remaining_depth_004fb2d0 stl Returns (obj+0x134 - obj+0x138) + 1, computing the remaining nesting/recursion depth for the JSON parser. 0x004FB2F0 163 STL_json_get_global_node_allocator_004fb2f0 stl Thread-safe singleton accessor for a global JSON node allocator. Uses init_thread_header/init_thread_epoch_counter for double-checked locking. Registers atexit cleanup. Returns pointer to global DAT_01387210. 0x004FB3A0 127 STL_json_alloc_string_node_004fb3a0 stl Allocates a JSON string node with 0x10 byte header. Copies param_1 data (param_2 bytes) into the node, null-terminates it, and sets length/data pointers in the header. Uses aligned allocation for sizes >= 0x1000. 0x004FB420 139 STL_json_alloc_string_node_with_extra_004fb420 stl Allocates a JSON string node with 0x20 byte header (extra fields for param_3, param_4). Copies param_1 data (param_2 bytes) into the node, null-terminates it. Used for key-value string nodes with additional metadata. 0x004FB4B0 3 STL_json_node__get_type_004fb4b0 stl Simple getter returning *param_1, the first dword (type/tag field) of a JSON node. 0x004FB4C0 56 STL_json_dealloc_0x10_stride_array_004fb4c0 stl Frees memory for a JSON array with 0x10-byte stride elements. Computes total size as param_3 * 0x10. For large allocations (>= 0x1000), retrieves the original allocation pointer from *(ptr-4) for aligned deallocation. 0x004FB500 56 STL_json_dealloc_0x10_stride_array_004fb500 stl Frees memory for a JSON array with 0x10-byte stride elements. Identical logic to 004fb4c0, used in a different context. 0x004FB540 55 STL_aligned_dealloc_004fb540 stl Frees an aligned allocation. For sizes >= 0x1000, retrieves the original unaligned pointer from *(ptr-4) and validates alignment offset before freeing. For smaller sizes, frees directly. 0x004FB580 62 deallocate stl STL allocator deallocate for 4-byte elements. Handles aligned (>0xFFF) and normal deallocation paths. 0x004FB5C0 58 STL_json_dealloc_0x10_stride_004fb5c0 stl Frees a 0x10-stride JSON array allocation. Computes size as param_2 * 0x10, uses aligned deallocation for large blocks. 0x004FB600 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x004FB640 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x004FB680 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x004FB6C0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x004FB700 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x004FB740 58 STL_json_dealloc_0x10_stride_004fb740 stl Frees a 0x10-stride JSON array allocation. Identical to 004fb5c0, used in a different code path. 0x004FB780 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x004FB7C0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x004FB800 55 STL_aligned_dealloc_004fb800 stl Frees an aligned allocation. Same logic as 004fb540 -- retrieves original pointer from *(ptr-4) for large blocks before operator delete. 0x004FB840 2564 STL_json_decimal128_to_string_004fb840 stl Converts a 128-bit decimal (IEEE 754 decimal128) to a string. Handles special values (Infinity, NaN), negative sign, and uses a digit extraction loop dividing by 10^9. Produces scientific notation (with 'E' exponent) for very large/small values, or fixed-point notation for moderate values. Output buffer is param_1 up to param_2 limit. 0x004FC250 160 STL_half_float_to_double_004fc250 stl Converts a 16-bit half-precision float (IEEE 754 binary16) to double. Extracts exponent (bits 10-14), handles denormals (exp==0), infinities and NaN (exp==0x1f), and normal values. Applies sign bit from bit 15. 0x004FC2F0 110 STL_make_error_code_from_winerror_004fc2f0 stl Creates an error_code from a Windows error code. Calls _Winerror_map to translate the Windows error to a portable errno. If mapping succeeds, uses generic_category; otherwise stores original code with system_category. 0x004FC370 18 STL_locale_collate__init_pair_004fc370 stl Simple initializer that stores param_3 at param_2[0] and this (param_1) at param_2[1]. Used during locale collate facet setup. 0x004FC390 51 STL_locale_collate__do_compare_004fc390 stl Locale-aware string comparison using _Strcoll. Returns -1 if first string compares less, 0 if equal, 1 if greater. Uses the _Collvec at this+8 for locale collation data. 0x004FC3D0 57 STL_fnv1a_hash_bytes_004fc3d0 stl FNV-1a hash function over a byte range [param_1, param_2). Uses offset basis 0x811C9DC5 and prime 0x01000193 (standard 32-bit FNV-1a). Returns the computed hash value. 0x004FC410 259 STL_locale_collate__do_transform_004fc410 stl Locale collate transform (do_transform). Transforms a char range [param_3, param_4) into a sort key string (param_2) using _Strxfrm with the locale _Collvec at this+8. Grows the output string as needed until the transform fits. 0x004FC520 210 STL_json_value__is_empty_004fc520 stl Checks if a JSON value is empty. Dispatches by type tag (lower nibble): type 6 = null check (true if high nibble is 0), types 7/8 = array/object (empty if size ptr == 0), type 9 = array (begin == end), type 0xA = always true, type 0xB = object (begin == end), type 0xC = follows indirection. Returns false for other types. 0x004FC620 225 STL_json_parser__parse_object_element_004fc620 stl Parses a JSON object key-value pair. Decrements remaining depth, reads next token. On token 0x0E dispatches to key handler, on 0x08 dispatches to error handler with code 0x14, otherwise dispatches with code 0x16. Uses the error callback at obj+0x11c for reporting parse errors. 0x004FC710 231 STL_json_parser__parse_number_from_string_004fc710 stl Parses a JSON number from the parser's internal string buffer (at offset 0x150). If the number_as_string flag (byte at offset 8 & 1) is set, dispatches to a callback at vtable+0x2C. Otherwise converts the string to double via XXH3_digest_long_128bit (likely misidentified strtod) and dispatches to vtable+0x44. 0x004FC880 591 STL_json_parser__parse_signed_integer_004fc880 stl Parses a JSON signed integer from the parser's string buffer. If first char is '-', delegates to the negative integer parser. Parses digits accumulating a 64-bit signed value, checking for overflow. On overflow, falls back to the string number callback (vtable+0x2C). On success, dispatches the int64 value to vtable+0x3C. Asserts string length > 0. 0x004FCAE0 225 STL_json_parser__parse_array_element_004fcae0 stl Parses a JSON array element. Decrements remaining depth, reads next token. Token 0x08 dispatches to value handler, token 0x0E dispatches to error handler with code 0x15, otherwise error code 0x17. Mirror of parse_object_element but for array context. 0x004FCBF0 489 STL_json_parser__parse_unsigned_integer_004fcbf0 stl Parses a JSON unsigned integer from the parser's string buffer. Handles both negative (with sign check) and positive digit accumulation into a 64-bit unsigned value. On overflow, falls back to string number callback (vtable+0x2C). On success dispatches uint64 to vtable+0x38. Asserts string length > 0. 0x004FCDE0 182 STL_json_parser__parse_string_value_004fcde0 stl Parses a JSON string value. Validates UTF-8 sequence, then dispatches based on parser state: state 0 looks up string in key table (0x10-stride array) and dispatches as number if found, state 0x10 dispatches as raw string via vtable+0x20, states 8/0xE look up in key table at obj+0x178. Falls back to error callback on invalid state. 0x004FCFE0 47 STL_json_input_adapter__is_eof_004fcfe0 stl Checks if the JSON input adapter has reached end-of-input. Compares read position (offset 0x220) against end position (0x21C), checks exhaustion flag (0xB4), and verifies the stream's end-of-buffer flag. Returns true (1) if at EOF. 0x004FD010 33 STL_json_input_adapter__check_stream_eof_004fd010 stl Checks if the underlying stream has reached EOF. Returns true if exhaustion flag (0xB4) is 0 and the stream buffer's end-of-buffer marker bit is set. 0x004FD040 39 equivalent game_core Checks if an error_code is equivalent to a given int value by comparing category identity and code value. 0x004FD070 60 equivalent game_core Checks if an int value is equivalent to an error_condition by converting via virtual default_error_condition, then comparing category and code. 0x004FD0B0 192 STL_json_vector__erase_and_move_004fd0b0 stl Erases a range of JSON value elements from a vector by move-assigning elements from [param_4, end) over [param_3, ...) and then destroying the trailing elements. Each element is 0x28 bytes (10 dwords) containing a string sub-object at offset 0x18. Returns iterator to param_3 via param_2. 0x004FD180 367 STL_json_deque__erase_range_004fd180 stl Erases a range of elements from a JSON deque. Converts iterator positions to linear indices using deque_iterator_advance, then erases the range. Returns an iterator to the beginning via param_2. 0x004FD300 224 STL_json_input_adapter__fill_buffer_004fd300 stl Fills the JSON input adapter's read buffer from the underlying stream. If already at stream EOF, sets bytes_read (0xB4) to 0. Otherwise calls basic_streambuf::sgetn to read into the buffer at 0xA4. If fewer bytes read than buffer capacity, sets eofbit on the stream's basic_ios. 0x004FD420 224 STL_json_input_adapter__fill_buffer_004fd420 stl Fills the JSON input adapter's read buffer from the underlying stream. Identical logic to 004fd300, used in a different template instantiation or code path. 0x004FD540 204 STL_json_value__find_in_container_004fd540 stl Finds a value in a JSON container by type. Type 0xA = gets iterator range from container, type 0xB = equal_range search in 0x28-stride sorted array by string key, type 0xC = follows indirection and recurses. For unknown types, throws a JSON type error exception. 0x004FD610 141 STL_json_parser__run_until_done_004fd610 stl Main JSON parse loop. Repeatedly calls the parse step function (004fd6a0 checks done condition) until parsing is complete. Accumulates errors. If an error occurs, constructs an ios_base::failure with the error code and throws it. 0x004FD6A0 24 STL_json_parser__is_parse_complete_004fd6a0 stl Checks if JSON parsing is complete. Returns 1 when no error flag (0x14D == 0) AND parser has left state 0x02 (active parsing). Returns 0 when still in state 0x02 (active) or when error flag is set. The caller run_until_done loops while this returns 0, then checks for errors afterward. 0x004FD6C0 794 STL_json_value__flatten_recursive_004fd6c0 stl Recursively flattens a JSON value stack. Pops elements from the stack (at obj+4 to obj+8), processes each by type. For arrays (type 9) and objects (type 0xB), iterates through children and pushes non-empty nested containers back onto the stack for further flattening. Destroys empty containers after extracting their children. 0x004FDA20 165 STL_json_iterator__destroy_and_validate_004fda20 stl Destroys a JSON iterator and validates its state. If the is_valid flag (offset 0x48) is set, clears it and destroys the JSON value at this+8. Otherwise throws an assertion failure: "assertion 'is_valid' failed". 0x004FDAD0 62 STL_streambuf__imbue_codecvt_004fdad0 stl Imbues a basic_streambuf with a locale's codecvt facet. If the facet always_noconv() returns true, sets the codecvt pointer (offset 0x38) to null. Otherwise stores the facet pointer and reinitializes the stream buffer via _Init. 0x004FDB10 182 STL_json_parser__get_token_string_004fdb10 stl Gets the current token's string value from the JSON parser. If binary mode flag (offset 0x50 bit 4) is set or if quoted string mode (offset 5) with length > 2, extracts the substring without quotes (offset 1 to length-2). Otherwise copies the full token string from offset 0xB4. 0x004FDBD0 25 STL_json_value__is_null_004fdbd0 stl Checks if a JSON value is null. Returns true if the low nibble of the type tag is 0. If type tag low nibble is 0xC (indirection), follows the pointer and rechecks. Returns false for all other types. 0x004FDBF0 32 STL_json_value__is_structured_004fdbf0 stl Checks if a JSON value is a structured type (array or object). Returns true if the low nibble of the type tag is 0xA (array) or 0xB (object). Follows indirection (type 0xC) before checking. Returns false for all other types. 0x004FDC10 4 STL_json_node__get_data_ptr_004fdc10 stl Simple getter returning *(param_1 + 4), the data/payload pointer of a JSON node. 0x004FDC40 5 STL_vtable_dispatch_offset4_004fdc40 stl Virtual call dispatcher. Calls vtable[1] (offset +4) on the object pointed to by param_1. 0x004FDC50 5 STL_vtable_dispatch_offset4_004fdc50 stl Virtual call dispatcher. Calls vtable[1] (offset +4) on the object pointed to by param_1. Duplicate of 004fdc40 in different context. 0x004FDC60 7 STL_json_parser__get_position_004fdc60 stl Returns the current parse position from the JSON parser state at offset 0x130. 0x004FDC80 173 STL_json_make_error_code_pair_004fdc80 stl Creates a JSON error code pair. Thread-safe initialization of a global error category singleton (DAT_01387210 with vtable for json_node scalar_deleting_dtor). Stores param_2 as error value and the category pointer into param_1. 0x004FDD30 173 STL_json_make_error_code_pair2_004fdd30 stl Creates a JSON error code pair using a second global error category singleton (DAT_0138721c). Same pattern as 004fdc80 but uses a different category vtable (json_node at 004f3130). Thread-safe double-checked locking with atexit cleanup. 0x004FDDE0 141 STL_system_error_message_from_errno_004fdde0 stl Creates a string from a system error number. Calls _Syserror_map(param_2) to get the error message string, then constructs an STL string (param_1) with the result. Computes strlen manually before assigning. 0x004FDE70 186 STL_system_error_get_message_004fde70 stl Allocates a system error message string via __std_system_error_allocate_message. Returns "unknown error" on failure. Uses LocalFree to release the message buffer. 0x004FDF30 137 STL_bson_error_category_message_004fdf30 stl jsoncons BSON error category message(). Maps BSON error codes to strings: 1=Unexpected end of file, 2=Source error, 3=Illegal UTF-8 encoding, 4=Data item nesting exceeds limit, 5=Request for length of string/binary, 7=Number too large, 8=Invalid decimal128 string, 9/10=datetime too small/large, 11=Expected BSON document, 12=Invalid regex string, 13=Document size mismatch, 14=Unknown type. 0x004FE240 137 STL_json_conversion_error_message_004fe240 stl jsoncons conversion error category message(). Maps conversion error codes to strings: 1=Unable to convert, 2=Cannot convert to UTF-8, 3=Cannot convert to wide char, 4=Cannot convert to vector, 5-21=various type conversion errors, 22-24=base64/base64url/base16 encoding errors. 0x004FE620 137 STL_json_parser_error_message_004fe620 stl jsoncons JSON parser error category message(). Maps JSON parse error codes to strings: 1=Unexpected EOF, 2=Source error, 3=JSON syntax error, 4=Unexpected non-whitespace, 5=Nesting limit, 6=Cannot quote with single quotes, 7=Illegal char, 8=Extra comma, 9=Expected key, 10=Expected value, 11-30=various parse errors including Unicode and number issues. 0x004FEAB0 474 STL_json_error_category_name_004feab0 stl jsoncons error_category::name() implementation. Reads a C-string from member at offset +0x18 (or uses inline buffer at +0x1c), copies it into the output std::string via move semantics. Returns empty string if the internal pointer is null. 0x004FEC90 182 STL_json_value_get_string_view_004fec90 stl jsoncons json_value get_string_view. If bit 3 of flags at +0x50 is clear and the value has content, returns a substring (stripping first and last chars). Otherwise copies the string at +0x9c. Used to extract unquoted string values. 0x004FED50 349 STL_json_value_get_key_or_string_004fed50 stl jsoncons json_value get key or string. Checks flags at +0x50 (bits 5 and 4). If bit 5 set: copies string at +0xcc. If bit 4 set: prepends '-' sign to numeric string at +0xb4. Otherwise extracts substring or copies from +0xcc. 0x004FEEB0 152 STL_json_singleton_init_004feeb0 stl Thread-safe singleton initialization using init_thread_header/init_thread_epoch_counter pattern. Registers a cleanup function via _atexit. Returns pointer to global DAT_01387238. 0x004FEF50 235 STL_json_value_get_object_range_004fef50 stl jsoncons json_value get_object_range. Returns begin/end iterator pair for an object. Type 0xa=empty range, 0xb=dereferences to get iterators, 0xc=recursive dereference. Throws "Not an object" if wrong type. 0x004FF040 143 STL_json_value_get_object_ptr_004ff040 stl jsoncons json_value get_object_ptr. Returns the internal object pointer at +4 for types 0xa and 0xb. Throws "Bad object cast" for other types. 0x004FF0D0 158 STL_json_value_deref_object_ptr_004ff0d0 stl jsoncons json_value dereference object pointer. Follows chain of references (type 0xc) until reaching type 0xa or 0xb, then returns the object pointer at +4. Throws "Bad object cast" for non-object types. 0x004FF170 369 STL_basic_filebuf_overflow_004ff170 stl std::basic_filebuf::overflow(). Writes a character to the file buffer. Handles direct put area writes, codecvt-based encoding conversion via fwrite, and fallback via fputc. Returns EOF (-1) on failure. 0x004FF2F0 10 STL_identity_return_004ff2f0 stl Identity function - returns its parameter unchanged. 10 bytes. Likely a no-op pass-through or default handler. 0x004FF300 137 STL_json_parser_state_stack_top_004ff300 stl jsoncons parser state_stack top(). Returns the top byte from the state stack at [+0x16c..+0x170]. Throws assertion "state_stack_.size() > 0" if stack is empty. 0x004FF390 695 STL_cbor_parser_main_loop_004ff390 stl jsoncons CBOR stream parser main loop. Processes CBOR items using a state machine with states 0-4. Reads from stream via STL_json_input_adapter_read. Handles begin_object/end_object/string parsing with stack-based nesting. Uses virtual dispatch through param_2 visitor vtable. 0x004FF660 672 STL_cbor_bytes_parser_main_loop_004ff660 stl jsoncons CBOR bytes-source parser main loop. Same state machine as the stream variant but reads from an in-memory byte buffer via STL_json_bytes_source_read instead of a stream adapter. Handles CBOR item dispatch through visitor vtable. 0x004FF920 584 STL_json_decode_from_stream_004ff920 stl jsoncons decode JSON from stream. Creates a JSON lexer, initializes the parser, runs the main parsing loop, then validates and destroys all resources. Throws ios_base::failure with type_error if parsing fails. 0x004FFB70 205 STL_json_decode_from_cstr_004ffb70 stl jsoncons decode JSON from C-string. Computes string length, then calls STL_json_parser_parse_value with the string pointer and length. Supports optional allocator via stack parameter. 0x004FFC40 246 STL_json_parser_parse_false_004ffc40 stl jsoncons JSON parser parse_false(). Attempts fast-path parsing of "false" literal by checking 4 remaining chars. On success, invokes visitor->bool_value(false) and checks for trailing content. Falls back to char-by-char parsing if buffer is too short. 0x004FFD40 238 STL_json_parser_parse_null_004ffd40 stl jsoncons JSON parser parse_null(). Attempts fast-path parsing of "null" literal by checking 3 remaining chars. On success, invokes visitor->null_value() and checks for trailing content. Falls back to char-by-char parsing if buffer is too short. 0x004FFE30 37 STL_json_parser_dispatch_number_state_004ffe30 stl jsoncons JSON parser number state dispatcher. Uses indirect jump table to dispatch to the appropriate number parsing handler based on the current parser state byte at +0x14c. State values 0x1c-0x23 map to different number parsing stages. 0x00500C10 117 STL_json_parser_check_and_throw_error_00500c10 stl jsoncons JSON parser check_and_throw_error. Calls the main parser loop, then if an error occurred, constructs and throws a CxxException with the error code and location info from the parser state. 0x00500C90 3595 STL_json_parser_main_loop_streamed_00500c90 stl jsoncons JSON streamed parser main loop (3595 bytes). Giant state machine processing JSON tokens character-by-character from a stream buffer. Handles states 1-47 (0x2f): initial, whitespace, comments, strings, numbers, true/false/null literals, object/array delimiters, CR/LF handling. Dispatches to visitor callbacks for each parsed value. 0x00502010 43 STL_json_parser_dispatch_string_state_00502010 stl jsoncons JSON parser string state dispatcher. Uses indirect jump table indexed by (state - 0xf) to dispatch to the correct string parsing handler. State values 0xf-0x1b map to string/escape sequence parsing stages. 0x00502900 240 STL_json_parser_parse_true_00502900 stl jsoncons JSON parser parse_true(). Attempts fast-path parsing of "true" literal by checking 3 remaining chars. On success, invokes visitor->bool_value(true) and checks for trailing content. Falls back to char-by-char parsing if buffer too short. 0x00502A00 171 STL_basic_filebuf_pbackfail_00502a00 stl std::basic_filebuf::pbackfail(). Puts back a character to the input buffer. Handles three cases: direct buffer putback, ungetc for unbuffered streams, and single-character backup area. Returns EOF on failure. 0x00502AB0 98 STL_json_parser_pop_stack_frame_00502ab0 stl jsoncons parser pop_stack_frame. Deallocates the current JSON value and destroys the associated string, then decrements the stack pointer by 0x28 bytes (one frame). Used when finishing an object/array element. 0x00502B20 144 STL_json_parser_state_stack_pop_00502b20 stl jsoncons parser state_stack pop(). Removes and returns the top byte from the state stack at [+0x16c..+0x170]. Throws assertion "!state_stack_.empty()" if the stack is empty. 0x00502BE0 270 STL_string_push_back_char_00502be0 stl std::string push_back(char). Appends a single character to the string. If capacity is sufficient, writes directly. Otherwise grows the buffer using 1.5x growth strategy with aligned allocation for large buffers (>0xfff). 0x00502CF0 55 STL_json_parser_state_stack_push_00502cf0 stl jsoncons parser state_stack push(). Appends a byte to the state stack vector at [+0x16c..+0x174]. Uses direct write if capacity available, otherwise calls vector grow. 0x00502D30 374 STL_json_input_adapter_read_00502d30 stl jsoncons json_input_adapter read(). Reads up to param_3 bytes into param_2 buffer. First copies from internal lookahead buffer at +0xb0/+0xb4, then falls back to streambuf::sgetn for remaining bytes. Tracks total bytes read at +0xa0. Sets eofbit on stream if short read. 0x00502EE0 47 STL_json_bytes_source_read_00502ee0 stl jsoncons bytes_source read(). Copies min(available, requested) bytes from the in-memory buffer at [+4..+8]. Advances the read pointer at +4 by the amount read. Simple memcpy-based source for CBOR/BSON/MessagePack parsing. 0x00502F10 454 STL_cbor_parser_read_string_into_buffer_00502f10 stl jsoncons CBOR stream parser: reads bytes one at a time into the string buffer at +0xdc until a null terminator is found. Each byte is appended via string push_back with 1.5x growth. Updates the byte count in the current stack frame at +0xf8. 0x005030E0 439 STL_cbor_bytes_parser_read_string_into_buffer_005030e0 stl jsoncons CBOR bytes-source parser: reads bytes one at a time from the in-memory buffer into the string buffer at +0x2c until a null terminator is found. Same logic as the stream variant but uses bytes_source_read instead of input_adapter_read. 0x005032A0 166 STL_cbor_parser_read_and_validate_string_005032a0 stl jsoncons CBOR stream parser: read and validate a UTF-8 string. Clears the string buffer, reads bytes into it, validates UTF-8 encoding, then passes the string to the visitor callback at vtable+0x20. Reports error code 3 (illegal UTF-8) on validation failure. 0x00503350 148 STL_cbor_bytes_parser_read_and_validate_string_00503350 stl jsoncons CBOR bytes-source parser: read and validate a UTF-8 string. Same as the stream variant but reads from the in-memory byte buffer. Clears buffer, reads, validates UTF-8, dispatches to visitor. 0x005033F0 1030 STL_json_parser_main_loop_buffered_005033f0 stl jsoncons JSON buffered parser main loop (1030 bytes). Feeds buffer chunks to the streamed parser. Handles BOM detection on first chunk, refills the buffer from the stream adapter, and loops until parsing completes or an error occurs. Detects non-UTF-8 encodings (UTF-16/UTF-32) and reports error 0x1e. 0x00503800 139 STL_cbor_parser_read_length_prefixed_string_00503800 stl jsoncons CBOR stream parser: read a length-prefixed string. Reads 4-byte big-endian length, then reads (length-1) bytes into the string buffer, followed by a null terminator byte. Reports EOF error if any read is short, or error 5 if length is negative. 0x00503890 166 STL_cbor_bytes_parser_read_length_prefixed_string_00503890 stl jsoncons CBOR bytes-source parser: read a length-prefixed string from memory buffer. Reads 4-byte length prefix, then (length-1) bytes into string buffer, then a terminator. Same logic as stream variant but reads from in-memory source. 0x00503940 98 STL_cbor_parser_dispatch_item_type_00503940 stl jsoncons CBOR stream parser: dispatch item by CBOR major type byte. Handles: 1=double, 2/0xe/0x7f/0xff=string, 3=begin_object, 4=begin_array with nesting check, 5=binary data with chunked read, 6=null, 7=ObjectId (12 bytes), 8=boolean, 9=int64, 10=null, 0xb=regex, 0xd=UTF-8 string, 0x10=int32, 0x11=uint64, 0x12=int64, 0x13=decimal128. 0x005041D0 1671 STL_cbor_bytes_parser_dispatch_item_type_005041d0 stl jsoncons CBOR bytes-source parser: dispatch item by CBOR major type byte. Same type dispatch as the stream variant (1671 bytes) but reads from an in-memory byte buffer. Handles all BSON types: double, string, object, array, binary, null, ObjectId, boolean, int32/int64/uint64, regex, decimal128. 0x005049A0 243 STL_string_reserve_005049a0 stl std::string reserve(). Grows the string capacity to at least param_2 if current capacity is smaller. Uses 1.5x growth strategy. Preserves existing content via memcpy. Frees old buffer with aligned deallocation for large buffers (>0xfff). 0x00504AA0 62 STL_vector_0x28_reserve_00504aa0 stl std::vector<0x28-element> reserve(). Ensures capacity for at least param_2 elements of size 0x28 bytes. Throws vector_too_long if requested size exceeds 0x6666666 elements. Calls STL_vector_0x28_reallocate_v2 to grow. 0x00504AE0 42 STL_string_resize_00504ae0 stl std::string resize(). If param_2 <= current size, truncates the string and adds null terminator. If param_2 > current size, calls string_append_chars to extend with fill characters. 0x00504B10 451 STL_bitvector_resize_00504b10 stl std::vector resize (bitvector). If growing, inserts bits using bitmask operations - handles word-aligned and cross-word cases with memset for bulk fills. If shrinking, erases trailing bits. Uses 32-bit words for storage. 0x00504CE0 217 STL_basic_filebuf_seekoff_00504ce0 stl std::basic_filebuf::seekoff(). Seeks to a position relative to origin (param_5=whence). Adjusts offset for single-char putback area. Calls _fseeki64 + fgetpos to perform the seek and get new position. Resets the backup area on success. 0x00504DC0 198 STL_basic_filebuf_seekpos_00504dc0 stl std::basic_filebuf::seekpos(). Seeks to an absolute file position using fsetpos. Computes the target position from params 3-6, flushes pending output via unshift_and_write, then restores stream buffer pointers. Returns pos_type(-1) on failure. 0x00504E90 205 STL_basic_filebuf_setbuf_00504e90 stl std::basic_filebuf::setbuf(). Configures the file buffer using setvbuf. If buffer is null and size is 0, switches to unbuffered mode (_IONBF). On success, reinitializes the streambuf pointers from the underlying FILE's buffer. Returns this on success, nullptr on failure. 0x00504F60 83 STL_json_value_get_size_00504f60 stl jsoncons json_value get_size(). Returns the number of elements for container types: type 9 (array) = element count from vector of 16-byte elements, type 0xb (object) = element count from vector of 0x28-byte elements, type 0xc = dereferences and recurses. Returns 0 for other types. 0x00504FD0 191 STL_json_parser_skip_whitespace_00504fd0 stl jsoncons JSON parser skip_whitespace(). Advances through the input buffer skipping spaces (0x20) and tabs (0x09). Handles newlines (0x0a) by incrementing line counter. Handles carriage returns (0x0d) by pushing state and transitioning to CR state 0x2e. Stops at any non-whitespace character. 0x005050C0 489 STL_json_lexer_scan_whitespace_005050c0 stl JSON lexer: scans input consuming whitespace (spaces, tabs, newlines, carriage returns). Tracks line number (+0x130), column (+0x134), and line start position (+0x148). On CR, pushes current state onto state stack. Throws json_exception if state stack is empty when needed. 0x00505300 149 STL_string_substr_00505300 stl std::string::substr - Creates a new string from this string starting at param_3 position with param_4 length. Validates position against string length, throws if out of range. Adjusts length if it exceeds available chars. 0x005053A0 357 STL_json_variant_move_by_type_005053a0 stl JSON variant move/swap by type. Reads type nibble (low 4 bits of first byte) from source, dispatches to appropriate type-specific swap handler (types 0-12: json, bool, group, map, float, double, long, int, char, array, enum, key, indirection). Used during JSON value reassignment. 0x00505550 46 STL_streambuf_sync_00505550 stl std::basic_streambuf::sync - Flushes the stream buffer. Calls virtual overflow(-1) first, then fflush on the underlying FILE*. Returns 0 on success, -1 on failure. 0x00505580 23 STL_json_variant_get_nested_type_byte_00505580 stl JSON variant: resolves nested/indirect type references. Follows indirection chain while type nibble is 0xC (indirection node), dereferencing pointer at offset+4. Returns the type byte of the final resolved node at offset+1. 0x005055A0 182 STL_uint_to_string_005055a0 stl Converts an unsigned integer to an std::string. Uses _UIntegral_to_buff to write digits into a local buffer, then constructs a new string from the result. Part of JSON number-to-string serialization. 0x00505660 90 STL_locale_facet_vtable_dispatch_0x10_00505660 stl STL locale facet virtual dispatch wrapper. Calls vtable entry at offset 0x10 on the object pointed to by this->vtable, forwarding params (p2, p3, p4). Returns result in param_2. 0x005056C0 136 STL_locale_narrow_char_005056c0 stl STL locale narrow/widen single character conversion. Calls the facet dispatch at 0x10 to convert a single char, then extracts the first byte of the resulting string. Used for locale-sensitive character transformation. 0x00505750 324 STL_json_sax_event_dispatch_00505750 stl JSON SAX event dispatcher. Maps event type codes (0-5+) to SAX handler callbacks via the function pointer at this+0x11C. Event types map to internal codes (0x1a, 0x19, 0x1d, 0x1c, 0x1b). On handler failure, generates error info via helper. Case 0 is no-op. 0x005058B0 59 STL_json_variant_get_type_ordinal_005058b0 stl JSON variant: maps internal type nibble (low 4 bits of first byte) to a normalized ordinal 0-9. Type 0xC (indirection) is followed recursively. Types 10/11 both map to ordinal 9. Types 6+ default to ordinal 6. Used for type comparison/ordering. 0x00505920 832 STL_streambuf_underflow_with_codecvt_00505920 stl std::basic_streambuf::underflow with codecvt support. Reads characters from underlying FILE* with multi-byte character conversion via std::codecvt::in. Handles buffered reads, codecvt partial results (loops to get more bytes), and direct single-byte reads when no codecvt facet. Returns next char or EOF (-1). 0x00505C70 61 underflow game_core basic_filebuf underflow. Returns the current character from the get area if available, otherwise calls uflow/sputbackc to read the next character. 0x00505CB0 32 STL_json_sax_get_result_with_position_00505cb0 stl JSON SAX handler callback result getter. Returns the success byte at this+4. If this+8 is non-zero, also copies the position pair (this+8, this+0xc) into the output param_4 for error location reporting. 0x00505CD0 23 STL_json_sax_vtable_dispatch_0x18_00505cd0 stl JSON SAX virtual dispatch wrapper. Calls vtable[0x18] on the handler object (this->vtable), forwarding params 3-5. Used as a SAX callback trampoline. 0x00505CF0 182 STL_json_sax_begin_array_00505cf0 stl JSON SAX begin_array handler. Checks stack state, destroys previous range if stack top is 0. Pushes a new array structure (type=1) onto the item stack (0x28-byte entries) and records the structure index on the structure stack (+0x40). Returns 1 on success. 0x00505DB0 14 STL_json_sax_vtable_dispatch_0x14_00505db0 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x14] on that handler. Thin trampoline for SAX event forwarding. 0x00505DC0 14 STL_json_sax_vtable_dispatch_0x18_v2_00505dc0 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x18] on that handler. Thin trampoline for SAX event forwarding. 0x00505DD0 118 STL_json_sax_serialize_array_00505dd0 stl JSON SAX array serializer. Calls handler vtable[0x14] with event type 2, then with the array size. Iterates over each element in the array (from *param_2 to *param_2 + param_2[1]*4), dispatching vtable[0x38] for each. Ends with vtable[0x1c] call. 0x00505E50 14 STL_json_sax_vtable_dispatch_0x74_00505e50 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x74] on that handler. Thin trampoline for SAX event forwarding. 0x00505E60 32 STL_json_sax_get_result_with_position_00505e60 stl JSON SAX handler callback result getter. Returns the success byte at this+4. If this+8 is non-zero, copies the position pair (this+8, this+0xc) into the output param for error location reporting. 0x00505E80 23 STL_json_sax_vtable_dispatch_0x0c_00505e80 stl JSON SAX virtual dispatch wrapper. Calls vtable[0x0c] on the handler object (this->vtable), forwarding params 3-5. Used as a SAX callback trampoline. 0x00505EA0 182 STL_json_sax_begin_object_00505ea0 stl JSON SAX begin_object handler. Checks stack state, destroys previous range if stack top is 0. Pushes a new object structure (type=2) onto the item stack (0x28-byte entries) and records the structure index on the structure stack (+0x40). Returns 1 on success. 0x00505F60 14 STL_json_sax_vtable_dispatch_0x08_00505f60 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x08]. Thin trampoline for SAX event forwarding. 0x00505F70 14 STL_json_sax_vtable_dispatch_0x0c_00505f70 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x0c]. Thin trampoline for SAX event forwarding. 0x00505F80 32 STL_json_sax_get_result_with_position_00505f80 stl JSON SAX handler callback result getter. Returns the success byte at this+4. If this+8 is non-zero, copies the position pair (this+8, this+0xc) into the output param for error location reporting. 0x00505FA0 234 STL_json_sax_boolean_value_00505fa0 stl JSON SAX boolean_value handler. If stack top is 0 (root), creates a boolean variant node (type=1) with the value, swaps it into the result, deallocates old, and marks complete. If stack top is 1 or 2 (inside array/object), emplaces the boolean onto the item stack. Returns 0 at root, 1 inside container. 0x00506090 14 STL_json_sax_vtable_dispatch_0x28_00506090 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x28]. Thin trampoline for SAX event forwarding. 0x005060A0 32 STL_json_sax_get_result_with_position_005060a0 stl JSON SAX handler callback result getter. Returns the success byte at this+4. If this+8 is non-zero, copies the position pair (this+8, this+0xc) into the output param for error location reporting. 0x005060C0 25 STL_json_sax_vtable_dispatch_0x34_005060c0 stl JSON SAX virtual dispatch wrapper. Calls vtable[0x34] on the handler object, passing (p2, 0, p5, p6). The zero second argument distinguishes this from other dispatch variants. 0x005060E0 271 STL_json_sax_string_value_005060e0 stl JSON SAX string_value handler. If stack top is 0 (root), creates a string node via STL_json_alloc_string_node (type=8) with the key flag, swaps into result, deallocates old, marks complete. If stack top is 1/2, emplaces the string value onto the item stack. Returns 0 at root, 1 inside container. 0x005061F0 271 STL_json_sax_key_value_005061f0 stl JSON SAX key_value handler (string with extra key context args). If stack top is 0 (root), creates a string node via STL_json_alloc_string_node (type=8, flag=0x11) with extra context, swaps into result, deallocates old, marks complete. If stack top is 1/2, emplaces onto item stack. Returns 0 at root, 1 inside container. 0x00506300 53 STL_json_sax_dispatch_with_pair_copy_00506300 stl JSON SAX dispatch with copied pair. Copies an 8-byte pair from param_2 to local, then calls handler vtable[0x34] with the copied pair and additional params. Used for SAX events that pass value pairs (e.g., key-value). 0x00506340 56 STL_json_sax_dispatch_with_pair_copy_v2_00506340 stl JSON SAX dispatch with copied pair (5 args). Copies an 8-byte pair from param_2, then calls handler vtable[0x30] with the copied pair and 4 additional params. Variant of pair-dispatch for events needing more context. 0x00506380 32 STL_json_sax_get_result_with_position_00506380 stl JSON SAX handler callback result getter. Returns the success byte at this+4. If this+8 is non-zero, copies the position pair (this+8, this+0xc) into the output param for error location reporting. 0x005063A0 238 STL_json_sax_number_float_005063a0 stl JSON SAX number_float handler (double value). If stack top is 0 (root), creates a float variant node (type=5) with the double, swaps into result, deallocates old, marks complete. If stack top is 1/2, emplaces the float onto the item stack. Returns 0 at root, 1 inside container. 0x00506490 39 STL_json_sax_vtable_dispatch_0x44_00506490 stl JSON SAX virtual dispatch wrapper. Calls handler vtable[0x44] with an 8-byte value (param_2 as undefined8) plus 3 additional params. Used for number/float event forwarding. 0x005064C0 32 STL_json_sax_get_result_with_position_005064c0 stl JSON SAX handler callback result getter. Returns the success byte at this+4. If this+8 is non-zero, copies the position pair (this+8, this+0xc) into the output param for error location reporting. 0x005064E0 665 STL_json_sax_end_array_005064e0 stl JSON SAX end_array handler. Validates structure stack has >= 2 entries and top is type 1 (array). Collects child items from item stack, inserts them into parent array value node. Handles array/object/map children specially. Erases processed items from stack. Pops structure stack. If now at root, swaps result and marks complete. 0x00506780 14 STL_json_sax_vtable_dispatch_0x1c_00506780 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x1c]. Thin trampoline for SAX event forwarding. 0x00506790 11 STL_json_sax_vtable_dispatch_direct_0x1c_00506790 stl JSON SAX virtual dispatch via single (direct) indirection. Calls vtable[0x1c] directly on the this object. Unlike double-indirection variants, this does not dereference through this+4 first. 0x005067A0 14 STL_json_sax_vtable_dispatch_0x78_005067a0 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x78]. Thin trampoline for SAX event forwarding. 0x005067B0 32 STL_json_sax_get_result_with_position_005067b0 stl JSON SAX handler callback result getter. Returns the success byte at this+4. If this+8 is non-zero, copies the position pair (this+8, this+0xc) into the output param for error location reporting. 0x005067D0 403 STL_json_sax_end_object_005067d0 stl JSON SAX end_object handler. Validates structure stack is non-empty and top is type 2 (object). Collects child key-value pairs from item stack. Sorts the object keys via sorted_vector_merge. Erases processed items. Pops structure stack. If now at root, swaps result and marks complete. Throws on assertion failures. 0x00506970 14 STL_json_sax_vtable_dispatch_0x10_00506970 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x10]. Thin trampoline for SAX event forwarding. 0x005069B0 32 STL_json_sax_get_result_with_position_005069b0 stl JSON SAX handler callback result getter. Returns the success byte at this+4. If this+8 is non-zero, copies the position pair (this+8, this+0xc) into the output param for error location reporting. 0x005069D0 63 STL_json_sax_half_float_dispatch_005069d0 stl JSON SAX half-float dispatch wrapper. Converts a 16-bit half-precision float to double via STL_half_float_to_double, then dispatches to handler vtable[0x44] with the double value and remaining params. Bridges half-float CBOR values to the standard float handler. 0x00506A10 241 STL_json_sax_number_half_float_00506a10 stl JSON SAX number_half_float handler (16-bit half-precision). If stack top is 0 (root), creates a half-float variant node (type=4) with the value, swaps into result, deallocates old, marks complete. If stack top is 1/2, emplaces onto item stack. Returns 0 at root, 1 inside container. 0x00506B10 14 STL_json_sax_vtable_dispatch_0x40_00506b10 stl JSON SAX virtual dispatch via double indirection. Dereferences this+4 to get handler pointer, then calls vtable[0x40]. Thin trampoline for SAX event forwarding. 0x00506B20 32 STL_json_sax_get_result_with_position_00506b20 stl JSON SAX handler callback result getter. Returns the success byte at this+4. If this+8 is non-zero, copies the position pair (this+8, this+0xc) into the output param for error location reporting. 0x00506B40 240 STL_json_sax_number_integer_00506b40 stl JSON SAX number_integer handler (signed 64-bit integer as two 32-bit words). If stack top is 0 (root), creates an integer variant node (type=2) with the value, swaps into result, deallocates old, marks complete. If stack top is 1/2, emplaces onto item stack. Returns 0 at root, 1 inside container. 0x00506C30 32 STL_json_sax_vtable_dispatch_0x3c_00506c30 stl JSON SAX virtual dispatch wrapper. Calls handler vtable[0x3c] via double indirection (this+4), forwarding all 5 params. Used for SAX event forwarding. 0x00506C50 32 STL_json_sax_get_match_result_00506c50 stl JSON SAX parser: returns match result flag (byte at +4) and copies match position pair from +8/+0xC to output if non-null. Used by nlohmann::json SAX event handlers. 0x00506C70 271 STL_json_sax_assign_string_to_member_00506c70 stl JSON SAX handler: copies input string (param_2 ptr+len) into local buffer, then moves it into member at offset +0x18 (string move-assign with SSO cleanup). 0x00506D80 48 STL_json_sax_virtual_dispatch_3arg_00506d80 stl JSON SAX virtual dispatch: loads iterator pair from param_2, then calls vtable[0x20/4] = vtable[8] with the pair and two extra args. Part of nlohmann::json serializer framework. 0x00506DB0 32 STL_json_sax_get_match_result_00506db0 stl JSON SAX parser: returns match result flag (byte at +4) and copies match position pair from +8/+0xC to output if non-null. Identical pattern to 00506c50. 0x00506DD0 300 STL_json_sax_value_event_push_00506dd0 stl JSON SAX value event handler: checks state at *(+0x40)-8. If 0, sets parse error. If 1 or 2, pushes current string+flag pair as 0x28-byte element onto vector at +0x34/+0x38, growing if needed. 0x00506F00 14 STL_virtual_dispatch_offset_0x24_00506f00 stl Virtual dispatch thunk: calls vtable[0x24/4] = vtable[9] via indirect pointer at *(*(param_1+4))+0x24. Tail call, no local state. 0x00506F10 32 STL_json_sax_get_match_result_00506f10 stl JSON SAX parser: returns match result flag (byte at +4) and copies match position pair from +8/+0xC to output if non-null. Same pattern as 00506c50/00506db0. 0x00506F30 225 STL_json_sax_string_event_push_00506f30 stl JSON SAX string event handler: checks state at *(+0x40)-8. If 0, constructs string and sets error. If 1 or 2, emplaces string with constructor args onto 0x28-byte vector element at +0x34. 0x00507020 51 STL_json_sax_virtual_dispatch_4arg_00507020 stl JSON SAX virtual dispatch: loads iterator pair from param_2, then calls vtable[0x2C/4] = vtable[11] with the pair and three extra args. Part of nlohmann::json serializer framework. 0x00507060 108 STL_json_sax_serialize_char_array_00507060 stl JSON SAX serialization: iterates char array (1-byte elements), calling vtable[0x3C/4] with sign-extended char value for each element. Calls vtable[0x14/4] to start and vtable[0x1C/4] to finish. 0x005070D0 108 STL_json_sax_serialize_byte_array_005070d0 stl JSON SAX serialization: iterates byte array (1-byte unsigned elements), calling vtable[0x38/4] with zero-extended byte value for each. Calls vtable[0x14/4] to start and vtable[0x1C/4] to finish. 0x00507140 113 STL_json_sax_serialize_short_array_signed_00507140 stl JSON SAX serialization: iterates short array (2-byte signed elements), calling vtable[0x3C/4] with sign-extended short value for each. Array length at param_2[1], data at *param_2. 0x005071C0 113 STL_json_sax_serialize_short_array_unsigned_005071c0 stl JSON SAX serialization: iterates unsigned short/wchar_t array (2-byte elements), calling vtable[0x38/4] with zero-extended value for each. Array length at param_2[1], data at *param_2. 0x00507240 112 STL_json_sax_serialize_int_array_signed_00507240 stl JSON SAX serialization: iterates signed int array (4-byte elements), calling vtable[0x3C/4] with sign-extended value for each. Array length at param_2[1], data at *param_2. 0x005072B0 95 STL_json_sax_serialize_int_array_unsigned_005072b0 stl JSON SAX serialization: iterates unsigned int array (4-byte elements), calling vtable[0x38/4] with zero-extended value for each. Array length at param_2[1], data at *param_2. 0x00507310 106 STL_json_sax_serialize_float_array_00507310 stl JSON SAX serialization: iterates float array (4-byte elements), calling vtable[0x44/4] with each float promoted to double. Array length at param_2[1], data at *param_2. 0x00507380 103 STL_json_sax_serialize_double_array_00507380 stl JSON SAX serialization: iterates double array (8-byte elements), calling vtable[0x44/4] with each double value. Array length at param_2[1], data at *param_2. 0x005073F0 96 STL_json_sax_serialize_int64_array_signed_005073f0 stl JSON SAX serialization: iterates signed int64 array (8-byte elements), calling vtable[0x3C/4] with each 64-bit value as hi/lo pair. Array length at param_2[1], data at *param_2. 0x00507450 96 STL_json_sax_serialize_int64_array_unsigned_00507450 stl JSON SAX serialization: iterates unsigned int64 array (8-byte elements), calling vtable[0x38/4] with each 64-bit value as hi/lo pair. Array length at param_2[1], data at *param_2. 0x005074B0 97 STL_json_sax_serialize_wchar_array_005074b0 stl JSON SAX serialization: iterates wchar_t array (2-byte elements), calling vtable[0x40/4] with zero-extended wchar_t value for each. Uses different vtable slot than other short arrays. 0x00507520 14 STL_virtual_dispatch_offset_0x60 stl Virtual dispatch thunk: calls vtable[0x60/4] 0x00507530 14 STL_virtual_dispatch_offset_0x70_00507530 stl Virtual dispatch thunk: calls vtable[0x70/4] = vtable[28] via indirect pointer at *(*(param_1+4))+0x70. Tail call, no local state. 0x00507540 14 STL_virtual_dispatch_offset_0x5c_00507540 stl Virtual dispatch thunk: calls vtable[0x5C/4] = vtable[23] via indirect pointer at *(*(param_1+4))+0x5C. Tail call, no local state. 0x00507550 14 STL_virtual_dispatch_offset_0x6c_00507550 stl Virtual dispatch thunk: calls vtable[0x6C/4] = vtable[27] via indirect pointer at *(*(param_1+4))+0x6C. Tail call, no local state. 0x00507560 14 STL_virtual_dispatch_offset_0x58_00507560 stl Virtual dispatch thunk: calls vtable[0x58/4] = vtable[22] via indirect pointer at *(*(param_1+4))+0x58. Tail call, no local state. 0x00507570 14 STL_virtual_dispatch_offset_0x68_00507570 stl Virtual dispatch thunk: calls vtable[0x68/4] = vtable[26] via indirect pointer at *(*(param_1+4))+0x68. Tail call, no local state. 0x00507580 14 STL_virtual_dispatch_offset_0x4c_00507580 stl Virtual dispatch thunk: calls vtable[0x4C/4] = vtable[19] via indirect pointer at *(*(param_1+4))+0x4C. Tail call, no local state. 0x00507590 14 STL_virtual_dispatch_offset_0x48_00507590 stl Virtual dispatch thunk: calls vtable[0x48/4] = vtable[18] via indirect pointer at *(*(param_1+4))+0x48. Tail call, no local state. 0x005075A0 14 STL_virtual_dispatch_offset_0x54_005075a0 stl Virtual dispatch thunk: calls vtable[0x54/4] = vtable[21] via indirect pointer at *(*(param_1+4))+0x54. Tail call, no local state. 0x005075B0 14 STL_virtual_dispatch_offset_0x64_005075b0 stl Virtual dispatch thunk: calls vtable[0x64/4] = vtable[25] via indirect pointer at *(*(param_1+4))+0x64. Tail call, no local state. 0x005075C0 37 STL_virtual_dispatch_offset_0x50_with_global_005075c0 stl Virtual dispatch wrapper: calls vtable[0x50/4] = vtable[20] with global DAT_010d4d10 as first arg plus 4 additional params. Part of JSON/CBOR serializer framework. 0x005075F0 32 STL_json_sax_get_match_result_005075f0 stl JSON SAX parser: returns match result flag (byte at +4) and copies match position pair from +8/+0xC to output if non-null. Same pattern as 00506c50 variants. 0x00507610 240 STL_json_sax_number_event_push_00507610 stl JSON SAX number event handler: checks state at *(+0x40)-8. If 0, creates type-3 value with number data and flag, sets error. If 1 or 2, emplaces number+flag as 0x28-byte element onto vector at +0x34. 0x00507700 32 STL_virtual_dispatch_offset_0x38_00507700 stl Virtual dispatch wrapper: calls vtable[0x38/4] = vtable[14] with 5 forwarded params. Part of JSON/CBOR serializer virtual interface. 0x00507790 185 STL_exception_what_build_message_00507790 stl Exception what() implementation: lazily builds error message string at +0x28. If +0x38 is set, returns cached string. Otherwise builds from exception name (+4, default 'Unknown exception'), appends ': ' and detail string (+0x10), appends ')'. 0x00507890 185 STL_exception_what_build_message_00507890 stl Exception what() implementation: identical to 00507790. Lazily builds error message at +0x28 from name (+4) + detail (+0x10). Returns cached SimpleString pointer. 0x00507990 306 STL_json_parse_exception_what_with_location_00507990 stl JSON parse exception what() with source location: builds message from name (+4), appends 'at line N and column M' using +0x18 (line) and +0x1C (column), or 'at position N' if only column. Caches result at +0x20. 0x00507AF0 294 STL_filebuf_sgetn_buffered_read_00507af0 stl STL filebuf::sgetn (buffered file read): if +0x38 is set, delegates to base xsgetn. Otherwise reads from internal buffer first, then calls fread() in 0xFFF-byte chunks for remaining data. Returns count of bytes actually read. 0x00507C20 217 STL_filebuf_sputn_buffered_write_00507c20 stl STL filebuf::sputn (buffered file write): if +0x38 is set, delegates to base xsputn. Otherwise writes to internal buffer first, then calls fwrite() for overflow. Returns count of bytes actually written. 0x00507D00 6 STL_get_global_singleton_ptr_00507d00 stl Returns pointer to global singleton at DAT_01387208. Likely a locale facet or stream buffer global instance accessor. 0x00507D10 194 STL_json_stringbuf_move_ctor_00507d10 stl JSON stringbuf-like move constructor: initializes output object, move-assigns string from param_2 (clears source SSO), sets type byte to 0x0B, then calls seekpos to initialize stream position. 0x00507DE0 55 STL_stream_state_init_00507de0 stl Stream state initialization: clears low 2 bits of flags at +8, sets boolean at +0xC (nonzero if position is set), stores 64-bit stream position at +0x10/+0x14, zeroes +0x18/+0x1C. Returns this pointer. 0x00507E20 142 STL_string_push_char_and_move_ctor_00507e20 stl Pushes a char onto a string buffer, then move-constructs the output param_1 from param_2's string data (copies SSO inline or pointer, clears source). Part of JSON string building. 0x00507EB0 158 STL_string_append_cstr_and_move_ctor_00507eb0 stl Appends a C-string (param_3, null-terminated, strlen computed inline) to a buffer, then move-constructs output param_1 from the result string. Part of JSON error message building. 0x00507F50 1566 STL_json_float_to_string_formatter_00507f50 stl JSON float-to-string formatter (nlohmann::json dump_float). Handles 3 modes via +4 flag: 0=%g (general), 1=%f (fixed), 2=%e (scientific). Handles precision at +8, NaN/Inf, locale-aware decimal formatting with _create_locale. Throws on format failure. 0x00508570 169 STL_json_get_value_as_uint_00508570 stl JSON value getter: resolves reference by key (param_3 string), checks for null/missing. On success, converts to uint and stores in *param_4, returns 1. On failure, sets parse error message with key name, returns 0. 0x00508620 169 STL_json_get_value_as_double_00508620 stl JSON value getter: resolves reference by key (param_3 string), checks for null/missing. On success, converts to double and stores in *param_4, returns 1. On failure, sets parse error message with key name, returns 0. 0x005086D0 254 STL_json_get_value_as_string_005086d0 stl JSON value getter: resolves reference by key (param_2 string), checks for null/missing. On success, converts to string (move-assigns to *param_3), returns 1. On failure, sets parse error message, returns 0. 0x005087D0 1020 STL_json_iterate_array_get_uint_005087d0 stl JSON array iterator: resolves array by key (param_3 string), iterates elements extracting uint from each. Validates type is array (type 2). Copies element string + calls handler for each. Returns 1 on success, 0 on type mismatch or not found. 0x00508BD0 1362 STL_json_iterate_array_get_string_00508bd0 stl JSON array iterator: resolves array by key (param_3 string), iterates elements extracting string from each. Validates type is array (type 6=string array). Copies element string + converts value for each. Returns 1 on success, 0 on type mismatch or not found. 0x00509130 2034 json__parse_uint_array_per_level_00509130 datatable JSON config parser: iterates object entries, resolves a key to a JSON array of uint values, and populates an output vector per-level. Used for SkillCostSP, SkillRange, etc. Returns 1 on success, 0 on missing/null key. 0x00509940 1020 json__parse_bool_map_from_object_00509940 datatable JSON config parser: iterates object entries, resolves each key-value pair to a bool via json__internal_0051e290, populates a map. Used for MapStringBoolValue parsing. Returns 1 on success. 0x00509D40 261 json__parse_uint_array_from_key_00509d40 datatable JSON config parser: resolves a string key to a JSON array, iterates elements converting each to uint via json__variant_to_uint, pushes into output vector. Returns 1 on success, 0 on missing/null/wrong type. 0x00509E50 280 json__parse_double_array_from_key_00509e50 datatable JSON config parser: resolves a string key to a JSON array, iterates elements converting each to double via json__internal_0051e4c0, pushes into output vector. Returns 1 on success, 0 on missing/null/wrong type. 0x00509F70 169 json__parse_bool_value_from_key_00509f70 datatable JSON config parser: resolves a string key to a bool value via json__internal_0051e290, writes result to output param. Returns 1 on success, 0 on missing/null key. 0x0050A020 493 json__parse_int_keyed_string_map_0050a020 datatable JSON config parser: iterates object entries where keys are integer strings (via atoi), converts values to strings, populates a map (red-black tree). Used for int-keyed string mapping config data. 0x0050A210 1418 json__parse_nprotect_gameguard_config_0050a210 datatable JSON config parser for NProtect GameGuard settings. Parses NProtectGameGuardCSAuthErrorCode section with fields: ErrorCode (uint array), BanCount (uint), IntervalMinute (uint), BlockPeriodDay (uint). Stores into output struct. 0x0050A7A0 550 json__parse_string_list_from_array_0050a7a0 datatable JSON config parser: reads a JSON array, converts each string/number element to a string via json__value_to_string, appends to a linked list of strings. Used for string list config fields. 0x0050A9D0 1119 json__parse_setting_int_string_vectors_map_0050a9d0 datatable JSON config parser: parses a settings object with IntValue (uint), StringValue (string), VectorIntValue (uint array), MapStringBoolValue (map), and MapStringStringValue (map). Stores into multi-field output struct. 0x0050AE30 2552 json__parse_repute_group_entries_0050ae30 datatable JSON config parser for ReputeGroup entries. Iterates array, parses each entry with ID (string, converted to int via strtol), Name (string), ReputeList (uint array). Inserts into a red-black tree keyed by integer ID. 0x0050B830 2668 json__parse_repute_info_entries_0050b830 datatable JSON config parser for reputeInfo entries. Parses each entry with Name (string), MaxPoint_Positive (uint), MaxPoint_Negative (uint), Invisible (string). Key is string ID converted via strtol. Inserts into red-black tree (0x4C node). 0x0050C2A0 3846 json__parse_ez2str_effect_entries_0050c2a0 datatable JSON config parser for EZ2STREffect entries. Parses FilePath (string), PosX/PosY (double), IsInfinite/IsFloor/IsAboveUI/IsSoundLoop/IsToGround (bool), SoundPath (string), QuakeDelay/StartDelayTime (uint). Inserts into map via 0x80-byte nodes. 0x0050D1B0 3600 json__parse_formula_data_entries_0050d1b0 datatable JSON config parser for formula data entries. Parses FormulaVersion (uint) and FormulaData (array of arrays of ints). Builds nested vector> structures. Inserts into red-black tree with string key and tree value (0x34 node). 0x0050E020 2927 json__parse_skill_data_entries_0050e020 datatable JSON config parser for skill data entries. Parses SkillMaxLevel (uint array), SkillType/SkillPattern (string arrays), SkillCostSP/SkillRange/SkillCastFixedDelay/SkillCastStatDelay/SkillSinglePostDelay/SkillGlobalPostDelay/SkillData1/SkillData2 (uint arrays per level). Inserts into map via 0x98-byte nodes. 0x0050EBF0 3773 json__parse_select_package_item_data_0050ebf0 datatable JSON config parser for SelectPackageItemData. Iterates object/array entries, parses sub-items with Name (string), Cnt (uint), Bind (uint), Mark (bool), refine (uint), randomOption (string). Stores into vector of 68-byte (0x44) structs grouped by package ID. 0x0050FD50 484 json__parse_object_keys_to_string_vector_0050fd50 datatable JSON config parser: reads a JSON array or object, converts each element/key to a string via json__value_to_string, pushes into a vector. Handles both array iteration and object key enumeration. 0x0050FF40 356 json__vector_assign_68byte_elements_0050ff40 datatable Vector assign/reallocate for 0x44 (68-byte) elements. Copies source range [param_2, param_3) into the vector at param_1. Reallocates with 1.5x growth if needed. Destroys old elements via json__destroy_68byte_elements. 0x005100B0 34 json__memcpy_range_forward_005100b0 datatable Simple memcpy range helper: copies [param_1, param_2) to param_3, returns end pointer (param_3 + size). Used for trivially-copyable element ranges. 0x005100E0 34 json__memcpy_range_forward_005100e0 datatable Simple memcpy range helper: copies [param_1, param_2) to param_3, returns end pointer (param_3 + size). Duplicate of 005100b0 for a different element type. 0x00510110 265 json__rbtree_copy_nodes_0x2c_00510110 datatable Red-black tree recursive copy for 0x2C-byte nodes (string key + uint value). Allocates new node, copies string via STL_string_copy_construct, copies uint at offset 0x28, recursively copies left/right children. 0x00510240 271 json__rbtree_copy_nodes_0x40_00510240 datatable Red-black tree recursive copy for 0x40-byte nodes (two strings). Allocates new node, copies both strings via STL_string_copy_construct, recursively copies left/right subtrees. 0x00510370 271 json__rbtree_copy_nodes_string_vec_00510370 datatable Red-black tree recursive copy for 0x34-byte nodes (string key + vector). Allocates new node, copies string and vector via STL_vector__copy_construct_4byte_elements, recursively copies left/right subtrees. 0x005104A0 271 json__rbtree_copy_nodes_12byte_vec_005104a0 datatable Red-black tree recursive copy for 0x34-byte nodes (string key + vector of 12-byte elements). Allocates new node, copies string and vector via json__vector_copy_construct_12byte_elements, recursively copies subtrees. 0x005105D0 137 json__copy_assign_68byte_elements_005105d0 datatable Copy-assigns a range of 0x44 (68-byte) elements from source to dest. Each element contains two strings (at offset 0 and offset 0x28) plus scalar fields. Copies strings via STL_string_assign_buffer, copies scalar fields directly. 0x00510660 104 json__destroy_68byte_elements_00510660 datatable Destructor loop for 0x44 (68-byte) elements. Iterates [param_1, param_2) destroying two strings per element (at offsets 0 and 0x28) via STL_string_dtor. Stride is 0x44 bytes. 0x005106D0 414 json__rbtree_emplace_string_uint_005106d0 datatable Red-black tree emplace for map (0x2C-byte nodes). Searches tree using std::_Traits_compare, if key not found allocates new 0x2C node with string copy + uint value, inserts via Insert_node. Returns iterator + inserted flag. 0x00510870 398 json__rbtree_emplace_0x80_node_00510870 datatable Red-black tree emplace for 0x80-byte nodes (EZ2STREffect entries). Searches by string key, if not found allocates 0x80-byte node via json__node_entry_move_construct, inserts via Insert_node. Returns iterator + inserted flag. 0x00510A00 395 json__rbtree_emplace_string_tree_00510a00 datatable Red-black tree emplace for 0x34-byte nodes (string key + tree value). Searches by string key, if not found allocates 0x34-byte node via json__node_with_tree_move_construct, inserts via Insert_node. Returns iterator + inserted flag. 0x00510B90 423 json__rbtree_emplace_0x98_node_00510b90 datatable Red-black tree emplace for 0x98-byte nodes (skill data entries). Searches by string key, if not found allocates 0x98-byte node copying string + calling json__internal_00518120 for the data payload, inserts via Insert_node. 0x00510D40 395 json__rbtree_emplace_key_value_pair_00510d40 datatable Red-black tree emplace for 0x40-byte nodes (key-value pair with two fields). Searches by string key, if not found allocates 0x40-byte node via json__key_value_pair_move_construct, inserts via Insert_node. Returns iterator + inserted flag. 0x00510ED0 447 json__rbtree_emplace_string_vector_00510ed0 datatable Red-black tree emplace for 0x34-byte nodes (string key + 12-byte vector moved from source). Copies string, moves vector data (3 ints at offsets 0x18-0x20), zeros source. Inserts via Insert_node if key not found. 0x00511090 447 json__rbtree_emplace_string_vector_00511090 datatable Red-black tree emplace for 0x34-byte nodes. Identical pattern to 00510ed0: copies string key, moves 12-byte vector payload from source (zeroing original), inserts via Insert_node. Different max-count threshold (0x4ec4ec4). 0x00511250 447 json__rbtree_emplace_string_vector_00511250 datatable Red-black tree emplace for 0x34-byte nodes. Same pattern as 00511090: copies string key, moves 12-byte payload from source, inserts via Insert_node. Used for a different map instance with same node layout. 0x00511410 414 json__rbtree_emplace_string_bool_00511410 datatable Red-black tree emplace for map (0x2C-byte nodes). Copies string key, copies 1-byte bool value at offset 0x18. Inserts via Insert_node. Max count threshold 0x5d1745d. 0x005115B0 452 json__vector_reallocate_68byte_elements_005115b0 datatable Vector reallocate+insert for 0x44 (68-byte) elements. Grows with 1.5x strategy, copies existing elements via json__move_node_array_68byte_elements, inserts new element at position via json__copy_node_fields_with_strings. Frees old buffer. 0x005117A0 435 json__vector_reallocate_12byte_with_copy_005117a0 datatable Vector reallocate+insert for 0xC (12-byte) elements. Grows with 1.5x strategy, copies via STL_vector__copy_construct_4byte_elements, moves existing elements via STL_string__move_range_12byte_elements. Destroys old elements and frees old buffer. 0x00511980 264 json__vector_reallocate_1byte_elements_00511980 datatable Vector reallocate+insert for 1-byte elements. Grows with 1.5x strategy, allocates via STL_aligned_heap_alloc, copies data via memcpy, inserts single byte at position. Replaces old buffer via STL_regex_vector_replace_buffer. 0x00511AB0 337 json__vector_reallocate_4byte_elements_00511ab0 datatable Vector reallocate+insert for 4-byte elements. Grows with 1.5x strategy, allocates aligned buffer, inserts single element at position, copies before/after ranges via memcpy. Frees old buffer. Max capacity 0x3fffffff elements. 0x00511C20 456 json__vector_reallocate_8byte_elements_00511c20 datatable Vector reallocate+insert for 8-byte (double/uint64) elements. Grows with 1.5x strategy, allocates aligned buffer, inserts single 8-byte element at position via memcpy. Frees old buffer. Max capacity 0x1fffffff elements. 0x00511DF0 526 json__vector_reallocate_24byte_elements_00511df0 datatable Vector reallocate+insert for 0x18 (24-byte) elements containing strings. Grows with 1.5x strategy, moves elements via STL_string__move_range_24byte_elements, constructs new element via STL_string__move_construct_24byte. Destroys old strings and frees old buffer. 0x00512030 337 json__vector_reallocate_40byte_elements_00512030 datatable Vector reallocate+insert for 0x28 (40-byte) elements. Grows with 1.5x strategy, allocates via STL_allocate_array_40byte, moves elements via STL_uninitialized_move_0x28_with_cleanup_v2, constructs new element via STL_json_stringbuf_move_ctor. 0x005121B0 445 json__vector_reallocate_8byte_with_null_005121b0 datatable Vector reallocate+insert for 8-byte elements where second dword is zeroed. Grows with 1.5x strategy, inserts element (copies first dword, zeros second), moves before/after ranges. Frees old buffer. Max capacity 0x1fffffff. 0x00512380 128 json__rbtree_destroy_nodes_0x2c_00512380 datatable Red-black tree recursive destructor for 0x2C-byte nodes (string key + uint value). Recursively destroys right subtree, then iterates left children destroying string at offset 0x10 and freeing each 0x2C-byte node. 0x00512400 144 json__rbtree_destroy_nodes_0x40_00512400 datatable Red-black tree recursive destructor for 0x40-byte nodes (two strings). Recursively destroys right subtree, then iterates left children destroying both strings and freeing each 0x40-byte node. 0x00512490 144 json__rbtree_destroy_nodes_vec_0x34_00512490 datatable Red-black tree recursive destructor for 0x34-byte nodes (string + vector). Recursively destroys right subtree, then iterates left children calling json__internal_0051dab0 (vector destroy) + STL_string_dtor, frees each 0x34-byte node. 0x00512520 144 json__rbtree_destroy_nodes_tree_0x34_00512520 datatable Red-black tree recursive destructor for 0x34-byte nodes (string + tree value). Recursively destroys right subtree, then iterates left children calling json__internal_0051dbf0 (tree destroy) + STL_string_dtor, frees each 0x34-byte node. 0x005125B0 128 json__rbtree_destroy_nodes_simple_0x2c_005125b0 datatable Red-black tree recursive destructor for 0x2C-byte nodes (string key only, no second dtor needed). Recursively destroys right subtree, iterates left children destroying string + freeing 0x2C-byte node. Same as 00512380 but without local_8 state tracking. 0x00512630 144 json__rbtree_destroy_nodes_dual_str_0x40_00512630 datatable Red-black tree recursive destructor for 0x40-byte nodes (two strings). Recursively destroys right subtree, iterates left children destroying both strings and freeing 0x40-byte node. Same pattern as 00512400. 0x005126C0 144 json__destroy_tree_nodes_recursive_005126c0 datatable Recursively destroys JSON tree nodes via post-order traversal 0x00512750 144 json__destroy_tree_nodes_recursive_00512750 datatable Recursively destroys JSON tree nodes with different destructor 0x005127E0 296 STL_string__grow_and_insert stl std::string: grows buffer with 1.5x strategy and inserts data 0x00512910 377 STL_vector__reallocate_12byte_elements stl std::vector reallocation for 0xC-byte elements with 1.5x growth 0x00512AC0 211 json__copy_node_array_with_strings datatable Copies JSON node array 0x44 bytes each with embedded strings 0x00512BA0 137 json__move_node_array_68byte_elements datatable Moves JSON node array with 0x44-byte elements 0x00512C30 173 STL_string__move_range_24byte_elements stl Move-constructs range of 24-byte std::string elements 0x00512CE0 162 STL_string__move_range_12byte_elements stl Move-constructs range of 12-byte elements 0x00512D90 143 json__convert_value_wrapper datatable Wrapper for json value conversion with type parameter 2 0x00512E20 304 json__variant_to_uint datatable Converts JSON variant to uint32 based on type tag 0x00512F80 749 json__value_to_string datatable Converts JSON value to std::string based on type tag 0x00513290 133 json__copy_node_fields_with_strings datatable Copies JSON node fields with two embedded strings 0x00513320 64 STL_string__move_construct_24byte stl Move-constructs a 24-byte std::string SSO 0x00513360 215 json__encode_binary_to_string datatable Encodes binary data using hex or base64 encoding 0x00513440 106 json__allocate_and_copy_string_node datatable Allocates 16-byte node and copy-constructs string 0x005134D0 106 json__allocate_and_assign_string_node datatable Allocates 16-byte node and assigns string 0x00513560 486 json__double_to_string_fixed_notation datatable Formats double with f format handles NaN Inf 0x00513750 486 json__double_to_string_fixed_notation_v2 datatable Formats double with f format variant 0x00513940 303 json__double_to_decimal_string datatable Formats double to decimal string returns success 0x00513A70 480 json__double_to_string_g_format datatable Formats double with g format handles NaN Inf 0x00513C50 480 json__double_to_string_g_format_v2 datatable Formats double with g format variant 0x00513E30 303 json__double_to_general_string datatable Formats double to general notation string 0x00513F60 303 json__double_to_scientific_string datatable Formats double to scientific notation 0x00514090 131 json__emit_decimal_digits_with_locale datatable Emits decimal digits replacing locale separator 0x00514160 98 json__push_back_string_to_vector datatable Pushes std::string onto vector end 0x005141D0 729 json__encode_bytes_to_hex_uppercase datatable json: encode bytes to hex uppercase 0x005144B0 84 json__emit_bytes_as_hex_uppercase datatable json: emit bytes as hex uppercase 0x00514510 27 json__base64url_encode_to_string datatable Base64url encode using URL-safe alphabet 0x00514530 27 json__base64_encode_to_stream datatable Base64 encode to stream 0x00514550 27 json__base64_encode_to_stream_v2 datatable Base64 encode variant to stream 0x00514570 1348 json__base64_encode_to_string_impl datatable Base64 encode 3-byte to 4-char via alphabet table 0x00514AC0 354 json__base64_encode_to_stream_impl datatable Base64 encode to stream via alphabet 0x00514C30 382 json__base64_encode_to_stream_impl_v2 datatable Base64 encode variant to stream 0x00514DB0 27 json__base64url_encode_to_string_nopad datatable Base64url encode without padding 0x00514DD0 27 json__base64_standard_encode_to_stream datatable Standard base64 encode with padding 0x00514DF0 27 json__base64_padded_encode_to_stream datatable Padded base64 encode variant 0x00514E10 450 json__sorted_map_equal_range datatable Binary search equal range in sorted kv array 0x00514FE0 877 json__escape_string_for_output datatable JSON string escaping for special chars 0x005153D0 547 json__emit_signed_exponent datatable Emits signed exponent with plus minus prefix 0x00515600 358 json__emit_signed_int32 datatable Emits signed 32-bit integer to output 0x00515770 367 json__emit_signed_int64 datatable Emits signed 64-bit integer 0x005158E0 430 json__emit_unsigned_int64 datatable Emits unsigned 64-bit integer to output 0x00515A90 1068 json__parse_decimal_digits_to_bignum datatable Parses decimal digits into bignum 0x00515ED0 407 json__emit_float_formatted_digits datatable Formats float with decimal point placement 0x00516070 314 json__decode_utf8_codepoint datatable Decodes UTF-8 to Unicode codepoint 0x005161D0 186 json__parse_integer_from_string datatable Parses integer from string 0x00516290 147 json__scan_decimal_digits datatable Scans for decimal digits 0x005165D0 864 json__sorted_map_insert_or_find datatable Inserts into sorted array or finds existing 0x00516930 1143 json__parse_msgpack_int_value datatable Parses msgpack integer from byte stream 0x00516DB0 159 json__bignum_copy_or_allocate datatable Copies bignum inline for small heap for large 0x00516E50 180 json__serializer_create datatable Creates JSON serializer with output adapter 0x00516F10 441 json__serializer_init_fields datatable Initializes serializer formatting and locale 0x005170D0 449 json__output_adapter_init datatable Initializes output adapter with defaults 0x005172A0 411 json__output_adapter_reset_strings datatable Resets output adapter string fields 0x00517440 109 STL_string__move_construct_with_seh stl Move-constructs std::string with SEH 0x005174C0 187 json__parse_error_ctor_from_cstr datatable Constructs json parse_error from C string 0x00517580 203 json__parse_error_ctor_from_string datatable Constructs json parse_error from std::string 0x00517650 174 json__type_error_ctor_from_cstr datatable Constructs json type_error from C string 0x00517700 190 json__type_error_ctor_from_string datatable Constructs json type_error from std::string 0x005177C0 234 json__rbtree_copy_construct datatable Copy-constructs red-black tree map 0x005178B0 234 json__rbtree_copy_construct_34byte_nodes datatable Copy-constructs rbtree with 0x34-byte nodes 0x005179A0 244 json__token_move_construct datatable Move-constructs 64-byte token struct 0x00517AA0 210 json__parse_result_move_construct datatable Move-constructs parse result 0x00517B80 279 json__node_entry_move_construct datatable Move-constructs 0x6C-byte node entry 0x00517CA0 166 json__node_with_tree_move_construct datatable Move-constructs node with embedded rbtree 0x00517D50 143 json__key_value_pair_move_construct datatable Move-constructs key-value pair 0x00517DE0 181 STL_vector__copy_construct_4byte_elements stl Copy-constructs vector of 4-byte elements 0x00517EA0 184 json__vector_copy_construct_68byte_elements datatable Copy-constructs vector of 0x44-byte entries 0x00517F60 220 json__vector_copy_construct_12byte_elements datatable Copy-constructs vector of 0xC-byte elements 0x00518040 220 json__node_44byte_move_construct datatable Move-constructs 0x44-byte node with two strings 0x00518120 887 json__schema_data_move_construct datatable Move-constructs schema data object. Swaps 11 rbtree pairs (sizes 0x2C, 0x40, 0x40, 0x34x8) from source to dest via allocate-and-swap pattern, then move-constructs a trailing std::string. 0x005184A0 416 json__schema_data_copy_construct datatable Copy-constructs schema data with rbtrees 0x00518640 604 json__schema_data_default_construct datatable Default-constructs schema with 11 empty rbtrees 0x005188A0 130 json__logic_error_ctor_from_string datatable Constructs json exception from std::string 0x00518930 122 json__logic_error_ctor_from_cstr datatable Constructs json exception from C string 0x005189B0 178 json__other_error_ctor datatable Constructs json other_error with MI vtable 0x00518A70 67 json__free_32byte_block datatable Frees 0x20-byte heap block 0x00518AC0 67 json__free_80byte_block datatable Frees 0x50-byte heap block 0x00518B10 67 json__free_76byte_block datatable Frees 0x4C-byte heap block 0x00518B60 67 json__free_44byte_block_00518b60 datatable Frees 0x2C-byte heap block 0x00518BB0 67 json__free_44byte_block_00518bb0 datatable Frees 0x2C-byte heap block 0x00518C00 70 json__free_128byte_block datatable Frees 0x80-byte heap block 0x00518C50 67 json__free_52byte_block_00518c50 datatable Frees 0x34-byte heap block 0x00518CA0 70 json__free_152byte_block datatable Frees 0x98-byte heap block 0x00518CF0 67 json__free_64byte_block datatable Frees 0x40-byte heap block 0x00518D40 67 json__free_52byte_block_00518d40 datatable Frees 0x34-byte heap block 0x00518D90 67 json__free_52byte_block_00518d90 datatable Frees 0x34-byte heap block 0x00518DE0 67 json__free_52byte_block_00518de0 datatable Frees 0x34-byte heap block 0x00518E30 67 json__free_44byte_block_00518e30 datatable Frees 0x2C-byte heap block 0x00518E80 87 json__destroy_shared_ptr_ref datatable Destroys shared pointer calls dtor then releases 0x00518EE0 104 json__destroy_and_free_32byte_block datatable Destroys then frees 0x20-byte block 0x00518F90 76 json__rbtree_destroy_44byte_nodes datatable Destroys rbtree then frees 0x2C-byte header 0x00518FF0 76 json__rbtree_destroy_64byte_nodes datatable Destroys rbtree then frees 0x40-byte header 0x00519050 76 json__rbtree_destroy_52byte_nodes_00519050 datatable Destroys rbtree then frees 0x34-byte header 0x005190B0 76 json__rbtree_destroy_52byte_nodes_005190b0 datatable Destroys rbtree then frees 0x34-byte header 0x00519110 84 json__rbtree_destroy_indirect_44byte datatable Destroys rbtree via indirect pointer 0x00519170 84 json__rbtree_destroy_indirect_64byte datatable Destroys rbtree via indirect pointer 0x005191D0 84 json__rbtree_destroy_indirect_52byte_005191d0 datatable Destroys rbtree via indirect pointer 0x00519230 84 json__rbtree_destroy_indirect_52byte_00519230 datatable Destroys rbtree via indirect pointer 0x00519290 151 json__destroy_and_free_80byte_with_dtors datatable Destroys 0x50-byte object with dtors 0x00519330 139 json__destroy_and_free_76byte_with_dtors datatable Destroys 0x4C-byte object with dtor 0x005193C0 116 json__destroy_and_free_44byte_005193c0 datatable Calls dtor then frees 0x2C-byte block 0x00519440 113 json__destroy_and_free_44byte_00519440 datatable Calls dtor then frees 0x2C-byte block 0x005194C0 155 json__destroy_and_free_128byte_with_dtors datatable Calls 3 dtors then frees 0x80-byte block 0x00519560 168 json__destroy_tree_and_free_52byte datatable Destroys embedded rbtree then frees block 0x00519610 132 json__destroy_and_free_152byte_with_dtor datatable Calls schema dtor then frees 0x98-byte block 0x005196A0 129 json__destroy_and_free_64byte_with_dtors datatable Calls 2 dtors then frees 0x40-byte block 0x00519730 129 json__destroy_and_free_52byte_with_dtor_a datatable Calls tree dtor A then frees block 0x005197C0 129 json__destroy_and_free_52byte_with_dtor_b datatable Calls tree dtor B then frees block 0x00519850 129 json__destroy_and_free_52byte_with_dtor_c datatable Calls tree dtor C then frees block 0x005198E0 113 json__destroy_and_free_44byte_005198e0 datatable Calls dtor then frees 0x2C-byte block 0x00519960 78 json__free_80byte_block_00519960 datatable Frees 0x50-byte (80-byte) heap block if non-null. Cleanup callback in destructor chain. 0x005199B0 78 json__free_76byte_block_005199b0 datatable Frees 0x4C-byte (76-byte) heap block if non-null. Cleanup callback in destructor chain. 0x00519A00 78 json__free_44byte_block_00519a00 datatable Frees 0x2C-byte (44-byte) heap block if non-null. Cleanup callback in destructor chain. 0x00519A50 78 json__free_44byte_block_00519a50 datatable Frees 0x2C-byte (44-byte) heap block if non-null. Cleanup callback in destructor chain. 0x00519AA0 81 json__free_128byte_block_00519aa0 datatable Frees 0x80-byte (128-byte) heap block if non-null. Cleanup callback in destructor chain. 0x00519B00 78 json__free_52byte_block_00519b00 datatable Frees 0x34-byte (52-byte) heap block if non-null. Cleanup callback in destructor chain. 0x00519B50 81 json__destroy_with_dtor_00519b50 datatable JSON library destructor cleanup function 0x00519BB0 78 json__destroy_with_dtor_00519bb0 datatable JSON library destructor cleanup function 0x00519C00 78 json__destroy_with_dtor_00519c00 datatable JSON library destructor cleanup function 0x00519C50 78 json__destroy_with_dtor_00519c50 datatable JSON library destructor cleanup function 0x00519CA0 78 json__destroy_with_dtor_00519ca0 datatable JSON library destructor cleanup function 0x00519CF0 78 json__destroy_with_dtor_00519cf0 datatable JSON library destructor cleanup function 0x00519DF0 110 json__bignum_free_buffer_00519df0 datatable Frees the dynamically allocated bignum digit buffer at offset+0x14. Checks allocation alignment for large buffers (>0xfff). Clears buffer only if the dynamic flag (bit 0 of byte at offset+8) is set. 0x00519E70 170 json__string_destructor_00519e70 datatable Destroys std::string and releases memory 0x00519F30 87 json__rbtree_destroy_0x2c_00519f30 datatable Destroys a red-black tree with 0x2c-byte nodes. Recursively destroys all child nodes via json__rbtree_destroy_nodes_0x2c, then frees the sentinel/root node. 0x00519F90 87 json__rbtree_destroy_0x40_00519f90 datatable Destroys a red-black tree with 0x40-byte nodes. Recursively destroys all child nodes via json__rbtree_destroy_nodes_0x40, then frees the sentinel/root node. 0x00519FF0 87 json__rbtree_destroy_vec_0x34_00519ff0 datatable Destroys a red-black tree with 0x34-byte nodes containing vectors. Recursively destroys nodes via json__rbtree_destroy_nodes_vec_0x34, then frees the root node. 0x0051A050 87 json__rbtree_destroy_tree_0x34_0051a050 datatable Destroys a red-black tree with 0x34-byte nodes containing sub-trees. Recursively destroys nodes via json__rbtree_destroy_nodes_tree_0x34, then frees the root node. 0x0051A0B0 111 json__dtor_vector_and_two_strings_0051a0b0 datatable Exception/unwind destructor that clears a vector (via json__vector_clear_and_free) and then destroys two std::string members in sequence. 0x0051A120 99 json__dtor_two_strings_0051a120 datatable Exception/unwind destructor that destroys two std::string members in sequence. 0x0051A190 68 json__dtor_string_wrapper_0051a190 datatable Simple SEH unwind handler that destroys a single std::string member. 0x0051A1E0 65 json__dtor_string_wrapper_0051a1e0 datatable Simple SEH unwind handler that destroys a single std::string member. 0x0051A230 111 json__dtor_three_strings_0051a230 datatable Exception/unwind destructor that destroys three std::string members in sequence with staged unwind state tracking. 0x0051A2A0 127 json__dtor_rbtree_and_string_0051a2a0 datatable Exception/unwind destructor that destroys a red-black tree (0x34-byte nodes) at offset+0x1c and then destroys a std::string member. 0x0051A320 86 json__dtor_multi_rbtree_and_string_0051a320 datatable Exception/unwind destructor that calls json__destroy_11_rbtrees to destroy a multi-rbtree container, then destroys a std::string member. 0x0051A380 86 json__dtor_string_pair_0051a380 datatable Exception/unwind destructor that destroys two std::string members in sequence (a string pair). 0x0051A3E0 86 json__dtor_vector_and_string_0051a3e0 datatable Exception/unwind destructor that clears a vector (via json__vector_clear_and_free) then destroys a std::string member. 0x0051A440 86 json__dtor_nested_vector_and_string_0051a440 datatable Exception/unwind destructor that clears a nested vector (via json__nested_vector_clear_and_free) then destroys a std::string member. 0x0051A4A0 86 json__dtor_dcb0_and_string_0051a4a0 datatable Exception/unwind destructor that calls json__internal_0051dcb0 to destroy a container, then destroys a std::string member. 0x0051A500 65 json__dtor_string_wrapper_0051a500 datatable Simple SEH unwind handler that destroys a single std::string member. 0x0051A550 5 json__vector_clear_and_free_0051a550 datatable Frees a vector's dynamically allocated buffer. Handles large allocation alignment check (>0xfff). Zeros out the vector's begin/end/capacity pointers after freeing. Elements are 4 bytes each. 0x0051A570 5 json__nested_vector_clear_and_free_0051a570 datatable Destroys a vector of vectors. Iterates through each 0xc-byte element calling json__vector_clear_and_free on each sub-vector, then frees the outer vector's buffer and zeros its pointers. 0x0051A590 129 json__vector_free_8byte_elems_0051a590 datatable Frees a vector's dynamically allocated buffer with 8-byte elements. Handles large allocation alignment check (>0xfff). Zeros out begin/end/capacity pointers after freeing. 0x0051A620 86 json__dtor_two_strings_0051a620 datatable Exception/unwind destructor that destroys two std::string members in sequence. 0x0051A680 65 json__vector_clear_wrapper_0051a680 datatable SEH unwind handler that wraps json__vector_clear_and_free to clear/free a vector buffer. 0x0051A6D0 98 json__dtor_vector_and_two_strings_0051a6d0 datatable Exception/unwind destructor that clears a vector (via json__vector_clear_and_free) then destroys two std::string members in sequence. 0x0051A740 86 json__dtor_two_strings_0051a740 datatable Exception/unwind destructor that destroys two std::string members in sequence. 0x0051A7A0 86 json__dtor_two_strings_0051a7a0 datatable Exception/unwind destructor that destroys two std::string members in sequence. 0x0051A800 102 json__rbtree_destroy_at_offset4_0051a800 datatable Destroys a red-black tree (0x34-byte nodes) located at offset+4 of the object. Recursively destroys child nodes then frees the root. 0x0051A870 508 json__destroy_11_rbtrees_0051a870 datatable Major compound destructor that tears down 11 red-black trees in reverse order: 1 string dtor, 8 rbtrees with 0x34 vec nodes, 2 rbtrees with 0x40 nodes, and 1 rbtree with 0x2c nodes. Used for a large JSON container class with multiple sorted maps. 0x0051AA70 71 json__free_locale_wrapper_0051aa70 datatable SEH unwind handler that calls _free_locale on the locale object stored in param_1[0]. Frees the C runtime locale associated with a JSON parser/formatter. 0x0051AAC0 148 json__bignum_copy_assign_0051aac0 datatable Bignum copy/assignment operator. Copies digit array data from param_2 to param_1, resizing the destination if source is larger (memset zeros new space). Copies the dynamic allocation flag (bit 1) and uses memcpy for the digit data. Elements are 8 bytes each (64-bit limbs). 0x0051AB60 126 json__object_items_accessor_0051ab60 datatable JSON object items accessor. Checks type field: type 10 (array) calls pbackfail for iteration, type 11 (object) returns iterator pair from param_3. Throws json type_error for other types. Returns pointer to param_2 with object ptr and iterator range. 0x0051ABE0 570 json__subscript_operator_0051abe0 datatable JSON subscript operator (operator[]). Supports array type (9) and object/ordered_map type (11). For arrays: validates index bounds, returns pointer to element at index*0x10. For objects: validates index bounds, returns pointer at index*0x28+0x18. Throws parse_error for out-of-bounds, type_error for unsupported types. Also handles auto-vivification for object key access. 0x0051AE20 213 json__bignum_multiply_assign_0051ae20 datatable Bignum multiply-assign operation. Takes a signed 64-bit value (param_10:param_11), handles sign via absolute value, calls json__bignum_multiply, then copies result back. Frees temp buffer if dynamically allocated. Flips sign bit if input was negative. 0x0051AF00 112 json__bignum_negate_0051af00 datatable Bignum unary negation. Copies the bignum via json__bignum_copy_or_allocate then flips the sign bit (bit 1 of byte at offset+8) via XOR. 0x0051AF70 163 json__bignum_subtract_assign_0051af70 datatable Bignum subtract-assign. Calls json__bignum_subtract to compute the difference, copies result back via json__bignum_copy_or_allocate, then frees temporary buffer if dynamically allocated. 0x0051B020 310 json__bignum_subtract_signed_0051b020 datatable Bignum subtract with sign handling. Handles negative input by negating and setting sign flag. Constructs a temporary bignum from signed 64-bit value, calls json__bignum_subtract, copies result back, and frees both temporary buffers. 0x0051B160 571 json__bignum_multiply_0051b160 datatable Bignum multiplication (schoolbook algorithm). Multiplies each 64-bit limb of this by (param_2:param_3) using __allmul for 64-bit multiply, accumulating carries. Stores results in the digit array. Trims leading zero limbs. Clears sign if result is zero. 0x0051B3A0 581 json__bignum_add_0051b3a0 datatable Bignum addition. If signs differ, delegates to subtraction (negate + subtract). Otherwise: takes max(len1,len2)+1 limbs, adds limb-by-limb with carry propagation. Trims leading zeros. Clears sign if result is zero. 0x0051B5F0 697 json__bignum_subtract_0051b5f0 datatable Bignum subtraction. If signs differ, delegates to addition (negate + add). If same sign: compares magnitudes -- if \|this\| > \|other\|, subtracts normally with borrow; otherwise swaps operands, subtracts, and negates result. Trims leading zeros. 0x0051B8B0 456 json__bignum_shift_right_0051b8b0 datatable Bignum right shift by param_2 bits. First shifts by whole 64-bit words (param_2>>6), then shifts remaining bits within words using __aullshr, propagating bits from higher words into lower words. Trims leading zeros. Clears sign if result is zero. 0x0051BA80 480 json__bignum_shift_left_0051ba80 datatable Bignum left shift by param_2 bits. First shifts by whole 64-bit words (param_2>>6) by moving data upward, then shifts remaining bits within words using __allshl, propagating overflow bits between adjacent words. Trims leading zeros. Clears sign if result is zero. 0x0051BC60 80 json__dtor_string_and_regex_0051bc60 datatable Exception/unwind destructor that destroys a std::string member followed by a regex pattern (9-string) destructor. Used for JSON parser regex cleanup. 0x0051BCB0 111 json__exception_dtor_0051bcb0 datatable JSON exception destructor. Sets vtable pointers for the exception class hierarchy (primary + secondary base), adjusts vbase offset, then resets to json_exception_base vtable and calls __std_exception_destroy to free the exception message string. 0x0051BD20 111 json__exception_dtor_variant_0051bd20 datatable JSON exception destructor variant. Same pattern as json__exception_dtor_0051bcb0 but with different vtable pointers (different exception subclass). Sets vtable, adjusts vbase, resets to base vtable, calls __std_exception_destroy. 0x0051BDB0 38 json__object_scalar_deleting_dtor_0051bdb0 datatable JSON object scalar deleting destructor (0x13c bytes). Calls json__string_destructor then conditionally frees the object. 0x0051BDE0 108 json__regex_object_scalar_deleting_dtor_0051bde0 datatable JSON regex object scalar deleting destructor (0x114 bytes). Destructs STL string and regex pattern, then conditionally frees at offset -0x2c from this pointer. 0x0051BE50 136 json__exception_scalar_deleting_dtor_0051be50 datatable JSON exception scalar deleting destructor (0x18 bytes). Resets vtable pointers, calls __std_exception_destroy, conditionally frees. 0x0051BEE0 136 json__exception_scalar_deleting_dtor_0051bee0 datatable JSON exception scalar deleting destructor variant (0x18 bytes). Same pattern as 0051be50 with different vtable. 0x0051BF70 30 json__small_object_scalar_deleting_dtor_0051bf70 datatable JSON small object scalar deleting destructor (8 bytes). No member cleanup, just conditionally frees memory. 0x0051BF90 37 _Adjust_manually_vector_aligned stl Adjusts a manually vector-aligned pointer for deallocation. Retrieves the original allocation pointer stored at offset -4 and adds 0x23 to the size. 0x0051BFC0 162 json__vector_ptr_reallocate_0051bfc0 datatable JSON vector reallocate for pointer-sized (4-byte) elements. Checks max capacity (0x3FFFFFFF), frees old buffer with alignment handling, allocates new via json__allocate_4byte_element_array. Updates begin/end/capacity pointers. 0x0051C070 22 json__destroy_68byte_elements_wrapper_0051c070 datatable Wrapper that forwards to json__destroy_68byte_elements_00510660 with reordered parameters. 0x0051C090 36 json__destroy_range_24byte_string_elements_0051c090 datatable json: destroy range 24byte string elements 0051c090 0x0051C0C0 36 json__destroy_range_12byte_vector_elements_0051c0c0 datatable json: destroy range 12byte vector elements 0051c0c0 0x0051C0F0 36 json__destroy_range_12byte_nested_elements_0051c0f0 datatable json: destroy range 12byte nested elements 0051c0f0 0x0051C120 103 json__buffer_equals_0051c120 datatable JSON buffer equality comparison. Compares two buffers byte-by-byte. First checks if lengths match (param_1[1] vs param_3), then compares in 4-byte chunks with byte-level tail comparison. Returns 1 if equal, 0 if not. 0x0051C190 1 stub_ret_0051c190 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0051C1A0 1 stub_ret_0051c1a0 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0051C1B0 1 stub_ret_0051c1b0 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0051C1C0 1 stub_ret_0051c1c0 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0051C1D0 1 stub_ret_0051c1d0 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0051C1E0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051C3F0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051C600 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051C810 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051CA20 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051CC30 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051CE40 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051D050 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051D260 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051D470 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051D680 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051D890 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0051DAA0 10 json__throw_map_set_too_long_0051daa0 datatable Throws std::_Xlength_error with message "map_set_too_long". Called when JSON map/set container exceeds maximum size. 0x0051DAB0 129 json__vector_clear_and_free_4byte_0051dab0 datatable Clears and frees a JSON vector of 4-byte elements. Handles large allocation alignment (>0xFFF bytes reads original pointer from offset -4). Sets begin/end/capacity to 0. 0x0051DB40 170 json__vector_destroy_68byte_elements_and_free_0051db40 datatable Destroys a JSON vector of 0x44-byte (68-byte) elements. First calls json__destroy_68byte_elements to destruct each element, then frees the buffer with alignment handling. Zeroes the vector state. 0x0051DBF0 174 json__vector_destroy_12byte_vector_elements_0051dbf0 datatable Destroys a JSON vector of 0xc-byte (12-byte) elements that each contain a sub-vector. Iterates each element calling json__vector_clear_and_free_4byte, then frees the outer buffer. Zeroes vector state. 0x0051DCB0 174 json__vector_destroy_12byte_nested_elements_0051dcb0 datatable Destroys a JSON vector of 0xc-byte (12-byte) elements that each contain a nested 68-byte-element vector. Iterates each element calling json__vector_destroy_68byte_elements_and_free, then frees outer buffer. 0x0051DD70 122 json__init_zero_12byte_array_0051dd70 datatable Initializes an array of 12-byte (3-field) structs to all zeros. param_1 = destination array, param_2 = count. Each struct has 3 DWORD fields set to 0 (typical vector init: begin=0, end=0, capacity=0). 0x0051DDF0 44 json__copy_8byte_elements_0051ddf0 datatable json: copy 8byte elements 0051ddf0 0x0051DE20 164 json__move_12byte_elements_0051de20 datatable Move-copies a range of 12-byte (3-DWORD) elements from [param_1, param_2) to param_3. Copies all 3 fields then zeroes the source element (move semantics). Used for vector reallocation. 0x0051DED0 45 json__copy_8byte_elements_offset_0051ded0 datatable Copies a range of 8-byte (2-DWORD) elements using offset-based addressing. param_3 is the offset from source to destination. Copies in-place with displacement. 0x0051DF00 10 json__throw_vector_too_long_0051df00 datatable Throws std::_Xlength_error("vector_too_long"). Called when JSON vector exceeds maximum capacity. 0x0051DF10 10 json__throw_vector_too_long_0051df10 datatable Throws std::_Xlength_error("vector_too_long"). Called when JSON vector exceeds maximum capacity. 0x0051DF20 10 json__throw_vector_too_long_0051df20 datatable Throws std::_Xlength_error("vector_too_long"). Called when JSON vector exceeds maximum capacity. 0x0051DF30 10 json__throw_vector_too_long_0051df30 datatable Throws std::_Xlength_error("vector_too_long"). Called when JSON vector exceeds maximum capacity. 0x0051DF40 10 json__throw_vector_too_long_0051df40 datatable Throws std::_Xlength_error("vector_too_long"). Called when JSON vector exceeds maximum capacity. 0x0051DF50 10 json__throw_vector_too_long_0051df50 datatable Throws std::_Xlength_error("vector_too_long"). Called when JSON vector exceeds maximum capacity. 0x0051DF60 10 json__throw_vector_too_long_0051df60 datatable Throws std::_Xlength_error("vector_too_long"). Called when JSON vector exceeds maximum capacity. 0x0051DF70 92 json__allocate_4byte_element_array_0051df70 datatable Allocates array for 4-byte (pointer-sized) elements. Max count 0x40000000. For allocations >0xFFF bytes, uses aligned allocation (32-byte alignment) with original pointer stored at offset -4. Returns pointer to usable memory. 0x0051DFD0 100 json__allocate_68byte_element_array_0051dfd0 datatable Allocates array for 0x44-byte (68-byte) elements. Max count 0x3C3C3C4. For allocations >0xFFF bytes, uses 32-byte aligned allocation. Returns pointer to usable memory. 0x0051E040 95 json__allocate_12byte_element_array_0051e040 datatable Allocates array for 0xc-byte (12-byte) elements. Max count 0x15555556. For allocations >0xFFF bytes, uses 32-byte aligned allocation. Returns pointer to usable memory. 0x0051E0A0 95 json__allocate_12byte_element_array_0051e0a0 datatable Allocates array for 0xc-byte (12-byte) elements. Duplicate of json__allocate_12byte_element_array_0051e040 (same max count 0x15555556, same alignment logic). Likely a separate template instantiation. 0x0051E100 58 json__get_child_string_and_insert datatable Gets the string data pointer from a JSON node's first child and calls json__internal_00520680. Handles SSO: if string length > 15, uses heap pointer; otherwise uses inline buffer. 0x0051E140 159 json__get_array_iterators_0051e140 datatable Gets array begin/end iterator pair from a JSON value. Checks type nibble == 9 (array). Returns pair of iterators in param_2. Throws "Not an array" (CxxThrowException) if type mismatch. 0x0051E1E0 174 json__get_array_iterators_recursive_0051e1e0 datatable Gets array begin/end iterator pair with tag indirection support. Type 9 = direct array, type 0xC = tagged/indirect (follows pointer and recurses). Throws "Not an array" for other types. 0x0051E290 199 json__get_bool_value_0051e290 datatable Gets boolean value from JSON node. Type 1 = direct bool (byte at offset 2). Types 2/3 = numeric (returns 0 if both DWORDs at offset 8/12 are zero, else 1). Type 0xC = tagged indirect (follows pointer). Throws "Not a bool" for other types. 0x0051E380 159 json__get_byte_string_0051e380 datatable Gets byte string begin/end pair from JSON value. Type 8 = byte string (reads data ptr and end from child node at offsets 4 and 8). Type 0xC = tagged indirect (follows pointer and recurses). Throws "Not a byte string" for other types. 0x0051E420 158 json__get_cstring_ptr_0051e420 datatable Gets C string pointer from JSON value. Type 6 = short string (inline at offset 2). Type 7 = long string (pointer at child node offset 4). Type 0xC = tagged indirect (follows pointer, loops). Throws "Not a cstring" for other types. 0x0051E4C0 318 json__value_to_double_0051e4c0 datatable Converts a JSON value to double. Handles int64 (case 2), uint64 (case 3), half-float (case 4), double (case 5), string-to-double via strtod (cases 6/7), and indirect references (case 0xc). Throws "Not a double" for unsupported types. 0x0051E630 181 json__value_get_string_view_0051e630 datatable Gets a string view (pointer + length) from a JSON value. Handles short strings (type 6), long strings (type 7), and indirect references (type 0xc). Throws "Not a string" for non-string types. 0x0051E6F0 275 json__bignum_compare_0051e6f0 datatable Compares two bignum values. First checks sign difference, then compares digit counts, then compares digits element-by-element (64-bit limbs). Negates result if both values are negative. Returns -1/0/1. 0x0051E810 165 json__object_contains_key_0051e810 datatable Checks if a JSON object contains a given key. Uses equal_range on the sorted object map. Returns true if key found, false otherwise. Follows indirect references (type 0xc). 0x0051E8C0 185 json__bignum_allocate_buffer_0051e8c0 datatable Allocates buffer for bignum storage. Rounds up capacity to next multiple of 4, allocates capacity*8 bytes (64-bit limbs). Uses aligned allocation for large buffers (>0xFFF bytes). Throws bad_array_new_length on overflow. 0x0051E9A0 14 json__bignum_get_data_ptr_0051e9a0 datatable Returns pointer to bignum digit data. If bit 0 of flags byte is set, returns the heap-allocated buffer pointer; otherwise returns the inline buffer at offset 0x10. 0x0051E9B0 60 deallocate stl phmap allocator_traits::deallocate for 8-byte stride elements. Frees aligned memory, validating alignment header for large allocations (>0xFFF bytes). 0x0051E9F0 62 deallocate stl std::allocator::deallocate for 4-byte stride elements (unsigned int, CHN*, etc). Frees aligned memory, validating alignment header for large allocations. 0x0051EA30 62 deallocate stl std::allocator::deallocate for 8-byte stride elements (phmap Deallocate<8> wrapper types). Frees aligned memory, validating alignment header for large allocations. 0x0051EA70 64 json__deallocate_0x44_stride_0051ea70 datatable Deallocator for 0x44-byte (68 decimal) stride elements. Frees aligned memory with validation for large allocations. Used by JSON library containers. 0x0051EAC0 61 deallocate stl std::allocator::deallocate for 0x18-byte (24 decimal) stride elements (GSISymbolEntry, FileSymbolInfo). Frees aligned memory with validation for large allocations. 0x0051EB00 61 deallocate stl std::allocator::deallocate for 0xC-byte (12 decimal) stride elements (GSISymbolEntry variant). Frees aligned memory with validation for large allocations. 0x0051EB40 61 deallocate stl std::allocator::deallocate for 0xC-byte (12 decimal) stride elements. Identical to 0051eb00 but separate instantiation. Frees aligned memory with validation. 0x0051EB80 62 deallocate stl std::allocator::deallocate for 8-byte stride elements (phmap Deallocate<8> wrapper types). Another instantiation of the same pattern. Frees aligned memory with validation. 0x0051EBC0 647 json__grisu2_digit_gen_0051ebc0 datatable Grisu2 digit generation core algorithm for double-to-string conversion. Generates decimal digits from the scaled mantissa, handling both small and large exponents. Calls grisu2_round_digit for final rounding. Part of the JSON float serialization pipeline. 0x0051EE50 3591 json__bignum_divide_0051ee50 datatable Bignum division algorithm. Divides this bignum by the divisor, storing quotient in param_10 and remainder in param_11. Handles single-word and multi-word divisors with Knuth's Algorithm D for multi-word case. Includes normalization shift and correction steps. 0x0051FC60 110 json__value_visit_with_error_0051fc60 datatable Visits a JSON value using a visitor pattern with error handling. Calls value_accept_visitor first, then invokes a vtable callback if initial visit reports no error. Throws json other_error if errors occur during visitation. 0x0051FCD0 801 json__value_accept_visitor_0051fcd0 datatable JSON value visitor dispatcher. Switches on value type (null=0, bool=1, int64=2, uint64=3, half=4, double=5, string=6/7, tagged=8, array=9, empty=10, object=11, indirect=12) and calls the appropriate visitor vtable method. Recursively visits array/object children. 0x00520030 180 json__get_tag_type_singleton_00520030 datatable Gets a singleton tag type descriptor. Initializes a static object on first call (thread-safe via init_thread_header/epoch_counter). Returns the type byte and a pointer to the static singleton. 0x005200F0 276 json__object_at_key_005200f0 datatable Accesses a JSON object value by key. Throws out_of_range if the value is empty (type 10) or key not found. Throws type_error if value is not an object (type 11). Returns pointer to the value associated with the key (at offset 0x18 in the map entry). 0x00520210 49 json__value_get_tag_data_00520210 datatable Gets tag data (8 bytes at offset 0x10) from a tagged JSON value (type 8). Follows indirect references (type 0xc). Returns 0 for non-tagged types. 0x00520250 167 json__value_find_key_iterator_00520250 datatable Finds a key in a JSON object and returns an iterator pair. For empty objects (type 10), returns default empty iterator. For objects (type 11), uses sorted_map_equal_range. Throws type_error for other types. 0x00520300 767 json__grisu2_double_to_digits_00520300 datatable Grisu2 double-to-decimal-digits conversion. Extracts mantissa and exponent from IEEE 754 double, computes boundaries (minus/plus), looks up cached power of 10, performs 64x64 multiplications, then calls grisu2_digit_gen to produce decimal digits. 0x00520600 119 json__serializer_get_inf_string_00520600 datatable Gets the infinity string representation from the JSON serializer options. If flag bit 2 is set, uses the override string at offset 0x6c; otherwise uses the default or custom string based on field at offset 5. 0x00520680 206 json__string_insert_at_00520680 datatable Inserts a buffer of characters at a given position in a string. Handles overlapping source/dest regions. If capacity is insufficient, delegates to STL_string__grow_and_insert. Otherwise shifts existing content and copies in-place. 0x00520750 41 json__value_is_array_type_00520750 datatable Checks if a JSON value is an array type (type 9). Follows indirect references (type 0xc). Returns 1 for array, 0 for other types. 0x00520780 32 json__value_is_string_type_00520780 datatable Checks if a JSON value is a string type (type 6 or 7). Follows indirect references (type 0xc). Returns 1 for string types, 0 for other types. 0x005207A0 91 json__invoke_visitor_callback_005207a0 datatable Invokes a visitor callback through a vtable. Calls the method at vtable offset 8 with the stored value and visitor state. Used as part of the JSON visitor pattern dispatch. 0x00520800 286 json__make_integer_error_string_00520800 datatable Constructs an error message string for integer conversion errors. Error codes: 1="Integer overflow", 2="Invalid digit", 3="Invalid number", default="Unknown to_integer_unchecked error". Allocates heap for longer messages. 0x00520920 141 json__grisu2_multiply_64x64_00520920 datatable Grisu2 64-bit by 64-bit multiplication producing a 96-bit result (high 64 bits + combined exponent). Used to scale mantissa values by cached powers of 10 during double-to-string conversion. Result stored in param_1[0..2]. 0x005209C0 119 json__serializer_get_nan_string_005209c0 datatable Gets the NaN string representation from JSON serializer options. If flag bit 1 is set, uses override string at offset 0x54; otherwise uses default or custom string based on field at offset 4. 0x00520A40 324 json__serializer_get_number_string_00520a40 datatable Gets the number-as-string representation from serializer options. If flag bit 4 is set, uses override at offset 0x84. If flag bit 2, prepends '-' to the infinity string at 0x6c. Otherwise uses default/custom string at offset 0x38/0x84. 0x00520B90 222 json__value_get_object_iterator_range_00520b90 datatable Gets begin/end iterator range for a JSON object's sorted map. For empty objects (type 10), returns empty range. For objects (type 11), returns {begin, is_object=1, end, is_object=1}. Throws "Not an object" for other types. 0x00520C70 79 json__bignum_trim_leading_zeros_00520c70 datatable Trims trailing zero limbs from a bignum. Iterates backwards from the last limb, decrementing the count for each zero 64-bit pair. If the result is zero (count reaches 0), clears the sign bit. 0x00520CC0 524 json__bignum_ensure_capacity_00520cc0 datatable Ensures bignum has at least param_2 limb capacity. If current capacity is sufficient, returns immediately. For heap-allocated bignums, reallocates and copies. For inline bignums, transitions to heap allocation, copying the 2 inline limbs. 0x00520ED0 68 json__bignum_resize_00520ed0 datatable Resizes bignum to param_2 limbs. Calls ensure_capacity to guarantee space, updates count, then zero-fills any newly added limbs beyond the old count. 0x00520F20 367 json__grisu2_round_digit_00520f20 datatable Grisu2 rounding algorithm. Decides whether to round up the last generated digit based on the distance to boundaries (delta, dist, rest) and unit size. Decrements the last digit while conditions are met. Returns 1 if rounding succeeded within tolerance, 0 otherwise. 0x00521090 210 json__serializer_begin_array_00521090 datatable JSON serializer: begins an array. Increments depth counter, checks max nesting depth limit. Writes comma separator if not first element, pushes array state onto stack, writes '['. Handles stack reallocation if needed. 0x00521170 210 json__serializer_begin_object_00521170 datatable JSON serializer: begins an object. Increments depth counter, checks max nesting depth limit. Writes comma separator if not first element, pushes object state (type=0) onto stack, writes '{'. Handles stack reallocation if needed. 0x00521250 170 json__serializer_write_bool_00521250 datatable JSON serializer: writes a boolean value ("true" or "false"). Writes comma separator if not first element. Inserts the literal string at the current output position. Increments the parent container's element count. 0x00521300 333 json__serializer_write_binary_00521300 datatable JSON serializer: writes a binary byte array value. Encodes as hex (mode 1), base64 (mode 2), or base64url (mode 3) based on serializer config. Wraps output in quotes. Writes comma separator if not first element. Increments parent element count. 0x00521450 791 json__serializer_write_double_00521450 datatable JSON serializer: writes a double value. Handles special cases: NaN (uses nan_string or quoted replacement), infinity (uses inf_string or quoted replacement), negative infinity. For normal values, uses float_to_string_formatter. Falls back to "null" if no special handling configured. Increments parent element count. 0x00521770 179 json__serializer_end_array_00521770 datatable JSON serializer: ends an array. Decrements depth counter, pops array state from stack, writes ']'. Increments parent container's element count. Throws assertion error if stack is empty. 0x00521830 179 json__serializer_end_object_00521830 datatable JSON serializer: ends an object. Decrements depth counter, pops object state from stack, writes '}'. Increments parent container's element count. Throws assertion error if stack is empty. 0x00521900 408 json__serializer_write_int64_00521900 datatable JSON serializer: writes a signed 64-bit integer. Converts int64 to decimal string by repeated division by 10, then outputs digits in reverse order. Prepends '-' for negative values. Writes comma separator if not first element. Throws assertion on buffer overflow. 0x00521AA0 119 json__serializer_write_key_00521aa0 datatable JSON serializer: writes an object key. Outputs comma if not first key, then writes the key as a quoted+escaped string followed by ':'. Uses escape_string_for_output with the serializer's escape settings. 0x00521B20 111 json__serializer_write_null_00521b20 datatable JSON serializer: writes a null value. Writes comma separator if not first element, then inserts the literal "null" string. Increments parent container's element count. 0x00521B90 157 json__serializer_write_string_00521b90 datatable JSON serializer: writes a string value. Writes comma if not first element. For bignum strings (type 6), delegates to serializer_write_bignum. For regular strings, writes quoted+escaped output. Increments parent element count. 0x00521C30 488 json__serializer_write_uint64_00521c30 datatable JSON serializer: writes an unsigned 64-bit integer. Converts uint64 to decimal string using multiplication by 0xCCCCCCCD (division by 10 via reciprocal), outputs digits in reverse order. Writes comma separator if not first element. Throws assertion on buffer overflow. 0x00521E60 832 json__serializer_write_bignum_00521e60 datatable JSON serializer: writes a bignum value. Mode 0: writes as unquoted decimal string. Mode 1: quotes+escapes. Mode 2: converts to base64 (standard alphabet). Mode 3: converts to base64url. For modes 2/3, parses decimal digits to bignum, optionally negates, converts to binary, then base64-encodes. Frees temp buffers. 0x005221A0 51 CLuaInstance__vsprintf_wrapper game_core CLuaInstance helper: calls __stdio_common_vsprintf with global singleton options. Returns formatted length or -1 on error. 0x005221E0 74 CLuaInstance__ctor game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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). 0x00522930 101 lua_f_Ccall lua lua_settable(L, idx). Pops key+value from stack, gets table from environment at idx, creates table entry via luaV_settable. Equivalent to t[k]=v where t is at idx, k and v are at top-2 and top-1. 0x005229A0 24 lua_api_f_call lua Helper that calls luaV_settable with parameters from a pair struct. param_2 points to {key_offset, nresults}. Forwarding wrapper used as callback by lua_settable and lua_pcall internals. 0x005229C0 177 lua_api_index2adr lua lua_index2adr(L, idx). Converts a Lua stack index to an actual memory address/TValue pointer. Handles positive indices (from base), negative indices (from top), and pseudo-indices: LUA_GLOBALSINDEX(-10002)=globals table, LUA_REGISTRYINDEX(-10000)=registry, LUA_ENVIRONINDEX(-10001)=current env, upvalue indices (below -10002). 0x00522A80 38 lua_api_pushvalue_raw lua Low-level stack push: copies a TValue (3 dwords: value, extra, type tag) from param_2 pointer onto the stack top, then increments stack top by one slot (0x10 bytes). 0x00522AB0 20 lua_api_atpanic lua lua_sethook(L, hook). Sets the debug hook function pointer at global_State+0x58. Returns the old hook value. Used for Lua debug hooks (call/return/line/count). 0x00522AD0 57 lua_api_call lua lua_settop / lua_pop variant. Adjusts stack top by removing param_2 elements. If param_3 == -1, also updates the high water mark (ci->top). Calls luaV_settable internally for protected adjustments. 0x00522B10 106 lua_api_checkstack lua lua_checkstack(L, extra). Ensures at least 'extra' free stack slots. Returns 0 if would exceed 8000 total slots (LUAI_MAXCSTACK). Grows stack via luaD_growstack if needed. Updates ci->top high water mark. 0x00522B80 117 lua_api_concat lua lua_concat(L, n). Concatenates n values at the top of the stack. If n>=2, calls luaV_concat and adjusts stack. If n==0, pushes empty string. If n==1, does nothing. Checks GC threshold before proceeding. 0x00522C00 52 lua_api_cpcall lua lua_setfield(L, idx, name). Sets a table field: t[name] = value at stack top. Packs idx and name into local struct, calls luaD_pcall with lua_api_settable as the callback. Pops the value from stack. 0x00522C40 63 lua_api_createtable lua lua_createtable(L, narray, nhash). Creates a new empty table with pre-allocated array and hash parts, pushes it onto the stack with type tag 5 (LUA_TTABLE). Checks GC threshold first. 0x00522C80 53 lua_api_dump lua Lightweight lua_pcall for Lua closures only. Checks that top-of-stack is type 6 (LUA_TFUNCTION) and that the closure is a Lua function (not C). If so, calls luaD_call. Returns 1 on error/not-applicable, 0 on success. Used for fast-path protected calls. 0x00522CC0 84 lua_api_equal lua lua_equal(L, idx1, idx2). Compares two stack values for equality. Converts both indices to addresses via index2adr, checks they are valid and have matching type tags, then calls luaV_equalobj for deep comparison. Returns 1 if equal, 0 otherwise. 0x00522D20 18 lua_api_error lua lua_error(L). Signals an error using the value at top of stack as the error object. Calls luaG_errormsg which does a longjmp. Always returns 0 (never actually reached). 0x00522D40 214 lua_api_gc lua lua_gc(L, what, data). Controls the garbage collector. what: 0=stop, 1=restart, 2=full collect, 3=get count KB, 4=get count bytes, 5=step, 6=set pause, 7=set stepmul. Returns status or old value depending on command. 0x00522E40 40 lua_api_getallocf lua lua_getallocf(L, ud). Returns the memory allocator function from the global state. If ud is non-null, also stores the allocator userdata pointer into *ud. Reads from global_State+0x0C and +0x10. 0x00522E70 109 lua_api_getfenv lua lua_getfenv(L, idx). Pushes the environment table of the value at idx. For functions (type 6,7): pushes their env table (type 5). For userdata (type 8): pushes the env from the thread. For other types: pushes nil (type 0). Increments stack top. 0x00522EE0 89 lua_api_getfield_00522ee0 lua lua_getfield(L, idx, name). Pushes t[name] onto the stack where t is the table at idx. Creates a temporary TString from the C string name via luaS_newlstr (with strlen), then calls luaV_gettable to perform the lookup. Result pushed at stack top. 0x00522F40 84 lua_api_getmetatable_00522f40 lua lua_getmetatable(L, idx). Pushes the metatable of the value at idx. For tables (type 5) and userdata (type 7): reads mt from obj+8. For other types: uses the per-type metatable from global_State+0x98. Returns 1 if metatable found, 0 if nil. 0x00522FA0 37 lua_api_gettable_00522fa0 lua lua_gettable(L, idx). Performs t[k] where t is at idx and k is at stack top. Replaces the key at stack top with the result. Calls luaV_gettable internally. 0x00522FD0 17 lua_api_gettop_00522fd0 lua lua_gettop(L). Returns the index of the top element on the stack (number of elements). Computed as (L->top - L->base) >> 4 since each TValue slot is 16 bytes. 0x00522FF0 138 lua_api_getupvalue_00522ff0 lua lua_getupvalue(L, funcidx, n). Gets the n-th upvalue of a function. If the value at funcidx is a Lua closure (type 6, isC=0), reads from the proto's upvalue table. If C closure (isC!=0), reads upvalue directly from the closure struct. Pushes value and returns upvalue name, or NULL if n is out of range. 0x00523080 80 lua_api_insert_00523080 lua lua_insert(L, idx). Moves top element into position idx, shifting elements above idx up to make room. Copies the top element to its final position after shifting all elements between idx and top up by one slot. 0x005230D0 42 lua_api_iscfunction_005230d0 lua lua_iscfunction(L, idx). Returns 1 if the value at idx is a C function (type 6 with isC flag set), 0 otherwise. 0x00523100 56 lua_api_isnumber_00523100 lua lua_isnumber(L, idx). Returns 1 if the value at idx is a number (type 3) or can be converted to a number via luaV_tonumber. Returns 0 otherwise. 0x00523140 48 lua_api_isstring_00523140 lua lua_isstring(L, idx). Returns 1 if the value at idx is a string (type 4) or a number (type 3, which is convertible to string). Returns 0 for nil/invalid or other types. 0x00523170 41 lua_api_isuserdata_00523170 lua lua_isuserdata(L, idx). Returns 1 if the value at idx is a full userdata (type 7) or light userdata (type 2). Returns 0 otherwise. 0x005231A0 67 lua_api_lessthan_005231a0 lua lua_lessthan(L, idx1, idx2). Compares two stack values. Converts both indices to addresses via index2adr, validates both are not the nil sentinel, then calls luaV_lessthan for ordered comparison. Returns result or 0 if either is invalid. 0x005231F0 57 lua_api_load_005231f0 lua lua_load(L, reader, data, chunkname). Loads a Lua chunk using the reader function. Initializes a Zio with the reader/data, defaults chunkname to "?" if null, then calls luaD_protectedparser to parse the chunk. 0x00523230 55 lua_api_newthread_00523230 lua lua_newthread(L). Creates a new Lua thread (coroutine), pushes it onto the stack with type tag 8 (LUA_TTHREAD). Checks GC threshold before allocation. 0x00523270 83 lua_api_newuserdata_00523270 lua lua_newuserdata(L, size). Allocates a new full userdata of given size, pushes it onto the stack with type tag 7 (LUA_TUSERDATA). Checks GC threshold. Gets environment table from current closure. Returns pointer to the user data block (offset +0x18 from Udata header). 0x005232D0 57 lua_api_next_005232d0 lua lua_next(L, idx). Pops a key from the stack, pushes next key-value pair from the table at idx. Uses luaH_next internally. If there is a next element, pushes key+value (stack grows by +0x10). If no more elements, pops the key (stack shrinks by -0x10). 0x00523310 88 lua_api_objlen_00523310 lua lua_objlen(L, idx). Returns the "length" of the value at idx. For numbers (type 3): converts to string first then returns string length. For strings (type 4): returns TString length (at obj+0x0C). For tables (type 5): returns luaH_getn (array length). For userdata (type 7): returns size (at obj+0x10). Otherwise returns 0. 0x00523380 112 lua_api_pcall_00523380 lua lua_pcall(L, nargs, nresults, errfunc). Calls a function in protected mode. If errfunc!=0, converts it to address offset via index2adr. Calls luaD_pcall with the call wrapper. If nresults==-1 (LUA_MULTRET), updates ci->top high water mark. 0x005233F0 32 lua_api_pushboolean_005233f0 lua lua_pushboolean(L, b). Pushes a boolean value onto the stack. Stores (b != 0) as the value with type tag 1 (LUA_TBOOLEAN). Increments stack top by one slot (0x10 bytes). 0x00523410 171 lua_api_pushcclosure_00523410 lua Lua C API: lua_call. Calls a function on the stack. param_2=nresults, param_3=nargs. Pops function and args, pushes results. Checks GC threshold before call. 0x005234C0 46 lua_api_pushfstring_005234c0 lua Lua C API: lua_pushfstring. Pushes a formatted string onto the stack (variadic). Uses lua_obj_pushvfstring internally. Checks GC threshold. 0x005234F0 35 lua_api_pushinteger_005234f0 lua Lua C API: lua_pushinteger. Pushes an integer onto the stack as a number (type=3/LUA_TNUMBER). Converts int to double. 0x00523520 27 lua_api_pushlightuserdata_00523520 lua Lua C API: lua_pushlightuserdata. Pushes a light userdata (raw pointer) onto the stack with type=2/LUA_TLIGHTUSERDATA. 0x00523540 63 lua_api_pushlstring_00523540 lua Lua C API: lua_pushlstring. Pushes a string with explicit length onto the stack. Creates internal Lua string via lua_string_newlstr, type=4/LUA_TSTRING. Checks GC threshold. 0x00523580 22 lua_api_pushnil_00523580 lua Lua C API: lua_pushnil. Pushes nil onto the stack (type=0/LUA_TNIL). Increments stack top by 0x10. 0x005235A0 31 lua_api_pushnumber_005235a0 lua Lua C API: lua_pushnumber. Pushes a double-precision number onto the stack with type=3/LUA_TNUMBER. 0x005235C0 103 lua_api_pushstring_005235c0 lua Lua C API: lua_pushstring. Pushes a null-terminated C string onto the stack. If NULL, pushes nil instead. Computes strlen then calls lua_string_newlstr. Checks GC threshold. 0x00523630 35 lua_api_pushthread_00523630 lua Lua C API: lua_pushthread. Pushes the thread (coroutine) onto its own stack with type=8/LUA_TTHREAD. Returns true (1) if this is the main thread. 0x00523660 47 lua_api_pushvalue_00523660 lua Lua C API: lua_pushvalue. Copies a stack element at the given index and pushes it onto the top of the stack. 0x00523690 45 lua_api_pushvfstring_00523690 lua Lua C API: lua_pushvfstring. Pushes a formatted string onto the stack using a va_list. Checks GC threshold before string creation. 0x005236C0 64 lua_api_rawequal_005236c0 lua Lua C API: lua_rawequal. Compares two stack values for raw equality (no metamethods). Returns 0 if either index is invalid (nil sentinel). Uses lua_obj_rawequalobj internally. 0x00523700 56 lua_api_rawget_00523700 lua Lua C API: lua_rawget. Does a raw table lookup (no metamethods). Takes table at param_2, key at stack top-1. Replaces key with result via lua_table_mainposition_get. 0x00523740 57 lua_api_rawgeti_00523740 lua Lua C API: lua_rawgeti. Raw table access by integer index. Gets table[param_3] from table at stack index param_2, pushes result. No metamethods. 0x00523780 111 lua_api_rawset_00523780 lua Lua C API: lua_rawset. Raw table set (no metamethods). Pops key and value from stack, sets table[key]=value. Handles GC write barrier for collectible values. 0x005237F0 110 lua_api_rawseti_005237f0 lua Lua C API: lua_rawseti. Raw table set by integer index (no metamethods). Pops value from stack and sets table[param_3]=value. Handles GC write barrier. 0x00523860 68 lua_api_remove_00523860 lua Lua C API: lua_remove. Removes the stack element at the given index, shifting elements above it down by one slot. Decrements stack top. 0x005238B0 212 lua_api_replace_005238b0 lua Lua C API: lua_replace. Replaces the stack element at the given index with the top element, then pops the top. Special handling for LUA_ENVIRONINDEX (-10001) and LUA_GLOBALSINDEX (-10002). Handles GC write barrier. 0x00523990 26 lua_api_setallocf_00523990 lua Lua C API: lua_setallocf. Sets the memory allocator function and its userdata in the global state. param_2=allocator function, param_3=allocator userdata. 0x005239B0 129 lua_api_setfenv lua Lua C API: lua_setfenv. Sets the environment table for a function (type 6/7) or thread (type 8). Pops the table from the stack. Returns 1 on success, 0 if target type is unsupported. Handles GC write barrier. 0x00523A40 93 lua_api_setfield_00523a40 lua Lua C API: lua_setfield. Sets table[key]=value where key is a C string (param_3) and value is popped from stack top. Table is at stack index param_2. Uses lua_vm_settable internally. 0x00523AA0 19 lua_api_copy_hook_mask lua Lua C API: lua_sethook (partial). Copies the hook mask field (offset 0x34) from one lua_State to another. Used to transfer debug hook settings between threads. 0x00523AC0 169 lua_api_setmetatable_00523ac0 lua Lua C API: lua_setmetatable. Sets the metatable for the value at stack index param_2. For tables (type 5) and userdata (type 7), sets the metatable field directly. For other types, sets a per-type global metatable. Pops metatable from stack. Handles GC write barrier. 0x00523B70 44 lua_api_settable_00523b70 lua Lua C API: lua_settable. Generic table set with metamethod support. Pops key and value from stack. Table is at stack index param_2. Uses lua_vm_settable internally. 0x00523BA0 79 lua_api_settop_00523ba0 lua Lua C API: lua_settop. Sets the stack top to an absolute or relative position. If positive, sets absolute top (fills with nil). If negative, adjusts relative to current top. Equivalent to lua_pop when param_2 is negative. 0x00523BF0 213 lua_api_setupvalue_00523bf0 lua Lua C API: lua_setupvalue. Sets the upvalue of a function at stack index param_2. param_3 is the 1-based upvalue index. Pops the value from the stack. Returns the upvalue name or NULL if index is out of range. Handles both Lua closures and C closures. GC write barrier applied. 0x00523CD0 12 lua_api_status_00523cd0 lua Lua C API: lua_status. Returns the status byte of a lua_State (offset +6). 0=running, 1=yield, error codes for errors. 0x00523CE0 45 lua_api_toboolean_00523ce0 lua Lua C API: lua_toboolean. Converts a stack value to boolean. Returns 0 for nil (type 0) and false (type 1, value 0). Returns 1 for everything else. 0x00523D10 40 lua_api_tocfunction_00523d10 lua Lua C API: lua_tocfunction. Returns the C function pointer from a stack value if it is a C function (type=6 and C flag set at offset +6). Returns 0/NULL otherwise. 0x00523D40 69 lua_api_tointeger_00523d40 lua Lua C API: lua_tointeger. Converts a stack value to an integer. If the value is not a number (type 3), attempts conversion via lua_vm_tonumber. Returns 0 on failure. Uses ROUND for double-to-int conversion. 0x00523D90 115 lua_api_tolstring_00523d90 lua Lua C API: lua_tolstring. Converts a stack value to a string and returns a pointer to it. If the value is not already a string (type 4), converts via lua_vm_tostring. Optional param_3 receives the string length. Returns NULL if conversion fails. May trigger GC. 0x00523E10 55 lua_api_tonumber_00523e10 lua Lua C API: lua_tonumber. Converts a stack value to a double. If not already a number (type 3), attempts conversion via lua_vm_tonumber. Returns 0.0 on failure. 0x00523E50 84 lua_api_topointer lua Lua C API: lua_topointer. Returns a generic pointer for a Lua value. For lightuserdata (type 2) and full userdata (type 7), returns the data pointer. For tables (5), functions (6), and threads (8), returns the GC object pointer. Returns NULL for other types. 0x00523EC0 31 lua_api_tothread lua Lua C API: lua_tothread. Returns the lua_State pointer if the value at the given stack index is a thread (type 8). Returns NULL otherwise. 0x00523EE0 45 lua_api_touserdata lua Lua C API: lua_touserdata. Returns the userdata pointer for lightuserdata (type 2, returns value directly) or full userdata (type 7, returns pointer+0x18 to skip GC header). Returns NULL for other types. 0x00523F10 34 lua_api_type lua Lua C API: lua_type. Returns the type tag of the stack value at the given index. Returns LUA_TNONE (-1) if the index is invalid (points to nil sentinel). Type values: 0=nil, 1=boolean, 2=lightuserdata, 3=number, 4=string, 5=table, 6=function, 7=userdata, 8=thread. 0x00523F40 27 lua_api_typename lua Lua C API: lua_typename. Returns the type name string for the given type tag. Returns "no value" for type -1 (LUA_TNONE). Indexes into a global type name array. 0x00523F60 90 lua_api_xmove lua Lua C API: lua_xmove. Moves param_3 values from one lua_State (param_1) to another (param_2). Copies stack slots and adjusts both stack tops. No-op if source and destination are the same thread. 0x00523FC0 106 luaL_prepbuffer_flush lua Lua auxiliary: luaL_prepbuffer flush. Optimizes buffer by concatenating accumulated string pieces on the Lua stack. Iterates through pieces, comparing sizes via lua_api_concat, and flushes when the remaining pieces are few and small enough. 0x00524030 73 luaL_fileresult lua Lua auxiliary: luaL_fileresult. Formats and pushes an error message for file operations using errno/strerror. Format: "cannot %s %s: %s". Returns error code 6. Removes the file name from the stack after formatting. 0x00524080 36 lua_print_formatted lua Lua internal: print formatted output. Retrieves stdout file handle via STL singleton, then calls __stdio_common_vfprintf to print formatted output. Used for Lua print() and error output. 0x005240B0 97 lua_reader_file lua Lua internal: file reader callback for lua_load. Reads up to 0x200 bytes from a FILE* into a buffer using fread. On first call (flag set), returns BOM marker. Returns NULL on EOF. param_2 is the LoadF struct, param_3 receives the size read. 0x00524120 33 lua_reader_string lua Lua internal: string reader callback for lua_load (luaL_loadbuffer). Returns the string pointer on first call and sets size, then returns NULL on subsequent calls. param_2 is the LoadS struct (pointer + length). 0x00524150 41 lua_default_alloc lua Lua internal: default memory allocator (l_alloc). If size (param_4) is 0, calls free() and returns NULL. Otherwise calls realloc() to resize/allocate. This is the default allocator passed to lua_newstate. 0x00524180 105 luaL_addlstring lua Lua auxiliary: luaL_addlstring. Adds a byte string of given length to a Lua string buffer. Copies bytes one at a time, flushing the buffer to the Lua stack when the 0x200-byte internal buffer is full. 0x005241F0 41 luaL_addstring lua Lua auxiliary: luaL_addstring. Adds a null-terminated C string to a Lua string buffer. Computes strlen then delegates to luaL_addlstring. 0x00524220 128 luaL_addvalue lua Lua auxiliary: luaL_addvalue. Adds the value at the top of the Lua stack to a string buffer. Converts the top value to a string via lua_tolstring, then either copies it into the buffer directly or pushes it as a separate piece with lua_api_insert for later concatenation. 0x005242A0 235 luaL_argerror lua Lua auxiliary: luaL_argerror. Raises an argument error for a Lua C function. Checks if this is a method call (compares debug info name to "method") and adjusts the argument number. Formats error message: "bad argument #N to 'funcname' (expected)" or "calling 'funcname' on bad self". 0x00524390 26 luaL_buffinit lua Lua auxiliary: luaL_buffinit. Initializes a luaL_Buffer struct. Sets the lua_State reference (offset +8), the write pointer to the start of the internal 0x200-byte buffer (offset +12), and the piece count to 0 (offset +4). 0x005243B0 136 luaL_callmeta lua Lua auxiliary: luaL_callmeta. Calls a metamethod by name on the value at stack index param_2. Gets the metatable, looks up the named field (param_3), and if found (non-nil), calls it with the original value as argument. Returns 1 if metamethod was called, 0 otherwise. Cleans up metatable from stack. 0x00524440 43 luaL_checkany lua luaL_checkany - Lua auxiliary library. Checks that the argument at position param_2 has any value (not none). Errors with "value expected" if the stack position is empty. 0x00524470 101 luaL_checkinteger lua luaL_checkinteger - Lua auxiliary library. Checks that the argument at position param_2 is a number and returns it as an integer. Errors with "number expected, got X" on type mismatch. 0x005244E0 89 luaL_checklstring lua luaL_checklstring - Lua auxiliary library. Checks that the argument at position param_2 is a string. Returns the string pointer and optionally its length via param_3. Errors with "string expected, got X" on type mismatch. 0x00524540 124 luaL_checknumber lua luaL_checknumber - Lua auxiliary library. Checks that the argument at position param_2 is a number and returns it as a float/double. Errors with "number expected, got X" on type mismatch. 0x005245C0 156 luaL_checkoption lua luaL_checkoption - Lua auxiliary library. Checks that the argument at param_2 is a string matching one of the null-terminated option list entries in param_4. Returns the index of the matched option. Errors with "invalid option" if no match found. 0x00524660 36 luaL_checkstack lua luaL_checkstack - Lua auxiliary library. Ensures the Lua stack has room for param_2 extra slots. Calls luaL_error if lua_checkstack fails. 0x00524690 81 luaL_checktype lua luaL_checktype - Lua auxiliary library. Checks that the argument at position param_2 has exactly the Lua type specified by param_3. Errors with "X expected, got Y" on type mismatch. 0x005246F0 138 luaL_checkudata lua luaL_checkudata - Lua auxiliary library. Checks that the argument at position param_2 is a userdata with metatable matching the type name param_3. Returns the userdata pointer. Errors with type mismatch message if the metatable doesn't match. 0x00524780 146 luaL_error lua luaL_error - Lua auxiliary library. Raises an error with a formatted message. Gets debug info (source file, line number) via lua_getinfo, prepends location prefix, concatenates with the error message, and calls lua_error. Does not return. 0x00524820 224 luaL_findtable lua luaL_findtable - Lua auxiliary library. Traverses a dot-separated field path in a table at the given index, creating intermediate tables as needed. Used by the module/package system. Returns NULL on success, or the problematic field name if a non-table value is encountered. 0x00524900 90 luaL_getmetafield lua luaL_getmetafield - Lua auxiliary library. Pushes the metafield named param_3 from the metatable of the object at index param_2. Returns 1 if found and pushed, 0 if the object has no metatable or the field doesn't exist. 0x00524960 365 luaL_gsub lua luaL_gsub - Lua auxiliary library. Global string substitution. Replaces all occurrences of param_3 (pattern) with param_4 (replacement) in param_2 (source string). Uses an internal buffer to build the result, pushes the result string onto the Lua stack. 0x00524AD0 45 luaL_loadbuffer_00524ad0 lua luaL_loadbuffer - Lua auxiliary library. Loads a Lua chunk from a memory buffer. Wraps lua_load with a buffer reader function. param_2=buffer, param_3=size, param_4=chunk name. 0x00524B00 567 luaL_loadfile_00524b00 lua luaL_loadfile - Lua auxiliary library. Loads a Lua chunk from a file. Handles: NULL filename (reads stdin), shebang lines (skips #! first line), binary chunks (reopens in binary mode). Calls add_patch_filename_to_list for loaded files. Returns 0 on success, error code on failure. 0x00524D40 57 luaL_loadstring_00524d40 lua luaL_loadstring - Lua auxiliary library. Loads a Lua chunk from a null-terminated string. Computes strlen then delegates to lua_load with a buffer reader. 0x00524D80 92 luaL_newmetatable_00524d80 lua luaL_newmetatable - Lua auxiliary library. Creates a new metatable in the registry with the given name param_2. Returns 0 if a table with that name already exists (leaves existing on stack), or 1 if a new table was created and registered. 0x00524DE0 40 luaL_newstate_00524de0 lua luaL_newstate - Lua auxiliary library. Creates a new Lua state using the default memory allocator. Sets lua_default_panic as the panic handler via lua_atpanic. Returns the lua_State pointer or 0 on failure. 0x00524E10 281 luaL_openlib_00524e10 lua luaL_openlib - Lua auxiliary library. Registers a list of C functions (param_3, name/func pairs) into a library table. If param_2 (library name) is non-NULL, finds/creates the table in _LOADED. Supports upvalues via param_4 (nup). Used for creating Lua modules from C. 0x00524F30 129 luaL_optinteger_00524f30 lua luaL_optinteger - Lua auxiliary library. Returns the integer value at stack position param_2 if present and valid, otherwise returns the default value param_3. Errors if the argument exists but is not a number. 0x00524FC0 92 luaL_optlstring_00524fc0 lua luaL_optlstring - Lua auxiliary library. Returns the string at stack position param_2 if present, otherwise returns the default string param_3. Optionally writes the string length to param_4. Errors if argument exists but is not a string. 0x00525020 162 luaL_optnumber_00525020 lua luaL_optnumber - Lua auxiliary library. Returns the number at stack position param_2 if present, otherwise returns the default value param_3. Errors if argument exists but is not a number. 0x005250D0 50 luaL_prepbuffer_005250d0 lua luaL_prepbuffer - Lua auxiliary library. Flushes the current buffer contents to the Lua stack as a string fragment and resets the buffer pointer. Part of the luaL_Buffer system for efficient string building. 0x00525110 64 luaL_pushresult lua luaL_pushresult - Lua auxiliary library. Finalizes a luaL_Buffer. Flushes any remaining buffered data as a string, then calls lua_concat to merge all fragments into a single result string on the stack. 0x00525150 173 luaL_ref lua luaL_ref - Lua auxiliary library. Creates a reference to the value at the top of the stack in the table at index param_2. Returns the reference integer key. Handles free-list recycling of old reference slots. Returns -1 for nil values. 0x00525200 224 luaL_register lua luaL_register - Lua auxiliary library. Registers C functions into a module table (no upvalues). If param_2 (library name) is non-NULL, creates/finds the module in _LOADED and _G. Iterates the luaL_Reg array (name/func pairs) setting each into the table. 0x005252E0 54 luaL_typerror lua luaL_typerror - Lua auxiliary library. Raises a type error for the argument at position param_2. Formats message as "param_3 expected, got actual_type" and calls luaL_argerror. 0x00525320 85 luaL_unref lua luaL_unref - Lua auxiliary library. Releases a reference previously created by luaL_ref. Frees the slot at index param_3 in the table at index param_2 by adding it back to the free list. Ignores negative reference values. 0x00525380 130 luaL_where lua luaL_where - Lua auxiliary library. Pushes a string identifying the current position in the call stack at level param_2. Format: "source:line: ". Used as a prefix for error messages by luaL_error. 0x00525410 48 lua_default_panic lua lua_default_panic - Default Lua panic handler set by luaL_newstate. Prints "PANIC: unprotected error in call to Lua API" with the error message to stderr, then calls abort. This fires when an error occurs outside any protected call (pcall). 0x00525440 207 luaB_print lua luaB_print - Lua base library: print() implementation. Iterates all arguments, converts each to string via tostring(), prints tab-separated to stdout with a trailing newline. Errors if tostring returns non-string. 0x00525510 275 luaB_tonumber lua luaB_tonumber - Lua base library: tonumber() implementation. With one arg, converts to number. With two args, second is the base (2-36) for string-to-integer conversion via strtoul. Returns nil on conversion failure. 0x00525630 86 luaB_error lua luaB_error - Lua base library: error() implementation. Takes an error message and optional level (default 1). If level > 0, prepends source location via luaL_where. Calls lua_error to raise. 0x00525690 71 luaB_getmetatable lua luaB_getmetatable - Lua base library: getmetatable() implementation. Returns the metatable of the given object. If the metatable has a __metatable field, returns that field's value instead (for protection). 0x005256E0 118 luaB_setmetatable lua luaB_setmetatable - Lua base library: setmetatable() implementation. Sets the metatable of a table (arg 1) to arg 2 (must be nil or table). Errors if the existing metatable has a __metatable field (protected metatable). 0x00525760 71 luaB_getfenv lua luaB_getfenv - Lua base library: getfenv() implementation. Returns the environment table of a function. For C functions, returns the global environment. Uses luaL_optinteger to resolve the function level on the call stack. 0x005257B0 170 luaB_setfenv lua luaB_setfenv - Lua base library: setfenv() implementation. Sets the environment table (arg 2, must be table) of a function (arg 1). Special case: if arg 1 is 0, sets the thread environment. Errors if cannot change environment of a C function. 0x00525860 51 luaB_rawequal lua luaB_rawequal - Lua base library: rawequal() implementation. Compares two values for equality without invoking __eq metamethod. Pushes boolean result. 0x005258A0 52 luaB_rawget lua luaB_rawget - Lua base library: rawget() implementation. Gets table[key] without invoking __index metamethod. Arg 1 must be a table, arg 2 is the key. 0x005258E0 60 luaB_rawset lua luaB_rawset - Lua base library: rawset() implementation. Sets table[key]=value without invoking __newindex metamethod. Arg 1 must be a table, arg 2 is key, arg 3 is value. 0x00525920 34 luaB_gcinfo lua luaB_gcinfo - Lua base library: gcinfo() implementation (deprecated). Returns the amount of memory in use by Lua (in KB) via lua_gc with LUA_GCCOUNT option. 0x00525950 195 luaB_collectgarbage lua luaB_collectgarbage - Lua base library: collectgarbage() implementation. Accepts option string ("collect","stop","restart","count","step","setpause","setstepmul") and optional argument. Dispatches to lua_gc with the appropriate GC command. Returns count as KB (with fractional part) or boolean for step mode. 0x00525A20 48 luaB_type lua luaB_type - Lua base library: type() implementation. Returns the type name string of the argument (e.g. "number", "string", "table", "nil", etc.). 0x00525A50 65 luaB_next lua luaB_next - Lua base library: next() implementation. Returns the next key-value pair from a table after the given key. Arg 1 must be a table. Returns nil when iteration is complete. 0x00525AA0 91 luaB_loadstring lua luaB_loadstring - Lua base library: loadstring() implementation. Compiles a string as a Lua chunk. Returns the compiled function on success, or nil + error message on failure. Optional second arg is the chunk name. 0x00525B00 66 luaB_loadfile lua luaB_loadfile - Lua base library: loadfile() implementation. Loads a Lua file (or stdin if no filename). Returns compiled function on success, or nil + error message on failure. 0x00525B50 99 luaB_load lua luaB_load - Lua base library: load() implementation. Loads a chunk from a reader function (arg 1, must be a function). Optional arg 2 is the chunk name (default "=(load)"). Returns compiled function on success, or nil + error message on failure. 0x00525BC0 80 luaB_dofile lua luaB_dofile - Lua base library: dofile() implementation. Loads and executes a Lua file. Calls luaL_loadfile then lua_pcall. Raises error on failure. Returns all values from the executed chunk. 0x00525C10 74 luaB_assert lua luaB_assert - Lua base library: assert() implementation. If arg 1 is truthy, returns all arguments. If arg 1 is falsy, raises an error with arg 2 as the message (default "assertion failed!"). 0x00525C60 176 luaB_unpack lua luaB_unpack - Lua base library: unpack() implementation. Returns elements from a table as multiple values. Arg 1 is the table, optional arg 2 is start index (default 1), optional arg 3 is end index (default #table). Errors with "too many results to unpack" if range exceeds stack capacity. 0x00525D10 129 luaB_select lua luaB_select - Lua base library: select() implementation. If arg 1 is "#", returns the number of remaining arguments. Otherwise arg 1 is an integer index; returns all arguments from that index onward. Negative indices count from the end. Errors with "index out of range" for invalid indices. 0x00525DA0 73 luaB_pcall lua Lua base library: xpcall(f, err) - calls function f with error handler err, pushes success boolean and results 0x00525DF0 77 luaB_xpcall lua Lua base library: pcall(f, ...) - protected call with message handler, returns success boolean + results 0x00525E40 115 luaB_tostring lua Lua base library: tostring(v) - converts value to string. Handles nil->"nil", boolean->"true"/"false", number->string, string->identity, other->__tostring metamethod or type+pointer 0x00525F40 74 luaB_costatus lua Lua coroutine.status(co) - returns status string: "running", "suspended", "normal", or "dead" 0x00525F90 123 luaB_coresume lua Lua coroutine.resume(co, ...) - resumes coroutine, returns true+values on success or false+error on failure 0x00526010 92 luaB_cocreate lua Lua coroutine.create(f) - creates new coroutine thread from Lua function f. Errors if f is a C function. 0x00526070 105 luaB_cowrap lua Lua coroutine.wrap(f) - creates coroutine and returns an iterator function that resumes it on each call 0x005260E0 25 lua_coroutine_yield lua Lua base library: error(message, level) - raises an error with the given message at the specified stack level 0x00526100 36 luaB_corunning lua Lua coroutine.running() - returns the running coroutine thread, or nil if called from the main thread 0x00526130 208 lua_resume_internal_00526130 lua Lua internal: lua_resume - resumes a coroutine, transferring arguments/results between caller and coroutine stacks. Checks stack space, sets debug hook, handles yield/error return codes. 0x00526200 158 lua_costatus_00526200 lua Lua internal: costatus - determines coroutine status. Returns 0=running (same thread), 1=suspended (yielded or not started), 2=normal (has stack frames), 3=dead (finished or error). Uses security cookie. 0x005262A0 126 lua_generic_reader_005262a0 lua Lua internal: generic reader callback for lua_load. Calls the reader function on the stack, expects string or nil return. Used by lua_load to read chunks from user-provided reader functions. 0x00526320 210 luaB_getfunc lua Lua base library: getfenv(f) - gets the environment table of function f or stack level. If arg is a function, pushes it directly. Otherwise interprets as stack level, gets debug info, and retrieves environment. 0x00526400 67 lua_ipairs_iterator_00526400 lua Lua internal: ipairs iterator function. Increments index by 1, does rawgeti on the table. Returns 2 values (index, value) if value is non-nil, else 0 to stop iteration. 0x00526450 101 lua_wrap_resume_iterator_00526450 lua Lua internal: coroutine.wrap iterator. Resumes the wrapped coroutine thread (stored as upvalue). On failure, prepends traceback info and calls lua_error. Returns resume results on success. 0x005264C0 55 luaB_ipairs lua Lua base library: ipairs(t) - returns iterator function, table t, and initial index 0. The iterator (ipairs_iterator upvalue) traverses integer keys sequentially. 0x00526500 216 luaB_newproxy lua Lua base library: newproxy(arg) - creates a new userdata proxy. If arg is true, creates with new metatable. If arg is an existing proxy, copies its metatable. Lua 5.1 specific function. 0x005265E0 53 luaB_pairs lua Lua base library: pairs(t) - returns next function (upvalue), table t, and nil as initial key for generic for loop iteration. 0x00526620 274 luaopen_base_00526620 game_core 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. 0x00526740 233 luaK_addk_00526740 lua Lua code generator: luaK_addk - adds a constant value to the function prototype's constant table. Returns the index of the constant. Uses hash table for deduplication. Grows the constant array as needed. 0x00526830 477 luaK_codearith_00526830 lua Lua code generator: luaK_codearith - emits arithmetic bytecode. Performs constant folding for add/sub/mul/div/mod/pow/unm when both operands are number constants. Falls back to emitting OP_ADD..OP_UNM instructions otherwise. 0x00526A40 217 luaK_codecomp_00526a40 lua Lua code generator: luaK_codecomp - emits comparison instructions (OP_EQ, OP_LT, OP_LE). Frees operand registers, emits the comparison opcode followed by a conditional jump, stores result as jump list. 0x00526B20 93 luaK_condjump_00526b20 lua Lua code generator: luaK_condjump - emits a conditional test+jump instruction pair. Emits the test opcode, saves pending jump, emits unconditional jump (OP_JMP), patches test to skip over. Returns jump position. 0x00526B80 85 luaK_exp2nextreg_00526b80 lua Lua code generator: luaK_exp2nextreg - allocates next free register and discharges expression into it. Checks max stack depth limit (249). Increments freereg counter. 0x00526BE0 475 luaK_discharge2reg lua Lua code generator: luaK_discharge2reg - discharges expression to a specific target register. Handles all expression kinds: VNIL, VTRUE, VFALSE, VK (constant), VKNUM (number), VLOCAL, VUPVAL, VGLOBAL, VINDEXED, VRELOCABLE, VNONRELOC via MOVE instruction. 0x00526DF0 288 luaK_exp2reg lua Lua code generator: luaK_exp2reg - discharges expression to a specific register, then patches true/false jump lists to load the correct boolean value. Handles conditional expressions that need boolean materialization. 0x00526F10 38 luaK_freereg_00526f10 lua Lua code generator: luaK_freereg - frees a register if it is a temporary (above the fixed local variables). Decrements freereg counter. 0x00526F40 80 luaK_fixline_00526f40 lua Lua code generator: luaK_fixline - patches the return instruction's A field. Adjusts the instruction at the given position to set the correct number of return values. 0x00526F90 249 luaK_goiftrue lua Lua code generator: luaK_goiftrue - emits code to test expression and jump if true. Handles NOT optimization (inverts condition). For VRELOCABLE with TESTSET, patches inline. Otherwise emits conditional jump. Builds true-list for patching. 0x00527090 57 luaK_reserveregs_00527090 lua Lua code generator: luaK_reserveregs - checks and reserves additional stack slots. Errors with "function or expression too complex" if total exceeds 249 (MAXSTACK). 0x005270D0 162 luaK_code_005270d0 lua Lua code generator: luaK_code - emits a single instruction to the code array. Patches any pending jump to this position, grows the code and lineinfo arrays as needed, stores instruction and line number. Returns the instruction index. 0x00527180 45 luaK_codeABC_00527180 lua Lua code generator: luaK_codeABC - encodes and emits an iABC-format instruction. Packs opcode, A, B, C fields into a 32-bit instruction word and calls luaK_code. 0x005271B0 39 luaK_codeABx_005271b0 lua Lua code generator: luaK_codeABx - encodes and emits an iABx-format instruction. Packs opcode, A, Bx fields into a 32-bit instruction word and calls luaK_code. 0x005271E0 132 luaK_patchlist_005271e0 lua Lua code generator: luaK_patchlist - patches a chain of jump instructions to target a specific position. Walks the linked list of jumps (encoded as sBx offsets in JMP instructions) and rewrites each to point to the target. 0x00527270 290 luaK_dischargevars_00527270 lua Lua code generator: luaK_dischargevars - converts variable references (VLOCAL, VUPVAL, VGLOBAL, VINDEXED) into actual value expressions by emitting the appropriate load instructions (GETUPVAL, GETGLOBAL, GETTABLE). Also handles VJMP and VTEST types. 0x005273C0 344 luaK_exp2anyreg_005273c0 lua Lua code generator: luaK_exp2anyreg - places expression result in any register. Tries to keep in current register if possible. For constants that fit in RK field, returns RK encoding (index\|0x100). Otherwise allocates a new register. 0x00527530 80 luaK_exp2nextreg_safe_00527530 lua Lua code generator: exp2nextreg variant that tries to keep the value in its current register if it has no pending jumps, otherwise forces allocation of a new register via exp2nextreg_force. 0x00527580 117 luaK_exp2nextreg_force_00527580 lua Lua code generator: exp2nextreg_force - unconditionally discharges expression, frees its register if temporary, allocates next register, and calls exp2reg. Ensures expression occupies a fresh register slot. 0x00527600 97 luaK_exp2val_00527600 lua Lua code generator: luaK_exp2val - ensures expression has a concrete value. If expression has no pending jump patches, just discharges variables. Otherwise forces to a register via exp2nextreg_force. 0x00527670 23 luaK_setlineno_00527670 lua Lua code generator: luaK_setlineno - sets the line number info for the last emitted instruction by writing to the lineinfo array at (pc-1). 0x00527690 14 luaK_setcurrentline_00527690 lua Lua code generator: copies the lastline value to currentline. Simple state update for line tracking during code generation. 0x005276A0 122 luaK_goiffalse_005276a0 lua Lua code generator: luaK_goiffalse - emits code to test expression and jump if false. Mirror of luaK_goiftrue. Handles constant true/false/nil, VRELOCABLE with NOT, and general expressions. Builds false-list for patching. 0x00527740 31 luaK_indexed_00527740 lua Lua code generator: luaK_indexed - sets up indexed expression (table[key]). Converts key expression to RK format via exp2anyreg and stores in the expression descriptor's aux field. 0x00527760 52 luaK_prefix_00527760 lua Lua code generator: luaK_prefix - handles prefix/unary operators and infix operator left-hand side preparation. For unary minus/not/len, processes operand. For comparisons and AND/OR, sets up conditional jump chains. 0x00527970 59 luaK_jump_00527970 lua Lua code generator: luaK_jump - emits an unconditional OP_JMP instruction. Concatenates with any pending jump list. Returns the position of the emitted jump for later patching. 0x005279B0 150 luaK_nil_005279b0 lua Lua code generator: luaK_nil - emits OP_LOADNIL instruction to set registers [reg..reg+n-1] to nil. Optimizes by coalescing with previous LOADNIL if the ranges overlap or are adjacent. 0x00527A50 43 luaK_numberK_00527a50 lua Lua code generator: luaK_numberK - adds a number constant to the prototype constant table. Wraps the double value in a TValue struct and calls luaK_addk. 0x00527A80 58 luaK_patchtohere_00527a80 lua Lua code generator: luaK_patchtohere - patches a jump to the current code position. If target equals lastline, concatenates to pending jump list. Otherwise calls patchclose to fix up jump targets. 0x00527AC0 30 luaK_concat_00527ac0 lua Lua code generator: luaK_concat - concatenates a jump to the pending jump list. Updates lastline and appends to the pending list via luaK_patchlist. 0x00527AE0 40 luaK_posfix_00527ae0 lua Lua code generator: luaK_posfix - handles the right-hand side of binary operations. The main binary expression code generator. Handles arithmetic (+,-,*,/,%,^), concatenation (..), comparison (==,~=,<,<=,>,>=), logical (and,or). Performs constant folding where possible. 0x00528D10 468 luaK_prefix lua Lua code generator: applies prefix operator (UNM=0, NOT=1, LEN=2) to an expression. For UNM, tries constant folding on numbers. For NOT, swaps true/false jump lists. For LEN, emits OP_LEN instruction. 0x00528F10 64 luaK_checkstack lua Lua code generator: ensures the function stack has room for 'n' more slots. Raises error if stack exceeds 249 registers ("function or expression too complex"). 0x00528F50 44 luaK_codeABx lua Lua code generator: emits an instruction in ABx format (opcode=0x1E/OP_CLOSURE). Encodes A=param_2 in bits 6-13, Bx=(param_3+1) in bits 14-31. 0x00528F80 236 luaK_setcall lua Lua code generator: emits a CALL instruction for a function call expression. Reserves 2 stack slots, encodes function register, argument count, and generates OP_CALL (opcode 0x0B). 0x00529070 130 luaK_setlist lua Lua code generator: emits OP_SETLIST instruction for table constructors. Encodes base register, field count (in batches of 50/LFIELDS_PER_FLUSH), and flush index. Handles extra arg for large tables. 0x00529100 85 luaK_setoneret lua Lua code generator: adjusts expression to produce exactly one result. For VCALL (0xD), extracts register from instruction. For VVARARG (0xE), patches instruction to request 1 result and changes kind to VRELOCABLE. 0x00529160 165 luaK_setmultret lua Lua code generator: adjusts expression to produce multiple results. For VCALL (0xD), patches C field of instruction. For VVARARG (0xE), patches B field, sets register, and reserves one stack slot. 0x00529210 218 luaK_storevar lua Lua code generator: stores a value into a variable. Handles VLOCAL (6, direct reg move), VUPVAL (7, OP_SETUPVAL), VGLOBAL (8, OP_SETGLOBAL), and VINDEXED (9, OP_SETTABLE) variable kinds. 0x00529300 39 luaK_numberK lua Lua code generator: adds a number constant to the constant pool. Creates a TValue with type=4 (LUA_TNUMBER), value=param_2, then calls luaK_addk to register it. 0x00529330 91 luaK_hasjumps lua Lua code generator: checks if a jump list contains any non-test jumps (i.e., jumps whose preceding instruction is not OP_TESTSET 0x1B). Returns 1 if non-test jumps exist, 0 otherwise. 0x00529390 163 luaK_patchlistaux lua Lua 5.1 internal: luaK patchlistaux 0x00529440 143 luaK_patchtestreg lua Lua code generator: patches the register operand in a TESTSET instruction preceding a jump. If the preceding instruction is OP_TESTSET (0x1B), patches register A to param_3. If param_3==0xFF or matches current B, converts to OP_TEST. 0x005294D0 124 luaK_dischargejpc lua Lua code generator: discharges a pending jump list by converting all TESTSET instructions in the list to TEST instructions (removing the register assignment). Traverses linked jump list until end (-1). 0x00529550 26 luaB_getfenv_compat lua Lua base library: pushes the global environment table (registry index -10000) onto the stack. Simplified getfenv implementation that always returns the global table. 0x00529570 47 luaB_getmetatable_00529570 lua Lua base library: implements getmetatable(obj). Returns the metatable of the given object, or nil if it has none. Corresponds to Lua's getmetatable() function. 0x005295A0 77 luaB_setmetatable_005295a0 lua Lua base library: implements setmetatable(table, metatable). Validates arg 2 is nil or table. Sets the metatable on arg 1 and pushes boolean result. Returns 1 value. 0x005295F0 33 luaB_getfenv_005295f0 lua Lua base library: implements getfenv(f). Checks arg 1 exists, then calls lua_getfenv to get the function environment table. Returns 1 value. 0x00529620 62 luaB_setfenv_00529620 lua Lua base library: implements setfenv(f, table). Validates arg 2 is a table, calls lua_setfenv. Raises error if environment cannot be changed (e.g., C functions). Returns 1 value. 0x00529660 662 luaB_getinfo lua Lua debug library: implements debug.getinfo(thread, f, what). Gets information about a function or stack level. Parses 'flnSu' option string to populate source, currentline, nups, name/namewhat, activelines, func fields in a table. Returns 1 table. 0x00529900 248 luaB_getlocal lua Lua debug library: implements debug.getlocal(thread, level, local_index). Returns the name and value of a local variable at the given stack level. Returns 2 values (name, value) or nil if not found. 0x00529A00 231 lua_debug_setlocal_00529a00 lua Lua debug library: implements debug.setlocal(thread, level, local_index, value). Sets the value of a local variable at the given stack level. Returns the local variable name as 1 value. 0x00529AF0 92 lua_debug_getupvalue_00529af0 lua Lua debug library: implements debug.getupvalue(f, up). Returns name and value of upvalue #up of function f. Only works for Lua functions (not C functions). Returns 2 values (name, value) or 0 if not found. 0x00529B50 100 lua_debug_setupvalue_00529b50 lua Lua debug library: implements debug.setupvalue(f, up, value). Sets the value of upvalue #up of function f. Only works for Lua functions. Returns upvalue name (1 value) or 0 if not found. 0x00529BC0 295 lua_debug_sethook_00529bc0 lua Lua debug library: implements debug.sethook(thread, hook, mask, count). Parses mask string for 'c' (call), 'r' (return), 'l' (line) flags. Stores hook function in registry keyed by thread lightuserdata. Calls lua_sethook. 0x00529CF0 228 lua_debug_gethook_00529cf0 lua Lua debug library: implements debug.gethook(thread). Returns the current hook function, mask string ('c'/'r'/'l'), and count. Returns "external hook" if hook wasn't set through debug library. Returns 3 values. 0x00529DE0 313 lua_debug_debug_00529de0 lua Lua debug library: implements debug.debug(). Enters interactive debug mode, reading commands from stdin via "lua_debug>" prompt. Executes each line via luaL_loadbuffer+lua_pcall. Exits on empty input or "cont" command. 0x00529F20 585 lua_debug_traceback_00529f20 lua Lua debug library: implements debug.traceback(thread, msg, level). Builds a stack traceback string. For each frame, adds short_src:line info, function name/type. Collapses middle frames with "..." if stack is deep (>12 frames). Returns 1 string. 0x0052A170 99 lua_debug_gethooktable_0052a170 lua Lua debug internal: retrieves or creates the hook table from the registry. The hook table maps thread lightuserdata keys to hook function values. Creates the table with initial capacity 1 if it doesn't exist. 0x0052A1E0 141 lua_debug_hookcallback_0052a1e0 lua Lua debug internal: hook callback function invoked by the VM. Looks up the Lua hook function from the hook table, pushes the event name (from string array indexed by event type), pushes line number (or nil if negative), then calls the hook with 2 args. 0x0052A270 31 luaopen_debug_0052a270 game_core 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. 0x0052A290 79 lua_debug_transfer_field_0052a290 lua Lua debug internal: transfers a value from one thread's stack to a table field. If source and dest threads are the same, adjusts stack and sets field directly. Otherwise uses lua_xmove to transfer before setting field. 0x0052A2E0 592 luaG_getinfo_0052a2e0 lua Lua debug core: implements lua_getinfo backend. Parses option string ('S','l','u','n','L','f') to fill debug info struct with source, line, nups, name/namewhat, active lines, function. Handles tail calls specially with placeholder info. 0x0052A580 94 luaG_checkopenop_0052a580 lua Lua debug core: validates an instruction operand is within valid range for the given operand type. Type 0: must be 0 (register A). Type 2: must be < maxstacksize. Type 3: checks against maxstacksize or constant pool size. Returns 1 if valid, 0 if not. 0x0052A5E0 83 luaG_currentline_0052a5e0 lua Lua debug core: returns the current source line number for a call frame. Calculates the PC offset from the prototype's code array and looks up in the lineinfo array. Returns 0 if no lineinfo, -1 if not a Lua function. 0x0052A640 75 luaG_currentpc_0052a640 lua Lua debug core: returns the current PC (program counter) index for a Lua call frame. Computes offset from the prototype's code base as (savedpc - code) / 4 - 1. Returns -1 if frame is not a Lua function. 0x0052A690 130 luaG_findlocal_0052a690 lua Lua debug core: finds a local variable name by index at the current PC. First checks luaF_getlocalname from the prototype's debug info, then falls back to checking if index is within the stack range (returns "(temporary)" for unnamed stack slots). 0x0052A720 301 luaG_getfuncname_0052a720 lua Lua debug core: determines the name and kind of a variable/function at a given register in a call frame. Follows MOVE chains, resolves upvalues, globals, table fields, and method calls. Returns kind string ("local","upvalue","global","field","method") and sets name pointer. 0x0052A880 50 luaG_kname lua Lua debug core: returns the string name of a constant from the constant pool. If the RK index has bit 8 set (constant), looks up the constant table entry; returns the string payload if type==4 (LUA_TSTRING), otherwise returns "?" placeholder. 0x0052A8C0 48 luaG_aritherror lua Lua debug core: raises an arithmetic error. Attempts to convert param_2 to number; if that fails, uses param_2 as the offending operand. Calls luaG_typeerror with "perform arithmetic on" message. 0x0052A8F0 31 luaG_has_vararg_flag lua Lua debug core: checks if the current prototype has vararg flags set. Calls luaG_checkopenop with the prototype's vararg field and register 0xFF. Returns true if the check succeeds (non-zero). 0x0052A910 37 luaG_isinlinejump lua Lua debug core: checks if an instruction is a potential open call/setlist. Returns 1 if opcode is 0x1C (CALL), 0x1D (TAILCALL), 0x1E (RETURN), or 0x22 (SETLIST) AND the A operand (bits 23+) is 0. Returns 0 otherwise. 0x0052A960 38 luaG_concaterror lua Lua debug core: raises a concatenation type error. Wrapper that calls luaG_typeerror with "attempt to concatenate" message. 0x0052A990 140 luaG_errormsg lua Lua VM error handler: invokes the error handler function if one is set (non-zero errfunc offset). Copies error message and handler to stack, calls handler via luaD_call, then triggers luaD_throw with error code 2 (runtime error). 0x0052AA20 80 luaG_ordererror lua Lua debug core: raises a comparison/ordering error. If both operands have the same type, reports "attempt to compare two X values"; otherwise reports "attempt to compare X with Y". Always returns 0. 0x0052AA70 282 luaG_runerror lua Lua debug core: raises a runtime error with formatted message. Formats the message with lua_pushvfstring, prepends source:line prefix if current frame is a Lua function, then calls luaG_errormsg to invoke error handler and throw. 0x0052AB90 138 luaG_typeerror lua Lua debug core: raises a type error. Searches the current call frame's stack for the offending value, tries to determine its name via luaG_getfuncname. Produces messages like "attempt to X local 'y' (a Z value)" or "attempt to X a Z value". 0x0052AC20 11 lua_gethook lua Lua API: returns the current hook function pointer from lua_State offset 0x44. 0x0052AC30 11 lua_gethookcount lua Lua API: returns the current hook count from lua_State offset 0x3C (the instruction count interval for count hooks). 0x0052AC40 12 lua_gethookmask lua Lua API: returns the current hook mask byte from lua_State offset 0x38. Mask bits: 1=call, 2=return, 4=line, 8=count. 0x0052AC50 319 lua_getinfo lua Lua API: implements lua_getinfo(L, what, ar). Supports '>' prefix to pop function from stack. Delegates to luaG_getinfo for actual info gathering. Handles 'f' option (push function) and 'L' option (push active lines table). Returns non-zero on success. 0x0052AD90 77 lua_do_getupvalue_by_index_0052ad90 lua Lua VM: Gets an upvalue by index from a call frame. Looks up the upvalue slot in the closure's upvalue array and pushes its value onto the stack. Returns non-zero if successful. 0x0052ADE0 119 lua_do_findupvalue_by_count_0052ade0 lua Lua VM: Finds an upvalue by walking backward through the call stack, counting visible upvalues (skipping vararg frames). Sets the index in param_3->offset and returns 1 if found, 0 otherwise. 0x0052AE60 46 lua_do_set_hook_config_0052ae60 lua Lua VM: Configures debug hook settings on a lua_State. Sets the hook function pointer (+0x44), hook mask (+0x38), and hook count (+0x3c/+0x40). If either function or mask is 0, both are cleared. 0x0052AE90 91 lua_do__setupvalue_by_index lua Lua VM: Sets an upvalue by index. Pops the top stack value and copies it into the specified upvalue slot of the closure. Returns non-zero on success. 0x0052AEF0 1194 lua_debug__checkcode lua Lua VM (ldebug.c): Validates a Lua prototype's bytecode instructions. Checks each opcode for valid register references, jump targets, upvalue indices, and instruction sequence constraints. Returns the last return instruction index or 0 on validation failure. Large switch on opcode types (0x00-0x25). 0x0052B420 352 lua_do__adjust_varargs lua Lua VM (ldo.c): Adjusts the stack for a vararg function call. Pads fixed args if fewer were passed, moves fixed args below varargs, and optionally creates a vararg table (COMPAT_VARARG). Returns pointer to the adjusted base. 0x0052B580 213 lua_do__f_parser lua Lua VM (ldo.c): Parser front-end. Checks ZIO lookahead byte: 0x1b = binary chunk (luaU_undump), else text (luaY_parser). Creates a closure from the resulting prototype and pushes it onto the stack. Allocates upvalues for the closure. 0x0052B660 73 lua_do__growCI lua Lua VM (ldo.c): Grows the call info (CI) stack. Doubles the CI stack size via realloc. If size exceeds 20000, raises "stack overflow" error. Hard limit at 20001 triggers error code 5 + int3 breakpoint. 0x0052B6B0 130 lua_do__call lua Lua VM (ldo.c): Performs a Lua function call (luaD_call). Increments C call depth, checks for C stack overflow (200 = error, 224 = fatal). Calls luaD_precall; if it returns 0, runs luaV_execute. Decrements call depth on return. Runs GC step if threshold exceeded. 0x0052B740 220 lua_do__callhook lua Lua VM (ldo.c): Invokes the user-set debug hook callback if one is registered and hooks are enabled. Saves/restores the stack top and CI stack pointers around the hook call. Temporarily disables hooks during execution to prevent recursion. 0x0052B820 39 lua_do__checkstack_grow lua Lua VM (ldo.c): Ensures the value stack has enough room by growing it. Calculates new size as max(current*2, current+needed) and calls luaD_reallocstack. 0x0052B850 199 lua_do__pcall lua Lua VM (ldo.c): Protected call (luaD_pcall). Saves the current C call depth, CI stack offset, and allowhook flag. Calls luaD_rawrunprotected with the given function. On error, restores saved state, closes upvalues, and handles error results. Shrinks CI stack back to 20000 if it grew past that. 0x0052B920 236 lua_do__poscall lua Lua VM (ldo.c): Post-call processing (luaD_poscall). Fires line/return hooks if active. Pops the call info frame, copies return values to the caller's expected slots. Returns the number of expected results + 1. 0x0052BA10 632 lua_do__precall lua Lua VM (ldo.c): Pre-call setup (luaD_precall). For C functions: pushes a new CI frame, calls the C function, then does poscall; returns 1. For C closures that yield: returns 2. For Lua functions: adjusts varargs if needed, pushes CI frame, sets up registers and PC; returns 0 (caller should run luaV_execute). If not callable, looks up __call metamethod. 0x0052BC90 240 lua_do__protectedparser lua Lua VM (ldo.c): Protected parser (luaD_protectedparser). Calls f_parser inside luaD_rawrunprotected. On success, restores CI/stack state. Frees the parser's scanner buffer regardless of outcome. Shrinks CI stack if it grew past 20000. 0x0052BD80 136 lua_do__rawrunprotected lua Lua VM (ldo.c): Raw protected execution (luaD_rawrunprotected). Saves/restores the error recovery chain (L->errorJmp). Uses setjmp3 to establish an error recovery point, then calls the provided function. Returns the error status code (0 = success). 0x0052BE10 121 lua_do__reallocCI lua Lua VM (ldo.c): Reallocates the call info (CI) stack to a new size. Each CI entry is 0x18 bytes. Updates the CI base pointer, current CI pointer, and end-of-CI pointer. Checks for overflow (size limit ~0xAAAAAAA entries). 0x0052BE90 199 lua_do__reallocstack lua Lua VM (ldo.c): Reallocates the Lua value stack (luaD_reallocstack). Each slot is 0x10 bytes. Relocates all pointers in the CI stack and open upvalue list to the new base address. Updates stack_last, top, and base pointers. 0x0052BF60 103 lua_do__seterrorobj lua Lua VM (ldo.c): Sets the error object on the stack (luaD_seterrorobj). For runtime errors (2,3): copies the top-of-stack error value to the target. For OOM (4): creates "not enough memory" string. For fatal (5): creates "error in error handling" string. Adjusts stack top. 0x0052BFE0 77 lua_do__throw lua Lua VM (ldo.c): Throws a Lua error (luaD_throw). If an error recovery point exists (L->errorJmp), stores the error code and does longjmp. Otherwise sets L->status, calls the global panic handler if set, then exit(1). 0x0052C030 233 lua_do__resume lua Lua VM (ldo.c): Resumes a coroutine (lua_resume). Checks that the coroutine is suspended or fresh (status 0/1). Verifies C stack depth < 200. Calls luaD_rawrunprotected with resume_inner. Returns the coroutine status. Errors if trying to resume a non-suspended coroutine. 0x0052C120 55 lua_do__yield lua Lua VM (ldo.c): Yields a coroutine (lua_yield). Checks that yield is not attempted across a metamethod/C-call boundary. Sets L->status = 1 (yielded), saves the first result pointer. Returns -1 to signal yield to the caller. 0x0052C160 123 lua_do__resetthread lua Lua VM (ldo.c): Resets a Lua thread/coroutine after an error. Resets CI to base, closes upvalues, sets error object, restores C call depth and allowhook. Shrinks CI stack back to 20000 if it grew. Clears errorJmp and errfunc. 0x0052C1E0 123 lua_do__resume_inner lua Lua VM (ldo.c): Inner resume logic. For fresh coroutines (status=0): calls precall then execute. For yielded coroutines (status=1): clears status, resumes C closures via poscall or continues Lua execution via luaV_execute. 0x0052C260 374 lua_undump__dump_stack lua Lua VM (lundump.c): Dumps the Lua stack constants of a prototype. Writes the constant count, then for each constant writes its type tag and value (nil=0, boolean=1, number=3 as double, string=4 with length prefix). Also dumps sub-prototypes and upvalue info by calling DumpCode and DumpDebug. 0x0052C3E0 536 lua_undump__dump_debug lua Lua VM (lundump.c): Dumps the debug info section of a Lua prototype. Writes line info array, local variable records (name string + startpc + endpc), and upvalue name strings. When strip mode is enabled, writes zero counts instead of actual debug data. 0x0052C600 336 lua_undump__dump_function lua Lua VM (lundump.c): Dumps a complete Lua function prototype. Writes the source name string, then numeric fields (linedefined, lastlinedefined, nups, numparams, is_vararg, maxstacksize), then the code array, then calls DumpConstants and DumpDebug. 0x0052C750 131 lua_undump__dump_string lua Lua VM (lundump.c): Dumps a Lua string to the output. Writes 0 for NULL strings. For non-NULL strings, writes the length (including null terminator) followed by the string data bytes. 0x0052C7E0 123 lua_undump__luaU_dump lua Lua VM (lundump.c): Top-level dump entry point (luaU_dump). Writes the Lua binary header via luaU_make_header, then dumps the main function prototype via DumpFunction. Returns the writer's error status. 0x0052C860 165 lua_func__close_upvalues lua Lua VM (lfunc.c): Closes all open upvalues at or above the given stack level (luaF_close). Walks the open upvalue list. For upvalues that need to stay alive: copies the stack value into the upvalue object and relinks it into the GC alloc list. For dead upvalues: frees the memory. 0x0052C910 152 lua_func__findupval lua Lua VM (lfunc.c): Finds or creates an open upvalue for the given stack level (luaF_findupval). Walks the open upvalue list looking for a match. If found, returns it (toggling GC color if needed). If not found, allocates a new UpVal, inserts it sorted by stack level, and links it into the GC list. 0x0052C9B0 63 lua_func__freeclosure lua Lua VM (lfunc.c): Frees a closure object. For C closures (isC=1): size = nupvalues*16 + 0x18. For Lua closures (isC=0): size = nupvalues*4 + 0x14. Calls luaM_realloc with size 0 to free. 0x0052C9F0 143 lua_func__freeproto lua Lua VM (lfunc.c): Frees a Lua function prototype and all its sub-arrays. Frees: code array, sub-prototypes array, constants array, line info array, local variables array, and upvalue names array. Finally frees the Proto struct itself (0x4c bytes). 0x0052CA80 50 lua_func__freeupval lua Lua VM (lfunc.c): Frees an UpVal object. If the upvalue's value pointer doesn't point to its own embedded storage (i.e., it's still open/linked), unlinks it from the doubly-linked list first. Then frees the 0x20-byte UpVal struct. 0x0052CAC0 75 lua_func__getlocalname lua Lua VM (lfunc.c): Gets the name of a local variable at a given PC position (luaF_getlocalname). Iterates through the prototype's localvar array, counting variables whose scope includes the given PC. Returns the string pointer of the Nth matching local, or 0 if not found. 0x0052CB10 64 lua_func__newCclosure lua Lua VM (lfunc.c): Allocates a new C closure (luaF_newCclosure). Allocates nupvalues*16 + 0x18 bytes. Sets isC=1, nupvalues, and environment table. Links into the GC alloc list with type tag 6. 0x0052CB50 88 lua_func__newLclosure lua Lua VM (lfunc.c): Allocates a new Lua closure (luaF_newLclosure). Allocates nupvalues*4 + 0x14 bytes. Sets isC=0, nupvalues, and environment table. Zeroes all upvalue slots. Links into the GC alloc list with type tag 6. 0x0052CBB0 151 lua_func__newproto lua Lua VM (lfunc.c): Allocates a new Lua function prototype (luaF_newproto). Allocates 0x4c bytes and zeroes all fields: code, constants, sub-protos, line info, locals, upvalue names, and their counts. Links into GC alloc list with type tag 9. 0x0052CC50 52 lua_func__newupval lua Lua VM (lfunc.c): Allocates a new upvalue object (luaF_newupval). Allocates 0x20 bytes, links into GC alloc list with type tag 10. Initializes the value pointer to point at the embedded storage (self+0x10) and sets value type to nil (0). 0x0052CC90 217 lua_gc__run_single_finalizer lua Lua VM (lgc.c): Runs a single GC finalizer (__gc metamethod). Pops one object from the tmudata finalization ring, relinks it into the normal alloc list, recolors it. If it has a __gc metamethod in its metatable, pushes the metamethod + object onto the stack and calls it with allowhook=0 and doubled GC threshold to prevent recursive GC. 0x0052CD70 616 lua_gc__fullcycle lua Lua VM (lgc.c): Runs a full GC collection cycle. Marks open upvalues pointing to string keys, runs mark propagation, separates udata with finalizers, runs propagation again for gray-again list, performs atomic sweep of strings. Then sweeps all object lists (main alloc, string table, tmudata). Clears weak table entries, flips GC colors, computes new GC threshold. 0x0052CFE0 27 lua_gc__link_object lua Lua VM (lgc.c): Links a GC object into the gray-again list for re-traversal. Clears the object's black bit and prepends it to g_state->grayagain list. Used for barrier-back when a black object is written to by a white object. 0x0052D000 50 lua_gc__barrier_forward lua Lua VM (lgc.c): GC write barrier forward (luaC_barrierf). During the propagation phase, marks the referenced white object gray (pushes it onto the gray list). Outside propagation, just recolors the parent object to the current white. 0x0052D040 246 lua_gc__run_all_finalizers lua Lua VM (lgc.c): Runs all pending GC finalizers. Loops while tmudata ring is non-empty, popping one object at a time, relinking it into the normal alloc list, and calling its __gc metamethod if present. Same logic as run_single_finalizer but in a loop. 0x0052D140 331 lua_gc__sweeplist lua Lua VM (lgc.c): Sweeps GC objects in a linked list. Iterates through each hash bucket of the alloc list. For each object: if it's the wrong white color, frees it (dispatching by type: table, closure, proto, thread, upval, string, userdata). Otherwise, recolors it to the current white and keeps it. Processes up to 3 objects per bucket. 0x0052D2B0 133 lua_gc__fullgc lua Lua VM (lgc.c): Full garbage collection entry point (luaC_fullgc). If GC is not yet in sweep phase, initializes sweep state. Runs incremental steps until sweep is complete (phase 4). Then runs finalization phase. Finally computes new GC threshold as (totalbytes/100)*gcpause. 0x0052D340 37 lua_gc__link_newobj lua Lua VM (lgc.c): Links a newly allocated GC object into the alloc list (luaC_link). Sets the object's next pointer, type tag, and initial GC color to the current white bits. Prepends it to g_state->rootgc. 0x0052D370 116 lua_gc__linkupval lua Lua VM (lgc.c): Links a closed upvalue into the GC alloc list (luaC_linkupval). Prepends it to rootgc. If GC is in propagation phase and the upvalue's referenced value is a live black string object, marks the upvalue for re-traversal (barrier forward). 0x0052D3F0 164 lua_gc__separate_udata_with_finalizers lua Lua VM (lgc.c): Separates userdata with __gc finalizers from the main alloc list into the tmudata finalization ring. Walks all objects; for those that are white (dead) or all (if param_2 is set) and not yet marked for finalization, checks for __gc metamethod. If found, moves the object to the tmudata ring. Returns estimated memory cost of moved objects. 0x0052D4A0 515 lua_gc__step lua Lua VM (lgc.c): Performs one incremental GC step (luaC_step). Budgets work based on gcstepmul*10. Dispatches by GC phase: 0=start mark, 1=propagate (traverse gray objects), 2=sweep strings, 3=sweep objects (shrinks string table if sparse), 4=finalize (call __gc). When a full cycle completes, recomputes GC threshold. If over budget, adjusts debt for next step. 0x0052D6C0 214 lua_gc__mark_roots_0052d6c0 lua Lua GC: Marks root objects for garbage collection. Iterates through 9 GC root slots at param_1+0x98, clearing mark bits and linking objects onto the gray list (param_1+0x24) based on their type (table=5, closure=6, pair=7, thread=8, proto=9, upval=10). 0x0052D7C0 122 lua_gc__restart_collection_0052d7c0 lua Lua GC: Restarts a GC collection cycle. Clears gray/grayagain/weak lists, marks the main thread, its global table and registry, then calls mark_roots. Sets GC state to 1 (propagate phase). 0x0052D840 675 lua_gc__sweep_gray_list_0052d840 lua Lua GC: Processes the gray list during sweep phase. Traverses objects on the gray list (param_1+0x24), propagating marks to their children. Handles tables, closures, threads, and protos. Returns total estimated memory size of processed objects. 0x0052DB00 627 lua_gc__propagate_one_0052db00 lua Lua GC: Propagates marks from a single gray object. Takes one object from the gray list and traverses it based on type: table (type 5), closure (6), thread (8), proto (9). Returns estimated memory size. Similar to sweep_gray_list but processes exactly one object. 0x0052DD90 194 lua_gc__mark_object_0052dd90 lua Lua GC: Marks a single GC object as reachable. Clears white bits, then links object onto the gray list based on type (table=5, closure=6, pair=7, thread=8, proto=9, upval=10). For pairs, recursively marks both key and value. Called during mark phase of garbage collection. 0x0052DE70 367 lua_gc__step_0052de70 lua Lua GC: Performs a single incremental GC step. State machine with phases: 0=restart, 1=propagate (process gray list), 2=sweep strings, 3=sweep other objects (with table/string resize), 4=finalize (call __gc metamethods). Returns work units consumed. Core of Lua's incremental garbage collector (luaC_step). 0x0052E000 274 lua_gc__sweep_objects_0052e000 lua Lua GC: Sweeps objects from the allgc list. Iterates through linked GC objects, freeing dead (white) objects and keeping live ones. Handles different object types: string (4), table (5), closure (6), userdata (7), thread (8), proto (9), upval (10). Returns pointer to last processed link. param_3 limits objects processed per call. 0x0052E130 324 lua_gc__traverse_closure_0052e130 lua Lua GC: Traverses a closure object during mark phase. For Lua closures (type 0): marks the proto and env, then marks each upvalue (GC objects get marked, non-GC upvalues get linked to gray list). For C closures (type != 0): iterates upvalue slots and marks any GC-reachable objects. 0x0052E290 434 lua_gc__traverse_table_0052e290 lua Lua GC: Traverses a table during mark phase. Checks for __mode metamethod to detect weak tables (k=weak keys, v=weak values). Marks metatable if present. For non-weak tables, marks array elements and hash keys/values. Returns 1 if table has weak references (added to weak list), 0 otherwise. Clears dead keys (sets to nil type 11). 0x0052E450 62 lua_gc__register_base_libs_0052e450 lua Lua: Registers base library functions into the Lua state. Iterates through a table at PTR_DAT_010da2b0 containing function pointer/name pairs, pushing each as a C closure and setting it as a global. Starts with luaopen_base. This is part of Lua's library initialization (luaL_openlibs equivalent). 0x0052E490 154 lua_io__tostring_0052e490 lua Lua io library: __tostring metamethod for FILE* userdata. Returns "file (ADDR)" for open files, "closed file" for closed files, or nil if not a FILE userdata. Checks metatable against the FILE* metatable in the registry. 0x0052E530 118 lua_io__close_dispatch_0052e530 lua Lua io library: io.close() dispatch function. If no argument, closes default output file. Otherwise checks the FILE* userdata, validates it's open, retrieves the __close function from the file's environment table, and calls it. The __close function varies: fclose for regular files, pclose for popen files, error for stdin/stdout. 0x0052E5B0 74 lua_io__gc_0052e5b0 lua Lua io library: __gc metamethod for FILE* userdata. Called when a file object is garbage collected. If the file is still open, retrieves and calls the __close function from the environment to close it. Returns 0 (no results pushed). 0x0052E600 76 lua_io__tostring_file_0052e600 lua Lua io library: Alternate __tostring for FILE*. Returns "file (closed)" if closed, or "file (0xADDR)" format string with the FILE* pointer value if open. Uses lua_api_pushfstring with "file (%p)" format. 0x0052E650 216 lua_io__open_0052e650 lua Lua io library: io.open(filename, mode) implementation. Creates a new FILE* userdata, sets the FILE metatable, calls fopen(). On success returns the userdata. On failure returns nil, error message (formatted as "filename: strerror"), and errno. 0x0052E730 216 lua_io__popen_0052e730 lua Lua io library: io.popen(command, mode) implementation. Creates FILE* userdata, sets metatable, calls _popen(). On success returns userdata. On failure returns nil, error string, errno. Identical structure to io.open but uses _popen instead of fopen. 0x0052E810 124 lua_io__tmpfile_0052e810 lua Lua io library: io.tmpfile() implementation. Creates FILE* userdata, sets metatable, calls tmpfile(). On success returns userdata. On failure returns nil, error string, errno. 0x0052E890 23 lua_io__input_0052e890 lua Lua io library: io.input([file]) implementation. Wrapper that calls the set-default-io helper with index 1 (stdin slot) and read mode "r". Sets or returns the default input file. 0x0052E8B0 23 lua_io__output_0052e8b0 lua Lua io library: io.output([file]) implementation. Wrapper that calls the set-default-io helper with index 2 (stdout slot) and write mode "w". Sets or returns the default output file. 0x0052E8D0 82 lua_io__lines_method_0052e8d0 lua Lua io library: file:lines() method. Validates the FILE* userdata is open, pushes the file and a false flag (don't close on finish) as upvalues, then returns a C closure of the lines iterator function. Returns 1 value (the iterator). 0x0052E930 281 lua_io__lines_global_0052e930 lua Lua io library: io.lines([filename]) implementation. If no argument, returns iterator for default input (like file:lines). If filename given, opens the file, creates an iterator closure with close-on-finish=true flag, so the file auto-closes when iteration ends. 0x0052EA50 73 lua_io__read_default_0052ea50 lua Lua io library: io.read(...) implementation. Reads from the default input file (slot 1 in io env table). Gets the FILE* from the registry, validates it's open (errors with "standard input file is closed"), then delegates to the generic read helper starting at arg 1. 0x0052EAA0 64 lua_io__read_method_0052eaa0 lua Lua io library: file:read(...) method. Validates the FILE* userdata is open, then delegates to the generic read helper starting at arg 2 (skipping self). 0x0052EAE0 73 lua_io__write_default_0052eae0 lua Lua io library: io.write(...) implementation. Writes to the default output file (slot 2 in io env table). Gets the FILE* from the registry, validates it's open (errors with "standard output file is closed"), then delegates to the generic write helper starting at arg 1. 0x0052EB30 64 lua_io__write_method_0052eb30 lua Lua io library: file:write(...) method. Validates the FILE* userdata is open, then delegates to the generic write helper starting at arg 2 (skipping self). 0x0052EB70 181 lua_io__seek_0052eb70 lua Lua io library: file:seek(whence, offset) method. Validates FILE*, calls fseek with the chosen whence (set/cur/end from option table), then ftell to get position. On success returns position. On failure returns nil, strerror, errno. 0x0052EC30 177 lua_io__setvbuf_0052ec30 lua Lua io library: file:setvbuf(mode, size) method. Validates FILE*, calls setvbuf() with mode from option table (no/full/line buffering) and optional buffer size (default 512). On success returns true. On failure returns nil, strerror, errno. 0x0052ECF0 146 lua_io__flush_default_0052ecf0 lua Lua io library: io.flush() implementation. Flushes the default output file (slot 2 in io env table). Calls fflush(). On success returns true. On failure returns nil, strerror, errno. 0x0052ED90 137 lua_io__flush_method_0052ed90 lua Lua io library: file:flush() method. Validates the FILE* userdata is open, calls fflush(). On success returns true. On failure returns nil, strerror, errno. 0x0052EE20 6 lua_io__get_scan_buffer_0052ee20 lua Lua io library: Returns pointer to a static scan buffer (DAT_0173eca8). Used by fscanf-based number reading for io.read("*n"). 0x0052EE30 51 lua_io__close_file_aux_0052ee30 lua Lua io library: Auxiliary close helper. Gets the __close function from the file's environment table and calls it. Used by the lines iterator and io.close to dispatch to the correct close function (fclose, pclose, or standard-file error). 0x0052EE70 62 lua_io__file_error_0052ee70 lua Lua io library: File error formatting helper. Gets errno, formats error message as "filename: strerror", then calls luaL_argerror. Used when file operations fail during io.input/io.output set operations. 0x0052EEB0 36 lua_io__fscanf_wrapper_0052eeb0 lua Lua io library: Wrapper around __stdio_common_vfscanf for reading numbers. Called by io.read("*n") to scan a number from a FILE* stream. Gets scan buffer via get_scan_buffer helper. 0x0052EEE0 210 lua_io__set_default_file_0052eee0 lua Lua io library: Sets or gets the default input/output file. If arg 1 is a string, opens the file with the given mode and stores in the env table at slot param_2. If arg 1 is a FILE* userdata, stores it directly. If no argument, just returns the current default. Used by io.input() and io.output(). 0x0052EFC0 493 lua_io__read_helper_0052efc0 lua Lua io library: Generic file read helper. Supports format strings: "*l" (read line), "*a" (read all), "*n" (read number), and numeric arg (read N bytes). If no args, defaults to read line. Calls clearerr before reading. On ferror, returns nil+error+errno. Returns number of results pushed. 0x0052F1B0 226 lua_io__write_helper_0052f1b0 lua Lua io library: Generic file write helper. Iterates through Lua arguments starting at param_3. Numbers are formatted with "%.14g", strings use fwrite. On success returns true. On failure returns nil, strerror, errno. Used by both io.write() and file:write(). 0x0052F2A0 119 lua_io__fclose_0052f2a0 lua Lua io library: __close function for regular files. Calls fclose() on the FILE*, sets the userdata to NULL. On success returns true. On failure returns nil, strerror, errno. Stored in the file's environment table as __close. 0x0052F320 36 lua_io__noclose_0052f320 lua Lua io library: __close function for standard files (stdin/stdout/stderr). Always returns nil + "cannot close standard file". Prevents closing standard I/O handles. 0x0052F350 122 lua_io__pclose_0052f350 lua Lua io library: __close function for popen'd files. Calls _pclose() on the FILE*, sets userdata to NULL. On success (return != -1) returns true. On failure returns nil, strerror, errno. Set as __close for files created by io.popen(). 0x0052F3D0 167 lua_io__lines_iterator_0052f3d0 lua Lua io library: Iterator function for io.lines/file:lines. Reads one line from the upvalue FILE*. On ferror, raises an error. If line read succeeds, returns 1 (the line). If EOF and upvalue 2 is true (close-on-finish), closes the file and returns 0. Used as the C closure returned by lines(). 0x0052F480 552 luaopen_io_0052f480 game_core 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). 0x0052F6B0 208 lua_io__read_bytes_0052f6b0 lua Lua io library: Reads N bytes from a file (for io.read(N) or "*a" mode). Uses luaL_Buffer to accumulate data in 512-byte chunks via fread. If param_3=0, reads until EOF (for "*a"). Pushes result string. Returns 1 on success (data read), 0 if nothing read and param_3 was not fully consumed. 0x0052F780 247 lua_io__read_line_0052f780 lua Lua io library: Reads one line from a file (for io.read("*l")). Uses luaL_Buffer with fgets in 512-byte chunks. Strips trailing newline. Returns true if a line was read, false on EOF with no data. Used by both read() and the lines iterator. 0x0052F880 96 lua_lex__check_next_0052f880 lua Lua lexer: check_next - checks if current character matches any char in the given string. If match found, saves current char to token buffer and advances to next char. Returns 1 if matched, 0 otherwise. Used during number and dot token parsing. 0x0052F8E0 143 lua_lex__inclinenumber_0052f8e0 lua Lua lexer: inclinenumber - handles newline sequences (LF, CR, CRLF, LFCR). Advances past the newline, increments line counter. If the next char is a different newline type (e.g., CR after LF), consumes it too (CRLF/LFCR support). Errors if line count exceeds MAX_INT-3. 0x0052F970 1380 lua_lex__llex_0052f970 lua Lua 5.1 internal: lua lex llex 0052f970 0x0052FF80 73 lua_lex__init_reserved_words_0052ff80 lua Lua lexer: Initializes the 21 reserved words (and, break, do, else, elseif, end, false, for, function, if, in, local, nil, not, or, repeat, return, then, true, until, while). Interns each string, sets the FIXEDGC bit (0x20) and stores keyword index+1 in the reserved byte field. 0x0052FFD0 214 lua_lex__syntax_error_0052ffd0 lua Lua lexer: luaX_syntaxerror - raises a syntax error with location info. Formats error as "source:line: message near 'token'". For string/number/name tokens, shows the actual token text. For control chars, shows "char(N)". Calls luaD_throw(3) to raise the error. 0x005300B0 26 lua_lex__next_005300b0 lua Lua lexer: luaX_next - advances to the next token. Calls llex() to scan the next token, storing the token type in ls->t.token and semantic info in ls->t.seminfo. 0x005300D0 88 lua_lex__intern_string_005300d0 lua Lua lexer: luaX_newstring - interns a string during parsing. Creates or finds the string in the global string table, then anchors it in the parser's string table (so it won't be GC'd during parsing). If the string table grows past the GC threshold, triggers a GC check. 0x00530130 59 lua_lex_next_token lua Lua lexer: advances to next token. Copies current lookahead into previous token, then reads next token from input stream (luaX_next). 0x00530170 140 lua_lex_init lua Lua lexer: initializes lexer state (luaX_setinput). Sets up ZIO reader, allocates token buffer (32 bytes initial), reads first character from input stream. 0x00530200 23 lua_lex_syntax_error lua Lua lexer: reports syntax error for current token. Wrapper around luaX_lexerror passing current token type. 0x00530220 71 lua_lex_token_to_string lua Lua lexer: converts token code to printable string (luaX_token2str). For ASCII chars, formats as "char(N)" or single char. For reserved words/multi-char tokens, returns name from token table. 0x00530270 190 lua_lex_read_long_string lua Lua lexer: reads a long string or long comment delimited by [==[ ... ]==] (read_long_string). Handles newline normalization, nesting warnings, and EOF detection. 0x005304D0 390 lua_lex_read_number lua Lua 5.1 internal: lua lex read number 0x00530660 311 lua_lex_read_string lua Lua lexer: reads quoted string with escape sequences 0x00530A10 190 lua_lex_save_char lua Lua lexer: appends char to token buffer 0x00530AD0 325 lua_lex_skip_separator lua Lua lexer: counts separator level for long strings 0x00530C20 56 lua_math_abs lua Lua math.abs - absolute value 0x00530C60 54 lua_math_sin lua Lua math.sin - sine in radians 0x00530CA0 60 lua_math_sinh lua Lua math.sinh - hyperbolic sine 0x00530CE0 54 lua_math_cos lua Lua math.cos - cosine in radians 0x00530D20 60 lua_math_cosh lua Lua math.cosh - hyperbolic cosine 0x00530D60 54 lua_math_tan lua Lua math.tan - tangent in radians 0x00530DA0 60 lua_math_tanh lua Lua math.tanh - hyperbolic tangent 0x00530DE0 54 lua_math_asin lua Lua math.asin - arc sine 0x00530E20 54 lua_math_acos lua Lua math.acos - arc cosine 0x00530E60 54 lua_math_atan lua Lua math.atan - arc tangent 0x00530EA0 77 lua_math_atan2 lua Lua math.atan2 - arc tangent of y/x 0x00530EF0 57 lua_math_ceil lua Lua math.ceil - smallest int >= arg 0x00530F30 57 lua_math_floor lua Lua math.floor - largest int <= arg 0x00530F70 77 lua_math_fmod lua Lua math.fmod - remainder of x/y 0x00530FC0 85 lua_math_modf lua Lua math.modf - integral and fractional parts 0x00531020 74 lua_math_sqrt lua Lua math.sqrt - square root 0x00531070 74 lua_math_pow lua Lua 5.1 internal: lua math pow 0x005310C0 54 lua_math_log lua Lua math.log - natural logarithm 0x00531100 54 lua_math_log10 lua Lua math.log10 - base-10 log 0x00531140 54 lua_math_exp lua Lua 5.1 internal: lua math exp 0x00531180 40 lua_math_deg lua Lua math.deg - radians to degrees 0x005311B0 40 lua_math_rad lua Lua math.rad - degrees to radians 0x005311E0 63 lua_math_frexp lua Lua math.frexp - mantissa and exponent 0x00531220 59 lua_math_ldexp lua Lua math.ldexp - m*2^e 0x00531260 115 lua_math_min lua Lua math.min - minimum of args 0x005312E0 115 lua_math_max lua Lua math.max - maximum of args 0x00531360 323 lua_math_random lua Lua math.random - pseudo-random number 0x005314B0 27 lua_math_randomseed lua Lua math.randomseed - sets seed 0x005314D0 130 lua_open_math_lib lua Lua luaopen_math - registers math lib 0x00531560 188 lua_mem_growvector lua Lua luaM_growaux_ - grows dynamic array 0x00531620 69 lua_mem_realloc lua Lua luaM_realloc_ - core memory realloc 0x00531670 23 lua_mem_toobig_error lua Lua luaM_toobig - alloc error 0x00531690 103 lua_pkg_ll_loadlib_lua lua Lua package.loadlib(path, funcname) - Lua-facing wrapper. Calls ll_loadlib, returns function on success or nil+errmsg+errtype on failure (ll_module). 0x00531700 436 lua_pkg_require lua Lua require() - loads module 0x005318C0 468 lua_pkg_module lua Lua module() - creates module table 0x00531AA0 92 lua_pkg_seeall lua Lua package.seeall(module) - sets module's metatable __index to _G so module can access global environment. Creates metatable if needed. 0x00531B00 302 lua_pkg_find_file lua Lua package.searchpath - finds file 0x00531C30 44 lua_pkg_gc_loadlib lua Lua LOADLIB __gc - FreeLibrary 0x00531C60 253 lua_pkg_loadlib lua Lua ll_loadlib - LoadLibraryA+GetProcAddress 0x00531D60 167 lua_pkg_loader_c lua Lua loader_C - standard C module loader. Searches cpath for module, handles '-' in name for luaopen_ prefix, calls ll_loadlib to load and get entry point. 0x00531E10 150 lua_pkg_loader_croot lua Lua loader_Croot - C submodule loader. For dotted names (e.g. "a.b.c"), loads root library "a" from cpath and looks for luaopen_a_b_c entry point in it. 0x00531EB0 105 lua_pkg_loader_lua lua Lua loader_Lua - loads .lua file 0x00531F20 114 lua_pkg_loader_preload lua Lua loader_preload - from preload table 0x00531FA0 55 lua_pkg_loaderror lua Lua ll_loadfunc error msg 0x00531FE0 318 lua_open_package_lib lua Lua luaopen_package - registers package lib 0x00532120 77 lua_pkg_make_funcname lua Lua mkfuncname - luaopen_X name 0x00532170 129 lua_pkg_push_win32_error lua Lua ll_sys - FormatMessageA error 0x00532200 244 lua_pkg_set_path lua Lua setpath - path from env var 0x00532300 336 lua_obj_chunkid lua Lua luaO_chunkid - shortened source name 0x00532450 27 lua_obj_fb2int lua Lua luaO_fb2int - float byte to int 0x00532470 44 lua_obj_int2fb lua Lua luaO_int2fb - int to float byte 0x005324A0 40 lua_obj_log2 lua Lua luaO_log2 - ceil(log2(x)) 0x005324D0 23 lua_obj_pushfstring_va lua Lua luaO_pushfstring - variadic format 0x005324F0 713 lua_obj_pushvfstring lua Lua luaO_pushvfstring - format string 0x00532830 77 lua_obj_rawequalobj lua Lua luaO_rawequalObj - TValue compare 0x00532890 162 lua_obj_str2number lua Lua luaO_str2d - string to number 0x00532940 50 lua_util_sprintf lua Lua 5.1 internal: lua util sprintf 0x00532980 43 lua_os_execute lua Lua os.execute - system() 0x005329B0 118 lua_os_remove lua Lua os.remove - deletes file 0x00532A30 131 lua_os_rename lua Lua os.rename - renames file 0x00532AC0 108 lua_os_tmpname lua Lua os.tmpname - temp filename 0x00532B30 41 lua_os_getenv lua Lua os.getenv - env variable 0x00532B60 51 lua_os_clock lua Lua os.clock - CPU time 0x00532BA0 652 lua_os_date lua Lua os.date - formats date/time 0x00532E30 626 lua_os_time lua Lua os.time - current time 0x005330B0 85 lua_os_difftime lua Lua os.difftime - time difference 0x00533110 73 lua_os_setlocale lua Lua os.setlocale - sets locale 0x00533160 26 lua_os_exit lua Lua os.exit - exit() 0x00533180 31 lua_open_os_lib lua Lua luaopen_os - registers os lib 0x005331A0 121 lua_parser_adjust_assign lua Lua parser: multi-assignment adjust 0x00533220 70 lua_parser_register_localvars lua Lua parser: registers locals 0x00533270 412 lua_parser_assignment lua Lua parser: assignment statement 0x00533410 128 lua_parser_block lua Lua parser: block scope 0x00533490 744 lua_parser_funcbody lua Lua parser: function body 0x00533780 102 lua_parser_break_stat lua Lua parser: break statement 0x005337F0 104 lua_parser_check_match lua Lua parser: matching close token 0x00533860 103 lua_parser_check_name lua Lua parser: checks TK_NAME 0x005338D0 131 lua_parser_chunk lua Lua parser: statement list 0x00533980 429 lua_parser_close_func lua Lua parser: closes func scope 0x00533B30 48 lua_parser_codestring lua Lua parser: LOADK for string 0x00533B60 636 lua_parser_constructor lua Lua parser: table constructor 0x00533DE0 88 lua_parser_limit_error lua Lua parser: limit exceeded error 0x00533E40 75 lua_parser_explist1 lua Lua parser: expression list 0x00533E90 388 lua_parser_forbody lua Lua parser: for-loop body 0x00534020 391 lua_parser_fornum lua Lua parser: numeric for 0x005341B0 595 lua_parser_forstat lua Lua parser: for statement 0x00534410 340 lua_parser_funcargs lua Lua parser: function arguments 0x00534570 493 lua_parser_ifstat lua Lua parser: if/elseif/else/end 0x00534760 328 lua_parser_indexupvalue lua Lua parser: upvalue index 0x005348B0 236 lua_parser_luaY_parser lua Lua luaY_parser - main parser entry 0x005349A0 217 lua_parser_new_localvar lua Lua parser: new local variable 0x00534A80 224 lua_parser_open_func lua Lua parser: init FuncState 0x00534B60 393 lua_parser_primaryexp lua Lua parser: primary expression 0x00534E00 225 lua_parser_recfield lua Lua parser: record field 0x00534EF0 74 lua_parser_removevars lua Lua parser: removes locals 0x00534F40 446 lua_parser_repeatstat lua Lua parser: repeat...until 0x00535100 104 lua_parser_singlevar lua Lua parser: resolves variable 0x00535170 242 lua_parser_singlevaraux lua Lua parser: recursive var lookup 0x00535270 1669 lua_parser_statement lua Lua parser: statement dispatch 0x00535960 678 lua_parser_subexpr lua Lua parser: sub-expression 0x00535E10 147 lua_parser_test_then_block lua Lua parser: condition then block 0x00535EB0 34 lua_parser_testnext lua Lua parser: test and consume token 0x00535EE0 88 lua_parser_yindex lua Lua parser: [expr] index 0x00535F40 16 lua_state_freeall_objects lua Lua luaC_freeall - frees GC objects 0x00535F50 135 lua_state_close_state lua Lua close_state - destroys state 0x00535FE0 116 lua_state_init_state lua Lua f_luaopen - initializes core state 0x00536060 77 lua_state_free_thread lua Lua 5.1 internal: lua state free thread 0x005360B0 95 lua_state_new_thread lua Lua luaE_newthread - new coroutine 0x00536110 90 lua_state_lua_close lua Lua 5.1 internal: lua state lua close 0x00536170 349 lua_state_lua_newstate lua Lua 5.1 internal: lua state lua newstate 0x005362D0 101 lua_state_preinit_thread lua Lua 5.1 internal: lua state preinit thread 0x00536340 137 lua_state_stack_init lua Lua stack_init - allocates stacks 0x005363D0 628 lua_string_newlstr lua Lua luaS_newlstr - interned string 0x00536650 100 lua_string_newudata lua Lua 5.1 internal: lua string newudata 0x005366C0 223 lua_string_resize lua Lua luaS_resize - string hash table 0x005367A0 41 lua_str_len lua Lua 5.1 internal: lua str len 0x005367D0 162 lua_str_sub lua Lua 5.1 internal: lua str sub 0x00536880 192 lua_str_reverse lua Lua 5.1 internal: lua str reverse 0x00536940 179 lua_str_lower lua Lua 5.1 internal: lua str lower 0x00536A00 179 lua_str_upper lua Lua 5.1 internal: lua str upper 0x00536AC0 144 lua_str_rep lua Lua 5.1 internal: lua str rep 0x00536B50 209 lua_str_byte lua Lua 5.1 internal: lua str byte 0x00536C30 186 lua_str_char lua Lua 5.1 internal: lua str char 0x00536CF0 128 lua_str_dump lua Lua 5.1 internal: lua str dump 0x00536D70 18 lua_str_find lua Lua 5.1 internal: lua str find 0x00536D90 18 lua_str_match lua Lua 5.1 internal: lua str match 0x00536DB0 67 lua_str_gmatch lua Lua 5.1 internal: lua str gmatch 0x00536E00 21 lua_str_gfind_nodef lua Lua string.gfind - deprecated 0x00536E20 461 lua_str_gsub lua Lua 5.1 internal: lua str gsub 0x00536FF0 524 lua_str_format lua Lua 5.1 internal: lua str format 0x005375C0 442 lua_str_add_value lua Lua gsub: applies replacement 0x00537790 113 lua_str_pattern_classend lua Lua pattern: class end position 0x00537810 260 lua_str_gmatch_aux lua Lua 5.1 internal: lua str gmatch aux 0x00537920 139 lua_open_string_lib lua Lua 5.1 internal: lua open string lib 0x005379B0 1023 lua_str_pattern_match lua Lua pattern: recursive match engine 0x00537E20 238 lua_str_match_class lua Lua pattern: char class test 0x00537F60 350 lua_str_matchbracketclass lua Lua pattern: bracket [set] match 0x00538110 147 lua_str_max_expand lua Lua pattern: greedy quantifier 0x005381B0 212 lua_str_push_captures lua Lua pattern: push all captures 0x00538290 148 lua_str_push_one_capture lua Lua pattern: push single capture 0x00538330 76 lua_str_start_capture lua Lua pattern: begin capture 0x00538380 717 lua_str_find_aux lua Lua str_find_aux - find/match impl 0x00538650 24 lua_str_writer lua Lua dump writer callback 0x00538670 69 lua_table_hashnum lua Lua 5.1 internal: lua table hashnum 0x005386C0 84 lua_table_free lua Lua luaH_free - frees table 0x00538720 159 lua_table_mainposition_get lua Lua luaH_get - table key lookup 0x005387C0 236 lua_table_getn lua Lua luaH_getn - table array length 0x005388B0 146 lua_table_getnum lua Lua luaH_getnum - int key lookup 0x00538950 57 lua_table_getstr lua Lua luaH_getstr - string key lookup 0x00538990 94 lua_table_new lua Lua luaH_new - creates empty table 0x005389F0 383 lua_table_next lua Lua luaH_next - table iteration 0x00538B70 63 lua_table_rehash_resize lua Lua luaH_resizearray 0x00538BB0 230 lua_table_newkey lua Lua luaH_set - sets value for key 0x00538CA0 70 lua_table_setnum lua Lua luaH_setnum - sets int key 0x00538CF0 89 lua_table_setstr lua Lua luaH_setstr - sets string key 0x00538D50 147 lua_table_mainposition lua Lua mainposition - hash node for key 0x00538E00 243 lua_table_newkey_insert lua Lua luaH_newkey - inserts new key 0x00538F00 591 lua_table_rehash lua Lua rehash - computes optimal sizes 0x00539150 404 lua_table_resize lua Lua luaH_resize - resizes table 0x005392F0 106 lua_table_resize_array lua Lua setarrayvector - reallocs array 0x00539360 199 lua_table_resize_hash lua Lua setnodevector - allocs hash nodes 0x00539430 133 lua_tbl_foreachi lua Lua table.foreachi - deprecated 0x005394C0 133 lua_tbl_foreach lua Lua table.foreach - deprecated 0x00539550 149 lua_tbl_maxn lua Lua table.maxn - largest numeric key 0x005395F0 43 lua_tbl_getn lua Lua table.getn - table length 0x00539620 47 lua_tbl_setn lua Lua table.setn - deprecated 0x00539650 164 lua_tbl_insert lua Lua table.insert - inserts at position 0x00539700 144 lua_tbl_remove lua Lua table.remove - removes at position 0x00539790 345 lua_tbl_concat lua Lua table.concat - concatenates with sep 0x005398F0 95 lua_tbl_sort lua Lua table.sort - sorts in-place 0x00539950 945 lua_tbl_sort_quicksort lua Lua table.sort: quicksort impl 0x00539D10 31 lua_open_table_lib lua Lua luaopen_table - registers table lib 0x00539D30 110 lua_tbl_sort_compare lua Lua sort_comp - custom or default compare 0x00539DA0 43 lua_tm_fastget lua Lua luaT_gettm - metamethod lookup 0x00539DD0 79 lua_tm_gettmbyobj lua Lua luaT_gettmbyobj - metamethod by object type 0x00539E20 84 lua_tm_init_strings lua Lua luaT_init - interns metamethod names 0x00539E80 154 lua_cli_dofile lua Lua CLI: loads and executes file via luaL_loadfile 0x00539F20 177 lua_cli_dostring lua Lua CLI: loads and executes string 0x00539FE0 581 lua_cli_dotty_repl lua Lua CLI: interactive REPL loop 0x0053A230 469 lua_cli_handle_script lua Lua CLI: handles script with arg table 0x0053A410 39 lua_cli_sigint_handler lua Lua CLI: SIGINT signal handler 0x0053A440 33 lua_cli_sigint_hook lua Lua CLI: debug hook for SIGINT 0x0053A470 166 lua_cli_main lua Lua CLI: main entry point 0x0053A520 743 lua_cli_pmain lua Lua CLI: protected main, processes args 0x0053A8AB 1 stub_ret_0053a8ab game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0053A910 46 lua_cli_print_version lua Lua CLI: prints Lua 5.1.4 version 0x0053A940 299 lua_cli_pushline lua Lua CLI: reads line from stdin with prompt 0x0053AA70 160 lua_cli_report_error lua Lua CLI: reports error to stderr 0x0053AB10 162 lua_cli_traceback lua Lua CLI: error handler with debug.traceback 0x0053ABC0 755 lua_undump_constants lua Lua luaU: loads constants and sub-protos 0x0053AED0 756 lua_undump_debug_info lua Lua luaU: loads debug info from bytecode 0x0053B1D0 591 lua_undump_function lua Lua luaU: loads complete Proto from bytecode 0x0053B420 108 lua_undump_read_int lua Lua luaU: reads 4-byte int from bytecode 0x0053B490 155 lua_undump_read_string lua Lua luaU: reads length-prefixed string 0x0053B530 28 lua_undump_make_header lua Lua luaU_header - 12-byte header 0x0053B550 250 lua_undump_luaU_undump lua Lua luaU_undump - loads precompiled bytecode 0x0053B650 491 lua_vm_arith lua Lua luaV_arith - arithmetic with coercion and metamethods 0x0053B860 162 lua_vm_call_tm lua Calls a tag method: pushes TM + args on stack, invokes it, copies result back to target 0x0053B910 120 lua_vm_call_order_tm lua Calls ordering tag method (__lt/__le) on two operands, returns 0/1/-1 0x0053B990 134 lua_vm_get_equalTM lua Gets __eq tag method from two metatables, returns TM only if both have same handler 0x0053BA20 127 lua_string_compare_locale lua Compares two Lua strings using strcoll for locale-aware ordering 0x0053BAA0 668 lua_vm_concat lua Concatenates Lua values on stack, converting numbers to strings and using __concat TM 0x0053BD40 169 lua_vm_equalobj lua Tests equality of two Lua objects with __eq metamethod support for tables/userdata 0x0053BE10 5658 lua_vm_execute lua Main Lua VM execution loop: decodes/dispatches all opcodes (MOVE,LOAD,ARITH,CALL,etc) 0x0053D4F0 228 lua_vm_gettable lua Table index operation with __index metamethod chain, max 100 iterations 0x0053D5E0 108 lua_vm_lessthan lua Less-than comparison for numbers, strings (locale), or via __lt metamethod 0x0053D650 404 lua_vm_settable lua Table assignment with __newindex metamethod chain, max 100 iterations, handles GC barrier 0x0053D7F0 73 lua_vm_tonumber lua Converts a Lua value to number: returns as-is if number, converts string via str2number 0x0053D840 136 lua_vm_tostring lua Converts a number value to string in-place using sprintf with %.14g format 0x0053D8D0 62 lua_zio_getc lua Reads one byte from a Lua ZIO stream, refilling buffer via reader callback if needed 0x0053D910 39 lua_zio_init lua Initializes a Lua ZIO stream with reader function, data pointer, and lua_State 0x0053D940 69 lua_zio_lookahead lua Peeks at next byte in ZIO stream without consuming it, refills buffer if empty 0x0053D990 85 lua_zio_buffer_ensure lua Ensures ZIO buffer has at least param_3 bytes capacity, grows with min 32 bytes 0x0053D9F0 109 lua_zio_read lua Reads param_3 bytes from ZIO stream into buffer, refilling via reader callback as needed 0x0053DA60 792 lua_debug_print_code lua Prints disassembly of Lua bytecode instructions with opcode names and operands 0x0053DDC0 413 lua_debug_print_constant lua Prints a Lua constant value with escape sequences for special chars in strings 0x0053E000 516 lua_debug_print_constants lua Prints all constants of a Lua prototype including nil, bool, number, and string values 0x0053E2A0 462 lua_debug_print_function lua Recursively prints Lua function prototype info: instructions, constants, locals, upvalues 0x0053E470 48 lua_debug_printf lua Wrapper for fprintf to stdout used by Lua debug print functions 0x0053E4A0 80 CDateTime__constructor game_core CDateTime constructor: sets vtable, initializes with current tick count, zeros date fields 0x0053E510 30 CDateTime__scalar_destructor game_core CDateTime scalar deleting destructor, frees 4-byte object if flag set 0x0053E530 36 CDateTime__destructor game_core CDateTime destructor: resets vtable, optionally frees 0x30-byte object 0x0053E560 199 CDateTime__add_time game_core Adds hours/minutes/ticks to datetime, updates internal timestamp and Y/M/D/H/M/S fields 0x0053E630 57 CDateTime__get_localtime game_core Converts internal timestamp to tm struct via _localtime64_s 0x0053E670 36 CDateTime__abs_duration game_core Computes absolute value of a 64-bit signed time duration 0x0053E6F0 43 CDateTime__get_elapsed_abs game_core Computes absolute elapsed time from stored timestamp to current time 0x0053E720 30 CDateTime__get_elapsed_raw game_core Returns raw elapsed time (signed 64-bit) from stored timestamp to current time 0x0053E740 74 CDateTime__get_elapsed_units game_core Calculates elapsed time in specified units (0=100ns, 1=us, 2=ms, 3=seconds) 0x0053E850 67 CDateTime__get_remaining_ms game_core Computes absolute time difference in milliseconds between current and target timestamp 0x0053E8A0 112 CDateTime__format_string game_core Formats datetime as "YYYY-MM-DD HH:MM:SS" string via wsprintfA 0x0053E930 156 CDateTime__update_now game_core Updates datetime to current time via _Xtime_get_ticks plus stored offset, refreshes Y/M/D/H/M/S 0x0053E9D0 34 STL_uninitialized_copy_0053e9d0 stl STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest 0x0053EA00 34 STL_uninitialized_copy_0053ea00 stl STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest 0x0053EA30 34 STL_uninitialized_copy_0053ea30 stl STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest 0x0053EA60 34 STL_uninitialized_copy_0053ea60 stl STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest 0x0053EA90 34 STL_uninitialized_copy_0053ea90 stl STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest 0x0053EAC0 321 STL_vector_insert_reallocate_0053eac0 stl STL vector insert with reallocation for 20-byte elements, grows by 1.5x capacity 0x0053EC20 272 STL_vector_insert_reallocate_8byte stl STL vector insert with reallocation for 8-byte elements, grows by 1.5x capacity 0x0053ED50 321 STL_vector_insert_reallocate_0053ed50 stl STL vector insert with reallocation for 20-byte elements, variant B 0x0053EEB0 267 STL_vector_insert_reallocate_16byte stl STL vector insert with reallocation for 16-byte elements, grows by 1.5x capacity 0x0053EFE0 321 STL_vector_insert_reallocate_0053efe0 stl STL vector insert with reallocation for 20-byte elements, variant C 0x0053F140 275 STL_vector_insert_reallocate_32byte stl STL vector insert with reallocation for 32-byte elements, grows by 1.5x capacity 0x0053F270 321 STL_vector_insert_reallocate_0053f270 stl STL vector insert with reallocation for 20-byte elements, variant D 0x0053F3D0 272 STL_vector_insert_reallocate_8byte_B stl STL vector insert with reallocation for 8-byte elements, variant B 0x0053F500 321 STL_vector_insert_reallocate_0053f500 stl STL vector insert with reallocation for 20-byte elements, variant E 0x0053F660 267 STL_vector_insert_reallocate_16byte_B stl STL vector insert with reallocation for 16-byte elements, variant B 0x0053F790 321 STL_vector_insert_reallocate_0053f790 stl STL vector insert with reallocation for 20-byte elements, variant F 0x0053F8F0 275 STL_vector_insert_reallocate_32byte_B stl STL vector insert with reallocation for 32-byte elements, variant B 0x0053FA20 131 STL_map_destroy_subtree_0053fa20 stl Recursively destroys map/set red-black tree nodes and frees 32-byte node memory 0x0053FAB0 75 STL_map_lower_bound stl STL map lower_bound: finds first node with key >= search key using int comparison 0x0053FB00 54 CColor__constructor_rgba game_render Constructs a color object with 5 float fields (RGBA + alpha/intensity) 0x0053FB40 37 CColor__constructor_default game_render Constructs a color with RGBA=0 and alpha/intensity=1.0f 0x0053FB70 44 CVector4__constructor game_render Constructs a 4-component vector (x, y, z, w) from float params 0x0053FBA0 67 STL_map_node_free stl Frees a single map/set tree node (32 bytes) if non-null 0x0053FBF0 116 STL_map_clear stl Clears a map/set: destroys all nodes then frees the sentinel node 0x0053FC70 78 STL_map_destroy_sentinel stl Frees the sentinel/header node (32 bytes) of a map/set if non-null 0x0053FCC0 68 STL_map_destroy_all stl Destroys all nodes in a map/set tree via recursive subtree destruction 0x0053FD10 129 STL_vector_deallocate stl Frees STL vector's backing memory, handles large allocation pointer fixup, zeros pointers 0x0053FDA0 121 STL_vector_assign_20byte stl Assigns content of one vector to another for 20-byte elements, reallocates if needed 0x0053FE20 250 STL_map_insert_or_find stl Map operator[]: finds or inserts node by int key, returns pointer to value (offset 0x14) 0x0053FF20 83 STL_vector_push_back_16byte stl Pushes a 16-byte element (e.g. 4 floats) onto vector, reallocates if at capacity 0x0053FF80 89 STL_vector_push_back_20byte stl Pushes a 20-byte element onto vector, reallocates if at capacity 0x0053FFE0 160 CAnimation__push_keyframe_quat_A game_sprites Converts angle to quaternion (sin/cos) and pushes 20-byte keyframe onto vector 0x00540080 160 CAnimation__push_keyframe_quat_B game_sprites Converts angle to quaternion (sin/cos) and pushes 20-byte keyframe onto vector variant B 0x00540120 192 CAnimation__push_keyframe_quat_32byte game_sprites Converts angle to quaternion and pushes 32-byte keyframe with position+rotation data 0x005401E0 89 STL_vector_push_back_20byte_B stl Pushes a 20-byte element onto vector variant B, reallocates if at capacity 0x00540240 87 CAnimation__add_keyframe_to_map game_sprites Inserts keyframe into map by int key, then pushes 8-byte value into map entry's vector 0x005402A0 47 STL_vector_push_back_20byte_C stl Pushes a 20-byte element onto vector variant C, reallocates if at capacity 0x005402D0 9 wrapper_STL_vector_assign_20byte_A game_core Thin wrapper around STL_vector_assign_20byte 0x005402E0 120 STL_vector_copy_assign_20byte stl Copy-assigns vector contents for 20-byte elements, clears then copies from source 0x00540360 9 wrapper_STL_vector_assign_20byte_B game_core Thin wrapper around STL_vector_assign_20byte 0x00540370 291 CAnimation__interpolate_translation game_sprites Interpolates translation keyframes at given time, outputs 3x4 matrix with identity+translation 0x005404A0 457 CAnimation__interpolate_position game_sprites Linearly interpolates position keyframes and writes result to param_4 offset 0x24 0x00540670 297 CAnimation__interpolate_rotation game_sprites Interpolates quaternion rotation keyframes using slerp, outputs rotation matrix 0x005407A0 1097 CAnimation__interpolate_rotation_full game_sprites Full quaternion slerp interpolation with dot product sign fix, multiplies result with parent matrix 0x00540BF0 108 CAnimation__interpolate_scale_single game_sprites Handles single-keyframe scale: outputs identity matrix with diagonal scale or identity if empty 0x00540C60 563 CAnimation__interpolate_scale game_sprites Linearly interpolates scale keyframes and builds diagonal scale matrix 0x00540EA0 547 CAnimation__interpolate_morph_keyframes game_sprites Interpolates morph target keyframes from map, linearly blends between adjacent frames 0x005410D0 131 CAnimation__load_translation_keyframes game_sprites Reads translation keyframes from file: count + 16-byte entries (time,x,y,z) into vector 0x00541160 115 CAnimation__load_rotation_keyframes game_sprites Reads rotation keyframes from file: count + 20-byte entries (time,qx,qy,qz,qw) into vector 0x005411E0 101 CAnimation__load_scale_keyframes game_sprites Reads scale keyframes from file: count + 20-byte entries (time,sx,sy,sz) into vector 0x00541250 133 CAnimation__load_quaternion_keyframes game_sprites Reads quaternion keyframes with default identity quat initialization before reading 0x005412E0 103 CAnimation__load_combined_keyframes game_sprites Reads combined position+rotation keyframes: count + 32-byte entries into vector 0x00541350 115 CAnimation__load_rotation_keyframes_B game_sprites Reads rotation keyframes variant B from file, same 20-byte format as load_rotation_keyframes 0x005413D0 422 CAnimation__load_morph_keyframes game_sprites Reads morph keyframes from file into map structure: outer count, inner key+count+8byte pairs 0x005415E0 33 STL_map_clear_and_reset stl Destroys all map nodes and resets sentinel pointers to empty state 0x00541610 134 CAnimation__save_keyframes_20byte game_sprites Writes count + all 20-byte keyframe elements to file stream 0x005416A0 134 CAnimation__save_keyframes_20byte_B game_sprites Writes count + all 20-byte keyframe elements to file stream variant B 0x00541730 134 CAnimation__save_keyframes_20byte_C game_sprites Writes count + all 20-byte keyframe elements to file stream variant C 0x005417C0 169 CAnimation__save_morph_keyframes game_sprites Writes morph keyframe map to file: count, then per-node key+count+data via tree traversal 0x00541870 476 quaternion_slerp_full game_core Full quaternion SLERP with dot-product sign correction and acos-based angle interpolation 0x00541A50 99 vector3_lerp game_core Linear interpolation of 3D vectors: result = (1-t)*a + t*b 0x00541AC0 108 vector3_lerp_double_precision game_core Linear interpolation of 3D vectors using double-precision for (1-t) computation 0x00541B30 411 quaternion_slerp_with_extra_spin game_core Quaternion SLERP with extra spin parameter for multi-revolution interpolation 0x00541CD0 482 CAnimation__slerp_position_and_rotation game_sprites Interpolates combined position (lerp) and rotation (slerp) keyframe with extra spin 0x00541EC0 118 STL_vector_change_array_20byte stl Reallocates a vector internal array to accommodate more 20-byte elements. Copies existing data and frees old buffer. 0x00541F40 90 STL_vector_change_array_8byte_00541f40 stl Reallocates a vector internal array to accommodate more 8-byte elements. Copies existing data and frees old buffer. 0x00541FA0 118 STL_vector_change_array_20byte_00541fa0 stl Reallocates a vector internal array to accommodate more 20-byte elements. Copies existing data and frees old buffer. 0x00542020 94 STL_vector_replace_buffer_16byte stl Frees old buffer and sets new buffer/size/capacity pointers for 16-byte element vector 0x00542080 118 STL_vector_change_array_20byte_00542080 stl Reallocates a vector internal array to accommodate more 20-byte elements. Copies existing data and frees old buffer. 0x00542100 94 STL_vector_replace_buffer_32byte stl Frees old buffer and sets new buffer/size/capacity pointers for 32-byte element vector 0x00542160 183 STL_vector_reserve_20byte_A stl Reserves capacity for 20-byte element vector, frees old buffer and allocates new 0x00542220 183 STL_vector_reserve_20byte_B stl Reserves capacity for 20-byte element vector variant B, frees old buffer 0x005422E0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x005424F0 44 STL_copy_elements_20byte_A stl STL template instantiation: STL copy elements 20byte A 0x00542520 44 STL_copy_elements_8byte stl STL template instantiation: STL copy elements 8byte 0x00542550 44 STL_copy_elements_20byte_B stl STL template instantiation: STL copy elements 20byte B 0x00542580 36 STL_copy_elements_16byte stl STL template instantiation: STL copy elements 16byte 0x005425B0 44 STL_copy_elements_20byte_C stl STL template instantiation: STL copy elements 20byte C 0x005425E0 44 STL_copy_elements_32byte stl STL template instantiation: STL copy elements 32byte 0x00542610 45 STL_relocate_elements_20byte_A stl Relocates 20-byte elements by offset: copies each element to (ptr + offset) 0x00542640 45 STL_relocate_elements_8byte stl Relocates 8-byte elements by offset: copies each element to (ptr + offset) 0x00542670 45 STL_relocate_elements_20byte_B stl Relocates 20-byte elements by offset variant B 0x005426A0 36 STL_relocate_elements_16byte stl Relocates 16-byte elements by offset 0x005426D0 45 STL_relocate_elements_20byte_C stl Relocates 20-byte elements by offset variant C 0x00542700 45 STL_relocate_elements_32byte stl Relocates 32-byte elements by offset 0x00542730 10 STL_vector_throw_length_error_A stl Throws std::length_error for vector too long, does not return 0x00542740 10 STL_vector_throw_length_error_B stl Throws std::length_error for vector too long, does not return 0x00542750 10 STL_vector_throw_length_error_C stl Throws std::length_error for vector too long, does not return 0x00542760 10 STL_vector_throw_length_error_D stl Throws std::length_error for vector too long, does not return 0x00542770 10 STL_vector_throw_length_error_E stl Throws std::length_error for vector too long, does not return 0x00542780 10 STL_vector_throw_length_error_F stl Throws std::length_error for vector too long, does not return 0x00542790 95 STL_allocate_20byte_array_A stl Allocates aligned array of 20-byte elements with overflow check 0x005427F0 92 STL_allocate_8byte_array stl Allocates aligned array of 8-byte elements with overflow check 0x00542850 95 STL_allocate_20byte_array_B stl Allocates aligned array of 20-byte elements variant B 0x005428B0 92 STL_allocate_16byte_array stl Allocates aligned array of 16-byte elements with overflow check 0x00542910 95 STL_allocate_20byte_array_C stl Allocates aligned array of 20-byte elements variant C 0x00542970 92 STL_allocate_32byte_array stl Allocates aligned array of 32-byte elements with overflow check 0x005429D0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00542A10 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00542A50 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00542A90 58 STL_deallocate_16byte_array stl Frees aligned array of 16-byte elements with large allocation fixup 0x00542AD0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00542B10 58 STL_deallocate_32byte_array stl Frees aligned array of 32-byte elements with large allocation fixup 0x00542B50 292 CD3DSurface__create_rendertarget game_render Creates D3D render target surface with aligned dimensions via CreateRenderTarget 0x00542C80 220 CD3DSurface__create_from_surface game_render Creates D3D surface wrapper from existing IDirect3DSurface9, queries desc for dimensions 0x00542D60 95 CD3DRenderTarget__constructor game_core Constructs D3D render target by calling CD3DSurface create then setting derived vtable 0x00542DC0 104 CD3DSurface__release game_render Releases D3D surface COM object and resets vtable to base class 0x00542E30 35 CD3DBase__scalar_destructor game_core Base D3D scalar deleting destructor, frees 4-byte object if flag set 0x00542E60 125 CD3DSurface__destructor game_render D3D surface destructor: releases COM surface, resets vtable, optionally frees 20-byte obj 0x00542EE0 132 CD3DRenderTarget__destructor game_core D3D render target destructor: releases COM surface, optionally frees 20-byte obj 0x00542F70 142 CD3DSurface__fill_solid_color game_render Fills D3D surface rectangle with solid color converted to device pixel format 0x00543000 227 CD3DSurface__resize game_render Resizes D3D render target: releases old surface and creates new with aligned dimensions 0x005430F0 208 CD3DSurface__blit_to_surface game_render Blits rectangular region from this surface to another D3D surface via StretchRect 0x005431C0 88 CD3DSurface__clear_surface game_render Clears D3D surface by filling full rect with color via ColorFill 0x00543220 77 CD3DDevice__convert_rgb_to_pixel game_render Converts RGB components to device pixel format using stored shift/mask values 0x005432A0 34 CD3DSurface__set_palette game_render Sets palette on D3D surface via COM vtable call at offset 0x44 0x00543370 131 CD3DSurface__get_desc game_render Gets D3D surface description: format, width, height, pitch via LockRect 0x00543400 23 CD3DSurface__set_color_key game_render Sets color key on D3D surface via COM vtable call at offset 0x68 0x00543420 744 CD3DSurface__save_to_jpeg game_render Saves D3D surface content to JPEG file using Intel JPEG Library (ijlWrite) 0x00543730 608 CD3DSurface__blit_pixels_with_colorkey game_render Blits ARGB pixel data to D3D surface with magenta (0xFF00FF) color key transparency 0x00543990 186 CD3DSurface__create_and_fill game_render Creates render target, blits pixel data onto it, then clears temp surface 0x00543A50 34 STL_uninitialized_copy_00543a50 stl STL uninitialized_copy: memcpy range to dest, returns end of dest 0x00543A80 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x00543AB0 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x00543AD0 34 STL_uninitialized_copy_00543ad0 stl STL uninitialized_copy: memcpy range to dest, returns end of dest 0x00543B00 140 CTexture__constructor_default game_render Constructs CTexture with device reference, sets vtable, 1x1 default size 0x00543B90 559 CTexture__constructor_create game_render Constructs CTexture and creates D3D texture with specified format, width, height, mipmaps 0x00543DC0 110 CTexture__release game_render Releases D3D texture COM object and resets vtable to CTexture 0x00543E30 134 CTexture__destructor game_render CTexture destructor: releases D3D texture, optionally frees 300-byte object 0x00543EC0 255 CRenderQueue__allocate_mesh_entry game_core Allocates a 0xA8-byte mesh entry from circular buffer, grows if full 0x00543FC0 22 CD3DDevice__check_pixel_format game_render Checks if surface pixel format matches expected format (RGB555, ARGB4444, RGB565, ARGB8888) 0x00544080 148 CTexture__fill_solid_color game_render Fills texture surface rectangle with solid color converted to pixel format 0x00544120 52 CTexture__blit_to_texture game_render Blits from source surface to this texture via D3D Blt call 0x00544160 196 CTexture__blit_region game_render Blits rectangular region from source texture to this texture via D3D Blt 0x00544230 445 CTexture__recreate game_render Recreates D3D texture with new dimensions and pixel format, releases old surface first 0x005443F0 23 CTexture__draw_callback game_render Invokes virtual draw method at vtable offset 0x3C with position and pixel format 0x00544410 511 CTexture__draw_sprite_quad game_render Submits textured quad to render queue: 4 vertices with UV coords, position, and color 0x00544610 551 CTexture__draw_sprite_quad_from_region game_render Draws a textured quad using UV sub-region from object fields (offsets 0x14/0x18) with white color. Unlike draw_sprite_quad which takes full texture UVs, this uses a stored sub-rectangle for sprite sheet rendering. 0x00544840 544 CTexture__draw_sprite_quad_from_region_colored game_render Draws a textured quad using UV sub-region from object fields (offsets 0x14/0x18) with a custom color parameter. Uses stored sub-rectangle for sprite sheet rendering with per-vertex tinting. 0x00544A70 37 CTexture__is_surface_valid game_render Checks if DirectDraw surface at offset 0x128 is still valid (not lost). Calls IDirectDrawSurface::IsLost, returns true if surface is OK (HRESULT >= 0), false if lost or null. 0x00544AA0 134 CTexture__get_surface_desc game_render Retrieves DirectDraw surface description via GetSurfaceDesc and fills output struct with pixel format info 0x00544B30 26 CTexture__set_color_key game_render Sets color key on DirectDraw surface via IDirectDrawSurface::SetColorKey vtable call 0x00544B50 52 CTexture__select_pixel_format game_render DirectDraw EnumPixelFormats callback that stores matching format by bpp (16-bit 555/4444/565 or 32-bit ARGB) 0x00544C90 1288 CTexture__lock_and_blit_pixels game_render Locks DirectDraw surface, converts ARGB pixels to surface format (555/4444/565/32bit) with color key, then unlocks 0x005451B0 231 CTexture__generate_mipmaps game_render Iterates attached mipmap surfaces, halving dimensions each level and blitting source data to each 0x005452A0 320 CTexture__clear_and_blit_region game_render Locks surface region, clears it with memset based on bpp, then calls blit helper and unlocks 0x005453E0 400 STL_deque_grow_map stl Grows deque block map by doubling capacity, reallocates and copies block pointers to new map array 0x00545580 10 STL_deque_throw_length_error stl Throws std::length_error with message "deque too long" 0x00545590 34 memcpy_range stl Copies memory from [param1, param2) to param3, returns pointer past copied data in dest 0x005455C0 388 STL_vector_reallocate stl Reallocates STL vector with 1.5x growth, copies old elements and zero-fills new slots 0x00545770 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x00545790 172 CBitmapFont__constructor game_render Initializes bitmap font object with vtable, linked list node, CreateCompatibleDC for rendering 0x00545840 67 CBitmapFont__free_list_node game_render Frees the 12-byte linked list node at offset +4 if allocated 0x00545890 78 CBitmapFont__free_list_node_safe game_render Safe variant of list node free with SEH frame, frees 12-byte node at offset +4 0x005458E0 103 CBitmapFont__destroy_linked_list game_render Walks and frees all 12-byte nodes in the intrusive linked list, then frees sentinel node 0x00545950 129 STL_vector_free stl Frees STL vector buffer with aligned deallocation support and zeros all 3 pointers 0x005459F0 254 CBitmapFont__destructor game_render Destroys bitmap font: releases cached surfaces, frees list nodes, deletes GDI DC and bitmap objects 0x00545AF0 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x00545B20 275 CBitmapFont__scalar_deleting_destructor game_render Scalar deleting destructor: runs destructor logic and optionally frees 0x2C-byte object memory 0x00545C40 477 CBitmapFont__render_sprite_layers game_render Iterates sprite layers, loads SPR/ACT frames, applies scale and draws each layer via vtable call 0x00545E20 645 CBitmapFont__draw_rle_sprite_to_buffer game_render Decodes RLE-compressed indexed sprite data, applies palette lookup with 555-to-RGB conversion, writes to pixel buffer 0x005460B0 2341 CBitmapFont__draw_scaled_minimap_tile game_render Renders scaled minimap tile from 4444/555 source texture to ARGB buffer with color transform and alpha 0x005469E0 2673 CBitmapFont__draw_scaled_minimap_sprite game_render Renders scaled minimap sprite with bounds checking, color blending, and flip support for 4444/555 formats 0x00547460 177 CBitmapFont__fill_rect_color game_render Fills pixel buffer region (or entire buffer if rect is null) with ARGB color, byte-swapping R and B 0x00547520 325 blend_argb_colors game_core Alpha-blends two ARGB colors using param2's alpha as blend factor, returns composited ARGB value 0x00547670 125 apply_color_tint game_core 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 game_core Unpacks 15-bit RGB555 pixel to 8-bit channels and applies color tint transform 0x00547740 67 unpack_rgb4444_and_tint game_core Unpacks 16-bit ARGB4444 pixel to 8-bit channels and applies color tint transform 0x00547790 163 CBitmapFont__blit_with_colorkey game_render Copies pixel rect from source buffer to this buffer, skipping magenta (0xFF00FF) colorkey pixels 0x00547840 561 CBitmapFont__blit_with_alpha_blend game_render Blits source region to this buffer with per-pixel alpha blending or opaque copy (skipping magenta colorkey) 0x00547A80 254 CBitmapFont__create_dib_section game_render Creates 32-bit top-down DIB section for offscreen rendering, releases old cached surfaces and GDI objects 0x00547B80 264 CBitmapFont__render_cached_tiles game_render Renders cached surface tiles in 256x256 chunks or full-surface mode by iterating linked list nodes 0x00547C90 114 CBitmapFont__flush_to_texture game_render Sets alpha to 0xFF for all pixels then creates or updates DirectDraw texture from pixel buffer 0x00547D10 21 CBitmapFont__get_dc game_render Returns the compatible DC handle and marks the buffer as dirty 0x00547D40 61 CBitmapFont__ensure_size game_render Resizes DIB section if requested dimensions exceed current buffer width or height 0x00547D80 1197 CBitmapFont__scale_and_blit_pixels game_render Scales source pixel array by X/Y factors (nearest-neighbor) and writes to offscreen pixel buffer 0x00548230 158 CBitmapFont__copy_pixels_to_buffer game_render Copies pixel array to buffer at (x,y) with bounds check, optionally skipping magenta colorkey pixels 0x005482D0 166 CBitmapFont__compute_alpha_from_luminance game_render Calculates per-pixel alpha from RGB luminance average divided by divisor, writes to alpha byte 0x00548380 709 CBitmapFont__sync_to_surfaces game_render Syncs dirty pixel buffer to DirectDraw surfaces: creates 256x256 tile surfaces or single surface, copies pixel data 0x00548650 296 CBitmapFont__darken_rect game_render Darkens pixels in rect by multiplying RGB by (100-param)/100, skipping magenta colorkey 0x00548780 615 CBitmapFont__blit_subregion_blended game_render Copies subregion from source buffer with optional colorkey skip and per-pixel alpha blending 0x005489F0 306 CBitmapFont__adjust_brightness_rect game_render Adds brightness offset to each RGB channel in rect, clamping to [0,255], skipping magenta colorkey 0x00548B30 1 stub_ret_00548b30 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x00548B40 10 STL_vector_throw_length_error_00548b40 stl Throws std::length_error with message "vector too long" 0x00548B50 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00548B90 103 STL_vector_resize stl Resizes vector to new count: truncates, zero-fills, or reallocates as needed 0x00548C00 48 init_ddsurface_desc game_core Initializes DDSURFACEDESC2 struct with size=0x7C, width/height, 32-bit pixel format 0x00548C30 350 build_perspective_projection_matrix game_core Builds 4x4 perspective projection matrix from FOV, aspect ratio, near and far planes 0x00548D90 131 d3d_trace_error game_core Outputs debug trace with file:line, error message, and optional HRESULT to OutputDebugString 0x00548E20 436 CSharedTexture__constructor game_core Constructs shared texture with refcounted control block, loads texture via resource manager singleton 0x00548FE0 172 CSharedTexture__copy_constructor game_core Copy constructs shared texture with interlocked refcount increment on control block 0x005490D0 127 CSharedTexture__destructor game_core Releases shared texture refcount, destroys control block and texture data when refcount reaches zero 0x00549160 30 CRefCountBlock__scalar_deleting_destructor game_core Scalar deleting destructor for 16-byte refcount control block 0x00549180 148 CSharedTexture__scalar_deleting_destructor game_core Scalar deleting destructor: decrements refcount, releases control block, optionally frees 12-byte object 0x00549260 12 CTextureProxy__release game_render Forwards release call to inner texture via vtable offset 0x24 0x00549290 12 CTextureProxy__restore game_render Forwards restore call to inner texture via vtable offset 0x28 0x005492A0 14 CTextureProxy__get_width game_render Forwards get_width call to inner texture via vtable offset 0x18 0x005492B0 12 CTextureProxy__get_height game_render Forwards get_height call to inner texture via vtable offset 0x1C 0x005492C0 47 CTextureProxy__ensure_size game_render Checks if inner texture meets minimum dimensions, calls resize via vtable if too small 0x005492F0 35 CTextureProxy__blit_region game_render Forwards blit region call to inner texture via vtable offset 0x20 0x00549320 35 CTextureProxy__blit_region_direct game_render Forwards blit region call to inner texture with direct params via vtable offset 0x20 0x005493B0 249 CD3DDeviceCaps__init_defaults game_render Initializes D3D device capabilities struct with default values: texture sizes=8, all caps=0 0x005494B0 3 null_stub_005494b0 crt Empty stub function, does nothing 0x005494C0 172 CD3DDevice__clamp_texture_dimensions game_render Rounds dimensions up to next power-of-2, clamps to device min/max texture size and aspect ratio 0x00549570 70 CD3DDevice__restore_primary_surface game_render Restores primary DirectDraw surface via Blt, falls back to BltFast if Blt fails 0x005495C0 118 CD3DDevice__check_and_restore_surfaces game_render Checks if surfaces are lost (DDERR_SURFACELOST), restores them and reloads D3D device if needed 0x00549640 141 CD3DDevice__test_cooperative_level game_render Tests cooperative level on primary, secondary, and Z-buffer surfaces, restores device if lost 0x005496D0 88 CD3DDevice__clear_viewport_with_color game_render Clears the D3D viewport with both color and Z-buffer (flags=3), using full client rect and specified ARGB color parameter 0x00549730 85 CD3DDevice__clear_viewport game_render Clears the D3D viewport with z-buffer clear flag using full client rect 0x00549790 132 CD3DDevice__flip_or_blit_to_front game_render Flips to front buffer in fullscreen, or blits backbuffer to front in windowed mode via BltFast 0x00549820 116 convert_bgra_to_rgb565 game_core Converts BGRA pixel array to RGB565 format, replacing near-white pixels with colorkey value 0x005498A0 1255 CD3DDevice__create_surfaces game_render Creates primary/backbuffer surfaces, Z-buffer, sets cooperative level and display mode for windowed or fullscreen 0x00549D90 120 create_bitmap_font_buffer game_core Allocates and constructs CBitmapFont with given dimensions, fills with magenta colorkey 0x00549E10 276 CD3DDevice__create_d3d_device game_render Creates Direct3D device from DirectDraw, sets viewport, enumerates texture formats requiring 32-bit 0x00549F30 203 CD3DDevice__create_directdraw game_render Creates DirectDraw7 object, queries display mode caps, sets cooperative level with exclusive/normal flags 0x0054A000 886 CD3DDevice__initialize_full game_render Full D3D initialization: creates DirectDraw, surfaces, D3D device, viewport, Z-buffer, and texture format 0x0054A380 543 CD3DDevice__create_render_pipeline game_render Detects pixel format, queries device caps, creates CRenderPipeline with viewport and ambient color 0x0054A5A0 162 CD3DDevice__create_render_target game_render Creates render target surface, falls back to offscreen plain if dimensions exceed max texture size 0x0054A650 237 CD3DDevice__recreate_zbuffer game_render Recreates Z-buffer surface with current pixel format and attaches to render target 0x0054A740 39 CD3DDevice__extract_blue_channel game_render Extracts and rescales blue channel from pixel value using device-specific mask and shift 0x0054A770 39 CD3DDevice__extract_green_channel game_render Extracts and rescales green channel from pixel value using device-specific mask and shift 0x0054A7A0 39 CD3DDevice__extract_red_channel game_render Extracts and rescales red channel from pixel value using device-specific mask and shift 0x0054A7D0 218 CD3DDevice__release_all_objects game_render Releases all D3D/DDraw objects: device, surfaces, Z-buffer, clipper, restores cooperative level 0x0054A8B0 26 safe_release_com_object game_core If pointer non-null, tail-calls vtable[0] with argument 1. Used as a safe release/destroy wrapper for COM-like objects. 0x0054A8D0 89 CD3DDevice__set_clipper game_render Creates clipper, associates with HWND, and attaches to primary surface for windowed rendering 0x0054A930 60 CD3DDevice__update_anisotropic_flags game_render Sets anisotropic filtering global flags based on device capability bit 0x20 and config flag 0x0054A970 68 d3d_texture_format_callback game_core EnumTextureFormats callback: selects best pixel format with matching bpp, preferring higher bit depth 0x0054A9C0 66 CD3DDevice__restore_display_mode game_render Restores original display mode in fullscreen, redraws menu bar and window 0x0054AA10 56 CD3DDevice__unlock_surfaces game_render Unlocks back and front surfaces, then flips the surface chain 0x0054AA50 122 get_client_rect_in_screen game_core Gets client rect and converts to screen coordinates, applying global display offset 0x0054AAD0 895 CD3DDevice__startup game_render Full device startup: initializes D3D, sets render states (lighting, alpha, textures), configures texture stages 0x0054AE50 53 CD3DDevice__is_valid_texture_size game_render Returns true if width/height are within device min/max texture size limits 0x0054AE90 27 CD3DDevice__restore_lost_surfaces game_render Restores Z-buffer surface and reloads all DirectDraw surfaces after device loss 0x0054AEB0 70 CD3DDevice__blit_backbuffer_to_primary game_render Blits render target to primary surface via Blt, falls back to BltFast on failure 0x0054AF10 8 CD3DDevice__mark_surfaces_lost game_render Sets surface-lost flag at offset 0x248 to trigger restoration on next frame 0x0054AF20 288 CD3DDevice__present_frame game_render Presents rendered frame: handles windowed blit, fullscreen flip, and virtual desktop positioning 0x0054B040 1913 CD3DDevice__calibrate_texture_coordinates game_render Renders test quads to find optimal UV bias for pixel-perfect texturing, stores result in global DAT_01312de0/de4 0x0054B7C0 104 CRenderState__init_defaults game_render Initializes render state object: zeros all state fields, clears 0x1A0 bytes of render data 0x0054B830 3 null_stub_0054b830 crt Empty stub function, does nothing 0x0054B840 219 CD3DDevice__find_best_display_mode game_render Enumerates display modes matching resolution, selects highest refresh rate available 0x0054B920 91 CD3DDevice__acquire_adapter_info game_render Queries DirectDraw adapter identifier and stores in device struct at offset 0x530 0x0054B980 197 CD3DDevice__calc_clamped_texture_size game_render Rounds to next power-of-2 and clamps to device max texture size, enforces aspect ratio constraint 0x0054BA50 114 CD3D9Device__create_swap_chain game_render Creates D3D9 swap chain for presentation, acquires back buffer from chain 0x0054BAD0 50 CD3D9Device__begin_scene game_render Checks device cooperative status, calls IDirect3DDevice9::BeginScene (vtable 0xA4), then resets texture stage counters. Returns 1 on success, 0 on failure. 0x0054BB10 67 CD3D9Device__set_scissor_test game_render Sets D3D9 scissor rect if device supports it (D3DCAPS bit 0x40000000) 0x0054BB60 426 CD3D9Device__check_device_status game_render Tests D3D9 cooperative level, handles device lost/reset/removal, logs errors with HRESULT lookup 0x0054BD10 643 CD3D9Device__initialize game_render Creates D3D9Ex, finds display mode, creates device with present params, queries adapter and device caps 0x0054BFA0 114 CD3D9Device__release_all game_render Releases D3D9 device, swap chain, back buffer, and adapter objects 0x0054C020 38 CD3D9Device__update_anisotropic_filter game_render Enables anisotropic filtering flag if device supports it and global config flag is set 0x0054C050 31 CD3D9Device__end_scene game_render Flushes render state and calls IDirect3DDevice9::EndScene 0x0054C080 188 CD3D9Device__find_display_mode game_render Finds matching display mode for adapter, falls back to CheckDeviceType if enumeration fails 0x0054C140 278 CD3D9Device__startup game_render Full D3D9 startup: initializes device, queries caps, sets render states, clips cursor in fullscreen 0x0054C2A0 410 d3d9_set_default_render_states game_core Configures default D3D9 render states: lighting, alpha blend, texture stages, sampler states 0x0054C440 75 CD3D9Device__stretch_rect_to_backbuffer game_render Stretches render target surface to back buffer via StretchRect, releases surface on failure 0x0054C490 63 CD3D9Device__clip_cursor_fullscreen game_render Clips cursor to window rect in fullscreen mode (when windowed flag is 0) 0x0054C4D0 61 CD3D9Device__clip_cursor_fullscreen_void game_render Clips cursor to window rect in fullscreen mode (void return variant) 0x0054C510 43 CD3D9Device__present game_render Calls IDirect3DDevice9::Present(0,0,0,0) and stores HRESULT at offset 0x68C 0x0054C540 129 safe_realloc_buffer game_core Reallocates or frees buffer with calloc/recalloc, aborts on allocation failure 0x0054C5D0 23 free_if_different stl Frees first pointer only if it differs from second pointer (avoids freeing static/stack buffers) 0x0054C5F0 390 STL_wstring_append_chars stl Appends range of char values as wchar_t to STL wstring with 1.5x growth reallocation 0x0054C780 29 memmove_backward game_core Copies memory range [param1, param2) to destination ending at param3 using memcpy 0x0054C7A0 522 STL_vector_0x18_insert_realloc stl Inserts 24-byte element into vector with 1.5x growth reallocation, copies existing elements around insertion point 0x0054C9B0 421 STL_vector_8byte_insert_realloc stl Inserts 8-byte element into vector with 1.5x growth reallocation, copies existing elements around insertion 0x0054CB80 103 STL_tree_destroy_recursive stl Recursively destroys std::map/set tree nodes, freeing each 24-byte node via right-child traversal 0x0054CBF0 367 heap_sift_down_0x18 stl Builds max-heap from 24-byte elements using sift-down with 3-field comparison (render sort key) 0x0054CD60 184 sort3_elements_0x18 game_core Sorts 3 adjacent 24-byte elements in-place using 3-field comparison for render queue ordering 0x0054CE20 796 partition_0x18_elements game_core Dutch national flag partition for 24-byte elements using median-of-3 pivot selection 0x0054D140 309 heap_sift_and_bubble_0x18 stl Sifts down then bubbles up a 24-byte element in heap at given position with 3-field comparison 0x0054D280 539 introsort_0x18_elements game_core Introsort for 24-byte render queue entries: quicksort with heapsort fallback and insertion sort finish 0x0054D4A0 14 trivial_constructor_set_field game_core Trivial constructor that sets single field to given value 0x0054D4B0 60 CGDIContext__acquire_dc game_render Acquires DC from provider via vtable, saves current font, sets transparent background mode 0x0054D4F0 52 CTextVertex__init game_render Initializes text vertex with position, color, bold flag, and zero width/height 0x0054D530 135 CGDIPlusContext__constructor game_render Initializes GDI+ context: zeros fields, calls GdiplusStartup to initialize GDI+ subsystem 0x0054D5C0 68 CBuffer__free_external game_core Frees dynamically allocated buffer if it differs from inline storage 0x0054D620 111 STL_map_destroy stl Destroys std::map by recursively freeing all tree nodes and sentinel node 0x0054D6B0 151 STL_vector_0x18_free stl Frees vector of 24-byte elements with aligned deallocation, zeros all 3 pointers 0x0054D750 129 STL_vector_8byte_free stl Frees vector of 8-byte elements with aligned deallocation, zeros all 3 pointers 0x0054D7E0 85 CGDIContext__release_dc game_render Restores original font into DC and releases it back to provider via vtable 0x0054D850 56 CGDIPlusFont__delete_family game_core Deletes GDI+ font family handle via GdipDeleteFontFamily 0x0054D890 129 CGDIPlusContext__destructor game_render Destroys GDI+ context: deletes cached font objects, shuts down GDI+, frees font vector 0x0054D920 92 CGDIPlusFontCollection__destructor game_core Destroys private font collection via GdipDeletePrivateFontCollection, resets vtable 0x0054D980 56 CTextVertex__equals game_render Compares two text vertices for equality on all 5 fields (position, color, bold, italic) 0x0054D9C0 53 CTextVertex__less_than game_render Lexicographic less-than comparison on first 3 fields of text vertex 0x0054DA00 111 CGDIPlusBase__scalar_deleting_destructor game_core Scalar deleting destructor for GDI+ base: frees via GdipFree or aligned free based on flags 0x0054DA80 144 CGDIPlusFontCollection__scalar_deleting_destructor game_core Scalar deleting destructor: deletes private font collection and frees via GdipFree or aligned free 0x0054DB10 38 `vector_constructor_iterator' other MSVC compiler-generated loop that calls constructors for each element in an array 0x0054DB40 263 submit_textured_quad_to_render_queue game_core Builds 4-vertex textured quad with UV coords and color, submits to render pipeline for drawing 0x0054DC50 28 throw_hresult_exception game_core Constructs HRESULT exception object and throws it via CxxThrowException (does not return) 0x0054DC70 24 throw_last_win32_error game_core Gets last Win32 error, converts to HRESULT (FACILITY_WIN32), and throws as exception 0x0054DC90 221 CTextVertex__create_gdi_font game_render Creates GDI HFONT from vertex settings: enumerates font families, applies bold/italic, stores handle 0x0054DD70 355 CTextVertex__create_rix_font game_render Creates LOGFONT from Rix font family (Squirrel/Loveangel/Diary/MiniHeart/Freshman/Magic) by ID, calls CreateFontIndirectA 0x0054DEE0 572 CTextVertex__load_scdream_font game_render Loads SCDream4/SCDream6 OTF font via AddFontResourceExA, creates HFONT with bold=700 if flag set 0x0054E120 24 CTextVertex__set_rix_font_handle game_render Creates Rix font with size 0xc and stores HFONT at this+0x10 0x0054E140 356 CTextVertex__remove_scdream_font game_render Removes SCDream4/SCDream6 font resource via RemoveFontResourceExA if font type is 0x1d 0x0054E2B0 421 render_line_as_textured_quad game_render Computes perpendicular offset from line (p1,p2) using acos/sin/cos, submits a textured quad strip 0x0054E460 302 render_filled_rect game_render Renders solid colored rectangle via 4-vertex mesh, checks alpha!=0, enqueues with blend mode 0x201 0x0054E590 316 render_filled_rect_additive game_render Renders solid colored rectangle with additive blending (src=5 dst=6, mode 0x205) 0x0054E6D0 692 render_dashed_line_as_quads game_render Renders dashed line from (p1,p2) to (p3,p4) as repeated textured quad segments with gap spacing 0x0054ED40 309 render_textured_rect game_render Renders textured rectangle with UV coords (0,0)-(1,1), optional texture override, blend mode 0x201 0x0054EE80 333 render_textured_rect_custom_uv game_render Renders textured rectangle with caller-specified UV coordinates per corner, blend mode 0x201 0x0054EFD0 744 render_textured_rect_from_texture game_render Renders textured rect computing UV from texture dimensions via vtable calls, blend mode 0x201 0x0054F2C0 26 CTextVertex__compare_font_name game_render EnumFontFamiliesEx callback: compares font name with string at param+0x1c via _stricmp 0x0054F2E0 115 CTextVertex__find_color_code_offset game_render Scans string for pipe-delimited color code (\|XX), returns offset of first color code or full length 0x0054F360 1031 CTextVertex__get_or_create_cached_font game_render Looks up font in sorted vector cache by (type,size,charset,bold,italic); creates if missing via CreateFontIndirectA 0x0054F770 188 CTextVertex__find_system_font_name game_render Enumerates system fonts to find matching face name, tries primary then fallback font table 0x0054F830 102 CTextVertex__lookup_font_index_by_name game_render Searches fallback font name table for matching string, returns table index or 0 if not found 0x0054F8A0 1117 CTextVertex__get_gdiplus_font_family_name game_render Loads private font file via GDI+, gets family name via GdipGetFamilyName, converts to ANSI string 0x0054FD00 155 CTextVertex__measure_text_with_color_codes game_render Measures text width handling embedded \|XX color codes, sums widths of each color segment 0x0054FDA0 366 wide_char_to_multibyte_alloc game_core Converts wide string to multibyte using WideCharToMultiByte with dynamic buffer allocation/realloc 0x0054FF10 75 CTextVertex__check_starts_with_color_code game_render Returns 1 if string starts with "\|XX" color code pattern (pipe + two hex digits) 0x0054FF60 59 CTextVertex__check_caret_color_code game_render Returns 1 if string starts with ^XXXXXX (caret + 6 hex digits) color code format 0x0054FFA0 15 CTextVertex__is_hex_digit game_render Returns nonzero if byte is valid hex digit via lookup table at DAT_01311f60 0x0054FFB0 35 CTextVertex__parse_hex_color_byte game_render Parses two hex chars at offset+1 and +2 into a color byte value using hex lookup table 0x0054FFE0 283 CTextVertex__configure_font_style game_render Sets font type/size/name based on global font mode (1-12), adjusts size for specific charset modes 0x00550130 18 CTextVertex__set_bk_color game_render Wrapper: calls SetBkColor on the HDC stored at this+0 0x00550150 18 CTextVertex__set_bk_mode game_render Wrapper: calls SetBkMode on the HDC stored at this+0 0x00550170 18 CTextVertex__set_text_color game_render Wrapper: calls SetTextColor on the HDC stored at this+0 0x00550190 141 CTextVertex__draw_text_segment game_render Draws single text segment, splits at color code if present and draws second part with parsed color 0x00550220 323 CTextVertex__draw_text_with_color_codes game_render Draws text with embedded \|XX color codes, iterates through segments advancing x position 0x00550370 131 STL_wstring_dtor stl std::wstring destructor: frees heap buffer if capacity>7, resets to empty SSO state 0x00550400 46 STL_copy_0x18_elements stl STL template instantiation: STL copy 0x18 elements 0x00550430 44 STL_copy_8byte_elements stl STL template instantiation: STL copy 8byte elements 0x00550460 47 STL_move_0x18_elements stl Moves array of 24-byte (0x18) elements to offset destination (overlapping safe via offset copy) 0x00550490 45 STL_move_8byte_elements stl Moves array of 8-byte elements to offset destination (overlapping safe via offset copy) 0x005504C0 10 STL_vector_xlength_error_0x18 stl Throws std::length_error("vector too long") for 0x18-element vector 0x005504D0 10 STL_vector_xlength_error_8byte stl Throws std::length_error("vector too long") for 8-byte element vector 0x005504F0 3 noop_stub_005504f0 crt Empty function, returns immediately (no-op placeholder) 0x00550520 351 CTextVertex__measure_text_extent game_render Measures text via MultiByteToWideChar + GetTextExtentPoint32W, optionally sums ABC widths for italic 0x00550680 248 CTextVertex__draw_text_out game_render Draws text via MultiByteToWideChar + TextOutW with font selection from cache 0x00550780 91 STL_wstring_allocate_buffer stl Allocates wide char buffer (size*2 bytes), uses aligned allocation for blocks >= 0x1000 0x005507E0 257 STL_wstring_assign stl std::wstring assign: copies wchar data, grows buffer if needed, null-terminates 0x005508F0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00550930 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00550970 264 STL_wstring_reserve stl std::wstring reserve: grows capacity if needed, copies existing data to new buffer 0x00550A80 96 d3d_snprintf_wrapper game_core Formats string via __stdio_common_vsnprintf_s into 1024-byte buffer, returns char count or -1 0x00550AF0 39 CD3DDeviceState__init game_render Initializes D3D device state block: zeroes 0x4c8 bytes of render/texture/sampler state storage 0x00550B20 223 CD3DDeviceState__copy_from_device game_render Copies D3D state from device: 0xd2 render states, 0x42 texture stage states, 0x1c sampler states 0x00550C00 49 CD3DDeviceState__reset_textures game_render Clears 2 texture slots: sets cached texture to NULL and calls device SetTexture(stage, NULL) 0x00550C40 262 d3d_log_error_with_hresult game_core Logs D3D error via OutputDebugStringA with file/line and HRESULT name (D3DERR_xxx) mapping 0x00550F50 21 CD3DDeviceState__clear_counters game_render Zeros two counters at offset 0x4c8 and 0x4cc in device state block 0x00550F70 344 d3d_get_error_description game_core Returns human-readable description string for D3D HRESULT error codes 0x005511D0 344 d3d_get_error_name game_core Returns D3D error code name string (e.g. "D3DERR_DEVICELOST") for HRESULT value 0x00551430 30 CD3DDeviceState__get_fvf game_render Returns cached FVF (flexible vertex format) value from state block at offset +4 0x00551450 34 CD3DDeviceState__get_render_state game_render Returns cached render state value by index from state block array at offset +8 0x00551480 62 CD3DDeviceState__get_sampler_state game_render Returns cached sampler state value by (stage, type) from array at offset +0x458, max 2 stages 0x005514C0 55 CD3DDeviceState__get_texture_stage_state game_render Returns cached texture stage state by (stage, type) from array at offset +0x350, max 2 stages 0x00551500 201 CD3DDeviceState__capture_all_states game_render Captures full D3D state: FVF + 0xd2 render states + 0x42 texture stage states + 0x1c sampler states 0x005515D0 199 CD3DDeviceState__refresh_all_states game_render Refreshes cached D3D state from device: FVF + render states + texture stage + sampler states 0x005516A0 314 CD3DDeviceState__apply_dirty_states game_render Compares cached vs device states, applies only changed render/texture/sampler states to D3D device 0x005517E0 62 CD3DDeviceState__set_fvf game_render Sets FVF on device if changed from cached value, updates cache on success 0x00551820 70 CD3DDeviceState__set_render_state game_render Sets D3D render state if changed from cached value, updates cache on success 0x00551870 109 CD3DDeviceState__set_sampler_state game_render Sets D3D sampler state if changed from cached value, max 2 stages, updates cache on success 0x005518E0 89 CD3DDeviceState__set_texture game_render Sets D3D texture on stage if changed from cached value, max 2 stages, updates cache on success 0x00551940 103 CD3DDeviceState__set_texture_stage_state game_render Sets D3D texture stage state if changed from cached, max 2 stages x 0x21 types, updates cache 0x005519B0 276 STL_vector_4byte_insert_realloc stl Inserts single 4-byte element into vector with reallocation, grows capacity by 1.5x 0x00551AF0 131 STL_rbtree_destroy_nodes stl Recursively destroys red-black tree nodes, freeing left/right subtrees and each node's memory 0x00551BA0 144 STL_object_ctor_with_array_551ba0 stl Constructor: zeros 8 dwords then uses _eh_vector_constructor_iterator_ to construct array of 0x20 elements (each 0xC bytes) starting at offset +0x24 0x00551C50 67 STL_node_dtor_free_551c50 stl Destructor: frees a 0x20-byte node at offset +4 if non-null via operator_delete 0x00551CA0 76 STL_rbtree_destroy_and_free stl Destroys red-black tree by calling STL_rbtree_destroy_nodes on root's child, then frees the 0x20-byte root/sentinel node 0x00551D00 116 STL_node_cleanup_and_free_551d00 stl Cleanup destructor: calls json internal cleanup on node at offset +4 if non-null, then frees the 0x20-byte block 0x00551D80 78 STL_node_dtor_free_551d80 stl Destructor: frees a 0x20-byte node at offset +4 if non-null via operator_delete. Same pattern as STL_node_dtor_free_551c50. 0x00551DD0 87 STL_rbtree_destroy_and_free_551dd0 stl Destroys red-black tree by calling STL_rbtree_destroy_nodes on root's child, then frees the 0x20-byte root/sentinel node. Same pattern as STL_rbtree_destroy_and_free at 00551ca0. 0x00551E30 68 CMesh__dtor_clear_vertex_data game_sprites CMesh destructor helper: clears vertex data by calling vector clear and free 0x00551E80 254 CMesh__dtor_free_all_buffers game_sprites CMesh destructor: frees all allocated buffers including vertex array, index lists, material lists, and destroys sub-vectors. Calls dtor on 0x20-sized array elements and 0xC-sized sub-vectors. 0x00551F80 68 CMesh__dtor_clear_index_data game_sprites CMesh destructor helper: clears index data by calling vector clear and free 0x00551FD0 1655 CMesh__compute_face_and_vertex_normals game_sprites Computes face normals via cross product, then averages adjacent face normals into per-vertex normals 0x00552650 90 STL_vector_change_array_4byte_00552650 stl Reallocates a vector internal array to accommodate more 4-byte elements. Copies existing data and frees old buffer. 0x005526B0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x005528C0 255 compute_rotation_vector_from_euler_angles game_core Computes a 4-element rotation vector from 3 Euler angles using sin/cos. Output is a combined rotation representation, not a direct vertex transform. 0x005529C0 727 CMatrix__apply_view_transform game_render Multiplies 3x4 matrix by global view matrix with translation offset from global camera position 0x00552CA0 718 CMatrix__multiply_by_global_with_translation game_render Multiplies this matrix in-place by a global 3x3 matrix (at DAT_01312438) and adds translation from param_2. Same as apply_view_transform but with explicit translation vector parameter. 0x00552F70 759 CMatrix__set_rotation_x game_render Sets 3x4 matrix to X-axis rotation by angle using sin/cos, preserves translation 0x00553270 767 CMatrix__set_rotation_y game_render Sets 3x4 matrix to Y-axis rotation by angle using sin/cos, preserves translation 0x00553570 735 CMatrix__set_rotation_z game_render Sets 3x4 matrix to Z-axis rotation by angle using sin/cos, preserves translation 0x00553850 771 CRay__intersect_AABB game_render Ray-AABB intersection test using slab method. Tests ray against 3 axis-aligned slab pairs. Returns 1 if ray hits the box within the ray's max distance (param_1[6]), 0 otherwise. 0x00553B60 537 CRay__intersect_triangle game_render Ray-triangle intersection using Moller-Trumbore algorithm. Computes barycentric coordinates (u,v) and distance t. Returns 1 if intersection within valid range, outputs u/v/t via param_5/param_6/param_7. 0x00553D80 734 CRay__intersect_AABB_alt game_render Ray-AABB intersection test (alternate version). Same slab method as CRay__intersect_AABB but with slightly different early-out logic. Returns 1 if hit, 0 otherwise. 0x00554060 531 CRay__intersect_triangle_alt game_render Ray-triangle intersection (alternate version). Moller-Trumbore method. Returns 1 if hit, outputs barycentric u/v and distance t. Does not check max distance like AABB version. 0x00554280 189 trig_table_init_sincos_361 game_render Initializes precomputed trigonometry lookup tables for 361 entries (0-360 degrees). Stores angle (radians), sin, cos, -angle, -sin, -cos in parallel global arrays at DAT_01387460+. 0x00554340 143 CMatrix__extract_quaternion_from_rotation game_render Extracts a quaternion (w,x,y,z) from a 3x3 rotation matrix using the standard trace-based method. Stores result at param_2: [+0x10]=w, [+4]=x, [+8]=y, [+0xC]=z. 0x005543D0 71 trig_table_lookup_cos game_render Looks up cosine value from precomputed table by integer index (0-360 degrees). Handles wraparound for indices outside [-360,360] range. Negative indices use the negated cosine table. 0x00554420 71 trig_table_lookup_angle game_render Looks up angle (radian) value from precomputed table by integer index (0-360 degrees). Handles wraparound for indices outside [-360,360] range. Negative indices use the negated angle table. 0x00554470 71 trig_table_lookup_sin game_render Looks up sine value from precomputed table by integer index (0-360 degrees). Handles wraparound for indices outside [-360,360] range. Negative indices use the negated sine table. 0x005544C0 350 quaternion_slerp game_core Spherical linear interpolation between two quaternions by parameter t, handles antipodal case 0x00554620 208 CMatrix__is_approximately_identity game_render Checks if a 3x4 matrix is approximately identity. Returns 1 if diagonal elements are ~1.0 and all off-diagonal/translation elements are ~0.0 (within epsilon tolerance DAT_010dd074). 0x005546F0 514 matrix3x3_to_quaternion game_core Converts 3x3 rotation matrix to quaternion using Shepperd's method, ensures positive w 0x00554900 27 CMatrix__extract_diagonal_3x3 game_render Extracts diagonal elements from source matrix into 3-element vector 0x00554920 539 CMatrix__compute_inverse_3x4 game_render Computes inverse of 3x4 affine transform matrix using cofactor expansion 0x00554B40 68 CMatrix__init_identity_set_scale_diagonal game_render Loads identity then sets diagonal scale factors [0],[4],[8] 0x00554B90 309 CMatrix__from_quaternion_rotation_only game_render Builds 3x4 rotation matrix from quaternion, translation zeroed 0x00554CD0 309 CMatrix__from_quaternion_rotation_only_alt game_render Duplicate quaternion-to-rotation-matrix conversion 0x00554E10 337 CMatrix__from_axis_angle_with_translation game_render Builds 3x4 matrix from axis-angle rotation with translation 0x00554F70 336 CMatrix__from_axis_angle_rotation_only game_render Builds 3x4 rotation matrix from axis-angle, translation zeroed 0x005550C0 69 CMatrix__init_identity_set_translation game_render Loads identity then sets translation [9],[10],[11] 0x00555110 589 CMatrix__build_lookat_matrix game_render Builds look-at view matrix from eye, target, and up vector 0x00555360 110 CMatrix__init_rotation_x game_render Builds identity then sets X-axis rotation using sin/cos 0x005553D0 112 CMatrix__init_rotation_y game_render Builds identity then sets Y-axis rotation using sin/cos 0x00555440 112 CMatrix__init_rotation_z game_render Builds identity then sets Z-axis rotation using sin/cos 0x005554B0 536 CMatrix__multiply_3x4 game_render Multiplies two 3x4 affine matrices including translation 0x005556D0 339 CMatrix__normalize_columns game_render Normalizes each column of 3x4 matrix by vector magnitudes 0x00555AF0 666 CMatrix__multiply_inplace_with_translation game_render In-place multiply 3x4 matrix with translation application 0x00555D90 69 CQuaternion__dot_product game_render Computes dot product of two 4-component quaternions 0x00555DE0 240 CQuaternion__multiply game_render Multiplies two quaternions using Hamilton product formula 0x00555ED0 306 CQuaternion__to_rotation_matrix game_render Converts quaternion to 3x3 rotation matrix in 3x4 layout 0x00556010 184 CQuaternion__to_axis_angle game_render Converts quaternion to axis-angle using acos and sin 0x005560D0 582 CMatrix__compute_inverse_orthonormal game_render Computes inverse by transposing rotation and normalizing 0x00556320 533 CMatrix__build_oriented_frame_from_points game_render Builds orthonormal 3x4 frame from two 3D points 0x00556540 200 CQuaternion__from_axis_angle game_render Creates quaternion from axis vector and angle 0x00556610 132 CRay__squared_distance_to_point game_render Computes squared perpendicular distance from point to ray 0x005566A0 426 CMatrix__build_frame_from_direction game_render Builds orthonormal 3x4 frame from direction vector 0x00556850 435 CMatrix__build_frame_from_normal_vector game_render Builds orthonormal 3x4 frame from normal with up reference 0x00556A10 90 CMatrix__set_from_four_vectors game_render Sets 3x4 matrix columns from four 3-element vectors 0x00556A70 257 CMatrix__set_from_axes_and_position game_render Sets 3x4 matrix from 3 axis vectors and position 0x00556B80 693 CMatrix__build_view_matrix_from_points game_render Builds view matrix from eye and target points 0x00556E40 16 math_cosf_wrapper game_render Wrapper around x87 fcos instruction 0x00556E50 16 math_sinf_wrapper game_render Wrapper around x87 fsin instruction 0x00556E60 16 math_sqrtf_wrapper game_render Wrapper around SQRT intrinsic 0x00556E70 29 STL_uninitialized_copy_backward_4byte stl Copies range backward using memcpy 0x00556E90 29 STL_uninitialized_copy_backward_8byte stl Copies range backward using memcpy 0x00556EB0 29 STL_uninitialized_copy_backward_12byte stl Copies range backward using memcpy 0x00556ED0 34 STL_uninitialized_copy_forward_4byte stl Copies range to destination, returns end 0x00556F00 34 STL_uninitialized_copy_forward_8byte stl Copies range to destination, returns end 0x00556F30 34 STL_uninitialized_copy_forward_12byte stl Copies range to destination, returns end 0x00556F60 276 STL_vector_insert_realloc_4byte stl STL vector insert with reallocation, grows by 1.5x 0x005570A0 276 STL_vector_insert_realloc_4byte_alt stl STL vector insert realloc variant B 0x005571E0 276 STL_vector_insert_realloc_4byte_alt2 stl STL vector insert realloc variant C 0x00557320 272 STL_vector_insert_realloc_8byte stl STL vector insert realloc for 8-byte elements 0x00557450 389 sort_median_of_nine_by_offset8 game_core Median-of-nine pivot selection by uint at offset 0x8 0x005575E0 288 insertion_sort_float_pair_array game_core Insertion sort for float pair array (8 bytes each) 0x00557700 350 heap_make_float_pair_array game_core Builds max-heap from float pair array 0x00557860 108 sort_median_of_three_by_offset10 game_core Median-of-three by uints at offsets 0x10/0x14 0x005578D0 120 sort_median_of_three_by_offset10_alt game_core Median-of-three alternate comparison at 0x10/0x14 0x00557950 292 sort_median_of_three_float_pair game_core Median-of-three for float pair elements 0x00557A80 402 quicksort_partition_by_offset8 game_core Three-way partition by uint at offset 0x8 0x00557C20 721 quicksort_partition_by_offset10_14 game_core Three-way partition by uints at 0x10/0x14 0x00557F00 749 quicksort_partition_by_offset10_14_alt game_core Three-way partition alternate at 0x10/0x14 0x005581F0 1137 quicksort_partition_float_pair game_core Three-way partition for float pair array 0x00558670 146 heap_sift_adjust_by_offset8 stl Heap sift for pointer array by offset 0x8 0x00558710 198 heap_sift_adjust_by_offset10_14 stl Heap sift for pointer array by offsets 0x10/0x14 0x005587E0 202 heap_sift_adjust_by_offset10_14_alt stl Heap sift alternate comparison at 0x10/0x14 0x005588B0 321 heap_sift_adjust_float_pair stl Heap sift for float pair array 0x00558A00 571 introsort_pointer_array_by_offset8 game_core Introsort for pointer array by uint at offset 0x8 0x00558C40 617 introsort_pointer_array_by_offset10_14 game_core Introsort for pointer array by offsets 0x10/0x14 0x00558EB0 601 introsort_pointer_array_by_offset10_14_alt game_core Introsort alternate comparison at 0x10/0x14 0x00559110 254 introsort_float_pair_array game_core Introsort for float pair array 0x00559210 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x00559240 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x00559260 178 CRenderer__draw_batch_meshes game_render Iterates mesh list, sets render state and texture, draws 0x00559320 175 CRenderer__draw_batch_meshes_alpha_test game_render Iterates mesh list with alpha test render state 0x005593D0 34 STL_uninitialized_copy_forward_generic stl Copies range via memcpy, returns end 0x00559400 31 STL_fill_range_4byte stl STL template instantiation: STL fill range 4byte 0x00559420 848 CRenderPipeline__constructor game_render Initializes render pipeline with 20+ internal buffers 0x00559770 67 CRenderPipeline__free_buffer_8byte game_render Frees 8-byte allocation at this+4 0x005597C0 131 CRenderPipeline__destroy_linked_list_and_vector game_render Clears vector and frees linked list nodes 0x00559850 125 STL_vector_deallocate_and_reset stl Deallocates STL vector buffer, resets to null 0x005598E0 103 CRenderPipeline__destroy_linked_list game_render Walks and frees 0x10-byte linked list nodes 0x00559950 129 STL_vector_deallocate_32byte_elements stl Deallocates STL vector with 32-byte elements 0x005599E0 71 CRenderPipeline__destructor game_render Sets vtable and calls cleanup to free all buffers 0x00559A30 99 CRenderPipeline__destructor_scalar game_render Scalar deleting destructor, frees 0x284-byte object 0x00559AA0 305 CRenderPipeline__acquire_render_node_pool game_render Gets/allocates pool node from linked list at this+0xC 0x00559BE0 107 CRenderPipeline__add_to_post_process_queue game_render Adds item to post-process queue at 0x1F8 or 0x204 0x00559C50 65 CRenderPipeline__add_to_overlay_queue game_render Adds item to overlay render queue at 0x240 0x00559CA0 720 CRenderPipeline__classify_and_enqueue_mesh game_render Routes mesh to correct queue based on material flags 0x00559F70 262 CRenderPipeline__submit_renderable_object game_render Allocates render node, sets draw type 3, classifies mesh 0x0055A090 369 CRenderPipeline__compute_screen_ray game_render Computes normalized ray from screen pixel coordinates 0x0055A210 45 CRenderPipeline__toggle_fog_state game_render Enables or disables fog rendering 0x0055A240 276 CRenderPipeline__set_fog_color_blended game_render Blends fog color with global based on alpha ratio 0x0055A360 401 CRenderPipeline__begin_frame game_render Resets all 20+ render queues, recycles pool nodes 0x0055A500 732 CRenderPipeline__setup_lighting_and_fog game_render Sets up D3D lighting materials and fog parameters 0x0055A7E0 315 CRenderPipeline__draw_hourly_clock_overlay game_render Draws clock overlay that fades in/out on the hour 0x0055A920 899 CRenderPipeline__draw_coordinate_display game_render Renders map coordinate digits using sprite font 0x0055ACB0 76 CRenderPipeline__draw_indexed_primitive_FVF1C4 game_render Draws indexed primitive with FVF 0x1C4 0x0055AD00 76 CRenderPipeline__draw_indexed_primitive_FVF2C4 game_render Draws indexed primitive with FVF 0x2C4 0x0055AD50 76 CRenderPipeline__draw_indexed_primitive_FVF2C4_alt game_render Draws indexed primitive FVF 0x2C4 variant 0x0055ADA0 99 CRenderPipeline__begin_scene game_render Calls D3D BeginScene and begins frame reset 0x0055AFA0 91 CRenderPipeline__pack_rgb565_color game_render Packs RGB into 16-bit using format shift/mask values 0x0055B000 183 CRenderPipeline__end_frame_and_present game_render Tracks FPS, calls EndScene and Present 0x0055B0C0 151 CRenderPipeline__sort_and_draw_opaque_queue game_render Sorts opaque queue at 0x180 by depth and draws 0x0055B160 1019 CRenderPipeline__draw_alpha_blended_meshes game_render Draws alpha blended queues at 0x18C and 0x1BC 0x0055B560 110 CRenderPipeline__draw_unsorted_queue_198 game_render Draws meshes from queue at 0x198 unsorted 0x0055B5D0 151 CRenderPipeline__sort_and_draw_queue_1A4 game_render Sorts and draws queue at 0x1A4 by depth 0x0055B670 151 CRenderPipeline__sort_and_draw_queue_228 game_render Sorts and draws queue at 0x228 by depth 0x0055B720 219 CRenderPipeline__draw_blended_objects_queue_1EC game_render Draws objects from queue 0x1EC with blend states 0x0055B800 151 CRenderPipeline__sort_and_draw_queue_1C8 game_render Sorts and draws queue at 0x1C8 by depth 0x0055B8A0 151 CRenderPipeline__sort_and_draw_queue_1D4 game_render Sorts and draws queue at 0x1D4 by depth 0x0055B940 151 CRenderPipeline__sort_and_draw_queue_1E0 game_render Sorts and draws queue at 0x1E0 by depth 0x0055B9E0 353 CRenderPipeline__draw_ground_meshes game_render Draws ground queues at 0x15C and 0x1B0 0x0055BB50 226 CRenderPipeline__draw_transparent_depth_sorted_234 game_render Draws transparent objects from queue 0x234 0x0055BC40 142 CRenderPipeline__sort_and_draw_queue_168 game_render Sorts queue at 0x168 by texture and draws 0x0055BCD0 142 CRenderPipeline__sort_and_draw_queue_174 game_render Sorts queue at 0x174 by texture and draws 0x0055BD60 217 CRenderPipeline__draw_multitexture_queue_1F8 game_render Draws dual-texture meshes from queue 0x1F8 0x0055BE40 708 CRenderPipeline__draw_lightmap_overlay_queue_240 game_render Draws lightmap overlay meshes from queue 0x240 0x0055C110 151 CRenderPipeline__sort_and_draw_queue_21C game_render Sorts and draws queue at 0x21C by depth 0x0055C1B0 182 CRenderPipeline__draw_blended_objects_queue_210 game_render Draws objects from queue 0x210 with blend modes 0x0055C270 3223 CRenderPipeline__render_all_queues game_render Main render pass drawing all queues 0x0055CF10 167 CRenderPipeline__setup_scene_lighting_params game_render Copies global light data, sets fog type 0x0055CFC0 183 blend_argb_colors_by_alpha game_core Blends two ARGB colors using param_2 alpha as ratio 0x0055D080 23 get_texture_quality_size game_core Returns texture quality size: 0->32, 1->64, 2->128, 3->256 pixels. Used for texture resolution selection. 0x0055D0AD 1 stub_ret_0055d0ad game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0055D0D0 26 CRenderDevice__get_transform_data game_core Copies 0xEC bytes of transform data from offset 0x48 0x0055D0F0 46 CRenderPipeline__get_elapsed_time_float game_render Returns elapsed time at offset 0x264 as float 0x0055D120 46 compute_fog_density_from_distance game_core Computes fog density using linear fog formula 0x0055D150 19 CRenderPipeline__world_to_screen_scale game_render Converts world-space size to screen-space 0x0055D170 4 CRenderPipeline__get_near_clip game_render Returns near clip plane distance from offset 0x18 0x0055D180 4 CRenderPipeline__get_far_clip game_render Returns far clip plane distance from offset 0x1C 0x0055D190 108 generate_random_alpha_byte game_core Generates random byte shifted to alpha channel bits 24-31 0x0055D200 269 CTextRenderer__measure_text_dimensions game_render Measures text dimensions (width/height) for the given string. Acquires GDI DC, configures font style, measures text accounting for color codes, then releases DC. Returns dimensions via param_1. 0x0055D310 47 compute_perspective_correction_factor game_core Computes perspective correction from distance 0x0055D340 153 init_text_render_singleton game_core Thread-safe lazy initialization of text render singleton at DAT_01387330. Uses thread_header/epoch_counter pattern for one-time init with atexit cleanup. 0x0055D3E0 146 CRenderPipeline__query_display_format_caps game_render Queries D3D display format capabilities 0x0055D480 219 CRenderPipeline__project_world_to_screen_2d game_render Projects 3D world point to 2D screen coordinates 0x0055D560 229 CRenderPipeline__project_world_to_screen_offset game_render Projects to screen with custom offset for centering 0x0055D650 243 CRenderPipeline__project_world_to_screen_with_depth game_render Projects to screen with perspective depth value 0x0055D750 243 CRenderPipeline__project_world_to_screen_with_depth_alt game_render Duplicate projection function 0x0055D860 1410 CRenderPipeline__save_screenshot_bmp game_render Saves backbuffer to BMP with optional watermark 0x0055DDF0 1346 CRenderPipeline__save_screenshot_jpeg game_render Saves backbuffer to JPEG using Intel JPEG Library 0x0055E340 1268 CRenderPipeline__save_logo_screenshot_jpeg game_render Captures screen with logo overlay as JPEG 0x0055E840 957 CRenderPipeline__draw_overlays_and_screen_effects game_render Draws clock, coordinates, debug, glitch effects 0x0055EC00 16 CRenderPipeline__set_fog_color game_render Sets fog color ARGB value at offset 0x270 0x0055EC10 235 CRenderPipeline__set_directional_light game_render Sets D3D directional light 0 with negated direction, diffuse and ambient colors 0x0055ED00 60 CRenderPipeline__set_texture_stage1 game_render Sets D3D texture on stage 1, caches at offset 0x26C 0x0055ED50 2296 CRenderPipeline__set_texture_blend_mode game_render Sets D3D texture stage states for 16 different blend modes (0-15) 0x0055F690 16 CRenderPipeline__set_ambient_color game_render Sets ambient color ARGB value at offset 0x24C 0x0055F6A0 300 CRenderPipeline__set_viewport_dimensions game_render Sets viewport width/height, computes projection scales and FOV 0x0055F7D0 210 CRenderPipeline__set_texture_by_stage game_render Sets D3D texture on specified stage with caching 0x0055F8B0 60 CRenderPipeline__set_texture_stage0 game_render Sets D3D texture on stage 0, caches at offset 0x268 0x0055F8F0 420 CRenderPipeline__draw_fps_counter game_render Draws FPS counter text using GDI TextOutA at bottom-right 0x0055FAA0 37 CRenderPipeline__reset_fps_timer game_render Resets FPS counter state at offsets 0x25C-0x264 0x0055FAD0 217 CRenderPipeline__draw_text_at_position game_render Draws text string at (x,y) with specified color via GDI 0x0055FBE0 320 STL_vector_resize_and_fill_4byte stl Resizes STL vector of 4-byte elements, fills with value 0x0055FD30 90 STL_vector__Change_array_0055fd30 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x0055FD90 90 STL_vector__Change_array_0055fd90 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x0055FDF0 90 STL_vector__Change_array_0055fdf0 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x0055FE50 90 STL_vector__Change_array_0055fe50 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x0055FEB0 94 STL_vector_swap_buffer_32byte stl Frees old buffer and sets new begin/end/capacity for 32-byte vector 0x0055FF10 1 stub_ret_0055ff10 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0055FF20 1 stub_ret_0055ff20 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0055FF30 1 stub_ret_0055ff30 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0055FF40 1 stub_ret_0055ff40 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0055FF50 1 stub_ret_0055ff50 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0055FF60 326 CRenderPipeline__grow_circular_buffer game_render Grows circular buffer by doubling, copies with wraparound 0x005600B0 197 STL_vector_reserve_4byte_typeA stl Reserves capacity for 4-byte element vector variant A 0x005601A0 197 STL_vector_reserve_4byte_typeB stl Reserves capacity for 4-byte element vector variant B 0x00560290 197 STL_vector_reserve_4byte_typeC stl Reserves capacity for 4-byte element vector variant C 0x00560380 189 STL_vector_reserve_8byte stl Reserves capacity for 8-byte element vector 0x00560470 128 STL_vector_reserve_32byte stl Reserves capacity for 32-byte element vector 0x00560520 44 STL_copy_8byte_elements_forward stl STL template instantiation: STL copy 8byte elements forward 0x00560550 45 STL_copy_8byte_elements_to_offset stl Copies 8-byte elements to destination at offset 0x00560580 45 STL_copy_32byte_elements_to_offset stl Copies 32-byte elements to destination at offset 0x005605B0 10 STL_throw_deque_too_long stl Throws std::length_error deque too long 0x005605C0 10 STL_throw_vector_too_long_A stl Throws std::length_error vector too long 0x005605D0 10 STL_throw_vector_too_long_B stl Throws std::length_error vector too long 0x005605E0 10 STL_throw_vector_too_long_C stl Throws std::length_error vector too long 0x005605F0 10 STL_throw_vector_too_long_D stl Throws std::length_error vector too long 0x00560600 10 STL_throw_vector_too_long_E stl Throws std::length_error vector too long 0x00560610 92 STL_aligned_allocate_4byte_A stl Allocates N*4 bytes with 32-byte alignment for large allocs 0x00560670 92 STL_aligned_allocate_4byte_B stl Allocates N*4 bytes with 32-byte alignment for large allocs 0x005606D0 92 STL_aligned_allocate_4byte_C stl Allocates N*4 bytes with 32-byte alignment for large allocs 0x00560730 92 STL_aligned_allocate_8byte stl Allocates N*8 bytes with 32-byte alignment 0x00560790 92 STL_aligned_allocate_32byte stl Allocates N*32 bytes with 32-byte alignment 0x005607F0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00560830 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00560870 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x005608B0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x005608F0 58 STL_aligned_free_32byte stl Frees 32-byte aligned allocation 0x00560930 48 STL_vector_push_back_8byte_element stl Appends 8-byte element to vector; reallocates if at capacity. Inlined STL vector::push_back for 8-byte elements. 0x00560960 34 STL_uninitialized_copy_forward_16byte stl Copies range via memcpy, returns end 0x00560990 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x005609C0 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x005609E0 34 STL_uninitialized_copy_forward_20byte stl Copies range via memcpy, returns end 0x00560A10 31 STL_fill_range_4byte_alt stl STL template instantiation: STL fill range 4byte alt 0x00560A40 2903 CSceneManager__constructor game_render Initializes scene manager with vtable, linked lists, circular buffers, vectors 0x005615A0 65 CSceneManager__cleanup_wrapper_A game_render Wrapper calling internal cleanup with SEH frame 0x005615F0 65 CSceneManager__cleanup_wrapper_B game_render Wrapper calling internal cleanup B with SEH frame 0x00561640 65 CSceneManager__cleanup_wrapper_C game_render SEH wrapper calling CSceneManager__destroy_circular_buffer_168byte for 0xa8-byte element circular buffer cleanup 0x00561690 148 CSceneManager__destroy_render_node_pools game_render Destroys render node pools: calls free_render_node_pool_lists, then frees two linked lists of 8-byte nodes 0x00561730 131 CSceneManager__destroy_circular_queue game_render Destroys a circular queue: calls STL_vector_deallocate to free the backing array, then frees linked list of 0x14-byte sentinel nodes 0x005617C0 125 STL_vector_deallocate_005617c0 stl Deallocates an STL vector: frees the backing buffer (with aligned allocation support for >4KB), zeroes start/end/capacity pointers 0x00561850 75 CSceneManager__destroy_element_array game_render Calls _eh_vector_destructor_iterator_ to destroy array of 25 elements (4 bytes each), using CSceneManager__free_node_list_with_vectors as dtor 0x005618A0 201 CSceneManager__destroy_circular_buffer_40byte game_render Destroys circular buffer with 0x28-byte elements: drains count to zero, frees each element slot, frees backing array and sentinel node 0x00561970 204 CSceneManager__destroy_circular_buffer_188byte game_render Destroys circular buffer with 0xBC-byte elements: drains count to zero, frees each element slot, frees backing array and sentinel node 0x00561A50 204 CSceneManager__destroy_circular_buffer_168byte game_render Destroys circular buffer with 0xA8-byte elements: drains count to zero, frees each element slot, frees backing array and sentinel node 0x00561B30 83 CSceneManager__free_linked_list game_render Frees a singly-linked list of 8-byte nodes, walking via first field as next pointer 0x00561B90 197 CSceneManager__free_node_list_with_vectors game_render Frees linked list of 0x20-byte nodes, each containing a vector of 0x28-byte elements. Deallocates vector buffer then node for each entry. 0x00561C60 103 CSceneManager__free_circular_queue_sentinel game_render Frees a circular queue sentinel: clears sentinel's count, walks and frees linked list of 0x14-byte nodes, then frees sentinel itself 0x00561CD0 65 CSceneManager__cleanup_wrapper_D game_render SEH wrapper calling CSceneManager__destroy_circular_queue 0x00561D20 129 STL_vector_deallocate_4byte stl Deallocates an STL vector of 4-byte elements: frees backing buffer (aligned alloc for >4KB), zeroes start/end/capacity. Null-safe. 0x00561DB0 129 STL_vector_deallocate_4byte_alt stl Deallocates an STL vector of 4-byte elements (template instantiation variant). Same logic as STL_vector_deallocate_4byte. 0x00561E40 129 STL_vector_deallocate_4byte_B stl Deallocates an STL vector of 4-byte elements (template instantiation variant B). Same logic as STL_vector_deallocate_4byte. 0x00561ED0 129 STL_vector_deallocate_4byte_C stl Deallocates an STL vector of 4-byte elements (template instantiation variant C). Same logic as STL_vector_deallocate_4byte. 0x00561F60 129 STL_vector_deallocate_8byte stl Deallocates an STL vector of 8-byte elements: frees backing buffer (mask 0xFFFFFFF8 for size calc), zeroes start/end/capacity. Null-safe. 0x00561FF0 151 STL_vector_deallocate_40byte stl Deallocates an STL vector of 0x28-byte (40-byte) elements: divides then multiplies by element size to compute exact buffer size, frees buffer. Null-safe. 0x00562090 464 CSceneManager__dtor game_render CSceneManager destructor: resets vtable, deallocates 20+ internal vectors (4-byte and 8-byte types), destroys circular buffers, render node pools, element arrays, and linked lists 0x00562260 38 CSceneManager__scalar_deleting_dtor game_render CSceneManager scalar deleting destructor: calls dtor, optionally frees 0x25C-byte object if flag bit 0 is set 0x00562290 221 CSceneManager__free_render_node_pool_lists game_render Frees two render node pool linked lists: walks each list, for each node with a non-null sub-buffer frees 32-byte elements then 12-byte header, then frees the 8-byte list nodes 0x00562370 320 CSceneManager__circular_buffer_resize_fill game_render Resizes a circular buffer's backing array to param_2 slots, filling each with param_3. If already large enough, fills existing elements. Handles aligned allocation for >4KB. 0x005624C0 400 CSceneManager__circular_buffer_grow game_render Grows circular buffer capacity by at least param_2 slots (doubles until sufficient, min 8). Copies existing data preserving wrap-around, frees old buffer. Throws deque too long on overflow. 0x00562660 10 STL_throw_deque_too_long_00562660 stl Throws std::length_error with message "deque too long" - called when circular buffer exceeds max capacity 0x00562670 389 STL_sort_median_of_9_by_offset8_A stl Median-of-9 pivot selection for introsort: picks 9 evenly-spaced elements comparing by uint at struct offset +8, sorts them via 3-element median-of-3. Template instantiation A. 0x00562800 389 STL_sort_median_of_9_by_offset8_B stl Median-of-9 pivot selection for introsort: picks 9 evenly-spaced elements comparing by uint at struct offset +8. Template instantiation B. 0x00562990 389 STL_sort_median_of_9_by_offset8_C stl Median-of-9 pivot selection for introsort: picks 9 evenly-spaced elements comparing by uint at struct offset +8. Template instantiation C. 0x00562B20 389 STL_sort_median_of_9_by_offset8_D stl Median-of-9 pivot selection for introsort: picks 9 evenly-spaced elements comparing by uint at struct offset +8. Template instantiation D. 0x00562CB0 258 STL_make_heap_by_offset10_14_A stl Build max-heap (make_heap): sifts down from middle to start, comparing by 64-bit key at struct offsets +0x10/+0x14 (primary/secondary). Template instantiation A. 0x00562DC0 258 STL_make_heap_by_offset10_14_B stl Build max-heap (make_heap): sifts down from middle to start, comparing by 64-bit key at struct offsets +0x10/+0x14 (primary/secondary). Template instantiation B. 0x00562ED0 159 STL_sort_median_of_3_by_offset10_14_A stl Median-of-3 pivot selection for introsort: compares 3 elements by 64-bit key at struct offsets +0x10/+0x14 and conditionally swaps to place median in middle. Template instantiation A. 0x00562F70 159 STL_sort_median_of_3_by_offset10_14_B stl Median-of-3 pivot selection for introsort: compares 3 elements by 64-bit key at struct offsets +0x10/+0x14 and conditionally swaps to place median in middle. Template instantiation B. 0x00563010 402 STL_sort_partition_by_offset8_A stl Three-way (Dutch national flag) partition for introsort: partitions array around pivot comparing by uint at struct offset +8. Returns equal-range bounds in param_1. Template instantiation A. 0x005631B0 402 STL_sort_partition_by_offset8_B stl Three-way (Dutch national flag) partition for introsort: partitions array around pivot comparing by uint at struct offset +8. Returns equal-range bounds in param_1. Template instantiation B. 0x00563350 402 STL_sort_partition_by_offset8_C stl Three-way (Dutch national flag) partition for introsort: partitions array around pivot comparing by uint at struct offset +8. Returns equal-range bounds in param_1. Template instantiation C. 0x005634F0 402 STL_sort_partition_by_offset8_D stl Three-way (Dutch national flag) partition for introsort: partitions array around pivot comparing by uint at struct offset +8. Returns equal-range bounds in param_1. Template instantiation D. 0x00563690 844 STL_sort_partition_by_offset10_14_A stl Three-way (Dutch national flag) partition for introsort: partitions array around pivot comparing by 64-bit key at struct offsets +0x10/+0x14. Returns equal-range bounds in param_1. Template instantiation A. 0x005639E0 844 STL_sort_partition_by_offset10_14_B stl Three-way (Dutch national flag) partition for introsort: partitions array around pivot comparing by 64-bit key at struct offsets +0x10/+0x14. Returns equal-range bounds in param_1. Template instantiation B. 0x00563D30 146 STL_heap_sift_by_offset8_A stl Heap sift-down then sift-up (pop_heap helper): moves hole down the heap picking larger child at each level (comparing uint at offset +8), then bubbles the displaced element up. Template instantiation A. 0x00563DD0 146 STL_heap_sift_by_offset8_B stl Heap sift-down then sift-up (pop_heap helper): moves hole down the heap picking larger child (comparing uint at offset +8), then bubbles displaced element up. Template instantiation B. 0x00563E70 146 STL_heap_sift_by_offset8_C stl Heap sift-down then sift-up (pop_heap helper): moves hole down the heap picking larger child (comparing uint at offset +8), then bubbles displaced element up. Template instantiation C. 0x00563F10 146 STL_heap_sift_by_offset8_D stl Heap sift-down then sift-up (pop_heap helper): moves hole down the heap picking larger child (comparing uint at offset +8), then bubbles displaced element up. Template instantiation D. 0x00563FB0 225 STL_heap_sift_by_offset10_14_A stl Heap sift-down then sift-up (pop_heap helper): moves hole down picking larger child by 64-bit key at offsets +0x10/+0x14, then bubbles displaced element up. Template instantiation A. 0x005640A0 225 STL_heap_sift_by_offset10_14_B stl Heap sift-down then sift-up (pop_heap helper): moves hole down picking larger child by 64-bit key at offsets +0x10/+0x14, then bubbles displaced element up. Template instantiation B. 0x00564190 555 STL_introsort_by_offset8 stl STL introsort implementation for an array of pointers, comparing by value at offset +8. Uses quicksort with median-of-3 partitioning (via stub_00563010), falls back to heapsort when recursion depth exceeds threshold, and insertion sort for small ranges (<32 elements). 0x005643C0 555 STL_introsort_by_offset8_00564390 stl STL introsort implementation for an array of pointers, comparing by value at offset +8. Variant using different partition/heapify helpers (stub_005631b0/stub_00563dd0). Same algorithm as 00564190. 0x005645F0 555 STL_introsort_by_offset8_005645f0 stl STL introsort implementation for an array of pointers, comparing by value at offset +8. Variant using partition helper stub_00563350 and heapify helper stub_00563e70. 0x00564820 555 STL_introsort_by_offset8_00564820 stl STL introsort implementation for an array of pointers, comparing by value at offset +8. Variant using partition helper stub_005634f0 and heapify helper stub_00563f10. 0x00564A50 405 STL_introsort_by_offset10_14 stl STL introsort comparing by two fields at offsets +0x10 and +0x14 (64-bit key comparison). Uses quicksort with partition helper stub_00563690, falls back to heapsort via stub_00562cb0/stub_00563fb0, and insertion sort for small ranges. 0x00564BF0 405 STL_introsort_by_offset10_14_00564bf0 stl STL introsort comparing by two fields at offsets +0x10 and +0x14 (64-bit key comparison). Variant using partition helper stub_005639e0, heapsort via stub_00562dc0/stub_005640a0. 0x00564D90 131 CSceneManager__render_batch_with_alpha_test game_render CSceneManager: render batch with alpha test 0x00564E20 130 CSceneManager__render_batch_with_alpha_blend game_render CSceneManager: render batch with alpha blend 0x00564EB0 144 CSceneManager__ctor game_render CSceneManager constructor. Calls CSceneManager base constructor, sets vtable to PTR_010dd2e0, stores parent renderer at +0x25C, D3D device at +0x260, and initializes render queue fields (0x264-0x270) to zero. 0x00564F40 72 CSceneManager__release_child_object game_render Releases a COM-like child object stored at this[0]. If non-null, calls its Release method (vtable+8) with security cookie frame setup. 0x00564F90 61 CSceneManager__release_child_object_00564f90 game_render Releases a COM-like child object stored at this[0]. If non-null, calls its Release method (vtable+8). Same pattern as 00564f40 but slightly different calling convention. 0x00564FE0 71 CSceneManager__dtor_00564fe0 game_render CSceneManager destructor. Sets vtable to PTR_010dd2e0, then calls base class cleanup via stub_00562090. Non-deleting destructor. 0x00565030 54 CSceneManager__flush_render_states game_render Flushes dirty render states by calling CD3DDeviceState__apply_dirty_states. Wrapper with SEH frame setup. 0x00565070 99 CSceneManager__scalar_deleting_dtor_00565070 game_render CSceneManager scalar deleting destructor. Sets vtable, calls base cleanup via stub_00562090, then optionally deletes (0x274 bytes) if param_2 bit 0 is set. 0x005650F0 92 CSceneManager__save_device_state game_render Saves current D3D device state. Stores pointer to this+0x0C into param_2, then calls CD3DDeviceState__copy_from_device to snapshot the current render states. 0x00565150 66 CSceneManager__clear_render_target game_render Clears the D3D render target. If param_2 is nonzero, clears with flags (0,0,3). Otherwise clears with color 0xFF000000 (black opaque), z=1.0f, stencil=0 and flags (0,0,2). Calls D3D device Clear via vtable+0xAC. 0x005651A0 100 CSceneManager__clear_with_ambient_color game_render Clears the render target using the ambient color stored at +0x264. If render mode is 1 and a specific flag at the mode object +0xFC is set, blends the ambient color with a global fog color (DAT_01389650). Calls D3D device Clear with the computed color, z=1.0f, stencil=0. 0x00565210 703 CSceneManager__render_to_texture game_render Renders a scene to a texture (render-to-texture). Creates a D3D texture surface if not already cached in param_5, sets up render target, saves/restores device state, configures render states (z-write off, fog off, alpha test on, alpha func on, alpha blend on), then iterates a linked list of render entries binding textures and drawing. Returns 1 on success, 0 on failure. 0x005654D0 619 CSceneManager__setup_fog_and_projection game_render Sets up fog parameters and projection matrix for the scene. When mode flag (+0x154) is 1: creates perspective projection via D3DXMatrixPerspectiveFovLH, sets world/view/projection transforms, configures fog color, table mode, start/end/density render states. Handles range-based fog enable from game settings flags. Always applies fog enable state at the end. 0x00565740 139 CSceneManager__draw_primitive_batch game_render Draws a batch of primitives. Sets FVF to 0x1C4 (position+normal+diffuse+tex1). If index buffer (param_2[4]) is present, calls DrawIndexedPrimitive via vtable+0x150; otherwise calls DrawPrimitive via vtable+0x14C. Primitive type comes from param_2[9] (4=tri list, else tri strip). Vertex stride is 0x20. 0x005657D0 139 CSceneManager__draw_primitive_batch_textured game_render Draws a batch of textured primitives. Sets FVF to 0x2C4 (position+normal+diffuse+tex2). If index buffer (param_2[3]) is present, calls DrawIndexedPrimitive via vtable+0x150; otherwise calls DrawPrimitive via vtable+0x14C. Vertex stride is 0x28. 0x00565860 139 CSceneManager__draw_primitive_batch_textured_00565860 game_render Draws a batch of textured primitives. Sets FVF to 0x2C4. Identical to 005657d0 but located in a different vtable slot (used for a different render pass). Vertex stride 0x28. 0x005658F0 124 CSceneManager__render_sorted_batch game_render Renders a sorted batch of render entries. If param_2 (sort flag) is nonzero, sorts the float-pair array via introsort_float_pair_array first. Then iterates entries (8-byte stride), binds texture from each entry's +8 field (+300 for D3D texture handle), and calls the virtual draw method at vtable+0x38. 0x00565AA3 1 stub_ret_00565aa3 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x00565B70 186 CSceneManager__present_frame game_render Presents the rendered frame. Increments frame counter (+0x38) and per-second FPS counter (+0x26C). Every 1000ms, calculates FPS as count/elapsed_seconds and stores at +0x270. Calls CD3D9Device__present to flip the backbuffer. Updates debug source line markers. 0x00565C30 362 CSceneManager__render_transparent_pass game_render Renders transparent geometry pass. Saves device state, sorts the render queue at +0x180, then renders in two sub-passes: first with alpha test + z-write (RS 0x0F=1, 0x0E=1, 0x18=0x9F, 0x19=7), then without alpha test for back faces (RS 0x0E=0, 0x18=0x9F, 0x19=2). Restores device state afterward. 0x00565DA0 889 CSceneManager__render_3d_objects_pass game_render Main 3D object render pass. Saves device state, sorts two render queues (+0x18C and +0x1BC) by depth. Sets alpha blend (src=5/dst=6), alpha test, z-write, fog. If +0x48 flag is set (wireframe/debug mode), renders with sampler filtering using alpha_test batch renderer and sorted batch with multiple passes for front/back face culling. Otherwise renders with alpha_blend batch renderer. Restores state at end. 0x00566120 215 CSceneManager__render_additive_blend_pass game_render Renders additive blend pass. Saves device state, sets blend mode to src_alpha+inv_src_alpha (RS 0x13=5, 0x14=6), renders sorted batch at +0x198, then restores device state. 0x00566200 200 CSceneManager__render_alpha_masked_pass game_render Renders alpha-masked geometry pass. Saves device state, sets alpha reference to 0xCF (RS 0x18=0xCF), renders sorted batch at +0x228, then restores device state. 0x005662D0 365 CSceneManager__render_custom_blend_pass game_render Renders custom-blend geometry pass. Saves device state, sets src/dst blend to src_alpha (RS 0x13=2, 0x14=2), linear sampler filtering. Iterates render queue at +0x1EC/+0x1F0, for each entry: binds texture, sets blend mode from entry (stub_00568470 for FVF, RS 0x13/0x14 from entry +0x18/+0x1C), calls virtual draw. Restores state. 0x00566440 215 CSceneManager__render_effect_layer1_pass game_render Renders effect layer 1 pass. Saves device state, sets blend to src_alpha (RS 0x13=2, 0x14=2), renders sorted batch at +0x1C8, restores device state. 0x00566520 215 CSceneManager__render_effect_layer2_pass game_render Renders effect layer 2 pass. Saves device state, sets blend to src_alpha (RS 0x13=2, 0x14=2), renders sorted batch at +0x1D4, restores device state. 0x00566600 215 CSceneManager__render_effect_layer3_pass game_render Renders effect layer 3 pass. Saves device state, sets blend to src_alpha (RS 0x13=2, 0x14=2), renders sorted batch at +0x1E0, restores device state. 0x005666E0 463 CSceneManager__render_ground_textures_pass game_render Renders ground/terrain texture pass. Saves device state, sets trilinear sampler filtering. Sorts and renders two render queues: first queue at +0x15C/+0x160 with trilinear filtering, second queue at +0x1B0/+0x1B4 with linear filtering. Each entry binds texture (+8 -> +300) and calls virtual draw (vtable+0x38). Restores sampler state and flushes. 0x005668B0 846 CSceneManager__render_ground_lightmap_pass game_render Renders ground with lightmaps. Sets clip plane and fill mode. Checks game option 0x77 (lightmap quality). If disabled, falls back to simple ground render. If lightmap hardware is available (DAT_01311ec4=1), uses dual-texture with lightmap in stage 1 (MODULATE2X), sorting by offsets +0x10/+0x14 and drawing with vtable+0x34. Otherwise falls back to modulate blend pass with texture stage MODULATE. Restores clip plane and fill mode. 0x00566C00 348 CSceneManager__render_depth_sorted_objects_pass game_render Renders depth-sorted objects. Saves device state, iterates render queue at +0x234/+0x238 (float-pair array with depth key + entry pointer). For each entry: binds texture, sets FVF via stub_00568470, chooses blend mode based on depth threshold (DAT_010dd228): below threshold uses entry's own blend, above uses additive (src=5/dst=6). Calls virtual draw and restores state. 0x00566D60 278 CSceneManager__render_ground_simple_pass game_render Simple ground render pass (no lightmaps). Saves device state, sorts render queue at +0x168/+0x16C by offset+8, iterates entries binding textures and calling virtual draw (vtable+0x38). Restores state. 0x00566E80 390 CSceneManager__render_ground_modulate_pass game_render Ground modulate blend pass (lightmap fallback). Saves device state, sets texture stage 0 to MODULATE for color and alpha operations, enables alpha blend and z-write, sets blend to src_alpha + inv_src_alpha (RS 0x13=2, 0x14=5). Sorts and renders queue at +0x174/+0x178. Restores state. 0x00567010 356 CSceneManager__render_dual_texture_pass game_render Renders dual-texture (lightmap) pass. Saves device state, sets texture stage 1 to MODULATE2X. Sorts render queue at +0x1F8/+0x1FC by dual-key (offsets +0x10/+0x14). Iterates entries with vertex count > 0, binds both texture 0 (from +0x10) and texture 1 (from +0x14), calls virtual draw at vtable+0x34. Restores texture stage 1 and flushes state. 0x00567180 611 CSceneManager__render_multitexture_blend_pass game_render Multi-texture blend render pass. Only executes if render queue at +0x240/+0x244 is non-empty. Saves device state, sorts by dual-key (+0x10/+0x14). Configures elaborate texture stage states for 2-stage blending: stage 0 with MODULATE for color/alpha, stage 1 with MODULATE for color + SELECTARG2 for alpha, with extensive sampler state configuration (linear/trilinear filtering per stage). Renders entries with vertex count > 0 using vtable+0x30 draw call. Restores state. 0x005673F0 197 CSceneManager__render_no_zwrite_pass game_render Renders a pass with z-write disabled (RS 7=0). Saves device state, renders sorted batch at +0x21C, restores state. Used for overlays or effects that should not write to depth buffer. 0x005674C0 336 CSceneManager__render_no_fog_custom_blend_pass game_render Renders custom-blend objects with fog and alpha test disabled. Saves device state, sets RS 0x1C=0 (fog off), RS 0x0E=0 (alpha blend off). Iterates render queue at +0x210/+0x214, for each non-null entry: binds texture, sets FVF via stub_00568470, configures per-entry blend modes (RS 0x13/0x14 from +0x18/+0x1C), calls virtual draw (vtable+0x38). Restores state. 0x00567610 2050 CSceneManager__render_full_scene game_render Main scene render orchestrator. Calls all render sub-passes in order: (1) setup_fog_and_projection, (2) z-write on + alpha ref 0xCF, (3) render_ground_textures_pass, (4) render_ground_lightmap_pass, (5) alpha test on + multitexture_blend_pass, (6) save state + render_no_fog_custom_blend (no fog/alpha disabled items at +0x210), (7) z-write off sorted batch at +0x21C, (8) transparent pass at +0x180, (9) effect layers (src_alpha blend at +0x1C8), (10) 3d_objects_pass, (11) alpha masked at +0x228, (12) effect layers 2+3 at +0x1D4/+0x1E0, (13) custom_blend_pass at +0x1EC, (14) additive blend at +0x198, (15) depth_sorted_objects at +0x234. 0x00567E20 70 CSceneManager__set_fog_params game_render Sets fog parameters for the scene. Marks fog mode as enabled (+0x154=1), reads range fog capability bit from game settings (+0x25C->+0x574 bit 7), stores fog enable state at +0x150. Sets global fog density (DAT_01389654=1) and fog table mode (DAT_0138964c=3). 0x00567E80 106 CSceneManager__query_backbuffer_format game_render Queries the backbuffer surface format from the D3D device. Gets the display surface via GetDisplayMode, stores width at +0x250 and height at +0x254. Based on the D3D format type (+0x530), determines the bit depth: formats 0x15-0x16 -> 32bpp, 0x17-0x1A -> 16bpp, default -> 0. Stores bit depth at +0x258. Returns 1 on success, 0 on failure. 0x00567FC0 102 CSceneManager__save_screenshot game_render Saves a screenshot to file. If param_2 (render info) is provided, creates a D3D texture from the entity's position/size data at +0x110-0x11C. Calls save_surface_to_file with the texture, then releases the texture if created. Uses D3DXSaveSurfaceToFileA with format determined by param_1. 0x00568030 102 CSceneManager__save_screenshot_as_bmp game_render Saves a screenshot as BMP format. Same as save_screenshot but passes format=1 (BMP) to save_surface_to_file instead of format=0. 0x005680A0 559 CSceneManager__save_surface_to_file game_render Saves a D3D surface to a file using D3DXSaveSurfaceToFileA. If param_4 (overlay texture) is provided, renders it to the backbuffer first: creates a CActionQueue, queues a textured quad draw at the calculated position, begins a scene, saves device state, sets up render states (z-write off, fog off, alpha test on, alpha blend on), renders all queued entries, ends scene, restores state. Then saves the backbuffer surface. Returns true on success. 0x005682D0 139 CSceneManager__save_logo_screenshot game_render Saves a screenshot with the logo overlay ("scr_logo.bmp"). Loads the logo texture via CMessageStringTable__load_and_process, creates a render texture from it via stub_005717a0, then calls save_surface_to_file with BMP format (1) and the logo texture overlay. Cleans up the string afterward. 0x00568360 16 CSceneManager__set_ambient_color game_render Sets the ambient/clear color for the scene manager. Stores param_2 at offset +0x264, which is used by clear_with_ambient_color for the render target clear color. 0x00568370 238 CSceneManager__set_light game_render Sets a D3D light on the device. Builds a D3DLIGHT9 structure: type=3 (directional), XORs direction vector with global constant (DAT_010dc0d0) for obfuscation, copies diffuse color from param_3 and ambient color from param_4, sets diffuse/ambient range to 255.0f. Calls SetLight (vtable+0xCC) for index 0, then LightEnable (vtable+0xD4) to activate it. 0x00568470 2528 CRenderPipeline__apply_texture_blend_mode game_render Large switch on blend mode index (0-15). Configures D3D texture stage states for color and alpha operations on stages 0 and 1. Each case sets up a different blending configuration (modulate, add, multiply, etc.) for multi-texture rendering. 0x00568E90 42 CRenderPipeline__bind_texture_from_resource game_render Binds a texture to a given stage. If param_2 is non-null, reads the D3D texture handle at offset +300 (0x12C). If null, binds texture 0 (none). 0x00568EF0 75 CRenderVertex__init_with_params game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Frees the vertex data buffer if allocated. Calls operator_delete with size 0x20 (32 bytes) and nullifies the pointer. 0x00569310 36 CRenderPipeline__free_vertex_and_index_buffers game_render Frees two heap-allocated buffers, the vertex data buffer at field 0 and the index buffer at field 2, and nullifies both pointers. 0x00569340 31 CRenderVertexBuffer__copy_vertex_data_32byte game_core 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 game_core 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 game_core 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. 0x00569470 15 CD3DDevice__draw_indexed_primitive game_render Calls a virtual method at vtable offset +0x38 on the global D3D device object (DAT_01389638). This is IDirect3DDevice::DrawIndexedPrimitive or similar draw call. 0x00569480 15 CD3DDevice__draw_primitive game_render Calls a virtual method at vtable offset +0x34 on the global D3D device object (DAT_01389638). This is IDirect3DDevice::DrawPrimitive or similar draw call. 0x00569490 15 CD3DDevice__draw_primitive_up game_render Calls a virtual method at vtable offset +0x30 on the global D3D device object (DAT_01389638). This is IDirect3DDevice::DrawPrimitiveUP (user pointer, non-indexed). 0x005694A0 57 CRenderVertexBuffer__randomize_alpha_32byte game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Identical to CRenderVertexBuffer__set_vertex_position_32byte, sets 4 DWORDs at vertex index * 0x20 in the data array. Duplicate at different address. 0x00569600 604 STL_vector_insert_render_item_1c stl Inserts an element into a std::vector of 0x1C-byte render items (containing strings). Handles capacity growth (1.5x strategy, max 0x9249249 elements). Allocates new buffer, move-constructs elements before/after insert position, destroys old elements and frees old buffer. SEH-protected with string dtors. 0x00569860 192 STL_vector_move_construct_range_1c stl Move-constructs a range of 0x1C-byte (28-byte) elements from source to destination. Each element contains a DWORD at offset 0, a std::string at offset +4 (SSO buffer), and additional data. Moves string internals and nullifies source strings after transfer. SEH-protected. 0x00569920 127 STL_vector_move_construct_single_1c stl Move-constructs a single 0x1C-byte element containing a string. Copies the first DWORD, then moves the std::string internals (SSO data + length/capacity), and nullifies the source string. SEH-protected. 0x005699A0 9 CRenderPipeline__clear_render_type game_render Sets the render type/state field to 0. Simple single-field reset on a render pipeline object. 0x005699B0 91 STL_vector_destroy_elements_1c stl Iterates through a vector of 0x1C-byte elements and calls STL_string_dtor on each element's string member. Does not free the vector buffer itself, only destroys the contained strings. SEH-protected. 0x00569A10 210 STL_vector_destroy_and_free_68 stl Destroys and frees a vector of 0x68-byte elements. Each element has two strings that need destruction. Iterates through all elements calling STL_string_dtor twice per element, then frees the backing buffer (with alignment handling for > 0xFFF allocations). Sets begin/end/capacity to 0. SEH-protected. 0x00569AF0 198 STL_vector_destroy_and_free_24 stl Destroys and frees a vector of 0x24-byte (36-byte) elements. Each element has one string member. Iterates calling STL_string_dtor per element, then frees the backing buffer (alignment-aware for > 0xFFF). Sets begin/end/capacity to 0. SEH-protected. 0x00569BC0 207 STL_vector_destroy_and_free_1c stl Destroys and frees a vector of 0x1C-byte (28-byte) elements. Each element has one string member. Iterates calling STL_string_dtor per element, then frees the backing buffer (alignment-aware for > 0xFFF). Sets begin/end/capacity to 0. SEH-protected. 0x00569C90 76 CRenderPipeline__release_d3d_resource_and_sprites game_render Releases a COM object (calls Release via vtable[0] with param=1 if non-null), then nullifies the pointer and calls thunk_free_all_sprite_buffers to clean up sprite resources. SEH-protected. 0x00569CF0 87 CRenderPipeline__destroy_two_strings game_render Destroys two std::string members sequentially. Calls STL_string_dtor twice with exception frame tracking. Used as element destructor for a struct with two string fields. 0x00569D50 68 CRenderPipeline__destroy_single_string game_render Destroys a single std::string member with SEH frame tracking. Calls STL_string_dtor once. Used as element destructor for a struct with one string field. 0x00569DA0 186 CRenderPipeline__compare_render_effects game_render Compares two render effect/material structs for equality. First checks the type field (offset 0). For type 1: compares two sets of 4-DWORD blocks (positions/colors at offsets +0x20 and +0x30). For type 2: compares 3 blocks of 4 DWORDs and then a string field using std::_Traits_equal. Returns 1 if equal, 0 if different. 0x00569E60 40 CRenderPipeline__compare_three_dwords game_render Compares first 3 DWORD fields of two structs for equality. Returns 1 if all three match, 0 if any differ. Used to compare simple 3-component data like RGB colors or XYZ coordinates. 0x00569E90 124 CRenderPipeline__create_bitmap_font game_render Allocates a new CBitmapFont object (0x2C bytes) and calls CBitmapFont__constructor with two params. If param_3 is non-zero, calls a virtual method at vtable offset +0x2C to set color to 0xFFFF00FF (opaque magenta). Returns the CBitmapFont pointer. SEH-protected with new/delete. 0x00569F10 14 CBitmapFont__get_line_height game_render Returns the line height by calling the virtual method at vtable offset +0x1C on the font object pointed to by *param_1. Returns 0 if the font pointer is null. 0x00569F20 21 CBitmapFont__get_char_width game_render Returns character width by calling the virtual method at vtable offset +0x24 on the font object pointed to by *param_1. Returns 0 if the font pointer is null. 0x00569F40 21 CBitmapFont__get_text_width game_render Returns text width by calling the virtual method at vtable offset +0x28 on the font object pointed to by *param_1. Returns 0 if the font pointer is null. 0x00569F60 21 CBitmapFont__set_color game_render Sets the font color by calling the virtual method at vtable offset +0x2C on the font object pointed to by *param_1. Does nothing if the font pointer is null. 0x00569F80 17 CBitmapFont__draw_text game_render Draws text by calling the virtual method at vtable offset +0x0C on the font object pointed to by *param_1. Returns 0x8000000E (E_POINTER-like error) if the font pointer is null. 0x00569FA0 19 CBitmapFont__begin_rendering game_render Calls a virtual method at vtable offset +0x20 on the font object pointed to by *param_1. Likely a begin/prepare rendering call. Does nothing if the font pointer is null. 0x00569FC0 12 CBitmapFont__end_rendering game_render Calls a virtual method at vtable offset +0x38 on the font object pointed to by *param_1. Likely an end/flush rendering call. Does nothing if the font pointer is null. 0x00569FD0 12 CBitmapFont__flush game_render Calls a virtual method at vtable offset +0x40 on the font object pointed to by *param_1. Likely a flush/commit operation for batched text rendering. Does nothing if the font pointer is null. 0x00569FE0 12 CBitmapFont__reset game_render Calls a virtual method at vtable offset +0x3C on the font object pointed to by *param_1. Likely a reset/clear operation. Does nothing if the font pointer is null. 0x00569FF0 167 CRenderPipeline__init_render_data_by_type game_render Initializes render data based on type parameter. Type 1: calls stub_0056b8c0 for D3D-style init. Type 2: calls stub_0056d770 for alternative init. Otherwise: zeroes 3 DWORDs (empty/null state). SEH-protected. 0x0056A0F0 310 CRenderConfig__init_from_globals game_core 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. 0x0056A230 15 CBitmapFont__get_texture_count game_render Returns the texture/page count by calling the virtual method at vtable offset +0x04 on the font object pointed to by *param_1. Returns -1 (0xFFFFFFFF) if the font pointer is null. 0x0056A240 21 CRenderSystem__set_default_resolution game_core Sets default resolution to 768x1024 (param_1[0] = 0x300, param_1[1] = 0x400) 0x0056A280 14 CRenderSystem__get_device_caps_vtable_0x30 game_core Calls vtable offset 0x30 on the render device if it exists, returns 0 if device is null 0x0056A290 14 CRenderSystem__get_device_vtable_0x18 game_core Calls vtable offset 0x18 on the render device if it exists, returns 0 if device is null 0x0056A2A0 593 CRenderSystem__build_render_api_list game_core 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 game_core 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 game_core 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 game_core 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 game_core Calls vtable offset 0x14 on the render device if it exists, returns 0 if device is null 0x0056A6A0 227 CRenderSystem__create_device game_core 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 game_core 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 game_core Calls vtable offset 0x44 on the render device. Returns 0x8000000e if device is null (not initialized). 0x0056A7C0 24 CRenderSystem__get_device_vtable_0x48 game_core Calls vtable offset 0x48 on the render device. Returns 0x8000000e if device is null (not initialized). 0x0056A7E0 125 CRenderSystem__save_device_guids_to_registry game_core Saves render device GUIDs to the Windows registry under HKLM. Writes GUIDDEVICE, GUIDDRIVER, and DEVICENAME values to the registry key. 0x0056A860 93 STL_vector_destroy_render_items_1c stl Destroys render items in a range [param_1, param_2) with 0x1c stride. Calls STL_string_dtor on each element's embedded string. 0x0056A8C0 10 STL_vector_throw_length_error_render_1c stl Throws std::length_error("vector too long") for render item vectors (0x1c stride). 0x0056A8D0 67 STL_deallocate_render_items_1c stl Deallocates memory for render item array. param_1 is the buffer pointer, param_2 is element count. Element size is 0x1c. Validates alignment for large allocations. 0x0056A920 105 STL_vector_destroy_display_mode_items_68 stl Destroys display mode items in range [param_1, param_2) with 0x68 stride. Each element has two embedded strings that are destroyed. 0x0056A990 516 STL_vector_insert_display_mode_68 stl Inserts a display mode element (0x68 stride) into the vector at position param_2. Reallocates with 1.5x growth. Uses move construction for existing elements. Max capacity 0x2762762. 0x0056ABC0 574 STL_vector_insert_resolution_item_24 stl Inserts a resolution item (0x24 stride) into the vector at position param_2. Reallocates with 1.5x growth. Max capacity 0x71c71c7. Each element contains an embedded string that must be destructed. 0x0056AE00 137 STL_vector_move_display_modes_68 stl Move-constructs display mode items (0x68 stride) from range [param_1, param_2) into destination at param_3. Calls destroy on trailing unused elements. 0x0056AE90 205 STL_vector_move_resolution_items_24 stl Move-constructs resolution items (0x24 stride, 9 dwords each) from range [param_1, param_2) into destination at param_3. Transfers string ownership by zeroing source string fields. 0x0056AF60 127 CRenderSystem__create_default_texture game_core Allocates a new CTexture (300 bytes) and constructs it with the default device parameter. Stores result in param_1. Returns null if allocation fails. 0x0056AFE0 163 CD3DDeviceDX7__ctor game_render Constructor for CD3DDeviceDX7. Sets vtable pointers, zeroes fields, allocates CD3DDeviceCaps (0x24c bytes) and stores it globally at DAT_01387340. Size 0x14. 0x0056B090 222 STL_move_construct_display_mode_item_68 stl Move-constructs a single display mode item (0x68 bytes / 26 dwords) from param_2 to param_1. Copies all fields and transfers ownership of two embedded strings at offsets 6-7 and 0x18-0x19. 0x0056B170 140 STL_move_construct_resolution_item_24 stl Move-constructs a single resolution item (0x24 bytes / 9 dwords) from param_2 to param_1. Copies all fields and transfers ownership of one embedded string at offset 3 (dwords 7-8). 0x0056B230 91 STL_vector_destroy_resolution_items_24 stl Destroys resolution items in range [begin, end) with 0x24 stride. Calls STL_string_dtor for each element's embedded string. 0x0056B2E0 183 CD3DDeviceDX7__dtor game_render Destructor for CD3DDeviceDX7. Sets vtable, frees CD3DDeviceCaps (0x24c bytes) at field[1], releases COM shared_ptr at field[4], releases render surface at field[2], then resets vtable to base class. 0x0056B3A0 68 CRenderSystem__destroy_render_item_string game_core 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 game_core 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. 0x0056B4A0 36 CD3DSurface__scalar_deleting_dtor game_render Scalar deleting destructor for CD3DSurface. Sets vtable to PTR_stub_0056c4e0_010dd4ac. Frees 0x20 bytes if bit 0 of param_2 is set. 0x0056B4D0 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x0056B500 204 CD3DDeviceDX7__scalar_deleting_dtor game_render Scalar deleting destructor for CD3DDeviceDX7. Calls the full destructor chain (frees DeviceCaps, releases COM ptrs, releases render surfaces), then frees 0x14 bytes if requested. 0x0056B5D0 5 thunk_free_all_sprite_buffers game_core Thunk: iterates sprite array, frees allocated buffers and clears pointers 0x0056B5F0 135 CD3DDeviceDX7__create_rendertarget_surface game_render Creates a render target surface via CD3DSurface. Allocates 0x14 bytes for the surface object and calls CD3DSurface__create_rendertarget with device caps. Returns 0 on allocation failure. 0x0056B680 141 CD3DDeviceDX7__create_texture game_render Creates a texture via CTexture. Allocates 300 bytes for the texture object and calls CTexture__constructor_create with device caps and width/height/format params. Returns 0 on allocation failure. 0x0056B710 173 CD3DDeviceDX7__create_texture_or_rendertarget game_render Creates either a CTexture or CD3DRenderTarget depending on whether the requested size is a valid texture size. If valid, creates CTexture (300 bytes); otherwise falls back to CD3DRenderTarget (0x14 bytes) with device dimensions. 0x0056B7C0 168 CD3DDeviceDX7__release_render_surface game_render Releases the render surface at field[2] (calls its destructor via vtable), clears the COM shared_ptr via move-assign, then calls CD3DDevice__release_all_objects to clean up remaining D3D resources. 0x0056B870 12 CD3DDeviceDX7__release_com_object game_render Thin wrapper that calls safe_release_com_object to release a COM interface held by the DX7 device. 0x0056B8C0 716 CRenderSystem__enumerate_ddraw_display_adapters game_core 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. 0x0056BBA0 207 CD3DDeviceDX7__get_or_create_backbuffer_texture game_render Gets or lazily creates the backbuffer texture for the DX7 device. If field[2] is null, allocates a new CTexture (300 bytes) with default device params, then swaps ownership via shared_ptr semantics. Returns the texture pointer. 0x0056BC80 325 CD3DDeviceDX7__get_or_create_depth_surface game_render Gets or lazily creates the depth surface for the DX7 device. If field[3] is null, allocates a CD3DSurface (0x20 bytes), creates it from the existing device surface, and stores via shared_ptr swap. Returns result through param_2 with refcount increment. 0x0056BDD0 1213 CRenderSystem__enumerate_dx7_display_modes game_core 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 game_core 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 game_core Wrapper that calls CD3DDevice__present_frame to flip/present the back buffer to the screen. 0x0056C4D0 12 CRenderSystem__release_object_via_vtable game_core Releases an object by calling its vtable offset 8 (Release/destructor) with param=1 if the pointer is non-null. 0x0056C4E0 11 CD3DSurface__release_internal game_render Releases the internal surface by calling the destructor via vtable at field[3] with param=0. 0x0056C4F0 22 STL_vector_destroy_display_mode_items_68_wrapper stl Thiscall wrapper that forwards to STL_vector_destroy_display_mode_items_68 with the correct this pointer ordering. 0x0056C510 93 STL_vector_destroy_resolution_items_24_copy stl Destroys resolution items in range [param_1, param_2) with 0x24 stride. Same logic as STL_vector_destroy_resolution_items_24 -- duplicate instantiation for different call contexts. 0x0056C570 10 STL_vector_throw_length_error_display_mode_68 stl Throws std::length_error("vector too long") for display mode vectors (0x68 stride). 0x0056C580 10 STL_vector_throw_length_error_resolution_24 stl Throws std::length_error("vector too long") for resolution item vectors (0x24 stride). 0x0056C590 56 STL_deallocate_display_mode_68 stl Deallocates memory for an array of 0x68-byte display mode items. Handles aligned allocation (>0xFFF) by retrieving original pointer from header. 0x0056C5D0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0056C610 271 STL_vector_reallocate_insert_pair8 stl STL vector reallocate-and-insert for 8-byte pair elements. Grows capacity by 1.5x, copies existing elements around the insertion point, then calls _Change_array to swap buffers. 0x0056C740 276 STL_make_heap_pair8_0056c740 stl Builds a max-heap from an array of 8-byte pair elements using sift-down. Standard STL make_heap for pairs with lexicographic comparison. 0x0056C860 170 STL_sort_median3_pair8 stl Median-of-three sort for 8-byte pair elements. Sorts three elements (first, mid, last) to establish pivot for introsort partitioning. 0x0056C910 780 STL_introsort_partition_pair8 stl Three-way partition (Dutch national flag) for 8-byte pair elements. Used by introsort. Returns partition boundaries via param_1 output struct. Calls median3 for pivot selection. 0x0056CC20 233 STL_push_heap_pair8 stl Sift-down operation for heap of 8-byte pair elements. Pushes an element down from position param_2 to maintain heap property with lexicographic comparison on pairs. 0x0056CD10 450 STL_introsort_pair8_0056cd10 stl Full introsort implementation for 8-byte pair elements. Falls back to insertion sort for small ranges (<= 32 elements) and heapsort when recursion depth exhausted. Tail-call optimized on smaller partition. 0x0056CEE0 127 CD3D9Device__create_render_target game_render Allocates a 0x154-byte render target object and initializes it via stub_00572500 using the source parameter. Returns the new object pointer through param_1. 0x0056CF60 158 CD3D9Device__ctor game_render CD3D9Device constructor. Sets up vtable chain, zeroes vector members at offsets 2-4, allocates a 0x690-byte CRenderState object and stores at offset 1. 0x0056D000 72 CD3D9Device__release_inner_device game_render Releases the inner COM device pointer at offset 0. Calls Release (vtable+8) on the COM interface if non-null. SEH-protected. 0x0056D050 61 CD3D9Device__release_device game_render Releases the D3D device COM pointer at offset 0. Calls vtable+8 (Release) if non-null. SEH-protected. 0x0056D0F0 129 STL_vector_free_pair8 stl Frees the buffer of a vector of 8-byte pair elements. Handles aligned deallocation for large buffers, then zeros the three vector fields (begin, end, capacity). 0x0056D180 183 CD3D9Device__dtor game_render CD3D9Device destructor (non-deleting). Sets vtable, deletes CRenderState (0x690 bytes) at offset 1, releases shared_ptr at offset 4, releases COM object at offset 2, restores base vtable. 0x0056D240 172 STL_shared_ptr_move_assign stl Shared_ptr move assignment. Moves source (param_2) contents to dest (param_1), nulls source, then decrements refcount on old dest value and destroys if zero. 0x0056D2F0 36 CD3D9RefCounted__scalar_deleting_dtor game_core Scalar deleting destructor for CD3D9RefCounted (0x20 bytes). Sets vtable pointer, conditionally frees memory if bit 0 of param_2 is set. 0x0056D320 204 CD3D9Device__scalar_deleting_dtor game_render CD3D9Device scalar deleting destructor. Runs full destructor (releases CRenderState, shared_ptr, COM objects), then conditionally frees 0x14 bytes if bit 0 of param_2 is set. 0x0056D3F0 130 CD3D9Device__create_scene_manager game_render Creates a CSceneManager instance (0x274 bytes) using the render state pointer at offset 4, then sets viewport dimensions from the render state's width/height fields. 0x0056D480 135 CD3D9Device__create_small_render_target game_render Creates a small render target (0x14 bytes). Allocates with nothrow new, initializes via stub_00570720 with the device's render state and two parameters. 0x0056D510 147 CD3D9Device__create_render_target_ex game_render Creates an extended render target (0x154 bytes) with full parameter set (6 params). Allocates with nothrow new, initializes via stub_005725c0. 0x0056D5B0 188 CD3D9Device__create_render_target_auto game_render Creates a render target, automatically choosing small (0x14) or extended (0x154) based on whether dimensions exceed the device's stored resolution at offsets 0x5a8/0x5ac. 0x0056D670 168 CD3D9Device__shutdown game_render Shuts down the D3D9 device. Releases COM object at offset 8, resets shared_ptr via move-assign, then calls CD3D9Device__release_all to clean up remaining resources. 0x0056D720 26 call_virtual_release game_core Calls virtual method at offset 0 (destructor/release) on param_1 if non-null. Generic release helper for COM-like reference-counted objects. 0x0056D770 845 CD3D9Device__enumerate_display_modes game_render Creates IDirect3D9Ex, enumerates all display adapters and their modes. Builds a vector of 0x68-byte display mode info structs containing adapter name, device name, and display mode details. 0x0056DAC0 207 CD3D9Device__get_or_create_render_target game_render Lazy-initializes the render target at offset 8. If null, allocates a 0x154-byte render target object, sets it via atomic swap, and returns the (possibly pre-existing) target pointer. 0x0056DBA0 328 CD3D9Device__get_or_create_swap_chain game_render Gets or creates the swap chain at offset 0xc. If null, allocates a CD3D9RefCounted (0x20 bytes), initializes it with the device's render state, and sets it via shared_ptr move. Returns swap chain via param_2 with addref. 0x0056DCF0 1362 CD3D9Device__enumerate_resolutions game_render Creates IDirect3D9Ex, enumerates display modes for a specific adapter (param_2) with format D3DFMT_X8R8G8B8 (0x16). Filters modes >= 664 width, removes duplicates, sorts, then builds resolution string list with formatted labels. 0x0056E270 353 CD3D9Device__init_device game_render Initializes the D3D9 device. Enumerates display modes, shows error if none compatible. Loads render config, finds first matching display mode, then calls CD3D9Device__startup with the selected adapter. 0x0056E400 12 CD3D9Device__present_wrapper game_render Thin wrapper that calls CD3D9Device__present to present the rendered frame to screen. 0x0056E410 90 STL_vector__Change_array_0056e410 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x0056E470 124 STL_vector_change_array_display_mode_68 stl STL vector _Change_array for 0x68-byte display mode items. Destroys old elements, frees old buffer, then sets new buffer/size/capacity pointers. 0x0056E4F0 209 STL_vector_change_array_resolution_24 stl STL vector _Change_array for 0x24-byte resolution items (containing std::string). Destroys strings in old elements, frees old buffer, sets new buffer/size/capacity pointers. 0x0056E5D0 12 COM_release_if_nonnull game_core 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 game_core 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 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0056E600 1 stub_ret_0056e600 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0056E610 1 stub_ret_0056e610 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0056E620 189 STL_vector_reserve_pair8 stl Reserves capacity for a vector of 8-byte pair elements. Allocates new buffer, copies existing elements, frees old buffer, and updates vector pointers. 0x0056E710 144 STL_vector_reserve_display_mode_68 stl Reserves capacity for a vector of 0x68-byte display mode items. Allocates new buffer, move-constructs existing elements, then calls _Change_array to swap. 0x0056E7D0 144 STL_vector_reserve_resolution_24 stl Reserves capacity for a vector of 0x24-byte resolution items. Allocates new buffer, move-constructs existing elements, then calls _Change_array to swap. 0x0056E890 44 STL_copy_pair8_range stl STL template instantiation: STL copy pair8 range 0x0056E8C0 45 STL_copy_pair8_to_offset stl Copies 8-byte pair elements from [param_1, param_2) to destination at offset param_3 from param_1. Used for relocating vector elements during reserve/reallocate. 0x0056E8F0 10 STL_throw_vector_too_long_0056e8f0 stl Throws std::length_error with message "vector too long". Called when vector size exceeds maximum. 0x0056E900 92 STL_allocate_pair8_array stl Allocates a buffer for param_1 elements of 8 bytes each. Handles aligned allocation for buffers > 0xFFF bytes. Throws bad_array_new_length if count >= 0x20000000. 0x0056E960 92 STL_allocate_display_mode_array stl Allocates a buffer for param_1 elements of 0x68 bytes each (display mode structs). Handles aligned allocation for large buffers. Max count 0x2762762. 0x0056E9C0 95 STL_allocate_resolution_array stl Allocates a buffer for param_1 elements of 0x24 bytes each (resolution items with strings). Handles aligned allocation for large buffers. Max count 0x71C71C7. 0x0056EA20 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0056EA60 134 FNV1a_hash_pair8 game_core 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). 0x0056EAF0 34 memcpy_range_return_end stl Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer to end of destination (param_3 + copied_size). 0x0056EB20 276 STL_vector_reallocate_insert_4 stl STL vector reallocate-and-insert for 4-byte elements. Grows capacity by 1.5x, uses memcpy for element relocation, then calls _Change_array. Max capacity 0x3FFFFFFF. 0x0056EC60 110 phmap_hashmap__find_by_key game_core 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<> game_core Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime. 0x0056ED10 58 FNV1a_hash_4bytes game_core FNV-1a hash of 4 bytes. Starts with FNV offset basis 0x811C9DC5, XOR-folds each byte and multiplies by FNV prime 0x01000193. 0x0056ED50 460 STL_vector_reallocate_40byte_elements stl Reallocates a vector of 0x28 (40) byte elements. Computes new capacity (1.5x growth), allocates new buffer, initializes new elements via stub_00570400, copies old elements via stub_00570440, frees old buffer, and updates vector pointers (begin, end, capacity). 0x0056EF30 489 CTileCache__insert_or_find game_core 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). 0x0056F120 97 fill<> stl STL std::fill specialization for pointer-sized elements. Fills a range [param_1, param_2) with the value pointed to by param_3. Uses vectorized 4-at-a-time loop when source doesn't overlap destination. 0x0056F190 67 STL_unordered_map_dtor_bucket_0x20 stl Destructor helper for unordered_map. Frees the bucket array (0x20 bytes) at offset +4 if non-null. 0x0056F1E0 67 STL_unordered_map_dtor_bucket_0x14 stl Destructor helper for unordered_map. Frees the bucket array (0x14 bytes) at offset +4 if non-null. 0x0056F230 78 STL_unordered_map_dtor_bucket_0x14_v2 stl Destructor helper for unordered_map variant. Frees the bucket array (0x14 bytes) at offset +4 if non-null. Similar to 0056f1e0 but with slightly different SEH setup. 0x0056F280 376 CTileCache__dtor game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x00570020 90 STL_vector__Change_array_00570020 stl STL vector::_Change_array - replaces the internal buffer of a vector of 4-byte elements. Frees old buffer (with aligned deallocation for large blocks), updates begin/end/capacity pointers. 0x00570080 623 CTileCache__rehash game_core 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 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x00570300 3 identity_return_00570300 game_core Identity function - returns param_1 unchanged. 3 bytes (mov eax, ecx; ret). 0x00570310 197 STL_vector_reserve_4byte_00570310 stl Reserves capacity for a vector of 4-byte elements. Allocates new buffer via stub_005704a0, copies existing elements via memcpy, frees old buffer, updates begin/end/capacity pointers. 0x00570400 49 memset_40byte_elements game_core 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 game_core 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. 0x00570480 10 STL_vector_throw_length_error_00570480 stl Throws std::length_error("vector too long"). Called when a vector exceeds max_size(). 0x00570490 10 STL_vector_throw_length_error_00570490 stl Throws std::length_error("vector too long"). Duplicate of STL_vector_throw_length_error at different address. 0x005704A0 92 STL_vector_allocate_4byte stl Allocates memory for a vector of param_1 4-byte elements. For small allocations (<0x1000 bytes), uses direct operator new. For large allocations, adds 0x23 bytes overhead and aligns to 32 bytes, storing the raw pointer at aligned-4 for deallocation. Throws bad_array_new_length if count >= 0x40000000. 0x00570500 142 CTileCache__clear_hashmap game_core 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 game_core 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. 0x00570610 62 deallocate stl STL allocator::deallocate for 4-byte elements. Computes byte size (count*4), handles aligned deallocation for large blocks (>0xFFF bytes), calls operator_delete. 0x00570650 61 deallocate stl STL allocator::deallocate for 0x28 (40) byte elements. Computes byte size (count*0x28), handles aligned deallocation for large blocks (>0xFFF bytes), calls operator_delete. 0x00570690 140 CTileCache__erase_by_key game_core 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. 0x00570720 161 CD3DSurface__ctor_create game_render Constructor for a D3D surface wrapper object. Sets vtable to CD3DBase then to CD3DSurface vtable. Stores the D3D device reference at [1], aligns width/height to 4-byte boundaries, calls IDirect3DDevice::CreateTexture (vfunc 0x90/0x24) to create the D3D surface at [4]. Size: 0x14 bytes per instance. 0x005707D0 174 CD3DSurface__ctor_from_resource game_render Constructor for CD3DSurface from an existing D3D resource (e.g., a texture level). Sets vtable, stores device ref, queries the resource's description (vfunc 0x30), stores width/height, calls AddRef (vfunc 4) on the resource, stores it at [4]. If query fails, zeros dimensions. 0x00570880 104 CD3DSurface__release_00570880 game_render Releases the D3D surface. Sets vtable to CD3DSurface, if the D3D resource at [4] is non-null, calls Release (vfunc 8) on it and zeros the pointer. Then calls stub_00572370 (base class cleanup). 0x005708F0 125 CD3DSurface__scalar_deleting_dtor_005708f0 game_render Scalar deleting destructor for CD3DSurface. Releases the D3D resource (vfunc 8) at [4], calls base cleanup, and if param_2 & 1, frees the object (0x14 bytes). 0x00570970 114 clamp_rect_to_surface game_core 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. 0x005709F0 36 CD3DSurface__update_subregion game_render Updates a rectangular sub-region of the D3D surface. If the surface resource at [+0x10] is non-null, retrieves the D3D device from [+4]+8 and calls a device method (vfunc 0x8c) to upload the update with the given source coordinates. 0x00570A20 124 CD3DSurface__resize_00570a20 game_render Resizes the D3D surface to new dimensions. Releases old resource if present, aligns width/height to 4-byte boundaries, calls IDirect3DDevice::CreateTexture (vfunc 0x90) to create a new surface. Returns 1 on success, 0 on failure. 0x00570AA0 252 CD3DSurface__blit_from_buffer game_render Blits pixel data from a source buffer onto the D3D surface. Computes destination rect from (param_2, param_3) with size (param_4, param_5), clamps to surface bounds twice (once for dest, once for lock rect), queries surface description, locks the surface, calls the D3D device StretchRect-like method (vfunc 0x88) to perform the copy, then unlocks. Source data comes from param_6 with stride from the D3D device at +0x680. 0x00570BA0 139 CD3DSurface__blit_from_buffer_no_lock game_render Blits pixel data onto the D3D surface without locking. Similar to blit_from_buffer but passes flag=2 and no lock rect to the D3D device method (vfunc 0x88). Computes and clamps destination rect, uses surface resource at +0x10 directly. 0x00570C30 35 CD3DSurface__set_filter_mode game_render Sets a filter mode on the D3D surface resource. If the resource at [+0x10] is non-null, calls vfunc 0x3c (SetAutoGenFilterType or similar) with param_2. Returns 1 on success (HRESULT >= 0), 0 otherwise. 0x00570C70 39 get_pixel_bit_depth_from_d3d_format game_core 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. 0x00570CC0 137 CD3DSurface__get_surface_info game_render Retrieves surface information into a 6-field output struct (param_2). Queries the D3D resource description (vfunc 0x30) and lock info (vfunc 0x34). Populates: [0]=valid flag, [1]=width, [2]=pitch, [3]=height, [4]=bits pointer, [5]=pixel bit depth from format. Returns 0s if resource is null or queries fail. 0x00570D50 23 CD3DSurface__unlock game_render Unlocks the D3D surface. If the resource at [+0x10] is non-null, calls its Unlock method (vfunc 0x40) with param_2 (the lock token/level). 0x00570D70 52 convert_argb8888_to_argb1555 game_core 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. 0x00570DC0 593 CD3DSurface__write_pixels_with_colorkey game_render Writes pixel data from a source buffer to the locked D3D surface, handling color key transparency (0xFF00FF = magenta). Supports multiple D3D formats: 32-bit (0x15/0x16) uses SIMD-like 4-pixel-at-a-time loop with color key masking; 16-bit R5G6B5 (0x17) converts via bit shifting; A1R5G5B5 (0x18/0x19) uses convert_argb8888_to_argb1555; A4R4G4B4 (0x1a) extracts 4 bits per channel. Locks surface, writes row by row with stride param_8, then unlocks. 0x005710A0 103 STL_rbtree_destroy_nodes_005710a0 stl Recursively destroys red-black tree nodes. For each non-sentinel node (check byte at +0xd), recursively destroys the right subtree (field[2]), then follows the left pointer (field[0]), frees the node (0x18 bytes), and continues iteratively on the left chain. 0x00571110 114 STL_rbtree_lower_bound_strcmp stl Performs lower_bound search in a red-black tree (std::map/set) using byte-by-byte string comparison. Traverses the tree comparing the search key (param_3) against each node's key (at field[4]). Returns an iterator struct with: [0]=found node, [1]=comparison result (0=match/left, 1=right), [2]=parent for insertion. 0x00571190 110 STL_rbtree_init_sentinel stl Initializes a red-black tree (std::map/set). Sets size to 0, allocates a 0x18-byte sentinel node, makes sentinel's left/right/parent all point to itself, sets the sentinel's color/flags bytes to 0x01 0x01. Stores sentinel pointer in param_1[0], size in param_1[1]. 0x00571200 67 CTextureCache__delete_head_node game_render Deletes the head node (offset +4) of the texture cache tree if it exists. Frees 0x18 bytes per node. 0x00571250 111 CTextureCache__destroy_all_nodes game_render Destroys all nodes in the texture cache tree. Iterates from head, removes each key via stub_005710a0, frees each 0x18-byte node, then frees the root sentinel. 0x005712D0 78 CTextureCache__delete_head_node_alt game_render Deletes the head node (offset +4) if it exists. Same as CTextureCache__delete_head_node but with different SEH setup. 0x00571320 78 CTextureCache__delete_head_node_alt2 game_render Deletes the head node (offset +4) if it exists. Variant with different SEH handler address. 0x00571370 65 CTextureCache__dtor_wrapper game_render Destructor wrapper that calls CTextureCache__destroy_all_nodes to clean up the texture cache tree. 0x005713C0 192 CTextureCache__release_all_and_clear game_render Releases all texture objects in the cache by calling their destructor (vtable[0] with flag=1), then clears the tree by removing all nodes and resetting the sentinel pointers. Finally calls destroy_all_nodes. 0x00571480 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x005714E0 253 CTextureCache__insert_entry game_render Inserts a texture entry into the cache tree. The key is a string at param2+0x24. If the key already exists (lower_bound finds it), skips. Otherwise allocates a 0x18-byte tree node with the key string pointer and value pointer, then calls Insert_node. Throws if map size exceeds 0xAAAAAAA. 0x005715E0 115 CTextureCache__create_text_surface game_render Creates a text rendering surface. Takes width/height and a pixel-mode flag. If flag is 1, uses raw pixel dimensions; otherwise divides by the global scale factor (DAT_01361650). Initializes text render singleton, gets text width via CBitmapFont, then calls vtable[0x20] to set up the surface area. 0x00571660 16 CTextureCache__get_default_text_width game_render Wrapper that initializes the text render singleton and returns the default text width from CBitmapFont. 0x00571670 118 CTextureCache__release_all_textures_and_clear game_render Iterates all entries in the texture cache tree, releases each texture object (vtable[0] with flag=1), then removes all tree nodes and resets the sentinel. Similar to release_all_and_clear but without calling destroy_all_nodes at the end, just resets count to 0. 0x005716F0 101 CTextureCache__remove_entry_by_resource game_render Removes a texture cache entry based on a resource parameter. If the resource's field at +0x1C is 0, gets the render device caps, checks if the resource differs from the current device, finds the entry by key string (at resource+0x24), and if found releases the texture object and erases the tree node. 0x00571760 45 CTextureCache__find_entry game_render Looks up a texture cache entry by key string. Returns the value (node+0x14) if found, or 0 if the key is not in the tree. 0x00571790 12 CTextureCache__get_render_device_caps game_render Initializes text render singleton and returns the D3D render system device caps via CRenderSystem vtable offset 0x30. 0x005717A0 391 CTextureCache__find_or_load_texture game_render Finds an existing texture in the cache by key, or loads a new one. First checks the tree via lower_bound. If found, updates timestamps and returns the cached texture. If not found, calls load_texture_from_file to create it, sets the filename, updates timestamps, inserts into the cache tree, and returns the new texture object. 0x00571930 475 CTextureCache__load_texture_from_file game_render Loads a texture from file. If the filename contains a video extension (checked via strstr with DAT_010dd690), loads via CVideoRes__FindOrLoadByName. Otherwise loads the image file via CResourceMgr, extracts dimensions (w/h/hasAlpha from offsets 0x114/0x118/0x11C/0x110), creates a text surface, and removes the resource. Falls back to a 1x1 pixel default surface if loading fails. 0x00571B10 95 CTextureCache__resize_and_set_surface game_render Resizes a texture surface and sets its area. If the texture is in pixel mode (field +8 == 1), calls vtable[0x3C] with raw dimensions. Otherwise divides dimensions by the global scale factor. Then calls vtable[0x20] to update the surface rectangle. 0x00571B70 211 CTextureCache__reload_all_textures game_render Iterates all entries in the texture cache tree and reloads each texture from its resource file. For each entry, loads the image via CResourceMgr, extracts dimensions, calls resize_and_set_surface on the texture object, then removes the resource. Used to refresh textures after a device reset or resolution change. 0x00571C50 141 CTextureCache__evict_expired_entries game_render Evicts expired texture cache entries. Gets current time via timeGetTime, computes elapsed time since DAT_0134b748. Iterates the tree; for each entry where ref_count (field +7*4) is 0 and max_age (field +8*4) has elapsed, releases the texture and erases the node. After eviction, compacts the process heap and flushes the bitmap font. 0x00571CE0 704 CTextureCache__erase_node game_render Erases a node from the red-black tree used by the texture cache. Performs standard RB-tree removal with rebalancing (rotations and color fixes). Decrements the tree size. Returns the removed node pointer for deallocation by the caller. 0x00571FA0 517 Insert_node stl STL _Tree_val::_Insert_node, Inserts a new node into a red-black tree and performs rebalancing (rotations + color fixes) to maintain RB-tree invariants. Library function from Visual Studio 2019. 0x005721B0 84 STL_rbtree_rotate_right stl Performs a right rotation on a red-black tree node. Standard RB-tree rotation: the right child of the node takes the node's position, the node becomes the left child. 0x00572210 88 STL_rbtree_rotate_left stl Performs a left rotation on a red-black tree node. Standard RB-tree rotation: the left child's right subtree is reassigned, then the left child takes the node's parent position. 0x00572270 99 CTextureCache__lower_bound game_render Performs a lower_bound search on the texture cache tree by string key. Calls stub_00571110 to find the insertion point, then compares the key string at the found node. Returns the found node if key matches, or the root sentinel if not found. 0x005722E0 140 CD3DTexture__ctor game_core 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 game_core 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 game_core Base destructor for CD3DTexture. Sets up SEH, reverts vtable from CD3DTexture to CD3DBase, then performs base class cleanup. 0x005723D0 100 CD3DTexture__scalar_deleting_dtor game_core 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 game_core 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 game_core 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 game_core 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 game_core Decrements the reference count (offset +0x1C) by 1. 0x005724F0 14 CD3DTexture__update_timestamp game_core Updates the last-access timestamp (offset +0x20) to the current time via timeGetTime. Does not change the reference count. 0x00572500 177 CD3DSurface__ctor game_render Constructor for CD3DSurface (derived from CD3DTexture, size 0x154). Calls CD3DTexture__ctor, sets vtable to CD3DSurface (010dd6e0), stores the pixel format (param_2) at offset +0x124 (field 0x49). Zeroes out surface-specific fields (0x4A-0x54). Sets initial scale factors to 1. 0x005725C0 136 CD3DSurface__ctor_with_params game_render Extended constructor for CD3DSurface. Calls CD3DSurface__ctor with format param, sets vtable, sets render-target flag (offset +0x12A) and mipmap flag (offset +299), then calls create_d3d_texture to allocate the D3D texture and clamp_dimensions_to_power_of_two. 0x00572650 252 CD3DSurface__ctor_from_d3d_surface game_render Constructor for CD3DSurface from an existing IDirect3DSurface9. Calls CD3DSurface__ctor, then queries the surface (vtable[0x48]) to get the texture interface and its description (vtable[0x30]). Extracts format, dimensions, alpha capability from the surface description. Maps D3D format codes to internal format enum (0x15->4, 0x17->2, 0x18->3, 0x19->0, 0x1A->1). 0x00572770 72 CD3DSurface__release_d3d_surface game_render Releases the D3D surface COM object at field[0] (IDirect3DSurface9) by calling its Release method (vtable[8]). Uses SEH for exception safety. 0x005727C0 61 CD3DSurface__release_d3d_surface_simple game_render Releases the D3D surface COM object at field[0] by calling Release (vtable[8]). Simpler variant without passing extra params to the Release call. 0x00572810 136 CD3DSurface__dtor game_render Destructor for CD3DSurface. Sets vtable to CD3DSurface, releases the surface COM object (field 0x4C) and texture COM object (field 0x4B) via their Release methods, then calls CD3DTexture__dtor_base for base class cleanup. 0x005728A0 160 CD3DSurface__scalar_deleting_dtor_005728a0 game_render Scalar deleting destructor for CD3DSurface (size 0x154). Sets vtable, releases surface and texture COM objects, calls base dtor. If param_2 bit 0 is set, frees the 0x154-byte memory block. 0x00572940 147 CD3DSurface__load_surface_from_memory game_render Loads pixel data from memory into the D3D surface at offset +0x130 using D3DXLoadSurfaceFromMemory. Source format is D3DFMT_A8R8G8B8 (0x15), pitch=4. After loading, generates mipmaps via D3DXFilterTexture if the texture has multiple mip levels and is not a render target or managed texture. 0x005729E0 215 CD3DSurface__copy_surface_region game_render Copies a rectangular region from a source surface to this surface using D3DXLoadSurfaceFromSurface with D3DX_FILTER_BOX (3). Source/dest rectangles are computed from x,y,width,height parameters. After copying, generates mipmaps if the texture has multiple levels and is not a render target. 0x00572AC0 594 CD3DSurface__create_d3d_texture game_render Creates the underlying D3D texture and surface for this CD3DSurface. Releases any existing surface/texture COM objects first. Determines D3D format from internal format enum (0->0x19, 1->0x1A, 2->0x17, 3->0x18, 4->0x15). Clamps dimensions via CD3DDevice. Determines usage flags (managed/render-target). Calls IDirect3DDevice9::CreateTexture, then gets surface level 0. For non-managed textures, clears all mip levels by filling them with a solid color. 0x00572D30 23 CD3DTexture__set_position_scaled game_core 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. 0x00572D50 61 CD3DSurface__generate_mipmaps game_render Generates mipmaps for the texture using D3DXFilterTexture if: (1) not a render target (offset +0x129 == 0), (2) not a managed-mipmap texture (offset +299 == 0), and (3) the texture object at offset +300 exists with more than 1 mip level. 0x00572D90 38 CD3DSurface__lock_surface_rect game_render Locks the D3D surface at offset +0x130 for direct pixel access by calling IDirect3DSurface9::LockRect (vtable[0x3C]). Returns 1 on success, 0 on failure or if no surface exists. 0x00572DC0 405 CD3DSurface__clear_surface_with_color game_render Clears a D3D surface by filling it with a solid color. Locks the surface, then fills every pixel based on the surface format: D3DFMT_A8R8G8B8 (0x15) uses 32-bit writes, D3DFMT_A1R5G5B5 (0x19) and D3DFMT_A4R4G4B4 (0x1A) and D3DFMT_R5G6B5 (0x17) use 16-bit writes with format conversion. Unlocks after filling. 0x00572F70 218 CD3DSurface__clear_all_mip_levels game_render Clears all mip levels of the texture with a solid color (value 0). Only operates on non-managed textures (offset +299 == 0). Iterates through all mip levels of the texture (field 0x4B), gets each surface level, clears it, and releases it. 0x00573050 121 CD3DSurface__get_surface_info_00573050 game_render Fills an output structure with surface information. Locks the surface to get the locked rect data, then populates: valid flag, pitch, pixel data pointer, scaled width/height, and bits-per-pixel (32 for D3DFMT_A8R8G8B8/A8B8G8R8, 16 for 16-bit formats, 0 for unknown). 0x00573110 86 CD3DSurface__unlock_and_generate_mipmaps game_render Unlocks the D3D surface (calls vtable[0x40] on surface at +0x130) and then generates mipmaps via D3DXFilterTexture if the texture has multiple mip levels and is not a render target or managed texture. 0x00573170 52 convert_argb8888_to_argb4444 game_core Converts a 32-bit ARGB8888 pixel to 16-bit ARGB4444 format by extracting 4 bits per channel. 0x005731B0 39 convert_argb8888_to_rgb565 game_core Converts a 32-bit ARGB8888 pixel to 16-bit RGB565 format (5 red, 6 green, 5 blue bits). 0x005731E0 81 CEffectTexture__generate_mipmaps effect Generates mipmaps for the effect texture. Calls GetLevelCount on +0x130 texture, then D3DXFilterTexture on +0x12C texture if conditions met (not flagged at +0x129 or +0x12B). 0x00573240 922 CEffectTexture__upload_pixels_to_surface effect Uploads ARGB8888 pixel data to a D3D texture surface with format conversion. Handles D3DFMT_A8R8G8B8 (0x15), D3DFMT_R5G6B5 (0x17), D3DFMT_A1R5G5B5 (0x19), and D3DFMT_A4R4G4B4 (0x1A). Downscales if texture exceeds max dimensions. Magenta (0x7C1F) and optionally black pixels become transparent. 0x00573600 414 CEffectTexture__upload_texture_data effect High-level texture upload. Manages D3D surface lifecycle: gets/creates texture, locks surface, calls upload_pixels_to_surface for pixel conversion, unlocks, and optionally generates mipmaps via D3DXFilterTexture. 0x005737A0 63 CEffectTexture__generate_mipmaps_if_needed effect Generates mipmaps via D3DXFilterTexture if the texture at +0x12C exists, is not flagged, and has more than 1 mip level. 0x005737E0 317 CEffectTexture__clear_and_render_rle_sprite effect Clears a rectangular region of the texture surface (memset to 0), then renders an RLE-encoded sprite into it via decode_rle_sprite_to_rgb565. Handles both A1R5G5B5 (2 bytes/pixel) and A8R8G8B8 (4 bytes/pixel) surface formats. Generates mipmaps afterwards if applicable. 0x00573920 175 CEffectTexture__ctor effect Constructor for CEffectTexture. Calls CEffectResource base constructor, sets vtable to CEffectTexture vtable, then allocates and initializes a render target object (0x30 bytes). Stores render target at offset +0x24. 0x005739D0 93 CEffectTextureBase__dtor effect Destructor for CEffectTextureBase. Sets vtable, destroys two STL strings, restores SEH chain. 0x00573A30 109 CEffectTexture__dtor effect Destructor for CEffectTexture. Sets vtable to CEffectTexture, releases textures via CEffectResource__ReleaseTextures, releases render target at +0x24, then calls CEffectResource destructor. 0x00573AA0 114 CEffectTextureBase__scalar_deleting_dtor effect Scalar deleting destructor for CEffectTextureBase. Destroys two STL strings. If bit 0 of param is set, frees memory (0x4C bytes). 0x00573B20 130 CEffectTexture__scalar_deleting_dtor effect Scalar deleting destructor for CEffectTexture. Releases textures and render target, calls base destructor. If bit 0 of param is set, frees memory (0x28 bytes). 0x00573BB0 155 CEffectTexture__ensure_render_target effect Ensures the render target at +0x24 exists. If null, allocates a new 0x30-byte render target object. Returns 1 if render target is valid, 0 otherwise. 0x00573C50 278 CEffectTexture__create_global_singleton effect Creates the global CEffectTexture singleton stored in DAT_0138968c. Constructs a new CEffectTexture with render target. Returns 1 if already exists or successfully created, 0 if allocation fails. 0x00573D70 25 CEffectTexture__release_render_target effect Releases the render target object at +0x24 by calling its Release() via vtable, then nulls the pointer. 0x00573D90 28 CEffectTexture__release_global_singleton effect Releases the global CEffectTexture singleton at DAT_0138968c by calling its Release() via vtable, then nulls the pointer. 0x00573DB0 269 CEffectTexture__register_sky_effect effect Registers a sky-related effect. Reads effect name from DAT_0138975c, constructs CEffectHandle, and if valid, calls CMapSkyDataMgr__init_from_config then pushes the effect via CEffectResource__thunk_push_effect. 0x00573EC0 335 CEffectTexture__register_hotkey_effect effect Registers a hotkey-related effect. Reads effect name from DAT_0138976c, constructs CEffectHandle with render target, and if valid calls HotkeyConfig__set_config_values_and_save then pushes the effect. 0x00574010 381 CEffectTexture__register_effect_type_a effect Registers an effect. Reads effect name from DAT_01389854, constructs CEffectHandle, and if valid calls process_func_005cdda0 then pushes the effect. Template pattern shared by many CEffectTexture registration methods. 0x00574190 305 CEffectTexture__register_effect_type_b effect Registers an effect. Reads name from DAT_013898b8, constructs CEffectHandle, calls stub_005e4f10 handler, then pushes effect. Part of the CEffectTexture effect registration family. 0x005742D0 338 CEffectTexture__register_effect_type_c effect Registers an effect. Reads name from DAT_013898c8, constructs CEffectHandle, calls stub_005e80d0 handler, then pushes effect. Part of the CEffectTexture effect registration family. 0x00574430 308 CEffectTexture__register_effect_type_d effect Registers an effect. Reads name from DAT_013898d0, constructs CEffectHandle, calls stub_005ea0d0 handler, then pushes effect. Part of the CEffectTexture effect registration family. 0x00574570 338 CEffectTexture__register_effect_type_e effect Registers an effect. Reads name from DAT_013898e0, constructs CEffectHandle, calls stub_005ec450 handler, then pushes effect. Part of the CEffectTexture effect registration family. 0x005746D0 305 CEffectTexture__register_effect_type_f effect Registers an effect. Reads name from DAT_01389860, constructs CEffectHandle, calls process_func_005cf670 handler, then pushes effect. Part of the CEffectTexture effect registration family. 0x00574810 308 CEffectTexture__register_effect_type_g effect Registers an effect. Reads name from DAT_0138986c, constructs CEffectHandle, calls process_func_005d0930 handler, then pushes effect. Part of the CEffectTexture effect registration family. 0x00574950 474 CEffectTexture__register_effect_type_h effect Registers an effect. Reads name from DAT_01389870, constructs CEffectHandle with embedded CEffectTextureBase object, calls process_func_005d1bd0 handler, then pushes effect. Larger variant with extra vtable setup. 0x00574B30 308 CEffectTexture__register_effect_type_i effect Registers an effect. Reads name from DAT_01389920, constructs CEffectHandle, calls process_func_00607fe0 handler, then pushes effect. Part of the CEffectTexture effect registration family. 0x00574C70 341 CEffectTexture__register_effect_type_j effect Registers an effect. Reads name from DAT_01389924, constructs CEffectHandle, calls process_func_00609270 handler, then pushes effect. Part of the CEffectTexture effect registration family. 0x00574DD0 353 CEffectTexture__register_effect_type_k effect Registers an effect. Reads name from DAT_01389874, constructs CEffectHandle with embedded CEffectTextureBase vtable, calls process_func_005d3b80 handler, then pushes effect. 0x00574F40 305 CEffectTexture__register_effect_type_l effect Registers an effect. Reads name from DAT_01389880, constructs CEffectHandle, calls CReportManager__update_report_state handler, then pushes effect. Part of the CEffectTexture effect registration family. 0x00575080 140 CEffectResourceEntry__copy_ctor effect Copy constructor for an effect resource entry. Copies the string from source (param_2[0]) into a new STL string in dest, and copies the integer value (param_2[1]) to dest[6]. Used by STL containers for CEffectResource entries. 0x00575110 140 CEffectResourceEntry__copy_ctor_00575110 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor - copies string + int value. 0x005751A0 140 CEffectResourceEntry__copy_ctor_005751a0 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x00575230 140 CEffectResourceEntry__copy_ctor_00575230 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x005752C0 140 CEffectResourceEntry__copy_ctor_005752c0 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x00575350 140 CEffectResourceEntry__copy_ctor_00575350 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x005753E0 140 CEffectResourceEntry__copy_ctor_005753e0 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x00575470 140 CEffectResourceEntry__copy_ctor_00575470 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x00575500 140 CEffectResourceEntry__copy_ctor_00575500 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x00575590 140 CEffectResourceEntry__copy_ctor_00575590 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x00575620 140 CEffectResourceEntry__copy_ctor_00575620 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x005756B0 140 CEffectResourceEntry__copy_ctor_005756b0 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x00575740 140 CEffectResourceEntry__copy_ctor_00575740 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x005757D0 140 CEffectResourceEntry__copy_ctor_005757d0 effect Copy constructor for an effect resource entry (duplicate instance). Identical to CEffectResourceEntry__copy_ctor. 0x00575860 34 memcpy_range_00575860 stl Copies a memory range [param_1, param_2) to param_3 using memcpy. Returns pointer past the end of the destination. Used by STL copy operations. 0x00575890 219 STL_unordered_map__find_by_string stl Finds an element in an unordered_map by string key. Hashes the key to find the bucket, then linearly searches the bucket chain comparing strings via std::_Traits_compare. Returns iterator pair (next_node, found_node) or end sentinel if not found. 0x00575970 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x005759A0 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x005759C0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00575A30 55 STL_string__fnv1a_hash stl Computes FNV-1a hash of an STL string. Uses standard FNV-1a parameters: offset basis 0x811c9dc5, prime 0x1000193. Handles SSO by checking if capacity > 0xF to determine buffer pointer location. 0x00575A70 34 CObjectPool__copy_range game_render Copies a range of memory from param_1 to param_3, with length (param_2 - param_1). Returns pointer past the end of the destination. 0x00575AA0 31 CObjectPool__fill_range game_render CObjectPool: fill range 0x00575AC0 208 CObjectPool__ctor_size_0xB0 game_render CObjectPool constructor for element size 0xB0. Sets vtable to allocate_size_0xB0, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00575B90 208 CObjectPool__ctor_size_0xC8 game_render CObjectPool constructor for element size 0xC8. Sets vtable to allocate_size_0xC8, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00575C60 208 CObjectPool__ctor_size_0x100 game_render CObjectPool constructor for element size 0x100. Sets vtable to allocate_size_0x100, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00575D30 208 CObjectPool__ctor_size_0xC8b game_render CObjectPool constructor for element size 0xC8 variant b. Sets vtable to allocate_size_0xC8b, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00575E00 208 CObjectPool__ctor_size_0xC8c game_render CObjectPool constructor for element size 0xC8 variant c. Sets vtable to allocate_size_0xC8c, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00575ED0 208 CObjectPool__ctor_size_0xD0 game_render CObjectPool constructor for element size 0xD0. Sets vtable to allocate_size_0xD0, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00575FA0 208 CObjectPool__ctor_size_0xE0 game_render CObjectPool constructor for element size 0xE0. Sets vtable to allocate_size_0xE0, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00576070 208 CObjectPool__ctor_size_0xC8d game_render CObjectPool constructor for element size 0xC8 variant d. Sets vtable to allocate_size_0xC8d, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00576140 208 CObjectPool__ctor_size_0xD0b game_render CObjectPool constructor for element size 0xD0 variant b. Sets vtable to allocate_size_0xD0b, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00576210 208 CObjectPool__ctor_size_0x120 game_render CObjectPool constructor for element size 0x120. Sets vtable to allocate_size_0x120, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x005762E0 208 CObjectPool__ctor_size_0xD0c game_render CObjectPool constructor for element size 0xD0 variant c. Sets vtable to allocate_size_0xD0c, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x005763B0 208 CObjectPool__ctor_size_0xE8 game_render CObjectPool constructor for element size 0xE8. Sets vtable to allocate_size_0xE8, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00576480 208 CObjectPool__ctor_size_0x118 game_render CObjectPool constructor for element size 0x118. Sets vtable to allocate_size_0x118, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00576550 208 CObjectPool__ctor_size_0xC8e game_render CObjectPool constructor for element size 0xC8 variant e. Sets vtable to allocate_size_0xC8e, initializes linked list sentinel, free list, critical section, and stores pool capacity param. 0x00576620 62 CObjectPool__init_linked_list game_render Initializes a simple linked list structure with 5 zero fields and a sentinel node (8 bytes). Used as internal storage for CObjectPool. 0x00576660 103 CModeMgr__ctor game_core 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. 0x005766D0 191 CObjectPool__dtor_size_0xB0 game_render CObjectPool destructor for element size 0xB0. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576790 191 CObjectPool__dtor_size_0xC8 game_render CObjectPool destructor for element size 0xC8. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576850 191 CObjectPool__dtor_size_0x100 game_render CObjectPool destructor for element size 0x100. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576910 191 CObjectPool__dtor_size_0xC8b game_render CObjectPool destructor for element size 0xC8 variant b. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x005769D0 191 CObjectPool__dtor_size_0xC8c game_render CObjectPool destructor for element size 0xC8 variant c. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576A90 191 CObjectPool__dtor_size_0xD0 game_render CObjectPool destructor for element size 0xD0. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576B50 191 CObjectPool__dtor_size_0xE0 game_render CObjectPool destructor for element size 0xE0. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576C10 191 CObjectPool__dtor_size_0xC8d game_render CObjectPool destructor for element size 0xC8 variant d. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576CD0 191 CObjectPool__dtor_size_0xD0b game_render CObjectPool destructor for element size 0xD0 variant b. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576D90 191 CObjectPool__dtor_size_0x120 game_render CObjectPool destructor for element size 0x120. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576E50 191 CObjectPool__dtor_size_0xD0c game_render CObjectPool destructor for element size 0xD0 variant c. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576F10 191 CObjectPool__dtor_size_0xE8 game_render CObjectPool destructor for element size 0xE8. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00576FD0 191 CObjectPool__dtor_size_0x118 game_render CObjectPool destructor for element size 0x118. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00577090 191 CObjectPool__dtor_size_0xC8e game_render CObjectPool destructor for element size 0xC8 variant e. Sets vtable, destroys all pooled objects via virtual dtor, deletes critical section, frees linked list nodes, then calls CHashMap__clear_and_free. 0x00577150 67 CObjectPool__delete_node_0xC game_render Deletes the node at this+4 if non-null, freeing 0xC bytes. Used as a cleanup helper for linked list nodes. 0x005771A0 67 CObjectPool__delete_node_0x24 game_render Deletes the node at this+4 if non-null, freeing 0x24 bytes. Used as a cleanup helper for hash map nodes with string keys. 0x005771F0 78 CObjectPool__delete_node_0xC_variant game_render Deletes the node at this+4 if non-null, freeing 0xC bytes. Variant with different SEH layout than delete_node_0xC. 0x00577240 113 CObjectPool__delete_string_node_0x24 game_render Destroys the std::string in the node at this+4, then deletes the 0x24-byte node. Used to clean up hash map nodes that contain string keys. 0x005772C0 201 CHashMap__clear_and_free game_core 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. 0x00577390 103 CObjectPool__destroy_linked_list game_render Destroys all nodes in a linked list. Walks the list from the first node, frees each 0xC-byte node, then frees the sentinel node itself. 0x00577400 116 CModeMgr__dtor game_core 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 game_core 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 game_core 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. 0x005775F0 212 CObjectPool__scalar_deleting_dtor_size_0xB0 game_render CObjectPool scalar deleting destructor for element size 0xB0. Runs full destructor (destroy objects, critical section, linked list, hash map), then conditionally frees the pool object itself (0x40 bytes) if param_2 bit 0 is set. 0x005776D0 212 CObjectPool__scalar_deleting_dtor_size_0xC8 game_render CObjectPool scalar deleting destructor for element size 0xC8. Runs full destructor, then conditionally frees the pool object itself (0x40 bytes) if param_2 bit 0 is set. 0x005777B0 212 CObjectPool__scalar_deleting_dtor_size_0x100 game_render CObjectPool scalar deleting destructor for element size 0x100. Runs full destructor, then conditionally frees the pool object itself (0x40 bytes) if param_2 bit 0 is set. 0x00577890 212 CObjectPool__scalar_deleting_dtor_size_0xC8b game_render CObjectPool scalar deleting destructor for element size 0xC8 variant b. Runs full destructor, then conditionally frees the pool object itself (0x40 bytes) if param_2 bit 0 is set. 0x00577970 212 CObjectPool__scalar_deleting_dtor_size_0xC8c game_render CObjectPool scalar deleting destructor for element size 0xC8 variant c. Runs full destructor, then conditionally frees the pool object itself (0x40 bytes) if param_2 bit 0 is set. 0x00577A50 212 CObjectPool__scalar_deleting_dtor_size_0xD0 game_render CObjectPool scalar deleting destructor for element size 0xD0. Runs full destructor, then conditionally frees the pool object itself (0x40 bytes) if param_2 bit 0 is set. 0x00577B30 212 CObjectPool__scalar_deleting_dtor_size_0xE0 game_render CObjectPool scalar deleting destructor for element size 0xE0. Runs full destructor, then conditionally frees the pool object itself (0x40 bytes) if param_2 bit 0 is set. 0x00577C10 212 CObjectPool__scalar_deleting_dtor_size_0xC8d game_render CObjectPool scalar deleting destructor for element size 0xC8 variant d. Runs full destructor, then conditionally frees the pool object itself (0x40 bytes) if param_2 bit 0 is set. 0x00577CF0 212 CObjectPool__scalar_deleting_dtor_size_0xD0b game_render CObjectPool scalar deleting destructor for element size 0xD0 variant b. Runs full destructor, then conditionally frees the pool object itself (0x40 bytes) if param_2 bit 0 is set. 0x00577DD0 212 CModeMgr__dtor_observer_type0 game_core 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 game_core Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd7c0 0x00577F90 212 CModeMgr__dtor_observer_type2_00577f90 game_core Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd7d0 0x00578070 212 CModeMgr__dtor_observer_type3_00578070 game_core Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd800 0x00578150 212 CModeMgr__dtor_observer_type4_00578150 game_core Destructor for mode observer; deletes critical section, vtable PTR_FUN_010dd810 0x00578230 137 CModeMgr__dtor_base_observer_00578230 game_core Destructor for base mode observer; iterates list, calls base dtor 0x005782C0 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x005782F0 221 CObjectPool__allocate_size_0xB0_005782f0 game_render Object pool allocator for 0xB0-byte objects via 0x5b9e50 0x005783D0 221 CObjectPool__allocate_size_0xC8_005783d0 game_render Object pool allocator for 0xC8-byte objects via 0x5bdaa0 0x005784B0 221 CObjectPool__allocate_size_0x100_005784b0 game_render Object pool allocator for 0x100-byte objects via 0x5cd7b0 0x00578590 221 CObjectPool__allocate_size_0xC8b_00578590 game_render Object pool allocator for 0xC8-byte objects via 0x5e4a50 0x00578670 221 CObjectPool__allocate_size_0xC8c_00578670 game_render Object pool allocator for 0xC8-byte objects via 0x5e7c10 0x00578750 221 CObjectPool__allocate_size_0xD0_00578750 game_render Object pool allocator for 0xD0-byte objects via 0x5e9c00 0x00578830 221 CObjectPool__allocate_size_0xE0_00578830 game_render Object pool allocator for 0xE0-byte objects via 0x5ebf50 0x00578910 221 CObjectPool__allocate_size_0xC8d_00578910 game_render Object pool allocator for 0xC8-byte objects via 0x5cf1b0 0x005789F0 221 CObjectPool__allocate_size_0xD0b_005789f0 game_render Object pool allocator for 0xD0-byte objects via 0x5d0470 0x00578AD0 221 CObjectPool__allocate_size_0x120_00578ad0 game_render Object pool allocator for 0x120-byte objects via 0x5d1640 0x00578BB0 221 CObjectPool__allocate_size_0xD0c_00578bb0 game_render Object pool allocator for 0xD0-byte objects via 0x607b10 0x00578C90 221 CObjectPool__allocate_size_0xE8_00578c90 game_render Object pool allocator for 0xE8-byte objects via 0x608d60 0x00578D70 221 CObjectPool__allocate_size_0x118_00578d70 game_render Object pool allocator for 0x118-byte objects via 0x5d3600 0x00578E50 221 CObjectPool__allocate_size_0xC8e_00578e50 game_render Object pool allocator for 0xC8-byte objects via 0x5d5d70 0x00578F30 6016 CModeMgr__register_all_mode_factories game_core 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 game_core Iterates list and calls destructor on each registered observer 0x0057A6F0 138 CObjectPool__return_to_pool_0057a6f0 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057A780 138 CObjectPool__return_to_pool_0057a780 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057A810 138 CObjectPool__return_to_pool_0057a810 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057A8A0 138 CObjectPool__return_to_pool_0057a8a0 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057A930 138 CObjectPool__return_to_pool_0057a930 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057A9C0 138 CObjectPool__return_to_pool_0057a9c0 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057AA50 138 CObjectPool__return_to_pool_0057aa50 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057AAE0 138 CObjectPool__return_to_pool_0057aae0 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057AB70 138 CObjectPool__return_to_pool_0057ab70 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057AC00 138 CObjectPool__return_to_pool_0057ac00 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057AC90 138 CObjectPool__return_to_pool_0057ac90 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057AD20 138 CObjectPool__return_to_pool_0057ad20 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057ADB0 138 CObjectPool__return_to_pool_0057adb0 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057AE40 138 CObjectPool__return_to_pool_0057ae40 game_render Returns object to pool; locks mutex, searches active list, moves to free list 0x0057AED0 690 STL_unordered_map__rehash stl std::unordered_map rehash; reallocates bucket array 0x0057B190 418 STL_deque__grow_buffer stl Grows deque backing buffer; doubles capacity 0x0057B340 95 STL_unordered_map__insert_node stl Inserts node into unordered_map bucket chain 0x0057B3A0 133 STL_unordered_map__check_load_factor_and_rehash stl Checks load factor and rehashes if needed 0x0057B430 417 STL_unordered_map__erase_range stl Erases nodes in [first,last) range 0x0057B5E0 10 STL_deque__xlength_error stl Throws std::length_error deque too long 0x0057B5F0 95 STL_list__allocate_node_array stl Allocates aligned array of list nodes 0x0057B650 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0057B690 133 STL_deque__push_back stl Pushes element to back of deque 0x0057B720 165 STL_list__push_back stl Pushes element to back of linked list 0x0057B7D0 34 memcpy_range_to_dest stl Copies memory range [src, end) to dest 0x0057B800 305 STL_string__replace_grow stl Grows std::string buffer for replace 0x0057B940 54 CFileStream__close_handle file Closes file handle or frees stream buffer 0x0057B980 404 CFileStream__read_and_decrypt file Reads and decrypts file data 0x0057BB20 23 CBuffer__advance_read_pos game_core Advances read position 0x0057BB40 10 CBuffer__is_read_complete game_core Returns true if all data consumed 0x0057BB50 203 CFileSystem__file_exists_check file Checks if file exists 0x0057BC20 1034 CFileSystem__normalize_path file Normalizes file path 0x0057C030 431 CFileStream__open file Opens file for reading/writing 0x0057C1E0 125 CFileStream__read file Reads bytes from file stream 0x0057C260 107 CFileStream__read_with_advance file Reads bytes and advances position 0x0057C2D0 97 CFileStream__seek file Cfilestream: seek, small utility function 0x0057C340 50 CFileStream__write file Writes bytes to file 0x0057C380 240 STL_vector_byte__reserve stl Reserves byte vector capacity 0x0057C480 260 STL_string__find_substr stl Finds substring in std::string 0x0057C590 365 STL_string__replace stl STL template instantiation: STL string replace 0x0057C700 81 CCompression__compress_to_vector game_core Compresses data to vector 0x0057C760 52 CCompression__compress_to_buffer game_core Compresses data to buffer 0x0057C7A0 143 CCompression__decompress_to_vector game_core Decompresses data to vector 0x0057C830 62 CCompression__decompress_to_buffer game_core Decompresses data to buffer 0x0057C870 33 CCompression__decompress_lz4_raw game_core 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 game_core Raw zlib decompression wrapper. Calls zlib_uncompress, returns decompressed size or -1 on error. 0x0057C8D0 94 STL_vector_byte__resize stl STL template instantiation: STL vector byte resize 0x0057C930 416 STL_vector_pair__emplace_grow stl Grows pair vector and inserts 0x0057CAF0 330 STL_make_heap_pair8 stl Builds max-heap from pair array 0x0057CC40 249 STL_sort3_pair8 stl Sorts 3 pair elements 0x0057CD40 997 STL_partition_pair8 stl Three-way partition for introsort 0x0057D130 274 STL_sift_down_pair8 stl STL template instantiation: STL sift down pair8 0x0057D250 505 STL_introsort_pair8 stl STL template instantiation: STL introsort pair8 0x0057D450 129 STL_vector_pair__clear_and_free stl STL template instantiation: STL vector pair clear and free 0x0057D4E0 453 CCircle__generate_8way_symmetric_points game_core Generates 8 symmetric Bresenham circle points 0x0057D6B0 445 CCircle__compute_circle_cells game_core Computes circle cells via Bresenham 0x0057D870 44 copy_pair8_range game_core Copy pair8 range, small utility function 0x0057D8A0 45 relocate_pair8_range game_core Relocates 8-byte pairs from [src_begin, src_end) to dest during vector reallocation. Uses offset-based copy. 0x0057D8D0 10 STL_vector__xlength_error stl Throws vector too long 0x0057D8E0 62 phmap__deallocate_aligned game_core 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 game_core Simple value assignment 0x0057D930 75 CBigInteger__set_from_int32 game_core Sets bigint from int32 0x0057D980 117 CBigInteger__set_from_int128 game_core Sets bigint from 4 words 0x0057DA00 36 operator<<,__int64> game_core Stream insertion operator for _Smanip<__int64>. Applies a stream manipulator function with an int64 argument. 0x0057DA30 192 STL_search_bytes stl Searches for byte pattern 0x0057DAF0 129 CBigInteger__multiply_by_uint32 game_core Multiplies bigint by uint32 0x0057DB80 129 CBigInteger__realloc_digits game_core Reallocates bigint digit buffer 0x0057DC10 23 safe_free_if_different game_core Frees if not static buffer 0x0057DC30 34 memcpy_range_to_dest_0057dc30 stl Memcpy range to dest 0057dc30 0x0057DC60 34 memcpy_range_to_dest_0057dc60 stl Memcpy range to dest 0057dc60 0x0057DC90 34 memcpy_range_to_dest_0057dc90 stl Memcpy range to dest 0057dc90 0x0057DCC0 526 STL_vector_string__emplace_grow stl STL template instantiation: STL vector string emplace grow 0x0057DF00 28 CBigInteger__is_zero game_core Returns true if bigint is zero 0x0057DF20 8 identity_byte_passthrough game_core Returns input byte unchanged 0x0057DF30 182 CString__multibyte_to_wide game_core Converts multibyte to wchar_t* 0x0057DFF0 100 memcmp_range game_core Compares two byte ranges 0x0057E060 225 _Traits_find_> game_core STL char_traits find. Searches for a character or substring in a character range. 0x0057E160 103 CBigInteger__append_bytes game_core Appends bytes to bigint buffer 0x0057E1D0 106 CBigInteger__append_words game_core Appends words to bigint buffer 0x0057E240 829 CBigInteger__format_decimal_string game_core Formats bigint as decimal 0x0057E580 29 CRandom__next_fixed_point_10pct game_core PRNG ~10% probability 0x0057E5A0 29 CRandom__next_fixed_point_1pct game_core PRNG ~1% probability 0x0057E5D0 41 STL_string__construct_copy stl Constructs string copy 0x0057E600 8 identity_int_passthrough game_core Returns input int unchanged 0x0057E610 8 identity_int_passthrough_0057e610 game_core Returns input int unchanged 0x0057E620 27 CFmt__write_bytes_and_store fmtlib Writes bytes and stores result 0x0057E640 27 CFmt__write_bytes_and_store_0057e640 fmtlib Writes bytes and stores result 0x0057E660 132 CFmt__get_locale_decimal_point fmtlib Gets locale decimal point 0x0057E6F0 126 CFmt__get_locale_decimal_point_default fmtlib Gets default decimal point 0x0057E770 126 CFmt__get_locale_thousands_sep fmtlib Gets thousands separator 0x0057E7F0 441 CFmt__parse_arg_id_char fmtlib Parses arg ID for char type 0x0057E9B0 432 CFmt__parse_arg_id_wchar fmtlib Parses arg ID for wchar type 0x0057EB60 1267 CFmt__format_float fmtlib Cfmt: format float, small utility function 0x0057F060 1593 CFmt__format_float_uint64 fmtlib Formats uint64 as float 0x0057F6A0 1302 CFmt__format_float_with_grouping fmtlib Formats float with grouping 0x0057FBC0 81 CFmt__write_padding_chars fmtlib Writes N padding chars 0x0057FC20 79 CFmt__write_fill_char_n_times fmtlib Writes fill char N times 0x0057FC70 79 CFmt__write_fill_char_n_times_0057fc70 fmtlib Writes fill char N times 0x0057FCC0 132 CFmt__scan_for_special_char fmtlib CFmt: scan for special char 0x0057FD50 782 CFmt__compute_utf8_display_width fmtlib Computes UTF-8 display width 0x00580060 96 CFmt__uint32_to_decimal_chars fmtlib Converts uint32 to decimal 0x005800C0 279 CFmt__uint64_to_decimal_chars fmtlib Converts uint64 to decimal 0x005801E0 1186 CFmt__format_double_to_digits fmtlib Converts double to digits 0x00580690 163 CFmt__format_codepoint_escape fmtlib Formats codepoint escape 0x00580740 216 CFmt__write_hex_digits fmtlib CFmt: write hex digits 0x00580820 242 CFmt__init_locale fmtlib Initializes formatting locale 0x00580920 162 CFmt__resolve_precision_arg fmtlib Resolves precision arg 0x00580A00 162 CFmt__resolve_width_arg fmtlib CFmt: resolve width arg 0x00580AE0 253 CFmt__find_named_arg_index fmtlib Finds named arg index 0x00580BE0 13 CFmt__store_result_ptr fmtlib Stores result pointer 0x00580BF0 17 CFmt__is_type_signed_int fmtlib Checks if type is signed int 0x00580C10 17 CFmt__is_type_signed_int_00580c10 fmtlib Checks if type is signed int 0x00580C30 687 CBigInteger__multiply_by_uint128 game_core Multiplies bigint by 128-bit 0x00580EE0 328 CFmt__parse_arg_id_auto_or_named fmtlib Parses arg ID with auto-numbering 0x00581030 202 CFmt__resolve_float_type_spec fmtlib Resolves float type specifier 0x00581130 1193 CFmt__parse_format_spec fmtlib Parses complete format specification 0x005815E0 476 CFmt__vformat_to_buffer fmtlib Main format string parser 0x005817C0 116 CFmt__parse_nonneg_int fmtlib Parses non-negative integer 0x00581840 105 CFmt__parse_type_char_00581840 fmtlib Parses format type character 0x00581940 667 CFmt__handle_replacement_field fmtlib Handles format replacement field 0x00581BE0 41 CFmt__pow_int_to_double fmtlib Converts int to double and computes pow() via libm_sse2_pow_precise. Used for float formatting exponent calculations. 0x00581C10 37 CFmt__pow_double fmtlib Computes pow() on a double via libm_sse2_pow_precise. Used for float formatting exponent calculations. 0x00581C40 253 CFmt__format_hex_float fmtlib Formats a floating-point value as hexadecimal float (%a/%A format specifier). Uses snprintf internally with precision and alternate form (#) flags. 0x00581D40 142 CFmt__format_int_value fmtlib Formats integer with spec 0x00581DD0 156 CFmt__format_uint_value fmtlib Formats unsigned integer 0x00581E70 176 CFmt__format_uint64_value fmtlib Formats an unsigned 64-bit integer value. Takes two 32-bit parts (low from param_5, high from param_6) and passes type 0x11 to the formatting engine. 0x00581F20 156 CFmt__format_int64_value fmtlib CFmt: format int64 value 0x00581FC0 307 CFmt__format_int64_value_00581fc0 fmtlib Formats a 64-bit integer value into an SSO string. Calls CFmt__format_value_with_locale_char to produce the formatted text, then copies the result into param_1 as an std::string (handling both SSO inline and heap-allocated cases). Frees the temporary string afterward. 0x00582100 330 CFmt__format_value_with_locale_char fmtlib Formats a value using locale-aware char numpunct facet. Initializes locale, gets numpunct facet via CFmt__func_00582ce0, formats result into output string param_1. 0x00582250 334 CFmt__format_value_with_locale_wchar fmtlib Formats a value using locale-aware wchar numpunct facet. Initializes locale, gets numpunct facet via CFmt__func_00582e60, formats result into output string param_1. 0x005823A0 666 CFmt__float_to_shortest_decimal fmtlib Converts a 32-bit float to shortest decimal representation using Dragonbox/Grisu algorithm. Extracts IEEE754 mantissa and exponent, computes shortest decimal digits and decimal exponent. Returns packed (digits, exponent) as int64. 0x00582640 1126 CFmt__double_to_shortest_decimal fmtlib Converts a 64-bit double to shortest decimal representation using Dragonbox/Grisu algorithm. Extracts IEEE754 mantissa and exponent, computes shortest decimal digits and decimal exponent. Returns result struct with digits (uint64), exponent, and auxiliary data. 0x00582AB0 41 CFmt__buffer_reserve fmtlib Reserves space in a format buffer. Checks if (current_pos + param_2) fits within capacity. If yes, advances position and returns pointer to the reserved region. Returns 0 if insufficient space. 0x00582AE0 124 CFmt__buffer_to_string fmtlib Converts a format buffer to a std::string. Initializes an empty SSO string in param_1, then assigns the buffer contents (data pointer at offset+4, length at offset+8) via STL_string_assign_buffer. 0x00582B60 34 CFmt__copy_range_char fmtlib Copies a byte range [param_1, param_2) to destination param_3. Returns pointer past end of copied data in destination. 0x00582B90 34 CFmt__copy_range_char_00582b90 fmtlib Copies a byte range [param_1, param_2) to destination param_3. Returns pointer past end of copied data in destination. Duplicate instantiation of copy_range for different template parameters. 0x00582BC0 34 CFmt__copy_range_char_00582bc0 fmtlib Copies a byte range [param_1, param_2) to destination param_3. Returns pointer past end of copied data in destination. Duplicate instantiation of copy_range for different template parameters. 0x00582BF0 34 CFmt__copy_range_char_00582bf0 fmtlib Copies a byte range [param_1, param_2) to destination param_3. Returns pointer past end of copied data in destination. Duplicate instantiation of copy_range for different template parameters. 0x00582C20 41 CFmt__copy_n_bytes fmtlib Copies param_2 bytes from param_1 to param_3. Returns pointer past end of copied data. No-op if count is 0. 0x00582C50 43 CFmt__copy_n_wchars fmtlib Copies param_2 wide characters (2 bytes each) from param_1 to param_3. Returns pointer past end of copied data. No-op if count is 0. 0x00582C80 85 CFmt__fill_int32_array fmtlib Fills param_1 with param_2 copies of the int32 value at *param_3. If value is 0, uses memset for efficiency. Returns pointer past end of filled region. 0x00582CE0 370 CFmt__get_numpunct_char_facet fmtlib Gets or creates the numpunct locale facet for formatting. Looks up the facet in the locale; if not found, creates a new one and registers it globally. Used by locale-aware number formatting. 0x00582E60 244 CFmt__get_numpunct_wchar_facet fmtlib Gets or creates the numpunct locale facet for formatting. Looks up the facet in the locale; if not found, creates one via CFmt__func_0058be70 and registers it globally. 0x00582F60 155 CFmt__vformat_to fmtlib Top-level vformat_to implementation. If format string is "{}" (2 chars, 0x7d7b), fast-paths by formatting the first arg directly. Otherwise calls CFmt__vformat_to_buffer to parse the full format string and process all arguments. 0x00583000 51 CFmt__format_to_wrapper fmtlib Thin wrapper around CFmt__vformat_to. Passes format args through with a trailing 0 parameter, then stores result in param_1. 0x00583040 1195 CFmt__format_arg_by_type_char fmtlib Dispatches formatting of a single argument based on its type ID (param_3[2]). Handles: 1-2=unsigned int, 3=signed int64, 4=unsigned int64, 7=bool, 8=char, 9=float, 10-11=double/long double, 12=c-string, 13=string_view, 14=pointer, and custom formatters via switch. 0x00583530 1115 CFmt__format_arg_by_type_auto fmtlib Dispatches formatting of a single argument based on its runtime type. Large switch on type discriminator: handles int, uint, int64, uint64, float, double, bool, char, c-string, string_view, pointer, and custom formatter callbacks. This is the auto-detect version used by fmt::format("{}", arg). 0x005839D0 333 CFmt__create_format_error fmtlib Creates a fmt::format_error exception object. Initializes a static vtable via thread-safe init, constructs the error message using CFmt__func_00591270, and sets the exception vtable. Used for runtime format string errors. 0x00583B20 119 CFmt__write_cstring_to_buffer fmtlib Writes a null-terminated C string to a format output buffer, character by character. If the string is null, calls CFmt__func_00590df0 with "string pointer is null" error. Grows buffer as needed via the buffer's grow callback. 0x00583BA0 13 CFmt__store_result fmtlib Trivially stores param_2 into *param_1. Used as a result passthrough in formatting pipelines. 0x00583BB0 545 CFmt__write_string_with_padding fmtlib Writes a string (param_3, param_4 bytes) to the format output with alignment/padding per format spec (param_5). Handles debug/escaped mode (type 0x12), UTF-8 display width calculation, left/right/center alignment via CFmt__write_padding_chars, and quoted string escaping. 0x00583E30 116 CFmt__format_signed_int_with_sign fmtlib Formats a signed 32-bit integer with sign handling. Negative values get '-' prefix. Positive values get '+', ' ', or nothing based on format spec sign bits. Delegates to CFmt__func_00585790 for actual output. 0x00583EB0 172 CFmt__write_uint32_to_buffer fmtlib Writes a uint32 value as decimal digits to a format buffer. Counts digits using lookup table, tries direct write if buffer has space, otherwise writes to temp buffer and appends via CBigInteger__append_bytes. 0x00583F60 918 CFmt__format_float_value fmtlib Formats a 32-bit float value according to format spec. Handles sign, NaN/Inf, hex float format (type 3), and general/fixed/scientific formats (types 0-2). Uses stack buffer of 500 bytes, falls back to heap allocation. Calls CFmt__format_hex_float or CFmt__format_double_to_digits depending on type. 0x00584300 935 CFmt__format_double_value fmtlib Formats a 64-bit double value according to format spec. Handles sign, NaN/Inf, hex float format (type 3), and general/fixed/scientific formats (types 0-2). Uses stack buffer of 500 bytes, falls back to heap allocation. Calls CFmt__format_hex_float or CFmt__format_double_to_digits depending on type. 0x005846B0 935 CFmt__format_long_double_value fmtlib Formats a long double value according to format spec. Nearly identical to CFmt__format_double_value - on MSVC, long double is same as double. Handles sign, NaN/Inf, hex format, and general/fixed/scientific formats with stack buffer. 0x00584A60 55 CFmt__format_pointer_value fmtlib Formats a pointer value. Validates that the type specifier is 0 or 0x11 (pointer type); throws "invalid type specifier" otherwise. Delegates to CFmt__func_00587260 for hex output. 0x00584AA0 335 CFmt__write_int64_to_buffer fmtlib Writes a signed 64-bit integer as decimal digits to a format buffer. Handles negative sign, counts digits using lookup table, tries direct write to buffer, falls back to temp buffer + append. Uses CFmt__uint64_to_decimal_chars for digit conversion. 0x00584BF0 212 CFmt__write_uint64_to_buffer fmtlib Writes an unsigned 64-bit integer as decimal digits to a format buffer. Counts digits using lookup table, tries direct write to buffer, falls back to temp buffer + append. Uses CFmt__uint64_to_decimal_chars for digit conversion. 0x00584CD0 227 CFmt__format_bool_value fmtlib Formats a boolean value. If type specifier is 0 or 0x10, writes "true" or "false" string with alignment/padding. Otherwise delegates to CFmt__format_signed_int_with_sign to format as integer (0 or 1). 0x00584DC0 145 CFmt__write_padded_data fmtlib Writes data (param_3 pointer, param_4 length) to the format output with alignment/padding per format spec (param_5). Calculates left/right padding based on width and alignment mode, writes padding chars before and after the data. 0x00584E60 48 CFmt__format_char_value fmtlib Formats a single character value. Checks if type specifier is 0x12 (debug/escaped mode) and delegates to CFmt__func_00586cd0 with the char as a 1-byte string. 0x00584E90 139 CFmt__write_escape_hex2 fmtlib Writes a backslash escape sequence with 2-digit hex suffix to the format buffer. Writes '\\', then the escape prefix char (param_4), then converts param_5 to hex digits using "0123456789abcdef". Used for \\xNN escapes. 0x00584F20 18 CFmt__count_escape_hex2_size fmtlib Returns the output size for a 2-digit hex escape sequence: input + 4 bytes (backslash + prefix + 2 hex digits). 0x00584F40 137 CFmt__write_escape_hex4 fmtlib Writes a backslash escape sequence with up to 4-digit hex suffix. Writes '\\', then prefix char (param_3), then converts param_4 to hex using "0123456789abcdef" with leading zeros (4 digits). Used for \\uNNNN escapes. 0x00584FD0 18 CFmt__count_escape_hex4_size fmtlib Returns the output size for a 4-digit hex escape sequence: input + 6 bytes (backslash + prefix + 4 hex digits). 0x00584FF0 173 CFmt__write_escape_hex8 fmtlib Writes a backslash escape sequence with up to 8-digit hex suffix. Writes '\\', then prefix char (param_3), then converts param_4 to hex using "0123456789abcdef" with leading zeros (8 digits). Used for \\UNNNNNNNN escapes. 0x005850A0 16 CFmt__count_escape_hex8_size fmtlib Returns the output size for an 8-digit hex escape sequence: input + 10 bytes (backslash + prefix + 8 hex digits). 0x005850B0 205 CFmt__write_escaped_char fmtlib Writes a single character in escaped/debug format. Wraps the char in single quotes. Printable chars (except double-quote and single-quote) are written directly; control chars and special chars are written via CFmt__write_escape_sequence. 0x00585180 256 CFmt__write_escape_sequence fmtlib Writes a single escape sequence to the output buffer. Handles: tab->\\t, newline->\\n, carriage return->\\r, quote/backslash->backslash-prefixed literal. For other non-printable bytes, writes each byte as \\xNN hex escape via CFmt__write_escape_hex2. 0x005852F0 66 CFmt__count_escape_sequence_size fmtlib Calculates the output size of an escape sequence. Known escapes (tab, newline, CR, quote, backslash) take 2 bytes. Other non-printable bytes take 4 bytes each (\\xNN). Returns accumulated size added to param_2. 0x005853A0 326 CFmt__write_escaped_string fmtlib Writes a string in escaped/debug format wrapped in double quotes. Scans param_3 (param_4 bytes) for chars needing escaping (control chars, quotes, backslash, non-ASCII). Printable segments are copied directly; special chars go through CFmt__write_escape_sequence. 0x005854F0 251 CFmt__count_escaped_string_size fmtlib Calculates the total output size needed for an escaped/quoted string. Accounts for surrounding quotes (+2), and for each char needing escape: known escapes +2, other non-printable +4 per byte. Returns total size in *param_1. 0x00585650 316 CFmt__write_exponent fmtlib Writes scientific notation exponent 0x00585790 529 CFmt__format_uint32_with_spec fmtlib Formats a uint32 value according to the full format spec. Dispatches by type: 0/1=decimal, 2=octal, 3/4=hex lower/upper, 5/6=binary lower/upper, 0xf=char. Handles locale-aware grouping, 0x/0b/0o prefix with # flag, zero-fill padding. 0x005859D0 618 CFmt__format_uint64_with_spec fmtlib Formats a uint64 value according to the full format spec. Dispatches by type: 0/1=decimal, 2=octal, 3/4=hex lower/upper, 5/6=binary lower/upper, 0xf=char. Handles locale-aware grouping, 0x/0b/0o prefix with # flag, zero-fill padding. 64-bit version of CFmt__format_uint32_with_spec. 0x00585C70 433 CFmt__write_decimal_with_padding fmtlib Writes a decimal-formatted uint32 value with alignment/padding. If format spec has no width/precision, writes digits directly with optional sign prefix. Otherwise computes padding, writes sign prefix, zero-fills if needed, writes decimal digits, then trailing padding. 0x00585E30 451 CFmt__write_decimal_int_padded fmtlib fmtlib: Writes a decimal integer to output buffer with alignment, padding, sign prefix, and zero-fill. Handles format specs for width, alignment (left/right/center), and fill character. 0x00586000 413 CFmt__write_hex_int_padded fmtlib fmtlib: Writes a hex integer to output buffer with alignment, padding, sign prefix, and zero-fill. Calls CFmt__write_hex_digits for the actual hex conversion. 0x005861A0 409 CFmt__write_bin_int_padded fmtlib fmtlib: Writes a binary-formatted integer to output buffer with alignment and padding. Delegates to func_00589100 for binary digit output. 0x00586340 413 CFmt__write_oct_int_padded fmtlib fmtlib: Writes an octal-formatted integer to output buffer with alignment and padding. Delegates to func_00589950 for octal digit output. 0x005864E0 409 CFmt__write_uint64_binary_padded fmtlib fmtlib: Writes a 64-bit unsigned integer in binary format with alignment and padding. Delegates to CFmt__write_uint64_binary for digit output. 0x00586680 413 CFmt__write_uint32_octal_padded fmtlib fmtlib: Writes a 32-bit unsigned integer in octal format with alignment and padding. Delegates to CFmt__write_uint32_octal for digit output. 0x00586820 409 CFmt__write_uint64_octal_padded fmtlib fmtlib: Writes a 64-bit unsigned integer in octal format with alignment and padding. Delegates to CFmt__write_uint64_octal for digit output. 0x005869C0 336 CFmt__write_uint64_decimal_padded fmtlib fmtlib: Writes a uint64 value in decimal with padding/alignment. Counts decimal digits using a lookup table, handles sign prefix, then writes via CFmt__uint64_to_decimal_chars with thousands separator support. 0x00586B10 156 CFmt__format_int64_with_sign fmtlib fmtlib: Wrapper that formats an int64 value with sign handling. Calls format_int64_to_string to get the string representation, then write_uint64_decimal_padded for output with padding. 0x00586BB0 276 CFmt__write_inf_or_nan fmtlib fmtlib: Writes infinity or NaN special float values to output buffer. Handles sign character (+/-/space), selects uppercase or lowercase text ("inf"/"INF", "nan"/"NAN"), and applies alignment/padding. 0x00586CD0 346 CFmt__write_char_escaped_padded fmtlib fmtlib: Writes a character value to output with optional quoting/escaping and padding. If quoting enabled, wraps in single quotes and escapes special characters via CFmt__func_00585180. 0x00586E30 367 CFmt__write_float_parts_32 fmtlib fmtlib: Writes formatted float components (sign, integer part, decimal point, fractional part, exponent) to output buffer using 32-bit decimal conversion. Handles padding and alignment. 0x00586FA0 370 CFmt__write_float_parts_64 fmtlib fmtlib: Writes formatted float components (sign, integer part, decimal point, fractional part, exponent) to output buffer using 64-bit decimal conversion. Handles padding and alignment. 0x00587120 312 CFmt__write_string_padded fmtlib fmtlib: Writes a string argument to output buffer with padding and alignment. Handles sign character prefix, decimal point, fill characters, and left/right/center alignment. 0x00587260 185 CFmt__write_pointer_padded fmtlib fmtlib: Writes a pointer value (formatted as hex) to output buffer with "0x" prefix and padding/alignment. Calculates hex digit count via bit scanning. 0x00587320 518 CFmt__write_digits_with_grouping fmtlib fmtlib: Writes decimal digits to output buffer with optional thousands grouping separator. If locale grouping enabled, uses a temporary 500-byte buffer; otherwise writes directly. 0x00587530 214 CFmt__write_uint32_grouped_decimal fmtlib fmtlib: Converts a uint32 value to decimal string with optional thousands grouping separator character. Writes digit pairs from lookup table, inserts separator at group boundaries. 0x00587610 452 CFmt__write_uint64_grouped_decimal fmtlib fmtlib: Converts a uint64 value to decimal string with optional thousands grouping separator character. Uses 128-bit division to extract digit pairs, inserts separator at group boundaries. 0x005877E0 350 CFmt__format_int64_to_string fmtlib fmtlib: Constructs an std::string containing the formatted representation of an int64 value. Initializes SSO string, calls format_int64_value, then moves result into this->string. 0x00587940 196 CFmt__fopen_or_throw fmtlib fmtlib: Opens a file using fopen(). If fopen fails, formats an error message with errno and the filename, then throws fmt::system_error via CxxThrowException. 0x00587A10 209 CFmt__sopen_or_throw fmtlib fmtlib: Opens a file using _sopen_s() with shared read access. If open fails, formats an error message with errno and the filename, then throws fmt::system_error. 0x00587AF0 126 CFmt__system_error_copy_ctor fmtlib fmtlib: Copy constructor for fmt::system_error. Copies the exception base via __std_exception_copy, then sets the vtable to the system_error vtable. 0x00587B70 135 CFmt__system_error_ctor_from_string fmtlib fmtlib: Constructs fmt::system_error from an error message string. Initializes exception base, copies message via __std_exception_copy, sets system_error vtable. 0x00587C00 260 CFmt__format_error_ctor fmtlib fmtlib: Constructs fmt::format_error (type error). Takes an error message C-string, creates a temporary std::string, calls STL_json_type_error_ctor with the formatted message, then sets the format_error vtable. 0x00587D10 110 CFmt__format_windows_error_message fmtlib fmtlib: Calls FormatMessageW to get a Windows error message string for a given error code. Trims trailing whitespace (spaces, newlines, tabs, carriage returns) from the result. 0x00587D80 209 CFmt__utf8_to_wchar_converter_ctor fmtlib fmtlib: Constructs a UTF-8 to wchar_t string converter buffer. Initializes a 500-element inline buffer, then calls the UTF conversion function. Throws system_error with "cannot convert string from UTF-8" on failure. 0x00587E60 88 CFmt__char_buffer_ctor fmtlib fmtlib: Default constructor for a character memory_buffer with 500-byte inline storage. Sets vtable, buffer pointer to inline array, size=0, capacity=500. 0x00587EC0 485 CFmt__utf8_to_wbuffer_ctor fmtlib fmtlib: Constructs a wchar_t buffer by converting UTF-8 input. Initializes a 500-element inline wchar_t buffer, iterates through UTF-8 bytes via CFmt__func_00591120 (decode) and CFmt__func_00588d10 (encode to wchar_t), then null-terminates. 0x005880B0 68 CFmt__dynamic_buffer_dtor fmtlib fmtlib: Destructor for a dynamic buffer. If the buffer pointer does not point to the inline storage (this+4), frees the dynamically allocated memory. 0x00588100 83 CFmt__locale_facet_buffers_dtor fmtlib fmtlib: Destructor that frees three locale facet buffer pointers at offsets +8, +0x10, +0x14 of the pointed-to structure. Only frees if the structure pointer is non-null. 0x00588160 83 CFmt__locale_facet_buffers_dtor_00588160 fmtlib fmtlib: Destructor that frees three locale facet buffer pointers at offsets +8, +0x10, +0x14. Identical to CFmt__locale_facet_buffers_dtor at 00588100 (duplicate for different unwind path). 0x005881D0 112 CFmt__char_memory_buffer_dtor fmtlib fmtlib: Destructor for char memory_buffer. Sets vtable to base buffer vtable, then frees the dynamic buffer if it differs from the inline storage (this+16). Handles large allocation tracking. 0x00588250 115 CFmt__uint32_memory_buffer_dtor fmtlib fmtlib: Destructor for uint32 memory_buffer. Sets vtable, then frees dynamic buffer if capacity*4 exceeds inline storage. Element size is 4 bytes. 0x005882D0 115 CFmt__uint32_memory_buffer_dtor_B fmtlib fmtlib: Destructor for uint32 memory_buffer (variant B, different vtable). Sets vtable, then frees dynamic buffer if capacity*4 exceeds inline storage. 0x00588350 114 CFmt__wchar_memory_buffer_dtor fmtlib fmtlib: Destructor for wchar_t memory_buffer. Sets vtable, then frees dynamic buffer if capacity*2 exceeds inline storage. Element size is 2 bytes (wchar_t). 0x005883D0 115 CFmt__ostream_wrapper_dtor fmtlib fmtlib: Destructor for ostream wrapper. Sets ios_base vtable, adjusts vbase offset, calls custom_streambuf_dtor, then calls ~basic_ostream. 0x00588450 233 CFmt__custom_streambuf_dtor fmtlib fmtlib: Destructor for custom streambuf used by fmt::ostream. Sets vtable, frees the allocated character buffer if the owned flag (offset 0x3c bit 0) is set, zeros all buffer pointers, then calls ~basic_streambuf. 0x00588540 77 CFmt__unwind_string_dtor_00588540 fmtlib fmtlib: Compiler-generated unwind destructor. Calls STL_string_dtor to destroy a local std::string during exception unwinding. 0x00588590 111 CFmt__codecvt_facet_dtor_A fmtlib fmtlib: Destructor for codecvt locale facet (variant A). Sets vtable, frees three internal buffers at offsets +8, +0x10, +0x14, then calls ~codecvt base destructor. 0x00588600 111 CFmt__codecvt_facet_dtor_B fmtlib fmtlib: Destructor for codecvt locale facet (variant B, different vtable). Sets vtable, frees three internal buffers at offsets +8, +0x10, +0x14, then calls ~codecvt base destructor. 0x00588670 65 CFmt__unwind_string_dtor_00588670 fmtlib fmtlib: Compiler-generated unwind destructor. Calls STL_string_dtor to destroy a local std::string during exception unwinding. 0x005886C0 65 CFmt__unwind_string_dtor_005886c0 fmtlib fmtlib: Compiler-generated unwind destructor. Calls STL_string_dtor to destroy a local std::string during exception unwinding. 0x00588710 5 CFmt__vector_of_structs_dtor fmtlib fmtlib: Destructor for a vector of 24-byte structs (each containing a std::string). Iterates elements calling STL_string_dtor on each, then frees the vector's backing allocation. 0x00588720 65 CFmt__unwind_uint32_buffer_dtor fmtlib fmtlib: Compiler-generated unwind destructor. Delegates to CFmt__uint32_memory_buffer_dtor_B to destroy a uint32 memory_buffer during exception unwinding. 0x00588770 95 CFmt__fclose_with_error fmtlib fmtlib: Destructor for FILE* wrapper. If the file pointer is non-null, calls fclose(). If fclose fails, reports the error via CFmt__func_00590430 with errno and "cannot close file" message. 0x005887E0 96 CFmt__close_fd_with_error fmtlib fmtlib: Destructor for file descriptor wrapper. If fd != -1, calls _close(fd). If _close fails, reports the error via CFmt__func_00590430 with errno and "cannot close file" message. 0x00588850 78 CFmt__exception_base_dtor fmtlib fmtlib: Destructor for the exception base class. Sets vtable to exception_base, calls __std_exception_destroy to free the exception message string. 0x005888A0 58 CFmt__local_free_buffer_dtor fmtlib fmtlib: Destructor for Windows error message buffer. Calls LocalFree on the HLOCAL buffer at offset +4 that was allocated by FormatMessageW. 0x005888E0 65 CFmt__unwind_char_buffer_dtor fmtlib fmtlib: Compiler-generated unwind destructor. Delegates to CFmt__char_memory_buffer_dtor to destroy a char memory_buffer during exception unwinding. 0x00588930 65 CFmt__unwind_wchar_buffer_dtor fmtlib fmtlib: Compiler-generated unwind destructor. Delegates to CFmt__wchar_memory_buffer_dtor to destroy a wchar_t memory_buffer during exception unwinding. 0x00588980 54 CFmt__buffer_append_byte fmtlib Appends a single byte to a growable buffer. Checks capacity and calls grow callback if needed, then writes the byte at the current position and increments count. 0x005889C0 184 CFmt__uint128_shift_right fmtlib Performs a logical right shift on a 128-bit integer by param_3 bits. Handles shifts of exactly 64 bits, greater than 64 bits (recursive), and less than 64 bits (cross-word shift). Part of fmtlib bignum support. 0x00588A80 183 CFmt__uint128_shift_left fmtlib Performs a logical left shift on a 128-bit integer by param_3 bits. Handles shifts of exactly 64 bits, greater than 64 bits (recursive), and less than 64 bits (cross-word shift). Part of fmtlib bignum support. 0x00588B40 351 CFmt__write_json_escaped_string fmtlib Writes a JSON-escaped string to the output buffer. Wraps the string in double quotes (0x22), scans for characters that need escaping (control chars, backslash, quotes, high bytes), and emits escape sequences via CFmt__func_00585180 for special characters. 0x00588CA0 105 CFmt__write_hex_with_prefix fmtlib Writes a hex value with "0x" prefix. Appends '0' (0x30) then 'x' (0x78) to the output buffer, then calls CFmt__write_hex_digits to write the actual hex digits. 0x00588D10 354 CFmt__encode_utf16_codepoint fmtlib Encodes a Unicode codepoint as UTF-16. For codepoints < 0x10000, writes a single 16-bit value. For codepoints >= 0x10000, generates a surrogate pair (high surrogate + low surrogate). Throws json "invalid utf8" exception if codepoint is 0xFFFFFFFF. 0x00588E80 182 CFmt__write_float32_scientific fmtlib Writes a 32-bit float in scientific notation. Outputs optional sign character, grouped decimal digits, fill characters, decimal separator byte, and exponent via CFmt__write_exponent. 0x00588F40 185 CFmt__write_float64_scientific fmtlib Writes a 64-bit float in scientific notation. Same structure as float32 version but reads wider data fields. Outputs sign, grouped decimal digits, fill chars, decimal separator, and exponent. 0x00589000 246 CFmt__write_float32_fixed fmtlib Writes a 32-bit float in fixed-point notation. Outputs optional sign, integer digits with decimal point separator, fill characters, trailing byte, and exponent via CFmt__write_exponent. 0x00589100 247 CFmt__write_hex_digits_uint64 fmtlib Writes hex digits for a 64-bit value into a buffer. Supports uppercase (0123456789ABCDEF) and lowercase (0123456789abcdef) based on a flag. Tries direct write to output buffer first, falls back to stack buffer if insufficient space. 0x00589200 621 CFmt__format_uint32_decimal fmtlib Formats a uint32 as decimal string with sign prefix, optional zero padding, and optional thousands grouping separator. Uses CFmt__uint32_to_decimal_chars for digit conversion. Supports locale-aware grouping via temporary buffer. 0x00589470 642 CFmt__format_uint64_decimal fmtlib Formats a uint64 as decimal string with sign prefix, optional zero padding, and optional thousands grouping separator. Uses CFmt__uint64_to_decimal_chars for digit conversion. Supports locale-aware grouping via temporary buffer. 0x00589700 583 CFmt__format_string_decimal fmtlib Formats a raw digit string as decimal with sign prefix, optional zero padding, and optional thousands grouping separator. Reads pre-computed digit string rather than converting from integer. Supports locale-aware grouping. 0x00589950 147 CFmt__write_uint32_binary fmtlib Writes a uint32 value as a binary string (base 2). Extracts bits one at a time from LSB, converts each to '0' or '1', and writes right-to-left. Tries direct output buffer write first, falls back to stack buffer. 0x005899F0 169 CFmt__write_uint64_binary fmtlib Writes a uint64 value as a binary string (base 2). Extracts bits from a 64-bit value (two 32-bit words) one at a time, converts each to '0'/'1', writes right-to-left. Tries direct output buffer write first, falls back to stack buffer. 0x00589AA0 537 CFmt__format_uint32_grouped fmtlib Formats a uint32 with grouping separators (e.g. thousands separators). Writes sign prefix, uses CFmt__write_uint32_grouped_decimal for the digit portion with separator character, then appends optional fill characters. 0x00589CC0 558 CFmt__format_uint64_grouped fmtlib Formats a uint64 with grouping separators (e.g. thousands separators). Writes sign prefix, uses CFmt__write_uint64_grouped_decimal for the digit portion with separator character, then appends optional fill characters. 0x00589EF0 150 CFmt__write_uint32_octal fmtlib Writes a uint32 value as an octal string (base 8). Extracts 3-bit groups from the value, converts each to '0'-'7', writes right-to-left. Tries direct buffer write first, falls back to stack buffer. 0x00589F90 178 CFmt__write_uint64_octal fmtlib Writes a uint64 value as an octal string (base 8). Extracts 3-bit groups from a 64-bit value (two 32-bit words), converts each to '0'-'7', writes right-to-left. Tries direct buffer write first, falls back to stack buffer. 0x0058A050 182 CFmt__write_literal_text fmtlib Writes literal text from a format string to the output buffer. Scans for '}' characters and handles '}}' escape sequences (collapsed to single '}'), throwing an error for unmatched '}'. Appends each run of plain text to the output. 0x0058A110 174 CBigInteger__shift_left game_core 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. 0x0058A1C0 124 CFmt__ostringstream_dtor fmtlib Destructor for CFmt's custom ostringstream. Updates vtable pointers, destroys the custom stringbuf via CFmt__func_00588450, then destroys the base basic_ostream and basic_ios. 0x0058A250 151 CFmt__ostringstream_scalar_deleting_dtor fmtlib Scalar deleting destructor for CFmt's custom ostringstream. Updates vtable, destroys stringbuf, destroys basic_ostream and basic_ios, then optionally frees memory (0x98 bytes) if param_2 bit 0 is set. 0x0058A2F0 35 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x0058A320 132 CFmt__codecvt_facet_scalar_deleting_dtor fmtlib Scalar deleting destructor for a custom codecvt facet. Sets vtable, frees three allocated buffers (offsets +8, +0x10, +0x14), calls base codecvt destructor, then optionally frees the 0x18-byte facet object. 0x0058A3B0 132 CFmt__codecvt_facet_scalar_deleting_dtor_0058a3b0 fmtlib Scalar deleting destructor for a second custom codecvt facet variant (different vtable at 010dd874). Same logic as 0058a320: frees three buffers, calls base codecvt dtor, optionally frees 0x18-byte object. 0x0058A440 103 CFmt__json_exception_base_scalar_deleting_dtor fmtlib Scalar deleting destructor for json exception base class. Sets vtable to json_exception_base, calls __std_exception_destroy on the exception message, then optionally frees the 0xC-byte exception object. 0x0058A4B0 30 CFmt__small_object_scalar_deleting_dtor fmtlib Minimal scalar deleting destructor for a small 8-byte object. No member cleanup needed, just optionally frees the 8-byte allocation if param_2 bit 0 is set. 0x0058A4D0 71 count_mbcs_chars game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x0058A620 43 CFmt__string_contains fmtlib Checks if a std::string (param_1) contains a substring (param_2, length param_3). Uses std::_Traits_find internally. Returns true if found (result != npos), false otherwise. 0x0058A650 229 CFmt__path_get_stem fmtlib Extracts the stem (filename without extension) from a file path string. First gets the filename portion, then searches backward for the last '.' and truncates there. Validates the dot position is after any directory separator. Returns the modified string. 0x0058A740 173 CFmt__path_get_parent fmtlib Extracts the parent directory from a file path. Finds the last path separator via CFmt__func_0058d8f0 and returns the substring before it. Returns an empty string if no separator is found. 0x0058A7F0 256 CFmt__path_get_extension fmtlib Extracts the file extension (including the dot) from a path string. Searches backward for the last '.', validates the dot is in the filename portion (after last path separator). Returns empty string if no valid extension found. 0x0058A8F0 157 CFmt__path_get_filename fmtlib Extracts the filename portion from a path string. Finds the last path separator via CFmt__func_0058d8f0 and returns everything after it as a substring. If no separator found, returns a copy of the entire path string. 0x0058A990 339 convert_multibyte_to_widechar game_core 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 game_core 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 game_core 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. 0x0058AC30 40 CFmt__string_remove_all fmtlib Removes all occurrences of a substring from a std::string. Wrapper that calls CFmt__string_replace_all with an empty replacement string (null ptr, length 0). 0x0058AC60 451 CFmt__string_replace_all fmtlib Finds and replaces all occurrences of a search string with a replacement string in a std::string. Handles three cases: same length (memcpy in-place), shrinking (shift remainder left), and growing (check capacity, reallocate if needed). Returns the number of replacements made. 0x0058AE30 825 CFmt__format_double_to_string fmtlib Formats a double value to a std::string with given precision. Rounds the value using pow(10, precision), formats via ostringstream with std::setprecision. Optionally strips trailing zeros and lone decimal point when param_4 is non-zero. Returns the formatted string. 0x0058B170 557 CFmt__string_split fmtlib Splits a string into a vector of substrings by a delimiter pattern. Uses STL_search_bytes to find delimiter matches, then builds substrings between matches. Supports both empty and non-empty delimiter modes. Returns a vector of std::string segments. 0x0058B3A0 133 CFmt__path_strip_extension fmtlib Strips the file extension from a path string in-place. Searches backward for the last '.', validates it is in the filename portion (after last path separator), then truncates the string at the dot position by setting length and null terminator. 0x0058B430 68 CFmt__path_strip_filename fmtlib Strips the filename from a path, keeping only the directory portion. Finds the last path separator via CFmt__func_0058d8f0 and truncates the string there. If no separator found, does nothing. 0x0058B480 62 CFmt__string_to_lower fmtlib Converts all characters in a std::string to lowercase in-place using tolower(). Iterates through each byte from the string buffer start to the end (based on length field at offset +0x10). 0x0058B4C0 293 CFmt__string_to_lower_and_move fmtlib Converts a string to lowercase and transfers ownership to param_1. Applies tolower() to each byte in the source buffer, then moves the string's internal pointers (buffer, SSO data, length, capacity) into param_1. Handles both SSO and heap-allocated string cases. 0x0058B5F0 62 CFmt__string_to_upper fmtlib Converts all characters in a std::string to uppercase in-place using toupper(). Iterates through each byte from the string buffer start to the end (based on length field at offset +0x10). 0x0058B630 293 CFmt__string_to_upper_and_move fmtlib Converts all characters in an SSO string buffer to uppercase using toupper(), then moves the string's internal representation (ptr, size, capacity) to the output struct param_1. 0x0058B760 36 CFmt__string_trim fmtlib Trims a string by calling trim_left then trim_right. Removes characters from both ends that are in the given character set (or whitespace if no set provided). 0x0058B790 148 CFmt__string_trim_copy fmtlib Creates a new SSO string, copies the source buffer into it, then trims both left and right (removes whitespace or specified characters from both ends). Returns the trimmed copy. 0x0058B830 360 CFmt__string_trim_right fmtlib Trims trailing characters from an SSO string. If a character set is provided (param_3 != 0), builds a 256-byte lookup table and scans backwards to find last non-matching char. If no set, trims trailing whitespace using isspace(). Truncates string in-place. 0x0058B9A0 136 CFmt__string_trim_right_copy fmtlib Creates a new SSO string, copies the source buffer into it, then trims trailing characters (whitespace or specified set). Returns the trimmed copy. 0x0058BA30 306 CFmt__string_trim_left fmtlib Trims leading characters from an SSO string. If a character set is provided (param_3 != 0), builds a 256-byte lookup table and finds the first non-matching char, then shifts string left. If no set, trims leading whitespace using isspace(). 0x0058BB70 136 CFmt__string_trim_left_copy fmtlib Creates a new SSO string, copies the source buffer into it, then trims leading characters (whitespace or specified set). Returns the trimmed copy. 0x0058BC00 616 CFmt__string_pad_or_truncate fmtlib Pads or truncates an SSO string to a specified width. If the string is longer than the target width, it is truncated. If shorter, it is padded (prepended with fill characters). Handles SSO buffer management including small string optimization. 0x0058BE70 523 CFmt__create_codecvt_facet fmtlib Creates a locale codecvt facet for character conversion. Allocates a facet object, initializes it with locale info (decimal point '.', thousands separator ','), gets false/true name strings via CString__multibyte_to_wide. Sets vtable to codecvt facet dtor. Part of fmtlib locale support. 0x0058C080 422 CFmt__init_numpunct_facet fmtlib Initializes a numpunct locale facet from _Locinfo. Copies grouping string, falsename, and truename strings via calloc+memcpy. Sets decimal_point and thousands_sep characters (defaults to '.' and ',' if param_3 is non-zero, otherwise from localeconv). 0x0058C230 175 CFmt__destroy_string_vector fmtlib Destroys a vector of SSO strings. Iterates through each element calling STL_string_dtor, then frees the backing array with operator_delete. Resets all three vector pointers (begin, end, capacity) to 0. 0x0058C2F0 380 CBigInteger__compare_sum game_core 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 game_core 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. 0x0058C510 43 CFmt__assertion_failed fmtlib Handles assertion failures in fmtlib. Prints formatted assertion message to stderr using the format "%s:%d: assertion failed: %s", then calls terminate() to abort the program. 0x0058C540 279 CBigInteger__assign_pow5 game_core 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. 0x0058C660 187 CFmt__file_close fmtlib Closes a FILE* stream. If the pointer is non-null, calls fclose(). If fclose fails, reads errno and throws a system_error with "cannot close file" message. 0x0058C720 188 CFmt__fd_close fmtlib Closes a file descriptor. If fd != -1, calls _close(). Sets fd to -1 after closing. If _close fails, reads errno and throws a system_error with "cannot close file" message. 0x0058C7E0 84 CFmt__wchar_compare fmtlib Compares two wide character (ushort) arrays of length param_3. Returns -1 if first < second, 0 if equal, 1 if first > second. Used by CFmt__wstring_find for substring matching. 0x0058C840 158 CBigInteger__compare game_core 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 game_core 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 game_core 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. 0x0058CA10 209 CFmt__wide_to_utf8 fmtlib Converts a wide string (LPCWSTR) to UTF-8 using WideCharToMultiByte with codepage 0xFDE9 (UTF-8). Stores the result in a char_memory_buffer object. Returns 0 on success, or Win32 error code on failure. 0x0058CAF0 89 CFmt__count_digits fmtlib Counts the number of decimal digits needed to represent a 64-bit unsigned integer. Uses a lookup table at DAT_010dd9f0/DAT_010dda30 to quickly determine digit count from the bit position of the highest set bit. 0x0058CB50 122 CFmt__count_separators fmtlib Counts how many thousand-separator positions exist for a number with the given digit count. Iterates through the grouping string (SSO string at this+0x18) to determine separator placement. Used for locale-aware number formatting. 0x0058CBD0 55 CFmt__guarded_free fmtlib Frees a heap allocation with size validation. If size > 0xFFF, checks that the stored pointer (at allocation-4) is within 0x1F bytes of the given pointer, calling _invalid_parameter_noinfo_noreturn on failure. Used by fmtlib bignum cleanup. 0x0058CC10 246 CFmt__fileno_or_throw fmtlib Gets the file descriptor from a FILE* using _fileno(). Returns the fd on success. On failure (fd == -1), reads errno and throws a system_error with "cannot get file descriptor" message. 0x0058CD10 423 CBigInteger__divide game_core 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. 0x0058CEE0 133 CFmt__numpunct_get_grouping fmtlib Returns the grouping string from a numpunct facet. Reads the char* at this+0x10, computes its length with strlen, and assigns it to the output SSO string. 0x0058CF70 139 CFmt__numpunct_get_falsename_wide fmtlib Returns the falsename as a wide string from a numpunct facet. Reads the wchar_t* at this+0x10, computes its length, and assigns it to the output SSO wstring. 0x0058D000 133 CFmt__numpunct_get_falsename fmtlib Returns the falsename string from a numpunct facet. Reads the char* at this+0x8, computes its length with strlen, and assigns it to the output SSO string. 0x0058D090 133 CFmt__numpunct_get_truename fmtlib Returns the truename string from a numpunct facet. Reads the char* at this+0x8, computes its length with strlen, and assigns it to the output SSO string. 0x0058D140 133 CFmt__numpunct_get_truename_str fmtlib Returns the truename string from a numpunct facet (alternate accessor). Reads the char* at this+0x14, computes its length with strlen, and assigns it to the output SSO string. 0x0058D1D0 139 CFmt__numpunct_get_truename_wide fmtlib Returns the truename as a wide string from a numpunct facet. Reads the wchar_t* at this+0x14, computes its length, and assigns it to the output SSO wstring. 0x0058D260 280 CFmt__fd_dup2_or_throw fmtlib Duplicates a file descriptor onto another using _dup2(this->fd, target_fd). Throws a system_error with "cannot duplicate file descriptor" on failure, including both source and target fd values in the error. 0x0058D380 90 CFmt__fd_dup2_noexcept fmtlib Non-throwing version of fd_dup2. Calls _dup2(this->fd, target_fd). On failure, writes errno and error category pointer to the output error_code parameter instead of throwing. 0x0058D3E0 288 CFmt__fd_dup_or_throw fmtlib Duplicates a file descriptor using _dup(fd). Stores the new fd in the output object. Throws a system_error with "cannot duplicate file descriptor" on failure. 0x0058D510 99 CFmt__string_erase_range fmtlib Erases a range of characters from an SSO string. Given begin and end iterators, computes the range to remove, uses memcpy to shift the remaining characters, and updates the string length. Handles both small (inline) and heap-allocated SSO buffers. 0x0058D580 291 CFmt__fd_open_or_throw fmtlib Associates a file descriptor with a FILE* stream using _fdopen(fd, mode). On success, stores the FILE* and sets the fd to -1 (ownership transferred). On failure, throws a system_error with "cannot associate stream with file descriptor". 0x0058D6B0 576 CFmt__wstring_find fmtlib Finds the first occurrence of a wide string pattern within a wide string. Converts both input char strings to wide strings using CFmt__func_00590eb0, then performs a linear search with CFmt__wchar_compare for substring matching. Returns the position or -1 if not found. 0x0058D8F0 208 CFmt__string_find_last_of fmtlib Finds the last position in an SSO string where any character from the given set appears, searching backwards from a given start position. Builds a 256-byte lookup table for the character set. Returns the position or -1 if not found. 0x0058D9C0 26 CFmt__set_unitbuf_flag fmtlib Sets the unitbuf flag on a stream object. Clears bit 0x1000 and sets bit 0x2000 in the flags field at this+0x14. This enables automatic flushing after each output operation. 0x0058D9E0 49 CFmt__vsnprintf_s fmtlib Wrapper around __stdio_common_vsnprintf_s. Gets a global buffer singleton, calls vsnprintf_s with the buffer and its size. Returns the number of characters written, or -1 on error. 0x0058DA20 3005 CFmt__grisu_gen_digits fmtlib Core Grisu/Dragon4 digit generation algorithm for float-to-decimal conversion. Takes a floating-point significand (128-bit), exponent, rounding flags, and output buffer. Uses big integer arithmetic (multiply, compare, divide) to generate decimal digits one at a time. Handles both fixed and free-format output with correct rounding. This is the main inner loop of fmtlib's float formatting. 0x0058E5E0 302 CFmt__format_decimal_error fmtlib Formats a decimal error message for float formatting. Computes the number of decimal digits for the given exponent, checks if the number can be represented, and formats it using CFmt__func_00582f60. Falls back to an "error" format if the number is too large. 0x0058E720 138 CFmt__format_system_error_to_buffer fmtlib Formats a system error into a buffer. Creates a format_error from the error code and message, then calls the virtual what() method to get the error string. Passes the result to CFmt__func_00583b20 for buffer formatting. 0x0058E7F0 358 CFmt__format_windows_error fmtlib Formats a Windows error message. Calls FormatMessageW to get the Windows error string, converts it to UTF-8 via CFmt__wide_to_utf8, then formats it with CFmt__format_codepoint_escape. Falls back to CFmt__format_decimal_error if FormatMessage or UTF-8 conversion fails. 0x0058E980 260 CFmt__fwrite_or_throw fmtlib Writes data to a FILE* using fwrite(). If the number of items written is less than requested, reads errno and throws a system_error with "cannot write to file" message. 0x0058EA90 128 CFmt__get_cached_power fmtlib Gets a cached power of 10 from a precomputed table. Supports two formats: compact (8-byte entries for indices < 15, using bit extraction) and extended (16-byte entries for larger indices). Returns a struct with mantissa and metadata. Used in Grisu float formatting. 0x0058EB10 325 CFmt__compute_cached_power fmtlib Computes a cached power of 10 for a given binary exponent. Uses a precomputed table of powers at DAT_010de2e8 (indexed by exponent/27) and interpolates with 64-bit multiply from DAT_010de458. Handles carry propagation. Core helper for Grisu float-to-decimal conversion. 0x0058EC60 162 CFmt__grisu_round fmtlib Grisu rounding decision function. Given the difference between the value and its decimal approximation, the divisor error, and an ulp value, determines whether to round up (return 2), round down (return 1), or the result is ambiguous (return 0). Used after digit generation to ensure correct rounding. 0x0058ED10 23 CFmt__get_system_page_size fmtlib Returns the system memory page size via GetSystemInfo. Used by fmtlib for aligned buffer allocation. 0x0058ED30 1102 CFmt__grisu_digit_gen fmtlib Grisu algorithm digit generation for float-to-string conversion. Extracts decimal digits from a 64-bit significand using power-of-10 division, with rounding via CFmt__grisu_round. Part of fmtlib's Grisu2 implementation. 0x0058F1B0 84 CFmt__streambuf_seekoff fmtlib Calls the virtual seekoff method (vtable offset 0x14) on a streambuf. Returns the position parameter. SEH frame for exception safety. 0x0058F210 84 CFmt__streambuf_seekoff_B fmtlib Second variant of streambuf seekoff virtual call (vtable offset 0x14). Identical structure to CFmt__streambuf_seekoff, used for a different streambuf instance. 0x0058F270 189 CFmt__byte_buffer_grow fmtlib Grows a byte-element memory buffer (element size 1). Uses 1.5x growth factor. Allocates aligned memory for buffers >= 0x1000 bytes, copies existing data via memcpy, and frees old buffer. 0x0058F330 236 CFmt__uint32_buffer_grow fmtlib Grows a uint32-element memory buffer (element size 4). Uses 1.5x growth factor with max 0x3FFFFFFF elements. Allocates aligned memory, copies existing data, frees old buffer. 0x0058F420 236 CFmt__uint32_buffer_grow_B fmtlib Second variant of uint32 buffer grow. Identical to CFmt__uint32_buffer_grow with same 1.5x growth factor and 0x3FFFFFFF element limit. 0x0058F510 230 CFmt__wchar_buffer_grow fmtlib Grows a wchar_t (2-byte) element memory buffer. Uses 1.5x growth factor with max 0x7FFFFFFF elements. Allocates aligned memory, copies existing data, frees old buffer. 0x0058F600 285 CFmt__flush_write_buffer fmtlib Flushes the write buffer to the underlying file descriptor via _write(). If the buffer is full (size==capacity and non-empty), writes all data and resets size to 0. Throws system_error on write failure with "cannot write to file" message. 0x0058F720 185 CFmt__unicode_codepoint_lookup fmtlib Looks up a Unicode codepoint in a property table. Searches a range table (param_2/param_3) by high byte, then checks low byte in a secondary table (param_4). Falls back to a variable-length encoded table (param_5/param_6). Used for printability/escape checks. 0x0058F7E0 215 CFmt__is_printable_codepoint fmtlib Checks if a Unicode codepoint is printable. For BMP (< 0x10000) and SMP (0x10000-0x1FFFF), uses table lookups. For higher planes, checks specific CJK/emoji ranges. Returns true if printable. 0x0058F8C0 567 CFmt__get_windows_error_string fmtlib Gets a Windows error message as a UTF-8 std::string. Calls FormatMessageW then converts wide string to UTF-8. Returns "unknown error" if conversion fails. Used by fmtlib's system_error formatting. 0x0058FB10 260 CFmt__needs_escape fmtlib Determines if a Unicode codepoint needs escaping in formatted output. Returns 1 (needs escape) for control chars (< 0x20), DEL (0x7F), quote (0x22), backslash (0x5C), and non-printable codepoints. Returns 0 for printable chars. 0x0058FC20 97 CFmt__format_cached_arg fmtlib Fetches a cached power-of-10 for format argument handling. Throws "argument not found" if cache lookup fails. Copies format state from this+0x10..0x28 and calls CFmt__func_00583530 to apply the cached power. 0x0058FC90 95 CFmt__set_sign_flag fmtlib Validates and sets the sign flag on a format specifier. Requires numeric type (throws "format specifier requires numeric argument" otherwise). Requires signed type (throws "format specifier requires signed argument" for unsigned). Sets bits 4-6 of the spec byte at offset 9. 0x0058FCF0 335 CFmt__stringbuf_overflow fmtlib stringbuf overflow virtual implementation. When put area is full, allocates a new buffer (min 0x20, max 2x growth, capped at 0x7FFFFFFF), copies existing data, updates get/put area pointers, frees old buffer if owned. Writes the overflow character to the new position. 0x0058FE40 84 pbackfail game_core Stream buffer pbackfail virtual. Called when putback of a character fails. 0x0058FEA0 373 CFmt__create_pipe fmtlib Creates a pipe via _pipe() with 64KB buffer and binary mode (0x8000). Stores read/write file descriptors to output params. Throws system_error with "cannot create pipe" on failure. Closes any previous FDs first. 0x00590020 251 CFmt__write_to_file_or_console fmtlib Writes data to a FILE, with special handling for console output. If the file is a TTY, converts UTF-8 to wide chars and uses WriteConsoleW for proper Unicode display. Falls back to fwrite for non-TTY files. 0x00590120 46 CFmt__buffer_push_byte fmtlib Pushes a single byte into a memory buffer. If the buffer is full (size >= capacity), calls the grow function via vtable. Appends the byte at the current position and increments size. 0x00590150 262 CFmt__read_from_fd fmtlib Reads data from a file descriptor via _read(). Throws system_error with "cannot read from file" message on failure (return < 0). Returns the number of bytes read on success. 0x00590260 80 CFmt__count_trailing_zeros_32 fmtlib Counts and removes trailing decimal zeros from a 32-bit Grisu remainder. Divides by 100 repeatedly then by 10, updating the value in-place. Returns the number of trailing zeros removed. Part of Grisu float formatting. 0x005902B0 380 CFmt__count_trailing_zeros_64 fmtlib Counts and removes trailing decimal zeros from a 64-bit Grisu remainder. Uses 128-bit multiply by reciprocal of 100, then checks remainder. Updates the 64-bit value in-place. Part of Grisu float formatting for double precision. 0x00590430 303 CFmt__format_and_print_stderr fmtlib Formats a message using a callback function into a stack buffer (500 bytes, growable), then writes the result to stderr via fwrite followed by a newline. Cleans up the buffer after output. 0x00590560 24 CFmt__report_system_error fmtlib Reports a POSIX system error to stderr. Wrapper that calls CFmt__format_and_print_stderr with CFmt__format_system_error_to_buffer as the formatter callback. 0x00590580 24 CFmt__report_windows_error fmtlib Reports a Windows system error to stderr. Wrapper that calls CFmt__format_and_print_stderr with CFmt__format_windows_error as the formatter callback. 0x005905A0 373 CFmt__stringbuf_seekoff fmtlib stringbuf seekoff virtual implementation. Repositions get/put pointers based on seek mode (0=beg, 1=cur, 2=end). Validates that the new position is within buffer bounds. Updates get area (flag bit 0) and/or put area (flag bit 1) pointers as requested. 0x00590720 246 CFmt__stringbuf_seekpos fmtlib stringbuf seekpos virtual implementation. Repositions get/put pointers to an absolute position (param_3+param_5). Validates bounds and updates get area (flag bit 0) and put area (flag bit 1) as specified by param_9. 0x00590820 206 CFmt__get_file_size fmtlib Gets the size of a file via GetFileSize + _get_osfhandle. Returns the 64-bit file size. Throws system_error with "cannot get file size" on failure. 0x005908F0 1100 CFmt__bigint_square fmtlib BigInteger squaring (self-multiply). Copies input to temp buffer, ensures output capacity is 2x input size, then performs schoolbook multiplication of the number with itself. Stores result back, trims leading zeros, and doubles the exponent. Part of Grisu/Dragonbox big number arithmetic. 0x00590D40 163 CFmt__get_locale_singleton fmtlib Returns the singleton locale facet instance. Thread-safe initialization via init_thread_header/epoch_counter. Constructs the facet on first call with a vtable pointer and registers atexit cleanup. 0x00590DF0 190 CFmt__throw_format_error fmtlib Throws a fmt::format_error exception. Constructs an exception object with the given error message string, wraps it in a system_error, and throws via _CxxThrowException. Does not return. 0x00590EB0 334 CFmt__to_lower_wstring fmtlib Converts a multibyte string to a lowercase wide string. First converts the input std::string to a wide string via convert_multibyte_to_widechar, then applies towlower to each character. Returns the result as a std::wstring. 0x00591000 39 CFmt__buffer_set_size fmtlib Sets the logical size of a memory buffer. If the requested size exceeds capacity, calls the grow function via vtable first. Clamps the size to capacity if needed. 0x00591030 138 CFmt__multiply_64x64_to_128 fmtlib Performs 64-bit x 64-bit multiplication producing a 128-bit result. Input is two 32-bit pairs (param_2:param_3 and param_4:param_5). Result stored in param_1[0..3] from low to high. Used by Grisu/Dragonbox for extended precision arithmetic. 0x00591120 334 CFmt__utf8_decode fmtlib Decodes a UTF-8 byte sequence into a Unicode codepoint. Handles 1-4 byte sequences using lookup tables for masks, shifts, and validation. Stores decoded codepoint in param_2, error flags in param_3. Returns pointer past the consumed bytes. 0x00591270 382 CFmt__format_to_string_00591270 fmtlib Formats arguments into a std::string using fmtlib. Formats into a 500-byte stack buffer (growable), then assigns the result to the output string via STL_string_assign_buffer. Cleans up the temporary buffer. 0x005913F0 475 CFmt__format_print_to_file fmtlib Formats arguments and prints to a FILE with console-aware output. Formats into a stack buffer, then checks if the file is a TTY. If TTY, converts UTF-8 to wide and uses WriteConsoleW. Otherwise falls back to fwrite. Cleans up buffer. 0x005915D0 479 CFmt__format_print_to_stdout fmtlib Formats arguments and prints to stdout with console-aware output. Gets stdout via __acrt_iob_func(1), formats into a stack buffer, then writes via WriteConsoleW (if TTY) or fwrite (if redirected). Implements fmt::print(). 0x005917B0 295 CFmt__format_write_to_file fmtlib Formats arguments and writes to a FILE without console detection. Formats into a 500-byte stack buffer (growable), then writes via CFmt__fwrite_or_throw. Simpler than format_print_to_file -- no WriteConsoleW path. 0x005918E0 168 CFmt__make_system_error fmtlib Creates a system_error exception object. Formats an error message string, constructs an STL exception with error code, and sets the vtable to the fmtlib system_error type. Used by file I/O error reporting. 0x00591990 281 CFmt__make_system_error_with_locale fmtlib Creates a system_error with locale-aware formatting. Similar to CFmt__make_system_error but initializes the locale singleton first (thread-safe). Formats error message, constructs exception, sets fmtlib system_error vtable. 0x00591AB0 262 CFmt__write_to_fd fmtlib Writes data to a file descriptor via _write(). Throws system_error with "cannot write to file" message if _write returns -1. Returns bytes written on success. 0x00591BC0 221 CFmt__try_write_console fmtlib Attempts to write data to a console using WriteConsoleW. Checks if the file is a TTY, converts UTF-8 to wide chars, then calls WriteConsoleW. Returns 1 on success, 0 if not a TTY or WriteConsoleW fails (caller should use fwrite instead). 0x00591CA0 131 CFmt__locale_facet_ctor fmtlib Constructs a fmtlib locale facet object. Sets vtable pointers (_Facet_base and locale_facet), initializes two fields by calling CFmt__func_00599ca0 for thousands_sep (arg=2) and decimal_point (arg=1) locale data. 0x00591D30 72 CFmt__locale_facet_dtor fmtlib Destructor for fmtlib locale facet. Resets vtable pointers in reverse order of construction (locale_facet vtable first, then _Facet_base vtable). SEH frame for exception safety. 0x00591D90 97 CFmt__locale_facet_scalar_deleting_dtor fmtlib Scalar deleting destructor for fmtlib locale facet. Sets vtable pointers, then conditionally frees the 12-byte object (if bit 0 of param_2 is set). SEH frame for exception safety. 0x00591E00 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x00591E30 37 CFmt__locale_facet_reinit fmtlib Reinitializes locale facet data fields without full reconstruction. Updates thousands_sep (offset +4, arg=2) and decimal_point (offset +8, arg=1) by calling CFmt__func_00599ca0. 0x00591E60 74 CFmt__locale_lookup_string fmtlib Looks up a string by name using the locale facet. Computes the string length, converts it via CFmt__func_005994b0, then calls the virtual lookup method (vtable offset +4) on the facet's cached data. Returns the lookup result or 0 if the string is null/empty. 0x00591EB0 126 CEmotionShop__send_emotion_command game_core 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 game_core 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 game_core 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). 0x005920C0 446 STL_vector_int_pair_reallocate_emplace stl STL vector reallocate and emplace for 8-byte elements (pairs of ints). Grows capacity by 1.5x, allocates new buffer, copies element at insertion point, relocates existing elements before/after, frees old buffer. Uses aligned allocation for buffers >4095 bytes. 0x00592290 165 CSortableListItem__ctor game_core 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. 0x00592340 129 STL_vector_int_pair_clear_and_free stl Clears and frees an STL vector of 8-byte elements (int pairs). Frees the allocated buffer (handling aligned allocation for >4095 byte buffers), then zeroes the begin/end/capacity pointers. 0x005923D0 67 CSortableListItem__push_back_pair game_core 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 game_core 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). 0x00592470 44 STL_copy_int_pairs_forward stl STL template instantiation: STL copy int pairs forward 0x005924A0 45 STL_copy_int_pairs_by_offset stl Copies 8-byte elements (pairs of ints) from range [param_1, param_2) to a destination computed by adding param_3 as an offset to each source address. Used during vector reallocation. 0x005924D0 10 STL_vector_throw_length_error_005924d0 stl Throws std::length_error with message "vector too long". Called when a vector operation would exceed max_size (0x1FFFFFFF elements). 0x005924E0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00592520 162 CListViewColumn__ctor game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x005928F0 29 STL_memmove_backward stl Copies memory from range [param_1, param_2) to a destination computed so the copy ends at param_3. Effectively a backward memcpy used during array shifting operations. 0x00592910 439 STL_vector_int_pair_reallocate_emplace_00592910 stl STL vector reallocate and emplace for 8-byte elements (pairs of ints). Identical logic to 005920c0: grows capacity by 1.5x, allocates new buffer, inserts element, relocates existing elements, frees old buffer. Different instantiation for a different vector type. 0x00592AD0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x00592B40 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x00592BB0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x00592C20 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x00592C90 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x00592D00 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x00592D70 137 STL_hash_find_last_by_string stl Finds the last matching node in a hash bucket by string key comparison. Iterates the bucket's linked list, comparing each node's embedded string against param_3 using std::_Traits_equal. Returns a find_last_result with the found node or end sentinel. 0x00592E00 137 STL_hash_find_last_by_string_00592e00 stl Finds the last matching node in a hash bucket by string key comparison. Same logic as 00592d70 but for a different hash map instantiation. Uses std::_Traits_equal for string comparison. 0x00592E90 137 STL_hash_find_last_by_string_00592e90 stl Finds the last matching node in a hash bucket by string key comparison. Same logic as 00592d70 but for a different hash map instantiation. Uses std::_Traits_equal for string comparison. 0x00592F20 99 STL_hash_find_last_by_char stl Finds the last matching node in a hash bucket by single char key comparison. Iterates the bucket's linked list comparing each node's key byte against *param_3. Returns find_last_result with found node or end sentinel. 0x00592F90 56 _Fnv1a_append_value<> game_core Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime. 0x00592FD0 122 STL_hash_list_destroy_string_nodes_40 stl Destroys all nodes in a hash map linked list. Each node is 0x40 bytes and contains an embedded std::string which is destructed before freeing the node memory. Clears the bucket count to 0. 0x00593050 111 STL_hash_list_destroy_string_nodes_24 stl Destroys all nodes in a hash map linked list. Each node is 0x24 bytes and contains an embedded std::string which is destructed before freeing the node memory. Clears the bucket count to 0. 0x005930C0 154 STL_hash_list_destroy_complex_nodes_2c stl Destroys all nodes in a hash map linked list. Each node is 0x2C bytes with a complex substructure: calls CFmt__func_00597310 to destroy inner data, then destroys an inner linked list at offset+0x10 (0x3C-byte sub-nodes), then frees the node. Clears bucket count to 0. 0x00593160 111 STL_hash_list_destroy_vector_nodes_18 stl Destroys all nodes in a hash map linked list. Each node is 0x18 bytes with an embedded vector that is cleared/freed via json__vector_clear_and_free before the node is deallocated. Clears bucket count to 0. 0x005931D0 125 STL_hash_list_destroy_string_nodes_3c stl Destroys all nodes in a hash map linked list. Each node is 0x3C bytes and contains an embedded std::string which is destructed before freeing the node memory. Clears the bucket count to 0. 0x00593250 108 STL_hash_list_destroy_string_nodes_24_00593250 stl Destroys all nodes in a hash map linked list. Each node is 0x24 bytes and contains an embedded std::string which is destructed before freeing the node memory. Different instantiation from 00593050. 0x005932C0 108 STL_hash_list_destroy_string_nodes_24_005932c0 stl Destroys all nodes in a hash map linked list. Each node is 0x24 bytes and contains an embedded std::string which is destructed before freeing the node memory. Different instantiation from 00593050 and 00593250. 0x00593330 108 STL_hash_list_destroy_string_nodes_28 stl Destroys all nodes in a hash map linked list. Each node is 0x28 bytes and contains an embedded std::string which is destructed before freeing the node memory. Clears the bucket count to 0. 0x005933A0 111 STL_hash_list_destroy_trivial_nodes_10 stl Destroys all nodes in a hash map linked list. Each node is 0x10 bytes with trivial data (calls null_stub for cleanup). Clears the bucket count to 0. 0x00593410 495 CListView__sort_select_pivot game_core 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. 0x00593600 58 STL_fnv1a_hash_4bytes stl FNV-1a hash function for a 4-byte value. Starts with the FNV offset basis (0x811c9dc5) and iterates through 4 bytes, XORing each byte and multiplying by the FNV prime (0x01000193). Returns the 32-bit hash. 0x00593640 487 CListView__insertion_sort game_core 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 game_core 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. 0x00593A70 100 STL_memcmp_4byte_aligned stl Compares two byte ranges for ordering, optimized with 4-byte-at-a-time comparison. First compares in 4-byte chunks, then compares remaining bytes individually. Returns 0 if equal, negative if param_1 < param_3, positive if param_1 > param_3. 0x00593AE0 1744 CListView__partition game_core 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 game_core 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 game_core 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. 0x005944C0 540 STL_unordered_map_emplace_string_value stl Emplaces a key-value pair into an unordered_map where the value contains a string. First checks if key exists via _Find_last. If not found, allocates a new node, copies the key and string value, rehashes if load factor exceeded, and inserts into the bucket chain. Returns iterator and insertion flag. 0x005946E0 530 STL_unordered_map_emplace_sort_entry stl Emplaces a key-value pair into an unordered_map where the value is a complex sort entry (constructed via CListViewSortEntry__ctor with multiple fields). First checks if key exists via _Find_last. If not found, allocates node, constructs value, rehashes if needed, inserts into bucket chain. Returns iterator and insertion flag. 0x00594900 497 STL_unordered_map_emplace_sort_state stl Emplaces a key-value pair into an unordered_map where the value is a sort state (constructed via CListViewSortState__ctor with linked list sentinel). First checks if key exists via _Find_last. If not found, allocates node, constructs value, rehashes if needed, inserts into bucket chain. Returns iterator and insertion flag. 0x00594B00 490 STL_unordered_set_insert_uint32 stl STL unordered_set::insert for uint32 key. Finds existing entry or allocates new node, inserts into hash bucket chain. Rehashes if load factor exceeded. Returns iterator + bool (inserted or found existing). 0x00594CF0 524 STL_unordered_map_insert_string_key_float_value stl STL unordered_map::insert for string key -> float value. Uses FNV-1a hash (0x811c9dc5). Finds existing or allocates new node with string copy + float value. Rehashes if load factor exceeded. 0x00594F00 485 STL_unordered_map_insert_char_key_float_value stl STL unordered_map::insert for char key -> float value. Hashes single char, finds existing or allocates new node. Rehashes if load factor exceeded. 0x005950F0 535 STL_unordered_map_emplace_string_key stl STL unordered_map::emplace with string key. Uses FNV-1a hash. Constructs node in-place with forwarded arguments. Rehashes if needed. Returns iterator + insertion bool. 0x00595310 63 STL_vector_range_push_back stl STL template instantiation: STL vector range push back 0x00595350 534 STL_unordered_map_insert_uint32_key_byte_value stl STL unordered_map::insert for uint32 key (4-byte, FNV-1a hashed) -> byte value. Allocates new node, inserts into bucket chain. Rehashes if load factor exceeded. 0x00595570 524 STL_unordered_map_insert_string_key_float_value_v2 stl STL unordered_map::insert variant for string key -> float value. Similar to 00594cf0 but uses different internal find/rehash helpers. FNV-1a hash. 0x00595780 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x005957F0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00595860 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x005958D0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00595940 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x005959B0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00595A20 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00595A90 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00595B00 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00595B70 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00595BE0 108 STL_unordered_map_find_string_key stl STL unordered_map::find with string key. Computes FNV-1a hash of the string, looks up in hash table. Returns iterator to found element or end(). 0x00595C50 108 STL_unordered_map_find_string_key_v2 stl STL unordered_map::find with string key (variant 2). Computes FNV-1a hash, looks up in hash table. Returns iterator to found element or end(). Different map type than 00595be0. 0x00595CC0 486 STL_unordered_set_insert_range_string stl STL unordered_set::insert range for string elements. Iterates linked list from param_2 to param_3, inserting each string element into the unordered_set. Copies string key + 4 extra uint32 fields per node (0x3c bytes). Rehashes as needed. 0x00595EB0 379 STL_unordered_set_emplace_uint32_key_struct_value stl STL unordered_set::emplace with uint32 key + struct value (0x3c byte node). Finds existing or constructs new node with forwarded arguments via CFmt__func_00592520. Rehashes if load factor exceeded. 0x00596030 31 fill_uint32_range stl Fill uint32 range, small utility function 0x00596050 31 fill_uint32_range_00596050 stl Fill uint32 range 00596050 0x00596070 31 fill_uint32_range_00596070 stl Fill uint32 range 00596070 0x00596090 31 fill_uint32_range_00596090 stl Fill uint32 range 00596090 0x005960B0 31 fill_uint32_range_005960b0 stl Fill uint32 range 005960b0 0x005960D0 31 fill_uint32_range_005960d0 stl Fill uint32 range 005960d0 0x005960F0 31 fill_uint32_range_005960f0 stl Fill uint32 range 005960f0 0x00596110 31 fill_uint32_range_00596110 stl Fill uint32 range 00596110 0x00596130 31 fill_uint32_range_00596130 stl Fill uint32 range 00596130 0x00596150 31 fill_uint32_range_00596150 stl Fill uint32 range 00596150 0x00596170 168 STL_unordered_map_ctor_0x10_node stl STL unordered_map constructor. Allocates 0x10-byte sentinel node (self-referencing doubly-linked list head). Sets max_load_factor to 1.0 (0x3f800000), initial bucket count 8, mask 7. Resizes bucket vector to 16 entries. 0x00596220 168 STL_unordered_map_ctor_0x24_node stl STL unordered_map constructor. Allocates 0x24-byte sentinel node. Sets max_load_factor to 1.0, initial bucket count 8, mask 7. Resizes bucket vector to 16 entries. 0x005962D0 168 STL_unordered_map_ctor_0x24_node_v2 stl STL unordered_map constructor variant 2. Allocates 0x24-byte sentinel node. Sets max_load_factor to 1.0, initial bucket count 8, mask 7. Uses different resize helper than 00596220. 0x00596380 168 STL_unordered_map_ctor_0x24_node_v3 stl STL unordered_map constructor variant 3. Allocates 0x24-byte sentinel node. Sets max_load_factor to 1.0, initial bucket count 8, mask 7. Uses different resize helper. 0x00596430 970 CHashTable__ctor game_core 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). 0x00596800 67 STL_unordered_map_free_sentinel_0x10_00596800 stl Frees the 0x10-byte sentinel node buffer from an STL unordered_map. Called during map destruction. 0x00596850 67 STL_unordered_map_free_sentinel_0x40 stl Frees the 0x40-byte sentinel node buffer from an STL unordered_map. Called during map destruction. 0x005968A0 67 STL_unordered_map_free_sentinel_0x24 stl Frees the 0x24-byte sentinel node buffer from an STL unordered_map. Called during map destruction. 0x005968F0 67 STL_unordered_map_free_sentinel_0x2c stl Frees the 0x2c-byte sentinel node buffer from an STL unordered_map. Called during map destruction. 0x00596940 67 STL_unordered_map_free_sentinel_0x18 stl Frees the 0x18-byte sentinel node buffer from an STL unordered_map. Called during map destruction. 0x00596990 67 STL_unordered_map_free_sentinel_0x3c stl Frees the 0x3c-byte sentinel node buffer from an STL unordered_map. Called during map destruction. 0x005969E0 67 STL_unordered_map_free_sentinel_0x24_v2 stl Frees the 0x24-byte sentinel node buffer from an STL unordered_map (variant 2). Called during map destruction. 0x00596A30 67 STL_unordered_map_free_sentinel_0x24_v3 stl Frees the 0x24-byte sentinel node buffer from an STL unordered_map (variant 3). Called during map destruction. 0x00596A80 67 STL_unordered_map_free_sentinel_0x28 stl Frees the 0x28-byte sentinel node buffer from an STL unordered_map. Called during map destruction. 0x00596AD0 67 STL_unordered_map_free_sentinel_0x10 stl Frees the 0x10-byte sentinel node buffer from an STL unordered_map. Called during map destruction. 0x00596B20 67 STL_unordered_map_free_sentinel_0x10_v2 stl Frees the 0x10-byte sentinel node buffer from an STL unordered_map (variant 2). Called during map destruction. 0x00596B70 33 CHashTable__release_interface game_core 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. 0x00596BA0 131 STL_unordered_map_dtor_0x10_nodes stl STL unordered_map destructor for maps with 0x10-byte nodes. Calls cleanup helper, then walks the linked list freeing each 0x10-byte node, and finally frees the 0x10-byte sentinel. 0x00596C30 102 STL_unordered_map_dtor_0x40_string_nodes stl STL unordered_map destructor for maps with 0x40-byte string-keyed nodes. Calls cleanup helper, destroys string nodes via STL_hash_list_destroy_string_nodes_40, then frees the 0x40-byte sentinel. 0x00596CA0 102 CFmt__destroy_arg_vector_and_nodes_24 fmtlib fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597160, destroys 0x24-byte hash/node entries via CFmt__func_00593050, then frees the node buffer. 0x00596D10 102 CFmt__destroy_arg_vector_and_nodes_2c fmtlib fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_005971f0, destroys 0x2C-byte hash/node entries via CFmt__func_005930c0, then frees the node buffer. 0x00596D80 102 CFmt__destroy_arg_vector_and_nodes_18 fmtlib fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597280, destroys 0x18-byte hash/node entries via CFmt__func_00593160, then frees the node buffer. 0x00596DF0 102 CFmt__destroy_arg_vector_and_nodes_3c fmtlib fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597310, destroys 0x3C-byte hash/node entries via CFmt__func_005931d0, then frees the node buffer. 0x00596E60 102 CFmt__destroy_arg_vector_and_nodes_24b fmtlib fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_005973a0, destroys 0x24-byte hash/node entries via CFmt__func_00593250, then frees the node buffer. 0x00596ED0 102 CFmt__destroy_arg_vector_and_nodes_24c fmtlib fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597430, destroys 0x24-byte hash/node entries via CFmt__func_005932c0, then frees the node buffer. 0x00596F40 102 CFmt__destroy_arg_vector_and_nodes_28 fmtlib fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_005974c0, destroys 0x28-byte hash/node entries via CFmt__func_00593330, then frees the node buffer. 0x00596FB0 131 CFmt__destroy_arg_linked_list_and_vector fmtlib fmtlib type-erased format arg destructor. Deallocates internal vector via CFmt__deallocate_vector_00597550, then walks a singly-linked list of 0x10-byte nodes freeing each, and frees the sentinel/head (0x10 bytes). 0x00597040 125 CFmt__deallocate_vector_00597040 fmtlib fmtlib internal vector deallocator. Computes buffer size from (end - begin) masked to 4-byte alignment, handles large allocations (>0xFFF) by finding the real allocation base at ptr[-1], then frees and zeros begin/end/capacity pointers. 0x005970D0 125 CFmt__deallocate_vector_005970d0 fmtlib fmtlib internal vector deallocator. Same pattern as 00597040: computes buffer size from (end - begin) & ~3, handles large allocs via backing pointer, frees and zeros the vector triple (begin/end/capacity). 0x00597160 125 CFmt__deallocate_vector_00597160 fmtlib fmtlib internal vector deallocator. Same pattern: computes buffer size from (end - begin) & ~3, handles large allocs via backing pointer, frees and zeros the vector triple. 0x005971F0 125 CFmt__deallocate_vector_005971f0 fmtlib fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. 0x00597280 125 CFmt__deallocate_vector_00597280 fmtlib fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. 0x00597310 125 CFmt__deallocate_vector_00597310 fmtlib fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. 0x005973A0 125 CFmt__deallocate_vector_005973a0 fmtlib fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. 0x00597430 125 CFmt__deallocate_vector_00597430 fmtlib fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. 0x005974C0 125 CFmt__deallocate_vector_005974c0 fmtlib fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. 0x00597550 125 CFmt__deallocate_vector_00597550 fmtlib fmtlib internal vector deallocator. Same pattern: computes buffer size, handles large allocs, frees and zeros vector triple. 0x005975E0 78 CFmt__destroy_arg_simple_10 fmtlib fmtlib simple format arg destructor. Checks if member at [this+4] is non-null, if so frees it as a 0x10-byte allocation. 0x00597630 123 CFmt__destroy_arg_string_and_delete_40 fmtlib fmtlib format arg destructor for string-containing type. If member at [this+4] is non-null, destroys the embedded STL string via STL_string_dtor, then frees the 0x40-byte container. 0x005976B0 116 CFmt__destroy_arg_string_and_delete_24 fmtlib fmtlib format arg destructor for string-containing type. If member at [this+4] is non-null, destroys the embedded STL string, then frees the 0x24-byte container. 0x00597730 155 CFmt__destroy_arg_compound_vector_and_nodes fmtlib fmtlib compound format arg destructor. If inner pointer at [this+4] is non-null: deallocates the inner vector, destroys 0x3C-byte node entries at offset+0x10, then frees the 0x2C-byte outer container. 0x005977D0 116 CFmt__destroy_arg_json_vector_and_delete_18 fmtlib fmtlib format arg destructor for JSON vector type. If member at [this+4] is non-null, clears the JSON vector via json__vector_clear_and_free_4byte, then frees the 0x18-byte container. 0x00597850 126 CFmt__destroy_arg_string_and_delete_3c fmtlib fmtlib format arg destructor for string-containing type. Destroys embedded STL string at [this+4], then frees the 0x3C-byte container. 0x005978D0 113 CFmt__destroy_arg_string_and_delete_24b fmtlib fmtlib format arg destructor for string-containing type. Destroys embedded STL string at [this+4], then frees the 0x24-byte container. 0x00597950 113 CFmt__destroy_arg_string_and_delete_24c fmtlib fmtlib format arg destructor for string-containing type. Destroys embedded STL string at [this+4], then frees the 0x24-byte container. Variant c. 0x005979D0 113 CFmt__destroy_arg_string_and_delete_28 fmtlib fmtlib format arg destructor for string-containing type. Destroys embedded STL string at [this+4], then frees the 0x28-byte container. 0x00597A50 78 CFmt__destroy_arg_simple_10b fmtlib fmtlib simple format arg destructor. Checks if member at [this+4] is non-null, frees as 0x10-byte allocation. Same pattern as 005975e0. 0x00597AA0 116 CFmt__destroy_arg_stub_and_delete_10 fmtlib fmtlib format arg destructor. Calls null_stub_00ae81a0 on the member, then frees the 0x10-byte container. The stub call may be a no-op dtor for a trivial type. 0x00597B20 92 CFmt__destroy_arg_virtual_release fmtlib fmtlib format arg destructor with virtual release. Reads a pointer at param_1[9], calls its virtual method at vtable+0x10 (likely Release/destroy), then zeros the pointer. Used for ref-counted or COM-like format arg types. 0x00597B80 103 CFmt__destroy_linked_list_nodes fmtlib fmtlib linked list destructor. Zeros the count via sentinel->next->value=0, then walks the singly-linked list from head, freeing each 0x10-byte node, and finally frees the sentinel node. 0x00597BF0 73 CFmt__destroy_nodes_and_delete_40 fmtlib fmtlib node array destructor. Calls CFmt__func_00592fd0 to destroy elements in the 0x40-byte node buffer, then frees the buffer. 0x00597C40 73 CFmt__destroy_nodes_and_delete_24 fmtlib fmtlib node array destructor. Calls CFmt__func_00593050 to destroy elements in the 0x24-byte node buffer, then frees the buffer. 0x00597C90 73 CFmt__destroy_nodes_and_delete_2c fmtlib fmtlib node array destructor. Calls CFmt__func_005930c0 to destroy elements in the 0x2C-byte node buffer, then frees the buffer. 0x00597CE0 73 CFmt__destroy_nodes_and_delete_18 fmtlib fmtlib node array destructor. Calls CFmt__func_00593160 to destroy elements in the 0x18-byte node buffer, then frees the buffer. 0x00597D30 73 CFmt__destroy_nodes_and_delete_3c fmtlib fmtlib node array destructor. Calls CFmt__func_005931d0 to destroy elements in the 0x3C-byte node buffer, then frees the buffer. 0x00597D80 73 CFmt__destroy_nodes_and_delete_24b fmtlib fmtlib node array destructor. Calls CFmt__func_00593250 to destroy elements in the 0x24-byte node buffer, then frees the buffer. 0x00597DD0 73 CFmt__destroy_nodes_and_delete_24c fmtlib fmtlib node array destructor. Calls CFmt__func_005932c0 to destroy elements in the 0x24-byte node buffer, then frees the buffer. 0x00597E20 73 CFmt__destroy_nodes_and_delete_28 fmtlib fmtlib node array destructor. Calls CFmt__func_00593330 to destroy elements in the 0x28-byte node buffer, then frees the buffer. 0x00597E70 103 CFmt__destroy_linked_list_nodes_b fmtlib fmtlib linked list destructor. Zeros count via sentinel, walks singly-linked list of 0x10-byte nodes freeing each, then frees the sentinel. Same pattern as 00597b80. 0x00597EE0 73 CFmt__destroy_nodes_and_delete_10 fmtlib fmtlib node array destructor. Calls CFmt__func_005933a0 to destroy elements in the 0x10-byte node buffer, then frees the buffer. 0x00597F30 80 CFmt__destroy_arg_string_member fmtlib fmtlib format arg destructor. Destroys the STL string member at [this+4] via STL_string_dtor. Does not free the container itself (string is embedded, not heap-allocated separately). 0x00597F80 115 CFmt__destroy_arg_vector_and_nodes_3c_offset8 fmtlib fmtlib compound format arg destructor. Deallocates the vector at offset 0 via CFmt__deallocate_vector_00597310, then destroys 0x3C-byte node entries at [this+8] and frees the node buffer. Uses offset 8 instead of 4 for the node pointer. 0x00598000 83 CFmt__destroy_arg_string_member_b fmtlib fmtlib format arg destructor. Destroys the STL string member at [this+4] via STL_string_dtor. Same pattern as 00597f30. 0x00598060 65 CFmt__destroy_arg_string_direct fmtlib fmtlib format arg destructor. Directly destroys an STL string at the given param address via STL_string_dtor. Minimal wrapper with SEH frame. 0x005980B0 65 CFmt__destroy_arg_delegated fmtlib fmtlib format arg destructor. Delegates destruction to CFmt__func_00596ba0 which handles the actual cleanup. Thin SEH wrapper. 0x00598100 102 CFmt__destroy_arg_hash_string_40 fmtlib fmtlib format arg destructor for hash map type. Deallocates vector via CFmt__deallocate_vector_005970d0, then destroys hash bucket list with 0x40-byte string nodes via STL_hash_list_destroy_string_nodes_40, and frees the bucket array. 0x00598170 102 CFmt__destroy_arg_hash_string_24 fmtlib fmtlib format arg destructor for hash map type. Deallocates vector via CFmt__deallocate_vector_00597160, then destroys hash bucket list with 0x24-byte string nodes via STL_hash_list_destroy_string_nodes_24, and frees the bucket array. 0x005981E0 102 CFmt__destroy_arg_hash_complex_2c fmtlib fmtlib format arg destructor for hash map type. Deallocates vector via CFmt__deallocate_vector_005971f0, then destroys hash bucket list with 0x2C-byte complex nodes via STL_hash_list_destroy_complex_nodes_2c, and frees the bucket array. 0x00598250 102 CFmt__destroy_arg_hash_vector_18 fmtlib fmtlib format arg destructor for hash map type. Deallocates vector via CFmt__deallocate_vector_00597280, then destroys hash bucket list with 0x18-byte vector nodes via STL_hash_list_destroy_vector_nodes_18, and frees the bucket array. 0x005982C0 102 CFmt__destroy_hashmap_3c_entry fmtlib SEH-protected destructor for a CFmt hash map entry with 0x3c-byte string nodes. Deallocates the vector then destroys hash list nodes and frees the bucket array. 0x00598330 102 CFmt__destroy_hashmap_24a_entry fmtlib SEH-protected destructor for a CFmt hash map entry with 0x24-byte string nodes (variant A). Deallocates vector then destroys hash list nodes and frees bucket array. 0x005983A0 102 CFmt__destroy_hashmap_24b_entry fmtlib SEH-protected destructor for a CFmt hash map entry with 0x24-byte string nodes (variant B). Deallocates vector then destroys hash list nodes and frees bucket array. 0x00598410 102 CFmt__destroy_hashmap_28_entry fmtlib SEH-protected destructor for a CFmt hash map entry with 0x28-byte string nodes. Deallocates vector then destroys hash list nodes and frees bucket array. 0x00598480 65 CFmt__destroy_arg_list_seh_wrapper fmtlib SEH wrapper that calls CFmt__destroy_arg_linked_list_and_vector to clean up an argument linked list and its associated vector. 0x005984D0 68 CFmt__destroy_string_seh_wrapper fmtlib SEH wrapper that calls STL_string_dtor to destroy an STL string member of CFmt. 0x00598520 799 CFmt__dtor fmtlib CFmt destructor. Tears down the entire object: sets vtable, releases ref-counted object at +8, deactivates UI events (counters 5/6/7), destroys 13+ internal hash maps of various node types (string 0x40/0x24/0x28/0x3c, complex 0x2c, vector 0x18, trivial 0x10), deallocates associated vectors, and frees bucket arrays. Object size is 0x1d8 bytes. 0x00598840 190 STL_unordered_map_int__clear stl Clears int-keyed unordered_map 0x00598910 75 CFmt__clear_name_hashmap fmtlib Clears the name hash map (0x40-byte string nodes). Destroys all nodes, resets sentinel pointers and count, then fills bucket array with sentinel pointer. 0x00598960 75 CFmt__clear_category_hashmap fmtlib Clears a category hash map (0x24-byte string nodes). Destroys all nodes, resets sentinel and count, fills bucket array with sentinel. 0x005989B0 75 CFmt__clear_complex_node_hashmap fmtlib Clears a complex node hash map (0x2c-byte nodes). Destroys all nodes, resets sentinel and count, fills bucket array with sentinel. 0x00598A00 75 CFmt__clear_vector_node_hashmap fmtlib Clears a vector node hash map (0x18-byte nodes containing vectors). Destroys all nodes, resets sentinel and count, fills bucket array with sentinel. 0x00598A50 75 CFmt__clear_string_3c_hashmap fmtlib Clears a string hash map with 0x3c-byte nodes. Destroys all nodes, resets sentinel and count, fills bucket array with sentinel. 0x00598AD0 145 CFmt__clear_trivial_int_hashmap fmtlib Clears an unordered_map with trivial 0x10-byte int nodes. Walks the linked list freeing each node, resets sentinel and count, fills bucket array. SEH-protected. 0x00598BF0 65 CFmt__destroy_string_seh_wrapper_2 fmtlib SEH wrapper that calls STL_string_dtor to destroy an STL string. Second variant used in a different destruction context. 0x00598C40 38 CFmt__scalar_deleting_dtor fmtlib CFmt scalar deleting destructor. Calls CFmt__dtor, then optionally frees the 0x1d8-byte object if bit 0 of param_2 is set. 0x00598C70 654 CFmt__clear_all_data fmtlib Clears all CFmt data containers: name map (0x40 nodes), complex map (0x2c nodes), vector map (0x18 nodes), two int-keyed maps, category maps (0x24 nodes), linked list entries (frees string+vector per entry), resets counters at +0x19c/0x1a8/0x1bc, and calls additional clear helpers. 0x00598F00 60 CFmt__clear_priority_list_and_counters fmtlib Clears the priority linked list at offset +0x1b0 (trivial 0x10 nodes), resets counters at +0x1a8 and +0x1bc to their base values at +0x1a4 and +0x1b8. 0x00598F40 218 CFmt__clear_sortable_list_entries fmtlib Iterates the sortable list linked list at offset +0x17c, destroying each entry's vector (with large-block deallocation) and string, then frees the 0x24-byte entry. Finishes by clearing the associated hash map. 0x00599020 18 CFmt__hide_child_panel fmtlib Hides the child panel by calling UIWindow__toggle_child_panel_visibility(0), but only if the global CFmt instance (DAT_01457848) is non-null. 0x00599040 1057 CFmt__rebuild_sortable_list_with_time_filter fmtlib Rebuilds the sortable list from source data. First clears existing entries, gets current time, then iterates all categories. For each item: checks if current category matches, checks exclusion list and time-based availability windows, computes FNV-1a hash of category string for hash map lookup, creates CSortableListItem entries, inserts into hash map (with rehash if needed), or appends to existing entries. 0x00599470 50 CFmt__find_index_by_string_key fmtlib Looks up a string key in the hash map at offset +0x118 (via STL_unordered_map_find_string_key). Returns the value at node+0x20 if found, or -1 (0xFFFFFFFF) if not found. 0x005994B0 376 CFmt__find_index_by_cstring fmtlib Looks up a C-string in the hash map at offset +0x118. Computes strlen, creates temp STL string, computes FNV-1a hash, searches hash map. Returns value at node+0x20 if found, or -1 if null/empty/not found. Frees temp string on exit. 0x00599630 22 CFmt__calc_elapsed_time_offset fmtlib Calculates elapsed time offset: returns (param_2 - field_0x1d0) - field_0x1cc. Used for time-based availability filtering of items. 0x00599650 162 CFmt__get_or_create_instance fmtlib Singleton getter/creator for CFmt. If global DAT_013896c4 is null, allocates 0x1d8 bytes and calls CHashTable__ctor. If construction succeeds (flag at +4 is set), returns 1. Otherwise destroys via virtual dtor and returns 0. 0x00599700 42 CFmt__destroy_instance fmtlib Destroys the CFmt singleton. If DAT_013896c4 is non-null: clears all data via CFmt__clear_all_data, then calls virtual destructor with delete flag, sets global pointer to null. 0x00599730 257 CFmt__handle_chat_command fmtlib Handles a chat command string. If global instance exists and its +0x13c field is set: parses the command (strips leading '/'), looks up in hash map via STL_unordered_map_find_string_key_v2. If found, shows panel and calls UIPartyMatchWnd__set_data_source. If not found or null/empty, hides the child panel. 0x00599840 127 CFmt__lookup_and_apply_format fmtlib Wrapper that sets up a hash iterator callback context and calls CFmt__lookup_or_insert_by_lowercase_string with member offsets +0xb0 and +0x90. 0x005998C0 74 CFmt__find_string_by_int_key_94 fmtlib Finds a string value by integer key in the hash map at offset +0x94. Uses _Find_last to locate the node; returns pointer to string data (handles SSO: inline if <= 0xF bytes, else follows pointer), or null if not found. 0x00599910 18 CFmt__find_string_by_category_and_item fmtlib Thin wrapper: calls CFmt__find_item_string_by_category_and_id with the current category ID (field +0xC) and the given item param. 0x00599930 814 CFmt__search_items_by_pattern fmtlib Searches items by string pattern. Gets current category items, then for each item: looks up subcategory and item details via nested hash maps. If param_3 is non-null, uses strstr to match the search pattern against item strings. Matching items go to front of result vector, non-matching to back. Results are sorted via CListView__introsort. Returns vector of matching item IDs. 0x00599C60 60 CFmt__get_current_category_data fmtlib Gets the current category's data node. Looks up current category ID (field +0xC) in hash map at +0x34 via _Find_last. Returns node+0xC if found, or 0 if not found. 0x00599CA0 87 CFmt__get_emote_effect_by_char fmtlib Gets emote effect ID by character key. First looks up in the char-keyed hash map at +0x13c via STL_hash_find_last_by_char. If found, returns value at node+0xC. If not found, falls back to CEmoteMgr__get_emote_effect_id. 0x00599D00 110 CFmt__find_item_node_by_category_and_id fmtlib Two-level lookup: finds an item node by category ID (param_2) and item ID (param_3). Both must be >= 0. Looks up category in hash map at +0x34, then item within category's submap at +0x10. Returns node+0xC if found, or 0. 0x00599D70 110 CFmt__find_item_string_by_category_and_id fmtlib Two-level lookup returning a string pointer. Finds category by param_2 in hash map at +0x34, then item by param_3 in submap at +0x10. Returns pointer to string data (handles SSO: inline if capacity <= 0xF, else follows pointer), or null if not found. 0x00599DE0 337 CFmt__get_items_vector_by_category fmtlib Gets a vector of item IDs for a given category. Looks up category by param_3 in hash map at +0x54 via _Find_last. If found, copies the item ID vector from the category node. Returns output vector param_2 (empty if category not found). 0x00599F50 49 CFmt__find_sortable_entry_by_string fmtlib Finds a sortable entry by string key in hash map at +0x15c via STL_unordered_map_find_string_key_v2. Returns value at node+0x20 if found, or 0 if not found. 0x00599F90 122 CFmt__find_data_by_string_key_70 fmtlib Finds data by string key in the hash map at offset +0x70. Computes FNV-1a hash of the string (handles SSO), searches via STL_hash_find_last_by_string_00592e90. Returns pointer to node+0x20 data if found, or 0 if not found. 0x0059A010 35 CFmt__get_min_priority fmtlib Finds the minimum priority value across all nodes in the linked list at offset +0x1b0. Iterates all nodes checking field at node+3 (node[3]). Returns the minimum value found, or 0x7FFFFFFF if the list is empty. 0x0059A040 63 CFmt__find_subcategory_by_int_key fmtlib Finds a subcategory node by integer key in hash map at +0x34. Uses _Find_last for lookup. Returns node+0xC if found, or 0 if not found. 0x0059A080 63 CFmt__find_name_entry_by_int_key fmtlib Finds a name entry node by integer key in hash map at +0x14. Uses _Find_last for lookup. Returns node+0xC if found, or 0 if not found. 0x0059A0C0 71 CFmt__get_name_string_ptr_by_int_key fmtlib Gets name string pointer by integer key from hash map at +0x14. Uses _Find_last for lookup. Returns pointer to string data (handles SSO: returns inline buffer if capacity <= 0xF, else follows pointer), or null if not found. 0x0059A110 64 CFmt__get_name_int_value_by_key fmtlib Gets an integer value (at node offset +0x24) by integer key from hash map at +0x14. Returns -1 (0xFFFFFFFF) if not found. 0x0059A150 46 CFmt__find_priority_node_by_id fmtlib Finds a priority node by ID in the linked list at offset +0x1b0. Iterates nodes comparing node[2] to param_2. Returns pointer to node[3] (priority value) if found, or null if not found. 0x0059A180 49 CFmt__find_sortable_data_by_string fmtlib Finds sortable data by string key in hash map at +0x17c via STL_unordered_map_find_string_key_v2. Returns value at node+0x20 if found, or 0 if not found. 0x0059A1C0 94 CFmt__get_filtered_exclusion_list fmtlib Wrapper that calls CFmt__func_0059a820 with the exclusion list vector at offset +0x1a4 and the given parameters. Used to get a filtered list excluding certain entries. 0x0059A220 830 CFmt__lookup_or_insert_by_lowercase_string fmtlib Complex lookup/insert by lowercase string. Converts input string to lowercase, computes FNV-1a hash, searches hash map. If not found and a callback is provided: invokes callback to generate a value, inserts into hash map (string key -> value), optionally also inserts into secondary emplace map. If found, returns stored value. Returns -1 if not found and no callback. 0x0059A560 67 CFmt__get_string_ptr_from_member_map fmtlib Gets string pointer by integer key from a member hash map at offset +0x4 (relative to param_1). Uses _Find_last for lookup. Returns string data pointer (handles SSO), or null if not found. 0x0059A5B0 63 CFmt__get_field_2c_by_int_key fmtlib Gets integer value at node offset +0x2c by integer key from hash map at +0x14. Uses _Find_last for lookup. Returns 0 if not found. 0x0059A5F0 63 CFmt__get_field_28_by_int_key fmtlib Gets integer value at node offset +0x28 by integer key from hash map at +0x14. Uses _Find_last for lookup. Returns 0 if not found. 0x0059A630 388 CEmotionMgr__find_and_classify_item_by_name game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Resolves emote type to effect ID 0x0059B660 385 CEmotionMgr__lookup_effect_id_by_name game_core 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 game_core Thin wrapper: inserts a string key with float value into an unordered_map. 0x0059B820 207 CEmotionMgr__find_or_create_sortable_list_item game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Thin wrapper: emplaces a string value pair into an unordered_map. 0x0059C3A0 110 CEmotionMgr__is_chat_prohibit_emote game_core 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 game_core 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 game_core Returns true if item ID exists in the active item vector at +0x1A4/+0x1A8. Linear search. 0x0059C4C0 42 CEmotionMgr__is_item_in_expired_list game_core Returns true if item ID exists in the expired item vector at +0x1B8/+0x1BC. Linear search. 0x0059C4F0 140 CEmotionMgr__evaluate_item_via_callback game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Stores server time offset at +0x1D0 as difference between local time() and provided server timestamp. 0x0059CE00 136 CEmotionMgr__apply_timezone_to_item_timers game_core 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 game_core Displays MessageBoxA with std::string title and text 0x0059CEC0 379 show_localized_messagebox game_core Looks up localized string by ID, formats with parameters, shows in MessageBoxA 0x0059D050 51 CEmotionMgr__sort_item_id_list game_core Wrapper that sorts an item ID vector using CListView__introsort with a comparison callback. 0x0059D090 68 CEmotionMgr__start_item_by_id game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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]. 0x0059D5E0 235 STL_vector_resize_fill_0059d5e0 stl STL vector resize with fill value 0x0059D6D0 235 STL_vector_resize_fill_0059d6d0 stl STL vector resize with fill value 0x0059D7C0 235 STL_vector_resize_fill_0059d7c0 stl STL vector resize with fill value 0x0059D8B0 235 STL_vector_resize_fill_0059d8b0 stl STL vector resize with fill value 0x0059D9A0 235 STL_vector_resize_fill_0059d9a0 stl STL vector resize with fill value 0x0059DA90 235 STL_vector_resize_fill_0059da90 stl STL vector resize with fill value 0x0059DB80 235 STL_vector_resize_fill_0059db80 stl STL vector resize with fill value 0x0059DC70 235 STL_vector_resize_fill_0059dc70 stl STL vector resize with fill value 0x0059DD60 235 STL_vector_resize_fill_0059dd60 stl STL vector resize with fill value 0x0059DE50 235 STL_vector_resize_fill_0059de50 stl STL vector resize with fill value 0x0059DF40 22 STL_hash_iterator_ctor_0059df40 stl Constructs hash map iterator, sets vtable and copies list pointer 0x0059DF60 22 STL_hash_iterator_ctor_0059df60 stl Constructs hash map iterator, sets vtable and copies list pointer 0x0059DF80 68 STL_hash_iterator_dtor_0059df80 stl Destructor for hash iterator, frees 8-byte allocation 0x0059DFD0 68 STL_hash_iterator_dtor_0059dfd0 stl Destructor for hash iterator, frees 8-byte allocation 0x0059E060 426 STL_unordered_map_rehash_0059e060 stl Rehashes unordered_map buckets using FNV-1a on 4-byte key 0x0059E210 362 STL_unordered_map_rehash_0059e210 stl Rehashes unordered_map buckets using integer key directly 0x0059E380 362 STL_unordered_map_rehash_0059e380 stl Rehashes unordered_map buckets using integer key directly 0x0059E4F0 362 STL_unordered_map_rehash_0059e4f0 stl Rehashes unordered_map buckets using integer key directly 0x0059E660 362 STL_unordered_map_rehash_0059e660 stl Rehashes unordered_map buckets using integer key directly 0x0059E7D0 362 STL_unordered_map_rehash_0059e7d0 stl Rehashes unordered_map buckets using integer key directly 0x0059E940 512 STL_unordered_map_rehash_string_key_0059e940 stl Rehashes unordered_map with std::string keys using FNV-1a 0x0059EB50 512 STL_unordered_map_rehash_string_key_0059eb50 stl Rehashes unordered_map with std::string keys using FNV-1a 0x0059ED60 512 STL_unordered_map_rehash_string_key_0059ed60 stl Rehashes unordered_map with std::string keys using FNV-1a 0x0059EF70 363 STL_unordered_map_rehash_char_key_0059ef70 stl Rehashes unordered_map with char/byte key 0x0059F100 1 stub_ret_0059f100 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0059F110 95 STL_unordered_map_insert_node stl Inserts pre-allocated node into hash bucket chain 0x0059F170 22 STL_hash_iterator_ctor_0059f170 stl Constructs hash map iterator 0x0059F190 22 STL_hash_iterator_ctor_0059f190 stl Constructs hash map iterator 0x0059F1B0 197 STL_vector_realloc_copy stl Reallocates vector buffer, copies existing elements 0x0059F2A0 132 _Rehash_for_1 game_core Rehashes an unordered container to ensure at least one bucket is available for insertion. 0x0059F350 478 STL_unordered_map_erase_range_int_key stl Erases range from unordered_map with FNV-1a 4-byte key 0x0059F530 490 STL_unordered_map_erase_range_string_key_0059f530 stl Erases range from unordered_map with string key 0x0059F720 490 STL_unordered_map_erase_range_string_key_0059f720 stl Erases range from unordered_map with string key 0x0059F910 490 STL_unordered_map_erase_range_string_key_0059f910 stl Erases range from unordered_map with string key 0x0059FB00 99 STL_unordered_map_clear_0059fb00 stl Clears all elements from unordered_map 0x0059FB70 99 STL_unordered_map_clear_0059fb70 stl Clears all elements from unordered_map 0x0059FBE0 99 STL_unordered_map_clear_0059fbe0 stl Clears all elements from unordered_map 0x0059FC50 28 CQuestManager__get_elapsed_server_time game_core Returns elapsed server time 0x0059FC70 322 lua_quest_add_objective_text lua Lua callback: adds quest objective text 0x0059FDC0 331 lua_quest_set_npc_image lua Lua callback: sets quest NPC portrait image 0x0059FF10 892 lua_quest_add_reward_items lua Lua callback: adds reward items to quest 0x005A0290 1366 lua_quest_load_resource_entries lua Lua callback: loads quest resource entries from Lua args into unordered_map. Args: (category_id, sub_id, strip_leading_slash, count, path1, path2, ...). Converts codepage strings, optionally strips leading '/' from paths, inserts into resource map and calls CEmotionMgr to create sortable list items. 0x005A07F0 331 lua_quest_set_npc_name_from_table lua Lua callback: sets NPC name from quest data table 0x005A0940 567 lua_quest_add_hunting_target lua Lua callback: adds hunting target to quest 0x005A0B80 346 lua_quest_add_mob_id_to_group lua Lua callback: adds mob ID to quest mob group 0x005A0CE0 962 lua_quest_register_sale_event lua Lua callback: registers item sale event with date validation 0x005A10B0 94 CUIFrameBase__ctor game_core Constructor for CUIFrameBase, sets vtable 0x005A1110 103 free_linked_list_nodes_0x10 stl Frees singly-linked list of 0x10-byte nodes 0x005A1180 110 CUIFrameBase__dtor game_core Destructor for CUIFrameBase 0x005A11F0 134 CUIFrameBase__scalar_dtor game_core Scalar deleting destructor for CUIFrameBase 0x005A1280 9 wrapper_CEntity__set_sex game_core Thin wrapper that calls CEntity__set_sex() 0x005A12C0 23 init_pair_zero game_core Initializes pair to {0, 0} 0x005A12F0 185 CUINavigator__call_GetNpcLocationRadius game_core Calls CEntity__get_effective_job_id(), then invokes Lua function "GetNpcLocationRadius" via lua_call_function. Returns 0. 0x005A13E0 333 CUIFrameBase__process_navigation_update game_core Updates navigation path 0x005A1530 163 CUIFrameBase__dispatch_message game_core Message dispatcher with jump table for IDs 3-0x7C 0x005A1960 16 CUIFrameBase__set_field_2e8 game_core Sets field at +0x2E8 0x005A19E0 16 CUIFrameBase__set_flag_2cc game_core Sets byte flag at +0x2CC 0x005A1AC0 173 STL_map_destroy_subtree stl Recursively destroys std::map subtree 0x005A1B70 211 CUINavigator__ctor game_core Constructor for CUINavigator 0x005A1C60 76 STL_map_dtor_0x70_nodes_005a1c60 stl Destroys std::map with 0x70-byte nodes 0x005A1CC0 87 STL_map_dtor_0x70_nodes_005a1cc0 stl Destroys std::map with 0x70-byte nodes 0x005A1D20 108 CUINavMapInfo__dtor game_core Destructor for CUINavMapInfo 0x005A1D90 87 destroy_two_strings game_core Destroys two consecutive std::string objects 0x005A1DF0 231 CUINavigator__dtor game_core Destructor for CUINavigator 0x005A1EE0 30 trivial_scalar_dtor_4byte game_core Trivial scalar deleting destructor for 4-byte object 0x005A1F00 133 CUINavMapInfo__scalar_dtor game_core Scalar deleting destructor for CUINavMapInfo 0x005A1F90 255 CUINavigator__scalar_dtor game_core Scalar deleting destructor for CUINavigator 0x005A2130 15 wrapper_string_dtor_005a2130 game_core Thin wrapper calling std::string destructor 0x005A2170 30 init_vector_empty game_core Initializes std::vector to empty state 0x005A21A0 27 CUINavigator__start_navigation game_core Starts navigation mode 0x005A21D0 266 CUINavigator__set_map_textures game_core Sets map and minimap texture paths 0x005A2520 23 CUINavigator__stop_navigation game_core Stops active navigation 0x005A2630 170 get_or_create_nav_map_info_singleton game_core Gets or creates CUINavMapInfo singleton 0x005A26E0 34 memcpy_range_to_dest_005a26e0 stl Copies memory range to destination 0x005A2710 429 STL_vector_insert_single_4byte stl STL vector insert with 1.5x growth 0x005A28E0 421 STL_vector_insert_single_8byte stl STL vector insert 8-byte element with growth 0x005A2AB0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x005A2B20 111 free_linked_list_nodes_0x18 stl Frees linked list of 0x18-byte nodes 0x005A2B90 549 STL_unordered_map_emplace_int_key stl Emplaces into unordered_map with FNV-1a key 0x005A2DC0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x005A2E30 31 STL_fill_range_4byte_005a2e30 stl STL template instantiation: STL fill range 4byte 005a2e30 0x005A2E50 146 CUIWorldMap__ctor game_core Constructor for CUIWorldMap 0x005A2EF0 67 free_optional_0x18_block stl Frees optional 0x18-byte block 0x005A2F40 102 destroy_vector_and_linked_list game_core Destroys vector and linked list 0x005A2FB0 125 STL_vector_dealloc_and_clear stl Deallocates vector buffer, resets to zero 0x005A3040 116 destroy_optional_0x18_node game_core Destroys optional 0x18-byte node 0x005A30C0 73 destroy_linked_list_0x18_sentinel game_core Destroys linked list including sentinel 0x005A3110 68 wrapper_destroy_pair_005a3110 game_core Wrapper calling pair destructor 0x005A3160 129 STL_vector_dealloc_if_nonempty stl Deallocates vector if non-null 0x005A31F0 95 CUIWorldMap__dtor game_core Destructor for CUIWorldMap 0x005A3250 103 STL_unordered_map_clear_with_list_005a3250 stl Clears unordered_map with 0x18-byte nodes 0x005A32E0 119 CUIWorldMap__scalar_dtor game_core Scalar deleting destructor for CUIWorldMap 0x005A3360 363 CEffect__transform_position_to_screen effect Transforms 3D world position to screen coordinates 0x005A34E0 832 CEffectManager__spawn_random_particle effect Spawns particle with random direction 0x005A3820 121 CEffectManager__tick_particle_spawner effect Ticks particle spawn timer 0x005A38A0 64 CEffectManager__release_all_particles effect Releases all active particles 0x005A38E0 303 generate_random_direction_vector game_core Generates random 2D direction vector 0x005A3A10 595 get_or_create_direction_table game_core Gets or creates direction table in hash map 0x005A3C70 459 CEffectManager__load_map_offset_data effect Loads map offset data from encrypted resource 0x005A3E50 63 CUIWorldMap__reset_timer_and_refresh game_core Resets frame counter, stores timestamp, calls refresh 0x005A3E90 119 CUIWorldMap__check_elapsed_timeout game_core Checks if elapsed time exceeds timeout 0x005A3F10 237 CUIWorldMap__update_particle_list game_core Updates particle list, removes expired particles 0x005A4000 45 reset_scene_if_valid game_core Resets scene if param is non-null 0x005A4030 44 CUIWorldMap__render_all_particles game_core Renders all particles via virtual function 0x005A4060 43 submit_particle_to_render_queue game_core Submits particle to renderer draw queue 0x005A40A0 235 STL_vector_resize_fill_005a40a0 stl STL vector resize with fill value 0x005A4190 426 STL_unordered_map_rehash_005a4190 stl Rehashes unordered_map with FNV-1a key 0x005A4340 129 STL_vector_dealloc_8byte_if_nonempty stl Deallocates 8-byte vector if non-null 0x005A43D0 511 STL_unordered_map_erase_range_int_key_0x18 stl Erases range from unordered_map, frees 0x18-byte nodes 0x005A45D0 10 STL_throw_vector_too_long stl Throws std::length_error vector too long 0x005A45E0 87 xor_decrypt_buffer security XOR decrypts buffer in-place using 64-bit key 0x005A4640 62 STL_allocator_deallocate stl STL std::allocator::deallocate - frees memory, handles oversized allocations by looking up original allocation pointer at ptr[-4] 0x005A4680 217 query_high_resolution_timer_ns game_core Returns nanosecond timestamp via QueryPerformanceCounter 0x005A4760 450 load_encrypted_effect_resource_A security Decrypts resource path from TLS, creates effect at positions 0x005A4930 450 load_encrypted_effect_resource_B security Decrypts resource path from TLS, creates effect at positions 0x005A4B00 1452 spawn_trail_particles_between_positions game_core Spawns trail particles along line between two 3D positions 0x005A50B0 497 load_encrypted_effect_resource_C security Decrypts 0x12-byte resource path, loads effect at +0x110 0x005A52B0 497 load_encrypted_effect_resource_D security Decrypts 0x10-byte resource path, loads effect at +0x110 0x005A54B0 518 load_encrypted_effect_resource_E security Decrypts 8-byte resource path, loads effect, sets scale 0.9f 0x005A56C0 497 load_encrypted_effect_resource_F security Decrypts 0x14-byte resource path, loads effect at +0x110 0x005A58C0 497 load_encrypted_effect_resource_G security Decrypts 0x14-byte resource path, loads effect at +0x110 0x005A5AC0 594 spawn_distance_based_effect game_core Spawns effect based on distance between two entities 0x005A5D50 142 classify_distance_range game_core Classifies float distance into range buckets 0-3 0x005A5E10 21 is_render_mode_deferred game_core Returns true if render mode is deferred (mode == 2) 0x005A5E30 21 is_render_mode_forward game_core Returns true if render mode is forward (mode == 1) 0x005A5E50 55 CEffect__try_apply_to_target effect Tries to apply effect to target entity via virtual at +0x44 0x005A5E90 14 is_valid_direction_index game_core Returns true if direction index is valid (0-3) 0x005A5EA0 15 CEffect__forward_param_to_vtable_48_A effect Forwards param_3 to virtual function at vtable+0x48 0x005A5EB0 15 CEffect__forward_param_to_vtable_48_B effect Forwards param_3 to virtual function at vtable+0x48 0x005A5EC0 68 trigger_fatal_error_if_nonzero game_core Triggers fatal error via CADD60 if param_2 is nonzero 0x005A5F30 15 wrapper_load_effect_E game_core Wrapper calling load_encrypted_effect_resource_E 0x005A5F40 15 CEffect__forward_param_to_vtable_44 effect Forwards param_3 to virtual function at vtable+0x44 0x005A5F50 94 CEffect__create_effect_on_entity effect Creates effect on entity at +0x110 using virtual lookup 0x005A5FB0 42 trigger_effect_callback_if_valid game_core Calls effect callback if param_2 entity is valid 0x005A6066 501 CSkillEffect__create_ice_cast_bottom_effect effect Creates two skill effects: first by name from param, second using "ice_cast_bottom" string. Both via CEffectManager__create_effect. Attaches effects to entity. 0x005A6260 513 load_encrypted_effect_resource_H security Decrypts 0x10-byte resource, loads effect, calls vtable+0x38 0x005A6470 15 wrapper_entity_death_effect game_core Wrapper calling entity_death_spawn_effect 0x005A6480 49 CEffect__release_effect_on_entity effect Releases effect on entity at +0x110 via B25120 0x005A64C0 26 CEffect__dispatch_create_with_defaults effect Dispatches effect creation via vtable[0] with defaults 0x005A64E0 33 CEffect__dispatch_create_with_params effect Dispatches effect creation via vtable[0] with all params 0x005A6510 555 entity_death_spawn_effect game_core Spawns death effect: checks main entity, decrypts resource, loads effect 0x005A6740 70 entity_death_visibility_toggle game_core Toggles entity visibility on death 0x005A67A0 514 apply_effect_with_encrypted_resource_I game_core Checks applicability, decrypts 0xB-byte resource, loads effect 0x005A69D0 42 trigger_effect_callback_005a69d0 game_core Calls effect callback CAE0F0 if entity is non-null 0x005A6A00 497 load_encrypted_effect_resource_J security Decrypts 0x11-byte resource, loads effect at +0x110 0x005A6C00 34 create_message_color_pair_yellow game_core Creates message+color pair: retrieves message string at index 0x123C and pairs it with yellow color (0xFFFF00) 0x005A6C30 34 create_message_color_pair_blue game_core Creates message+color pair: retrieves message string at index 0x123D and pairs it with blue color (0x0000FF) 0x005A6C70 609 apply_directional_effect_with_distance game_core Applies directional effect with distance-based flip 0x005A6F00 42 trigger_effect_callback_005a6f00 game_core Calls effect callback CAE0F0 if entity is non-null 0x005A6F30 581 apply_aimed_effect_with_distance game_core Applies aimed effect, sets rotation to facing angle 0x005A7180 18 wrapper_load_effect_B game_core Wrapper calling load_encrypted_effect_resource_B 0x005A71C0 42 trigger_effect_callback_005a71c0 game_core Calls effect callback CAE0F0 if entity is non-null 0x005A730D 359 CSkillEffect__create_named_effect_with_angle effect Creates a named effect by string, calculates screen angle between entity positions, sets rotation on the effect, then creates a skill effect on the entity. 0x005A75BD 359 CSkillEffect__create_named_effect_with_angle_variant effect Variant of create_named_effect_with_angle. Same pattern: looks up effect by name, creates it, calculates angle, sets rotation, creates skill effect. 0x005A7770 42 CEffect__on_npc_talk_close effect NPC talk close callback: plays close sound effect if target entity is valid 0x005A77A0 513 CEffect__on_npc_talk_open effect NPC talk open callback: decrypts and loads effect resource string, applies to target entity 0x005A79B0 34 CEffect__create_large_unit_buffer effect Creates a large unit effect display record. Retrieves effect name string from message table at index 0x124C and sets default highlight color to 0xFFFF00 (yellow). 0x005A79E0 34 CEffect__create_small_unit_buffer effect Creates a small unit effect display record. Retrieves effect name string from message table at index 0x124D and sets default highlight color to 0xFF (blue). 0x005A7A30 42 CEffect__on_mail_close effect Mail window close callback: plays close sound effect if target entity is valid 0x005A7A60 68 CEffect__on_critical_error_effect effect Critical error callback: triggers fatal error dialog with zeroed parameters 0x005A7AD0 916 CEffect__on_mail_open effect Mail open callback: decrypts two effect resource strings and loads both onto target entity 0x005A7E80 932 CEffect__on_auction_open effect Auction window open callback: decrypts and loads effect resource onto target entity 0x005A8250 1799 CEffect__on_guild_storage_open effect Guild storage open callback: decrypts and loads effect resources onto target entity 0x005A8A7F 1 stub_ret_005a8a7f game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x005A8A9C 1 nop_return_void game_core Single-byte NOP stub (no operation, returns immediately) 0x005A8B2B 1 CSkillEffect__remove_and_recreate_encrypted_effects effect Removes existing effect by encrypted name, then creates two new effects from XOR-encrypted TLS strings 0x005A8BED 1 CSkillEffect__remove_and_recreate_encrypted_effects_005a8bed effect CSkillEffect: remove and recreate encrypted effects 005a8bed 0x005A8C0A 1 nop_return_void_005a8c0a game_core Single-byte NOP stub (no operation, returns immediately) 0x005A8CA4 1 bad_instruction_data_005a8ca4 game_core Invalid/misaligned code fragment - likely data misidentified as a call target 0x005A8D5D 1 CSkillEffect__create_encrypted_effects_pair effect CSkillEffect: create encrypted effects pair 0x005A8D7A 1 nop_return_void_005a8d7a game_core Single-byte NOP stub (no operation, returns immediately) 0x005A8E22 1 bad_instruction_data_005a8e22 game_core Invalid/misaligned code fragment - likely data misidentified as a call target 0x005A8EED 1 CSkillEffect__create_single_encrypted_effect effect CSkillEffect: create single encrypted effect 0x005A8F0A 1 nop_return_void_005a8f0a game_core Single-byte NOP stub (no operation, returns immediately) 0x005A8FA8 1 nop_return_void_005a8fa8 game_core Single-byte NOP stub (no operation, returns immediately) 0x005A8FD0 458 CEffect__on_vending_open effect Vending window open callback: decrypts and loads effect resource onto target entity 0x005A91A0 513 CEffect__on_buying_store_open effect Buying store open callback: decrypts and loads effect resource onto target entity 0x005A93B0 513 CEffect__on_refine_open effect Refine window open callback: decrypts and loads effect resource onto target entity 0x005A95D0 513 CEffect__on_identify_open effect Identify window open callback: decrypts and loads effect resource onto target entity 0x005A97F0 932 CEffect__on_repair_open effect Repair window open callback: decrypts and loads effect resource onto target entity 0x005A9BB0 916 CEffect__on_storage_open effect Storage window open callback: decrypts and loads effect resource onto target entity 0x005A9F50 560 CEffect__on_shop_open effect Shop window open callback: decrypts and loads effect resource onto target entity 0x005AA180 560 CEffect__on_trade_open effect Trade window open callback: decrypts and loads effect resource onto target entity 0x005AA3C0 2093 CEffect__on_skill_target_select effect Skill target selection callback: decrypts and loads effect resources onto target entity 0x005AAC00 2535 CEffect__on_enchant_window_close effect Enchant window close/cleanup callback: iterates 4 times, removing multiple effect resources from the target entity via CEffectManager__remove_effect_by_id_and_type. Each iteration decrypts and resolves two effect names. 0x005AB610 42 CEffect__dispatch_buff_effect effect Buff effect dispatch callback: if target entity (param_2) is non-null, delegates to create_skill_effect_wrapper_a to apply the buff visual effect on the entity. 0x005AB640 497 CEffect__on_status_buff_apply effect Status buff apply callback: decrypts and loads effect resource onto target entity 0x005AB840 34 CEffect__create_debuff_effect_buffer effect Allocates debuff effect buffer, sets default color 0xffff00 0x005AB870 34 CEffect__create_aura_effect_buffer effect Allocates aura effect buffer. Retrieves effect name string from message table at index 0x123F and sets default highlight color to 0xFF (blue). 0x005AB8B0 497 CEffect__on_status_debuff_apply effect Status debuff apply callback: decrypts and loads effect resource onto target entity 0x005ABAB0 34 CEffect__create_heal_effect_buffer effect Allocates heal effect buffer, sets default color 0xffff00 0x005ABAE0 34 CEffect__create_warp_effect_buffer effect Allocates warp effect buffer. Retrieves effect name string from message table at index 0x124B and sets default highlight color to 0xFF (blue). 0x005ABB20 497 CEffect__on_heal_effect effect Heal effect callback: decrypts and loads effect resource onto target entity 0x005ABD20 34 CEffect__create_levelup_effect_buffer effect Allocates level-up effect buffer, sets default color 0xffff00 0x005ABD50 34 CEffect__create_death_effect_buffer effect Allocates death effect buffer. Retrieves effect name string from message table at index 0x1247 and sets default highlight color to 0xFF (blue). 0x005ABEED 1028 CSkillEffect__create_dual_encrypted_effects effect Creates effect by param name, then decrypts two XOR-encrypted effect names from TLS buffers at offsets 0x558 and 0x56c, creates additional effects with those names. 0x005AC300 34 CEffect__create_spawn_effect_buffer effect Allocates spawn effect buffer, sets default color 0xffff00 0x005AC330 34 CEffect__create_resurrection_effect_buffer effect Allocates resurrection effect buffer. Retrieves effect name string from message table at index 0x1249 and sets default highlight color to 0xFF (blue). 0x005AC360 513 CEffect__on_levelup_effect effect Level-up effect callback: decrypts and loads effect resource onto target entity 0x005AC71D 1 CSkillEffect__create_encrypted_effects_pair_005ac71d effect CSkillEffect: create encrypted effects pair 005ac71d 0x005AC73A 1 nop_return_void_005ac73a game_core Single-byte NOP stub (no operation, returns immediately) 0x005AC7E2 1 nop_return_void_005ac7e2 game_core Single-byte NOP stub (no operation, returns immediately) 0x005AC89E 1 nop_return_void_005ac89e game_core Single-byte NOP stub (no operation, returns immediately) 0x005AC8BB 1 nop_return_void_005ac8bb game_core Single-byte NOP stub (no operation, returns immediately) 0x005AC959 21 CSkillEffect__empty_stub_005ac959 effect Empty stub function, does nothing. Security cookie epilogue only. 0x005AC990 513 CEffect__on_death_effect effect Death effect callback: decrypts and loads effect resource onto target entity 0x005ACBA0 916 CEffect__on_spawn_effect effect Spawn effect callback: decrypts and loads effect resource onto target entity 0x005AD630 827 CEffect__on_resurrection_effect effect Resurrection effect callback: decrypts and loads effect resources onto target entity 0x005AD980 901 CEffect__on_warp_portal_effect effect Warp portal effect callback: decrypts and loads effect resources onto target entity 0x005ADD10 34 CEffect__create_item_drop_effect_buffer effect Allocates item drop effect buffer, sets default color 0xffff00 0x005ADD40 34 CEffect__create_item_pickup_effect_buffer effect Creates item pickup effect entry: gets message text from string table (index 0x124F) and stores it with color value 0xFF 0x005ADD80 932 CEffect__on_item_drop_effect effect Item drop effect callback: decrypts and loads effect resource onto target entity 0x005AE130 803 CEffect__on_item_pickup_effect effect Item pickup effect callback: decrypts two effect resource names from TLS and removes them from the target entity via CEffectManager__remove_effect_by_id_and_type. Cleans up item drop visual effects when the item is picked up. 0x005AE460 31 CEffect__dispatch_ground_effect_a effect Dispatches ground effect type A by calling the first virtual function on the effect object with provided parameters and target entity 0x005AE480 958 CEffect__on_ground_effect_a effect Ground effect type A callback: decrypts and loads effect resource onto target entity 0x005AE840 24 CEffect__reset_ground_effect_offset effect Resets entity ground effect offset field (+0x4f4) to 0 when target is non-null 0x005AE860 31 CEffect__dispatch_ground_effect_c effect Dispatches ground effect type C by calling the first virtual function on the effect object with provided parameters and target entity 0x005AE880 958 CEffect__on_ground_effect_b effect Ground effect type B callback: decrypts and loads effect resource onto target entity 0x005AEC40 958 CEffect__on_ground_effect_c effect Ground effect type C callback: decrypts and loads effect resource onto target entity 0x005AF140 23 CEffect__init_callback_entry effect Initializes effect callback entry: sets function ptr to NULL and color to default 0xffff00 0x005AF160 23 CEffect__init_callback_entry_2 effect Initializes effect callback entry variant: sets function ptr to NULL and color to 0xFF 0x005AF1A0 30 CEffect__scalar_deleting_destructor_4byte effect Scalar deleting destructor for 4-byte effect entry, frees memory if flag bit 0 set 0x005AF1C0 22 CEffect__get_callback_ptr_a effect Returns effect callback function pointer from entry slot A 0x005AF1E0 22 CEffect__get_callback_ptr_b effect Returns effect callback function pointer from entry slot B 0x005AF230 68 CEffect__scalar_deleting_destructor_callback_a effect Scalar deleting destructor for 8-byte callback entry A: frees memory via operator_delete if flag is set 0x005AF280 22 CEffect__get_callback_ptr_c effect Returns effect callback function pointer from entry slot C 0x005AF2A0 22 CEffect__get_callback_ptr_d effect Returns effect callback function pointer from entry slot D 0x005AF2F0 68 CEffect__scalar_deleting_destructor_callback_b effect Scalar deleting destructor for 8-byte callback entry B: frees memory via operator_delete if flag is set 0x005AF340 22 CEffect__get_callback_ptr_e effect Returns effect callback function pointer from entry slot E 0x005AF360 22 CEffect__get_callback_ptr_f effect Returns effect callback function pointer from entry slot F 0x005AF3B0 68 CEffect__scalar_deleting_destructor_callback_c effect Scalar deleting destructor for 8-byte callback entry C: frees memory via operator_delete if flag is set 0x005AF400 214 CEffectCallbackContainer__destructor effect Destructor for effect callback container: destroys 3 callback entries and frees their buffers 0x005AF4F0 513 CEffect__on_skill_cast_effect effect Skill cast effect callback: validates target, decrypts and loads effect resource 0x005AF710 514 CEffect__on_skill_hit_effect effect Skill hit effect callback: decrypts and loads effect resource onto target entity 0x005AF920 165 CEffect__destroy_callback_list_a effect Destroys effect callback list A: releases each callback via vtable destructor 0x005AF9D0 165 CEffect__destroy_callback_list_b effect Destroys effect callback list B: releases each callback via vtable destructor 0x005AFA80 165 CEffect__destroy_callback_list_c effect Destroys effect callback list C: releases each callback via vtable destructor 0x005AFB30 14 CEffect__has_active_callback effect Returns true if effect has non-null callback function pointer 0x005AFB40 14 CEffect__has_active_callback_2 effect Returns true if second effect slot has non-null callback function pointer 0x005AFB50 14 CEffect__has_active_callback_3 effect Returns true if third effect slot has non-null callback function pointer 0x005AFB60 171 CEffectCallbackContainer__constructor effect Constructor for effect callback container: initializes vtable and 3 callback buffer allocations 0x005AFC10 171 CEffectCallbackContainer__constructor_copy effect Copy constructor for effect callback container: initializes vtable and copies 3 callback buffers 0x005AFCD0 33 CEffect__release_active_reference_a effect Releases active effect reference at slot 9 via vtable call, sets to NULL 0x005AFD00 33 CEffect__release_active_reference_b effect Releases active effect reference at slot 9 via vtable call, sets to NULL (variant B) 0x005AFD30 33 CEffect__release_active_reference_c effect Releases active effect reference at slot 9 via vtable call, sets to NULL (variant C) 0x005AFD60 76 CEffect__destroy_callback_buffer_a effect Destroys callback buffer A: releases entries via destroy_callback_list then frees buffer 0x005AFDC0 76 CEffect__destroy_callback_buffer_b effect Destroys callback buffer B: releases entries via destroy_callback_list then frees buffer 0x005AFE20 76 CEffect__destroy_callback_buffer_c effect Destroys callback buffer C: releases entries via destroy_callback_list then frees buffer 0x005AFE80 92 CEffect__release_and_destroy_a effect Releases active reference then destroys callback buffer A with SEH cleanup 0x005AFEE0 92 CEffect__release_and_destroy_b effect Releases active reference then destroys callback buffer B with SEH cleanup 0x005AFF40 92 CEffect__release_and_destroy_c effect Releases active reference then destroys callback buffer C with SEH cleanup 0x005AFFA0 87 CEffect__cleanup_callback_a_seh effect SEH-protected cleanup of callback buffer A: destroys list entries then frees buffer 0x005B0000 87 CEffect__cleanup_callback_b_seh effect SEH-protected cleanup of callback buffer B: destroys list entries then frees buffer 0x005B0060 87 CEffect__cleanup_callback_c_seh effect SEH-protected cleanup of callback buffer C: destroys list entries then frees buffer 0x005B00C0 193 CEffectCallbackContainer__destructor_full effect Full destructor: sets vtable, destroys all 3 callback lists and frees all 3 buffers 0x005B06F0 270 CEffectCallbackContainer__init_singleton effect Initializes the CEffectCallbackContainer singleton: allocates container with vtable and 3 callback list buffers (0x40 bytes each) if global is NULL, stores in DAT_013896f4 0x005B0810 498 CEffect__on_party_effect effect Party effect callback: decrypts and loads effect resource onto target entity 0x005B0A20 600 CEffect__on_guild_effect effect Guild effect callback: decrypts and loads effect resources onto target entity 0x005B0CA0 42 CEffect__dispatch_emotion_effect effect Dispatches emotion effect by calling create_skill_effect_wrapper_a when target entity is non-null 0x005B0CD0 458 CEffect__on_emotion_effect effect Emotion effect callback: decrypts and loads effect resource onto target entity 0x005B0EB0 901 CEffect__on_pet_emotion_effect effect Pet emotion effect callback: decrypts and loads effect resources onto target entity 0x005B1250 827 CEffect__on_homunculus_emotion_effect effect Homunculus emotion effect callback: decrypts and loads effect resources onto target entity 0x005B15A0 68 CEffect__create_skill_effect_if_valid effect Creates skill effect on entity if param_2 is non-null. Calls CEntity__create_skill_effect with zero params. 0x005B1610 916 CEffect__on_mercenary_effect effect Mercenary effect callback: decrypts and loads effect resource onto target entity 0x005B1ADD 475 CSkillEffect__create_encrypted_dual_effect_at_0x8a4 effect Looks up effect by param name, decrypts XOR-encrypted effect name from TLS buffer at offset 0x8a4, creates two effects via CEffectManager. 0x005B1D7D 644 CSkillEffect__create_encrypted_dual_effect_at_0x8e4 effect Same pattern as 0x8a4 variant but uses TLS buffer at offset 0x8e4 with different XOR keys. 0x005B213D 475 CSkillEffect__create_encrypted_dual_effect_at_0x924 effect Same pattern as 0x8a4 variant but uses TLS buffer at offset 0x924 with different XOR keys. 0x005B23DD 644 CSkillEffect__create_encrypted_dual_effect_at_0x964 effect Same pattern as 0x8a4 variant but uses TLS buffer at offset 0x964 with different XOR keys. 0x005B2680 497 CEffect__on_elemental_effect effect Elemental spirit effect callback: decrypts and loads effect resource onto target entity 0x005B2890 497 CEffect__on_battleground_effect effect Battleground effect callback: decrypts and loads effect resource onto target entity 0x005B2BFE 1 CSkillEffect__create_encrypted_effects_with_delay effect CSkillEffect: create encrypted effects with delay 0x005B2C1B 1 nop_return_void_005b2c1b game_core Single-byte NOP stub (no operation, returns immediately) 0x005B2CBC 1 nop_return_void_005b2cbc game_core Single-byte NOP stub (no operation, returns immediately) 0x005B2D6C 1 vtable_dispatch_indirect_call game_core Vtable dispatch indirect call 0x005B2D9D 1 nop_return_void_005b2d9d game_core Single-byte NOP stub (no operation, returns immediately) 0x005B2DBA 1 nop_return_void_005b2dba game_core Single-byte NOP stub (no operation, returns immediately) 0x005B2E5A 1 nop_return_void_005b2e5a game_core Single-byte NOP stub (no operation, returns immediately) 0x005B2FEE 641 CSkillEffect__create_effect_with_timer_and_encrypted_name effect Creates effect by name, sets 300ms timer on it, then decrypts XOR-encrypted name from TLS buffer at 0xa08, creates second effect with same timer. 0x005B3270 497 CEffect__on_achievement_effect effect Achievement effect callback: decrypts and loads effect resource onto target entity 0x005B35DD 2128 CSkillEffect__create_multi_effect_with_navigator_textures effect Complex multi-effect creator: creates initial effect, decrypts names from TLS buffers at 0xa50/0xa88/0xa70, sets navigator map textures via CUINavigator, creates effects 0x9a8/0x9a9 with 990ms timers. Also uses 0xab8/0xa9c for additional names. 0x005B3E30 82 CEffect__start_navigation_effects effect Checks for navigation effect IDs 0x9a8/0x9a9 and triggers CUINavigator__start_navigation 0x005B3EA0 916 CEffect__on_navigation_effect effect Navigation effect callback: decrypts and loads effect resource onto target entity 0x005B4240 18 CEffect__load_encrypted_effect_resource_pair effect Delegates to load_encrypted_effect_resource_B to load a pair of encrypted effect resources. 0x005B4280 42 CEffect__trigger_chat_skill_effect effect Triggers chat skill effect via create_skill_effect_wrapper_a if param_2 is non-null. 0x005B42B0 1051 CEffect__on_chat_effect effect Chat effect callback: validates target, calculates distance, decrypts and loads two effect resources 0x005B46D0 35 CEffect__load_quest_effect_and_trail effect Loads quest encrypted effect resource pair and spawns trail particles between positions. 0x005B4720 964 CEffect__on_quest_effect effect Quest effect callback: plays sound, decrypts and loads two effect resources with duration 0x005B4F70 18 CEffect__load_quest_encrypted_resource_pair effect Delegates to load_encrypted_effect_resource_B to load a pair of quest encrypted effect resources. 0x005B4FB0 42 CEffect__trigger_instance_skill_effect effect Triggers instance dungeon skill effect via create_skill_effect_wrapper_a if param_2 is non-null. 0x005B4FE0 513 CEffect__on_instance_effect effect Instance dungeon effect callback: decrypts and loads effect resource onto target entity 0x005B51F0 34 CEffect__create_roulette_effect_buffer effect Allocates roulette effect buffer, sets default color 0xffff00 0x005B5220 34 CEffect__create_attendance_effect_buffer effect Allocates attendance effect buffer: gets message text 0x1237, sets color to red 0xFF. 0x005B5270 42 CUINavMap__conditional_cleanup_callback game_core Calls cleanup function if param_2 is nonzero; guard for conditional resource release 0x005B52A0 1535 CUINavMap__decrypt_and_spawn_nav_effects game_core Decrypts obfuscated effect names via xor_decrypt_buffer, spawns two navigation effects based on param_3 threshold 0x005B58C0 42 CUINavMap__conditional_create_skill_effect game_core Calls create_skill_effect_wrapper_a if param_2 is nonzero; conditional effect creation callback 0x005B58F0 34 CUINavMap__create_effect_entry_yellow game_core Creates effect entry with ID 0x1238 and yellow color (0xFFFF00) 0x005B5920 34 CUINavMap__create_effect_entry_blue game_core Creates effect entry with ID 0x1239 and blue color (0xFF) 0x005B5950 900 CUINavMap__decrypt_and_spawn_marker_effects game_core 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 game_core 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 game_core Dispatches first vtable method on param_1 with given params if param_6 is nonzero 0x005B6330 725 CUINavMap__remove_all_markers_by_type game_core Removes all nav markers of types 0x9A2 and 0x98C, then loops removing markers by decrypted name until none remain 0x005B6930 75 STL_tree_lower_bound stl Generic STL red-black tree lower_bound operation. Walks tree to find first node >= key. Used by many classes (CUserSettings, CMapInfoMgr, CUINavMap, CEntity, etc.). 0x005B6980 67 CUINavMap__free_tree_node_0x20 game_core Frees 0x20-byte tree node at param_1+4 if non-null 0x005B69D0 78 CUINavMap__free_tree_node_0x20_v2 game_core Frees 0x20-byte tree node at param_1+4 if non-null; same pattern as 005b6980 0x005B6A20 78 CUINavMap__free_tree_node_0x20_v3 game_core Frees 0x20-byte tree node at param_1+4 if non-null; same pattern as 005b6980 0x005B6A70 346 CUINavMap__insert_timer_node game_core 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 game_core 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 game_core Sets rotation deadline at +0x11CB0 by adding param_1 milliseconds (as microseconds) to current high-res timer 0x005B6D50 16 CUINavMap__set_rotation_period game_core Stores rotation period value at this+0x11CA8 0x005B6D60 517 STL_tree_insert_node stl STL std::_Tree_val::_Insert_node, inserts a node into red-black tree, performs rotations and recoloring to maintain balance. MSVC 2019 library function. 0x005B6F70 15 CSVParser__is_empty_005b6f70 game_core Returns true if field at offset +0x24 is zero (no data loaded) 0x005B6F80 15 CSVParser__is_empty_005b6f80 game_core Returns true if field at offset +0x24 is zero; identical to 005b6f70 0x005B6F90 34 copy_range_to_dest_005b6f90 game_core Copies memory from param_1 to param_2 into param_3; returns dest end pointer 0x005B6FC0 34 copy_range_to_dest_005b6fc0 game_core Copies memory from param_1 to param_2 into param_3; returns dest end pointer. Identical to 005b6f90 0x005B6FF0 452 STL_vector_insert_single_4byte_005b6ff0 stl Inserts single 4-byte element into vector; grows with 1.5x factor, uses aligned alloc for large buffers 0x005B71C0 276 STL_vector_insert_single_4byte_005b71c0 stl Inserts single 4-byte element into vector with 1.5x growth; delegates alloc to 005b8c70 0x005B7300 518 STL_vector_insert_single_24byte stl Inserts single 0x18-byte (24-byte) element into vector; copy-constructs via STL_string_copy_construct, destroys old buffer 0x005B7540 276 STL_vector_insert_single_4byte_005b7540 stl Inserts single 4-byte element into vector with 1.5x growth; identical pattern to 005b71c0 0x005B7680 33 CSVParser__release_vtable_ref_005b7680 game_core Releases object at this[9] via vtable call at vptr+0x10, then nulls the reference 0x005B76B0 33 CSVParser__release_vtable_ref_005b76b0 game_core 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 game_core Releases object at this[9] via vtable+0x10 with security cookie; same pattern as 005b7680 0x005B7740 92 CSVParser__release_vtable_ref_005b7740 game_core Releases object at this[9] via vtable+0x10 with security cookie; same pattern as 005b76e0 0x005B77A0 129 STL_vector_clear_and_free_4byte stl Frees vector buffer (aligned-aware), zeros begin/end/capacity pointers 0x005B7830 92 CSVParser__invoke_and_clear_callback game_core Invokes callback at +0x20 with mode-dependent this ptr based on flags at +0x24, then clears flags 0x005B78A0 104 CSVParser__move_assign_string_entry game_core Move-assigns a 24-byte string entry from param_2 to param_1; destroys old, transfers SSO buffer 0x005B7910 785 CSVParser__read_csv_line game_core Reads one CSV line from file stream, splitting on comma/newline/CR; returns vector of string fields 0x005B7C30 93 detect_bom_encoding game_core 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 game_core Frees all allocated line buffer pointers in vector, resets end to begin 0x005B7CD0 769 CSVParser__parse_file_with_callbacks game_core 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 game_core Extended CSV parser with two callback stages: transform function and row handler with std::function support 0x005B8410 236 CFileStream__open_csv_file file Opens file for CSV reading; validates path, detects BOM encoding, skips UTF-8 BOM, rejects UTF-16 0x005B8500 781 CSVParser__process_and_push_field game_core 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 game_core Reads entire text file into memory, splits by CR/LF, filters comment lines (//), pushes line pointers into vector 0x005B8AF0 90 STL_vector__Change_array_005b8af0 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x005B8B50 1 identity_return_ecx_005b8b50 game_core Identity function that returns its input parameter unchanged 0x005B8B60 197 STL_vector_reserve_4byte stl Reserves capacity for param_2 4-byte elements; copies existing data, frees old buffer (aligned-aware) 0x005B8C50 10 STL_vector_throw_length_error_005b8c50 stl Throws std::length_error with "vector too long" message 0x005B8C60 10 STL_vector_throw_length_error_005b8c60 stl Throws std::length_error with "vector too long" message; identical to 005b8c50 0x005B8C70 92 STL_vector_aligned_alloc_4byte stl Allocates param_1*4 bytes for vector; uses aligned allocation (32-byte aligned) for buffers >= 0x1000 0x005B8CD0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x005B8D10 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x005B8D50 121 CLuaState__construct lua Constructs Lua state wrapper; sets vtable, allocates 4-byte state ptr, registers with Lua manager 0x005B8DE0 105 CLuaState__destruct lua Destroys Lua state wrapper; unregisters from manager, closes Lua state, frees 4-byte allocation 0x005B8E50 30 CLuaState__scalar_dtor_4byte lua Scalar deleting destructor for 4-byte Lua state object; frees if flag bit 0 set 0x005B8E70 126 CLuaState__scalar_dtor_8byte lua Scalar deleting destructor for 8-byte Lua state wrapper; destroys state, frees if flag bit 0 set 0x005B8F00 18 MapSkyData__load_lua_script game_core Loads Lua script from "Lua Files/MapSkyData/MapSkyData" with flags (1,0) 0x005B8F20 193 MapSkyData__query_is_background_fog game_core Calls Lua "IsBackGroundFog" with map name; if true, sets background fog flag at renderer+0xCC+0xFC 0x005B8FF0 252 MapSkyData__query_background_color game_core Calls Lua "GetBackgroundColor" with map name via Lua state; sets background color on renderer 0x005B90F0 1277 MapSkyData__spawn_clouds_for_map game_core Queries Lua GetCloudTypeNum/GetCloudInfo per cloud type; spawns cloud effects at random positions with randomized offsets 0x005B95F0 1165 MapSkyData__apply_sky_config_for_map game_core Loads full sky config: IsExistMapSkyData, GetBackgroundColor, IsDrawStar, cloud spawning, old cloud cleanup, IsBackGroundFog 0x005B9A80 360 MapSkyData__cleanup_old_clouds game_core Queries Lua GetOldCloudTypeNum then loops GetOldCloudInfo to destroy old cloud effects by ID 0x005B9BF0 180 MapSkyData__query_draw_star game_core Calls Lua "IsDrawStar" with map name; if true, enables star rendering (effect ID 9) 0x005B9CB0 218 MapSkyDataEntry__construct game_core Constructs MapSkyData config entry with ID, name string, Lua function name string, and bool flag 0x005B9D90 185 MapSkyDataEntry__move_assign game_core Move-assigns MapSkyDataEntry: transfers flag, two string members, and ID from source to this 0x005B9E50 693 CMapSkyDataMgr__construct game_map Constructs CMapSkyDataMgr; sets vtable chain, inits 3 string members, decrypts default Lua path, creates initial config entry 0x005BA110 65 MapSkyDataEntry__dtor_string_005ba110 game_core Destroys single string member of MapSkyDataEntry 0x005BA160 80 MapSkyDataEntry__dtor_string_005ba160 game_core Destroys string member at offset +4 of MapSkyDataEntry 0x005BA1B0 106 MapSkyDataEntry__dtor_two_strings_005ba1b0 game_core Destroys two string members of MapSkyDataEntry in sequence 0x005BA220 106 MapSkyDataEntry__dtor_two_strings_005ba220 game_core Destroys two string members in reverse order; variant of 005ba1b0 0x005BA290 195 CMapSkyDataMgr__destruct game_map Destructs CMapSkyDataMgr; sets vtable chain, destroys 5 string members and base class 0x005BA360 87 CMapSkyDataMgr__dtor_base_2 game_map Partial destructor: sets vtable to purecall, destroys base string member 0x005BA3C0 74 CMapSkyDataMgr__dtor_base_1 game_map Base destructor: sets vtable to purecall, destroys single string member 0x005BA410 219 CMapSkyDataMgr__scalar_dtor game_map Scalar deleting destructor for CMapSkyDataMgr (0xB0 bytes); destroys all members, frees if flag set 0x005BA4F0 112 CMapSkyDataMgr__scalar_dtor_base_2 game_map Scalar deleting destructor for base level 2 (0x28 bytes); sets purecall vtable, frees if flag set 0x005BA560 99 CMapSkyDataMgr__scalar_dtor_base_1 game_map Scalar deleting destructor for base level 1 (0x1C bytes); sets purecall vtable, frees if flag set 0x005BA5D0 591 CMapSkyDataMgr__init_from_config game_map Initializes CMapSkyDataMgr: stores timestamp, ID, copies name/path strings, creates config entry with decrypted path 0x005BA830 199 CMapSkyDataMgr__copy_strings_and_load game_map Copies 4 string members from source offsets, then loads all hotkey configs from registry 0x005BA910 1488 CMapSkyDataMgr__load_and_apply game_map Full load pipeline: formats path, opens config, copies result strings with encrypted key lookups, creates final config entry 0x005BAEF0 50 snprintf_wrapper_005baef0 game_core Wrapper around __stdio_common_vsnprintf_s; returns -1 on error 0x005BAF30 281 STL_string_concat_cstr stl Concatenates std::string with C-string into new std::string result; handles SSO and heap allocation 0x005BB050 260 STL_vector_resize_24byte_fill stl Resizes vector of 0x18-byte elements to param_2 count; initializes new elements with fill value, moves existing 0x005BB190 466 WhisperBlockList__iterate_and_save_entries game_core 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 game_core Deep-copies linked list of 0x30-byte nodes with string members; creates sentinel, returns list head and count 0x005BB530 436 WhisperBlockConfig__construct game_core Constructs WhisperBlockConfig; sets vtable, decrypts registry key name, initializes 3 string fields, sets active flag 0x005BB6F0 67 WhisperBlockList__free_node_0x30 game_core Frees 0x30-byte linked list node at param_1+4 if non-null 0x005BB740 126 WhisperBlockList__clear_all_nodes game_core Clears linked list: unlinks sentinel, walks and frees each 0x30-byte node after destroying string member 0x005BB7C0 201 WhisperBlockList__destroy_hashtable_0x10 game_core Destroys hashtable: decrements count, frees all 0x10-byte bucket entries, frees bucket array, frees 8-byte header 0x005BB890 246 WhisperBlockList__destroy_hashtable_0x28 game_core Destroys hashtable with string dtors: decrements count destroying each string, frees 0x28-byte buckets, frees header 0x005BB990 134 WhisperBlockList__destroy_linked_list_0x30 game_core 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 game_core Destroys hashtable with 0x10-byte buckets; same pattern as 005bb7c0 0x005BBB00 105 WhisperBlockConfig__destruct game_core Destructs WhisperBlockConfig; sets vtable, destroys 3 string members 0x005BBB70 441 WhisperBlockConfig__destroy_all_data game_core Destroys all WhisperBlockConfig data: 2 string members, 0x28-byte hashtable, 0x10-byte hashtable, 8-byte header each 0x005BBD30 116 WhisperBlockConfig__destruct_with_map game_core Destructs WhisperBlockConfig variant with vtable 010e0fe4; destroys 2 strings, clears map data, frees allocator 0x005BBDB0 126 WhisperBlockConfig__scalar_dtor game_core Scalar deleting destructor for WhisperBlockConfig (0x5C bytes); destroys 3 strings, frees if flag set 0x005BBE30 137 WhisperBlockConfig__scalar_dtor_variant game_core Scalar deleting destructor for WhisperBlockConfig variant (0x4C bytes); destroys strings+map, frees if flag set 0x005BBEC0 135 WhisperBlockList__save_to_registry game_core Creates JSON writer, iterates block list BST saving each entry, writes to "WhisperBlockList" registry key 0x005BBF50 509 WhisperBlockConfig__get_or_create_singleton game_core Returns or creates global WhisperBlockConfig singleton (DAT_01389760); constructs with decrypted key, validates active flag 0x005BC150 27 WhisperBlockConfig__destroy_singleton game_core Destroys global WhisperBlockConfig singleton via vtable call, sets global ptr to null 0x005BC170 88 WhisperBlockConfig__copy_path_string game_core Copy-constructs string from this+0x44 offset (path member) into destination 0x005BC1D0 88 HotkeyConfig__copy_construct_string game_core Copies STL string at offset +0x2C of hotkey config object via copy constructor 0x005BC230 490 HotkeyConfig__load_emotion_hotkeys game_core Loads EmotionHotkey entries from registry, iterates emotion slots and reads key bindings 0x005BC420 255 HotkeyConfig__load_user_hotkey_v2 game_core Loads UserHotkey_V2 config; sets up SkillBar_1Tab, SkillBar_2Tab, InterfaceTab, EmotionTab 0x005BC520 1068 HotkeyConfig__load_all_from_registry game_core Master hotkey loader: decrypts registry keys, loads skillbar, emotion, and user hotkey configs 0x005BC950 445 HotkeyConfig__load_skillbar_entries game_core Iterates skillbar entry count, reads each entry string and copies to skillbar data array 0x005BCB10 614 HotkeyConfig__load_encrypted_config_strings game_core Loads two XOR-encrypted config strings from registry, stores at object offsets +0x2C and +0x44 0x005BCD80 204 HotkeyConfig__update_if_changed game_core Compares config ID and string; if changed, resets and updates with new values 0x005BCE50 796 HotkeyConfig__save_all_to_registry game_core Saves all hotkey config to registry: whisper blocklist, emotion hotkeys, shortcut bars 0x005BD170 111 HotkeyConfig__reset_to_defaults game_core Resets hotkey config: clears ID, sets name to unknown, destroys emotion entries 0x005BD1E0 221 HotkeyConfig__save_emotion_hotkeys game_core Writes emotion hotkey bindings to registry under EmotionHotkey section 0x005BD2C0 894 HotkeyConfig__save_all_shortcut_tabs game_core Saves SkillBar_1Tab, SkillBar_2Tab, InterfaceTab, EmotionTab, UserHotkey_V2 sections 0x005BD660 692 HotkeyConfig__load_tab_entries_from_json game_core 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 game_core Replaces vector backing buffer: frees old strings, deallocates old, assigns new 0x005BD9B0 1 identity_return_ecx_005bd9b0 game_core Identity function that returns its input parameter unchanged 0x005BD9C0 125 HotkeyConfig__init_empty_entries game_core Initializes N empty hotkey entries: zeroes int, sets SSO capacity to 15 0x005BDA40 95 HotkeyConfig__allocate_entry_array game_core Allocates aligned memory for array of hotkey entries (element size 0x18) 0x005BDAA0 729 HotkeyConfig__construct_config_object game_core Constructs hotkey config object: sets vtable, inits 4 SSO strings, decrypts config path 0x005BDD80 210 HotkeyConfig__destructor game_core Destructor: destroys 4 SSO strings, resets vtable pointers through inheritance chain 0x005BDE60 234 HotkeyConfig__scalar_deleting_destructor game_core Scalar deleting destructor for HotkeyConfig; optionally frees 200-byte object 0x005BDF50 666 HotkeyConfig__set_config_values_and_save game_core Sets config ID, timestamp, copies 4 strings, decrypts registry key, saves 0x005BE210 2074 HotkeyConfig__save_encrypted_config game_core Saves hotkey config with XOR-encrypted registry keys for skillbar, emotion sections 0x005BEA30 268 SpriteActionNode__construct game_sprites Constructs tree node with vtable, int field, and 6 SSO strings plus byte flag 0x005BEB40 141 SpriteActionNode__destruct game_sprites Destructs tree node: destroys 6 SSO strings with proper unwind ordering 0x005BEBD0 165 SpriteActionNode__scalar_deleting_destructor game_sprites Scalar deleting destructor for tree node; optionally frees 0x9C-byte block 0x005BEC80 149 SpriteActionNode__clear_all_strings game_sprites Clears 6 SSO strings in node by zeroing length and first char 0x005BED20 34 memcpy_range_to_dest_005bed20 stl Copies memory range [param1, param2) to dest buffer, returns end pointer 0x005BED50 34 memcpy_range_to_dest_005bed50 stl Copies memory range [param1, param2) to dest buffer, returns end pointer 0x005BED80 134 SpriteAction__destroy_tree_recursive game_sprites Recursively destroys red-black tree nodes: traverses subtrees, frees 0xB0 nodes 0x005BEE10 16 wrapper_memset game_core Thin wrapper around memset(dst, val, size) 0x005BEE20 75 _Find_lower_bound<> stl STL tree lower_bound helper. Binary search for the first element not less than a key. 0x005BEE70 230 SpriteAction__grow_buffer_and_fill game_sprites Grows backing buffer with 1.5x growth factor, fills new space with byte value 0x005BEF80 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x005BEFB0 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x005BEFE0 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x005BF000 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x005BF020 34 memcpy_range_to_dest_005bf020 stl Copies memory range [param1, param2) to dest buffer, returns end pointer 0x005BF050 34 memcpy_range_to_dest_005bf050 stl Copies memory range [param1, param2) to dest buffer, returns end pointer 0x005BF080 245 SpriteAction__construct_manager game_sprites Constructs sprite action manager: creates RB-tree sentinel, two linked lists 0x005BF180 65 SpriteAction__destroy_string_wrapper game_sprites Wrapper that destroys a single STL string with stack cookie check 0x005BF1D0 70 SpriteAction__free_sentinel_node game_sprites Frees the 0xB0-byte sentinel node if non-null 0x005BF220 79 SpriteAction__destroy_tree_and_sentinel game_sprites Destroys entire RB-tree recursively starting from root, frees sentinel 0x005BF280 119 SpriteAction__destruct_and_free_sentinel game_sprites Destructs sentinel node object, then frees its 0xB0-byte block 0x005BF300 81 SpriteAction__free_node_memory game_sprites Frees 0xB0-byte tree node memory if pointer at offset+4 is non-null 0x005BF360 77 SpriteAction__clear_list_a_and_free game_sprites Clears linked list A, frees 8-byte head node, resets pointer to null 0x005BF3C0 77 SpriteAction__clear_list_b_and_free game_sprites Clears linked list B, frees 8-byte head node, resets pointer to null 0x005BF420 90 SpriteAction__destroy_tree_and_free game_sprites Destroys RB-tree from root and frees sentinel 0xB0 block 0x005BF480 68 SpriteAction__destruct_node_wrapper_a game_sprites Thin wrapper calling SpriteActionNode destructor with cookie check 0x005BF4D0 68 SpriteAction__destruct_node_wrapper_b game_sprites Thin wrapper calling SpriteActionNode destructor with cookie check 0x005BF520 184 SpriteAction__destruct_manager game_sprites Destructs sprite action manager: clears lists, destroys tree, frees allocations 0x005BF5E0 243 SpriteAction__find_or_insert_node game_sprites Finds existing tree node by key or inserts new 0xB0 node into RB-tree 0x005BF6E0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x005BF740 205 SpriteAction__scalar_deleting_destructor game_sprites Scalar deleting destructor for action manager; optionally frees 0x34 block 0x005BF810 92 SpriteAction__expire_old_entries game_sprites Removes entries older than 10 seconds via timeGetTime comparison 0x005BF870 19 SpriteAction__forward_to_process game_sprites Forwards call to sprite processing function at 005c1c50 0x005BF890 462 SpriteAction__find_node_by_string game_sprites Searches tree nodes comparing string field; returns key value or 0 0x005BFA60 687 SpriteAction__serialize_tree_to_buffer game_sprites Serializes tree nodes to flat buffer: count + key + 4 strings per node 0x005BFD10 470 SpriteAction__lookup_or_create_cached game_sprites Looks up key in tree/queue; adds to queue if not found 0x005BFEF0 100 SpriteAction__insert_and_copy_string game_sprites Finds or inserts node by key, copies string data to offset +4 0x005BFF60 229 SpriteAction__dequeue_pending_entry game_sprites Dequeues front entry from circular queue, validates against tree 0x005C0050 56 SpriteAction__clear_all_data game_sprites Clears all data: destroys tree, resets sentinel, empties both linked lists 0x005C0090 242 SpriteAction__add_to_circular_queue game_sprites Adds integer key to circular queue with growing bucket table if full 0x005C0190 57 SpriteAction__contains_key game_sprites Returns true if the given key exists in the RB-tree 0x005C01D0 467 SpriteAction__process_pending_requests game_sprites Expires old entries, dequeues pending, sends packet 0x368, timestamps results 0x005C03B0 507 SpriteAction__insert_full_node_data game_sprites Finds/inserts node by key, copies 6 string fields and int value, marks valid 0x005C05B0 2216 SpriteAction__parse_action_data game_sprites Parses binary action data into tree: reads 4 string fields per entry 0x005C0E60 147 SpriteAction__set_node_string_field_0 game_sprites Finds or inserts node by key, copies string to field at offset +0x04 0x005C0F00 147 SpriteAction__set_node_string_field_3 game_sprites Finds or inserts node by key, copies string to field at offset +0x4C 0x005C0FA0 147 SpriteAction__set_node_string_field_4 game_sprites Finds or inserts node by key, copies string to field at offset +0x64 0x005C1040 123 SpriteAction__allocate_buffer game_sprites Allocates aligned byte buffer for blocks over 0x1000, sets begin/end/capacity 0x005C10C0 85 SpriteAction__swap_buffer game_sprites Frees old buffer, replaces with new buffer pointer, sets size and capacity 0x005C1120 141 SpriteAction__reallocate_buffer game_sprites Reallocates buffer with 1.5x growth: frees old, allocates new minimum bytes 0x005C11B0 704 RBTree__erase_node_and_rebalance game_core Erases a node from RB-tree with full rebalancing: rotations and color fixes 0x005C1470 1 identity_return_ecx_005c1470 game_core Identity function that returns its input parameter unchanged 0x005C1480 418 CircularQueue__grow_bucket_table_a game_core Grows queue bucket table by doubling, rehashes with 4-element-per-bucket layout 0x005C1630 417 CircularQueue__grow_bucket_table_b game_core Grows queue bucket table by doubling, rehashes with 2-element-per-bucket layout 0x005C17E0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x005C19F0 84 RBTree__rotate_right game_core Right rotation of RB-tree node: promotes right child, updates parent links 0x005C1A50 88 RBTree__rotate_left game_core Left rotation of RB-tree node: promotes left child, updates parent links 0x005C1AB0 182 CircularQueue__destroy_buckets_a game_core Destroys all bucket arrays in circular queue A, frees table, resets pointers 0x005C1B70 182 CircularQueue__destroy_buckets_b game_core Destroys all bucket arrays in circular queue B, frees table, resets pointers 0x005C1C30 10 STL_throw_deque_too_long_005c1c30 stl Throws length_error with deque too long message 0x005C1C40 10 STL_throw_deque_too_long_005c1c40 stl Throws std::length_error with "deque too long" message. Duplicate of 005c1c30. 0x005C1C50 387 SpriteAction__erase_range_by_key game_sprites Erases a range of nodes from the RB-tree by key bounds. Finds lower and upper bounds, iterates through matching nodes, calls erase_node_and_rebalance + destructor for each. If the entire tree matches, destroys all and resets sentinel. 0x005C1DE0 67 SpriteAction__find_node_by_key game_sprites Finds node by key in the RB-tree using _Find_lower_bound. Returns the node if key matches, otherwise returns sentinel (end). 0x005C1E30 18 CircularQueue__pop_front game_core Pops front element from circular queue. Decrements count; if zero resets offset, otherwise advances offset by 1. 0x005C1E50 160 SpriteAction__destroy_tree_recursive_005c1e50 game_sprites Recursively destroys all nodes in a subtree. For each node: recurse right, clear vector, destroy string, free 0x48-byte node, then follow left child. 0x005C1EF0 146 SpriteActionNode__construct_005c1ef0 game_sprites Constructs a SpriteActionNode: zeroes string length/capacity fields, initializes two STL strings to empty (capacity=0xf), zeroes array pointers (offset 0x1C-0x30). 0x005C1F90 110 SpriteAction__init_rbtree game_sprites Initializes an RB-tree: allocates 0x48-byte sentinel node, sets left/right/parent pointers to self, sets color flags to 0x0101 (black+leaf), stores sentinel pointer. 0x005C2000 76 SpriteAction__free_single_entry game_sprites Frees single sprite action entry: calls cleanup at offset+4, deallocates 0x48 block 0x005C2060 87 SpriteAction__free_single_entry_005c2060 game_sprites Frees single sprite action entry: recursively destroys tree nodes, then frees the 0x48-byte sentinel. Duplicate of 005c2000. 0x005C20C0 87 SpriteActionNode__destruct_005c20c0 game_sprites Destructs a SpriteActionNode: clears and frees the 4-byte element vector, then destroys the STL string field. 0x005C2120 99 SpriteAction__free_single_entry_005c2120 game_sprites Frees single sprite action entry: recursively destroys tree nodes, then frees the 0x48-byte sentinel. Duplicate of 005c2000. 0x005C2190 198 SpriteAction__copy_vector_from_node game_sprites Copies a vector of 4-byte elements from source node (offset 0x28-0x30) into destination. Allocates new buffer, memcpy's elements, sets begin/end/capacity pointers. 0x005C2270 88 SpriteAction__copy_construct_string_field game_sprites Copy-constructs an STL string at this+4 from another string. Used during SpriteAction node initialization. 0x005C2310 49 SpriteAction__validate_action_id_range game_sprites Validates action ID is within allowed ranges: 0x3E9-0xF9E (1001-3998) or 0x4E35-0x7CFF (20021-31999). Stores valid ID and returns 1, or returns 0 if out of range. 0x005C2350 93 SpriteAction__add_unique_to_vector game_sprites Adds a non-negative value to the vector at offset 0x28 only if not already present. Returns 1 on success, 0 if value is negative or duplicate. Uses linear scan for duplicate check. 0x005C23B0 59 SpriteAction__assign_cstring_to_field game_sprites Assigns a null-terminated C string to the object's STL string field. Calculates strlen manually, then calls STL_string_assign_buffer. Returns 1 on success, 0 if null. 0x005C23F0 115 SpriteAction__try_assign_string_field game_sprites Conditionally assigns string data to object's string field at offset+4. If source length is nonzero, copies buffer contents. Returns 1 on assignment, 0 if empty source. Destroys temp string after. 0x005C2470 25 SpriteAction__set_delay game_sprites Sets delay value at offset 0x20. Rejects negative values, returns 1 on success, 0 on failure. 0x005C2490 28 SpriteAction__set_frame_count game_sprites Sets frame count at offset 0x1C. Rejects values >= 9999, returns 1 on success, 0 on failure. 0x005C24B0 25 SpriteAction__set_loop_flag game_sprites Sets loop flag at offset 0x24. Only accepts value 0 (disables looping). Returns 1 on success, 0 for nonzero input. 0x005C24D0 45 SpriteAction__contains_value_in_vector game_sprites Checks if a given integer value exists in the vector at offset 0x28. Returns 1 if found, 0 otherwise. Skips search if flag at offset 0x14 is zero. 0x005C2500 62 SpriteAction__find_node_data_by_key game_sprites Finds node in RB-tree by key and returns pointer to data at node+0x14 (5th dword). Uses upper_bound search; returns sentinel data if key not found. 0x005C2540 34 SpriteAction__memcpy_range game_sprites Copies memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past copied data in destination. 0x005C2570 452 STL_vector_4byte_insert_realloc_005c2570 stl STL vector insert with reallocation for 4-byte elements. Grows with 1.5x factor, inserts element at given position, memcpy's surrounding data, frees old buffer. Uses aligned allocation for buffers >= 0x1000 bytes. 0x005C2740 25 SpriteAction__zero_array game_sprites Zeroes an array of 4-byte elements using memset. param_2 is the element count. 0x005C2760 25 SpriteAction__zero_array_005c2760 game_sprites Zeroes an array of 4-byte elements using memset. param_2 is the element count. Duplicate of 005c2740. 0x005C2780 28 SpriteAction__is_empty game_sprites Returns 1 (true) if the first dword pointed to by param_1 is zero, indicating the SpriteAction data is empty/uninitialized. 0x005C27A0 28 CNavigatorWnd__is_data_null ui_windows Returns true if the dereferenced pointer value is zero (null data check) 0x005C27E0 114 CNavigatorScrollList__ctor game_core Constructor for CNavigatorScrollList: calls UIScrollListBase__ctor, sets vtable, initializes 3 list fields to zero 0x005C2860 86 CNavigatorSubWindow__ctor game_core Constructor for CNavigatorSubWindow: calls UIWindowBase__ctor, sets vtable 0x005C28C0 150 CNavigatorTimerWindow__ctor game_core Constructor for CNavigatorTimerWindow: calls UIWindowBase__ctor, sets vtable, initializes timer fields (default timeout 2000ms) 0x005C2960 86 CNavigatorBaseWindow__ctor game_core Constructor for CNavigatorBaseWindow: calls UIWindowBase__ctor, sets vtable (minimal subclass) 0x005C29C0 157 CNavigatorSearchWindow__ctor game_core Constructor for CNavigatorSearchWindow: calls UIWindowBase__ctor, sets vtable, initializes SSO string buffer (capacity 0xf) and counter fields 0x005C2A80 121 CNavigatorWnd__destroy_string_linked_list ui_windows Destroys a linked list of 0x20-byte nodes, each containing a string. Iterates and frees each node, then frees the sentinel 0x005C2B00 5 CNavigatorWnd__vector_clear_and_free_a ui_windows Clears and frees a vector's backing array. Handles aligned allocation cleanup. Zeros out base/size/capacity pointers 0x005C2B10 5 CNavigatorWnd__vector_clear_and_free_b ui_windows Clears and frees a vector's backing array. Identical pattern to vector_clear_and_free_a, used for a different member vector 0x005C2B20 129 CNavigatorWnd__vector_clear_and_free_c ui_windows Clears and frees a vector's backing array with SEH protection. Same pattern as the other vector_clear_and_free functions 0x005C2BB0 87 CNavigatorWnd__destroy_two_strings ui_windows Destroys two STL strings in sequence with SEH protection 0x005C2C10 122 CNavigatorWnd__reset_selection_state ui_windows Resets selection state: sets fields to -1/0, clears the embedded string, destroys string buffer via STL_string_dtor 0x005C2C90 95 CNavigatorScrollList__dtor game_core Destructor for CNavigatorScrollList: sets vtable, clears item vector, calls UIFormattedWidgetBase__dtor 0x005C2CF0 98 CNavigatorSubWindow__dtor game_core Destructor for CNavigatorSubWindow: sets vtable, calls virtual cleanup at vfunc+0xdc, calls UIWindowBase__dtor 0x005C2D60 95 CNavigatorTimerWindow__dtor game_core Destructor for CNavigatorTimerWindow: sets vtable, clears struct vector via CFmt__vector_of_structs_dtor, calls UIWindowBase__dtor 0x005C2DC0 71 CNavigatorBaseWindow__dtor game_core Destructor for CNavigatorBaseWindow: sets vtable, calls UIWindowBase__dtor (minimal cleanup) 0x005C2E10 119 CNavigatorSearchWindow__dtor game_core Destructor for CNavigatorSearchWindow: sets vtable, copies a field, clears vector, destroys string, calls UIWindowBase__dtor 0x005C2E90 40 operator= game_core Assignment operator. Copies string content from source to this object. 0x005C2EC0 113 CNavigatorDialog__scalar_deleting_dtor game_core Scalar deleting destructor for CNavigatorDialog: destroys string, calls UIBaseDialog__destructor, conditionally frees 0x134-byte object 0x005C2F40 119 CNavigatorScrollList__scalar_deleting_dtor game_core Scalar deleting destructor for CNavigatorScrollList: sets vtable, clears item vector, calls UIFormattedWidgetBase__dtor, conditionally frees 0xE0-byte object 0x005C2FC0 122 CNavigatorSubWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CNavigatorSubWindow: sets vtable, calls virtual cleanup, calls UIWindowBase__dtor, conditionally frees 0xB8-byte object 0x005C3040 119 CNavigatorTimerWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CNavigatorTimerWindow: clears struct vector, calls UIWindowBase__dtor, conditionally frees 0x124-byte object 0x005C30C0 99 CNavigatorBaseWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CNavigatorBaseWindow: calls UIWindowBase__dtor, conditionally frees 0xB8-byte object 0x005C3130 143 CNavigatorSearchWindow__scalar_deleting_dtor game_core 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 game_core 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) 0x005C3270 195 CNavigatorWnd__hit_test_grid_cell ui_windows Hit-tests x,y coordinates against an 8-cell grid (2 rows x 4 columns). Returns 1-8 for the cell index, or -1 if outside all cells. Row thresholds: 0x19-0x37 and 0x3F-0x5B. Column thresholds: 0x0B, 0x2F, 0x53, 0x77 (each 0x1F wide) 0x005C3340 22 CNavigatorWnd__clear_list_and_reset_count ui_windows Clears the list box items and resets the item count (copies field 0xD4 to 0xD8) 0x005C3360 110 CNavigatorWnd__clear_string_vector_entries ui_windows Clears a vector of 0x18-byte string entries: first zeros out each string's length and null-terminates, then destructs all strings and resets the vector end pointer 0x005C33E0 196 CNavigatorWnd__draw_minimap_preview ui_windows Draws a minimap preview at the given position. Uses global minimap data (DAT_016fc590) to get dimensions, calls CEffect__fill_rect for background, then draws scaled minimap texture via virtual sprite render function 0x005C34B0 3764 SpriteRenderer__render_with_shadow_layers game_core 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 0x005C4370 163 CNavigatorWnd__draw_player_position_marker ui_windows Draws the player position marker on the minimap. Gets player cell position, converts to screen coords via CNavigator__map_to_screen_with_resource_lookup, loads arrow sprite, draws at offset (-9, -17) from screen position. Returns 1 if drawn, 0 if position unavailable 0x005C4420 96 CNavigatorWnd__init_triple_field_zero_a ui_windows Initializes a 3-DWORD structure to all zeros with SEH frame setup 0x005C4480 96 CNavigatorWnd__init_triple_field_zero_b ui_windows Initializes a 3-DWORD structure to all zeros with SEH frame setup (second instance, for a different member) 0x005C4520 133 CNavigatorWnd__get_name_string ui_windows Copies the null-terminated string at object offset 0x68 into the output STL string parameter. Initializes SSO buffer, then assigns via STL_string_assign_buffer 0x005C45D0 14 CNavigatorWnd__has_child_at_offset_0x30 ui_windows Returns true if the sub-object at this->0xD4 has a non-zero value at offset 0x30 (checks if a child control has data/content) 0x005C45E0 43 CNavigatorWnd__grid_index_to_pixel_x ui_windows Converts a 1-8 grid cell index to a pixel X offset. Indices 1-4 map to columns 0-3, indices 5-8 wrap to columns 0-3 offset by -4. Formula: (adjusted_index * 0x24) - 0x1A. Returns 0 for out-of-range 0x005C4610 24 CNavigatorWnd__grid_index_to_row_height ui_windows Returns the row height for a grid cell: 0x18 (24px) for indices < 5 (top row), 0x3C (60px) for indices >= 5 (bottom row) 0x005C4690 404 CNavigatorWnd__layout_expanded_controls ui_windows Positions all child controls for the expanded navigator layout. Arranges buttons, labels, list boxes, scrollbars at fixed pixel coordinates. Some controls moved offscreen (-1000,-1000) when hidden 0x005C4830 684 CNavigatorWnd__update_layout ui_windows Main layout update for CNavigatorWnd. In compact mode (DAT_016fc55c==1): resizes to 0x86x0x3D, hides most controls. In expanded mode: resizes to 0x110x0x152, delegates to layout_expanded_controls or layout_compact_controls based on DAT_016fc564. Updates all labels (map name, destination, tooltip, waypoint, arrival) 0x005C4AE0 392 CNavigatorWnd__layout_compact_controls ui_windows Positions all child controls for the compact navigator layout with additional widgets visible. Similar to layout_expanded but with extra controls (0x3A-0x40) positioned at specific coordinates instead of offscreen 0x005C4C80 229 CNavigatorWnd__create_scrollbar_children ui_windows Creates two scrollbar child controls: a vertical sprite scrollbar (0xB4 bytes) and a horizontal sprite scrollbar (0xB4 bytes), each initialized with UIScrollbar__init_with_orientation and added as children 0x005C4D70 296 CNavigatorWnd__create_scroll_list_panel ui_windows Creates the scroll list panel: adds a close button (msg 0xBE5), creates a CNavigatorScrollList (0xE0 bytes) with white background (0xFF,0xFF,0xFF), sets width to 0x150, positions at (2,0x14), and adds as child. Then calls process_func_005c8f70 to populate 0x005C4EA0 3730 CNavigatorWnd__create_child_controls ui_windows Creates all child controls for CNavigatorWnd: dialog buttons (close, action, navigation), scroll lists (white and blue-tinted), checkboxes, radio buttons, text input, render widget/dropdown, labels. Initializes ~20 child widgets stored at offsets 0xB4-0x100. Sets textures, sizes, colors, and localized text from CMessageStringTable. Calls update_layout at the end 0x005C5D40 259 CNavigatorWnd__create_item_slot_widget ui_windows Creates an item slot widget child: adds close button (msg 0xBE5), creates a 0xB8-byte UIItemSlotWidget, sets its texture, sizes it to its texture dimensions, positions based on DAT_016fc64c grid index, makes it visible, adds as child 0x005C5E50 539 CNavigatorWnd__populate_list_from_tree ui_windows Populates the navigator list from a tree data source. Iterates through DAT_0138d284 entries, for each: gets tree value, looks up item info (class/level), gets field text, creates a CDialogWnd button (0xD0 bytes) with formatted text (msg 0xD01), positions in rows (0x1A spacing), stores item ID at offset 0xB0, appends to item vector at offset 0xD4 0x005C6070 3 CNavigatorWnd__noop_a ui_windows Empty virtual method stub (no-op). Likely a placeholder for an unimplemented event handler 0x005C6080 3 CNavigatorWnd__noop_b ui_windows Empty virtual method stub (no-op). Likely a placeholder for an unimplemented event handler 0x005C6090 500 CNavigatorWnd__render_list_items ui_windows Renders the scroll list items. Draws a vertical separator line, iterates visible items (from scroll offset to visible count), highlights selected item row, draws status icons (values 1-3, 100, 200, 300 map to different sprite resources), and renders item text with shadow 0x005C62F0 2419 CNavigatorWnd__on_draw ui_windows Main draw handler for CNavigatorWnd. In compact mode: draws 0x86x0x3D bordered box with title and optional destination info. In map view (mode 2/type 1): draws minimap with player marker, path waypoints, destination arrow, and optional navigation timer overlay with word-wrapped text. In map view (type 2): draws minimap with map/destination labels and crosshair cursor. In list view (default): draws bordered panels, minimap preview (with sprite or animated preview), and labeled waypoint entries with shadow text 0x005C6C70 73 CNavigatorWnd__draw_header_background ui_windows Draws the navigator window header: loads background sprite from resource, draws title bar text (msg 0xC83), and renders background sprite at origin 0x005C6CC0 570 CNavigatorWnd__draw_minimap_overlay ui_windows Draws the navigator minimap overlay including sprites, message text labels at positions, and word-wrapped text content from field at offset 0xB8 when field 0xC8 is nonzero. 0x005C6F40 65 CNavigatorWnd__on_listbox_click ui_windows Handles click on the navigator list box. Performs hit test to find the clicked row, stores the row index at offset 0x94, then sends a notification to the parent via vtable call 0x94 with event type 6, and triggers a redraw via vtable 0x98. 0x005C6F90 428 CNavigatorWnd__on_minimap_click ui_windows Handles click on the navigator minimap. Draws the footer bar, then if in navigation mode 2 (DAT_016fc564==2), converts screen coordinates to map coordinates using scale factor and checks bounds. If valid, gets the map name and calls handler_005c9e00 to navigate. Otherwise, sets a fade state (0xAA) with timeGetTime(). 0x005C7140 250 CNavigatorWnd__on_minimap_grid_click ui_windows Handles click on the navigator minimap grid (4x2 cell layout). Maps x,y screen position to a cell index (1-8) based on grid boundaries. Sends notification with cell index to parent window (vtable 0x94), then calculates scroll offset and calls vtable 0x10 to reposition. Also draws footer bar. 0x005C7330 3 CNavigatorWnd__on_draw_noop ui_windows Empty draw callback stub for CNavigatorWnd. Does nothing (3-byte ret). 0x005C7340 21 CNavigatorWnd__dispatch_vtable_4 ui_windows Dispatches to vtable+4 on the object. Indirect jump (its jump table could not be recovered). Acts as a forwarding method. 0x005C7360 60 CNavigatorWnd__scroll_minimap ui_windows Scrolls the navigator minimap view. If field 0xA4 is nonzero and param_2 < 0, scrolls up (event type 7, delta 6); otherwise scrolls down (event type 7, delta -6). Uses vtable 0x94 on the scrollbar child at offset 0xAC. 0x005C73B0 247 CNavigatorWnd__get_map_name_by_type ui_windows Returns a map name string based on the type parameter: 0,1 = CMapEntry__get_name_ptr (current map), 2,3 = param_3 vtable 0x14 getter (NPC/destination name). Initializes an STL string output and assigns the result. 0x005C74B0 754 CNavigatorWnd__get_tooltip_text_with_distance ui_windows Builds a tooltip string for a navigator entry. For type 0,1: gets description from CMapNode. For type 2,3: gets map name + coordinates via sprintf "(x, y)". Appends a distance label based on the NPC distance value (msg 0x991=very close, 0x992=close, 0x993=moderate, 0x994=far, 0x995=very far). 0x005C77B0 588 CNavigatorWnd__get_tooltip_text_simple ui_windows Builds a simple tooltip string for a navigator entry. Gets the name from param_2 vtable 0x14 and appends a distance label based on the distance tier (msg IDs 0x991-0x995 for very close through very far). Similar to the _with_distance variant but without map/type switching. 0x005C7A00 163 CNavigatorWnd__update_scrollbar ui_windows Updates the navigator list scrollbar range and position. Calculates visible rows from height/row_height, computes max scroll from total items minus visible. Sets scrollbar visibility flag at offset 0xA4 and calls CUIScrollBar__set_range_and_position, then triggers redraw on the scrollbar child. 0x005C7AD0 100 CNavigatorWnd__on_resize ui_windows Handles resize of the navigator window. Calls CEffect__resize_surface, then repositions two child controls (at offsets 0xAC and 0xB0) to fit the new dimensions with 13px margins, and triggers a layout recalc via vtable 0xE0. 0x005C7B50 285 CNavigatorWnd__handle_scroll_event ui_windows Handles scroll events (type 7=scroll, 9=page up, 10=page down) for the navigator list. Computes new scroll position clamped to [0, max], updates the scrollbar position via CUIControl__set_field_0x84, triggers redraw on children, and returns the scroll delta. Non-scroll events are delegated to UIGridView__handle_scroll_command. 0x005C7C70 74 CNavigatorWnd__on_close_button_click ui_windows Handles close button click (event 6, param 0xC9) for the navigator window. Clears TLS field 0x13A (toggle flag) and calls process_func_005c8f70 to rebuild the NPC list. Also handles event 0x3C (general refresh). Triggers redraw via vtable 0x98. 0x005C7CC0 87 CNavigatorWnd__on_command ui_windows Main command handler for the CNavigatorWnd. Processes a wide range of commands including: text input (0), button clicks (6) with sub-commands (navigate 0x150/0x1B9, search 0x141, close 0xC9, toggle pin 0xCA, reset 0xC8, route 0x1AE, etc.), resize (0x22), combo box change (0x27), and double-click (0x28). Manages navigation state, creates child windows, handles file-based NPC lookup, and coordinates with CNavigator and UIWorldMapWnd. 0x005C82FE 48 CSkillEffect__init_empty_string_and_return_zero effect Initializes an empty std::string (capacity 0xf) and returns 0. Likely a default/null initializer. 0x005C8D70 39 CNavigatorWnd__on_close_button_check ui_windows Simple event check: if event type is 6 and param is 0xC9, clears TLS field 0x132 (navigator sub-window toggle). Returns 0. 0x005C8DA0 439 CNavigatorSubWnd__on_command game_core 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. 0x005C8F60 13 CNavigatorWnd__set_field_0x2c ui_windows Simple setter. Stores param_2 at offset 0x2C of the object. 0x005C8F70 516 CNavigatorWnd__populate_npc_list ui_windows Populates the navigator NPC list. Clears the listbox (vtable 0xDC), iterates through CNavigator waypoints, formatting each as "MapName (x, y)" with alternating row colors (100/200). Also adds the current location entry with color 300. Updates listbox via vtable 0xD8 and 0x98. 0x005C9180 1187 CNavigatorWnd__load_route_file ui_windows Loads a route file from the NPC file list at the given index. Opens the file with fopen("r"), reads lines, tokenizes with strtok (comma/newline separator), parses coordinate links, builds flat route groups, and sends NPC list to server via packet 0x38F if NPCs found. Updates the search results display and sends event 0xBE to self. 0x005C9630 13 CNavigatorWnd__set_field_0x28 ui_windows Simple setter. Stores param_2 at offset 0x28 of the object. 0x005C9640 985 CNavigatorWnd__populate_search_detail_list ui_windows Populates the navigator detail list for a selected search result group. For each NPC in the group: if coordinates are (-1000,-1000), shows simple tooltip text; otherwise shows tooltip with distance info and appends coordinate string "(x, y)". Adds items to the detail listbox (field 0x3C) with type codes and triggers redraw. 0x005C9A20 721 CNavigatorWnd__populate_search_result_list ui_windows Populates the navigator search result list (field 0x3B). Iterates through route groups (DAT_016fc5c0..DAT_016fc5c4), formats each as "%d MapName" (count + name), adds to listbox with type codes. At the end, sets a summary label with the total group count using message text 0xC8A. 0x005C9D00 253 CNavigatorWnd__change_view_icon ui_windows Changes the navigator view icon for a given icon index (1-8). Formats three texture paths using the icon index (normal, hover, pressed states), applies them to the button widget via UIButtonWidget__set_texture_resolved, and triggers CNavigator__load_icon_sprites to load the new icon sprites. 0x005C9E00 475 CNavigatorWnd__navigate_to_coordinates ui_windows Initiates navigation to specific map coordinates. Encodes x,y coordinates using base62_encode_int, builds a navigation string by appending map name + encoded coords to a global string (DAT_01315068), then triggers chat input confirmation via UIEditField__on_confirm_input. Finally sends event 0x99 with the navigation string to the active entity. 0x005C9FE0 108 CNavigatorWnd__select_npc_and_update ui_windows Selects an NPC by index from the navigator detail list. Stores the index in DAT_016fc5d0, advances the route node (retries once on failure), updates the detail listbox selection position at field 0x3C offset 0x94, and updates the world map display if visible. 0x005CA060 142 CNavigatorWnd__clamp_position_to_screen ui_windows Clamps the navigator window position to stay within the screen bounds. Syncs x/y/w/h from the window to the tooltip control at offset 0x110. Adjusts the height offset by 0x110 or 0xE4 depending on a flag. Clamps x to [0, screen_width-offset] and y to [0, screen_height-0x152]. 0x005CA100 188 CNavigatorWnd__draw_npc_labels ui_windows Draws NPC labels on the navigator minimap. Iterates through the NPC label array (DAT_016fc5b0, element size 0x2C). For each matching NPC (by param_1), draws the text twice: once offset by (1,1) with shadow color, and once at the base position with the label color. Uses font size 0xC. 0x005CA1C0 45 CNavigatorWnd__check_scroll_threshold ui_windows Checks if enough time/distance has passed to justify a scroll update. If the delta (param_3 - *param_2) divided by (field_0x11C / param_4) meets the threshold param_4, updates *param_2 to param_3. Returns 0. 0x005CA1F0 129 STL_vector_int_clear_and_free stl Clears and frees an STL vector. If the data pointer is nonzero, calculates the allocated buffer size (capacity * 4), frees the memory with operator_delete, and zeros all three vector fields (begin, end, capacity). 0x005CA280 129 STL_vector_int_clear_and_free_005ca280 stl Clears and frees an STL vector. Identical to STL_vector_int_clear_and_free at 005ca1f0 -- duplicate code at a different address. 0x005CA310 10 STL_vector_throw_length_error_005ca310 stl Throws std::length_error("vector too long"). Called when a vector exceeds its max size. 0x005CA320 62 std__allocator_uint_deallocate stl std::allocator::deallocate. Frees a buffer of (count * 4) bytes. Handles large allocations by checking the stored header pointer. 0x005CA360 574 CPartySearchEntry__vector_insert_realloc ui_windows Inserts a new CPartySearchEntry (0x4C bytes each) into a vector with reallocation. Calculates new capacity (1.5x growth), allocates new buffer, copy-constructs the new element via helper_005ca5b0, then relocates existing elements around the insertion point. Frees the old buffer and updates the vector's begin/end/capacity pointers. 0x005CA5B0 168 CPartySearchEntry__copy_ctor ui_windows Copy constructor for CPartySearchEntry. Sets vtable to CEffectTextureBase scalar deleting dtor, copies flags and field data (offsets 4-0x10), then deep-copies two STL strings at offsets 0x14 and 0x34 and two fields at 0x2C and 0x30. 0x005CA660 167 CPartySearchEntry__default_ctor ui_windows Default constructor for CPartySearchEntry. Sets vtable, initializes fields to defaults (flag=0, field_8=0, maxLV=999, field_10=0), and initializes two STL strings at offsets 0x14 and 0x34 as empty with SSO capacity 0xF. 0x005CA710 118 CPartySearchMgr__ctor ui_windows Constructor for CPartySearchMgr. Sets vtable (PTR_util_005ca8d0_010e2304), initializes field_5 to 0, field_8..field_18 to 0, and sets field_4 (active flag) to 1. 0x005CA7C0 173 CPartySearchMgr__clear_entries ui_windows Clears all party search entries. Iterates the vector calling each entry's destructor via vtable (0x4C byte stride, 0x13 dwords), frees the vector buffer, and zeros begin/end/capacity. 0x005CA880 74 CPartySearchMgr__dtor ui_windows Destructor for CPartySearchMgr. Resets vtable pointer, then calls CPartySearchMgr__clear_entries to destroy all entries and free the vector. 0x005CA8D0 99 CPartySearchMgr__scalar_deleting_dtor ui_windows Scalar deleting destructor for CPartySearchMgr. Resets vtable, clears entries, and if bit 0 of param_2 is set, frees the object (0x1C bytes) via operator_delete. 0x005CA940 213 CPartySearchMgr__get_or_create_instance ui_windows Gets or creates the singleton CPartySearchMgr instance (DAT_01389848). If null, allocates 0x1C bytes and constructs via CPartySearchMgr__ctor. If active flag (field_4) is set, returns 1; otherwise destroys the instance and returns 0. 0x005CAA20 27 CPartySearchMgr__destroy_instance ui_windows Destroys the CPartySearchMgr singleton. If DAT_01389848 is nonzero, calls the scalar deleting dtor via vtable and sets the global pointer to null. 0x005CAA40 4 CPartySearchMgr__get_entries_ptr ui_windows Returns pointer to the entries vector (this + 0xC). Simple inline accessor. 0x005CAA50 395 CPartySearchMgr__build_party_url ui_windows Builds a party search API URL string based on the operation type. Gets the base URL from lua_get_table_string_value_for_c, then appends an endpoint suffix based on param_2: 0,2="party_add", 1="party_list", 3="party_search", 4="party_del", 5="party_get", 6="party_change", 7="party_info". Returns the URL string. 0x005CAC00 1966 CPartySearchMgr__parse_party_list_json ui_windows Parses a JSON array of party search entries. Clears the existing entries vector, then iterates through JSON objects extracting fields: CharName (string), X/Y coordinates (doubles->int), role flags (Assist, Healer, Dealer, Tanker as bools), level range (MinLV, MaxLV), a numeric field, and a string field. Constructs CPartySearchEntry for each and inserts into the vector. 0x005CB3B0 366 CPartySearchMgr__send_add_request ui_windows Sends a party search "add" request to the server. Builds the party URL, copies the character name, encrypts data via xor_decrypt_packet_data, then calls CEffectTexture__register_effect_type_a to submit the HTTP request. Increments the pending request counter at offset 0x18. 0x005CB520 485 CPartySearchMgr__on_response_received ui_windows Handles a party search server response. Decrements the pending request counter. If response data exists, initializes a JSON value, parses the response string, checks the operation type field. If type is not 2 or 3, finds the PartySearchWnd (type 0x144) and sends a refresh event (0x19F). Cleans up JSON and string resources. 0x005CB710 256 CPartySearchMgr__send_search_request ui_windows Sends a party search query request to the server. Builds the URL via CPartySearchMgr__build_party_url, copies the character name, and submits via CEffectTexture__register_effect_type_f (GET request). Increments the pending request counter. 0x005CB810 1733 CPartySearchMgr__on_detail_response_received ui_windows Handles a detailed party search response with full entry data. Decrements pending counter. Parses the JSON response, checks operation type (2=search results, 3=list results). For other types, parses full party entry fields (CharName, X, Y, Assist, Healer, Dealer, Tanker, MinLV, MaxLV, numeric field, string field), constructs a CPartySearchEntry, creates PartySearchWnd (type 0x144), and initializes it with the entry data. Sets field_5 active flag. 0x005CBEE0 276 CPartySearchMgr__send_update_request ui_windows Sends a party search update/change request. Default-constructs a CPartySearchEntry, builds the URL, copies the character name, and submits via CEffectTexture__register_effect_type_h (POST/PUT request). Increments the pending request counter. 0x005CC000 644 CPartyRecruit__handle_create_response ui_windows Handles party recruit creation response. Parses JSON response, checks result code (2=error, 3=error), on success creates/finds window 0x144 (party recruit), reads totalPage, sends refresh command 0x3c. 0x005CC290 258 CPartyRecruit__register_entry_step_g ui_windows Party recruit registration step: calls handler_005caa50, then registers effect type g. Increments counter at this+0x18. 0x005CC3A0 2135 CPartyRecruit__handle_update_entry ui_windows Handles party recruit entry update. Parses JSON with fields: CharName, Assist, Healer, Dealer, Tanker, MinLV (default 0), MaxLV (default 999). Updates matching entry in recruit list by slot ID. Finds window 0x144, sends refresh. Also updates CharSelectWnd (0x159) slot data. Validates level range, shows error messages 0xd58/0x4f/0xd73. 0x005CCC00 274 CPartyRecruit__register_entry_step_k ui_windows Party recruit registration step: calls helper_005ca5b0, assigns string, then handler_005caa50, then registers effect type k. Increments counter at this+0x18. 0x005CCD20 593 CPartyRecruit__handle_delete_response ui_windows Handles party recruit deletion response. Parses JSON, on error (code 2/3) shows message 0xd59. On success shows message 0xd5a, sets flag at this+5, creates/refreshes window 0x144 with command 0x19f. 0x005CCF80 279 CPartyRecruit__register_entry_step_h ui_windows Party recruit registration step: calls helper_005ca5b0, assigns string, then handler_005caa50, then registers effect type h. Increments counter at this+0x18. 0x005CD0A0 668 CPartyRecruit__handle_cancel_response ui_windows Handles party recruit cancel/leave response. On empty response and matching ID, shows message 0xdb3. On JSON error code 2/3, also shows 0xdb3. On success shows message 0xd83, clears flag at this+5, disables recruit window child and refreshes (0x19f). 0x005CD340 255 CPartyRecruit__register_entry_step_l ui_windows Party recruit registration step: stores param2 at this+8, assigns string from global, calls handler_005caa50, then registers effect type l. Increments counter at this+0x18. 0x005CD440 259 CPartyRecruit__register_entry_conditional ui_windows Conditional party recruit registration: only proceeds if flag at this+5 is set. Stores global ID at this+8, assigns string, calls handler_005caa50, then registers effect type l. Increments counter at this+0x18. 0x005CD550 37 CPartyRecruit__destroy_entries_range ui_windows CPartyRecruit: destroy entries range 0x005CD580 122 CPartyRecruit__copy_entries_range ui_windows Copies party recruit entries from [param1, param2) to destination param3. Each entry is 0x4c bytes. Uses helper_005ca5b0 to copy-construct each entry. Returns end of destination. 0x005CD600 120 CPartyRecruit__destruct_entries_range ui_windows Destructs party recruit entries in range [param1, param2). Each entry is 0x4c bytes. Calls helper_005ca5b0 on each (likely destructor call). 0x005CD680 10 STL_vector_xlength_error_party_recruit stl Throws std::length_error("vector too long") for party recruit entry vector. Does not return. 0x005CD690 56 CPartyRecruit__deallocate_entries ui_windows Deallocates party recruit entry array. param1 = buffer, param2 = entry count. Each entry is 0x4c bytes. Handles aligned allocation with 0x23 overhead for large blocks. 0x005CD6D0 218 CWebDataEntry__construct game_core 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 game_core 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 game_core 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 game_core Scalar deleting destructor for CWebDataProviderA. Calls dtor then optionally frees 0x100 bytes if param_2 & 1. 0x005CDD40 88 CWebDataProvider__copy_result_string game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Scalar deleting destructor for CWebDataProviderB. Calls dtor then optionally frees 200 (0xC8) bytes if param_2 & 1. 0x005CF670 622 CWebDataProviderB__set_request_data game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Scalar deleting destructor for CWebDataProviderC. Calls dtor then optionally frees 0xD0 bytes if param_2 & 1. 0x005D0930 638 CWebDataProviderC__set_request_data game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Scalar deleting destructor for CWebDataProviderD. Calls dtor then optionally frees 0x120 bytes if param_2 & 1. 0x005D1BD0 858 CWebDataProviderD__set_request_data game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Scalar deleting destructor for CWebDataProviderE. Calls dtor then optionally frees 0x118 bytes if param_2 & 1. 0x005D3B80 766 CWebDataProviderE__set_request_data game_core 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 game_core Pushes entry into CWebDataProviderE. Copy-constructs 3 string fields from offsets 0xc8 and 0xe0, then calls CPartyRecruit__handle_delete_response to finalize. 0x005D3F50 7484 CReportManager__build_report_data ui_windows Builds encrypted report with character info and boolean flags 0x005D5C90 218 CReportEntry__construct game_core Constructs report entry with type flag, string key, data block 0x005D5D70 744 CReportManager__init ui_windows Initializes CReportManager with vtable at 010e2658 0x005D6060 210 CReportManager__destructor ui_windows Destroys CReportManager, cleans up string fields 0x005D6140 234 CReportManager__scalar_deleting_destructor ui_windows Scalar deleting destructor, frees 200 bytes 0x005D6230 622 CReportManager__update_report_state ui_windows Updates report state with timeGetTime timestamp 0x005D64B0 180 CReportManager__init_sub_containers ui_windows Initializes 3 sub-containers at offsets 0x0, 0x94, 0xAC 0x005D6570 2535 CReportManager__build_report_data_v2 ui_windows Builds report with 4 encrypted string keys 0x005D6F60 103 CReportManager__delete_tree_nodes_recursive ui_windows Recursively frees RB tree nodes (24 bytes) 0x005D6FD0 75 CReportManager__map_lower_bound ui_windows lower_bound on RB tree using integer key 0x005D7020 160 CReportManager__copy_report_record ui_windows Copies 48-byte report record 0x005D70C0 198 CReportStorage__init ui_windows Initializes report storage with vtable 010e26e4 0x005D7190 65 CReportStorage__lock_mutex_005d7190 ui_windows Wrapper to acquire mutex lock 0x005D71E0 65 CReportStorage__lock_mutex_005d71e0 ui_windows Wrapper to acquire mutex lock (second) 0x005D7230 65 CReportStorage__cleanup_string_005d7230 ui_windows Cleans up std::string member 0x005D7280 67 CReportStorage__free_list_sentinel_80 ui_windows Frees 80-byte sentinel if non-null 0x005D72D0 67 CReportStorage__free_tree_sentinel_24 ui_windows Frees 24-byte sentinel if non-null 0x005D7320 104 CReportStorage__destroy_list_and_sentinel ui_windows Destroys list and frees sentinel 0x005D7390 111 CReportStorage__destroy_tree_and_sentinel ui_windows Destroys RB tree and sentinel 0x005D7410 78 CReportStorage__free_tree_node_005d7410 ui_windows Frees 24-byte tree node 0x005D7460 78 CReportStorage__free_tree_node_005d7460 ui_windows Frees 24-byte tree node (second) 0x005D74B0 121 CReportStorage__destroy_linked_list ui_windows Frees all 80-byte nodes in list 0x005D7530 65 CReportStorage__destroy_tree_wrapper ui_windows Wrapper for tree cleanup 0x005D7580 68 CReportStorage__lock_mutex_005d7580 ui_windows Wrapper to acquire mutex (third) 0x005D75D0 114 CReportStorage__destructor ui_windows Destroys CReportStorage 0x005D7650 135 CReportStorage__scalar_deleting_destructor ui_windows Scalar deleting destructor, frees 32 bytes 0x005D76E0 173 CReportStorage__add_to_pending_list ui_windows Adds entry to pending list 0x005D7790 167 CReportStorage__add_to_completed_list ui_windows Adds entry to completed list 0x005D7840 333 CReportStorage__aggregate_completed_to_tree ui_windows Aggregates completed items into RB tree 0x005D7990 28 CReportStorage__clear_all_lists ui_windows Clears both lists and tree 0x005D79B0 299 CReportStorage__get_instance ui_windows Singleton accessor at DAT_0138988c 0x005D7AE0 116 CReportStorage__remove_from_pending_list ui_windows Removes item from pending list 0x005D7B60 138 CReportStorage__remove_from_completed_list ui_windows Removes item from completed list 0x005D7BF0 27 CReportStorage__destroy_instance ui_windows CReportStorage: destroy instance 0x005D7C10 256 CReportStorage__transfer_pending_to_completed ui_windows Transfers pending to completed 0x005D7D10 289 CReportStorage__transfer_completed_to_pending ui_windows Transfers completed to pending 0x005D7E40 204 CReportStorage__find_in_completed_by_name ui_windows Searches completed by name 0x005D7F10 40 CReportStorage__get_pending_count_by_id ui_windows Gets count by ID from pending 0x005D7F40 4 CReportStorage__get_pending_list_ptr ui_windows Returns pending list ptr 0x005D7F50 252 CReportStorage__find_pending_entry_by_id ui_windows Finds pending entry by ID 0x005D8050 252 CReportStorage__find_completed_entry_by_id ui_windows Finds completed entry by ID 0x005D8150 4 CReportStorage__get_completed_list_ptr ui_windows Returns completed list ptr 0x005D8160 4 CReportStorage__get_completed_count ui_windows Returns completed entry count 0x005D8170 40 CReportStorage__get_completed_count_by_id ui_windows Gets count by ID from completed 0x005D81A0 170 CReportStorage__sum_completed_counts_by_name ui_windows Sums counts matching name 0x005D8250 41 CReportStorage__get_pending_price_by_id ui_windows Gets price by ID from pending 0x005D8280 4 CReportStorage__get_tree_ptr ui_windows Returns tree ptr at this+0x18 0x005D8290 57 CReportStorage__calc_total_completed_value ui_windows Sums price*count total 0x005D82D0 12 CReportStorage__append_entry_wrapper ui_windows CReportStorage: append entry wrapper 0x005D82E0 517 STL_tree_insert_node_005d82e0 stl STL std::_Tree_val::_Insert_node, inserts a new node into an RB tree and rebalances. Used by CReportStorage for the completed-items aggregation tree. MSVC 2019 library function. 0x005D84F0 115 CReportStorage__clear_rb_tree ui_windows CReportStorage: clear rb tree 0x005D8570 125 CReportStorage__clear_linked_list ui_windows CReportStorage: clear linked list 0x005D8600 106 CReportStorage__unlink_and_free_node ui_windows Unlinks and frees node 0x005D8670 170 CReportStorage__append_list_entry ui_windows Appends new entry to list 0x005D8720 362 STL_vector_16byte_assign_range stl std::vector assign for 16-byte elements 0x005D8890 573 STL_vector_76byte_emplace stl std::vector emplace for 0x4C-byte elements 0x005D8AE0 332 STL_vector_16byte_emplace stl std::vector emplace for 16-byte elements 0x005D8C50 163 CShopCategory__delete_tree_nodes_recursive ui_shop Recursively frees 0x110-byte nodes 0x005D8D00 155 CShopCategory__erase_tree_node ui_shop Erases single tree node 0x005D8DA0 267 CShopCategory__copy_construct ui_shop Copy constructs shop category 0x005D8EB0 224 CShopManager__init ui_shop Initializes CShopManager 0x005D8F90 465 CShopItem__copy_construct ui_shop Copy constructs shop item 0x005D9170 65 CShopItem__cleanup_string ui_shop Frees shop item string 0x005D91C0 70 CShopManager__free_tree_sentinel ui_shop Frees 0x110-byte sentinel 0x005D9220 79 CShopManager__destroy_tree_full ui_shop Destroys all tree nodes 0x005D9280 143 CShopManager__destroy_tree_node_with_strings ui_shop Destroys node with string cleanup 0x005D9310 81 CShopManager__free_tree_node_110 ui_shop Frees 0x110-byte tree node 0x005D93A0 90 CShopManager__destroy_tree_and_free ui_shop Destroys tree and sentinel 0x005D9400 100 CShopItem__destroy_strings ui_shop CShopItem: destroy strings 0x005D9470 68 CShopItem__destructor_wrapper ui_shop CShopItem: destructor wrapper 0x005D94C0 172 STL_vector_76byte_destroy stl Destroys vector of 0x4C elements 0x005D9580 5 STL_vector_16byte_free_buffer stl Frees the 16-byte-aligned buffer of an std::vector and resets begin/end/capacity pointers to 0. 0x005D9590 151 CShopManager__destructor ui_shop Destroys CShopManager 0x005D9630 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x005D9690 172 CShopManager__scalar_deleting_destructor ui_shop Scalar deleting destructor 0x005D9740 97 CShopManager__add_to_pending_cart ui_shop Adds to pending cart 0x005D97B0 91 CShopManager__add_to_completed_cart ui_shop Adds to completed cart 0x005D9810 135 CShopManager__add_to_summary_vector ui_shop CShopManager: add to summary vector 0x005D98E0 530 CShopManager__rebuild_item_tree ui_shop CShopManager: rebuild item tree 0x005D9B00 325 CShopManager__get_instance ui_shop CShopManager: get instance 0x005D9C50 68 CShopManager__remove_from_pending_cart ui_shop Removes from pending cart 0x005D9CA0 244 CShopManager__remove_from_completed_cart ui_shop Removes from completed cart 0x005D9DA0 103 CShopManager__remove_from_summary_vector ui_shop Removes summary entry 0x005D9E10 27 CShopManager__destroy_instance ui_shop CShopManager: destroy instance 0x005D9E30 1 CShopCart__sell_item_and_update_totals game_core 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 game_core Processes buying an item in shop cart: adds to buy list, decrements from sell list (clamps to 0), updates material requirements and total cost 0x005DA1C0 470 CShopManager__find_completed_by_name ui_shop Searches completed by name 0x005DA3A0 1 CShopCart__get_sell_items_begin game_core CShopCart: get sell items begin 0x005DA3B0 41 CShopManager__get_pending_qty_by_id ui_shop Gets pending qty by ID 0x005DA3E0 251 CShopManager__find_pending_entry_by_id ui_shop Finds pending entry by ID 0x005DA4E0 251 CShopManager__find_completed_entry_by_id ui_shop Finds completed entry by ID 0x005DA5E0 45 CShopManager__get_pending_discount_by_id ui_shop CShopManager: get pending discount by id 0x005DA610 4 CShopManager__get_completed_cart_ptr ui_shop Returns completed cart ptr 0x005DA620 24 CShopManager__get_completed_cart_count ui_shop Returns completed cart count 0x005DA640 41 CShopManager__get_completed_qty_by_id ui_shop Gets completed qty by ID 0x005DA670 4 CShopManager__get_summary_vector_ptr ui_shop Returns summary vector ptr 0x005DA680 68 CShopManager__calc_total_completed_cost ui_shop Sums total completed cost 0x005DA6D0 346 CShopManager__validate_and_consume_summary ui_shop Validates and consumes summary 0x005DA830 164 CShopManager__consume_single_summary_entry ui_shop Consumes single summary entry 0x005DA8E0 327 CShopManager__build_and_add_cart_entry ui_shop Builds and adds cart entry 0x005DAA30 94 CShopManager__clear_all_carts ui_shop CShopManager: clear all carts 0x005DAA90 36 CShopItem__destroy_range ui_shop CShopItem: destroy range 0x005DAAC0 704 STL_rb_tree_erase_and_rebalance stl RB tree erase with rebalancing 0x005DAD80 517 STL_rb_tree_insert_node stl std::_Tree_val::_Insert_node, Inserts a node into the RB tree at the specified position and rebalances via rotations to maintain red-black properties. Library function (VS2019). 0x005DAF90 84 STL_rb_tree_rotate_left stl RB tree left rotation 0x005DAFF0 88 STL_rb_tree_rotate_right stl RB tree right rotation 0x005DB050 129 STL_vector_16byte_free_buffer stl Frees 16-byte vector buffer 0x005DB0E0 122 STL_vector_76byte_copy_range_forward stl Copies 0x4C-byte range 0x005DB160 36 STL_vector_16byte_relocate_range stl STL template instantiation: STL vector 16byte relocate range 0x005DB190 120 STL_vector_76byte_copy_construct_range stl Copy-constructs 0x4C range 0x005DB210 36 STL_vector_16byte_relocate_with_offset stl Relocates 16-byte with offset 0x005DB240 10 STL_throw_vector_too_long_005db240 stl Throws vector too long 0x005DB250 10 STL_throw_vector_too_long_005db250 stl Throws vector too long (second) 0x005DB260 92 STL_allocate_16byte_aligned stl Allocates count*16 aligned 0x005DB2C0 56 STL_deallocate_76byte_buffer stl Deallocates 0x4C buffer 0x005DB300 58 STL_deallocate_16byte_buffer stl Deallocates 16-byte buffer 0x005DB340 104 CSearchResult__destroy_range ui_windows Destroys 0x1C-byte result range 0x005DB3B0 467 STL_vector_28byte_emplace stl Emplaces 0x1C element 0x005DB5B0 330 STL_vector_8byte_emplace stl Emplaces 8-byte element 0x005DB720 422 STL_vector_12byte_emplace stl Emplaces 12-byte element 0x005DB8F0 163 CSearchManager__delete_tree_nodes_recursive game_core Recursively frees 0x28-byte nodes 0x005DB9A0 165 CSearchManager__map_lower_bound_vector_key game_core lower_bound with vector key 0x005DBA50 100 sort3_8byte_elements game_core Sorts 3 8-byte pairs 0x005DBAC0 630 STL_partition_8byte_elements stl Three-way partition for introsort 0x005DBD40 177 STL_heap_sift_down_8byte stl Heap sift down for 8-byte 0x005DBE00 603 STL_introsort_8byte_elements stl Introsort for 8-byte elements 0x005DC060 70 STL_relocate_12byte_range stl Copies 12-byte range 0x005DC0B0 170 CSearchResult__copy_range_to_buffer ui_windows Copies 0x1C result range 0x005DC160 107 CSearchResult__copy_construct_single ui_windows Copies single result 0x005DC1D0 129 CSearchResult__move_construct ui_windows Move constructs result 0x005DC260 178 STL_vector_8byte_copy_construct stl Copy constructs 8-byte vector 0x005DC320 219 STL_vector_12byte_copy_construct stl Copy constructs 12-byte vector 0x005DC400 121 CSearchManager__init_tree game_core Initializes 0x28-byte RB tree 0x005DC480 202 STL_vector_28byte_copy_construct stl Copy constructs 0x1C vector 0x005DC550 144 STL_vector_extract_first_elements stl Extracts first from pairs 0x005DC5E0 67 CSearchManager__free_tree_sentinel_28 game_core CSearchManager: free tree sentinel 28 0x005DC660 76 CSearchManager__destroy_tree_full game_core Destroys all tree nodes 0x005DC6C0 143 CSearchManager__destroy_tree_node_with_cleanup game_core Destroys node with cleanup 0x005DC750 78 CSearchManager__free_tree_node_28 game_core CSearchManager: free tree node 28 0x005DC7C0 87 CSearchManager__destroy_tree_and_free_005dc7c0 game_core Destroys tree and sentinel 0x005DC820 68 CSearchResult__destroy_vectors_wrapper ui_windows Destroys vectors wrapper 0x005DC870 105 CSearchResult__cleanup_node_data ui_windows CSearchResult: cleanup node data 0x005DC8E0 68 CSearchResult__destroy_vectors_wrapper_005dc8e0 ui_windows Destroys vectors (second) 0x005DC930 68 CSearchResult__destroy_string_wrapper ui_windows Destroys string wrapper 0x005DC9B0 99 CSearchManager__destroy_tree_and_free_005dc9b0 game_core Destroys tree (third) 0x005DCA20 65 CSearchResult__cleanup_string_data ui_windows Cleans up string data 0x005DCA70 65 CSearchResult__free_vector_buffer_wrapper ui_windows CSearchResult: free vector buffer wrapper 0x005DCAC0 86 CSearchResult__destroy_single_element ui_windows Destroys a single 0x1C-byte CSearchResult element by calling the sub-vector destructors (8-byte vector dtor + 12-byte vector dtor via stub_005ddc50 and stub_005ddbc0). 0x005DCB20 91 CSearchResult__compare_8byte_vectors_equal ui_windows Compares two 8-byte pair vectors for element-wise equality. Returns true (1) if both vectors have the same length and identical elements, false (0) otherwise. 0x005DCB80 112 CSearchResult__compare_int_vectors_less_than ui_windows Lexicographic less-than comparison of two int vectors (this vs param). Pads shorter vector with zeros. Returns true if this vector is less than param vector. Used as comparator for CSearchManager tree ordering. 0x005DCBF0 110 CSearchResult__compare_int_vectors_less_than_standalone ui_windows Standalone (non-thiscall) lexicographic less-than comparison of two int vectors. Same logic as CSearchResult__compare_int_vectors_less_than but with cdecl calling convention. Pads shorter vector with zeros. 0x005DCC60 120 CSearchManager__scalar_deleting_dtor game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x005DD990 22 CSearchResult__destroy_range_wrapper ui_windows Thin wrapper that forwards to CSearchResult__destroy_range with reordered parameters. 0x005DD9B0 517 STL_tree_insert_node_005dd9b0 stl STL std::_Tree_val::_Insert_node for RB-tree (uint/string/PCTableEntry key types). Inserts a node, rebalances with rotations and color flips. MSVC 2019 library function. 0x005DDBC0 129 STL_vector_clear_and_free_8byte stl Clears and frees a vector of 8-byte elements. Frees the backing allocation (with large-block alignment handling) and zeroes the 3 vector pointers (begin/end/capacity). 0x005DDC50 150 STL_vector_clear_and_free_12byte stl Clears and frees a vector of 12-byte elements. Frees the backing allocation (with large-block alignment handling) and zeroes the 3 vector pointers. 0x005DDCF0 174 CSearchResult__vector_destroy_and_free ui_windows Destroys and frees a vector of 28-byte CSearchResult elements. First calls CSearchResult__destroy_range on all elements (destroying sub-vectors), then frees the backing allocation. 0x005DDDB0 49 STL_copy_8byte_elements_005dddb0 stl Copies a range of 8-byte elements from [param_1, param_2) to destination param_3. Simple element-by-element copy of 2 dwords per element. 0x005DDDF0 72 STL_copy_12byte_elements stl Copies a range of 12-byte elements (3 dwords each) from [param_1, param_2) to destination param_3. Returns pointer past last written element. 0x005DDE40 180 CSearchResult__uninitialized_copy ui_windows Uninitialized copy of 28-byte CSearchResult elements. Copies sub-vectors (8-byte and 12-byte) via copy-construct, plus a 4-byte trailing field, from source range to destination buffer. 0x005DDF00 43 STL_relocate_8byte_elements stl Relocates 8-byte elements by copying from [param_1, param_2) to offset param_3. Used during vector reallocation. 0x005DDF30 10 STL_vector_throw_length_error_8byte stl Throws std::length_error("vector too long") for 8-byte element vectors that exceed max_size. 0x005DDF40 10 STL_vector_throw_length_error_12byte stl Throws std::length_error("vector too long") for 12-byte element vectors that exceed max_size. 0x005DDF50 10 STL_vector_throw_length_error_28byte stl Throws std::length_error("vector too long") for 28-byte element vectors that exceed max_size. 0x005DDF60 92 STL_vector_allocate_8byte stl Allocates memory for a vector of 8-byte elements. Handles aligned allocation for blocks > 0x1000 bytes. Max 0x20000000 elements. Throws bad_array_new_length on overflow. 0x005DDFC0 95 STL_vector_allocate_12byte stl Allocates memory for a vector of 12-byte elements. Handles aligned allocation for blocks > 0x1000 bytes. Max 0x15555556 elements. 0x005DE020 102 STL_vector_allocate_28byte stl Allocates memory for a vector of 28-byte (0x1c) elements. Handles aligned allocation for blocks > 0x1000 bytes. Max 0x924924A elements. 0x005DE090 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x005DE0D0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x005DE110 67 STL_deallocate_28byte stl Deallocates memory for a vector of 28-byte (0x1c) elements. Handles large-block alignment (> 0x1000 bytes) by reading the original allocation pointer from offset -4. 0x005DE160 1821 CSearchManager__lua_register_recipe game_core 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 game_core 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. 0x005DE9C0 105 CSearchResult__destroy_range_loop ui_windows Destroys a range of 28-byte CSearchResult elements by iterating [param_1, param_2) in 0x1c-byte steps, clearing the 12-byte and 8-byte sub-vectors in each element. 0x005DEA30 108 CShopItem__destroy_range_005dea30 ui_shop Destroys a range of 0xF8-byte CShopItem elements by iterating [param_1, param_2) and calling STL_string_dtor twice per element (two string fields to clean up). 0x005DEAA0 467 STL_vector_28byte_reallocate_insert stl Reallocates and inserts into a vector of 28-byte elements. Grows capacity by 1.5x (or to max 0x9249249), allocates new buffer, move-constructs elements around the insertion point, then frees the old buffer. 0x005DECA0 538 STL_vector_f8byte_reallocate_insert stl Reallocates and inserts into a vector of 0xF8-byte CShopItem elements. Grows capacity by 1.5x, allocates new buffer with alignment, copy-constructs the new element at insertion point, relocates existing elements, frees old buffer. 0x005DEEF0 163 CSearchManager__delete_tree_recursive game_core 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. 0x005DEFA0 519 STL_introsort_choose_pivot_4byte stl Median-of-3/median-of-9 pivot selection for introsort on 4-byte elements. For small ranges (<0x29 elements), uses median of first/mid/last. For larger ranges, samples 9 positions and sorts to find a good pivot. 0x005DF1B0 128 STL_sort3_12byte_elements stl Sorts 3 elements of 12-byte size by comparing the second 4-byte field (offset +4). Used as the base case for median-of-3 pivot selection in 12-byte introsort. 0x005DF230 458 STL_introsort_partition_4byte stl Three-way partition for introsort on 4-byte elements. Partitions around a pivot selected by median-of-3/9, returning the equal range boundaries. Handles elements less than, equal to, and greater than pivot. 0x005DF400 718 STL_introsort_partition_12byte stl Three-way partition for introsort on 12-byte elements (comparing by second field at offset +4). Returns the equal range boundaries for the pivot element. 0x005DF6D0 193 STL_heap_sift_down_4byte stl Heap sift-down (adjust) for 4-byte elements using a comparator. Moves a hole down the heap to its proper position, then sifts the saved value back up. Used by heapsort in introsort fallback. 0x005DF7A0 223 STL_heap_sift_down_12byte stl Heap sift-down for 12-byte elements, comparing by the second field (offset +4). Moves a hole down the heap then sifts the saved value up. Used by heapsort in 12-byte introsort fallback. 0x005DF880 279 STL_vector_resize_8byte stl Resizes a vector of 8-byte elements. Calculates new capacity (1.5x growth), allocates new buffer, fills new elements with a default value, copies existing elements, frees old buffer, updates vector pointers. 0x005DF9C0 340 STL_vector_resize_12byte stl Resizes a vector of 12-byte elements. Calculates new capacity (1.5x growth), allocates new buffer, fills new elements, relocates existing elements via STL_relocate_12byte_range, frees old buffer. 0x005DFB40 593 STL_introsort_4byte_elements stl Introsort implementation for 4-byte elements. Uses quicksort with 3-way partitioning, falls back to heapsort when recursion depth exceeds log(n)*1.75, and uses insertion sort for small ranges (<= 32 elements). 0x005DFDA0 762 STL_introsort_12byte_elements stl Introsort implementation for 12-byte elements (sorted by second field at offset +4). Uses quicksort with 3-way partitioning, falls back to heapsort when depth limit reached, insertion sort for small ranges. 0x005E00A0 137 CSearchResult__relocate_range ui_windows Relocates 28-byte CSearchResult elements from [param_1, param_2) to a new buffer at param_3 by move-constructing each element, then destroys the leftover range at the destination tail. 0x005E0130 105 CSearchResult__copy_construct_element ui_windows Copy-constructs a single 28-byte CSearchResult element. Copies the 1-byte flag, then copy-constructs the 8-byte sub-vector (materials) and 12-byte sub-vector (products). 0x005E01A0 348 CSearchResult__vector_copy_construct ui_windows Copy-constructs a vector of 28-byte CSearchResult elements. Allocates buffer, then iterates source range copy-constructing each element's sub-vectors (8-byte materials, 12-byte products, 4-byte trailing field). 0x005E0300 162 CSearchResult__move_construct_element ui_windows Move-constructs a single 28-byte CSearchResult element. Copies the 1-byte flag, then moves the 8-byte and 12-byte sub-vectors by transferring pointers and zeroing the source. 0x005E03B0 431 CSearchManagerWnd__ctor game_core 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. 0x005E0560 240 CSearchResultWnd__ctor ui_windows Constructor for CSearchResultWnd. Calls UIWindowBase__ctor, sets vtable to PTR_010e2a04, initializes result display fields (0x2d=0x1b, 0x2e=0x10) and zeroes remaining member slots. 0x005E0650 94 CSearchItemWidget__ctor game_core Constructor for CSearchItemWidget. Calls UISpriteWidget__ctor, sets vtable to PTR_010e2928, initializes sprite type field (0x29=0x10). 0x005E06B0 65 CSearchManagerWnd__cleanup game_core Cleanup helper for CSearchManagerWnd. Delegates to an internal cleanup function at 005e45b0. 0x005E0710 84 CSearchManager__clear_tree game_core 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). 0x005E07C0 168 CShopItem__vector_clear_and_free ui_shop Clears and frees a vector of 0xF8-byte CShopItem elements. Destroys all elements (calling string destructors), then frees the backing allocation and zeroes the vector pointers. 0x005E0870 87 CSearchResult__destroy_element ui_windows Destroys a single 28-byte CSearchResult element by clearing its 12-byte sub-vector and 8-byte sub-vector. 0x005E08D0 213 CSearchManagerWnd__dtor game_core 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. 0x005E09B0 110 CSearchStoreListWnd__dtor ui_shop Non-scalar destructor for CSearchStoreListWnd. Sets vtable, calls clear_and_free_item_vector to release the item list, then destroys the UIWindowBase. 0x005E0A20 1013 CSearchStoreListWnd__compare_items_by_name ui_shop Comparator for sorting search store items by name. Gets item tooltip strings for items at indices param_2 and param_3, does a case-sensitive byte-by-byte string comparison. Returns 1 if first item name is lexicographically less than second. 0x005E0E20 234 CSearchStoreWnd__scalar_deleting_dtor ui_shop Scalar deleting destructor for CSearchStoreWnd. Sends close packet 0xC07E4 to server, destroys child strings and UI widgets, then destroys UIWindowBase. Frees memory (size 0x220) if param_2 & 1. 0x005E0F10 128 CSearchFilterDlg__scalar_deleting_dtor game_core Scalar deleting destructor for CSearchFilterDlg. Destroys two std::strings and calls UIComplexDialog__scalar_del_dtor_2. Frees memory (size 0x13C) if param_2 & 1. 0x005E0F90 134 CSearchStoreItemPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CSearchStoreItemPanel. Sets vtable, calls clear_and_free_item_vector, then destroys UIWindowBase. Frees memory (size 0xF8) if param_2 & 1. 0x005E1020 93 CSearchStoreScrollKnob__scalar_deleting_dtor ui_shop Scalar deleting destructor for the scrollbar knob widget used in search store list. Calls UIBaseWidgetA__dtor. Frees memory (size 0xB4) if param_2 & 1. 0x005E1080 160 CSearchStoreListWnd__scroll_to_item ui_shop Scrolls the search store item list to bring a specific item into view. Calculates the target index from current scroll offset + param_2, clamps to valid range. If target is outside visible window, adjusts scroll position and updates scrollbar. Then selects the item. 0x005E1120 182 CSearchStoreListWnd__hit_test_item ui_shop Hit-tests the search store item list at screen coordinates (param_2, param_3). First checks the close button area (offset 0xC4/0xC8, 24x24 box). Then iterates through visible item slots checking their bounding boxes. Returns pointer to the hit item or 0 if none. 0x005E11E0 187 CSearchStoreListWnd__get_item_tooltip_string ui_shop Builds a tooltip string for an item by ID. Calls CItemInfoMgr to clear state, CItemDesc__get_class_and_level to set item info, then CItemDB__build_item_tooltip_string to generate the display text. Returns the constructed string. 0x005E12A0 95 CSearchStoreListWnd__get_item_data_by_index ui_shop Gets item data by visible list index. Uses double indirection: index array at offset 0xDC maps visible index to item array index, then item array at offset 0xE8 (stride 0x1C) holds the actual data. Returns item pointer or 0 if out of bounds. 0x005E1310 9 CSearchStoreListWnd__thunk_set_position ui_shop Thunk to CEffect__set_position. Forwards call from CSearchStoreListWnd vtable. 0x005E1320 2064 CSearchStoreWnd__init_child_widgets ui_shop Initializes the search store window's child widgets. Creates: close button (CDialogWnd), search label (UITextWidget with msg 0xEC0), search text input (CDialogWnd with msg 0xEC1), reset button, search filter radio button (CSearchFilterDlg with msg 0xEBF/0xE8A), buy button, page counter label, and item list panel (UIWindowBase). Sets positions, sizes, and adds all as children. 0x005E1B30 208 CSearchStoreListWnd__init_scrollbar ui_shop Initializes the scrollbar for the search store item list. Creates a scrollbar knob widget (UISpriteWidget with custom vtable), calculates scroll range from window height and item row height, and adds the scrollbar as a child widget. 0x005E1C00 543 CSearchStoreWnd__draw ui_shop Main draw function for the search store window. Draws background sprite, item count header, iterates through visible items drawing their icons (equip vs consumable), price info (msg 0xE8C format), and optional status text. Uses different draw methods for equippable vs non-equippable items. 0x005E1E20 250 CSearchStoreButton__draw ui_shop Draw handler for search store buttons. Checks visibility and enabled state. Draws button texture based on state (normal vs hover, offset 0x30), loads texture from resource manager, renders sprite. Also draws button label text at offset (0xC, 1) if text string is set. 0x005E1F20 1098 CSearchStoreListWnd__draw_items ui_shop Draws the visible item rows in the search store list. For each visible row: gets item data via double-indirection, draws selection highlight (blue for selected, green for current, default otherwise), draws item icon, truncates name to 100px width, draws item name and price. Uses different colors for equippable (white) vs non-equippable (grey 0xAAAAAA) items. 0x005E2370 516 CSearchStoreScrollbar__draw ui_shop Draws the scrollbar for the search store list. Loads top/bottom/middle sprites, tiles the middle section to fill the track. Calculates thumb position from scroll offset as a proportion of total scrollable range. Draws the thumb sprite at the computed position. Resets dirty flag and calls parent draw. 0x005E2590 56 CSearchStoreListWnd__on_click_select_item ui_shop Handles left click on search store item list. Converts the y coordinate to an item index based on row height and scroll offset. Clamps to valid range, then selects the item at that index. 0x005E25D0 215 CSearchStoreListWnd__show_item_tooltip ui_shop Shows item tooltip on mouse hover in the search store list. Hit-tests coordinates to find the item, converts item ID string to int via atoi, builds tooltip string via get_item_tooltip_string, then shows it via CToolTipMgr at (x+5, y-5). 0x005E26B0 389 CSearchStoreListWnd__show_item_tooltip_with_price ui_shop Shows item tooltip with price info on mouse hover in the search store list. Converts y to item index, gets item data, builds tooltip string with item name and price (msg 0xB7 format), accumulates parent offsets for correct positioning, then shows via CToolTipMgr. 0x005E2850 401 CSearchStoreWnd__on_search_text_changed ui_shop Handles text input changes in the search store search field. Gets current text from the editable widget, compares to the placeholder text (msg 0xEC0). If different and non-empty, sets label color to black; if empty, restores placeholder text with grey color (0xB1, 0xB1, 0xB1). 0x005E29F0 63 CSearchStoreListWnd__on_right_click_item ui_shop Handles right click on a search store item. Hit-tests coordinates, if an item is found, creates an item info window (type 0xC) and passes the item data to it for detailed viewing. 0x005E2A30 49 CSearchStoreListWnd__notify_scroll_direction ui_shop Notifies parent of scroll direction. If param_2 < 0, sends event 10 (scroll down) to the scrollbar's parent; otherwise sends event 9 (scroll up). 0x005E2A70 175 CSearchStoreListWnd__update_scrollbar ui_shop Updates the scrollbar range and position for the search store item list. If total items > visible items, enables scrollbar, sets range/position via CUIScrollBar, clamps scroll offset. Otherwise hides the scrollbar. Invalidates the widget and parent for redraw. 0x005E2B20 747 CSearchStoreListWnd__filter_items_by_search_text ui_shop Filters the search store item list by search text. Converts search text to lowercase, iterates all items in the master list, builds tooltip string for each, converts to lowercase, performs case-insensitive substring search using memchr+compare loop. Matching item indices are added to the visible index array. Updates scrollbar and sort afterwards. 0x005E2E10 663 CSearchStoreWnd__set_selected_item_data ui_shop Sets the selected item data in the search store detail panel. Receives item data pointer, clears existing shop items, processes each card/option on the item via CItemDesc, copies item data including prices. Calculates total price from all price entries (min 1000). Formats price range string (msg 0xE8B). Updates buy button enabled state and triggers redraw. 0x005E30B0 2275 CSearchStoreWnd__process_search_results ui_shop Processes search store results from server. Clears the item list, creates a red-black tree iterator, traverses all result nodes. For each node, clones the item data arrays (8-byte pairs and 12-byte triples), processes combinations via stub_005dfda0, and appends valid results to the main item list. After processing all nodes, filters by search text, selects first item, and cleans up the tree. 0x005E39A0 304 CSearchStoreWnd__send_purchase_request ui_shop Sends the search store purchase request packet (0x7E4) to the server. Builds a variable-length packet with header, item count, and for each item in the store list: writes the item nameid (2 bytes) and card/refine data (2 bytes). Uses stack allocation for small packets, malloc for large ones. Disables the buy button after sending. 0x005E3AD0 72 CSearchStoreWnd__send_close_packet ui_shop Sends the search store close packet (0x7E4) with empty item list to the server. Constructs a 12-byte packet with header 0xC07E4 and zero items, then sends via CNetworkSession. 0x005E3B20 86 CSearchStoreListWnd__reset_list_state ui_shop Resets the search store item list state. Recalculates visible item count from window height / row height, clears selection indices, resets scroll position to 0, hides the scrollbar, and resets the filtered index array to match the unfiltered array. 0x005E3B80 168 CSearchStoreListWnd__select_item_at_index ui_shop Selects the item at the given index in the search store list. Sets current selection index, saves previous scroll position, invalidates for redraw. Looks up item data via double-indirection and notifies the parent widget (event 0x17) with the item data pointer. 0x005E3C30 148 CSearchStoreWnd__on_child_event ui_shop Handles child widget events for the search store window. Dispatches on event type: 0=focus change (triggers search), 6=button clicks (0xB8=buy, 0xC9=close, 0x141=search, 0x16C=filter toggle, 0x19F=reset), 0x12/0x13=page nav forwarded to parent, 0x17=item selection (populates detail panel with item data and prices). Falls through to UIWindow__handle_button_click. 0x005E4170 137 CSearchStoreListWnd__on_event ui_shop Main event handler for the search store item list widget. Handles: 3/0x12=scroll up, 4/0x13=scroll down, 6=search text submit (event 0x141), 7/9/10=scroll position changes (adjusts offset by delta), 0x17=process search results from server. Returns event propagation result. 0x005E4330 398 CSearchStoreListWnd__sort_and_rebuild_list ui_shop Sorts and rebuilds the filtered item list. Clones the full item array, calls the sort function (stub_005dfb40) with the index and item arrays. Clears and replaces the old item vector. If param_2 is false (descending), reverses the sorted order via simd_reverse_dwords_in_place. Triggers redraw. 0x005E44C0 120 CSearchStoreListWnd__scroll_up_by_offset ui_shop Scrolls the item list up by the given offset. Subtracts param_2 from current selection, clamps to 0. If the new position is outside the visible scroll window, adjusts the scroll offset and updates the scrollbar. Then selects the item at the new position. 0x005E4540 22 CSearchStoreItem__destruct_range_thunk ui_shop Thunk that forwards to the search store item range destructor. Passes parameters in swapped order (param_2, param_3, this). 0x005E4560 22 CSearchStoreItem__destruct_range_thunk_alt ui_shop Thunk that forwards to the search store item range destructor (alternate version). Passes parameters in swapped order (param_2, param_3, this). 0x005E4580 1 identity_return_ecx_005e4580 game_core Identity function that returns its input parameter unchanged 0x005E4590 1 identity_return_ecx_005e4590 game_core Identity function that returns its input parameter unchanged 0x005E45A0 1 identity_return_ecx_005e45a0 game_core Identity function that returns its input parameter unchanged 0x005E45B0 174 CSearchStoreListWnd__clear_and_free_item_vector ui_shop Clears and frees the search store item vector. Destructs all items in the array via range destructor, then frees the underlying memory buffer (aligned deallocation for large buffers). Resets all three vector pointers (begin, end, capacity) to 0. 0x005E4670 41 CSearchStore__zero_init_8byte_array ui_shop CSearchStore: zero init 8byte array 0x005E46A0 48 CSearchStore__zero_init_12byte_array ui_shop CSearchStore: zero init 12byte array 0x005E46D0 153 CSearchStoreItem__copy_construct_range ui_shop Copy-constructs a range of search store shop items (stride 0xF8) from [param_2, param_3) into destination starting at param_4. Uses CShopItem__copy_construct for each element. After copying, destructs the remaining range. Returns the end pointer of the destination. 0x005E4770 151 CSearchStoreItem__copy_construct_range_void ui_shop Copy-constructs a range of search store shop items (stride 0xF8) from [param_2, param_3) into destination starting at param_4. Same logic as copy_construct_range but returns void. Used by vector reallocation. 0x005E4810 10 CSearchStore__throw_vector_too_long ui_shop Throws std::length_error with message "vector too long". Called when search store item vector exceeds maximum size. 0x005E4820 10 CSearchStore__throw_vector_too_long_alt ui_shop Throws std::length_error with message "vector too long". Duplicate of 005e4810, called from a different vector growth path in the search store subsystem. 0x005E4830 102 CSearchStore__allocate_item_array ui_shop Allocates aligned memory for a search store item array with 0x1C byte stride. Validates count < 0x924924A to prevent overflow. For small allocations (< 0x1000 bytes) uses operator new directly; for large ones allocates with 32-byte alignment and stores the raw pointer at offset -4. 0x005E48A0 55 CSearchStore__compare_string_to_cstr ui_shop Compares a std::string (this) to a C-string (param_2). Gets the internal buffer pointer (handles SSO), then delegates to std::_Traits_compare. Used to compare search input against placeholder text. 0x005E48E0 67 CSearchStore__free_item_array ui_shop Frees aligned memory for a search store item array (0x1C byte stride). For large buffers (>= 0x1000 bytes), reads the raw allocation pointer from offset -4 before calling operator delete. Validates alignment header. 0x005E4930 59 CSearchStore__free_shop_item_array ui_shop Frees aligned memory for a search store shop item array (0xF8 byte stride). Same aligned deallocation logic as free_item_array but for the larger shop item structures. 0x005E4970 218 CSearchStoreEntry__ctor ui_shop Constructs a CSearchStoreEntry. Copies the type flag from param_5, initializes two std::strings (name from param_4 via strlen+assign, options moved from param_3), and sets the enabled flag from param_2. Used to build search filter entries for the search store UI. 0x005E4A50 744 CSearchStoreMgr__ctor ui_shop Constructor for CSearchStoreMgr. Initializes the base class with an XOR-encrypted config string (decrypted from TLS storage using keys 0x53C367B3/0x17359BF9). Sets up vtable chain (purecall -> intermediate -> final at PTR_LAB_010e3124). Initializes 4 std::strings and two vector pairs for item/option storage. References path "C:\\repositories\\RagnarokClient\\R...". 0x005E4D40 210 CWebDataProvider__dtor game_core Destructor for CWebDataProvider. Sets vtable, destroys 6 string members, resets base class vtables to purecall. 0x005E4E20 234 CWebDataProvider__scalar_deleting_dtor game_core Scalar deleting destructor for CWebDataProvider. Calls dtor logic then optionally frees 200 bytes. 0x005E4F10 638 CWebDataProvider__init_request game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Safely releases a reference with SEH exception handling. Same logic as release_ref but wrapped in try/catch frame. 0x005E5CE0 105 CWebDataCallback__dtor game_core Destructor for CWebDataCallback. Sets vtable, destroys 3 string members. 0x005E5D50 126 CWebDataCallback__scalar_deleting_dtor game_core Scalar deleting destructor for CWebDataCallback. Calls dtor logic then optionally frees 0x60 bytes. 0x005E5DD0 480 CWebDataCallback__get_or_create_instance game_core 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 game_core Destroys the global CWebDataCallback singleton (DAT_013898bc). Calls scalar_deleting_dtor and sets pointer to null. 0x005E5FD0 88 CWebDataCallback__get_url_string game_core Returns a copy of the URL string at offset 0x48 of the callback object. 0x005E6030 88 CWebDataCallback__get_path_string game_core Returns a copy of the path string at offset 0x30 of the callback object. 0x005E6090 800 CUserSettings__parse_json_settings game_core 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 game_core 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 game_core 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 game_core 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 game_core Loads "SortPrivateTab" bool from JSON. Stores result in DAT_0173a504. Defaults to 0 if key is missing. 0x005E6A10 408 CUserSettings__load_skill_use_info game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Builds JSON for SortPrivateTab setting. Creates bool JSON value from DAT_0173a504 and assigns under "SortPrivateTab" key. 0x005E78C0 165 CUserSettings__build_skill_use_json game_core 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 game_core 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 game_core 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 game_core Scalar deleting destructor for CSkillUseCallback. Optionally frees 8 bytes if flag is set. 0x005E7AE0 234 CSkillUseCallback__operator_call game_core 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 game_core 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 game_core 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 game_core 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 game_core Scalar deleting destructor variant for CWebDataProvider (different vtable). Calls dtor logic and optionally frees 200 bytes. 0x005E80D0 666 CWebDataProvider__init_request_005e80d0 game_core 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 game_core 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 game_core Single-byte NOP stub (no operation, returns immediately) 0x005E8F10 85 CCurlWrapper__dtor game_core 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 game_core Scalar deleting destructor for CCurlWrapper. Calls dtor logic, optionally frees 0x38 bytes. 0x005E8FE0 491 convert_string_to_utf8 game_core 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 game_core Single-byte NOP stub (no operation, returns immediately) 0x005E9290 368 CCurlWrapper__get_or_create_instance game_core 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 game_core 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 game_core Destroys the global CCurlWrapper singleton (DAT_013898cc). Calls scalar_deleting_dtor and sets pointer to null. 0x005E9440 445 convert_utf8_to_local_codepage game_core 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 game_core 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 game_core 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 game_core Scalar deleting destructor for CCurlRequest. Calls dtor logic, optionally frees 0x48 bytes. 0x005E9900 89 CCurlRequest__cleanup_handles game_core 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 game_core 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 game_core 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 game_core 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 game_core Standard cURL write callback function. Appends received data (size*nmemb bytes) to a string buffer. Returns total bytes written. Used as CURLOPT_WRITEFUNCTION. 0x005E9B20 218 CSkyDataEntry__ctor game_map Constructs a CSkyDataEntry with: ID from param_5, name string from param_4, URL string moved from param_3, and a boolean flag from param_2. Used by CSkyDataProviderA for sky data entries. 0x005E9C00 760 CSkyDataProviderA__ctor game_map Constructor for CSkyDataProviderA. Initializes base class vtables (purecall -> PTR_LAB_010e34e4), multiple string fields, default limit of 500. Decrypts an obfuscated key via XOR TLS storage for API authentication. Size: 0xD0 bytes. 0x005E9F00 210 CSkyDataProviderA__dtor game_map Destructor for CSkyDataProviderA. Tears down in reverse order: resets vtable to PTR_LAB_010e34e4, destroys 5 string fields, resets to purecall vtables, destroys base string. 0x005E9FE0 234 CSkyDataProviderA__scalar_deleting_dtor game_map Scalar deleting destructor for CSkyDataProviderA. Calls dtor then optionally frees 0xD0 bytes if bit 0 of param_2 is set. 0x005EA0D0 638 CSkyDataProviderA__set_request_data game_map Sets request data on CSkyDataProviderA: records timestamp via timeGetTime(), copies URL/path/extra strings, stores numeric parameters, builds a CSkyDataEntry via XOR-decrypted key, and assigns it via MapSkyDataEntry__move_assign. 0x005EA360 193 CSkyDataProviderA__copy_strings_and_send game_map Copies string fields at offsets +0x84, +0x9C, +0xB4 from the source object and calls send_chunked_network_packet to transmit the sky data. 0x005EA430 2983 CSkyDataProviderA__execute_sky_data_request game_map Main sky data request executor for ProviderA. Formats numeric IDs into URL strings, converts to UTF8, calls sub-request function, sends multiple encrypted API requests (decrypted via XOR TLS) for different data fields. On success (result=0), fetches response, copies result string, sends final encrypted request. Calls stub_005e9710 at end. 0x005EAFE0 137 CSkyDataProviderB__ctor game_map Constructor for CSkyDataProviderB. Initializes vtable (PTR_stub_005eb0d0_010e3574), boolean flag at +4 set to 1, two empty strings at +8 and +0x20. Total size: 0x3C bytes. 0x005EB070 93 CSkyDataProviderB__dtor game_map Destructor for CSkyDataProviderB. Resets vtable, destroys two string fields. 0x005EB0D0 114 CSkyDataProviderB__scalar_deleting_dtor game_map Scalar deleting destructor for CSkyDataProviderB. Calls dtor then optionally frees 0x3C bytes if bit 0 of param_2 is set. 0x005EB150 232 CSkyDataProviderB__get_or_create_singleton game_map Gets or creates the CSkyDataProviderB singleton (stored in DAT_013898d4). Allocates 0x3C bytes, initializes via ctor. If singleton exists but is disabled (flag at +4 is 0), calls virtual dtor and nullifies. Returns 1 if active, 0 otherwise. 0x005EB240 27 CSkyDataProviderB__destroy_singleton game_map Destroys the CSkyDataProviderB singleton (DAT_013898d4) by calling its virtual destructor with delete flag, then nulls the pointer. 0x005EB260 427 CSkyDataProviderB__register_sky_texture game_map Registers a sky texture via CEffectTexture__register_effect_type_d. Builds a string, copies it, and copies a string from offset +0x20 of param_1. 0x005EB410 360 CSkyDataProviderB__register_sky_texture_if_needed game_map Conditionally registers a sky texture. Checks if flag at param_1+0x38 is not 1; if so, builds strings from param_1 fields and calls CEffectTexture__register_effect_type_e. Returns true if registration was performed. 0x005EB580 630 CSkyDataProviderB__build_sky_texture_paths_from_lua game_map Builds sky texture file paths from Lua table data. Reads a string from Lua, decrypts two XOR-encrypted suffixes from TLS, concatenates them to form two file paths (stored at param_1+8 and param_1+0x20). Only processes if Lua value is non-null. 0x005EB800 712 CSkyDataProviderA__send_chunked_network_packet game_map Sends sky data as a chunked network packet. Allocates 0x408-byte buffer with 0xDDDD sentinel, header 0x0B36. Splits large data into chunks of max 0x3F2 bytes, sending each via CNetworkSession__recv_data. Final chunk has subtype=0 (end). Frees buffer on sentinel match. 0x005EBAD0 910 CSkyDataProviderB__handle_json_response game_map Handles JSON response for CSkyDataProviderB. Parses JSON string via JsonReader, decrypts field name via XOR TLS, reads command type. Type 1: sends packet 0xB46 with sprite data. Type 2/3/4: shows error dialog via CMessageStringTable (msg 0xE02). Clears flag at +0x38 on the data entry after processing. 0x005EBE70 218 CSkyDataEntryB__ctor game_map Constructs a CSkyDataEntryB with: ID from param_5, name string from param_4, URL string moved from param_3, and boolean flag from param_2. Identical structure to CSkyDataEntry__ctor but used by ProviderB. 0x005EBF50 777 CSkyDataProviderB__base_ctor game_map Constructor for CSkyDataProviderB base object. Initializes vtables, 6 empty string fields, counter fields. Decrypts API key from XOR TLS storage. Creates initial CSkyDataEntryB. Larger object than ProviderA, uses vtable PTR_LAB_010e3594. Size: 0xE0. 0x005EC260 225 CSkyDataProviderB__base_dtor game_map Destructor for CSkyDataProviderB base. Destroys 7 string fields in reverse order, resets vtable through purecall chain, destroys base class string. 0x005EC350 249 CSkyDataProviderB__base_scalar_deleting_dtor game_map Scalar deleting destructor for CSkyDataProviderB base. Calls base_dtor then optionally frees 0xE0 bytes if bit 0 of param_2 is set. 0x005EC450 666 CSkyDataProviderB__set_request_data game_map Sets request data on CSkyDataProviderB. Records timestamp, copies 4 string parameters (URL, path, extra, additional), stores numeric params. Builds CSkyDataEntryB via XOR-decrypted key and assigns via MapSkyDataEntry__move_assign. 0x005EC700 186 CSkyDataProviderB__copy_strings_and_send game_map Copies string fields at offsets +0x84, +0xAC, +0xC4 from the source object and calls handle_json_response to process the sky data response. 0x005EC7C0 3566 CSkyDataProviderB__execute_sky_data_request game_map Main sky data request executor for ProviderB. Formats URLs, converts to UTF8, extracts substring and uppercases it, creates CCurlRequest, sends 6 encrypted API requests for different data fields, fetches response, converts UTF8 result to local codepage. Similar to ProviderA but with additional string field and curl request object. 0x005ED5B0 29 CGrfFileRecord__copy_range_backward file Copies a range of GRF file record data backward (from end to adjusted position). Used for shifting elements during vector insert operations. Computes destination as param_3 - (param_2 - param_1). 0x005ED5D0 29 CGrfFileRecord__copy_range_backward_B file Copies a range of GRF file record data backward. Identical implementation to copy_range_backward at 005ed5b0 - separate instantiation for a different element type. 0x005ED5F0 34 CGrfFileRecord__copy_range_forward file Copies a range of bytes forward via memcpy. Returns pointer past the end of the destination. Used in GRF file record vector operations. 0x005ED620 462 STL_rbtree_insert_unique_string_key stl Red-black tree insert_unique for string-keyed map. Allocates 0x28-byte node (with string at offset +0x10). Traverses tree comparing string keys via _Traits_compare. If key exists, returns existing node with inserted=false. Otherwise inserts new node. Throws if max size (0x6666666) reached. 0x005ED7F0 384 STL_rbtree_insert_unique_composite_key stl Red-black tree insert_unique for composite key (3 fields at offsets +0x10, +0x14, +0x18). Allocates 0x20-byte node. Compares by first field, then second pair for tiebreaking. Returns existing node if duplicate found, otherwise inserts new. Throws if max size (0x7FFFFFF) reached. 0x005ED980 326 STL_vector_insert_single_grf_record stl Inserts a single 0x120-byte GRF file record into a vector at the given position. Handles reallocation with 1.5x growth factor. Max capacity 0xE38E38 elements. Copies record via memcpy (72 dwords). Uses separate move functions for before/after insertion point. 0x005EDAF0 103 STL_rbtree_destroy_nodes_20byte stl Recursively destroys all nodes in a red-black tree. Each node is 0x20 bytes. Traverses right subtree recursively, then iterates left children. Frees each node via operator_delete(0x20). No value destructor needed (POD values). 0x005EDB60 103 STL_rbtree_destroy_nodes_20byte_B stl Recursively destroys all nodes in a red-black tree (0x20-byte nodes). Identical to STL_rbtree_destroy_nodes_20byte - separate template instantiation for a different key/value type. 0x005EDBD0 118 STL_rbtree_destroy_nodes_with_string_28byte stl Recursively destroys all nodes in a red-black tree with string values. Each node is 0x28 bytes. Calls STL_string_dtor on each node's string field before freeing. Traverses right subtree recursively, iterates left children. 0x005EDC50 157 STL_rbtree_lower_bound_composite_key stl Red-black tree lower_bound for composite key (3 fields). Compares first field, then uses (field3, field2) pair for tiebreaking with lexicographic comparison. Returns iterator pointing to first element not less than key, plus the parent/direction info for potential insertion. 0x005EDCF0 489 STL_vector_byte_insert_range stl Inserts a range of bytes into a vector at a given position. Handles in-place shift if capacity suffices (both when shift size < displacement and >= displacement). On reallocation, uses 1.5x growth factor with max 0x7FFFFFFF. Copies via memcpy. 0x005EDF80 598 STL_vector_insert_range_grf_record stl Inserts a range of 0x120-byte GRF file records into a vector. Handles both in-place shift and reallocation cases. Growth factor 1.5x, max 0xE38E38 elements. Uses CGrfFileRecord copy functions for element movement. Throws length_error if capacity exceeded. 0x005EE270 423 CGrfFileRecord__make_heap file Builds a max-heap from an array of 0x120-byte GRF file records (Floyd's algorithm). Starts from the middle element and sifts down each element. Uses CGrfFileRecord__compare_less_than for ordering. Part of STL sort implementation for GRF files. 0x005EE420 207 CGrfFileRecord__median_of_three_sort file Performs median-of-three selection and sorting for 3 GRF file record elements. Compares and swaps elements to place the median in the middle position. Used as pivot selection for introsort. Element size: 0x120 bytes (72 dwords). 0x005EE4F0 34 CGrfFileRecord__copy_range_forward_B file Copies a range of bytes forward via memcpy. Returns pointer past end of destination. Same as CGrfFileRecord__copy_range_forward but separate template instantiation. 0x005EE520 34 CGrfFileRecord__copy_range_forward_C file Copies a range of bytes forward via memcpy. Returns pointer past end of destination. Same as CGrfFileRecord__copy_range_forward but another template instantiation. 0x005EE550 990 CGrfFileRecord__introsort_partition file Introsort partition (Hoare scheme) for 0x120-byte GRF file records. Selects pivot via median-of-three, then partitions array into elements less than and greater than pivot. Returns partition boundaries via param_1 output array. Handles equal-to-pivot elements specially to avoid worst-case behavior. 0x005EE930 255 CGrfFileRecord__heap_sift_down file Heap sift-down operation for 0x120-byte GRF file records. Moves an element down the heap from position param_2 until heap property is restored. Compares children, swaps with larger child, then sifts the displaced element back up. Element size: 72 dwords. 0x005EEA30 692 CGrfFileRecord__introsort file Hybrid introsort for 0x120-byte GRF file records. Uses quicksort with median-of-three pivot selection. Falls back to heapsort when recursion depth (param_3) reaches 0. Uses insertion sort for small ranges (<0x21 elements / 0x2520 bytes). Recursion depth reduced by 3/4 each level. 0x005EECF0 52 CGrfFileRecord__copy_range_to_dest file CGrfFileRecord: copy range to dest 0x005EED30 247 STL_rbtree_emplace_composite_key stl Red-black tree emplace for composite key (4 fields). Calls lower_bound to find insertion point, compares via stub_005ef5a0. If key exists, returns existing node. Otherwise allocates 0x20-byte node, copies 4-field key, and inserts via Insert_node. Throws if max size (0x7FFFFFF) reached. 0x005EEE30 151 STL_vector_byte_ctor_with_size stl Constructs a byte vector with a given initial size. Allocates memory, zero-fills via memset. Sets begin/end/capacity pointers. Throws length_error if size exceeds 0x7FFFFFFF. 0x005EEED0 67 CGrfArchive__delete_node_12bytes file Deletes a 12-byte (0xC) heap allocation stored at offset+4 of the object. Part of CGrfArchive tree node cleanup. SEH protected. 0x005EEF20 67 CGrfArchive__delete_node_32bytes file Deletes a 32-byte (0x20) heap allocation stored at offset+4 of the object. Part of CGrfArchive tree node cleanup. SEH protected. 0x005EEF70 67 CGrfArchive__delete_node_32bytes_v2 file Deletes a 32-byte (0x20) heap allocation stored at offset+4 of the object. Duplicate of 005eef20 with different SEH unwind label. Part of CGrfArchive tree node cleanup. 0x005EEFC0 67 CGrfArchive__delete_node_40bytes file Deletes a 40-byte (0x28) heap allocation stored at offset+4 of the object. Part of CGrfArchive tree node cleanup. SEH protected. 0x005EF010 78 CGrfArchive__delete_node_12bytes_v2 file Deletes a 12-byte (0xC) heap allocation stored at offset+4 of the object. Variant with different SEH unwind setup order. Part of CGrfArchive tree node cleanup. 0x005EF060 111 CGrfArchive__destroy_linked_list_and_sentinel file Iterates a linked list of 0x20-byte nodes, calls a cleanup function on each node's data (offset+8), deletes each node, then deletes the sentinel node. Part of CGrfArchive tree/list destruction. 0x005EF0E0 76 CGrfArchive__destroy_tree_and_sentinel_40bytes file Destroys a red-black tree by calling stub_005edbd0 to erase all child nodes from the root, then frees the 0x28-byte sentinel node. Part of CGrfArchive cleanup. 0x005EF140 78 CGrfArchive__delete_node_32bytes_v3 file Deletes a 32-byte (0x20) heap allocation stored at offset+4 of the object. Variant with different SEH unwind setup. Part of CGrfArchive tree node cleanup. 0x005EF190 78 CGrfArchive__delete_node_32bytes_v4 file Deletes a 32-byte (0x20) heap allocation stored at offset+4 of the object. Another variant with different SEH unwind setup. Part of CGrfArchive tree node cleanup. 0x005EF1E0 104 CGrfArchive__destroy_node_with_string_40bytes file Destroys a 0x28-byte node that contains an embedded std::string. First destructs the string via STL_string_dtor, then frees the 40-byte allocation. Part of CGrfArchive tree node cleanup. 0x005EF250 78 CGrfArchive__delete_node_32bytes_v5 file Deletes a 32-byte (0x20) heap allocation stored at offset+4 of the object. Yet another variant with different SEH unwind label. Part of CGrfArchive tree node cleanup. 0x005EF2A0 78 CGrfArchive__delete_node_32bytes_v6 file Deletes a 32-byte (0x20) heap allocation stored at offset+4. Part of CGrfArchive tree node cleanup. 0x005EF2F0 78 CGrfArchive__delete_node_40bytes_v2 file Deletes a 40-byte (0x28) heap allocation stored at offset+4. Part of CGrfArchive tree node cleanup. 0x005EF340 65 CGrfArchive__destroy_linked_list_wrapper file Wrapper that calls CGrfArchive__destroy_linked_list_and_sentinel (005ef060) to destroy the linked list. SEH protected wrapper. 0x005EF390 87 CGrfArchive__destroy_tree_and_sentinel_40bytes_v2 file Destroys a red-black tree by erasing all child nodes from the root, then frees the 0x28-byte sentinel node. Variant of 005ef0e0 with different SEH unwind setup. 0x005EF400 100 CGrfArchive__dtor_base file CGrfArchive base destructor. Sets vtable to derived class vtable, calls cleanup function (005f7810), deallocates a vector buffer, then sets vtable to base class (_Facet_base). Does NOT free the object itself. 0x005EF470 107 CGrfArchive__dtor_complete file CGrfArchive complete destructor. Like dtor_base (005ef400) but with additional cleanup steps (state index 2 vs 1). Sets vtable, calls cleanup, deallocates vector, resets to base vtable. 0x005EF4E0 83 operator++ stl STL _Tree_unchecked_const_iterator::operator++ for std::set. Advances the iterator to the next node in the red-black tree using in-order traversal. VS2019 library function. 0x005EF540 83 operator++ stl STL _Tree_unchecked_const_iterator::operator++ for std::set. Duplicate instance at different address. Advances the iterator to the next node in the red-black tree. VS2019 library function. 0x005EF5A0 94 CGrfArchive__compare_file_offset file Compares two GRF file offset entries. Compares first field (uint), then compares a 64-bit offset composed of fields at index 2 and 3. Returns 1 if first < second, 0 otherwise. Used for sorting/searching file offsets in the GRF archive. 0x005EF600 93 CGrfArchive__compare_file_record_key file Compares two GRF file record keys. Compares a 64-bit value (fields 0+1), then if equal, compares field 2 as a tiebreaker. Returns 1 if first < second, 0 otherwise. Used for tree ordering of file records. 0x005EF660 36 `scalar_deleting_destructor' other std::_Facet_base scalar deleting destructor. Resets vtable to base class, optionally frees 4-byte object if bit 0 of param is set. This is the base destructor for std::locale facets, used as base class for CGrfArchive. 0x005EF690 121 CGrfArchive__scalar_deleting_dtor file CGrfArchive scalar deleting destructor. Calls full destructor (cleanup, vector dealloc, vtable reset to base), then optionally frees the 0x20-byte object if bit 0 of param is set. 0x005EF710 128 CGrfArchive__scalar_deleting_dtor_v2 file CGrfArchive scalar deleting destructor variant. Uses state index 2 for more thorough cleanup, then optionally frees the 0x20-byte object if bit 0 of param is set. 0x005EF790 188 CGrfArchive__add_grf_entry_to_list file Adds a GRF entry (param_2) to the linked list at this+0x148. Allocates a 0xC-byte list node, stores the entry pointer at node+8, links it into the doubly-linked list. Increments count at this+0x14C. Throws std::_Xlength_error if list is at max capacity (0x15555555). Then updates the file name set at this+0x150. 0x005EF850 330 CGrfArchive__reset_all_entries file Resets the CGrfArchive to empty state. Calls cleanup on internal data, resets GRF entry state via CGrfEntry__reset_state, iterates the GRF entry list (this+0x148) calling virtual destructors on each entry, frees all list nodes, reinitializes the linked list sentinel, clears the file name tree (this+0x150), shrinks/deallocates multiple vectors (file records at 0x24/0x30, gap list at 0x158) and resets their sizes. 0x005EF9A0 21254 CGrfArchive__init_des_encryption_tables file CGrfArchive: init des encryption tables 0x005F4CB0 790 CGrfArchive__build_free_space_map file Builds a free-space (gap) map for the GRF archive. Starts with offset 0x2E (after GRF header), adds the archive's own offset range (this+0x18..0x20), then iterates file records at this+0x24 adding each file's offset+0x2E with its size. For each gap between entries, inserts a node into a red-black tree (free space map). Finally checks total file size and adds trailing free space if needed. 0x005F4FD0 477 CGrfArchive__read_and_decrypt_file_data file Reads file data from a GRF entry and optionally decrypts it. Reads raw data via virtual call on this+8. If file is compressed (flag bit 7), just copies raw data. Otherwise builds a DES key from the filename, generates DES subkeys, and decrypts using either single-pass (flag & 4) or multi-pass (flag & 2) DES encryption based on a digit-count cipher mode. Clears encryption flags and copies result to output buffer. 0x005F51B0 81 CGrfArchive__build_filename_index file Iterates all file records in the vector at (param+0x24..param+0x28) with 0x120-byte stride. For each record that has a file extension (strrchr for '.'), adds its filename to an index/set structure. Used to build a filename lookup for the GRF archive. 0x005F5210 164 CGrfArchive__allocate_space_for_file file Allocates space in the GRF archive for a file of given size. Searches the free-space tree (this+0x164) for a gap that fits. If no gap found, gets the total archive size and returns the end-of-file offset. If a gap is found but larger than needed, splits the gap and adds the remainder back. Removes the used gap node from the tree. Returns the allocated offset as a 64-bit value. 0x005F52C0 134 CGrfArchive__calculate_total_file_data_size file Iterates all nodes in the free-space tree (this+0x164) and sums up the size field (offset+0x10) of each node. Returns the total size as a 64-bit value. This computes the total amount of file data stored in the GRF archive. 0x005F5350 125 CGrfArchive__read_file_table_from_entries file Reads the file table by iterating GRF entries in the linked list (this+0x148). For each entry, calls CGrfEntry__read_file_table_data. Stops when data is read successfully (param_2[1] != param_2[0]). If no entry provides data, falls back to copying from a default buffer at this+0x194..0x198. Reserves more space in the output vector if needed. 0x005F53D0 1508 CGrfArchive__save_archive file Saves the GRF archive to disk (1,508 bytes). Calls init_des_encryption_tables, then build_free_space_map. Iterates all file names in the tree (this+0x150), setting each file record's name. For each file, reads the entry data, sorts records, serializes file record headers and data into a byte buffer, compresses with zlib, reads the existing file table, allocates space for the compressed table + file table, writes the compressed table header (12 bytes: file_table_size, compressed_size, uncompressed_size), writes compressed data, writes file table, and writes the 'Event Horizon' GRF header at offset 0x1E with file count and version 0x300. Reports progress via callback. 0x005F59C0 71 CGrfArchive__open_and_load file Opens a GRF archive file and loads its contents. Calls open_file (005f7890), then parses the GRF header via CGrfEntry__parse_header_and_load on the file handle at this+0x170, and reads the file table data into buffer at this+0x194. Returns 1 on success, 0 on failure. 0x005F5A10 2307 CGrfArchive__import_grf_and_merge file Imports files from another GRF archive and merges them into this archive (2,307 bytes). Opens the source GRF, reads its 'Event Horizon' header, iterates file entries in the source tree, for each file: reads its name, finds the corresponding record, allocates a decompression buffer, calls read_and_decrypt_file_data, allocates space in this archive, writes the file data to the new location, serializes file record headers, compresses the file table with zlib, reads the existing file table, writes header+compressed table+file table, then writes the GRF header with updated file count. Reports progress via callback. 0x005F6320 594 CGrfArchive__add_or_replace_file file Adds or replaces a file in the GRF archive (594 bytes). Iterates GRF entries looking for a file record matching the given name. If found, reads and decrypts the file data, allocates space in the archive, writes the data at the allocated offset, then binary-searches the file record vector to find the insertion/replacement point. If record exists, overwrites it; if not, appends to the record vector (expanding at this+0x158..0x15C). Returns 1 on success, 0 on failure. 0x005F66F0 123 CGrfArchive__alloc_aligned_buffer file Allocates an aligned byte buffer for GRF file data. For sizes < 0x1000, does a simple allocation. For sizes >= 0x1000, allocates size+0x23 bytes and aligns the result to a 32-byte boundary, storing the original allocation pointer at aligned_ptr-4 for later freeing. Initializes a 3-element vector header (base, end, capacity). Throws on overflow or allocation failure. 0x005F6770 122 CGrfArchive__replace_file_record_vector file Replaces the file record vector's backing buffer. Frees the old buffer (handling aligned allocations >= 0x1000 via the stored original pointer at base-4). Replaces with new buffer pointer param_2, setting count = param_3 * 0x120 + base and capacity = param_4 * 0x120 + base. 0x120 is the size of one GRF file record. 0x005F67F0 704 CGrfArchive__rbtree_erase_node file Red-black tree node erasure for CGrfArchive's free-space tree (704 bytes). Standard RB-tree deletion: finds successor, splices out the node, performs rotations and recoloring to maintain RB-tree invariants. Handles all cases: node with two children (swap with successor), node with one child, leaf node. Decrements the tree size counter. Returns the removed node pointer (caller must free it). 0x005F6AB0 3 CGrfArchive__identity_return file Identity function that returns its parameter unchanged. 3-byte function (just returns param_1). Likely a trivial converter or type-cast stub in the CGrfArchive subsystem. 0x005F6AC0 517 Insert_node stl STL _Tree_val::_Insert_node for std::set. Inserts a new node into the red-black tree and performs rebalancing (rotations + recoloring) to maintain RB-tree invariants. VS2019 library function. 0x005F6CD0 517 Insert_node stl STL _Tree_val::_Insert_node for std::set (second instantiation). Inserts a new node and rebalances the red-black tree. VS2019 library function. 0x005F6EE0 517 Insert_node stl STL _Tree_val::_Insert_node for std::set. Inserts a new node and rebalances the red-black tree. VS2019 library function. 0x005F70F0 84 STL_rbtree_rotate_left_005f70f0 stl Standard red-black tree left rotation. Rotates the given node (param_2) left around its right child. Updates parent pointers and the tree root if needed. Part of the STL _Tree implementation used by CGrfArchive's internal trees. 0x005F7150 260 CGrfArchive__reallocate_byte_buffer file Reallocates a byte buffer (vector-like). Allocates a new buffer of specified size (with 32-byte aligned allocation for sizes >= 0x1000), copies existing data from old buffer, frees the old buffer, and updates the vector header (base, used, capacity). Used for growing byte vectors in CGrfArchive operations. 0x005F7280 142 STL_vector__Reallocate_exactly_005f7280 stl std::vector::_Reallocate_exactly for GRF file record vectors. Allocates new buffer via 005f7500, copies existing records via 005f74b0, replaces the old vector buffer via replace_file_record_vector. VS2019 library function. 0x005F7340 88 STL_rbtree_rotate_right_005f7340 stl Standard red-black tree right rotation. Rotates the given node (param_2) right around its left child. Updates parent pointers and the tree root if needed. Part of the STL _Tree implementation used by CGrfArchive's internal trees. 0x005F73A0 151 CGrfArchive__free_file_record_vector file Frees the file record vector's backing buffer. Handles aligned allocations (>= 0x1000) by reading the original allocation pointer at base-4. Zeroes out the vector header (base, used, capacity). Part of CGrfArchive cleanup. 0x120 is the file record stride. 0x005F7440 36 CGrfArchive__memcpy_file_records file Copies file record data from source range [param_1, param_2) to destination param_3 via memcpy. Returns the new destination end pointer (param_3 + bytes_copied). Used during file record vector reallocation to copy existing records to a new buffer. 0x005F7470 52 STL_vector_copy_elements_0x120 stl STL template instantiation: STL vector copy elements 0x120 0x005F74B0 49 STL_vector_move_elements_0x120 stl Moves array elements of size 0x120 (288 bytes) from [param_1..param_2) to destination at param_3 offset. Each element is 0x48 dwords. Used for hotkey data vector relocation. 0x005F74F0 10 STL_vector_throw_length_error_005f74f0 stl Throws std::length_error("vector too long"). Called when a vector exceeds maximum capacity. 0x005F7500 95 STL_vector_allocate_0x120 stl Allocates memory for a vector of elements of size 0x120 (288 bytes). Multiplies count by 0x120, uses aligned allocation for blocks >= 0x1000 bytes. Max count 0xe38e39 before overflow. 0x005F7560 40 operator= game_core 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. 0x005F7590 12 STL_string_get_data_ptr stl Returns the raw char pointer for an STL string. If capacity > 15 (SSO threshold), returns the heap pointer at offset 0; otherwise returns the SSO buffer (the object itself). 0x005F75A0 115 CUserHotKeyList__clear_linked_list game_core 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. 0x005F7620 61 deallocate stl std::allocator::deallocate for element size 0x120 (288 bytes). Handles aligned deallocation: for allocations >= 0x1000 bytes, retrieves the original allocation pointer from offset -4. Library function from Visual Studio 2019 Release. 0x005F7660 50 STL_vector_erase_element_0x120 stl Erases a single element of size 0x120 (288 bytes) from a vector by memcpy-ing subsequent elements forward, then decrements the end pointer by 0x120. Returns iterator to erased position. 0x005F76A0 219 CUserHotKeyList__push_back_entry game_core 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 game_core 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 game_core Closes the file handle if it's open (non-null). Calls CloseHandle and sets handle to 0. 0x005F7830 85 CUserHotKeyFile__open_for_read game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Destroys two STL strings in sequence. Used as a cleanup handler during hotkey store operations. SEH frame protected. 0x005F7C90 68 CUserHotKeyStore__destroy_one_string game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x005F8BE0 34 STL_memcpy_range stl Copies a memory range [param_1..param_2) to param_3 using memcpy. Returns pointer to end of destination (param_3 + copied size). 0x005F8C10 236 STL_rbtree_copy_node_recursive stl Recursively copies a red-black tree node and its subtrees. Allocates a new 0x20-byte node, copies the key data (4 dwords at offset +4), sets parent/child links, then recursively copies left and right children. Used for RB-tree deep copy of int-keyed maps. 0x005F8D20 458 STL_vector_insert_pair_8byte stl Inserts a single 8-byte pair element into a vector at position param_2. Grows the vector with 1.5x capacity strategy. Copies existing elements around the insertion point using memcpy. Handles aligned allocation for large buffers (>= 0x1000 bytes). 0x005F8EF0 131 STL_rbtree_destroy_nodes_with_string_dtor stl Recursively destroys red-black tree nodes. For each node, recursively destroys right subtree, then calls stub_005f99f0 (value destructor) on the node, frees the 0x20-byte node, and continues to the left child. Nodes contain a string value needing destruction. 0x005F8F80 103 STL_rbtree_destroy_nodes_simple stl Recursively destroys red-black tree nodes without value destructors. For each node, recursively destroys right subtree, frees the 0x20-byte node, and continues to the left child. Used for simple key-only RB-trees. 0x005F8FF0 185 STL_rbtree_destroy_nodes_with_two_strings stl Recursively destroys red-black tree nodes containing two STL strings and an additional sub-tree. For each node, recursively destroys right subtree, destroys two STL strings, calls stub_005f94b0 to clean up the sub-tree, frees the 0x88-byte node, then continues left. 0x005F90B0 103 STL_rbtree_destroy_nodes_simple_005f90b0 stl Recursively destroys red-black tree nodes without value destructors (duplicate of 005f8f80 for a different tree instantiation). Frees 0x20-byte nodes, traverses right subtree first then left. 0x005F9120 75 STL_rbtree_lower_bound_int_key stl Performs lower_bound search on a red-black tree with integer keys. Starting from the root, compares key at node offset +0x10 against the search key. Returns an iterator struct with the found node, comparison result, and closest parent. 0x005F9170 87 STL_rbtree_lower_bound_uint64_key stl Performs lower_bound search on a red-black tree with 64-bit unsigned integer keys. Compares the high dword (offset +0x14) first, then low dword (offset +0x10) for tie-breaking. Returns iterator with node, comparison flag, and parent. 0x005F91D0 196 CUserHotKeyMgr__ctor game_core 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 game_core 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. 0x005F9360 67 STL_rbtree_free_sentinel_0x20 stl Frees the 0x20-byte sentinel node of a red-black tree if it's non-null. SEH frame protected. 0x005F93B0 67 STL_rbtree_free_sentinel_0x20_005f93b0 stl Frees the 0x20-byte sentinel node of a red-black tree if it's non-null. Duplicate instantiation of sentinel free for a different tree type. SEH frame protected. 0x005F9400 70 STL_rbtree_free_sentinel_0x88 stl Frees the 0x88-byte sentinel node of a red-black tree if it's non-null. Used for trees with large value nodes (two strings + sub-tree). SEH frame protected. 0x005F9450 76 STL_rbtree_clear_and_free_with_string_dtor stl Destroys all nodes in a red-black tree that have string values. Calls rbtree_destroy_nodes_with_string_dtor to recursively free all nodes, then frees the 0x20-byte sentinel. SEH frame protected. 0x005F94B0 111 STL_rbtree_clear_and_free_simple stl Destroys all nodes in a simple red-black tree (no value destructors needed). Recursively frees all 0x20-byte nodes via rbtree_destroy_nodes_simple, then frees the 0x20-byte sentinel node. 0x005F9530 79 STL_rbtree_clear_and_free_with_two_strings stl Destroys all nodes in a red-black tree whose nodes contain two STL strings and a sub-tree. Calls rbtree_destroy_nodes_with_two_strings recursively, then frees the 0x88-byte sentinel node. 0x005F9590 116 CItemReformDB__dtor_free_vector_and_node enchant Destructs CItemReformDB internal vector via stub_005f99f0, then frees the 0x20-byte node at offset+4 if non-null. 0x005F9610 78 CItemReformDB__dtor_free_node_0x20 enchant Simple destructor that frees the 0x20-byte rbtree node at offset+4 if non-null. 0x005F9660 162 CItemReformDB__dtor_strings_and_rbtree enchant Destructs two STL strings, clears/frees an rbtree, then frees the 0x88-byte node at offset+4 if non-null. 0x005F9710 78 CItemReformDB__dtor_free_node_0x20_alt enchant Simple destructor that frees the 0x20-byte node at offset+4 if non-null. Nearly identical to dtor_free_node_0x20 at 005f9610. 0x005F9760 78 CItemReformDB__dtor_free_node_0x20_alt2 enchant Simple destructor that frees the 0x20-byte node at offset+4 if non-null. Another variant for a different rbtree type. 0x005F97B0 81 CItemReformDB__dtor_free_node_0x88 enchant Simple destructor that frees the 0x88-byte node at offset+4 if non-null (larger node with strings). 0x005F9810 87 CItemReformDB__destroy_rbtree_with_string_nodes enchant Destroys rbtree nodes that contain strings (via STL_rbtree_destroy_nodes_with_string_dtor), then frees the 0x20-byte sentinel node. 0x005F9870 65 CItemReformDB__clear_rbtree_simple enchant Clears and frees an rbtree using STL_rbtree_clear_and_free_simple. Wrapper with SEH frame. 0x005F98C0 90 CItemReformDB__destroy_rbtree_with_two_string_nodes enchant Destroys rbtree nodes that contain two strings (via STL_rbtree_destroy_nodes_with_two_strings), then frees the 0x88-byte sentinel node. 0x005F9920 68 CItemReformDB__clear_vector_wrapper enchant Wrapper that delegates to stub_005f99f0 to clear an internal vector. SEH frame setup only. 0x005F9970 122 CItemReformDB__dtor_two_strings_and_rbtree enchant Destructs two STL strings and clears/frees an rbtree. Used as internal cleanup for reform data entries. 0x005F99F0 129 CItemReformDB__clear_and_free_vector enchant Clears and frees a vector (pointer+size+capacity at param_1). Handles aligned allocation cleanup for blocks > 0xFFF bytes. Resets all 3 vector fields to 0. 0x005F9A80 169 CItemReformDB__dtor enchant CItemReformDB destructor. Sets vtable pointer, destructs CLuaInstance, destroys two rbtrees (one with string nodes at offset+0xC, one with two-string nodes at offset+4), and frees their sentinel nodes. 0x005F9B30 111 CItemReformDB__dtor_entry_fields enchant Destructs fields of a reform DB entry: two STL strings and one rbtree. Similar to dtor_two_strings_and_rbtree but with different unwind states. 0x005F9BA0 353 CItemReformDB__copy_entry enchant Copy assignment for a CItemReformDB entry. Copies scalar fields, deep-copies an rbtree (via STL_rbtree_copy_node_recursive), and assigns two STL strings. Source fields at offsets 0-0x51+ are all copied. 0x005F9D10 30 CItemReformDB__scalar_deleting_dtor_4byte enchant Scalar deleting destructor for a 4-byte object. Frees memory via operator_delete if bit 0 of param_2 is set. 0x005F9D30 190 CItemReformDB__scalar_deleting_dtor enchant CItemReformDB scalar deleting destructor. Sets vtable, destructs CLuaInstance, destroys two rbtrees, frees sentinel nodes. Conditionally frees this (0x20 bytes) based on param_2 bit 0. 0x005F9DF0 354 CItemReformDB__lookup_reform_entries enchant Looks up reform entries by item ID (int key) in the main rbtree, then for matching entries iterates their uint64 range pairs and collects matching entry pointers into a result vector (param_2). Uses STL_rbtree_lower_bound_int_key and STL_rbtree_lower_bound_uint64_key. 0x005F9F60 140 CItemReformDB__find_reform_entry_by_id_and_value enchant Searches for a specific reform entry by item ID (param_2) and a matching value (param_3). Returns pointer to the entry's value field, or NULL if not found. Uses int key rbtree for item ID lookup, then uint64 range rbtree for value matching. 0x005F9FF0 324 CItemReformDB__load_lua_data enchant Loads item reform data from Lua file "Lua_Files_ItemReform". Executes the Lua file via CLuaInstance__execute_file, then calls parse functions to populate the reform category rbtree and the reform material rbtree. Returns true on success. 0x005FA140 57 CItemReformDB__has_reform_entry enchant Checks whether an item ID (param_2) exists in the reform database rbtree. Returns true if found, false otherwise. Uses STL_rbtree_lower_bound_int_key. 0x005FA180 4190 CItemReformDB__parse_reform_categories_from_lua enchant Parses item reform category data from Lua tables into the two-string rbtree (offset+4). For each Lua table entry: reads integer ID, looks up two item names via SpriteMap, reads nested material subtables (with int keys and quantities), reads numeric fields (base/max reform level, cost), reads boolean flags, reads a description string, and inserts each into the rbtree keyed by uint64 ID. Large ~4KB function. 0x005FB1E0 1114 CItemReformDB__parse_reform_materials_from_lua enchant Parses item reform material data from Lua tables into the string-key rbtree (offset+0xC). For each Lua table entry: reads item name string, looks up sprite ID via SpriteMap, then iterates nested key-value pairs mapping item IDs (uint) to the rbtree keyed by int item ID, with uint64 range vectors per entry. 0x005FB640 1 identity_return_ecx_005fb640 game_core Identity function that returns its input parameter unchanged 0x005FB650 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x005FB860 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x005FBA70 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x005FBC80 10 STL_throw_vector_too_long_005fbc80 stl Throws std::length_error with message "vector too long". Does not return. 0x005FBC90 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x005FBCD0 34 STL_uninitialized_copy_range_to_dest stl Copies a raw memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past the end of copied data. 0x005FBD00 34 STL_uninitialized_copy_range_to_dest_alt stl Copies a raw memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past the end of copied data. Duplicate of the function at 005fbcd0. 0x005FBD30 452 STL_vector_4byte_insert_realloc_single stl STL vector insert with reallocation for 4-byte elements. Grows capacity by 1.5x, allocates new buffer, copies element at insertion point, memcpy's existing data before and after insertion point, frees old buffer. Max capacity 0x3FFFFFFF elements. 0x005FBF00 259 STL_vector_4byte_copy_ctor stl Copy constructor for an STL vector of 4-byte elements. Allocates new buffer matching source size, memcpy's all elements. Handles aligned allocation for large buffers. 0x005FC010 332 CItemReformWnd__ctor ui_windows CItemReformWnd constructor. Extends UIWindowBase. Initializes many fields (item slots, strings, vectors). Sets vtable to PTR_stub_005fc4c0_010e8570. Creates two item info trees via CItemInfoMgr__clear_tree_and_free_alt, initializes string buffers at offsets 0xBB-0xC2. 0x005FC160 166 CItemReformResultListWnd__ctor ui_windows CItemReformResultListWnd constructor. Extends UIWindowBase. Initializes item display fields: type=0x20, selected index=-1, and several counters to 0. Sets vtable to PTR_stub_005fc740_010e820c. 0x005FC230 90 CItemReformWnd__destroy_vector_elements ui_windows Iterates through a vector of 0xC-byte elements (from *param_1 to param_1[1]) and calls stub_005feb20 on each to destroy them. 0x005FC290 129 CItemReformWnd__free_vector_buffer ui_windows Frees the underlying buffer of a vector (4-byte element aligned). Handles aligned allocation cleanup for buffers > 0xFFF bytes. Resets pointer, size, and capacity to 0. 0x005FC330 5 CItemReformWnd__destroy_vector_elements_and_free ui_windows Destroys all 0xC-byte vector elements via stub_005feb20, then frees the vector buffer. Full vector cleanup. 0x005FC340 288 CItemReformWnd__dtor ui_windows CItemReformWnd destructor. Sets vtable, unregisters child window (offset 0x35), sends packet 0xB90 via CNetworkSession, destroys 4 STL strings, clears shop item vector, frees vector buffer, and calls UIWindowBase__dtor. 0x005FC460 95 CItemReformResultListWnd__dtor ui_windows CItemReformResultListWnd destructor. Sets vtable to PTR_stub_005fc740_010e820c, clears the shop item vector, then calls UIWindowBase__dtor. 0x005FC4C0 312 CItemReformWnd__scalar_deleting_dtor ui_windows CItemReformWnd scalar deleting destructor. Same as dtor at 005fc340 but conditionally frees this (0x310 bytes) based on param_2 bit 0. 0x005FC600 99 CItemReformDescWnd__scalar_deleting_dtor game_core 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 game_core 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 game_core Scalar deleting destructor for item reform material slot widget (0x80 bytes). Sets vtable, calls CEffect__dtor, conditionally frees this. 0x005FC740 119 CItemReformResultListWnd__scalar_deleting_dtor ui_windows CItemReformResultListWnd scalar deleting destructor. Sets vtable, clears shop item vector, calls UIWindowBase__dtor, conditionally frees this (0xD8 bytes). 0x005FC7C0 1240 CItemReformResultListWnd__render_items ui_windows Renders item reform result list items. Calls virtual resize, creates text layout, copies vector-of-vectors for item entries, iterates each entry's child effects: calls virtual render on each effect, adds to child list via CEffect__add_child_to_list_end, tracks maximum height. Updates window height if content overflows. Cleans up temp vectors and text layout. 0x005FCCA0 73 CItemReformWnd__calculate_page_index ui_windows Calculates the page index for the item reform list display. Computes based on offset 0xC4 (current page) + param_2 / item_height (offset 0xB4), clamped to max index = (list_count / 0xF8) - 1, and never less than 0. 0x005FCCF0 22 CItemReformWnd__get_input_text_as_int ui_windows Reads the STL string at offset 0x2C of this, converts it to an integer via atoi. Used to get user-entered numeric input (e.g., quantity) from a text field. 0x005FCD10 9 CItemReformMaterialSlot__set_position game_core Thin wrapper that delegates to CEffect__set_position for the material slot widget. 0x005FCD20 1157 CItemReformWnd__create_ui_layout ui_windows Creates the full UI layout for the item reform window. Creates: close button, two CDialogWnd labels (using message IDs 0xDA and 0xF07 for title and description), a CItemReformResultListWnd (offset 0xB8), two CItemReformMaterialSlot icons (offsets 0xBC and 0xC0), a grid of material slots from CUserHotKeyMgr data (stored in vector at offset 0xC8), and a UIBaseDialog description field (offset 0xD0) with scrollbar. 0x005FD1B0 178 CItemReformWnd__create_scrollbar ui_windows Creates and configures a scrollbar widget (UISpriteWidget) for the item reform list. Stores at offset 0xC8, sets vertical orientation, initializes scroll step size based on param_3 / item_height (offset 0xB4), adds as child, then calls stub_005fdde0 to refresh. 0x005FD270 899 CSearchShopResultPanel__draw ui_shop Draws the search shop result panel. Renders item name, a 3-column grid showing owned vs required quantities (highlighting shortages in red), and a status text message at the bottom. 0x005FD600 362 CSearchShopItemPanel__draw_title ui_shop Draws the title text for an item panel. Gets message string 0xF0E, measures its width, draws it centered, then draws an underline bar beneath it. 0x005FD7E0 181 CSearchShopItemPanel__draw_item_sprite ui_shop Draws the item sprite for the selected item in the panel. Uses CItemDesc to get the sprite resource ID, loads the sprite resource, and draws it at position (0,0). 0x005FD8A0 413 CSearchShopResultList__draw_items ui_shop Draws the scrollable item list in the search shop result list. For each visible item, draws a selection/highlight background sprite, the item icon, and the truncated item name. Handles scroll offset and row height. 0x005FDA60 153 CSearchShopResultList__on_click_select_item ui_shop Handles left-click on the result list. Calculates which item was clicked based on Y position and scroll offset, clamps to valid range, updates the selected index, sends selection notification to parent, and refreshes. 0x005FDB20 189 CSearchShopItemPanel__show_tooltip ui_shop Shows a tooltip for the currently selected item. Accumulates parent offsets to get absolute screen position, builds the item tooltip string, and displays it via CToolTipMgr at the adjusted position. 0x005FDBE0 107 CSearchShopResultList__on_hover_highlight_item ui_shop Handles mouse hover on the result list. Calculates which item is under the cursor based on Y position and scroll offset, updates the highlighted item index, and refreshes the display. 0x005FDC80 55 CSearchShopWnd__focus_detail_window ui_shop Focuses the detail child window (at offset 0xD4). Calls CGameObject__focus_window_with_priority and positions it relative to global coordinates. 0x005FDCC0 52 CSearchShopItemPanel__open_item_info_window ui_shop Opens an item info window (type 0xC) for the currently selected item. Only acts if field_0x7C (item ID) is set. Creates the window and sends item data via virtual call 0x94. 0x005FDD10 131 CSearchShopResultList__on_double_click_open_info ui_shop Handles double-click on a result list item. Calculates which item was clicked by Y position and scroll offset, then creates an item info window (type 0xC) for that item. 0x005FDDA0 49 CSearchShopResultList__on_scroll_wheel ui_shop Handles mouse scroll wheel on the result list. Scrolls up (event 10) or down (event 9) by one position based on the scroll direction parameter. 0x005FDDE0 181 CSearchShopResultList__update_scrollbar ui_shop Updates the scrollbar range and position for the item list. If list items exceed visible rows, enables scrollbar and sets range. Otherwise, hides scrollbar and resets scroll offset to 0. Refreshes self and parent. 0x005FDEA0 1491 CSearchShopWnd__set_selected_recipe ui_shop Sets the selected recipe/item data and populates the material list. Clears existing items, loads recipe requirements from CUserHotKeyMgr, checks owned quantities against required, sets status messages, and updates child panels with material info. Large function (1491 bytes) handling full recipe selection flow. 0x005FE480 120 CSearchShopWnd__on_child_event ui_shop Handles child window events for CSearchShopWnd. Switch on event type: 6 = buy/close/selection events (sends packet 0xB91 for buy, handles item selection at 0x150, closes at 0xC9), 0x17 = item class update, 0xA7/0xA8 = tab open/close creating/destroying sub-panel. 0x005FE770 148 CSearchShopResultList__on_notify ui_shop Handles notification events for the result list. Case 7/9/10: scroll position changes. Case 0x17: clears item list, rebuilds from search results with item filtering (checks equipped status, price range, refinement level), updates scrollbar. 0x005FEAD0 21 CSearchShopItemPanel__set_data_and_refresh ui_shop Sets the data pointer (field_0x7C) for this item panel and triggers a refresh via virtual method 0x98. 0x005FEAF0 39 CSearchShopItemPanel__set_enabled ui_shop Toggles the enabled/disabled state of the item panel. Sets field_0xAC to inverted param, refreshes display, and sets field_0x28 to the enabled flag. 0x005FEB20 129 STL_vector_int_free stl Frees a vector of 4-byte (int/pointer) elements. Deallocates the buffer with proper MSVC aligned-allocation unwinding, then zeroes begin/end/capacity pointers. 0x005FEBB0 196 STL_vector_of_vectors_free stl Frees a vector of 12-byte structs where each element contains a sub-vector. Iterates through elements calling STL_vector_int_free on each, then frees the outer vector buffer. 0x005FEC80 10 STL_throw_vector_too_long_005fec80 stl Throws std::length_error with message 'vector too long'. Called when vector capacity would exceed max_size. 0x005FEC90 62 deallocate stl std::allocator::deallocate for 4-byte elements. Handles MSVC aligned allocation (checks -4 header for large blocks). Multiple template instantiations (uint, CHN*, etc.). 0x005FECD0 111 CSearchShopWnd__ensure_hotkey_mgr_exists ui_shop Ensures the CUserHotKeyMgr singleton (DAT_01389904) exists. If null, allocates 0x20 bytes and calls CUserHotKeyMgr::ctor to initialize it. 0x005FED40 34 memcpy_range_to_dest_005fed40 stl Copies a memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past the end of the destination (param_3 + size). Used as a helper for vector reallocation. 0x005FED70 452 STL_vector_int_reallocate_insert stl STL vector reallocate-and-insert. Grows the vector with 1.5x capacity strategy, inserts a single element at the given position, copies existing elements around the insertion point, and frees the old buffer. 0x005FEF40 161 CSearchShopItemPanel__ctor ui_shop Constructor for CSearchShopItemPanel. Inherits from UIWindowBase, sets vtable, initializes item info fields, a string member (capacity 0xF), and a counter field to 0. 0x005FEFF0 320 CSearchShopWnd__ctor ui_shop Constructor for CSearchShopWnd. Inherits from UIWindowBase, sets vtable, initializes multiple vectors, three string members (capacity 0xF each), search parameters (max 3000), and boolean flags. 0x005FF130 222 CSearchShopResultList__ctor ui_shop Constructor for CSearchShopResultList. Inherits from UIScrollPanel with given width/height, sets vtable, initializes item vector fields, scroll position, row height (0x14=20px), and calls resize + scrollbar init. 0x005FF210 94 CSearchShopScrollThumb__ctor ui_shop Constructor for CSearchShopScrollThumb. Inherits from UISpriteWidget, sets vtable, initializes field_0xA0 to 0. 0x005FF270 99 CSearchShopItemPanel__cleanup_strings ui_shop Cleanup helper that destroys two STL strings. Part of CSearchShopItemPanel's exception unwind or partial destructor sequence. 0x005FF2E0 129 CSearchShopResultList__free_item_vector ui_shop Frees the item pointer vector in CSearchShopResultList. Identical pattern to STL_vector_int_free: deallocates buffer with MSVC aligned-allocation support, zeroes begin/end/capacity. 0x005FF370 136 CSearchShopItemPanel__dtor ui_shop Non-virtual destructor for CSearchShopItemPanel. Sets vtable, destroys three STL string members, then calls UIWindowBase::dtor. 0x005FF400 216 CSearchShopWnd__dtor ui_shop Non-virtual destructor for CSearchShopWnd. Sets vtable, destroys shop item vector, sends close packet 0xA70 to server, destroys string members and item collection vector, then calls UIWindowBase::dtor. 0x005FF4E0 110 CSearchShopResultList__dtor ui_shop Non-virtual destructor for CSearchShopResultList. Sets vtable, frees item pointer vector and shop item vector, then calls UIScrollPanel::dtor. 0x005FF550 160 CSearchShopItemPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CSearchShopItemPanel. Calls dtor then conditionally frees memory (0x1D0 bytes) if param_2 bit 0 is set. 0x005FF5F0 240 CSearchShopWnd__scalar_deleting_dtor ui_shop Scalar deleting destructor for CSearchShopWnd. Calls full dtor (destroys items, sends close packet), then conditionally frees memory (300 bytes) if param_2 bit 0 is set. 0x005FF6E0 134 CSearchShopResultList__scalar_deleting_dtor ui_shop Scalar deleting destructor for CSearchShopResultList. Calls dtor then conditionally frees memory (0xD0 bytes) if param_2 bit 0 is set. 0x005FF770 93 CSearchShopScrollThumb__scalar_deleting_dtor ui_shop Scalar deleting destructor for CSearchShopScrollThumb. Calls UIBaseWidgetA::dtor then conditionally frees memory (0xB4 bytes) if param_2 bit 0 is set. 0x005FF7D0 35 CSearchShopResultList__on_resize ui_shop Resize handler for CSearchShopResultList. Resizes the drawing surface and then calls the virtual resize method (vtable+0x3C) with the new dimensions. 0x005FF810 12 CSearchShopScrollThumb__delegate_to_parent ui_shop Delegates to the parent widget's virtual method at offset 0x28. Used by CSearchShopScrollThumb to forward events to its parent scroll panel. 0x005FF820 134 CSearchShopResultList__on_item_add_from_search ui_shop Handles adding an item from search results (packet type 0x1B). Checks if the item collection isn't full, verifies item ID, forwards to parent via virtual call 0x94, and if accepted calls the add handler. 0x005FF8B0 89 CSearchShopResultList__on_item_register ui_shop Handles item registration from search results (packet type 0x1A). Validates the item via stub_00602030, and if valid, forwards to parent via virtual call 0x94 with event 0x68. 0x005FF910 9 CSearchShopScrollThumb__set_position ui_shop Simple wrapper that calls CEffect__set_position. Used as a virtual method override for CSearchShopScrollThumb. 0x005FF920 935 CSearchShopWnd__create_ui_widgets ui_shop Creates all UI widgets for the search shop window. Creates button/close widgets, a CSearchShopResultList scroll panel (150x204px), and three CDialogWnd button panels with textures for buy/search/close actions. Positions each child widget and adds to the child list. 0x005FFCD0 233 CSearchShopResultList__init_scrollbar ui_shop Initializes the scrollbar for CSearchShopResultList. Destroys any existing scrollbar widget, creates a new CSearchShopScrollThumb (UISpriteWidget), configures it as a vertical scrollbar with proper dimensions, and adds it as a child. 0x005FFDC0 454 CSearchShopItemPanel__draw_item_row ui_shop Draws a single item row in CSearchShopItemPanel. Renders background sprite if item is flagged, draws item icon with optional count, truncates item name to 100px, and draws name with shadow (greyed out if disabled). 0x005FFF90 720 CSearchShopWnd__draw ui_shop Main draw method for CSearchShopWnd. Renders background sprite, title text (msg 0xB50), shop name, item count and max count, iterates through collected items drawing each with its sprite, and shows a timed error message in red at the bottom. 0x00600270 1096 CSearchShopScrollThumb__draw_scrollbar ui_shop Draws the scrollbar background for CSearchShopScrollThumb. Loads top/bottom/middle sprite resources based on scrollbar style (0=normal, 3=alternate, 6=compact), tiles the middle section to fill the available height, and draws the thumb position indicator. 0x006006D0 145 CSearchShopItemPanel__on_buy_button_click ui_shop Handles the buy/add button click on CSearchShopItemPanel. If not in disabled mode (0x1B1), checks capacity, forwards item ID to parent via virtual call 0x94 (event 0x68), and calls the item add handler. In disabled mode, calls the alternative handler. 0x00600770 186 CSearchShopResultList__on_drag_drop ui_shop Handles drag-and-drop onto the search shop result list. Resolves dropped coordinates via stub_00602410, checks if the dropped item is valid via stub_00602030, and if valid forwards to self via virtual call 0x94 (event 0x68). 0x00600830 59 CSearchShopItemPanel__show_item_tooltip ui_shop Shows an item tooltip for the hovered item in the panel. If not in disabled mode and an item is selected (field_0xBC != 0), calls CGameMode__setup_item_display_extended with the item data. 0x00600870 198 CSearchShopResultWnd__draw_item_with_header ui_shop Draws header area if row < 17, hit-tests item grid to get selected item, and sets up extended item display via CGameMode if an item is found at that position. 0x00600940 57 CSearchShopItemPanel__select ui_shop Selects this search shop item panel if not already purchased (flag at 0x1b1). Sets selected flag at offset 0x6c, triggers redraw, and notifies parent with message 6. 0x00600980 101 CSearchShopItemPanel__on_mouse_move ui_shop Mouse move handler for CSearchShopItemPanel. Calls parent's mouse move handler, then if tooltip string at offset 0x71 is set, accumulates parent offsets and shows tooltip via CToolTipMgr. 0x006009F0 357 CSearchShopListPanel__on_mouse_move ui_shop Mouse move handler for CSearchShopListPanel. Calls parent handler, hit-tests items in the list, finds the matching item index, calculates position with parent offsets, and shows item tooltip. 0x00600B60 155 CSearchShopListPanel__on_tick ui_shop Tick handler. Toggles next-page button visibility based on whether item count equals page limit. Also checks if status text timer has expired and clears the text buffer if so. 0x00600C00 54 CSearchShopItemPanel__open_item_info ui_shop Opens item info window (type 0xC) for the currently selected item if item ID at offset 0xBC is non-zero. Sends message 0x18 with item data to the info window. 0x00600C40 181 CSearchShopListPanel__on_double_click ui_shop Double-click handler. Hit-tests the item grid at mouse position, and if an item is found, opens the item info window (type 0xC) with message 0x18. 0x00600D00 23 CSearchShopItemPanel__invalidate_parent ui_shop Delegates to parent window's invalidate/redraw method (vtable offset 0x8C) if parent pointer at offset 0x10 is non-null. 0x00600D20 60 CSearchShopItemPanel__on_mouse_wheel ui_shop Mouse wheel handler. If scrollable flag (0xA5) is set, sends scroll message (type 7) to parent with positive or negative offset (0xF or -0xF) depending on wheel direction. 0x00600D60 1137 CSearchShopListPanel__handle_message ui_shop Main message handler for CSearchShopListPanel. Handles: msg 6 = select item, msg 0x68 = remove item from cart, msg 0x6F = set status text with timer, msg 0x1F7 = send purchase packet to server, msg 0x1F9 = add selected item from search results. Falls through to UIScrollPanel for unhandled messages. 0x006011E0 150 CSearchShopManagerWnd__handle_message ui_shop Message handler for CSearchShopManagerWnd. Handles: msg 6 = deselect other panels, msg 0x17 = refresh items from inventory, msg 0x57 = layout child panels with positioning, msg 0x68 = find and update item by ID (checks quantity/weight limits, shows error messages). Falls through to UIScrollPanel for unhandled. 0x006016C0 1251 CSearchShopManagerWnd__setup_item_from_lua ui_shop Sets up item display data from Lua tables. Queries tblLapineDdukddakBox for set_resource_item_list, get_min_need_refine, get_max_need_refine, and other item properties. Initializes item description, resource path, and refine level ranges via lua_call_method. 0x00601BB0 10 STL_vector_throw_length_error_00601bb0 stl Throws std::length_error with message "vector too long". Called when vector exceeds maximum size. 0x00601BC0 339 CSearchShopManagerWnd__add_item_to_list ui_shop Adds an item to the search shop item list by ID. Searches existing items by comparing parsed ID strings, and if not found, creates a new CShopItem entry with the given ID and count, appending to the item vector (with reallocation if needed). 0x00601D20 773 CSearchShopListPanel__add_item_to_cart ui_shop Adds an item to the buy cart. Validates max 10 items, searches for existing entry by ID. If not found, creates CShopItem from item info, formats tooltip body, builds description string, and appends to cart vector. Enables next-page button when cart is full. Returns 1 on success, 0 on failure. 0x00602030 927 CSearchShopManagerWnd__add_inventory_item_to_cart ui_shop Adds an inventory item to the buy cart. Looks up item by slot, checks if it's an elemental spirit or equipped item (skips those). If item already exists in a panel, merges quantity. Otherwise creates a new CSearchShopItemPanel, updates display, checks refine/weight limits, and adds to the panel list. Returns 1 on success. 0x006023D0 62 deallocate stl STL allocator::deallocate. Frees aligned memory block, handling large allocations (>0xFFF bytes) that have a stored original pointer at offset -4 for alignment recovery. 0x00602410 215 CSearchShopResultWnd__hit_test_item_grid ui_shop Hit-tests the item grid in the search results. Iterates through items, calculates each item's grid position (25x25 pixel cells), and returns item data if mouse coordinates fall within the cell bounds. Returns empty result if no item hit. 0x006024F0 141 CSearchShopResultWnd__get_item_grid_position ui_shop Calculates pixel position for item at given index in a 5-column grid layout. Items 0-4 use first row, items 5+ use second row. Column spacing is 0x22 pixels. Returns (x,y) coordinates in output parameter. 0x006025B0 103 CSearchShopItemPanel__validate_and_add_to_cart ui_shop Validates item count against limit, then attempts to add item to cart. Sends message 0x68 to parent for validation first, then calls add_item_to_cart on success. Returns result of the add operation. 0x00602620 670 CSearchShopManagerWnd__validate_item_for_purchase ui_shop Validates an item for purchase in the search shop. Checks: item quantity vs max count (msg 0xB52), item weight vs max weight (msg 0xB53), weight vs carry capacity (msg 0xE3C), partial weight warning (msg 0xE3D), and enchant slot validation with refinement level check (msg 0xE3E). Returns 1 if valid, 0 if rejected. 0x006028C0 509 CSearchShopItemPanel__update_item_display ui_shop Updates the item panel display. Looks up item by slot ID, copies item description, formats tooltip body text with CItemDesc__format_tooltip_body, appends enchant info if applicable (msg 0xA28), gets base item sprite, and assigns the formatted string to the panel's display text. 0x00602AC0 50 CSearchShopListPanel__set_locked_state ui_shop Sets the locked/purchased state on the list panel and its next-page button. Propagates the state byte to the button's visibility flag, triggers redraw on both. 0x00602B00 47 sprintf_s_wrapper game_core 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. 0x00602B30 34 memcpy_range_00602b30 stl Copies a range of memory from [param_1, param_2) to param_3 using memcpy. Returns pointer past the end of the destination. 0x00602B60 452 STL_vector_int_reallocate_insert_00602b60 stl STL vector reallocate and insert. Grows the vector with 1.5x capacity strategy, inserts a new element at the given position, copies existing elements around it, and frees the old buffer. Handles aligned allocation for large buffers. 0x00602D30 301 CSearchShopResultWnd__ctor ui_shop Constructor for CSearchShopResultWnd. Initializes base UIWindowBase, sets vtable to PTR_CSearchShopResultWnd, zeroes item vectors and child panel pointers, initializes multiple STL string members (tooltip, description, status text), and sets default timer value (3000ms). 0x00602E60 159 CSearchShopItemPanel__ctor_00602e60 ui_shop Constructor for CSearchShopItemPanel. Initializes base UIWindowBase, sets vtable to PTR_CSearchShopItemPanel, initializes selected flag, item data, and STL string members for tooltip text. 0x00602F00 222 CSearchShopListPanel__ctor ui_shop Constructor for CSearchShopListPanel. Inherits UIScrollPanel, sets vtable to PTR_CSearchShopListPanel, zeroes item and panel vectors, initializes page counter and scroll thumb height (0x14). Calls resize surface and scrollbar init. 0x00602FE0 99 CSearchShopResultWnd__dtor_strings ui_shop Partial destructor helper for CSearchShopResultWnd. Destroys two STL string members in sequence within an SEH frame. 0x00603050 129 STL_vector_int_clear_and_deallocate stl Clears and deallocates an STL vector. Frees the aligned buffer (handling large allocation alignment recovery), then zeroes the begin/end/capacity pointers. 0x006030E0 307 CSearchShopResultWnd__dtor ui_shop Non-deleting destructor for CSearchShopResultWnd. Sets vtable, sends close packet (0xAB5) to server via CNetworkSession, destroys multiple STL string members, and calls UIWindowBase destructor. 0x00603220 136 CSearchShopItemPanel__dtor_00603220 ui_shop Non-deleting destructor for CSearchShopItemPanel. Sets vtable, destroys STL string members (tooltip text), and calls UIWindowBase destructor. 0x006032B0 110 CSearchShopListPanel__dtor ui_shop Non-deleting destructor for CSearchShopListPanel. Sets vtable, clears int vector via STL_vector_int_clear_and_deallocate, clears shop item vector, and calls UIScrollPanel destructor. 0x00603320 325 CSearchShopResultWnd__scalar_deleting_dtor ui_shop Scalar deleting destructor for CSearchShopResultWnd. Sends close packet (0xAB5) to server, destroys strings, calls UIWindowBase dtor, then conditionally frees memory (0x218 bytes) if param_2 bit 0 is set. 0x00603470 160 CSearchShopItemPanel__scalar_deleting_dtor_00603470 ui_shop Scalar deleting destructor for CSearchShopItemPanel. Destroys STL string members, calls UIWindowBase dtor, then conditionally frees memory (0x1D0 bytes) if param_2 bit 0 is set. 0x00603510 134 CSearchShopListPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CSearchShopListPanel. Clears int vector, clears shop item vector, calls UIScrollPanel dtor, then conditionally frees memory (0xD4 bytes) if param_2 bit 0 is set. 0x006035A0 35 CSearchShopListPanel__on_resize ui_shop Resize handler for CSearchShopListPanel. Calls CEffect__resize_surface with new dimensions, then dispatches to the virtual layout method (vtable 0x3C). 0x006035E0 104 CSearchShopListPanel__on_drop ui_shop Drop event handler for CSearchShopListPanel. If cart is not empty, notifies game mode to close (msg 0x12). If drag data type is 0x1B (item from inventory), sends message 0x1F to parent with the item data. Then closes drag mode. 0x00603650 40 CSearchShopItemPanel__delegate_move_to_child ui_shop Delegates a move operation to the child window at offset 0x10. Adds local position offsets (0x1C, 0x20) to the coordinates before calling the child's move method (vtable 0x28). 0x00603680 72 CSearchShopResultWnd__on_drop ui_shop Drop event handler for CSearchShopResultWnd. If drag data type is 0x1A (item from search results), sends message 0x1F to self with the item data. Then notifies game mode to close drag (msg 0x12). 0x006036D0 9 CSearchShopItemPanel__set_position ui_shop Thin wrapper that delegates to CEffect__set_position. Sets the position of the search shop item panel. 0x006036E0 935 CSearchShopResultWnd__init_ui ui_shop Initializes the CSearchShopResultWnd UI. Creates equip window widgets, close button, scroll panel (CSearchShopListPanel at 0x96x0xCC), three dialog buttons (search/buy/close with textures and command IDs 0xC9/0x1FD/0x1F9), and adds all children to the window hierarchy. 0x00603A90 205 CSearchShopListPanel__init_scrollbar ui_shop Initializes the scrollbar for CSearchShopListPanel. Destroys existing scrollbar if present, creates a new CSearchShopScrollThumb, sets scroll bar orientation to vertical with dimensions derived from panel size minus margins (0x94 for width, 0x98 for height). 0x00603B60 319 CSearchShopResultWnd__draw ui_shop Draw method for CSearchShopResultWnd. Renders background sprite, item name text, search status message (msg 0xB50), item description text, item sprite at (0x65, 0xA5), and a timed error/status message overlay with red text when the timer is active. 0x00603CA0 246 CSearchShopItemPanel__draw ui_shop Draw method for CSearchShopItemPanel. Notifies parent of draw event, draws selection highlight sprite if item is marked as purchased (0x1B0 flag), renders item sprite at (4,3), and draws truncated item name text with shadow at (0x24, 9) in light gray (0xE0E0E0). 0x00603DB0 59 CSearchShopResultWnd__on_click_item_sprite ui_shop Click handler for item sprite area in CSearchShopResultWnd. Checks if click is within the 25x25 sprite region at (0x65, 0xA5), and if an item is displayed (offset 0x39 non-zero), sends message 0x68 with the item ID. 0x00603E20 91 CSearchShopResultWnd__on_mouse_move ui_shop Mouse move handler for CSearchShopResultWnd. Draws header area if in header region, then checks if mouse is over the 25x25 item sprite area at (0x65, 0xA5). If so and an item exists, sets up extended item display tooltip via CGameMode (type 0x1A). 0x00603E80 50 CSearchShopItemPanel__show_item_tooltip_00603e80 ui_shop Shows item tooltip for CSearchShopItemPanel. If item ID at offset 0xBC is non-zero, sets up extended item display via CGameMode (type 0x1B) with the item data and card/option info at offset 0x1CC. 0x00603EC0 48 CSearchShopItemPanel__select_and_notify_parent ui_shop Selects this panel unconditionally (unlike CSearchShopItemPanel__select which checks purchased state). Sets selected flag at 0x6C, triggers redraw, and notifies parent with message 6. 0x00603EF0 126 CSearchShopWnd__on_mouse_move_show_tooltip ui_shop CSearchShopWnd mouse move handler. Calls parent virtual mouse move, then checks if cursor is within search box bounds (x: 0x65-0x7D, y: 0xA5-0xBD) and shows tooltip from string at offset 0x124 via CToolTipMgr. 0x00603F70 101 CSearchShopWnd__on_mouse_move_show_result_tooltip ui_shop CSearchShopWnd mouse move handler for result panel. Calls parent virtual mouse move, then if result tooltip flag at +0x1C4 is set, shows tooltip string from offset 0x1B4 at fixed position (0, -20) via CToolTipMgr. 0x00603FE0 245 CSearchShopWnd__update_panel_visibility ui_shop Updates visibility of result and filter panels based on item list state. Iterates child item panels checking +0x1B0 flag. Toggles visibility of panels at +0xBC and +0xB8 based on selected state and filter flag at +0x214. Also clears status text after timeout using timeGetTime. 0x006040E0 83 CSearchShopWnd__on_click_show_item_window ui_shop Click handler for CSearchShopWnd. If click is within bounds (x: 0x65-0x7D, y: 0xA5-0xBD) and item is selected (+0xE4 != 0), creates window type 0xC and sends message 0x18 with item info string at +0xE0. 0x00604140 54 CSearchShopItemPanel__on_click_show_item_window ui_shop Click handler for CSearchShopItemPanel. If item data at +0xBC is set, creates window type 0xC and sends message 0x18 with item info string at +0xB8. 0x00604180 23 CSearchShopItemPanel__on_click_forward_to_parent ui_shop Forwards click to parent window. If parent pointer at +0x10 is not null, calls parent virtual method at vtable offset 0x8C. 0x006041A0 60 CSearchShopWnd__on_scroll_wheel ui_shop Mouse scroll wheel handler. If scroll enabled flag at +0xA5 is set, sends message 7 with delta +15 or -15 to scroll panel at +0x90 based on scroll direction (param_2 < 0 = scroll down). 0x006041E0 130 CSearchShopWnd__handle_message ui_shop Main message handler for CSearchShopWnd. Handles: msg 6 (button clicks: 0xC9=close, 0x1F9=view details, 0x1FD=buy selected item via packet 0xAB6), msg 0x17 (update item display from Lapine data), msg 0x1F (select item and load details), msg 0x68 (deselect and refresh), msg 0x6F (update status text with timeout). Falls through to UIWindow__handle_button_click for unhandled messages. 0x00604680 145 CSearchShopResultPanel__handle_message ui_shop Message handler for CSearchShopResultPanel (scroll panel containing result items). Handles: msg 6 (toggle selection exclusivity among child panels), msg 0x17 (collect matching items from all search entries, update panel contents), msg 0x1F (forward to parent for item details), msg 0x57 (compact panel layout, remove empty entries, reposition children at 30px spacing), msg 0x68 (forward to parent). 0x006049B0 1491 CSearchShopWnd__query_lapine_upgrade_box_requirements ui_shop Queries Lua tblLapineUpgradeBox table for item requirements. Calls get_min_need_refine, get_max_need_refine, get_min_need_option_num, and set_resource_item_list to populate the upgrade box UI with refine level constraints and required materials for the selected item. 0x00604F90 10 CSearchShopWnd__throw_vector_too_long ui_shop Throws std::_Xlength_error with "vector too long" message. Called when search shop item vector exceeds maximum capacity. 0x00604FA0 330 CSearchShopWnd__add_item_to_search_list ui_shop Adds an item to the search shop list by item ID. Iterates the search item vector at +0xC0 comparing item IDs via atoi. If item not found, creates a new CShopItem entry from CItemInfoMgr and appends it to the vector. Uses 0xF8-byte stride for CShopItem entries. 0x006050F0 512 CSearchShopWnd__load_and_display_item_details ui_shop Loads item details for display. Finds item by slot ID via CShop__find_item_in_linked_list_by_slot, formats tooltip body with CItemDesc__format_tooltip_body, applies enchant price message (0xA28) if applicable, gets base item ID for display, then copies item desc and triggers UI refresh. 0x006052F0 861 CSearchShopWnd__try_add_result_item_panel ui_shop Attempts to add a search result item panel to the result list. Validates item via find_item, checks refine level (+0x118) against min/max bounds, option count (+0x150) against minimum, checks if item is an elemental spirit or equipped. If valid and not already in result list, creates a new CSearchShopItemPanel (0x1D0 bytes), sizes it to 0x88x0x1E, populates it, and appends to result panel vector. Sends msg 0x57 to trigger layout refresh. 0x00605650 62 deallocate stl STL allocator deallocate for 4-byte elements. Frees memory with size validation for large allocations (>0xFFF bytes checks alignment header). 0x00605690 191 CSearchShopWnd__try_clear_selected_item ui_shop Tries to clear the currently selected item if it matches param_2. If the selected item ID at +0xE4 equals param_2, clears the item description, sends msg 0x6F with empty string to clear status text, and triggers UI refresh. Returns true if item was cleared. 0x00605750 553 CSearchShopWnd__validate_and_select_result_item ui_shop Validates and selects a result item by panel slot ID. Finds the matching panel in result list, then matches its item ID to search list entries. Validates refine level against min/max bounds with warning message 0xE3D, checks enchant/equip type for option slot warnings (msg 0xE3E), and verifies option count minimum. If all checks pass, marks panel as selected, sends msg 0x57 for layout refresh, returns 1. Returns 0 if any validation fails. 0x00605980 1 CEntityList__find_first_active_entity game_entity Iterates entity pointer array at offset 0xBC, returns first entity with active flag (offset 0x1B0) set to 1 0x006059B0 509 CSearchShopItemPanel__populate_item_info ui_shop Populates a CSearchShopItemPanel with item information. Finds item by slot, copies item description, formats tooltip body text including enchant price (msg 0xA28), gets base item ID, and assigns the display text to the panel's text field, then triggers redraw. 0x00605BB0 50 CSearchShopWnd__set_filter_panel_visibility ui_shop Sets the visibility of the filter panel. Stores param_2 as the filter visible flag at +0x214, also sets the child panel's visibility at +0xAC, and triggers redraw on both. 0x00605BF0 265 CSearchShopFilterEntry__ctor ui_shop Constructor for CSearchShopFilterEntry (0x64 bytes). Sets vtable pointer to PTR_helper_00605df0, initializes 3 SSO strings (each 0x18 bytes: at +0xC, +0x24, +0x3C), a vector at +0x54 (start/end/capacity), and status fields. Sets +0x4 to 1 (enabled flag). 0x00605D00 100 CSearchShopFilterEntry__cleanup_strings ui_shop Cleanup helper for CSearchShopFilterEntry. Destroys two SSO strings during exception unwinding or partial construction cleanup. 0x00605D70 117 CSearchShopFilterEntry__dtor ui_shop Destructor for CSearchShopFilterEntry. Sets vtable, clears the shop item vector via CShopItem__vector_clear_and_free, then destroys 3 SSO strings at +0x3C, +0x24, +0xC. 0x00605DF0 138 CSearchShopFilterEntry__scalar_deleting_dtor ui_shop Scalar deleting destructor for CSearchShopFilterEntry. Calls dtor logic (vtable set, vector clear, 3 string dtors), then conditionally frees the 100-byte object if bit 0 of param_2 is set. 0x00605E80 50 CMerchantStore__push_back_shop_item ui_shop Appends a CShopItem (0xF8 bytes) to the merchant store's item vector at +0x58. If vector has capacity, copy-constructs in place and advances end pointer. Otherwise calls STL_vector_f8byte_reallocate_insert to grow. 0x00605EC0 25 CMerchantStore__clear_shop_items ui_shop Clears all shop items from the merchant store's vector at +0x58. Calls CShopItem__destroy_range to destruct all elements, then resets end pointer to start. 0x00605EE0 88 CMerchantStore__copy_construct_name_string ui_shop Copy-constructs the name string (at +0x24) during CMerchantStore copy/move operations. Uses STL_string_copy_construct on the source's +0x24 field. 0x00605F40 88 CMerchantStore__copy_construct_save_path ui_shop Copy-constructs the save path string (at +0xC) during CMerchantStore copy/move operations. Uses STL_string_copy_construct on the source's +0xC field. 0x00605FA0 482 CMerchantStore__parse_json_response ui_shop Parses a JSON response string for merchant store data. If valid data exists, creates a JsonValue, parses with JsonReader, checks for result type string "result". If result==1, calls parse_item_list_from_json to populate items. If result==4, sets success flag. On success, sets +0x5 flag to 1. Cleans up JSON objects and string temporaries. 0x00606190 2269 CMerchantStore__parse_item_list_from_json ui_shop Parses item list from JSON into the merchant store's shop item vector. Clears existing items, reads Title field (converted from codepage), then iterates items array reading: ID, Count, Identified, RefiningLevel, GradeLevel, Slot_1-4, RandomOptionCount, RandomOptionList (up to 6 options with OptIndex/Value/Parm1), and Price for each entry. Appends parsed CShopItem entries to the vector at +0x58. Calls UIShopWnd__populate_item_list if shop windows are active. 0x00606A70 310 CMerchantStore__init_lua_save_load_paths ui_shop Initializes Lua save/load function paths for merchant store. Gets table name from lua_get_table_string_value_for_c, then constructs save path as "{name}_MerchantStore_save" at +0xC and load path as "{name}_MerchantStore_load" at +0x24 using string concatenation. 0x00606BB0 554 CMerchantStore__match_items_with_inventory ui_shop Matches merchant store items with player inventory. Iterates items in the +0x58 vector (0xF8-byte stride), for each item calls CItemDB__find_matching_item_in_list. If not found, shifts remaining items down and shrinks vector. If found, caps quantity to inventory amount (when param_2==0), updates collection/storage via CItemCollection and CItemDB. Processes up to param_3 items. 0x00606DE0 205 CMerchantStore__register_filter_entry ui_shop Registers a new filter entry for the merchant store. If both params are non-null, assigns strings and calls CEffectTexture__register_effect_type_i to register the entry with the filter system. 0x00606EB0 545 CMerchantStore__save_item_list_to_json ui_shop Saves the merchant store item list to JSON format. Creates JsonValue objects, calls serialize_items_to_json to build the JSON, then writes it using JsonWriter. Constructs a save request with the serialized data, store path, and global config, then calls CEffectTexture__register_effect_type_j to submit. Increments save counter at +0x8. 0x006070E0 342 CMerchantStore__reset_and_init_lua_paths ui_shop Resets merchant store state and reinitializes Lua paths. Clears +0x5 flag, empties title string, destroys all shop items in +0x58 vector, then calls init_lua_save_load_paths to rebuild the _MerchantStore_save and _MerchantStore_load function paths. 0x00607240 1488 CMerchantStore__serialize_items_to_json ui_shop Serializes merchant store items into a JSON structure. Converts title string from wide to hex encoding, sets "Title" field. Iterates buying store items via CShop__get_buyingstore_item_by_index, building JSON for each with fields: ID, Count, Identified, RefiningLevel, GradeLevel, Slot_1-4, RandomOptionCount, RandomOptionList (up to 6 options with OptIndex/Value/Parm1), and Price. Also adds "items" array to the output JSON. 0x00607810 529 CMerchantStore__handle_save_response ui_shop Handles the HTTP response from a merchant store save request. Decrements save counter at +0x8. Parses JSON response, checks result type. If result==1, displays success/failure chat message (msg 0xE65 for type 0, 0xE66 for type 1) via CUIWindowMgr__dispatch_chat_message. Cleans up string temporaries. 0x00607A30 218 CMerchantStoreWebRequest__init_fields ui_shop Initializes fields for a CMerchantStoreWebRequest. Copies callback ID from param_5, initializes string at +0x4 from param_4 (null-terminated), copies string at +0x1C from param_3 (with move semantics), and sets bool flag at +0x34 from param_2. 0x00607B10 754 CMerchantStoreSaveRequest__ctor ui_shop Constructor for CMerchantStoreSaveRequest (0xD0 bytes). Inherits from base web request class (two vtable assignments: purecall base + derived). Initializes 5 SSO strings, decrypts an encrypted API endpoint string via xor_decrypt_buffer (TLS-cached), and initializes request fields using CMerchantStoreWebRequest__init_fields with the decrypted string and path "C:\\repositories\\RagnarokClient\\R...". 0x00607E10 210 CMerchantStoreSaveRequest__dtor ui_shop Destructor for CMerchantStoreSaveRequest. Sets derived vtable, destroys 5 SSO strings and the base string in reverse construction order. Resets vtable pointers through the inheritance chain (derived -> base request -> purecall base). 0x00607EF0 234 CMerchantStoreSaveRequest__scalar_deleting_dtor ui_shop Scalar deleting destructor for CMerchantStoreSaveRequest. Calls the full dtor chain, then conditionally frees the 0xD0-byte object if bit 0 of param_2 is set. 0x00607FE0 647 CMerchantStoreSaveRequest__populate_from_entry ui_shop Populates a CMerchantStoreSaveRequest from a store entry. Records timestamp via timeGetTime, copies account/char IDs, assigns 3 strings (store title, save data, save path) from the entry, decrypts an encrypted API key via xor_decrypt_buffer (TLS-cached), and initializes web request fields. Sets +0xC8 from the entry's extra field. 0x00608280 206 CMerchantStoreSaveRequest__execute_save ui_shop Executes the save operation. Copies string fields from the store entry (at +0x94 and +0xAC) and then calls parse_json_response to handle the result of the previously submitted save request. 0x00608350 2575 CMerchantStoreSaveRequest__send_http_request ui_shop Sends the merchant store save HTTP request via CWebDataProviderA. Formats account ID and char ID as strings, converts store title to UTF-8, constructs a CCurlRequest, then adds multiple encrypted POST parameters (account, char, title, data, token) by decrypting XOR-encrypted field names from TLS cache. Performs the HTTP request via CWebDataProviderA__configure_and_perform_curl. On success, copies response body and constructs a response entry with success flag. 0x00608D60 795 CMerchantStoreLoadRequest__ctor ui_shop Constructor for CMerchantStoreLoadRequest (0xE8 bytes). Same structure as save request but with different vtable (PTR_LAB_010e9474) and different encrypted API endpoint. Initializes 5 SSO strings, plus 2 additional strings at +0xC8 and +0xD8. Decrypts endpoint via xor_decrypt_buffer (TLS-cached). 0x00609080 225 CMerchantStoreLoadRequest__dtor ui_shop Destructor for CMerchantStoreLoadRequest. Sets derived vtable, destroys 7 SSO strings (5 base + 2 additional) and the base string in reverse construction order. Resets vtable pointers through the inheritance chain. 0x00609170 249 CMerchantStoreLoadRequest__scalar_deleting_dtor ui_shop Scalar deleting destructor for CMerchantStoreLoadRequest. Calls the full dtor chain, then conditionally frees the 0xE8-byte object if bit 0 of param_2 is set. 0x00609270 675 CMerchantStoreLoadRequest__populate_from_entry ui_shop Populates a CMerchantStoreLoadRequest from a store entry. Records timestamp via timeGetTime, copies account/char IDs, assigns 4 strings (store title, data, path, extra path) from the entry, decrypts an encrypted API key via xor_decrypt_buffer (TLS-cached), and initializes web request fields. Sets +0xE0 from the entry's extra field. 0x00609530 178 CMerchantStoreLoadRequest__execute_load ui_shop Executes the load operation. Copies string fields from the store entry (at +0x94, +0xAC) and then calls handle_save_response to process the loaded data. 0x006095F0 3570 CMerchantStoreLoadRequest__send_http_request ui_shop Sends the merchant store load HTTP request via CWebDataProviderA. Formats account ID, char ID, and extra ID as strings, converts store title to UTF-8, constructs a CCurlRequest, then adds multiple encrypted POST parameters (account, char, title, token, extra data, extra token) by decrypting XOR-encrypted field names from TLS cache. Performs the HTTP request. On success, copies response body and constructs a response entry; on failure, constructs error entry with flag=0. 0x0060A3F0 181 CMerchantStoreRequestEntry__ctor ui_shop Constructor for CMerchantStoreRequestEntry. Copies callback ID from param_3, initializes an empty SSO string at +0x4, copy-constructs it from the source, and records timestamp via timeGetTime at +0x1C. 0x0060A4B0 34 STL_copy_range_memcpy stl STL helper: copies a memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past end of copied data. 0x0060A4E0 141 STL_tree_destroy_nodes_with_string stl Recursively destroys all nodes in an std::_Tree (red-black tree). Each node is 0x30 bytes and contains an std::string. Walks right subtree recursively, then iterates through left children. Destroys the string member and frees node memory. 0x0060A570 75 _Find_lower_bound<> stl STL _Tree::_Find_lower_bound for uint keys. Walks the red-black tree comparing the search key against node values at offset +0x10. Returns a _Tree_find_result with the candidate node, comparison result, and parent node for insertion. 0x0060A5C0 37 _Uninitialized_value_construct_n_> stl STL _Uninitialized_value_construct_n: zero-initializes an array of unsigned ints using memset. Returns pointer past the end of the initialized range. 0x0060A5F0 28 _Zero_range<> stl STL _Zero_range: zero-fills a memory range [param_1, param_2) using memset. Returns param_2. 0x0060A610 34 STL_copy_range_memcpy_0060a610 stl STL helper: copies a memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past end of copied data. Duplicate of STL_copy_range_memcpy at 0060a4b0. 0x0060A640 250 CRecentActionTracker__ctor ui_windows Constructor for CRecentActionTracker. Initializes vtable, creates an std::set (red-black tree with 0x30-byte sentinel node), and two circular queues (8-byte linked list nodes). Sets an active flag to true. Object size is 0x38 bytes. 0x0060A740 67 CRecentActionTracker__delete_tree_sentinel ui_windows Deletes the tree sentinel node (0x30 bytes) if it exists at offset +4 of the passed structure. 0x0060A790 76 CRecentActionTracker__destroy_tree_and_sentinel ui_windows Destroys all tree nodes by recursively walking from root, then deletes the sentinel node (0x30 bytes). Used for cleanup of CRecentActionTracker's std::set member. 0x0060A7F0 123 CRecentActionTracker__cleanup_tree_node ui_windows Cleans up a tree node: destroys the string member at offset +4, then deletes the node memory (0x30 bytes) if it exists. 0x0060A870 78 CRecentActionTracker__delete_tree_sentinel_b ui_windows Deletes the tree sentinel node (0x30 bytes) at offset +4. Similar to CRecentActionTracker__delete_tree_sentinel but with different exception handler registration. 0x0060A8C0 77 CRecentActionTracker__destroy_queue_a ui_windows Destroys a circular queue: calls CircularQueue__destroy_all_buckets to free bucket data, then frees the queue header (8 bytes) and nulls the pointer. 0x0060A920 87 CRecentActionTracker__destroy_tree_and_sentinel_b ui_windows Destroys the tree and its sentinel node. Walks all nodes recursively from root, then deletes the 0x30-byte sentinel. Variant with different SEH state tracking. 0x0060A980 80 CRecentActionTracker__destroy_string_member ui_windows Destroys an std::string member at offset +4 of the passed structure. SEH-protected cleanup helper. 0x0060A9D0 181 CRecentActionTracker__dtor_internal ui_windows Internal destructor for CRecentActionTracker. Sets vtable, destroys both circular queues (at offsets +0x24 and +0x10), then destroys the tree and its sentinel at offset +8. Does not free the object itself. 0x0060AA90 65 CRecentActionTracker__destroy_string_member_b ui_windows Destroys an std::string member. SEH-protected cleanup. Variant of CRecentActionTracker__destroy_string_member. 0x0060AAE0 202 CRecentActionTracker__scalar_deleting_dtor ui_windows Scalar deleting destructor for CRecentActionTracker. Calls the internal destructor to clean up trees and queues, then optionally frees the 0x38-byte object if bit 0 of the flags parameter is set. 0x0060ABB0 541 CRecentActionTracker__record_action ui_windows Records an action by ID into CRecentActionTracker. Copies a string name, looks up the ID in the tree via _Find_lower_bound. If not found, allocates a new 0x30-byte tree node and inserts it with Insert_node. Stores the string value and timestamp (timeGetTime). Also checks the pending action queue for duplicate IDs. 0x0060ADD0 92 CRecentActionTracker__expire_old_entries ui_windows Expires old entries from the pending action deque. Pops entries from the front while their timestamp + 10000ms (10 seconds) is less than current time. Resets the deque when empty. 0x0060AE30 351 CRecentActionTracker__get_or_create_singleton ui_windows Singleton accessor for CRecentActionTracker. If global DAT_01389928 is null, allocates and constructs a new instance. Checks the active flag; if inactive, destroys the instance and returns 0. Returns 1 if the singleton is active and ready. 0x0060AF90 27 CRecentActionTracker__destroy_singleton ui_windows Destroys the CRecentActionTracker singleton. Calls the virtual destructor on global DAT_01389928 and sets it to null. 0x0060AFB0 91 CRecentActionTracker__get_cooldown_message ui_windows Wrapper that calls CRecentActionTracker__lookup_or_insert_and_get_message to get the cooldown/rate-limit message string for a given action ID. Returns the string result. 0x0060B010 470 CRecentActionTracker__lookup_or_insert_and_get_message ui_windows Looks up an action ID in the tree. If found and not at end, returns the associated string value. If not found, checks the circular queue for the ID. If not in queue either, grows the queue and inserts the ID. Returns message string 0x245 from CMessageStringTable (likely a cooldown/rate-limit notification message). 0x0060B1F0 232 CRecentActionTracker__pop_and_find_duplicate ui_windows Pops entries from the front queue, checking each entry: looks it up in the tree and checks for a duplicate in the pending deque. If found or if the entry is expired (10 min timeout via is_entry_expired), processes it. Returns the matched action ID or 0 if queue is exhausted. 0x0060B2E0 56 CRecentActionTracker__clear_all ui_windows Clears all data in CRecentActionTracker: destroys all tree nodes and resets the sentinel, then destroys both circular queue bucket tables. 0x0060B320 242 CRecentActionTracker__enqueue_if_absent ui_windows Enqueues an action ID into the circular queue if it is not already present. Searches the queue linearly for duplicates. If absent, grows the queue if needed and appends the ID. 0x0060B420 72 CRecentActionTracker__tree_contains ui_windows Checks if a uint key exists in the std::set (red-black tree) via _Find_lower_bound. Returns true if the key is found, false otherwise. 0x0060B470 465 CRecentActionTracker__process_pending_actions ui_windows Main processing loop for pending actions. First expires old entries from the pending deque (10s timeout). Then pops entries from the front queue, looks each up in tree and pending deque for duplicates. If an action is confirmed (found in tree, not in pending deque or expired), sends packet 0x369 (6 bytes: header + action ID) via CNetworkSession__send_data_timed and adds it to the pending deque with current timestamp. 0x0060B650 25 CRecentActionTracker__is_entry_expired ui_windows Checks if an entry has expired by comparing timeGetTime() against the entry's timestamp + 600000ms (10 minutes). Returns true if expired. 0x0060B670 417 CircularQueue__grow_bucket_table_b_0060b670 game_core 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. 0x0060B820 517 STL_tree_insert_node_0060b820 stl STL _Tree_val::_Insert_node. Inserts a new node into a red-black tree, performing rotations and recoloring to maintain balance. Handles left/right insertion, updates min/max pointers, and ensures the red-black invariant (root is black, no consecutive red nodes). 0x0060BA30 182 CircularQueue__destroy_all_buckets game_core 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. 0x0060BAF0 10 STL_throw_deque_too_long_0060baf0 stl Throws std::length_error with message 'deque too long'. Called when deque capacity is exceeded. 0x0060BB00 481 CircularQueue__erase_range game_core 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. 0x0060BCF0 67 CRecentActionTracker__tree_find ui_windows Finds a key in the std::set via _Find_lower_bound. If found and key matches, writes the node pointer to param_2. If not found, writes the tree head (end iterator) instead. 0x0060BD40 153 STL_tree_node_value_init stl Initializes a tree node value structure. Copies two uint fields from param_3, then zero-initializes the remaining fields including two inline std::string members (with SSO buffer size 0xF). Total value size covers offsets 0-10 (40+ bytes). 0x0060BDE0 140 STL_vector_copy_from_range stl STL vector constructor from an iterator range. Allocates memory via helper_0060e880 if the range is non-empty, then memcpys the source data. Sets the end pointer (param_1[1]) past the copied data. 0x0060BE70 34 STL_copy_range_memcpy_0060be70 stl STL helper: copies memory range [param_1, param_2) to param_3. Returns pointer past end. Identical to STL_copy_range_memcpy. 0x0060BEA0 34 STL_copy_range_memcpy_0060bea0 stl STL helper: copies memory range [param_1, param_2) to param_3. Returns pointer past end. Identical to STL_copy_range_memcpy. 0x0060BED0 452 STL_vector_emplace_grow stl STL vector growth during emplace/insert. Calculates new capacity (1.5x growth), allocates new buffer (aligned for large sizes), copies the new element at the insertion point, then memcpys prefix and suffix around it. Frees the old buffer and updates begin/end/capacity pointers. Throws bad_array_new_length on overflow. 0x0060C0A0 171 STL_tree_destroy_nodes_with_string_and_vector stl Recursively destroys all nodes in an std::_Tree where each 0x50-byte node contains a vector (cleared via json__vector_clear) and two std::strings. Walks right subtree recursively, then iterates left children. 0x0060C150 159 STL_tree_destroy_nodes_with_two_strings stl Recursively destroys all nodes in an std::_Tree where each 0x4C-byte node contains two std::string members. Walks right subtree recursively, then iterates left children, destroying both strings in each node. 0x0060C1F0 159 STL_tree_destroy_nodes_with_string_and_data stl Recursively destroys all nodes in an std::_Tree where each 0x40-byte node contains an std::string and additional data cleaned up via helper_0060ee60. Walks right subtree recursively, then iterates left children. 0x0060C290 141 STL_tree_destroy_nodes_string_key_only stl Recursively destroys all nodes in an std::_Tree where each 0x58-byte node has a string key. Only destroys the key string. Walks right subtree recursively, then iterates left children. 0x0060C320 87 STL_tree_find_lower_bound_uint64 stl STL _Tree::_Find_lower_bound for a 64-bit (uint64) key. Compares both high and low 32-bit words of the key against tree node values at offsets +0x10 and +0x14. Returns the find result with the lower bound node and comparison flag. 0x0060C380 87 STL_tree_find_lower_bound_uint64_0060c380 stl STL _Tree::_Find_lower_bound for a 64-bit key. Identical logic to STL_tree_find_lower_bound_uint64 at 0060c320 -- duplicate instantiation for a different template parameter. 0x0060C3E0 483 STL_tree_copy_to_vector_with_strings stl Iterates an std::_Tree (in-order traversal) from param_2 to param_3, copying each node's string value and vector data into a target vector at param_4. For each node: copies the string via STL_string_copy_construct, copies the vector (8-byte elements) via memcpy, and appends a 0x18-byte entry to the output vector (growing it if needed). 0x0060C5D0 186 CStringMapManager__ctor ui_windows Constructor for CStringMapManager. Initializes vtable (PTR_helper_0060d7f0_010e9528), creates two red-black trees (0x58-byte sentinel for the first, 0x40-byte for the second), sets a boolean flag, and calls CLuaInstance__ctor to initialize a Lua scripting instance. 0x0060C6A0 67 CStringMapManager__delete_tree_sentinel_a ui_windows Deletes the second tree's sentinel node (0x40 bytes) at offset +4 of the sub-structure if it exists. 0x0060C6F0 67 CStringMapManager__delete_tree_sentinel_b ui_windows Deletes the first tree's sentinel node (0x58 bytes) at offset +4 of the sub-structure if it exists. 0x0060C750 76 CReputeDB__destroy_tree_string_vector game_map Destroys an STL tree with string+vector nodes (0x50 bytes each) and frees the sentinel node. Used for repute group data trees. 0x0060C7B0 76 CReputeDB__destroy_tree_two_strings game_map Destroys an STL tree with two-string nodes (0x4c bytes each) and frees the sentinel node. Used for repute info data trees. 0x0060C810 76 CReputeDB__destroy_tree_string_data game_map Destroys an STL tree with string+data nodes (0x40 bytes each) and frees the sentinel node. Used for repute key-value trees. 0x0060C870 76 CReputeDB__destroy_tree_string_key game_map Destroys an STL tree with string-key-only nodes (0x58 bytes each) and frees the sentinel node. Used for repute info trees. 0x0060C8D0 139 CReputeDB__cleanup_optional_string_data_node game_map Cleans up an optional node at offset +4: destroys a vector via helper_0060ee60, destroys a string, then frees the 0x40-byte node if non-null. 0x0060C960 123 CReputeDB__cleanup_optional_string_key_node game_map Cleans up an optional node at offset +4: destroys a string, then frees the 0x58-byte node if non-null. 0x0060C9E0 78 CReputeDB__free_optional_node_0x40 game_map Frees an optional 0x40-byte node at offset +4 if non-null. No destructor logic, just raw deallocation. 0x0060CA30 78 CReputeDB__free_optional_node_0x58 game_map Frees an optional 0x58-byte node at offset +4 if non-null. No destructor logic, just raw deallocation. 0x0060CA80 87 CReputeDB__destroy_tree_string_vector_no_seh game_map Destroys an STL tree with string+vector nodes (0x50 bytes) and frees sentinel. Similar to CReputeDB__destroy_tree_string_vector but without SEH unwind index manipulation. 0x0060CAE0 87 CReputeDB__destroy_tree_two_strings_no_seh game_map Destroys an STL tree with two-string nodes (0x4c bytes) and frees sentinel. Similar to CReputeDB__destroy_tree_two_strings but without SEH unwind index manipulation. 0x0060CB40 87 CReputeDB__destroy_tree_string_data_no_seh game_map Destroys an STL tree with string+data nodes (0x40 bytes) and frees sentinel. Similar to CReputeDB__destroy_tree_string_data but without SEH unwind index manipulation. 0x0060CBA0 87 CReputeDB__destroy_tree_string_key_no_seh game_map Destroys an STL tree with string-key-only nodes (0x58 bytes) and frees sentinel. Similar to CReputeDB__destroy_tree_string_key but without SEH unwind index manipulation. 0x0060CC00 99 CReputeDB__dtor_vector_and_string_pair game_map SEH unwind handler: destroys a vector (via helper_0060ee60) then a string. Used during stack unwinding in repute data construction. 0x0060CC70 80 CReputeDB__dtor_embedded_string game_map SEH unwind handler: destroys a string at offset +8 of the given object. Used during stack unwinding in repute data construction. 0x0060CCC0 111 CReputeDB__dtor_vector_and_two_strings game_map SEH unwind handler: destroys a 4-byte-element vector, then two strings in sequence. Used during stack unwinding for repute group entry construction. 0x0060CD30 99 CReputeDB__dtor_two_strings game_map SEH unwind handler: destroys two strings in sequence. Used during stack unwinding for repute info entry construction. 0x0060CDA0 99 CReputeDB__dtor_vector_and_string game_map SEH unwind handler: destroys a vector (via helper_0060ee60) then a string. Variant used in a different unwind context than dtor_vector_and_string_pair. 0x0060CE10 129 CReputeDB__clear_and_free_vector game_map Clears and frees a vector's buffer. Computes buffer size from (capacity - base) aligned to 4 bytes, handles large-block aligned allocation (0x1000+ threshold), then zeroes the vector pointers. 0x0060CEA0 86 CReputeDB__dtor_vector_and_string_v2 game_map SEH unwind handler: destroys a vector (via helper_0060ee60) then a string. Another unwind variant for repute data operations. 0x0060CF00 65 CReputeDB__dtor_single_string game_map SEH unwind handler: destroys a single string. Used during stack unwinding in repute data construction. 0x0060CF50 166 CReputeDB__dtor game_map CReputeDB destructor. Sets vtable, destroys the CLuaInstance, destroys the string+data tree (0x40-byte nodes at offset +0xC), and the string-key tree (0x58-byte nodes at offset +4). 0x0060D000 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x0060D060 986 CReputeDB__insert_group_entry game_map Inserts a repute group entry into the tree. Converts the name string via codepage conversion, builds a uint64 vector from int array, finds lower bound by uint64 key, inserts a new 0x40-byte node if not found, then copies name string and vector data into the node. 0x0060D440 904 CReputeDB__insert_info_entry game_map Inserts a repute info entry into the tree. Converts name string via codepage, extracts min/max values, parses visibility string (VISIBLE_TRUE/VISIBLE_FALSE/other=2), finds lower bound by uint64 key, inserts 0x58-byte node with name, range, visibility fields, and boolean flag. 0x0060D7D0 30 CReputeDB__base_scalar_deleting_dtor game_map Base scalar deleting destructor for CReputeDB. Conditionally frees the 4-byte object if bit 0 of param_2 is set. 0x0060D7F0 187 CReputeDB__scalar_deleting_dtor game_map CReputeDB scalar deleting destructor. Sets vtable, destroys CLuaInstance, destroys both trees (string+data 0x40 and string-key 0x58), conditionally frees the 0x20-byte object if bit 0 of param_2. 0x0060D8B0 128 CReputeDB__get_all_group_keys game_map Copies all keys from the repute group tree (at offset +0xC) into a vector via STL_tree_copy_to_vector_with_strings. Returns the output vector. 0x0060D930 370 CReputeDB__find_visible_entries_by_name game_map Iterates all repute group entries, matches by name string (param_3). For each matching group, iterates its uint64 vector, looks up the corresponding info entry, and if visible (visibility==0 or visibility==2 with nonzero range), adds the info entry name to the result vector. 0x0060DAB0 315 CReputeDB__get_all_visible_entries game_map Iterates all repute group entries. For each group, iterates its uint64 vector, looks up info entries, and collects visible entries (visibility==0 or visibility==2 with nonzero range) into the result vector. 0x0060DBF0 54 CReputeDB__load_repute_info_data game_map Loads repute info and group data files. Calls load_repute_info_file (ReputeInfoData) then load_repute_group_file (ReputeGroupData) on this+4 and this+0xC. Shows 'Failed : LoadReputeInfoData' messagebox on failure. 0x0060DC30 61 CReputeDB__load_repute_data_from_trees game_map Loads repute data from two tree parameters (info tree and group tree). Calls load_repute_info_file then load_repute_group_file. Shows 'Failed : LoadReputeInfoData' messagebox on failure. 0x0060DC70 1049 CReputeDB__load_repute_group_file game_map Loads 'ContentData/Repute/ReputeGroupData.json' via CFileStream, parses JSON with STL serializer, extracts repute group entries via json__parse_repute_group_entries, rebuilds the group tree with string+vector nodes by calling insert_group_entry for each parsed entry. 0x0060E090 1033 CReputeDB__load_repute_info_file game_map Loads 'ContentData/Repute/ReputeInfoData.json' via CFileStream, parses JSON with STL serializer, extracts repute info entries via json__parse_repute_info_entries, rebuilds the info tree with string-key nodes by calling insert_info_entry for each parsed entry (name, min, max, visibility). 0x0060E4A0 264 CReputeDB__show_repute_window game_map Opens the repute UI window (type 0x15A). If params are zero, shows a default message (msg ID 0xEF5). Otherwise looks up group entry by uint64 key and sets the window title, then looks up info entry by second uint64 key and sets its visible flag, calling window update method. 0x0060E5B0 83 CReputeDB__set_info_entry_extra_data game_map Looks up a repute info entry by uint64 key (param_2/param_3) and sets its extra data fields at offsets +0x48 and +0x4C to param_4 and param_5. 0x0060E610 533 CReputeDB__search_entries_by_name game_map Searches repute info entries by substring match in their name field. Iterates all entries in the info tree, performs case-sensitive substring search using memchr, and collects matching visible entries (visibility==0 or visibility==2 with nonzero range) into the result vector. 0x0060E830 65 CReputeDB__set_pause_flag_and_notify_window game_map Sets a pause/toggle flag at offset +0x14 (XOR with 1 of param_2). If param_2==1, finds the repute window (type 0x15A) and sends notification message 0x88 to it. 0x0060E880 136 STL_vector_allocate_raw_buffer stl Allocates a raw byte buffer for a vector. Handles small allocations directly and large allocations (>=0x1000) with 32-byte alignment (stores original pointer at -4). Sets base, end, and capacity pointers. Throws on overflow or allocation failure. 0x0060E910 134 STL_vector_allocate_uint64_buffer stl Allocates a uint64 vector buffer (element size 8 bytes). Multiplies count by 8, handles small vs large allocation with 32-byte alignment for large blocks. Throws bad_array_new_length on overflow or if count >= 0x20000000. 0x0060E9A0 148 STL_vector_grow_uint64 stl Grows a uint64 vector by freeing the old buffer and allocating a new one. Computes new capacity as max(requested, old_capacity * 1.5). Frees old buffer (handling aligned allocation), then calls allocate_uint64_buffer for the new size. 0x0060EA40 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0060EC50 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0060EE60 129 STL_vector_clear_and_free_uint64 stl Clears and frees a uint64 vector buffer. Computes buffer size as (capacity - base) & 0xFFFFFFF8, handles aligned deallocation for large blocks (>=0x1000), then zeroes the three vector pointers. 0x0060EEF0 10 STL_throw_vector_too_long_0060eef0 stl Throws std::length_error with message 'vector too long'. Does not return. 0x0060EF00 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0060EF40 54 CReputeDB__compare_string_name game_map Compares a C-string (param_2) against an SSO std::string (param_1). Computes strlen of param_2, then calls std::_Traits_equal for case-sensitive comparison. Used in repute entry name matching. 0x0060EF80 193 CReputeWnd__ctor ui_windows CReputeWnd constructor. Calls UIWindowBase__ctor, sets vtable to CReputeWnd vtable, initializes members: tab index (0x2D/0x2E)=0, columns (0x31)=8, flags (0x32/0x33)=1, boolean (0x34)=false, and zeroes slots 0x36-0x3A. 0x0060F050 95 CReputeWnd__dtor ui_windows CReputeWnd destructor. Sets vtable, calls helper_00610cd0 to clean up repute-specific data, then calls UIWindowBase__dtor. 0x0060F0B0 63 CReputeWnd__move_assign_data ui_windows Move-assigns repute window data from param_2 to this. Cleans up old data via helper_00610cd0, copies 3 dwords (likely a vector triple), then zeroes the source. Returns this. 0x0060F0F0 119 CReputeWnd__scalar_deleting_dtor ui_windows CReputeWnd scalar deleting destructor. Sets vtable, cleans up repute data, calls UIWindowBase__dtor, conditionally frees 0xF0-byte object if bit 0 of param_2 is set. 0x0060F180 1896 CReputeWnd__init_ui_widgets ui_windows Initializes the reputation window UI: creates button widget, close button, render widget for background, text widget for title, dialog widgets for prev/next page buttons and search, populates group names from CReputeDB into the list, loads initial entries. 0x0060F8F0 3060 CReputeWnd__draw_content ui_windows Draws the reputation window content: header row with message text, tiled borders, grid of reputation entries with name/star icons/progress bars/point text. Handles two display modes: negative values (red stars) and positive values (green stars). Shows GROUP label with total points when group mode active. Draws page counter at bottom. 0x006104F0 141 CReputeWnd__on_event ui_windows Handles UI events for the reputation window. Event 6: button clicks (prev page 0x13c, next page 0x13d, search 0x141, close 0xc9). Event 0x16: tab selection by name. Event 0x27: child notification to refresh entries. Event 0x88: text input for search/filter. Falls through to UIWindow__handle_button_click for unhandled events. 0x006109D0 519 CReputeWnd__filter_entries_by_name ui_windows Filters reputation entries by name. If the search string matches the "all" keyword (msg 0xef5), shows all visible entries via CReputeDB__get_all_visible_entries and clears group mode. Otherwise, searches by name via CReputeDB__find_visible_entries_by_name, enables group mode flag, and sums up total points (64-bit accumulation at offsets 0x30/0x34). 0x00610BE0 148 CReputeWnd__update_page_navigation ui_windows Updates page navigation state. Calculates total page count from entry count and items-per-page (offset 0xc4). Clamps the requested page number between 1 and max pages. Stores current page at offset 0xc8. Enables/disables prev button (offset 0xbc) and next button (offset 0xc0) based on current page position. 0x00610C80 76 CReputeWnd__clear_current_page_selections ui_windows Clears the selection flag (offset 0x38) on all reputation entries visible on the current page. Iterates through items-per-page entries starting at (currentPage-1)*itemsPerPage index in the entries vector. 0x00610CD0 129 STL_vector_ptr_free stl Frees a vector of pointers: deallocates the backing buffer (with aligned allocation support for buffers > 0xFFF bytes), then zeroes the begin/end/capacity pointers. 0x00610D60 111 CStringMapManager__ensure_initialized ui_windows Ensures the global CStringMapManager singleton (DAT_0138993c) is initialized. Allocates 0x20 bytes and calls CStringMapManager__ctor if the singleton pointer is null. 0x00610DD0 129 STL_rbtree_lower_bound_string stl Red-black tree lower_bound operation for string-keyed nodes. Traverses the tree comparing the search key against node keys using std::char_traits::compare. Returns an iterator struct with the found node, comparison result, and parent reference. Node keys stored at node+0x10 with length at node+0x20 and SSO capacity at node+0x24. 0x00610E60 150 CReputeDB__ctor game_map Constructor for CReputeDB. Sets vtable pointer, initializes dirty flag (offset 9) to false, zeroes version counters (offsets 0x10-0x1c), allocates 0x28-byte RB-tree sentinel node with self-referencing left/right/parent pointers and color=0x101, stores at offset 0x18. Sets valid flag (offset 8) to 1. 0x00610F00 108 CReputeDB__dtor_00610f00 game_map Destructor for CReputeDB. Sets vtable, destroys all RB-tree nodes with string keys (0x28-byte nodes), frees the sentinel node. 0x00610F70 133 CReputeDB__scalar_deleting_dtor_00610f70 game_map Scalar deleting destructor for CReputeDB. Destroys the RB-tree and frees sentinel, then conditionally frees the 0x20-byte object itself if bit 0 of the flags parameter is set. 0x00611000 51 CReputeDB__clear_entries game_map Clears all entries from the CReputeDB RB-tree. Increments the version counter (offsets 0x10/0x14) if the dirty flag (offset 9) is set. Destroys all tree nodes, resets sentinel to self-referencing state, zeroes the node count. 0x00611040 247 CReputeDB__get_or_create_instance game_map Gets or creates the global CReputeDB singleton stored at DAT_01389940. If null, allocates and constructs a new instance. Returns 1 if the instance is valid (offset 8 flag), otherwise destroys the failed instance and returns 0. 0x00611140 27 CReputeDB__destroy_instance game_map Destroys the global CReputeDB singleton (DAT_01389940). Calls the virtual destructor with delete flag, then nulls the global pointer. 0x00611160 516 CReputeDB__insert_or_update_entry game_map Inserts or updates an entry in the CReputeDB RB-tree by string key. Increments version counter if dirty. Performs lower_bound search, and if the key doesn't exist, allocates a new 0x28-byte tree node with the string key. If inserting would exceed 0x6666666 nodes, throws length error. Uses STL tree insert for node placement. 0x00611370 339 CReputeDB__contains_key game_map Checks if a string key exists in the CReputeDB RB-tree. Performs lower_bound search and compares the result against the sentinel. Returns true if the key was found (iterator changed from initial position), false otherwise. 0x006114D0 282 CReputeDB__remove_entries_by_key game_map Removes entries matching a string key from the CReputeDB. Increments version counter if dirty, then delegates to CReputeDB__erase_entries_by_key for the actual tree removal. 0x006115F0 59 CReputeDB__reset game_map Fully resets the CReputeDB: destroys all tree nodes, resets sentinel to self-referencing state, zeroes node count, clears the dirty flag (offset 9), and resets the version counters (offsets 0x10-0x14) to zero. 0x00611630 704 STL_rbtree_extract_node_00611630 stl STL red-black tree node extraction/erase with rebalancing. Handles three cases: node with two children (swap with successor), node with one child, and leaf node. After unlinking, performs RB-tree fixup rotations (left/right) to maintain balance. Decrements node count. Returns the extracted node for caller to free. 0x006118F0 84 STL_rbtree_rotate_left_006118f0 stl STL red-black tree left rotation. Rotates param_2 left: its right child becomes the new subtree root. Updates parent/child pointers and handles the case where param_2 is the tree root. 0x00611950 88 STL_rbtree_rotate_right_00611950 stl STL red-black tree right rotation. Rotates param_2 right: its left child becomes the new subtree root. Updates parent/child pointers and handles the case where param_2 is the tree root. 0x006119B0 477 CReputeDB__erase_entries_by_key game_map Erases a range of entries matching a key from the CReputeDB RB-tree. Finds the equal_range (lower_bound to upper_bound) for the key, counts matching entries, then either clears the entire tree (if all entries match) or iterates through the range extracting and freeing each node via STL_rbtree_extract_node. Returns the number of erased entries. 0x00611B90 268 CTextMask__ctor ui_windows Constructor for CTextMask. Creates a 0x136 x 0xf bitmap font texture via CRenderPipeline, sets background color to magenta (0xFFFF00FF). Draws "XXXXXXX XXXXXXX XXXXXXX XXXXXXX " text pattern in black with 5x5 offset grid for shadow effect, then white at center (1,1). Used as a text masking/censoring overlay texture. 0x00611CA0 31 CTextMask__dtor ui_windows Destructor for CTextMask. Sets vtable, releases the bitmap font resource at offset 8 via virtual destructor, nulls the pointer. 0x00611CC0 56 CTextMask__scalar_deleting_dtor ui_windows Scalar deleting destructor for CTextMask. Releases the bitmap resource, then conditionally frees the 0xC-byte object itself if bit 0 of the flags parameter is set. 0x00611D00 378 CTextMask__get_or_create_instance ui_windows Gets or creates the global CTextMask singleton stored at DAT_0138994c. If null, allocates 0xC bytes, constructs the text mask bitmap texture. Returns 1 if valid, otherwise destroys the failed instance and returns 0. 0x00611EA0 34 CTextMask__draw_text_at ui_windows Draws text onto the CTextMask bitmap at the specified position. Calls the render method on the internal bitmap resource with fixed dimensions 0x136 x 0xf and alpha -1. 0x00611ED0 104 CSkillEffectUnit__ctor effect Constructor for CSkillEffectUnit. Calls CSkillEffectManager__ctor for base initialization, sets vtable pointer, initializes timer interval to 0x3c (60 ticks) at offset 0x472a and frame counter to 0 at offset 0x472b. Object size is 0x11cb0 bytes. 0x00611F40 71 CSkillEffectUnit__dtor effect Destructor for CSkillEffectUnit. Sets vtable pointer, then delegates to CSkillEffectManager__dtor for base class cleanup. 0x00611F90 99 CSkillEffectUnit__scalar_deleting_dtor effect Scalar deleting destructor for CSkillEffectUnit. Calls CSkillEffectManager__dtor, then conditionally frees the 0x11cb0-byte object if bit 0 of flags is set. 0x00612020 89 CSkillEffectUnit__find_keyframe_value effect Looks up a keyframe value in a sorted map (at offset 0x11c) by integer key using lower_bound. If the key falls within an existing range, returns the associated value at node+0x18. Otherwise returns 0. 0x00612080 1138 CSkillEffectUnit__configure_particle_emitters effect Configures a multi-layer particle effect on the CSkillEffectUnit. Creates a particle effect with 0x1e emitters, loads a texture, then configures 5 emitter layers at different angles (param_2 offsets: +0x87, +0x5a, +0x2d, +0, and base). Each layer gets timing (360 degrees), speed (0x41a00000-0x41880000 float), angle spread (0x50 = 80), emit count (5), and growth rate. Initializes keyframe arrays with zeros and decreasing delay values. 0x00612500 637 CSkillEffectUnit__update_animation effect Updates the skill effect animation each frame. Checks if the entity (offset 0x4e) is valid, handles pause state. Plays BeginSpell.wav sound on first frame relative to camera position. Rotates the effect angle by a fixed increment, wrapping at 2*PI. Increments frame counter and checks against max frames via vtable call. On completion, performs RTDynamicCast to access keyframe map and inserts/updates keyframe entries. Returns 1 if still animating, 0 when complete. 0x00612780 16 CSkillEffectUnit__set_target_id effect Sets the target entity ID at offset 0x17c on the CSkillEffectUnit. 0x00612790 34 memcpy_range_00612790 stl Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the end of copied data in the destination buffer. 0x006127C0 34 memcpy_range_006127c0 stl Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the end of copied data. Duplicate of memcpy_range at 00612790. 0x006127F0 452 STL_vector_ptr_insert_with_grow stl STL vector insert with grow for pointer-sized elements. When capacity is full, allocates new buffer at 1.5x capacity (capped at 0x3FFFFFFF), copies existing elements around the insertion point, stores the new element, frees old buffer, and updates begin/end/capacity pointers. Supports aligned allocation for large buffers (>0xFFF bytes). 0x006129C0 452 STL_vector_ptr_insert_with_grow_006129c0 stl STL vector insert with grow for pointer-sized elements. Identical logic to STL_vector_ptr_insert_with_grow at 006127f0, reallocates at 1.5x capacity, copies around insertion point, updates vector pointers. Different vector instance (different error handler stub). 0x00612B90 216 CReputeEntry__copy_ctor game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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). 0x00613240 129 STL_vector_deallocate_00613240 stl Deallocates a std::vector's backing buffer. Frees the heap memory (supporting aligned allocations for buffers > 0xFFF bytes), then zeroes begin/end/capacity pointers. 0x006132D0 129 STL_vector_deallocate_006132d0 stl Deallocates a std::vector's backing buffer. Identical to STL_vector_deallocate at 00613240, frees heap memory with aligned allocation support, zeroes vector pointers. 0x00613360 301 CReputeData__clear_all_groups game_core 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. 0x00613490 191 CWorldView__clear_zone_children game_map Iterates zone children vector at this+0x48..0x4c, destroys 3 strings per child entry (0x5c bytes each), frees memory, resets end pointer. Clears attached child zones from a parent zone entry. 0x00613550 99 CWorldView__destroy_zone_strings game_map Destroys 3 STL strings associated with a worldview zone. Called during zone cleanup. 0x006135C0 493 CWorldView__add_zone_to_group game_map Adds a zone entry to a group. Searches group vector at this+0x34..0x38 by group ID (param_2 vs +0x30). If group found, extends its bounding box and appends zone to child list. If not found, allocates a new 0x54-byte group entry, copies name string and bounding box from param_4, and appends to group vector. 0x006137B0 310 CWorldView__load_group_texture game_map Builds texture path by appending the group's name string (this+0x18) and loads it via CTextureCache__find_or_load_texture. Stores result at this+0x30. Returns true if texture loaded successfully. 0x006138F0 262 CWorldView__clear_all_groups game_map Iterates all groups in vector at this+0x34..0x38. For each group, clears child zones (destroys strings, frees 0x5c-byte children), then frees the 0x54-byte group itself. Resets end pointer. 0x00613A00 163 CWorldView__clear_zone_children_simple game_map Simplified version of clear_zone_children. Iterates children at this+0x48..0x4c, destroys 2 strings per child, frees 0x5c-byte entries, resets end pointer. 0x00613AB0 204 CWorldView__find_zone_at_point game_map Searches all groups for a zone containing point (param_3, param_4). For groups with ID < 100 and children, checks first child's bounding box. For others, checks group's own bounding box. Returns found zone pointer and writes group index to param_2. Returns NULL if not found. 0x00613B80 163 CWorldView__find_zone_by_name game_map Searches all groups and their child zones for a zone whose name (at child+0x14, STL string) matches param_3 (C string comparison). Writes group index to param_2. Returns zone pointer or 0 if not found. 0x00613C30 47 CWorldView__find_child_zone_by_name_in_groups game_map Iterates groups at this+0x34..0x38, calling find_child_zone_by_name on each. Returns first matching zone pointer, or 0 if not found in any group. 0x00613C60 65 CWorldView__find_child_zone_at_point game_map Searches child zones at this+0x48..0x4c for one whose bounding box (x1,y1,x2,y2) contains point (param_2, param_3). Returns child zone pointer or NULL. 0x00613CB0 98 CWorldView__find_child_zone_by_name game_map Searches child zones at this+0x48..0x4c for one whose name string (at child+0x14) matches param_2. C string comparison. Returns zone pointer or 0. 0x00613D20 163 CWorldView__find_group_at_point game_map Searches groups for one containing point (param_3, param_4). For groups with ID < 100 and children, checks first child's bbox. For others, checks group's own bbox. Returns group pointer and writes index to param_2. 0x00613DD0 45 CWorldView__find_group_by_id game_map Searches groups at this+0x34..0x38 for one with group ID matching param_2 (at group+0x30). Returns group pointer or 0. 0x00613E00 163 CWorldView__find_group_at_point_strict game_map Like find_group_at_point but only checks groups with ID < 100. For those with no children, checks group bbox directly. For those with children, checks first child's bbox. Returns group pointer and writes index to param_2. 0x00613EB0 41 CWorldView__is_point_in_group_bounds game_map Tests whether point (param_2, param_3) is inside this group's bounding box (this+0x34..0x40). Returns 1 if inside, 0 otherwise. 0x00613EE0 40 CWorldView__is_point_in_zone_bounds game_map Tests whether point (param_2, param_3) is inside this zone's bounding box (this[0]..this[3] = x1,y1,x2,y2). Returns 1 if inside, 0 otherwise. 0x00613F10 323 CWorldView__load_and_set_group_texture game_map Loads group texture like load_group_texture, then calls a virtual method on the loaded texture object at vtable+0x2c with position params. Applies the texture with positioning. 0x00614060 10 STL_vector_xlength_error stl Throws std::length_error with message "vector too long". Called when vector exceeds max size. 0x00614070 10 STL_vector_xlength_error_00614070 stl Throws std::length_error with message "vector too long". Duplicate of STL_vector_xlength_error at different address. 0x00614080 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x006140C0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00614100 34 CWorldView__copy_range_to_buffer game_map Copies memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past copied data in destination buffer. 0x00614130 105 CWorldView__destroy_zone_entry_range game_map Iterates zone entries from param_1 to param_2 (stride 0x54 bytes each). For each entry, destroys linked list via CNavigatorWnd__destroy_string_linked_list and destroys an STL string. Used during vector reallocation cleanup. 0x006141A0 452 CWorldView__vector_insert_ptr game_map STL vector insert for pointer elements (4-byte stride). Grows vector with 1.5x strategy, copies existing elements around insertion point, inserts new element from param_3. Returns pointer to inserted element. 0x00614370 534 CWorldView__vector_insert_zone_entry game_map STL vector insert for zone entries (0x54-byte stride). Grows vector with 1.5x strategy, copies existing elements around insertion point via helper_00617b80/helper_00617c20, calls handler_00614e70 to copy-construct new entry. Frees old buffer. 0x00614590 71 CWorldView__init_zone_name_entry game_map Initializes a zone name entry struct. Sets first field to 0, string length to 0, and string capacity to 0xf (SSO threshold). Used in _eh_vector_constructor_iterator_ for worldview texture name array. 0x006145E0 1941 CWorldView__ctor game_map CWorldView constructor. Initializes 16 texture name entries (Map.bmp, Mob1-5.bmp, Npc.bmp, Npc_Mob1-5.bmp) from worldview interface path. Sets default colors (0xffffffff, 0xff000000, 0x282828), default sizing (10 for all 4 directional margins). Allocates base path from "worldview\\interface\\wv_Sreach" prefix + NoImage.bmp default. 0x00614D80 234 CWorldView__move_construct_zone_entry game_map Move-constructs a zone entry (0x54 bytes). Copies numeric fields, move-assigns the STL string (steals buffer), and swaps the linked list head pointer. Used during vector reallocation. 0x00614E70 439 CWorldView__copy_construct_zone_entry game_map Copy-constructs a zone entry (0x54 bytes). Copies numeric fields, copy-constructs the STL string, and deep-copies the linked list of string nodes (0x20 bytes each with STL string at offset +8). 0x00615030 200 CWorldView__init_zone_entry game_map Initializes a zone entry struct. Zeros all fields, sets string capacity to 0xf (SSO), zeros vector pointers, and allocates a 0x20-byte self-referential linked list sentinel node at offset +0x4c. 0x00615100 112 CWorldView__clear_linked_list game_map Clears a doubly-linked list. Walks nodes from first to last, destroys STL string in each 0x20-byte node, frees node. Unlinks head and tail. 0x006151A0 129 CWorldView__free_ptr_vector game_map Frees the backing buffer of a pointer vector (4-byte stride). Handles aligned allocation cleanup. Resets begin/end/capacity to 0. 0x00615230 163 CWorldView__free_zone_entry_vector game_map Destroys all zone entries in a vector (0x54-byte stride) by calling destroy_zone_entry_range, then frees the backing buffer. Resets begin/end/capacity to 0. 0x006152E0 266 CWorldView__dtor game_map CWorldView destructor. Destroys zone entry vectors, NPC entries, texture name array (16 entries via _eh_vector_destructor_iterator_), pointer vector, linked list, and string members. Frees all allocated resources. 0x006153F0 87 CWorldView__destroy_single_zone_entry game_map Destroys a single zone entry: calls CNavigatorWnd__destroy_string_linked_list and then destroys the STL string member. 0x00615450 4743 CWorldView__load_config_from_lua game_map Loads worldview configuration from Lua scripts. Loads 5 data files via CDataTableMgr, then calls multiple Lua functions: queryWorld_List, Get_Worldview_info_Dungeon_Select, Get_Worldview_info_BoxLine_Color. Reads colors (RGB + alpha), bounding boxes, margins, and 16 per-group color entries. Shows MessageBox error on Lua failure. 0x006166E0 523 CWorldView__rescale_all_zones_to_screen game_map Rescales all group and zone bounding boxes to match current screen resolution. Gets texture dimensions via vtable calls, computes scale factors from screen dimensions (DAT_01389638+0x28/0x2c). Applies scaling + 0x11 vertical offset to both group and child zone rectangles. 0x006168F0 117 CWorldView__on_resolution_change game_map Handles screen resolution changes. Sets zoom level (this+0x70) based on screen width: 0 for <=640, 1 for 641-800, 2 for 801-1024, 3 for >1024. Reloads all group textures, then rescales zones to screen if not already done (DAT_0173795c flag). 0x00616970 686 CWorldView__find_zone_index_by_name_or_current game_map If param_2 == -1, gets current map name from mode1 object (via get_field4_if_mode1 + vtable call). Searches for zone by name across all groups. Returns matching zone index or 0 if not found. Used to look up the current zone's tab index. 0x00616C20 145 CWorldView__reset_selection_state game_map Resets the worldview selection state. Clears indices at +0x18/+0x1c, clears name string at +0x38, zeros bounding box at +0x50..0x5c, clears linked list at +0x64, and resets count at +0x68. Prepares for new selection. 0x00616CC0 179 CWorldView__select_zone_by_name game_map Selects a worldview zone by name. Resets selection state, then searches all groups for a zone with group ID >= 100 matching param_2. If found, stores group index, zone name string, and bounding box into the selection state. Returns 1 if found, 0 otherwise. 0x00616D80 71 CWorldView__clamp_tab_and_set_texture game_map Clamps the current tab index (this+0x6c) to valid range [0, group_count-1], then calls load_and_set_group_texture to apply the selected group's texture with positioning parameters. 0x00616DD0 672 CWorldView__add_npc_zone_entry game_map Adds an NPC zone entry by name. First searches existing entries (0x54-byte stride vector) for a matching name string. If found, returns 1 immediately. If not found, searches groups for a zone with group ID >= 100, creates a new zone entry with the zone data and linked list, and appends to the entry vector. Returns 1 on success, 0 on failure. 0x00617070 24 CWorldView__clear_zone_entry_vector_contents game_map Destroys all zone entries in a vector and resets size to 0 (keeps capacity). Calls destroy_zone_entry_range on [begin, end) then sets end = begin. 0x00617090 305 CWorldView__find_zone_entry_by_name game_map Searches zone entry vector for an entry whose name string (at entry+0x20, STL string) matches param_2 (C string). Returns pointer to matching entry or 0. Used by add_npc_zone_entry to check duplicates. 0x006171D0 76 CWorldView__get_zone_entry_by_index game_map Returns a zone entry pointer at index param_2 from the zone entry vector (0x54-byte stride). If param_3 is nonzero, also validates that entry's first field matches this+0x1b (active map ID). Returns NULL if out of bounds or validation fails. 0x00617220 77 CWorldView__get_zone_entry_name_ptr_by_index game_map Like get_zone_entry_by_index but returns pointer to entry+0x38 (the name/data portion, 0xe ints past base). Same bounds checking and optional active-map validation. Returns NULL on failure. 0x00617270 23 CWorldView__get_zone_entry_count game_map Returns the number of zone entries in the vector: (end - begin) / 0x54. 0x00617290 15 CWorldView__refresh_current_zone_index game_map Calls find_zone_index_by_name_or_current with -1 (meaning use current map) and stores the result in this+0x6c (current tab index). 0x006172E0 752 CWorldView__add_or_update_zone_entry game_map Adds or updates a zone entry by name. Searches existing entries (at this+0x0c..0x10, 0x54-byte stride) for a name match. If found and param_3 (priority) is nonzero, updates the entry's priority field (+0x08), handling a 10000-threshold for different priority tiers. If not found, searches groups for matching zone (ID >= 100), creates a new entry with the zone data, and inserts into the entry vector. Returns 1 on add/update, 0 on not found. 0x006175D0 25 CItemList__reset_end_to_begin ui_windows Resets the item list end pointer back to begin, effectively clearing the list via helper_00614130. Operates on entries with 0x54-byte stride stored at this+0xC/0x10. 0x006175F0 306 CItemList__find_entry_by_name ui_windows Searches the item list entries (0x54-byte stride at this+0xC..this+0x10) for an entry whose name string at +0x20 matches the given C string parameter. Returns pointer to the matching entry, or 0 if not found. 0x00617730 304 CItemList__get_entry_icon_by_index ui_windows Returns icon data pointer (entry+0x38) for the given index. Selects icon variant based on item quantity tiers: 1-4 (base), 5-19 (+1), 20-49 (+2), 50-99 (+3), 100-9999 (+4), 10000+ (+5). Optionally filters by type matching this+0x6C. 0x00617860 24 CItemList__get_entry_count ui_windows Returns the number of entries in the item list: (this+0x10 - this+0xC) / 0x54. 0x00617880 184 CItemList__scale_rect_to_screen ui_windows Scales a rectangle (4 ints) from a source coordinate space to the screen resolution. Uses global screen dimensions from DAT_01389638+0x28/0x2C. param_2 is vertical offset, param_3/param_4 are source dimensions. 0x00617940 10 CItemList__get_current_item_ptr ui_windows Returns pointer to the current item data from the item array. Indexes this+0x74 pointer array using this+0x6C as current index. 0x00617950 527 CItemList__check_item_name_changed ui_windows Checks if an item's display name differs from its message table name. Gets message text via CMessageStringTable__get_message_text(0xBB) and compares with CItem__set_display_name_from_cstr result. Returns 1 if different (name was customized), 0 if same. 0x00617B60 22 CItemList__erase_range_helper ui_windows Thin wrapper around helper_00614130 to erase a range of entries from the item list container. 0x00617B80 147 CItemList__destroy_entries_and_trim ui_windows Iterates entries from param_2 to param_3 (0x54-byte stride), calling handler_00614d80 to destroy each entry, then trims the container via helper_00614130. 0x00617C20 145 CItemList__copy_entries_and_trim ui_windows Iterates entries from param_2 to param_3 (0x54-byte stride), calling handler_00614e70 to copy-construct each entry into param_4, then trims the source container. 0x00617CC0 10 STL_vector_throw_length_error_00617cc0 stl Throws std::length_error with "vector too long" message. Used by vector implementations for overflow checks. 0x00617CD0 10 STL_vector_throw_length_error_00617cd0 stl Throws std::length_error with "vector too long" message. Duplicate of 00617cc0, used by a different vector instantiation. 0x00617CE0 62 deallocate stl std::allocator::deallocate for unsigned int and related types. Frees memory, handling aligned allocation for buffers >0xFFF bytes. Element size is 4 bytes (uint/pointer). 0x00617D20 56 CItemList__deallocate_entries ui_windows Deallocates a buffer of item list entries (0x54 bytes each). Handles aligned allocation cleanup for large buffers (>0xFFF bytes). 0x00617D60 152 CRijndael__encrypt_cbc_18 security Rijndael CBC encryption wrapper with 0x18-byte block size. Constructs CRijndael, calls make_key with key/IV at global DAT_010e9e14/010e9e34 (0x18,0x18), encrypts via encrypt_block, then destructs. 0x00617E00 152 CRijndael__encrypt_cbc_20 security Rijndael CBC encryption wrapper with 0x20-byte block size. Same as encrypt_cbc_18 but uses 0x20 for both key and block length parameters to make_key. 0x00617EA0 152 CRijndael__decrypt_cbc_18 security Rijndael CBC decryption wrapper with 0x18-byte block size. Constructs CRijndael, calls make_key with key/IV at global DAT_010e9e14/010e9e34 (0x18,0x18), decrypts via decrypt_block, then destructs. 0x00617F40 152 CRijndael__decrypt_cbc_20 security Rijndael CBC decryption wrapper with 0x20-byte block size. Same as decrypt_cbc_18 but uses 0x20 for both key and block length parameters to make_key. 0x00617FE0 13 CRijndael__ctor security CRijndael constructor. Sets vtable pointer to PTR_util_00618070_010ed938 and initializes initialized flag (this+4) to 0. 0x00617FF0 99 CRijndael__create_exception security Creates a CRijndael exception object from a C string message. Sets vtable to STL_json_exception_base_dtor vtable (reused exception class), copies the exception message via __std_exception_copy. 0x00618060 7 CRijndael__reset_vtable security Resets the CRijndael vtable pointer without full destruction. Called during exception cleanup paths. 0x00618070 39 CRijndael__scalar_deleting_dtor security CRijndael scalar deleting destructor. Resets vtable, then conditionally frees memory (0x474 bytes = sizeof CRijndael) if bit 0 of param_2 is set. 0x006180A0 384 CRijndael__encrypt_decrypt_blocks security Rijndael block cipher mode processor for encryption. Processes multiple blocks of data. Mode 1 = CBC encrypt (XOR with prev ciphertext, then encrypt), mode 2 = CBC decrypt (decrypt, then XOR with prev ciphertext), default = ECB encrypt (no chaining). Validates initialized state and block alignment. Throws on error. 0x00618230 759 CRijndael__encrypt_block security Rijndael encrypt_block: encrypts one block using the forward S-box and T-tables (DAT_010eb858/010ebc58/010ec058/010ec458). Dispatches to encrypt_block_128 for 16-byte blocks. Handles variable block sizes (16/24/32 bytes). Uses round keys at this+0x1E8 with this+0x3D0 rounds. 0x00618530 919 CRijndael__encrypt_block_128 security Rijndael encrypt for 128-bit (16-byte) block size only. Optimized path with hardcoded 4-word state. Uses forward T-tables (DAT_010eb858..010ec458) for round transformation and S-box (DAT_010ea758) for final round. Round keys at this+0x1E8, rounds at this+0x3D0. 0x006188D0 916 CRijndael__decrypt_block_128 security Rijndael decrypt for 128-bit (16-byte) block size only. Uses inverse T-tables (DAT_010ea858..010eb458) for round transformation and inverse S-box (DAT_010ea658) for final round. Decryption round keys at this+0x8, rounds at this+0x3D0. 0x00618C70 390 CRijndael__decrypt_blocks security Rijndael block cipher mode processor for decryption. Processes multiple blocks. Mode 1 = CBC decrypt (XOR IV with ciphertext before decrypt), mode 2 = OFB-like decrypt, default = ECB decrypt. Validates initialized state and block alignment. Throws on error. 0x00618E00 756 CRijndael__decrypt_block security Rijndael decrypt_block: decrypts one block using the inverse S-box and inverse T-tables (DAT_010ea858/010eac58/010eb058/010eb458). Dispatches to decrypt_block_128 for 16-byte blocks. Handles variable block sizes. Uses decryption round keys at this+0x8. 0x00619100 1118 CRijndael__make_key security Rijndael key schedule setup. Validates key (non-null), key length (16/24/32), and block length (16/24/32). Computes number of rounds (10/12/14), expands key into encryption round keys (this+0x1E8) and decryption round keys (this+0x8). Applies InvMixColumns to decryption subkeys. Sets initialized flag. Object size ~0x474 bytes. 0x00619560 88 CRijndael__xor_blocks security XORs two blocks byte-by-byte. Length determined by this+0x3CC (block size). Used for CBC mode chaining. Validates initialized flag first. 0x006195C0 1835 base64_decode security Base64 decode. Supports both standard and URL-safe base64 (handles +/- and /_). If param in_stack_00000020 is nonzero, strips newlines from input first. Decodes 4-char groups into 3 bytes, handles = and . padding. Returns decoded string. 0x00619CF0 115 base64_decode_string security Convenience wrapper: copies the input std::string, then calls base64_decode to decode it. Returns decoded result as std::string. 0x00619D70 155 base64_encode_string security Convenience wrapper: copies the input std::string, extracts its raw buffer and length, then calls base64_encode with the specified mode param. Returns encoded result as std::string. 0x00619E10 2874 base64_encode security Base64 encode. Encodes raw bytes (param_2, param_3 length) into base64 string. param_4 selects alphabet: 0=standard (ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/), nonzero=URL-safe variant. Uses '=' padding for standard, '.' for URL-safe. Processes 3 bytes at a time into 4 base64 chars. 0x0061A950 222 base64_encode_with_linebreaks_76 security Base64 encode with linebreaks every 76 characters. Encodes input string with standard alphabet (mode 0), then inserts newlines every 0x4C (76) characters via base64_insert_linebreaks. MIME-standard line length. 0x0061AA30 222 base64_encode_with_linebreaks_64 security Base64 encode with linebreaks every 64 characters. Encodes input string with standard alphabet (mode 0), then inserts newlines every 0x40 (64) characters via base64_insert_linebreaks. PEM-standard line length. 0x0061AB10 499 base64_insert_linebreaks security Inserts newline characters into a base64-encoded string at every param_8 characters. If input is empty, returns empty string. Operates in-place on the string buffer, shifting content to make room for newlines. 0x0061AD10 90 base64_char_to_value security Converts a single base64 character to its 6-bit value. Handles uppercase (A-Z=0-25), lowercase (a-z=26-51), digits (0-9=52-61), and both standard (+,/) and URL-safe (-,_) special chars (62,63). 0x0061AD70 16 secure_memset game_core Thin wrapper around memset. Used for secure memory zeroing of sensitive data like crypto keys and buffers. 0x0061AD80 119 CBCrypt__dtor security CBCrypt destructor. Destroys the BCrypt key handle (BCryptDestroyKey) and closes the algorithm provider (BCryptCloseAlgorithmProvider), then deallocates the internal key object buffer. 0x0061AE00 131 CBCrypt__dtor_full security CBCrypt full destructor. Destroys BCrypt key handle and algorithm provider, then deallocates both the key object buffer and an additional IV buffer (two STL_vector_dealloc calls). 0x0061AE90 45 CBCrypt__close_handles security Closes BCrypt handles: destroys key handle at this[1] via BCryptDestroyKey, then closes algorithm provider at this[0] via BCryptCloseAlgorithmProvider. Sets both to NULL after closing. 0x0061AEC0 45 CBCrypt__close_handles_0061aec0 security Identical to CBCrypt__close_handles at 0061ae90. Closes BCrypt key handle and algorithm provider. Duplicate function for a different CBCrypt instance or subclass. 0x0061AEF0 62 CBCrypt__decrypt_no_iv security BCrypt decryption without IV. Calls BCryptDecrypt with NULL IV and padding flags=0. Returns output size on success, 0xFFFFFFFF on failure. 0x0061AF30 128 CBCrypt__decrypt_with_iv security BCrypt decryption with optional IV from internal vector at this+0x14..0x18. Initializes a 16-byte zeroed local buffer for small outputs. Uses IV from internal storage if this+0x20 is nonzero. param_6 controls padding flags. Returns output size or 0xFFFFFFFF on error. 0x0061AFB0 97 CBCrypt__derive_key_pbkdf2 security Derives a key using PBKDF2-SHA256 via BCryptDeriveKeyPBKDF2. Opens HMAC-SHA256 algorithm provider (flag 8), derives key from password+salt with iteration count, then closes provider. Returns 1 on success, 0 on failure. 0x0061B020 62 CBCrypt__encrypt_no_iv security BCrypt encryption without IV. Calls BCryptEncrypt with NULL IV and padding flags=0. Returns output size on success, 0xFFFFFFFF on failure. 0x0061B060 128 CBCrypt__encrypt_with_iv security BCrypt encryption with optional IV from internal vector at this+0x14..0x18. Same structure as decrypt_with_iv but calls BCryptEncrypt. param_6 controls padding flags. Returns output size or 0xFFFFFFFF on error. 0x0061B0E0 189 CBCrypt__init_symmetric_key security Initializes a symmetric BCrypt key. Closes any existing handles, opens algorithm provider (from PTR_LAB_010edab4), queries ObjectLength property, resizes internal buffer, generates symmetric key via BCryptGenerateSymmetricKey. Key size must be 5-260 bytes. Returns 1 on success. 0x0061B1A0 544 CBCrypt__init_aes_with_chaining_mode security Initializes CBCrypt for AES encryption with chaining mode. Only accepts 16-byte IV (copies to this+0x14 vector). Opens AES provider, gets ObjectLength, generates symmetric key. On Windows 6.2+ (Win8+), sets chaining mode: 0=ECB, 1=CBC, 2=CFB. On older Windows with mode 1, falls back to software CBC. Returns 1 on success. 0x0061B3C0 70 CCrypto__process_with_16byte_buffer security Wrapper that calls process_func_0061b1a0 with a zeroed 16-byte local buffer. Used for block cipher operations. 0x0061B410 46 CCrypto__copy_16byte_result_to_vector security Copies a 16-byte (128-bit) result from param_2 into this->vector at offset 0x14. Returns 0 if size != 16, 1 on success. Resizes vector to 16 bytes first. 0x0061B440 299 CCrypto__set_bcrypt_chaining_mode security Sets BCrypt block cipher chaining mode. On Windows 8+ (version >= 6.2), uses BCryptSetProperty to set ChainingMode to ECB(0)/CBC(1)/CFB(2). On older OS with mode=1, sets flag at offset 0x20. Stores mode at this+0x20. 0x0061B570 107 SHA3__init_state security SHA-3 state initialization. Sets bit_size at offset 0x168, calculates rate = (100 - bit_size/8) * 2 at offset 0xD0. Zeroes the 25x2 = 50 dwords of Keccak state (1600-bit). Resets buffer position and counters. 0x0061B5E0 172 SHA3__hash_string security SHA-3 convenience: initializes state, absorbs data from an std::string (param_3), then finalizes into param_2. One-shot hash from string to hex result. 0x0061B690 162 SHA3__hash_raw_data security SHA-3 convenience: initializes state, absorbs raw data (param_3 ptr, param_4 length), then finalizes into param_2. One-shot hash from raw bytes to hex result. 0x0061B740 213 SHA3__absorb_data security SHA-3 absorb/update: feeds input data into the sponge state. Buffers partial blocks at this+0xD8, tracks position at this+0xD4. When buffer is full (equals rate at this+0xD0), calls keccak_f1600_permutation and updates 64-bit bit counter at this+0xC8. 0x0061B820 2268 SHA3__finalize_to_hex_string security SHA-3 finalize to hex string. Applies SHA-3 padding (0x06 byte, zero-fill, 0x80 at end), runs final Keccak permutation, then converts state words to lowercase hex string using "0123456789abcdef" lookup. Returns std::string with hex digest. Saves/restores state. 0x0061C100 447 SHA3__finalize_to_bytes security SHA-3 finalize to raw bytes. Applies SHA-3 padding (0x06, zeros, 0x80), runs final Keccak permutation, extracts raw hash bytes (bit_size/8 bytes) into output buffer. Returns 0 if output buffer too small, 1 on success. Saves/restores state. 0x0061C2C0 2170 keccak_f1600_permutation game_core 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. 0x0061CBD0 13 CCrypto__set_member_value security Simple setter: stores param_2 into *param_1. 13 bytes. 0x0061CBE0 317 mt19937_fill_random_bytes security Fills a byte buffer [param_1, param_1+param_2) with random bytes from MT19937. Seeds the generator with param_3 first, then generates one random byte per position. 0x0061CD20 241 mt19937_fisher_yates_shuffle_bytes_seeded security Fisher-Yates shuffle for a byte array [param_1, param_2). Seeds MT19937 with param_3 first. Uses rejection sampling to get unbiased random indices. Swaps elements in-place. 0x0061CE20 243 mt19937_fisher_yates_shuffle_uint32_seeded security Fisher-Yates shuffle for a uint32 array [param_1, param_2). Seeds MT19937 with param_3 first. Uses rejection sampling for unbiased random indices. Identical logic to byte version but operates on 4-byte elements. 0x0061CF20 207 mt19937_fisher_yates_shuffle_bytes_bitlimited security Fisher-Yates shuffle for byte array [param_1, param_2) using bit-limited RNG from param_3 config struct. Generates random values with bounded bit width, accumulates multi-word random numbers for larger ranges. 0x0061D000 211 mt19937_fisher_yates_shuffle_uint32_bitlimited security Fisher-Yates shuffle for uint32 array [param_1, param_2) using bit-limited RNG from param_3 config struct. Same algorithm as byte version but operates on 4-byte elements. 0x0061D0E0 142 mt19937_fisher_yates_shuffle_bytes security Fisher-Yates shuffle for byte array [param_1, param_2) using the global (unseeded) MT19937 generator. Uses rejection sampling for unbiased random indices. 0x0061D170 146 mt19937_fisher_yates_shuffle_uint32 security Fisher-Yates shuffle for uint32 array [param_1, param_2) using the global (unseeded) MT19937 generator. Uses rejection sampling for unbiased random indices. 0x0061D210 76 MT19937__seed security MT19937 seed/init. Sets state[0] = 0x270 (624 = N, triggers first twist), then fills 624 state words using the standard initialization recurrence: state[i] = 0x6C078965 * (state[i-1] ^ (state[i-1] >> 30)) + i. Sets tempering mask at offset 0x1384 to 0xFFFFFFFF. 0x0061D2C0 388 MT19937__generate_uint32 security MT19937 generate: produces one 32-bit random number. If index == 624 (N), performs the twist step. Applies standard MT19937 tempering: y ^= (y >> 11) & mask; y ^= (y << 7) & 0xFF3A58AD; y ^= (y << 15) & 0xFFFFDF8C; y ^= (y >> 18). Uses magic number 0x9908B0DF. Supports extended state (index > 0x4DF) for split twist optimization. 0x0061D450 73 CCrypto__get_hardcoded_key_8byte security Stores a hardcoded 8-byte key into param_2 (its value is left out of this catalog). Protected by Themida null stub. Used for crypto key initialization. 0x0061D5B0 1 noop_stub game_core Empty no-op stub, 1 byte (just ret). Likely a placeholder or stripped Themida callback. 0x0061D5D0 64 CCrypto__get_obfuscated_key_16byte_A security Copies a 16-byte obfuscated key from static data section (s_8_JBz_EcNb_> type containers. 0x0061DE90 159 STL_rbtree_destroy_nodes_0x38 stl Recursively destroys all nodes in a red-black tree with 0x38-byte nodes. Traverses left subtree first, then calls helper_0061f860 and STL_string_dtor for each node's string values, then frees the 0x38-byte node. Stops at sentinel nodes (is_nil flag at offset 0xD). 0x0061DF30 159 STL_rbtree_destroy_nodes_0x1c stl Recursively destroys all nodes in a red-black tree with 0x1c-byte nodes that contain nested inner trees. Traverses right subtree, then destroys inner tree at node+0x14 via STL_rbtree_destroy_nodes_0x38, then frees both inner sentinel (0x38) and outer node (0x1c). 0x0061DFD0 75 STL_rbtree_lower_bound_int_0x38 stl STL red-black tree lower_bound for int key, 0x38-byte nodes. Binary search from root: goes left if key <= node->key (offset 0x10), right otherwise. Returns iterator with {last_node, found_flag, bound_node}. 0x0061E020 75 STL_rbtree_lower_bound_int_0x1c stl STL red-black tree lower_bound for int key, 0x1c-byte nodes. Identical logic to 0x38 version but for the nested map's outer tree. Binary search from root, returns iterator. 0x0061E070 478 STL_vector_0xF8_resize_and_realloc stl Resizes/reallocates a std::vector of 0xF8-byte elements (likely CShopItem or similar). Grows capacity using 1.5x growth strategy, copy-constructs existing elements to new buffer via CSearchStoreItem__copy_construct_range_void, destroys old elements, and frees old buffer. 0x0061E280 121 STL_map_int_tree_ctor stl Constructor for STL map with int keys. Sets vtable pointer, initializes size to 0, allocates a 0x1c-byte sentinel node with self-referencing left/right/parent pointers and is_nil=1 flag. The sentinel node serves as the tree's header/end iterator. 0x0061E310 67 STL_rbtree_conditional_delete_0x38 stl Conditionally deletes a 0x38-byte red-black tree node if the pointer at param_1+4 is non-null. SEH-protected cleanup helper. 0x0061E360 67 STL_rbtree_conditional_delete_0x1c stl Conditionally deletes a 0x1c-byte red-black tree node if the pointer at param_1+4 is non-null. SEH-protected cleanup helper. 0x0061E3B0 76 STL_rbtree_clear_and_free_0x38 stl Clears a red-black tree with 0x38-byte nodes by recursively destroying all nodes via STL_rbtree_destroy_nodes_0x38, then frees the 0x38-byte sentinel/header node. 0x0061E410 76 STL_rbtree_clear_and_free_0x1c stl Clears a red-black tree with 0x1c-byte nodes (nested map) by recursively destroying all nodes via STL_rbtree_destroy_nodes_0x1c, then frees the 0x1c-byte sentinel/header node. 0x0061E470 139 STL_rbtree_node_cleanup_with_string_dtor stl Cleanup for a 0x38-byte tree node that contains string data. If node exists (param_1+4 != 0), calls helper_0061f860 and STL_string_dtor to destroy string fields, then frees the 0x38-byte node. SEH-protected. 0x0061E500 145 STL_rbtree_nested_cleanup stl Cleanup for a 0x1c-byte tree node with a nested inner tree at offset 0x14. Destroys the inner tree's nodes (0x38-byte), frees inner sentinel, then frees the 0x1c-byte outer node. SEH-protected. 0x0061E5A0 78 STL_rbtree_exception_cleanup_0x38 stl Exception/unwind cleanup for 0x38-byte tree node allocation. Frees the node at param_1+4 if non-null. Used during SEH unwinding when node construction throws. 0x0061E5F0 78 STL_rbtree_exception_cleanup_0x1c stl Exception/unwind cleanup for 0x1c-byte tree node allocation. Frees the node at param_1+4 if non-null. Used during SEH unwinding when node construction throws. 0x0061E640 87 STL_rbtree_clear_wrapper_0x38 stl Wrapper that clears a red-black tree with 0x38-byte nodes. Calls STL_rbtree_destroy_nodes_0x38 to recursively destroy all nodes, then frees the sentinel. SEH-protected with unwind cookie. 0x0061E6A0 87 STL_rbtree_clear_wrapper_0x1c stl Wrapper that clears a red-black tree with 0x1c-byte nodes. Calls STL_rbtree_destroy_nodes_0x1c to recursively destroy all nodes, then frees the sentinel. SEH-protected with unwind cookie. 0x0061E700 99 STL_rbtree_value_cleanup_with_comment stl Calls helper_0061f860 (likely a string/value assignment or processing function) followed by STL_string_dtor. Used as a value cleanup callback for tree node operations. SEH-protected. 0x0061E770 102 STL_rbtree_inner_tree_clear stl Clears the inner red-black tree (0x38-byte nodes) stored at offset param_1+4. Calls STL_rbtree_destroy_nodes_0x38 on the inner tree's root, then frees the 0x38-byte sentinel. SEH-protected. 0x0061E7E0 108 STL_map_int_tree_dtor stl Destructor for STL map with int keys and nested inner trees. Sets vtable to PTR_helper_0061eae0_010edbdc, destroys the inner tree (0x1c nodes) via STL_rbtree_destroy_nodes_0x1c, then frees the sentinel node. 0x0061E850 86 STL_rbtree_value_cleanup stl Calls helper_0061f860 (value processing) followed by STL_string_dtor. Similar to STL_rbtree_value_cleanup_with_comment but with a different state index (0 vs 1). SEH-protected cleanup. 0x0061E8B0 239 STL_map_int_emplace_0x38 stl Inserts or finds a node in a map with 0x38-byte nodes. Does lower_bound lookup, if key not found or is less than bound, allocates a new 0x38-byte node via STL_rbtree_node_ctor_int_key and calls Insert_node. Returns pointer to value at node+0x14. Max size check: 0x4924924. 0x0061E9A0 275 STL_map_int_emplace_0x1c_nested stl Inserts or finds a node in a nested map> with 0x1c-byte outer nodes. Does lower_bound lookup, if key not found, allocates a new 0x1c-byte node with key and initializes an inner tree (0x38-byte sentinel with self-referencing pointers). Returns pointer to value at node+0x14. Max size check: 0x9249249. 0x0061EAC0 30 STL_rbtree_scalar_deleting_dtor_simple stl Simple scalar deleting destructor. If bit 0 of param_2 is set, frees 4 bytes of memory at this. Returns this pointer. 0x0061EAE0 133 STL_map_int_tree_scalar_deleting_dtor stl Scalar deleting destructor for STL map with int keys. Sets vtable, destroys inner tree (0x1c nodes) via STL_rbtree_destroy_nodes_0x1c, frees sentinel. If bit 0 of param_2 is set, also frees this (0xC bytes). SEH-protected. 0x0061EB70 177 CSelectPackageItemMgr__set_item_fields enchant Sets item fields (class, level, price, type, refine, etc.) in a select package item array entry at the given index. Uses 0xF8-byte item structs. 0x0061EC30 807 CSelectPackageItemMgr__update_tab_data enchant Updates tab/category data in the select package manager. Manages the red-black tree node for the tab, assigns string name, and resizes the item vector (0xF8-byte items) to match the desired count. 0x0061EF60 140 CSelectPackageItemMgr__find_item_data_by_keys enchant Looks up an item in the select package tree using two keys. Returns a pointer to offset 0x2C within the found node, or sets a failure flag if not found. 0x0061EFF0 761 CSelectPackageItemMgr__load_lua_data enchant Creates a CLuaInstance, registers 'AddTab' and 'AddItem' as Lua global functions, executes 'Lua Files/SelectPackageItemList.lub', then calls the Lua 'LoadTable' function. Shows MessageBox on Lua error. 0x0061F2F0 313 CSelectPackageItemMgr__open_package_category enchant Opens a select package category UI. Looks up item by slot in linked list, parses string to int for category ID, finds or creates window type 0x2731, and populates it with items for that category. 0x0061F430 1 identity_return_ecx_0061f430 game_core Identity function that returns its input parameter unchanged 0x0061F440 517 STL_tree_insert_node_0061f440 stl STL std::_Tree_val::_Insert_node, inserts a node into a red-black tree and performs rebalancing rotations. VS2019 library function (multiple template instantiations: uint, string, PCTableEntry). 0x0061F650 517 STL_tree_insert_node_0061f650 stl STL std::_Tree_val::_Insert_node, inserts a node into a red-black tree and performs rebalancing rotations. VS2019 library function (duplicate instantiation at different address). 0x0061F860 168 CSelectPackageItemMgr__destroy_item_vector enchant Destroys and frees the item vector (0xF8-byte CShopItem entries). Calls destroy_range on all items, frees the backing memory, and zeroes the vector pointers. 0x0061F910 132 CSelectPackageItemMgr__fill_and_trim_items enchant Appends new initialized items to an array by calling clear_tree_and_free for each new slot (0xF8-byte stride), then destroys the trailing unused range. Returns new end pointer. 0x0061F9A0 170 CSelectPackageItemMgr__get_instance enchant Singleton getter for CSelectPackageItemMgr. Allocates a 0xC-byte object with vtable on first call, creates a 0x1C-byte red-black tree sentinel node. Stores instance at DAT_01389c1c. 0x0061FA50 830 CSelectPackageItemMgr__lua_AddItem enchant Lua callback for 'AddItem' in SelectPackageItemList. Validates 10 numeric/boolean args (slot, category, class, level, price, refine count, amount, identified flag, enchant, type), then sets item fields in the package data. 0x0061FD90 424 CSelectPackageItemMgr__lua_AddTab enchant Lua callback for 'AddTab' in SelectPackageItemList. Validates 4 args (2 numbers, 1 string, 1 number), converts the string from codepage, and calls update_tab_data to create/update a tab entry. 0x0061FF40 34 CEffect__show_entity_and_notify effect Shows an entity (sets death visibility to 1) and calls virtual notify method at vtable+0x80. Guard: skips if entity pointer is null. 0x0061FF80 513 CEffect__create_encrypted_effect_on_target effect Creates a visual effect on an entity target. Validates target via vtable call, decrypts an XOR-encrypted effect resource name from TLS storage, looks up the effect ID, and spawns it on the target's position (offset 0x110). 0x00620190 34 CEffect__get_msg_text_yellow_0x1228 effect Returns message string 0x1228 with yellow color (0xFFFF00) for effect display text. 0x006201C0 34 CEffect__get_msg_text_red_0x1229 effect Returns message string 0x1229 with red color (0xFF) for effect display text. 0x006201F0 34 CEffect__hide_entity_and_notify effect Hides an entity (sets death visibility to 2) and calls virtual notify method at vtable+0x80. Guard: skips if entity pointer is null. 0x00620240 42 CEffect__conditional_create_skill_effect effect Conditionally triggers a skill effect via create_skill_effect_wrapper_a when the entity parameter is non-zero. 0x00620270 513 CEffect__create_encrypted_effect_on_valid_target effect Validates target entity via CEffect__try_apply_to_target, then decrypts a TLS-cached XOR-encrypted effect resource name, looks up the effect ID by name, and creates the effect on the target entity. 0x00620480 34 CEffect__get_msg_text_yellow_0x1224 effect Returns message string 0x1224 with yellow color (0xFFFF00) for effect display text. 0x006204B0 34 CEffect__get_msg_text_red_0x1225 effect Returns message string 0x1225 with red color (0xFF) for effect display text. 0x00620500 42 CEffect__conditional_create_skill_effect_00620500 effect Conditionally triggers a skill effect via create_skill_effect_wrapper_a when the entity parameter is non-zero. 0x00620530 513 CEffect__create_encrypted_effect_on_valid_target_00620530 effect Validates target entity via CEffect__try_apply_to_target, then decrypts TLS-cached XOR-encrypted effect resource name (14 bytes), looks up effect ID, and creates it on the target. 0x00620740 34 CEffect__get_msg_text_yellow_0x1226 effect Returns message string 0x1226 with yellow color (0xFFFF00) for effect display text. 0x00620770 34 CEffect__get_msg_text_red_0x1227 effect Returns message string 0x1227 with red color (0xFF) for effect display text. 0x006207B0 513 CEffect__create_encrypted_effect_on_valid_target_006207b0 effect Validates target entity via CEffect__try_apply_to_target, then decrypts TLS-cached XOR-encrypted effect resource name (13 bytes), looks up effect ID, and creates it on the target. 0x006209D0 513 CEffect__create_encrypted_effect_if_entity_exists effect Creates an encrypted effect on an entity if the entity pointer (param_3) is non-null. Decrypts TLS-cached XOR-encrypted resource name (14 bytes), looks up effect ID, and creates it. 0x00620BE0 497 CEffect__create_encrypted_effect_if_entity_exists_00620be0 effect Creates an encrypted effect on an entity if the entity pointer is non-null. Decrypts TLS-cached XOR-encrypted resource name (7 bytes), looks up effect ID, and creates it. 0x00620DF0 150 CEffect__create_skill_effect_0x987_on_target effect Validates target entity via CEffect__try_apply_to_target, then creates skill effect ID 0x987 on the entity if target check passes and entity is non-null. 0x00621080 42 CEffect__conditional_create_skill_effect_00621080 effect Conditionally triggers a skill effect via create_skill_effect_wrapper_a when the entity parameter is non-zero. 0x006210B0 513 CEffect__create_encrypted_effect_on_valid_target_006210b0 effect Validates target entity via CEffect__try_apply_to_target, then decrypts TLS-cached XOR-encrypted effect resource name (14 bytes), looks up effect ID, and creates it on the target. 0x006212C0 34 CEffect__get_msg_text_yellow_0x122a effect Returns message string 0x122A with yellow color (0xFFFF00) for effect display text. 0x006212F0 34 CEffect__get_msg_text_red_0x122b effect Returns message string 0x122B with red color (0xFF) for effect display text. 0x00621340 42 CEffect__conditional_create_skill_effect_00621340 effect Conditionally triggers a skill effect via create_skill_effect_wrapper_a when the entity parameter is non-zero. 0x00621370 497 CEffect__create_encrypted_effect_on_valid_target_00621370 effect Validates target entity via CEffect__try_apply_to_target, then decrypts TLS-cached XOR-encrypted effect resource name (9 bytes), looks up effect ID, and creates it on the target. 0x00621570 34 CEffect__get_msg_text_yellow_0x122c effect Returns message string 0x122C with yellow color (0xFFFF00) for effect display text. 0x006215A0 34 CEffect__get_msg_text_red_0x122d effect Returns message string 0x122D with red color (0xFF) for effect display text. 0x006215E0 580 CEffect__create_encrypted_effect_with_angle effect Validates target, decrypts TLS-cached XOR-encrypted effect resource name (17 bytes), creates the effect, then calculates the screen angle between source and target to set the effect's rotation angle. 0x00621830 18 CEffect__load_encrypted_effect_resource_thunk effect Thunk that forwards to load_encrypted_effect_resource_A with both parameters passed through. 0x00621860 916 CEffect__create_dual_encrypted_effects_on_entity effect Creates two visual effects on an entity. Decrypts two different TLS-cached XOR-encrypted resource names (16 bytes and 23 bytes), looks up both effect IDs, and spawns both on the entity at offset 0x110. 0x00621C10 1502 CEffect__apply_visual_effect_with_direction effect Applies visual effect to target with distance/direction, loads encrypted resource strings 0x00622210 42 CEffect__conditional_trigger_effect effect Conditionally triggers effect via dispatch when param is non-zero 0x00622240 497 CEffect__load_encrypted_effect_resource effect Loads XOR-encrypted effect resource string and passes to nav map effect system 0x00622440 34 CEffect__init_effect_id_yellow_0x1234 effect Initializes effect entry with ID 0x1234 and yellow color 0xFFFF00 0x00622470 34 CEffect__init_effect_id_red_0x1235 effect Initializes effect entry with ID 0x1235 and red color 0xFF 0x006224A0 63 CEffect__iterate_apply_12_sub_effects effect Iterates 1-12 calling virtual method to create sub-effect instances 0x006224E0 1085 CEffect__resolve_effect_resource_by_index effect Resolves effect resource by index 1-12, builds formatted string or encrypted fallback 0x00622920 34 CEffect__init_effect_id_yellow_0x123a effect Initializes effect entry with ID 0x123A and yellow color 0xFFFF00 0x00622950 34 CEffect__init_effect_id_red_0x123b effect Initializes effect entry with ID 0x123B and red color 0xFF 0x00622980 408 CEffect__get_encrypted_resource_622980 effect Decrypts and loads effect resource string via nav map singleton 0x00622B20 50 CEffect__create_effect_with_dispatch effect Dispatches to handler then creates effect on entity 0x00622B60 47 CEffect__release_effect_with_dispatch effect Dispatches to handler then releases effect on entity 0x00622B90 63 CEffect__iterate_remove_6_sub_effects effect Iterates indices 1-6, calling virtual method at vtable+0x14 to get effect ID, then removes each sub-effect via CEffectManager__remove_effect_by_id_and_type 0x00622BD0 500 CEffect__resolve_effect_resource_6_variants effect Resolves effect resource by index 1-6 using formatted string and encrypted path 0x00622DD0 34 CEffect__init_effect_id_yellow_0x1250 effect Initializes effect entry with ID 0x1250 and yellow color 0xFFFF00 0x00622E00 34 CEffect__init_effect_id_red_0x1251 effect Initializes effect entry with ID 0x1251 and red color 0xFF 0x00622E30 409 CEffect__get_encrypted_resource_622e30 effect Decrypts and loads effect resource string via nav map singleton 0x00622FF0 42 CEffect__conditional_trigger_622ff0 effect Conditionally triggers effect via dispatch when param is non-zero 0x00623020 932 CEffect__load_two_encrypted_resources effect Loads two XOR-encrypted effect resource strings and attaches to target entity 0x006233D0 34 CEffect__init_effect_id_yellow_0x122e effect Initializes effect entry with message ID 0x122E and yellow color 0xFFFF00 0x00623400 34 CEffect__init_effect_id_red_0x122f effect Initializes effect entry with message ID 0x122F and red color 0xFF 0x00623450 42 CEffect__conditional_trigger_623450 effect Conditionally triggers effect via dispatch when param is non-zero 0x00623480 916 CEffect__load_two_encrypted_resources_623480 effect Loads two XOR-encrypted effect resource strings from TLS, decrypts each, looks up effect ID by name, and creates both effects on the target entity at offset 0x110 0x00623820 34 CEffect__init_effect_id_yellow_0x1232 effect Initializes effect entry with message ID 0x1232 and yellow color 0xFFFF00 0x00623850 34 CEffect__init_effect_id_red_0x1233 effect Initializes effect entry with message ID 0x1233 and red color 0xFF 0x006238A0 42 CEffect__conditional_trigger_6238a0 effect Conditionally triggers effect via dispatch when param is non-zero 0x006238D0 917 CEffect__load_two_encrypted_resources_6238d0 effect Loads two XOR-encrypted effect resource strings from TLS, decrypts each, looks up effect ID by name, and creates both effects on the target entity at offset 0x110 0x00623C70 34 CEffect__init_effect_id_yellow_0x1230 effect Initializes effect entry with message ID 0x1230 and yellow color 0xFFFF00 0x00623CA0 34 CEffect__init_effect_id_red_0x1231 effect Initializes effect entry with message ID 0x1231 and red color 0xFF 0x00623CF0 42 CEffect__conditional_trigger_623cf0 effect Conditionally triggers effect via dispatch when param is non-zero 0x00623D20 580 CEffect__load_encrypted_resource_with_direction effect Loads XOR-encrypted effect resource and creates effect with directional angle between source (param_3) and target (param_2) entities. Calculates screen angle via effect_calc_screen_angle_between_points and applies rotation to the created effect. 0x00623F70 497 CEffect__load_encrypted_resource_623f70 effect Loads XOR-encrypted effect resource string via nav map effect system 0x00624190 42 CEffect__conditional_trigger_624190 effect Conditionally triggers effect via dispatch when param is non-zero 0x006241C0 611 CEffect__create_fixed_effect_and_load_encrypted_resource effect First creates a hardcoded effect (ID 0x9a4) and positions it at param_3, then loads an XOR-encrypted resource name, looks up its effect ID, creates a second effect on param_3, and sets duration to 300 0x00624430 513 CEffect__load_encrypted_resource_624430 effect Loads XOR-encrypted effect resource string, 513-byte handler 0x00624640 917 CEffect__load_two_encrypted_resources_624640 effect Loads two XOR-encrypted effect resource strings from TLS, decrypts each, looks up effect ID by name, and creates both effects on the target entity at offset 0x110 0x006249E0 916 CEffect__load_two_encrypted_resources_6249e0 effect Loads two XOR-encrypted effect resource strings from TLS, decrypts each, looks up effect ID by name, and creates both effects on the target entity (param_3) at offset 0x110 0x00624D80 497 CEffect__load_encrypted_resource_624d80 effect Loads XOR-encrypted effect resource string, 497-byte handler 0x00624F80 497 CEffect__load_encrypted_resource_624f80 effect Loads XOR-encrypted effect resource string, 497-byte handler 0x00625190 513 CEffect__load_encrypted_resource_625190 effect Loads XOR-encrypted effect resource string, 513-byte handler 0x006253A0 34 CEffect__init_effect_id_yellow_0x1222 effect Initializes effect entry with message ID 0x1222 and yellow color 0xFFFF00 0x006253D0 34 CEffect__init_effect_id_red_0x1223 effect Initializes effect entry with message ID 0x1223 and red color 0xFF 0x00625400 153 charconv__build_format_path_string encoding Builds formatted path string by combining components for resource lookup 0x006254A0 84 charconv__fill_buffer_with_char encoding Fills output buffer with repeated character for padding 0x00625500 51 charconv__copy_range_to_buffer encoding Copies byte range to output buffer with bounds checking 0x00625540 182 charconv__apply_zero_padding encoding Applies zero-padding to formatted number output string 0x00625600 47 charconv__validate_precision_nonnegative encoding Validates that precision is non-negative. Throws "Negative precision" format_error if param_1 < 0 0x00625630 47 charconv__validate_width_positive encoding Validates that width is positive. Throws "width is not positive" format_error if param_1 <= 0 0x00625660 48 charconv__validate_width_nonzero encoding Validates that width is nonzero. Throws "width is not positive" format_error if param_1 == 0 0x006256A0 33 charconv__throw_precision_not_integer encoding Throws exception: precision is not an integer 0x006256D0 33 charconv__throw_width_not_integer encoding Throws format_error: "Width is not an integer" 0x00625700 33 charconv__throw_precision_not_integer_625700 encoding Throws format_error: "Precision is not an integer" 0x00625730 33 charconv__throw_width_not_integer_625730 encoding Throws format_error: "Width is not an integer" 0x00625760 33 charconv__throw_precision_not_integer_625760 encoding Throws format_error: "Precision is not an integer" 0x00625790 33 charconv__throw_width_not_integer_625790 encoding Throws format_error: "Width is not an integer" 0x006257C0 33 charconv__throw_precision_not_integer_6257c0 encoding Throws format_error: "Precision is not an integer" 0x006257F0 33 charconv__throw_width_not_integer_6257f0 encoding Throws format_error: "Width is not an integer" 0x00625820 33 charconv__throw_precision_not_integer_625820 encoding Throws format_error: "Precision is not an integer" 0x00625850 33 charconv__throw_width_not_integer_625850 encoding Throws format_error: "Width is not an integer" 0x00625880 33 charconv__throw_precision_not_integer_625880 encoding Throws format_error: "Precision is not an integer" 0x006258B0 33 charconv__throw_format_error_6258b0 encoding Throws format error exception for invalid specifier 0x006258E0 33 charconv__throw_format_error_6258e0 encoding Throws format error exception for invalid specifier 0x00625910 33 charconv__throw_format_error_625910 encoding Throws format error exception for invalid specifier 0x00625940 33 charconv__throw_format_error_625940 encoding Throws format error exception for invalid specifier 0x00625970 33 charconv__throw_format_error_625970 encoding Throws format error exception for invalid specifier 0x006259A0 55 charconv__validate_negative_precision encoding Validates precision is non-negative, throws if negative 0x006259E0 55 charconv__validate_positive_width_6259e0 encoding Validates width is positive, throws "width is not positive" if both params indicate non-positive width 0x00625A20 55 charconv__validate_positive_width_625a20 encoding Validates width is positive, throws "width is not positive" if both params are zero 0x00625A60 50 charconv__validate_positive_width encoding Validates width is positive, throws if not 0x00625AA0 41 charconv__count_leading_zeros_adaptive encoding Counts leading zeros using LZCOUNT if available, else manual loop 0x00625AD0 75 charconv__copy_range_to_growing_buffer encoding Copies byte range to dynamically growing buffer 0x00625B20 75 charconv__copy_range_to_growing_buffer_625b20 encoding Copies byte range to dynamically growing buffer 0x00625B70 70 charconv__copy_bytes_with_length encoding Copies bytes from source with specified length to growing buffer 0x00625BC0 25 charconv__count_leading_zeros_manual encoding Counts leading zeros using manual bit scan loop 0x00625BE0 10 charconv__count_leading_zeros_intrinsic encoding Returns LZCOUNT intrinsic result directly 0x00625BF0 237 charconv__float_to_chars_dispatch encoding Converts float to chars, handles sign/NaN/Inf, dispatches to format path 0x00625CE0 273 charconv__double_to_chars_dispatch encoding Converts double to chars, handles sign/NaN/Inf, dispatches to format path 0x00625E00 227 charconv__float_to_chars_with_format encoding Converts float to chars with format specifier sci/fixed/general/hex 0x00625F40 329 charconv__double_to_chars_with_format encoding Converts double to chars with format specifier sci/fixed/general/hex 0x006260A0 286 charconv__float_to_chars_shortest encoding Converts float to shortest decimal representation 0x006261C0 265 charconv__double_to_chars_shortest encoding Converts double to shortest decimal representation 0x006262D0 83 charconv__double_to_chars_fixed encoding Converts double to fixed-precision decimal, default 6 digits 0x00626330 80 charconv__double_to_chars_fixed_626330 encoding Converts double to fixed-format chars with specified precision 0x00626380 635 charconv__float_to_chars_general encoding Converts float to general format, auto-selects fixed or scientific 0x00626600 783 charconv__double_to_chars_scientific encoding Converts double to scientific notation with precision 0x00626910 490 charconv__float_to_chars_default encoding Converts float to default format decimal chars 0x00626B00 607 charconv__double_to_chars_default encoding Converts double to default format decimal chars 0x00626D60 351 charconv__float_to_chars_hex encoding Converts float to hexadecimal representation chars 0x00626EC0 447 charconv__double_to_chars_hex encoding Converts double to hexadecimal representation chars 0x00627080 220 charconv__float_to_chars_with_mode encoding Converts float to chars with mode: scientific, fixed, or shortest 0x00627160 49 charconv__double_to_chars_wrapper encoding Wrapper delegating to double-to-chars implementation 0x006271A0 67 charconv__float_to_chars_scientific encoding Converts float to scientific notation chars 0x006271F0 64 charconv__double_to_chars_scientific_6271f0 encoding Converts double to scientific notation chars 0x00627230 51 charconv__copy_to_output_small encoding Copies small formatted data to output buffer 0x00627270 89 charconv__format_char_with_spec encoding std::format char formatter - dispatches to integer formatting if type is not default/char, otherwise formats single char with alignment 0x006272D0 122 charconv__copy_string_to_growing_buffer encoding Copies a null-terminated string to a growing buffer, throws if string pointer is null 0x00627350 53 charconv__format_string_with_alignment encoding Computes string length then delegates to format_with_alignment for padded output 0x00627390 204 charconv__format_hex_integer_to_buffer encoding Converts an integer to hexadecimal digits, prefixes with "0x", writes to growing buffer 0x00627460 274 charconv__format_hex_integer_with_alignment encoding Formats an integer as hex with alignment (left/right/center) and fill character padding 0x00627580 13 charconv__store_value_to_ptr encoding Stores single value to pointer location 0x00627590 13 charconv__store_value_to_ptr_627590 encoding Stores single value to pointer location 0x006275A0 31 charconv__copy_range_to_output encoding Copies byte range to output via growing buffer 0x006275C0 326 charconv__format_with_alignment encoding Formats output with alignment and fill character 0x00627710 40 charconv__format_bool_as_string encoding Formats a bool value as "true" or "false" string, writes to growing buffer 0x00627740 427 charconv__format_bool_with_spec encoding std::format bool formatter - formats as "true"/"false" string (plain or locale-aware), or delegates to numeric formatting for integer-style specs 0x006278F0 177 charconv__format_signed_integer_to_buffer encoding Converts a signed integer to decimal string representation and writes to growing buffer 0x006279B0 48 charconv__format_float_dispatch encoding std::format float dispatcher - unpacks format spec fields and delegates to format_float_full_spec 0x006279E0 138 charconv__format_unsigned_integer_to_buffer encoding Converts an unsigned integer to decimal string representation and writes to growing buffer 0x00627A70 48 charconv__format_double_dispatch encoding std::format double dispatcher - unpacks format spec fields and delegates to format_double_full_spec 0x00627AA0 79 charconv__format_hex_to_growing_buffer encoding Converts value to hexadecimal string via format_hex_double_output and copies to growing buffer 0x00627AF0 2165 charconv__format_float_with_spec encoding Full float format: alignment, sign, precision, fill, locale grouping 0x006283F0 85 charconv__format_double_shortest_to_buf encoding Formats double in shortest representation to growing buffer 0x00628450 2178 charconv__format_double_with_spec encoding Full double format: alignment, sign, precision, fill, locale grouping 0x00628DB0 2178 charconv__format_long_double_with_spec encoding Full long double format: alignment, sign, precision, fill, locale grouping. Uses dsign/dclass for classification, dispatches through format output table. Same structure as float/double variants but for long double type. 0x00629700 51 charconv__format_double_full_spec_unpack encoding Wrapper that unpacks a parameter array (param_5[0..4]) and forwards to charconv__format_int64_full_spec. Used for indirect dispatch of double formatting with full format spec (both use same underlying integer output path after conversion). 0x00629740 76 charconv__format_uint64_decimal_to_buf encoding Converts uint64 to decimal string via charconv__uint64_to_chars_with_base(base=10), then copies result to growing buffer. Wrapper for decimal integer formatting. 0x00629790 51 charconv__format_long_double_full_spec_unpack encoding Wrapper that unpacks a parameter array (param_5[0..4]) and forwards to charconv__format_uint64_full_spec. Used for indirect dispatch of long double formatting with full format spec. 0x006297D0 377 charconv__validate_precision_arg encoding Validates and extracts the precision argument from a format spec. Switch on arg type (0-13): validates non-negative for integers, extracts from char, throws for non-integer types. Throws format_error if precision is negative or invalid type. 0x00629990 398 charconv__validate_width_arg encoding Validates and extracts the width argument from a format spec. Switch on arg type (0-13): validates positive for integers, extracts from char, throws for non-integer types. Throws format_error if width is non-positive or invalid type. 0x00629B60 178 CRT_init_codepage_949_info crt Lazy-initializes codepage 949 (Korean) info at DAT_01389c48 using InitOnceBeginInitialize. Calls get_codepage_info_with_lead_bytes(0x3b5=949). Returns pointer to static codepage info struct. 0x00629C20 143 charconv__get_int_base_prefix_8 encoding Returns the base prefix string for an integer format specifier (8-bit value). 'b'/'B'->0b/0B, 'x'/'X'->0x/0X, 'o'->"0" (if nonzero). Sets param_1 to {ptr, len} of prefix string. 0x00629D00 143 charconv__get_int_base_prefix_16 encoding Returns the base prefix string for an integer format specifier (16-bit value). 'b'/'B'->0b/0B, 'x'/'X'->0x/0X, 'o'->"0" (if nonzero). Sets param_1 to {ptr, len} of prefix string. 0x00629DE0 143 charconv__get_int_base_prefix_32 encoding Returns the base prefix string for an integer format specifier (32-bit value). 'b'/'B'->0b/0B, 'x'/'X'->0x/0X, 'o'->"0" (if nonzero). Sets param_1 to {ptr, len} of prefix string. 0x00629EC0 145 charconv__get_int_base_prefix_64 encoding Returns the base prefix string for an integer format specifier (64-bit value). 'b'/'B'->0b/0B, 'x'/'X'->0x/0X, 'o'->"0" (if nonzero). Sets param_1 to {ptr, len} of prefix string. 0x00629FB0 145 charconv__get_uint_base_prefix_64 encoding Returns the base prefix string for an unsigned integer format specifier (64-bit value). 'b'/'B'->0b/0B, 'x'/'X'->0x/0X, 'o'->"0" (if nonzero). Sets param_1 to {ptr, len} of prefix string. 0x0062A0A0 339 charconv__int8_to_chars_with_base encoding Converts signed 8-bit integer to character string with specified radix (base 2-32). Handles sign prefix. Returns {ptr, error_code} via ulonglong. Uses s_0123456789abcdefghijklmnopqrstuv for bases > 10. 0x0062A240 147 charconv__uint8_to_chars_with_base encoding Converts unsigned 8-bit integer to character string with specified radix (base 2-32). No sign handling. Returns {ptr, error_code} via ulonglong. Uses s_0123456789abcdefghijklmnopqrstuv for bases > 10. 0x0062A3C0 354 charconv__int32_to_chars_with_base encoding Converts signed 32-bit integer to character string with specified radix (base 2-32). Handles negative sign prefix. Returns {ptr, error_code} via ulonglong. 0x0062A570 152 charconv__uint32_to_chars_with_base encoding Converts unsigned 32-bit integer to character string with specified radix (base 2-32). No sign handling. Returns {ptr, error_code} via ulonglong. 0x0062A700 728 charconv__int64_to_chars_with_base encoding Converts signed 64-bit integer to character string with specified radix (base 2-32). Handles negative sign prefix. Uses __aulldvrm for 64-bit division. Optimized decimal path for values with nonzero high dword. 0x0062AA30 668 charconv__uint64_to_chars_with_base encoding Converts unsigned 64-bit integer to character string with specified radix (base 2-32). No sign handling. Uses __aulldvrm for 64-bit division. Optimized decimal path for values with nonzero high dword. 0x0062AD20 449 charconv__format_large_uint_decimal encoding Formats large unsigned integer to decimal string 0x0062AEF0 468 charconv__count_display_width_mb encoding Counts the display width (in columns) of a multibyte string. Handles UTF-8 (4-byte max), codepage 949, and 2-byte encodings. Uses CJK width tables (DAT_0110bae4, DAT_0110bb0c) for double-width character detection. param_3 is max count limit (-1 for unlimited). 0x0062B0E0 330 charconv__validate_presentation_type encoding Validates that a format presentation type character is compatible with the argument type category. Categories: 1=integer (BXbdox), 2=float (AEFGaefg), 3=string (s), 4=pointer (p), 5=char (c). Throws format_error on mismatch. Also checks '#' modifier requires integer/float. 0x0062B300 178 charconv__parse_arg_id encoding Parses an argument ID from a format string. Handles automatic indexing (empty before ':' or '}') and manual indexing (explicit number). Throws format_error if mixing automatic and manual, or on invalid format. 0x0062B3C0 365 charconv__parse_precision_arg_id encoding Parses a precision dynamic argument ID from format string (inside {}). Validates that precision is allowed for the argument type. Calls charconv__validate_precision_arg to store the resolved value. Throws on type mismatch or missing argument. 0x0062B530 286 charconv__parse_width_arg_id encoding Parses a width dynamic argument ID from format string (inside {}). Calls charconv__validate_width_arg to store the resolved width. Throws on invalid format or missing argument. 0x0062B650 654 charconv__parse_format_spec encoding Main format specification parser for std::format. Parses: fill+align (<>^), sign (+- ), '#' alternate form, '0' zero-padding, width (literal or {id}), '.precision' (literal or {id}), 'L' locale, and presentation type. Validates combinations and stores results in param_3 spec struct. 0x0062B8E0 477 charconv__vformat_to encoding Main vformat loop for std::format. Scans format string for literal text and replacement fields. Copies literal text (handling escaped {{ and }}) to output buffer. Dispatches replacement fields via charconv__format_int16_with_spec (which is actually the field handler). Uses CRT_init_codepage_949_info for multibyte scanning. 0x0062BAC0 120 charconv__parse_unsigned_int encoding Parses an unsigned decimal integer from format string characters. Reads consecutive digits, multiplies by 10 and adds. Throws format_error if result exceeds 0x7FFFFFFF (overflow). Returns pointer past last digit, stores value in *param_3. 0x0062BB40 474 charconv__handle_replacement_field encoding Handles a single replacement field in std::format. Parses arg_id, optional ':' format spec, dispatches to appropriate formatter. Handles special cases: '{{' literal brace, '}' auto-indexed arg, and full '{id:spec}' fields. Calls charconv__parse_format_spec for format spec parsing and charconv__parse_format_spec_full to produce final output. 0x0062BD20 223 charconv__write_aligned_float_dec encoding Applies alignment (left/right/center) with fill character to float decimal output. Writes leading fill, calls charconv__format_output_float_dec for the value, then trailing fill. 0x0062BE00 223 charconv__write_aligned_double_dec encoding Applies alignment (left/right/center) with fill character to double decimal output. Writes leading fill, calls charconv__format_output_double_dec for the value, then trailing fill. 0x0062BEE0 223 charconv__write_aligned_ldouble_dec encoding Applies alignment (left/right/center) with fill character to long double decimal output. Writes leading fill, calls charconv__format_output_ldouble_dec for the value, then trailing fill. 0x0062BFC0 223 charconv__write_aligned_float_sci encoding Applies alignment (left/right/center) with fill character to float scientific notation output. Writes leading fill, calls charconv__format_float_sci_output for the value, then trailing fill. 0x0062C0A0 223 charconv__write_aligned_float_fixed encoding Applies alignment (left/right/center) with fill character to float fixed-point output. Writes leading fill, calls charconv__format_float_fixed_output for the value, then trailing fill. 0x0062C180 223 charconv__write_aligned_float_general encoding Applies alignment (left/right/center) with fill character to float general format output. Writes leading fill, calls charconv__format_float_general_output for the value, then trailing fill. 0x0062C260 223 charconv__write_aligned_float_hex encoding Applies alignment (left/right/center) with fill character to float hexadecimal output. Writes leading fill, calls charconv__format_float_hex_output for the value, then trailing fill. 0x0062C340 223 charconv__write_aligned_double_sci encoding Applies alignment (left/right/center) with fill character to double scientific notation output. Writes leading fill, calls charconv__format_double_sci_output for the value, then trailing fill. 0x0062C420 223 charconv__write_aligned_double_fixed encoding Applies alignment (left/right/center) with fill character to double fixed-point output. Writes leading fill, calls charconv__format_double_fixed_output for the value, then trailing fill. 0x0062C500 224 charconv__write_aligned_double_general encoding Applies alignment (left/right/center) with fill character to double general format output. Writes leading fill, calls charconv__format_hex_integer_to_buffer for the value, then trailing fill. 0x0062C5E0 248 charconv__write_aligned_string_or_pointer encoding Applies alignment (left/right/center) with fill character to a pre-formatted string or pointer output. Copies the source range from param_6 between leading and trailing fill characters. 0x0062C6E0 1486 charconv__format_int8_full_spec encoding Full format spec handler for signed 8-bit integer. Handles char mode ('c'), base conversion (b/B/x/X/o/d), sign, uppercase, base prefix (#), locale grouping (L), alignment and fill. Part of std::format type dispatch. 0x0062CD50 1417 charconv__format_uint8_full_spec encoding Full format spec handler for unsigned 8-bit integer. Handles char mode ('c'), base conversion (b/B/x/X/o/d), sign, uppercase, base prefix (#), locale grouping (L), alignment and fill. Part of std::format type dispatch. 0x0062D330 1449 charconv__format_int16_full_spec encoding Full format spec handler for signed 16-bit integer. Handles char mode ('c' with range check -128..127), base conversion, sign, uppercase, base prefix, locale grouping, alignment and fill. Part of std::format type dispatch. 0x0062D930 1417 charconv__format_uint32_full_spec encoding Full format spec handler for unsigned 32-bit integer. Handles char mode ('c' with range check), base conversion, sign, uppercase, base prefix, locale grouping, alignment and fill. Part of std::format type dispatch. 0x0062DF10 1493 charconv__format_int64_full_spec encoding Full format spec handler for signed 64-bit integer. Handles char mode ('c' with range check), base conversion via charconv__int64_to_chars_with_base, sign, uppercase, base prefix, locale grouping, alignment and fill. Part of std::format type dispatch. 0x0062E540 1433 charconv__format_uint64_full_spec encoding Full format spec handler for unsigned 64-bit integer. Handles char mode ('c' with range check), base conversion via charconv__uint64_to_chars_with_base, sign, uppercase, base prefix, locale grouping, alignment and fill. Part of std::format type dispatch. 0x0062EB30 261 charconv__insert_locale_grouping encoding Inserts locale digit grouping separators into formatted number 0x0062EC40 159 charconv__write_sign_prefix encoding Writes sign prefix to output buffer. If negative (param_4 nonzero), writes '-'. If sign mode is 1 ('+'), writes '+'. If sign mode is 3 (' '), writes space. Mode 2 (default) writes nothing for positive values. 0x0062ECE0 130 charconv__write_decimal_digits_partial encoding Writes partial decimal digit string from integer value 0x0062ED70 190 charconv__write_decimal_digits_full encoding Writes full decimal digit string from integer to buffer 0x0062EE30 130 charconv__write_9_decimal_digits encoding Writes exactly 9 decimal digits from integer to buffer 0x0062EEC0 1155 charconv__double_to_fixed_decimal encoding Converts double to fixed-point decimal with precision 0x0062F350 555 charconv__double_to_decimal_with_fmt encoding Converts double to decimal respecting format mode 0x0062F580 216 charconv__normalize_decimal_output encoding Normalizes decimal output adjusting trailing zeros 0x0062F660 870 charconv__float_to_fixed_output encoding Converts float mantissa/exponent to fixed-point output 0x0062F9D0 1763 charconv__double_to_fixed_output encoding Converts double mantissa/exponent to fixed-point high-precision output 0x006300C0 166 charconv__init_locale_once encoding Thread-safe locale init using InitOnceBeginInitialize 0x00630170 45 charconv__fill_char_buffer encoding Fills buffer with a character byte via memset if count > 0. Returns pointer past filled region. 0x006301A0 45 charconv__memset_wrapper encoding Wrapper around memset for buffer initialization 0x006301D0 143 charconv__build_numbered_format_str encoding Builds numbered format string from template with index 0x00630260 8 charconv__identity_a encoding Identity function returning input unchanged 0x00630270 8 charconv__identity_b encoding Identity function returning input unchanged 0x00630280 8 charconv__identity_c encoding Identity function returning input unchanged 0x00630290 28 charconv__init_format_context encoding Initializes format context with default values 0x006302B0 302 charconv__parse_format_string encoding Parses format string extracting specifiers and literals 0x006303E0 25 charconv__accumulate_format_output_size encoding Accumulates output size for format operations. Adds fixed amounts (8, 0x20, or custom) to a running total based on format type code. 0x00630460 1039 charconv__parse_format_spec_full encoding Full format spec parser: width, precision, fill, align, type, sign 0x006308B0 747 charconv__execute_format_ops encoding Executes parsed format operations applying specs to args 0x00630BE0 28 charconv__init_format_arg_be0 encoding Initializes format argument entry with type info 0x00630D70 28 charconv__init_format_arg_d70 encoding Initializes format argument entry with type info 0x00630F10 126 charconv__format_error_ctor encoding Constructs a std::format_error exception object by copying from another exception. Sets vtable chain for format_error hierarchy. 0x00630F90 135 charconv__create_format_error_msg encoding Creates error message string for format validation failure 0x00631020 66 ~_Timer game_core Timer destructor. Cleans up timer resources. 0x00631070 72 charconv__complete_init_once encoding Completes an InitOnce initialization by calling InitOnceComplete. Aborts if completion fails. 0x006310C0 78 charconv__format_error_dtor encoding Destructor for std::format_error. Resets vtable to base exception and destroys the exception message string. 0x00631110 595 charconv__format_output_float_dec encoding Formats float as decimal with sign, grouping, padding, decimal point 0x00631370 595 charconv__format_output_double_dec encoding Formats double as decimal with sign, grouping, padding, decimal point 0x006315D0 595 charconv__format_output_ldouble_dec encoding Formats long double as decimal with sign, grouping, padding 0x00631830 350 charconv__format_float_sci_output encoding Formats float in scientific notation with alignment 0x00631990 343 charconv__format_float_fixed_output encoding Formats float in fixed-point with alignment 0x00631AF0 350 charconv__format_float_general_output encoding Formats float in general notation auto-selecting fixed/sci 0x00631C50 343 charconv__format_float_hex_output encoding Formats float in hexadecimal notation 0x00631DB0 364 charconv__format_double_sci_output encoding Formats double in scientific notation with alignment 0x00631F20 343 charconv__format_double_fixed_output encoding Formats double in fixed-point with alignment 0x00632080 6 _invalid_parameter_noinfo_noreturn crt CRT invalid parameter handler that terminates without additional info. Does not return. 0x00632090 103 charconv__format_error_scalar_deleting_dtor encoding Scalar deleting destructor for std::format_error. Destroys exception message, optionally frees memory if bit 0 of param is set. 0x00632580 423 CAntiCheat__lookup_encrypted_effect_id security Anti-cheat obfuscated function. Decrypts an XOR-encrypted string from TLS storage, then looks up the corresponding effect ID via CEffectDataMgr. Uses xor_decrypt_buffer with keys 0x4149D5DD/0x2D3B1577. 0x00632730 93 charconv__compute_locale_group_size encoding Computes size needed for locale digit grouping 0x00632790 307 charconv__find_char_in_mbstring encoding Searches for a byte value in a multibyte-encoded string, respecting the encoding (single-byte, MBCS codepage 2, or UTF-8 mode 4). Returns pointer to the found character or end of range. 0x006328D0 224 STL_string__insert_at_position stl Inserts a range of bytes into an std::string at a computed position. Handles overlap detection and falls back to grow_and_insert if capacity is insufficient. 0x006329C0 147 charconv__get_locale_info encoding Retrieves locale formatting info (decimal point, thousands sep) 0x00632A80 103 charconv__set_fill_character encoding Sets the fill character for a format spec. Copies up to 4 bytes (multibyte fill char) into the spec structure. Throws format_error if fill is too long (>4 bytes). 0x00632AF0 145 charconv__process_format_argument encoding Processes a single format argument: gets the format exponent output, then dispatches through execute_format_ops. Throws format_error if argument not found. 0x00632B90 60 charconv__set_format_sign_char encoding Sets the sign character for numeric format output. Validates that the format type is numeric (1-9). Throws format_error if used with non-numeric type. 0x00632BD0 300 charconv__compute_mbchar_length encoding Computes the byte length of a multibyte character at the given position. Handles single-byte (mode 1), MBCS codepage (mode 2), and UTF-8 (mode 4) encodings. Returns -1 for invalid sequences. 0x00632D10 203 ryu__write_mantissa_with_decimal encoding Writes mantissa digits with a decimal point after the first digit (e.g., 12345 with len=5 becomes "1.2345"). Used by Ryu for scientific notation output formatting. 0x00632DE0 3874 ryu__double_to_decimal encoding Ryu: converts double IEEE 754 to shortest decimal representation 0x00633D10 1560 ryu__format_decimal_output encoding Ryu: formats computed decimal digits with exponent to buffer 0x00634330 112 ryu__count_decimal_digits_u32 encoding Counts decimal digits in 32-bit unsigned integer 0x006343A0 87 ryu__divide_by_100 encoding Divides 64-bit value by 100 for digit extraction 0x00634400 76 ryu__compute_shift_amount encoding Computes shift amount for Ryu table lookup 0x00634450 1377 ryu__float_to_decimal encoding Ryu: converts float IEEE 754 to shortest decimal representation 0x006349C0 71 ryu__multiply_shift_positive encoding Ryu: multiply-shift for positive exponent table 0x00634A10 71 ryu__multiply_shift_negative encoding Ryu: multiply-shift for negative exponent table 0x00634A60 785 ryu__large_multiply_shift encoding Ryu: large integer multiply-and-shift for digit extraction 0x00634D80 51 ryu__is_trailing_zeros_32 encoding Ryu: checks if value has trailing zeros in base 5 0x00634DC0 61 ryu__trailing_zeros_check encoding Ryu: trailing zeros check for shortest representation 0x00634E00 191 ryu__compute_round_digit encoding Ryu: computes rounding digit for shortest representation 0x00634EC0 84 charconv__write_two_digits encoding Writes two decimal digit characters from value 0-99 0x00634F20 320 charconv__locale_facet_dispatch encoding MSVC charconv/locale: dispatches formatting through a table of typed entries (13 types). Each type copies a different size payload (1/4/8 bytes) into output struct. Returns type 0 (empty) if index out of bounds. 0x006350A0 302 charconv__byte_to_chars encoding MSVC charconv: converts a byte (uint8) to character string in arbitrary base (2-32). Uses optimized paths for powers of 2 (base 2/4/8/16/32) and division for other bases. Returns pointer past end on success, or error code 0x84 if buffer too small. 0x00635220 314 charconv__uint32_to_chars encoding MSVC charconv: converts a uint32 to character string in arbitrary base (2-32). Uses optimized paths for powers of 2 (base 2/4/8/16/32) and division for other bases. Returns pointer past end on success, or error code 0x84 if buffer too small. 0x006353B0 296 charconv__float_to_chars_fixed encoding MSVC charconv: converts float to chars in default/fixed format. Handles sign, inf, nan, nan(snan), nan(ind). For normal values, calls ryu__float_to_decimal then charconv__float_to_fixed_output. Zero outputs '0' directly. 0x006354E0 242 charconv__float_to_shortest_string encoding Converts float to shortest string via Ryu 0x006355E0 307 charconv__float_to_precision_string encoding Converts float to string with specified precision 0x00635730 84 charconv__write_digit_pair encoding Writes digit pair from lookup table 0x00635790 451 charconv__format_fixed_notation encoding Formats number in fixed-point with decimal point 0x00635990 219 CrashHandler__ctor game_core 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. 0x00635A80 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x00635AB0 342 CrashHandler__create_singleton game_core 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 game_core Destroys CrashHandler singleton. Calls scalar deleting destructor on the global instance and sets pointer to null. 0x00635C30 384 CrashHandler__dialog_proc game_core Dialog procedure for crash report dialog 0x00635DB0 79 CrashHandler__enum_modules_callback game_core Callback for EnumerateLoadedModules in crash report 0x00635E00 132 CrashHandler__invalid_parameter_handler game_core 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 game_core 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 game_core Generates full crash report: stack walk, registers, memory, dialog 0x006367B0 254 CReportPacketEvent__ctor game_core Creates network packet with crash report data and metadata 0x006368B0 106 CReportPacketEvent__dtor game_core CReportPacketEvent destructor. Resets vtable, frees the allocated packet data buffer, then sets base CUIEventBase vtable. 0x00636930 127 CReportPacketEvent__scalar_deleting_dtor game_core CReportPacketEvent scalar deleting destructor. Resets vtable, frees packet data buffer, sets base vtable, optionally frees 0x40 byte object. 0x006369B0 36 CUIEventBase__scalar_deleting_dtor game_core CUIEventBase scalar deleting destructor. Sets base vtable, optionally frees 0x30 byte object. 0x006369E0 375 CReportPacketEvent__send_chunk game_core Formats crash report and sends via network 0x00636B60 109 CTimedUIEvent__ctor game_core CTimedUIEvent constructor. Increments global event counter, initializes base CUIEventBase with event type 5, sets own vtable. 0x00636BD0 72 CTimedUIEvent__dtor game_core CTimedUIEvent destructor. Resets vtable to own class then to base CUIEventBase. 0x00636C20 97 CTimedUIEvent__scalar_deleting_dtor game_core CTimedUIEvent scalar deleting destructor. Resets vtables then optionally frees memory (0x30 bytes). 0x00636C90 143 CTimedUIEvent__on_tick game_core 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 game_core CEmotionItemTimerEvent constructor. Increments global event counter, initializes base CUIEventBase with event type 7, sets own vtable. 0x00636D90 72 CEmotionItemTimerEvent__dtor game_core CEmotionItemTimerEvent destructor. Resets vtable to own class then to base CUIEventBase. 0x00636DE0 97 CEmotionItemTimerEvent__scalar_deleting_dtor game_core CEmotionItemTimerEvent scalar deleting destructor. Resets vtables then optionally frees 0x30 byte object. 0x00636E50 37 CEmotionItemTimerEvent__on_tick game_core CEmotionItemTimerEvent tick handler. Updates base time, checks if expired item timers remain. If none left, marks event complete. 0x00636E80 109 CUIEventType6__ctor game_core CUIEventType6 constructor. Increments global event counter, initializes base CUIEventBase with event type 6, sets own vtable. 0x00636EF0 72 CUIEventType6__dtor game_core CUIEventType6 destructor. Resets vtable to own class then to base CUIEventBase. 0x00636F40 97 CUIEventType6__scalar_deleting_dtor game_core CUIEventType6 scalar deleting destructor. Resets vtables then optionally frees 0x30 byte object. 0x00636FB0 156 CUIEventType6__on_tick game_core 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 game_core Initializes timer state fields to zero, sets initial timeout to 500ms 0x006370D0 36 CMouseTracker__scalar_deleting_dtor game_core CMouseTracker scalar deleting destructor. Sets vtable, optionally frees 0x40 byte object. 0x00637100 218 CMouseTracker__update_state game_core 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 game_core CMouseTracker reset. Clears tracking state and pending flags to zero. 0x00637200 51 CMouseTracker__init_screen_center game_core 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 game_core CMouseTracker: sets both current and previous X position to the given value (resets delta to zero). 0x00637250 16 CRankingBoard__set_mouse_state ui_windows Sets mouse state fields on the ranking board UI element. Stores param_2 into both +0x24 and +0x8 fields. 0x00637260 196 CRankingBoard__handle_mouse_message ui_windows Handles Windows mouse messages for CRankingBoard: WM_MOUSEMOVE (0x200) updates cursor pos, WM_LBUTTONDOWN/UP (0x201/0x202) sets capture, WM_RBUTTONDOWN/UP (0x204/0x205) sets right-click flag, WM_MOUSEWHEEL (0x20a) stores wheel delta. 0x00637350 276 CRankingBoard__vector_insert_grow ui_windows STL vector insert with grow. Allocates new buffer via aligned_vector_alloc, copies existing elements, inserts new element at position, replaces old buffer via _Change_array. 0x00637490 103 CRankingBoard__tree_destroy_nodes ui_windows Recursively destroys red-black tree nodes. Walks right subtree recursively, then iteratively deletes left-linked nodes. Each node is 0x20 bytes. 0x00637500 75 CRankingBoard__tree_lower_bound ui_windows STL map/set lower_bound. Traverses red-black tree comparing key at node+0x10 against search key, returns iterator to first element not less than key. 0x00637550 199 CRankingBoard__ctor ui_windows CRankingBoard constructor. Calls CUIEventBase__init, sets vtable, initializes ranking data fields (+0x88-0x98), zeroes 0x58 bytes of ranking entries at +0x30, reserves vector to 16 elements. 0x00637620 67 CRankingBoard__tree_delete_node ui_windows Deletes a single red-black tree node (0x20 bytes) at field+4 if non-null. 0x00637670 111 CRankingBoard__tree_clear ui_windows Clears all nodes from a red-black tree. Iterates from the head node's right child, recursively destroying subtrees, then deletes the head node itself. 0x006376F0 78 CRankingBoard__tree_node_dtor_a ui_windows Deletes a tree node at field+4 if non-null. Used as part of tree cleanup for variant A. 0x00637740 78 CRankingBoard__tree_node_dtor_b ui_windows Deletes a tree node at field+4 if non-null. Used as part of tree cleanup for variant B. 0x00637790 65 CRankingBoard__tree_dtor_wrapper ui_windows Wrapper that calls tree_clear to destroy the ranking category map's red-black tree. 0x006377E0 103 CRankingBoard__dtor ui_windows CRankingBoard destructor. Sets vtable to CRankingBoard, resets vector end to start (clearing entries), frees vector memory, then resets vtable to CUIEventBase. 0x00637850 127 CRankingBoard__scalar_deleting_dtor ui_windows CRankingBoard scalar deleting destructor. Calls destructor (resets vtable, clears vector, frees memory), then optionally deletes the 0xA0-byte object if flag bit 0 is set. 0x006378D0 901 CRankingBoard__init_ranking_categories ui_windows Initializes ranking categories (Blacksmith, Alchemist, Taekwon, Killer) with color codes into a red-black tree map. Called once lazily from display_rankings. 0x00637C60 1009 CRankingBoard__check_and_display_rankings ui_windows Validates ranking data timing (10000 tick intervals), checks entries against stored list with string matching, dispatches chat error message 0xD99 on mismatch, calls process_validation on success 0x00638060 56 CRankingBoard__push_back_entry_id ui_windows Appends a ranking entry ID to the vector at this+0x94. If vector is full, calls grow/realloc 0x006380A0 102 CRankingBoard__set_ranking_data ui_windows Copies 0x58 bytes of ranking data from source buffer into this+0x30. Zeroes buffer and sets errno if source is null 0x00638110 1464 CRankingBoard__display_rankings ui_windows Displays ranking board in chat: initializes ranking categories on first call, formats each of 10 entries as "rank: name - points", shows MY_POINT at the end. Uses CUIWindowMgr to dispatch formatted chat messages 0x006386D0 90 STL_vector_Change_array stl STL vector::_Change_array. Frees old buffer (with alignment-aware deallocation for >= 0x1000), updates vector begin/end/capacity pointers to the new buffer. 0x00638730 517 STL_tree_Insert_node stl STL red-black tree _Insert_node. Inserts a new node into the tree, links parent/child pointers, then performs rotations and recoloring to maintain RB-tree invariants. Used by std::map/set::insert. 0x00638940 197 CRankingBoard__vector_reserve ui_windows Reserves capacity for the ranking entry vector. Allocates new aligned buffer, copies existing data, frees old buffer, updates vector pointers (begin, end, capacity). 0x00638A30 92 CRankingBoard__aligned_vector_alloc ui_windows Allocates aligned memory for a vector of uint-sized elements. For allocations >= 0x1000 bytes, adds 0x23 padding and aligns to 32-byte boundary, storing original pointer at offset -4 for deallocation. 0x00638A90 429 CSoundMgr__ctor sound CSoundMgr constructor. Sets vtable, initializes volume defaults (sound=100, 3d=100, bgm_max=100), fade params (rate=250, step=40), two STL filename strings, playback state. Calls CSoundMgr__initialize to set up Miles Sound System. Object size 0x41C bytes. 0x00638C40 269 CSoundMgr__dtor sound CSoundMgr destructor. Releases all 3D sample handles (0x30 entries), closes 3D listener and provider, closes streams, releases all 2D sample handles (0x30 entries), closes digital driver, shuts down AIL. Destroys filename strings. 0x00638D50 293 CSoundMgr__scalar_deleting_dtor sound CSoundMgr scalar deleting destructor. Calls full destructor (releases all AIL handles, closes streams, shuts down MSS), then optionally frees the 0x41C-byte object if flag bit 0 is set. 0x00638E80 98 CSoundMgr__start_fadein_thread sound Stops current fade thread (if any), closes handle, starts new background thread to fade volume IN (param=1). Uses _beginthreadex with volume_fade_thread as entry point. 0x00638EF0 98 CSoundMgr__start_fadeout_thread sound Stops current fade thread (if any), closes handle, starts new background thread to fade volume OUT (param=0). Uses _beginthreadex with volume_fade_thread as entry point. 0x00638F60 265 CSoundMgr__close_streams_and_reset sound Resets BGM filename string, closes both AIL streams (BGM at +0x1c, secondary at +0x410), and clears the playing flag at +0x14. 0x00639070 726 CSoundMgr__initialize sound Initializes Miles Sound System (MSS). Zeros sample handle arrays (+0x20, +0x340). Configures sample rate (22050/11025/8000), bit depth (16/8), channels (mono/stereo) based on global settings. Calls AIL_startup, AIL_open_digital_driver. For 3D mode, enumerates 3D providers, opens listener. Allocates sample/3D handles. 0x00639350 532 CSoundMgr__create_singleton sound Creates the CSoundMgr singleton. Allocates 0x41C bytes, sets vtable to CSoundMgr vftable, initializes volume defaults (sound=100, 3d=100, bgm_max=100, etc.), initializes two STL strings for filenames. Calls CSoundMgr__initialize. Stores result in global DAT_0138be7c. 0x00639570 308 CSoundMgr__play_bgm_with_fade sound Plays BGM with crossfade. Checks fade thread exit code, pauses current BGM stream, gets volume, starts fadeout, waits for completion, then reopens and starts new BGM stream at target volume with loop count 1. 0x006396B0 455 CSoundMgr__shutdown sound Shuts down Miles Sound System. Releases all 3D sample handles, closes 3D listener and provider, resets BGM filename, closes both streams, releases all 2D sample handles, closes digital driver, calls AIL_shutdown. 0x00639880 27 CSoundMgr__destroy_singleton sound Destroys the CSoundMgr singleton. Calls virtual destructor on the singleton at DAT_0138be7c and nulls the global pointer. 0x006398A0 104 CSoundMgr__stop_all_samples sound Stops all active sound samples. Iterates the 2D sample handle array (0x30 entries at +0x20) calling AIL_end_sample, then 3D sample array (0x30 entries at +0x340) calling AIL_end_3D_sample. 0x00639910 318 CSoundMgr__volume_fade_thread sound Background thread for volume fading. param=1: fades in (increments +0xe4 up to +0xe0 max), param=0: fades out (decrements to 0). Updates both stream volumes via AIL_set_stream_volume. Sleeps 10ms per step, max 1000 steps. Exits on WM_USER message. 0x00639A60 14 CSoundMgr__get_volume sound Returns current BGM volume from field +0xe4. Returns 0 if this pointer is null. 0x00639A70 71 CSoundMgr__is_any_stream_playing sound Checks if any audio stream is currently playing. Returns 1 if either the primary BGM stream (+0x1c) or secondary stream (+0x410) has AIL_stream_status == 2 (playing). Requires sound enabled and fade thread not running. 0x00639AC0 25 CSoundMgr__is_bgm_stream_done sound Returns 1 if the BGM stream (+0x1c) has AIL_stream_status == 8 (done/stopped). Used to detect when BGM has finished playing. 0x00639AF0 81 CSoundMgr__pause_bgm_stream sound Pauses or unpauses the BGM stream (+0x1c). param_2=1 to pause, 0 to unpause. Calls AIL_pause_stream and reads stream volume. On unpause, copies the stored filename from +0x11c into the active BGM filename string. 0x00639B50 476 CSoundMgr__play_3d_sound sound Plays a 3D positional sound. Finds free 3D sample handle, loads audio file, sets position/orientation/volume/distance, applies effects level based on reverb setting (+0x408). Falls back to 2D if no 3D provider. 0x00639D30 181 CSoundMgr__set_bgm_filename sound Sets the BGM filename string (+0x104/+0x11c). Also checks game option 7 (sound enabled) and configures 3D room type on the provider. Calls play_bgm afterward if sound option enabled. 0x00639DF0 272 CSoundMgr__play_2d_sound sound Plays a 2D sound effect. Calculates 3D distance from listener, attenuates volume by distance. Finds free sample handle from the 2D array (+0x20), inits sample, loads file, sets volume with attenuation, and starts playback. 0x00639F00 547 CSoundMgr__play_bgm sound Plays or changes BGM. If filename differs from current, fades out old BGM, updates filename string, opens new AIL stream, sets volume and loop count, starts playback. param_4 controls whether to crossfade or hard-switch. 0x0063A130 631 CSoundMgr__play_sound_from_resource sound Plays a sound from a resource file. Checks game option 0xB (sound effects enabled), loads resource via CResourceMgr, then plays as 2D or 3D sound depending on DAT_0173a924 mode setting. Uses the resource's audio data pointer at +0x110. 0x0063A3B0 135 CSoundMgr__resume_bgm_stream sound Resumes BGM stream after a fade or pause. Reopens secondary stream if filename changed (+0x415 flag), sets volume, loop count=1, and starts playback. Only acts if playing flag (+0x14) is set. 0x0063A440 42 CSoundMgr__set_sound_volume sound Sets the 2D sound effect volume at +0xe8. Clamps to range [0, 127]. 0x0063A470 42 CSoundMgr__set_3d_volume sound Sets the 3D sound volume at +0x134. Clamps to range [0, 127]. 0x0063A4A0 42 CSoundMgr__set_bgm_max_volume sound Sets the BGM maximum volume at +0xe0. Clamps to range [0, 127]. This is the ceiling for volume fading. 0x0063A4D0 134 CSoundMgr__set_3d_listener_orientation sound Sets the 3D audio listener orientation based on camera angle. Computes forward/up vectors using vec3_normalize and vec3_cross_product, then calls AIL_set_3D_orientation on the listener handle (+0x400). 0x0063A560 59 CSoundMgr__set_3d_room_type sound Sets the 3D audio room reverb type on the provider (+0x338). Checks if room type is supported (AIL_3D_room_type != -1), stores support flag at +0x404, then applies via AIL_set_3D_room_type. 0x0063A5A0 81 CSoundMgr__set_stream_volume sound Sets the BGM stream volume directly. Clamps value to [0, 127], stores at +0xe4, and applies to both BGM stream (+0x1c) and secondary stream (+0x410) via AIL_set_stream_volume. 0x0063A600 127 CUISoundEvent__ctor sound Constructor for CUISoundEvent. Inherits from CUIEventBase. Calls CUIEventBase__init with event parameters and a static counter. Sets vtable to CUISoundEvent vftable. Stores sound type and window pointer. 0x0063A680 72 CUISoundEvent__dtor sound Destructor for CUISoundEvent. Restores vtable chain: CUISoundEvent -> CUIEventBase. Non-virtual destructor. 0x0063A6D0 97 CUISoundEvent__scalar_deleting_dtor sound Scalar deleting destructor for CUISoundEvent. Calls dtor, then operator_delete(this, 0x38) if bit 0 of param is set. 0x0063A740 55 CUISoundEvent__on_event sound Event handler for CUISoundEvent. Looks up target window by type via CUIWindowMgr__find_window_by_type, verifies it matches stored window pointer (+0x30), then calls virtual method +0x94 on the window to play a sound effect. Clears the active flag (+0x24). 0x0063A780 106 CStoveSDK__on_callback_result game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Stove PCSDK callback dispatcher for shutdown. Copies StovePCShutdown and CallbackResult from stack, dispatches to CStoveSDK__on_shutdown_result for processing. 0x0063AAE0 215 CStoveSDK__ctor game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Cleanup wrapper for CStoveSDK. Calls destroy_callback_list to free all registered callback nodes, then performs final cleanup. 0x0063AF30 1392 CStoveSDK__on_shutdown_result game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x0063DA60 36 std__Facet_base__scalar_deleting_dtor stl Scalar deleting destructor for std::_Facet_base. Restores vtable pointer, frees object (4 bytes) if bit 0 of param is set. Library function from MSVC 2019. 0x0063DA90 232 CStoveSDK__scalar_deleting_dtor game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Steam API base callback runner stub. 0x0063E910 203 CStoveSDK__fetch_products_by_category game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Deletes a product node that contains an STL string member. Destroys the string via STL_string_dtor, then frees the 0x1C-byte node. 0x0063F2A0 78 CEntity__dtor_sprite_part_node game_entity Destructor for sprite part tree node - deletes node at offset+4 with size 0x4c 0x0063F2F0 78 CEntity__dtor_layer_priority_node game_entity Destructor for layer priority tree node - deletes node at offset+4 with size 0x1c 0x0063F340 223 CEntity__map_insert_or_get_sprite_part game_entity Inserts or retrieves sprite part entry in the entity's red-black tree map by key. Allocates 0x18 byte node if not found. Returns pointer to value at node+0x14. 0x0063F420 223 CEntity__map_insert_or_get_layer_priority game_entity Inserts or retrieves layer priority entry in the entity's red-black tree map by key. Allocates 0x18 byte node if not found. Returns pointer to value at node+0x14. 0x0063F500 1911 CEntity__render_all_sprite_layers game_entity Main entity sprite rendering function. Projects world coords to screen, computes scale, loads sprite resources, iterates through body parts (0-8) checking direction/state, renders each part with proper offsets, handles garment/robe overlays, and submits sprite quads to render queue. 0x0063FC90 946 CEntity__add_sprite_part_to_render_map game_entity Adds a sprite part (body/head/accessory) to the entity's render map. Calls Lua GetLayerPriority to determine draw order. Creates a node with 48-byte sprite data (transform matrix, texture coords) and inserts into the sprite part tree. 0x00640050 1206 CEntity__render_shadow_sprites game_entity Renders shadow sprite quads for entity body parts. Iterates through active parts, looks up skill tree detail entries, computes shadow vertices offset by a configurable amount, and submits shadow quads with multiple offset positions (7 directional offsets for shadow spread). 0x00640510 1457 CEntity__render_robe_sprite game_entity Renders the robe/garment sprite overlay for an entity. Builds robe sprite paths (type0 and type1), loads resources, gets animated frame data, computes per-frame light values, applies render effects, and handles top-layer Lua check for draw ordering. Checks entity job ID for special robe-exempt entities (FF6, FF7, 1010). 0x00640AD0 733 CEntity__render_garment_shadow_quads game_entity Renders 7 shadow quads for the garment/robe at various offset positions. Reads garment color from entity field 0x4f4, optionally applies color transformation based on GameSettings option 0xe5. Calls CSkillUnit__render_garment_sprite for each quad with offset increments. 0x00640DB0 53 CEntity__get_alternate_sprite_frame game_entity Gets an alternate sprite frame for action types 2/3/4/8. Compares resource counts between type 1 and the requested type; if the requested type has a multiple of type 1's count, returns the scaled frame. Otherwise returns {0, nullptr}. 0x00640E60 103 CEntity__compute_direction_with_flip_tracking game_entity Computes entity facing direction using calc_direction_from_delta and tracks flip state. Returns mapped direction (0/2/4) with special handling for direction 4->2 remap. Tracks whether entity crossed the flip boundary for smooth transitions. 0x00640ED0 586 CEntity__compute_sprite_part_offset game_entity Computes the pixel offset for a specific sprite part relative to the body. For type 1 (body), computes from base frame. For types 2/3/4/8, gets animated frame data, computes offset between alternate and current frames, applies riding sprite Y-offset correction, and scales by anchor point ratios. 0x00641130 375 CEntity__get_doram_item_offset game_entity Gets Doram-specific item position offset by calling Lua function 'OffsetItemPos_GetOffsetForDoram'. Returns {0,0} if the equip location is not a special equip type. Only applies to Doram race characters. 0x006412B0 218 CEntity__get_sprite_resource_by_type game_entity Gets the sprite resource pointer for a given part type (0=body, 1=head). For type 0, checks entity field 0x48 count and loads from string at +0x1c. For type 1, checks field 0x444 count and loads from +0x478. Returns resource base + 0x110 or resource + 0x510. 0x00641390 94 CEntity__get_render_layer_count game_entity Returns the number of render layers for a given sprite part type. Types 2/3/8 return 1. Type 4 returns 0x11 if entity field 0x458==0xb9 else 1. Default returns 0x101 with special cases for certain entity states (field 0x34 values 1 or 2) at high alpha. 0x00641420 106 CEntity__lookup_sprite_part_in_tree game_entity Looks up a sprite part by index in the entity's render tree map. Returns a result struct {found, sprite_ptr, action_ptr} where found=1 if the index exists in the tree, 0 otherwise. 0x00641490 177 CEntity__init_sprite_part_map game_entity Initializes the entity's sprite part map. Clears rendering state flags, then inserts entries for sprite part indices 2/3/4/8 and the main body into the map, storing resource pointers from entity fields 0x450/0x454/0x458/0x49c. Also calls format_to_iterator to populate head/accessory resources. 0x00641550 17 CEntity__has_valid_sprite_frame game_entity Returns true if the sprite part at param_2 has a valid frame index (field +8 != -1). 0x00641570 167 CEntity__should_skip_sprite_layer game_entity Determines if a sprite layer should be skipped for rendering. Returns 0 (skip) for types 5/6/7 when entity is in special state or action is in extended range with certain job IDs (FF6, FF7, 1010). Returns 0 for types 2/3/4 when entity field 0x6d is set. Returns 0 for type 8 when field 0x4d9 is clear. Returns 1 otherwise (render). 0x00641620 552 CEntity__get_sound_resource_name game_entity Gets the sound resource name for a specific entity part type. For type 6, looks up the skill name string, strips the .wav extension if present, and returns it. For all other types, returns an empty string. Used to associate sound effects with sprite animations. 0x00641850 1123 CEntity__render_single_sprite_layer game_entity Renders a single sprite layer for an entity body part. Iterates through detail entries, computes offsets (Doram offset + part offset + rotation), calls the virtual draw function, handles body/head-specific logic (aspect ratio for type 0, position tracking for type 1), applies render effects, status auras, and adds sprite parts to the render map. For type 0, also triggers robe sprite rendering. 0x00641CD0 258 CEntity__submit_all_sprite_quads game_entity Iterates through all sprite parts in the entity's render tree and submits each as a quad to the render queue. Applies aspect ratio scaling to vertex positions. Uses either rotated or non-rotated sprite quad submission depending on special mode state. Traverses the red-black tree in-order. 0x00641DE0 81 CEntity__add_shadow_quad_with_offset game_entity Adds a shadow quad by offsetting source vertices by (param_2, param_3) and inserting into the entity's sprite part render map with priority 5. 0x00641E40 738 CEntity__load_sprite_resources_for_parts game_entity Loads sprite and action resources for all 9 body parts (indices 0-8). For each part, gets head resource pointer and skill resource. Special handling for part 1 (head): checks riding flag to substitute alternative head sprite, checks equip flag to load special weapon sprites. Stores resource pointers in entity's sprite part tree. Also initializes layer priority map for parts 2-4, checking guild skill IDs. 0x00642130 42 CEntity__expand_bounding_box_for_body_head game_entity Expands the entity's bounding box to include the given vertices, but only for body (type 0) or head (type 1) parts, and only when entity field 0xa5 is set. 0x00642160 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00642370 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00642580 394 CWatermark__ctor security Constructor for CWatermark. Creates a bitmap font surface (0x136 x 0xf), sets transparent background, draws a hex string watermark text with black outline (5x5 grid offsets) and white center text. The watermark string is an MD5-like hash 'f1ba2ef88470b435d29c2af87cc553e4'. 0x00642710 31 CWatermark__dtor security Destructor for CWatermark. Sets vtable pointer, releases the bitmap surface if allocated by calling its Release(1) method. 0x00642730 56 CWatermark__scalar_deleting_dtor security Scalar deleting destructor for CWatermark. Calls dtor then optionally frees 0xc bytes of memory if bit 0 of param is set. 0x00642770 488 CWatermark__get_or_create_instance security Gets or creates the singleton CWatermark instance. If global DAT_0138bea8 is null, allocates a new CWatermark (0xc bytes), constructs it with the hash watermark text. Returns 1 if instance is valid (ready flag set), 0 otherwise. Destroys failed instances. 0x00642980 34 CWatermark__render_to_surface security Renders the watermark onto a target surface by calling the bitmap surface's draw method at vtable+0x30 with coordinates (param_2, param_3) and dimensions 0x136 x 0xf. Only renders if param_1 is non-null. 0x006429B0 171 STL_vector_clear_and_free stl Clears a std::vector by zeroing all elements, then freeing the backing buffer. Sets begin/end/capacity pointers to null. 0x00642A60 7 CCipher__set_vtable security Sets the vtable pointer for a CCipher base class instance. Points to PTR__scalar_deleting_destructor__0110cd90. 0x00642A70 93 CCipher__dtor security Destructor for CCipher base class. Sets vtable, clears two internal vectors via STL_vector_clear_and_free. 0x00642AD0 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x00642B00 114 CCipher__scalar_deleting_dtor_00642b00 security Scalar deleting destructor for CCipher. Sets vtable, clears two internal vectors, then optionally frees 0x20 bytes if bit 0 of param is set. 0x00642B80 250 CCipher__process_blocks security Processes multiple cipher blocks. Gets block size from vtable, then loops through data in block-sized chunks. Supports CBC mode (XOR with previous block before encryption), optional counter increment (flag bit 2), and address offset modes (flag bit 1). Returns remaining unprocessed bytes. 0x00642C80 71 CCipher__compute_padded_size security Computes the padded data size for block cipher operations. If encrypt mode (param_3!=0), adds one full block for padding. Otherwise rounds up to block boundary. Returns 0 if input size is 0 (encrypt mode returns block_size instead). 0x00642CD0 61 CCipher__round_up_to_block_size security Rounds up a data size to the nearest block boundary. If encrypt mode, adds extra block for padding. If decrypt mode, rounds up to nearest block size. Returns 0 for zero input in decrypt mode. 0x00642D30 36 CCipher__increment_counter security Increments the cipher counter (big-endian byte array). Iterates from the last byte backwards, incrementing by 1 with carry propagation. Stops when no carry or all bytes processed. 0x00642D60 186 CCipherCBC__decrypt security CBC mode decryption. Saves ciphertext to temp buffer, decrypts via block cipher, XORs with previous ciphertext (stored in IV buffer), then swaps IV and temp buffers. Handles multi-block data by calling process_blocks for remaining data beyond one block. 0x00642E20 135 CCipherCBC__encrypt security CBC mode encryption. XORs plaintext with IV (stored in state buffer), encrypts the result via block cipher, then copies ciphertext to IV buffer for next block chaining. Handles multi-block data beyond the first block. 0x00642EB0 186 CCipherCFB__decrypt security CFB mode decryption. Saves ciphertext, encrypts IV via block cipher to produce keystream, XORs ciphertext with keystream to recover plaintext, then swaps IV and saved ciphertext buffers. Handles multi-block data with process_blocks flag=2. 0x00642F70 132 CCipherCFB__encrypt security CFB mode encryption. Encrypts IV via block cipher to produce keystream, XORs plaintext with keystream, then copies ciphertext to IV buffer for next block chaining. Handles multi-block data with process_blocks flag=0. 0x00643000 225 CCipherCTR__process security CTR mode encryption/decryption (symmetric). Encrypts the counter to produce keystream, XORs data with keystream, then increments the counter. Processes in chunks up to (256 - counter_low_byte) blocks at a time to handle counter overflow. Uses process_blocks with flag=4 for counter increment mode. 0x006430F0 106 CCipherOFB__process security OFB mode encryption/decryption (symmetric). Encrypts the feedback register via block cipher, then XORs the result with data. Repeats for each block. Uses process_blocks internally for multi-block processing. 0x00643160 311 CCipher__process_with_padding security Processes data with PKCS7 padding support for block ciphers. Encrypts full blocks first, then handles the final partial block: on encrypt, pads with PKCS7 bytes and encrypts one more block. On decrypt, decrypts the last block and strips PKCS7 padding. Returns total output size or 0xFFFFFFFF on error. 0x006432A0 28 CCipher__set_iv security Sets the initialization vector (IV) for the cipher by copying param_2 data into the internal state buffer at offset +8. Copy size is determined by (field_0xc - field_0x8). 0x006432C0 109 CCipher__resize_state_buffer security Resizes the cipher's internal state buffer (at offset +0x20) to match the block size from the underlying block cipher. Calls apply_cipher_round first, then adjusts the vector size: truncates if too large, zero-fills if too small, or reallocates if capacity is insufficient. 0x00643330 109 CFileSystem__resize_cipher_output_buffer file Resizes the output buffer (offset 0x20) to match the size returned by the vtable method at offset 0x8. Calls resize_cipher_buffers first to resize the other two internal buffers. 0x006433A0 182 CFileSystem__resize_cipher_buffers file Resizes two internal cipher buffers (offsets 0x8 and 0x14) to match the size returned by the vtable method. Zero-fills any new space. Part of cipher state initialization. 0x00643460 21 CFileSystem__finalize_cipher file Finalizes cipher and clears key material 0x00643480 46 CFileSystem__setup_aes_context file Sets up AES context with key and IV 0x006434B0 331 CFileSystem__xor_buffers file XORs two source buffers (param_2, param_3) into destination (param_1) for param_4 bytes. Processes 16 bytes at a time in the fast path, with SIMD-unrolled 64-byte inner loop when buffers don't overlap. Used as a building block for CBC-mode XOR step. 0x00643600 260 CFileSystem__xor_buffer_inplace file XORs buffer param_2 into buffer param_1 in-place for param_3 bytes. Processes 16 bytes at a time, with SIMD-unrolled 64-byte inner loop for non-overlapping buffers. Used for CBC-mode decryption XOR step. 0x00643710 221 CFileSystem__bswap32_buffer file Byte-swaps an array of 32-bit integers from param_2 into param_1. Processes param_3/4 dwords. Uses SSSE3 pshufb for fast 16-byte batches, scalar fallback reverses bytes via shifts. Converts between big-endian and little-endian representation. 0x00643860 17 CFileSystem__is_encryption_enabled file Returns whether file encryption is enabled 0x00643CC0 17 CFileSystem__is_compression_enabled file CFileSystem: is compression enabled 0x00644130 29 CFileSystem__get_cipher_block_size file Returns cipher block size for current mode 0x00644230 34 CCipher__copy_buffer_if_size_matches security Copies buffer from source to destination only if both size parameters match. Returns 1 on success, 0 if sizes differ. Used to safely copy cipher key/IV material with size validation. 0x00644260 110 CCipher__apply_xor_round security Applies XOR round on data block with key schedule 0x006442D0 423 CCipher__derive_key_scheme_a security Derives encryption key using scheme A 0x00644480 423 CCipher__derive_key_scheme_b security Derives encryption key using scheme B 0x00644630 423 CCipher__derive_key_scheme_c security Derives encryption key using scheme C 0x006447E0 423 CCipher__derive_key_scheme_d security Derives encryption key using scheme D 0x00644990 423 CCipher__derive_key_scheme_e security Derives encryption key using scheme E 0x00644B40 410 CCipher__expand_schedule_a security Expands key schedule using algorithm A 0x00644CE0 410 CCipher__expand_schedule_b security Expands key schedule using algorithm B 0x00644E80 410 CCipher__expand_schedule_c security Expands key schedule using algorithm C 0x00645020 410 CCipher__expand_schedule_d security Expands key schedule using algorithm D 0x006451C0 102 STL_unordered_map__find_short_key_a stl Finds element by 2-byte key using FNV-1a hash A 0x00645230 102 STL_unordered_map__find_short_key_b stl Finds element by 2-byte key using FNV-1a hash B 0x006452A0 32 STL_fnv1a_hash_2byte_seeded stl Computes FNV-1a hash of 2 bytes using a caller-provided seed value. Used by unordered_map for bucket indexing with pre-hashed keys. 0x006452C0 147 STL_list_destroy_nodes_with_ref_release stl Walks linked list freeing 0x38-byte nodes; releases vtable ref at node+0xD before freeing each node 0x00645360 34 STL_fnv1a_hash_2byte stl Computes FNV-1a hash of 2 bytes using standard FNV offset basis 0x811c9dc5. Used by unordered_map for hashing short keys. 0x00645390 14 STL_is_not_null stl Returns true if the pointed-to value is non-zero. Simple boolean conversion / null check. 0x006453A0 363 STL_unordered_map__insert_or_find_a stl Insert or find in unordered_map variant A 0x00645510 363 STL_unordered_map__insert_or_find_b stl Insert or find in unordered_map variant B 0x00645680 363 STL_unordered_map__insert_or_find_c stl Insert or find in unordered_map variant C 0x006457F0 363 STL_unordered_map__insert_or_find_d stl Insert or find in unordered_map variant D 0x00645960 363 STL_unordered_map__insert_or_find_e stl Insert or find in unordered_map variant E 0x00645AD0 363 STL_unordered_map__insert_or_find_f stl Insert or find in unordered_map variant F 0x00645C40 363 STL_unordered_map__insert_or_find_g stl Insert or find in unordered_map variant G 0x00645DB0 363 STL_unordered_map__insert_or_find_h stl Insert or find in unordered_map variant H 0x00645F20 363 STL_unordered_map__insert_or_find_i stl Insert or find in unordered_map variant I 0x00646090 363 STL_unordered_map__insert_or_find_j stl Insert or find in unordered_map variant J 0x00646200 363 STL_unordered_map__insert_or_find_k stl Insert or find in unordered_map variant K 0x00646370 363 STL_unordered_map__insert_or_find_l stl Insert or find in unordered_map variant L 0x006464E0 363 STL_unordered_map__insert_or_find_m stl Insert or find in unordered_map variant M 0x00646650 612 STL_unordered_map__emplace_with_value stl Emplaces key-value pair with optional value ctor 0x006468C0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00646930 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006469A0 31 STL_fill_range_a stl STL template instantiation: STL fill range a 0x006469C0 31 STL_fill_range_b stl STL template instantiation: STL fill range b 0x006469E0 168 CCipherStream__ctor_a security CCipherStream constructor variant A. Initializes base via init_base, sets CCipherRound vtables, zeroes state fields, calls CFileSystem__set_cipher_key. 0x00646A90 168 CCipherStream__ctor_b security CCipherStream constructor variant B. Initializes via init_sub, sets CCipherRound vtables, zeroes state fields, calls CFileSystem__apply_cipher_round. 0x00646B40 149 CCipherStream__ctor_c security CCipherStream constructor variant C. Initializes base, sets mix_cols CCipherRound vtables with extra state field, calls CFileSystem__set_cipher_key. 0x00646BE0 149 CCipherStream__ctor_d security CCipherStream constructor variant D. Initializes sub, sets inv_mix_cols CCipherRound vtables with extra state field, calls CFileSystem__apply_cipher_round. 0x00646C80 261 CCipherStream__ctor_with_buffer security CCipherStream constructor with buffer initialization. Zeroes 8 dwords, sets mix_cols CCipherRound vtables, calls CFileSystem__set_cipher_iv. 0x00646D90 157 CCipherStream__ctor_e security CCipherStream constructor variant E. Initializes sub, sets inv_mix_cols CCipherRound vtables, calls CFileSystem__apply_cipher_round. 0x00646E30 168 CCipherStream__ctor_f security CCipherStream constructor variant F. Initializes base, sets add_rkey CCipherRound vtables, calls CFileSystem__set_cipher_key. 0x00646EE0 168 CCipherStream__ctor_g security CCipherStream constructor variant G. Initializes sub, sets add_rkey CCipherRound vtables, calls CFileSystem__apply_cipher_round. 0x00646F90 149 CCipherStream__ctor_h security CCipherStream constructor variant H. Initializes base, sets mix_cols CCipherRound vtables with extra state field, calls CFileSystem__set_cipher_key. 0x00647030 149 CCipherStream__ctor_i security CCipherStream constructor variant I. Initializes sub, sets mix_cols CCipherRound vtables with extra state field, calls CFileSystem__apply_cipher_round. 0x006470D0 233 CCipherStream__ctor_with_large_buffer security CCipherStream constructor with large buffer. Zeroes 8 dwords + memset 0xD0 bytes. Sets shift_rows CCipherRound vtables, calls CFileSystem__apply_cipher_round. 0x006471C0 175 CCipherStream__init_base security CCipherStream base initializer. Zeroes 8 dwords for stream buffer pointers, sets initial CCipherRound vtable. Shared by multiple ctor variants. 0x00647270 149 CCipherStream__init_sub security CCipherStream sub-object initializer. Zeroes 7 dwords for stream buffer, sets CCipherRound vtable. Used by ctor variants that build on a sub-stream. 0x00647397 1 bad_instruction_data_00647397 game_core Invalid/misaligned code fragment - likely data misidentified as a call target 0x006498D0 91 CCipherState__reset_a security Resets CCipherState variant A: zeros 12 bytes at offset+4, then calls CFileSystem__cleanup_resource. SEH-protected. 0x00649930 91 CCipherState__reset_b security Resets CCipherState variant B: zeros 208 (0xD0) bytes at offset+4, then calls CFileSystem__cleanup_resource. Handles large state buffer. 0x00649990 65 CCipherState__dtor_wrapper_a security Destructor wrapper for CCipherState variant A. SEH-wrapped call to CCipherKey__clear_and_free_key_a. 0x006499E0 91 CCipherState__reset_c security Resets CCipherState variant C: zeros 16 bytes at offset+4, then calls CFileSystem__cleanup_resource. SEH-protected. 0x00649A40 91 CCipherState__reset_d security Resets CCipherState variant D: zeros 12 bytes at offset+4, then calls CFileSystem__cleanup_resource. SEH-protected. 0x00649AA0 65 CCipherState__dtor_wrapper_b security Destructor wrapper for CCipherState variant B. SEH-wrapped call to CCipherKey__clear_and_free_key_b. 0x00649AF0 91 CCipherState__reset_e security Resets CCipherState variant E: zeros 16 bytes at offset+4, then calls CFileSystem__cleanup_resource. SEH-protected. 0x00649B50 146 CCipherCtx__dtor_with_vector_a security Destructor for CCipherCtx variant A. Clears key via clear_and_free_key_a, zeros and deallocates internal vector, calls resource cleanup. 0x00649BF0 95 CCipherCtx__dtor_key_only_a security Simple destructor for CCipherCtx variant A. Only clears key via clear_and_free_key_a and calls resource cleanup (no vector dealloc). 0x00649C50 163 CCipherCtx__destroy_a security Destroys CCipherCtx variant A: zeros 16 bytes at offset+0x30, calls resource cleanup, zeros and frees internal vector at offset+0x20. 0x00649D00 117 CCipherCtx__finalize_a security Finalizes CCipherCtx variant A: zeros 16 bytes at offset+0x24, calls resource cleanup. Lighter than full destroy (no vector dealloc). 0x00649D80 163 CCipherCtx__destroy_b security Destroys CCipherCtx variant B: zeros 12 bytes at offset+0x30, calls resource cleanup, zeros and frees internal vector at offset+0x20. 0x00649E30 117 CCipherCtx__finalize_b security Finalizes CCipherCtx variant B: zeros 12 bytes at offset+0x24, calls resource cleanup. Lighter than full destroy (no vector dealloc). 0x00649EB0 146 CCipherCtx__dtor_with_vector_b security Destructor for CCipherCtx variant B. Clears key via clear_and_free_key_b, zeros and deallocates internal vector, calls resource cleanup. 0x00649F50 95 CCipherCtx__dtor_key_only_b security Simple destructor for CCipherCtx variant B. Only clears key via clear_and_free_key_b and calls resource cleanup (no vector dealloc). 0x00649FB0 163 CCipherCtx__destroy_c security Destroys CCipherCtx variant C: zeros 16 bytes at offset+0x30, calls resource cleanup, zeros and frees internal vector at offset+0x20. 0x0064A060 117 CCipherCtx__finalize_c security Finalizes CCipherCtx variant C: zeros 16 bytes at offset+0x24, calls resource cleanup. Lighter than full destroy (no vector dealloc). 0x0064A0E0 117 CCipherCtx__finalize_d security Finalizes CCipherCtx variant D: zeros 208 (0xD0) bytes at offset+0x24, calls resource cleanup. Handles large cipher state buffers. 0x0064A1C0 102 CCipherUtil__zero_memory security Securely zeros a vector buffer (dword-aligned iteration), then frees the vector via STL_vector_free. Used for secure key/data cleanup. 0x0064A230 67 CCipherUtil__dtor_small_obj_a security Destructor for small (0x10-byte) cipher object. Checks if member at offset+4 is non-null, deletes it. 0x0064A280 67 CCipherUtil__dtor_large_obj_a security Destructor for large (0x38-byte) cipher object. Checks if member at offset+4 is non-null, deletes it. 0x0064A2D0 33 CCipherUtil__release_key_obj security Releases cipher key object at member[9] via virtual destructor (vtable+0x10), then zeroes the pointer. Prevents dangling key references. 0x0064A300 131 CCipherUtil__cleanup_round_key_list security Cleans up round key data: calls free_vector_buffer_a, then traverses and deletes a linked list of 0x10-byte nodes, frees the list container. 0x0064A390 102 CCipherUtil__cleanup_round_key_and_list security Cleans up round key data: calls free_vector_buffer_b, then destroys list nodes with ref release, frees the 0x38-byte container. 0x0064A400 125 CCipherUtil__free_vector_buffer_a security Frees an STL vector buffer. Handles large allocations (>0xFFF) by looking up the original allocation pointer at [-4]. Zeroes the 3 vector fields (begin/end/capacity). 0x0064A490 125 CCipherUtil__free_vector_buffer_b security Frees an STL vector buffer variant B. Same logic as free_vector_buffer_a: handles large allocs via [-4] lookup, zeroes 3 vector fields. 0x0064A520 78 CCipherUtil__dtor_small_obj_b security Destructor for small (0x10-byte) cipher object variant B. Checks if member at offset+4 is non-null, deletes it. 0x0064A570 147 CCipherUtil__destroy_key_schedule security Destroys cipher key schedule: releases virtual object at offset+0x34 via vtable+0x10, then deletes the 0x38-byte key schedule container. 0x0064A610 92 CCipherUtil__release_virtual_obj security Releases object at member[9] via virtual destructor (vtable+0x10), then zeroes the pointer. Used for cipher mode/key objects. 0x0064A670 103 CCipherUtil__destroy_linked_list security Destroys a singly-linked list of 0x10-byte nodes. Traverses from head, zeroes sentinel count, deletes each node, then deletes the list head. 0x0064A6E0 73 CCipherUtil__destroy_list_and_free security Destroys a list with reference-counted nodes via STL_list_destroy_nodes_with_ref_release, then frees the 0x38-byte container. 0x0064A730 130 CCipherKey__clear_and_free_key_a security Clears cipher key buffer by zeroing vector contents (dword-aligned), then frees the vector and calls resource cleanup. Secure key erasure. 0x0064A7C0 91 CCipherKey__zero_key_16_and_cleanup_a security Zeros 16 bytes of key data at offset+4, then calls resource cleanup. Part of cipher key destruction sequence. 0x0064A820 91 CCipherKey__zero_key_12_and_cleanup_a security Zeros 12 bytes of key data at offset+4, then calls resource cleanup. Part of cipher key destruction sequence. 0x0064A880 130 CCipherKey__clear_and_free_key_b security Clears cipher key buffer variant B by zeroing vector contents (dword-aligned), then frees the vector and calls resource cleanup. Secure key erasure. 0x0064A910 91 CCipherKey__zero_key_16_and_cleanup_b security Zeros 16 bytes of key data at offset+4, then calls resource cleanup. Part of cipher key destruction sequence (variant B). 0x0064A970 91 CCipherKey__zero_key_208_and_cleanup security Zeros 208 (0xD0) bytes of key data at offset+4, then calls resource cleanup. Handles large key schedule state. 0x0064A9D0 119 CCipherKey__clear_and_free_iv_a security Clears IV buffer by zeroing vector contents, then frees the vector and calls resource info cleanup. Secure IV erasure. 0x0064AA50 65 CCipherKey__dtor_wrapper_a security Destructor wrapper for CCipherKey variant A. SEH-wrapped call to CFileSystem__get_resource_info for cleanup. 0x0064AAA0 119 CCipherKey__clear_and_free_iv_b security Clears IV buffer variant B by zeroing vector contents, then frees the vector and calls resource info cleanup. Secure IV erasure. 0x0064AB20 91 CCipherKey__zero_iv_12_and_cleanup security Zeros 12 bytes of IV data at offset+4, then calls resource cleanup. Part of IV destruction sequence. 0x0064AB80 65 CCipherKey__dtor_wrapper_b security Destructor wrapper for CCipherKey variant B. SEH-wrapped call to CCipherKey__clear_and_free_key_a for cleanup. 0x0064ABD0 91 CCipherKey__clear_buffer_b security Zeros 16 bytes at this+4 then calls CFileSystem__cleanup_resource. Destructor/cleanup that wipes key material in buffer B. 0x0064AC30 91 CCipherKey__clear_buffer_c security Zeros 12 bytes at this+4 then calls CFileSystem__cleanup_resource. Destructor/cleanup that wipes key material in buffer C. 0x0064AC90 65 CCipherKey__cleanup_wrapper_c security SEH cleanup wrapper that calls CCipherKey__set_key_b. Exception handler destructor for cipher key state C. 0x0064ACE0 91 CCipherKey__clear_buffer_d security Zeros 16 bytes at this+4 then calls CFileSystem__cleanup_resource. Destructor/cleanup that wipes key material in buffer D. 0x0064AD40 65 CCipherKey__cleanup_wrapper_d security SEH cleanup wrapper that calls CFileSystem__get_resource_info. Exception handler destructor for cipher key state D. 0x0064ADA0 103 CCipherRound__clear_hash_map security Clears a hash map/linked list structure. If element count < threshold/8, erases range; otherwise destroys all nodes, resets head pointers, zeros count, and fills bucket array. 0x0064AE50 126 CCipherKey__scalar_deleting_dtor_12byte security MSVC scalar deleting destructor for 0x10 byte object. Zeros 12 bytes at this+4, calls CFileSystem__cleanup_resource, optionally frees this (16 bytes). 0x0064AED0 129 CCipherRound__scalar_deleting_dtor_d4byte security MSVC scalar deleting destructor for 0xD4 byte object. Zeros 0xD0 bytes at this+4, calls CFileSystem__cleanup_resource, optionally frees this (0xD4 bytes). 0x0064AF60 90 CCipherKey__scalar_deleting_dtor_10byte_a security MSVC scalar deleting destructor for 0x10 byte object. Calls CCipherKey__set_key_a for cleanup, optionally frees this (16 bytes). 0x0064AFC0 126 CCipherKey__scalar_deleting_dtor_14byte security MSVC scalar deleting destructor for 0x14 byte object. Zeros 16 bytes at this+4, calls CFileSystem__cleanup_resource, optionally frees this (20 bytes). 0x0064B040 126 CCipherKey__scalar_deleting_dtor_10byte_b security MSVC scalar deleting destructor for 0x10 byte object. Zeros 12 bytes at this+4, calls CCipher__set_vtable for cleanup, optionally frees this (16 bytes). 0x0064B0C0 90 CCipherKey__scalar_deleting_dtor_10byte_c security MSVC scalar deleting destructor for 0x10 byte object. Calls CCipherKey__set_key_b for cleanup, optionally frees this (16 bytes). 0x0064B120 126 CCipherKey__scalar_deleting_dtor_14byte_b security MSVC scalar deleting destructor for 0x14 byte object. Zeros 16 bytes at this+4, calls CCipher__set_vtable for cleanup, optionally frees this (20 bytes). 0x0064B1A0 35 CCipherCtx__scalar_deleting_dtor_3c security MSVC scalar deleting destructor for 0x3C byte object. Calls CCipherCtx__init_a for cleanup, optionally frees this (60 bytes). 0x0064B1D0 116 CCipher__scalar_deleting_dtor_30_a security MSVC scalar deleting destructor for 0x30 byte object. Calls CCipherKey__set_key_a then CCipher__dtor, optionally frees this (48 bytes). Two-phase cleanup with SEH. 0x0064B250 35 CCipherCtx__scalar_deleting_dtor_40 security MSVC scalar deleting destructor for 0x40 byte object. Calls CCipherCtx__destroy_a for cleanup, optionally frees this (64 bytes). 0x0064B280 138 CCipher__scalar_deleting_dtor_34_a security MSVC scalar deleting destructor for 0x34 byte object. Zeros 16 bytes at this+0x24, calls CCipher__set_vtable then CCipher__dtor, optionally frees this (52 bytes). 0x0064B310 35 CCipherCtx__scalar_deleting_dtor_3c_b security MSVC scalar deleting destructor for 0x3C byte object. Calls CCipherCtx__destroy_b for cleanup, optionally frees this (60 bytes). 0x0064B340 138 CCipher__scalar_deleting_dtor_30_b security MSVC scalar deleting destructor for 0x30 byte object. Zeros 12 bytes at this+0x24, calls CCipher__set_vtable then CCipher__dtor, optionally frees this (48 bytes). 0x0064B3D0 35 CCipherCtx__scalar_deleting_dtor_3c_c security MSVC scalar deleting destructor for 0x3C byte object. Calls CCipherCtx__init_b for cleanup, optionally frees this (60 bytes). 0x0064B400 116 CCipher__scalar_deleting_dtor_30_c security MSVC scalar deleting destructor for 0x30 byte object. Calls CCipherKey__set_key_b then CCipher__dtor, optionally frees this (48 bytes). Two-phase SEH cleanup. 0x0064B480 35 CCipherCtx__scalar_deleting_dtor_40_b security MSVC scalar deleting destructor for 0x40 byte object. Calls CCipherCtx__destroy_c for cleanup, optionally frees this (64 bytes). 0x0064B4B0 138 CCipher__scalar_deleting_dtor_34_b security MSVC scalar deleting destructor for 0x34 byte object. Zeros 16 bytes at this+0x24, calls CCipher__set_vtable then CCipher__dtor, optionally frees this (52 bytes). 0x0064B540 141 CCipher__scalar_deleting_dtor_f4 security MSVC scalar deleting destructor for 0xF4 byte object. Zeros 0xD0 bytes at this+0x24, calls CCipher__set_vtable then CCipher__dtor, optionally frees this (244 bytes). 0x0064B5D0 35 CCipherKey__scalar_deleting_dtor_10byte_d security MSVC scalar deleting destructor for 0x10 byte object. Calls CCipherKey__clear_and_free_key_a for cleanup, optionally frees this (16 bytes). 0x0064B600 126 CCipherKey__scalar_deleting_dtor_14byte_c security MSVC scalar deleting destructor for 0x14 byte object. Zeros 16 bytes at this+4, calls CCipher__set_vtable, optionally frees this (20 bytes). 0x0064B680 126 CCipherKey__scalar_deleting_dtor_10byte_e security MSVC scalar deleting destructor for 0x10 byte object. Zeros 12 bytes at this+4, calls CCipher__set_vtable, optionally frees this (16 bytes). 0x0064B700 35 CCipherKey__scalar_deleting_dtor_10byte_f security MSVC scalar deleting destructor for 0x10 byte object. Calls CCipherKey__clear_and_free_key_b for cleanup, optionally frees this (16 bytes). 0x0064B730 126 CCipherKey__scalar_deleting_dtor_14byte_d security MSVC scalar deleting destructor for 0x14 byte object. Zeros 16 bytes at this+4, calls CCipher__set_vtable, optionally frees this (20 bytes). 0x0064B7B0 129 CCipherRound__scalar_deleting_dtor_d4byte_b security MSVC scalar deleting destructor for 0xD4 byte object. Zeros 0xD0 bytes at this+4, calls CCipher__set_vtable, optionally frees this (0xD4 bytes). 0x0064B840 140 CCipher__scalar_deleting_dtor_2c_a security MSVC scalar deleting destructor for 0x2C byte object. Zeros vector buffer at this+0x20..this+0x24, calls STL_vector_dealloc_raw_buffer_v2 then CCipher__dtor, optionally frees this (44 bytes). 0x0064B8D0 90 CCipher__scalar_deleting_dtor_20 security MSVC scalar deleting destructor for 0x20 byte object. Calls CCipher__dtor for cleanup, optionally frees this (32 bytes). 0x0064B930 140 CCipher__scalar_deleting_dtor_2c_b security MSVC scalar deleting destructor for 0x2C byte object. Zeros vector buffer at this+0x20..this+0x24, calls STL_vector_dealloc_raw_buffer_v2 then CCipher__dtor, optionally frees this (44 bytes). 0x0064B9C0 126 CCipherKey__scalar_deleting_dtor_10byte_g security MSVC scalar deleting destructor for 0x10 byte object. Zeros 12 bytes at this+4, calls CCipher__set_vtable, optionally frees this (16 bytes). 0x0064BA40 90 CCipherKey__scalar_deleting_dtor_10byte_h security MSVC scalar deleting destructor for 0x10 byte object. Calls CCipherKey__clear_and_free_key_a for cleanup, optionally frees this (16 bytes). 0x0064BAA0 126 CCipherKey__scalar_deleting_dtor_14byte_e security MSVC scalar deleting destructor for 0x14 byte object. Zeros 16 bytes at this+4, calls CCipher__set_vtable, optionally frees this (20 bytes). 0x0064BB20 126 CCipherKey__scalar_deleting_dtor_10byte_i security MSVC scalar deleting destructor for 0x10 byte object. Zeros 12 bytes at this+4, calls CCipher__set_vtable, optionally frees this (16 bytes). 0x0064BBA0 90 CCipherKey__scalar_deleting_dtor_10byte_j security MSVC scalar deleting destructor for 0x10 byte object. Calls CCipherKey__clear_and_free_key_b for cleanup, optionally frees this (16 bytes). 0x0064BC00 126 CCipherKey__scalar_deleting_dtor_14byte_f security MSVC scalar deleting destructor for 0x14 byte object. Zeros 16 bytes at this+4, calls CCipher__set_vtable, optionally frees this (20 bytes). 0x0064BC80 90 CCipher__scalar_deleting_dtor_20_b security MSVC scalar deleting destructor for 0x20 byte object. Calls CCipher__dtor for cleanup, optionally frees this (32 bytes). 0x0064BCE0 573 CCipher__encrypt_mode_a security AES-CBC cipher operation variant A. Derives key via scheme_a, inits CBC with key at param_3[0..16] and IV at param_3[16..32], mode=1. Processes data in 0x400-byte chunks with 0x10-byte padding (0x410 total). XOR round applied before each CBC operation. Returns 1 on success, 0 on failure. 0x0064BF20 573 CCipher__encrypt_mode_b security AES-CBC cipher operation variant B. Derives key via scheme_b, inits CBC with key at param_3+0x10 and IV at param_3+0x20, mode=2. Processes data in 0x400-byte chunks with 0x10-byte padding (0x410 total). XOR round applied before each CBC operation. Returns 1 on success, 0 on failure. 0x0064C160 573 CCipher__encrypt_mode_c security AES-CBC cipher operation variant C. Derives key via scheme_e, inits CBC with key at param_3+0x2C and IV at param_3+0x1C, mode=1. Processes data in 0x400-byte chunks with 0x10-byte padding (0x410 total). XOR round applied before each CBC operation. Returns 1 on success, 0 on failure. 0x0064C3A0 626 CCipher__encrypt_mode_d security AES-CBC cipher operation variant D. Derives key via scheme_c, inits CBC with key at param_3[0..16] and IV at param_3[16..32], mode=1. Processes data in 0x800-byte chunks with 0x10-byte padding (0x810 total), first 0x400 bytes XOR'd then 0x400 CBC'd per chunk. Returns 1 on success, 0 on failure. 0x0064C620 626 CCipher__encrypt_mode_e security AES-CBC cipher operation variant E. Derives key via expand_schedule_a, inits CBC with key at param_3+0x10 and IV at param_3+0x20, mode=1. Processes data in 0x800-byte chunks with 0x10-byte padding (0x810 total), first 0x400 bytes XOR'd then 0x400 CBC'd per chunk. Returns 1 on success, 0 on failure. 0x0064C8A0 626 CCipher__encrypt_mode_f security AES-CBC cipher operation variant F. Derives key via scheme_e, inits CBC with key at param_3+0x2C and IV at param_3+0x1C, mode=2. Processes data in 0x800-byte chunks with 0x10-byte padding (0x810 total), first 0x400 bytes XOR'd then 0x400 CBC'd per chunk. Returns 1 on success, 0 on failure. 0x0064CB20 573 CCipher__encrypt_mode_g security AES-CBC cipher operation variant G. Derives key via scheme_d, inits CBC with key at param_3+0x10 and IV at param_3+0x20, mode=2. Processes data in 0x800-byte chunks with 0x10-byte padding (0x810 total). XOR round applied before each CBC operation. Returns 1 on success, 0 on failure. 0x0064CD60 626 CCipher__decrypt_mode_a security AES-CBC cipher operation variant H (decrypt_mode_a). Derives key via expand_schedule_c, inits CBC with key at param_3+0x14 and IV at param_3+0x24, mode=2. Processes data in 0xC00-byte chunks with 0x10-byte padding (0xC10 total), first 0x400 bytes XOR'd then 0x800 CBC'd per chunk. Returns 1 on success, 0 on failure. 0x0064CFE0 626 CCipher__decrypt_mode_b security AES-CBC cipher operation variant I (decrypt_mode_b). Derives key via scheme_a, inits CBC with key at param_3+0x2C and IV at param_3+0x18, mode=2. Processes data in 0x800-byte chunks with 0x10-byte padding (0x810 total), first 0x400 bytes XOR'd then 0x400 CBC'd per chunk. Returns 1 on success, 0 on failure. 0x0064D260 626 CCipher__decrypt_mode_c security AES-CBC cipher operation variant J (decrypt_mode_c). Derives key via expand_schedule_b, inits CBC with key at param_3+0x2C and IV at param_3+0x10, mode=1. Processes data in 0xC00-byte chunks with 0x10-byte padding (0xC10 total), first 0x800 bytes XOR'd then 0x400 CBC'd per chunk. Returns 1 on success, 0 on failure. 0x0064D4E0 626 CCipher__decrypt_mode_d security Decrypts block with extended key schedule D 0x0064D760 626 CCipher__decrypt_mode_e security Decrypts block with extended key schedule E 0x0064D9E0 626 CCipher__decrypt_mode_f security Decrypts block with extended key schedule F 0x0064DC60 1087 CCipher__encrypt_chunked_a security Encrypts stream in 0x400-byte chunks mode A 0x0064E0A0 1087 CCipher__encrypt_chunked_b security Encrypts stream in 0x400-byte chunks mode B 0x0064E4E0 1087 CCipher__encrypt_chunked_c security Encrypts stream in 0x400-byte chunks mode C 0x0064E920 1087 CCipher__encrypt_chunked_d security Encrypts stream in 0x400-byte chunks mode D 0x0064ED60 659 CCipher__encrypt_with_copy_a security Copies then encrypts data, verifies round-trip A 0x0064F000 743 CCipher__encrypt_xxh3_a security Encrypts using XXH3 hash for key derivation A 0x0064F2F0 620 CCipher__encrypt_stream_a security Encrypts file stream with chunked processing A 0x0064F560 656 CCipher__encrypt_stream_b security Encrypts file stream with chunked processing B 0x0064F7F0 743 CCipher__encrypt_xxh3_b security Encrypts using XXH3 hash for key derivation B 0x0064FAE0 734 CCipher__decrypt_stream_a security Decrypts file stream with chunked processing A 0x0064FDC0 734 CCipher__decrypt_stream_b security Decrypts file stream with chunked processing B 0x006500A0 683 CCipher__decrypt_verified_a security Decrypts file with integrity verification A 0x00650350 656 CCipher__encrypt_stream_c security Encrypts file stream with chunked processing C 0x006505E0 596 CCipher__encrypt_direct_a security Direct file encryption without chunking A 0x00650840 620 CCipher__encrypt_stream_d security Encrypts file stream with chunked processing D 0x00650AB0 794 CCipher__decrypt_xxh3_a security Decrypts using XXH3 hash key derivation A 0x00650DD0 683 CCipher__decrypt_verified_b security Decrypts file with integrity verification B 0x00651080 656 CCipher__encrypt_stream_e security Encrypts file stream with chunked processing E 0x00651310 680 CCipher__decrypt_verified_c security Decrypts file with integrity verification C 0x006515C0 794 CCipher__decrypt_xxh3_b security Decrypts using XXH3 hash key derivation B 0x006518E0 743 CCipher__encrypt_xxh3_c security Encrypts using XXH3 hash for key derivation C 0x00651BD0 596 CCipher__encrypt_direct_b security Direct file encryption without chunking B 0x00651E30 683 CCipher__decrypt_verified_d security Decrypts file with integrity verification D 0x006520E0 620 CCipher__encrypt_stream_f security Encrypts file stream with chunked processing F 0x00652350 620 CCipher__encrypt_stream_g security Encrypts file stream with chunked processing G 0x006525C0 743 CCipher__encrypt_xxh3_d security Encrypts using XXH3 hash for key derivation D 0x006528B0 794 CCipher__decrypt_xxh3_c security Decrypts using XXH3 hash key derivation C 0x00652BD0 734 CCipher__decrypt_stream_c security Decrypts file stream with chunked processing C 0x00652EB0 683 CCipher__decrypt_verified_e security Decrypts file with integrity verification E 0x00653160 1060 CCipher__encrypt_full_a security Full file encrypt: key derive, cipher setup, chunked A 0x00653590 1084 CCipher__encrypt_full_b security Full file encrypt: key derive, cipher setup, chunked B 0x006539D0 1060 CCipher__decrypt_full_a security Full file decrypt: key derive, cipher setup, chunked A 0x00653E00 1084 CCipher__decrypt_full_b security Full file decrypt: key derive, cipher setup, chunked B 0x00654240 28 stub_654240 game_core Themida VM protection stub: performs obfuscated no-op operations and returns 0x006543B0 68 STL_unordered_map__contains_key stl Checks if unordered_map contains key via FNV-1a 0x00654460 40 CCipher__get_mode_constant_5 security Returns cipher mode constant value 5 0x00654490 40 CCipher__get_mode_constant_6 security Returns cipher mode constant value 6 0x006544C0 40 CCipher__get_mode_constant_7 security Returns cipher mode constant value 7 0x006544F0 40 CCipher__get_mode_constant_8 security Returns cipher mode constant value 8 0x00654520 40 CCipher__get_mode_constant_9 security Returns cipher mode constant value 9 0x00654550 40 CCipher__get_mode_constant_10 security Returns cipher mode constant value 10 0x00654580 40 CCipher__get_mode_constant_0x201 security Returns cipher mode constant value 0x201 (513) 0x006545B0 40 CCipher__get_mode_constant_0x80 security Returns cipher mode constant value 0x80 (128) 0x006545E0 40 CCipher__get_mode_constant_11 security Returns cipher mode constant value 11 (0xb) 0x00654610 40 CCipher__get_mode_constant_12 security Returns cipher mode constant value 12 (0xc) 0x00654640 40 CCipher__get_mode_constant_13 security Returns cipher mode constant value 13 (0xd) 0x00654670 40 CCipher__get_mode_constant_14 security Returns cipher mode constant value 14 (0xe) 0x006546A0 40 CCipher__get_mode_constant_6546a0 security Returns cipher mode constant 0x006546D0 40 CCipher__get_mode_constant_6546d0 security Returns cipher mode constant 0x00654700 40 PacketType__get_type_id_0x101 network Virtual method returning packet type ID 0x101 0x00654730 40 PacketType__get_type_id_0x102 network Virtual method returning packet type ID 0x102 0x00654760 40 PacketType__get_type_id_0x103 network Virtual method returning packet type ID 0x103 0x00654790 40 PacketType__get_type_id_0x104 network Virtual method returning packet type ID 0x104 0x006547C0 40 PacketType__get_type_id_0x105 network Virtual method returning packet type ID 0x105 0x006547F0 40 PacketType__get_type_id_0x106 network Virtual method returning packet type ID 0x106 0x00654820 40 PacketType__get_type_id_0x107 network Virtual method returning packet type ID 0x107 0x00654850 40 PacketType__get_type_id_0x108 network Virtual method returning packet type ID 0x108 0x00654880 40 PacketType__get_type_id_0x109 network Virtual method returning packet type ID 0x109 0x006548B0 40 PacketType__get_type_id_0x10a network Virtual method returning packet type ID 0x10a 0x006548E0 40 PacketType__get_type_id_0x10b network Virtual method returning packet type ID 0x10b 0x00654910 40 PacketType__get_type_id_0x10c network Virtual method returning packet type ID 0x10c 0x00654940 40 PacketType__get_type_id_0x10d network Virtual method returning packet type ID 0x10d 0x00654970 40 PacketType__get_type_id_0x10e network Virtual method returning packet type ID 0x10e 0x006549A0 40 PacketType__get_type_id_0x10f network Virtual method returning packet type ID 0x10f 0x006549D0 40 PacketType__get_type_id_0x110 network Virtual method returning packet type ID 0x110 0x00654A00 40 PacketType__get_type_id_0x111 network Virtual method returning packet type ID 0x111 0x00654A30 40 PacketType__get_type_id_0x112 network Virtual method returning packet type ID 0x112 0x00654A60 40 PacketType__get_type_id_0x113 network Virtual method returning packet type ID 0x113 0x00654A90 40 PacketType__get_type_id_0x202 network Virtual method returning packet type ID 0x202 0x00654AC0 40 PacketType__get_type_id_0x203 network Virtual method returning packet type ID 0x203 0x00654AF0 40 PacketType__get_type_id_0x81 network Virtual method returning packet type ID 0x81 0x00654B20 40 PacketType__get_type_id_0x82 network Virtual method returning packet type ID 0x82 0x00654BB0 55 hash_murmur3_finalizer game_core Murmur3 hash finalization step with bit mixing 0x00654D10 235 STL_vector_assign_fill_00654d10 stl STL vector assign with fill, reallocates if count exceeds capacity 0x00654E00 235 STL_vector_assign_fill_00654e00 stl STL vector assign with fill, reallocates if count exceeds capacity 0x00654EF0 1 CProgressBar__check_progress_exceeds_threshold game_core Checks if progress bar ratio (current+1)/total exceeds threshold value at field[0] 0x00654F40 22 PacketCrypto__copy_init_vtable network Copy constructor initializing vtable ptr and member from source 0x00654F60 68 PacketCrypto__scalar_deleting_destructor_00654f60 network Scalar deleting destructor, frees 8 bytes if flag set 0x00654FB0 49 PacketCrypto__invoke_callback network Invokes function pointer with 8 args from param pairs 0x00654FF0 401 PacketHashMap__rehash_00654ff0 network Rehashes unordered_map buckets using FNV-1a on 2-byte keys 0x00655190 401 PacketHashMap__rehash_00655190 network Rehashes unordered_map buckets using FNV-1a on 2-byte keys 0x00655340 95 PacketHashMap__insert_node network Inserts node into hash bucket, updates first/last bucket pointers 0x006553A0 22 PacketCrypto__copy_init_vtable_006553a0 network Copy constructor initializing vtable ptr and member from source 0x006553C0 132 _Rehash_for_1 game_core Rehashes an unordered container to ensure at least one bucket is available for insertion. 0x00655450 1 swap_field4_and_clear game_core Swap field4 and clear 0x00655470 539 PacketHashMap__erase_range network Erases range of entries from hash map, frees 0x38-byte nodes 0x00655690 92 STL_allocate_aligned_array stl Allocates aligned memory for array of 16-byte elements 0x006556F0 527 PacketHashMap__clear_or_shrink network Clears hash map; if size < buckets/8, removes nodes; else full clear 0x00655900 299 PacketCrypto__init_encrypted_entry network Creates encrypted hash map entry with MT PRNG and XOR key schedule 0x00655A30 357 PacketCrypto__verify_auth_hash network Verifies authentication via XXH3-128 hash, supports 3 auth modes 0x00655BA0 189 PacketCrypto__generate_session_key network Generates random session key, stores encrypted with crypto state 0x00655C60 268 PacketCrypto__fill_random_bytes network Fills buffer with random bytes using PRNG bounded range 0x00655D70 102 PacketHashMap__find_by_short_key network Finds entry in hash map by short (2-byte) key using FNV-1a hash 0x00655DE0 56 _Fnv1a_append_value<> game_core Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime. 0x00655E20 58 fnv1a_hash_4bytes game_core FNV-1a hash of 4 bytes with basis 0x811c9dc5 and prime 0x1000193 0x00655E60 153 prng_modulo_0x7fffffab game_core Computes param * 0x9c4e modulo prime 0x7fffffab for LCG PRNG step 0x00655F00 615 PacketCrypto__init_key_schedule network Initializes 24-round LCG key schedule and masks, sets up crypto state 0x00656170 504 PacketHashMap__emplace_entry network Inserts or finds entry in packet hash map, rehashes if load factor exceeded 0x00656370 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006563E0 230 PacketCrypto__generate_random_range network PacketCrypto: generate random range 0x006564D0 182 PacketCrypto__create_shared_obj_A network Allocates 0x5c-byte shared object with vtable at 0110d4f0, refcount=1 0x00656590 182 PacketCrypto__create_shared_obj_B network Allocates 0x5c-byte shared object with vtable at 0110d504, refcount=1 0x00656650 182 PacketCrypto__create_shared_obj_C network Allocates 0x48-byte shared object with vtable at 0110d518, refcount=1 0x00656710 185 PacketCrypto__create_shared_obj_D network Allocates 0x10c-byte shared object with vtable at 0110d4dc, refcount=1 0x006567D0 196 PacketCrypto__create_shared_obj_E network Allocates 0x30-byte shared object with vtable at 0110d4c8, zeroed fields 0x006568A0 31 STL_fill_dword_range_006568a0 stl STL template instantiation: STL fill dword range 006568a0 0x006568C0 31 STL_fill_dword_range_006568c0 stl STL template instantiation: STL fill dword range 006568c0 0x006568E0 153 PacketCryptoA__constructor network Constructs crypto object A with base class init, sets vtable chain 0x00656980 153 PacketCryptoB__constructor network Constructs crypto object B with base class init, sets vtable chain 0x00656A20 157 PacketCryptoC__constructor network Constructs crypto object C with base class init, zeroed 12-byte data 0x00656AC0 153 PacketCryptoD__constructor network Constructs crypto object D with base class init, memset 0xd0 data bytes 0x00656B60 94 MersenneTwister__init_with_seed game_core MT19937 PRNG init: fills 624-element state array from seed 0x00656BC0 175 PacketCryptoBase__constructor network Base class constructor: sets vtable and zeroes 11 member fields 0x00656C70 1 stub_nop_00656c70 game_core Empty stub function, no operation 0x00656CE7 1 CPacketSession__ctor_init_buffers game_core 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 game_core CPacketSession: dtor cleanup 0x00656DF0 135 PacketCryptoE__init_fields network Initializes 8 zero fields plus enabled flag (field[8]=1) 0x00656E80 91 PacketCryptoD__destructor_clear_0xd0 network Destructor: zeroes 0xd0-byte data at offset 4, calls base dtor 0x00656EE0 91 PacketCryptoBase__destructor_clear_0x20_00656ee0 network Destructor: zeroes 0x20 bytes at offset 4, calls base dtor 0x00656F40 91 PacketCryptoBase__destructor_clear_0x20_00656f40 network Destructor: zeroes 0x20 bytes at offset 4, calls base dtor 0x00657000 67 PacketHashMap__free_sentinel_node network Frees 0x50-byte sentinel node if allocated 0x00657050 131 PacketHashMap__destroy_all_nodes_0x50 network Destroys hash map: frees bucket vector then all 0x50-byte nodes 0x006570E0 131 PacketHashMap__destroy_all_nodes_0xc network Destroys hash map: frees bucket vector then all 0xc-byte nodes 0x00657170 125 STL_vector_deallocate_00657170 stl Deallocates vector buffer with aligned free, resets pointers to null 0x00657200 125 STL_vector_deallocate_00657200 stl Deallocates vector buffer with aligned free, resets pointers to null 0x00657290 78 PacketHashMap__free_sentinel_node_00657290 network Frees 0x50-byte sentinel node if allocated 0x00657330 103 PacketHashMap__destroy_node_list_0x50 network Walks linked list freeing each 0x50-byte node including sentinel 0x006573A0 103 PacketHashMap__destroy_node_list_0xc network Walks linked list freeing each 0xc-byte node including sentinel 0x00657530 65 PacketHashMap__destructor_wrapper network Destructor wrapper: delegates to destroy_all_nodes_0x50 0x00657580 91 PacketCryptoBase__destructor_clear_0x20_00657580 network Destructor: zeroes 0x20 bytes at offset 4, calls base dtor 0x006575E0 91 PacketCryptoBase__destructor_clear_0x20_006575e0 network Destructor: zeroes 0x20 bytes at offset 4, calls base dtor 0x00657640 1 stub_nop_00657640 game_core Empty stub function, no operation 0x006577B0 91 PacketCryptoBase__destructor_clear_0x20_006577b0 network Destructor: zeroes 0x20 bytes at offset 4, calls base dtor 0x00657840 346 PacketCrypto__encrypt_payload_xor network Encrypts packet payload with MT PRNG-derived XOR key, 6 bytes per round 0x006579A0 172 shared_ptr__move_assign game_core Move-assigns shared_ptr, decrements old refcount, deletes if zero 0x00657A50 339 SubtractWithCarry__generate_bounded game_core SubtractWithCarry: generate bounded 0x00657BB0 115 SubtractWithCarry__generate_next_value game_core 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 game_core Computes *param * 0x9c4e mod 0x7fffffab in-place for LCG step 0x00657CD0 129 PacketCryptoD__scalar_deleting_destructor network Scalar deleting destructor: zeroes 0xd0 data, frees 0xd4 bytes if flagged 0x00657D60 126 PacketCryptoBase__scalar_deleting_destructor_0x24 network Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged 0x00657DE0 126 PacketCryptoBase__scalar_deleting_destructor_0x24_00657de0 network Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged 0x00657E60 184 PacketCryptoA__scalar_deleting_destructor network Scalar deleting destructor: clears vector+0x20 data, frees 0x50 bytes 0x00657F20 184 PacketCryptoB__scalar_deleting_destructor network Scalar deleting destructor: clears vector+0x20 data, frees 0x50 bytes 0x00657FE0 184 PacketCryptoC__scalar_deleting_destructor network Scalar deleting destructor: clears vector+0xc data, frees 0x3c bytes 0x006580A0 187 PacketCryptoE__scalar_deleting_destructor network Scalar deleting destructor: clears vector+0xd0 data, frees 0x100 bytes 0x00658160 36 PacketCryptoSharedA__vptr_deleting_destructor network Sets vtable to 0110d4f0 and frees 0x5c bytes if flagged 0x00658190 36 PacketCryptoSharedB__vptr_deleting_destructor network Sets vtable to 0110d504 and frees 0x5c bytes if flagged 0x006581C0 36 PacketCryptoSharedC__vptr_deleting_destructor network Sets vtable to 0110d518 and frees 0x48 bytes if flagged 0x006581F0 39 PacketCryptoSharedD__vptr_deleting_destructor network Sets vtable to 0110d4dc and frees 0x10c bytes if flagged 0x00658220 36 PacketCryptoSharedE__vptr_deleting_destructor network Sets vtable to 0110d4c8 and frees 0x30 bytes if flagged 0x00658250 126 PacketCryptoBase__scalar_deleting_destructor_0x24_00658250 network Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged 0x006582D0 126 PacketCryptoBase__scalar_deleting_destructor_0x24_006582d0 network Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged 0x00658350 126 PacketCryptoBase__scalar_deleting_destructor_0x24_00658350 network Scalar deleting destructor: zeroes 0x20 data, frees 0x24 bytes if flagged 0x006583D0 618 PacketCrypto__decrypt_and_verify network Decrypts packet using XOR key from hash map, verifies via external call 0x00658B90 719 PacketCrypto__parse_encrypted_header network Parses encrypted packet header, validates via XXH3/XXH32, supports 4 modes 0x00658E90 263 PacketCrypto__decrypt_payload_xor network Decrypts packet payload using XOR with key schedule, 6 bytes per round 0x00658FC0 49 PacketCrypto__get_version_info network Returns 8-byte version info from encrypted header if version < 2 0x00659000 67 PacketCrypto__init_global_state network Initializes global packet crypto state via external thunk call 0x00659B60 57 PacketCrypto__init_thunk_00659b60 network SEH wrapper calling external thunk at 027a9e96 0x00659FC0 320 STL_vector_assign_or_fill_00659fc0 stl STL vector assign: fills existing or reallocates and fills with value 0x0065A110 235 STL_vector_assign_fill_0065a110 stl STL vector assign with fill, reallocates if count exceeds capacity 0x0065A2A0 401 PacketHashMap__rehash_0065a2a0 network Rehashes unordered_map buckets using FNV-1a on 2-byte keys 0x0065A440 265 MersenneTwister__generate_32bit game_core Generates full 32-bit random value by collecting bits from PRNG 0x0065A550 527 PacketHashMap__clear_or_shrink_0065a550 network Clears hash map; if size < buckets/8, removes 0x50 nodes; else full clear 0x0065A760 442 PacketCrypto__invert_key_schedule network Generates inverse key schedule for decryption from encryption keys 0x0065A920 220 PacketCrypto__expand_key_16to52 network Expands 16-byte key into 52-entry subkey array via bit rotation 0x0065AA00 104 idea_cipher_modular_inverse game_core Computes multiplicative inverse mod 65537 for IDEA cipher 0x0065AA70 17 PacketCrypto__thunk_0065aa70 network PacketCrypto: thunk 0065aa70 0x0065ACF0 57 PacketCrypto__seh_wrapper_0065acf0 network SEH wrapper calling external thunk at 021c43f1 0x0065AFC0 17 PacketCrypto__thunk_0065afc0 network PacketCrypto: thunk 0065afc0 0x0065B100 15 PacketCrypto__thunk_0065b100 network Simple thunk calling external packed function at 01adbb26 0x0065B1B0 17 PacketCrypto__thunk_0065b1b0 network PacketCrypto: thunk 0065b1b0 0x0065B2E0 15 PacketCrypto__thunk_0065b2e0 network Simple thunk calling external packed function 0x0065B380 63 PacketCrypto__seh_wrapper_0065b380 network PacketCrypto: seh wrapper 0065b380 0x0065B540 63 PacketCrypto__seh_wrapper_0065b540 network SEH wrapper calling external packed function 0x0065B700 103 STL_vector_resize_zeroed stl STL vector resize: truncates if smaller, zero-fills new elements if larger, reallocates if exceeds capacity 0x0065B770 17 PacketCrypto__thunk_0065b770 network PacketCrypto: thunk 0065b770 0x0065B860 15 PacketCrypto__thunk_0065b860 network Simple thunk calling external packed function 0x0065B940 17 PacketCrypto__thunk_0065b940 network PacketCrypto: thunk 0065b940 0x0065BA30 15 PacketCrypto__thunk_0065ba30 network Simple thunk calling external packed function 0x0065BB10 29 PacketCrypto__copy_helper_0065bb10 network PacketCrypto: copy helper 0065bb10 0x0065BBD0 29 PacketCrypto__copy_helper_0065bbd0 network Memory copy or small helper function 0x0065BC90 17 PacketCrypto__thunk_0065bc90 network PacketCrypto: thunk 0065bc90 0x0065C030 17 CPacketStream__thunk_0065c030 network Simple thunk calling external packed function 0x0065C230 17 CPacketStream__thunk_0065c230 network CPacketStream: thunk 0065c230 0x0065C440 16 CPacketStream__ctor_base network CPacketStream base constructor: sets vtable pointer and initializes first member to 0 0x0065C450 7 CPacketStream__set_vtable network Sets CPacketStream vtable pointer (used during construction/destruction transitions) 0x0065C460 36 CPacketStream__scalar_deleting_dtor network CPacketStream scalar deleting destructor: resets vtable, optionally frees 8-byte object 0x0065C490 34 STL_uninitialized_copy_0065c490 stl STL uninitialized_copy: memcpy from [param_1, param_2) range into param_3 destination 0x0065C4C0 34 STL_uninitialized_copy_0065c4c0 stl STL uninitialized_copy: memcpy from [param_1, param_2) range into param_3 destination 0x0065C4F0 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x0065C520 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x0065C550 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x0065C570 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x0065C590 34 STL_uninitialized_copy_0065c590 stl STL uninitialized_copy: memcpy from [param_1, param_2) range into param_3 destination 0x0065C5C0 34 STL_uninitialized_copy_0065c5c0 stl STL uninitialized_copy: memcpy from [param_1, param_2) range into param_3 destination 0x0065C5F0 194 CPacketStream__ctor network CPacketStream constructor: sets vtable, initializes two linked-list structures with sentinel nodes (allocates 8 bytes each) 0x0065C6C0 201 CPacketStream__destroy_node_list_16 network Destroys a CPacketStream node list: frees all nodes (0x10 bytes each), frees backing array, frees sentinel node 0x0065C790 201 CPacketStream__destroy_node_list_12 network Destroys a CPacketStream node list: frees all nodes (0xC bytes each), frees backing array, frees sentinel node 0x0065C860 93 CPacketStream__dtor network CPacketStream destructor: sets vtable, then destroys both internal node lists (12-byte and 16-byte variants) 0x0065C8C0 114 CPacketStream__scalar_deleting_dtor_full network CPacketStream scalar deleting destructor: sets vtable, destroys both node lists, optionally frees 0x2C-byte object 0x0065C940 87 CResourceCache__expire_old_entries file Removes expired entries from the timed deque. Entries older than 60 seconds (60000ms via timeGetTime) are popped from the front. Decrements count and advances front index. 0x0065C9A0 225 CResourceCache__deque_find_and_pop file Searches the pair-deque for a matching (key1, key2) entry using a secondary lookup table. If found, pops from front via deque_pop_front and returns the pair. If not found, returns (0,0). 0x0065CA90 252 CResourceCache__deque_push_back file Searches the pair-deque for an existing (param_2, param_3) entry. If not found, grows the buffer if needed and appends the new pair at the back. Allocates 0x10 byte blocks for storage. 0x0065CB90 415 CResourceCache__process_and_register_sky_texture file Combines expire_old_entries + deque_find_and_pop. If a matching entry is found, calls CSkyDataProviderB__register_sky_texture with the pair values, timestamps it via timeGetTime, and pushes to the timed deque (with 12-byte entries: pair + timestamp). 0x0065CD30 417 CResourceCache__deque_grow_buffer_8byte file Grows the circular deque buffer for 8-byte elements (pairs). Doubles capacity, allocates new aligned buffer, copies existing data preserving circular layout, frees old buffer. Throws _Xlength_error if overflow. 0x0065CEE0 400 CResourceCache__deque_grow_buffer_12byte file Grows the circular deque buffer for 12-byte elements (pair + timestamp). Same doubling/copy/free logic as the 8-byte variant. Used by the timed entry deque. Throws _Xlength_error if overflow. 0x0065D080 10 STL_deque_xlength_error stl Throws std::_Xlength_error("deque too long") for the 8-byte element deque. 0x0065D090 10 STL_deque_xlength_error_0065d090 stl Throws std::_Xlength_error("deque too long") for the 12-byte element deque. 0x0065D0A0 18 CResourceCache__deque_pop_front file Pops the front element from the deque. Decrements count at offset+0x10. If count becomes 0, resets front index to 0. Otherwise advances front index at offset+0xc. 0x0065D0C0 32 std__ostream_write_string stl Writes an std::string to an ostream. Extracts buffer pointer and length from the SSO string, then delegates to std__ostream_insert_buffer. 0x0065D0E0 449 std__ostream_insert_cstr stl std::ostream operator<< for C strings (null-terminated). Computes strlen, applies padding/fill as needed, then writes via sputn. Sets failbit on error. Uses ostream sentry for thread safety. 0x0065D2D0 140 STL_string_concat_two stl Concatenates two std::strings into a new string. Checks combined length doesn't exceed 0x7FFFFFFF. Extracts raw buffers from both SSO strings and calls STL_string_init_from_two_buffers to construct the result. 0x0065D360 131 STL_rbtree_destroy_nodes_recursive stl Recursively destroys all nodes in an rbtree (std::set/map). Walks left children iteratively, calling itself recursively on right children. Frees each 0x1c byte node. Used by CResourceCache's uint set. 0x0065D3F0 75 _Find_lower_bound<> stl MSVC STL _Tree::_Find_lower_bound. Walks the red-black tree to find the lower bound for a given key. Returns a _Tree_find_result with the found node and comparison flag. Library function (VS2019). 0x0065D440 391 std__ostream_insert_buffer stl std::ostream operator<< for raw char buffers with explicit length. Applies width padding/fill, writes via sputn, sets failbit on error. Uses ostream sentry pattern. 0x0065D5F0 150 STL_string_init_from_two_buffers stl Initializes a new std::string by concatenating two raw buffers. Allocates heap if combined length > 15 (SSO threshold). Copies both buffers sequentially and null-terminates. Used by STL_string_concat_two. 0x0065D690 201 std__stringstream_ctor stl std::stringstream constructor. Initializes basic_iostream + basic_ios base classes, sets up the internal stringbuf streambuffer. Initializes internal string buffer pointers to 0. 0x0065D760 272 CResourceCache__ctor file CResourceCache constructor. Initializes: vtable, rbtree with 0x1c head node (uint set), rbtree with 0x28 head node (string map), deque/vector (blocks 9-11), max_size=0xC800, creates file handle via CPacketStream__construct_0065c5f0. 0x0065D870 156 std__ostream_sentry_ctor stl std::ostream::sentry constructor. Stores ostream reference, acquires lock on tied stream if present (calls flush). Sets good flag based on stream state. 0x0065D910 67 STL_rbtree_dealloc_head_node_1c stl Deallocates a 0x1c byte rbtree head node if field+4 is non-null. Used during rbtree cleanup. SEH protected. 0x0065D960 76 STL_rbtree_destroy_and_dealloc_1c stl Destroys all rbtree nodes recursively via STL_rbtree_destroy_nodes_recursive, then deallocates the 0x1c byte head node. Full rbtree teardown for uint set. 0x0065D9C0 116 STL_rbtree_clear_and_dealloc_1c stl Clears rbtree nodes if present (calls CPacketStream__stub_0065c450), then deallocates the 0x1c byte head node. Two-phase cleanup with SEH protection. 0x0065DA40 78 STL_rbtree_dealloc_head_node_1c_0065da40 stl Deallocates a 0x1c byte rbtree head node if field+4 is non-null. Variant of STL_rbtree_dealloc_head_node_1c with different SEH cookie. 0x0065DA90 115 std__stringstream_dtor_base stl Base destructor for std::stringstream. Resets vtable to PTR_LAB_0110d544, destroys custom streambuf via CFmt__custom_streambuf_dtor, then destroys the basic_iostream base. 0x0065DB10 87 STL_rbtree_destroy_and_dealloc_1c_0065db10 stl Destroys all rbtree nodes recursively then deallocates the 0x1c byte head node. Same pattern as STL_rbtree_destroy_and_dealloc_1c but with different SEH frame setup. 0x0065DB70 68 STL_rbtree_clear_nodes_only stl Clears rbtree nodes via CPacketStream__stub_0065c450 without deallocating the head node. Used when the tree structure will be reused. SEH protected wrapper. 0x0065DBC0 200 CResourceCache__dtor file CResourceCache destructor. Sets vtable, destroys file handle (virtual call), frees deque blocks, destroys string map rbtree (0x28 nodes with strings), destroys uint set rbtree (0x1c nodes). SEH protected with staged cleanup. 0x0065DC90 68 CResourceCache__deque_free_blocks file Frees the deque block array via STL_vector_dealloc_raw_buffer_v2. SEH protected wrapper used during CResourceCache destruction. 0x0065DCE0 69 std__ostream_sentry_dtor stl std::ostream::sentry destructor. Releases the mutex/lock on the tied streambuf by calling virtual method at vtable+8. Called when sentry goes out of scope. 0x0065DD30 108 std__ostream_sentry_dtor_with_flush stl std::ostream::sentry destructor with flush. Calls _Osfx (flushes if unitbuf) if no uncaught exceptions, then releases the streambuf lock. Complete sentry cleanup. 0x0065DDA0 124 std__stringstream_dtor_full stl Full std::stringstream destructor including basic_ios. Resets vtable, destroys custom streambuf, destroys basic_iostream, then destroys the basic_ios base. Called for stack-allocated stringstreams. 0x0065DE30 151 std__stringstream_scalar_deleting_dtor stl std::stringstream scalar deleting destructor. Performs full destructor (streambuf + iostream + ios), then optionally frees memory (0xB0 bytes) if param_2 & 1. Used for heap-allocated stringstreams. 0x0065DED0 221 CResourceCache__scalar_deleting_dtor file CResourceCache scalar deleting destructor. Cleans up file handle, deque blocks, string map rbtree, uint set rbtree, then optionally frees 0x34 bytes of memory if param_2 & 1. 0x0065DFB0 623 CResourceCache__register_directory_entry file Registers a file path in the directory-keyed string map. Extracts directory prefix (up to last backslash). Looks up the directory in the rbtree; if not found, inserts a new node. Uses Insert_node for rbtree insertion. Checks map size limit (0x6666666). 0x0065E220 109 CResourceCache__create_file_handle file Creates a new file handle object (0x2C bytes) via CPacketStream__construct_0065c5f0 and stores it at this+0x10. Returns true if allocation succeeded. 0x0065E290 373 CResourceCache__get_or_create_instance file Singleton accessor for CResourceCache. Creates instance at global DAT_0138cf20 if null. Initializes full CResourceCache (rbtrees, deque, file handle). Returns 1 on success, 0 on failure (destroys instance if file handle creation fails). 0x0065E410 25 CResourceCache__destroy_file_handle file Destroys the file handle object at this+0x10. Calls virtual destructor (vtable[0]) with delete flag=1, then nulls the pointer. 0x0065E430 27 CResourceCache__destroy_singleton file Destroys the CResourceCache singleton at DAT_0138cf20. Calls virtual destructor with delete flag=1, then nulls the global pointer. 0x0065E450 491 CResourceCache__load_resource_file file Loads a resource file by ID. Uses _Find_lower_bound to search the uint rbtree. If found and value > 0, builds cache path, gets CResourceMgr instance, and loads via CResourceMgr__load_resource_by_string. Falls back to secondary rbtree if first load fails and DAT_016f7144==0. Returns result as std::string. 0x0065E640 65 CResourceCache__lookup_by_id file Looks up a resource ID in the uint rbtree using _Find_lower_bound. Returns the associated value (at node+0x18) if found, 0 otherwise. 0x0065E690 95 CResourceCache__insert_or_update_by_id file Inserts or updates a uint rbtree entry. Looks up key via _Find_lower_bound. If found, updates the value by calling deque_push_back. If not found, also calls deque_push_back with value=0. 0x0065E6F0 414 CResourceCache__has_directory_entry file Checks if a file path's directory exists in the string map rbtree. Extracts directory prefix (up to last backslash), looks up in rbtree via STL_rbtree_lower_bound_string. Returns true if directory entry found, false otherwise. 0x0065E890 1132 CResourceCache__compress_and_save_to_file file Major file caching function. Formats a string (vsnprintf), builds cache path, compresses data via zlib. Creates output directory if needed (_mkdir). Opens stringstream, writes header + compressed size. Iterates directory files, deleting old cache entries (_chmod+_unlink). Writes compressed data to file via fopen/fwrite/fclose. Falls back to register_directory_entry on compression failure. 0x0065ED00 309 CResourceCache__build_cache_path file Builds a cache file path using stringstream. Reads base path from global DAT_01732d98 (std::string), appends separator and version/hash (param_2 with 0x7FFFFFFF offset), converts to std::string via str(). Result stored in param_1. 0x0065EE40 8 CResourceCache__process_sky_texture_static file Static wrapper that calls CResourceCache__process_and_register_sky_texture. Simple thunk/forwarding function (8 bytes). 0x0065EE50 66 CResourceCache__notify_ui_window file Notifies a UI window after resource loading. Calls get_field4_if_mode1 to check mode, processes multibyte string if active (mbstr_to_wstr_and_process_b). Finds UI window type 0x3C via CUIWindowMgr and calls virtual method at vtable+0x98. 0x0065EEA0 245 CResourceCache__set_id_map_entry file Sets/inserts an entry in the uint-keyed rbtree (std::map). Uses _Find_lower_bound to locate insertion point. If key not found, allocates a 0x1c byte node, inserts via Insert_node. Sets value at node+0x18 to param_3. Throws if map exceeds 0x9249249 entries. 0x0065EFA0 517 Insert_node stl MSVC STL _Tree_val::_Insert_node. Inserts a new node into the red-black tree and performs rebalancing (rotations + recoloring). Handles both left and right insertion cases. Library function (VS2019). Supports std::set, std::set, and PCTableEntry sets. 0x0065F1B0 247 std__stringstream_str stl std::stringstream::str(), extracts the contents of the stringstream's internal buffer as an std::string. Handles both input and output buffer modes, returns a copy of the buffered data. 0x0065F2B0 151 CResourceCache__entry_ctor file CResourceCache entry constructor. Copies vtable from param_3, zeros 0x30 bytes of fields, initializes two SSO strings (capacity=0xF) and three counters to 0. Entry size is 0x34 bytes. 0x0065F350 152 STL_map_node_construct_string_vector_0065f350 stl STL map/set node copy constructor for 0x44-byte nodes containing a key, 1 string, and 1 vector. Copies fields from source node and copy-constructs the string and vector members. 0x0065F3F0 159 STL_map_node_construct_2strings_vector_0065f3f0 stl STL map/set node copy constructor for 0x60-byte nodes containing a key, 2 strings, and 1 vector. Copies fields, copy-constructs both strings and the vector. 0x0065F490 299 STL_tree_copy_construct_0065f490 stl STL _Tree copy constructor. Allocates a 0x38-byte sentinel node, initializes its RB-tree links, then recursively copies the source tree via STL_tree_copy_nodes_recursive. Sets up head/min/max pointers. 0x0065F5C0 190 STL_move_construct_string_struct_0065f5c0 stl Move-constructs a struct containing a string (via strlen+assign from C-string pointer) plus additional scalar fields. Moves 3 values from source (zeroing them), implementing move semantics. 0x0065F680 80 STL_map_lower_bound_find_0065f680 stl STL map/set lower_bound + find. Traverses a red-black tree, comparing key values, returns iterator pointing to found node or end. Used by map emplace to find insertion point. 0x0065F6D0 80 STL_map_lower_bound_find_0065f6d0 stl STL map/set lower_bound + find. Identical pattern to 0065f680 but operates on a different tree (uses different lower_bound helper at 00660150). Returns iterator to matching or end node. 0x0065F720 280 STL_tree_copy_nodes_recursive stl Recursive STL _Tree::_Copy_nodes. Allocates 0x38-byte nodes, copies key/value fields and string members, then recursively copies left and right subtrees. Returns the copied subtree root. 0x0065F860 333 STL_vector_emplace_reallocate_24byte stl STL vector::_Emplace_reallocate for 24-byte (0x18) elements containing strings. Grows capacity by 1.5x (max 0xAAAAAAA elements), moves existing elements around insertion point, then replaces the internal buffer. 0x0065F9E0 160 STL_tree_erase_nodes_44byte stl STL _Tree::_Erase for 0x44-byte nodes. Recursively traverses the tree in post-order, destroying each node's string+vector contents (via CFmt__destroy_string_vector + STL_string_dtor) then freeing the node. 0x0065FA80 159 STL_tree_erase_nodes_2strings_44byte stl STL _Tree::_Erase for 0x44-byte nodes containing 2 strings. Recursively destroys both strings via STL_string_dtor then frees each node. 0x0065FB20 172 STL_tree_erase_nodes_2strings_vector_60byte stl STL _Tree::_Erase for 0x60-byte nodes containing 2 strings and a vector. Recursively destroys vector (CFmt__destroy_string_vector), both strings, then frees each node. 0x0065FBD0 169 STL_tree_erase_nodes_nested_tree_1c stl STL _Tree::_Erase for 0x1C-byte nodes that contain a nested tree (at offset+5). For each node, recursively erases the nested tree (via STL_tree_erase_nodes_44byte), frees its sentinel, then frees the outer node. 0x0065FC80 118 STL_tree_erase_nodes_50byte stl STL _Tree::_Erase for 0x50-byte nodes. Recursively destroys node contents via CPacketQueue__construct_006626b0 (another destructor) then frees each node. 0x0065FD00 144 STL_tree_erase_nodes_string_38byte stl STL _Tree::_Erase for 0x38-byte nodes containing 1 string. Recursively destroys the string via STL_string_dtor then frees each node. 0x0065FD90 169 STL_tree_erase_nodes_nested_60byte_tree stl STL _Tree::_Erase for 0x1C-byte nodes with a nested tree of 0x60-byte nodes. Recursively erases the nested tree (via STL_tree_erase_nodes_2strings_vector_60byte), frees its sentinel, then frees the outer node. 0x0065FE40 131 STL_tree_erase_nodes_1c_with_cleanup stl STL _Tree::_Erase for 0x1C-byte nodes. Calls CPacketQueue__operation_00662950 to clean up each node's contents, then frees the node. 0x0065FED0 131 STL_tree_erase_nodes_1c_with_cleanup_0065fed0 stl STL _Tree::_Erase for 0x1C-byte nodes. Same pattern as 0065fe40 - calls CPacketQueue__operation_00662950 for cleanup then frees each node. Duplicate instantiation for a different tree type. 0x0065FF60 103 STL_tree_erase_nodes_14byte stl STL _Tree::_Erase for simple 0x14-byte nodes with no complex members. Just recursively frees each node via operator_delete without any member destruction. 0x0065FFD0 144 STL_tree_erase_nodes_string_38byte_0065ffd0 stl STL _Tree::_Erase for 0x38-byte nodes containing 1 string. Same pattern as 0065fd00 - destroys string then frees node. Separate instantiation for a different tree. 0x00660060 75 STL_tree_lower_bound_by_key_00660060 stl STL _Tree::_Lbound (lower_bound). Traverses a red-black tree comparing key at node offset[4] against param. Returns iterator struct with node pointer, found flag, and parent. Used by map/set insert operations. 0x006600B0 75 STL_tree_lower_bound_by_key_006600b0 stl STL _Tree::_Lbound (lower_bound). Same pattern as 00660060, compares key at node offset[4]. Different tree instantiation. 0x00660100 75 STL_tree_lower_bound_by_key_00660100 stl STL _Tree::_Lbound (lower_bound). Same pattern, compares key at node offset[4]. Used by STL_map_lower_bound_find_0065f680. 0x00660150 75 STL_tree_lower_bound_by_key_00660150 stl STL _Tree::_Lbound (lower_bound). Same pattern, compares key at node offset[4]. Used by STL_map_lower_bound_find_0065f6d0. 0x006601A0 138 STL_list_clear_string_vector_nodes stl Clears a singly-linked list of 0x34-byte nodes. Zeros the count, then iterates the list destroying each node's string+vector contents (CFmt__destroy_string_vector + STL_string_dtor) and freeing the node. 0x00660230 222 STL_list_merge_sort_by_offset8 stl STL list::_Sort (merge sort) on a doubly-linked circular list. Recursively splits list in half, sorts each half, then merges by comparing values at node offset[8]. O(n log n) sort. 0x00660310 222 STL_list_merge_sort_by_offset4_00660310 stl STL list::_Sort (merge sort) on a doubly-linked circular list. Same algorithm as 00660230 but compares values at node offset[4] instead of offset[8]. 0x006603F0 222 STL_list_merge_sort_by_offset4_006603f0 stl STL list::_Sort (merge sort) on a doubly-linked circular list. Same algorithm as 00660310, compares at node offset[4]. Different list type instantiation. 0x006604D0 122 STL_uninitialized_copy_24byte_elements stl STL _Uninitialized_copy for 24-byte (0x18) elements containing strings. Iterates from [first, last) copying each element to destination via STL_string_copy_construct, advancing by 0x18 each step. 0x00660550 58 STL_string_construct_from_cstring_ptr stl Constructs an STL string from a C-string pointer. Initializes the string object (size=0, capacity=0xF, null terminator), computes strlen of source, then assigns the buffer. 0x00660590 451 STL_tree_filter_copy_to_list_3c stl Iterates a red-black tree (in-order), filters nodes via CPacketSerializer__complex_handler_00667510, and for matching nodes constructs 0x3C-byte list nodes (with string + vector) and inserts them into a doubly-linked list. Used to build filtered quest/NPC data lists. 0x00660760 498 STL_tree_filter_copy_to_list_by_range_58 stl Iterates a red-black tree (in-order), filters nodes by checking if a global value (DAT_01733c88) falls within [node.min, node.max] range. For matching nodes, constructs 0x58-byte list nodes (with 2 strings + vector) and inserts into a list. 0x00660960 256 STL_map_emplace_44byte_node stl STL map::emplace for 0x44-byte nodes. Calls lower_bound to find insertion position, checks if key exists. If not found, allocates a new tree node, constructs it via STL_map_node_construct_string_vector_0065f350, and inserts into the tree. 0x00660A70 256 STL_map_emplace_60byte_node stl STL map::emplace for 0x60-byte nodes. Calls lower_bound, checks for existing key. If not found, allocates a new 0x60-byte tree node, constructs via STL_map_node_construct_2strings_vector_0065f3f0, and inserts into the tree. 0x00660B80 319 STL_map_emplace_38byte_node_with_string stl STL map::emplace for 0x38-byte nodes with int key and string+struct value. Traverses tree to find insertion point, allocates node if key not present, copies key/value fields including string copy construction, then inserts via Insert_node. 0x00660CC0 217 STL_move_construct_node_34byte stl Move-constructs a 0x34-byte node (13 dwords). Copies scalar fields, moves 1 string (zeroing source size/capacity), and moves a 3-field vector/list (zeroing source). Used during list node construction. 0x00660DA0 269 STL_move_construct_node_50byte_2strings stl Move-constructs a 0x50-byte node (20 dwords). Copies scalar fields, moves 2 strings (zeroing source size/capacity for each), and moves a 3-field vector/list (zeroing source). Used during list node construction. 0x00660EB0 180 STL_vector_copy_construct_24byte_elements stl STL vector copy constructor for vectors of 24-byte (0x18) elements containing strings. Allocates buffer for the same capacity, then copies elements via STL_uninitialized_copy_24byte_elements. 0x00660F70 490 CQuestNpcManager__ctor game_skills Constructor for a quest/NPC data manager class. Sets vtable to CPacketQueue__copy_helper_00663390, calls CLuaInstance__ctor, initializes 1 string, and creates 8 red-black tree sentinel nodes (for maps/sets of various element sizes: 0x50, 0x44, 0x34, 0x1C x4). Sets a boolean flag at offset 0x19. 0x00661160 144 STL_init_2strings_and_vector stl Initializes 2 inline STL strings (at offsets 0x10 and 0x28, each 24 bytes with size=0, capacity=0xF) and 1 vector (at offset 0x40, 3 null pointers for begin/end/capacity). 0x00661200 67 STL_tree_deallocate_sentinel_3c stl STL _Tree sentinel node deallocator. Frees the 0x3C-byte sentinel/head node of a red-black tree if it exists (non-null check at offset+4). 0x00661250 67 STL_tree_deallocate_sentinel_58 stl STL _Tree sentinel node deallocator. Frees the 0x58-byte sentinel/head node of a red-black tree if non-null. 0x006612A0 67 STL_tree_deallocate_sentinel_34 stl STL _Tree sentinel node deallocator. Frees the 0x34-byte sentinel/head node of a red-black tree if non-null. 0x006612F0 67 STL_tree_deallocate_sentinel_44_006612f0 stl STL _Tree sentinel node deallocator. Frees the 0x44-byte sentinel/head node of a red-black tree if non-null. 0x00661340 67 STL_tree_deallocate_sentinel_44_00661340 stl STL _Tree sentinel node deallocator. Frees the 0x44-byte sentinel/head node of a red-black tree if non-null. Second instantiation for a different tree type. 0x00661390 67 STL_tree_deallocate_sentinel_60 stl STL _Tree sentinel node deallocator. Frees the 0x60-byte sentinel/head node of a red-black tree if non-null. 0x006613E0 67 STL_tree_deallocate_sentinel_1c_006613e0 stl STL _Tree sentinel node deallocator. Frees the 0x1C-byte sentinel/head node of a red-black tree if non-null. 0x00661430 67 STL_tree_deallocate_sentinel_50 stl STL _Tree sentinel node deallocator. Frees the 0x50-byte sentinel/head node of a red-black tree if non-null. 0x00661480 67 STL_tree_deallocate_sentinel_38 stl STL _Tree sentinel node deallocator. Frees the 0x38-byte sentinel/head node of a red-black tree if non-null. 0x006614D0 67 STL_tree_deallocate_sentinel_1c_006614d0 stl STL _Tree sentinel node deallocator. Frees the 0x1C-byte sentinel/head node of a red-black tree if non-null. Second instantiation for a different tree type. 0x00661520 140 STL_tree_destroy_and_deallocate_node_3c stl Destroys and deallocates a 0x3C-byte tree node. First destroys the node's string and vector contents (CFmt__destroy_string_vector + STL_string_dtor), then frees the 0x3C-byte allocation. 0x006615B0 152 STL_tree_node_dtor_strings_vector_58byte stl SEH unwind handler: destroys string vector + 2 strings, then operator_delete(ptr, 0x58). Scalar deleting destructor for a 0x58-byte STL tree node containing a string vector and two std::string members. 0x00661650 139 STL_tree_node_dtor_vector_string_34byte stl SEH unwind handler: destroys string vector + 1 string, then operator_delete(ptr, 0x34). Scalar deleting destructor for a 0x34-byte STL tree node containing a string vector and one std::string. 0x006616E0 76 STL_tree_clear_and_delete_44byte_nodes stl SEH cleanup: erases all nodes from a std::map/set with 0x44-byte nodes, then deletes the sentinel node. Calls STL_tree_erase_nodes_44byte for recursive cleanup. 0x00661740 76 STL_tree_clear_and_delete_2strings_44byte_nodes stl SEH cleanup: erases all nodes from a std::map with 0x44-byte nodes containing 2 strings, then deletes sentinel. Calls STL_tree_erase_nodes_2strings_44byte. 0x006617A0 76 STL_tree_clear_and_delete_2strings_vector_60byte_nodes stl SEH cleanup: erases all nodes from a std::map with 0x60-byte nodes containing 2 strings + vector, then deletes sentinel. Calls STL_tree_erase_nodes_2strings_vector_60byte. 0x00661800 76 STL_tree_clear_and_delete_nested_tree_1c_nodes stl SEH cleanup: erases all nodes from a std::map with 0x1c-byte nodes containing nested trees, then deletes sentinel. Calls STL_tree_erase_nodes_nested_tree_1c. 0x00661860 76 STL_tree_clear_and_delete_50byte_nodes stl SEH cleanup: erases all nodes from a std::map/set with 0x50-byte nodes, then deletes sentinel. Calls STL_tree_erase_nodes_50byte. 0x006618C0 76 STL_tree_clear_and_delete_string_38byte_nodes stl SEH cleanup: erases all nodes from a std::map with 0x38-byte nodes containing strings, then deletes sentinel. Calls STL_tree_erase_nodes_string_38byte. 0x00661920 76 STL_tree_clear_and_delete_nested_60byte_tree_nodes stl SEH cleanup: erases all nodes from a std::map with 0x1c-byte nodes containing nested 60-byte trees, then deletes sentinel. Calls STL_tree_erase_nodes_nested_60byte_tree. 0x00661980 76 STL_tree_clear_and_delete_1c_with_cleanup_nodes stl SEH cleanup: erases all nodes from a std::map with 0x1c-byte nodes (with cleanup), then deletes sentinel. Calls STL_tree_erase_nodes_1c_with_cleanup. 0x006619E0 76 STL_tree_clear_and_delete_1c_cleanup_variant_nodes stl SEH cleanup: erases all nodes from a std::map with 0x1c-byte nodes (cleanup variant at 0065fed0), then deletes sentinel. Calls STL_tree_erase_nodes_1c_with_cleanup_0065fed0. 0x00661A40 111 STL_tree_clear_nested_14byte_subtrees stl Iterates tree nodes (0x14-byte each with nested subtrees), erases each node's subtree via STL_tree_erase_nodes_14byte, then deletes the node. Walks the linked list until reaching the sentinel (is_nil flag at offset 0xd). 0x00661AC0 84 STL_tree_clear_optional_string_38byte_node stl SEH cleanup: if param[1] is non-null, erases string-38byte tree nodes from the inner tree at *param[1], then deletes the 0x38-byte sentinel. Nullable variant of STL_tree_clear_and_delete_string_38byte_nodes. 0x00661B20 140 STL_tree_node_dtor_vector_2strings_44byte stl SEH unwind handler: destroys string vector + 1 string, then operator_delete(ptr, 0x44). Scalar deleting destructor for a 0x44-byte STL tree node containing a string vector and one std::string. 0x00661BB0 139 STL_tree_node_dtor_2strings_44byte stl SEH unwind handler: destroys 2 strings, then operator_delete(ptr, 0x44). Scalar deleting destructor for a 0x44-byte STL tree node containing two std::string members. 0x00661C40 152 STL_tree_node_dtor_vector_2strings_60byte stl SEH unwind handler: destroys string vector + 2 strings, then operator_delete(ptr, 0x60). Scalar deleting destructor for a 0x60-byte STL tree node containing a string vector and two std::string members. 0x00661CE0 152 STL_tree_node_dtor_nested_44byte_tree_1c stl SEH unwind handler: erases nested 0x44-byte tree at offset 0x14 within 0x1c-byte node, then operator_delete(ptr, 0x1c). Scalar deleting destructor for a tree node containing a nested std::map with 44-byte entries. 0x00661D80 104 STL_tree_node_dtor_delegating_50byte stl SEH unwind handler: delegates inner cleanup to CPacketQueue__construct_006626b0 (which destroys a 38-byte string tree + 2 strings), then operator_delete(ptr, 0x50). Scalar deleting destructor for a 0x50-byte node. 0x00661DF0 126 STL_tree_node_dtor_string_38byte stl SEH unwind handler: destroys 1 string, then operator_delete(ptr, 0x38). Scalar deleting destructor for a 0x38-byte STL tree node containing one std::string member. 0x00661E70 152 STL_tree_node_dtor_nested_60byte_vector_tree_1c stl SEH unwind handler: erases nested 0x60-byte tree (2 strings + vector) at offset 0x14 within 0x1c-byte node, then operator_delete(ptr, 0x1c). Scalar deleting destructor for a tree node containing a nested std::map with 60-byte entries. 0x00661F10 78 STL_seh_delete_44byte_node stl SEH unwind handler: simple null-check + operator_delete(ptr, 0x44). Deallocates a 0x44-byte tree node without destroying contained objects (POD-only node). 0x00661F60 78 STL_seh_delete_44byte_node_00661f60 stl SEH unwind handler: simple null-check + operator_delete(ptr, 0x44). Deallocates a 0x44-byte tree node without destroying contained objects (POD-only node). Variant at different SEH scope. 0x00661FB0 78 STL_seh_delete_60byte_node stl SEH unwind handler: simple null-check + operator_delete(ptr, 0x60). Deallocates a 0x60-byte tree node without destroying contained objects. 0x00662000 78 STL_seh_delete_1c_node stl SEH unwind handler: simple null-check + operator_delete(ptr, 0x1c). Deallocates a 0x1c-byte tree node without destroying contained objects. 0x00662050 78 STL_seh_delete_50byte_node stl SEH unwind handler: simple null-check + operator_delete(ptr, 0x50). Deallocates a 0x50-byte tree node without destroying contained objects. 0x006620A0 78 STL_seh_delete_38byte_node stl SEH unwind handler: simple null-check + operator_delete(ptr, 0x38). Deallocates a 0x38-byte tree node without destroying contained objects. 0x006620F0 78 STL_seh_delete_1c_node_006620f0 stl SEH unwind handler: simple null-check + operator_delete(ptr, 0x1c). Deallocates a 0x1c-byte tree node. Variant at different SEH scope than STL_seh_delete_1c_node. 0x00662140 73 STL_list_clear_and_delete_string_vector_34byte stl SEH cleanup: clears a linked list of 0x34-byte nodes containing string vectors via STL_list_clear_string_vector_nodes, then deletes the sentinel. Used for std::list cleanup. 0x00662190 87 STL_tree_clear_and_delete_44byte_nodes_00662190 stl SEH cleanup: unconditionally erases all 0x44-byte nodes from a std::map/set tree, then deletes sentinel. Same pattern as STL_tree_clear_and_delete_44byte_nodes but at a different SEH scope. 0x006621F0 87 STL_tree_clear_and_delete_2strings_44byte_nodes_006621f0 stl SEH cleanup: unconditionally erases all 0x44-byte nodes (with 2 strings) from a std::map tree, then deletes sentinel. Variant at different SEH scope. 0x00662250 87 STL_tree_clear_and_delete_2strings_vector_60byte_nodes_00662250 stl SEH cleanup: unconditionally erases all 0x60-byte nodes (2 strings + vector) from a std::map tree, then deletes sentinel. Variant at different SEH scope. 0x006622B0 87 STL_tree_clear_and_delete_nested_tree_1c_nodes_006622b0 stl SEH cleanup: unconditionally erases all 0x1c-byte nodes (with nested trees) from a std::map, then deletes sentinel. Variant at different SEH scope. 0x00662310 87 STL_tree_clear_and_delete_50byte_nodes_00662310 stl SEH cleanup: unconditionally erases all 0x50-byte nodes from a std::map tree, then deletes sentinel. Variant at different SEH scope. 0x00662370 87 STL_tree_clear_and_delete_string_38byte_nodes_00662370 stl SEH cleanup: unconditionally erases all 0x38-byte nodes (with strings) from a std::map tree, then deletes sentinel. Variant at different SEH scope. 0x006623D0 87 STL_tree_clear_and_delete_nested_60byte_tree_nodes_006623d0 stl SEH cleanup: unconditionally erases all 0x1c-byte nodes (with nested 60-byte trees) from a std::map, then deletes sentinel. Variant at different SEH scope. 0x00662430 87 STL_tree_clear_and_delete_1c_with_cleanup_nodes_00662430 stl SEH cleanup: unconditionally erases all 0x1c-byte nodes (with cleanup) from a std::map, then deletes sentinel. Variant at different SEH scope. 0x00662490 87 STL_tree_clear_and_delete_1c_cleanup_variant_nodes_00662490 stl SEH cleanup: unconditionally erases all 0x1c-byte nodes (cleanup variant 0065fed0) from a std::map, then deletes sentinel. Variant at different SEH scope. 0x006624F0 100 STL_seh_unwind_destroy_vector_string stl SEH unwind handler: destroys a string vector (CFmt__destroy_string_vector) then destroys one std::string. Stack object cleanup during exception unwinding. 0x00662560 99 STL_seh_unwind_destroy_2strings stl SEH unwind handler: destroys two std::string objects on the stack. Stack object cleanup during exception unwinding. 0x006625D0 112 STL_seh_unwind_destroy_vector_2strings stl SEH unwind handler: destroys a string vector + 2 std::strings on the stack. Stack object cleanup during exception unwinding with 3-stage unwind index. 0x00662640 112 STL_tree_clear_and_delete_44byte_at_offset4 stl SEH cleanup: erases all 0x44-byte nodes from a std::map tree located at param+4 (offset into a larger structure), then deletes sentinel. Used when the tree is a member of a class at offset 0x4. 0x006626B0 141 STL_tree_node_dtor_string_tree_2strings_50byte stl SEH unwind handler: erases a 0x38-byte string tree at offset 0x38, then destroys 2 std::strings. Multi-stage destructor for a 0x50-byte node containing a nested string map and two string members. 0x00662740 83 STL_seh_destroy_string_at_offset4 stl SEH unwind handler: destroys a std::string located at param+4 (offset into a larger structure). Simple single-string cleanup. 0x006627A0 112 STL_tree_clear_and_delete_2strings_vector_60byte_at_offset4 stl SEH cleanup: erases all 0x60-byte nodes (2 strings + vector) from a std::map tree at param+4, then deletes sentinel. Used when the tree is a class member at offset 0x4. 0x00662810 100 STL_seh_unwind_destroy_vector_string_00662810 stl SEH unwind handler: destroys a string vector + 1 std::string. Same pattern as STL_seh_unwind_destroy_vector_string but at a different SEH scope. 0x00662880 112 STL_seh_unwind_destroy_vector_2strings_00662880 stl SEH unwind handler: destroys a string vector + 2 std::strings with 3-stage unwind index. Same pattern as STL_seh_unwind_destroy_vector_2strings but at a different SEH scope. 0x006628F0 83 STL_seh_destroy_string_vector_at_offset4 stl SEH unwind handler: destroys a string vector (CFmt__destroy_string_vector) at param+4. Simple cleanup for a string vector member of a larger structure. 0x00662950 126 STL_tree_clear_nested_14byte_subtrees_00662950 stl Iterates tree nodes (0x14-byte each with nested subtrees), erases each subtree via STL_tree_erase_nodes_14byte, then deletes nodes. Walks linked list until sentinel. Variant at different SEH scope. 0x006629D0 412 CQuestNpcManager__dtor_006629d0 game_skills CPacketQueue destructor. Sets vtable, then destroys all data members in reverse order: nested 1c trees (offsets 0x5C, 0x54), nested 60-byte trees (0x4C, 0x44, 0x3C), string-vector list (0x34), 2-string 44-byte tree (0x2C), string (offset 4), 50-byte tree (offset 0xC), and finally CLuaInstance at base. 0x00662B70 154 CQuestNpcManager__inner_dtor game_skills CPacketQueue inner class destructor. Sets vtable, then erases two 0x1c-byte trees: one with cleanup variant (offset 0xC) and one with standard cleanup (offset 0x4). Destroys a smaller sub-object that contains two std::map members. 0x00662C10 87 CPacketQueue__seh_cleanup_destroy_string_vector_and_string game_core SEH cleanup handler: destroys a string vector via CFmt__destroy_string_vector then destructs one STL string 0x00662C70 86 CPacketQueue__seh_cleanup_two_strings game_core SEH cleanup handler: destructs two STL strings in sequence 0x00662CD0 68 CPacketQueue__seh_cleanup_destroy_string_vector game_core SEH cleanup handler: destroys a string vector via CFmt__destroy_string_vector 0x00662D20 99 CPacketQueue__seh_cleanup_string_vector_and_two_strings game_core SEH cleanup handler: destroys a string vector then destructs two STL strings 0x00662D90 99 CPacketQueue__seh_cleanup_erase_tree_44byte game_core 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 game_core 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 game_core SEH cleanup handler: destructs a single STL string 0x00662EE0 117 CPacketQueue__seh_cleanup_erase_2string_tree_and_string game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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). 0x00663370 30 CQuestNpcManager__vtable_entry_scalar_deleting_dtor game_skills Vtable entry scalar deleting destructor for a 4-byte object (likely base class pointer). Conditionally frees memory. 0x00663390 35 CQuestNpcManager__scalar_deleting_dtor game_skills Scalar deleting destructor for CQuestNpcManager (0x68 bytes). Calls CPacketQueue__dtor then conditionally frees memory. 0x006633C0 175 CQuestNpcManager__dtor game_skills Destructor for CQuestNpcManager. Sets vtable pointer, erases two RB-trees (0x1c-byte nodes) at offsets +0x04 and +0x0C, frees their sentinels. Conditionally deletes self (0x14 bytes). 0x00663470 334 CAdventureGuideMgr__lua_callback_validate attendance CAdventureGuideMgr Lua callback validator. Calls Lua function by name, expects (boolean, string) return. If boolean is false, shows MessageBox with the string as error. Returns 1 on success, 0 on failure. Uses 'CAdventureGuideMgr' as MessageBox caption. 0x006635C0 178 CQuestNpcManager__get_or_create_singleton game_skills Gets or creates the CQuestNpcManager singleton (global DAT_0138cf2c). If null, allocates 0x68 bytes and calls CQuestNpcManager__ctor. If flag at offset +0x64 is set, calls bulk_processor. Destroys singleton on failure. Returns 1 on success, 0 on failure. 0x00663680 27 CQuestNpcManager__destroy_singleton game_skills Destroys the CQuestNpcManager singleton. Calls virtual destructor (flag=1 for delete) then sets global pointer to null. 0x006636A0 483 CQuestNpcManager__clear_list_and_rebuild_sorted game_skills Clears a linked list of 0x3c-byte nodes (destroying string vectors and strings in each), then looks up a quest ID in a tree, copies matching entries to the list, and merge-sorts the list by the int field at node offset +0x10. 0x00663890 313 CQuestNpcManager__filter_by_level_range_to_list game_skills Clears the output list, then iterates the tree at this+0x34. For each node whose [min,max] range contains the global level (DAT_01733c88), copies the node (string + 2 ints + vector of 0x18-byte elements) to the output list. 0x006639D0 500 CQuestNpcManager__clear_list_and_rebuild_sorted_by_type game_skills Clears a linked list of 0x58-byte nodes (2 strings + vector each), selects a tree by type parameter (1->+0x3C, 3->+0x44, 4->+0x4C), looks up key in that tree, copies matching entries to list, and merge-sorts by offset+0x10 field. 0x00663BD0 4868 CNavigatorDB__register_lua_functions_and_load_scripts game_map Registers 25+ Lua global functions for Adventure Guide/Navigator DB data insertion: InsertIntro, InsertIntroContents, InsertEpisode, InsertEpisodeSubMenu, InsertEpisodeContents, InsertEpisodeReward, InsertMonster, InsertMonsterContents, InsertMonsterReward, InsertQuest, InsertQuestSubMenu, InsertQuestContents, InsertQuestReward, InsertDungeon, InsertDungeonSubMenu, InsertDungeonContents, InsertDungeonReward, InsertWeapon, InsertWeaponSubMenu, InsertWeaponContents, InsertWeaponObtainGuide, InsertArmor, InsertArmorSubMenu, InsertArmorContents, InsertArmorObtainGuide. Then executes ~9 AdventureGuide Lua script files. Validates via Lua callback at end. 0x00664EE0 620 CNavigatorDB__lua_insert_entry_with_2strings_vector game_map Lua callback for navigator DB entry insertion. Creates a result struct, finds-or-inserts into nested tree (60-byte nodes), emplaces a 60-byte map entry with 2 strings and a vector. Sets success result with empty error string. Cleans up temporary strings/vectors on exit. 0x00665150 481 CNavigatorDB__lua_insert_contents_string_by_episode_id game_map Lua callback for inserting contents string by episode ID. Iterates tree at this+0x4C, finds node with matching ID via lower_bound, then appends a string to the node's vector (24-byte string elements). Returns error 'cannot be find' if ID not found. 0x00665340 408 CNavigatorDB__lua_insert_submenu_entry_type4 game_map Lua callback for inserting a submenu entry (type 4). Iterates tree at this+0x0C, finds node with type==4, then emplaces a 38-byte map entry (string key + data) into that node's nested tree. Returns success result. 0x006654E0 620 CNavigatorDB__lua_insert_entry_with_extra_param game_map Lua callback for navigator DB entry insertion (variant with extra parameter). Same as 00664ee0 but takes one additional parameter. Creates result, finds-or-inserts nested tree (60-byte), emplaces 60-byte map entry. Cleans up temps. 0x00665750 481 CNavigatorDB__lua_insert_contents_string_by_quest_id game_map Lua callback for inserting contents string by quest ID. Iterates tree at this+0x3C, finds node with matching ID via lower_bound, appends string to node's vector. Returns error if ID not found. Same pattern as episode contents inserter. 0x00665940 398 CNavigatorDB__lua_insert_submenu_entry_type1 game_map Lua callback for inserting a submenu entry (type 1). Iterates tree at this+0x0C, finds node with type==1, emplaces 38-byte map entry with string into nested tree. Same pattern as type4 variant. 0x00665AD0 514 CNavigatorDB__lua_insert_entry_with_flags_and_string game_map Lua callback for navigator DB entry insertion with 3 flag bytes and a string. If type is 5 or 6, finds-or-inserts nested tree (44-byte nodes), emplaces a 44-byte map entry with flags and string. Sets success result. 0x00665CE0 920 CNavigatorDB__lua_insert_obtain_guide_by_weapon_or_armor game_map Lua callback for inserting obtain guide string by weapon (type 5, tree at +0x54) or armor (type 6, tree at +0x5C) ID. Searches tree for matching ID, creates 0x44-byte node if not found, appends guide string to node's vector. Returns error if ID not found. 0x00666080 409 CNavigatorDB__lua_insert_submenu_entry_by_dynamic_type game_map Lua callback for inserting submenu entry by dynamic type. Iterates tree at +0x0C, finds node matching param_3 type, then emplaces 38-byte entry (int key + string + data) into that node's nested tree. Returns success result. 0x00666220 643 CNavigatorDB__lua_insert_2string_entry_to_tree game_map Lua callback for inserting a 2-string entry into the tree at +0x2C. Allocates a 0x44-byte node (int key + 2 strings), inserts via lower_bound + Insert_node if key not found. Sets success result. Cleans up temporary strings. 0x006664B0 135 CNavigatorDB__make_success_result_with_string game_map Constructs a success result struct. Copies string from params, sets success flag to 1, sets error string to empty (4-byte placeholder). 0x00666540 799 CNavigatorDB__lua_insert_guide_type_with_nested_tree game_map Lua callback for inserting a guide type with nested tree. Validates param3==param4 (type guard, returns 'GuideType_Error' on mismatch). Creates 0x50-byte tree node with nested 0x38-byte RB-tree, inserts 2 strings. Returns success result. 0x00666860 489 CNavigatorDB__lua_append_entry_to_intro_list game_map Lua callback for appending an entry to the intro/monster list at +0x34. Creates a 0x34-byte list node with move-constructed struct (string + ints + vector), appends to list. Returns success result. Cleans up temp vector. 0x00666A50 417 CNavigatorDB__lua_append_contents_to_last_intro_entry game_map Lua callback for appending contents string to the last entry in the intro list. Returns 'Contents_Empty' if list is empty. Validates last entry's name matches param4 (returns 'cannot be find' on mismatch). Appends param5 string to the entry's vector. 0x00666C00 620 CNavigatorDB__lua_insert_dungeon_entry game_map Lua callback for inserting a dungeon entry. Finds-or-inserts nested tree (60-byte), emplaces 60-byte map entry with 2 strings and vector. Same structure as episode/quest entry inserters. Sets success result. 0x00666E70 481 CNavigatorDB__lua_insert_dungeon_contents_string game_map Lua callback for inserting dungeon contents string by ID. Iterates tree at +0x44, finds node with matching ID via lower_bound, appends string to node's vector. Returns 'cannot be find' error if ID not found. 0x00667060 408 CNavigatorDB__lua_insert_dungeon_submenu_entry game_map Lua callback for inserting dungeon submenu entry. Iterates tree at +0x0C, finds node with type==3, emplaces 38-byte map entry with string into nested tree. Same pattern as other submenu inserters. 0x00667200 756 CNavigatorDB__has_entries_for_current_level game_map Checks if the navigator DB has any entries matching the current player level (DAT_01733c88) for a given category type. Switch on type: 1->quest(+0x3C), 3->monster(+0x44), 4->episode(+0x4C), 5->weapon(+0x54, via check_equip_job), 6->armor(+0x5C, via check_equip_job). Returns 1 if found, 0 if not. 0x00667510 383 CNavigatorDB__check_equip_job_availability game_map Checks if a weapon/armor entry is available for the current player. Validates level range against DAT_01733c88, calls Lua function 'GetEquipJob', creates singleton DAT_0138cf30 if needed (0x14-byte object with 2 nested trees), then calls SpriteGroupMgr__check_sprite_membership for job compatibility check. 0x006676D0 1 identity_return_ecx_006676d0 game_core Identity function that returns its input parameter unchanged 0x006676E0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006678F0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00667B00 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00667D10 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00667F20 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00668130 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00668340 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00668550 668 CNavigatorDB__lua_insert_armor game_map Lua function 'InsertArmor' callback. Validates 3 arguments (number ID, string name, string desc). Calls CNavigatorDB__lua_insert_guide_type_with_nested_tree with type=6 (armor). Pushes boolean success + error string to Lua stack. Returns 2 values. 0x006687F0 764 CNavigatorDB__lua_insert_armor_contents game_map Lua binding: InsertArmorContents. Takes 7 numbers + 1 string from Lua stack, calls CPacketSerializer to insert armor contents into navigator DB. Returns bool success + error string. 0x00668AF0 465 CNavigatorDB__lua_insert_armor_obtain_guide game_map Lua binding: InsertArmorObtainGuide. Takes 1 number + 1 string from Lua stack, inserts armor obtain guide entry into navigator DB. Returns bool success + error string. 0x00668CD0 462 CNavigatorDB__lua_insert_armor_submenu game_map Lua binding: InsertArmorSubMenu. Takes 3 numbers + 1 string from Lua stack, inserts armor submenu entry into navigator DB. Returns bool success + error string. 0x00668EA0 668 CNavigatorDB__lua_insert_dungeon game_map Lua binding: InsertDungeon. Takes 1 number + 2 strings from Lua stack, inserts dungeon entry into navigator DB. Returns bool success + error string. 0x00669140 689 CNavigatorDB__lua_insert_dungeon_contents game_map Lua binding: InsertDungeonContents. Takes 5 numbers + 2 strings from Lua stack, inserts dungeon contents into navigator DB. Returns bool success + error string. 0x00669400 463 CNavigatorDB__lua_insert_dungeon_reward game_map Lua binding: InsertDungeonReward. Takes 1 number + 1 string from Lua stack, inserts dungeon reward entry into navigator DB. Returns bool success + error string. 0x006695D0 460 CNavigatorDB__lua_insert_dungeon_submenu game_map Lua binding: InsertDungeonSubMenu. Takes 3 numbers + 1 string from Lua stack, inserts dungeon submenu entry into navigator DB. Returns bool success + error string. 0x006697A0 668 CNavigatorDB__lua_insert_episode game_map Lua binding: InsertEpisode. Takes 1 number + 2 strings from Lua stack, inserts episode entry into navigator DB. Returns bool success + error string. 0x00669A40 753 CNavigatorDB__lua_insert_episode_contents game_map Lua binding: InsertEpisodeContents. Takes 6 numbers + 2 strings from Lua stack, inserts episode contents into navigator DB. Returns bool success + error string. 0x00669D40 463 CNavigatorDB__lua_insert_episode_reward game_map Lua binding: InsertEpisodeReward. Takes 1 number + 1 string from Lua stack, inserts episode reward entry into navigator DB. Returns bool success + error string. 0x00669F10 518 CNavigatorDB__lua_insert_episode_submenu game_map Lua binding: InsertEpisodeSubMenu. Takes 4 numbers + 1 string from Lua stack, inserts episode submenu entry into navigator DB. Returns bool success + error string. 0x0066A120 669 CNavigatorDB__lua_insert_info game_map Lua binding: InsertInfo. Takes 1 number + 3 strings from Lua stack, inserts info entry into navigator DB. Returns bool success + error string. 0x0066A3C0 393 CNavigatorDB__lua_insert_intro_contents game_map Lua binding: InsertIntroContents. Takes 1 number + 2 strings from Lua stack, inserts intro contents into navigator DB. Returns bool success + error string. 0x0066A550 668 CNavigatorDB__lua_insert_monster game_map Lua binding: InsertMonster. Takes 1 number + 2 strings from Lua stack, inserts monster entry into navigator DB. Returns bool success + error string. 0x0066A7F0 516 CNavigatorDB__lua_insert_monster_contents game_map Lua binding: InsertMonsterContents. Takes 1 string + 2 numbers from Lua stack, inserts monster contents into navigator DB. Returns bool success + error string. 0x0066AA00 612 CNavigatorDB__lua_insert_monster_reward game_map Lua binding: InsertMonsterReward. Takes 2 strings from Lua stack, inserts monster reward entry into navigator DB. Returns bool success + error string. 0x0066AC70 668 CNavigatorDB__lua_insert_quest game_map Lua binding: InsertQuest. Takes 1 number + 2 strings from Lua stack, inserts quest entry into navigator DB. Returns bool success + error string. 0x0066AF10 689 CNavigatorDB__lua_insert_quest_contents game_map Lua binding: InsertQuestContents. Takes 5 numbers + 2 strings from Lua stack, inserts quest contents into navigator DB. Returns bool success + error string. 0x0066B1D0 463 CNavigatorDB__lua_insert_quest_reward game_map Lua binding: InsertQuestReward. Takes 1 number + 1 string from Lua stack, inserts quest reward entry into navigator DB. Returns bool success + error string. 0x0066B3A0 460 CNavigatorDB__lua_insert_quest_submenu game_map Lua binding: InsertQuestSubMenu. Takes 3 numbers + 1 string from Lua stack, inserts quest submenu entry into navigator DB. Returns bool success + error string. 0x0066B570 668 CNavigatorDB__lua_insert_weapon game_map Lua binding: InsertWeapon. Takes 1 number + 2 strings from Lua stack, inserts weapon entry into navigator DB. Returns bool success + error string. 0x0066B810 764 CNavigatorDB__lua_insert_weapon_contents game_map Lua binding: InsertWeaponContents. Takes 7 numbers + 1 string from Lua stack, inserts weapon contents into navigator DB. Returns bool success + error string. 0x0066BB10 465 CNavigatorDB__lua_insert_weapon_obtain_guide game_map Lua binding: InsertWeaponObtainGuide. Takes 1 number + 1 string from Lua stack, inserts weapon obtain guide entry into navigator DB. Returns bool success + error string. 0x0066BCF0 462 CNavigatorDB__lua_insert_weapon_submenu game_map Lua binding: InsertWeaponSubMenu. Takes 3 numbers + 1 string from Lua stack, inserts weapon submenu entry into navigator DB. Returns bool success + error string. 0x0066BEC0 238 CNavigatorEntry__ctor game_map Constructor for CNavigatorEntry. Initializes a 32-byte entry with an ID field, 3 empty SSO strings (capacity 0xf each), 3 -1 sentinel ints, and 4 zero fields including an empty string at offset 0x6c. 0x0066BFB0 391 STL_vector_NavEntry__assign stl STL vector assign for CNavigatorEntry (32-byte elements with embedded strings). Handles reallocation with 1.5x growth factor when needed. Copies existing elements in-place or reallocates and copies from source range. 0x0066C140 80 STL_vector_NavEntry__copy_range stl Copies a range of CNavigatorEntry elements (32 bytes each) from [param_1, param_2) into param_3. Each element has an SSO string at offset 0 (copies via assign_buffer) plus two integer fields at offsets 0x18 and 0x1c. 0x0066C190 385 STL_vector_NavEntry__emplace stl STL vector emplace/insert for CNavigatorEntry. Allocates new buffer with 1.5x growth, move-constructs the new element at the insert position, transfers existing elements, frees old buffer. 0x0066C340 198 STL_rbtree_NavEntry__destroy_nodes stl Recursively destroys red-black tree nodes for CNavigatorEntry map. Walks left subtree iteratively, destroys 4 embedded strings per node, frees each 0x94-byte node. 0x0066C410 75 STL_map_NavEntry__lower_bound stl STL map lower_bound for CNavigatorEntry map. Searches red-black tree by integer key at node offset 0x10. Returns iterator with node pointer and found flag. 0x0066C460 75 STL_map_NavEntry__lower_bound_0066c460 stl Duplicate of STL map lower_bound for CNavigatorEntry map. Same logic as 0066c410 - searches rbtree by integer key at node offset 0x10. Second instantiation for a different map type. 0x0066C4B0 145 STL_vector_NavEntry__uninitialized_copy stl STL uninitialized_copy for CNavigatorEntry vector. Copies elements (32 bytes each) from source range to uninitialized memory. Copy-constructs the SSO string and copies the two trailing integer fields. 0x0066C550 202 STL_vector_NavEntry__move_range stl STL move range for CNavigatorEntry vector. Moves elements (32 bytes each) by transferring the SSO string internal buffer and two integer fields. Resets source string to empty after move. 0x0066C620 132 STL_rbtree_NavEntry__destroy_node stl Destroys a single red-black tree node for CNavigatorEntry. Destroys 4 embedded strings and frees the node via CPacketParser__construct_0066fd60 (rbtree node destructor helper). 0x0066C6B0 266 STL_map_NavEntry__insert_or_assign stl STL map insert_or_assign for CNavigatorEntry. Finds lower_bound by key, if key exists updates in-place, otherwise allocates new 0x94-byte rbtree node, move-constructs CNavigatorEntry data, and inserts into tree. 0x0066C7C0 383 CNavigatorEntry__move_ctor game_map Move constructor for CNavigatorEntry (full version). Moves 4 SSO strings by stealing internal buffers, copies numeric fields (ints at offsets 0x48-0x64), and transfers vector ownership (begin/end/capacity pointers). 0x0066C940 188 CNavigatorDB__ctor game_map CNavigatorDB constructor. Sets vtable pointer, initializes category type to 10, allocates sentinel nodes for two rbtree maps (0x94-byte and 0x20-byte sentinels), sets initial counts to 0. 0x0066CA00 139 CNavigatorEntry__move_ctor_simple game_map Simplified move constructor for CNavigatorEntry (vector element). Moves one SSO string by stealing buffer ownership, copies two trailing integer fields at offsets 0x18 and 0x1c. 0x0066CA90 65 STL_rbtree_NavEntry__destroy_value stl Destroys the string value embedded in a red-black tree node for CNavigatorEntry map. Wrapper around STL_string_dtor for the node's value field. 0x0066CAE0 70 STL_rbtree_NavEntry__dealloc_node stl Deallocates a red-black tree node (0x94 bytes) for CNavigatorEntry map. Checks if the node pointer at offset +4 is non-null before freeing. 0x0066CB40 79 STL_rbtree_NavEntry__clear stl Clears a red-black tree for CNavigatorEntry map. Recursively destroys all child nodes starting from root's left child, then frees the 0x94-byte sentinel node. 0x0066CBA0 113 STL_map_NavEntry__clear_and_dealloc stl Clears and deallocates a CNavigatorEntry map. Destroys child tree nodes if root has children, then frees the 0x94-byte sentinel node. 0x0066CC20 81 STL_rbtree_NavEntry__dealloc_sentinel stl Deallocates the rbtree sentinel node (0x94 bytes) for CNavigatorEntry map. Only frees if the node pointer at offset +4 is non-null. 0x0066CC80 90 STL_vector_NavEntry__destroy_elements stl Destroys all elements in a CNavigatorEntry vector. Iterates through 32-byte elements calling STL_string_dtor on each element's embedded string. 0x0066CCE0 90 STL_rbtree_NavEntry__clear_and_dealloc stl Clears and deallocates a red-black tree for CNavigatorEntry map. Destroys all nodes recursively, then frees the 0x94-byte sentinel. Same as 0066cb40 but with different SEH unwind cookie. 0x0066CD40 135 STL_rbtree_NavEntry__destroy_node_0066cd40 stl Destroys a single rbtree node for CNavigatorEntry. Identical logic to 0066c620 - destroys 4 embedded strings per node. Second instantiation for a different map/set. 0x0066CDD0 5 STL_vector_NavEntry__clear_and_dealloc stl Clears and deallocates a CNavigatorEntry vector. Destroys all 32-byte elements (string dtors), frees the backing buffer, resets begin/end/capacity to 0. 0x0066CDE0 122 STL_rbtree_NavEntry__destroy_node_0066cde0 stl Destroys a single rbtree node for CNavigatorEntry. Destroys 4 embedded strings. Third instantiation, uses different SEH unwind indices (3,2,1,0) vs the 4,3,2,1 pattern in 0066c620. 0x0066CE60 219 CNavigatorDB__dtor game_map CNavigatorDB destructor. Sets vtable, destroys the rbtree map (clears nodes + frees sentinel), destroys the secondary rbtree set (clears + frees 0x20-byte sentinel), then destroys the primary rbtree map (clears + frees 0x94-byte sentinel). 0x0066CF40 65 STL_rbtree_NavEntry__destroy_value_0066cf40 stl Destroys a string value in an rbtree node for CNavigatorEntry. Wrapper around STL_string_dtor. Second instantiation for a different container/node type. 0x0066CF90 242 CAchievementMgr__find_or_insert_info game_skills Looks up achievement info by ID in the RB-tree map. If not found, allocates a new 0x94-byte info node, initializes it via CPacketHandler__processor, and inserts it into the tree. Returns pointer to data area (node+0x14). 0x0066D090 250 CAchievementMgr__find_or_insert_tab game_skills Looks up achievement tab entry by ID in the tab RB-tree. If not found, allocates a new 0x20-byte tab node with the key and empty vector, inserts into tree. Returns pointer to data area (node+0x14). 0x0066D190 250 CAchievementMgr__find_or_insert_tab_entry game_skills Same as find_or_insert_tab but used for a different tree. Allocates 0x20-byte nodes. Returns pointer to data area at node+0x14. 0x0066D290 266 CAchievementMgr__scalar_deleting_dtor game_skills Scalar deleting destructor for CAchievementMgr. Sets vtable, destroys both RB-trees (info tree with 0x94-byte nodes and tab tree with 0x20-byte nodes), frees all memory. Conditionally deletes 'this' if param_2 bit 0 is set. 0x0066D3A0 308 CAchievementMgr__get_instance game_skills Singleton getter for CAchievementMgr. Creates instance on first call (allocates 0x1c bytes, initializes two RB-trees for info and tabs). Calls load_lua_data to load achievement definitions from Lua script. Returns 1 on success, 0 on failure. 0x0066D4E0 31 CAchievementMgr__index_to_row_col game_skills Converts a flat achievement index to row/col coordinates. Divides index by this->stride (field at offset 0x8). Outputs quotient to param_3 (row) and remainder to param_4 (col). 0x0066D500 27 CAchievementMgr__destroy_instance game_skills Destroys the CAchievementMgr singleton. If the global instance (DAT_0138cf34) exists, calls its virtual destructor with delete flag=1, then sets the global pointer to NULL. 0x0066D520 17 CAchievementMgr__row_col_to_index game_skills Converts row/col coordinates to a flat index. Returns this->stride * row + col. 0x0066D540 252 CAchievementMgr__get_achievement_data game_skills Retrieves full achievement data by ID. Looks up the info node, then copies multiple string fields (name, description, resource strings at offsets 0x0, 0x18, 0x30), numeric fields (offset 0x48-0x54), and a sub-vector. Returns 1 if found, 0 if not. 0x0066D640 212 CAchievementMgr__get_name_by_id game_skills Returns the achievement name string (at info node offset 0x30) for a given achievement ID. Returns empty string if ID not found in the map. 0x0066D720 212 CAchievementMgr__get_reward_name_by_id game_skills Returns the reward name string (at info node offset 0x68) for a given achievement ID. Returns empty string if ID not found. 0x0066D800 2629 CAchievementMgr__build_all_entries game_skills Builds all achievement entries by iterating through the info and tab RB-trees. For each entry, copies string fields, numeric fields, reward vectors, and UI type data into the output tree. Handles both full rebuild (param_4=-1, iterates all rows) and single-entry mode. Returns 1 on success, 0 on failure. 0x0066E250 77 CAchievementMgr__get_reward_buff_id game_skills Returns the reward buff ID (int at info node offset 0x48) for a given achievement ID. Returns -1 (0xFFFFFFFF) if not found. 0x0066E2A0 212 CAchievementMgr__get_description_by_id game_skills Returns the achievement description string (at info node offset 0x18) for a given achievement ID. Returns empty string if not found. 0x0066E380 209 CAchievementMgr__get_first_string_by_id game_skills Returns the first string field (at info node base, offset 0x14 from tree node) for a given achievement ID. Returns empty string if not found. 0x0066E460 77 CAchievementMgr__get_reward_title_id game_skills Returns the reward title ID (int at info node offset 0x50) for a given achievement ID. Returns -1 (0xFFFFFFFF) if not found. 0x0066E4B0 381 CAchievementMgr__count_items_in_tabs game_skills Counts total achievement items across tabs. If param_2=0, returns total count from field at offset 0x10. If param_3=-1, iterates all rows summing vector sizes. Otherwise returns the vector size for a specific tab entry. 0x0066E630 966 CAchievementMgr__count_completed_achievements game_skills Counts completed achievements by iterating entries and checking CSkillMgr__get_skill_data_by_id for each. Counts entries where skill data byte at offset 1 equals 0x01. Supports full count (param_2=0), per-row count (param_3=-1), or single-tab count. 0x0066EA00 155 CAchievementMgr__find_achievement_position game_skills Searches the info RB-tree for an achievement containing a specific param_2 value in its vector (offsets 0x5-0x6 range). Returns 1 and sets row/col via index_to_row_col if found, 0 if not found. 0x0066EAA0 740 CAchievementMgr__load_lua_data game_skills Loads achievement data from a Lua script. Creates CLuaHost, registers base libs, then registers 7 Lua callbacks: InsertAchieveInfo, InsertAchieveResource, InsertAchieveRewardItem, InsertAchieveRewardTitle, InsertAchieveRewardBuff, InsertAchieveUIType, SetAchieveIDByTab. Decrypts the Lua filename via XOR, loads and executes it. Shows MessageBox on error. Class name: CAchievementMgr. 0x0066ED90 984 CAchievementMgr__insert_achievement_info game_skills Inserts a full achievement info entry. Looks up by ID; if exists, returns duplicate error string. Otherwise creates a new entry with 3 string fields, numeric fields, an empty reward vector, and a UI type string. Calls complex_handler for tree construction. Returns result struct with success/error status and message. 0x0066F170 724 CAchievementMgr__insert_achievement_resource game_skills Inserts a resource entry into an existing achievement. Looks up achievement by ID, then searches its resource vector for duplicates by string comparison. If no duplicate found, appends the new resource entry. Returns success/error result with descriptive message. 0x0066F450 283 CAchievementMgr__set_reward_buff game_skills Sets the reward buff field (at info node offset 0x68) for an achievement. Looks up by ID, sets the value if found. Returns result with success or 'cannot be found' error message. 0x0066F570 283 CAchievementMgr__set_reward_item game_skills Sets the reward item field (at info node offset 0x60) for an achievement. Looks up by ID, sets the value if found. Returns result with success or 'cannot be found' error message. 0x0066F690 283 CAchievementMgr__set_reward_title game_skills Sets the reward title field (at info node offset 0x64) for an achievement. Looks up by ID, sets the value if found. Returns result with success or 'cannot be found' error message. 0x0066F7B0 323 CAchievementMgr__set_ui_type game_skills Sets the UI type for an achievement. Stores an integer at offset 0x78 and a string at offset 0x7c of the info node. Looks up by ID, returns result with success or 'cannot be found' error. 0x0066F900 106 CAchievementMgr__has_rewards game_skills Checks if an achievement has any rewards. Returns 1 if any of the reward fields (at offsets 0x4c, 0x50, 0x54 of info node) are greater than 0. Returns 0 if no rewards or ID not found. 0x0066F970 369 CAchievementMgr__add_tab_to_achievement game_skills Adds a tab number to an achievement's tab vector. Computes flat index from row*stride+col, looks up the tab entry, checks for duplicate tab number. If not duplicate, appends to the vector. Returns error with 'duplicate achievement tab number' message if already present. 0x0066FAF0 92 CAchievementMgr__destroy_string_array game_skills Iterates from param_1 to param_2 in 0x20-byte strides, calling STL_string_dtor on each element. Used to destroy an array of string-containing structures. 0x0066FB50 517 Insert_node stl MSVC STL _Insert_node for std::_Tree. Inserts a new node into the red-black tree, performs rotations and recoloring to maintain RB-tree invariants. Multiple template instantiations (uint, string, PCTableEntry). 0x0066FD60 177 CAchievementMgr__clear_string_vector game_skills Clears a vector of 0x20-byte string entries. Iterates each element calling STL_string_dtor, then frees the backing memory (with aligned allocation handling for large buffers). Resets vector pointers to zero. 0x0066FE20 10 STL_vector_throw_length_error_0066fe20 stl Throws std::length_error with 'vector too long' message. Called when a vector exceeds its maximum size. 0x0066FE30 92 STL_vector_allocate_aligned_32 stl Allocates memory for a vector of 0x20-byte (32-byte) elements. Validates count < 0x8000000, computes total size (count*32). For allocations > 0xFFF, uses aligned allocation with 32-byte alignment and stores original pointer at offset -4. 0x0066FE90 58 STL_vector_free_aligned_32 stl Frees memory for a vector of 0x20-byte elements. For large allocations (> 0xFFF bytes), retrieves the original unaligned pointer from offset -4 before freeing. 0x0066FED0 617 CAchievementMgr__lua_InsertAchieveInfo game_skills Lua callback for InsertAchieveInfo. Validates 5 args: number (ID), 3 strings (name/desc/resource), number. Calls insert_achievement_info with parsed values. Pushes boolean success and error string to Lua. Returns 2 values. 0x00670140 475 CAchievementMgr__lua_InsertAchieveResource game_skills Lua callback for InsertAchieveResource. Validates 4 args: number (ID), string (resource), 2 numbers. Calls insert_achievement_resource. Pushes boolean success and error string to Lua. Returns 2 values. 0x00670320 367 CAchievementMgr__lua_InsertAchieveRewardBuff game_skills Lua callback for InsertAchieveRewardBuff. Takes 2 number args (achievement ID, buff value). Calls set_reward_buff. Pushes boolean success and error string to Lua. Returns 2 values. 0x00670490 367 CAchievementMgr__lua_InsertAchieveRewardItem game_skills Lua callback for InsertAchieveRewardItem. Takes 2 number args (achievement ID, item value). Calls set_reward_item. Pushes boolean success and error string to Lua. Returns 2 values. 0x00670600 367 CAchievementMgr__lua_InsertAchieveRewardTitle game_skills Lua callback for InsertAchieveRewardTitle. Takes 2 number args (achievement ID, title value). Calls set_reward_title. Pushes boolean success and error string to Lua. Returns 2 values. 0x00670770 587 CAchievementMgr__lua_InsertAchieveUIType game_skills Lua callback for InsertAchieveUIType. Takes 2 numbers and 1 string arg (achievement ID, UI type value, UI type string). Calls set_ui_type. Pushes boolean success and error string to Lua. Returns 2 values. 0x006709C0 427 CAchievementMgr__lua_SetAchieveIDByTab game_skills Lua callback for SetAchieveIDByTab. Takes 3 number args (achievement ID, tab row, tab col). Calls add_tab_to_achievement. Pushes boolean success and error string to Lua. Returns 2 values. 0x00670B70 123 CCheckAttendanceMgr__destroy_tree_nodes_recursive attendance Recursively destroys RB-tree nodes. Traverses left and right children, resets each node's vtable pointer to PTR__scalar_deleting_destructor, then frees the 0x20-byte node. Stops at sentinel nodes (is_nil flag set). 0x00670BF0 75 CCheckAttendanceMgr__rbtree_lower_bound attendance Performs lower_bound search in the achievement RB-tree. Traverses from root, comparing keys. Returns a result struct with the found node pointer, comparison flag, and parent/bound pointers for potential insertion. 0x00670C40 146 CCheckAttendanceMgr__ctor attendance Constructor for CAchievementMgr. Sets vtable, initializes fields (count=0, stride=0, total=0, initialized flag=0), allocates a 0x20-byte RB-tree sentinel node with self-referencing pointers and is_nil flags set. 0x00670CE0 67 CCheckAttendanceMgr__free_sentinel attendance Frees the RB-tree sentinel node (at this+4) if it's not NULL. Frees 0x20 bytes. 0x00670D30 76 CCheckAttendanceMgr__destroy_tree attendance Destroys the full RB-tree. Recursively destroys all child nodes via destroy_tree_nodes_recursive, then frees the sentinel/header node (0x20 bytes). 0x00670D90 111 CCheckAttendanceMgr__reset_and_free_sentinel attendance Resets the vtable pointer on a tree node to PTR__scalar_deleting_destructor, then frees the sentinel node (0x20 bytes) if non-null. 0x00670E00 78 CCheckAttendanceMgr__free_sentinel_simple attendance Simple sentinel node free. Frees the 0x20-byte node at this+4 if non-null. Simpler version without vtable reset. 0x00670E50 87 CCheckAttendanceMgr__destroy_tree_and_sentinel attendance Destroys RB-tree and frees sentinel. Recursively destroys all child nodes via destroy_tree_nodes_recursive, then frees the 0x20-byte sentinel/header node. 0x00670EB0 67 CCheckAttendanceMgr__set_node_vtable attendance Sets the vtable pointer on a tree node (at this+4 offset 0x14) to PTR__scalar_deleting_destructor. Used during tree node initialization or cleanup. 0x00670F00 108 CCheckAttendanceMgr__dtor attendance CCheckAttendanceMgr destructor. Sets vtable, recursively destroys rbtree nodes, frees sentinel node. 0x00670F80 133 CCheckAttendanceMgr__scalar_deleting_dtor attendance CCheckAttendanceMgr scalar deleting destructor. Calls dtor logic then optionally frees the 0x18-byte object. 0x00671010 36 `scalar_deleting_destructor' other MemMapBase scalar deleting destructor. Library function (VS2017/2019). Sets vtable, optionally frees 0xc-byte object. 0x00671040 266 CCheckAttendanceMgr__get_or_create_singleton attendance Singleton accessor for CCheckAttendanceMgr (stored in DAT_0138cf38). Creates instance if null, initializes rbtree sentinel, then loads Lua config via load_lua_config. Returns 1 on success, 0 on failure. 0x00671150 27 CCheckAttendanceMgr__destroy_singleton attendance Destroys CCheckAttendanceMgr singleton (DAT_0138cf38). Calls virtual destructor then sets pointer to null. 0x00671170 94 CCheckAttendanceMgr__find_config_by_key attendance Looks up attendance config by integer key in the rbtree. Uses rbtree_lower_bound, returns the 8-byte value pair at offset +0x18/+0x1c if found, or zeroes if not. 0x006711E0 28 CCheckAttendanceMgr__is_key_in_range attendance Checks if param_2 is within the range [this+8, this+0xc]. Returns 1 if in range, 0 otherwise. Used to validate attendance day/key bounds. 0x00671200 422 CCheckAttendanceMgr__load_lua_config attendance Loads attendance config from Lua. Creates CLuaHost, registers InsertCheckAttendanceConfig and InsertCheckAttendanceReward callbacks, loads System_CheckAttendance.lub, calls main(). Shows MessageBox on error. Returns 1 on success. 0x006713B0 543 CCheckAttendanceMgr__reload_lua_config attendance Reloads attendance config for a specific .lub file (path from string param). Clears existing rbtree data first, then loads the specified Lua file with InsertCheckAttendanceConfig/InsertCheckAttendanceReward callbacks. Shows MessageBox on error. 0x006715D0 13 CCheckAttendanceMgr__set_max_reward_count attendance Sets max reward count field at this+0xc. 0x006715E0 349 CCheckAttendanceMgr__insert_reward_entry attendance Inserts a reward entry into the attendance rbtree. Key is param_2, value is (param_3, param_4). Uses rbtree_lower_bound to check for existing key; if not found, allocates a 0x20-byte node and inserts via Insert_node. 0x00671740 13 CCheckAttendanceMgr__set_start_day attendance Sets the start day field at this+8. 0x00671750 517 STL_rbtree_insert_node stl STL std::_Tree_val::_Insert_node. Red-black tree node insertion with rebalancing (rotations and recoloring). Library function from Visual Studio 2019. 0x00671960 184 CCheckAttendanceMgr__lua_insert_config attendance Lua callback for InsertCheckAttendanceConfig. Takes 2 numeric args from Lua stack: start day and max reward count. Stores them in the singleton at offsets +8 and +0xc. Returns (true, "OK") or (false, error_msg). 0x00671A20 710 CCheckAttendanceMgr__lua_insert_reward attendance Lua callback for InsertCheckAttendanceReward. Takes 3 args: day (number), check type (string), reward item ID (number). Validates args, inserts into singleton rbtree via insert_reward_entry. Returns (true, "OK") or (false, error_msg). 0x00671CF0 439 STL_vector_8byte_insert_realloc_00671cf0 stl STL vector reallocation for 8-byte elements (pairs). Grows capacity by 1.5x, copies existing elements, inserts new element at position, frees old buffer. Updates begin/end/capacity pointers. 0x00671EB0 521 STL_vector_16byte_insert_realloc stl STL vector reallocation for 16-byte elements. Grows capacity by 1.5x, moves existing elements via move_range, inserts new element via move_element at position, destroys old elements, frees old buffer. 0x006720C0 144 STL_rbtree_destroy_nodes_recursive_30byte stl Recursively destroys rbtree nodes (0x30-byte node size). Walks left child, destroys string at node, frees node memory, continues to right child. Stops at sentinel (isNil flag at +0xd). 0x00672150 131 STL_rbtree_destroy_nodes_recursive_20byte stl Recursively destroys rbtree nodes (0x20-byte node size). Walks left child, clears node data via clear_reward_tree, frees node memory, continues to right child. Stops at sentinel. 0x006721E0 75 STL_rbtree_lower_bound_int_key_006721e0 stl STL rbtree lower_bound for integer keys. Traverses tree comparing key at node+0x10, returns iterator pointing to first element not less than search key. 0x00672230 175 STL_vector_16byte_move_range stl Moves a range of 16-byte elements from source to destination buffer. Transfers 4 dwords per element, zeroing the source element's middle fields (move semantics). 0x006722E0 113 STL_vector_16byte_move_element stl Moves a single 16-byte element from source to destination. Copies 4 dwords and zeroes the source's middle fields (move semantics). 0x00672360 203 CPetEvolutionMgr__ctor enchant CPetEvolutionMgr constructor. Sets vtable, initializes two rbtree sentinels (0x20-byte for rewards, 0x30-byte for recipes), a vector for auto-feeding list, and sets initialized flag. 0x00672430 67 CPetEvolutionMgr__free_node_allocator enchant Frees the 0x20-byte rbtree sentinel/header node at this+4 if non-null. 0x00672490 76 CPetEvolutionMgr__destroy_recipe_tree enchant Destroys recipe tree nodes (0x30-byte) recursively via STL_rbtree_destroy_nodes_recursive_30byte, then frees the sentinel node. 0x006724F0 76 CPetEvolutionMgr__destroy_reward_tree enchant Destroys reward tree nodes (0x20-byte) recursively via STL_rbtree_destroy_nodes_recursive_20byte, then frees the sentinel node. 0x00672550 116 CPetEvolutionMgr__clear_reward_tree_and_free enchant Clears reward tree data via STL_vector_16byte_destroy_elements_and_free on the node at this+4, then frees the 0x20-byte sentinel node if non-null. 0x006725D0 78 CPetEvolutionMgr__free_reward_node_allocator enchant Frees the reward rbtree sentinel node (0x20-byte allocation at this+4) if non-null. 0x00672620 91 CPetEvolutionMgr__destroy_all_recipe_vectors enchant Iterates through all 16-byte elements in a vector and calls STL_vector_8byte_clear_and_free on each to destroy embedded sub-vectors. 0x00672680 87 CPetEvolutionMgr__destroy_recipe_tree_full enchant Full recipe tree destruction: recursively destroys 0x30-byte rbtree nodes (which contain strings) then frees the sentinel node. 0x006726E0 87 CPetEvolutionMgr__destroy_reward_tree_full enchant Full reward tree destruction: recursively destroys 0x20-byte rbtree nodes then frees the sentinel node. 0x00672740 68 CPetEvolutionMgr__clear_reward_tree_wrapper enchant Wrapper that calls STL_vector_16byte_destroy_elements_and_free on the reward tree data member. 0x00672790 68 CPetEvolutionMgr__dtor_string_member enchant Destructor wrapper for a string member. Calls STL_string_dtor. 0x006727E0 68 CPetEvolutionMgr__clear_auto_feeding_list enchant Clears the auto-feeding pet egg ID list (vector of 4-byte ints) via json__vector_clear_and_free_4byte. 0x00672830 68 CPetEvolutionMgr__dtor_helper enchant Destructor helper that delegates to another cleanup function (CPacketBuffer__operation_00673a60). 0x00672880 129 STL_vector_8byte_clear_and_free stl Clears and frees an STL vector of 8-byte elements. Handles aligned allocation cleanup (checks if buffer >= 0x1000 bytes, reads pre-header pointer for aligned free). 0x00672910 178 STL_vector_16byte_destroy_elements_and_free stl Destroys all elements in a vector of 16-byte entries (calls STL_vector_8byte_clear_and_free on each element), then frees the vector buffer itself. Handles aligned allocation. 0x006729D0 236 CPetEvolutionMgr__reset enchant Resets CPetEvolutionMgr to initial state. Sets vtable, clears both rbtrees (reward 0x20-byte and recipe 0x30-byte nodes), resets sentinels, clears auto-feeding vector, then frees tree allocations. 0x00672AC0 68 CPetEvolutionMgr__clear_recipe_vectors_wrapper enchant Wrapper that calls STL_vector_8byte_clear_and_free to clear recipe material vectors. 0x00672B10 257 CPetEvolutionMgr__scalar_deleting_dtor enchant CPetEvolutionMgr scalar deleting destructor. Resets all data (trees, vectors), frees allocations, optionally frees the 0x24-byte object itself. 0x00672C20 327 CPetEvolutionMgr__get_or_create_singleton enchant Singleton accessor for CPetEvolutionMgr (stored in DAT_0138cf3c). Creates instance if null with two rbtrees and auto-feeding vector, then loads Lua config. Returns 1 on success, 0 on failure. 0x00672D70 27 CPetEvolutionMgr__destroy_singleton enchant Destroys CPetEvolutionMgr singleton (DAT_0138cf3c). Calls virtual destructor then sets pointer to null. 0x00672D90 553 CPetEvolutionMgr__get_recipe_item_ids enchant Looks up a pet evolution recipe by integer key in the rbtree. Returns a result struct: success flag + vector of item IDs (copied from the recipe node's item list at +0x14/+0x18). Returns empty result if key not found. 0x00672FC0 664 CPetEvolutionMgr__get_materials_for_recipe enchant Looks up materials for a specific recipe entry. Finds recipe by key (param_3) in rbtree, then searches that recipe's entries for one matching param_4 (item ID). Returns a result struct with vector of (ITID, count) pairs. Returns empty if not found. 0x00673260 371 CPetEvolutionMgr__load_lua_config enchant Loads pet evolution config from Lua. Creates CLuaHost, registers InsertEvolutionRecipeLGU and InsertPetAutoFeeding callbacks, loads PetEvolutionCln_true.lub, calls main(). Shows MessageBox on error via CPetEvolutionMgr caption. 0x006733E0 224 CPetEvolutionMgr__add_auto_feeding_pet_egg enchant Adds a pet egg ID to the auto-feeding list. Checks for duplicates first; if already present returns error string, otherwise appends to the auto-feeding vector. Returns result struct with success flag and message. 0x006734C0 760 CPetEvolutionMgr__add_recipe_entry enchant Adds a full recipe entry to the pet evolution system. Looks up or creates the rbtree node for the recipe key (param_3), then finds or creates the sub-entry for item ID (param_4), appending material pairs (param_5, param_6). Checks for duplicate materials. 0x006737C0 39 CPetEvolutionMgr__has_auto_feeding_pet enchant Checks if a pet egg ID exists in the auto-feeding list. Iterates the vector at this+0x18 comparing each entry to param_2. Returns 1 if found, 0 if not. 0x006737F0 93 STL_vector_16byte_destroy_range stl Destroys a range of 16-byte vector elements by calling STL_vector_8byte_clear_and_free on each one. Iterates from param_1 to param_2 in 16-byte steps. 0x00673850 517 STL_rbtree_insert_node_00673850 stl STL std::_Tree_val::_Insert_node. Red-black tree node insertion with rebalancing. Duplicate instance for a different tree specialization. Library function from Visual Studio 2019. 0x00673A60 129 STL_vector_deallocate_8byte_00673a60 stl Frees memory for an STL vector of 8-byte elements. Handles aligned allocation cleanup for large allocations (>0xFFF bytes). Zeros out begin/end/capacity pointers. 0x00673AF0 44 STL_copy_pairs_forward stl STL template instantiation: STL copy pairs forward 0x00673B20 45 STL_copy_pairs_with_offset stl Copies 8-byte pairs using offset-based addressing. Computes offset between src and dst, then copies each 8-byte element pair. 0x00673B50 10 STL_vector_throw_length_error_00673b50 stl Throws std::_Xlength_error("vector too long") - called when vector exceeds max_size. 0x00673B60 10 STL_vector_throw_length_error_00673b60 stl Throws std::_Xlength_error("vector too long") - duplicate instance for a different vector template instantiation. 0x00673B70 92 STL_vector_allocate_8byte_00673b70 stl Allocates memory for an STL vector of 8-byte elements. Validates count < 0x20000000, multiplies by 8, uses aligned allocation for sizes >0xFFF. 0x00673BD0 62 deallocate stl phmap container_internal::Deallocate<8> - deallocates 8-byte aligned memory blocks. Handles aligned allocation bookkeeping for blocks >0xFFF. 0x00673C10 58 phmap_deallocate_16byte game_core Deallocates memory for 16-byte elements (param_2 * 16 bytes). Handles aligned allocation bookkeeping for blocks >0xFFF. 0x00673C50 562 lua_insert_pet_evolution_recipe lua Lua callback: InsertRecipe for pet evolution. Takes 4 number args from Lua stack: PetEgg item ID, Revolution PetEgg item ID, material item ID, material count. Validates all args are numbers and valid pet item IDs, then calls the recipe insertion helper. Returns (bool, string) on Lua stack. 0x00673E90 357 lua_insert_pet_auto_feeding lua Lua callback: InsertPetAutoFeeding. Takes 1 number arg (pet egg item ID), validates it, then calls the auto-feeding insertion helper. Returns (bool, string) on Lua stack. 0x00674000 21 fmt__custom_format_wrapper game_core {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 game_core {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 game_core {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 game_core {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 game_core {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. 0x00674290 333 STL_vector_push_back_8byte stl STL vector push_back with reallocation for 8-byte elements. Grows capacity by 1.5x, copies existing elements to new buffer, inserts new element, frees old buffer. 0x00674400 103 STL_rbtree_recursive_delete_20byte_nodes stl Recursively deletes all nodes in an RB-tree with 0x14-byte (20-byte) nodes. Walks right subtree recursively, then iterates left via the next pointer, freeing each node. 0x00674470 159 STL_rbtree_recursive_delete_52byte_nodes stl Recursively deletes all nodes in an RB-tree with 0x34-byte (52-byte) nodes. Each node contains a linked list and a string that must be destroyed before freeing. 0x00674510 121 STL_rbtree_recursive_delete_536byte_nodes stl Recursively deletes all nodes in an RB-tree with 0x218-byte (536-byte) nodes. Calls a destructor helper (006773a0 via 00677010) before freeing each node. 0x00674590 190 STL_rbtree_recursive_delete_260byte_nodes stl Recursively deletes all nodes in an RB-tree with 0x104-byte (260-byte) nodes. Each node contains a 3-element struct array and a string that are destroyed before freeing. 0x00674650 75 STL_rbtree_lower_bound_int_key_00674650 stl RB-tree lower_bound search with integer key comparison. Traverses left/right based on key comparison, returns iterator pointing to first element not less than key. 0x006746A0 75 _Find_lower_bound<> stl MSVC STL _Tree::_Find_lower_bound template instantiation for unsigned int keys. Returns _Tree_find_result with iterator to first element >= key. 0x006746F0 75 _Find_lower_bound<> stl MSVC STL _Tree::_Find_lower_bound template instantiation (duplicate for different set template). Returns _Tree_find_result with iterator to first element >= key. 0x00674740 75 _Find_lower_bound<> stl MSVC STL _Tree::_Find_lower_bound template instantiation (third instance for yet another set template). Returns _Tree_find_result with iterator to first element >= key. 0x00674790 129 STL_rbtree_lower_bound_string_key stl RB-tree lower_bound search with string key comparison. Uses std::_Traits_compare to compare node string values against the search key. Returns iterator to first element >= key. 0x00674820 147 fmt__named_arg_node_dtor game_core {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 game_core {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 game_core {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 game_core {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 game_core {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. 0x00674FB0 303 STL_string_grow_and_insert_fill stl STL string internal: Grows the string buffer and inserts fill characters. Reallocates if needed (1.5x growth), copies prefix, fills with character, copies suffix. Handles SSO to heap transition. 0x006750E0 77 fmt__named_arg_list_find_by_name game_core fmt: named arg list find by name 0x00675130 159 fmt__format_int_with_2_args game_core {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 game_core {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 game_core {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 game_core {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 game_core {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 game_core {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 game_core {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 game_core {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 game_core {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 game_core {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. 0x006756E0 388 STL_string_concat stl STL string concatenation: Concatenates two std::string objects into a new result string. Tries to reuse source buffers if spare capacity allows, otherwise allocates a new buffer. Handles SSO optimization. 0x00675870 224 CPetEvolutionDBNode__move_ctor enchant CPetEvolutionDB node move constructor. Copies first member (type indicator), moves 7 strings via CPetEvolutionEntry__move_strings, moves a second string member, then copy-constructs a 3-element struct array. 0x00675950 52 CPetEvolutionDBNode__trivial_move_ctor enchant CPetEvolutionDB node trivial move constructor for a 3-member (12-byte) struct. Moves 3 undefined4 values from source to destination, zeroing the source. 0x00675990 450 CPetEvolutionDB__ctor enchant CPetEvolutionDB constructor. Sets vtable pointer, allocates and initializes 6 RB-tree sentinel nodes (sizes: 0x218, 0x104, 0x14, 0x14, 0x40, 0x34 bytes). Clears all tree counts and calls tree-clear operations. Sets initial state flag and size=0x18. 0x00675B60 774 CPetEvolutionEntry__move_ctor enchant CPetEvolutionEntry move constructor. Moves a large (~0x200 byte) pet evolution entry structure including: string sub-structure (via move_strings), byte flags, vector data, multiple short fields, raw data blocks, two SSO strings, a vector of 8-byte pairs, and trailing int fields. 0x00675E70 662 CPetEvolutionEntry__copy_ctor enchant CPetEvolutionEntry copy constructor. Deep-copies a ~0x200 byte pet evolution entry including: string sub-structure, byte flags, vector of 24-byte elements (copy-constructed), short fields, raw data, two SSO strings (copy-constructed), vector of 8-byte pairs (copy-constructed), and trailing ints. 0x00676110 394 CPetEvolutionEntry__reset enchant Resets a CPetEvolutionEntry to default state. Clears the sub-structure via CPacketManager__complex_handler_006765c0, sets flag byte to 1, clears vector of 24-byte elements (destroying strings within), clears both SSO strings, clears vector of 8-byte pairs, fills 3 numeric fields with 31999 and shorts with 0xFFFF, zeros 0x99 bytes of raw data. 0x006762A0 573 CPetEvolutionEntry__move_strings enchant Move-constructs the string sub-structure of a CPetEvolutionEntry. Moves 7 SSO strings (at offsets 0x04-0x94, each 0x18 bytes apart) plus 2 trailing int fields at 0xAC and 0xB0. Total sub-structure size ~0xB4 bytes. 0x006764E0 222 CItemOptionDB__entry_copy_ctor enchant Copy constructor for item option DB entry. Copies 1 byte + 7 std::strings (at offsets 0x4, 0x1c, 0x34, 0x4c, 0x64, 0x7c, 0x94) + 2 ints (at 0xac, 0xb0) from source to destination. 0x006765C0 424 CItemOptionDB__entry_default_ctor enchant Default constructor for item option DB entry (0xB4 bytes). Initializes 1-byte type flag, 7 empty std::strings, and zeroes out 2 trailing ints at offsets 0xac and 0xb0. 0x00676770 293 CItemOptionDB__extended_entry_ctor enchant Extended entry constructor. Calls entry_default_ctor for base 0xB4 fields, then initializes an additional string at 0xB4 and 3 vectors of string-structs (0xC-byte elements, 3 each) at 0xCC/0xD8/0xE4, clearing them immediately. 0x006768A0 67 CItemOptionDB__delete_20byte_member enchant Deletes the 0x14-byte (20-byte) allocated member at this+4 if non-null. SEH-protected with security cookie. 0x006768F0 67 CItemOptionDB__delete_52byte_member enchant Deletes the 0x34-byte (52-byte) allocated member at this+4 if non-null. SEH-protected with security cookie. 0x00676940 70 CItemOptionDB__delete_536byte_member enchant Deletes the 0x218-byte (536-byte) allocated member at this+4 if non-null. SEH-protected with security cookie. 0x00676990 70 CItemOptionDB__delete_260byte_member enchant Deletes the 0x104-byte (260-byte) allocated member at this+4 if non-null. SEH-protected with security cookie. 0x006769F0 76 CItemOptionDB__destroy_rbtree_52byte_nodes enchant Destroys an rbtree with 0x34-byte (52-byte) nodes. Recursively deletes all child nodes then frees the root sentinel node. 0x00676A50 79 CItemOptionDB__destroy_rbtree_536byte_nodes enchant Destroys an rbtree with 0x218-byte (536-byte) nodes. Recursively deletes all child nodes then frees the root sentinel node. 0x00676AB0 79 CItemOptionDB__destroy_rbtree_260byte_nodes enchant Destroys an rbtree with 0x104-byte (260-byte) nodes. Recursively deletes all child nodes then frees the root sentinel node. 0x00676B10 111 CItemOptionDB__destroy_nested_rbtree_20byte enchant Destroys a nested rbtree structure. Each 0x14-byte node contains a child rbtree of 20-byte nodes. Iterates through parent tree, recursively destroying child trees, then frees each parent node and the root. 0x00676B90 78 CItemOptionDB__eh_delete_20byte_member enchant Exception handler variant: deletes the 0x14-byte allocated member at this+4 if non-null. Used in EH unwind tables. 0x00676BE0 139 CItemOptionDB__destroy_52byte_entry enchant Destroys a 0x34-byte entry: first destroys its string linked list and string members, then frees the 0x34-byte allocation at this+4. 0x00676C70 107 CItemOptionDB__destroy_536byte_entry enchant Destroys a 0x218-byte entry: calls the extended entry destructor helper (00677010) then frees the 0x218-byte allocation at this+4. 0x00676CE0 170 CItemOptionDB__destroy_260byte_entry enchant Destroys a 0x104-byte entry: destroys 3-element vector of structs, a string, and calls base string destructor chain (006773a0), then frees the 0x104-byte allocation at this+4. 0x00676D90 78 CItemOptionDB__eh_delete_20byte_member_00676d90 enchant Exception handler variant: deletes 0x14-byte allocated member at this+4 if non-null. Duplicate pattern used in a different EH unwind context. 0x00676DE0 78 CItemOptionDB__eh_delete_52byte_member enchant Exception handler variant: deletes 0x34-byte allocated member at this+4 if non-null. Used in EH unwind tables. 0x00676E30 81 CItemOptionDB__eh_delete_536byte_member enchant Exception handler variant: deletes 0x218-byte allocated member at this+4 if non-null. Used in EH unwind tables. 0x00676E90 81 CItemOptionDB__eh_delete_260byte_member enchant Exception handler variant: deletes 0x104-byte allocated member at this+4 if non-null. Used in EH unwind tables. 0x00676EF0 87 CItemOptionDB__eh_destroy_rbtree_52byte enchant Exception handler variant: destroys rbtree with 0x34-byte nodes. Recursively deletes all child nodes then frees root sentinel. Used in EH unwind. 0x00676F50 90 CItemOptionDB__eh_destroy_rbtree_536byte enchant Exception handler variant: destroys rbtree with 0x218-byte nodes. Recursively deletes all child nodes then frees root sentinel. Used in EH unwind. 0x00676FB0 90 CItemOptionDB__eh_destroy_rbtree_260byte enchant Exception handler variant: destroys rbtree with 0x104-byte nodes. Recursively deletes all child nodes then frees root sentinel. Used in EH unwind. 0x00677010 147 CItemOptionDB__destroy_extended_entry_fields enchant Destroys extended entry fields: calls Ench__tree destructor, destroys 2 strings, destroys string vector, then calls base string destructor chain (006773a0) to clean up the 7 base strings. 0x006770B0 127 CItemOptionDB__destroy_260byte_entry_fields enchant Destroys fields of a 260-byte entry: destroys 3-element vector of structs at offset 0xD0, a string, then calls base string destructor chain (006773a0). 0x00677130 65 CItemOptionDB__destroy_nested_rbtree_wrapper enchant Wrapper that calls CItemOptionDB__destroy_nested_rbtree_20byte to destroy a nested rbtree. SEH-protected. 0x00677190 276 CItemOptionDB__dtor enchant CItemOptionDB destructor. Sets vtable pointer, then destroys 5 container members: 52-byte rbtree (offset 0xD*4), 0x40-byte rbtree (offset 0xB*4), 2 nested rbtrees, 260-byte rbtree (offset 3*4), and 536-byte rbtree (offset 1*4). 0x006772B0 86 CItemOptionDB__destroy_52byte_entry_fields enchant Destroys 52-byte entry fields: destroys string linked list, then destroys one string member. 0x00677310 134 CItemOptionDB__destroy_extended_entry_fields_00677310 enchant Destroys extended entry fields (variant): calls Ench__tree destructor, destroys 2 strings, destroys string vector, then calls base string destructor chain. Same pattern as 00677010 but in a different EH unwind context. 0x006773A0 150 CItemOptionDB__destroy_base_entry_strings enchant Destroys the 7 base std::string members of an item option entry. Calls STL_string_dtor 7 times sequentially with descending unwind state indices. 0x00677440 114 CItemOptionDB__destroy_260byte_entry_fields_00677440 enchant Destroys 260-byte entry fields (variant): destroys 3-element vector of structs at offset 0xCC, a string, then calls base string destructor chain. Different offset from 006770b0 variant. 0x006774C0 243 CItemOptionDB__find_or_insert_536byte_entry enchant Finds or inserts an entry in a uint-keyed rbtree map of 0x218-byte (536-byte) values. Acts like std::map::operator[]: finds lower_bound, inserts new node with CPetEvolutionEntry__reset if not found, returns pointer to value at node+0x18. 0x006775C0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00677620 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00677680 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x006776E0 395 fmt__parse_and_validate_format_spec game_core 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. 0x00677870 297 CItemOptionDB__scalar_deleting_dtor enchant CItemOptionDB scalar deleting destructor. Same as CItemOptionDB__dtor but additionally frees the 0x3C-byte object itself if bit 0 of param_2 is set (scalar delete flag). 0x006779A0 604 CItemOptionDB__insert_or_assign_string_entry enchant Finds or inserts into a string-keyed rbtree map (at this+0x2C). If key not found, allocates a new 0x40-byte node using fmt__format_arg_store_move_ctor to initialize its string value. If found, overwrites the existing value string at node+0x28. Acts like std::map insert_or_assign for string-keyed entries. 0x00677C50 159 CItemOptionDB__get_instance enchant Singleton factory for CItemOptionDB. Allocates 0x3C bytes and calls CPetEvolutionDB__ctor if the global instance (DAT_0138cf40) is null. Returns 1 on success, 0 on failure. Destroys the instance via vtable call if the init flag at offset 0x14 is not set. 0x00677D00 27 CItemOptionDB__destroy_instance enchant Destroys the CItemOptionDB singleton. Calls the virtual destructor (with scalar delete flag=1) on the global instance at DAT_0138cf40, then sets it to null. 0x00677D20 85 CItemOptionDB__erase_entry_by_id enchant Erases an entry from an rbtree by uint key (param_2). Finds the node via lower_bound, compares key, and if found and not equal to end iterator, erases the node using CPacketSystem__bulk_processor_0067cb80 and frees the 0x14-byte node. 0x00677D80 433 CItemOptionDB__format_date_string enchant Formats an expiration/date string for item options. If version < 0x7B3, returns empty string. Otherwise uses message text 0x893 with format "{0:04}/{1:02}/{2:02}/{3:02}" to format year/month/day/hour from fields at this+0xC4..0xCC. 0x00677F40 353 CItemOptionDB__find_category_name_by_id enchant Looks up a category name by integer key in a string-keyed rbtree (at this+0x34). Uses lower_bound to find the entry. If found, returns a copy of the value string at node+0x14. If not found, returns an empty string. Result is copy-constructed into output param. 0x006780B0 4584 CItemOptionDB__build_option_description enchant Builds a full item option description string from bitflags. Checks 21+ individual bitflags in param_2 (0x10, 0x20, 0x40, 0x80, 0x100-0x8000, 0x10000-0x4000000) and appends corresponding message text from CMessageStringTable (IDs 0x8D7-0x8ED). Also appends min/max range values (param_3/param_4) with appropriate separators. Uses {fmt} formatting throughout. 0x006792A0 557 CItemOptionDB__find_quest_name_by_string_key enchant Looks up a quest/category name by string key in the rbtree at this+0x2C. If found, copies the value string from node+0x28. If not found, returns the default literal "QUEST". Result is copy-constructed into output param. 0x006794D0 1091 CItemOptionDB__build_skill_stat_description enchant Builds a skill/stat description string for an item option slot (param_3=slot index 0-2). Returns empty string if slot index >= 3 or >= max slots (this+0xD2). Reads name string, min/max level values from slot-indexed fields. Formats as "Name Lv.X~Lv.Y" or "Name Lv.X" with level range info using message text 0x7EE and {fmt} formatting. Special case: if skill type is 31999, delegates to build_option_description. 0x00679920 222 CItemOptionDB__find_or_init_enchant_entry enchant Finds an enchant entry by uint ID in the rbtree at this+4. If found, returns pointer to value at node+0x18. If not found, lazy-initializes a static default entry (DAT_0138cf50) using CPetEvolutionEntry__reset with atexit cleanup, and returns that default. 0x00679A00 65 CItemOptionDB__find_enchant_entry_by_id enchant Finds an enchant entry by uint ID in the rbtree at this+4. Returns pointer to value at node+0x18 if found, or 0 (null) if not found. Simple lookup without lazy initialization. 0x00679A50 160 CItemOptionDB__find_in_selected_map enchant Finds an entry by uint ID in one of two rbtree maps depending on param_2 (bool selector). If param_2 is true, searches the map at this+4 and returns value at node+0x18. If false, searches the map at this+0xC and returns value at node+0x14. Returns 0 if not found. 0x00679AF0 222 CItemOptionDB__find_or_init_option_entry enchant Finds an option entry by uint ID in the rbtree at this+0xC. If found, returns pointer to value at node+0x14. If not found, lazy-initializes a static default entry (DAT_0138d158) using extended_entry_ctor with atexit cleanup (atexit_packet_array_destroy), and returns that default. 0x00679BD0 65 CItemOptionDB__find_option_entry_by_id enchant Finds an option entry by uint ID in the rbtree at this+0xC. Returns pointer to value at node+0x14 if found, or 0 (null) if not found. Simple lookup without lazy initialization. 0x00679C20 475 CQuestMgr__serialize_quest_list_to_buffer game_skills Serializes the ongoing quest set into a flat buffer. For each quest entry, writes quest ID, display flag, item data (DC/E0/E4), and option slots with names/IDs if the option count > 0. Uses strncpy_s for option name strings (0x33 max). Buffer starts with quest count at offset 0. 0x00679E00 75 CQuestMgr__calc_serialized_quest_buffer_size game_skills Calculates the total buffer size needed to serialize the ongoing quest list. Base size = 4 + (count * 0x18). Each quest with option slots adds (option_count * 0x47) bytes per quest. 0x00679E50 1710 CQuestMgr__init_quest_lua_and_load_data game_skills Initializes the quest Lua environment and loads quest data files. Registers Lua functions: AddQuestIconTooltip, AddQuestFilterInfo. Executes System_QuestClassificationInfo Lua buffer, then calls LoadQuestIconTooltip and LoadQuestFilterInfo. Registers closures: AddOngoingDescription, AddOngoingRewardInfo, InsertRecommededQuestInfo, AddRecommendedQuestInfo, SetRecommendedQuestActive. Loads data files: QuestInfo, OngoingSimpleViewList, RecommendedActiveList, and version-dependent OngoingQuestInfoList/RecommendedQuestInfoList (Sakray vs True). Finally calls RecommendedQuestInfoLoad and RecommendedQuestActiveLoad Lua functions. 0x0067A500 298 CQuestMgr__insert_or_replace_ongoing_quest game_skills Inserts a quest ID into the ongoing quest tree, or replaces an existing entry. Uses _Find_lower_bound to locate position, allocates a 0x14-byte tree node if not found, then calls Insert_node. If replacing, extracts the old node via STL_rbtree_extract_and_rebalance_ongoing and deletes it. 0x0067A630 1707 CQuestMgr__load_ongoing_quest_info_from_lua game_skills Loads detailed ongoing quest info by calling Lua function GetOngoingQuestInfoByID. Parses 7+ return values from Lua into the quest entry struct (strings at various offsets). Copies active status, ongoing type, and quest flags. Truncates quest name and description text to fit display width (250px). Calls GetOngoingDescription and GetOngoingRewardInfo Lua callbacks, then inserts into the ongoing quest tree. Also inserts into the quest filter tree via _Find_lower_bound + Insert_node with a 0x218-byte node. 0x0067ACE0 458 CQuestMgr__insert_recommended_quest_entry game_skills Inserts a recommended quest entry into the recommended quest tree. Copies item option data and strings from the source entry, allocates a 0x104-byte tree node, performs copy construction of the entry data, then inserts via Insert_node. 0x0067AEB0 78 CQuestMgr__has_ongoing_quest game_skills Checks if a given quest ID exists in the ongoing quest tree. Returns true if the quest is found and is not the sentinel node, false otherwise. Uses _Find_lower_bound for tree lookup. 0x0067AF00 298 CQuestMgr__check_quest_filter_match game_skills Checks quest filter matching. For param_2==0, returns true. For param_2==1, iterates the ongoing quest tree checking each quest's filter string list against param_3/param_4 using json__buffer_equals. For param_2>=2, looks up the quest filter tree entry and checks its linked list for a match. 0x0067B030 1059 CQuestMgr__lua_add_quest_filter_info game_skills Lua callback for AddQuestFilterInfo. Takes quest ID (number), filter name (string), and filter tag list (table) from Lua stack. Builds a linked list of filter tag strings from the Lua table. Inserts into the quest filter tree (offset 0x34 of quest manager) with a 0x34-byte node containing the filter name string and tag list. Returns 0. 0x0067B460 434 CQuestMgr__lua_add_quest_icon_tooltip game_skills Lua callback for AddQuestIconTooltip. Takes two string args from Lua stack (icon name and tooltip text). Calls CPacketManager__major_routine_006779a0 to register the icon-tooltip mapping. Returns 0. 0x0067B620 34 CQuestMgr__open_quest_detail_window game_skills Opens the quest detail window (type 0x2719) and selects a specific quest entry in it via UIQuestWnd__select_quest_entry. 0x0067B650 49 CQuestMgr__refresh_and_select_quest game_skills Opens the quest list window (type 0x2718), refreshes quest lists with filter mode 0xF, and selects a specific quest by ID via UIQuestWnd__find_and_select_quest. 0x0067B690 27 CQuestMgr__refresh_quest_detail_list game_skills Finds the quest detail window (type 0x2719) and refreshes its quest list via UIQuestWnd__refresh_quest_list. 0x0067B6B0 47 CQuestMgr__notify_quest_update_and_refresh game_skills Notifies the game of a quest update. Calls a virtual method on the global quest object (vtable+0x98), then finds the quest list window (type 0x2718) and refreshes with filter mode 0xD. 0x0067B6E0 285 CQuestMgr__send_quest_id_list_packet game_skills Sends a network packet containing the list of quest IDs. Collects quest IDs from the ongoing quest tree into a buffer (max 511 entries), prepends packet header 0xBF3, and sends via CNetworkSession__send_data_timed. Buffer size = 4 + (quest_count * 4). 0x0067B800 70 CQuestMgr__set_ongoing_quest_display_flag game_skills Sets the display flag (offset 0x18) for a quest in the ongoing quest tree. Looks up quest by ID via _Find_lower_bound. Returns 1 on success, 0 if quest not found. 0x0067B850 70 CQuestMgr__set_recommended_quest_active_flag game_skills Sets the active flag (offset 0x14) for a quest in the recommended quest tree. Looks up quest by ID via _Find_lower_bound. Returns 1 on success, 0 if quest not found. 0x0067B8A0 73 CQuestMgr__set_ongoing_quest_expanded_flag game_skills Sets the expanded/detail flag (offset 0xCC) for a quest in the ongoing quest tree. Looks up quest by ID via _Find_lower_bound. Returns 1 on success, 0 if quest not found. 0x0067B8F0 1681 CQuestMgr__process_quest_list_packet game_skills Processes a quest list packet from the server. For each quest in the packet: reads quest ID, display flag, item data, and option slots. Handles two option formats based on quest version (0x33 = 0x47 byte options, otherwise 0x2C byte options). For new quests, creates entries and calls load_ongoing_quest_info_from_lua to populate from Lua. For existing quests, just updates the display flag. After processing, notifies quest update and refreshes the quest window. 0x0067BF90 22 CQuestMgr__set_quest_version game_skills Sets the quest system version number. Only updates if param_2 matches the expected quest packet ID 0xDAE, storing param_3 at offset 0x18. 0x0067BFB0 1507 CQuestMgr__save_ongoing_simple_view_list game_skills Saves the ongoing quest simple view list to a file (SaveData_OngoingSimpleViewList). Opens the file, writes a header line, then iterates the ongoing quest tree writing each non-hidden quest ID as a formatted string with separator. Writes closing marker and closes file. 0x0067C5A0 1504 CQuestMgr__save_recommended_active_list game_skills Saves the recommended quest active list to a file (SaveData_RecommendedActiveList). Opens the file, writes a header line, then iterates the recommended quest tree writing each non-hidden quest ID as a formatted string with separator. Writes closing marker and closes file. 0x0067CB80 704 STL_rbtree_extract_and_rebalance_ongoing stl STL red-black tree extract-and-rebalance for the ongoing quest tree (0x218-byte nodes). Performs standard RB-tree node extraction with successor swap and rebalancing via rotate operations. Decrements tree size. Used by CQuestMgr__insert_or_replace_ongoing_quest. 0x0067CE40 704 STL_rbtree_extract_and_rebalance_recommended stl STL red-black tree extract-and-rebalance for the recommended quest tree (0x104-byte nodes). Same algorithm as the ongoing version but templated for a different node type. Used by CQuestMgr__erase_recommended_quests_by_range. 0x0067D100 704 STL_rbtree_extract_and_rebalance_quest_filter stl STL red-black tree extract-and-rebalance for the quest filter tree (0x34-byte nodes). Same RB-tree extraction algorithm as other variants but for the filter tree node type. Used by CQuestMgr__erase_recommended_quests_by_range. 0x0067D3C0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0067D5D0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0067D7E0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0067D9F0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0067DC00 84 STL_rbtree_rotate_left_ongoing stl STL red-black tree left rotation for the ongoing quest tree. Standard left-rotate operation: moves the right child up and the current node down-left, updating parent pointers and the tree root if needed. 0x0067DC60 84 STL_rbtree_rotate_left_recommended stl STL red-black tree left rotation for the recommended quest tree. Identical algorithm to the ongoing version, templated for the recommended quest node type. 0x0067DCC0 84 STL_rbtree_rotate_left_quest_filter stl STL red-black tree left rotation for the quest filter tree. Identical algorithm to the other rotate-left versions, templated for the filter tree node type. 0x0067DD20 60 STL_format_arg_set_numeric_value stl Sets a numeric value on a format argument node. Validates the format specifier type is numeric (0-8), then stores the value at the argument's data offset. Throws a format_error exception if the specifier is non-numeric. 0x0067DD60 88 STL_rbtree_rotate_right_ongoing stl STL red-black tree right rotation for the ongoing quest tree. Standard right-rotate: moves the left child up and the current node down-right, updating parent pointers and tree root if needed. 0x0067DDC0 88 STL_rbtree_rotate_right_recommended stl STL red-black tree right rotation for the recommended quest tree. Same algorithm as the ongoing version, templated for the recommended quest node type. 0x0067DE20 88 STL_rbtree_rotate_right_quest_filter stl STL red-black tree right rotation for the quest filter tree. Same algorithm as other rotate-right versions, templated for the filter tree node type. 0x0067DE80 129 STL_vector_dealloc_8byte_elements_0067de80 stl Deallocates a vector's backing buffer of 8-byte elements. Handles aligned allocation cleanup for buffers > 0xFFF bytes. Zeroes out the vector's begin/end/capacity pointers after freeing. 0x0067DF10 44 STL_copy_8byte_elements_0067df10 stl STL template instantiation: STL copy 8byte elements 0067df10 0x0067DF40 45 STL_move_8byte_elements_forward stl Moves 8-byte elements forward within a buffer. Copies from [param_1, param_2) to destination at offset param_3 from param_1. Used for vector insert operations. 0x0067DF70 10 STL_vector_throw_length_error_0067df70 stl Throws std::length_error with message "vector too long". Called when a quest-related vector exceeds maximum capacity. 0x0067DF80 92 STL_vector_allocate_8byte_elements stl Allocates memory for a vector of 8-byte elements. Validates count < 0x20000000 to prevent overflow. For allocations > 0xFFF bytes, uses aligned allocation with 32-byte alignment and stores the raw pointer at offset -4. Returns the aligned pointer. 0x0067DFE0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0067E020 320 CQuestMgr__erase_ongoing_quests_by_range game_skills Erases ongoing quest entries from the tree by a key range. Finds the lower and upper bounds for the given quest ID, counts matching entries, then either clears the entire tree (if erasing all) or iterates and extracts each node via STL_rbtree_extract_and_rebalance_ongoing, destroying the 0x218-byte node data. Returns the count of erased entries. 0x0067E160 306 CQuestMgr__erase_recommended_quests_by_range game_skills Erases recommended quest entries from the tree by a key range. Same algorithm as the ongoing version but uses STL_rbtree_extract_and_rebalance_quest_filter and 0x104-byte nodes. Returns the count of erased entries. 0x0067E2A0 79 STL_string_erase stl STL std::string::erase(pos, count). Erases 'count' characters starting at position 'pos'. Clamps count to (size - pos). Uses memcpy to shift remaining chars. Returns pointer to the string object. 0x0067E2F0 116 STL_string_insert_fill stl STL std::string::insert(pos, count, char). Inserts 'count' copies of a fill character at position 'pos'. If the string has enough capacity, shifts existing data with memcpy and fills with memset. Otherwise grows the buffer via STL_string_grow_and_insert_fill. 0x0067E370 336 CQuestMgr__lua_add_ongoing_description game_skills Lua callback for AddOngoingDescription. Takes quest ID (number) and description text (string) from Lua. Processes escape sequences in the text, looks up the quest in the ongoing tree via CPacketManager__processor_006774c0, and appends the description string to the quest's description vector (offset 0xBC). Returns 0. 0x0067E4C0 168 CQuestMgr__lua_add_ongoing_reward_info game_skills Lua callback for AddOngoingRewardInfo. Takes quest ID (number), item ID (number), and count (number) from Lua. Looks up the quest entry and appends the (item_id, count) pair to the quest's reward vector (offset 0x1EC). Returns 0. 0x0067E570 509 CQuestMgr__lua_add_recommended_quest_info game_skills Lua callback for AddRecommendedQuestInfo. Takes quest ID (number), slot index (number), and description text (string) from Lua. Creates or finds the quest entry in the recommended quest tree (0x104-byte nodes). Inserts the description string into the appropriate slot vector (offset 0x18 + (slot+0x11)*0xC). Returns 0. 0x0067E770 635 CQuestMgr__lua_insert_recommended_quest_info game_skills Lua callback for InsertRecommededQuestInfo. Takes quest ID (number) and 6 string fields (name, description, status, etc.) plus 2 numeric fields from Lua. Initializes a recommended quest entry struct, copies all fields, truncates the name string to display width, then calls CQuestMgr__insert_recommended_quest_entry to add it to the tree. Returns 0. 0x0067E9F0 92 CEnchantMgr__lua_disable_enchant_by_id enchant Lua-exposed function: takes enchant ID from Lua stack via luaL_checknumber, finds the entry in the enchant RB-tree via _Find_lower_bound, and disables it by setting byte at offset 0x14 to 0. Returns 0 (no Lua results). 0x0067EA50 192 CEnchantMgr__ctor_dual_tree_container enchant Constructor for an enchant data container with two RB-trees. Copies initial value from param_3, zeroes out fields, allocates sentinel nodes: first tree with 0x18-byte nodes, second with 0x20-byte nodes. Both sentinels self-reference (left=right=parent=self, isNil=1, color=1). 0x0067EB10 287 CEnchantMgr__ctor_enchant_data_container enchant Constructor for a larger enchant data container. Copies 2 dwords from source, memsets 0x68 bytes to zero, initializes one RB-tree with 0x18-byte sentinel nodes, a std::string (SSO buffer size 0xF), and another RB-tree with 0x60-byte sentinel nodes. 0x0067EC30 236 CEnchantMgr__rbtree_deep_copy_node_0x20 enchant Recursive deep copy of an RB-tree with 0x20-byte nodes. For each non-nil node, allocates a new 0x20 node, copies 4 dwords of payload data (offsets 0x10-0x1C), links to parent, copies color, then recursively copies left and right subtrees. 0x0067ED40 265 CEnchantMgr__rbtree_deep_copy_node_0x2c enchant Recursive deep copy of an RB-tree with 0x2c-byte nodes containing std::string keys. For each non-nil node, allocates a new 0x2c node, copy-constructs the string via STL_string_copy_construct, copies the int value at offset +0x28, then recursively copies left and right subtrees. 0x0067EE70 337 CEnchantMgr__vector_grow_and_insert enchant std::vector grow-and-insert for the enchant system. Checks capacity, grows by 1.5x (max 0x3FFFFFFF elements), allocates new buffer, copies element into position, memcpy's existing elements before and after insertion point, frees old buffer, updates vector pointers (begin/end/capacity). 0x0067EFE0 103 CEnchantMgr__rbtree_destroy_nodes_0x18 enchant Recursive RB-tree node destruction for 0x18-byte nodes. Traverses tree in post-order: recurses right subtree, then follows left chain while deleting each visited node (operator_delete with size 0x18). Stops at nil sentinel. 0x0067F050 169 CEnchantMgr__rbtree_destroy_nodes_0x1c_with_subtree enchant Recursive RB-tree node destruction for 0x1c-byte nodes with nested subtrees. For each node: recurses right, destroys inner RB-tree at node+0x14 via rbtree_destroy_nodes_0x28, deletes inner sentinel (0x28), then deletes the node itself (0x1c). Follows left chain. 0x0067F100 187 CEnchantMgr__rbtree_destroy_nodes_0x30_with_subtree enchant Recursive RB-tree node destruction for 0x30-byte nodes with nested subtrees. For each node: recurses right, calls STL_rbtree_clear_and_free_simple on inner data, then calls rbtree_clear_and_free_0x18, finally deletes the 0x30 node. Follows left chain. 0x0067F1C0 163 CEnchantMgr__rbtree_destroy_nodes_0x28 enchant Recursive RB-tree node destruction for 0x28-byte nodes. For each node: recurses right, calls rbtree_clear_and_free_0x18 to destroy inner tree data, then deletes the 0x28 node. Follows left chain until nil sentinel. 0x0067F270 131 CEnchantMgr__rbtree_destroy_nodes_0x60 enchant Recursive RB-tree node destruction for 0x60-byte nodes. For each node: recurses right, calls Ench__mgr_006817c0 (not in this batch) to clean up node data, then deletes the 0x60 node. Follows left chain until nil sentinel. 0x0067F300 141 CEnchantMgr__rbtree_destroy_nodes_0x1c enchant Recursive RB-tree node destruction for 0x1c-byte nodes (simple). For each node: recurses right, calls STL_rbtree_clear_and_free_simple on inner data, then deletes the 0x1c node. Follows left chain until nil sentinel. 0x0067F390 103 CEnchantMgr__rbtree_destroy_nodes_0x20 enchant Recursive RB-tree node destruction for 0x20-byte nodes (plain data). Traverses post-order: recurses right, then follows left chain deleting each 0x20 node. No inner data cleanup needed. 0x0067F400 128 CEnchantMgr__rbtree_destroy_nodes_0x2c_with_string enchant Recursive RB-tree node destruction for 0x2c-byte nodes containing std::string. For each node: recurses right, calls STL_string_dtor to free the embedded string, then deletes the 0x2c node. Follows left chain. 0x0067F480 128 CEnchantMgr__rbtree_destroy_nodes_0x30_with_string enchant Recursive RB-tree node destruction for 0x30-byte nodes containing std::string. For each node: recurses right, calls STL_string_dtor to free the embedded string, then deletes the 0x30 node. Follows left chain. 0x0067F500 134 CEnchantMgr__rbtree_destroy_nodes_0x80 enchant Recursive RB-tree node destruction for 0x80-byte nodes. For each node: recurses right, calls Ench__mgr_006817c0 to clean up large node data, then deletes the 0x80 node. Follows left chain. 0x0067F590 103 CEnchantMgr__rbtree_destroy_nodes_0x20_simple enchant Recursive RB-tree node destruction for 0x20-byte nodes (simple variant). Same pattern as 0067f390 but with slightly different calling convention. Traverses post-order deleting each 0x20 node. 0x0067F600 128 CEnchantMgr__rbtree_destroy_nodes_0x2c_with_string_b enchant Recursive RB-tree node destruction for 0x2c-byte nodes containing std::string (variant B). Same pattern as 0067f400: recurses right, calls STL_string_dtor, deletes 0x2c node, follows left chain. 0x0067F680 87 CEnchantMgr__rbtree_find_lower_bound_uint64 enchant RB-tree lower_bound search with uint64 key comparison. Traverses the tree comparing high and low dwords of key against node values at offsets +0x10/+0x14. Returns iterator-like struct with found node, comparison flag, and parent. 0x0067F6E0 362 CEnchantMgr__rbtree_find_or_insert_int_0x1c enchant RB-tree find-or-insert with int key for 0x1c-byte nodes. Searches tree by int key at node+0x10. If found, returns existing node. If not found and tree not at max size (0x9249249), allocates new 0x1c node with inner 0x28 RB-tree, inserts via Insert_node, returns new node. Throws if tree too large. 0x0067F850 379 CEnchantMgr__rbtree_find_or_insert_int_0x28 enchant RB-tree find-or-insert with int key for 0x28-byte nodes. Searches tree by int key at node+0x10. If found, returns existing node. If not found and tree not at max size (0x6666666), allocates new 0x28 node with inner 0x18 RB-tree, inserts via Insert_node. Throws if tree too large. 0x0067F9D0 466 CEnchantMgr__rbtree_find_or_insert_string_0x2c enchant RB-tree find-or-insert with std::string key for 0x2c-byte nodes. Searches tree comparing string keys via std::_Traits_compare. If found, returns existing node. If not found, allocates new 0x2c node, moves the string key in, inserts via Insert_node. Max size 0x5D1745D. 0x0067FBB0 473 CEnchantMgr__rbtree_find_or_insert_string_0x30 enchant RB-tree find-or-insert with std::string key for 0x30-byte nodes. Searches tree comparing string keys via std::_Traits_compare. If found, returns existing node. If not found, allocates new 0x30 node, moves the string key in, inserts via Insert_node. Max size 0x5555555. 0x0067FD90 105 CEnchantMgr__rbtree_init_sentinel_0x20 enchant Initializes an RB-tree with 0x20-byte sentinel node. Sets count to 0, allocates sentinel (0x20 bytes) with self-referencing pointers (left=right=parent=self), isNil=1, color=1. 0x0067FE00 234 CEnchantMgr__rbtree_copy_construct_0x2c enchant RB-tree copy constructor for trees with 0x2c-byte nodes (string-keyed). Allocates new 0x2c sentinel, deep-copies all nodes via rbtree_deep_copy_node_0x2c, copies element count, then fixes up leftmost/rightmost pointers by traversing to min/max nodes. 0x0067FEF0 105 CEnchantMgr__rbtree_init_sentinel_0x2c enchant Initializes an RB-tree with 0x2c-byte sentinel node. Sets count to 0, allocates sentinel (0x2c bytes) with self-referencing pointers (left=right=parent=self), isNil=1, color=1. 0x0067FF60 166 CEnchantMgr__ctor enchant CEnchantMgr constructor. Sets vtable pointer, initializes RB-tree with 0x80-byte sentinel nodes for main enchant data, constructs embedded CLuaInstance for Lua scripting, sets default values: two uint16 fields to 0xFFFF, a bool to true, and zeroes counters. 0x00680010 359 CEnchantMgr__init_all_rbtrees enchant Initializes all 6 internal RB-trees in CEnchantMgr at offsets 0x08-0x38. Trees use different node sizes: 0x18, 0x20, 0x1c, 0x28, 0x30, 0x1c. Each tree gets sentinel allocated with self-referencing pointers and count=0. Sets final byte at +0x40 to 0. 0x00680190 67 CEnchantMgr__delete_sentinel_0x18 enchant Deletes the RB-tree sentinel node (0x18 bytes) at param_1+4 if non-null. Simple cleanup for the smallest sentinel type. 0x006801E0 67 CEnchantMgr__delete_sentinel_0x1c enchant Deletes the RB-tree sentinel node (0x1c bytes) at param_1+4 if non-null. 0x00680230 67 CEnchantMgr__delete_sentinel_0x30 enchant Deletes the RB-tree sentinel node (0x30 bytes) at param_1+4 if non-null. 0x00680280 67 CEnchantMgr__delete_sentinel_0x28 enchant Deletes the RB-tree sentinel node (0x28 bytes) at param_1+4 if non-null. 0x006802D0 67 CEnchantMgr__delete_sentinel_0x60 enchant Deletes the RB-tree sentinel node (0x60 bytes) at param_1+4 if non-null. 0x00680320 67 CEnchantMgr__delete_sentinel_0x1c_b enchant Deletes the RB-tree sentinel node (0x1c bytes) at param_1+4 if non-null. Second instance for a different tree in the manager. 0x00680370 67 CEnchantMgr__delete_sentinel_0x20 enchant Deletes the RB-tree sentinel node (0x20 bytes) at param_1+4 if non-null. 0x006803C0 67 CEnchantMgr__delete_sentinel_0x2c enchant Deletes the RB-tree sentinel node (0x2c bytes) at param_1+4 if non-null. 0x00680410 67 CEnchantMgr__delete_sentinel_0x30_b enchant Deletes the RB-tree sentinel node (0x30 bytes) at param_1+4 if non-null. Second instance for a different tree in the manager. 0x00680460 70 CEnchantMgr__delete_sentinel_0x80 enchant Deletes the RB-tree sentinel node (0x80 bytes) at param_1+4 if non-null. For the main enchant data tree with the largest node size. 0x006804B0 111 CEnchantMgr__rbtree_clear_and_free_0x18 enchant Full RB-tree clear and free for 0x18-byte node trees. Iterates all nodes from root's left child: recursively destroys right subtrees via rbtree_destroy_nodes_0x18, deletes each node (0x18), then deletes the sentinel (0x18). Resets tree to empty. 0x00680530 76 CEnchantMgr__rbtree_clear_and_free_0x1c enchant Full RB-tree clear and free for 0x1c-byte node trees with nested subtrees. Calls rbtree_destroy_nodes_0x1c_with_subtree on all nodes, then deletes the sentinel (0x1c). 0x00680590 76 CEnchantMgr__rbtree_clear_and_free_0x30 enchant Full RB-tree clear and free for 0x30-byte node trees with nested subtrees. Calls rbtree_destroy_nodes_0x30_with_subtree on all nodes, then deletes the sentinel (0x30). 0x006805F0 76 CEnchantMgr__rbtree_clear_and_free_0x28 enchant Full RB-tree clear and free for 0x28-byte node trees. Calls rbtree_destroy_nodes_0x28 on all nodes, then deletes the sentinel (0x28). 0x00680650 76 CEnchantMgr__rbtree_clear_and_free_0x60 enchant Full RB-tree clear and free for 0x60-byte node trees. Calls rbtree_destroy_nodes_0x60 on all nodes, then deletes the sentinel (0x60). 0x006806B0 76 CEnchantMgr__rbtree_clear_and_free_0x1c_b enchant Full RB-tree clear and free for 0x1c-byte node trees (simple variant). Calls rbtree_destroy_nodes_0x1c on all nodes (uses STL_rbtree_clear_and_free_simple for inner data), then deletes the sentinel (0x1c). 0x00680710 111 CEnchantMgr__rbtree_clear_and_free_0x20 enchant Full RB-tree clear and free for 0x20-byte node trees. Iterates all nodes from root's left child: recursively destroys right subtrees via rbtree_destroy_nodes_0x20, deletes each node (0x20), then deletes the sentinel (0x20). 0x00680790 76 CEnchantMgr__rbtree_clear_and_free_0x2c enchant Full RB-tree clear and free for 0x2c-byte node trees with std::string keys. Calls rbtree_destroy_nodes_0x2c_with_string on all nodes, then deletes the sentinel (0x2c). 0x006807F0 76 CEnchantMgr__rbtree_clear_and_free_0x30_b enchant Full RB-tree clear and free for 0x30-byte node trees with std::string keys. Calls rbtree_destroy_nodes_0x30_with_string on all nodes, then deletes the sentinel (0x30). 0x00680850 79 CEnchantMgr__rbtree_clear_and_free_0x80 enchant Full RB-tree clear and free for 0x80-byte node trees (main enchant data). Calls rbtree_destroy_nodes_0x80 on all nodes, then deletes the sentinel (0x80). 0x006808B0 84 CEnchantMgr__rbtree_clear_optional_0x2c enchant Optional RB-tree clear for 0x2c-byte string-keyed nodes. Checks if inner tree pointer at param_1[1] is non-null before clearing. If non-null, calls rbtree_destroy_nodes_0x2c_with_string on the inner tree and deletes its sentinel (0x2c). 0x00680910 78 CEnchantMgr__delete_sentinel_0x18_b enchant Deletes the RB-tree sentinel node (0x18 bytes) at param_1+4 if non-null. Second instance, identical pattern to delete_sentinel_0x18 at 00680190. 0x00680960 152 CEnchantMgr__dtor_rbtree_0x28_container enchant CEnchantMgr sub-container destructor: destroys rbtree nodes (0x28 node size) via recursive walk, then frees the sentinel node and the container object at param+4. 0x00680A00 161 CEnchantMgr__dtor_dual_rbtree_0x30_container enchant CEnchantMgr sub-container destructor: clears two rbtrees (STL simple clear + 0x18 clear), then frees 0x30-byte container at param+4. 0x00680AB0 133 CEnchantMgr__dtor_rbtree_0x28_simple_container enchant CEnchantMgr sub-container destructor: clears rbtree via 0x18 clear helper, then frees 0x28-byte container at param+4. 0x00680B40 116 CEnchantMgr__dtor_multi_rbtree_0x60_container enchant CEnchantMgr sub-container destructor: destroys multi-rbtree structure (calls dtor_all_enchant_group_rbtrees), then frees 0x60-byte container at param+4. 0x00680BC0 123 CEnchantMgr__dtor_rbtree_0x1c_simple_container enchant CEnchantMgr sub-container destructor: clears rbtree via STL simple clear, then frees 0x1c-byte container at param+4. 0x00680C40 78 CEnchantMgr__dtor_free_0x20_container enchant CEnchantMgr sub-container destructor: frees 0x20-byte plain object at param+4. No tree cleanup needed. 0x00680C90 113 CEnchantMgr__dtor_string_0x2c_container enchant CEnchantMgr sub-container destructor: destroys an STL string member, then frees 0x2c-byte container at param+4. 0x00680D10 113 CEnchantMgr__dtor_string_0x30_container enchant CEnchantMgr sub-container destructor: destroys an STL string member, then frees 0x30-byte container at param+4. 0x00680D90 119 CEnchantMgr__dtor_enchant_data_0x80_container enchant CEnchantMgr sub-container destructor: destroys enchant data members (multiple rbtrees, string, vector), then frees 0x80-byte container at param+4. 0x00680E10 78 CEnchantMgr__dtor_free_0x18_container enchant CEnchantMgr sub-container destructor: frees 0x18-byte plain object at param+4. No tree cleanup needed. 0x00680E60 78 CEnchantMgr__dtor_free_0x1c_container enchant CEnchantMgr sub-container destructor: frees 0x1c-byte plain object at param+4. No tree cleanup needed. 0x00680EB0 78 CEnchantMgr__dtor_free_0x30_container enchant CEnchantMgr sub-container destructor: frees 0x30-byte plain object at param+4. No tree cleanup needed. 0x00680F00 78 CEnchantMgr__dtor_free_0x28_container enchant CEnchantMgr sub-container destructor: frees 0x28-byte plain object at param+4. No tree cleanup needed. 0x00680F50 78 CEnchantMgr__dtor_free_0x60_container enchant CEnchantMgr sub-container destructor: frees 0x60-byte plain object at param+4. No tree cleanup needed. 0x00680FA0 78 CEnchantMgr__dtor_free_0x1c_container_2 enchant CEnchantMgr sub-container destructor: frees 0x1c-byte plain object at param+4. No tree cleanup. Second variant at different offset. 0x00680FF0 78 CEnchantMgr__dtor_free_0x20_container_2 enchant CEnchantMgr sub-container destructor: frees 0x20-byte plain object at param+4. No tree cleanup. Second variant at different offset. 0x00681040 78 CEnchantMgr__dtor_free_0x2c_container enchant CEnchantMgr sub-container destructor: frees 0x2c-byte plain object at param+4. No tree cleanup needed. 0x00681090 78 CEnchantMgr__dtor_free_0x30_container_2 enchant CEnchantMgr sub-container destructor: frees 0x30-byte plain object at param+4. No tree cleanup. Second variant at different offset. 0x006810E0 81 CEnchantMgr__dtor_free_0x80_container enchant CEnchantMgr sub-container destructor: frees 0x80-byte plain object at param+4. No tree cleanup needed. 0x00681140 65 CEnchantMgr__clear_rbtree_0x18 enchant CEnchantMgr rbtree cleanup wrapper: calls CEnchantMgr__rbtree_clear_and_free_0x18 to clear and free an rbtree with 0x18-byte nodes. 0x00681190 87 CEnchantMgr__destroy_rbtree_nodes_0x1c_and_free_sentinel enchant CEnchantMgr rbtree destructor: recursively destroys all 0x1c-byte nodes (with subtree cleanup) in the rbtree, then frees the 0x1c-byte sentinel. 0x006811F0 87 CEnchantMgr__destroy_rbtree_nodes_0x30_and_free_sentinel enchant CEnchantMgr rbtree destructor: recursively destroys all 0x30-byte nodes (with subtree cleanup) in the rbtree, then frees the 0x30-byte sentinel. 0x00681250 87 CEnchantMgr__destroy_rbtree_nodes_0x28_and_free_sentinel enchant CEnchantMgr rbtree destructor: recursively destroys all 0x28-byte nodes in the rbtree, then frees the 0x28-byte sentinel. 0x006812B0 87 CEnchantMgr__destroy_rbtree_nodes_0x60_and_free_sentinel enchant CEnchantMgr rbtree destructor: recursively destroys all 0x60-byte nodes in the rbtree, then frees the 0x60-byte sentinel. 0x00681310 87 CEnchantMgr__destroy_rbtree_nodes_0x1c_and_free_sentinel_2 enchant CEnchantMgr rbtree destructor: recursively destroys all 0x1c-byte nodes in the rbtree, then frees the 0x1c-byte sentinel. Second variant. 0x00681370 65 CEnchantMgr__clear_rbtree_0x20 enchant CEnchantMgr rbtree cleanup wrapper: calls CEnchantMgr__rbtree_clear_and_free_0x20 to clear and free an rbtree with 0x20-byte nodes. 0x006813C0 87 CEnchantMgr__destroy_rbtree_nodes_0x2c_string_and_free_sentinel enchant CEnchantMgr rbtree destructor: recursively destroys all 0x2c-byte nodes (with embedded STL string cleanup) in the rbtree, then frees the 0x2c-byte sentinel. 0x00681420 87 CEnchantMgr__destroy_rbtree_nodes_0x30_string_and_free_sentinel enchant CEnchantMgr rbtree destructor: recursively destroys all 0x30-byte nodes (with embedded STL string cleanup) in the rbtree, then frees the 0x30-byte sentinel. 0x00681480 90 CEnchantMgr__destroy_rbtree_nodes_0x80_and_free_sentinel enchant CEnchantMgr rbtree destructor: recursively destroys all 0x80-byte nodes in the rbtree, then frees the 0x80-byte sentinel. 0x006814E0 112 CEnchantMgr__destroy_inner_rbtree_0x28_and_free_sentinel enchant CEnchantMgr rbtree destructor: destroys 0x28-byte rbtree nodes starting from an inner member (param+4), then frees the 0x28-byte sentinel. 0x00681550 127 CEnchantMgr__clear_dual_rbtree enchant CEnchantMgr dual rbtree cleanup: clears two rbtrees sequentially (STL simple clear + 0x18 clear). No param, operates on implicit this. 0x006815D0 93 CEnchantMgr__clear_rbtree_with_offsets_0x08_0x10 enchant CEnchantMgr rbtree cleanup: clears rbtree via CEnchantMgr__rbtree_clear_and_free_0x18, passing offsets param+0x08 and param+0x10. 0x00681630 68 CEnchantMgr__clear_multi_rbtree_0x60 enchant CEnchantMgr multi-rbtree cleanup: delegates to dtor_all_enchant_group_rbtrees to destroy all sub-rbtrees in a 0x60-byte enchant group container. 0x00681680 80 CEnchantMgr__clear_rbtree_at_offset_0x04 enchant CEnchantMgr rbtree cleanup: clears rbtree at member offset +0x04 via STL_rbtree_clear_and_free_simple. 0x006816D0 65 CEnchantMgr__dtor_string_member enchant CEnchantMgr string member destructor: destroys an STL string member within an enchant container node. SEH-protected. 0x00681720 65 CEnchantMgr__dtor_string_member_2 enchant CEnchantMgr string member destructor: destroys an STL string member within an enchant container node. Second variant. SEH-protected. 0x00681770 68 CEnchantMgr__clear_enchant_data_0x80 enchant CEnchantMgr enchant data cleanup: delegates to dtor_enchant_data_members to destroy all sub-members of a 0x80-byte enchant data node. 0x006817C0 180 CEnchantMgr__dtor_enchant_data_members enchant CEnchantMgr enchant data member destructor: destroys all sub-members of an enchant data structure, 0x60 rbtree nodes, STL string, 0x18 rbtree, 4-byte vector, and a json vector. Called from multiple node destructors. 0x00681880 128 CEnchantMgr__dtor_lua_and_rbtree_0x80 enchant CEnchantMgr destructor: sets vtable pointer, destroys CLuaInstance member, then destroys 0x80-byte rbtree (enchant data nodes) at param+4 and frees sentinel. 0x00681900 99 CEnchantMgr__destroy_rbtree_0x28_and_free_sentinel enchant CEnchantMgr rbtree destructor: recursively destroys all 0x28-byte nodes in the rbtree pointed to by param, then frees the 0x28-byte sentinel. 0x00681970 116 CEnchantMgr__clear_dual_rbtree_2 enchant CEnchantMgr dual rbtree cleanup: clears two rbtrees sequentially (STL simple clear + 0x18 clear). Second variant, different index ordering. 0x006819F0 80 CEnchantMgr__clear_rbtree_at_offset_0x08 enchant CEnchantMgr rbtree cleanup: clears rbtree via CEnchantMgr__rbtree_clear_and_free_0x18, passing member at offset +0x08. 0x00681A40 93 CEnchantMgr__clear_rbtree_with_offsets_0x10_0x18 enchant CEnchantMgr rbtree cleanup: clears rbtree via CEnchantMgr__rbtree_clear_and_free_0x18, passing offsets param+0x10 and param+0x18. 0x00681AA0 274 CEnchantMgr__dtor_all_enchant_group_rbtrees enchant CEnchantMgr enchant group destructor: destroys 5 nested rbtrees (0x1c-subtree at +0x38, 0x30-subtree at +0x30, 0x28 at +0x28, 0x1c at +0x20) plus 0x20 and 0x18 clears. Called when destroying a 0x60-byte enchant group node. 0x00681BC0 156 CEnchantMgr__rbtree_swap_0x18 enchant CEnchantMgr rbtree swap: clears current tree by walking and destroying 0x18-byte nodes, then swaps root/count with param_2 tree. Used for move-assignment of rbtree maps. 0x00681C70 279 CEnchantMgr__rbtree_insert_or_find_0x30 enchant CEnchantMgr rbtree insert-or-find (0x30 nodes): searches rbtree by int key, returns pointer to value if found. If not found, allocates 0x30-byte node, initializes via ctor_dual_tree_container, inserts into tree. Max 0x5555555 entries. 0x00681D90 274 CEnchantMgr__rbtree_insert_or_find_0x20 enchant CEnchantMgr rbtree insert-or-find (0x20 nodes): searches rbtree by int key, returns pointer to value if found. If not found, allocates 0x20-byte node with two zero-initialized fields, inserts into tree. Max 0x7ffffff entries. 0x00681EB0 299 CEnchantMgr__rbtree_insert_or_find_0x60 enchant CEnchantMgr rbtree insert-or-find (0x60 nodes): searches rbtree by uint key, returns pointer to value if found. If not found, allocates 0x60-byte node, memsets payload to zero, initializes all sub-rbtrees via init_all_rbtrees, inserts. Max 0x2aaaaaa entries. 0x00681FE0 257 CEnchantMgr__rbtree_insert_or_find_enchant_data_0x80 enchant CEnchantMgr rbtree insert-or-find (0x80 enchant data nodes): searches rbtree by uint64 key via lower_bound. If not found, allocates 0x80-byte node, initializes enchant data container, inserts. Returns pointer to value at node+0x18. Max 0x1ffffff entries. 0x006820F0 30 CEnchantMgr__scalar_deleting_dtor_006820f0 enchant CEnchantMgr scalar deleting destructor: if bit 0 of param_2 is set, frees the 4-byte object. Standard MSVC vftable destructor pattern. 0x00682110 151 CEnchantMgr__scalar_deleting_dtor enchant CEnchantMgr scalar deleting destructor. Sets vtable, destroys CLuaInstance, destroys rbtree nodes (0x80 node size), frees sentinel, optionally deletes this (0x38 bytes). 0x006821B0 341 CEnchantMgr__add_enchant_entry_single_item enchant Adds an enchant entry for a single target item. Resolves item name to ID via SpriteMap, finds/inserts into rbtree keyed by item ID, sets properties at offsets +0x18/+0x1c, copies enchant option tree, then builds and stores the processed enchant data. 0x00682310 490 CEnchantMgr__add_enchant_entry_dual_item enchant Adds an enchant entry requiring two items (source + material). Resolves both item names to IDs via SpriteMap, inserts into two rbtrees (0x1c and 0x28 keyed), sets properties at +0x18/+0x1c, copies enchant option tree, builds processed enchant data. 0x00682500 337 CEnchantMgr__set_enchant_dual_item_properties enchant Sets enchant properties for a dual-item entry. Resolves two item names to IDs via SpriteMap, finds entries in rbtrees (0x1c and via Ench__mgr_00681d90), stores two property values from stack params. 0x00682660 222 CEnchantMgr__add_target_item_to_vector enchant Resolves an item name to ID via SpriteMap and appends it to the enchant entry's target item vector (push_back with realloc fallback). 0x00682740 70 CEnchantMgr__add_upgrade_enchant_entry_dual_item enchant Wrapper that sets the upgrade flag (+0x40 = 1) on the enchant entry, then delegates to CEnchantMgr__add_enchant_entry_dual_item for the actual data setup. 0x00682790 25 CEnchantMgr__set_approve_random_option enchant Sets the approve-random-option flag (+0x14) on the enchant entry identified by the item key from stack params. 0x006827B0 335 CEnchantMgr__call_lua_check_function enchant Calls a named Lua function via lua_getfield/pcall, expecting it to return (boolean, string). On success returns the boolean result. On error or type mismatch, shows a MessageBox titled "CEnchantMgr" with the error message and returns false. 0x00682960 63 CEnchantMgr__send_enchant_request_packet enchant Builds and sends a network packet (header 0x0BA0) for an enchant request. Gets effect manager singletons, computes packet size via get_job_sprite_count, sends via CNetworkSession__send_data_timed, sets pending flag (+0x30 = 1). 0x006829A0 82 CEnchantMgr__rbtree_find_by_uint64_key enchant Finds an entry in the enchant rbtree by a 64-bit key (uint64 composed of param_2/param_3). Uses lower_bound search, returns pointer to data at node+0x18 if found, or 0 if not found. 0x00682A00 771 CEnchantMgr__build_item_option_map_from_tree enchant Iterates an enchant option rbtree (string-keyed, 0x2c nodes), resolves each item name to an ID via SpriteMap, and builds a new int-keyed rbtree (map from item_id to option_value). Output map is stored in param_1. Used to convert Lua table data into the internal enchant option format. 0x00682D10 3760 CEnchantMgr__init_lua_environment enchant Initializes the CEnchantMgr Lua environment. Sets global numbers (MAX_REFINE_LEVEL, MAX_GRADE_LEVEL, MAX_SLOT_NUM, MAX_MATERIAL_NUM), IS_CLIENT boolean, registers 14 Lua callback functions (C_SetSlotOrder, C_AddTargetItem, C_SetCondition, C_ApproveRandomOption, C_SetReset, C_SetCaution, C_SetRequire, C_SetSuccessRate, C_SetGradeBonus, C_SetEnchant, C_AddPerfectEnchant, C_AddUpgradeEnchant, C_SetRandomUpgradeRequire, C_AddRandomUpgradeEnchant, C_AddPerfectUpgradeEnchant, C_GetSlotCount), then executes Lua files from LuaFiles514/Lua Files/Enchant/ and runs CheckFile validation. 0x00683BC0 95 CEnchantMgr__open_enchant_window enchant Opens or closes the enchant UI window (type 0x2716). If item weight ratio is below 70%, creates the window and renders the enchant panel. If above 70%, finds and closes the existing window. Clears pending flag (+0x30 = 0). 0x00683C20 239 CEnchantMgr__send_perfect_enchant_packet enchant Sends a perfect enchant request packet (header 0x0B9C) to the server. Checks weight ratio (rejects if >=70% with message 0xEFD). Builds packet with item IDs, slot, and enchant params, sends via CNetworkSession, stores request state at this+0x18..0x30, sets pending flag. 0x00683D10 233 CEnchantMgr__send_upgrade_enchant_packet enchant Sends an upgrade enchant request packet (header 0x0B9B) to the server. Checks weight ratio (rejects if >=70% with message 0xEFD). Builds packet with item IDs and slot params, sends via CNetworkSession, stores request state, sets pending flag. 0x00683E00 232 CEnchantMgr__send_reset_enchant_packet enchant Sends an enchant reset request packet (header 0x0B9E) to the server. Checks weight ratio (rejects if >=70% with message 0xEFD). Builds packet with item IDs and slot, sends via CNetworkSession, stores request state, sets pending flag. 0x00683EF0 246 CEnchantMgr__send_random_upgrade_enchant_packet enchant Sends a random upgrade enchant request packet (header 0x0BF1) to the server. Checks weight ratio (rejects if >=70%). Builds packet with item IDs, slots, enchant params and additional data (param_6), sends via CNetworkSession, stores request state, sets pending flag. 0x00683FF0 240 CEnchantMgr__send_random_enchant_packet enchant Sends a random enchant request packet (header 0x0B9D) to the server. Checks weight ratio (rejects if >=70%). Builds packet with item IDs and slot params, sends via CNetworkSession, stores request state, sets pending flag. 0x006840E0 240 CEnchantMgr__send_perfect_upgrade_enchant_packet enchant Sends a perfect upgrade enchant request packet (header 0x0BF0) to the server. Checks weight ratio (rejects if >=70%). Builds packet with item IDs and slot params, sends via CNetworkSession, stores request state, sets pending flag. 0x006841D0 702 CEnchantMgr__handle_enchant_result enchant Handles enchant result from server. If result=0xF11 (success): looks up enchant entry by stored item key, finds item in inventory by slot, applies enchant options based on request type (0xB9E resets all slots, others set specific slot), plays success effect (0x908/0x90B/0x90E by type). If result=0xF12 (failure): plays failure effect (0x909/0x90F). Otherwise displays error message. Closes enchant window and clears pending flag. 0x00684560 47 CEnchantMgr__set_caution_text enchant Sets the caution/warning text string at offset +0x48 of the enchant entry. Copies from the input STL string parameter unless it points to the same buffer. 0x00684590 46 CEnchantMgr__set_condition_values enchant Sets the condition values at offsets +0x0C and +0x10 of the enchant entry. Called by the C_SetCondition Lua callback to store min/max condition parameters. 0x006845C0 1203 CEnchantMgr__build_enchant_option_map_and_store enchant Iterates a string-keyed rbtree of enchant options, resolves each item name to ID via SpriteMap, builds a new int-keyed rbtree map (item_id -> pair of values). Then finds/creates the enchant entry in the manager's nested map (keyed by item_id from stack param) and copies the built map into the entry's sub-tree, replacing existing data. 0x00684A80 213 CEnchantMgr__copy_enchant_subtree_to_entry enchant Copies an enchant option subtree into an enchant entry's rbtree at offset +0x18. Destroys existing nodes (0x20 size), deep-copies all nodes from the source tree, updates min/max pointers and count. 0x00684B60 328 CEnchantMgr__add_enchant_entry_single_item_with_grade enchant Adds an enchant entry for a single item with grade bonus. Resolves item name to ID via SpriteMap, finds/inserts into rbtree (0x1c key), sets grade properties from stack params, copies enchant option tree, builds processed enchant data. 0x00684CB0 194 CEnchantMgr__add_enchant_entry_with_require enchant Adds an enchant entry with require properties. Finds the entry by item key, sets require values from stack params, copies enchant option tree from param, builds processed enchant data and stores it. 0x00684D80 207 CEnchantMgr__set_random_upgrade_require enchant Sets random upgrade require properties on an enchant entry. Stores flag at +0x28, two value pairs at +0x30/+0x34 and +0x38/+0x3C, copies enchant option tree, builds processed enchant data. 0x00684E50 93 CEnchantMgr__set_slot_order_vector enchant Copies a slot order vector into the enchant entry's vector at offset +0x18. If source differs from target, copies data via memcpy (with grow if needed), updates the size pointer at +0x1C. 0x00684EB0 43 CEnchantMgr__set_success_rate_values enchant Sets success rate values at offsets +0x10 and +0x14 of the enchant entry. Takes two values from stack params. 0x00684EE0 66 CEnchantMgr__store_request_state enchant Stores enchant request state into this+0x18..0x2F. Saves packet header type, item IDs, slot params from the function arguments. Used internally before sending packets to remember what was requested. 0x00684F30 1 identity_return_ecx_00684f30 game_core Identity function that returns its input parameter unchanged 0x00684F40 1 identity_return_ecx_00684f40 game_core Identity function that returns its input parameter unchanged 0x00684F50 517 STL_rbtree_insert_node_00684f50 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00685160 517 STL_rbtree_insert_node_00685160 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00685370 517 STL_rbtree_insert_node_00685370 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00685580 517 STL_rbtree_insert_node_00685580 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00685790 517 STL_rbtree_insert_node_00685790 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006859A0 517 STL_rbtree_insert_node_006859a0 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00685BB0 517 STL_rbtree_insert_node_00685bb0 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00685DC0 517 STL_rbtree_insert_node_00685dc0 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00685FD0 517 STL_rbtree_insert_node_00685fd0 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006861E0 517 STL_rbtree_insert_node_006861e0 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006863F0 220 CEnchantMgr__get_singleton enchant Returns (or creates) the CEnchantMgr singleton stored in DAT_0138d254. On first call allocates 0x38 bytes, sets vtable, initializes rbtree sentinel (0x80 node), constructs CLuaInstance, zeroes enchant state fields. Subsequent calls return the cached pointer. 0x006864D0 860 CEnchantMgr__lua_C_AddPerfectEnchant enchant Lua callback for C_AddPerfectEnchant(slot, grade, itemName, enchantId, optionTable). Validates 5 args: number, number, string, number, table. Parses slot/grade/enchantId as int64, resolves item name, iterates Lua table to build enchant option map (string->rate), then calls CEnchantMgr__add_enchant_entry_single_item. Returns 2 values (bool, errorMsg). 0x00686830 959 CEnchantMgr__lua_C_AddPerfectUpgradeEnchant enchant Lua callback for C_AddPerfectUpgradeEnchant(slot, grade, srcItem, dstItem, enchantId, optionTable). Validates 6 args: number, number, string, string, number, table. Similar to C_AddPerfectEnchant but for dual-item (source+destination). Calls CEnchantMgr__add_enchant_entry_dual_item. Returns 2 values. 0x00686BF0 831 CEnchantMgr__lua_C_AddRandomUpgradeEnchant enchant Lua callback for C_AddRandomUpgradeEnchant(slot, grade, srcItem, dstItem, enchantId). Validates 5 args: number, number, string, string, number. Resolves both item names to IDs, finds rbtree entries, sets dual-item properties with the enchantId. Returns 2 values. 0x00686F30 682 CEnchantMgr__lua_C_AddTargetItem enchant Lua callback for C_AddTargetItem(slot, itemName). Validates 2 args: number, string. Resolves item name to ID via SpriteMap, appends the item ID to the enchant entry's target item vector. Returns 2 values. 0x006871E0 1007 CEnchantMgr__lua_C_AddUpgradeEnchant enchant Lua callback for C_AddUpgradeEnchant(slot, grade, srcItem, dstItem, enchantId, optionTable). Validates 6 args: number, number, string, string, number, table. Sets upgrade flag (+0x40=1), parses option table, calls add_enchant_entry_dual_item. Returns 2 values. 0x006875D0 250 CEnchantMgr__lua_C_ApproveRandomOption enchant Lua callback for C_ApproveRandomOption(slot, approved). Validates 2 args: number, boolean. Converts slot to int64, sets the approve flag (+0x14) on the enchant entry. Returns 2 values. 0x006876D0 403 CEnchantMgr__lua_C_GetSlotCount enchant Lua callback for C_GetSlotCount(itemName). Takes an item name string, resolves to item ID via SpriteMap, looks up item info, gets class/level and refinement level, pushes the slot count as a number to Lua. Returns 1 value. 0x00687870 466 CEnchantMgr__lua_C_SetCaution enchant Lua callback for C_SetCaution(slot, cautionText). Validates 2 args: number, string. Converts slot to int64, finds the enchant entry, copies the caution text string into the entry's +0x48 field. Returns 2 values. 0x00687A50 340 CEnchantMgr__lua_C_SetCondition enchant Lua callback for C_SetCondition(slot, minLevel, maxLevel). Validates 3 args: all numbers. Converts slot to int64, converts min/max to uint32, finds the enchant entry and sets condition values at +0x0C and +0x10. Returns 2 values. 0x00687BB0 818 CEnchantMgr__lua_SetEnchant enchant Lua callback for L_SetEnchant. Takes 3 numeric args (enchant ID, slot, type) and a table of enchant option name->value pairs. Builds an RBTree of string->value mappings, then registers the enchant via CEnchantMgr. 0x00687EF0 914 CEnchantMgr__lua_SetGradeBonus enchant Lua callback for L_SetGradeBonus. Takes 2 numeric args (grade ID, bonus type) and a table of grade->bonus value pairs. Builds an RBTree of int->int64 mappings and stores them in the enchant grade bonus data via CEnchantMgr. 0x00688290 1094 CEnchantMgr__lua_SetRandomUpgradeRequire enchant Lua callback for L_SetRandomUpgradeRequire. Takes 4 args: numeric ID, numeric type, string item name, numeric cost, plus a table of option name->value pairs. Looks up item ID by name via SpriteMap, builds RBTree of requirements, stores in CEnchantMgr. 0x006886E0 897 CEnchantMgr__lua_SetRequire enchant Lua callback for L_SetRequire. Takes 3 numeric args (enchant ID, slot, cost) and a table of requirement name->value pairs. Builds an RBTree of string->uint mappings for enchant requirements, stores via CEnchantMgr. 0x00688A70 1010 CEnchantMgr__lua_SetReset enchant Lua callback for L_SetReset. Takes 5 args: numeric ID, boolean flag, numeric cost, numeric rate, and a table of option name->value pairs. Configures enchant reset parameters including cost multiplier and success rate via CEnchantMgr. 0x00688E70 550 CEnchantMgr__lua_SetSlotOrder enchant Lua callback for L_SetSlotOrder. Takes a numeric enchant ID and a table of slot order values. Builds a vector of slot indices from the table, then copies it into the enchant data's slot order array via CEnchantMgr. 0x006890A0 401 CEnchantMgr__lua_SetSuccessRate enchant Lua callback for L_SetSuccessRate. Takes 3 numeric args: enchant ID, slot index, and success rate value. Stores the success rate as an int64 at offset +0x10 in the enchant slot data via CEnchantMgr. 0x00689260 238 CEnchantMgr__rbtree_deep_copy_node_0x18 enchant Recursively deep-copies an RBTree with 0x18-byte nodes. Copies each node's key (2 int fields at offset +0x10,+0x14), allocates new 0x18 node, sets parent/child pointers and color, then recurses into left and right subtrees. 0x00689370 241 CEnchantMgr__rbtree_deep_copy_node_0x1c enchant Recursively deep-copies an RBTree with 0x1c-byte nodes (which contain nested RBTree data at offset +0x10). Calls CEnchantMgr__rbtree_copy_construct_0x18 for the nested tree, then recurses into left and right subtrees. 0x00689480 519 CEnchantMgr__vector_grow_and_insert_0x40 enchant Grows and inserts into a vector of 0x40-byte tooltip elements. Allocates new buffer with 1.5x growth, copies existing elements around the insertion point, calls copy-construct for the new element at the insert position. Frees old buffer. 0x00689690 118 CEnchantMgr__rbtree_destroy_all_nodes_0x18 enchant Destroys all nodes in an RBTree with 0x18-byte nodes. Traverses via first child, recursively destroys right subtrees via rbtree_destroy_nodes_recursive_0x18, then frees each node. Also frees the sentinel node at the end. 0x00689710 103 CEnchantMgr__rbtree_destroy_nodes_recursive_0x14 enchant Recursively destroys RBTree nodes of 0x14 bytes each. Traverses right subtree first, then follows left child pointers, freeing each node. Used for simple key-only RBTree cleanup. 0x00689780 103 CEnchantMgr__rbtree_destroy_nodes_recursive_0x18 enchant Recursively destroys RBTree nodes of 0x18 bytes each. Traverses right subtree first, then follows left child pointers, freeing each node. Used for key-value RBTree cleanup. 0x006897F0 142 CEnchantMgr__rbtree_destroy_nodes_recursive_0x1c enchant Recursively destroys RBTree nodes of 0x1c bytes each. Before freeing each node, also destroys its nested RBTree at offset +0x14 via rbtree_destroy_all_nodes_0x18. Used for composite enchant data cleanup. 0x00689880 103 CEnchantMgr__rbtree_destroy_nodes_recursive_0x18_v2 enchant Recursively destroys RBTree nodes of 0x18 bytes each (variant 2). Same structure as _v1 but used in a different context. Traverses right subtree, follows left pointers, frees each node. 0x006898F0 142 CEnchantMgr__rbtree_destroy_nodes_recursive_0x1c_v2 enchant Recursively destroys RBTree nodes of 0x1c bytes each (variant 2). Before freeing each node, destroys nested RBTree at offset +0x14 via rbtree_destroy_all_nodes_0x18. Same logic as _v1 but used in different cleanup paths. 0x00689980 137 CEnchantMgr__hashmap_find_by_string enchant Finds an entry in a hash map by string key. Computes FNV-1a hash of the key, looks up the bucket, then walks the collision chain comparing strings via std::_Traits_equal. Returns iterator pair (node pointer + found flag). 0x00689A10 127 CEnchantMgr__hashmap_destroy_nodes_0x38 enchant Destroys all nodes in a hash map with 0x38-byte entries containing two std::strings. Clears the node count, walks the linked list freeing each node after destroying both strings. Finally frees the sentinel. 0x00689A90 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x00689B00 153 CEnchantMgr__format_bonus_string enchant Formats an enchant bonus value into a string using CFmt__format_to_string. Wraps a single int parameter from param_4 and passes it with format args (count=1, extra=0) to the formatter. 0x00689BA0 609 CEnchantMgr__hashmap_insert_from_rbtree enchant Inserts entries from an RBTree (with string keys) into a hash map. Iterates RBTree nodes, computes FNV-1a hash of each string key, finds or creates hash map bucket entries. Handles rehashing when load factor exceeds threshold. 0x00689E10 31 CEnchantMgr__fill_range enchant CEnchantMgr: fill range 0x00689E30 251 CEnchantMgr__rbtree_copy_construct_0x18 enchant Copy-constructs an RBTree with 0x18-byte nodes. Allocates a new sentinel, deep-copies all nodes via rbtree_deep_copy_node_0x18, copies the element count, then finds and sets the min/max node pointers. 0x00689F30 108 CEnchantTooltip__ctor_base enchant Base constructor for CEnchantTooltip. Sets vtable to base tooltip vtable, copies the tooltip type from param_2, initializes data to zero, calls enchant_data_init for the enchant data structure, and clears the active flag. 0x00689FA0 135 CEnchantTooltipValue__ctor enchant Constructor for CEnchantTooltipValue (derived from CEnchantTooltip). Calls base ctor, then overrides vtable to CEnchantTooltipValue's vtable and stores two additional value fields from param_3 and param_4. 0x0068A030 141 CEnchantTooltipValue__copy_ctor enchant Copy constructor for CEnchantTooltipValue. Copies vtable, type, and data from the source object, deep-copies the enchant data structure via enchant_data_copy_construct, copies the active flag, then overrides vtable and copies the two extra value fields. 0x0068A0C0 121 CEnchantTooltipSimple__ctor enchant Constructor for CEnchantTooltipSimple (derived from CEnchantTooltip). Calls base ctor then overrides vtable to CEnchantTooltipSimple's vtable. No additional data fields beyond the base. 0x0068A140 133 CEnchantTooltipBool__ctor enchant Constructor for CEnchantTooltipBool (derived from CEnchantTooltip). Calls base ctor, overrides vtable to CEnchantTooltipBool's vtable, stores a value from param_3, and sets the active flag to 1. 0x0068A1D0 361 CEnchantMgr__enchant_data_copy_construct enchant Deep copy-constructs a full enchant data structure. Copies the 0x1c-node RBTree via rbtree_deep_copy_node_0x1c, the element count, the hash map bucket array, and the int vector. Also copies scalar config values (load factor, bucket count). 0x0068A340 221 CEnchantMgr__enchant_data_init enchant Initializes a default enchant data structure. Creates sentinel nodes for both the RBTree (0x1c) and hash map (0x38), zeroes the vector fields, sets default load factor to 1.0f, bucket count to 8, and initial bucket capacity to 16. 0x0068A420 1535 CEnchantMgr__build_item_bonus_tooltips enchant Constructs an enchant item bonus tooltip object. Parses item bonus data from a source record, looks up bonus entries in CDataTable, converts equip locations to slot indices, creates tooltip entries for each enchant slot with bonus values. Handles SetWeaponAttr special cases with signed/negated values. 0x0068AA20 67 CEnchantMgr__delete_list_sentinel_0xc enchant Deletes the list sentinel node (0xc bytes) at offset +4 of the object, if it exists. Used as a destructor helper for linked list containers in the enchant system. 0x0068AA70 67 CEnchantMgr__delete_hashmap_sentinel_0x38 enchant Deletes the hash map sentinel node (0x38 bytes) at offset +4 of the object, if it exists. Used as a destructor helper for hash map containers in the enchant system. 0x0068AAC0 67 CEnchantMgr__delete_rbtree_sentinel_0x18 enchant Deletes the RBTree sentinel node (0x18 bytes) at offset +4 of the object, if it exists. Used as a destructor helper for RBTree containers in the enchant system. 0x0068AB10 67 CEnchantMgr__delete_rbtree_sentinel_0x1c enchant Deletes the RBTree sentinel node (0x1c bytes) at offset +4 of the object, if it exists. Used as a destructor helper for RBTree containers with larger nodes in the enchant system. 0x0068AB60 102 CEnchantMgr__enchant_data_destroy_vectors_and_hashmap enchant Destroys an enchant data structure's vector and hash map components. First clears the int vector via vector_clear_and_free, then destroys all hash map nodes (with strings) and frees the hash map sentinel (0x38 bytes). 0x0068ABD0 125 CEnchantMgr__vector_clear_and_free enchant Clears and frees a vector's backing memory. Computes allocation size, handles aligned allocation cleanup (checking 0xFFF threshold), calls operator_delete, then zeroes all three vector fields (begin, end, capacity). 0x0068AC60 78 CEnchantMgr__delete_list_sentinel_0xc_v2 enchant Deletes the list sentinel node (0xc bytes) at offset +4 (variant 2). Same as delete_list_sentinel_0xc but with slightly different stack frame layout. Used in different destructor chains. 0x0068ACB0 129 CEnchantMgr__hashmap_node_destroy_strings_and_free enchant Destroys a hash map node's two embedded std::strings and frees the 0x38-byte node. Called during hash map cleanup when nodes contain string key-value pairs that need individual destruction. 0x0068AD40 7 CEnchantMgr__rbtree_destroy_all_nodes_0x18_thunk enchant Thunk to CEnchantMgr__rbtree_destroy_all_nodes_0x18. Simple forwarding call used as a virtual destructor entry or callback target. 0x0068AD50 76 CEnchantMgr__rbtree_clear_and_free_0x1c_0068ad50 enchant Destroys all nodes in an RBTree with 0x1c-byte nodes (which contain nested RBTrees), then frees the sentinel. Calls rbtree_destroy_nodes_recursive_0x1c to walk and free all nodes before freeing the 0x1c sentinel. 0x0068ADB0 111 CEnchantMgr__rbtree_destroy_all_nodes_0x14 enchant Destroys all nodes in an RBTree with 0x14-byte nodes. Walks from first child, recursively destroys right subtrees via rbtree_destroy_nodes_recursive_0x14, frees each node (0x14 bytes), then frees the sentinel. 0x0068AE50 84 CEnchantMgr__rbtree_clear_and_free_0x1c_optional enchant Optionally clears and frees an RBTree with 0x1c-byte nodes. Checks if the inner pointer (param_1[1]) is non-null before destroying. Used when the RBTree may or may not have been initialized. 0x0068AEE0 103 CEnchantMgr__list_destroy_all_nodes_0xc enchant Destroys all nodes in a singly-linked list with 0xc-byte nodes. Clears the node count, walks the linked list freeing each node, then frees the sentinel/head node. 0x0068AF50 73 CEnchantMgr__hashmap_clear_and_free_0x38 enchant Clears and frees a hash map with 0x38-byte nodes containing two strings. Calls hashmap_destroy_nodes_0x38 to free all entries, then frees the 0x38-byte sentinel/bucket array. 0x0068AFA0 66 CEnchantMgr__rbtree_destroy_all_nodes_0x18_wrapper enchant Wrapper that destroys all nodes in an RBTree with 0x18-byte nodes. Forwards to rbtree_destroy_all_nodes_0x18 with SEH frame setup. Used in destructor chains. 0x0068AFF0 87 CEnchantMgr__rbtree_clear_and_free_0x1c_wrapper enchant Wrapper that destroys all nodes in an RBTree with 0x1c-byte nodes (containing nested RBTrees), then frees the sentinel. Forwards to rbtree_destroy_nodes_recursive_0x1c with SEH frame setup. 0x0068B050 126 CEnchantMgr__rbtree_destroy_all_nodes_0x14_wrapper enchant Wrapper that destroys all nodes in an RBTree with 0x14-byte nodes. Same logic as rbtree_destroy_all_nodes_0x14 but with different SEH frame setup. Used in alternative destructor chains. 0x0068B0D0 102 CEnchantMgr__enchant_data_destroy_full enchant Full destructor for an enchant data structure. First clears the int vector, then destroys all hash map nodes (with strings) and frees the hash map sentinel, then frees the 0x38-byte bucket array. 0x0068B140 156 CEnchantMgr__tooltip_vector_destroy_and_free enchant Destroys and frees a vector of 0x40-byte tooltip objects. Iterates all elements calling each one's virtual destructor (via vtable[0]), then frees the vector's backing memory with aligned-delete handling. 0x0068B1F0 92 CEnchantData__dtor enchant Destructor for base CEnchantData class. Sets vtable, cleans up float format and buffer members. 0x0068B250 105 CEnchantDataDerived1__dtor enchant Destructor for CEnchantDataDerived1. Sets derived vtable then falls through to base CEnchantData dtor. Object size 0x40. 0x0068B2C0 105 CEnchantDataDerived2__dtor enchant Destructor for CEnchantDataDerived2. Sets derived vtable then falls through to base CEnchantData dtor. Object size 0x38. 0x0068B330 105 CEnchantDataDerived3__dtor enchant Destructor for CEnchantDataDerived3. Sets derived vtable then falls through to base CEnchantData dtor. Object size 0x3c. 0x0068B3A0 71 CEnchantRBTreeNode__dtor enchant Destructor for enchant RB-tree node container (0x14 size). Sets vtable and delegates to CEnchantRBTree__dtor. 0x0068B3F0 157 CEnchantRBTreeContainer__dtor enchant Destructor for enchant RB-tree container with 0x18-sized nodes. Iterates and frees all tree nodes recursively, then calls CEnchantRBTree__dtor for the inner tree. 0x0068B490 142 CEnchantRBTree__dtor enchant Destructor for base enchant RB-tree. Sets vtable, iterates and frees all 0x14-sized tree nodes, then frees the sentinel node. 0x0068B520 266 CEnchantBonusSet__dtor enchant Destructor for CEnchantBonusSet. Destroys linked list entries via virtual destructors, frees tooltip vector, then calls base CEnchantData dtor. Object size 0x58. 0x0068B630 103 CEnchantHashMap__clear enchant Clears the enchant hashmap. If element count is small enough relative to bucket count, erases via range erase; otherwise destroys all nodes and resets buckets to empty. 0x0068B6C0 116 CEnchantData__scalar_deleting_dtor enchant Scalar deleting destructor for base CEnchantData. Calls dtor then optionally frees 0x38 bytes if bit 0 of param is set. 0x0068B740 129 CEnchantDataDerived1__scalar_deleting_dtor enchant Scalar deleting destructor for CEnchantDataDerived1. Calls dtor then optionally frees 0x40 bytes. 0x0068B7D0 129 CEnchantDataDerived2__scalar_deleting_dtor enchant Scalar deleting destructor for CEnchantDataDerived2. Calls dtor then optionally frees 0x38 bytes. 0x0068B860 129 CEnchantDataDerived3__scalar_deleting_dtor enchant Scalar deleting destructor for CEnchantDataDerived3. Calls dtor then optionally frees 0x3c bytes. 0x0068B8F0 96 CEnchantRBTreeNode__scalar_deleting_dtor enchant Scalar deleting destructor for enchant RB-tree node. Calls CEnchantRBTree__dtor then optionally frees 0x14 bytes. 0x0068B950 35 CEnchantRBTreeContainer__scalar_deleting_dtor enchant Scalar deleting destructor for enchant RB-tree container. Calls CEnchantRBTreeContainer__dtor then optionally frees 0x18 bytes. 0x0068B980 35 CEnchantRBTree__scalar_deleting_dtor enchant Scalar deleting destructor for enchant RB-tree. Calls CEnchantRBTree__dtor then optionally frees 0x10 bytes. 0x0068B9B0 287 CEnchantBonusSet__scalar_deleting_dtor enchant Scalar deleting destructor for CEnchantBonusSet. Calls full bonus set dtor (linked list + tooltip + base) then optionally frees 0x58 bytes. 0x0068BAD0 727 CEnchantMgr__lookup_and_apply_bonus enchant Looks up an enchant bonus by JSON key string (DJB2 hash). Compares bonus name, checks min/max range params, and formats the result into an enchant data structure via CFmt helpers. Handles single-value and range-value bonuses differently. 0x0068BDB0 228 CEnchantMgr__check_item_enchant_state enchant Checks if an item has enchant data by looking up its index in the RB-tree. Updates bool flag at offset 0x38 indicating whether enchant data exists. Returns whether the state changed. 0x0068BEA0 353 CEnchantMgr__call_lua_OnStartEquip enchant Calls the Lua OnStartEquip callback for the enchant system. Gets the function from Lua globals, calls it with pcall, and dispatches any error message to the chat window. 0x0068C010 4 CEnchantWnd__get_observer_vector enchant Returns pointer to the observer vector at this+0x44. Used by the enchant window to access registered observers. 0x0068C020 88 CEnchantHashMap__find_value_by_key enchant Looks up a value in the enchant hashmap by key. Walks the bucket chain matching by key. Returns the value if found, 0xFFFFFFFF if hashmap is null, or 0 if key not found. 0x0068C090 70 CEnchantWnd__get_state_color_string enchant Returns a color/format string pair based on the enchant state at offset 0x38. State 0 and 1 return color strings of length 3; other states return an empty string. 0x0068C0E0 4 CEnchantWnd__get_enchant_state enchant Returns the enchant state byte from offset 0x38 of the enchant window object. 0x0068C0F0 4 CEnchantWnd__get_enchant_id_ptr enchant Returns pointer to the enchant ID field at this+4. 0x0068C140 4 CEnchantWnd__get_hashmap_ptr enchant Returns pointer to the hashmap sub-object at this+0xc. 0x0068C150 27 CEnchantMgr__get_enchant_type_by_index enchant Looks up an enchant type ID by 1-based index (1 through 20) in a static lookup table at DAT_0110f64c. Returns 0 if index is out of range. 0x0068C170 308 CEnchantWnd__init_from_lua_enchant_table enchant Initializes enchant window from Lua enchant data table. Ensures CDataTable singleton, gets Lua table by enchant ID, calls OnStartEquip, and checks OnStartPretendEquip flag to set UI state. 0x0068C2B0 353 CEnchantWnd__init_from_lua_combiitem enchant Initializes enchant window from Lua Combiitem table. Similar to enchant table init but uses the Combiitem Lua global. Also calls OnStartPretendEquip check and optionally dispatches state info to chat. 0x0068C420 312 CEnchantWnd__init_from_lua_and_show_state enchant Initializes enchant window from Lua enchant table and shows the current state. Calls OnStartEquip Lua callback and dispatches the state color string to the chat window if param_2 is true. 0x0068C560 2209 CEnchantWnd__compute_and_apply_bonuses enchant Main enchant bonus computation. Loads enchant Lua table, iterates AddExtParam entries, computes item bonuses (ATK, MATK, etc.) based on equip type (weapon=1, armor=2/3). Handles 3-level bonus lookups for physical/magical damage. Sets pretend equip flag. Notifies all observers and dispatches result to chat. 0x0068CE10 8 CEnchantWnd__reset_format_state enchant Wrapper that resets the format state by calling CFmt__flt_00698ce0. Called between enchant operations to clear formatting context. 0x0068CE50 67 CEnchantWnd__send_state_color_to_chat enchant Sends the enchant state color string to the chat window. Maps state 0/1 to color codes, then dispatches via CEnchantWnd__dispatch_bonus_lines_to_chat with type=1 (status line). 0x0068CEA0 76 CEnchantWnd__reset_and_notify_observers enchant Resets enchant state to default. If state was 1, dispatches empty string to chat. Iterates observer vector at offset 0x44 and calls each observer's reset callback. 0x0068CEF0 22 CEnchantWnd__check_pretend_equip_flag enchant Checks if pretend equip flag (offset 0x34 byte) is set to 1. If so, triggers a virtual callback at vtable+4 with param 0 (preview equip) and returns the updated flag value. 0x0068CF10 800 CEnchantWnd__dispatch_bonus_lines_to_chat enchant Formats and dispatches enchant bonus description lines to the chat window. Iterates the bonus RB-tree, calls each entry's format method, splits output by newlines, strips color codes, and sends each line via CUIWindowMgr__dispatch_chat_message with the specified color. 0x0068D240 13 CEnchantWnd__set_flags_or enchant ORs the given byte flag into the flags field at offset 0x34 of the enchant window. 0x0068D250 19 CEnchantWnd__set_enchant_state enchant Sets the enchant state byte at offset 0x38. Returns true if the state actually changed (old != new). 0x0068D270 13 CEnchantWnd__set_hashmap enchant Sets the hashmap pointer at offset 8 of the enchant window object. 0x0068D280 235 CEnchantWnd__vector_resize_and_fill enchant Resizes a vector of 4-byte elements to the given count and fills all entries with the specified value. If the new count is larger, allocates new aligned memory, frees old, and fills. If same or smaller, just fills in place. 0x0068D370 37 CEnchantWnd__destroy_observers_range enchant CEnchantWnd: destroy observers range 0x0068D3A0 512 CEnchantHashMap__rehash enchant Rehashes the enchant string hashmap to the given bucket count. Computes next power-of-2 bucket size, resizes the bucket array, then re-inserts all nodes using FNV-1a hash. Handles collisions by relinking nodes within same-key chains. 0x0068D5B0 1 identity_return_ecx_0068d5b0 game_core Identity function that returns its input parameter unchanged 0x0068D5C0 1 identity_return_ecx_0068d5c0 game_core Identity function that returns its input parameter unchanged 0x0068D5D0 196 CEnchantWnd__copy_construct_entries_range enchant Copy-constructs a range of enchant entries from [param_1, param_2) into destination starting at param_3. Each entry is 0x40 bytes with vtable, IDs, enchant data copy, and flags. Returns pointer past last constructed entry. 0x0068D6A0 194 CEnchantWnd__copy_construct_entries_range_void enchant Copy-constructs a range of enchant entries from [param_1, param_2) into destination at param_3. Same as copy_construct_entries_range but void return. Each entry is 0x40 bytes. 0x0068D770 549 CEnchantHashMap__erase_range enchant Erases a range of nodes [param_2, param_3) from the enchant hashmap. For each node, destroys string keys, frees the 0x38-byte node, updates bucket pointers, and decrements the element count. Uses FNV-1a hash to locate bucket heads. 0x0068D9A0 10 CEnchantWnd__throw_vector_too_long enchant Throws std::length_error with message "vector too long". Called when enchant vector exceeds maximum capacity. 0x0068D9B0 58 CEnchantWnd__free_aligned_entry_block enchant Frees an aligned memory block of 0x40-byte enchant entries. Handles aligned allocation bookkeeping (checks header pointer for large allocations). 0x0068D9F0 114 CEnchantMgr__ensure_datatable_singleton enchant Ensures the CDataTable singleton (DAT_0138d260) is initialized. If null, allocates 0x1fc bytes and calls CDataTable__construct_full. Used by all enchant functions that need data table access. 0x0068DA70 124 CEnchantRBTree__ctor enchant Constructs an enchant RB-tree. Copies comparator from param_3, allocates 0x18-byte sentinel node with self-referencing pointers and initializes color/nil flags. 0x0068DB00 238 CEnchantRBTree__deep_copy_recursive enchant Recursively deep-copies an enchant RB-tree. For each non-nil node, allocates a new 0x18-byte node, copies key/value fields, copies color flag, then recursively copies left and right subtrees. 0x0068DC10 232 STL_rbtree_copy_nodes_recursive stl Recursively copies red-black tree nodes (0x14 bytes each). Creates new nodes via operator_new, copies key from source node[4], then recurses into left and right subtrees. 0x0068DD20 118 STL_rbtree_destroy_nodes_0x14 stl Iteratively destroys red-black tree nodes of size 0x14 bytes. Walks left children, recursively destroys right subtrees, then frees each node. Frees the head node last. 0x0068DDA0 118 STL_rbtree_destroy_nodes_0x18_0068dda0 stl Iteratively destroys red-black tree nodes of size 0x18 bytes. Same pattern as 0x14 variant - walks left, recurses right, frees nodes. 0x0068DE20 103 STL_rbtree_delete_nodes_recursive_0x14 stl Recursively deletes red-black tree nodes of size 0x14 bytes. Recurses into right child, then walks left children freeing each node. 0x0068DE90 103 STL_rbtree_delete_nodes_recursive_0x18 stl Recursively deletes red-black tree nodes of size 0x18 bytes. Same pattern as 0x14 variant. 0x0068DF00 75 _Find_lower_bound<> stl STL tree lower_bound helper. Binary search for the first element not less than a key. 0x0068DF50 75 _Find_lower_bound<> stl STL tree lower_bound helper. Binary search for the first element not less than a key. 0x0068DFA0 825 CFmt__out_write_with_line_breaks_narrow fmtlib {fmt} library: Writes narrow (char) format output into a wchar buffer with line-break tracking. Reads chars from an SSO string, accumulates line positions, and copies source data with separator insertions. Uses CFmt__uint32_buffer_grow for overflow. 0x0068E2E0 821 CFmt__out_write_with_line_breaks_wide fmtlib {fmt} library: Writes wide (wchar) format output into a wchar buffer with line-break tracking. Same logic as narrow variant but reads wchar input. Uses CFmt__uint32_buffer_grow for overflow. 0x0068E620 94 CFmt__out_copy_wchars_to_buffer fmtlib {fmt} library: Copies a range of wchars [param_2, param_3) into the output buffer at param_4. Grows buffer via vtable call if capacity exceeded. 0x0068E680 101 CFmt__out_copy_chars_to_wbuffer fmtlib {fmt} library: Copies narrow chars [param_2, param_3) into a wchar output buffer, widening each char to short. Grows buffer via vtable if needed. 0x0068E6F0 94 CFmt__out_copy_wchars_to_buffer_0068e6f0 fmtlib {fmt} library: Copies wchars to wchar output buffer. Identical to CFmt__out_copy_wchars_to_buffer but at different address (template instantiation). 0x0068E750 74 CFmt__out_copy_chars_to_wbuffer_0068e750 fmtlib {fmt} library: Copies narrow chars to wchar buffer with widening. Identical to CFmt__out_copy_chars_to_wbuffer but at different address (template instantiation). 0x0068E7A0 488 CFmt__out_parse_arg_id_wide fmtlib {fmt} library: Parses an argument ID from format string for precision resolution. Handles numeric IDs (0-9...), named IDs (identifiers), and validates against auto/manual indexing mode. Calls CFmt__parse_validate_precision on the resolved argument. 0x0068E990 487 CFmt__out_parse_arg_id_for_width fmtlib {fmt} library: Parses an argument ID from format string for width resolution. Same as precision variant but calls CFmt__parse_validate_width. 0x0068EB80 1291 CFmt__out_format_float32 fmtlib {fmt} library: Formats a 32-bit float value with alignment, sign, locale, fixed/scientific/general notation. Handles decimal point positioning, padding, sign prefix, and locale-aware grouping. Delegates to CFmt__render_* and CFmt__buf_* for final output. 0x0068F090 1611 CFmt__out_format_float64 fmtlib {fmt} library: Formats a 64-bit double value with alignment, sign, locale, fixed/scientific/general notation. Extended version of float32 formatter handling 64-bit mantissa/exponent. Delegates to CFmt__render_* and CFmt__buf_* for final output. 0x0068F6E0 1286 CFmt__out_format_float_general fmtlib {fmt} library: General float formatting for values whose digits come from an external digits buffer (param_3). Handles fixed/scientific/general notation, sign prefix, locale grouping, and padding. Uses CFmt__render_* and CFmt__buf_* helpers. 0x0068FBF0 37 CFmt__out_compare_two_wchars fmtlib {fmt} library: Compares two wchar pairs. Returns 1 in low byte if both pairs match; otherwise returns difference info in high byte. 0x0068FC20 158 CFmt__out_fill_padding fmtlib {fmt} library: Fills output buffer with padding. If fill pattern is 1 wchar, delegates to single-char repeat. Otherwise copies the multi-char fill pattern param_3 times. 0x0068FCC0 81 CFmt__out_fill_wchar_n_times fmtlib {fmt} library: Writes a single wchar value (param_4) into output buffer param_3 times. Only writes if param_3 > 0. Grows buffer via vtable if capacity exceeded. 0x0068FD20 81 CFmt__out_fill_wchar_repeat fmtlib {fmt} library: Writes a single wchar value into output buffer N times. Similar to fill_wchar_n_times but checks param_3 != 0 instead of > 0. 0x0068FD80 102 CFmt__out_find_escape_char fmtlib CFmt: out find escape char 0x0068FEF0 194 CFmt__out_format_escaped_pair fmtlib {fmt} library: Formats an escaped string pair (two wstring arguments). Extracts the SSO buffer pointers and lengths, then calls CFmt__vformat_to_wstring with type code 0xdd. 0x0068FFC0 161 CFmt__out_format_escaped_single fmtlib {fmt} library: Formats a single escaped wstring argument. Extracts SSO buffer pointer and length, then calls CFmt__vformat_to_wstring with type code 0xd. 0x00690070 183 CFmt__parse_format_double_arg fmtlib {fmt} library: Formats a double argument using format_to_string. Extracts the 8-byte double and an extra param, then calls CFmt__format_to_string_00591270 with type code 0x1a. 0x00690130 138 CFmt__write_uint32_decimal_to_wbuffer fmtlib {fmt} library: Writes a uint32 value as decimal digits into a wchar buffer. Uses a lookup table for 2-digit pairs (00-99) to convert efficiently. Writes in reverse from the end of the buffer. 0x006901C0 309 CFmt__write_uint64_decimal_to_wbuffer fmtlib {fmt} library: Writes a uint64 value (param_2:param_3) as decimal digits into a wchar buffer. Uses 64-bit division by 100 with the lookup table for 2-digit pairs. Writes in reverse from position param_4. 0x00690300 216 CFmt__write_uint32_hex_to_wbuffer fmtlib {fmt} library: Writes a uint32 as hexadecimal digits into a wchar output buffer. Supports uppercase (ABCDEF) or lowercase (abcdef) based on param_5. Tries in-place write first; falls back to stack buffer + copy. 0x006903E0 162 CFmt__parse_validate_precision fmtlib {fmt} library: Validates a precision value from a format argument. Handles 4 cases: (1) use value, error if negative; (2) use zero; (3) keep existing, error if negative; (4) pass-through. Errors if value >= 0x80000000. 0x006904C0 162 CFmt__parse_validate_width fmtlib {fmt} library: Validates a width value from a format argument. Same logic as precision validator but with "negative width" and "width is not integer" error messages. 0x006905A0 180 CFmt__parse_find_named_arg fmtlib {fmt} library: Searches for a named argument by comparing wchar name (param_2, length param_3) against a list of registered named arguments. Returns the argument index or -1 if not found. Only active if arg list has the 0x40000000 flag. 0x00690660 234 CFmt__parse_rbtree_insert_uint fmtlib {fmt} library: Inserts a uint key into a red-black tree (std::set). Uses _Find_lower_bound to locate insertion point. If key already exists, returns existing node. Otherwise allocates a 0x14-byte node and calls Insert_node. 0x00690750 388 CFmt__parse_arg_index fmtlib {fmt} library: Parses an argument index from the format string. Handles auto-indexing (} or :), explicit numeric index, and named argument lookup. Validates against auto/manual mode switching. Returns the resolved argument index. 0x006908E0 202 CFmt__parse_float_type_specifier fmtlib {fmt} library: Converts a float type specifier enum to an output format descriptor. Maps type codes (0=default, 7=a, 8=A, 9=e, 10=E, 11=f, 12=F, 13=d, 14=g) to internal representation with sign/uppercase flags. 0x006909E0 1245 CFmt__parse_format_specs fmtlib {fmt} library: Parses the full format specification after the colon in {id:spec}. Handles fill/align, sign (+/-/space), # flag, 0 flag, width (literal or {arg}), precision (.N or .{arg}), L locale flag, and type character (d,x,o,b,s,c,p,etc). Returns pointer past the closing }. 0x00690EC0 407 CFmt__parse_format_string_body fmtlib {fmt} library: Parses the body of a format string, processing literal text and {replacement fields}. For short strings (<64 wchars), uses inline loop. For longer strings, calls a separate path. Handles escaped {{ and }} (doubled braces). Calls CFmt__parse_replacement_field for each { found. 0x00691060 140 CFmt__parse_nonneg_int_0068 fmtlib {fmt} library: Parses a non-negative integer from a wchar string. Reads decimal digits, accumulates value. Returns param_3 (max value) if the number overflows (>10 digits or >INT_MAX). Updates the position pointer past the digits. 0x006910F0 105 CFmt__parse_type_char_to_enum fmtlib {fmt} library: Converts a type specifier character to its internal enum value. Maps: d=1, o=2, x=3, X=4, b=5, B=6, a=7, A=8, e=9, E=10, f=11, F=12, g=13, G=14, c=15, s=16, p=17, ?=18. Returns 0 for unknown. 0x006911F0 677 CFmt__parse_replacement_field fmtlib {fmt} library: Parses a single replacement field {...} from a format string. Resolves the argument index (auto or explicit), parses format specs after ':', invokes the appropriate formatter via CFmt__format_arg_dispatch, and returns pointer past the closing }. 0x006914A0 42 CFmt__buffer_try_reserve fmtlib {fmt} library: Tries to reserve space in the wchar output buffer. If offset+count <= capacity, advances offset and returns the write pointer. Otherwise returns 0 (caller must grow buffer). 0x006914D0 126 CFmt__buffer_to_wstring fmtlib {fmt} library: Converts a wchar buffer (pointer + count from param_2+8/param_2+4) into an std::wstring. Initializes the SSO wstring and copies the buffer contents via STL_wstring_assign. 0x00691550 387 CFmt__vformat_to_wstring fmtlib {fmt} library: Top-level vformat_to_wstring. Allocates a 500-wchar stack buffer, calls CFmt__vformat_dispatch to process the format string and args, then converts the result buffer to an std::wstring. Frees heap buffer if it grew beyond stack. 0x006916E0 158 CFmt__vformat_dispatch fmtlib {fmt} library: Dispatch function for vformat. Short-circuits the common case of a single "{}" by directly formatting arg 0. Otherwise calls CFmt__parse_format_string_body to process the full format string. 0x00691780 1099 CFmt__format_arg_dispatch fmtlib {fmt} library: Dispatches formatting based on the argument's type tag. Handles: int (1-4), bool (7), char (8), float (9), double (10-11), string/wstring (12-14), and custom formatters (15/default). Each case delegates to the appropriate render/format function. 0x00691C10 1629 CFmt__format_value_by_type fmtlib {fmt} library: Formats a value by its runtime type. Massive switch handling: signed int (case 1), unsigned int (case 2), signed int64 (case 3), unsigned int64 (case 4), bool (case 7), char (case 8), float (case 9), double (case 10/11), wstring (case 12-14), custom (case 15). Each case converts the value and writes formatted output to the buffer. 0x006922B0 13 CFmt__store_result_ptr_006922b0 fmtlib {fmt} library: Simple helper that stores a result pointer. Sets *param_1 = param_2. 0x006922C0 341 CFmt__format_string_with_specs fmtlib {fmt} library: Formats a wchar string with format specs applied. Validates type specifier (must be default, 's', or '?'). Computes truncated length from precision. If type is '?' (escaped), calculates escaped output length by scanning for special chars. Delegates to CFmt__render_00695340 for final output. 0x00692480 116 CFmt__format_signed_int_with_sign_00692480 fmtlib {fmt} library: Formats a signed 32-bit integer with sign handling. Negates if negative and prepends '-'. For non-negative values, applies sign policy from format specs ('+', ' ', or none). Delegates to CFmt__render_00694b50. 0x00692500 933 CFmt__format_float_value_00692500 fmtlib {fmt} library: Formats a single-precision float with full format spec support. Resolves format type via CFmt__parse_float_type_specifier. Handles sign, infinity/NaN (via CFmt__render_00695230), hex float (via CFmt__format_hex_float), and decimal notation (via CFmt__format_double_to_digits + CFmt__out_format_float_general). Uses a 500-byte stack buffer with heap fallback. 0x006928B0 950 CFmt__format_float_32bit fmtlib Formats a 32-bit float value. Parses format spec, handles sign, checks for NaN/Inf, dispatches to hex float or decimal formatting paths. Uses digit buffer with auto-grow. 0x00692C70 950 CFmt__format_float_64bit fmtlib Formats a 64-bit float (double) value. Nearly identical to 32-bit variant. Parses format spec, handles sign, NaN/Inf check, dispatches to hex float or decimal formatting. 0x00693030 55 CFmt__render_pointer_value fmtlib Renders a pointer value. Validates type specifier (must be default or 0x11), then delegates to CFmt__render_pointer_hex for actual hex output. 0x00693070 367 CFmt__render_signed_int64 fmtlib Renders a signed 64-bit integer into a wide-char buffer. Handles negative sign (0x2d = '-'), counts decimal digits, and writes with alignment padding. 0x006931E0 233 CFmt__render_bool fmtlib Renders a boolean value as "true" or "false" string. Validates type specifier (0x10 = bool presentation). Applies width/alignment padding. 0x006932D0 148 CFmt__render_padded_string fmtlib Renders a byte string with alignment padding. Calculates left/right padding based on alignment flags, outputs content between padding fills. 0x00693370 145 CFmt__render_char fmtlib Renders a single character with alignment. Checks type specifier 0x12 for char presentation type. Applies width padding around the character output. 0x00693410 150 CFmt__render_hex_escape_short fmtlib Renders a short hex escape sequence (\xNN). Writes backslash + escape char, then hex digits using "0123456789abcdef" lookup table. 0x006934B0 18 CFmt__skip_escape_width_4 fmtlib Returns pointer advanced by 4 bytes. Used to skip a 4-byte escape sequence width in format processing. 0x006934D0 183 CFmt__render_hex_escape_8digit fmtlib Renders an 8-digit hex escape sequence (\xNNNNNNNN). Similar to short variant but with 8-byte buffer for wider codepoints. 0x00693590 16 CFmt__skip_escape_width_6 fmtlib Returns pointer advanced by 6 bytes. Used to skip a 6-byte escape sequence width in format processing. 0x006935A0 180 CFmt__render_hex_escape_wide fmtlib Renders a wide hex escape sequence with 16-byte buffer. Writes backslash + type char, then variable-length hex digits for wide codepoints. 0x00693660 16 CFmt__skip_escape_width_10 fmtlib Returns pointer advanced by 10 bytes. Used to skip a 10-byte escape sequence width in format processing. 0x00693670 239 CFmt__render_char_literal_quoted fmtlib Renders a character literal wrapped in single quotes. Handles printable chars directly, non-printable/special chars via escape sequences. Special-cases single quote (0x27). 0x00693760 290 CFmt__render_escape_sequence fmtlib Renders escape sequences for special characters. Maps: 9->\\t, 10->\\n, 13->\\r, 0x22/0x27/0x5c->backslash prefix. Other non-printable chars use \\xNN hex escapes. 0x006938F0 71 CFmt__calc_escape_width fmtlib Calculates the rendered width of an escape sequence. Known escapes (\\t, \\n, etc.) return 2. Unknown escapes iterate codepoints, each contributing 4 chars (\\xNN). 0x006939D4 1 CFmt__format_and_write_output fmtlib CFmt output formatter: iterates format string, copies literal chars to buffer, processes escape sequences via render_escape_sequence 0x00693AA0 143 CFmt__calc_escaped_string_width fmtlib Calculates total rendered width of a string with escape sequences. Iterates codepoints, counting 1 for printable chars and escape width for non-printable. Adds 2 for surrounding quotes. 0x00693B90 350 CFmt__render_exponent fmtlib Renders a scientific notation exponent. Writes sign (+/-), then 2-4 digit exponent value using digit pair lookup table. Used by float formatting. 0x00693CF0 490 CFmt__render_decimal_int32_padded fmtlib Renders a 32-bit decimal integer with padding/alignment. Handles sign prefix bytes, zero-padding for precision, left/right/center alignment, and fill character. 0x00693EE0 502 CFmt__render_decimal_int64_padded fmtlib Renders a 64-bit decimal integer with padding/alignment. Same logic as 32-bit variant but accepts 64-bit digit buffer parameters for larger values. 0x006940E0 423 CFmt__render_hex_int32_padded fmtlib Renders a 32-bit integer in hexadecimal with padding/alignment. Handles 0x prefix, zero-padding, and fill character alignment. 0x00694290 434 CFmt__render_hex_int64_padded fmtlib Renders a 64-bit integer in hexadecimal with padding/alignment. Handles 0x/0X prefix, zero-padding, and fill character alignment. 0x00694450 434 CFmt__render_binary_int32_padded fmtlib Renders a 32-bit integer in binary with padding/alignment. Handles 0b prefix, zero-padding, and fill character alignment. 0x00694610 434 CFmt__render_binary_int64_padded fmtlib Renders a 64-bit integer in binary with padding/alignment. Handles 0b/0B prefix, zero-padding, and fill character alignment. 0x006947D0 434 CFmt__render_octal_int32_padded fmtlib Renders a 32-bit integer in octal with padding/alignment. Handles 0 prefix (alternate form), zero-padding, and fill character alignment. 0x00694990 434 CFmt__render_octal_int64_padded fmtlib Renders a 64-bit integer in octal with padding/alignment. Handles 0 prefix (alternate form), zero-padding, and fill character alignment. 0x00694B50 529 CFmt__format_uint32_dispatch fmtlib Dispatches unsigned 32-bit integer formatting based on type specifier. Cases: 0/1=decimal, 2=octal, 3/4=hex, 5/6=binary, 0xf=char. Handles locale grouping and 0x/0b/0o prefixes. 0x00694D90 618 CFmt__format_uint64_dispatch fmtlib Dispatches unsigned 64-bit integer formatting based on type specifier. Same cases as 32-bit variant but counts digits for 64-bit values with appropriate shift operations. 0x00695030 345 CFmt__render_int64_with_locale_grouping fmtlib Renders a 64-bit integer with locale-aware digit grouping (thousands separators). Counts digits, calculates group separator positions, then writes with padding/alignment. 0x00695190 156 CFmt__render_locale_aware_int fmtlib Wrapper for locale-aware integer rendering. Initializes locale format string via CFmt__init_locale_format_wstring, then delegates to CFmt__render_int64_with_locale_grouping. 0x00695230 271 CFmt__render_nan_inf fmtlib Renders NaN or Inf special float values. Selects "nan"/"inf" string based on sign, handles sign prefix character, applies width padding/alignment. 0x00695340 370 CFmt__render_string_value fmtlib Renders a string value with optional debug quoting. Plain mode outputs raw wide chars. Debug mode wraps in double quotes and escapes special characters via CFmt__render_escape_sequence. 0x006954C0 389 CFmt__render_float_with_exponent_32bit fmtlib Renders a formatted float number with sign, decimal point, and exponent (32-bit). Handles sign prefix, decimal separator, fractional digits, and exponent suffix. 0x00695650 392 CFmt__render_float_with_exponent_64bit fmtlib Renders a formatted float number with sign, decimal point, and exponent (64-bit). Same structure as 32-bit variant but uses 64-bit digit conversion. 0x006957E0 327 CFmt__render_float_with_exponent_narrow fmtlib Renders a formatted float number with sign, decimal, and exponent using narrow (byte) string output. Uses CFmt__out_0068e680 for byte-width output instead of wide chars. 0x00695930 185 CFmt__render_pointer_hex fmtlib Renders a pointer as hexadecimal. Calculates hex digit count from bit width, prefixes with "0x", then outputs hex digits with alignment padding. 0x006959F0 237 CFmt__render_digits_with_separator_32bit fmtlib Formats 32-bit digits with a decimal separator. Converts integer to digit chars using pair lookup, inserts separator at specified position. Used for locale-aware number formatting. 0x00695AE0 480 CFmt__render_digits_with_separator_64bit fmtlib Formats 64-bit digits with a decimal separator. Uses 64-bit division (div by 100 via multiply-shift) to extract digit pairs. Inserts separator at specified position. 0x00695CC0 118 CFmt__render_string_segment_with_separator fmtlib Outputs a string segment with optional separator character. Writes first segment, optionally appends separator char, then writes remainder. Used for locale grouping output. 0x00695D40 376 CFmt__init_locale_format_wstring fmtlib Initializes a locale-aware format wstring. Constructs an STL wstring, calls CFmt__format_value_with_locale_wchar to populate locale separator info. Stores locale separator char at offset +24. 0x00695EC0 147 STL_rbtree_ctor_with_sentinel stl STL red-black tree constructor with single sentinel node (0x14 bytes). Sets vtable to CEnchantRBTreeNode variant. Initializes sentinel with self-referencing pointers and color flags 0x101. 0x00695F60 184 STL_rbtree_ctor_with_two_sentinels stl STL red-black tree constructor with two sentinel nodes (0x14 + 0x18 bytes). Sets vtable to CEnchantRBTreeContainer variant. Creates two self-referencing sentinel nodes for a dual-tree container. 0x00696020 253 STL_rbtree_copy_ctor stl STL red-black tree copy constructor. Allocates new sentinel, deep-copies all nodes via STL_rbtree_copy_nodes_recursive, then relinks min/max pointers by traversing to leftmost/rightmost nodes. 0x00696120 127 STL_rbtree_ctor_basic stl Basic STL red-black tree constructor. Allocates 0x14-byte sentinel node with self-referencing pointers and 0x101 color flags. Minimal init -- no secondary tree. 0x006961A0 67 STL_rbtree_dtor_delete_sentinel_0x14 stl STL rbtree destructor. Deletes sentinel node at offset +4 (0x14 bytes) if non-null. Does not destroy child nodes -- assumes they were already cleaned up. 0x006961F0 89 STL_rbtree_dtor_delete_sentinel_0x18 stl STL rbtree destructor. Deletes sentinel node at offset +8 (0x18 bytes) if non-null, then zeroes the pointer. For secondary tree in dual-tree containers. 0x00696250 76 STL_rbtree_dtor_delete_node_0x18 stl STL rbtree destructor. Deletes node at offset +0 (0x18 bytes) if non-null, then zeroes pointer. Variant for direct node pointer cleanup. 0x006962F0 78 STL_rbtree_dtor_delete_sentinel_0x14_v2 stl STL rbtree destructor variant. Deletes sentinel at offset +4 (0x14 bytes) if non-null. Similar to 006961a0 but with different calling convention. 0x00696340 78 STL_rbtree_dtor_delete_sentinel_0x18_v2 stl STL rbtree destructor variant. Deletes sentinel at offset +4 (0x18 bytes) if non-null. Similar to 006961f0 but with different calling convention. 0x00696390 123 STL_rbtree_dtor_destroy_all_and_delete stl STL rbtree full destructor. First destroys all child nodes via CEnchantMgr__rbtree_destroy_all_nodes thunk, then deletes the 0x1c-byte sentinel node. 0x00696410 78 CFmt__dtor_free_buffer_0x14 fmtlib Destructor: frees a 0x14-byte buffer at this+4 if non-null 0x00696460 78 CFmt__dtor_free_buffer_0x18 fmtlib Destructor: frees a 0x18-byte buffer at this+4 if non-null 0x006964B0 78 CFmt__dtor_free_buffer_0x1c fmtlib Destructor: frees a 0x1c-byte buffer at this+4 if non-null 0x00696500 77 CFmt__dtor_string fmtlib Destructor: calls STL_string_dtor on the contained string 0x00696550 80 CFmt__dtor_rbtree fmtlib Destructor: destroys all nodes in the RB-tree at this+4 0x006965A0 397 CFmt__dtor_report_container fmtlib Full destructor for a report container: iterates tree calling destructors on subtrees, clears RB-tree nodes, clears hashmap, frees vector, then destroys the root tree and hashmap sentinel 0x00696730 56 CFmt__wbuffer_append_wchar fmtlib Appends a single wchar_t to the format output buffer, growing the buffer if needed 0x00696770 40 CFmt__string_assign_from_other fmtlib Assigns a string from another string object (SSO-aware: checks capacity threshold at offset+5) 0x006967A0 223 CFmt__report_map_find_or_insert_uint fmtlib Finds a uint key in the RB-tree map or inserts a new 0x18-byte node if not found. Returns pointer to value field at node+0x14 0x00696880 321 CFmt__report_map_find_or_insert_with_subtree fmtlib Finds a uint key in the RB-tree map or inserts a new 0x1c-byte node with a nested RB-tree subtree. Returns pointer to the subtree at node+5 0x006969D0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00696A30 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00696A90 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00696AF0 132 CFmt__report_tree_iterator_decrement fmtlib RB-tree iterator decrement (moves to previous in-order node). Handles both left-subtree traversal and parent backtracking 0x00696B80 288 CFmt__format_char_with_quotes fmtlib Formats a character with surrounding single quotes. Non-printable, control chars, backslash, and double-quote get escape sequences via CFmt__render_escape_sequence 0x00696CA0 115 CFmt__format_hex_prefix_and_value fmtlib Writes '0x' prefix followed by a hex-formatted uint32 value to the wide-char output buffer 0x00696D20 194 CFmt__format_float_fixed_32bit fmtlib Formats a 32-bit float in fixed notation: optional sign char, digits with separator, optional fill chars, decimal separator, and exponent 0x00696DF0 197 CFmt__format_float_fixed_64bit fmtlib Formats a 64-bit float in fixed notation: optional sign char, digits with separator, optional fill chars, decimal separator, and exponent 0x00696EC0 194 CFmt__format_float_general fmtlib Formats a float in general notation: optional sign, string segment with separator, optional fill, decimal separator, and exponent 0x00696F90 246 CFmt__write_uint64_hex_to_wbuffer fmtlib Converts a 64-bit unsigned int to hexadecimal wchar string. Supports upper/lower case via flag at param_1[3]. Uses fast path when buffer has enough space, falls back to stack buffer + copy 0x00697090 647 CFmt__format_int32_decimal_with_grouping fmtlib Formats a 32-bit integer as decimal with optional sign char, locale-aware grouping/fill, and exponent suffix. Uses narrow byte buffer for locale grouping path 0x00697320 668 CFmt__format_int64_decimal_with_grouping fmtlib Formats a 64-bit integer as decimal with optional sign char, locale-aware grouping/fill, and exponent suffix. Uses narrow byte buffer for locale grouping path 0x006975C0 606 CFmt__format_string_decimal_with_grouping fmtlib Formats a string-based decimal number with optional sign char, locale-aware grouping/fill, and exponent suffix. Copies raw char digits for non-locale path 0x00697820 152 CFmt__write_uint32_binary_to_wbuffer fmtlib Converts a 32-bit unsigned int to binary (base-2) wchar string. Shifts right by 1, masks with &1, adds 0x30. Fast path for in-place write, fallback to stack buffer 0x006978C0 173 CFmt__write_uint64_binary_to_wbuffer fmtlib Converts a 64-bit unsigned int to binary (base-2) wchar string. Uses double-register shift (hi:lo >> 1). Fast path for in-place write, fallback to stack buffer 0x00697970 564 CFmt__format_int32_with_locale_grouping fmtlib Formats a 32-bit integer with locale-aware digit grouping (thousands separators). Checks locale flag at offset+0x18, uses wchar buffer for locale grouping path. Appends optional fill characters at end 0x00697BB0 585 CFmt__format_int64_with_locale_grouping fmtlib Formats a 64-bit integer with locale-aware digit grouping. Same structure as 32-bit version but uses 64-bit digit separator. Checks locale flag at offset+0x18 0x00697E00 564 CFmt__format_string_with_locale_grouping fmtlib Formats a string-representation number with locale-aware digit grouping. Same pattern as int32/int64 versions but operates on char-based digit strings 0x00698040 158 CFmt__write_uint32_octal_to_wbuffer fmtlib Converts a 32-bit unsigned int to octal (base-8) wchar string. Shifts right by 3, masks with &7, adds 0x30. Fast path for in-place write, fallback to stack buffer 0x006980E0 174 CFmt__write_uint64_octal_to_wbuffer fmtlib Converts a 64-bit unsigned int to octal (base-8) wchar string. Uses double-register shift (hi:lo >> 3). Fast path for in-place write, fallback to stack buffer 0x00698190 151 CFmt__write_escaped_closing_braces fmtlib Writes format string literal text to output, handling escaped closing braces (}} -> }). Throws format error on unmatched single } 0x00698230 138 CFmt__report_accumulate_value fmtlib Accumulates a single report value. Uses RTDynamicCast to get the report entry, then switches on aggregation mode: 0=sum, 1=count, 2=max, 4=max-or-zero. Optionally inserts into filter RB-tree 0x00698330 204 CFmt__report_accumulate_tree_values fmtlib Accumulates report values from a tree of entries. Iterates the entry tree, for each node calls CEntity__map_insert_or_get_layer_priority and applies aggregation (sum/count/max/concat/max-or-zero). Mode 3 creates linked list pairs 0x006984D6 2 CEntity__process_layer_priority_tree_node game_entity WARNING (jumptable): Unable to track spacebase fully for stack 0x006984FF 53 CEntity__process_layer_priority_tree_node game_entity WARNING (jumptable): Unable to track spacebase fully for stack 0x00698560 1736 CFmt__report_merge_trees fmtlib Merges two report trees. For each entry in source tree: finds/creates matching key in destination, then either creates or merges subtree entries including nested RB-trees. Complex nested map-of-maps structure 0x00698C30 165 CFmt__report_insert_or_merge_entry fmtlib Inserts a report entry or merges it with existing. If key exists in outer map and inner subtree matches, calls merge callback; otherwise inserts into subtree via find_or_insert 0x00698CE0 253 CFmt__report_clear_tree_with_subtrees fmtlib Clears the report tree by iterating all nodes, calling destructors on their subtrees (via vtable), then destroying the tree nodes, hashmap, and resetting counts 0x00698DE0 145 CFmt__report_clone_node_simple fmtlib Clones a simple report tree node (0x14 bytes). Copies the RB-tree via STL_rbtree_copy_ctor and sets vtable to CEnchantRBTreeNode scalar deleting dtor. Copies value at offset+0x10 0x00698E80 312 CFmt__report_clone_node_with_subtree fmtlib Clones a report node with nested subtree (0x18 bytes). Copies the outer RB-tree, then deep-copies the inner subtree via CEnchantRBTree__deep_copy_recursive. Fixes up min/max pointers 0x00698FC0 118 CFmt__report_clone_rbtree fmtlib Clones a simple RB-tree (0x10 bytes). Allocates new node and copies tree via STL_rbtree_copy_ctor 0x00699040 3 CFmt__report_identity_return fmtlib Identity function: returns the input parameter unchanged. Used as a no-op clone/copy callback 0x00699070 41 CFmt__report_set_value_and_insert fmtlib Sets a value at this+0x10 from param_2, then optionally inserts param_3 into the RB-tree filter set (if *param_3 != -1) 0x006990A0 57 CFmt__report_map_set_value_and_insert fmtlib Inserts a value into the map via CEntity__map_insert_or_get_layer_priority, then optionally inserts param_3 into the RB-tree filter set (if *param_3 != -1) 0x006990E0 1543 CFmt__report_format_single_value fmtlib Formats a single report value as string. Applies scaling (pow, floor), locale formatting via CFmt__parse_format_double_arg, then formats with skill/bonus name lookup and escape sequences. Handles both single-format and pair-format templates 0x006996F0 2980 CFmt__report_format_bonus_description fmtlib Formats a full bonus description string by iterating report tree entries. For each entry: looks up bonus name via hash (skill name, item bonus, or numeric ID), applies scaling and formatting via locale-aware templates, builds concatenated description. Handles CDataTable lookups for item bonuses and CSkillManager for skill names 0x0069A2A0 589 CFmt__report_format_with_locale_encoding fmtlib Formats a report value with locale/encoding conversion. For single-template mode: copies the format string directly. For pair-template mode: converts to wchar, formats via CFmt__out_format_escaped_single, converts back to multibyte 0x0069A4F0 569 CFmt__report_deduplicate_entries fmtlib Deduplicates report entries by iterating the tree and checking string-keyed subtrees. For each entry with a string key, checks if an identical key exists in the dedup set. If new, adds to set; if duplicate with non-null handler, calls the handler destructor and removes the subtree node 0x0069A730 704 STL_rbtree_extract_and_rebalance_0069a730 stl STL RB-tree node extraction with rebalancing. Unlinks a node from the tree, fixes parent/child pointers, then rebalances the tree (red-black rotations and color fixes). Decrements size counter. Instance for uint-keyed tree 0x0069A9F0 704 STL_rbtree_extract_and_rebalance_0069a9f0 stl STL RB-tree node extraction with rebalancing. Same algorithm as 0069a730 but for a different tree instantiation (string-keyed tree). Unlinks node, fixes pointers, rebalances with rotations 0x0069ACB0 1 identity_return_ecx_0069acb0 game_core Identity function that returns its input parameter unchanged 0x0069ACC0 1 identity_return_ecx_0069acc0 game_core Identity function that returns its input parameter unchanged 0x0069ACD0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0069AEE0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0069B0F0 517 STL_Tree_val_Insert_node stl MSVC STL std::_Tree_val::_Insert_node. Inserts a new node into a red-black tree and rebalances via rotations and color flips. Multiple template instantiations (uint, string, PCTableEntry). 0x0069B300 84 STL_tree_rotate_left stl STL red-black tree left rotation. Promotes param_2's right child, updates parent pointers and root if needed. 0x0069B360 84 STL_tree_rotate_left_0069b360 stl STL red-black tree left rotation (second template instantiation). Same logic as STL_tree_rotate_left. 0x0069B3C0 88 STL_tree_rotate_right stl STL red-black tree right rotation. Promotes param_2's left child, updates parent pointers and root if needed. 0x0069B420 88 STL_tree_rotate_right_0069b420 stl STL red-black tree right rotation (second template instantiation). Same logic as STL_tree_rotate_right. 0x0069B480 95 STL_allocate_array_24byte stl STL allocator for arrays of 24-byte (0x18) elements. Checks for overflow, aligns large allocations to 32 bytes. 0x0069B4E0 102 STL_allocate_array_28byte stl STL allocator for arrays of 28-byte (0x1c) elements. Checks for overflow, aligns large allocations to 32 bytes. 0x0069B550 54 STL_tree_find_key stl STL tree key lookup using _Find_lower_bound. Returns true (in low byte) if key is found in the tree, false otherwise. 0x0069B590 121 CFmt__find_char_index_by_width fmtlib Finds the character index in a string whose cumulative width reaches a given pixel target. Iterates characters, summing widths (using char values for ASCII, lookup table at offset 0x10 for special chars). Returns index when accumulated width >= target. 0x0069B610 228 CFmt__map_find_and_get_value fmtlib Looks up a key in the format library's internal map using lower_bound. If found, returns the mapped value via CFmt__impl_0069a730. If not found, returns {0, false}. 0x0069B700 128 CFmt__get_arg_by_index fmtlib Gets a format argument by index from the argument store. Supports two storage modes: packed (16-byte entries) and bitfield-indexed (8-byte entries with presence bits). Returns the arg data in param_2. 0x0069B780 310 CFmt__map_emplace fmtlib Emplaces a key-value pair into the format library's named argument map. Uses lower_bound to check for existing key; if found returns existing node, otherwise inserts a new tree node. Throws if map is at max capacity (0xAAAAAAA entries). 0x0069B8C0 92 CFmt__format_arg fmtlib Retrieves a format argument by index and formats it. Throws 'argument not found' if index is invalid. Dispatches to CFmt__format_value_by_type with the format specs and retrieved arg. 0x0069B920 95 CFmt__set_sign_format_spec fmtlib Sets the sign flag in a format specifier. Validates that the argument type is numeric (throws 'format specifier requires numeric argument' if not). Also validates signed types specifically. Writes sign bits into the spec byte at offset 9. 0x0069B980 103 CFmt__delete_tree_nodes_recursive fmtlib Recursively deletes all nodes in a red-black tree used by the format library. Traverses right subtrees recursively, then walks left children iteratively, freeing 0x20-byte nodes. 0x0069B9F0 178 CFmt__named_arg_store_ctor fmtlib Constructor for CFmt named argument store. Initializes an SSO string from param_2 (the format string), then allocates a 0x20-byte sentinel node for the internal red-black tree (named arg map). 0x0069BAB0 111 CFmt__destroy_tree fmtlib Destroys the entire named argument tree. Iterates from the root's left child, recursively deleting right subtrees and walking left, then frees the sentinel node. 0x0069BB30 65 CFmt__destroy_tree_wrapper fmtlib SEH-wrapped destructor wrapper that calls CFmt__destroy_tree. Sets up structured exception handling frame then delegates. 0x0069BB80 367 CFmt__dtor_0069bb80 fmtlib CFmt destructor. Iterates through all entries in the named argument tree, destroying each entry's sub-objects (strings, vectors, sub-trees with 0x18-byte nodes), then frees the entry (0x80 bytes). Finally destroys the tree itself and the format string. 0x0069BD00 4 CFmt__get_named_arg_map fmtlib Returns pointer to the named argument map (this + 0x18). Simple accessor for the internal tree used to store named format arguments. 0x0069BD10 15 thunk_to_ItemBonus__reg_subspconsumption game_items Thunk forwarding to ItemBonus__reg_subspconsumption. Registers the SubSPConsumption item bonus handler. 0x0069BD20 15 thunk_to_ItemBonus__reg_SubSPdrain game_items Thunk forwarding to ItemBonus__reg_SubSPdrain. Registers the SubSPdrain item bonus handler. 0x0069BD30 15 thunk_to_ItemBonus__reg_SubSkillDelay game_items Thunk forwarding to ItemBonus__reg_SubSkillDelay. Registers the SubSkillDelay item bonus handler. 0x0069BD40 15 thunk_to_ItemBonus__reg_SubSkillMDamage game_items Thunk forwarding to ItemBonus__reg_SubSkillMDamage. Registers the SubSkillMDamage item bonus handler. 0x0069BD50 15 thunk_to_ItemBonus__reg_SubSkillSP game_items Thunk forwarding to ItemBonus__reg_SubSkillSP. Registers the SubSkillSP item bonus handler. 0x0069BD60 15 thunk_to_ItemBonus__reg_SubSpecificSpellCastTime game_items Thunk forwarding to ItemBonus__reg_SubSpecificSpellCastTime. Registers the SubSpecificSpellCastTime item bonus handler. 0x0069BD70 15 thunk_to_ItemBonus__reg_SubSpellCastTime game_items Thunk forwarding to ItemBonus__reg_SubSpellCastTime. Registers the SubSpellCastTime item bonus handler. 0x0069BD80 15 thunk_to_ItemBonus__reg_SubSpellDelay game_items Thunk forwarding to ItemBonus__reg_SubSpellDelay. Registers the SubSpellDelay item bonus handler. 0x0069BD90 15 thunk_to_ItemBonus__reg_AddEXPPercent_KillRace game_items Thunk forwarding to ItemBonus__reg_AddEXPPercent_KillRace. Registers the AddEXPPercent_KillRace item bonus handler. 0x0069BDA0 15 thunk_to_ItemBonus__reg_AddExtParam game_items Thunk forwarding to ItemBonus__reg_AddExtParam. Registers the AddExtParam item bonus handler. 0x0069BDB0 15 thunk_to_ItemBonus__reg_AddGuideAttack game_items Thunk forwarding to ItemBonus__reg_AddGuideAttack. Registers the AddGuideAttack item bonus handler. 0x0069BDC0 15 thunk_to_ItemBonus__reg_AddHPdrain game_items Thunk forwarding to ItemBonus__reg_AddHPdrain. Registers the AddHPdrain item bonus handler. 0x0069BDD0 15 thunk_to_ItemBonus__reg_AddHealModifyPercent game_items Thunk forwarding to ItemBonus__reg_AddHealModifyPercent. Registers the AddHealModifyPercent item bonus handler. 0x0069BDE0 15 thunk_to_ItemBonus__reg_AddHealValue game_items Thunk forwarding to ItemBonus__reg_AddHealValue. Registers the AddHealValue item bonus handler. 0x0069BDF0 15 thunk_to_ItemBonus__reg_AddIgnore_MRES_RacePercent game_items Thunk forwarding to ItemBonus__reg_AddIgnore_MRES_RacePercent. Registers the AddIgnore_MRES_RacePercent item bonus handler. 0x0069BE00 15 thunk_to_ItemBonus__reg_AddIgnore_RES_RacePercent game_items Thunk forwarding to ItemBonus__reg_AddIgnore_RES_RacePercent. Registers the AddIgnore_RES_RacePercent item bonus handler. 0x0069BE10 15 thunk_to_ItemBonus__reg_AddMDamage_Property game_items Thunk forwarding to ItemBonus__reg_AddMDamage_Property. Registers the AddMDamage_Property item bonus handler. 0x0069BE20 15 thunk_to_ItemBonus__reg_AddMDamage_Size game_items Thunk forwarding to ItemBonus__reg_AddMDamage_Size. Registers the AddMDamage_Size item bonus handler. 0x0069BE30 15 thunk_to_ItemBonus__reg_AddAttrTolerace game_items Thunk forwarding to ItemBonus__reg_AddAttrTolerace. Registers the AddAttrTolerace (attribute tolerance) item bonus handler. 0x0069BE40 15 thunk_to_ItemBonus__reg_AddMdamage_Class game_items Thunk forwarding to ItemBonus__reg_AddMdamage_Class. Registers the AddMdamage_Class item bonus handler. 0x0069BE50 15 thunk_to_ItemBonus__reg_AddMdamage_Race game_items Thunk forwarding to ItemBonus__reg_AddMdamage_Race. Registers the AddMdamage_Race item bonus handler. 0x0069BE60 15 thunk_to_ItemBonus__reg_AddMeleeAttackDamage game_items Thunk forwarding to ItemBonus__reg_AddMeleeAttackDamage. Registers the AddMeleeAttackDamage item bonus handler. 0x0069BE70 15 thunk_to_ItemBonus__reg_AddMeleeAttackReflect game_items Thunk forwarding to ItemBonus__reg_AddMeleeAttackReflect. Registers the AddMeleeAttackReflect item bonus handler. 0x0069BE80 15 thunk_to_ItemBonus__reg_AddNeverknockback game_items Thunk forwarding to ItemBonus__reg_AddNeverknockback. Registers the AddNeverknockback item bonus handler. 0x0069BE90 15 thunk_to_ItemBonus__reg_AddRaceTolerace game_items Thunk forwarding to ItemBonus__reg_AddRaceTolerace. Registers the AddRaceTolerace (race tolerance) item bonus handler. 0x0069BEA0 15 thunk_to_ItemBonus__reg_AddRangeAttackDamage game_items Thunk forwarding to ItemBonus__reg_AddRangeAttackDamage. Registers the AddRangeAttackDamage item bonus handler. 0x0069BEB0 15 thunk_to_ItemBonus__reg_AddReceiveItem_Equip game_items Thunk forwarding to ItemBonus__reg_AddReceiveItem_Equip. Registers the AddReceiveItem_Equip item bonus handler. 0x0069BEC0 15 thunk_to_ItemBonus__reg_AddReflectMagic game_items Thunk forwarding to ItemBonus__reg_AddReflectMagic. Registers the AddReflectMagic item bonus handler. 0x0069BED0 15 thunk_to_ItemBonus__reg_AddReflectTolerace game_items Thunk forwarding to ItemBonus__reg_AddReflectTolerace. Registers the AddReflectTolerace (reflect tolerance) item bonus handler. 0x0069BEE0 15 thunk_to_ItemBonus__reg_addattrtolerace game_items Thunk forwarding to ItemBonus__reg_addattrtolerace. Registers the addattrtolerace (attribute tolerance, lowercase variant) item bonus handler. 0x0069BEF0 15 thunk_to_ItemBonus__reg_AddSFCTEquipAmount game_items Thunk forwarding to ItemBonus__reg_AddSFCTEquipAmount. Registers the AddSFCTEquipAmount item bonus handler. 0x0069BF00 15 thunk_to_ItemBonus__reg_AddSFCTEquipPermill game_items Thunk forwarding to ItemBonus__reg_AddSFCTEquipPermill. Registers the AddSFCTEquipPermill item bonus handler. 0x0069BF10 15 thunk_to_ItemBonus__reg_AddSPconsumption game_items Thunk forwarding to ItemBonus__reg_AddSPconsumption. Registers the AddSPconsumption item bonus handler. 0x0069BF20 15 thunk_to_ItemBonus__reg_addspconsumption game_items Thunk forwarding to ItemBonus__reg_addspconsumption. Registers the addspconsumption item bonus handler (lowercase variant). 0x0069BF30 15 thunk_to_ItemBonus__reg_AddSPdrain game_items Thunk forwarding to ItemBonus__reg_AddSPdrain. Registers the AddSPdrain item bonus handler. 0x0069BF40 15 thunk_to_ItemBonus__reg_AddSkillDelay game_items Thunk forwarding to ItemBonus__reg_AddSkillDelay. Registers the AddSkillDelay item bonus handler. 0x0069BF50 15 thunk_to_ItemBonus__reg_AddSkillMDamage game_items Thunk forwarding to ItemBonus__reg_AddSkillMDamage. Registers the AddSkillMDamage item bonus handler. 0x0069BF60 15 thunk_to_ItemBonus__reg_AddSkillSP game_items Thunk forwarding to ItemBonus__reg_AddSkillSP. Registers the AddSkillSP item bonus handler. 0x0069BF70 15 thunk_to_ItemBonus__reg_AddSpecificSpellCastTime game_items Thunk forwarding to ItemBonus__reg_AddSpecificSpellCastTime. Registers the AddSpecificSpellCastTime item bonus handler. 0x0069BF80 15 thunk_to_ItemBonus__reg_AddSpellCastTime game_items Thunk forwarding to ItemBonus__reg_AddSpellCastTime. Registers the AddSpellCastTime item bonus handler. 0x0069BF90 15 thunk_to_ItemBonus__reg_AddBowAttackDamage game_items Thunk forwarding to ItemBonus__reg_AddBowAttackDamage. 0x0069BFA0 15 thunk_to_ItemBonus__reg_AddSpellDelay game_items Thunk forwarding to ItemBonus__reg_AddSpellDelay. 0x0069BFB0 15 thunk_to_ItemBonus__reg_BodyAttribute game_items Thunk forwarding to ItemBonus__reg_BodyAttribute. 0x0069BFC0 15 thunk_to_ItemBonus__reg_Clairvoyance game_items Thunk forwarding to ItemBonus__reg_Clairvoyance. 0x0069BFD0 15 thunk_to_ItemBonus__reg_ClassAddDamage game_items Thunk forwarding to ItemBonus__reg_ClassAddDamage. 0x0069BFE0 15 thunk_to_ItemBonus__reg_ClassSubDamage game_items Thunk forwarding to ItemBonus__reg_ClassSubDamage. 0x0069BFF0 15 thunk_to_ItemBonus__reg_Condition game_items Thunk forwarding to ItemBonus__reg_Condition. 0x0069C000 15 thunk_to_ItemBonus__reg_DisableSkill game_items Thunk forwarding to ItemBonus__reg_DisableSkill. 0x0069C010 15 thunk_to_ItemBonus__reg_EnableSkill game_items Thunk forwarding to ItemBonus__reg_EnableSkill. 0x0069C020 15 thunk_to_ItemBonus__reg_IndestructibleArmor game_items Thunk forwarding to ItemBonus__reg_IndestructibleArmor. 0x0069C030 15 thunk_to_ItemBonus__reg_IndestructibleWeapon game_items Thunk forwarding to ItemBonus__reg_IndestructibleWeapon. 0x0069C040 15 thunk_to_ItemBonus__reg_AddCRIPercent_Race game_items Thunk forwarding to ItemBonus__reg_AddCRIPercent_Race. 0x0069C050 15 thunk_to_ItemBonus__reg_Magicimmune game_items Thunk forwarding to ItemBonus__reg_Magicimmune. 0x0069C060 15 thunk_to_ItemBonus__reg_NoDispell game_items Thunk forwarding to ItemBonus__reg_NoDispell. 0x0069C070 15 thunk_to_ItemBonus__reg_NoJamstone game_items Thunk forwarding to ItemBonus__reg_NoJamstone. 0x0069C080 15 thunk_to_ItemBonus__reg_NoMadogearfuel game_items Thunk forwarding to ItemBonus__reg_NoMadogearfuel. 0x0069C090 15 thunk_to_ItemBonus__reg_PerfectDamage game_items Thunk forwarding to ItemBonus__reg_PerfectDamage. 0x0069C0A0 15 thunk_to_ItemBonus__reg_RaceAddDamage game_items Thunk forwarding to ItemBonus__reg_RaceAddDamage. 0x0069C0B0 15 thunk_to_ItemBonus__reg_RaceAddDamageSelf game_items Thunk forwarding to ItemBonus__reg_RaceAddDamageSelf. 0x0069C0C0 15 thunk_to_ItemBonus__reg_RaceSubDamage game_items Thunk forwarding to ItemBonus__reg_RaceSubDamage. 0x0069C0D0 15 thunk_to_ItemBonus__reg_RaceSubDamageSelf game_items Thunk forwarding to ItemBonus__reg_RaceSubDamageSelf. 0x0069C0E0 15 thunk_to_ItemBonus__reg_Reincarnation game_items Thunk forwarding to ItemBonus__reg_Reincarnation. 0x0069C0F0 15 thunk_to_ItemBonus__reg_AddDamage_CRI game_items Thunk forwarding to ItemBonus__reg_AddDamage_CRI. 0x0069C100 15 thunk_to_ItemBonus__reg_SetIgnoreDEFClass game_items Thunk forwarding to ItemBonus__reg_SetIgnoreDEFClass. 0x0069C110 15 thunk_to_ItemBonus__reg_SetIgnoreDEFRace game_items Thunk forwarding to ItemBonus__reg_SetIgnoreDEFRace. 0x0069C120 15 thunk_to_ItemBonus__reg_SetIgnoreDefClass_Percent game_items Thunk forwarding to ItemBonus__reg_SetIgnoreDefClass_Percent. 0x0069C130 15 thunk_to_ItemBonus__reg_SetIgnoreDefRace_Percent game_items Thunk forwarding to ItemBonus__reg_SetIgnoreDefRace_Percent. 0x0069C140 15 thunk_to_ItemBonus__reg_SetIgnoreMdefClass game_items Thunk forwarding to ItemBonus__reg_SetIgnoreMdefClass. 0x0069C150 15 thunk_to_ItemBonus__reg_SetIgnoreMdefRace game_items Thunk forwarding to ItemBonus__reg_SetIgnoreMdefRace. 0x0069C160 15 thunk_to_ItemBonus__reg_SetInvestigate game_items Thunk forwarding to ItemBonus__reg_SetInvestigate. 0x0069C170 15 thunk_to_ItemBonus__reg_SplashAttack game_items Thunk forwarding to ItemBonus__reg_SplashAttack. 0x0069C180 15 thunk_to_ItemBonus__reg_SubAttrTolerace game_items Thunk forwarding to ItemBonus__reg_SubAttrTolerace. 0x0069C190 15 thunk_to_ItemBonus__reg_subattrtolerace game_items Thunk forwarding to ItemBonus__reg_subattrtolerace (lowercase variant). 0x0069C1A0 15 thunk_to_ItemBonus__reg_AddDamage_HIT game_items Thunk forwarding to ItemBonus__reg_AddDamage_HIT. 0x0069C1B0 15 thunk_to_ItemBonus__reg_SubBowAttackDamage game_items Thunk forwarding to ItemBonus__reg_SubBowAttackDamage. 0x0069C1C0 15 thunk_to_ItemBonus__reg_SubCRIPercent_Race game_items Thunk forwarding to ItemBonus__reg_SubCRIPercent_Race. 0x0069C1D0 15 thunk_to_ItemBonus__reg_SubDamage_CRI game_items Thunk forwarding to ItemBonus__reg_SubDamage_CRI. 0x0069C1E0 15 thunk_to_ItemBonus__reg_SubDamage_HIT game_items Thunk forwarding to ItemBonus__reg_SubDamage_HIT. 0x0069C1F0 15 thunk_to_ItemBonus__reg_SubDamage_Property game_items Thunk forwarding to ItemBonus__reg_SubDamage_Property. 0x0069C200 15 thunk_to_ItemBonus__reg_SubDamage_SKID game_items Thunk forwarding to ItemBonus__reg_SubDamage_SKID. 0x0069C210 15 thunk_to_ItemBonus__reg_SubDamage_Size game_items Thunk forwarding to ItemBonus__reg_SubDamage_Size. 0x0069C220 15 thunk_to_ItemBonus__reg_SubEXPPercent_KillRace game_items Thunk forwarding to ItemBonus__reg_SubEXPPercent_KillRace. 0x0069C230 15 thunk_to_ItemBonus__reg_SubExtParam game_items Thunk forwarding to ItemBonus__reg_SubExtParam. 0x0069C240 15 thunk_to_ItemBonus__reg_SubGuideAttack game_items Thunk forwarding to ItemBonus__reg_SubGuideAttack. 0x0069C250 15 thunk_to_ItemBonus__reg_AddDamage_Property game_items Thunk forwarding to ItemBonus__reg_AddDamage_Property. 0x0069C260 15 thunk_to_ItemBonus__reg_SubHPdrain game_items Thunk forwarding to ItemBonus__reg_SubHPdrain. 0x0069C270 15 thunk_to_ItemBonus__reg_SubHealModifyPercent game_items Thunk forwarding to ItemBonus__reg_SubHealModifyPercent. 0x0069C280 15 thunk_to_ItemBonus__reg_SubHealValue game_items Thunk forwarding to ItemBonus__reg_SubHealValue. 0x0069C290 15 thunk_to_ItemBonus__reg_SubIgnore_MRES_RacePercent game_items Thunk forwarding to ItemBonus__reg_SubIgnore_MRES_RacePercent. 0x0069C2A0 15 thunk_to_ItemBonus__reg_SubIgnore_RES_RacePercent game_items Thunk forwarding to ItemBonus__reg_SubIgnore_RES_RacePercent. 0x0069C2B0 15 thunk_to_ItemBonus__reg_SubMDamage_Property game_items Thunk forwarding to ItemBonus__reg_SubMDamage_Property. 0x0069C2C0 15 thunk_to_ItemBonus__reg_SubMDamage_Size game_items Thunk forwarding to ItemBonus__reg_SubMDamage_Size. 0x0069C2D0 15 thunk_to_ItemBonus__reg_SubMdamage_Class game_items Thunk forwarding to ItemBonus__reg_SubMdamage_Class. 0x0069C2E0 15 thunk_to_ItemBonus__reg_SubMdamage_Race game_items Thunk forwarding to ItemBonus__reg_SubMdamage_Race. 0x0069C2F0 15 thunk_to_ItemBonus__reg_SubMeleeAttackDamage game_items Thunk forwarding to ItemBonus__reg_SubMeleeAttackDamage. 0x0069C300 15 thunk_to_ItemBonus__reg_AddDamage_SKID game_items Thunk forwarding to ItemBonus__reg_AddDamage_SKID. 0x0069C310 15 thunk_to_ItemBonus__reg_SubMeleeAttackReflect game_items Thunk forwarding to ItemBonus__reg_SubMeleeAttackReflect. 0x0069C320 15 thunk_to_ItemBonus__reg_SubNeverknockback game_items Thunk forwarding to ItemBonus__reg_SubNeverknockback. 0x0069C330 15 thunk_to_ItemBonus__reg_SubRaceTolerace game_items Thunk forwarding to ItemBonus__reg_SubRaceTolerace. 0x0069C340 15 thunk_to_ItemBonus__reg_SubRangeAttackDamage game_items Thunk forwarding to ItemBonus__reg_SubRangeAttackDamage. 0x0069C350 15 thunk_to_ItemBonus__reg_SubReceiveItem_Equip game_items Thunk forwarding to ItemBonus__reg_SubReceiveItem_Equip. 0x0069C360 15 thunk_to_ItemBonus__reg_SubReflectMagic game_items Thunk forwarding to ItemBonus__reg_SubReflectMagic. 0x0069C370 15 thunk_to_ItemBonus__reg_SubReflectTolerace game_items Thunk forwarding to ItemBonus__reg_SubReflectTolerace. 0x0069C380 15 thunk_to_ItemBonus__reg_SubSFCTEquipAmount game_items Thunk forwarding to ItemBonus__reg_SubSFCTEquipAmount. 0x0069C390 15 thunk_to_ItemBonus__reg_SubSFCTEquipPermill game_items Thunk forwarding to ItemBonus__reg_SubSFCTEquipPermill. 0x0069C3A0 15 CFmt__tw_0069c3a0 fmtlib Type-erased format wrapper forwarding to formatter 0x0069C3B0 15 thunk_to_ItemBonus__reg_AddDamage_Size game_items Thunk forwarding to ItemBonus__reg_AddDamage_Size. 0x0069C3C0 267 CFmt__copy_construct_tree fmtlib Copy constructor for CFmt tree structure. Copies scalar value, copy-constructs a string, allocates a red-black tree sentinel (0x20 bytes), then recursively clones tree nodes via CFmt__clone_tree_nodes_recursive. 0x0069C4D0 187 CFmt__init_hash_table_16 fmtlib Initializes a CFmt hash table with 0x10-byte nodes. Sets load factor to 1.0f, bucket count params to 7/8, allocates sentinel node, then resizes the bucket vector to 16 entries. 0x0069C590 187 CFmt__init_hash_table_44 fmtlib Initializes a CFmt hash table with 0x2c-byte nodes. Sets load factor to 1.0f, bucket count params to 7/8, allocates sentinel node, then resizes the bucket vector to 16 entries. 0x0069C650 187 CFmt__init_hash_table_16b fmtlib Initializes a CFmt hash table with 0x10-byte nodes (variant b). Sets load factor to 1.0f, bucket count params to 7/8, allocates sentinel node, then resizes the bucket vector to 16 entries. 0x0069C710 187 CFmt__init_hash_table_44b fmtlib Initializes a CFmt hash table with 0x2c-byte nodes (variant b). Sets load factor to 1.0f, bucket count params to 7/8, allocates sentinel node, then resizes the bucket vector to 16 entries. 0x0069C7D0 60 operator() game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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). 0x0069D420 236 CFmt__clone_tree_nodes_recursive fmtlib Recursively clones red-black tree nodes (0x20 bytes each) from source to destination. Copies 4 data words per node, sets up parent/left/right/color links. Used by CFmt__copy_construct_tree. 0x0069D530 118 CFmt__destroy_tree_32byte_nodes fmtlib Destructor that recursively frees 0x20-byte red-black tree nodes. Walks left children iteratively, recursively destroys right subtrees via CFmt__delete_tree_nodes_recursive, then frees the sentinel. 0x0069D5B0 103 CFmt__destroy_tree_24byte_nodes fmtlib Recursively frees 0x18-byte red-black tree nodes. Walks left children iteratively, recursively destroys right subtrees, then frees each node. 0x0069D620 131 CFmt__destroy_tree_44byte_string_nodes fmtlib Recursively frees 0x2c-byte red-black tree nodes that contain embedded STL strings. Calls STL_string_dtor for each node's string before freeing the 0x2c-byte node. 0x0069D6B0 131 CFmt__destroy_tree_52byte_nodes fmtlib Recursively frees 0x34-byte red-black tree nodes that contain embedded CFmt objects. Calls CFmt__dtor for each node before freeing the 0x34-byte node. 0x0069D740 103 CFmt__destroy_tree_24byte_nodes_b fmtlib Recursively frees 0x18-byte red-black tree nodes (variant b). Walks left children iteratively, recursively destroys right subtrees, then frees each node. Identical pattern to CFmt__destroy_tree_24byte_nodes. 0x0069D7B0 103 STL_rbtree_destroy_nodes_recursive_0069d7b0 stl STL red-black tree recursive post-order node destruction. Checks sentinel flag at offset +0xD, recursively destroys left subtree (offset +8), then walks next-sibling chain freeing 0x20-byte nodes. Used by std::map/set destructors. 0x0069D820 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069D890 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069D900 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069D970 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069D9E0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DA50 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DAC0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DB30 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DBA0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DC10 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DC80 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DCF0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DD60 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DDD0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DE40 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0069DEB0 107 STL_umap_find_8byte_key_0069deb0 stl STL unordered_map find with 8-byte key and pre-computed hash. Walks bucket chain comparing key at node offsets +8/+12. Returns iterator to found node, or end() iterator if not found. 0x0069DF20 87 STL_tree_lower_bound_8byte_key_0069df20 stl Red-black tree lower_bound for 8-byte key (std::map/set). Traverses BST comparing key at node offsets +0x10/+0x14, returns iterator to first element not less than key. Returns end() if not found. 0x0069DF80 104 STL_fnv1a_hash_8byte_seeded_0069df80 stl FNV-1a hash of 8-byte key with caller-provided seed. Iterates over each byte XOR-folding with FNV prime 0x1000193. Used as hash function for unordered_map with 8-byte keys. 0x0069DFF0 167 STL_umap_destroy_list_0x50_0069dff0 stl STL unordered_map clear/destroy: walks linked list of nodes, destroying each node's 0x10-byte sub-object via CDataTable helpers, then frees each 0x50-byte node. 0x0069E0A0 152 STL_umap_destroy_nested_list_0069e0a0 stl STL unordered_map clear/destroy: walks linked list of nodes, each containing a nested linked list at offset +0xC. Destroys inner list nodes (0xC bytes each) then outer nodes (0x14 bytes each). 0x0069E140 122 STL_umap_destroy_list_0x2C_0069e140 stl STL unordered_map clear/destroy: walks linked list of nodes, destroying each node's 0x10-byte sub-object via CDataTable helper, then frees each 0x2C-byte node. 0x0069E1C0 154 STL_umap_destroy_nested_0x2C_0069e1c0 stl STL unordered_map clear/destroy: walks linked list of 0x2C-byte nodes. For each, frees vector buffer, destroys nested umap list at offset +0x10, then frees both inner and outer nodes. 0x0069E260 122 STL_umap_destroy_list_0x2C_0069e260 stl STL unordered_map clear/destroy: walks linked list of nodes, destroying each node's sub-object via CDataTable helper, then frees each 0x2C-byte node. 0x0069E2E0 154 STL_umap_destroy_nested_0x2C_0069e2e0 stl STL unordered_map clear/destroy: walks linked list of 0x2C-byte nodes. For each, frees vector buffer, destroys nested umap list at offset +0x10, then frees both inner and outer nodes. 0x0069E380 129 STL_umap_destroy_node_0x14_0069e380 stl STL unordered_map destroy helper: destroys nested list at offset +0xC (0xC-byte nodes), frees the list container (0xC bytes), then frees the outer 0x14-byte node. 0x0069E410 106 STL_fnv1a_hash_8byte_0069e410 stl FNV-1a hash of 8-byte key using standard FNV offset basis 0x811c9dc5. Iterates over each byte XOR-folding with FNV prime 0x1000193. Used as hash function for unordered_map with 8-byte keys. 0x0069E480 533 STL_umap_insert_4byte_key_0069e480 stl STL unordered_map insert_or_find with 4-byte key (FNV-1a hashed). If key exists, returns existing node. Otherwise allocates 0x10-byte node, inserts into hash table with rehash if load factor exceeded. 0x0069E6A0 533 STL_umap_insert_4byte_key_0069e6a0 stl STL unordered_map insert_or_find with 4-byte key (FNV-1a hashed). If key exists, returns existing node. Otherwise allocates node, inserts into hash table with rehash if load factor exceeded. Variant of 0069e480. 0x0069E8C0 557 STL_umap_insert_4byte_key_nested_0069e8c0 stl STL unordered_map insert_or_find with 4-byte key (FNV-1a hashed). Allocates 0x14-byte node with nested 0xC-byte list structure. Inserts into hash table with rehash if load factor exceeded. 0x0069EAF0 540 STL_umap_insert_4byte_key_json_0069eaf0 stl STL unordered_map insert_or_find with 4-byte key (FNV-1a hashed). Allocates 0x2C-byte node, initializes via JsonReader. Inserts into hash table with rehash if load factor exceeded. 0x0069ED10 490 STL_umap_insert_uint_key_json_0069ed10 stl STL unordered_map insert_or_find with uint key (key used directly as hash). Allocates 0x2C-byte node, initializes via JsonReader. Inserts into hash table with rehash if load factor exceeded. 0x0069EF00 483 STL_umap_insert_uint_key_0069ef00 stl STL unordered_map insert_or_find with uint key (key used directly as hash). Allocates 0x10-byte node with simple value. Inserts into hash table with rehash if load factor exceeded. 0x0069F0F0 490 STL_umap_insert_uint_key_json_0069f0f0 stl STL unordered_map insert_or_find with uint key (key used directly as hash). Allocates 0x2C-byte node, initializes via JsonReader. Inserts into hash table with rehash if load factor exceeded. 0x0069F2E0 490 STL_umap_insert_uint_key_json_0069f2e0 stl STL unordered_map insert_or_find with uint key (key used directly as hash). Allocates 0x2C-byte node, initializes via JsonReader. Inserts into hash table with rehash if load factor exceeded. 0x0069F4D0 113 STL_umap_destroy_node_list_0069f4d0 stl STL unordered_map destroy helper: destroys nested list at offset +4 (0xC-byte nodes), frees the list container (0xC bytes), then frees the outer node. 0x0069F550 387 STL_umap_insert_string_key_0069f550 stl STL unordered_set insert_or_find for std::basic_string with 4-byte FNV-1a hash. If key exists, returns existing. Otherwise allocates 0x10-byte node, copies key+value, rehashes if needed. Uses _Rehash_for_1 and insert_at_bucket helpers. 0x0069F6E0 540 STL_umap_insert_4byte_key_move_0069f6e0 stl STL unordered_map insert_or_find with 4-byte key (FNV-1a hashed). Allocates node, initializes value via CDataTable move_construct. Inserts into hash table with rehash if load factor exceeded. 0x0069F900 554 STL_umap_insert_4byte_kv_pair_0069f900 stl STL unordered_map insert with 4-byte key + 4-byte value pair (FNV-1a hashed). Allocates 0x10-byte node, copies key and value, then checks for duplicates. Rehashes if load factor exceeded. Frees node if duplicate found. 0x0069FB30 532 STL_umap_insert_4byte_kv_pair_0069fb30 stl STL unordered_map insert_or_find with 4-byte key + 4-byte value pair (FNV-1a hashed). If key exists, returns existing. Otherwise allocates 0x10-byte node, inserts with rehash if load factor exceeded. 0x0069FD50 494 STL_umap_insert_8byte_key_0069fd50 stl STL unordered_map insert_or_find with 8-byte key (hashed via JsonReader hash). Allocates node with 3 float-sized fields copied from key. Inserts into hash table with rehash if load factor exceeded. 0x0069FF40 484 STL_umap_insert_uint_key_value_0069ff40 stl STL unordered_map insert_or_find with uint key (key used directly as hash) and separate value parameter. Allocates 0x10-byte node with key+value, inserts with rehash if load factor exceeded. 0x006A0130 166 STL_list_push_back_4byte stl STL std::list push_back for 4-byte value type. Allocates 0xC-byte list node, copies value, links into doubly-linked list before the sentinel. Throws list_too_long if size reaches 0x15555555. 0x006A01E0 203 STL_umap_erase_node_4byte_key stl STL unordered_map erase by node iterator for 4-byte key. Computes FNV-1a hash of key at node+8, finds bucket, unlinks node from bucket chain and linked list, decrements count, frees 0x10-byte node. Returns next iterator. 0x006A02B0 203 STL_umap_erase_node_4byte_key_006a02b0 stl STL unordered_map erase by node iterator for 4-byte key. Computes FNV-1a hash of key at node+8, finds bucket, unlinks node from bucket chain and linked list, decrements count, frees 0x10-byte node. Returns next iterator. Variant of 006a01e0 for different map instantiation. 0x006A0380 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A03F0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0460 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A04D0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0540 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A05B0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0620 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0690 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0700 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0770 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A07E0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0850 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A08C0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0930 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A09A0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0A10 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006A0A80 173 CFmt__arg_006a0a80 fmtlib Format argument wrapper 0x006A0B30 153 CFmt__arg_006a0b30 fmtlib Format argument wrapper 0x006A0BD0 173 CFmt__arg_006a0bd0 fmtlib Format argument wrapper 0x006A0C80 215 CFmt__arg_006a0c80 fmtlib Format argument wrapper 0x006A0D60 180 CFmt__arg_006a0d60 fmtlib Format argument wrapper 0x006A0E20 242 CFmt__arg_006a0e20 fmtlib Format argument wrapper 0x006A0F20 173 CFmt__arg_006a0f20 fmtlib Format argument wrapper 0x006A0FD0 161 CFmt__arg_006a0fd0 fmtlib Format argument wrapper 0x006A1080 208 CFmt__arg_006a1080 fmtlib Format argument wrapper 0x006A1150 229 CFmt__arg_006a1150 fmtlib Format argument wrapper 0x006A1240 229 CFmt__arg_006a1240 fmtlib Format argument wrapper 0x006A1330 173 CFmt__arg_006a1330 fmtlib Format argument wrapper 0x006A13E0 206 CFmt__arg_006a13e0 fmtlib Format argument wrapper 0x006A14B0 476 STL_unordered_string_set_insert_range stl Inserts elements from a linked list range into an std::unordered_set. For each node: computes FNV-1a hash on the string, searches for existing entry via _Find_last, allocates a new 0x10-byte node if not found, rehashes if load factor exceeded, and links into the bucket chain. 0x006A1690 31 STL_fill_006a1690 stl STL template instantiation: STL fill 006a1690 0x006A16B0 31 STL_fill_006a16b0 stl STL template instantiation: STL fill 006a16b0 0x006A16D0 31 STL_fill_006a16d0 stl STL template instantiation: STL fill 006a16d0 0x006A16F0 31 STL_fill_006a16f0 stl STL template instantiation: STL fill 006a16f0 0x006A1710 31 STL_fill_006a1710 stl STL template instantiation: STL fill 006a1710 0x006A1730 31 STL_fill_006a1730 stl STL template instantiation: STL fill 006a1730 0x006A1750 31 STL_fill_006a1750 stl STL template instantiation: STL fill 006a1750 0x006A1770 31 STL_fill_006a1770 stl STL template instantiation: STL fill 006a1770 0x006A1790 31 STL_fill_006a1790 stl STL template instantiation: STL fill 006a1790 0x006A17B0 31 STL_fill_006a17b0 stl STL template instantiation: STL fill 006a17b0 0x006A17D0 31 STL_fill_range_4byte_006a17d0 stl STL template instantiation: STL fill range 4byte 006a17d0 0x006A17F0 31 STL_fill_range_4byte_006a17f0 stl STL template instantiation: STL fill range 4byte 006a17f0 0x006A1810 31 STL_fill_range_4byte_006a1810 stl STL template instantiation: STL fill range 4byte 006a1810 0x006A1830 31 STL_fill_range_4byte_006a1830 stl STL template instantiation: STL fill range 4byte 006a1830 0x006A1850 31 STL_fill_range_4byte_006a1850 stl STL template instantiation: STL fill range 4byte 006a1850 0x006A1870 31 STL_fill_range_4byte_006a1870 stl STL template instantiation: STL fill range 4byte 006a1870 0x006A1890 168 CDataTable__init_hashmap_006a1890 datatable Initializes hashmap: allocs sentinel node, sets load factor 1.0, prime bucket sizes 7/8, resizes to 16 buckets 0x006A1940 168 CDataTable__init_hashmap_006a1940 datatable Initializes hashmap variant; same pattern as 006a1890 0x006A19F0 168 CDataTable__init_hashmap_006a19f0 datatable Initializes hashmap variant; same pattern as 006a1890 0x006A1AA0 1287 ItemBonus__ctor game_items ItemBonus constructor: sets vtable to ItemBonus__scalar_deleting_dtor, creates CLuaInstance, initializes 12+ hashmaps/trees/vectors for item bonus data (enchant trees, skill bonuses, etc.). Creates CEnchantMgr enchant_data at +0x18. 0x006A1FB0 435 ItemBonus__move_ctor game_items ItemBonus move constructor: copies vtable and lua fields, then swaps hashmap/vector internals from source object. Initializes empty containers first, then swaps with source. 0x006A2180 67 CDataTable__free_node_0xC_006a2180 datatable Frees 0xC-byte node at param_1+4 if non-null 0x006A21D0 67 CDataTable__free_node_0x10_006a21d0 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A2220 67 CDataTable__free_node_0x10_006a2220 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A2270 67 CDataTable__free_node_0x10_006a2270 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A22C0 67 CDataTable__free_node_0x10_006a22c0 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A2310 67 CDataTable__free_node_0x10_006a2310 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A2360 67 CDataTable__free_node_0x10_006a2360 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A23B0 67 CDataTable__free_node_0x10_006a23b0 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A2400 67 CDataTable__free_node_0x50_006a2400 datatable Frees 0x50-byte node at param_1+4 if non-null 0x006A2450 67 CDataTable__free_node_0x14_006a2450 datatable Frees 0x14-byte node at param_1+4 if non-null 0x006A24A0 67 CDataTable__free_node_0x2C_006a24a0 datatable Frees 0x2C-byte node at param_1+4 if non-null 0x006A24F0 67 CDataTable__free_node_0x10_006a24f0 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A2540 67 CDataTable__free_node_0x2C_006a2540 datatable Frees 0x2C-byte node at param_1+4 if non-null 0x006A2590 67 CDataTable__free_node_0x10_006a2590 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A25E0 67 CDataTable__free_node_0x2C_006a25e0 datatable Frees 0x2C-byte node at param_1+4 if non-null 0x006A2630 67 CDataTable__free_node_0x2C_006a2630 datatable Frees 0x2C-byte node at param_1+4 if non-null 0x006A2680 67 CDataTable__free_node_0x18_006a2680 datatable Frees 0x18-byte node at param_1+4 if non-null 0x006A26D0 67 CDataTable__free_node_0x18_006a26d0 datatable Frees 0x18-byte node at param_1+4 if non-null 0x006A2720 67 CDataTable__free_node_0x2C_006a2720 datatable Frees 0x2C-byte node at param_1+4 if non-null 0x006A2770 67 CDataTable__free_node_0x34_006a2770 datatable Frees 0x34-byte node at param_1+4 if non-null 0x006A27C0 67 CDataTable__free_node_0x20_006a27c0 datatable Frees 0x20-byte node at param_1+4 if non-null 0x006A2810 67 CDataTable__free_node_0x18_006a2810 datatable Frees 0x18-byte node at param_1+4 if non-null 0x006A2860 131 CDataTable__destroy_list_0x10_006a2860 datatable Destroys vector then walks+frees 0x10-byte linked list nodes and sentinel from param_1+4 0x006A28F0 131 CDataTable__destroy_list_0x10_006a28f0 datatable Destroys vector then walks+frees 0x10-byte linked list nodes and sentinel 0x006A2980 131 CDataTable__destroy_list_0x10_006a2980 datatable Destroys vector then walks+frees 0x10-byte linked list nodes and sentinel 0x006A2A10 131 CDataTable__destroy_list_0x10_006a2a10 datatable Destroys vector then walks+frees 0x10-byte linked list nodes and sentinel 0x006A2AA0 131 CDataTable__destroy_list_0x10_006a2aa0 datatable Destroys vector then walks+frees 0x10-byte linked list nodes and sentinel 0x006A2B30 131 CDataTable__destroy_list_0x10_006a2b30 datatable Destroys vector then walks+frees 0x10-byte linked list nodes and sentinel 0x006A2BC0 131 CDataTable__destroy_list_0x10_006a2bc0 datatable Destroys vector then walks+frees 0x10-byte linked list nodes and sentinel 0x006A2C50 102 CDataTable__destroy_umap_0x50_006a2c50 datatable Destroys vector then frees unordered_map nodes and 0x50-byte sentinel from param_1+4 0x006A2CC0 102 CDataTable__destroy_umap_0x14_006a2cc0 datatable Destroys vector then frees unordered_map with 0x14-byte sentinel 0x006A2D30 102 CDataTable__destroy_umap_0x2C_006a2d30 datatable Destroys vector then frees unordered_map with 0x2C-byte sentinel 0x006A2DA0 131 CDataTable__destroy_list_0x10_006a2da0 datatable Destroys vector then walks+frees 0x10-byte linked list nodes and sentinel 0x006A2E30 102 CDataTable__destroy_umap_0x2C_006a2e30 datatable Destroys vector then frees unordered_map with 0x2C-byte sentinel (nested destroy) 0x006A2EA0 131 CDataTable__destroy_list_0x10_006a2ea0 datatable Destroys vector then walks+frees 0x10-byte linked list nodes and sentinel 0x006A2F30 102 CDataTable__destroy_umap_0x2C_006a2f30 datatable Destroys vector then frees unordered_map with 0x2C-byte sentinel 0x006A2FA0 102 CDataTable__destroy_umap_0x2C_006a2fa0 datatable Destroys vector then frees unordered_map with 0x2C-byte sentinel (nested destroy) 0x006A3010 131 CDataTable__destroy_list_0x18_006a3010 datatable Destroys vector then walks+frees 0x18-byte linked list nodes and sentinel 0x006A30A0 125 CDataTable__free_vector_buffer_006a30a0 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3130 125 CDataTable__free_vector_buffer_006a3130 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A31C0 125 CDataTable__free_vector_buffer_006a31c0 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3250 125 CDataTable__free_vector_buffer_006a3250 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A32E0 125 CDataTable__free_vector_buffer_006a32e0 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3370 125 CDataTable__free_vector_buffer_006a3370 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3400 125 CDataTable__free_vector_buffer_006a3400 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3490 125 CDataTable__free_vector_buffer_006a3490 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3520 125 CDataTable__free_vector_buffer_006a3520 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A35B0 125 CDataTable__free_vector_buffer_006a35b0 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3640 125 CDataTable__free_vector_buffer_006a3640 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A36D0 125 CDataTable__free_vector_buffer_006a36d0 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3760 125 CDataTable__free_vector_buffer_006a3760 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A37F0 125 CDataTable__free_vector_buffer_006a37f0 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3880 125 CDataTable__free_vector_buffer_006a3880 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A3910 125 CDataTable__free_vector_buffer_006a3910 datatable Frees vector buffer (aligned-aware); zeros begin/end/capacity pointers 0x006A39A0 78 CDataTable__free_node_0xC_006a39a0 datatable Frees 0xC-byte node at param_1+4 if non-null 0x006A39F0 78 CDataTable__free_node_0x10_006a39f0 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A3A40 78 CDataTable__free_node_0x10_006a3a40 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A3A90 78 CDataTable__free_node_0x10_006a3a90 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A3AE0 78 CDataTable__free_node_0x10_006a3ae0 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A3B30 78 CDataTable__free_node_0x10_006a3b30 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A3B80 78 CDataTable__free_node_0x10_006a3b80 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A3BD0 78 CDataTable__free_node_0x10_006a3bd0 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A3C20 154 CDataTable__destroy_compound_0x50_006a3c20 datatable Destroys compound struct: calls two sub-destructors for lists, then frees 0x50-byte allocation 0x006A3CC0 110 CDataTable__destroy_tree_0x14_006a3cc0 datatable Destroys BST via umap clear, then frees 0x14-byte tree sentinel node 0x006A3D30 123 CDataTable__destroy_list_and_free_0x2C datatable Destroys inner list then frees outer 0x2C-byte node at param_1+4 0x006A3DB0 78 CDataTable__free_node_0x10_006a3db0 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A3E00 155 CDataTable__destroy_compound_0x2C_006a3e00 datatable Destroys vector + umap at inner offset 0x10, then frees outer 0x2C-byte node 0x006A3EA0 78 CDataTable__free_node_0x10_006a3ea0 datatable Frees 0x10-byte node at param_1+4 if non-null 0x006A3EF0 123 CDataTable__destroy_list_and_free_0x2C_v2 datatable Destroys inner list then frees 0x2C-byte node; same pattern as 006a3d30 0x006A3F70 155 CDataTable__destroy_compound_0x2C_006a3f70 datatable Destroys vector + umap at inner offset, then frees 0x2C-byte node 0x006A4010 78 CDataTable__free_node_0x18_006a4010 datatable Frees 0x18-byte node at param_1+4 if non-null 0x006A4060 76 CDataTable__free_alloc_0x14_006a4060 datatable Frees 0x14-byte allocation at *param_1 if non-null, then zeros pointer 0x006A40C0 111 CDataTable__destroy_tree_and_free_0x18 datatable Traverses tree calling CFmt__destroy_tree_24byte_nodes on each subtree, then frees 0x18-byte nodes in linked list 0x006A4140 76 CDataTable__destroy_string_tree_and_free_0x2C datatable Destroys tree with 44-byte string nodes via CFmt__destroy_tree_44byte_string_nodes, then frees 0x2C-byte root allocation 0x006A41A0 76 CDataTable__destroy_tree_and_free_0x34 datatable Destroys tree with 52-byte nodes via CFmt__destroy_tree_52byte_nodes, then frees 0x34-byte root allocation 0x006A4210 111 CDataTable__destroy_tree_and_free_0x18_v2 datatable Traverses tree calling CFmt__destroy_tree_24byte_nodes_b on each subtree, then frees 0x18-byte nodes in linked list 0x006A42B0 78 CDataTable__free_node_0x18_006a42b0 datatable Frees 0x18-byte node at param_1+4 if non-null 0x006A4300 116 CDataTable__destroy_string_and_free_0x2C datatable Destroys string member then frees 0x2C-byte node at param_1+4 0x006A4380 116 CDataTable__destroy_fmt_and_free_0x34 datatable Calls CFmt destructor on inner object, then frees 0x34-byte node at param_1+4 0x006A4400 78 CDataTable__free_node_0x20_006a4400 datatable Frees 0x20-byte node at param_1+4 if non-null 0x006A4450 78 CDataTable__free_node_0x18_006a4450 datatable Frees 0x18-byte node at param_1+4 if non-null 0x006A44A0 78 CDataTable__free_node_0x18_006a44a0 datatable Frees 0x18-byte node at param_1+4 if non-null 0x006A44F0 78 CDataTable__free_node_0x2C_006a44f0 datatable Frees 0x2C-byte node at param_1+4 if non-null 0x006A4540 78 CDataTable__free_node_0x34_006a4540 datatable Frees 0x34-byte node at param_1+4 if non-null 0x006A4590 78 CDataTable__free_node_0x20_006a4590 datatable Frees 0x20-byte node at param_1+4 if non-null 0x006A45E0 78 CDataTable__free_node_0x18_006a45e0 datatable Frees 0x18-byte node at param_1+4 if non-null 0x006A4630 103 CDataTable__destroy_list_0xC_006a4630 datatable Walks and frees 0xC-byte linked list nodes from *param_1, then frees sentinel 0x006A46A0 103 CDataTable__destroy_list_0x10_006a46a0 datatable Walks and frees 0x10-byte linked list nodes, then frees sentinel 0x006A4710 103 CDataTable__destroy_list_0x10_006a4710 datatable Walks and frees 0x10-byte linked list nodes, then frees sentinel 0x006A4780 103 CDataTable__destroy_list_0x10_006a4780 datatable Walks and frees 0x10-byte linked list nodes, then frees sentinel 0x006A47F0 103 CDataTable__destroy_list_0x10_006a47f0 datatable Walks and frees 0x10-byte linked list nodes, then frees sentinel 0x006A4860 103 CDataTable__destroy_list_0x10_006a4860 datatable Walks and frees 0x10-byte linked list nodes, then frees sentinel 0x006A48D0 103 CDataTable__destroy_list_0x10_006a48d0 datatable Walks and frees 0x10-byte linked list nodes, then frees sentinel 0x006A4940 103 CDataTable__destroy_list_0x10_006a4940 datatable Walks and frees 0x10-byte linked list nodes, then frees sentinel 0x006A49B0 73 CDataTable__destroy_umap_0x50_006a49b0 datatable Destroys unordered_map nodes and frees 0x50-byte sentinel 0x006A4A00 73 ItemBonus__destroy_umap_14h_nodes game_items Destroys unordered_map nodes with 0x14-byte entries and frees sentinel 0x006A4A50 73 ItemBonus__destroy_umap_2Ch_nodes_A game_items Destroys unordered_map nodes with 0x2C-byte entries and frees sentinel 0x006A4AA0 103 ItemBonus__free_linked_list_10h game_items Walks linked list freeing 0x10-byte nodes, then frees sentinel 0x006A4B10 73 ItemBonus__destroy_umap_2Ch_nodes_B game_items Destroys unordered_map nodes with 0x2C-byte entries via variant B 0x006A4B60 103 ItemBonus__free_linked_list_10h_B game_items Walks linked list freeing 0x10-byte nodes via variant B 0x006A4BD0 73 ItemBonus__destroy_umap_2Ch_nodes_C game_items Destroys unordered_map nodes with 0x2C-byte entries via variant C 0x006A4C20 73 ItemBonus__destroy_umap_2Ch_nodes_D game_items Destroys unordered_map nodes with 0x2C-byte entries via variant D 0x006A4C70 103 ItemBonus__destroy_list_0x18 game_items Walks linked list freeing 0x18-byte nodes, then frees sentinel 0x006A4CE0 65 ItemBonus__dtor_wrapper_40c0 game_items SEH-wrapped destructor delegate to 006a40c0 0x006A4D30 87 ItemBonus__dtor_json_reader_2Ch game_items Destroys JsonReader 0x2C-byte node at member offset+4 0x006A4D90 87 ItemBonus__dtor_json_reader_34h game_items Destroys JsonReader 0x34-byte (52-byte) node at member offset+4 via CFmt__destroy_tree_52byte_nodes 0x006A4DF0 66 ItemBonus__dtor_enchant_tree game_items Destroys enchantment tree via Ench__ui_0068dd20 0x006A4E40 68 ItemBonus__dtor_string game_items SEH-wrapped STL string destructor 0x006A4E90 116 ItemBonus__free_linked_list_0Ch game_items Walks linked list at offset+4 freeing 0xC-byte nodes 0x006A4F10 80 ItemBonus__dtor_delegate_2980 game_items SEH-wrapped destructor delegate to 006a2980 with offset+4 param 0x006A4F60 115 ItemBonus__dtor_umap_at_offset8_2Ch game_items Calls 006a37f0 then destroys 0x2C-byte umap at member offset+8 0x006A4FE0 80 ItemBonus__dtor_delegate_2ea0 game_items SEH-wrapped destructor delegate to 006a2ea0 with offset+4 param 0x006A5030 115 ItemBonus__dtor_umap_at_offset8_2Ch_B game_items Calls 006a35b0 then destroys 0x2C-byte umap at member offset+8 0x006A50B0 65 ItemBonus__dtor_delegate_4210 game_items SEH-wrapped destructor delegate to 006a4210 0x006A5100 65 ItemBonus__dtor_delegate_2860 game_items SEH-wrapped destructor delegate to 006a2860 0x006A5150 65 ItemBonus__dtor_delegate_28f0 game_items SEH-wrapped destructor delegate to 006a28f0 0x006A51A0 65 ItemBonus__dtor_delegate_2980_B game_items SEH-wrapped destructor delegate to 006a2980 0x006A51F0 65 ItemBonus__dtor_delegate_2a10 game_items SEH-wrapped destructor delegate to 006a2a10 0x006A5240 65 ItemBonus__dtor_delegate_2aa0 game_items SEH-wrapped destructor delegate to 006a2aa0 0x006A5290 65 ItemBonus__dtor_delegate_2b30 game_items SEH-wrapped destructor delegate to 006a2b30 0x006A52E0 65 ItemBonus__dtor_delegate_2bc0 game_items SEH-wrapped destructor delegate to 006a2bc0 0x006A5330 102 ItemBonus__dtor_umap_50h_at_offset4 game_items Calls 006a3490 then destroys 0x50-byte umap at offset+4 0x006A53A0 102 ItemBonus__dtor_umap_14h_at_offset4 game_items Calls 006a3520 then destroys 0x14-byte umap at offset+4 0x006A5410 102 ItemBonus__dtor_umap_2Ch_at_offset4 game_items Calls 006a35b0 then destroys 0x2C-byte umap at offset+4 0x006A5480 65 ItemBonus__dtor_delegate_2da0 game_items SEH-wrapped destructor delegate to 006a2da0 0x006A54D0 102 ItemBonus__dtor_umap_2Ch_at_offset4_B game_items Calls 006a36d0 then destroys 0x2C-byte umap at offset+4 0x006A5540 65 ItemBonus__dtor_delegate_2ea0_B game_items SEH-wrapped destructor delegate to 006a2ea0 0x006A5590 102 ItemBonus__dtor_umap_2Ch_at_offset4_C game_items Calls 006a37f0 then destroys 0x2C-byte umap at offset+4 0x006A5600 102 ItemBonus__dtor_umap_2Ch_at_offset4_D game_items Calls 006a3880 then destroys 0x2C-byte umap at offset+4 0x006A5670 65 ItemBonus__dtor_delegate_3010 game_items SEH-wrapped destructor delegate to 006a3010 0x006A56C0 909 ItemBonus__destructor game_items Main destructor: clears all bonus maps, lists, observers, and enchant trees 0x006A5A50 106 ItemBonus__dtor_pair_2860_2da0 game_items Sequentially calls destructors 006a2860 then 006a2da0 0x006A5AD0 190 ItemBonus__clear_hashmap_10h_A game_items Clears hashmap: rehashes if sparse, else frees all 0x10-byte nodes 0x006A5BA0 190 ItemBonus__clear_hashmap_10h_B game_items Clears hashmap: rehashes if sparse, else frees all 0x10-byte nodes (variant B) 0x006A5C70 190 ItemBonus__clear_hashmap_10h_C game_items Clears hashmap: rehashes if sparse, else frees all 0x10-byte nodes (variant C) 0x006A5D70 103 ItemBonus__clear_hashmap_50h game_items Clears hashmap with 0x50-byte node umap destructor 0x006A5DE0 103 ItemBonus__clear_hashmap_14h game_items Clears hashmap with 0x14-byte node umap destructor 0x006A5E50 103 ItemBonus__clear_hashmap_2Ch game_items Clears hashmap with 0x2C-byte node umap destructor 0x006A5EC0 145 ItemBonus__clear_hashmap_10h_seh game_items SEH-wrapped hashmap clear, frees 0x10-byte nodes and resets buckets 0x006A5F60 75 ItemBonus__clear_hashmap_2Ch_simple game_items Clears hashmap with 0x2C-byte node destructor, no SEH wrapper 0x006A5FB0 145 ItemBonus__clear_hashmap_10h_seh_B game_items SEH-wrapped hashmap clear, frees 0x10-byte nodes (variant B) 0x006A6050 75 ItemBonus__clear_hashmap_2Ch_simple_B game_items Clears hashmap with 0x2C-byte node destructor (variant B) 0x006A60A0 75 ItemBonus__clear_hashmap_2Ch_simple_C game_items Clears hashmap with 0x2C-byte node destructor (variant C) 0x006A6260 353 ItemBonus__uset_insert_4byte_key game_items Inserts a 4-byte key into an unordered_set using FNV-1a hash over the 4 bytes. Allocates 0x10-byte node, stores key at +8. Rehashes if load factor exceeded. Its declared type suggests a string set, but actual usage is 4-byte int keys. 0x006A63D0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x006A6430 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x006A6490 179 ItemBonus__reg_subspconsumption game_items Registers "subspconsumption" bonus with 2 int params 0x006A6550 179 ItemBonus__reg_SubSPdrain game_items Registers "SubSPdrain" bonus with 2 int params 0x006A6610 179 ItemBonus__reg_SubSkillDelay game_items Registers "SubSkillDelay" bonus with skill_id+value params 0x006A66D0 179 ItemBonus__reg_SubSkillMDamage game_items Registers "SubSkillMDamage" bonus with skill_id+value params 0x006A6790 179 ItemBonus__reg_SubSkillSP game_items Registers "SubSkillSP" bonus with skill_id+value params 0x006A6850 179 ItemBonus__reg_SubSpecificSpellCastTime game_items Registers "SubSpecificSpellCastTime" bonus with skill_id+value params 0x006A6910 179 ItemBonus__reg_SubSpellCastTime game_items Registers "SubSpellCastTime" bonus with 1 int param 0x006A69D0 179 ItemBonus__reg_SubSpellDelay game_items Registers "SubSpellDelay" bonus with 1 int param 0x006A6A90 179 ItemBonus__reg_AddEXPPercent_KillRace game_items Registers "AddEXPPercent_KillRace" bonus with race+value params 0x006A6B50 179 ItemBonus__reg_AddExtParam game_items Registers "AddExtParam" bonus with 3 params 0x006A6C10 179 ItemBonus__reg_AddGuideAttack game_items Registers "AddGuideAttack" bonus with 1 int param 0x006A6CD0 179 ItemBonus__reg_AddHPdrain game_items Registers "AddHPdrain" bonus with 2 int params 0x006A6D90 179 ItemBonus__reg_AddHealModifyPercent game_items Registers "AddHealModifyPercent" bonus with 1 int param 0x006A6E50 179 ItemBonus__reg_AddHealValue game_items Registers "AddHealValue" bonus with 1 int param 0x006A6F10 179 ItemBonus__reg_AddIgnore_MRES_RacePercent game_items Registers "AddIgnore_MRES_RacePercent" bonus with race+value params 0x006A6FD0 179 ItemBonus__reg_AddIgnore_RES_RacePercent game_items Registers "AddIgnore_RES_RacePercent" bonus with race+value params 0x006A7090 179 ItemBonus__reg_AddMDamage_Property game_items Registers "AddMDamage_Property" bonus with 3 params 0x006A7150 179 ItemBonus__reg_AddMDamage_Size game_items Registers "AddMDamage_Size" bonus with 3 params 0x006A7210 179 ItemBonus__reg_AddAttrTolerace game_items Registers "AddAttrTolerace" bonus with element+value params 0x006A72D0 179 ItemBonus__reg_AddMdamage_Class game_items Registers "AddMdamage_Class" bonus with class+value params 0x006A7390 179 ItemBonus__reg_AddMdamage_Race game_items Registers "AddMdamage_Race" bonus with race+value params 0x006A7450 179 ItemBonus__reg_AddMeleeAttackDamage game_items Registers "AddMeleeAttackDamage" bonus with race+value params 0x006A7510 179 ItemBonus__reg_AddMeleeAttackReflect game_items Registers "AddMeleeAttackReflect" bonus with 1 int param 0x006A75D0 179 ItemBonus__reg_AddNeverknockback game_items Registers "AddNeverknockback" bonus with 1 int param 0x006A7690 179 ItemBonus__reg_AddRaceTolerace game_items Registers "AddRaceTolerace" bonus with race+value params 0x006A7750 179 ItemBonus__reg_AddRangeAttackDamage game_items Registers "AddRangeAttackDamage" bonus with race+value params 0x006A7810 179 ItemBonus__reg_AddReceiveItem_Equip game_items Registers "AddReceiveItem_Equip" bonus with 1 int param 0x006A78D0 179 ItemBonus__reg_AddReflectMagic game_items Registers "AddReflectMagic" bonus with 1 int param 0x006A7990 179 ItemBonus__reg_AddReflectTolerace game_items Registers "AddReflectTolerace" bonus with 1 int param 0x006A7A50 179 ItemBonus__reg_addattrtolerace game_items Registers "addattrtolerace" bonus with 3 params (lowercase variant) 0x006A7B10 179 ItemBonus__reg_AddSFCTEquipAmount game_items Registers "AddSFCTEquipAmount" bonus with skill+type+amount params 0x006A7BD0 179 ItemBonus__reg_AddSFCTEquipPermill game_items Registers "AddSFCTEquipPermill" bonus with skill+type+permill params 0x006A7C90 179 ItemBonus__reg_AddSPconsumption game_items Registers "AddSPconsumption" bonus with 1 int param 0x006A7D50 179 ItemBonus__reg_addspconsumption game_items Registers "addspconsumption" bonus with 2 int params (lowercase variant) 0x006A7E10 179 ItemBonus__reg_AddSPdrain game_items Registers "AddSPdrain" bonus with 2 int params 0x006A7ED0 179 ItemBonus__reg_AddSkillDelay game_items Registers "AddSkillDelay" bonus with skill_id+value params 0x006A7F90 179 ItemBonus__reg_AddSkillMDamage game_items Registers "AddSkillMDamage" bonus with skill_id+value params 0x006A8050 179 ItemBonus__reg_AddSkillSP game_items Registers "AddSkillSP" bonus with skill_id+value params 0x006A8110 179 ItemBonus__reg_AddSpecificSpellCastTime game_items Registers "AddSpecificSpellCastTime" bonus with skill_id+value params 0x006A81D0 179 ItemBonus__reg_AddSpellCastTime game_items Registers "AddSpellCastTime" bonus with 1 int param 0x006A8290 179 ItemBonus__reg_AddBowAttackDamage game_items Registers "AddBowAttackDamage" bonus with race+value params 0x006A8350 179 ItemBonus__reg_AddSpellDelay game_items Registers "AddSpellDelay" bonus with 1 int param 0x006A8410 179 ItemBonus__reg_BodyAttribute game_items Registers "BodyAttribute" bonus with 1 flag param 0x006A84D0 179 ItemBonus__reg_Clairvoyance game_items Registers "Clairvoyance" bonus with 1 int param 0x006A8590 179 ItemBonus__reg_ClassAddDamage game_items Registers "ClassAddDamage" bonus with 3 params 0x006A8650 179 ItemBonus__reg_ClassSubDamage game_items Registers "ClassSubDamage" bonus with 3 params 0x006A8710 179 ItemBonus__reg_Condition game_items Registers "Condition" bonus with 3 flag params 0x006A87D0 179 ItemBonus__reg_DisableSkill game_items Registers "DisableSkill" bonus with skill_id+value params 0x006A8890 179 ItemBonus__reg_EnableSkill game_items Registers "EnableSkill" bonus with skill_id+value params 0x006A8950 179 ItemBonus__reg_IndestructibleArmor game_items Registers "IndestructibleArmor" bonus with 1 int param 0x006A8A10 179 ItemBonus__reg_IndestructibleWeapon game_items Registers "IndestructibleWeapon" bonus with 1 int param 0x006A8AD0 179 ItemBonus__reg_AddCRIPercent_Race game_items Registers "AddCRIPercent_Race" bonus with race+value params 0x006A8B90 179 ItemBonus__reg_Magicimmune game_items Registers "Magicimmune" bonus with 1 int param 0x006A8C50 179 ItemBonus__reg_NoDispell game_items Registers "NoDispell" bonus with 1 int param 0x006A8D10 179 ItemBonus__reg_NoJamstone game_items Registers "NoJamstone" bonus with 1 int param 0x006A8DD0 179 ItemBonus__reg_NoMadogearfuel game_items Registers "NoMadogearfuel" bonus with 1 int param 0x006A8E90 179 ItemBonus__reg_PerfectDamage game_items Registers "PerfectDamage" bonus with 1 int param 0x006A8F50 179 ItemBonus__reg_RaceAddDamage game_items Registers "RaceAddDamage" bonus with race+value params 0x006A9010 179 ItemBonus__reg_RaceAddDamageSelf game_items Registers "RaceAddDamageSelf" bonus with race+value params 0x006A90D0 179 ItemBonus__reg_RaceSubDamage game_items Registers "RaceSubDamage" bonus with race+value params 0x006A9190 179 ItemBonus__reg_RaceSubDamageSelf game_items Registers "RaceSubDamageSelf" bonus with race+value params 0x006A9250 179 ItemBonus__reg_Reincarnation game_items Registers "Reincarnation" bonus with 1 int param 0x006A9310 179 ItemBonus__reg_AddDamage_CRI game_items Registers "AddDamage_CRI" bonus with race+value params 0x006A93D0 179 ItemBonus__reg_SetIgnoreDEFClass game_items Registers "SetIgnoreDEFClass" bonus with 1 flag param 0x006A9490 179 ItemBonus__reg_SetIgnoreDEFRace game_items Registers "SetIgnoreDEFRace" bonus with 1 flag param 0x006A9550 179 ItemBonus__reg_SetIgnoreDefClass_Percent game_items Registers "SetIgnoreDefClass_Percent" bonus with class+value params 0x006A9610 179 ItemBonus__reg_SetIgnoreDefRace_Percent game_items Registers "SetIgnoreDefRace_Percent" bonus with race+value params 0x006A96D0 179 ItemBonus__reg_SetIgnoreMdefClass game_items Registers "SetIgnoreMdefClass" bonus with class+value params 0x006A9790 179 ItemBonus__reg_SetIgnoreMdefRace game_items Registers "SetIgnoreMdefRace" bonus with race+value params 0x006A9850 179 ItemBonus__reg_SetInvestigate game_items Registers "SetInvestigate" bonus with 0 params (flag only) 0x006A9910 179 ItemBonus__reg_SplashAttack game_items Registers "SplashAttack" bonus with 1 int param 0x006A99D0 179 ItemBonus__reg_SubAttrTolerace game_items Registers "SubAttrTolerace" bonus with element+value params 0x006A9A90 179 ItemBonus__reg_subattrtolerace game_items Registers "subattrtolerace" bonus with 3 params (lowercase variant) 0x006A9B50 179 ItemBonus__reg_AddDamage_HIT game_items Registers "AddDamage_HIT" bonus with race+value params 0x006A9C10 179 ItemBonus__reg_SubBowAttackDamage game_items Registers "SubBowAttackDamage" bonus with race+value params 0x006A9CD0 179 ItemBonus__reg_SubCRIPercent_Race game_items Registers "SubCRIPercent_Race" bonus with race+value params 0x006A9D90 179 ItemBonus__reg_SubDamage_CRI game_items Registers "SubDamage_CRI" bonus with race+value params 0x006A9E50 179 ItemBonus__reg_SubDamage_HIT game_items Registers "SubDamage_HIT" bonus with race+value params 0x006A9F10 179 ItemBonus__reg_SubDamage_Property game_items Registers "SubDamage_Property" bonus with 3 params 0x006A9FD0 179 ItemBonus__reg_SubDamage_SKID game_items Registers "SubDamage_SKID" bonus with skill+type+value params 0x006AA090 179 ItemBonus__reg_SubDamage_Size game_items Registers "SubDamage_Size" bonus with 3 params 0x006AA150 179 ItemBonus__reg_SubEXPPercent_KillRace game_items Registers "SubEXPPercent_KillRace" bonus with race+value params 0x006AA210 179 ItemBonus__reg_SubExtParam game_items Registers "SubExtParam" bonus with 3 params 0x006AA2D0 179 ItemBonus__reg_SubGuideAttack game_items Registers "SubGuideAttack" bonus with 1 int param 0x006AA390 179 ItemBonus__reg_AddDamage_Property game_items Registers "AddDamage_Property" bonus with 3 params 0x006AA450 179 ItemBonus__reg_SubHPdrain game_items Registers "SubHPdrain" bonus with 2 int params 0x006AA510 179 ItemBonus__reg_SubHealModifyPercent game_items Registers "SubHealModifyPercent" bonus with 1 int param 0x006AA5D0 179 ItemBonus__reg_SubHealValue game_items Registers "SubHealValue" bonus with 1 int param 0x006AA690 179 ItemBonus__reg_SubIgnore_MRES_RacePercent game_items Registers "SubIgnore_MRES_RacePercent" bonus with race+value params 0x006AA750 179 ItemBonus__reg_SubIgnore_RES_RacePercent game_items Registers "SubIgnore_RES_RacePercent" bonus with race+value params 0x006AA810 179 ItemBonus__reg_SubMDamage_Property game_items Registers "SubMDamage_Property" bonus with 3 params 0x006AA8D0 179 ItemBonus__reg_SubMDamage_Size game_items Registers "SubMDamage_Size" bonus with 3 params 0x006AA990 179 ItemBonus__reg_SubMdamage_Class game_items Registers "SubMdamage_Class" bonus with class+value params 0x006AAA50 179 ItemBonus__reg_SubMdamage_Race game_items Registers "SubMdamage_Race" bonus with race+value params 0x006AAB10 179 ItemBonus__reg_SubMeleeAttackDamage game_items Registers "SubMeleeAttackDamage" bonus with race+value params 0x006AABD0 179 ItemBonus__reg_AddDamage_SKID game_items Registers "AddDamage_SKID" bonus with skill+type+value params 0x006AAC90 179 ItemBonus__reg_SubMeleeAttackReflect game_items Registers "SubMeleeAttackReflect" bonus with 1 int param 0x006AAD50 179 ItemBonus__reg_SubNeverknockback game_items Registers "SubNeverknockback" bonus with 0 params (flag removal) 0x006AAE10 179 ItemBonus__reg_SubRaceTolerace game_items Registers "SubRaceTolerace" bonus with race+value params 0x006AAED0 179 ItemBonus__reg_SubRangeAttackDamage game_items Registers "SubRangeAttackDamage" bonus with race+value params 0x006AAF90 179 ItemBonus__reg_SubReceiveItem_Equip game_items Registers "SubReceiveItem_Equip" bonus with 1 int param 0x006AB050 179 ItemBonus__reg_SubReflectMagic game_items Registers "SubReflectMagic" bonus with 1 int param 0x006AB110 179 ItemBonus__reg_SubReflectTolerace game_items Registers "SubReflectTolerace" bonus with 1 int param 0x006AB1D0 179 ItemBonus__reg_SubSFCTEquipAmount game_items Registers "SubSFCTEquipAmount" bonus with skill+type+amount params 0x006AB290 179 ItemBonus__reg_SubSFCTEquipPermill game_items Registers "SubSFCTEquipPermill" bonus with skill+type+permill params 0x006AB350 179 ItemBonus__reg_SubSPconsumption game_items Registers "SubSPconsumption" bonus with 1 int param 0x006AB410 179 ItemBonus__reg_AddDamage_Size game_items Registers "AddDamage_Size" bonus with 3 params 0x006AB4D0 30 ItemBonus__scalar_deleting_dtor_small game_items Scalar deleting destructor for 4-byte object 0x006AB4F0 38 ItemBonus__scalar_deleting_dtor game_items Scalar deleting destructor: calls main dtor then frees 0x1FC-byte object 0x006AB520 752 ItemBonus__register_bonus_handler game_items Registers a named bonus handler with param count/type descriptors into the bonus map 0x006AB810 1654 ItemBonus__apply_bonus_values game_items Applies bonus parameter values to the active item bonus computation context 0x006ABE90 236 ItemBonus__reset_all_active_bonuses game_items Resets enchant tree, clears dirty flag, destroys all 3 observer lists 0x006ABF80 792 ItemBonus__remove_bonus_values game_items Removes bonus parameter values from the active item bonus computation context 0x006AC2A0 125 ItemBonus__find_bonus_by_name game_items Looks up bonus entry by 4-byte name hash in offset+0x138 map 0x006AC320 142 ItemBonus__lookup_3level_map game_items 3-level nested hashmap lookup using 3 int keys in offset+0x1E0 map 0x006AC3C0 113 ItemBonus__find_bonus_value_28h game_items Looks up bonus value by 4-byte name hash in offset+0x28 map 0x006AC440 122 ItemBonus__find_bonus_entry_98h game_items Looks up bonus entry by 4-byte name hash in offset+0x98 map, returns node+0xC 0x006AC4C0 214 ItemBonus__equip_location_to_bitmask game_items Converts equip location index (1-0x23) to bitmask for slot flags 0x006AC610 4 ItemBonus__get_base_ptr_plus4 game_items Returns this+4 pointer offset 0x006AC620 142 ItemBonus__get_job_group_from_skill_id game_items Maps skill ID to job group (1-6, 0x18-0x19, or special class ranges 0xFA2+) 0x006AC890 71 ItemBonus__normalize_skill_id_with_4th game_items Normalizes skill ID aliases to base form, handles 4th job class mapping 0x006ACCB0 71 ItemBonus__normalize_skill_id_no_4th game_items Normalizes skill ID aliases to base form, without 4th job class mapping 0x006AD0E0 954 ItemBonus__process_bonus_script game_items Parses and processes item bonus script text into bonus handler calls 0x006AD4A0 83 ItemBonus__find_bonus_by_json_key game_items Looks up bonus entry by JSON reader key hash in offset+0x158 map 0x006AD500 122 ItemBonus__find_bonus_value_178h game_items Looks up bonus value by 4-byte name hash in offset+0x178 map 0x006AD580 272 ItemBonus__lookup_3level_bonus_value game_items 3-level nested lookup: int key -> string key -> bounded uint key, returns float as int 0x006AD690 429 ItemBonus__bitmask_to_equip_location game_items Converts equip slot bitmask back to location index (1-0x23) 0x006AD880 122 ItemBonus__find_bonus_entry_118h game_items Looks up bonus entry by 4-byte name hash in offset+0x118 map, returns node+0xC 0x006AD910 10253 ItemBonus__constructor game_items Main constructor: initializes all bonus maps, registers all 80+ bonus handlers 0x006B0120 70 ItemBonus__check_range_in_sorted_set game_items Checks if param range falls within a sorted set entry's [lo,hi] bounds 0x006B0170 1057 ItemBonus__compute_equip_bonuses game_items Computes aggregate bonus values for equipped items 0x006B05A0 1097 ItemBonus__compute_status_bonuses game_items Computes aggregate bonus values for status effects 0x006B09F0 1545 ItemBonus__compute_skill_bonuses game_items Computes aggregate bonus values for skill modifiers 0x006B1000 7889 ItemBonus__build_bonus_description game_items Builds formatted bonus description text for UI display 0x006B2EE0 3357 ItemBonus__format_bonus_tooltip game_items Formats bonus values into tooltip display strings with color/sign formatting 0x006B3C00 2559 ItemBonus__format_extended_tooltip game_items Formats extended bonus tooltip with race/element/size specific details 0x006B4600 5837 ItemBonus__format_skill_bonus_tooltip game_items Formats skill-related bonus tooltips with skill names and modifier values 0x006B5DA0 2419 ItemBonus__format_condition_tooltip game_items Formats conditional bonus tooltips with trigger conditions and effects 0x006B6720 972 ItemBonus__format_special_bonus_tooltip game_items Formats special bonus tooltips (clairvoyance, knockback, etc.) 0x006B6AF0 383 ItemBonus__add_equip_bonus game_items Adds bonus from equip: creates observer, inserts into map, applies values, marks dirty 0x006B6C70 412 ItemBonus__add_status_bonus game_items Adds bonus from status effect: creates observer, inserts into map, applies values 0x006B6E10 244 ItemBonus__remove_equip_bonus game_items Removes bonus for equip: removes values, destroys observer, erases from map 0x006B6F10 262 ItemBonus__remove_status_bonus game_items Removes bonus for status effect: removes values, destroys observer, erases from map 0x006B7020 454 ItemBonus__update_equip_bonus_on_change game_items Handles equip bonus change: recalculates enchant effects and string set entries 0x006B71F0 403 ItemBonus__update_status_bonus_on_change game_items Handles status bonus change: recalculates enchant effects and string set entries 0x006B7390 401 ItemBonus__refresh_on_job_change game_items Refreshes all equip bonuses when job class changes, toggling enabled state 0x006B7530 137 ItemBonus__collect_display_values game_items Collects bonus display values from all 3 observer lists, clears dirty flag 0x006B75C0 28 ItemBonus__set_context_and_clear game_items Clears 16-byte node hashmap and stores context value at offset+0x1C 0x006B75E0 368 ItemBonus__insert_bonus_name_value game_items Inserts name->value pair into offset+0x19C unordered_map with FNV-1a hash 0x006B7760 13 ItemBonus__set_ui_callback game_items Stores UI callback pointer at offset+0x20 0x006B7770 128 ItemBonus__recalculate_dirty_flags game_items Iterates all 3 observer lists accumulating dirty flags, notifies UI callback 0x006B7810 235 STL_vector_resize_and_fill_4byte_006b7810 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B7900 235 STL_vector_resize_and_fill_4byte_006b7900 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B79F0 235 STL_vector_resize_and_fill_4byte_006b79f0 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B7AE0 235 STL_vector_resize_and_fill_4byte_006b7ae0 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B7BD0 235 STL_vector_resize_and_fill_4byte_006b7bd0 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B7CC0 235 STL_vector_resize_and_fill_4byte_006b7cc0 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B7DB0 235 STL_vector_resize_and_fill_4byte_006b7db0 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B7EA0 235 STL_vector_resize_and_fill_4byte_006b7ea0 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B7F90 235 STL_vector_resize_and_fill_4byte_006b7f90 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B8080 235 STL_vector_resize_and_fill_4byte_006b8080 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B8170 235 STL_vector_resize_and_fill_4byte_006b8170 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B8260 235 STL_vector_resize_and_fill_4byte_006b8260 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B8350 235 STL_vector_resize_and_fill_4byte_006b8350 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B8440 235 STL_vector_resize_and_fill_4byte_006b8440 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B8530 235 STL_vector_resize_and_fill_4byte_006b8530 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B8620 235 STL_vector_resize_and_fill_4byte_006b8620 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006B8710 704 STL_rbtree_extract_node_006b8710 stl STL red-black tree node extraction with rebalancing for std::set/map erase 0x006B89D0 426 STL_umap_rehash_4byte_key_006b89d0 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B8B80 426 STL_umap_rehash_4byte_key_006b8b80 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B8D30 426 STL_umap_rehash_4byte_key_006b8d30 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B8EE0 426 STL_umap_rehash_4byte_key_006b8ee0 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B9090 426 STL_umap_rehash_4byte_key_006b9090 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B9240 426 STL_umap_rehash_4byte_key_006b9240 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B93F0 426 STL_umap_rehash_4byte_key_006b93f0 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B95A0 426 STL_umap_rehash_4byte_key_006b95a0 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B9750 426 STL_umap_rehash_4byte_key_006b9750 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B9900 426 STL_umap_rehash_4byte_key_006b9900 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006B9AB0 362 STL_umap_rehash_uint_key_006b9ab0 stl STL unordered_map rehash: recalculates bucket assignments for uint key elements 0x006B9C20 362 STL_umap_rehash_uint_key_006b9c20 stl STL unordered_map rehash: recalculates bucket assignments for uint key elements 0x006B9D90 362 STL_umap_rehash_uint_key_006b9d90 stl STL unordered_map rehash: recalculates bucket assignments for uint key elements 0x006B9F00 362 STL_umap_rehash_uint_key_006b9f00 stl STL unordered_map rehash: recalculates bucket assignments for uint key elements 0x006BA070 362 STL_umap_rehash_uint_key_006ba070 stl STL unordered_map rehash: recalculates bucket assignments for uint key elements 0x006BA1E0 424 STL_umap_rehash_8byte_key stl STL unordered_map rehash using JsonReader hash for 8-byte key comparison 0x006BA390 1 identity_return_ecx_006ba390 game_core Identity function that returns its input parameter unchanged 0x006BA3A0 95 STL_umap_insert_at_bucket_006ba3a0 stl STL unordered_map bucket insert: links new node into bucket chain at computed hash position 0x006BA400 95 STL_umap_insert_at_bucket_006ba400 stl STL unordered_map bucket insert: links new node into bucket chain at computed hash position 0x006BA460 95 STL_umap_insert_at_bucket_006ba460 stl STL unordered_map bucket insert: links new node into bucket chain at computed hash position 0x006BA4C0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006BA6D0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006BA8E0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006BAAF0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006BAD00 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006BAF10 84 STL_rbtree_rotate_left_006baf10 stl STL red-black tree left rotation for rebalancing after insert/erase 0x006BAF70 132 _Rehash_for_1 game_core Rehashes an unordered container to ensure at least one bucket is available for insertion. 0x006BB000 132 _Rehash_for_1 game_core Rehashes an unordered container to ensure at least one bucket is available for insertion. 0x006BB090 132 _Rehash_for_1 game_core Rehashes an unordered container to ensure at least one bucket is available for insertion. 0x006BB120 88 STL_rbtree_rotate_right_006bb120 stl STL red-black tree right rotation for rebalancing after insert/erase 0x006BB180 478 STL_umap_erase_range_16byte_006bb180 stl STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators 0x006BB360 478 STL_umap_erase_range_16byte_006bb360 stl STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators 0x006BB540 478 STL_umap_erase_range_16byte_006bb540 stl STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators 0x006BB720 478 STL_umap_erase_range_16byte_006bb720 stl STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators 0x006BB900 478 STL_umap_erase_range_16byte_006bb900 stl STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators 0x006BBAE0 478 STL_umap_erase_range_16byte_006bbae0 stl STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators 0x006BBCC0 478 STL_umap_erase_range_16byte_006bbcc0 stl STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators 0x006BBEA0 597 STL_umap_erase_range_80byte stl STL unordered_map erase range: removes nodes (0x50 bytes each) with dtor calls between iterators 0x006BC100 533 STL_umap_erase_range_with_dtor stl STL unordered_map erase range: removes nodes calling STL_umap_0069e380 dtor for each 0x006BC320 534 STL_umap_erase_range_44byte stl STL unordered_map erase range: removes nodes (0x2c bytes each) with cleanup between iterators 0x006BC540 95 STL_allocate_aligned_24byte stl Allocates count * 0x18 bytes with aligned allocation for large blocks 0x006BC5A0 182 STL_umap_clear_16byte_nodes_006bc5a0 stl STL unordered_map clear: erases range or walks list freeing 0x10 byte nodes and resets buckets 0x006BC660 182 STL_umap_clear_16byte_nodes_006bc660 stl STL unordered_map clear: erases range or walks list freeing 0x10 byte nodes and resets buckets 0x006BC720 182 STL_umap_clear_16byte_nodes_006bc720 stl STL unordered_map clear: erases range or walks list freeing 0x10 byte nodes and resets buckets 0x006BC7E0 182 STL_umap_clear_16byte_nodes_006bc7e0 stl STL unordered_map clear: erases range or walks list freeing 0x10 byte nodes and resets buckets 0x006BC8A0 495 STL_umap_clear_24byte_nodes stl STL unordered_map clear: erases range or walks list freeing 0x18 byte nodes with JsonReader hash 0x006BCA90 251 STL_rbtree_find_and_extract stl STL std::set find by uint key and extract node if found, returns pair(node_ptr, found) 0x006BCB90 112 lua_get_job_group_type lua Lua binding: maps DAT_01733c60 job class ID to job group type (0-0x27), returns via json_internal 0x006BCE30 485 lua_get_option_sub_index lua Lua binding: maps job class ID to sub-index per option type (1-4), returns result via json_internal 0x006BD3C0 663 lua_get_option_handler_result lua Lua binding: looks up option by hash in global option manager, invokes handler vtable call, returns result 0x006BD660 876 lua_get_shop_item_price lua Lua binding: looks up item ID, constructs CShopItem, returns item price from local_a4 field 0x006BD9D0 772 lua_get_option_enabled_state lua Lua binding: initializes option manager if needed, looks up option by hash, returns enabled state 0x006BDCE0 663 lua_get_option_handler_result_2 lua Lua binding: looks up option by hash in global option manager, invokes handler vtable call, returns int result 0x006BDF80 863 lua_get_shop_item_atoi_field lua Lua binding: looks up item, constructs CShopItem, returns atoi of a string field from item data 0x006BE2F0 175 lua_get_option_manager_dispatch lua Lua binding: initializes option manager, calls vtable dispatch on it, returns result via json_internal 0x006BE3A0 732 lua_get_sprite_name_without_rsw lua Lua binding: gets sprite name from player actor, strips ".rsw" extension, returns string result 0x006BE680 53 lua_get_pet_intimacy_level lua Lua binding: returns pet intimacy level as a number. Wraps get_pet_intimacy_level() for Lua access. 0x006BE6C0 46 lua_get_current_job_id lua Lua binding: returns the current job class ID by calling ItemBonus__get_job_group_from_skill_id and pushing the result as a number 0x006BE6F0 839 lua_get_shop_item_custom_value lua Lua binding: looks up item, constructs CShopItem, returns custom int value from item field offset 0xcc 0x006BEA40 487 lua_get_skill_group_count lua Lua binding: takes a numeric argument, looks up skill group via CSkillMgr, returns count field at offset 0x10 from the found entry 0x006BEC30 545 lua_get_option_info lua Lua binding: retrieves option information from global game settings data 0x006BEFA0 671 lua_get_option_data lua Lua binding: retrieves option data from the game settings system 0x006BF240 54 lua_get_server_type_flag lua Lua binding: returns 2 if DAT_0173823c==1 (server type flag), else 0, via json_internal 0x006BF280 359 lua_dispatch_chat_message lua Lua binding: takes a string argument, converts codepage encoding, and dispatches it as a chat message via CUIWindowMgr__dispatch_chat_message with color 0xFFFF 0x006BF3F0 882 lua_process_option_config lua Lua binding: processes option configuration data with multiple json reads and returns status 0x006BF770 8 GameSettings__has_data game_core Returns true if GameSettings object has data loaded (field at offset 0x40 != 0) 0x006BF7A0 117 GameSettings__destroy_option_entries game_core Destroys option entries in range [param_1, param_2), each 100 bytes, calling 3 string dtors per entry 0x006BF820 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x006BF890 56 _Fnv1a_append_value<> game_core Appends a value to an FNV-1a hash by XORing each byte and multiplying by the FNV prime. 0x006BF8D0 58 fnv1a_hash_4byte game_core FNV-1a hash of 4 bytes: seed 0x811c9dc5, multiplier 0x1000193 0x006BF910 504 GameSettings__resize_option_vector game_core Resizes the option entries vector, constructing new entries with default values (100 bytes each) 0x006BFB10 530 GameSettings__find_or_insert_option game_core Finds option entry by ID in the option hash map, inserts new entry if not found 0x006BFD30 15 GameSettings__get_type_name_by_index game_core Returns pointer to type name string from PTR_s_TT_NORMAL table by index 0x006BFD40 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006BFDB0 97 GameSettings__find_type_index_by_name game_core Searches PTR_s_TT_NORMAL table for matching name string, returns index (max 300) 0x006BFE20 31 STL_fill_4byte_range stl STL template instantiation: STL fill 4byte range 0x006BFE40 31 STL_fill_4byte_range_006bfe40 stl STL template instantiation: STL fill 4byte range 006bfe40 0x006BFE60 330 GameSettings__constructor game_core Constructs GameSettings object with vtable, json state, two hash maps and option vector 0x006BFFB0 295 GameSettings__OptionEntry__move_construct game_core Move-constructs an OptionEntry (100 bytes) transferring 3 strings and numeric fields from source 0x006C00E0 179 GameSettings__OptionEntry__default_construct game_core Default-constructs OptionEntry: type=300, 3 empty strings, default tick values 0x125a 0x006C01B0 67 STL_free_node_16byte_006c01b0 stl Frees a single 0x10 byte node if pointer at offset 4 is non-null 0x006C0200 67 STL_free_node_12byte stl Frees a single 0xc byte node if pointer at offset 4 is non-null 0x006C0250 33 GameSettings__release_callback_006c0250 game_core Releases callback object at offset 0x24 by calling its vtable destroy method and nulling pointer 0x006C0280 33 GameSettings__release_callback_006c0280 game_core Releases callback object at offset 0x24 by calling its vtable destroy method and nulling pointer 0x006C02B0 87 GameSettings__clear_vector_and_map_A game_core Clears the option vector and destroys hash map A of GameSettings 0x006C0310 87 GameSettings__clear_vector_and_map_B game_core Clears the option vector and destroys hash map B of GameSettings 0x006C0370 125 STL_vector_free_buffer stl Frees STL vector backing buffer with aligned deallocation and zeroes size/capacity pointers 0x006C0400 125 STL_vector_free_buffer_006c0400 stl Frees STL vector backing buffer with aligned deallocation and zeroes size/capacity pointers 0x006C0490 78 STL_free_node_16byte_006c0490 stl Frees a single 0x10 byte node if pointer at offset 4 is non-null, with SEH frame 0x006C04E0 78 STL_free_node_12byte_006c04e0 stl Frees a single 0xc byte (12-byte) node if pointer at offset 4 is non-null, with SEH frame 0x006C0550 92 GameSettings__release_callback_safe_006c0550 game_core Releases callback at offset 0x24 with SEH protection, calls vtable destroy and nulls pointer 0x006C05B0 92 GameSettings__release_callback_safe_006c05b0 game_core Releases callback at offset 0x24 with SEH protection, calls vtable destroy and nulls pointer 0x006C0610 170 GameSettings__destroy_callback_map_A game_core Walks linked list freeing 0x38 byte nodes with callback release at offset 0xd, then frees sentinel 0x006C06C0 170 GameSettings__destroy_callback_map_B game_core Walks linked list freeing 0x38 byte nodes with callback release at offset 0xd, then frees sentinel 0x006C0770 103 STL_umap_destroy_12byte_nodes stl Walks linked list freeing all 0xc byte nodes, then frees sentinel node 0x006C07E0 87 GameSettings__clear_vector_and_map_C game_core Clears option vector buffer and destroys callback map C of GameSettings 0x006C0840 87 GameSettings__clear_vector_and_map_D game_core Clears option vector buffer and destroys callback map D of GameSettings 0x006C08A0 163 GameSettings__destroy_option_vector game_core Destroys all option entries in vector (100 bytes each), frees backing buffer, zeroes pointers 0x006C0950 165 GameSettings__destructor game_core GameSettings destructor: sets vtable, destroys vectors, maps, callback maps, and json state 0x006C0A00 99 GameSettings__OptionEntry__destructor game_core Destructor for a single OptionEntry: destroys 3 embedded strings 0x006C0A70 190 GameSettings__clear_umap_if_present game_core 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 game_core Scalar deleting destructor: frees 4-byte object if flag bit 0 is set 0x006C0B80 186 GameSettings__scalar_deleting_destructor game_core GameSettings scalar deleting destructor: runs full destructor then frees 0x58 byte object 0x006C0C40 394 GameSettings__apply_option_change game_core 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 game_core Applies option change with different parameter layout from apply_option_change 0x006C0F00 301 GameSettings__resolve_option_from_string game_core 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 game_core Returns pointer to option entry in the option vector by computed offset 0x006C1070 268 GameSettings__collect_option_ids_by_type game_core 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 game_core Initializes GameSettings from Lua: registers EFFECT/CONTROL/ALL/RES keys, loads type table, registers callbacks, parses OptionTbl 0x006C17A0 116 GameSettings__get_option_state game_core 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 game_core Returns 1 for option types 0x6a,0x6b,0x6c,0xe7,0x10d (invertible), else 0 0x006C1900 193 GameSettings__update_option_state game_core Updates option state: finds entry by ID in vector, compares with hash result, writes enabled flag 0x006C19D0 2963 GameSettings__parse_option_table_lua game_core Parses OptionTbl from Lua: reads type/subtype/invert/name/tooltip/desc per entry, validates, stores to option vector 0x006C2610 438 GameSettings__apply_all_options game_core Iterates all option entries in vector, applies each via handler lookup and callback invocation 0x006C27D0 459 GameSettings__apply_options_filtered game_core Iterates option entries and applies changes based on filter criteria 0x006C29A0 215 GameSettings__set_option_from_config_string game_core 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 game_core Sets option enabled state by ID: finds/inserts in hash map, writes byte at node offset 0xc 0x006C2B10 320 STL_vector_resize_and_fill_4byte_006c2b10 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006C2C60 320 STL_vector_resize_and_fill_4byte_006c2c60 stl STL vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value 0x006C2DB0 22 GameSettings__destroy_option_entries_thunk game_core Thunk: forwards to GameSettings__destroy_option_entries with swapped this/range params 0x006C2DD0 426 STL_umap_rehash_4byte_key_006c2dd0 stl STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key 0x006C2F80 3 identity_return game_core Identity function: returns param_1 unchanged 0x006C2F90 142 GameSettings__vector_insert_entries game_core Inserts new option entries into the vector at specified position with move semantics 0x006C3020 145 GameSettings__vector_insert_entries_2 game_core Inserts option entries into vector variant with different parameter order 0x006C30C0 478 STL_umap_erase_range_16byte_006c30c0 stl STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators 0x006C32A0 10 STL_vector_throw_length_error_006c32a0 stl Throws std::length_error("vector too long") - called when vector capacity is exceeded 0x006C32B0 56 GameSettings__free_option_buffer game_core Frees option entries buffer: param_2 * 100 bytes with aligned deallocation 0x006C32F0 166 GameSettings__register_callback_simple game_core Registers a simple callback function for an option type in the callback map 0x006C33A0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x006C3410 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x006C3480 147 STL_umap_destroy_nodes_A stl Destroys all nodes in unordered_map linked list. For each 0x38-byte node: calls virtual dtor on embedded object at offset 0xd, then frees node. 0x006C3520 147 STL_umap_destroy_nodes_B stl Destroys all nodes in unordered_map linked list. For each 0x38-byte node: calls virtual dtor on embedded object at offset 0xd, then frees node. 0x006C35C0 14 STL_umap_is_nonempty_A stl Returns true if the unordered_map's first field is non-zero (i.e., map is non-empty or initialized). 0x006C35D0 14 STL_umap_is_nonempty_B stl Returns true if the unordered_map's first field is non-zero (i.e., map is non-empty or initialized). 0x006C35E0 541 GameSettings__umap_emplace_callback_A game_core Emplaces callback node into hash map A with FNV-1a hash, handles rehash on load factor exceeded 0x006C3800 541 GameSettings__umap_emplace_callback_B game_core Emplaces callback node into hash map B with FNV-1a hash, handles rehash on load factor exceeded 0x006C3A20 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006C3A90 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x006C3B00 188 GameSettings__format_option_value_callback game_core 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 game_core 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. 0x006C3C40 67 STL_umap_free_sentinel_A stl Frees unordered_map sentinel node (0xc bytes) at offset+4 if present. 0x006C3C90 67 STL_umap_free_sentinel_B stl Frees unordered_map sentinel node (0x38 bytes) if present 0x006C3CE0 67 STL_umap_free_sentinel_C stl Frees unordered_map sentinel node (0x38 bytes) at offset+4 if present. 0x006C3D30 78 STL_umap_free_node_C stl Frees 0xc-byte node at offset+4 if present. Variant C of umap node free. 0x006C3D80 147 STL_umap_destroy_node_with_dtor_A stl Destroys a single 0x38-byte umap node: calls virtual dtor on embedded object at offset+0x34, then frees the node. 0x006C3E20 147 STL_umap_destroy_node_with_dtor_B stl Destroys a single 0x38-byte umap node: calls virtual dtor on embedded object at offset+0x34, then frees the node. 0x006C3EC0 105 STL_umap_release_embedded_object_A stl Releases embedded object at offset+0x2c by calling its virtual destructor (vtable+0x10), then nulls the pointer. 0x006C3F30 105 STL_umap_release_embedded_object_B stl Releases embedded object at offset+0x2c by calling its virtual destructor (vtable+0x10), then nulls the pointer. 0x006C3FA0 103 STL_umap_clear_A stl Clears all elements from unordered_map A. If count < buckets/8, uses erase_range with dtor; otherwise destroys all nodes, resets sentinel, zeroes count, and fills bucket array. 0x006C4010 103 STL_umap_clear_B stl Clears all elements from unordered_map B. If count < buckets/8, uses erase_range with dtor; otherwise destroys all nodes, resets sentinel, zeroes count, and fills bucket array. 0x006C40C0 226 GameSettings__scroll_camera_direction game_core Scrolls camera direction by DAT_01112be8 amount, wraps rotation angle, sends action packet 0x8b 0x006C41B0 108 GameSettings__option_callback_e7 game_core 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 game_core Option callback for type 0x6c: handles specific game setting change 0x006C4270 63 GameSettings__toggle_option_and_notify game_core Checks if option state changed, sets new enabled state, calls notify with sound effect 0x64ffff 0x006C42B0 489 GameSettings__option_callback_6e game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Registers all option type callbacks into both hash maps: ~35 entries for effect, control, and misc types 0x006C5A10 79 GameSettings__option_callback_108 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Plays option toggle feedback: resolves name from b00f00, plays sound effect via aa9100 with ID param_4 0x006C5FC0 93 GameSettings__option_callback_10e game_core 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 game_core 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 game_core 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 game_core Option callback 0xfa: Toggles setting with sound, then toggles minimap visibility via CUIWindowMgr__toggle_minimap_visibility. 0x006C6200 96 GameSettings__option_callback_df game_core 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 game_core 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 game_core 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 game_core 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 game_core Option callback 0x10: Sends packet type 0xd0 with value 0 to server via CNetworkSession. Simple network request trigger. 0x006C6410 55 GameSettings__option_callback_0f game_core 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 game_core Option callback 0x8d: Toggles setting with sound, then rebuilds the effect collision tree via CGameObject__rebuild_effect_collision_tree. 0x006C64A0 22 STL_umap_iterator_ctor_A stl Constructs unordered_map iterator A: sets vtable pointer and copies node pointer from this+4. 0x006C64C0 22 STL_umap_iterator_ctor_B stl Constructs unordered_map iterator B: sets vtable pointer and copies node pointer from this+4. 0x006C64E0 16 STL_umap_iterator_base_ctor_A stl Base constructor for unordered_map iterator A: sets vtable pointer only. 0x006C64F0 16 STL_umap_iterator_base_ctor_B stl Base constructor for unordered_map iterator B: sets vtable pointer only. 0x006C6500 68 STL_umap_conditional_free_A stl Conditionally frees 8-byte allocation if boolean param is true. Used in umap iterator/node cleanup. 0x006C6550 68 STL_umap_conditional_free_B stl Conditionally frees 8-byte allocation if boolean param is true. Used in umap iterator/node cleanup. 0x006C65A0 68 STL_umap_conditional_free_C stl Conditionally frees 8-byte allocation if boolean param is true. Used in umap iterator/node cleanup. 0x006C65F0 68 STL_umap_conditional_free_D stl Conditionally frees 8-byte allocation if boolean param is true. Used in umap iterator/node cleanup. 0x006C6640 44 STL_umap_invoke_virtual_method stl Dispatches a virtual method call through vtable at this+4, passing 5 parameters from the provided pointers. 0x006C66A0 639 STL_umap_rehash_4byte_with_realloc stl STL unordered_map rehash with bucket vector reallocation using FNV-1a on 4-byte key 0x006C6920 639 STL_umap_rehash_4byte_with_realloc_2 stl STL unordered_map rehash with bucket vector reallocation using FNV-1a on 4-byte key 0x006C6BE0 22 STL_umap_iterator_ctor_C stl Constructs unordered_map iterator C: sets vtable pointer and copies node pointer from this+4. 0x006C6C00 22 STL_umap_iterator_ctor_D stl Constructs unordered_map iterator D: sets vtable pointer and copies node pointer from this+4. 0x006C6C20 16 STL_umap_iterator_base_ctor_C stl Base constructor for unordered_map iterator C: sets vtable pointer only. 0x006C6C30 16 STL_umap_iterator_base_ctor_D stl Base constructor for unordered_map iterator D: sets vtable pointer only. 0x006C6C40 341 STL_function_swap stl STL std::function::swap implementation. Swaps callable objects between two std::function instances using vtable-based move semantics with temporary storage. 0x006C6DA0 341 STL_function_swap_2 stl STL std::function::swap implementation (second instantiation). Identical to STL_function_swap but for a different template specialization. 0x006C6F40 601 STL_umap_erase_range_56byte_with_dtor stl STL unordered_map erase range: iterates bucket chain using FNV-1a hash, calls vtable dtor at node offset 0xd, frees 0x38-byte nodes, decrements element count. 0x006C71A0 601 SpriteMap__hash_erase_range game_sprites Erases range of entries from unordered_map using FNV-1a hash, frees 0x38-byte nodes 0x006C7400 80 SpriteMap__base_dtor_return_this game_sprites Destructor that sets vtable and calls json internal cleanup, returns this ptr 0x006C7460 74 SpriteMap__base_dtor_void game_sprites Destructor that sets vtable and calls json internal destroy, void return 0x006C74B0 30 SpriteMap__scalar_dtor_4byte game_sprites Scalar deleting destructor, frees 4-byte object if flag set 0x006C74D0 99 SpriteMap__scalar_dtor_0xc game_sprites Scalar deleting destructor, sets vtable, destroys inner state, frees 0xC-byte object 0x006C7540 293 SpriteMap__load_item_db_names_lua game_sprites Loads Lua file "LuaFiles514/Lua Files/ItemDBNameTbl" for item DB name table 0x006C7670 163 SpriteMap__lookup_item_id_by_name game_sprites Lua call "ItemDB_To_ItemID" to convert item name string to numeric item ID 0x006C7720 501 SpriteMap__register_sprite_1param game_sprites Registers sprite mapping with 1 sprite ID parameter, inserts into RB-tree map 0x006C7920 517 SpriteMap__register_sprite_2params game_sprites Registers sprite mapping with 2 sprite ID parameters, inserts into RB-tree map 0x006C7B30 527 SpriteMap__register_sprite_3params game_sprites Registers sprite mapping with 3 sprite ID parameters, inserts into RB-tree map 0x006C7D40 543 SpriteMap__register_sprite_4params game_sprites Registers sprite mapping with 4 sprite ID parameters, inserts into RB-tree map 0x006C7F60 543 SpriteMap__register_sprite_5params game_sprites Registers sprite mapping with 5 sprite ID parameters, inserts into RB-tree map 0x006C8180 544 SpriteMap__register_sprite_6params game_sprites Registers sprite mapping with 6 sprite ID parameters, inserts into RB-tree map 0x006C83A0 559 SpriteMap__register_sprite_7params game_sprites Registers sprite mapping with 7 sprite ID parameters, inserts into RB-tree map 0x006C85D0 575 SpriteMap__register_sprite_9params game_sprites Registers sprite mapping with 9 sprite ID parameters, inserts into RB-tree map 0x006C8810 575 SpriteMap__register_sprite_11params game_sprites Registers sprite mapping with 11 sprite ID parameters, inserts into RB-tree map 0x006C8A50 185 SpriteMap__register_set_1param game_sprites Registers sprite set mapping with 1 signed int parameter via signed-key tree 0x006C8B10 191 SpriteMap__register_set_2params game_sprites Registers sprite set mapping with 2 signed int parameters via signed-key tree 0x006C8BD0 210 SpriteMap__register_set_3params game_sprites Registers sprite set mapping with 3 signed int parameters via signed-key tree 0x006C8CB0 216 SpriteMap__register_set_4params game_sprites Registers sprite set mapping with 4 signed int parameters via signed-key tree 0x006C8D90 222 SpriteMap__register_set_5params game_sprites Registers sprite set mapping with 5 signed int parameters via signed-key tree 0x006C8E70 228 SpriteMap__register_set_6params game_sprites Registers sprite set mapping with 6 signed int parameters via signed-key tree 0x006C8F60 234 SpriteMap__register_set_7params game_sprites Registers sprite set mapping with 7 signed int parameters via signed-key tree 0x006C9050 240 SpriteMap__register_set_8params game_sprites Registers sprite set mapping with 8 signed int parameters via signed-key tree 0x006C9140 294 SpriteMap__register_set_17params game_sprites Registers sprite set mapping with 17 signed int parameters via signed-key tree 0x006C9270 210 SpriteMap__register_set_3params_alt game_sprites Alternative sprite set registration with 3 signed int params, same tree structure 0x006C9350 216 SpriteMap__register_set_4params_alt game_sprites Alternative sprite set registration with 4 signed int params, same tree structure 0x006C9430 222 SpriteMap__register_set_5params_alt game_sprites Alternative sprite set registration with 5 signed int params, same tree structure 0x006C9510 228 SpriteMap__register_set_6params_alt game_sprites Alternative sprite set registration with 6 signed int params, same tree structure 0x006C9600 234 SpriteMap__register_set_7params_alt game_sprites Alternative sprite set registration with 7 signed int params, same tree structure 0x006C96F0 240 SpriteMap__register_set_8params_alt game_sprites Alternative sprite set registration with 8 signed int params, same tree structure 0x006C97E0 264 SpriteMap__register_set_12params_alt game_sprites Alternative sprite set registration with 12 signed int params (param_3..param_14), builds RB-tree and merges into second internal map at this+4. 0x006C98F0 270 SpriteMap__register_set_13params_alt game_sprites Alternative sprite set registration with 13 signed int params (param_3..param_15), builds RB-tree and merges into second internal map at this+4. 0x006C9A00 294 SpriteMap__register_set_17params_alt game_sprites Alternative sprite set registration with 17 signed int params (param_3..param_19), builds RB-tree and merges into second internal map at this+4. 0x006C9B30 339 SpriteMap__register_set_24params_alt game_sprites Alternative sprite set registration with 24 signed int params (param_3..param_26), builds RB-tree and merges into second internal map at this+4. 0x006C9C90 116 SpriteMap__rbtree_copy_subtree game_sprites Copies RB-tree subtree from source to destination, updates head/tail pointers 0x006C9D10 232 SpriteMap__rbtree_clone_nodes_recursive game_sprites Recursively clones RB-tree nodes with 0x14-byte allocation, copies key and color 0x006C9E20 118 SpriteMap__rbtree_destroy_with_nested game_sprites Destroys RB-tree, calling CPacketStream operation on each node's nested data before freeing 0x006C9EA0 103 SpriteMap__rbtree_destroy_recursive_A game_sprites Recursively destroys RB-tree nodes in post-order traversal, frees 0x14-byte nodes 0x006C9F10 103 SpriteMap__rbtree_destroy_recursive_B game_sprites Recursively destroys RB-tree nodes in post-order traversal, identical to variant A 0x006C9F80 445 SpriteMap__rbtree_find_hint_uint game_sprites Finds insertion hint in RB-tree with unsigned int key comparison, returns node+direction 0x006CA140 434 SpriteMap__rbtree_find_hint_int game_sprites Finds insertion hint in RB-tree with signed int key comparison, returns node+direction 0x006CA300 75 _Find_lower_bound<> stl STL tree lower_bound helper. Binary search for the first element not less than a key. 0x006CA350 75 _Find_lower_bound<> stl STL tree lower_bound helper. Binary search for the first element not less than a key. 0x006CA3A0 75 SpriteMap__rbtree_lower_bound_int game_sprites RB-tree lower_bound search using signed int comparison, returns node and direction 0x006CA3F0 271 SpriteMap__rbtree_merge_nodes game_sprites Merges RB-tree nodes from source into destination, extracts and re-inserts each node 0x006CA500 298 SpriteMap__rbtree_build_from_uint_array game_sprites Builds RB-tree from array of unsigned ints, allocates sentinel and inserts each key 0x006CA630 298 SpriteMap__rbtree_build_from_int_array game_sprites Builds RB-tree from array of signed ints, allocates sentinel and inserts each key 0x006CA760 67 SpriteMap__free_tree_node_0x1c game_sprites Frees single 0x1C-byte tree node at offset+4 if non-null 0x006CA7B0 67 SpriteMap__free_tree_node_0x1c_alt game_sprites Frees single 0x1C-byte tree node at offset+4 if non-null, identical pattern 0x006CA800 67 SpriteMap__free_tree_node_0x14 game_sprites Frees single 0x14-byte tree node at offset+4 if non-null 0x006CA850 67 SpriteMap__free_tree_node_0x14_alt game_sprites Frees single 0x14-byte tree node at offset+4 if non-null, alternate instance 0x006CA8A0 111 SpriteMap__rbtree_destroy_nested_recursive game_sprites Destroys RB-tree, recursively destroying nested sub-trees at each node before freeing 0x006CA940 124 SpriteMap__destroy_nested_tree_and_node game_sprites Destroys nested sub-tree at offset 0x14, then frees 0x1C-byte parent node 0x006CA9C0 124 SpriteMap__delete_member_and_cleanup game_sprites Cleans up sprite map node: destroys tree at offset+0x14, frees 0x1C-byte node at offset+4 0x006CAA40 78 SpriteMap__scalar_deleter_006caa40 game_sprites Frees 0x14-byte allocation at this+4 if non-null 0x006CAA90 78 SpriteMap__scalar_deleter_006caa90 game_sprites Frees 0x14-byte allocation at this+4 if non-null 0x006CAAE0 78 SpriteMap__scalar_deleter_006caae0 game_sprites Frees 0x1C-byte allocation at this+4 if non-null 0x006CAB30 78 SpriteMap__scalar_deleter_006cab30 game_sprites Frees 0x1C-byte allocation at this+4 if non-null 0x006CAB80 78 SpriteMap__scalar_deleter_006cab80 game_sprites Frees 0x14-byte allocation at this+4 if non-null 0x006CABD0 78 SpriteMap__scalar_deleter_006cabd0 game_sprites Frees 0x14-byte allocation at this+4 if non-null 0x006CAC20 81 SpriteMap__destroy_inner_tree_006cac20 game_sprites Destroys red-black tree stored at this+4 via recursive cleanup 0x006CAC80 81 SpriteMap__destroy_inner_tree_006cac80 game_sprites Destroys red-black tree stored at this+4 via recursive cleanup 0x006CACE0 65 SpriteMap__cleanup_delegate game_sprites SEH-wrapped delegate that calls sprite map cleanup at 006ca8a0 0x006CAD30 102 SpriteMap__move_assign game_sprites Moves all nodes from source tree to this tree: erases existing nodes via STL_tree_erase_nodes_14byte, then copies from source via rbtree_copy_subtree 0x006CADA0 275 SpriteMap__find_or_insert_uint_key game_sprites Finds or inserts a uint key in RB-tree map, returns pointer to value at node+0x14 0x006CAEC0 275 SpriteMap__find_or_insert_uint_key_006caec0 game_sprites Finds or inserts a uint key in RB-tree map, returns pointer to value at node+0x14 0x006CAFE0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x006CB040 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x006CB0A0 3203 SpriteGroupMgr__register_sprite_groups_part1 game_core Registers costume/headgear sprite groups 0-0x43 with sprite IDs for body/head/garment variants 0x006CBD30 3583 SpriteMap__init_all_sprite_mappings game_sprites Initializes all item sprite->equipment slot mappings for head/body/weapon/shield/accessory 0x006CCB30 16 SpriteGroupMgr__register_all_sprite_groups game_core Top-level initializer calling both sprite group registration functions (part1 and part2) 0x006CCB40 158 SpriteGroupMgr__has_sprite_in_group game_core Checks if a sprite ID exists in group 4 or 6 of the sprite map tree 0x006CCBE0 247 SpriteGroupMgr__check_sprite_membership game_core Checks sprite membership; handles special sentinel values 0xFFFFE (group 0) and 0xFFFFF (always true) 0x006CCCE0 704 STL_rbtree_extract_node stl Red-black tree node extraction with rebalancing; handles all rotation and color fixup cases 0x006CCFA0 1 identity_return_ecx_006ccfa0 game_core Identity function that returns its input parameter unchanged 0x006CCFB0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006CD1C0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006CD3D0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006CD5E0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006CD7F0 84 STL_rbtree_rotate_left_006cd7f0 stl Red-black tree left rotation: rotates node with its right child, updates parent links 0x006CD850 88 STL_rbtree_rotate_right_006cd850 stl Red-black tree right rotation: rotates node with its left child, updates parent links 0x006CD8B0 209 ItemDisplayEntry__construct game_core Constructs ItemDisplayEntry with copied string param and 4 empty SSO strings at offsets 0x18-0x78 0x006CD990 121 ItemDisplayTree__destroy_nodes_recursive game_core Recursively destroys RB-tree nodes: calls self on children, destroys strings, frees 0x8C-byte nodes 0x006CDA10 411 ItemDisplayTree__find_or_insert_by_string game_core 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 game_core Iterates RB-tree nodes comparing string keys via Traits_compare; returns matching node iterator 0x006CDD80 171 ItemDisplayTree__init game_core Initializes ItemDisplayTree: sets vtable, allocates 0x8C sentinel node, init empty string and count=0 0x006CDE30 808 ItemTooltipRenderer__create_texture game_core Creates item tooltip texture: loads sprite, creates surface, renders name/desc text lines with scaling 0x006CE160 65 ItemDisplayEntry__destroy_string_wrapper game_core SEH-wrapped string destructor for ItemDisplayEntry member 0x006CE1B0 70 ItemDisplayTree__free_sentinel_node game_core Frees the 0x8C-byte sentinel/head node at this+4 if non-null 0x006CE200 79 ItemDisplayTree__clear_and_free game_core Recursively destroys all tree nodes then frees the 0x8C sentinel node 0x006CE260 107 ItemDisplayTree__destroy_entry_and_free game_core Destroys ItemDisplayEntry strings at this+4, then frees the 0x8C-byte node 0x006CE2D0 81 ItemDisplayTree__scalar_deleter_006ce2d0 game_core Frees 0x8C-byte allocation at this+4 if non-null 0x006CE330 90 ItemDisplayTree__destroy_all_nodes game_core Recursively destroys all RB-tree nodes and frees the sentinel node 0x006CE390 146 ItemDisplayEntry__destroy_all_strings game_core Destroys all 5 std::string members within an ItemDisplayEntry node 0x006CE430 86 ItemDisplayEntry__destroy_two_strings game_core Destroys 2 std::string members within an ItemDisplayEntry node 0x006CE490 146 ItemDisplayEntry__destroy_all_strings_006ce490 game_core Destroys all 5 std::string members within an ItemDisplayEntry node (alternate unwind path) 0x006CE530 207 ItemDisplayTree__destructor game_core Destructor: sets vtable, clears tree, releases callback ref, destroys string, frees sentinel 0x006CE600 25 ItemDisplayTree__release_callback game_core Releases callback interface at this+4 by calling Release(1) if non-null 0x006CE620 123 ItemDisplayEntry__destroy_four_strings game_core Destroys 4 std::string members in ItemDisplayEntry unwind handler 0x006CE6A0 228 ItemDisplayTree__scalar_deleting_destructor game_core Scalar deleting destructor: calls destructor then optionally frees 0x2C-byte object 0x006CE790 133 ItemDisplayTree__set_node_value game_core Finds or creates node by string key, then copies value string into node's data field 0x006CE820 160 ItemDisplayTree__set_node_value_and_flag game_core 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 game_core Finds/creates node by key, assigns two string values at offsets 0x44 and 0x5C with move semantics 0x006CEAA0 268 ItemDisplayTree__get_or_create_singleton game_core Creates singleton ItemDisplayTree at DAT_0138d27c; allocates 0x2C-byte object with vtable and sentinel 0x006CEBB0 448 ItemTooltipRenderer__update_tooltip game_core Updates item tooltip: looks up display data, releases old texture, creates new tooltip texture 0x006CED70 27 ItemDisplayTree__destroy_singleton game_core Destroys the global ItemDisplayTree singleton at DAT_0138d27c via virtual destructor 0x006CED90 131 ItemDisplayTree__get_display_name game_core Looks up item display name string; returns node value or fallback string from this+0x10 0x006CEE20 314 ItemDisplayTree__find_entry_by_key game_core Finds ItemDisplayEntry by string key, stripping trailing '@xxx' suffix; returns ptr to entry+0x28 or NULL 0x006CEF60 132 ItemDisplayTree__get_resource_name game_core Looks up item resource name at entry offset+0x34; returns fallback from this+0x10 if not found 0x006CEFF0 368 CMapInfoMgr__load_lua_scripts game_map Loads map info from Lua: registers AddMapDisplayName/AddMapSignName/AddMapBackgroundBmp callbacks, runs mapInfo.lub 0x006CF160 292 ItemTooltipRenderer__draw_tooltip game_core Renders item tooltip with fade-out: draws sprite quad and text surface with alpha based on elapsed time 0x006CF290 339 ItemTooltipRenderer__draw_and_cleanup game_core Draws item tooltip from this+0x28; cleans up and frees 0x10-byte texture object after fade timeout 0x006CF3F0 517 STL_tree_insert_node_006cf3f0 stl STL std::_Tree_val::_Insert_node - inserts node into RB-tree with rebalancing (VS2019 library, string-keyed tree variant used by ItemDisplayTree) 0x006CF600 605 CMapInfoMgr__lua_AddMapBackgroundBmp game_map Lua callback: AddMapBackgroundBmp(mapName, bmpPath) - sets background BMP at node offset+0x74 0x006CF860 683 CMapInfoMgr__lua_AddMapDisplayName game_map Lua callback: AddMapDisplayName(mapName, displayName, isOutdoor) - sets display name at node+0x28 and flag 0x006CFB10 777 CMapInfoMgr__lua_AddMapSignName game_map Lua callback: AddMapSignName(mapName, signName, subName) - sets two sign name strings at node offsets 0x006CFE20 160 CMapInfoMgr__create_map_entry_from_string game_map Creates map info entry from string key via Lua string interning, initializes with move semantics 0x006CFEC0 103 CMapInfoMgr__destroy_tree_nodes_recursive game_map Recursively destroys RB-tree nodes by traversing children and freeing 0x14-byte nodes 0x006CFF30 75 CMapInfoMgr__find_lower_bound_int game_map Finds lower bound in int-keyed RB-tree; traverses left/right based on key comparison 0x006CFF80 281 CMapInfoMgr__find_or_insert_string_key game_map Finds or inserts node in string-keyed RB-tree; allocates 0x28-byte node with copied string on miss 0x006D00A0 224 CMapInfoMgr__init game_map Initializes CMapInfoMgr: sets vtable, allocates 3 RB-tree sentinels (0x28, 0x28, 0x14 bytes) 0x006D0180 67 CMapInfoMgr__scalar_deleter_006d0180 game_map Frees 0x14-byte allocation at this+4 if non-null 0x006D01D0 111 CMapInfoMgr__clear_and_free_tree game_map Destroys all nodes in RB-tree then frees the 0x14-byte sentinel node 0x006D0250 78 CMapInfoMgr__scalar_deleter_006d0250 game_map Frees 0x14-byte allocation at this+4 if non-null 0x006D02A0 78 CMapInfoMgr__scalar_deleter_006d02a0 game_map Frees 0x14-byte allocation at this+4 if non-null 0x006D02F0 65 CMapInfoMgr__clear_tree_wrapper game_map SEH-wrapped delegate calling CMapInfoMgr__clear_and_free_tree 0x006D0340 173 CMapInfoMgr__destructor game_map Destructor: sets vtable, destroys int-tree, then destroys both 0x28-byte string-keyed trees 0x006D03F0 194 CMapInfoMgr__scalar_deleting_destructor game_map Scalar deleting destructor: calls destructor then optionally frees 0x20-byte object 0x006D04C0 348 CPrivateAirplaneMgr__get_or_create_singleton game_core 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 game_core Destroys the global CPrivateAirplaneMgr singleton at DAT_0138d284 via virtual destructor 0x006D0640 106 CMapInfoMgr__get_nth_tree_value game_map Returns the value at the nth node by in-order traversal of the RB-tree at this+0x18 0x006D06C0 92 CMapInfoMgr__ensure_entry_exists game_map Ensures a string-keyed entry exists in the map info tree; creates if missing 0x006D0720 216 CMapInfoMgr__insert_int_key game_map Inserts an integer key into the RB-tree at this+0x18 if not already present; allocates 0x14-byte node 0x006D0800 92 CMapInfoMgr__ensure_entry_exists_006d0800 game_map Ensures a string-keyed entry exists in the second map info tree; creates if missing 0x006D0860 165 CMapInfoMgr__contains_string_key game_map Checks if a string key exists in the string-keyed RB-tree at this+0x10 0x006D0910 64 CMapInfoMgr__contains_int_key game_map Checks if an integer key exists in the int-keyed RB-tree at this+0x18 0x006D0950 165 CMapInfoMgr__contains_string_key_tree2 game_map Checks if a string key exists in the second string-keyed RB-tree at this+0x08 0x006D0A00 729 CPrivateAirplaneMgr__load_lua_scripts game_core Loads private airplane data from Lua: registers InsertStartableMap/InsertEndableMap/InsertNeedItem, runs .lub 0x006D0CE0 517 STL_tree_insert_node_006d0ce0 stl STL std::_Tree_val::_Insert_node - inserts node into RB-tree with rebalancing (VS2019 library, string-keyed tree variant used by CPrivateAirplaneMgr) 0x006D0EF0 483 CPrivateAirplaneMgr__lua_InsertNeedItem game_core Lua callback: InsertNeedItem(itemName, itemId) - inserts required item ID into airplane int-tree 0x006D10E0 372 CPrivateAirplaneMgr__lua_InsertEndableMap game_core Lua callback: InsertEndableMap(mapName) - inserts destination map into airplane string-keyed tree 0x006D1260 372 CPrivateAirplaneMgr__lua_InsertStartableMap game_core Lua callback: InsertStartableMap(mapName) - inserts departure map into airplane string-keyed tree 0x006D13E0 147 CItemDB__move_construct_tree_pair game_items Move-constructs a tree pair: copies keys, swaps tree head and count from source 0x006D1480 159 CItemDB__destroy_nested_tree_nodes game_items Recursively destroys RB-tree nodes with nested sub-trees; frees 0x1C outer and 0x20 inner nodes 0x006D1520 144 CItemDB__destroy_inner_nodes_recursive game_items Recursively destroys inner RB-tree nodes; cleans up string data and frees 0x20-byte nodes 0x006D15B0 75 CItemDB__find_lower_bound_int game_items Finds lower bound in int-keyed RB-tree; traverses left/right based on key comparison 0x006D1600 121 CItemDB__ctor game_items CItemDB constructor: sets vtable, initializes count to 0, allocates 0x1C-byte RB-tree sentinel node with self-referencing pointers 0x006D1690 67 CItemDB__free_node_0x28 game_items SEH cleanup helper: frees 0x28-byte tree node allocation at this+4 if non-null. Used during exception unwinding for linked-list nodes with string data. 0x006D16E0 67 CItemDB__free_node_0x1C game_items SEH cleanup helper: frees 0x1C-byte outer RB-tree node at this+4 if non-null. Used during exception unwinding. 0x006D1730 67 CItemDB__free_node_0x20 game_items SEH cleanup helper: frees 0x20-byte inner RB-tree node at this+4 if non-null. Used during exception unwinding. 0x006D1780 116 CItemDB__destroy_string_and_free_node game_items Destroys string member at this+4, then frees the 0x28-byte node 0x006D1800 76 CItemDB__clear_nested_tree_and_free game_items Destroys all nested tree nodes then frees the 0x1C-byte sentinel 0x006D1860 76 CItemDB__clear_inner_tree_and_free game_items Destroys all inner tree nodes then frees the 0x20-byte sentinel 0x006D18C0 145 CItemDB__destroy_nested_node_and_free game_items Destroys inner tree at node+0x14, clears and frees the 0x20 sub-tree sentinel, then frees 0x1C outer node 0x006D1960 126 CItemDB__destroy_inner_entry_and_free game_items Cleans up inner node data at this+4, then frees the 0x20-byte node 0x006D19E0 78 CItemDB__free_outer_node_0x1C game_items SEH cleanup helper: frees 0x1C-byte outer tree node at this+4 if non-null. Variant without nested cleanup. 0x006D1A30 78 CItemDB__free_inner_node_0x20 game_items SEH cleanup helper: frees 0x20-byte inner tree node at this+4 if non-null. Variant without nested cleanup. 0x006D1A80 134 CItemDB__destroy_linked_list_with_strings game_items Destroys linked list of 0x28-byte nodes containing strings, frees each node 0x006D1B10 87 CItemDB__destroy_tree_0x1c game_items Destroys RB-tree with 0x1C-byte sentinel node, calls nested tree node destructor 0x006D1B70 87 CItemDB__destroy_tree_0x20 game_items Destroys RB-tree with 0x20-byte sentinel node; calls destroy_inner_nodes_recursive then frees the 0x20-byte sentinel 0x006D1BD0 102 CItemDB__destroy_inner_tree_0x20 game_items Destroys inner RB-tree at offset+4 with 0x20-byte sentinel node 0x006D1C40 83 CItemDB__destroy_linked_list_wrapper_B game_items Wrapper that delegates to destroy_linked_list_with_strings for cleanup of linked list at offset+4 0x006D1CA0 108 CItemDB__dtor game_items CItemDB destructor: resets vtable, destroys all nested tree nodes at this+4, frees 0x1C-byte sentinel 0x006D1D10 68 CItemDB__destroy_linked_list_wrapper game_items Wrapper that calls destroy_linked_list_with_strings for cleanup 0x006D1D60 30 CItemDB__scalar_deleter_4byte game_items Scalar deleting destructor for a 4-byte object; conditionally frees memory if flag bit 0 is set 0x006D1D80 133 CItemDB__scalar_dtor game_items Scalar deleting destructor for CItemDB, sets vtable and destroys tree, frees 0xC 0x006D1E10 770 CItemDB__insert_item_entry game_items Inserts item entry with nested tree: creates outer node by ID, inner node by sub-key, appends to linked list 0x006D2120 27 CItemDB__resolve_item_id game_items Resolves item ID through redirect table, returns original if no redirect found 0x006D2140 111 CItemDB__find_item_entry game_items Finds item entry by ID (with redirect), returns ptr to entry data and found flag 0x006D21B0 757 CNeoPackageItemMgr__load_probability_lua game_items Loads Lua probability table, registers InsertPackage callback, initializes DAT_0138d288 0x006D24B0 87 CItemDB__has_item_entry game_items Checks if item ID exists in database (with redirect), returns true if found 0x006D2510 517 STL_tree_insert_node_006d2510 stl STL std::_Tree_val::_Insert_node - inserts a new node into RB-tree, performs red-black rebalancing (rotations + recoloring). Used by CItemDB for nested item trees. 0x006D2720 517 STL_tree_insert_node_006d2720 stl STL std::_Tree_val::_Insert_node - inserts a new node into RB-tree, performs red-black rebalancing (rotations + recoloring). Second instance used by CPaidItemMgr trees. 0x006D2930 95 CItemDB__allocate_entries_0x28 game_items Allocates array of 0x28-byte item entries with aligned allocation for large sizes 0x006D2990 549 CNeoPackageItemMgr__lua_insert_package game_items Lua callback "InsertPackage" - validates 5 args (3 numbers, 1 string, 1 number), creates item entry 0x006D2BC0 234 CPaidItemMgr__rbtree_insert_or_find game_items Inserts key into RB-tree or finds existing, returns node ptr and inserted flag 0x006D2CB0 121 CPaidItemMgr__ctor game_items Constructor for CPaidItemMgr, sets vtable PTR_FUN_01113010, initializes RB-tree 0x006D2D40 86 CPaidItemMgr__dtor game_items Destructor for CPaidItemMgr, sets vtable and clears/frees RB-tree 0x006D2DA0 30 CPaidItemMgr__scalar_dtor_4byte game_items Scalar deleting destructor for CPaidItemMgr, frees 4-byte object if flag set 0x006D2DC0 111 CPaidItemMgr__scalar_dtor_0xc game_items Scalar deleting destructor for CPaidItemMgr, sets vtable, clears tree, frees 0xC 0x006D2E30 724 CPaidItemMgr__build_item_tree_recursive game_items Recursively builds paid item tree by item ID, resolving sub-items from CItemDB and helper 0x006D3110 599 CPaidItemMgr__load_item_sold_lua game_items Loads Lua probability table for sold items, registers C_AddItemSold callback 0x006D3370 194 CPaidItemMgr__is_item_in_sold_table game_items Checks if item ID is in sold item table, initializes CItemDB if needed, returns 1 if found 0x006D3440 247 CPaidItemMgr__lua_add_item_sold game_items Lua callback "C_AddItemSold" - takes 1 number arg, builds item tree for sold item ID 0x006D3540 195 CItemInfo__ctor game_items Constructor for CItemInfo, sets vtable PTR_FUN_01113088, zeros 17 dword fields 0x006D3610 105 CItemInfo__dtor game_items Destructor for CItemInfo, sets vtable, cleans up internal data and vectors 0x006D3680 126 CItemInfo__scalar_dtor game_items Scalar deleting destructor for CItemInfo, cleans up then frees 0x44-byte object 0x006D3700 111 CItemInfoMgr__scalar_dtor game_items Scalar deleting destructor for CItemInfoMgr, vtable PTR_FUN_01113090, frees 0x10 0x006D3770 221 CItemInfoMgr__get_item_info_by_key game_items Looks up item info from RB-tree by int key, returns ptr to info struct at node+0x14 0x006D3850 221 CItemInfoMgr__get_item_info_by_key_alt game_items Alternative item info lookup from RB-tree by int key, returns ptr to info struct 0x006D3930 201 CItemInfoMgr__get_item_info_checked game_items Gets item info by key with bounds check, returns default if not found 0x006D3A00 211 CItemDB__get_item_info_by_id game_items Looks up item info by numeric ID in global item tree; returns entry at node+0x14 or default at DAT_0138d2b8 0x006D3AE0 302 CItemInfoMgr__find_or_create_entry game_items Finds existing entry by key or creates new one with default values, returns ptr to data 0x006D3C10 416 CItemInfoMgr__get_or_insert_entry game_items Gets existing entry or inserts new 0x20-byte node with zeroed data, returns ptr to data 0x006D3DC0 449 CItemDB__find_or_create_item_entry game_items Finds or creates item DB entry by ID; allocates 0x58-byte node with default item data on miss 0x006D3F90 29 STL_vector_move_backward stl Copies memory range to higher address for vector element insertion 0x006D3FB0 103 CItemInfoMgr__rbtree_destroy_nodes_0x20_A game_items Recursively destroys RB-tree nodes (0x20-byte each) by traversing right subtree, then deleting current node and following left pointer. Tree variant A. 0x006D4020 103 CItemInfoMgr__rbtree_destroy_nodes_0x20_B game_items Recursively destroys RB-tree nodes (0x20-byte each) by traversing right subtree, then deleting current node and following left pointer. Tree variant B. 0x006D4090 131 CItemInfoMgr__rbtree_destroy_nodes_0x20_with_cleanup game_items Recursively destroys RB-tree nodes (0x20-byte each). Cleans up node data via clear_tree_nodes_alt before deleting each node. Returns this ptr. 0x006D4120 178 CItemInfoMgr__rbtree_destroy_nodes_0x58_with_cleanup game_items Recursively destroys RB-tree nodes (0x58-byte item entries). Cleans up sub-vectors and trees in each node before deleting. Returns this ptr. 0x006D41E0 75 CItemInfoMgr__find_lower_bound_tree_C game_items RB-tree lower_bound search using global DAT_0138d2a8 tree, variant C 0x006D4230 75 CItemInfoMgr__find_lower_bound_tree_D game_items RB-tree lower_bound search using global DAT_0138d290 tree, variant D 0x006D4280 75 CItemInfoMgr__find_lower_bound_tree_E game_items RB-tree lower_bound search using global DAT_0138d298 tree, variant E 0x006D42D0 75 CItemInfoMgr__find_lower_bound_tree_F game_items RB-tree lower_bound search using global DAT_0138d2a0 tree, variant F 0x006D4320 489 STL_vector_insert_range stl Inserts range of bytes into vector at position, reallocates with 1.5x growth if needed 0x006D45B0 34 STL_vector_copy_forward stl Copies memory range forward to destination, returns end pointer 0x006D45E0 181 CItemInfoMgr__vector_copy_construct game_items Copy-constructs a vector of 4-byte elements from source param_2. Allocates aligned buffer, copies all elements via memcpy, sets begin/end/capacity pointers. 0x006D46A0 172 CItemInfo__copy_ctor game_items Copy constructor for CItemInfo. Copies vtable, scalar fields, and two vectors from source object. Sets up PTR_CItemInfo__scalar_dtor vtable. 0x006D4750 134 CItemDesc__ctor game_items Default constructor for CItemDesc. Initializes two SSO string fields (at +0x2c and +0x44) to empty with capacity 0xf, then calls CItemDesc__reset_all_fields. 0x006D47E0 132 CItemDesc__ctor_alt game_items Alternative constructor for CItemDesc. Same pattern as CItemDesc__ctor - initializes two SSO string fields and calls reset_all_fields. 0x006D4870 67 CItemInfoMgr__free_node_0xc_A game_items Frees 0xC-byte tree node at offset+4 if non-null, variant A 0x006D48C0 67 CItemInfoMgr__free_node_0x20 game_items Frees a 0x20-byte node pointed to by this+4 if non-null. 0x006D4910 67 CItemInfoMgr__free_node_0x20_C game_items Frees a 0x20-byte node pointed to by this+4 if non-null. Variant C. 0x006D4960 67 CItemInfoMgr__free_node_0x20_D game_items Frees a 0x20-byte node pointed to by this+4 if non-null. Variant D. 0x006D49B0 67 CItemInfoMgr__free_node_0x58 game_items Frees a 0x58-byte node (item entry) pointed to by this+4 if non-null. 0x006D4A00 78 CItemInfoMgr__free_node_0xc_with_seh game_items Frees 0xC-byte tree node with SEH frame cleanup, uses local_8 sentinel 0x006D4A60 111 CItemInfoMgr__destroy_rbtree_0x20_A game_items Destroys entire RB-tree by recursively freeing all 0x20-byte nodes plus the 0x20-byte sentinel node. Variant A. 0x006D4AE0 111 CItemInfoMgr__destroy_rbtree_0x20_B game_items Destroys entire RB-tree by recursively freeing all 0x20-byte nodes plus the 0x20-byte sentinel node. Variant B. 0x006D4B60 76 CItemInfoMgr__destroy_rbtree_0x20_with_cleanup game_items Destroys RB-tree with per-node cleanup. Recursively destroys 0x20-byte data nodes via destroy_nodes_0x20_with_cleanup, then frees the 0x20-byte sentinel. 0x006D4BC0 76 CItemInfoMgr__destroy_rbtree_0x58_with_cleanup game_items Destroys RB-tree with per-node cleanup. Recursively destroys 0x58-byte item entry nodes via destroy_nodes_0x58_with_cleanup, then frees the 0x58-byte sentinel. 0x006D4C20 78 CItemInfoMgr__free_sentinel_node_0x20_A game_items Frees the 0x20-byte sentinel/header node of an RB-tree pointed to by this+4 if non-null. Variant A. 0x006D4C70 78 CItemInfoMgr__free_sentinel_node_0x20_B game_items Frees the 0x20-byte sentinel/header node of an RB-tree pointed to by this+4 if non-null. Variant B. 0x006D4CC0 116 CItemInfoMgr__destroy_nested_and_free_0x20 game_items Destroys nested tree at offset+0x14, then frees 0x20-byte node 0x006D4D40 158 CItemInfoMgr__destroy_complex_node_0x58 game_items Destroys complex 0x58-byte node with CItemInfo vtable, cleans up 2 nested trees 0x006D4DE0 78 CItemInfoMgr__free_sentinel_node_0x20_C game_items Frees the 0x20-byte sentinel/header node of an RB-tree pointed to by this+4 if non-null. Variant C. 0x006D4E30 78 CItemInfoMgr__free_sentinel_node_0x20_D game_items Frees the 0x20-byte sentinel/header node of an RB-tree pointed to by this+4 if non-null. Variant D. 0x006D4E80 78 CItemInfoMgr__free_sentinel_node_0x20_E game_items Frees the 0x20-byte sentinel/header node of an RB-tree pointed to by this+4 if non-null. Variant E. 0x006D4ED0 78 CItemInfoMgr__free_sentinel_node_0x58 game_items Frees the 0x58-byte sentinel/header node of an RB-tree (item entries) pointed to by this+4 if non-null. 0x006D4F20 103 CItemInfoMgr__destroy_linked_list_0xc game_items Destroys linked list of 0xC-byte nodes, frees each node in order 0x006D4F90 68 CItemInfoMgr__reset_tree_state game_items Resets/clears tree state by calling clear_tree_nodes_alt. Lightweight cleanup without full node destruction. 0x006D4FE0 118 CItemInfo__dtor_006d4fe0 game_items Destructor for CItemInfo. Sets vtable to CItemInfo__scalar_dtor, then cleans up vector and two sub-trees owned by this object. 0x006D5060 129 STL_vector_free_aligned stl Frees aligned vector buffer, handles alignment offset for allocations over 0xFFF 0x006D50F0 90 CItemInfoMgr__dtor game_items Destructor for CItemInfoMgr. Sets vtable to scalar_dtor, frees all line buffers, then frees the aligned vector buffer. 0x006D5160 321 CItemInfo__copy_from game_items Copies item info from source, copies 3 dword vectors and scalar fields via memcpy 0x006D52B0 406 CItemDesc__copy_from game_items Copies item description struct from source, copies strings, security mem structs, and flags 0x006D5450 97 CItemDesc__populate_from_parsed_data game_items Populates item description fields from parsed data source. Copies ID, counts, scalar fields, a string at +0x11, and sets validity flag based on whether ID is -1. 0x006D54C0 82 CItemDesc__compare_string_field game_items Compares SSO string fields at offset +0x44 between two CItemDesc objects. Returns 0 if equal, 1 if this < other (used as less-than comparator for sorting). 0x006D5520 40 operator= game_core Assignment operator. Copies string content from source to this object. 0x006D5550 217 CItemDesc__init_from_data game_items Initializes item description fields from raw data source, sets type/slot/flags 0x006D5630 21 CItemDesc__lookup_in_global_map game_items Looks up item info by key in the global DAT_0138d2a8 RB-tree map. Thin wrapper around CItemInfoMgr__get_item_info_by_key. 0x006D5650 221 CItemDesc__get_card_rarity_color game_items Returns a color pointer based on how many card slots are filled. Checks has_card_or_enchant flag, parses item ID from string at +0x2c, counts matching cards in 4 slots against item info, returns color from 5-element lookup table (none/1/2/3/4 cards). 0x006D5730 75 CItemDesc__get_item_info_vector_by_flag game_items Parses item ID from string field at +0x2c, looks up in global item DB (DAT_0138d2b0). Returns pointer to vector at +0xc if flag at +0x5c is set, otherwise returns vector at +0x20. 0x006D5780 144 CItemDesc__format_grade_letter_text game_items Formats item grade letter (D/C/B/A for levels 1-4) from field at offset 0x88 into output buffer 0x006D5810 124 CItemDesc__format_unidentified_name game_items Gets unidentified item name (field+4) from item info DB by ID and copies to output buffer with bounds checking 0x006D5890 21 CItemDesc__lookup_item_info_by_id game_items Simple wrapper that calls CItemDB__get_item_info_by_id with the global item DB tree 0x006D58B0 236 CItemDesc__get_desc_by_id game_items Gets item description by ID from global tree DAT_0138d290, returns default if not found 0x006D59A0 3993 CItemDB__build_item_tooltip_string game_items Builds item tooltip string based on item type, costume flag, enchant level, and card slots 0x006D69C0 216 CItemDesc__get_desc_by_id_alt game_items Gets item description by ID from global tree DAT_0138d298, uses atexit for init 0x006D6AA0 210 CItemDesc__format_equip_type_text game_items Formats equipment type text based on slot type (0-4), special handling for IDs 0xA4A/0xA4B 0x006D6B90 116 CItemDesc__format_weapon_subtype_text game_items Formats weapon subtype text using string IDs 0x1CB/0x1CC/0x1CD for types 5/10/15 0x006D6C10 233 CItemDesc__format_location_text game_items Formats item equip location text from combined position field, uses string ID 0x245 as fallback 0x006D6D00 74 CItemDesc__format_field_snprintf game_items Formats item description field value via vsnprintf through a global singleton, returns length written 0x006D6D50 87 CItemDesc__format_costume_label_text game_items Formats costume label text using message string table ID 0x2F4, copies into output buffer with bounds checking 0x006D6DB0 409 CItemDesc__format_card_slots_text game_items Formats card slot names into buffer, handles 2x/3x/4x multiplier labels for duplicate cards 0x006D6F50 324 CItemDesc__format_card_prefix_text game_items Formats card prefix names into buffer with multiplier labels, uses prefix field (+4) 0x006D70A0 54 CItemDesc__format_option_text game_items Formats item option text from field at offset 0x60 using format string at DAT_011132d4 0x006D70E0 1405 CItemDB__serialize_item_to_packet game_items Serializes item data into packet fields (0x119-0x12D): equip info, cards, options, expire, enchants 0x006D7660 75 CItemDesc__get_sprite_resource_id game_items Gets sprite resource ID for item, returns field+8 for enchant type, field+0x1C otherwise 0x006D76B0 36 CItemDesc__get_refinement_level game_items Gets refinement level from item info at field offset 0x30 0x006D76E0 91 CItemDesc__format_refinement_text game_items Formats refinement level as "+%d" text if non-zero, using snprintf-like formatting 0x006D7740 18 CItemDesc__select_valid_string game_items Returns param_2 string if param_1 > 0, otherwise returns empty string constant 0x006D7760 124 CItemDesc__format_identified_name game_items Formats identified item name from item info field at offset 0x18, null-safe 0x006D77E0 213 CItemDesc__has_card_or_enchant game_items Checks if item has cards/enchants in slots, handles special armor/weapon type checks 0x006D78C0 3904 CItemDB__load_all_item_tables game_items Master item DB loader: reads item_txt, eventItem, cards, slots, params, book items, metal process, move info tables 0x006D8810 30 CItemDesc__is_enchantable_type game_items Returns 1 if item type is enchantable (4,5,8,9,11-15,21 = weapon/armor types) 0x006D8850 58 CItemDesc__is_book_item_id game_items Returns true if item ID exists in the BookItemNameTable RB-tree (DAT_0138d2a0) 0x006D8890 58 CItemDesc__is_valid_enchant_id game_items Checks if enchant ID exists in global tree DAT_0138d2a8 0x006D88D0 23 CItemDesc__is_enchanted_or_special_slot game_items Returns 1 if card slot field at offset 0x1C is 0xFE or 0xFF (enchanted/special), 0 otherwise 0x006D8920 74 CItemDesc__is_special_item_id game_items Checks if item ID is special (1000, 994-997), used for arrow/ammo type detection 0x006D8980 80 CItemDesc__is_all_digits game_items Validates that string contains only digit characters using lookup table at DAT_0131d570 0x006D89D0 53 CItemDesc__is_enchant_stone_id game_items Returns 1 if item ID is in enchant stone ranges (9001-9493 or 10000-10999), 0 otherwise 0x006D8A10 44 CItemDesc__is_arrow_ammo_id game_items Returns 1 if item ID is 994-997 (arrow/ammunition types), 0 otherwise 0x006D8A50 64 CItemDesc__is_gradeable_item_id game_items Returns 1 if item ID exceeds 600 (gradeable equipment range), 0 otherwise 0x006D8A90 199 CItemDesc__reset_all_fields game_items Zeros all item description fields including strings, flags, slots, enchants, and grade 0x006D8B60 765 CItemDesc__build_search_name_list game_items Builds searchable name list from item DB, checking item names, prefixes, and descriptions 0x006D8E60 370 CItemDesc__match_search_string game_items Matches search string against item name using substr or exact match, adds to result if found 0x006D8FE0 48 CItemDesc__assign_string_and_check_empty game_items Assigns the given string to the item's internal SSO string field and returns whether field at offset 0x54 is zero 0x006D9010 88 CItemDesc__convert_int_to_string game_items Converts integer param to decimal string via _itoa and assigns to item's internal SSO string field 0x006D9070 69 CItemDesc__set_random_option_entry game_items Writes random option entry (id, value, param) at index into item description struct at offset 0x9C, max 5 entries 0x006D90C0 1138 CItemDesc__parse_binary_packet game_items Parses binary item packet (type 0x119) with TLV sub-fields 0x11A-0x12D into item description 0x006D9590 26 CItemDesc__set_card_slot_id game_items Sets card slot ID at index (0-3) in the item description card array at offset 0x1C 0x006D95B0 30 CItemDesc__advance_buffer_ptr game_items Advances buffer pointer by param_1 bytes and decreases remaining size counter if param_4 flag is set 0x006D95D0 79 CItemDesc__copy_string_to_buffer game_items Copies source string into output buffer with strncpy_s bounds checking, optionally decrements remaining size 0x006D9620 661 CDataTable__load_int_pairs_from_file datatable Loads tab-separated integer pairs from text file, strips comments, stores in vector 0x006D98E0 162 STL_vector_reserve_dword stl Reserves capacity in dword vector with aligned allocation if needed 0x006D9990 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006D9BA0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006D9DB0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006D9FC0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006DA1D0 129 STL_vector_free_dword_buffer stl Frees the underlying buffer of a dword vector with aligned deallocation and resets all 3 pointers to zero 0x006DA260 36 CItemInfoMgr__memcpy_range game_items Copies memory range [param_1, param_2) to destination param_3, returns pointer past copied data 0x006DA290 165 CItemDesc__add_search_result game_items Adds matching item ID to search result set via RB-tree insert 0x006DA340 219 CItemInfoMgr__create_serialized_buffer game_items Allocates a buffer with 2-byte type prefix + 4-byte size + data payload. Copies param_3 data of param_4 bytes into the buffer after the header. 0x006DA420 34 STL_uninitialized_copy_range_A stl Copies memory range [param_1, param_2) to param_3, returns end of destination. STL uninitialized_copy variant A. 0x006DA450 34 STL_uninitialized_copy_range_B stl Copies memory range [param_1, param_2) to param_3, returns end of destination. STL uninitialized_copy variant B. 0x006DA480 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x006DA4B0 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x006DA4E0 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x006DA500 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x006DA520 334 STL_istream_getline_delim stl Reads from istream into string until delimiter byte, sets stream state on EOF/error 0x006DA6A0 9 CDataTable__read_stream_line datatable Tail-calls STL_istream_getline_delim to read a line from the data table's input stream. 0x006DA6B0 34 STL_uninitialized_copy_range_C stl Copies memory range [param_1, param_2) to param_3, returns end of destination. STL uninitialized_copy variant C. 0x006DA6E0 34 STL_uninitialized_copy_range_D stl Copies memory range [param_1, param_2) to param_3, returns end of destination. STL uninitialized_copy variant D. 0x006DA720 264 CDataTable__ctor_with_key datatable Constructor for CDataTable entry. Initializes two linked list heads (8-byte nodes), two SSO strings, and stores a 2-byte key from param_2. 0x006DA830 258 CDataTable__ctor_default datatable Default constructor for CDataTable entry. Initializes two linked list heads, two SSO strings, and sets the key to 1. 0x006DA940 68 CDataTable__dtor_string datatable Destroys a CDataTable string member via STL_string_dtor within a SEH frame. 0x006DA990 69 CDataTable__stream_sentry_dtor datatable Destructor for stream sentry object. Calls virtual release method on the streambuf lock. 0x006DA9E0 80 CDataTable__stream_sentry_dtor_unlock datatable Destructor for stream sentry object. Calls virtual unlock/release on the streambuf, variant with SEH frame. 0x006DAA30 1385 JsonReader__parse_from_istream datatable Reads entire input stream into a string via STL_istream_getline_delim, then calls JsonReader__parse_document. On parse failure, throws logic_error with formatted error messages. Cleans up two deques of parse nodes/errors. 0x006DAFA0 418 JsonReader__deque_grow_A datatable Grows a deque's backing array (power-of-2 capacity). Doubles size until enough free slots exist, reallocates and rearranges the circular buffer. Used by JsonReader for node/error storage. 0x006DB150 400 JsonReader__deque_grow_B datatable Grows a deque's backing array (power-of-2 capacity), variant B. Similar to deque_grow_A but uses different element size divisor (0x6666666 overflow check vs 0xfffffff). 0x006DB2F0 227 JsonReader__dtor_deque datatable Destructor for JsonReader's deque. Destroys string elements in reverse, frees 0x28-byte node blocks, and frees the backing pointer array. 0x006DB3E0 10 STL_throw_deque_too_long_A stl Throws std::length_error with message "deque too long". Called when deque exceeds max size, variant A. 0x006DB3F0 10 STL_throw_deque_too_long_B stl Throws std::length_error with message "deque too long". Called when deque exceeds max size, variant B. 0x006DB400 417 JsonReader__append_comment_text datatable Appends comment text to the JsonReader's comment buffer. If comment placement is not 1 (before), prepends a newline separator first. Builds temporary string from [param_2, param_3) range. 0x006DB5B0 400 JsonReader__push_error datatable Pushes a parse error onto the JsonReader's error deque. Stores error message string, token range (begin/end offsets), and an extra field. Grows the deque if needed, allocates 0x28-byte error nodes. 0x006DB740 34 JsonReader__add_error_and_recover datatable Convenience wrapper: calls push_error then recover_from_error. Used when a parse error is non-fatal and the reader should attempt recovery. 0x006DB770 13 JsonReader__set_collect_comments_flag datatable Sets the collect-comments flag to 1 (true). Stored as a 2-byte field on the reader. 0x006DB780 549 JsonReader__encode_unicode_to_utf8 datatable Encodes a Unicode codepoint (param_2) to UTF-8 into a std::string (param_1). Handles 1-byte (ASCII < 0x80), 2-byte (< 0x800), 3-byte (< 0x10000), and 4-byte (<= 0x10FFFF) encodings. Rejects codepoints > 0x10FFFF. 0x006DB9B0 41 JsonReader__contains_newline datatable JsonReader: contains newline 0x006DB9E0 48 JsonReader__deque_back datatable Returns pointer to the back element of a deque. Computes (front + count - 1) modulo capacity using the deque's map/block structure. 0x006DBA10 781 JsonReader__parse_float_value datatable Parses floating point JSON value via sscanf, stores as double in JsonValue 0x006DBD20 738 JsonReader__parse_number_value datatable Parses JSON number: detects float chars (.eE+-), delegates to float parser or parses integer 0x006DC010 294 JsonReader__parse_string_value datatable Parses JSON quoted string token, creates string JsonValue from parsed content 0x006DC140 778 JsonReader__decode_string datatable Decodes JSON string with escape sequences (\\n,\\t,\\u etc), handles unicode surrogates 0x006DC4D0 656 JsonReader__decode_unicode_surrogate_pair datatable Decodes UTF-16 surrogate pair from \\uXXXX\\uXXXX escape sequences into codepoint 0x006DC760 640 JsonReader__decode_unicode_escape datatable Reads 4 hex digits after \\u escape, converts to 16-bit codepoint value 0x006DC9F0 39 STL_string_truncate stl Truncates std::string to given length by setting size and null terminator 0x006DCA20 269 JsonReader__match_token_end datatable Skips whitespace then verifies expected end token matches, reports error on mismatch 0x006DCB30 1389 JsonReader__get_formatted_error_messages datatable Builds formatted error string from all collected parse errors with line/column info 0x006DD0A0 234 JsonReader__get_location_line_column datatable Counts lines and columns from document start to given position, returns "Line N, Column M" 0x006DD190 83 JsonReader__get_line_and_column datatable Calculates line number and column from document start, handles CR/LF/CRLF 0x006DD210 80 JsonReader__match_keyword datatable Matches expected keyword (true/false/null) against current parser position 0x006DD260 280 JsonReader__parse_from_string datatable Entry point for parsing JSON from std::string, converts to char range and calls parse_document 0x006DD380 71 JsonReader__parse_from_std_string datatable Parses JSON from a std::string. Copies the input string to internal document buffer, then calls parse_document on it. 0x006DD3D0 552 JsonReader__parse_document datatable Core document parser: initializes state, reads tokens, validates root is object/array 0x006DD600 133 JsonReader__deque_push_back datatable Pushes an element onto the back of a deque. Grows the deque if (front + count) would exceed capacity. Allocates 0x10-byte blocks as needed. 0x006DD690 744 JsonReader__parse_array datatable Parses JSON array: reads '[', iterates values separated by commas, expects ']' 0x006DD980 74 JsonReader__skip_block_comment datatable Skips a C-style block comment (/* ... 0x006DD9D0 216 JsonReader__parse_comment datatable Parses a JSON comment starting after '/'. Handles both C-style (/* ... 0x006DDAB0 40 JsonReader__skip_cpp_comment datatable Skips characters until end-of-line (\\r or \\n) for C++-style // comments. Returns 1 always (comment is valid). 0x006DDB20 1271 JsonReader__parse_object datatable Parses JSON object: reads '{', iterates key:value pairs separated by commas, expects '}' 0x006DE060 736 JsonReader__read_token datatable Tokenizer: skips whitespace, reads next JSON token (string/number/true/false/null/brackets/etc.) 0x006DE400 1019 JsonReader__parse_value datatable Dispatches parsing by token type: object, array, string, number, bool, null 0x006DE820 328 JsonReader__recover_from_error datatable Error recovery: skips tokens until matching close bracket/brace found 0x006DE970 276 JsonValue__resize_node_stack datatable Resizes the parser node stack to target size, creating or destroying nodes as needed 0x006DEA90 48 JsonReader__read_token_skip_comments datatable Reads next token, skipping comment tokens if comments are allowed 0x006DEAF0 13 JsonFeatures__init_strict_mode datatable Initializes Json::Features with strict mode flags (no comments, strict root) 0x006DEB00 38 json_sscanf_double game_core Parses string to double using sscanf with format specifier 0x006DEB30 289 JsonValue__map_equals datatable Compares two Json::Value object maps for equality by iterating all key-value pairs 0x006DEC60 39 JsonValue__map_compare datatable Lexicographic comparison of two Json::Value object maps via tree iteration 0x006DEC90 34 json_memcpy_range game_core Copies memory range [src, end) to destination, returns end of destination 0x006DECC0 241 JsonValue__copy_tree_recursive datatable Recursively copies red-black tree nodes for deep-copying Json::Value object maps 0x006DEDD0 277 JsonValue__vector_insert_with_grow datatable Inserts element into vector with reallocation (32-byte elements), used for Path args 0x006DEF10 452 JsonValue__vector_insert_ptr datatable Inserts pointer element into vector with reallocation (4-byte elements) 0x006DF0E0 274 JsonPath__vector_insert_arg datatable Inserts PathArgument into vector with grow, 32-byte stride per element 0x006DF220 162 JsonValue__destroy_tree_nodes datatable Recursively destroys red-black tree nodes, freeing string keys and node memory 0x006DF2D0 162 JsonValue__destroy_tree_nodes_alt datatable Alternate recursive tree node destruction with different traversal order 0x006DF380 442 JsonValue__map_find_insert_pos datatable Finds insertion position for key in RB-tree map, returns node and insert direction 0x006DF540 141 JsonValue__map_lower_bound datatable RB-tree lower_bound: finds first node with key >= given key via strcmp 0x006DF5D0 94 JsonValue__map_key_not_less datatable Checks if given key is not less than node's key via strcmp comparison 0x006DF630 202 JsonValue__move_construct_range datatable Move-constructs a range of JsonValue elements (32-byte stride) to destination buffer 0x006DF700 97 JsonPath__copy_path_argument datatable Copy-constructs PathArgument: copies string key and index/kind fields 0x006DF770 234 JsonValue__map_insert_or_find datatable Finds key in map or inserts new node if not found, returns iterator to element 0x006DF860 443 JsonValue__map_tree_compare datatable JsonValue: map tree compare 0x006DFA20 145 JsonValue__copy_cz_string datatable Copies CZString key: duplicates string via allocator if owned, copies flags 0x006DFAC0 78 JsonValue__copy_cz_string_simple datatable Simple CZString copy: duplicates via allocator if owned, no deep value copy 0x006DFB10 21 JsonValue__init_cz_string_index datatable Initializes CZString with integer index (no string pointer), used for array keys 0x006DFB30 59 JsonValue__init_cz_string_ptr datatable Initializes CZString with string pointer, optionally duplicating via allocator 0x006DFB80 401 JsonPath__resolve datatable Resolves a JSON path expression against a value, returns matching sub-values 0x006DFD20 139 JsonValue__move_construct datatable Move-constructs JsonValue: copies type/data/string, resets source to empty 0x006DFDB0 141 JsonPath__init_arg_from_string datatable Initializes PathArgument from std::string key with kind=2 (named member) 0x006DFE40 107 JsonPath__init_arg_from_index datatable Initializes PathArgument from integer index with kind=1 (array element) 0x006DFEB0 140 JsonPath__init_arg_from_cstr datatable Initializes PathArgument from C-string key with kind=2 (named member) 0x006DFF40 99 JsonPath__init_arg_default datatable Default-initializes PathArgument with kind=0 (unset), empty string 0x006DFFB0 560 JsonValue__deep_copy datatable Deep copies JsonValue: handles all types including string duplication, map/array tree copy, comments 0x006E0200 65 JsonValue__init_from_string_owned datatable Initializes JsonValue as owned string type by duplicating std::string via allocator 0x006E0250 34 JsonValue__init_from_string_ref datatable Initializes JsonValue as non-owned string reference (no allocation) 0x006E0280 25 JsonValue__init_from_int datatable Initializes JsonValue as signed integer type (type=1) 0x006E02A0 25 JsonValue__init_from_uint datatable Initializes JsonValue as unsigned integer type (type=2) 0x006E02C0 29 JsonValue__init_from_double datatable Initializes JsonValue as double/real type (type=3) 0x006E02E0 59 JsonValue__init_from_char_range datatable Initializes JsonValue as owned string from char pointer range [begin, end) 0x006E0320 50 JsonValue__init_from_cstr datatable Initializes JsonValue as owned string type from C-string via allocator duplication 0x006E0360 205 JsonValue__init_by_type datatable Constructs empty JsonValue by type enum: allocates map for object/array, zeros for scalars 0x006E0450 25 JsonValue__init_from_bool datatable Initializes JsonValue as boolean type (type=5) 0x006E0470 20 JsonValue__iterator_init datatable Initializes JsonValue iterator from source, copies pointer and clears flag 0x006E04A0 20 JsonValue__iterator_init_alt datatable Alternate iterator initialization, copies pointer and clears flag 0x006E04C0 22 JsonValue__get_int_value datatable Returns integer value from JsonValue, reads from value union 0x006E04E0 22 JsonValue__get_uint_value datatable Returns unsigned integer value from JsonValue, reads from value union 0x006E0510 20 JsonValue__get_double_value datatable Returns double/float value from JsonValue 0x006E0540 67 JsonValue__free_map_head datatable Frees the head/sentinel node of the RB-tree map (0x28 bytes) 0x006E0590 76 JsonValue__destroy_map datatable Destroys entire map: recursively frees tree nodes then frees head node 0x006E05F0 84 JsonValue__destroy_map_and_container datatable Destroys map tree, frees head node, then frees 8-byte map container 0x006E0650 147 JsonValue__destroy_single_node datatable Destroys a single map node: frees owned string key via allocator, frees node memory 0x006E06F0 78 JsonValue__free_owned_node datatable Frees an owned RB-tree node: deletes the 0x28-byte node memory if non-null 0x006E0740 90 JsonValue__destroy_string_vector_elements datatable Iterates a vector of 0x20-byte string elements, calling STL_string_dtor on each to destroy them 0x006E07A0 104 JsonValue__destroy_and_free_owned_key datatable Destroys a JsonValue then frees the owned key string via the allocator's release function if owned 0x006E0810 129 JsonValue__free_ptr_vector datatable Frees a vector of pointers: deallocates buffer and resets size/capacity to zero 0x006E08A0 177 JsonValue__destroy_string_vector_and_free datatable Destroys all 0x20-byte string elements in a vector, then frees the vector buffer and resets ptr/size/capacity to zero 0x006E0960 78 JsonValue__free_owned_key_via_allocator datatable Frees an owned key string pointer via the allocator's release function if non-null and owned 0x006E09C0 72 JsonValue__free_comment_string datatable Frees an owned comment string via allocator's release function 0x006E0A10 72 JsonValue__init_vtable datatable Initializes vtable pointers for a JsonValue-related class (sets two vtable entries sequentially) 0x006E0A60 65 JsonValue__destroy_string_wrapper datatable Wrapper that destroys a single std::string via STL_string_dtor 0x006E0AB0 194 JsonValue__destructor datatable Destroys JsonValue: frees owned strings, maps, arrays, and comment storage 0x006E0B90 177 JsonValue__swap datatable Swaps contents of two JsonValues: exchanges type, value union, and comment data 0x006E0C50 182 JsonValue__copy_assign datatable Copy assignment operator: deep copies source then destroys old value 0x006E0D10 16 JsonValue__copy_value_4byte datatable Copies a single 4-byte value from source to destination (trivial copy helper) 0x006E0D20 16 JsonValue__copy_value_4byte_alt datatable Copies a single 4-byte value from source to destination (alternate trivial copy helper) 0x006E0D40 82 JsonValue__cz_string_compare datatable Compares two CZString keys: if both have char* pointers, does byte-by-byte strcmp; if null pointers, compares integer index values 0x006E0DA0 422 JsonValue__operator_equals datatable Equality comparison operator: compares by type then by value (int/double/string/map) 0x006E0F70 17 JsonValue__operator_not_equal_006e0f70 datatable Inequality operator: calls operator_equals and inverts the result 0x006E0F90 26 JsonValue__init_cz_string_from_stl datatable Creates CZString key from std::string, extracting raw pointer 0x006E0FB0 19 JsonValue__resolve_index_by_cstr datatable Resolves a C-string key to a map entry via operator_index_cstr_nonconst with flag=1 0x006E0FD0 522 JsonValue__operator_index_int datatable Array subscript operator[int]: auto-converts null to array, inserts new element if needed 0x006E11E0 17 JsonValue__resolve_index_by_cstr_readonly datatable Resolves a C-string key to a map entry via operator_index_cstr_nonconst with flag=0 (read-only access) 0x006E1200 23 JsonValue__as_double_wrapper datatable Thin wrapper that delegates to JsonValue__as_double 0x006E1220 160 JsonValue__as_string datatable Converts JsonValue to std::string representation 0x006E12C0 222 JsonValue__as_double datatable Converts JsonValue to double, handles int/uint/real/null/bool types 0x006E13A0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x006E1400 132 JsonValue__rbtree_decrement datatable RB-tree iterator decrement: moves to previous in-order node 0x006E1490 78 JsonValue__cz_string_compare_keys datatable Compares two CZString keys for ordering: if both have char* pointers, does byte-by-byte comparison; if null, compares integer index values. Returns comparison result for RB-tree key lookup. 0x006E14E0 228 JsonValue__operator_less_than datatable Less-than comparison operator: compares by type then value (int/real/string/map) 0x006E15F0 20 JsonValue__operator_greater_equal datatable Greater-or-equal comparison: calls operator_less_than and inverts the result 0x006E1610 16 JsonValue__operator_less_than_wrapper datatable Thin wrapper that delegates directly to operator_less_than 0x006E1620 20 JsonValue__operator_greater_than datatable Greater-than comparison: calls operator_less_than with swapped args and inverts result 0x006E1640 82 JsonValue__cz_string_less_than datatable CZString less-than comparator for RB-tree ordering via strcmp 0x006E16A0 169 JsonValue__conditional_destructor datatable Conditional destructor: if flags&2, destroys vector elements via _eh_vector_destructor_iterator and optionally frees buffer; otherwise frees owned string via allocator and optionally frees self 0x006E1750 97 JsonValue__vtable_scalar_deleting_dtor datatable Scalar deleting destructor for JsonValue-related vtable class: sets vtable pointers and optionally frees memory 0x006E17C0 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x006E17F0 186 JsonValue__replace_vector_buffer datatable Replaces vector backing buffer: frees old allocation, sets new ptr/size/capacity 0x006E18B0 92 JsonValue__destroy_string_vector_range datatable Destroys a range of 0x20-byte string elements in a vector by calling STL_string_dtor on each from param_1 to param_2 0x006E1910 151 JsonValue__map_erase_by_iterator datatable Erases a map entry by iterator: advances iterator via operator++, calls rbtree_erase_node to remove the node, destroys the value, frees the owned key if applicable, and deletes the 0x28-byte node 0x006E19B0 704 JsonValue__rbtree_erase_node datatable RB-tree erase: removes node, rebalances with rotations, maintains red-black invariants 0x006E1C70 1 identity_return_ecx_006e1c70 game_core Identity function that returns its input parameter unchanged 0x006E1C80 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006E1E90 84 JsonValue__rbtree_rotate_right datatable RB-tree right rotation for rebalancing after insert/delete 0x006E1EF0 144 JsonValue__vector_reallocate_24byte datatable Reallocates a vector of 24-byte (0x18) elements: allocates new buffer, moves existing elements, frees old buffer and updates ptr/size/capacity 0x006E1FB0 88 JsonValue__rbtree_rotate_left datatable RB-tree left rotation for rebalancing after insert/delete 0x006E2010 10 JsonValue__throw_length_error_ptr datatable Throws std::length_error for pointer vector overflow 0x006E2020 10 JsonValue__throw_length_error_value datatable Throws std::length_error for value vector overflow 0x006E2030 157 JsonValue__remove_member datatable Removes member by C-string key from object, returns removed value 0x006E20D0 92 JsonValue__allocate_value_array datatable Allocates aligned buffer for array of 32-byte JsonValue elements 0x006E2130 34 JsonValue__clear datatable Clears JsonValue container: resets array/object to empty state 0x006E2160 74 JsonValue__asBool datatable Converts JsonValue to bool based on type: null=false, int/uint=nonzero, real=nonzero, string=non-empty, bool=direct, array/object=non-empty 0x006E21D0 3 JsonValue__noop_stub datatable Empty stub function, does nothing (3-byte ret) 0x006E21E0 147 JsonValue__asDouble datatable Converts JsonValue to double. Returns value directly for int/uint/real types, converts bool (true=1.0, false=0.0). Throws logic_error for string/array/object types. 0x006E22A0 133 JsonValue__asInt datatable Converts JsonValue to signed int. Handles int (direct), uint (range check), real (range check against INT_MIN/INT_MAX), bool (0/1). Throws logic_error for string/array/object. 0x006E2350 269 JsonValue__operator_asString datatable JsonValue conversion to std::string. Returns empty string for null, string value for string type, "true"/"false" for bool type. Throws logic_error for int/real/array/object types. 0x006E2480 131 JsonValue__operator_asUInt datatable JsonValue conversion to unsigned int. Handles int (reject negative), uint (direct), real (range-check against [0, UINT_MAX]), bool (0/1). Throws logic_error for string/array/object types. 0x006E2530 57 JsonValue__get_first_element datatable Returns first element from array/object (types 6/7) via dereferencing data pointer. Returns null value if type is not array/object or data is null. 0x006E2570 57 JsonValue__get_first_element_006e2570 datatable Returns first element from array/object (types 6/7) via dereferencing data pointer. Returns null value if type is not array/object or data is null. Variant for cstr key access. 0x006E2610 70 JsonValue__rbtree_distance datatable Computes distance between two RB-tree iterators by incrementing from begin to end, counting steps. Returns the number of elements in range. 0x006E2660 14 JsonValue__get_with_default_int datatable Returns member value or integer default if not found 0x006E2670 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x006E26B0 58 STL_deallocate_32byte_elements stl STL allocator deallocate for 32-byte elements. Handles large allocations with debug header. 0x006E2700 6 JsonValue__rbtree_node_get_value datatable Returns pointer to value payload at offset 0x18 within an RB-tree map node. Used internally to access the JsonValue stored in a map entry. 0x006E2710 65 json__strdup datatable Duplicates a C string: computes length (if -1 passed), allocates buffer via malloc, copies with null terminator. Used by Json internals for string storage. 0x006E2760 29 JsonValue__empty_006e2760 datatable Returns true if JsonValue is empty: null type returns true, array/object types check if size() == 0. Other types return false. 0x006E2780 55 JsonValue__get_first_element_006e2780 datatable Returns first element from array/object (types 6/7). Returns null value for other types or empty collections. 0x006E27C0 55 JsonValue__get_first_element_006e27c0 datatable Returns first element from array/object (types 6/7). Returns null value for other types or empty collections. 0x006E2800 674 JsonValue__remove_member_range datatable Removes range of members by key from object RB-tree map, returns count removed 0x006E2AB0 138 JsonValue__begin_iterator datatable Returns begin iterator for array or object traversal 0x006E2B40 102 JsonValue__end_iterator datatable Returns end iterator for array or object traversal 0x006E2BB0 102 JsonValue__begin_const_iterator datatable Returns const begin iterator for array or object traversal 0x006E2C20 218 JsonValue__get_comment datatable Returns comment string at specified placement index (before/after/inside). Accesses comment array at offset 0xc, computes strlen, and constructs std::string result. Returns empty string if no comments. 0x006E2D00 533 JsonValue__getMemberNames datatable Returns vector of member name strings for object-type value. Iterates RB-tree map nodes, extracts key strings from offset 0x10, and pushes into result vector. Returns empty vector for null type. 0x006E2F20 31 JsonValue__has_comment datatable Returns true if JsonValue has a comment at specified placement 0x006E2F40 5 operator++ stl Stl: operator++, small utility function 0x006E2F60 166 JsonValue__operator_index_path datatable Subscript operator with Json::Path: resolves path expression against value 0x006E3020 17 JsonValue__isArray_or_null datatable Returns true if JsonValue type is null (0) or array (6). Used for type checking before array operations. 0x006E3050 29 JsonValue__isConvertibleTo datatable Checks if JsonValue can be converted to target type. Large type-to-type matrix: null converts to anything, int/uint check range for target, real checks range, string/bool/array/object have specific rules. 0x006E31F0 30 JsonValue__rbtree_iterator_equal datatable Compares two RB-tree iterators for equality. Handles nil node case via is_nil flag, otherwise compares node pointers. 0x006E3240 32 JsonValue__isMember_cstr datatable Checks if object has member with given C-string key. Looks up key via as_double (find in map) and returns true if found (not sentinel). 0x006E3260 23 JsonValue__isMember_string datatable Checks if object has member with given std::string key. Extracts c_str from SSO buffer and delegates to isMember_cstr. 0x006E3280 8 JsonValue__isNull datatable Returns true if this JsonValue is null type (type byte == 0) 0x006E32B0 17 JsonValue__isNull_or_object datatable Returns true if JsonValue type is null (0) or object (7). Used for type checking before object operations. 0x006E3300 18 JsonValue__compare_less datatable Comparison helper: calls size() on one value and compares against another. Used to implement relational operators on JsonValue. 0x006E3320 285 JsonPath__constructor datatable Constructs Json::Path from string path expression, no arguments 0x006E3440 76 JsonPath__resolve_006e3440 datatable Resolves full path against a JsonValue by iterating PathArgument vector. Type 1 args use integer index (operator[int]), type 2 args use string key (operator[cstr]). Returns final resolved value. 0x006E3490 17 JsonValue__vtable_dispatch datatable Virtual table dispatch: calls method at vtable offset 0xc with param and -1. Used for allocator-based operations. 0x006E34B0 1101 JsonPath__parse_path_args datatable Parses path string into PathArgument vector: handles [N], [%], .key, % patterns 0x006E3910 9 JsonValue__vtable_dispatch_006e3910 datatable Virtual table dispatch: calls method at vtable offset 0x10. Used for allocator-based free operations. 0x006E3920 24 json__free_string datatable Frees a dynamically allocated string if non-null. Used by Json internals for comment and key cleanup. 0x006E3940 96 JsonPath__resolve_from_string datatable Resolves a Json path from std::string: extracts c_str from SSO buffer, then delegates to JsonPath__resolve_value. 0x006E39A0 310 JsonPath__resolve_value datatable Resolves path arguments against a JsonValue, navigating by index or key 0x006E3AE0 444 JsonValue__resize datatable Resizes JsonValue container. For null type, converts to empty object. For arrays/objects: if target is 0, clears all nodes; if target > current size, expands via operator[]; if target < current size, removes excess elements. 0x006E3CA0 228 JsonPath__resolve_const datatable Const path resolution: iterates PathArgument vector, for each arg: type 1 accesses by int index (falls back to default if out of range), type 2 accesses by string key (falls back to default if not found). Returns deep copy of final value. 0x006E3D90 257 JsonPath__resolve_nonconst datatable Non-const path resolution: iterates PathArgument vector. Type 1 args access by int index (returns sentinel if out of range). Type 2 args do map lower_bound lookup by string key (returns sentinel if not found). 0x006E3EA0 577 JsonValue__operator_index_cstr_nonconst datatable Non-const object operator[const char*]: auto-converts null to object, inserts key if needed 0x006E40F0 94 JsonValue__set_comment datatable Sets comment string on JsonValue at current placement. Frees old comment via allocator, validates new comment starts with '/' or '*', then duplicates and stores. 0x006E4150 152 JsonReader__add_comment_to_node datatable Attaches parsed comment to current node value at specified placement 0x006E41F0 142 JsonValue__set_comment_at_placement datatable Ensures comment array exists (allocates 3-slot array for before/after/inside placements if needed), then delegates to set_comment for the specified placement index. 0x006E4280 67 JsonValue__size datatable Returns the number of elements in JsonValue. For object (type 6): counts RB-tree nodes via decrement from last. For array (type 7): returns count field directly. Other types return 0. 0x006E42F0 36 JsonValue__swap_8byte datatable Swaps two 8-byte values (two dwords each) between param_1 and param_2 0x006E4320 81 JsonValue__swap_12byte_with_flags datatable Swaps two 12-byte structures including a flags byte at offset 8, with bit 0x100 mask on the flags dword 0x006E4380 182 JsonStyledWriter__write datatable StyledWriter::write - serializes a JsonValue to a formatted string with indentation. Creates document string, writes value with indent, and cleans up temporary buffers. 0x006E4440 5 JsonValue__get_type_byte datatable Returns the type byte at offset 8 of a JsonValue, indicating value type (null/int/uint/real/string/bool/array/object) 0x006E4450 143 JsonValue__get_global_singleton datatable Returns a global singleton pointer, lazy-initializing on first call with thread-safe static init and atexit destructor registration. Used by Json::Value for shared state. 0x006E44E0 22 std__ostream_set_fill_char stl Sets the fill character on an ostream by writing a byte to the ios_base fill field at vbase+0x40 0x006E4500 432 std__ostream_put_char stl ostream::put - writes a single character to the output stream with proper width padding (left/right justified). Uses sentry for thread safety, handles fill character padding. 0x006E46E0 13 std__ios_base__set_state_byte stl Sets a single byte value on an ios_base object (simple byte assignment) 0x006E46F0 161 STL_string_ctor_fill stl Constructs an std::string filled with N copies of a character. Handles SSO (small string optimization) for strings under 16 chars, heap-allocates for longer strings. 0x006E47A0 114 JsonFastWriter__ctor datatable Constructor for Json::FastWriter. Sets vtable (first to base Writer, then to FastWriter), initializes document string and flags to zero. 0x006E4820 167 JsonStyledWriter__ctor datatable Constructor for Json::StyledWriter. Initializes document string, indent string (copies from param), and sets rightMargin to 74 (0x4A). Zeroes child values vector. 0x006E48D0 178 JsonStyledStreamWriter__ctor datatable Constructor for Json::StyledStreamWriter. Sets vtable, initializes document string, indent string, indentString, rightMargin=0, and addChildValues flag. Larger object than StyledWriter. 0x006E4990 91 JsonStyledWriter__dtor datatable Destructor for Json::StyledWriter. Resets vtable to StyledWriter then to base Writer, destroys indent string. 0x006E49F0 98 JsonStyledStreamWriter__dtor datatable Destructor for Json::StyledStreamWriter. Destroys two strings (document + indent) and the child values vector. 0x006E4A60 7 JsonWriter__ctor datatable Base Json::Writer constructor. Sets vtable to Writer base class (scalar_deleting_destructor vtable). Called by derived writer constructors (FastWriter, StyledWriter, StyledStreamWriter). 0x006E4A70 546 JsonFastWriter__write datatable FastWriter::write: serializes JsonValue to compact single-line JSON string 0x006E4CA0 112 JsonStyledWriter__scalar_deleting_dtor datatable Scalar deleting destructor for Json::StyledWriter. Calls StyledWriter dtor, resets vtable to base Writer, then optionally frees memory if flag bit 0 is set. 0x006E4D10 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x006E4D50 58 JsonWriter__has_comment_for_value datatable Checks if value has any comments that need to be written 0x006E4D90 58 JsonWriter__has_comment_for_value_alt datatable Checks if a JsonValue has any comments (before, on-same-line, or after). Identical logic to has_comment_for_value, used by a different writer class. 0x006E4DD0 26 std__ios_base__setf_hex stl Sets the hex format flag (0x800) on ios_base fmtflags at offset 0x14, clearing dec (0x200) and oct (0x400) flags via mask 0xF9FF \| 0x800. 0x006E4DF0 25 STL_string_append_self_substr stl Appends a substring from an std::string's own buffer (handles SSO). Uses internal pointer if size > 15, otherwise reads from inline buffer. 0x006E4E10 125 JsonStyledWriter__push_indent datatable Creates an indent string of N space characters and appends it to the current indentation buffer. Used to increase indentation level in StyledWriter. 0x006E4E90 293 JsonStyledWriter__is_multiline_array datatable Determines if a JSON array should be formatted across multiple lines. Checks element count*3 against rightMargin, tries compact serialization of each element, returns true if total width exceeds margin. 0x006E4FC0 296 JsonStyledStreamWriter__is_multiline_array datatable StyledStreamWriter version of is_multiline_array. Checks array elements against rightMargin, uses styled recursive write for trial serialization. Returns true if array needs multiline formatting. 0x006E50F0 807 JsonWriter__normalize_eol datatable Normalizes line endings: converts CR/CRLF to LF in output string 0x006E5420 807 JsonWriter__normalize_eol_alt datatable Alternate EOL normalizer, same logic as normalize_eol for different context 0x006E5750 82 JsonWriter__push_value_or_write datatable If addChildValues flag is false, writes string directly to ostream. If true, pushes string into childValues vector (for later compact/multiline decision). 0x006E57B0 81 JsonWriter__push_value_or_append datatable If addChildValues flag is false, appends string to document buffer. If true, pushes string into childValues vector (for later compact/multiline decision). 0x006E5810 61 json_uint_to_string game_core Converts unsigned integer to decimal string representation in buffer 0x006E5850 44 STL_string_resize_shrink stl Resizes/truncates an std::string (at this+0x10) by subtracting a length value. If new size is smaller, truncates in place; otherwise appends null chars to extend. 0x006E5880 44 STL_string_resize_shrink_alt stl Resizes/truncates an std::string (at this+0x28) by subtracting a length value. Same logic as STL_string_resize_shrink but for a different member offset. 0x006E58B0 12 std__ios_base__setf_internal stl Sets the ios_base::internal flag (bit 0x4) on the format flags at offset 0x14, used for padding alignment 0x006E58C0 1501 json_value_to_quoted_string game_core Converts C-string to JSON quoted string with escape sequences for special chars and unicode 0x006E5FB0 193 json_int_to_string game_core Converts signed integer to decimal string with optional negative sign 0x006E6080 173 json_uint_to_std_string game_core 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. 0x006E6130 285 JsonWriter__float_to_string datatable Converts float/double to string with trailing zero stripping for JSON output 0x006E62A0 147 JsonWriter__bool_to_string datatable Returns "true" or "false" string based on boolean param 0x006E6340 132 JsonStyledWriter__write_value_to_document datatable StyledWriter::write - clears document, recursively writes the JSON value with pretty formatting, appends newline, and copies result to output string. 0x006E63D0 88 JsonStyledStreamWriter__write datatable StyledStreamWriter::write - sets output stream, clears document, writes pre-comment + value recursively (compact) + post-comment, outputs newline to stream, then clears stream pointer. 0x006E6430 170 JsonStyledStreamWriter__write_value_to_document datatable StyledStreamWriter's main value serialization. Clears document and indent, writes pre-comment (pretty), value recursively (styled), post-comment (pretty), appends newline, copies to member at offset 0x10. 0x006E64E0 1340 JsonStyledStreamWriter__write_array_value datatable Writes JSON array to output stream (StyledStreamWriter). Handles compact single-line format for small arrays and multi-line with indentation for large/complex arrays. Writes [ ], elements, commas, and comments. 0x006E6A20 1062 JsonStyledWriter__write_array_value datatable Writes JSON array to document string (StyledWriter). Handles compact single-line for small arrays and multi-line with indentation for large arrays. Appends to document member string. 0x006E6E50 504 JsonStyledStreamWriter__write_comment_after_value datatable Writes post-value comments to output stream (StyledStreamWriter). Handles commentAfterOnSameLine (type 1) with normalized EOL and prefix space, and commentAfter (type 2) on new line with normalized EOL. 0x006E7050 489 JsonStyledWriter__write_comment_after_value datatable Writes post-value comments to document string (StyledWriter). Handles commentAfterOnSameLine (type 1) with normalized EOL and space prefix, and commentAfter (type 2) on new line with normalized EOL. 0x006E7240 196 JsonStyledStreamWriter__write_pre_comment datatable Writes commentBefore (type 0) to output stream with EOL normalization. Appends newline separator after the comment. 0x006E7310 189 JsonStyledWriter__write_pre_comment datatable Writes commentBefore (type 0) to document string with EOL normalization. Appends newline separator after the comment. 0x006E7400 68 JsonStyledWriter__write_indent datatable Writes indentation to document string (StyledWriter). If last char is not space or newline, appends newline first. Then appends the current indent string. 0x006E7450 656 JsonStyledWriter__write_value_recursive datatable Recursively writes JSON value by type to document string (StyledWriter). Handles null, int, uint, real, string, bool, array (with comma-separated elements), and object (with key:value pairs). Uses json_int_to_string, json_value_to_quoted_string, etc. 0x006E7700 1101 JsonStyledStreamWriter__write_value_recursive datatable Recursively writes JSON value by type to output stream (StyledStreamWriter). Handles null, int, uint, real, string, bool, array (delegates to write_array_value), and object (with key:value pairs, indentation, comments). 0x006E7B70 1031 JsonWriter__write_value_recursive_styled datatable Recursively writes JSON value with styled formatting (key:value with separators) 0x006E7FA0 78 JsonWriter__write_indent_and_value_compact datatable Writes indentation followed by string value to compact packet stream 0x006E7FF0 103 JsonWriter__write_indent_and_value_pretty datatable Writes indentation with newline handling followed by string value in pretty mode 0x006E8060 51 LZ4__set_dictionary_stream file Sets external dictionary buffer for LZ4 streaming compression context 0x006E80A0 80 LZ4__compress_default file LZ4 default compression with auto-calculated max output size bound 0x006E80F0 44 LZ4__compress_bound file Returns worst-case compressed size for given input size, 0 if too large 0x006E8120 65 LZ4__compress_fast_extstate file LZ4 fast compression using external state buffer, auto-calculated bound 0x006E8170 27 LZ4__compress_dest_size_wrapper file Wrapper for LZ4 compression with explicit destination size limit 0x006E8190 67 LZ4__compress_dest_size_stack file LZ4 compression with stack-allocated 16KB hash table for destination-size mode 0x006E81E0 2831 LZ4__compress_generic_small file LZ4 core compression for small inputs (<64KB), uses 16-bit hash table entries 0x006E8D60 69 LZ4__compress_fast_stack file LZ4 fast compression with stack-allocated 16KB state buffer 0x006E8DB0 8670 LZ4__compress_generic_large file LZ4 core compression for large inputs (>64KB), uses 32-bit hash table with acceleration 0x006EAF90 4947 LZ4__compress_generic_full file Full LZ4 compression with configurable acceleration, handles both small and large inputs 0x006EC3D0 4805 LZ4__compress_HC file LZ4 high-compression mode with optimal match search for better ratios 0x006EE180 2831 LZ4__compress_HC_optimal file LZ4 HC optimal parsing compression for maximum compression ratio 0x006EEC90 27 LZ4__compress_fast_with_dest_size file LZ4 fast compression wrapper with explicit destination size, acceleration=1 0x006EECB0 30 LZ4__compress_extstate_large file LZ4 compression using external state for large buffers, acceleration=1 0x006EECD0 30 LZ4__compress_extstate_full file LZ4 full compression using external state buffer, acceleration=1 0x006EECF0 65 LZ4__compress_fast_auto_bound file LZ4 fast compression with auto-calculated output bound, acceleration=1 0x006EEDB0 39 LZ4__decode_bound file Returns max decompressed size for given compressed input size, min 16 bytes 0x006EEDE0 245 LZ4__decompress_safe file LZ4 safe decompression with bounds checking, returns compressed bytes consumed 0x006EEEE0 489 LZ4__decompress_safe_continue file LZ4 streaming decompression with dictionary continuation support 0x006EF0D0 333 LZ4__decompress_safe_with_dict file LZ4 safe decompression using external dictionary for back-references 0x006EF220 285 LZ4__decompress_safe_partial file LZ4 partial decompression with dictionary prefix support 0x006EF340 245 LZ4__decompress_safe_64k file LZ4 safe decompression for data compressed with 64KB window limit 0x006EF440 1549 LZ4__decompress_fast file LZ4 fast decompression with optimized copy loops, known output size 0x006EFA50 2085 LZ4__decompress_fast_continue file LZ4 fast streaming decompression with dictionary continuation 0x006F0280 1982 LZ4__decompress_fast_with_dict file LZ4 fast decompression using external dictionary for back-references 0x006F0A40 1576 LZ4__decompress_fast_partial_dict file LZ4 fast partial decompression with external dictionary support 0x006F1070 1944 LZ4__decompress_safe_partial_dict file LZ4 safe partial decompression with external dictionary support 0x006F1810 132 LZ4__decompress_dispatch file LZ4 decompression dispatcher: routes to LZ4__decompress_fast_partial_dict, LZ4__decompress_safe_partial_continue, LZ4__decompress_safe_partial_dict_continue, or LZ4__decompress_safe_partial_dict based on dictionary size and buffer adjacency. 0x006F18A0 1561 LZ4__decompress_safe_partial_continue file LZ4 safe partial decompression with 64KB sliding window. Reads literal/match tokens, copies literals, resolves back-references with bounds checking. Previously misnamed as compress_continue_generic. 0x006F1EC0 1593 LZ4__decompress_safe_partial_dict_continue file LZ4 safe partial decompression with external dictionary prefix. Similar to decompress_safe_partial_continue but handles dictionary-relative back-references. Previously misnamed as compress_continue_dest_size. 0x006F2500 120 LZ4__decompress_fast_dispatch file LZ4 fast decompression dispatcher: routes to LZ4__decompress_fast, LZ4__decompress_fast_optimized, LZ4__decompress_fast_dict_optimized, or LZ4__decompress_fast_with_dict based on dictionary params. 0x006F2580 1550 LZ4__decompress_fast_optimized file LZ4 fast decompression with optimized 16-byte/32-byte block copy loops and small-offset special handling. Uses known output size. Previously misnamed as compress_HC_continue. 0x006F2B90 1566 LZ4__decompress_fast_dict_optimized file LZ4 fast decompression with dictionary-relative back-references and optimized block copy loops. Uses known output size. Previously misnamed as compress_HC_continue_dest_size. 0x006F31B0 24 LZ4__stream_free_safe file Frees LZ4 stream state with null check, returns 0 0x006F31D0 24 LZ4__decode_stream_free file Frees LZ4 decompression streaming state with null check 0x006F31F0 51 LZ4__init_stream_state file Initializes LZ4 stream state buffer, requires 4-byte alignment and min 0x4020 size 0x006F3230 148 LZ4__load_dict file Loads dictionary into LZ4 stream state, populates hash table from dict data 0x006F32D0 131 LZ4__renorm_dict_entries file Renormalizes LZ4 hash table entries when offset exceeds 2GB to prevent overflow 0x006F3360 23 LZ4__reset_stream_state file Zeroes out entire LZ4 stream state (0x4014 bytes) 0x006F3380 25 LZ4__reset_stream_and_return file Zeroes LZ4 stream state and returns 0 (success code) 0x006F33A0 124 LZ4__stream_reset_partial file Partial reset of LZ4 stream, clears hash table if mode changed or offset too large 0x006F3420 79 LZ4__save_dict file Copies last 64KB of dictionary from stream to external buffer for reuse 0x006F3470 48 LZ4__decode_stream_init file Initializes LZ4 decompression stream context with output buffer pointers 0x006F34C0 14 LZ4__get_stream_dict_ptr file Returns pointer to current dictionary base from LZ4 stream state 0x006F34D0 9 LZ4__decompress_safe_thunk file Thunk to LZ4_decompress_safe 0x006F34E0 9 LZ4__decompress_fast_thunk file Thunk to LZ4_decompress_fast 0x006F3510 37 LZ4__read_variable_length file Reads LZ4 variable-length integer from byte stream (0xFF continuation encoding) 0x006F3540 116 CEffectAcidifiedZone__ctor effect Constructor for acidified zone effect, initializes vtable and effect handles 0x006F35C0 71 CEffectAcidifiedZone__dtor effect Destructor for acidified zone effect, cleans up base class 0x006F3610 99 CEffectAcidifiedZone__scalar_dtor effect Scalar deleting destructor for CEffectAcidifiedZone, frees 0xF0 bytes if flag set 0x006F3680 206 math_quadratic_bezier_3d game_render Evaluates quadratic Bezier curve at parameter t for 3D point (x,y,z) 0x006F3750 117 CEffectAcidifiedZone__release_effects effect Releases all effect handles (main + 3 sub-effects) for acidified zone 0x006F37D0 188 CEffectAcidifiedZone__init_skill_effects effect Initializes zone effects by skill ID (fire/water/wind/ground) with sprite file paths 0x006F3977 670 CEffect__load_acidified_zone_fire_resources effect Loads 3 acidified zone fire effect resources via CEffect__load_resource_with_option. Sets scale to 1.0, enables rendering flag at offset 0x3f5c, resets position fields. 0x006F3C26 461 CEffect__load_acidified_zone_water_resources effect Loads 4 acidified zone water effect resources via CEffect__load_resource_with_option. Sets scale to 1.0, enables rendering flag, resets position fields. 0x006F3FA0 1659 CEffectAcidifiedZone__update effect Per-frame update for acidified zone effect. When main effect (+0xCC) is active: computes bezier trajectory from source to target entity using rotation matrix, ticks animation, and on completion recycles main effect and plays element-specific sound (fire/water/wind/ground variants by skill ID 0x89E/0x8A6/0x8AE/0x8B6). When main effect is expired: updates positions of 3 sub-effects (+0xD0..+0xD8), recycling expired ones. Sets inactive flag when all sub-effects expire. 0x006F4790 145 CEffectAcidifiedZone__show_effects effect Shows/renders all effect handles for acidified zone on screen 0x006F4830 153 CEffectAstralStrike__ctor effect Constructor for astral strike effect, initializes vtable and effect vectors 0x006F48D0 110 CEffectAstralStrike__dtor effect Destructor for astral strike effect, releases all effect handles and frees vectors 0x006F4940 134 CEffectAstralStrike__scalar_dtor effect Scalar deleting destructor for CEffectAstralStrike 0x006F49D0 637 CEffectAstralStrike__init_sprites effect Loads astralstrike bottom and top sprite effects, plays sound effect 0x006F4C50 2006 CEffectAstralStrike__spawn_strike effect Spawns astral strike projectile with random offset and adds to effect vector 0x006F5430 110 CEffectAstralStrike__release_all effect Releases all effect handles in both primary and secondary effect vectors 0x006F54C0 613 CEffectAstralStrike__update effect Updates astral strike effects, removes expired ones and spawns new strikes periodically 0x006F5730 45 CEffectAstralStrike__tick_single_effect effect Ticks animation for a single effect handle if non-null. Passes (0,0,0) position offset to CEffect__tick_animation. 0x006F5760 130 CEffectAstralStrike__show_all effect Renders all effects in both primary and secondary effect vectors 0x006F57F0 43 CEffectAstralStrike__show_single effect Renders a single effect handle on screen if valid 0x006F5820 163 CEffectProjectile__ctor effect Constructor for projectile effect, initializes vtable and tracking fields 0x006F58D0 71 CEffectProjectile__dtor effect Destructor for projectile effect, cleans up base class 0x006F5920 99 CEffectProjectile__scalar_dtor effect Scalar deleting destructor for CEffectProjectile 0x006F5990 206 CEffectProjectile__calc_bezier_point effect Calculates a quadratic bezier curve point from 3 control points (start, control, end) at parameter t (param_11). Stores interpolated XYZ position in param_1. Uses formula: B(t) = (1-t)^2*P0 + 2*t*(1-t)*P1 + t^2*P2 0x006F5A70 601 CEffectProjectile__init_sprites effect Initializes projectile sprite effect. Loads shield_shooting or axeboomerang sprite (with mineffect variant). Allocates effect layer, stores handle at +0xCC, sets initial state flags at +0xD0..+0xD8. 0x006F5CE0 893 CEffectProjectile__update_position effect Calculates projectile position using bezier interpolation with rotation matrix 0x006F6060 900 CEffectProjectile__update_guided effect Updates guided projectile position with rotation matrix and bezier curve tracking 0x006F6420 43 CEffectProjectile__show_effect effect Renders projectile effect handle on screen if valid 0x006F6450 103 CEffectMachine__free_map_subtree effect Recursively frees all nodes in a red-black tree subtree. Traverses left children iteratively (via loop), freeing 0x18-byte nodes. Used to destroy the effect map. 0x006F64C0 75 CEffectMachine__map_lower_bound effect Performs lower_bound search on a std::map/red-black tree. Traverses the tree comparing keys to find the first element not less than the search key. Returns iterator-like result in param_2. 0x006F6510 152 CEffectMachine__ctor effect Constructor for CEffectMachine. Calls CEffectAura base ctor, sets vtable to 01114250, initializes effect slots and allocates a red-black tree sentinel node (0x18 bytes) for the effect map. 0x006F65B0 67 CEffectMachine__free_map_node effect Frees a single red-black tree node (0x18 bytes) from the effect map if non-null. Used during map cleanup. 0x006F6600 111 CEffectMachine__release_all effect Releases all machine effect handles from effect vector 0x006F6680 78 CEffectMachine__free_single_map_node_a effect Frees a single 0x18-byte red-black tree map node if the stored handle (offset +4) is non-null. SEH-protected. 0x006F66D0 78 CEffectMachine__free_single_map_node_b effect Frees a single 0x18-byte red-black tree map node if the stored handle (offset +4) is non-null. SEH-protected. Variant b. 0x006F6720 65 CEffectMachine__release_all_wrapper effect SEH-protected wrapper that calls CEffectMachine__release_all to destroy the entire effect map. Used as a cleanup helper. 0x006F6770 104 CEffectMachine__dtor effect Destructor for CEffectMachine. Sets vtable to 01114250, releases all effect map entries via release_all, then calls CEffectAura base destructor. 0x006F67E0 223 CEffectMachine__ensure_slot effect Ensures an effect slot exists in the red-black tree map for the given integer key. Performs lower_bound lookup; if key not found, allocates a new 0x18-byte tree node, inserts it via STL_tree_insert_node, and returns pointer to the value field (offset 0x14) of the node. 0x006F68C0 128 CEffectMachine__scalar_dtor effect Scalar deleting destructor for CEffectMachine. Sets vtable, releases all map entries, calls base dtor, optionally frees 0xd8 bytes if flag bit 0 set. 0x006F6A00 75 CEffectMachine__find_effect_by_key effect Looks up an effect handle in the map by integer key. Uses map_lower_bound to find the entry. Returns the effect handle value (offset 0x14 in tree node) if found, 0 if not found. 0x006F6A50 844 CEffectMachine__init_sprites effect Loads machine sprite effects with animated textures and wave effect 0x006F6DB0 588 CEffectMachine__update_positions effect Updates positions and transforms for all machine sub-effects 0x006F7000 106 CEffectTimedBase__show_active_layer effect Looks up the current phase (field 0xd4) in the effect map and renders the active layer if found. NOT a constructor. 0x006F7070 99 CEffectTimedBase__start_animation_phase1 effect Looks up key=1 in effect map, initializes animation from resource if found, sets phase field (0xd4) to 1. NOT a destructor. 0x006F70E0 97 CEffectTimedBase__set_animation_phase effect Looks up param_2 as key in effect map, initializes animation from resource if found, sets phase field (0xd4) to param_2. NOT a scalar deleting destructor. 0x006F7150 517 STL_tree_insert_node_006f7150 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x006F7360 155 CEffectTimedSprite__ctor effect Constructor for timed sprite effect with timeGetTime-based start time 0x006F7400 71 CEffectTimedSprite__dtor effect Destructor for timed sprite effect, cleans up base class 0x006F7450 99 CEffectTimedSprite__scalar_dtor effect Scalar deleting destructor for CEffectTimedSprite 0x006F74C0 416 CEffectTimedSprite__init_primary_effects effect Initializes primary blast_forge sprite effects. Toggles visibility flag at +0xDC, allocates two effect layers (+0xCC, +0xD0), loads blast_forge sprite resources, and sets rendering flags (+0x3F5C). Not a per-frame update. 0x006F7660 444 CEffectTimedSprite__init_sprites effect Loads sprite effects for timed effect with configurable rendering params 0x006F7820 66 CEffectTimedSprite__release_all_effects effect Releases all 4 effect layer handles: primary pair (+0xCC, +0xD0) unconditionally, and secondary pair (+0xD4, +0xD8) if non-null. Returns them to the effect pool via recycle_effect_to_pool. 0x006F7870 430 CEffectTimedSprite__show_effect effect Renders timed sprite effect with position and scale transforms 0x006F7A30 747 CEffectTimedSprite__update_position effect Updates sprite position based on elapsed time and movement parameters 0x006F7D20 374 CEffectTimedSprite__transform_position effect Transforms effect position through view and projection matrices. Takes a param_2 effect handle, copies world coords from this object, applies two 4x4 matrix transforms (view then projection), and calls tick_animation 0x006F7EA0 172 CEffectTimedSprite__render_all_layers effect Renders all timed sprite effect layers to the pipeline. Submits handles at offsets 0xCC, 0xD0 (when 0xD4 == 0) or 0xD4, 0xD8 (when 0xD4 != 0) via render_active_layers_alt through the view matrix. 0x006F7F50 43 CEffectTimedSprite__render_single_layer effect Renders a single effect layer handle to the pipeline via render_active_layers_alt if the handle is non-null. 0x006F7F80 908 CEffectTimedSprite__update_secondary_layers effect Updates secondary timed sprite layers at offsets 0xD4 and 0xD8. Transforms their positions through view and projection matrices, checks expiry timer against duration * frame_rate, recycles expired layers back to pool, and periodically re-initializes sprites every 1000ms via timeGetTime. 0x006F8310 429 STL_vector_push_back_ptr stl STL vector push_back for pointer-sized elements. Grows capacity by 1.5x when full, copies existing elements to new allocation, inserts new element at specified position 0x006F84E0 427 STL_vector_insert_range_12byte stl STL vector insert for 12-byte element arrays. Grows capacity by 1.5x, uses element-wise copy via zero_init helper and copy helper functions. Element size is 0xC bytes (3 DWORDs) 0x006F86B0 166 CEffectGround__ctor effect Constructor for ground effect, initializes vtable and effect handles 0x006F8760 150 CEffectGround__dtor effect Destructor for ground effect, releases handles and frees vectors 0x006F8800 110 CEffectGround__dtor_impl effect Destructor implementation for CEffectGround. Sets vtable to 011144ac, deallocates both effect handle vectors via STL_vector_dealloc_if_nonempty, calls CEffectAura base destructor. Does NOT free the object itself (see scalar_dtor) 0x006F8870 134 CEffectGround__scalar_dtor effect Scalar deleting destructor for CEffectGround. Sets vtable to 011144ac, deallocates both effect vectors, calls CEffectAura base dtor, conditionally frees 0xE8 bytes 0x006F8900 575 CEffectGround__init_sprites effect Loads ground effect sprites with multiple texture layers and wave effect 0x006F8B40 503 CEffectGround__alloc_secondary_layer effect Allocates a secondary effect layer for ground effects. Loads a resource by type (1=type A, 2=type B, 3=type C NPC_CANE_OF_EVIL_EYE variants), sets DC/E0/E4 position coords and A8 type byte on the new layer. Returns the allocated layer handle. 0x006F8D40 175 CEffectGround__show_all effect Renders all ground effect handles in effect vector 0x006F8DF0 120 CEffectGround__release_all_effects effect Releases all ground effect handles by iterating both effect vectors, recycling each non-null handle back to the pool, then resets vector sizes to empty 0x006F8E70 133 CEffectGround__compact_null_entries effect Compacts both effect handle vectors by removing null entries. Uses memcpy to shift elements down when a null is found, shrinking the vector. Called during update to clean up expired effects 0x006F8F00 557 CEffectGround__init_sprites_ext effect Extended ground effect sprite initialization with additional animation layers 0x006F9130 521 CEffectGround__create_initial_layout effect Creates the initial ground effect layout. Allocates a 12-byte position vector with 8 hardcoded 3D positions arranged in a pattern, creates sprite handles for each via init_sprites(type=1), pushes them into the handle vector, then calls show_all to create the secondary layers. 0x006F9340 48 CEffectGround__is_active effect Returns true if ground effect has active handles in vector 0x006F9370 599 CEffectGround__init_skill_ground effect Initializes ground effect sprites for specific skill IDs with textures 0x006F95D0 185 CEffectGround__tick effect Main per-frame tick for CEffectGround. Compacts null entries from both vectors, updates skill ground effect positions, spawns new effects every 1000ms via show_all, and updates extended skill effects 0x006F9690 1296 CEffectGround__init_skill_ground_ext effect Extended ground effect init for additional skill types with multi-layer sprites 0x006F9BA0 416 CEffectGround__update_single_handle_position effect Updates position for a single ground effect handle by adding parent offset, applying view matrix transform, then projection matrix transform, and calling tick_animation 0x006F9D40 130 CEffectGround__render_all_to_pipeline effect Iterates both effect handle vectors and submits each non-null handle to the render pipeline via render_active_layers_alt 0x006F9DD0 43 CEffectGround__render_single_to_pipeline effect Submits a single effect handle to the render pipeline if non-null 0x006F9E00 1 identity_return_ecx_006f9e00 game_core Identity function that returns its input parameter unchanged 0x006F9E10 48 CEffectGround__zero_init_12byte_array effect CEffectGround: zero init 12byte array 0x006F9E40 47 CEffectGround__copy_12byte_elements effect Copies 12-byte elements from source to destination buffer, used for ground effect data relocation 0x006F9E70 10 STL_throw_vector_too_long_006f9e70 stl Throws std::_Xlength_error("vector too long") - STL vector overflow handler 0x006F9E80 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x006F9EC0 304 CEffectParticle__ctor effect Constructor for CEffectParticle. Calls CEffectParticleEmitter ctor, sets vtable to 01114744, initializes bounding box floats, particle parameters (count=4, sizes, speeds), and allocates 2 arrays of 12-byte particle structs 0x006F9FF0 105 CEffectParticle__dtor effect Destructor for CEffectParticle. Sets vtable, destroys 2 particle arrays via _eh_vector_destructor_iterator, then calls CEffectParticleEmitter dtor 0x006FA060 129 CEffectParticle__scalar_dtor effect Scalar deleting destructor for CEffectParticle. Calls dtor logic then conditionally frees 0x1A4 bytes if param_2 & 1 0x006FA0F0 1741 CEffectParticle__init_textures effect Loads particle effect textures: shockwave_a through shockwave_e BMPs and plazma_a through plazma_c BMPs into the texture path vector. Calls CEffectParticleEmitter__create_initial_particles at the end 0x006FA7C0 52 CEffectParticle__randomize_and_init_particle effect Randomizes particle type (0 or 1 via rand() & 1), stores in field +0x54, then calls init_particle to reset the particle with new random parameters 0x006FA800 149 CEffectParticle__update_texture_and_particle effect Selects a texture from the texture path vector based on particle type (+0x54) and animation frame, sets the texture on the effect layer, then calls full particle update 0x006FA8A0 88 CEffectParticle__push_back_texture_entry effect Pushes a texture entry (24 bytes: string + metadata) into the texture vector at param_1+4. Handles both direct copy and STL vector reallocation path 0x006FA900 183 CEffectBeam__ctor effect Constructor for CEffectBeam. Calls CEffectAura base ctor, sets vtable to 0111488c, zero-initializes beam endpoint fields (+0xDC through +0xFC) and beam state fields, sets field +0x50 = 0 0x006FA9C0 71 CEffectBeam__dtor effect Destructor for CEffectBeam. Sets vtable to 0111488c, calls CEffectAura base dtor 0x006FAA10 99 CEffectBeam__scalar_dtor effect Scalar deleting destructor for CEffectBeam. Sets vtable, calls base dtor, conditionally frees 0x100 bytes if param_2 & 1 0x006FAA90 1064 CEffectBeam__init_sprites effect Loads beam effect sprites with start/end points and texture configuration 0x006FAEF0 204 CEffectBeam__update effect Updates beam effect, manages lifetime and removes expired beams 0x006FAFC0 178 CEffectBeam__update_positions effect Updates beam endpoint positions between source and target actors 0x006FB0B0 43 CEffectBeam__render_active effect Renders active beam effect layers. Gets mode-1 field, accesses handle vector at offset 0x98 from field+0xd0, and calls render_active_layers_alt. 0x006FB0E0 16 CEffectBeam__set_parameter effect Stores param_2 into field at offset 0xd4 (setter, not getter). Previously misnamed get_handle_count. 0x006FB0F0 34 CEffectBeam__memcpy_range effect Copies memory range [param_1, param_2) to param_3 via memcpy. Returns end of destination buffer. Generic buffer copy utility used by beam effect vector operations. 0x006FB120 452 CEffectBeam__vector_emplace_back effect std::vector insert/emplace_back implementation for beam effect handle pointers. Grows vector capacity with 1.5x strategy, copies existing elements around insertion point. 0x006FB2F0 127 CEffectAura__ctor effect Constructor for aura effect, initializes vtable and aura state 0x006FB370 129 CEffectAura__dtor effect Destructor for aura effect, releases handles and frees vectors 0x006FB400 95 CEffectAura__scalar_dtor effect Scalar deleting destructor for CEffectAura 0x006FB460 119 CEffectAura__vdtor effect Vector deleting destructor for CEffectAura. Sets vtable, calls dtor chain, optionally frees 0xd8 bytes if flag bit 0 is set. 0x006FB4E0 193 CEffectAura__create_sprite effect Allocates a single effect layer from pool (mode 5), sets texture to "effect_hero_011.tga", configures default quad vertices, and pushes handle pointer into the vector. Creates one aura sprite. 0x006FB5B0 63 CEffectAura__release_all_handles effect Iterates handle vector [0xcc..0xd0) and recycles each effect handle back to pool. Resets vector size to 0 (sets end=begin). 0x006FB630 340 CEffectAura__update effect Updates aura effect state, manages lifetime and removes expired auras 0x006FB790 274 CEffectAura__update_transform effect Updates the 3x4 transform matrix for an aura effect layer. Computes rotation-X (pi/4) * rotation-Y (camera angle) * scale matrix and stores result at layer offset 0x1c8. 0x006FB8B0 83 CEffectAura__render_all effect Iterates handle vector [0xcc..0xd0) and renders each non-null handle via CEffectLayer__render_mesh with default blending parameters. 0x006FB910 59 CEffectAura__render_single effect Renders a single aura effect handle via CEffectLayer__render_mesh if param is non-null. 0x006FB950 10 CEffectAura__xlength_error effect Throws std::_Xlength_error("vector too long"). Called when aura handle vector exceeds max capacity. 0x006FB960 62 STL_allocator_deallocate_006fb960 stl std::allocator::deallocate, frees memory via operator delete. For allocations > 0xFFF bytes, adjusts pointer by reading stored offset at ptr[-4] and adds 0x23 alignment padding to size. 0x006FB9A0 319 CEffectOrbit__ctor_006fb9a0 effect Constructor for CEffectOrbit. Calls CEffectAura base ctor, sets vtable to 01114a30, initializes extended orbit fields (0x34-0x4a) including rotation angles, color (0xffff), and orbit flag. 0x006FBAE0 71 CEffectOrbit__scalar_dtor effect Scalar deleting destructor for CEffectOrbit. Sets vtable to 01114a30, calls CEffectAura dtor chain. 0x006FBB30 99 CEffectOrbit__vdtor effect Vector deleting destructor for CEffectOrbit. Sets vtable to 01114a30, calls base dtor chain, optionally frees 300 bytes if flag bit 0 is set. 0x006FBBA0 34 CEffectScreen__release_effect effect Releases screen effect handle and clears state 0x006FBBD0 88 CEffectOrbit__init_layer effect Allocates and initializes a single effect layer from pool. Sets blend modes (src=5, dst=6), layer count, and parent handle. Part of CEffectOrbit initialization. 0x006FBC30 651 CEffectScreen__init_sprites effect Loads screen overlay effect sprites with fullscreen positioning 0x006FBED0 440 CEffectScreen__update effect Updates screen effect state with alpha fade and lifetime management 0x006FC0D0 144 CEffectScreen__update_alpha effect Manages screen effect alpha fade-in/fade-out. During fade-in, increments alpha up to 255. During fade-out (after duration), decrements alpha. Calls release via vtable when alpha reaches 0. 0x006FC160 415 CEffectOrbit__update_oscillation effect Updates CEffectOrbit oscillation: adjusts two pairs of angle values (0xd0/0xd4 and 0xd8/0xdc) with sine-based oscillation using step-towards-target logic. Updates particle position by combining oscillation offsets with base effect position. 0x006FC350 190 CEffectOrbit__update_transform effect Updates the transform matrix for CEffectOrbit. Computes scale + camera rotation matrix and stores the 3x4 result into the effect layer at offset 0x1c8. 0x006FC410 210 CEffectCamera__ctor effect Constructor for CEffectCamera. Allocates base (0x438 bytes), sets vtable to 01114ad0, allocates two 0xc-byte linked list sentinel nodes for particle lists. Default lifetime=9999, active flag=1. 0x006FC4F0 67 CEffectCamera__free_list_node effect Frees a single 0xc-byte linked list node at field offset 0x4. Used by CEffectCamera for particle list cleanup. 0x006FC540 78 CEffectCamera__free_list_node_alt effect Frees a single 0xc-byte linked list node at field offset 0x4. Alternative entry point with SEH frame, same purpose as free_list_node. 0x006FC590 103 CEffectCamera__clear_list effect Walks and frees an entire linked list starting from field[0]. Traverses next pointers, frees each 0xc-byte node, then frees the sentinel node itself. 0x006FC600 210 CEffectCamera__dtor effect Destructor for CEffectCamera. Sets vtable, frees both particle linked lists (fields 0x33 and 0x35), calls CEffectAura base dtor. 0x006FC6E0 234 CEffectCamera__vdtor effect Vector deleting destructor for CEffectCamera. Calls dtor to free both lists, optionally frees 0xe8 bytes if flag bit 0 is set. 0x006FC7D0 288 CEffectCamera__spawn_fire_particle effect Spawns a single fire/smoke particle with random Y rotation, loads sprite data and animation tree. Called every 5 frames from update(). 0x006FC8F0 747 CEffectCamera__spawn_leaf_particle_grid effect Spawns a 6x6 grid of leaf/grass particles with random rotations and sprite data. Called every 9 frames from update(). 0x006FCBE0 199 CEffectCamera__release_all_handles effect Releases all effect handles from both particle linked lists (0xcc and 0xd4). Iterates each list, recycles handles to pool, frees list nodes, resets sentinel pointers and counts to 0. 0x006FCCD0 388 CEffectCamera__update_particle effect Updates a single camera particle's position via matrix transform, adds base effect position, applies rotation decay and alpha fade. Clamps alpha to [0, max]. 0x006FCE60 1497 CEffectCamera__update effect Main update loop for CEffectCamera. Spawns new fire particles (every 5 frames) and leaf particles (every 9 frames). Updates all particles in both linked lists with position/alpha/lifetime. Removes expired particles. Checks if owner actor is still alive. 0x006FD440 480 CEffectCamera__update_particle_secondary effect Updates a secondary camera particle (leaf type). Similar to update_particle but uses different position offsets (0xdc/0xe0/0xe4) and different lifetime field (0xe0). 0x006FD620 27 CEffectCamera__render_single effect Renders a single camera effect particle via CEffectLayerEx__render if param is non-null. 0x006FD640 79 CEffectCamera__render_all_lists effect Iterates both particle linked lists (0xcc and 0xd4) and calls CEffectLayerEx__render(1) for each non-null handle. Renders all camera effect particles. 0x006FD690 27 CEffectCamera__render_single_alt effect Renders a single camera effect particle via CEffectLayerEx__render if param is non-null. Alternative entry point. 0x006FD6B0 165 CEffectCamera__list_push_back effect Inserts an effect handle pointer into a linked list. Allocates a 0xc-byte node, sets data to param_2[0], links before the sentinel. Throws _Xlength_error if list size reaches 0x15555555. 0x006FD760 119 CEffectParticle__ctor_006fd760 effect Constructor for CEffectParticle. Allocates 0x420 bytes for base, sets vtable to 01114b9c, initializes handle vector (fields 0x33-0x35) to zero. 0x006FD7E0 95 CEffectParticle__dtor_006fd7e0 effect Destructor for CEffectParticle. Sets vtable to 01114b9c, calls CEffectAura dtor chain to free handle vector. 0x006FD840 119 CEffectParticle__vdtor effect Vector deleting destructor for CEffectParticle. Calls dtor, optionally frees 0xd8 bytes if flag bit 0 is set. 0x006FD8C0 64 CEffUnlimit__set_color_all_particles game_core Iterates particle vector at 0xCC and sets RGB color on each particle 0x006FD900 326 CEffUnlimit__set_texture_all_particles game_core Iterates particle vector, copies texture string and calls set_texture on each particle 0x006FDA50 212 CEffUnlimit__create_particles game_core Creates 2 particles with ra_unlimit texture at 180-degree intervals, alpha=90, scale=15.0 0x006FDB30 63 CEffUnlimit__destroy_all_particles game_core Destroys all particles in vector at 0xCC and resets end pointer to begin 0x006FDB70 212 CEffUnlimit__create_particles_variant game_core Creates 2 particles with ra_unlimit texture at 180-degree intervals, identical to create_particles 0x006FDC50 129 CEffUnlimit__init_single_particle game_core Configures single particle: sets type=5, position, angle, scale, blend modes, resets matrix 0x006FDCE0 170 CEffUnlimit__init_all_particles game_core Iterates particle vector and applies init_single_particle configuration to each 0x006FDDA0 377 CEffUnlimit__update_rotation_all game_core Updates all particles: wraps rotation angle at 360 degrees, builds scale+rotation+tilt matrix 0x006FDF20 311 CEffUnlimit__update_rotation_single game_core Updates single particle: wraps rotation at 360 degrees, computes scale+rotZ+tilt transform matrix 0x006FE060 83 CEffUnlimit__render_all_particles game_core Renders all particles in vector by calling billboard render with default UV and alpha 0x006FE0C0 59 CEffUnlimit__render_single_particle game_core Renders single particle billboard with default UV coords and alpha=1.0 0x006FE100 34 STL_copy_range_to_buffer stl Copies memory range [param1..param2) into destination buffer, returns end pointer 0x006FE130 452 STL_vector_insert_single_4byte_006fe130 stl std::vector insert with reallocation using 1.5x growth, copies element at insertion point 0x006FE300 119 CEffEvilLand__ctor game_core Constructor: calls base effect ctor with ID 0x613, sets vtable, initializes empty particle vector 0x006FE380 129 CEffEvilLand__clear_particle_vector game_core Frees particle pointer vector buffer and zeros begin/end/capacity pointers 0x006FE410 95 CEffEvilLand__dtor game_core Destructor: sets vtable, clears particle vector, calls base effect dtor 0x006FE470 119 CEffEvilLand__scalar_dtor game_core Scalar deleting destructor: calls dtor, optionally frees 0xD8 byte object 0x006FE4F0 63 CEffEvilLand__destroy_all_particles game_core Destroys all particles in vector at 0xCC and resets end pointer to begin 0x006FE530 766 CEffEvilLand__create_ground_tiles game_core Creates NxN grid of ground particles using demonground textures with computed UV atlas coordinates 0x006FE880 38 CEffEvilLand__update_scroll_offset game_core Increments UV scroll offset at 0x324 by constant delta for animated ground texture 0x006FE8B0 159 CEffEvilLand__render_ground_overlay_all game_core Iterates particles, projects world to screen, renders overlay quads centered on tile grid 0x006FE950 126 CEffEvilLand__render_ground_overlay_single game_core Projects single particle world position to screen and renders overlay quad 0x006FE9D0 10 STL_throw_vector_too_long_006fe9d0 stl Throws std::length_error with "vector too long" message 0x006FE9E0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x006FEA20 227 CEffEZ2StrData__ctor game_core Constructor: calls base ctor with ID 0x40F, sets vtable, initializes particle vector and config fields 0x006FEB10 110 CEffEZ2StrData__dtor game_core Destructor: sets vtable, cleans up format data, destroys particle list, calls base dtor 0x006FEB80 134 CEffEZ2StrData__scalar_dtor game_core Scalar deleting destructor: calls dtor, optionally frees 0x100 byte object 0x006FEC10 198 CEffEZ2StrData__create_single_particle game_core Creates one particle with white color, alpha=255, configures scale/offset/blend from effect data 0x006FECE0 63 CEffEZ2StrData__destroy_all_particles game_core Destroys all particles in vector at 0xCC and resets end pointer to begin 0x006FED20 546 CEffEZ2StrData__create_particle_and_load_frames game_core Creates particle with white color, then loads 2x10 animation frame texture names into string vector 0x006FEF50 97 CEffEZ2StrData__configure_particle_appearance game_core Sets particle color to white, alpha=255, copies scale and position offset from effect config 0x006FEFC0 146 CEffEZ2StrData__reset_and_configure_all game_core Resets frame counter and duration, configures appearance for all particles in vector 0x006FF070 505 CEffEZ2StrData__update_all_particles game_core Updates particles: sets animated texture from frame list, builds rotation matrix, applies position offset 0x006FF270 367 CEffEZ2StrData__update_single_particle game_core Updates single particle: applies animated texture, builds camera-relative rotation+scale matrix 0x006FF3E0 83 CEffEZ2StrData__render_all_particles game_core Renders all particles with billboard render call, same pattern as unlimit render 0x006FF440 59 CEffEZ2StrData__render_single_particle game_core Renders single particle billboard with default UV and alpha=1.0 0x006FF480 120 CEffNavMapEff__ctor game_core 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 game_core Destructor for CEffNavMapEff: sets vtable 01114dc4, calls CEffectAura base destructor 0x006FF550 99 CEffNavMapEff__scalar_dtor game_core Scalar deleting destructor for CEffNavMapEff: calls dtor, optionally frees 0xDC byte object 0x006FF5C0 372 CEffEZ2StrData__transform_to_view_space game_core Transforms particle position from world to camera view space using view+projection matrices 0x006FF740 34 CEffNavMapEff__recycle_sprite game_core Recycles the 3D sprite at offset 0xCC back to the effect pool and sets the pointer to NULL 0x006FF780 245 effect_calc_screen_angle_between_points effect Projects two world positions to 2D screen, calculates angle between them using acos 0x006FF880 370 effect_calc_camera_relative_angle effect Calculates angle between two points relative to camera, quantized to 90-degree steps minus camera yaw 0x006FFA00 29 CEffNavMapEff__check_animation_done game_core 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 game_core Creates 3D sprite for nav map effect: initializes singleton data, loads model, configures animations and blend 0x006FFC60 571 CEffNavMapEff__update_3d_sprite game_core Updates 3D sprite: handles fade, height adjustment, world-to-view transform, animation completion check 0x006FFEF0 30 CEffNavMapEff__set_sprite_alpha game_core Sets the sprite alpha/opacity value at sprite offset 0x3FB4 if sprite exists 0x006FFF10 26 CEffNavMapEff__set_sprite_flag_3fe8 game_core Sets sprite config byte at offset 0x3FE8 if sprite exists 0x006FFF30 26 CEffNavMapEff__set_sprite_flag_3fe9 game_core Sets sprite config byte at offset 0x3FE9 if sprite exists 0x006FFF50 39 CEffNavMapEff__set_sprite_loop_config game_core Configures sprite animation loop: clears loop-once flag at 0x3F5C and sets loop-mode byte at 0x3F5D 0x006FFF90 26 CEffNavMapEff__set_sprite_anim_speed game_core Sets sprite animation speed/timing value at offset 0x3F98 if sprite exists 0x006FFFB0 30 CEffNavMapEff__set_sprite_scale_x game_core Sets sprite scale X value at offset 0x3FA4 if sprite exists 0x006FFFD0 30 CEffNavMapEff__set_sprite_scale_y game_core Sets sprite scale Y value at offset 0x3FA8 if sprite exists 0x006FFFF0 30 CEffNavMapEff__set_sprite_scale_z game_core Sets sprite scale Z value at offset 0x3FAC if sprite exists 0x00700010 30 CEffNavMapEff__set_sprite_offset game_core Sets sprite position offset value at offset 0x3FB0 if sprite exists 0x00700030 50 CEffNavMapEff__set_total_frames_and_recalc game_core Sets total animation frames at sprite offset 0x3FA0, recalculates duration (frames/16), and updates effect aura param 0x00700070 1157 CEffectDataMgr__add_effect_entry effect Parses effect data from JSON: extracts name, textures, flags, scale, sound, inserts into red-black tree map 0x00700500 175 CEffectDataMgr__destroy_map_subtree effect Recursively destroys red-black tree nodes, freeing string keys and 0x80 byte node allocations 0x007005B0 129 CEffectDataMgr__lower_bound_search effect std::map lower_bound search: traverses red-black tree comparing string keys to find insertion point 0x00700640 249 CEffectDataMgr__copy_entry_data effect Copies effect data entry: string key, config values, texture paths via move semantics on strings 0x00700740 67 CEffectDataMgr__free_sentinel_node effect Frees the 0x70-byte red-black tree sentinel/header node at offset 4 0x00700790 79 CEffectDataMgr__destroy_map_and_free effect Destroys the entire effect data red-black tree: recursively frees all nodes via destroy_map_subtree, then frees the 0x80-byte root/sentinel node 0x007007F0 153 CEffectDataMgr__get_entry_texture effect Looks up effect entry by ID and returns copy of its texture path string 0x00700890 78 CEffectDataMgr__get_entry_scale effect Looks up effect entry by ID and returns its scale values (x,y) 0x007008E0 90 CEffectDataMgr__dtor effect Destructor for CEffectDataMgr: destroys red-black tree map subtree via destroy_map_subtree, then frees the 0x80-byte map root node 0x00700940 112 CEffectDataMgr__get_entry_duration effect Looks up effect entry by ID and returns duration and secondary timing values 0x007009B0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00700A10 114 CEffectDataMgr__find_entry_by_id effect Searches red-black tree map for effect entry matching ID+10000, returns data pointer or null 0x00700A90 272 CEffectDataMgr__lookup_effect_id_by_name effect Converts name to lowercase, searches map, returns effect ID (key+10000) or -1 if not found 0x00700BA0 187 CEffectDataMgr__collect_all_entry_ids effect Collects all effect entry IDs into an output vector. Iterates the red-black tree map, computes each ID as (stored_key + 10000), and appends to the result vector via push_back 0x00700C60 426 CEffectDataMgr__get_name_by_id effect Searches map for entry matching ID-10000, returns copy of its name string 0x00700E30 813 CEffectDataMgr__load_from_json effect Loads EZ2STREffData.json: opens file, deserializes JSON, rebuilds effect map from parsed entries 0x00701160 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00701370 205 CEffKiss__ctor game_core Constructor for kiss effect: calls base ctor, sets vtable, initializes particle vector and config 0x00701440 95 CEffKiss__dtor game_core Destructor: sets vtable, clears particle vector, calls base effect dtor 0x007014A0 119 CEffKiss__scalar_dtor game_core Scalar deleting destructor: calls dtor, optionally frees object memory 0x00701520 63 CEffKiss__destroy_all_particles game_core Destroys all kiss particles and resets vector end to begin 0x00701560 232 CEffKiss__create_particle game_core Creates kiss particle with kiss_bmp texture, random height offset, random rotation angle 0x00701650 173 CEffKiss__reinit_particle game_core 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 game_core Updates kiss particles: applies sin-wave wobble, builds scale+tilt+translation transform matrix 0x00701930 468 CEffKiss__update_single_particle game_core Updates single kiss particle: applies sine wobble on Y/Z, builds scale+rotation+translation matrix 0x00701B10 83 CEffKiss__render_all_particles game_core Renders all kiss particles as billboards with default UV and alpha 0x00701B70 59 CEffKiss__render_single_particle game_core Renders single kiss particle billboard with default UV and alpha=1.0 0x00701BB0 171 CEffRingBlue__ctor game_core Constructor for ring blue effect: calls base ctor, sets vtable, initializes particle vector and config 0x00701C60 95 CEffRingBlue__dtor game_core Destructor: sets vtable, clears particle vector, calls base effect dtor 0x00701CC0 119 CEffRingBlue__scalar_dtor game_core Scalar deleting destructor: calls dtor, optionally frees object memory 0x00701D40 408 CEffRingBlue__compute_orbital_vertices game_core Computes orbital vertex positions using sin/cos tables with rotation speed and radius parameters 0x00701EE0 63 CEffRingBlue__destroy_all_particles game_core Destroys all ring particles and resets vector end to begin 0x00701F20 637 CEffRingBlue__create_ring_particles game_core Creates 22 orbital ring particles with ring_blue texture, computes initial orbital positions 0x007021C0 523 CEffRingBlue__reinit_single_particle game_core 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 game_core 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 game_core 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 game_core 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 game_core Renders a single ring blue particle with computed UV coordinates based on particle index, calls CEffectLayer__render_from_struct 0x007028C0 149 CEffShinkiro__ctor game_core 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 game_core Destructor for CEffShinkiro: sets vtable, calls CEffectAura__dtor_base to clean up base class 0x007029B0 99 CEffShinkiro__scalar_dtor game_core Scalar deleting destructor for CEffShinkiro: sets vtable, calls base dtor, optionally frees 0xE4 bytes of object memory 0x00702A20 63 CEffShinkiro__destroy_all_particles game_core Destroys all shinkiro particles and resets vector end to begin 0x00702A60 599 CEffShinkiro__create_projectile game_core Creates 3D sprite with SHINKIRO_SHIRANUI model, computes direction vector and screen angle to target 0x00702CD0 596 CEffShinkiro__update_projectile game_core Updates projectile: moves along direction vector, transforms to view space, increments frame counter 0x00702F30 85 CEffShinkiro__render_projectile game_core Renders shinkiro 3D sprite projectile if sprite pointer exists 0x00702F90 89 CEffDragonKnight__ctor game_core Constructor for Dragon Knight charging pierce effect: initializes base, vtable, particle list 0x00702FF0 93 CEffDragonKnight__scalar_dtor_00702ff0 game_core Scalar deleting destructor for CEffDragonKnight: calls CEffectAura__dtor_base, optionally frees 0xCC bytes of object memory 0x00703060 133 CEffDragonKnightCharge__ctor game_core 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 game_core 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 game_core Frees a single 0xC-byte linked list node from the DragonKnightHit sprite list 0x007031C0 78 CEffDragonKnightHit__free_list_node game_core Sets vtable and frees a single 0xC-byte list node; variant cleanup for DragonKnightHit 0x00703210 103 CEffDragonKnightHit__destroy_linked_list game_core Walks the DragonKnightHit linked list, frees each node, then frees the head node. Full list cleanup. 0x00703280 71 CEffDragonKnightCharge__dtor game_core Destructor for CEffDragonKnightCharge: sets vtable PTR_LAB_01115254, calls CEffectAura__dtor_base 0x007032D0 146 CEffDragonKnightHit__dtor game_core 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 game_core Scalar deleting destructor for CEffDragonKnightCharge: sets vtable, calls base dtor, optionally frees 0x194 bytes 0x007033E0 170 CEffDragonKnightHit__scalar_dtor game_core 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 game_core Creates DK_CHARGINGPIERCE 3D sprites at bone positions and adds to linked list 0x007036B0 378 CEffDragonKnight__create_hit_sprites game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Updates all DK sprites: transforms charge sprites, updates hit sprites with world-to-view transform 0x00704360 540 CEffDragonKnight__update_sprite_list game_core Updates sprites in linked list: transforms positions, manages animation lifecycle 0x00704580 482 CEffDragonKnight__update_hit_transforms game_core Updates hit sprite transforms: builds camera rotation + scale + bone offset matrix for each slot 0x00704770 700 CEffDragonKnight__update_single_charge_transform game_core Updates single charge sprite: applies camera rotation, scale, bone offset to build transform matrix 0x00704A30 377 CEffDragonKnight__render_charge_and_hit_sprites game_core 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 game_core Renders a single DK effect sprite via CEffect__render_active_layers_alt if non-null. 0x00704C20 317 CEffDragonKnight__render_single_list_sprite game_core Renders a single sprite from the linked list using CEffectLayer__render_mesh with UV/scale parameters derived from animation data. 0x00704D60 172 CEffHyperNovice__ctor game_core Constructor for Hyper Novice jupitel thunder effect: initializes base, vtable, config fields 0x00704E10 95 CEffHyperNovice__dtor game_core Destructor: sets vtable, destroys 3D sprite, clears particle vectors, calls base dtor 0x00704E70 119 CEffHyperNovice__scalar_dtor game_core Scalar deleting destructor: calls dtor, optionally frees object memory 0x00704EF0 329 CEffHyperNovice__create_particles game_core 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 game_core Destroys all hyper novice particles and resets vector end to begin 0x00705080 126 CEffHyperNovice__compute_direction_angle game_core 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 game_core 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 game_core 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 game_core Updates a single HN trail particle: adjusts speed, shifts position history ring buffer, increments frame counter. 0x00705510 1365 CEffHyperNovice__update_trail_particles game_core Updates HN trail particles: computes exponential decay positions with sin/cos curves for lightning trail 0x00705A70 1295 CEffHyperNovice__update_single_trail game_core Updates single trail particle: applies exponential decay curve for lightning trail vertex positions 0x00705F80 173 CEffHyperNovice__ctor_extended game_core Extended constructor with additional config for HN jupitel thunder effect variant 0x00706030 95 CEffHyperNovice__dtor_extended game_core Extended destructor for HN jupitel thunder variant effect 0x00706090 119 CEffHyperNovice__scalar_dtor_extended game_core Scalar deleting destructor for extended HN effect variant 0x00706110 98 CEffHyperNovice__destroy_all_sprites game_core 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 game_core Creates HN jupitel thunder 3D sprite and spawns trail particles at computed positions with sound 0x00706690 300 CEffHyperNovice__update_trail_and_projectile game_core Updates HN projectile position and all trail particle sprites 0x007067C0 114 CEffHyperNovice__render_all_sprites game_core Renders main sprite at 0xCC and all trail particle sprites in vector (0xD0-0xD4) via CEffect__render_active_layers_alt. 0x00706840 106 CEffHyperNoviceSpell__ctor game_core 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 game_core Destructor for HN Climax spell effect: sets vtable, calls CEffectAura__dtor_base to clean up base effect. 0x00706900 99 CEffHyperNoviceSpell__scalar_dtor game_core Scalar deleting destructor for HN Climax spell effect: calls base dtor, optionally frees 0xD4 bytes of object memory. 0x00706970 345 CEffHyperNoviceSpell__transform_to_view game_core 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 game_core 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. 0x00706C9C 1 CEffect__load_climax_aura_resource effect Loads climax aura effect resource, sets active flag, registers AG_CLIMAX_wav sound entry 0x00706CA4 91 CEffect__finalize_climax_aura_effect effect Finalizes climax effect: loads resource, sets render flag at 0x3f5c, stores effect pointer at offset 0xd0, adds AG_CLIMAX_wav sound entry to aura. 0x00706CFF 1 nop_return_void_00706cff game_core Single-byte NOP stub (no operation, returns immediately) 0x00706D0F 1 nop_return_void_00706d0f game_core Single-byte NOP stub (no operation, returns immediately) 0x00706D73 1 nop_return_void_00706d73 game_core Single-byte NOP stub (no operation, returns immediately) 0x00706D83 1 nop_return_void_00706d83 game_core Single-byte NOP stub (no operation, returns immediately) 0x00706DC9 1 nop_return_void_00706dc9 game_core Single-byte NOP stub (no operation, returns immediately) 0x00706DE7 1 nop_return_void_00706de7 game_core Single-byte NOP stub (no operation, returns immediately) 0x00706DF7 1 nop_return_void_00706df7 game_core Single-byte NOP stub (no operation, returns immediately) 0x00706E3D 1 nop_return_void_00706e3d game_core Single-byte NOP stub (no operation, returns immediately) 0x00706E5D 1 nop_return_void_00706e5d game_core Single-byte NOP stub (no operation, returns immediately) 0x00706E70 1 nop_return_void_00706e70 game_core Single-byte NOP stub (no operation, returns immediately) 0x00706E9D 75 CEffect__init_climax_aura_sound effect Initializes climax aura sound: sets render flag at 0x3f5c, stores effect ptr at 0xd0, adds AG_CLIMAX_wav sound entry. 0x00706F10 464 CEffHyperNoviceSpell__update_particles game_core 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 game_core 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 game_core 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 game_core Renders a single spell particle sprite via CEffect__render_active_layers_alt if non-null. 0x007072E0 34 CRT_memmove_forward crt Forward memmove: copies (param_2 - param_1) bytes from param_1 to param_3 via memcpy. Returns destination end pointer. 0x00707310 452 STL_vector_insert_single_4byte_00707310 stl std::vector insert with 1.5x growth reallocation, copies single element at insertion point 0x007074E0 190 CEffFireworks__ctor game_core Constructor for fireworks/sparkle effect: initializes base, vtable, particle vector and config 0x007075A0 556 CEffFireworks__create_burst_particles game_core Creates burst of 3D particles at random positions with scaling based on skill level 0x007077D0 63 CEffFireworks__destroy_all_particles game_core Destroys all fireworks particles and resets vector end to begin 0x00707810 66 CEffFireworks__create_particles_by_type game_core 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 game_core 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 game_core Updates fireworks particles: applies gravity, fades alpha, sets position 0x00707C40 83 CEffFireworks__update_single_particle game_core Updates single fireworks particle: advances sprite animation frame, triggers sound callback (0x7A) at specific frame, increments frame counter. 0x00707CA0 94 CEffFireworks__render_all game_core Renders all active fireworks particles: iterates vector, checks lifetime, calls CEffectLayerEx__render for each alive particle. 0x00707D00 27 CEffFireworks__render_single game_core Renders a single fireworks particle via CEffectLayerEx__render if non-null. 0x00707D20 10 STL_throw_vector_too_long_00707d20 stl Throws std::length_error with "vector too long" message 0x00707D30 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00707D70 171 CEffNyangGrass__ctor game_core Constructor for Nyanggrass ground effect: initializes base, vtable, particle vector and grid size 0x00707E80 95 CEffNyangGrass__dtor game_core Destructor: sets vtable, clears particle vector, calls base effect dtor 0x00707EE0 119 CEffNyangGrass__scalar_dtor game_core Scalar deleting destructor: calls dtor, optionally frees object memory 0x00707F70 50 CEffNyangGrass__destroy_all_particles game_core Destroys all nyanggrass particles and resets both particle vectors 0x00707FB0 308 CEffEvilLand__alloc_overlay_vertices game_core Allocates overlay vertex buffer for N quads (N*0x28 bytes), frees previous allocation 0x007080F0 360 CEffEvilLand__render_overlay_quad game_core Projects 4 world vertices to screen, sets UV coords with scroll offset, submits to overlay queue 0x00708260 130 CEffNyangGrass__ctor_with_grid game_core 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 game_core Destructor for grid variant: clears particle vector, calls base dtor 0x00708350 119 CEffNyangGrass__scalar_dtor_with_grid game_core Scalar deleting destructor for grid variant effect 0x007083D0 477 CEffNyangGrass__create_grid_particles game_core Creates NxN grid of su_nyanggrass 3D sprites at evenly spaced positions 0x007085B0 63 CEffNyangGrass__destroy_grid_particles game_core Destroys all grid particles and resets vector end to begin 0x007085F0 493 CEffNyangGrass__create_grid_particles_variant game_core Creates NxN grid of su_nyanggrass sprites with su_nyanggrass_str model at each cell position 0x00708830 79 CEffNyangGrass__update_all_particles game_core Updates all nyanggrass particles: transforms to view space, increments frame counter 0x00708880 45 CEffNyangGrass__update_single_particle game_core Updates single nyanggrass particle position and frame counter 0x007088B0 69 CEffNyangGrass__render_all_particles game_core Renders all nyanggrass 3D sprites, skipping null entries 0x00708900 43 CEffNyangGrass__render_single_sprite game_core Renders single nyanggrass 3D sprite model 0x00708930 119 CEffCompetentia__ctor game_core Constructor for Competentia cast effect: initializes base, vtable, particle vector and config 0x007089B0 95 CEffCompetentia__dtor game_core Destructor: sets vtable, clears particle vector, calls base effect dtor 0x00708A10 119 CEffCompetentia__scalar_dtor game_core Scalar deleting destructor: calls dtor, optionally frees object memory 0x00708A90 63 CEffCompetentia__destroy_all_particles game_core Destroys all competentia particles and resets vector end to begin 0x00708AD0 478 CEffCompetentia__create_cast_particles game_core Creates competentia cast particles with terrain height, loads competentia_cast_particle model, plays BeginSpell sound 0x00708CC0 182 CEffCompetentia__update_all_particles game_core Updates competentia particles: transforms to view space, increments frame counter 0x00708D80 45 CEffCompetentia__update_single_particle game_core Updates single competentia particle position and frame counter 0x00708DB0 69 CEffCompetentia__render_all_particles game_core Renders all competentia 3D sprites, skipping null entries 0x00708E00 43 CEffCompetentia__render_single_sprite game_core Renders single competentia 3D sprite model 0x00708E30 51 CEffCompetentia__set_particle_field game_core Propagates a value (param_2) to field 0x3f98 of all child particles in the vector 0x00708E70 164 CEffGroundGrow__ctor game_core Constructor for ground grow/shrink effect: initializes base, vtable, two particle vectors and config 0x00708F20 129 CEffGroundGrow__dtor game_core Destructor: clears both particle vectors, calls base effect dtor 0x00708FB0 110 CEffGroundGrow__scalar_dtor game_core Scalar deleting destructor: calls dtor, optionally frees object memory 0x00709020 134 CEffGroundGrow__scalar_deleting_dtor_00709020 game_core Scalar deleting destructor: sets vtable, calls CEffGroundGrow__dtor + CEffectAura chain, optionally frees 0xE8 bytes 0x007090B0 187 CEffGroundGrow__create_sprite_particles game_core Creates N*N sprite-based particles (CEffNyangGrass pool), loads sprite data + animation tree, initializes appearance and quad vertices 0x00709170 328 CEffGroundGrow__create_grow_particles game_core Creates NxN grid of growing particles at random positions within grid cells 0x007092C0 110 CEffGroundGrow__destroy_all_particles game_core Destroys both primary (offset 0xCC-0xD0) and secondary (offset 0xD8-0xDC) particle vectors, recycling all effects to pool 0x00709330 561 CEffGroundGrow__create_shrink_particles game_core Creates secondary shrink particles at random positions with random alpha and scale 0x00709570 278 CEffGroundGrow__reset_particle_appearance game_core Resets particle to initial state: random position offset, random alpha/scale, sets grow phase 0x007096B0 243 CEffGroundGrow__reset_grow_particle game_core Resets grow particle: randomizes position within grid cell, sets initial scale and grow phase 0x00709800 821 CEffGroundGrow__update_all_particles game_core Updates grow and shrink particles: manages grow/shrink/fade phases with camera rotation transform 0x00709B40 319 CEffGroundGrow__update_grow_single game_core Updates single grow particle: manages grow/shrink phase transitions with alpha and scale 0x00709C80 448 CEffGroundGrow__update_shrink_single game_core Updates single shrink particle: manages alpha fade with random rate, repositions with wobble 0x00709E40 139 CEffGroundGrow__render_all_particles game_core Renders grow particles as billboards and shrink particles as 3D models, skipping dead particles 0x00709ED0 36 CEffectCresciveBolt__render_sprite_particle effect Renders a crescive bolt sprite particle via CEffectLayerEx__render if particle flag at 0xA8 is not 2 (dead) 0x00709F00 68 CEffectCresciveBolt__render_particle effect Renders single crescive bolt particle with default billboard quad 0x00709F50 151 CEffectCresciveBolt__ctor effect Constructor for crescive bolt effect, inits base class 0x440 and zeroes particle vectors 0x00709FF0 95 CEffectCresciveBolt__dtor effect Destructor for crescive bolt effect, clears particle vector and destroys base 0x0070A050 119 CEffectCresciveBolt__scalar_deleting_dtor effect Scalar deleting destructor, calls dtor and optionally frees 0xF4 bytes 0x0070A0D0 327 CEffectCresciveBolt__spawn_ring_particles effect Spawns 4 particles in a ring (90deg apart), random rotation, bolt type 0x440 gets special size/alpha 0x0070A220 63 CEffectCresciveBolt__clear_particles effect Iterates particle vector at +0xE8, destroys each particle, resets end pointer 0x0070A260 418 CEffectCresciveBolt__spawn_grid_particles effect Spawns particles in 3x3 grid pattern for bolt type 0x440, sets lifetime counter to 0x758 0x0070A440 393 CEffectCresciveBolt__update_all_particles effect Updates all bolt particles: position, rotation (mod 360), alpha decay, builds transform matrix 0x0070A5D0 298 CEffectCresciveBolt__update_single_particle effect Updates single bolt particle: rotation, alpha fade by age, builds world transform matrix 0x0070A700 429 CEffectCresciveBolt__update_all_directions effect Updates direction vectors for all particles using sin/cos of angle, copies previous frame data 0x0070A8B0 380 CEffectCresciveBolt__update_single_direction effect Updates direction vectors for a single particle using sin/cos of angle, copies to prev frame 0x0070AA30 111 CEffectCresciveBolt__update_bolt_color effect Updates bolt color oscillation for type 0x440, modulates alpha by sin wave 0x0070AAA0 38 CEffectCresciveBolt__set_particle_texture effect Sets texture on particle for bolt type 0x440 0x0070AAD0 99 CEffectPocket__ctor effect Constructor for pocket/firefly effect, inits base class 0x79F, zeroes particle store 0x0070AB40 71 CEffectPocket__dtor effect Destructor for pocket effect, destroys base class 0x0070AB90 99 CEffectPocket__scalar_deleting_dtor effect Scalar deleting destructor, calls dtor and optionally frees 0xD0 bytes 0x0070AC00 34 CEffectPocket__destroy_particle effect Destroys single particle at offset +0xCC if non-null, sets to zero 0x0070AC30 608 CEffectPocket__spawn_crescive_bolt_projectile effect Spawns crescive bolt projectile: projects src/dst to screen, calculates angle, loads crescivebolt STR effect 0x0070AFB0 205 CEffectPocketOrbit__ctor effect Constructor for pocket orbit effect, inits base 0x117, zeroes two particle vectors and extra fields 0x0070B080 95 CEffectPocketOrbit__dtor effect Destructor for pocket orbit effect, clears particle vector and destroys base 0x0070B0E0 119 CEffectPocketOrbit__scalar_deleting_dtor effect Scalar deleting destructor, calls dtor and optionally frees 0x114 bytes 0x0070B160 63 CEffectPocketOrbit__clear_particles effect Iterates particle vector at +0x108, destroys each particle, resets end pointer 0x0070B1A0 254 CEffectPocketOrbit__spawn_particle effect Spawns pocket orbit particle with effect_pocket.bmp texture, random angle, alpha=200 0x0070B2A0 195 CEffectPocketOrbit__init_single_particle effect Initializes single pocket orbit particle with texture, random vertical offset, color 200,200,200 0x0070B380 535 CEffectPocketOrbit__update_all_particles effect Updates all orbit particles: position at origin, orbital motion via sin/cos, builds rotation + scale + translation matrix 0x0070B5A0 468 CEffectPocketOrbit__update_single_particle effect Updates single orbit particle: increments angle mod 360, computes orbital offset, builds transform chain 0x0070B780 83 CEffectPocketOrbit__render_all_particles effect Iterates particle vector at +0x108..+0x10C, calls CEffectLayer__render_mesh on each non-null particle to render billboard quads 0x0070B7E0 59 CEffectPocketOrbit__render_particle effect Renders single pocket orbit particle with billboard quad 0x0070B820 96 CEffectArrowProjectile__ctor effect Constructor for arrow/skill projectile effect, inits base and zeroes particle vector 0x0070B880 71 CEffectArrowProjectile__dtor effect Destructor for arrow projectile effect 0x0070B8D0 99 CEffectArrowProjectile__scalar_deleting_dtor effect Scalar deleting destructor for arrow projectile effect 0x0070B940 34 CEffectArrowProjectile__destroy_particle effect Destroys single particle at +0xCC, sets to zero 0x0070B970 1781 CEffectArrowProjectile__spawn_skill_projectile effect Spawns skill projectile by ID: crimsonarrow(0x6DC), rhythmshooting(0x81A), frenzy_shot(0x842), unlucky_rush(0x86A), judgement_cross(0x893) 0x0070C150 119 CEffectMobProjectile__ctor effect Constructor for mob projectile effect, inits base class with particle vectors 0x0070C1D0 95 CEffectMobProjectile__dtor effect Destructor for mob projectile effect 0x0070C230 119 CEffectMobProjectile__scalar_deleting_dtor effect Scalar deleting destructor for mob projectile effect 0x0070C2B0 63 CEffectMobProjectile__clear_particles effect Iterates particle vector, destroys each particle, resets end pointer 0x0070C2F0 181 CEffectMobProjectile__spawn_3d_projectile effect Spawns 3D mob projectile, sets textures, enables 0x200 flag, speed 8.0, lifetime 9999 0x0070C440 41 CEffectMobProjectile__render_all_particles effect Iterates the particle vector at +0xCC..+0xD0 and calls CEffectLayerEx__render(1) on each 3D sprite particle 0x0070C470 143 effect_format_bullet_path_string effect Formats a bullet effect path string from prefix + mob bullet name via charconv format 0x0070C500 28 CEffectMobProjectile__set_blend_color effect Sets blend/color value on mob projectile particle. Writes 0xB0000000 to first field and copies source value to second field - configures alpha blend mode 0x0070C520 34 CEffectMobProjectile__destroy_particle effect Destroys single mob projectile particle at +0xCC, sets to zero 0x0070C550 120 get_mob_bullet_name_by_id game_core Returns bullet sprite name for mob ID: EP21 mobs, violen, corruption root, dregg, shadow jailer, etc. Default: skel_archer_arrow 0x0070C750 158 CEffectMobProjectile__spawn_homing_projectile effect Spawns homing 3D projectile type 0x101, records start time and position for interpolation 0x0070C800 894 CEffectMobProjectile__update_homing_projectile effect Updates homing projectile: time-based interpolation, velocity normalization, direction angle, position with offset 0x0070CBA0 458 CEffectMobProjectile__set_bullet_textures effect Sets top and bottom textures for mob bullet by mob ID lookup, marks inactive if bullet name empty 0x0070CEA0 119 CEffectSkillAura__ctor effect Constructor for skill aura effect class 0x0070CF20 95 CEffectSkillAura__dtor effect Destructor for skill aura effect 0x0070CF80 119 CEffectSkillAura__scalar_deleting_dtor effect Scalar deleting destructor for skill aura effect 0x0070D000 63 CEffectSkillAura__clear_particles effect Clears all particles from skill aura vector 0x0070D040 258 CEffectSkillAura__spawn_triple_aura effect Spawns 3 aura sprites with different textures per index, scale 0.3, alpha 200, render type 3 0x0070D160 345 CEffectSkillAura__update_and_render_particles effect Updates all skill aura particles: advances angle oscillation, computes orbital position via sin/cos, adjusts for camera rotation, calculates animation direction frame index, increments age counter 0x0070D300 119 CEffectDirectionalProjectile__ctor effect Constructor for directional projectile effect (atan2-based aim) 0x0070D380 95 CEffectDirectionalProjectile__dtor effect Destructor for directional projectile effect 0x0070D3E0 119 CEffectDirectionalProjectile__scalar_deleting_dtor effect Scalar deleting destructor for directional projectile 0x0070D460 63 CEffectDirectionalProjectile__clear_particles effect Clears all particles from directional projectile vector 0x0070D4A0 428 CEffectDirectionalProjectile__spawn_quad_projectiles effect Spawns 4 3D projectiles with atan2 aim angle, staggered start times, speed based on distance/16 0x0070D690 375 CEffectDirectionalProjectile__check_and_clear_render effect Checks flag and calls render clear for directional projectile, handles sprite rendering 0x0070D810 56 CEffectDirectionalProjectile__render_particle effect Renders directional projectile particle with billboard quad 0x0070D850 99 CEffectSingleProjectile__ctor effect Constructor for single projectile effect, inits base and zeroes particle store 0x0070D8C0 71 CEffectSingleProjectile__dtor effect Destructor for single projectile effect 0x0070D910 99 CEffectSingleProjectile__scalar_deleting_dtor effect Scalar deleting destructor for single projectile effect 0x0070D980 34 CEffectSingleProjectile__destroy_particle effect Destroys single projectile particle at +0xCC 0x0070D9B0 380 CEffectSingleProjectile__spawn_aimed_projectile effect Spawns single aimed 3D projectile, calculates atan2 direction angle, speed = distance/16 frames 0x0070DB50 373 CEffectSingleProjectile__check_and_clear_render effect Checks flag and calls render clear for single projectile effect 0x0070DCF0 119 CEffectGroundAura__ctor effect Constructor for ground aura effect class 0x0070DD70 95 CEffectGroundAura__dtor effect Destructor for ground aura effect 0x0070DDD0 119 CEffectGroundAura__scalar_deleting_dtor effect Scalar deleting destructor for ground aura effect 0x0070DE50 63 CEffectGroundAura__clear_particles effect Clears all particles from ground aura vector 0x0070DE90 157 CEffectGroundAura__spawn_aura effect Spawns single ground aura 3D particle with textures, render type 3, lifetime 9999 0x0070DF40 331 CEffectGroundAura__check_and_clear_render effect Checks flag and calls render clear for ground aura effect 0x0070E090 41 CEffectGroundAura__render_particle effect Renders ground aura particle with billboard quad 0x0070E0C0 160 CEffectCurseCube__ctor effect Constructor for NPC curse cube effect (red/blue variants 0x901/0x902) 0x0070E160 95 CEffectCurseCube__dtor effect Destructor for curse cube effect 0x0070E1C0 119 CEffectCurseCube__scalar_deleting_dtor effect Scalar deleting destructor for curse cube effect 0x0070E240 446 CEffectCurseCube__spawn_cube_effect effect Spawns red (0x901) or blue (0x902) NPC curse cube STR effect, adds to particle vector 0x0070E400 877 CEffectCurseCube__spawn_dual_cube_effects effect Spawns two curse cube STR effects (red or blue), first with looping flag, second separate layer 0x0070E770 864 CEffectCurseCube__spawn_effect_layers effect Spawns STR effect layers for curse cube (red 0x901 or blue 0x902 variants). Allocates two effect layers per variant, loads NPC_CURSE_OF_RED/BLUE_CUBE resources, adds to particle vector 0x0070EAD0 63 CEffectCurseCube__clear_particles effect Clears all particles from curse cube vector 0x0070EB10 30 CEffectCurseCube__update_and_advance_phase effect Calls two vtable methods (update + spawn) on the curse cube effect, then sets phase/state field to 3 0x0070EB30 44 CEffectCurseCube__init_and_set_phase effect Sets initialization flag at +0xC0, calls a vtable method, then sets phase to 1 if particle vector is non-empty 0x0070EB60 34 CEffectCurseCube__is_active effect Checks if curse cube effect is active: returns true if owner entity is alive AND particle vector is non-empty 0x0070EB90 726 CEffectViewSpace__update_all_particles effect Updates all view-space particles: transforms positions via camera matrices, removes expired, triggers phase 2 spawn 0x0070EE70 514 CEffectViewSpace__update_single_particle effect Updates single view-space particle: world position via camera inverse transform, sets billboard color 0x0070F080 65 CEffectWarningPlane__render_particles effect Renders all warning plane particles by iterating the particle vector and calling render_active_layers_alt with camera matrix 0x0070F0D0 140 CEffectWarningPlane__ctor effect Constructor for CEffectWarningPlane. Calls CEffectAura base ctor with type 0x45a, sets vtable, zeroes particle vector and state fields 0x0070F160 95 CEffectWarningPlane__dtor effect Destructor for warning plane effect 0x0070F1C0 119 CEffectWarningPlane__scalar_deleting_dtor effect Scalar deleting destructor for warning plane effect 0x0070F240 200 CEffectWarningPlane__spawn_warning_plane effect Spawns warning plane particle with warning_plane.tga texture, scale 2.5, alpha 150, red color 0x0070F310 63 CEffectWarningPlane__clear_particles effect Clears all particles from warning plane vector 0x0070F360 38 CEffectWarningPlane__check_expired effect Checks if warning plane effect has expired by comparing current timeGetTime against expiry timestamp at +0xDC. Returns false if expired, otherwise checks owner alive 0x0070F390 384 CEffectWarningPlane__update_all_particles effect Updates warning plane particles: rotates billboard via X-rot + camera angle, pulses alpha between 51-249 0x0070F510 340 CEffectWarningPlane__update_single_particle effect Updates single warning plane particle transform and alpha pulse 0x0070F670 92 CEffectNipelheim__render_particles effect Renders all Nipelheim effect particles by iterating vector and calling CEffectLayer__render_mesh with default parameters for each active particle 0x0070F6D0 68 CEffectNipelheim__render_single_particle effect Renders a single Nipelheim particle as a mesh via CEffectLayer__render_mesh. Only renders if the flag at +0xDC is set and the particle pointer (param_2) is non-null. 0x0070F720 116 CEffectNipelheim__ctor effect Constructor for CEffectNipelheim. Calls CEffectAura base ctor, sets vtable to 011169bc, initializes particle index fields (0x34, 0x35, 0x36) to zero. 0x0070F7A0 95 CEffectNipelheim__dtor effect Destructor for nipelheim effect 0x0070F800 399 effect_compute_spiral_basis_vectors effect Computes spiral basis vectors from angles using sin/cos for helix-shaped particle positioning 0x0070F990 119 CEffectNipelheim__scalar_deleting_dtor effect Scalar deleting destructor for nipelheim effect 0x0070FA10 250 CEffectNipelheim__spawn_particles effect Spawns up to 21 particles for nipelheim effect. Allocates from pool (type 5), sets texture for skill 0x81D (nipelheim_cast), initializes quad vertices and particle parameters, pushes to particle vector. 0x0070FB10 63 CEffectNipelheim__clear_all_particles effect Destroys and recycles ALL particles in the secondary vector (0xd0..0xd4), resetting the vector to empty. Despite the old name, this clears the entire vector, not a single particle. 0x0070FB50 266 CEffectNipelheim__spawn_spiral_particles effect Spawns 21 spiral particles for nipelheim cast effect, records start time, type 0x81D gets special params 0x0070FC60 25 CEffectNipelheim__is_within_duration effect Checks if nipelheim effect is still within its duration. Returns true if current time <= start_time + duration. Uses timeGetTime(). 0x0070FC80 419 CEffectNipelheim__update_all_spiral_particles effect Updates all nipelheim spiral particles: position at origin, computes helix basis vectors per angle 0x0070FE30 362 CEffectNipelheim__update_single_spiral_particle effect Updates single nipelheim spiral particle: computes helix basis and advances angle by speed 0x0070FFA0 168 CEffectDancingKnife__render_all_particles effect Renders all dancing knife particles by iterating the particle vector (0xd0..0xd4) and calling CEffectLayer__render_from_struct for each with UV coordinates based on particle index. 0x00710050 126 CEffectDancingKnife__render_single_particle effect Renders a single dancing knife particle via CEffectLayer__render_from_struct with UV coordinates computed from particle index and global divisor. 0x007100D0 153 CEffectDancingKnife__ctor effect Constructor for CEffectDancingKnife. Calls CEffectAura base ctor with skill ID 0x725, sets vtable to 01116a8c, initializes 6 member fields (0x33-0x38) to zero. 0x00710170 110 CEffectDancingKnife__dtor effect Destructor for CEffectDancingKnife. Sets vtable, deallocates two STL vectors, calls CEffectAura base destructor. 0x007101E0 134 CEffectDancingKnife__scalar_deleting_dtor effect Scalar deleting destructor for CEffectDancingKnife. Same as dtor but conditionally calls operator_delete(this, 0xe8) based on flag parameter. 0x00710270 627 CEffectDancingKnife__spawn_knife_effects effect Spawns dancing knife bottom (3D model) and dancing effect (billboard) STR particles 0x007104F0 666 CEffectDancingKnife__spawn_looping_knife_effects effect Spawns looping dancing knife effects with 3f5c loop flag, stores player direction at +0x20 0x00710790 110 CEffectDancingKnife__clear_particles effect Clears all dancing knife particles. Iterates two vectors (0xcc..0xd0 and 0xd8..0xdc), recycles each effect back to the pool, resets vector sizes to empty. 0x00710800 41 CEffectDancingKnife__activate_and_play_sound effect Activates dancing knife effect: clears looping flag (0xe4=0), spawns initial knife effects, and plays SHC_DANCING_KNIFE.wav sound via CEffectAura__add_effect_entry. 0x00710840 372 CEffectDancingKnife__update_all_particles effect Updates all dancing knife particles: position, rotation, model transforms 0x007109C0 96 CEffectEternalSlash__update_single_particle effect Updates a single eternal slash particle: sets position from owner (with Y offset for DAT_010e9954), then ticks animation. 0x00710A20 130 CEffectEternalSlash__render_all_particles effect Renders all eternal slash particles. Iterates two vectors (0xcc..0xd0 and 0xd8..0xdc), for each non-null entry gets mode field and calls CEffect__render_active_layers_alt. 0x00710AB0 43 CEffectEternalSlash__render_single_particle effect Renders a single eternal slash particle by getting mode field and calling CEffect__render_active_layers_alt if non-null. 0x00710AE0 116 CEffectEternalSlash__ctor effect Constructor for CEffectEternalSlash. Calls CEffectAura base ctor (param -1), sets vtable to 01116c3c, initializes 3 member fields (0x33-0x35) to zero. 0x00710B60 95 CEffectEternalSlash__dtor_base effect Base destructor for eternal slash effect class 0x00710BC0 119 CEffectEternalSlash__scalar_deleting_dtor_base effect Base scalar deleting destructor for eternal slash 0x00710C40 63 CEffectEternalSlash__clear_particles_base effect Base clear particles for eternal slash 0x00710C80 712 CEffectEternalSlash__spawn_slash_effects effect Spawns eternal slash bottom (3D) and STR effects with Y offset -13.0 0x00710FB0 123 CEffectEternalSlash__update_all_particles effect Updates all eternal slash particles: iterates vector (0xcc..0xd0), sets each particle position from owner position plus per-particle offset (0xd0/0xd4/0xd8), then ticks animation. 0x00711030 101 CEffectEternalSlash__update_single_particle_with_offset effect Updates a single eternal slash particle with per-particle offset: position = owner_pos + particle_offset (0xd0/0xd4/0xd8), then ticks animation. 0x007110A0 69 CEffectEternalSlash__render_primary_particles effect Renders the primary particle vector (0xcc..0xd0) of eternal slash. Gets mode and calls render_active_layers_alt for each non-null entry. 0x007110F0 43 CEffectEternalSlash__render_single_particle_alt effect Renders a single eternal slash particle (alternate entry point). Gets mode field and calls CEffect__render_active_layers_alt if param is non-null. 0x00711120 99 CEffectEternalSlashCount__ctor effect Constructor for eternal slash counter effect (1-5 hit count display) 0x00711190 71 CEffectEternalSlashCount__dtor effect Destructor for eternal slash counter effect 0x007111E0 99 CEffectEternalSlashCount__scalar_deleting_dtor effect Scalar deleting destructor for eternal slash counter 0x00711250 34 CEffectEternalSlashCount__destroy_particle effect Destroys eternal slash counter particle 0x00711280 192 CEffectEternalSlashCount__spawn_counter effect Spawns eternal slash counter STR effect for hit count 1-5, Y offset -25.0 0x00711420 129 CEffectEternalSlashCount__ctor_00711420 effect Constructor for a secondary CEffectEternalSlashCount variant. Calls CEffectAura base ctor with skill 0x474, sets vtable to 01116e00, initializes 4 member fields to zero. 0x007114B0 71 CEffectEternalSlashCount__dtor_007114b0 effect Destructor for CEffectEternalSlashCount variant at 01116e00. Sets vtable, calls CEffectAura base destructor. 0x00711500 99 CEffectEternalSlashCount__scalar_deleting_dtor_00711500 effect Scalar deleting destructor for CEffectEternalSlashCount variant. Sets vtable to 01116e00, calls CEffectAura base dtor, conditionally frees 0xdc bytes. 0x00711580 259 CEffectFloralFlareroad__ctor effect Constructor for floral flareroad skill effect 0x007116D0 237 CEffectFloralFlareroad__update_particle_movement effect Updates floral flareroad particle movement: computes direction from start to current position, normalizes it, advances position by DAT_01116ea8 step, ticks animation with Y=-80.0 offset, increments frame counter at +0xe8. 0x007117C0 41 CEffectFloralFlareroad__tick_animation_wrapper effect Thin wrapper that calls CEffect__tick_animation with params (0, -80.0, 0) for floral flareroad effect. 0x00711820 43 CEffectFloralFlareroad__render_single_particle effect Renders a single floral flareroad particle. Gets mode via get_field4_if_mode1 and calls CEffect__render_active_layers_alt if param is non-null. 0x00711850 111 CEffectFloralFlareroad__set_position effect Sets the position of floral flareroad effect. Stores X/Y/Z to owner fields (0x8/0xc/0x10), applies height offset from global data, and positions the main particle (0xcc) at the same coordinates. 0x007118C0 119 CEffectFloralFlareroad__ctor_007118c0 effect Constructor for CEffectFloralFlareroad secondary variant. Calls CEffectAura base ctor with skill 0x70c, sets vtable to 01116eb0, initializes 3 member fields (0x34-0x36) to zero. 0x00711940 95 CEffectFloralFlareroad__dtor_base effect Base destructor for floral flareroad 0x007119A0 119 CEffectFloralFlareroad__scalar_deleting_dtor_base effect Base scalar deleting destructor for floral flareroad 0x00711A20 77 CEffectFloralFlareroad__clear_particles_base effect Base clear particles for floral flareroad 0x00711A70 813 CEffectFloralFlareroad__spawn_flare_effects effect Spawns floral flareroad bottom 3D model + scattered STR particles with random offsets, plays AG_ALL_BLOOM sound 0x00711DB0 232 CEffectFloralFlareroad__update_and_cull_particles effect Updates and culls floral flareroad particles. Ticks animation on the main effect if active, then iterates the particle vector. For each particle: if lifetime expired or alpha threshold exceeded, recycles it back to pool and compacts the vector; otherwise ticks its animation. 0x00711EA0 45 CEffectFloralFlareroad__tick_single_particle effect Ticks animation on a single floral flareroad particle if the particle pointer is non-null. Calls CEffect__tick_animation with fixed parameters. 0x00711ED0 114 CEffectFloralFlareroad__render_all_particles effect Renders all floral flareroad particles. Renders the main effect at +0xCC if non-null, then iterates the particle vector (0xd0..0xd4) and renders each non-null entry via CEffect__render_active_layers_alt. 0x00711F50 43 CEffectFloralFlareroad__render_single_particle_alt effect Renders a single floral flareroad particle via get_field4_if_mode1 and CEffect__render_active_layers_alt if param is non-null. 0x00711F80 291 CFootprintPng__ctor game_sprites Constructor for CFootprintPng. Calls CEffectAura base ctor with type 0x96B, sets vtable 01116fd4, allocates 12-byte linked list sentinel node at +0xCC, initializes two STL string members, position fields from base, and sets initial parameters including Y offset -1000.0. 0x007120B0 67 CFootprintPng__free_linked_list_node game_sprites Frees the 12-byte linked list sentinel node at this+4 if non-null. Used during CFootprintPng destruction to clean up linked list storage. 0x00712100 78 CFootprintPng__free_list_node game_sprites Frees a single linked list node (0xC bytes) at this+4 if non-null 0x00712150 103 CFootprintPng__destroy_linked_list game_sprites Iterates and frees all nodes in a linked list, then frees the sentinel node 0x007121C0 180 CFootprintPng__dtor game_sprites Destructor: sets vtable 01116fd4, destroys member strings and footprint sprite list 0x00712280 204 CFootprintPng__scalar_dtor game_sprites Scalar deleting destructor for CFootprintPng (0x128 bytes), frees memory if flag set 0x00712350 105 CFootprintPng__clear_sprite_list game_sprites Destroys all footprint sprites in list at +0xCC, resets list to empty, clears count at +0xD0 0x007123C0 77 CFootprintPng__should_render game_sprites Checks if footprint rendering is enabled: validates actor, checks ability 0x10D, and option flag 0x00712410 908 CFootprintPng__load_config game_sprites Loads footprint PNG config: file path, scale, alpha, duration, stride from lua settings 0x007127B0 733 CFootprintPng__create_sprite game_sprites Creates a footprint sprite with alpha/duration, applies rotation matrix to position 4 vertices 0x00712A90 433 CFootprintPng__update game_sprites Updates footprint list: creates new sprite if moved past stride distance, fades/removes expired ones 0x00712CA0 386 CFootprintStr__ctor game_sprites Constructor: initializes vtable 011170f0, two linked lists, 4 STL strings, default transform params 0x00712E30 322 CFootprintStr__dtor game_sprites Destructor: saves position, destroys 4 strings, frees both footprint sprite linked lists 0x00712F80 346 CFootprintStr__scalar_dtor game_sprites Scalar deleting destructor for CFootprintStr (0x178 bytes), frees memory if flag set 0x007130E0 201 CFootprintStr__clear_both_lists game_sprites Destroys all sprites in both linked lists (+0xCC bottom, +0xD4 top), resets counts to zero 0x007131B0 437 CFootprintPng__calc_spawn_position game_sprites Calculates footprint spawn position using direction vector, Y-rotation matrix, and stride offset 0x00713370 77 CFootprintStr__should_render game_sprites Checks if STR footprint rendering is enabled: validates actor, checks ability 0x10D, and option flag 0x007133C0 1126 CFootprintStr__load_config game_sprites Loads STR footprint config: bottom/top files, scale, top height, stride, gap, angle adjust from lua 0x00713840 284 CFootprintStr__create_bottom_sprite game_sprites Creates a bottom-layer STR footprint sprite with scale and optional height offset 0x00713960 907 CFootprintStr__create_footprint_pair game_sprites Creates bottom and top STR footprint sprites at calculated position, alternates left/right foot 0x00713CF0 268 CFootprintStr__create_top_sprite_at game_sprites Creates a top-layer STR footprint sprite at given world position with height offset and scale 0x00713E00 296 CFootprintStr__update game_sprites Updates STR footprints: spawns new pair if moved past stride, removes finished sprites from both lists 0x00713F30 64 CFootprintStr__try_update_sprite game_sprites Tries to update a STR sprite; returns 1 if still alive, destroys it and returns 0 if finished 0x00713F70 141 CFootprintStr__render_all game_sprites Renders all footprint sprites: iterates bottom list with render call, top list with separate render 0x00714000 165 CFootprintStr__push_back_sprite game_sprites Appends a sprite pointer to the linked list, increments count; throws if list exceeds max 0x007140B0 103 CFootprintMgr__free_tree_nodes_28 game_sprites Recursively frees red-black tree nodes (0x28 bytes each) in post-order traversal 0x00714120 103 CFootprintMgr__free_tree_nodes_20 game_sprites Recursively frees red-black tree nodes (0x20 bytes each) in post-order traversal 0x00714190 87 CFootprintMgr__tree_lower_bound_28 game_sprites Finds lower bound in red-black tree (0x28 node), comparing 64-bit key at node+0x10 0x007141F0 87 CFootprintMgr__tree_lower_bound_20 game_sprites Finds lower bound in red-black tree (0x20 node), comparing 64-bit key at node+0x10 0x00714250 1638 CFootprintMgr__ctor game_sprites Constructor: vtable 01117244, init base class, two RB-trees, inserts 5 default footprint type entries 0x007148C0 67 CFootprintMgr__free_node_28 game_sprites Frees a single 0x28-byte tree node if its data pointer is non-null 0x00714910 67 CFootprintMgr__free_node_20 game_sprites Frees a single 0x20-byte tree node if its data pointer is non-null 0x00714960 111 CFootprintMgr__destroy_tree_28 game_sprites Destroys entire 0x28-node RB-tree: recursively frees all nodes then frees sentinel 0x007149E0 111 CFootprintMgr__destroy_tree_20 game_sprites Destroys entire 0x20-node RB-tree: recursively frees all nodes then frees sentinel 0x00714A60 78 CFootprintMgr__free_tree_node_28_a game_sprites Frees a 0x28-byte tree node if data pointer at +4 is non-null 0x00714AB0 78 CFootprintMgr__free_tree_node_20_a game_sprites Frees a 0x20-byte tree node if data pointer at +4 is non-null 0x00714B00 78 CFootprintMgr__free_tree_node_28_b game_sprites Frees a 0x28-byte tree node if data pointer at +4 is non-null (variant B) 0x00714B50 78 CFootprintMgr__free_tree_node_20_b game_sprites Frees a 0x20-byte tree node if data pointer at +4 is non-null (variant B) 0x00714BA0 65 CFootprintMgr__clear_tree_28 game_sprites Wrapper that calls destroy_tree_28 to clear the 0x28-node RB-tree 0x00714BF0 65 CFootprintMgr__clear_tree_20 game_sprites Wrapper that calls destroy_tree_20 to clear the 0x20-node RB-tree 0x00714C40 126 CFootprintMgr__dtor game_sprites Destructor: sets vtable 01117244, destroys both RB-trees (0x20 and 0x28), destroys base class 0x00714CC0 268 CFootprintMgr__find_or_insert_config_28 game_sprites Finds or inserts a 0x28-node in RB-tree by 64-bit key, returns pointer to value at node+0x18 0x00714DD0 254 CFootprintMgr__find_or_insert_state_20 game_sprites Finds or inserts a 0x20-node in RB-tree by 64-bit key, returns pointer to value at node+0x18 0x00714ED0 150 CFootprintMgr__scalar_dtor game_sprites Scalar deleting destructor for CFootprintMgr (0xF0 bytes), frees memory if flag set 0x00714F70 487 CFootprintMgr__spawn_abyss_effect game_sprites Creates abyss shadow effect sprite, destroys old one if exists, sets scale/color/position from config 0x00715210 493 CFootprintMgr__respawn_abyss_effect game_sprites Destroys existing abyss effect and respawns a new one, preserving scale/color/position data 0x00715420 122 CFootprintMgr__update_all_effects game_sprites Iterates RB-tree of effects and calls update_effect_state for each entry's key and data 0x007154A0 2013 CFootprintMgr__update_effect_state game_sprites Updates abyss effect by state: 1=fade/respawn, 2=transform position, 3=check expiry and transform 0x00715C80 125 CFootprintMgr__render_all_effects game_sprites Iterates RB-tree and renders each effect sprite via scene graph render call 0x00715D00 43 CFootprintMgr__render_single_effect game_sprites Renders a single abyss effect sprite if non-null, via scene graph render 0x00715D30 510 CFootprintMgr__transform_effect_position game_sprites Transforms effect sprite position from local to world coordinates using view matrix multiplication 0x00715F30 1192 CFootprintMgr__sync_effect_count game_sprites Adjusts number of abyss effects to target count: spawns new or respawns excess ones 0x007163E0 517 STL_tree_insert_node_007163e0 stl STL _Tree_val::_Insert_node, inserts a new node into a red-black tree with rebalancing (rotations and recoloring). Used by std::map/set containers. 0x007165F0 517 STL_tree_insert_node_007165f0 stl STL _Tree_val::_Insert_node, inserts a new node into a red-black tree with rebalancing (rotations and recoloring). Used by std::map/set containers. 0x00716800 127 CShadowDecal__ctor game_sprites Constructor: vtable 011173e4, init base class, zeroes sprite ptrs and flag, sets active=true 0x00716880 95 CShadowDecal__dtor game_sprites Destructor: sets vtable 011173e4, destroys sprite vector, destroys base class 0x007168E0 119 CShadowDecal__scalar_dtor game_sprites Scalar deleting destructor for CShadowDecal (0xDC bytes), frees memory if flag set 0x00716960 63 CShadowDecal__clear_sprites game_sprites Destroys all shadow sprites in vector at +0xCC, resets end pointer to begin 0x007169A0 557 CShadowDecal__create_frostbite_sprites game_sprites Creates frostbite effect sprites (type 0x8E0), up to 4 per decal, with alpha/blend settings 0x00716BF0 396 CShadowDecal__render_sprites game_sprites Renders shadow decal sprites: sets texture UV coords and vertex positions based on rotation case 0-3 0x00716DFE 1 CEffectLayer__build_quad_vertices_by_orientation effect WARNING (jumptable): Unable to track spacebase fully for stack 0x00716EDE 1 CEffectLayer__build_quad_vertices_by_orientation_alt effect WARNING (jumptable): Unable to track spacebase fully for stack 0x00717180 359 CShadowDecal__render_single_sprite game_sprites Renders one shadow decal sprite: computes UV from texture atlas, sets 4-vertex quad by rotation case 0x007176E0 143 CGaleStorm__ctor game_core Constructor: vtable 011174b8, init base class (type 0x7B5), zeroes sprite ptrs, sets interval=5 0x00717770 95 CGaleStorm__dtor game_core Destructor: sets vtable 011174b8, deallocates sprite vector, destroys base class 0x007177D0 119 CGaleStorm__scalar_dtor game_core Scalar deleting destructor for CGaleStorm (0xE0 bytes), frees memory if flag set 0x00717850 633 CGaleStorm__spawn_arrow_effect game_core Spawns galestorm arrow sprite at randomized position, plays WH_GALESTORM.wav 1/7 chance 0x00717AD0 135 CGaleStorm__update_tick game_core Per-tick update: spawns arrow every 30 ticks and calls spawn_wind every 100/interval ticks 0x00717B60 563 CGaleStorm__spawn_wind_effect game_core Spawns galestorm wind STR effect sprite at randomized position around center 0x00717DA0 63 CGaleStorm__clear_sprites game_core Destroys all galestorm effect sprites in vector, resets end pointer 0x00717DE0 208 CGaleStorm__calc_interval_from_level game_core Sets spawn interval from level lookup table: levels 0-4=5, 5-7=7, 8-9=9, 10+=11 0x00717ED0 313 CGaleStorm__update game_core Updates galestorm: spawns wind/arrow effects on intervals, updates alive sprites, removes expired 0x00718010 45 CGaleStorm__update_single_sprite game_core Updates a single galestorm sprite if non-null via animation tick 0x00718040 69 CGaleStorm__render_all_sprites game_core Iterates sprite vector and renders each non-null sprite via scene graph render 0x00718090 43 CGaleStorm__render_single_sprite game_core Renders a single galestorm sprite if non-null via scene graph render 0x007180C0 266 CGroundEffect__on_hit_ground game_core Handles ground hit: destroys sprite, gets actor height, resets 3D coords; type 0x4B1 plays impact sound via CSoundMgr 0x007181D0 270 CGroundEffect__on_spawn game_core On spawn: type 0x4B1 creates WL_TELEKINESIS_INTENSE STR sprite, type 0x960 sets active flag 0x007182E0 272 CGroundEffect__update_descend game_core Updates descending ground effect: decreases height toward min, gets terrain Y, updates sprite position 0x00718420 166 CProjectile__list_push_back game_core Inserts a sprite pointer into linked list before given node, increments count 0x007184D0 332 CProjectile__ctor game_core Constructor: vtable 011175e0, type 0x7B0, two linked lists, default radius/height/angle params 0x00718620 210 CProjectile__dtor game_core Destructor: sets vtable 011175e0, frees both linked lists (0xD4 and 0xCC), destroys base 0x00718700 234 CProjectile__scalar_dtor game_core Scalar deleting destructor for CProjectile (0x138 bytes), frees memory if flag set 0x007187F0 199 CProjectile__clear_both_lists game_core Destroys all sprites in both linked lists (+0xD4 and +0xCC), resets counts to zero 0x007188C0 705 CProjectile__launch game_core Launches projectile: stores start time, computes midpoint/radius/angle, spawns hawkvumerang sprites 0x00718BA0 660 CProjectile__update game_core Updates projectile arc: moves sprite along circular path using elapsed time, adjusts rotation/scale 0x00718E40 45 CProjectile__update_single_sprite game_core Updates a single projectile sprite if non-null via animation tick 0x00718E70 67 CProjectile__render_all_sprites game_core Iterates sprite linked list and renders each non-null sprite via scene graph 0x00718EC0 43 CProjectile__render_single_sprite game_core Renders a single projectile sprite if non-null via scene graph render 0x00718EF0 73 _Allocate<8,struct_std::_Default_allocate_traits,0> game_core STL memory allocator with alignment support. Falls back to aligned allocation for large sizes. 0x00718F40 34 memcpy_and_return_end stl Copies memory range [param_1, param_2) to param_3, returns pointer past end of destination 0x00718F70 179 STL_int_to_string stl Converts signed integer to STL string, handles negative sign prefix 0x00719030 425 CWavEffect__ctor game_core Constructor: vtable 011176c0, default count=2, wav prefix string, empty name string, allocates vector 0x00719200 125 CWavEffect__dtor game_core Destructor: sets vtable 011176c0, destroys name/prefix strings, deallocates sprite vector, destroys base 0x00719280 149 CWavEffect__scalar_dtor game_core Scalar deleting destructor for CWavEffect (0x11C bytes), frees memory if flag set 0x00719320 137 CWavEffect__set_position_all game_core Stores current position and updates all sprites in vector to match position at +0x110 0x007193B0 73 CWavEffect__destroy_all_sprites game_core Destroys all non-null sprites in vector at +0xD4 0x00719400 285 CWavEffect__init_sprites game_core Creates sprite instances up to count, calls virtual load_config, sets all sprite positions 0x00719520 305 CWavEffect__on_expire game_core Marks all sprites as non-looping (flag 0xD), concatenates prefix+name strings, plays wav sound 0x00719660 45 CWavEffect__is_actor_valid game_core Returns 1 if actor at +0x20 exists and is found in scene, 0 otherwise 0x00719690 1437 CWavEffect__load_dropitem_config game_core Loads STR sprite paths by type: blue/green/red/yellow/purple/pink dropitem effects 0x00719C30 110 CWavEffect__tick_all_sprites game_core Updates all sprites in vector: calls animation tick and increments frame counter at +0xE8 0x00719CA0 94 CWavEffect__render_all_sprites game_core Iterates sprite vector at +0xD4 and renders each non-null sprite via scene graph 0x00719D00 6440 CWavEffect__debug_dump_skill_tree_and_collisions game_core Debug function: iterates skill tree nodes and collision rectangles, formats their coordinates/IDs/zoom values as strings, and outputs via OutputDebugStringA for diagnostic logging 0x0071B630 90 STL_vector__Change_array_0071b630 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x0071B690 1 identity_return_ecx_0071b690 game_core Identity function that returns its input parameter unchanged 0x0071B6A0 197 STL_vector_reallocate_4byte stl Reallocates 4-byte element vector to new capacity, copies existing data, frees old buffer 0x0071B790 129 STL_vector_dealloc_4byte stl Frees 4-byte element vector buffer and zeroes all three pointers (begin/end/capacity) 0x0071B820 92 STL_vector_alloc_4byte stl Allocates aligned buffer for N 4-byte elements, uses 32-byte alignment for buffers over 0x1000 0x0071B880 49 CRT_sprintf_wrapper crt Wrapper around __stdio_common_vsprintf for formatted string output, returns char count or -1 0x0071B8C0 195 CEffectThunderPlasma__ctor effect Constructor for thunder plasma blast effect, inits particle vectors, alpha default 250 0x0071B990 125 CEffectThunderPlasma__dtor effect Destructor for thunder plasma blast effect 0x0071BA10 149 CEffectThunderPlasma__scalar_deleting_dtor effect Scalar deleting destructor for thunder plasma blast 0x0071BAB0 1972 CEffectThunderPlasma__spawn_plasma_effects effect Spawns thunder plasma blast textures by type: 0x5E/0x4B0 or 0x1C4, loads multiple thunder ball/twirl bmps 0x0071C270 576 CEffectThunderPlasma__spawn_pang_effect effect Spawns a pang (impact burst) effect for thunder plasma. Allocates effect from pool, selects texture by type (0x5E: thunder_pang, 0x1C4: pokjuk_d), sets texture and scale, adds to particle vector at offset 0xD0. 0x0071C4B0 110 CEffectThunderPlasma__recycle_all_particles effect Recycles all thunder plasma particles back to the effect pool. Iterates both particle vectors (0xCC-0xD0 and 0xD8-0xDC), calling recycle_effect_to_pool on each, then resets vector sizes to empty. 0x0071C520 25 CEffectThunderPlasma__init_or_reset effect Initializes thunder plasma effect. If type is not 0x4B0, spawns the pang (burst) effect first, then spawns the main plasma effects (textures and billboard particles). 0x0071C570 793 CEffectThunderPlasma__update_all_particles effect Updates all thunder plasma particles: billboard scaling, rotation, animated textures, position at origin offset 0x0071C890 408 CEffectThunderPlasma__update_billboard_particles effect Updates billboard particles for thunder plasma: rotation, scale via camera angle transforms 0x0071CA30 320 CEffectThunderPlasma__update_single_particle_transform effect Updates a single thunder plasma particle's billboard transform: rotation via camera angle, scale, and world position offset from parent effect origin. 0x0071CB70 186 CEffectCloudKill__render_all_particles effect Renders all cloud kill particles. Iterates two particle vectors (0xCC-0xD0 and 0xD8-0xDC), calling CEffectLayer__render_mesh on each active particle (frame >= 0, non-null). 0x0071CC30 59 CEffectCloudKill__render_single_particle effect Renders a single cloud kill particle by calling CEffectLayer__render_mesh if the particle pointer is non-null. 0x0071CC70 59 CEffectCloudKill__render_particle_alt effect Alternative single cloud kill particle render. Calls CEffectLayer__render_mesh if particle is non-null. Identical body to render_single_particle. 0x0071CCB0 322 CEffectCloudKill__ctor effect Constructor for CEffectCloudKill. Calls CEffectAura base ctor with type 0x4AC, sets vtable, allocates 5 linked list nodes (12 bytes each) for particle containers, zeroes count fields. 0x0071CE00 402 CEffectCloudKill__dtor effect Destructor for CEffectCloudKill. Sets vtable, frees all 5 linked list particle containers (walking each list and deleting nodes), then calls CEffectAura__dtor_base. 0x0071CFA0 38 CEffectCloudKill__scalar_deleting_dtor effect Scalar deleting destructor for CEffectCloudKill. Calls dtor, then conditionally frees 0xFC bytes if flag bit 0 is set. 0x0071CFD0 291 CEffectCloudKill__spawn_ground_particles effect Spawns 30 ground-level cloud kill particles. Allocates effects from pool, sets cloud_kill texture, calls init_ground_particle for position/size, randomizes spawn delay (0-80 frames), adds each to the ground particle linked list at offset 0xEC. 0x0071D100 146 CEffectCloudKill__spawn_core_glow effect Spawns the central core glow particle for cloud kill. Allocates effect from pool, sets cloud_c texture, size=20, alpha=255, frame=60, inits default quad vertices, adds to CEffectPetitio particle vector. 0x0071D1A0 259 CEffectCloudKill__spawn_ascending_particles effect Spawns 100 ascending cloud particles. Loops allocating effects from pool, sets cloud_kill texture, calls init_cloud_particle for randomized position/size, adds each to ascending particle linked list at offset 0xD4. 0x0071D2B0 123 CEffectCloudKill__spawn_comm_line_particle effect Spawns a single communication line particle for cloud kill. Allocates effect from pool, sets comm_line texture, alpha=255, drift rate=0.035, frame limit=50, adds to CEffectPetitio particle vector. 0x0071D330 291 CEffectCloudKill__spawn_falling_particles effect Spawns 30 falling/descending cloud particles. Allocates effects from pool, sets cloud_kill texture, calls init_falling_particle, randomizes spawn delay (0-71 frames), adds each to falling particle linked list at offset 0xDC. 0x0071D460 487 CEffectCloudKill__clear_all_particles effect Clears all 5 particle linked lists for cloud kill effect. Iterates each list (0xCC, 0xD4, 0xDC, 0xE4, 0xEC), recycles every effect back to pool, frees all list nodes, resets head/tail pointers and counts to zero. 0x0071D650 271 CEffectCloudKill__init_ground_particle effect Initializes ground-level cloud particle with random size and position, fade-in alpha 0x0071D760 962 CEffectCloudKill__spawn_all_particles effect Spawns all cloud kill particles: 1 core glow, 100 ascending, 30 descending, 1 comm line, 30 ground particles 0x0071DB30 55 CEffectCloudKill__init_core_glow_params effect Initializes core glow particle parameters: alpha=255, rotation=0, frame=60, texture index=0, then inits default quad vertices. 0x0071DB70 248 CEffectCloudKill__init_cloud_particle effect Initializes cloud particle with random position, size 5-10, random angle, alpha from camera 0x0071DC70 270 CEffectCloudKill__init_comm_line_particle effect Initializes comm line particle with random size 5-8, random angle, alpha 10 from camera 0x0071DD80 313 CEffectCloudKill__init_falling_particle effect Initializes falling cloud particle with random position, random size 5-10, random gravity 0x0071DED0 417 CEffectCloudKill__update_comm_line_particles effect Updates comm line particles: alpha fade, scale decay, position via camera transforms 0x0071E080 2330 CEffectCloudKill__update_all_particles effect Updates all 5 cloud kill particle layers: core glow rotation, ascending fade, descending gravity, ground spread 0x0071E9A0 328 CEffectCloudKill__update_single_ascending effect Updates single ascending cloud particle position and alpha 0x0071EAF0 460 CEffectCloudKill__update_descending_layer effect Updates descending particle layer: gravity, position offset, scale via camera transforms 0x0071ECC0 501 CEffectCloudKill__update_spiral_layer effect Updates spiral particle layer: fade in/out alpha, position via camera rotation matrix 0x0071EEC0 413 CEffectCloudKill__update_ground_layer effect Updates ground particle layer: fade in/out alpha, gravity drift, scale by camera rotation 0x0071F060 86 CEffectCloudKill__render_particle_with_uv effect Renders a single cloud kill particle with fixed UV coordinates (u=0.5, v=0.75, u2=0, v2=0.25). Builds a render struct and calls CEffectLayer__render_from_struct. 0x0071F0C0 649 CEffectCloudKill__render_all_layers effect Renders all 5 cloud kill particle layers with different UV setups per layer type 0x0071F350 59 CEffectPetitio__render_single_particle effect Renders a single petitio particle via CEffectLayer__render_mesh with default UV (full texture, no atlas). 0x0071F390 125 CEffectPetitio__render_particle_strip_uv effect Renders a petitio particle using strip UV coordinates. UV v range computed from texture atlas row index (a9 field), u range fixed at 0.5-0.75. 0x0071F410 165 CEffectPetitio__render_particle_grid_uv effect Renders a petitio particle using 2x2 grid UV coordinates. Atlas position computed from texture index (a9 field) using modulo 2 for column and divide 2 for row, scaled by 0.5. 0x0071F4C0 120 CEffectPetitio__render_particle_alt_uv effect Renders a petitio particle with alternative UV strip coordinates. UV u fixed at 0-0.25, v range from atlas row index (a9 field). 0x0071F540 165 CEffectPetitio__add_particle_to_vector effect Adds a particle to the petitio effect vector with bounds check 0x0071F5F0 119 CEffectPetitio__ctor effect Constructor for CEffectPetitio. Calls CEffectAura base ctor with type 0x777, sets vtable to 01117E34, inits particle vector (size=0, capacity=0, data=null). 0x0071F670 95 CEffectPetitio__dtor effect Destructor for CEffectPetitio. Sets vtable, deallocates particle vector if non-empty, then calls CEffectAura__dtor_base. 0x0071F6D0 119 CEffectPetitio__scalar_deleting_dtor effect Scalar deleting destructor for CEffectPetitio. Sets vtable, deallocates particle vector, calls CEffectAura__dtor_base, then conditionally frees 0xD8 bytes if flag bit 0 is set. 0x0071F750 67 CEffectPetitio__clear_particles_base effect Base clear particles for petitio 0x0071F7A0 655 CEffectPetitio__spawn_petitio_effects effect Spawns petitio bottom 3D and STR effect particles, plays CD_PETITIO sound + effect sound 0x0071FA90 121 CEffectPetitio__update_and_animate_particles effect Iterates the petitio particle vector, sets each particle's world position at the effect origin (with Y offset from global), and advances animation via CEffect__tick_animation. 0x0071FB10 96 CEffectPetitio__update_single_particle_position effect Positions a single petitio particle at the effect origin (with Y offset from global constant) and advances its animation frame via CEffect__tick_animation. 0x0071FB70 69 CEffectPneumaticusProcella__render_all_particles effect Iterates particle vector at +0xCC and submits each to render pipeline 0x0071FBC0 43 CEffectPneumaticusProcella__render_single_particle effect Submits a single particle sprite to the render pipeline if non-null 0x0071FBF0 119 CEffectPneumaticusProcella__ctor effect Constructor for Pneumaticus Procella wind storm effect, sets vtable PTR_LAB_01117f20 0x0071FC70 95 CEffectPneumaticusProcella__dtor effect Destructor, deallocates particle vector and calls base class destructor 0x0071FCD0 119 CEffectPneumaticusProcella__scalar_dtor effect Scalar deleting destructor, frees 0xDC bytes if flag set 0x0071FD50 88 CEffectPneumaticusProcella__destroy_particles effect Destroys main sprite at +0xCC and all particle sprites in vector at +0xD0 0x0071FDB0 52 CEffectPneumaticusProcella__get_scale_by_level effect Returns effect scale factor based on skill level at +0xB0 (levels 1-3, 4-6, 10) 0x0071FE40 1154 CEffectPneumaticusProcella__init effect Initializes wind storm effect with 40 particles, random positions/textures, plays CD_PNEUMATICUS_PROCELLA sound 0x00720310 245 CEffectPneumaticusProcella__update effect Updates particle positions relative to effect origin, removes expired particles 0x00720410 102 CEffectPneumaticusProcella__render effect Renders main sprite and all child particles via render pipeline submission 0x00720480 93 CEffectSecondFalth__ctor effect Constructor for SecondFalth/SecondJudgement effect, vtable PTR_LAB_011180e4, infinite duration 0x007204E0 71 CEffectSecondFalth__dtor effect Destructor, restores vtable and calls base class destructor 0x00720530 99 CEffectSecondFalth__scalar_dtor effect Scalar deleting destructor, frees 0xD4 bytes if flag set 0x007205A0 34 CEffectSecondFalth__destroy_sprite effect Destroys the single sprite at +0xD0 if non-null 0x007205D0 697 CEffectSecondFalth__init effect Initializes effect sprite with secondfalth or secondjudgement texture based on skill ID 0x820/0x822 0x007208A0 153 CEffectSecondFalth__update effect Updates sprite position with offset from origin, checks completion status 0x00720970 151 CEffectSpiralStrike__ctor effect Constructor for spiral strike effect, vtable PTR_LAB_01118214, zeroes 9 vector entries 0x00720A10 95 CEffectSpiralStrike__dtor effect Destructor, cleans up child sprite vectors and calls base destructor 0x00720A70 119 CEffectSpiralStrike__scalar_dtor effect Scalar deleting destructor, frees 0xF0 bytes if flag set 0x00720AF0 64 CEffectSpiralStrike__set_color_all effect Sets RGB color on all sprites in vector at +0xE4 0x00720B30 326 CEffectSpiralStrike__set_texture_all effect Sets texture on all sprites in vector at +0xE4 by copying string and calling sprite set texture 0x00720C80 773 CEffectSpiralStrike__init effect Creates 22x3 spiral particles with alpha_down texture, color varies by skill ID 0x4A2-0x4A7 0x00721040 401 CEffectSpiralStrike__update_single_particle effect Updates transform matrix for a single spiral particle using sin/cos rotation 0x007211E0 63 CEffectSpiralStrike__destroy_particles effect Destroys all sprites in vector at +0xE4 and resets vector size 0x00721230 63 CEffectSpiralStrike__check_actor_alive effect Checks if actor at +0x20 still exists in the game world, returns 1 if alive 0x00721270 244 CEffectSpiralStrike__update effect Updates all spiral particles with Y-axis rotation matrix based on accumulated angle 0x00721370 184 CEffectSpiralStrike__update_single_rotation effect Updates Y-axis rotation matrix for a single particle, accumulates angle per frame 0x00721430 164 CEffectSpiralStrike__render effect Renders all sprites in vector at +0xE4 with UV animation based on frame index 0x007214E0 122 CEffectSpiralStrike__render_single effect Renders a single sprite with UV animation based on its frame index 0x00721560 167 CEffectRichsCoin__ctor effect Constructor for Rich's Coin effect, vtable PTR_LAB_011182c0, skill ID 0x46F, two child vectors 0x00721610 110 CEffectRichsCoin__dtor effect Destructor, cleans up two child sprite vectors and calls base destructor 0x00721680 134 CEffectRichsCoin__scalar_dtor effect Scalar deleting destructor, frees 0xE8 bytes if flag set 0x00721710 330 CEffectRichsCoin__init_light_particles effect Creates light glow particles with rcoin_b_light texture, scaled 1.5x, evenly spaced around circle 0x00721860 110 CEffectRichsCoin__destroy_all_sprites effect Destroys sprites in both coin vector at +0xCC and light vector at +0xD8 0x007218D0 520 CEffectRichsCoin__init effect Creates coin sprites (rcoin1) and light particles distributed around a circle based on level 0x00721AF0 642 CEffectRichsCoin__update effect Rotates coin sprites around player using sin/cos, updates textures based on camera angle 0x00721D80 141 CEffectRichsCoin__update_light_position effect Updates position of a single light particle orbiting around player 0x00721E10 368 CEffectRichsCoin__update_coin_position effect Updates coin sprite position with orbit rotation and selects texture frame by camera angle 0x00721F80 161 CEffectRichsCoin__render effect Renders all coin and light sprites with additive blending 0x00722030 59 CEffectRichsCoin__render_single_sprite effect Renders a single coin sprite with additive blending if non-null 0x00722070 119 CEffectSavageImpact__ctor effect Constructor for Savage Impact effect, inherits from base effect class 0x007220F0 71 CEffectSavageImpact__dtor effect Destructor for Savage Impact effect 0x00722140 99 CEffectSavageImpact__scalar_dtor effect Scalar deleting destructor for Savage Impact effect 0x007221C0 667 CEffectSavageImpact__init effect Creates savage_impact sprite, computes direction angle from src to dst, plays SHC_SAVAGE_IMPACT sound 0x00722500 90 CEffectServantWeapon__update_sprite_position effect Positions a servant weapon sprite at the effect origin (with Y offset from DAT_010e9954) and advances its animation via tick_animation. Not a constructor. 0x00722590 37 CEffectServantWeapon__submit_sprite_to_render effect Submits a single sprite to the render pipeline via CEffect__render_active_layers_alt. Does not return a slot count. 0x007225C0 222 CEffectServantWeapon__merge_sort_list effect Recursive merge sort on a circular doubly-linked list of sprite nodes. Sorts by integer field at node offset +8 (render order/priority). Takes list head pointer, count, and comparison parameter. 0x007226A0 133 CEffectServantWeapon__ctor_simple effect Simple constructor: calls CEffectAura base ctor with infinite duration, sets vtable to PTR_LAB_01118528, zeroes 15 fields (5x3 weapon slot entries) 0x00722730 172 CEffectServantWeapon__ctor effect Constructor: initializes vtable, allocates two circular linked lists at +0x33 and +0x35 for weapon sprite management, calls base CEffectAura ctor 0x007227E0 71 CEffectServantWeapon__dtor_simple effect Simple destructor: sets vtable to PTR_LAB_01118528 and calls CEffectAura base destructor. Does not free linked lists (unlike dtor_impl). 0x00722830 210 CEffectServantWeapon__dtor_impl effect Full destructor: frees two linked lists at +0x35 and +0x33, then base class 0x00722910 99 CEffectServantWeapon__scalar_deleting_dtor effect Scalar deleting destructor: sets vtable, calls base CEffectAura dtor, conditionally frees this (0x144 bytes) based on flags parameter 0x00722980 234 CEffectServantWeapon__dtor_and_scalar_delete effect Full destructor with scalar delete: frees two linked lists at +0x35 and +0x33, calls base CEffectAura dtor, conditionally frees this (0xdc bytes) based on flags parameter 0x00722A70 466 CEffectServantWeapon__init effect Creates DK_SERVANTWEAPON sprite with angle offset, plays DK_SERVANTWEAPON sound, max 5 weapons 0x00722C50 339 CEffectServantWeapon__create_main_sprite effect Creates looping servantweapon sprite for a weapon slot if slot is empty 0x00722DB0 359 CEffectServantWeapon__create_cast_sprite effect Creates servantweapon_cast sprite in first available cast slot at +0x11C 0x00722F20 350 CEffectServantWeapon__create_shoot_sprite effect Creates servantweapon_shoot sprite, replaces existing shoot sprite at +0x130 0x00723080 386 CEffectServantWeapon__create_phantom_sprite effect Creates servant_phantom sprite in a shoot slot, max 5 weapons 0x00723210 337 CEffectServantWeapon__create_judgement_sprite effect Creates servant weapon judgement sprite in a shoot slot 0x007233D0 201 CEffectServantWeapon__cleanup_and_reset effect Recycles all effect sprites from two linked lists at +0xCC and +0xD4, frees the list nodes, and resets both lists to empty circular state. Resets weapon count (+0xD0) and cast count (+0xD8) to zero. 0x007234A0 638 CEffectServantWeapon__recycle_weapon_slot effect Sorts weapon slots by frame count, recycles oldest slot and creates new shoot/phantom/cast sprite 0x007237E0 688 CEffectServantWeapon__reset_and_create_cast_sprites effect Resets all 15 weapon slot pointers (main +0x108, cast +0x11C, shoot +0x130) to zero, initializes 5 position offset vectors at +0xCC, then creates cast sprites in up to 5 available slots. 0x00723AC0 345 CEffectServantWeapon__create_orbiting_sprite effect Allocates an effect layer (type 5), loads DK_SERVANTWEAPON resource, sets scale factor 0x3df5c28f (~0.12) and angle offset from param_2. Returns sprite handle or 0 on failure. 0x00723C20 361 CEffectServantWeapon__create_looping_sprite effect Allocates an effect layer (type 5), loads DK_SERVANTWEAPON_SHOT resource with loop flag enabled (+0x3F5C=1), sets scale and angle offset. Returns sprite handle or 0 on failure. 0x00723D90 852 CEffectServantWeapon__create_skill_sprite_by_type effect Creates a servant weapon skill sprite based on skill type: 0x1452=shoot, 0x1453=sign/judgement, 0x1454=phantom, 0x1455=demolition. Loads corresponding DK_SERVANT_W_* resource. Returns sprite handle. 0x00724100 2034 CEffectServantWeapon__update_all_positions effect Updates positions of all 5 weapon/shoot/cast sprites using view+world matrix transforms 0x00724900 910 CEffectServantWeapon__update_orbiting_sprites effect Updates orbiting weapon and cast sprites in two linked lists (+0xCC and +0xD4). For weapon list: ticks animation, replaces expired sprites with new looping DK_SERVANTWEAPON_SHOT resources, positions using sin/cos orbit formula. For cast list: ticks animation, removes expired sprites, positions orbiting sprites similarly. Both lists use circular doubly-linked list nodes with sprite handle at offset 8. 0x00724C90 541 CEffectServantWeapon__render_slot_sprites effect Renders sprites for a single weapon slot with view matrix transform 0x00724EB0 135 CEffectServantWeapon__submit_all_slot_sprites effect Submits all 5 weapon slot sprites (main +0x108, cast +0x11C, shoot +0x130) to the render pipeline via CEffect__render_active_layers_alt. Iterates 5 slots, checking each of the 3 sprite arrays. 0x00724F40 141 CEffectServantWeapon__submit_linked_list_sprites effect Submits sprites from two linked lists at +0xCC and +0xD4 to the render pipeline via CEffect__render_active_layers. Used for orbiting/queued servant weapon sprites. 0x00724FD0 43 CEffectServantWeapon__submit_single_sprite effect Submits a single sprite (param_1) to the render pipeline via CEffect__render_active_layers_alt if non-null. 0x00725000 143 CEffectServantWeapon__compute_orbit_position effect Computes circular orbit position for a sprite using sin/cos of its angle (from +0xC4). Sets x/y/z at +0x24/+0x28/+0x2C with orbit radius DAT_011188c4 and height offset DAT_010dd24c. 0x00725090 152 CEffectServantWeapon__replace_oldest_sprite effect Replaces the oldest sprite in the weapon linked list (+0xCC) with a new skill sprite of the given type. Recycles old sprite, creates new one via create_skill_sprite_by_type, plays DK_SERVANTWEAPON sound. 0x00725130 138 CEffectGroundSkill__ctor_real effect Constructor: calls base CEffectAura ctor, sets vtable to CEffectGroundSkill, allocates circular linked list at +0x33, initializes sprite count (+0x14) to 0. 0x007251C0 146 CEffectGroundSkill__dtor_real effect Destructor: sets vtable, frees all nodes in circular linked list at +0x33, frees the sentinel node, then calls base CEffectAura dtor. 0x00725260 170 CEffectGroundSkill__scalar_deleting_dtor effect Scalar deleting destructor: sets vtable, frees linked list at +0x33, calls base CEffectAura dtor, conditionally frees this (0xD8 bytes) based on flags parameter. 0x00725310 380 CEffectGroundSkill__update_single effect Updates a single ground skill sprite: transforms its position from local+view space to world space using camera matrices (with position offsets from +0xD0/D4/D8), then ticks its animation. 0x00725490 1436 CEffectGroundSkill__spawn_periodic_effect effect Dispatches periodic particle spawns by skill ID: CrossRain, DiamondStorm, StarCannon, Grenades, etc. 0x00725AC0 672 CEffectGroundSkill__spawn_crossrain_wave effect Spawns a wave of Cross Rain particles at random positions around center 0x00725D60 583 CEffectGroundSkill__spawn_cross_rain_new effect Spawns Imperial Guard IG_CROSS_RAIN_new particles at random positions scaled by skill level. Uses level-based spawn count table (3/3/3/5/5/5/7/7/7/9) multiplied by 50 for randomization range. 0x00725FB0 342 CEffectGroundSkill__spawn_diamond_storm effect Spawns diamond_storm particles at random positions around target 0x00726110 1174 CEffectGroundSkill__spawn_grenades_dropping effect Spawns NW_GRENADES_DROPPING particles scaled by Night Watch skill level 0x007265B0 721 CEffectGroundSkill__spawn_calamity_gale effect Spawns Calamity Gale effect particles at random positions 0x00726890 840 CEffectGroundSkill__spawn_rain_of_crystal_particles effect Spawns rain_of_crystal particles (looping + one-shot variants) at random positions. Count scaled by skill level (11/11/11/15/15/17/17/19/19 * 50). Plays AG_RAIN_OF_CRYSTAL sound every 7th call. 0x00726BE0 579 CEffectGroundSkill__spawn_severe_rainstorm effect Spawns severe rainstorm particles at random positions around target. Uses normal or mineffect resource based on GameSettings option state. Sets render type to 5 (billboard). 0x00726E30 530 CEffectGroundSkill__spawn_twinkling_galaxy effect Spawns Sky Emperor SKE_TWINKLING_GALAXY effect: creates looping ground sprite + numbered particle sprite (formatted by param_2). Sets position offsets (+0xD0/D4/D8). Plays ske_star_cannon sound. 0x00727050 1012 CEffectGroundSkill__spawn_star_cannon effect Spawns SKE_STAR_CANNON 3D+billboard particles, plays ske_star_cannon sound 0x00727450 1014 CEffectGroundSkill__spawn_twinkling_galaxy_variant effect Spawns SKE_TWINKLING_GALAXY ground effect variant: creates 3D ground sprite + billboard particle at random positions scaled by skill level. Plays ske_star_cannon sound. Uses same sprite set as twinkling_galaxy but with different billboard resource. 0x00727850 103 CEffectGroundSkill__clear_sprite_list effect Clears the sprite linked list at +0xCC: recycles all sprites via pool, frees all list nodes, resets sentinel to empty circular state, sets count +0xD0 to 0. 0x007278E0 146 CEffectGroundSkill__is_active effect Returns whether this ground skill effect is still active. Logic varies by skill ID: CrossRain(0x875)/CloudPoison(0x6D8)/WindCutter(0x99E) check is_owner_alive; DiamondStorm(0x7EA) checks cached counter; SevereRainstorm(0x4FC) checks frame count < 241; star skills (0x92C-0x932) check owner alive + sprite count. 0x00727A10 558 CEffectGroundSkill__update_all effect Main update loop: calls spawn_periodic_effect to create new particles, then iterates all sprites in linked list at +0xCC. Recycles expired sprites (negative lifetime). For SKE skill ID 0x92C, transforms 3D positions via view/world matrices. Ticks animation on all sprites. Increments frame counter +0xD4. 0x00727C40 45 CEffectGroundSkill__tick_single_sprite effect Ticks animation on a single sprite if non-null. Simple wrapper around CEffect__tick_animation. 0x00727C70 67 CEffectGroundSkill__submit_sprites_to_render effect Iterates linked list at +0xCC and submits each non-null sprite to the render pipeline via CEffect__render_active_layers_alt. 0x00727CC0 43 CEffectGroundSkill__submit_single_to_render effect Submits a single sprite to the render pipeline via CEffect__render_active_layers_alt if non-null. 0x00727CF0 130 CEffectShadowExceed__ctor_real effect Constructor: calls base CEffectAura ctor with effect ID 0x74B, sets vtable to CEffectShadowExceed, initializes sprite pointers (+0x33/+0x34/+0x35) and active flag (+0x36) to zero. 0x00727D80 95 CEffectShadowExceed__dtor_real effect Destructor: sets vtable to CEffectShadowExceed, deallocates sprite vector if non-empty, calls base CEffectAura dtor. 0x00727DE0 119 CEffectShadowExceed__scalar_deleting_dtor effect Scalar deleting destructor for CEffectShadowExceed. Sets vtable, deallocates vector, calls base dtor, optionally frees object memory (0xDC bytes). 0x00727E60 143 CEffectShadowExceed__cleanup_and_remove_attached_effects effect Cleans up shadow exceed effect: recycles all sprites from vector back to pool, then removes all attached effects with ID 0x3EC from the entity. 0x00727FC0 1338 CEffectShadowExceed__init effect Creates shadow_exceed sprites based on actor direction, plays SHC_SHADOW_EXCEED sound 0x00728500 1209 CEffectShadowExceed__create_cross_sprites effect Creates SHADOW_CROSS sprites for the shadow exceed skill effect. Allocates 4 effect layers with cross-shaped sprite resources, sets Y offsets (-12.0 and -10.0), plays SHC_SHADOW_EXCEED sound. Third and fourth sprites have slower animation speed (0x399d4952). 0x007289D0 125 CEffectShadowExceed__is_active_or_recreate effect Returns 1 if both sprite containers (+0xD4 and +0xDC) still have sprites active. If either is empty and the entity exists but lacks attached effect 0x3EC, recreates it via CEntity__create_skill_effect. Returns 0 when inactive. 0x00728DC0 622 CEffectShadowExceed__update_from_actor effect Updates sprite positions from actor facing direction, removes expired sprites from lists 0x00729030 510 CEffectServantWeapon__update_sprite_world_pos effect Transforms a single sprite from local+view to world coordinates using camera matrices 0x00729230 69 CEffectShadowExceed__render_sprite_vector effect Renders all sprites stored in the vector at +0xCC..+0xD0 via CEffect__render_active_layers_alt. Each non-null sprite in the vector is submitted to the render pipeline. 0x00729310 43 CEffectSoulCollect__render_sprite_via_pipeline effect Renders a single sprite through the camera pipeline. Gets camera transform matrix from mode1 field and calls CEffect__render_active_layers_alt with the view matrix at +0x98. 0x00729340 103 CEffectSoulCollect__tree_clear_recursive effect Recursively clears all nodes from the std::set red-black tree. Traverses via left child pointers, recursively processes right subtrees, then frees each node (0x18 bytes). 0x007293B0 75 CEffectSoulCollect__tree_lower_bound effect Finds lower bound in std::set tree for frame counter value 0x00729400 141 CEffectSoulCollect__ctor_00729400 effect Constructor for CEffectSoulCollect (effect ID 0x947). Initializes CEffectAura base, sets vtable to PTR_LAB_011190f0, allocates std::set sentinel node (0x18 bytes) with self-referential pointers and nil flags. 0x00729490 67 CEffectSoulCollect__destroy_sprites effect Destroys all sprites in soul collect linked list and frees nodes 0x007294E0 111 CEffectSoulCollect__clear_tree_and_free effect Clears the entire std::set tree by iterating all non-nil nodes, recursively clearing subtrees via tree_clear_recursive, then frees the sentinel node. 0x00729560 78 CEffectSoulCollect__dtor effect Destructor, cleans up sprite linked list and std::set tree 0x007295B0 78 CEffectSoulCollect__scalar_dtor effect Scalar deleting destructor for Soul Collect effect 0x00729600 65 CEffectSoulCollect__cleanup_wrapper effect Cleanup wrapper that calls clear_tree_and_free to destroy the std::set tree structure. 0x00729650 223 CEffectSoulCollect__tree_insert effect Inserts frame counter into std::set red-black tree with rebalancing 0x00729730 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00729790 122 CEffectSoulCollect__scalar_dtor_00729790 effect Scalar deleting destructor for CEffectSoulCollect. Calls clear_tree_and_free (via ctor misname), then CEffectAura__dtor_base, optionally frees object memory (0xD4 bytes). 0x00729810 248 CEffectSoulCollect__create_and_register_effect effect Creates and registers a visual effect for an entity. Searches for existing effect by type+ID first; if not found, creates via CEffectManager or skill effect wrapper, then inserts the frame counter into the tracking std::set. 0x00729910 223 CEffectSoulCollect__cleanup_and_remove_effects effect Iterates all entries in the tracking tree at +0xCC, removes each effect by type/subid (via CEffectMgr or virtual call 0x9F), then clears the entire tree. Called to clean up soul collect effects when the buff ends. 0x007299F0 49 CEffectSoulCollect__update effect Updates soul collect effect, adjusts sprite count based on level changes 0x00729A30 7 CEffectSoulCollect__get_sprite_count effect Returns the sprite count from member at +0xD0. Simple accessor, no rendering involved. 0x00729A40 75 CEffectSoulCollect__tree_find effect Searches the std::set tree for a given frame counter value. Returns whether the value was found by comparing with the sentinel node address at +0xCC. 0x00729A90 363 CEffectSoulCollect__remove_oldest_sprites effect Removes oldest sprites from soul collect list using actor-based targeting 0x00729C00 704 CEffectSoulCollect__tree_erase_node effect Erases node from std::set red-black tree with full rebalancing 0x00729EC0 517 STL_tree_insert_node_00729ec0 stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0072A0D0 84 CEffectSoulCollect__tree_rotate_left effect Left rotation for red-black tree rebalancing 0x0072A130 88 CEffectSoulCollect__tree_rotate_right effect Right rotation for red-black tree rebalancing 0x0072A190 115 CEffectSoulCollect__tree_clear_all effect Clears all entries from the std::set tree. Iterates all non-nil nodes starting from root, recursively clears subtrees, then resets sentinel to self-referential empty state and sets count to 0. 0x0072A210 138 CEffectSoulCollect__ctor_linked_list effect Constructor for CEffectSoulCollect linked-list variant (effect ID 0xFFFFFFFF). Initializes CEffectAura base, sets vtable to PTR_LAB_0111917c, allocates linked list sentinel (0xC bytes), initializes member at +0x14 to 0. 0x0072A2A0 146 CEffectSoulCollect__dtor_linked_list effect Destructor for CEffectSoulCollect linked-list variant. Sets vtable, clears linked list by traversing and freeing all nodes (0xC bytes each), frees sentinel, calls CEffectAura__dtor_base. 0x0072A340 170 CEffectSoulCollect__scalar_dtor_linked_list effect Scalar deleting destructor for CEffectSoulCollect linked-list variant. Calls dtor_linked_list, then optionally frees object memory (0xD4 bytes). 0x0072A3F0 309 CEffectSoulCollect__create_sprites effect Creates 2 soul_collect sprites (indices 0 and 1) with different animation speeds. Allocates effect layers, loads soul_collect texture, sets up quad vertices, and inserts into sprite linked list. Index 0 gets speed 0x3727c5ac, index 1 gets 0x37a7c5ac. 0x0072A580 103 CEffectSoulCollect__clear_all_sprites effect Clears all sprites from the linked list. Recycles each sprite back to the effect pool, frees all list nodes (0xC bytes), resets sentinel to self-referential empty state, sets count at +0xD0 to 0. 0x0072A5F0 502 CEffectSoulCollect__adjust_sprite_count effect Adds or removes soul_collect sprites to match current level/2 count 0x0072A800 658 CEffectSoulCollect__update_orbit_positions effect Updates orbit positions and transforms for all soul collect sprites around actor 0x0072AD90 366 CEffectStarEmperorBoom__render_all_sprites effect Renders all star emperor boom sprites from the linked list. Iterates each sprite, computes texture UV coordinates from animation frame data, and calls CEffectLayer__render_mesh with computed UVs. 0x0072AF00 327 CEffectStarEmperorBoom__render_single_sprite effect Renders a single star emperor boom sprite. Computes texture UV coordinates from animation frame data at +0x18 and calls CEffectLayer__render_mesh. Only renders if alpha at +0x44 is positive. 0x0072B050 130 CEffectStarEmperorBoom__ctor effect Constructor for CEffectStarEmperorBoom (effect ID 0x4C6). Initializes CEffectAura base, sets vtable to PTR_LAB_01119230, allocates linked list sentinel node (0xC bytes) with self-referential pointers. 0x0072B0E0 146 CEffectStarEmperorBoom__dtor effect Destructor for CEffectStarEmperorBoom. Sets vtable, clears linked list by traversing and freeing all nodes (0xC bytes each), frees sentinel, calls CEffectAura__dtor_base. 0x0072B180 170 CEffectStarEmperorBoom__scalar_dtor effect Scalar deleting destructor for CEffectStarEmperorBoom. Calls dtor, then optionally frees object memory (0xD4 bytes). 0x0072B230 103 CEffectStarEmperorBoom__clear_all_sprites effect Clears all sprites from the star emperor boom linked list. Recycles each sprite back to the effect pool, frees all list nodes (0xC bytes), resets sentinel to empty state, sets sprite count at +0xD0 to 0. 0x0072B2A0 262 CEffectStarEmperorBoom__create_sprite effect Creates a single soul_unity sprite for the star emperor boom effect. Allocates effect layer type 0, loads soul_unity texture, sets scale 2.5, animation speed 0x3d0f5c29, initializes quad vertices, and inserts into the linked list. 0x0072B3C0 699 CEffectStarEmperorBoom__update_transforms effect Computes world transform matrices for boom sprites using camera rotation and scale 0x0072B680 661 CEffectStarEmperorBoom__update_single_transform effect Updates the world transform matrix for a single boom sprite. Computes camera-relative rotation (X and Y from camera angles), applies scale and translation offset from effect origin, and stores the resulting 3x4 matrix at sprite +0x1C8. 0x0072B920 364 CEffectStarEmperorBoom__render_sprites effect Renders all star emperor boom sprites from the linked list. For each sprite with valid animation data at +0x18, computes UV coordinates and calls CEffectLayer__render_mesh with first parameter 1 (additive blend). 0x0072BA90 325 CEffectStarEmperorBoom__render_single_sprite_mesh effect Renders a single star emperor boom sprite mesh. Computes UV coordinates from animation frame data at +0x18 and calls CEffectLayer__render_mesh with additive blend mode (param 1). 0x0072BBE0 150 CEffectStarEmperorBook__ctor effect Constructor for CEffectStarEmperorBook. Initializes CEffectAura base (ID 0xFFFFFFFF), sets vtable to PTR_LAB_011192e8, initializes 6 member fields at +0xCC through +0xE0 to 0. 0x0072BC80 110 CEffectStarEmperorBook__dtor effect Destructor for CEffectStarEmperorBook. Sets vtable to PTR_LAB_011192e8, calls CEffectAura__dtor twice (for two base subobjects), then CEffectAura__dtor_base for final cleanup. 0x0072BCF0 134 CEffectStarEmperorBook__scalar_dtor effect Scalar deleting destructor for CEffectStarEmperorBook. Sets vtable, calls CEffectAura__dtor twice and dtor_base, optionally frees object memory (0xE4 bytes). 0x0072BD80 149 CEffectStarEmperorBoom__init_ring_sprites effect Creates 10 ring sprites for Star Emperor Boom effect, assigns ring_white texture and adds to vector at +0xDC 0x0072BE20 1527 CEffectStarEmperorBoom__init_sphere_grid effect Creates 6x12 spherical grid of boom sprites with UV mapped sphere coordinates 0x0072C420 110 CEffectStormCannon__recycle_all_sprites effect Recycles all sprites in both vectors (+0xCC and +0xD8) back to the effect pool, resetting vector sizes 0x0072C490 166 CEffectStormCannon__init_sprites effect Initializes Storm Cannon effect sprites. Sets duration (60 for skill 0x4B3, 30 otherwise), creates 6x12 sphere grid via init_sphere_grid, then creates 10 ring sprites with ring_white texture and adds to vector at +0xDC. 0x0072C540 60 CEffectStormCannon__play_impact_sounds effect Plays fire pillar impact sound effects (A + B) when skill ID is 0x4B3 (Storm Cannon) 0x0072C590 665 CEffectStormCannon__update_sphere_sprite effect Updates a single sphere grid sprite for the Storm Cannon effect. Computes vertex positions from spherical coordinate lookup tables, applies rotation matrix (X-axis pi/4), calculates alpha fade based on animation frame vs duration, and sets world-space position from effect origin. 0x0072C830 609 CEffectStormCannon__update_all_sprites effect Updates all storm cannon sprites: computes scale/rotation transforms, calculates alpha fade based on lifecycle, updates position from effect origin 0x0072CAA0 440 CEffectStormCannon__update effect Updates a single storm cannon sprite: computes scale/rotation transforms based on lifecycle progress, calculates alpha fade, and sets position from effect origin. Handles skill ID 0x4B3 variant with symmetric fade. 0x0072CC60 59 CEffectStormCannon__render effect Renders all storm cannon sprites via render pipeline 0x0072CCA0 183 CEffectStormCannon__render_all_sprites effect Renders all storm cannon sprites via CEffectLayer__render_mesh with UV coordinates from both vectors (+0xCC sphere grid and +0xD8 ring sprites) 0x0072CD60 83 CEffectStormCannon__render_single_sprite effect Renders a single storm cannon sprite via CEffectLayer__render_mesh using its UV coordinates at +0x210/+0x214/+0x270/+0x274 0x0072CDC0 183 CEffectStormCannon__ctor_0072cdc0 effect Constructor for CEffectStormCannon subclass (vtable PTR_LAB_01119410). Calls CEffectAura base ctor with ID 0x6DB, zeroes 9 fields at offset +0xCC 0x0072CE80 95 CEffectStormCannon__dtor_0072ce80 effect Destructor for CEffectStormCannon subclass. Sets vtable, deallocates vector, calls CEffectAura base dtor 0x0072CEE0 119 CEffectStormCannon__scalar_deleting_dtor effect Scalar deleting destructor for CEffectStormCannon subclass. Calls dtor then conditionally frees 0x100 bytes of memory 0x0072CF60 63 CEffectStormCannon__destroy_sprites effect Recycles all sprites in vector at +0xCC back to effect pool and resets vector size to zero 0x0072CFA0 939 CEffectStormCannon__init effect Creates stormcannon_bottom 3D + stormcannon billboard sprites, computes direction, plays AG_STORM_CANNON sound 0x0072D360 334 CEffectStormCannon__update_projectile effect Moves storm cannon projectile along normalized direction, fades alpha near target 0x0072D4B0 129 CEffectStormCannon__update_single_sprite effect Updates a single storm cannon sprite: sets alpha from +0x54, positions relative to effect origin with offsets, ticks animation 0x0072D540 69 CEffectTetraVortex__render_all_3d effect Renders all Tetra Vortex sprites as 3D models via render_active_layers_alt on the linked list at +0xCC 0x0072D590 43 CEffectTetraVortex__render_single_3d effect Renders a single Tetra Vortex sprite as 3D model via render_active_layers_alt if non-null 0x0072D5C0 127 CEffectTetraVortex__ctor effect Constructor for CEffectTetraVortex (vtable PTR_LAB_01119530). Calls CEffectAura base ctor, allocates linked list sentinel node at +0xCC 0x0072D640 146 CEffectTetraVortex__dtor effect Destructor for CEffectTetraVortex. Sets vtable, frees all linked list nodes at +0xCC, calls CEffectAura base dtor 0x0072D6E0 170 CEffectTetraVortex__scalar_deleting_dtor effect Scalar deleting destructor for CEffectTetraVortex. Calls dtor, then conditionally frees 0xD4 bytes of object memory 0x0072D790 325 CEffectTetraVortex__init_stance_sprites effect Creates 3 stance sprites (sun/lunar/star based on skill ID 0x4BE-0x4C1) with billboard textures, inserts into linked list at +0xCC 0x0072D980 325 CEffectTetraVortex__init_stance_sprites_alt effect Alternative init for 3 stance sprites (sun/lunar/star). Identical structure to init_stance_sprites, likely for a different entry point or skill variant 0x0072DB10 367 CEffectTetraVortex__update_stance_orbit effect Updates orbit positions for stance sprites (sun/lunar/star) in the linked list at +0xCC. For each sprite: computes rotation matrix from camera angle, increments orbit angle by delta, positions using sin/cos around caster origin. 0x0072DC80 329 CEffectTetraVortex__update_orbit effect Updates orbit position for a single Tetra Vortex stance sprite. Computes rotation matrix from camera angle, increments orbit angle by delta, positions sprite using sin/cos around caster origin with vertical offset. 0x0072DDD0 81 CEffectTetraVortex__render_all effect Renders all 4 elemental ball sprites with additive blending 0x0072DE30 59 CEffectTetraVortex__render_single effect Renders a single Tetra Vortex element sprite via render pipeline 0x0072DE70 116 CEffectTetraVortexB__ctor effect Constructor for CEffectTetraVortexB subclass (vtable PTR_LAB_011198a0). Calls CEffectAura base ctor, zeroes vector fields at +0xCC 0x0072DEF0 95 CEffectTetraVortexB__dtor effect Destructor for CEffectTetraVortexB. Sets vtable, deallocates vector, calls CEffectAura base dtor 0x0072DF50 119 CEffectTetraVortexB__scalar_deleting_dtor effect Scalar deleting destructor for CEffectTetraVortexB. Calls dtor, then conditionally frees 0xD8 bytes of object memory 0x0072DFD0 68 CEffectTetraVortex__destroy_all_sprites effect Recycles all sprites in vector at +0xCC back to effect pool and resets vector size to zero 0x0072E020 206 CEffectTetraVortex__replace_sprites_with_3d effect Replaces billboard sprites with 3D effect layers (type 0xD). Preserves index and rotation, loads resources by element index from array at DAT_01328778 0x0072E0F0 278 CEffectTetraVortex__init_element_sprites effect Creates element sprites (up to 4) as 3D effect layers with STR resources from DAT_013286B8 array. Sets rotation based on index (even/odd pattern) 0x0072E210 34 CEffectTetraVortexB__check_alive effect Checks if effect is still alive: returns true if owner actor is alive AND sprite vector at +0xCC is non-empty 0x0072E240 425 CEffectTetraVortex__update_lifecycle effect Manages element sprite lifecycle: phase 0 expires to phase 1, phase 1 loops, phase 2 removes 0x0072E3F0 499 CEffectTetraVortex__update_element_sprite effect Updates a single element sprite transform and checks animation phase 0x0072E5F0 69 CEffectTetraVortex__render_all_3d_elements effect Renders all element sprites in vector at +0xCC as 3D models via render_active_layers_alt 0x0072E640 43 CEffectTetraVortex__render_single_3d_element effect Renders a single element sprite as 3D model via render_active_layers_alt if non-null 0x0072E670 10 CEffectTetraVortex__throw_out_of_range effect Throws std::out_of_range for invalid array subscript access 0x0072E680 143 CEffectTetraVortexC__ctor effect Constructor for CEffectTetraVortexC subclass (vtable PTR_LAB_01119950). Calls CEffectAura base ctor, zeroes 6 fields including 5 sprite slots at +0xCC 0x0072E710 71 CEffectTetraVortexC__dtor effect Destructor for CEffectTetraVortexC. Sets vtable, calls CEffectAura base dtor 0x0072E760 99 CEffectTetraVortexC__scalar_deleting_dtor effect Scalar deleting destructor for CEffectTetraVortexC. Calls dtor, then conditionally frees 0xE0 bytes of object memory 0x0072E7D0 561 CEffectTetraVortex__create_element_sprite effect Creates element sprite with fire/water/wind/earth texture based on skill ID 0x4EE-0x4F1 0x0072EA50 55 CEffectTetraVortex__remove_element_sprite effect Removes a single element sprite at the given index: recycles it to pool, clears slot at +0xCC+index*4, resets orbit params 0x0072EA90 68 CEffectTetraVortex__get_active_element_count effect Counts non-null sprite slots across 5 entries at +0xCC through +0xDC, returns total active element count 0x0072EB10 102 CEffectTetraVortex__init_element_positions effect Initializes starting orbit positions for all 4 elements at 90-degree intervals 0x0072EB80 73 CEffectTetraVortex__init_element_orbit effect Sets initial orbit parameters for a single element sprite 0x0072EBD0 63 CEffectTetraVortexC__render_all_3d_elements effect Renders all 5 element sprites (slots +0xCC through +0xDC) as 3D models via get_field4_if_mode1 and CEffect__render_active_layers_alt. Iterates 5 slots. 0x0072EC10 43 CEffectTetraVortexC__render_single_3d_element effect Renders a single CEffectTetraVortexC element sprite as a 3D model via get_field4_if_mode1 and CEffect__render_active_layers_alt. Null-checks input. 0x0072EC40 136 CEffectTetraVortex__distribute_animation_phases effect Distributes animation phases evenly across active Tetra Vortex elements. Counts non-null element pointers in slots 0-4 (offsets 0xCC-0xDC), then for each active element calls init_animation_from_resource and fast_forward_animation with phase = slot_index / total_count to space them evenly around the orbit. 0x0072ECD0 37 CEffectTetraVortex__relocate_element_to_slot effect Relocates a Tetra Vortex element from slot 0 (offset 0xCC) to the slot specified by param_2 (offset 0xCC + param_2*4). Zeroes out the source slot. No-op if param_2 is 0. 0x0072ED00 183 CTriangleShotEffect__ctor game_core 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 game_core Destructor for CTriangleShotEffect. Sets vtable and calls base class destructor. 0x0072EE10 99 CTriangleShotEffect__scalar_deleting_dtor game_core Scalar deleting destructor for CTriangleShotEffect. Calls destructor and optionally frees memory (0x100 bytes). 0x0072EE90 1053 CTriangleShotEffect__Initialize game_core 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 game_core 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 game_core 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 game_core Gets the projectile timer value from the associated effect entity. Reads field at offset 0xD0+0x98. 0x0072F4D0 16 CTriangleShotEffect__SetDelay game_core Sets the delay value at offset 0xD4 in the triangle shot effect. 0x0072F4E0 116 CProjectileEffect__constructor game_core Constructor for CProjectileEffect. Calls base constructor, sets vtable, initializes vector fields (0x33-0x35) to zero. Object size 0xD8. 0x0072F560 95 CProjectileEffect__destructor game_core Destructor for CProjectileEffect. Sets vtable, deallocates internal vector, then calls base destructor. 0x0072F5C0 119 CProjectileEffect__scalar_deleting_destructor game_core Scalar deleting destructor for CProjectileEffect. Calls destructor and optionally frees memory (0xD8 bytes). 0x0072F640 1106 CProjectileEffect__SpawnAllBloomEffect game_core 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 game_core 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 game_core Iterates through sub-effect vector (0xCC-0xD0), destroys each sub-effect, then resets the vector size to empty. 0x0072FBE0 278 CProjectileEffect__SpawnEffectBySkillId game_core 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 game_core 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 game_core 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 game_core Iterates through all sub-effects in vector (0xCC-0xD0) and updates their timers via the render system. 0x007301E0 43 CProjectileEffect__UpdateSubEffectTimer game_core Updates a single sub-effect's timer via the render system. Guard checks param is non-null. 0x00730210 510 CParticleEffect__constructor game_sprites Constructor for CParticleEffect. Inherits from base effect (0x927 type ID). Initializes particle parameters: color 0xFFC80004, alpha 0x6464, size 12.0f, scale 0.5f, lifetime 50.0f, speed 5.0f, count 200, texture "effect\\cloud11.tga". Initializes 3 sub-effect vectors. 0x00730410 110 CParticleEffect__destructor game_sprites Destructor for CParticleEffect. Sets vtable, destroys aura sub-effects, frees texture string, calls base destructor. 0x00730480 134 CParticleEffect__scalar_deleting_destructor game_sprites Scalar deleting destructor for CParticleEffect. Calls destructor and optionally frees memory (0x138 bytes). 0x00730510 760 CParticleEffect__SpawnParticles game_sprites Spawns all particles for this effect. For each particle count (0xCC), creates 21 (0x15) sub-particles per ring. Sets random angle, color, size, lifetime, texture path, and beam connections. Pushes particle handles into vector at 0x130. 0x00730810 63 CParticleEffect__DestroyAllParticles game_sprites Destroys all particle sub-effects in the vector (0x12C-0x130), then resets the vector size. 0x00730860 16 CParticleEffect__ResetAndRespawn game_sprites Calls virtual reset method then re-spawns all particles. Used when particle effect needs to restart. 0x00730880 997 CParticleEffect__UpdateAllParticleTransforms game_sprites Updates transforms for all particles. For each particle: updates alpha bounce state, advances rotation angle (wraps at 360), computes sin/cos for orbital position, applies rotation matrices (X and Z axes), transforms to world space. Stores previous and current positions for trail rendering. 0x00730C70 956 CParticleEffect__UpdateSingleParticleTransform game_sprites Updates transform for a single particle. Same logic as UpdateAllParticleTransforms but for one particle entity. Updates alpha bounce, rotation, orbital position, applies rotation matrices, stores positions. 0x00731030 164 CParticleEffect__RenderAllParticles game_sprites Renders all particles in the effect. For each particle with a valid index (>0), sets up render params (blend mode, scale) and calls the beam/particle render function. 0x007310E0 122 CParticleEffect__RenderSingleParticle game_sprites Renders a single particle. Sets up render parameters (blend mode 0x100, scale 1.0f) and calls the beam/particle render function if the particle index > 0. 0x00731160 86 CParticleEffect__UpdateParticleAlphaBounce game_sprites Updates particle alpha bounce state. Alpha oscillates between 0 and max (from byte at 0xCE). State 0 = increasing, state 1 = decreasing. Stores current alpha at offset 0x44. 0x007311C0 34 STL_uninitialized_copy_range stl Copies a contiguous range of elements from [src_begin, src_end) to dest using memcpy. Returns pointer past the last copied element in dest. Used by STL containers during reallocation. 0x007311F0 452 STL_vector_insert_single_4byte_reallocate stl STL vector insert with reallocation for 4-byte elements. Grows capacity by 1.5x, copies existing elements, inserts new element at the specified position, frees old buffer. 0x007313C0 140 CEffectResource__constructor effect Constructor for CEffectResource. Sets vtable, stores resource type param, initializes texture/mesh pointers (fields 3-7) to zero, then calls LoadResources to load the effect data. 0x00731450 68 CEffectResource__destructor_wrapper effect Destructor wrapper for CEffectResource. Calls the main resource cleanup function. 0x007314A0 129 STL_vector_dealloc_4byte_0x7314a0 stl Deallocates a vector of 4-byte elements. Frees the buffer with aligned deallocation if needed, then zeros the 3 vector fields (begin, end, capacity). 0x00731530 189 CEffectResource__destructor effect Destructor for CEffectResource. Sets vtable, releases all sub-resources by calling their destructors, releases texture objects at fields 3 and 4, then deallocates the vector buffer. 0x007315F0 210 CEffectResource__scalar_deleting_destructor effect Scalar deleting destructor for CEffectResource. Calls destructor and optionally frees memory (0x20 bytes). 0x007316D0 45 CEffectResource__ReleaseTextures effect Releases texture objects stored at offsets 0xC and 0x10. Calls their virtual destructors with delete flag. 0x00731700 63 CEffectResource__ReleaseSubResources effect Releases all sub-resources in the vector (0x14-0x18). First calls cleanup on each, then deletes each via virtual destructor. 0x00731740 365 CEffectResource__LoadResources effect Loads effect resources. Allocates and initializes primary resource (0x38 bytes), checks validity. If valid, allocates secondary resource (0x28 bytes). Then creates sub-resources (0x7C bytes each) for param_2 count, stores them in vector. Returns 1 on success, 0 on failure. 0x007318B0 103 CEffectResource__ReleaseAllResources effect Releases all resources: sub-resources from vector, then primary texture (0xC) and secondary texture (0x10). Complete resource cleanup. 0x00731920 166 CEffectResource__LoadMultipleFrames effect Loads multiple frames/resources up to param_1 count. For each frame, creates a resource handle, calls its setup method, then destroys the handle. Stops early if a frame fails to load. 0x007319D0 12 CEffectResource__thunk_push_effect effect Thunk that forwards to CEffectManager__push_effect. Only 12 bytes; used as a virtual method redirect in CEffectResource's vtable. 0x007319E0 45 CEffectResource__AreAllSubResourcesReady effect Checks if all sub-resources in the vector (0x14-0x18) are ready. Returns 1 if all ready, 0 if any is not. 0x00731A10 34 CEffectResource__CleanupAllSubResources effect Iterates through all sub-resources (0x14-0x18) and calls cleanup on each one. 0x00731A40 10 STL_throw_vector_too_long_0x731a40 stl Throws std::length_error("vector too long"). Called when vector capacity would exceed max size. 0x00731A50 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00731A90 44 CEffectHandle__move_constructor effect Move constructor for CEffectHandle. Sets vtable, moves fields 1 and 2 from source, zeros source fields. 0x00731AC0 140 CEffectHandle__constructor effect Constructor for CEffectHandle. Sets vtable, stores name param. If name is non-zero, copies string name and looks up/creates the effect resource entry. 0x00731B50 117 CEffectHandle__destructor effect Destructor for CEffectHandle. Sets vtable, if resource pointer (field 2) is non-null, copies the name and releases it via the resource manager. 0x00731BD0 138 CEffectHandle__scalar_deleting_destructor effect Scalar deleting destructor for CEffectHandle. Calls destructor and optionally frees memory (0xC bytes). 0x00731C60 88 CEffectHandle__CopyName effect Copies the effect name string from field 1 (offset 4) into param_2 via STL string copy construction. 0x00731CC0 171 CEffectManager__list_insert effect Inserts an effect into the effect manager's linked list. Creates a new node (0x14 bytes), move-constructs the CEffectHandle, and links it into the doubly-linked list. Throws std::length_error if list is at max capacity (0xccccccc). 0x00731D70 203 CEffectManager__ctor effect Constructor for CEffectManager. Initializes vtable, creates two doubly-linked lists (effect list at offset 0x4, data list at offset 0xC), sets up a critical section for thread safety, and creates a named semaphore for synchronization. 0x00731E40 67 CEffectManager__free_node_14 effect Frees a 0x14-byte linked list node from the effect list if it exists. 0x00731E90 67 CEffectManager__free_node_10 effect Frees a 0x10-byte linked list node from the data list if it exists. 0x00731EE0 106 CEffectManager__destroy_and_free_node effect Calls the virtual destructor on the object stored in a 0x14-byte effect node, then frees the node memory. 0x00731F50 78 CEffectManager__free_data_node effect Frees a 0x10-byte data node from the data list if it exists. 0x00731FA0 115 CEffectManager__clear_effect_list effect Clears the entire effect list by iterating through all nodes, calling their virtual destructors, and freeing each 0x14-byte node. Also frees the sentinel node. 0x00732020 103 CEffectManager__clear_data_list effect Clears the entire data list by iterating through all nodes and freeing each 0x10-byte node. Does not call virtual destructors. Also frees the sentinel node. 0x00732090 176 CEffectManager__dtor effect Destructor for CEffectManager. Sets vtable, closes semaphore handle, deletes critical section, clears the data list and effect list, freeing all resources. 0x00732140 197 CEffectManager__scalar_deleting_dtor effect Scalar deleting destructor for CEffectManager. Calls the full destructor logic, then optionally frees the object memory (0x38 bytes) if param_2 bit 0 is set. 0x00732210 185 CEffectManager__remove_data_by_coords effect Removes a data entry from the data list by matching coordinates (param_2, param_3). Acquires scoped lock, searches the data list, unlinks and frees the matching node, then signals the semaphore if pending count > 0. 0x007322D0 505 CEffectManager__process_pending_effects effect Processes up to 0x29 (41) pending effects from the effect list. For each effect, checks if its coordinates already exist in the data list. If not, adds to data list and moves the effect. Thread-safe with scoped lock. Increments pending counter when no more effects to process. 0x007324D0 118 CEffectManager__push_effect effect Pushes an effect onto the effect manager's list (thread-safe). Acquires scoped lock, inserts the effect handle into the linked list, then signals the semaphore. 0x00732550 120 CEffectManager__push_effect_front effect Pushes an effect to the front of the effect manager's list (thread-safe). Similar to push_effect but inserts at the head of the first node's sublist. 0x007325D0 129 CEffectQueue__ctor effect Constructor for CEffectQueue. Initializes vtable, creates a doubly-linked list (0x14-byte sentinel node), and sets up a critical section for thread safety. Object size is 0x28 bytes. 0x00732660 95 CEffectQueue__dtor effect Destructor for CEffectQueue. Sets vtable, deletes critical section, and clears the effect list by calling CEffectManager__clear_effect_list. 0x007326C0 116 CEffectQueue__scalar_deleting_dtor effect Scalar deleting destructor for CEffectQueue. Calls destructor logic, then optionally frees the 0x28-byte object if param_2 bit 0 is set. 0x00732740 364 CEffectQueue__pop_effect effect Pops an effect from the queue (thread-safe). Acquires scoped lock, checks if queue is empty. If not empty, removes the first effect from the linked list, calls its virtual destructor, frees the node, and returns the effect handle. Sets success flag in param_2. 0x007328B0 194 CEffectQueue__push_effect effect Pushes an effect onto the queue (thread-safe). Acquires scoped lock, creates a new 0x14-byte node, move-constructs the effect handle, and links it into the doubly-linked list. Throws std::length_error if list is at max capacity. 0x00732980 242 CAsyncWorkThread__ctor game_core 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 game_core Destructor for CAsyncWorkThread. Sets vtables, unregisters socket from CSocketManager, destroys CMessageQueue, CThread, and CNetworkSession in order. 0x00732B40 174 CAsyncWorkThread__scalar_deleting_dtor game_core Scalar deleting destructor for CAsyncWorkThread. Calls full destructor, then optionally frees the 0x7C-byte object. 0x00732BF0 36 CNetworkSessionBase__scalar_deleting_dtor network Scalar deleting destructor for the abstract CNetworkSession base class (vtable has purecall). Sets vtable to purecall table, then optionally frees the 4-byte object. Used as the base class destructor within CAsyncWorkThread's inheritance chain. 0x00732C40 12 CAsyncWorkThread__enqueue_message game_core Thin wrapper that forwards to CMessageQueue::Enqueue to post a message to the async work thread. 0x00732C50 8 thunk_to_CThread__Start game_core Simple thunk that calls CThread::Start and returns 0x00732C60 8 thunk_to_CThread__Stop game_core Wrapper that calls CThread::Stop and returns 0x00732C70 230 CAsyncWorkThread__thread_proc game_core 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. 0x00732D60 80 CFileLogger__ctor file Constructor for CFileLogger. Initializes vtable, sets log enabled flag, initializes critical section for thread safety, then calls initialize_log_file to set up the log directory and first log file. Object size is 0x834 bytes. 0x00732DB0 65 CFileLogger__dtor file Destructor for CFileLogger. Sets vtable and deletes the critical section. 0x00732E00 93 CFileLogger__scalar_deleting_dtor file Scalar deleting destructor for CFileLogger. Calls destructor, then optionally frees the 0x834-byte object. 0x00732E70 1126 CFileLogger__initialize_log_file file Initializes the file logger's log directory and file. Creates the log directory, generates a date-based filename pattern, cleans up old log files older than the cutoff date, then finds or creates the current log file. Supports file rotation when log exceeds 3MB (0x300000 bytes). Returns true if file index < 10000. 0x007332E0 468 CFileLogger__cleanup_old_logs file Cleans up old log files that are older than param_3 days. Searches the log directory for files matching the logger's prefix, compares filenames against a date-based cutoff string, and deletes (unlinks) any files that are too old. 0x007334C0 797 CFileLogger__write_log_entry file Writes a formatted log entry to the current log file. Thread-safe via scoped lock. Handles date rollover by creating new files when the date changes. Formats the entry with timestamp (YYYY-MM-DD HH:MM:SS.ms), source file, and line number. Rotates to a new file when size exceeds 3MB. 0x007337F0 17 CFileLogger__set_enabled file Sets the enabled flag for the file logger at offset +5. When disabled, conditional logging calls will not write to file. 0x00733810 757 CFileLogger__write_log_raw file Writes a raw string log entry (param_4 is the string, not varargs). Same log file rotation and timestamping logic as write_log_entry. Thread-safe with scoped lock. Only writes if logger and params are non-null. 0x00733B10 807 CFileLogger__write_log_if_enabled file Writes a formatted log entry only if the logger's enabled flag (offset +5) is set. Same logic as write_log_entry but with an additional enabled check. Thread-safe with scoped lock. 0x00733E40 106 CLoggerMap__destroy_tree_nodes file Recursively destroys all nodes in a red-black tree used by CLoggerMap. Each node is 0x814 bytes (contains an embedded CFileLogger). Traverses left subtrees recursively and right subtrees iteratively. 0x00733EB0 75 CLoggerMap__lower_bound file Performs a lower_bound search in the CLoggerMap's red-black tree. Searches for a node with key >= param_3. Returns an iterator-like struct with the found node, comparison result, and parent. 0x00733F00 141 CLoggerMap__ctor file Constructor for CLoggerMap (a std::map-like container for CFileLogger instances). Initializes vtable, creates a 0x814-byte sentinel/header node for the red-black tree, and initializes a critical section. Node count stored at offsets +7 and +8. 0x00733F90 70 CLoggerMap__free_sentinel_node file Frees the 0x814-byte sentinel node from the CLoggerMap tree if it exists. 0x00733FE0 79 CLoggerMap__clear_and_free file Clears all nodes from the CLoggerMap tree by calling destroy_tree_nodes on the root, then frees the sentinel node. 0x00734040 81 CLoggerMap__free_node_a file Frees a single 0x814-byte tree node from the CLoggerMap if the node pointer is non-null. 0x007340A0 81 CLoggerMap__free_node_b file Frees a single 0x814-byte tree node from the CLoggerMap if the node pointer is non-null. Duplicate of free_node_a, possibly for a different calling context. 0x00734100 90 CLoggerMap__clear_tree file Clears all nodes from the CLoggerMap tree by calling destroy_tree_nodes on the root subtree and then freeing the sentinel node (0x814 bytes). 0x00734160 130 CLoggerMap__dtor file Destructor for CLoggerMap. Sets vtable, deletes critical section, then destroys all tree nodes and frees the sentinel. 0x007341F0 242 CLoggerMap__find_or_insert file Finds an existing logger entry in the map by key, or inserts a new one if not found. Uses lower_bound to locate the position, allocates a 0x814-byte node (containing an embedded CFileLogger buffer of 0x800 bytes), and inserts into the red-black tree. Returns pointer to the logger data at node+0x14. 0x007342F0 153 CLoggerMap__scalar_deleting_dtor file Scalar deleting destructor for CLoggerMap. Calls destructor logic then optionally frees the 0x24-byte object. 0x00734390 209 CLoggerMap__get_thread_buffer file Gets or creates the per-thread log buffer. Uses the current thread handle as a key to look up in the CLoggerMap. If the thread's buffer doesn't exist yet, inserts a new zeroed 0x800-byte buffer. Thread-safe with scoped lock. 0x00734470 212 log_format_to_thread_buffer game_core 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 game_core 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 game_core 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. 0x00734720 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00734930 103 CIPAddressTree__FreeNodes network Recursively frees nodes in an IP address BST. Traverses right subtree first, then frees current node (0x24 bytes) and moves to left child. 0x007349A0 21 CIPAddress__constructor_from_uint network Constructor for CIPAddress from a uint32 IP value. Sets vtable and stores the IP address. 0x007349C0 137 CIPAddress__constructor_from_string network Constructor for CIPAddress from a string. Sets vtable, copies the string, calls inet_addr() to convert to uint32, stores result. 0x00734A60 67 CIPAddressTree__FreeRoot network Frees the root node of the IP address tree (0x24 bytes) if non-null. 0x00734AB0 111 CIPAddressTree__FreeAll network Frees all nodes in the IP address BST. Iterates through the tree freeing children, then frees the header node. 0x00734B30 78 CIPAddressTree__destructor network Destructor variant 1 for CIPAddressTree. Frees root node if present. 0x00734B80 78 CIPAddressTree__destructor2 network Destructor variant 2 for CIPAddressTree. Frees root node if present. 0x00734BE0 36 CIPAddress__scalar_deleting_destructor network Scalar deleting destructor for CIPAddress. Sets vtable and optionally frees memory (8 bytes). 0x00734C10 205 get_local_ip_address game_core 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 game_core 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. 0x007350E0 451 CConnectionManager__StoreIPAddress network Thread-safe IP address storage using a BST. Lazily initializes a global tree (DAT_0138d3e0). Looks up the current thread ID in the tree, inserts if not found. Converts the in_addr to string via inet_ntoa and stores it (16-byte buffer). Registers atexit cleanup. 0x007352B0 98 CNetworkAddress__SetFromString game_core Sets network address from an STL string. Calls inet_addr on the string buffer and stores the result at offset 4. 0x00735320 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00735530 103 CSocketTree__FreeNodes game_core Recursively frees nodes in a socket BST. Traverses right subtree, frees current node (0x18 bytes), moves to left child. 0x007355A0 75 _Find_lower_bound<> stl STL tree lower_bound helper. Binary search for the first element not less than a key. 0x007355F0 146 CSocketManager__constructor network Constructor for CSocketManager. Sets vtable, initializes socket count and tree. Allocates BST sentinel node (0x18 bytes). Initializes a CRITICAL_SECTION for thread safety. 0x00735690 67 CSocketTree__FreeRoot game_core Frees the root node of the socket tree (0x18 bytes) if non-null. 0x007356E0 111 CSocketTree__FreeAll game_core Frees all nodes in the socket BST, then frees the header node. 0x00735760 78 CSocketTree__destructor game_core Destructor for CSocketTree. Frees root node if present. 0x007357B0 78 CSocketTree__destructor2 game_core Destructor variant 2 for CSocketTree. Frees root node if present. 0x00735800 65 CSocketTree__FreeAll_wrapper game_core Wrapper that calls CSocketTree__FreeAll to free all tree nodes. 0x00735850 107 CSocketManager__destructor network Destructor for CSocketManager. Sets vtable, deletes the CRITICAL_SECTION, then frees all socket tree nodes. 0x007358C0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00735920 128 CSocketManager__scalar_deleting_destructor network Scalar deleting destructor for CSocketManager. Deletes critical section, frees tree, optionally frees memory (0x28 bytes). 0x007359A0 230 CSocketManager__CreateGlobalInstance network Creates the global CSocketManager singleton (DAT_0138d3ec). Allocates 0x28 bytes, initializes BST and critical section. Returns 1 on success, 0 on failure. 0x00735A90 27 CSocketManager__DestroyGlobalInstance network Destroys the global CSocketManager singleton. Calls virtual destructor with delete, nulls the global pointer. 0x00735AB0 267 CSocketManager__RegisterSocket network Registers a socket in the manager's BST. Enters critical section, searches for existing socket by ID, inserts new node if not found. Node stores socket ID and callback pointer. Returns 1 if inserted, 0 if already exists. 0x00735BC0 156 CSocketManager__DispatchCallback network Dispatches a callback for a registered socket. Enters critical section, looks up socket by ID, if found calls the stored callback with 3 params. Returns 1 if dispatched, 0 if not found. 0x00735C60 158 CSocketManager__UnregisterSocket network Unregisters a socket from the manager. Enters critical section, finds socket by ID and callback pointer match, removes the BST node and frees it (0x18 bytes). 0x00735D00 704 BST_erase_and_rebalance game_core BST node erasure with red-black tree rebalancing. Standard RB-tree erase operation. 0x00735FC0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x007361D0 84 BST_rotate_left game_core BST left rotation. Standard red-black tree left rotation of param_2 node. Updates parent, child, and root pointers. 0x00736230 88 BST_rotate_right game_core BST right rotation. Standard red-black tree right rotation of param_2 node. Updates parent, child, and root pointers. 0x00736290 34 memcpy_range_0x736290 stl Copies memory range [param_1, param_2) to param_3. Returns end pointer of destination. 0x007362C0 37 _Uninitialized_value_construct_n_> stl Value-initializes n elements in uninitialized memory by zeroing the range. 0x007362F0 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x00736310 34 memcpy_range_0x736310 stl Copies memory range [param_1, param_2) to param_3. Returns end pointer of destination. 0x00736340 191 CMessageQueue__constructor network Constructor for CMessageQueue. Sets vtable, initializes circular buffer (linked list head, 8 bytes), initializes CRITICAL_SECTION, creates a semaphore with max count 0x7FFFFFFF for signaling message availability. 0x00736400 77 CMessageQueue__ClearQueue network Clears all messages from the queue. Frees the circular buffer and the list head node (8 bytes). 0x00736460 137 CMessageQueue__destructor network Destructor for CMessageQueue. Sets vtable, closes the semaphore handle, deletes the critical section, frees the circular buffer and list head. 0x007364F0 160 CMessageQueue__scalar_deleting_destructor network Scalar deleting destructor for CMessageQueue. Calls destructor and optionally frees memory (0x38 bytes). 0x00736590 186 CMessageQueue__Dequeue network Dequeues a message from the circular buffer. Enters critical section, reads the oldest entry (3 dwords: type, param1, param2), decrements count. Sets success flag in result. Returns empty result if queue is empty. 0x00736660 220 CMessageQueue__Enqueue network Enqueues a message into the circular buffer. Enters critical section, grows buffer if full, allocates slot entry (12 bytes) if needed, stores 3 params (type + 2 data), increments count, signals the semaphore. 0x00736740 400 CCircularBuffer__Grow game_core Grows the circular buffer capacity. Allocates new slot pointer array, copies existing entries. 0x007368E0 182 CCircularBuffer__FreeAll game_core Frees all entries in the circular buffer. Decrements count to zero, frees each slot entry (12 bytes), then frees the slot pointer array. 0x007369A0 10 STL_throw_deque_too_long_0x7369a0 stl Throws std::length_error("deque too long"). 0x007369B0 23 CNetworkSession__constructor network Constructor for CNetworkSession. Sets vtable, increments global session counter (DAT_0138d3f0), assigns session ID. 0x007369D0 7 CNetworkSession__destructor network Destructor for CNetworkSession. Just sets the vtable pointer. 0x007369E0 36 CNetworkSession__scalar_deleting_destructor network Scalar deleting destructor for CNetworkSession. Sets vtable and optionally frees memory (8 bytes). 0x00736A10 275 CHashMap__Find game_core 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 game_core 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 game_core Clears the hash map variant 1. Frees bucket array and all linked nodes. 0x00736C60 125 STL_vector_dealloc_4byte_0x736c60 stl Deallocates a vector of 4-byte elements with aligned free. Zeros the 3 vector fields. 0x00736CF0 87 CHashMap__Clear_variant2 game_core Clears the hash map variant 2. Frees bucket array and all linked nodes. 0x00736D50 131 CHashMap__FreeAllNodes game_core 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 game_core Destructor for CHashMap. Sets vtable, frees bucket array, frees all linked list nodes. 0x00736E50 131 CHashMap__scalar_deleting_destructor game_core Scalar deleting destructor for CHashMap. Calls destructor and optionally frees memory (0x2C bytes). 0x00736EE0 117 CHashMap__LookupAndCreate game_core 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 game_core 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 game_core 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 game_core Constructor for CScopedLock (RAII lock guard). Sets vtable, stores CRITICAL_SECTION pointer, calls EnterCriticalSection. 0x00737150 64 CScopedLock__destructor game_core Destructor for CScopedLock. Sets vtable and calls LeaveCriticalSection. 0x007371A0 89 CScopedLock__scalar_deleting_destructor game_core Scalar deleting destructor for CScopedLock. Leaves critical section and optionally frees memory (8 bytes). 0x00737200 135 CThread__constructor game_core Constructor for CThread. Sets vtable, copies thread name string, initializes state to 0, handle to null, enabled flag to 1. 0x00737290 170 CThread__destructor game_core 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 game_core Scalar deleting destructor for CThread. Same cleanup as destructor, optionally frees memory (0x2C bytes). 0x00737420 94 CThread__Start game_core 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 game_core 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 game_core Resumes a suspended thread. If state is 2 (suspended), calls ResumeThread and sets state to 1 (running). 0x00737510 130 set_thread_name_via_exception game_core 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 game_core Suspends the thread. If state is 1 (running), calls SuspendThread and sets state to 2 (suspended). 0x007375C0 26 CThread__ThreadProc game_core Thread entry point (passed to _beginthreadex). Calls the virtual Run method (vtable+4), then sets thread state to 3 (stopped). 0x007375E0 151 CUIElement__constructor ui_framework Constructor for CUIElement. Sets vtable, initializes fields 7-12 to zero, sets bounding rectangle to (0, 0, screenWidth, screenHeight) using SetRect. 0x00737680 427 CGridOverlay__ctor ui_framework Constructor for CGridOverlay. Sets vtable (01119fb4), creates sentinel node for a linked list (field 7), sets bounding RECT to full screen, calculates grid columns/rows from cell size globals (DAT_01329138 x DAT_0132913c). Iterates all cells and adds those fully within the provided RECT parameter to the linked list. Object size 0x24 bytes. 0x00737840 102 CLinkedList__FreeAll game_core Frees all nodes in a linked list. Disconnects head/tail pointers, then walks the list freeing each node (0xC bytes). 0x007378B0 129 STL_vector_dealloc_16byte stl Deallocates a vector of 16-byte elements. Aligned free if needed, then zeros the 3 vector fields. 0x00737940 93 CUIElement__destructor ui_framework Destructor for CUIElement. Sets vtable, cleans up internal resources, frees vector of 16-byte elements. 0x007379A0 129 CGridOverlay__dtor ui_framework Destructor for CGridOverlay. Sets vtable, frees all linked list nodes (0xC bytes each) containing grid cell indices, then frees the sentinel node. Same class as CGridOverlay__ctor (shares vtable at 01119fb4). 0x00737A30 30 trivial_scalar_deleting_destructor game_core Trivial scalar deleting destructor. Optionally frees 4 bytes. Used for simple objects. 0x00737A50 114 CUIElement__scalar_deleting_destructor ui_framework Scalar deleting destructor for CUIElement. Calls destructor and optionally frees memory (0x34 bytes). 0x00737AD0 35 CGridOverlay__scalar_deleting_dtor ui_framework Scalar deleting destructor for CGridOverlay. Calls destructor and optionally frees memory (0x24 bytes). 0x00737B00 570 CUIElement__find_free_grid_cell ui_framework Finds a free cell in the UI element's grid layout. Calculates grid dimensions from visible area and cell size globals, builds a linked list of cell indices within visible bounds, then searches the element's stored entries (offset 0x28 vector) for one whose cell matches a valid slot and has no existing window (find_window_by_field_104 returns 0). Returns the matching entry index, or -1 if none found. 0x00737D40 373 CUIElement__clone_grid_cell_list ui_framework Clones the grid cell linked list into a new flat linked list. Allocates new 0xC-byte nodes copying each cell index (field at offset 8), creates a sentinel node, and returns the result in param_2 (sentinel pointer + count). 0x00737EC0 48 CUIGrid__GetCellPosition ui_framework Gets the pixel position of a grid cell by index. Computes row = index / columns, col = index % columns. Uses global cell width/height (DAT_01329138/DAT_0132913c) plus origin offset. 0x00737EF0 48 CUIGrid__GetCellPosition2 ui_framework Gets the pixel position of a grid cell by index (duplicate of GetCellPosition). Same calculation. 0x00737F20 186 CUIElement__find_cell_at_position ui_framework Finds the grid cell index at a given pixel position. Converts (x, y) to grid (col, row) using cell size globals (DAT_01329138, DAT_0132913c) with rounding threshold (DAT_010dd628). Clamps to grid bounds, computes linear index, then searches the stored entries vector (offset 0x28) for a match. Returns cell index or -1 if not found. 0x00737FE0 227 CUIElement__build_free_cell_list ui_framework Builds the free cell list for the UI element grid. Recalculates grid dimensions (cols/rows) from bounding rect and cell size globals, iterates all cells, skips those overlapping existing child RECTs (offset 0x1C vector of 16-byte entries), adds remaining cell indices to the free list (offset 0x2C vector). 0x007380D0 34 memcpy_range_0x7380d0 stl Copies memory range [param_1, param_2) to param_3. Returns end pointer. 0x00738100 465 CUIWindow__vector_grow_12byte game_core 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 game_core 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 game_core 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 game_core Cleanup function that destroys two STL strings in sequence. 0x00738500 136 CUIWindow__dtor game_core 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 game_core 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 game_core Dispatches to a virtual method on the child window object (offset 0x104). Calls vtable method at offset 0x10. 0x00738640 338 CUIWindow__OnCreate game_core 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 game_core 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 game_core 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 game_core Destroys the child window at offset 0x104. Calls the destroy function with delete flag 1, then nulls the pointer. 0x00738D40 15 thunk_to_CUIControl__clear_fields_and_invalidate ui_framework Thunk that calls CUIControl__set_fields_0x28_0x29_and_invalidate. Used as a callback to clear UI control state. 0x00738D50 25 CUIWindow__SetScrollRange game_core Sets the scroll range for the UI window. Stores horizontal range at 0x10C and vertical range at 0x110. 0x00738D70 3 identity_return_0x738d70 game_core Identity function - returns param_1 unchanged. Likely a no-op virtual method. 0x00738D80 49 zero_fill_12byte_array game_core Zero-fills an array of 12-byte elements. Returns pointer past the end of the filled region. 0x00738DC0 10 STL_throw_vector_too_long_0x738dc0 stl Throws std::length_error("vector too long"). 0x00738DD0 61 STL_allocator_deallocate_12byte stl STL allocator::deallocate for 12-byte elements. Handles aligned/unaligned memory: for allocations >4095 bytes, retrieves original allocation pointer from (ptr-4) and validates alignment before freeing. 0x00738E10 96 UIInventoryWnd__constructor ui_windows Constructor for UIInventoryWnd. Calls base window constructor (type 0), sets vtable to UIInventoryWnd vtable, initializes field 0x2D to 0. 0x00738E70 71 UIInventoryWnd__destructor_0x738e70 ui_windows Destructor for UIInventoryWnd. Sets vtable, calls base class destructor for cleanup. 0x00738EC0 99 UIInventoryWnd__scalar_deleting_destructor ui_windows Scalar deleting destructor for UIInventoryWnd. Sets vtable, calls base class cleanup, conditionally frees 200-byte allocation if bit 0 of param is set. 0x00738F30 642 UIInventoryWnd__InitControls ui_windows Initializes 3 tab controls for inventory window using message IDs 0x169, 0x167, 0x16a. Creates tab button objects (0x10C bytes each) stored at offsets 0xC0, 0xBC, 0xB8. Registers hotkey "Alt_I" at offset 0xC4. 0x00739220 205 UIInventoryWnd__OnMessage ui_windows Message handler for inventory window. Handles msg 6 (command 0xC9 opens shop, 0xD5 sets global vars for tabs), msg 0x22 (selection/item pick). Falls through to base class handler for other messages. 0x007392F0 56 UIInventoryWnd__SyncBoundsToParent ui_windows Copies position (x, y) and size (width, height) from this object (offsets 0x14-0x20) to the linked object at offset 0xB4. 0x00739330 94 UIItemListWnd__constructor ui_windows Constructor for UIItemListWnd. Calls base class constructor FUN_0084eab0, sets vtable to PTR_FUN_0111a230, initializes member 0x48 to 0. 0x00739390 71 UIItemListWnd__destructor ui_windows Destructor for UIItemListWnd. Sets vtable to PTR_FUN_0111a230, calls base class destructor FUN_008511b0. 0x007393E0 99 UIItemListWnd__scalar_deleting_destructor ui_windows Scalar deleting destructor for UIItemListWnd. Sets vtable, calls base destructor, conditionally frees 0x124 bytes if param_2 bit 0 is set. 0x00739450 393 UIItemListWnd__OnSelectItem ui_windows Handles item selection in the item list. Gets the display string based on tab state (offsets 0xBC/0xD4/0xEC/0x104 depending on mode 0xAC and tab index 0x30). Looks up item resource and loads/displays it. Notifies parent via vtable+0x98. 0x007395E0 48 UIItemListWnd__OnMouseDown ui_windows Mouse down handler. Gets object type 0x22 via FUN_00aa5f70, calls vtable+0x64 method with absolute position (adds widget origin offsets 0x1C, 0x20 to relative coords). 0x00739610 48 UIItemListWnd__OnMouseUp ui_windows Mouse up handler. Gets object type 0x22, calls vtable+0x7C with absolute position (widget origin + relative coords). 0x00739640 51 UIItemListWnd__OnMouseMove ui_windows Mouse move handler. Gets object type 0x22, calls vtable+0x84 with absolute position (widget origin + relative coords). 0x00739680 603 std__vector_ItemEntry__emplace stl STL vector emplace/insert for 0x1C-byte ItemEntry structs. Handles capacity growth (1.5x growth factor), element relocation with move semantics, and old buffer cleanup. Max capacity 0x9249249 elements. 0x007398E0 128 CItemList__ClearLinkedList ui_windows Clears a linked list of item nodes. Walks the list, destroying 2 STL strings per node, then frees each 0x58-byte node. Resets the count at param_2[1] to 0. 0x00739960 191 std__move_ItemEntry_range stl Moves a range of 0x1C-byte ItemEntry structs from [param_1, param_2) to param_3. Uses move semantics for embedded strings (resets source string to empty). Returns pointer past last written element. 0x00739A20 132 std__move_construct_ItemEntry stl Move-constructs a single 0x1C-byte ItemEntry from param_3 into param_2. Copies 4 DWORDs + string data with move semantics, then resets source string to empty state. 0x00739AB0 164 CItemNode__CopyConstructor ui_windows Copy constructor for CItemNode (0x50+ bytes). Copies numeric fields, then copy-constructs 2 STL strings (at offsets +0xC and +0x24), and copies trailing fields including shorts at offsets 0x48 and 0x4A, plus DWORD at 0x4C. 0x00739B60 138 CItemNode__DefaultConstructor ui_windows Default constructor for CItemNode. Zeroes numeric fields and initializes 2 embedded STL strings at offsets +0xC and +0x24 to empty (capacity=0xF, size=0). Sets member 0x4C to 0. 0x00739BF0 139 CItemEntry__ConstructFromString game_core 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). 0x00739C80 324 CItemList__constructor ui_windows Constructor for CItemList. Calls base constructor FUN_008a3700, sets vtable PTR_FUN_0111a30c. Allocates a 0x58-byte sentinel node for the doubly-linked list (self-referencing head). Initializes STL vector members, sort params (mode=0, column=1, direction=5), and various state flags. 0x00739DD0 67 CItemList__FreeSentinelNode ui_windows Frees the sentinel node (0x58 bytes) of the linked list at offset +4, if it exists. 0x00739E20 130 CItemList__DestroyAndFreeSentinel ui_windows Destroys 2 STL strings in the sentinel node at offset +4, then frees the 0x58-byte sentinel node. 0x00739EB0 90 std__vector_ItemEntry__destroy_elements stl Iterates through a vector of 0x1C-byte ItemEntry elements from [begin, end), calling STL string destructor on each element's embedded string. 0x00739F10 73 CItemList__ClearAndFreeSentinel ui_windows Clears all nodes in the linked list via CItemList__ClearLinkedList, then frees the sentinel node (0x58 bytes). 0x00739F60 206 std__vector_ItemEntry__clear_and_free stl Destroys all elements in ItemEntry vector (calling string dtors for each 0x1C-byte element), frees the buffer, and resets begin/end/capacity pointers to 0. 0x0073A030 65 CItemEntry__DestroyString game_core Destroys the embedded STL string in a single ItemEntry. 0x0073A080 142 CItemList__destructor ui_windows Destructor for CItemList. Sets vtable PTR_FUN_0111a30c, calls FUN_00738400 cleanup, destroys vector elements, clears linked list, frees sentinel node, then calls base destructor FUN_008a4e90. 0x0073A110 166 CItemList__scalar_deleting_destructor ui_windows Scalar deleting destructor for CItemList (0x290 bytes). Calls full destructor chain then conditionally frees memory. 0x0073A1C0 367 CItemList__OnRightClick ui_windows Right-click handler for item list. Checks if click is within bounds; if outside, determines item index from click position using grid dimensions (DAT_014a68b8/DAT_014a68bc). Creates a context menu/tooltip window (0x138 bytes, FUN_007426f0) positioned at the click location. 0x0073A330 177 CItemList__CreateItemTooltip ui_windows Creates and displays an item tooltip window. Allocates 0x138-byte window (FUN_007426f0), positions it, registers it with the window manager, sets item index at offset 0x104, and sends message 0x17 with item data. 0x0073A3F0 335 CItemList__GetItemAtPosition ui_windows Gets item data at a screen position. Calculates row index from Y coordinate using row height (offset 0x124), adds scroll offset (0x114). Walks linked list at offset 0xFC to find the item at that index, copies it via CItemNode__CopyConstructor. Returns default-constructed node if not found. Updates selected index at offset 0x120. 0x0073A540 231 CItemList__GetItemByIndex ui_windows Gets item node at a given list index. Walks the linked list at offset 0xFC, counting until reaching param_3. Returns a copy via CItemNode__CopyConstructor, or a default-constructed empty CItemNode if not found. 0x0073A630 5009 CItemList__InitControls ui_windows Initializes all child controls for CItemList. Creates: scrollbar widget (0xB4 bytes), 40 item icon widgets (0xB0 bytes each, stored at offset 0x128), 40 item list sub-windows (0x124 bytes each, stored at offset 0x1C8), close button with Alt_Z hotkey, text label widget, 2 tab buttons for sort modes, column header buttons with textures. Sets up texture paths for button states (normal/hover/pressed). Configures initial sort mode and display text from message string table entries (0x62-0x67, 0x163, etc.). 0x0073B9D0 4950 CItemList__OnPaint ui_windows Paint/render handler for CItemList (4950 bytes). Draws background, borders, header/footer sprites. For each visible item in the linked list: draws party member status icons, item names (with level text), equipment location text, selection highlight, online/offline indicators, and party crown for leader. Handles two display modes: party member list mode (0x28C==1) with equipment details, and friend list mode with online/offline status and name search highlighting. Uses grid layout based on column count (0x118) and row height (0x124). 0x0073CD60 797 CItemList__OnLeftClick ui_windows Left-click handler for item list. Gets item at click position, updates selection, notifies parent via vtable+0x98. If item found and conditions met (not in trade mode, etc.), creates item detail/tooltip window and searches for matching item in display list for highlighting. 0x0073D080 85 CItemList__OnMouseDown ui_windows Mouse down handler for CItemList. Calls base handler, then triggers highlight flash on the selected actor entity (sets alpha to 0xFF at offset +0x38 and records timestamp at +0x3C). In party mode (0x28C != 0), uses DAT_0145798c actor; otherwise uses DAT_014579bc. Closes any active popup menu. 0x0073D0E0 774 CItemList__OnMouseMove ui_windows Mouse move handler for CItemList. When hovering (offset 0x28C != 0), shows item tooltip with name and level info. Gets item at position, formats tooltip string with item name or "name (description)" format. Calculates tooltip position from grid layout (columns * row height + offsets). Uses lua_util_sprintf for formatting. 0x0073D3F0 112 CItemList__OnMouseUp ui_windows Mouse up handler for CItemList. Calls base handler. In party/friend mode (0x28C != 0), repositions the selected actor widget by calling vtable+0x10 with coordinates calculated from parent offset + list width + 2. 0x0073D460 193 CItemList__OnDoubleClick ui_windows Double-click handler for CItemList. Skipped if DAT_017381a8 flag is set (trade mode). Gets item at click position, updates selection if changed (vtable+0x98), then sends message 0x31 via vtable+0x94 if an item is selected (index != -1). 0x0073D530 66 CItemList__OnMouseWheel ui_windows Mouse wheel handler for CItemList. Only active if scrollbar is enabled (offset 0x44 != 0). Scrolls by up to 3 lines (clamped from offset 0x47-1). Sends scroll message (msg 7) via vtable+0x94 with positive or negative delta depending on wheel direction. 0x0073D580 182 CItemList__UpdateScrollbar ui_windows Updates the scrollbar state for the item list. Calculates total pages from item count (0x100) / items per row (0x118), determines if scrollbar is needed (0x110), clamps scroll position (0x114) to valid range, updates scrollbar widget via FUN_0089c220/FUN_0089c210, then refreshes display via FUN_0073d800. 0x0073D640 436 CItemList__LayoutColumnHeaders ui_windows Layouts the column header buttons for the item list. Positions up to 11 column headers (offset 0xC8 array) with 0x1A pixel spacing. In special mode (0x28C==1), hides filtered columns and repositions sort/filter buttons (0xE4-0xF0). Handles trade mode (DAT_017381a8) visibility for weight button (0xE0/0xDC). 0x0073D800 371 CItemList__UpdateItemPositions ui_windows Updates the position of item display widgets based on scroll state. Walks the linked list of items, positioning visible ones in a grid (row height from 0x124, columns from 0x118). Items before scroll offset are hidden (-100,-100). Uses RTDynamicCast to check item type. Sets color to gray (0x444444) for unavailable items. 0x0073D980 181 UIInventoryWnd__OnMessage_Main ui_windows Main message handler for the inventory window. Handles tab switching (msg 0xD7), resize (msg 0xE), item refresh (msg 0x17), context menu (msg 0x30/0x31), scroll (msg 7/9/10), selection tracking (msg 0x22), and numerous item operations (use, drop, equip, sell, store, guild storage). Builds context menu entries via CItemEntry__ConstructFromString. Manages equipment/use item tabs and party item list. 0x0073FD90 86 CItemList__SyncBoundsAndState ui_windows Copies position (x,y), size (w,h), plus mode flags (0x28C, 0x268) from this object to the linked object at offset 0xB4. 0x0073FDF0 92 std__destroy_ItemEntry_range stl Destroys a range of 0x1C-byte ItemEntry structs from [param_1, param_2), calling STL string destructor on each element. 0x0073FE50 10 std__throw_vector_too_long stl Throws std::length_error with "vector too long" message. Does not return. 0x0073FE60 67 std__free_ItemEntry_buffer stl Frees a buffer of 0x1C-byte ItemEntry elements. For large allocations (>0xFFF bytes), retrieves the original allocation pointer from [ptr-4] before freeing. 0x0073FEB0 49 std__string_find_in_string stl Searches for param_2 string within param_1 string starting at position param_3. Uses std::_Traits_find internally. Handles SSO (small string optimization) by checking capacity > 0xF. 0x0073FEF0 169 std__vector_ItemEntry__push_back stl Push_back for vector of 0x1C-byte ItemEntry. If capacity available, move-constructs element at end and increments size. Otherwise calls emplace to grow the vector. 0x0073FFA0 27 std__vector_ItemEntry__size stl Returns the number of elements in the ItemEntry vector: (end - begin) / 0x1C. 0x0073FFC0 204 UIContextMenuWnd__constructor game_core 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 game_core Destructor for UIContextMenuWnd. Sets vtable, clears and frees the item entry vector, calls base class destructor. 0x007400F0 119 UIContextMenuWnd__scalar_deleting_destructor game_core Scalar deleting destructor for UIContextMenuWnd. Calls destructor and optionally frees memory (200 bytes). 0x00740170 209 UIContextMenuWnd__GetTargetInfo game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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). 0x007425C0 228 std__vector_int__grow_and_fill stl Grows a vector of 4-byte (int/pointer) elements to the requested capacity. Allocates new buffer, zero-fills new elements, copies existing data, then replaces the old buffer. 0x007426D0 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x007426F0 495 UIPartyMemberWnd__constructor game_core 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 game_core Frees all nodes in a linked list with 0x14 byte nodes. 0x00742950 151 UIPartyMemberWnd__destructor game_core 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 game_core Scalar deleting destructor for UIPartyMemberWnd. Calls destructor logic and optionally frees 0x138 bytes. 0x00742AA0 19 UIPartyMemberWnd__SetOrigin game_core Sets the origin position (x at 0x1C, y at 0x20) for a UIPartyMemberWnd. 0x00742AC0 284 UIPartyMemberWnd__OnCreate game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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). 0x007435C0 111 CUIElement__ensure_singleton ui_framework Lazy-initializes the CUIElement singleton at DAT_0138d42c. Allocates 0x34 bytes via placement new if not already created. Called before using the global CUIElement instance for hit-testing UI elements. 0x00743650 36 CUICallback__scalar_deleting_destructor game_core Scalar deleting destructor for CUICallback. Sets vtable and optionally frees memory (8 bytes). 0x00743680 38 CSpriteRes__scalar_deleting_dtor_00743680 game_sprites Scalar deleting destructor for CSpriteRes (0x14C variant). Calls reset_lists to clear all frame data, then optionally frees 0x14C bytes. 0x007436B0 252 CSpriteRes__create game_sprites Factory function for CSpriteRes. Allocates 0x138 bytes, calls CTokenizer__ctor as base, sets vtable to PTR_UISkillWnd__OnPaint_0111aa48. Initializes frame list vectors (0x44-0x4D) to zero. Returns new object or NULL on allocation failure. 0x007437B0 3567 CSpriteRes__load_from_act_file game_sprites Loads sprite animation data from an ACT binary file. Reads header (magic 0x4341 = "AC"), checks version (0x200-0x206). Parses per-action frame data (0x44 bytes), per-frame sprite layers (0x24 bytes with position/scale/rotation), and event triggers. Handles version-specific fields: v0x200 adds frame events, v0x203 adds anchor points, v0x204 adds per-layer frame dimensions, v0x205 adds embedded sprite dimensions. Shows error for unsupported versions. 0x007445A0 184 CSpriteRes__reset_frame_lists game_sprites Resets all frame data in a CSpriteRes. Clears the action list vector at 0x110/0x114 (destroying 0x44-byte entries) and the event name list vector at 0x120/0x124 (destroying strings). 0x00744660 142 CSpriteRes__scalar_deleting_dtor game_sprites Scalar deleting destructor for CSpriteRes. Deallocates 3 internal vectors (4-byte elements, struct vector, 0xC-byte entries), sets vtable to CTokenizer, optionally frees 0x138 bytes. 0x007446F0 302 CSpriteRes__constructor game_sprites Constructor for CSpriteRes (0x14C variant with scale/offset). Allocates 0x14C bytes, calls CTokenizer__ctor. Sets vtable to PTR_UISkillWnd__scalar_deleting_destructor_0111aa0c. Initializes all frame vectors to 0 and sets float fields 0x4D/0x4E to 1.0f (default scale). 0x00744820 2412 CSpriteRes__load_from_text game_sprites Loads sprite animation data from a text-based RMA (Ragnarok Model Animation) file. Reads entire file into memory, parses via std::stringstream. Recognizes directives: #rsname (resource name), #action (action ID, frame count, frame data with nested vertex data), interiorzoom, interioroffsetx/y, interiorframes, shadowzoom. Uses CTokenizer to parse each line into tokens. 0x00745190 196 CSpriteRes__clear_all_data game_sprites Clears all data in a CSpriteRes. Destroys action entries at 0x110/0x114 (0x18-byte entries with nested vectors), destroys event name strings at 0x11C/0x120, and resets the index vector at 0x128/0x12C. 0x00745290 34 memcpy_range_0x745290 stl Copies memory range [param_1, param_2) to param_3. Returns end pointer. 0x007452C0 34 memcpy_range_0x7452c0 stl Copies memory range [param_1, param_2) to param_3. Returns end pointer. 0x007452F0 34 memcpy_range_0x7452f0 stl Copies memory range [param_1, param_2) to param_3. Returns end pointer. 0x00745320 105 destroy_range_44byte_entries stl Destroys a range of 0x44-byte entries by iterating from param_1 to param_2 and calling destructor/cleanup on each. 0x00745390 25 zero_fill_dword_array game_core Zero-fills an array of param_2 DWORDs starting at param_1. 0x007453B0 28 is_null_pointer game_core Returns 1 if the value at *param_1 is 0 (null pointer check), 0 otherwise. 0x007453D0 380 std__vector_int__reallocate_and_fill stl Reallocates a vector of 4-byte (int/pointer) elements. Computes new capacity (1.5x growth or requested size), allocates new buffer, fills new elements with param_3 value, copies existing data, then frees old buffer. Handles aligned allocation for buffers over 0xFFF bytes. 0x00745570 528 std__vector_0xC__reallocate_and_construct stl Reallocates a vector of 0xC-byte entries. Computes new capacity (1.5x growth or requested size, max 0x15555555), allocates new buffer, constructs new entries, moves existing entries, destroys old entries (which contain nested 0x44-byte vectors), then frees old buffer. 0x00745790 465 std__vector_0xC__reallocate_and_zero_fill stl Reallocates a vector of 0xC-byte entries with zero-fill for new elements. Computes new capacity (1.5x growth or requested size, max 0x15555555), allocates new buffer, zero-fills new entries via memset, copies existing data with memcpy, then frees old buffer. 0x00745970 520 std__vector_reallocate_0x44 stl Reallocates a std::vector of 0x44-byte elements. Grows capacity (1.5x or to requested size), copies existing elements to new buffer, destroys old elements, and frees old buffer. Standard MSVC vector reallocation pattern. 0x00745B80 468 std__vector_reallocate_0x24 stl Reallocates a std::vector of 0x24-byte elements. Grows capacity, memcpy's existing POD elements to new buffer, frees old buffer. Used for skill detail entries. 0x00745D60 530 std__vector_reallocate_0x18 stl Reallocates a std::vector of 0x18-byte elements. Grows capacity, moves existing elements with move semantics (destroys old via destructor loop), frees old buffer. Used for skill name/prerequisite entries. 0x00745F80 42 CSkillEntry__constructor game_skills Constructor for CSkillEntry. Stores skill ID and level, initializes remaining 4 fields to zero (cooldown, state, etc). 0x00745FB0 196 CSpriteTokenizer__ctor game_sprites Constructor for a CSpriteRes-derived CTokenizer subclass. Calls CTokenizer__ctor base, sets CSpriteRes vtable, initializes 10 fields at offsets 0x110-0x134 to zero (vector begin/end/capacity triplets and state flags). 0x00746080 194 CSkillTreeNode__move_ctor game_core 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 game_core Initializes a CSkillTreeNode. Zeros out 6 fields at offsets 0x20-0x3C (child pointers and connection data). 0x007461C0 246 UISkillWnd__ctor ui_windows Constructor for UISkillWnd. Calls CTokenizer__ctor base constructor, sets UISkillWnd vtable, initializes all skill list vectors and state fields to zero. Sets two float fields (0x134, 0x138) to 1.0f (scale factors). 0x007462C0 90 destroy_range_12byte_entries stl Destroys a range of 0xC-byte entries by iterating from begin to end and calling cleanup on each. 0x00746340 91 std__vector_destroy_elements_18 stl Destroys elements in a std::vector with element size 0x18. Iterates from begin to end, calling a destructor-like function on each 0x18-byte element. 0x007463A0 129 std__vector_deallocate_4byte stl Deallocates a std::vector buffer with 4-byte elements. Handles debug allocator alignment (checks for pre-buffer header when size > 0xFFF). 0x00746430 196 std__vector_destroy_and_dealloc_0xC stl Destroys each 0xC-byte element (calls FUN_007465a0 destructor) then deallocates the std::vector buffer. 0x00746500 150 std__vector_deallocate_0xC stl Deallocates a std::vector buffer with 0xC-byte elements (no element destructors called, just raw deallocation). 0x007465A0 170 std__vector_destroy_and_dealloc_0x44 stl Destroys each 0x44-byte element in a std::vector (calls destroy_range_44byte_entries) then deallocates the buffer. 0x00746650 151 std__vector_deallocate_0x24 stl Deallocates a std::vector buffer with 0x24-byte elements (no element destructors, just raw deallocation). 0x007466F0 198 std__vector_destroy_and_dealloc_0x18 stl Destroys each 0x18-byte element in a std::vector (calls destructor on each) then deallocates the buffer. 0x007467D0 245 UISkillWnd__dtor ui_windows Destructor for UISkillWnd. Sets UISkillWnd vtable, destroys 0x18-byte skill elements (vector at +0x110), destroys string elements (vector at +0x11C), clears sort index vector (+0x128), destroys format data and remaining vectors, then sets CTokenizer base vtable. 0x007468D0 65 CFmt__cleanup_wrapper fmtlib Wrapper that calls CFmt cleanup function. Simple forwarding call. 0x00746920 185 std__stringstream__dtor_complete stl Complete destructor for std::stringstream. Destroys the stringbuf (frees allocated buffer if owned), then destroys basic_streambuf and basic_istream base classes. 0x007469E0 131 std__stringbuf__dtor stl Destructor for std::stringbuf. Sets vtable, frees the string buffer if owned (mode flag bit 0 set with bit 3 clear), clears mode/size, then destroys the base basic_streambuf. 0x00746A70 172 CTokenizer__operator_index game_core 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. 0x00746B20 194 std__stringstream__dtor_with_ios stl Complete destructor for std::stringstream variant with basic_ios cleanup. Destroys stringbuf, streambuf, istream, and basic_ios in order. 0x00746BF0 39 CTokenizer__scalar_deleting_dtor game_core Scalar deleting destructor for CTokenizer. Sets vtable, optionally frees the 0x110-byte object. 0x00746C20 41 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls the destructor and optionally frees memory. 0x00746C50 152 std__stringbuf__scalar_deleting_dtor stl Scalar deleting destructor for std::stringbuf. Destroys buffer, streambuf, then optionally frees the 0x50-byte object. 0x00746CF0 329 UISkillWnd__resize_lists ui_windows Resizes the UISkillWnd's internal lists to match the given count. Calls a virtual method first, then resizes the 0xC-element vector (destroying excess entries or growing), and resizes the float vector. Uses different growth functions depending on capacity. 0x00746E40 143 std__vector_resize_0x44 stl Resizes a std::vector of 0x44-byte elements. If shrinking, destroys excess elements via destroy_range. If growing within capacity, fills new entries. If growing beyond capacity, calls std__vector_reallocate_0x44 to reallocate. 0x00746ED0 175 UISkillWnd__set_max_entries ui_windows Sets the maximum entry count for UISkillWnd (capped at 1000). Resizes the 0x24-element detail vector, zeroing new entries with memset. Resets scroll position and selection state. 0x00746F80 208 UISkillWnd__get_skill_entry ui_windows Returns pointer to skill entry at index param_2 from the 0xC-element vector at offset +0x110. If out of bounds, returns a static default entry (DAT_0138d700) initialized via lazy singleton pattern. 0x00747050 57 UISkillWnd__get_detail_entry ui_windows Returns pointer to detail entry at index param_2 from the 0x24-element vector at offset +0x20. If out of bounds, returns a static default entry (DAT_0132a1a8). 0x00747090 44 UISkillWnd__get_float_value ui_windows Returns the float value at index param_2 from the float vector at offset +0x12C. If out of bounds, returns a default float constant (DAT_010dc390). 0x007470C0 23 UISkillWnd__get_skill_type ui_windows Returns the skill type field (offset +4) from the skill entry at index param_2 in the 0x18-element vector at +0x110. 0x007470E0 72 UISkillWnd__get_skill_name_str ui_windows Returns pointer to the skill name string from the 0x18-element vector at offset +0x120. Handles SSO - returns direct pointer or heap pointer based on capacity field. Returns empty string DAT_010d4ee8 if out of bounds. 0x00747130 49 UISkillWnd__get_first_prerequisite ui_windows Returns the first prerequisite skill ID from the prerequisite vector (offset +0xC in skill entry). Returns -1 if the prerequisite vector is empty. 0x00747170 254 UISkillWnd__get_skill_tree_node ui_windows Returns a skill tree node (0x44 bytes) at the given index from the skill entry's tree node vector. Falls back to the first element if out of bounds but vector is non-empty, or returns a static default CSkillTreeNode if the vector is empty (lazy-initialized singleton). 0x00747270 246 std__vector_get_0x44_element stl Returns a 0x44-byte element at index param_2 from a std::vector. Falls back to first element if out of bounds but non-empty, or returns static default CSkillTreeNode if empty. 0x00747370 47 UISkillWnd__get_tree_node_count ui_windows Returns the number of tree nodes for a skill entry. Gets the 0x44-element vector size. Returns minimum 1 (even if empty). 0x007473A0 23 UISkillWnd__get_skill_level ui_windows Returns the skill level field (offset +8) from the skill entry at index param_2 in the 0x18-element vector at +0x110. 0x007473C0 31 UISkillWnd__get_sorted_skill_name ui_windows Returns the sorted skill name string pointer. Uses the sort index vector at +0x128 to look up into the name string vector at +0x11C. 0x007473E0 22 UISkillWnd__get_skill_id ui_windows Returns the skill ID (offset +0) from the skill entry at index param_2 in the 0x18-element vector at +0x110. 0x00747400 68 UISkillWnd__has_prerequisite ui_windows Checks if a skill (param_2) has a specific prerequisite (param_3). Searches the prerequisite int vector (at offset +0xC in the 0x18-byte skill entry) linearly. Returns 1 if found, 0 otherwise. 0x00747450 72 UISkillWnd__is_skill_valid ui_windows Returns 1 if the skill at index param_2 is valid (index in bounds, non-negative, and skill ID != -1), 0 otherwise. 0x007474A0 158 UISkillWnd__adjust_act_position ui_windows Adjusts an ACT sprite position based on frame dimensions and mirror flags. If param_2 is null, logs "Error While Load Act". Computes position by subtracting half the frame dimensions (doubled if mirrored) and dividing by scale factors at offsets +0x14 and +0x18. 0x00747550 92 destroy_range_0xC_entries stl Destroys a range of 0xC-byte entries by iterating from param_1 to param_2, calling the 0x44-entry destructor on each. 0x007475B0 22 std__vector_destroy_range_0x44_wrapper stl Thin wrapper that forwards to destroy_range_44byte_entries with this pointer. 0x007475D0 93 destroy_range_0x18_entries stl Destroys a range of 0x18-byte entries by iterating from param_1 to param_2, calling a destructor on each element. 0x00747630 35 std__stringbuf__free_buffer stl Frees a stringbuf's internal buffer. If a custom deallocator is set at offset +0x4C, uses it; otherwise calls standard free(). 0x00747660 1 identity_return_ecx_00747660 game_core Identity function that returns its input parameter unchanged 0x00747670 3 identity_passthrough_7670 crt Returns input parameter unchanged; simple identity function 0x00747680 3 identity_passthrough_7680 crt Identity function that returns its parameter unchanged 0x00747690 3 identity_passthrough_7690 crt Identity function that returns its parameter unchanged 0x007476A0 3 identity_passthrough_76a0 crt Returns input parameter unchanged; identity function stub 0x007476B0 3 identity_passthrough_76b0 crt Returns input parameter unchanged; identity function stub 0x007476C0 138 std__vector_fill_int stl Fills a range of int elements with a value. Optimized with 4x unrolling for counts > 3. If the fill value is 0, uses memset instead. Returns pointer past the last filled element. 0x00747750 143 std__vector_construct_0xC_entries stl Default-constructs param_2 entries of 0xC bytes each (zeroing all fields). Used for growing std::vector of 0xC-byte elements. 0x007477E0 49 std__vector_zero_fill_0xC stl Zero-fills param_2 entries of 0xC bytes each using memset. Returns pointer past the last filled element. 0x00747820 188 std__vector_construct_0x44_entries stl Default-constructs param_3 entries of 0x44 bytes each. Zeroes entire struct with memset, then explicitly zeroes the sub-vectors at offsets +0x20 and +0x34. Calls destroy_range at the end for exception safety. 0x007478E0 49 std__vector_zero_fill_0x24 stl Zero-fills param_2 entries of 0x24 bytes each using memset. Returns pointer past the last filled element. 0x00747920 150 std__vector_construct_0x18_default stl Default-constructs param_2 entries of 0x18 bytes (6 DWORDs). Sets first two fields to -1 (0xFFFFFFFF), third to 4, and last three to 0. 0x007479C0 161 std__vector_move_0xC_entries stl Move-constructs 0xC-byte (3 DWORD) entries from source range [param_1, param_2) to destination param_3. Zeroes source entries after moving. 0x00747A70 145 std__vector_copy_construct_0x44 stl Copy-constructs 0x44-byte entries from source range [param_2, param_3) to destination param_4 by calling UISkillWnd__OnSkillCooldown for each. Calls destroy_range on destination for exception safety. 0x00747B10 179 std__move_elements_24byte_nothrow stl Moves a range of 24-byte (0x18) elements from [param_1, param_2) to param_3 using nothrow move (copies 6 DWORDs, zeroes source pointers at offsets 3-5). 0x00747BD0 159 std__move_elements_24byte_with_string stl Moves 24-byte elements with embedded STL string from [param_1, param_2) to param_3. Uses string move semantics (resets source string to SSO empty state with capacity=0xF). 0x00747C70 10 std__throw_vector_too_long_2 stl Throws std::length_error "vector too long". Does not return. 0x00747C80 10 std__throw_vector_too_long_3 stl Throws std::length_error "vector too long". Does not return. 0x00747C90 10 std__throw_vector_too_long_4 stl Throws std::length_error "vector too long". Does not return. 0x00747CA0 10 std__throw_vector_too_long_5 stl Throws std::length_error "vector too long". Does not return. 0x00747CB0 10 std__throw_vector_too_long_6 stl Throws std::length_error "vector too long". Does not return. 0x00747CC0 10 std__throw_vector_too_long_7 stl Throws std::length_error "vector too long". Does not return. 0x00747CD0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00747D10 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00747D50 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00747D90 64 std__free_vector_buffer_0x44 stl Frees a vector buffer of 0x44-byte elements. Handles aligned allocations (>0xFFF bytes) by retrieving original pointer from [ptr-4]. 0x00747DE0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00747E20 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00747E60 348 CStringStreamBuf__overflow game_core 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 game_core 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. 0x00748020 103 std__vector_uint__resize stl Resizes a vector of 4-byte (uint) elements. If shrinking, adjusts end pointer. If growing within capacity, memsets new elements to 0. If growing beyond capacity, calls std__vector_int__grow_and_fill to reallocate. 0x00748090 167 std__vector_24byte__resize stl Resizes a vector of 0x18-byte elements. If shrinking, destroys excess elements (string dtors). If growing within capacity, calls init_empty_entries. If beyond capacity, reallocates. 0x00748140 420 CStringStreamBuf__seekoff game_core 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 game_core 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 game_core 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. 0x00748410 200 C3dAttr__Create pathfinding Factory function for C3dAttr (3D map attribute data). Allocates 0x128-byte object, calls constructor FUN_00aeda10, sets vtable PTR_FUN_0111ac08, initializes vector members (0x47-0x49) and parameters (mode=0, count=0, type=5). 0x007484E0 853 C3dAttr__LoadFromFile pathfinding Loads 3D attribute data from a .gat file. Validates magic header, reads version (must be v1.x with subversion < 4), reads width/height, resizes attribute grid, reads 0x14-byte attribute cells. For version >= 1.3, clears high bit of cell flags. Logs error for unsupported versions. 0x00748860 112 C3dAttr__scalar_deleting_destructor pathfinding Scalar deleting destructor for C3dAttr. Calls destructor FUN_00748b20, sets vtable to PTR_FUN_0111aabc, conditionally frees 0x128 bytes. 0x007488D0 395 std__vector_AttrCell__reallocate stl Reallocates a vector of 0x14-byte attribute cells. Uses 1.5x growth factor, max capacity 0xCCCCCCC elements. Copies old data via FUN_00749500, frees old buffer. 0x00748A70 148 C3dAttr__constructor pathfinding Constructor for C3dAttr. Calls base constructor FUN_00aeda10, sets vtable to C3dAttr__scalar_deleting_destructor vtable, initializes vector (0x47-0x49 = begin/end/capacity), and grid parameters (width=0, height=0, cellSize=5). 0x00748B20 151 C3dAttr__destructor pathfinding Destructor for C3dAttr. Frees the attribute cell vector buffer and resets begin/end/capacity to 0. 0x00748BC0 180 C3dAttr__Resize pathfinding Resizes the 3D attribute grid. Calls virtual clear (vtable+0x18), then resizes the internal vector to width*height 0x14-byte cells, stores width/height at offsets 0x110/0x114. 0x00748C80 165 C3dAttr__GetCellType pathfinding Gets the terrain type at world coordinates. Converts float coordinates to grid cell indices using cell size and half-width/height offset. Returns the type field (offset 0x10 in cell). Returns 1 (walkable) if out of bounds. 0x00748D30 67 C3dAttr__GetCellPtr pathfinding Returns pointer to the attribute cell at grid position (param_2, param_3). Validates bounds against width (0x110) and height (0x114). Returns 0 if out of bounds. Cell data starts at offset 0x11C (vector begin), each cell is 0x14 bytes. 0x00748D80 261 C3dAttr__GetInterpolatedHeight pathfinding Calculates interpolated height at world position (param_2, param_3). Converts to grid coordinates, then bilinearly interpolates between the 4 corner heights of the cell (stored as floats at offsets 0-0xC in each 0x14-byte cell). Returns 0.0 if out of bounds. 0x00748E90 316 C3dAttr__GetHeightMinMax pathfinding Computes min and max height values across a rectangular region of cells specified by param_2 (x1,y1,x2,y2). Iterates all cells in the rectangle, checking all 4 corner heights per cell. Outputs min to param_3 and max to param_4. Initializes min=999999, max=-999999. 0x00748FD0 107 C3dAttr__GridToWorld pathfinding Converts grid cell coordinates to world coordinates. Subtracts half the grid dimensions (width/2, height/2) and multiplies by cell size (offset 0x118). Output stored in param_4[0] (x) and param_4[1] (y). 0x00749040 605 C3dAttr__GetInterpolatedHeightBarycentric pathfinding Calculates interpolated terrain height using barycentric interpolation across a triangle formed by 3 cell corners. Converts world coords to grid, gets cell corner heights, computes barycentric coordinates for sub-cell position, and returns weighted height. Returns 0 if out of bounds. 0x007492A0 86 C3dAttr__IsCellWalkable pathfinding Checks if a grid cell at (param_2, param_3) is walkable. Returns true (1) if cell type is not 1 (blocked) and not 5 (water). Returns false (0) if blocked, water, or out of bounds. 0x00749300 485 C3dAttr__RaycastHeight pathfinding Raycasts against the terrain to find height at a point. Gets cell corners, builds two triangles from the cell quad, and performs ray-triangle intersection tests. Returns the closest intersection height or 0 if no hit. 0x007494F0 3 identity_passthrough crt Identity/passthrough function - returns param_1 unchanged. Used as a no-op or placeholder. 0x00749500 45 memcpy_AttrCell_range stl Copies a range of 0x14-byte attribute cells from [param_1, param_2) to offset param_3 - param_1 relative to source. Copies 5 DWORDs per element. 0x00749530 10 std__throw_vector_too_long_8 stl Throws std::length_error "vector too long". Does not return. 0x00749540 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00749580 166 CSprite__Create game_sprites Factory function for CSprite. Allocates 0x124-byte object, calls base constructor FUN_00aeda10, sets vtable PTR_FUN_0111acb0, initializes image dimensions and data pointers to 0. 0x00749630 333 CSprite__LoadFromStream game_sprites Loads a sprite from file. Opens CFileStream, calls virtual load method (vtable+0x20), closes stream. Returns 1 on success, 0 on failure (null path or failed open/load). 0x00749780 199 CSprite__LoadByExtension game_sprites Dispatches sprite loading based on file extension. Uses strrchr to find extension, then lstrcmpiA to compare: .bmp -> LoadImageData, .tga -> LoadTGA, .jpg -> LoadJPEG, .png -> LoadPNG. Logs error for unsupported formats. 0x00749850 83 CSprite__FreeImageBuffers game_sprites Frees the two image data buffers at offsets 0x11C and 0x120, then zeroes the width (0x114), height (0x118), and both buffer pointers. 0x007498B0 94 CSprite__scalar_deleting_destructor_2 game_sprites Scalar deleting destructor for CSprite. Sets vtable PTR_FUN_0111aabc, conditionally frees 0x124 bytes. 0x00749910 241 CSpriteEx__Create game_sprites Factory function for CSpriteEx (extended sprite). Allocates 0x140-byte object, inherits from CSprite (vtable PTR_FUN_0111acb0 then overwritten to PTR_FUN_0111acd8). Initializes extra fields: 3 additional pointers (0x49-0x4B), 2 shorts (0x4D, 0x4F), and a DWORD (0x4E). 0x00749A10 324 CSpriteEx__LoadFromFile game_sprites Loads an extended sprite from file. Opens CFileStream, calls virtual load method (vtable+0x20), closes stream. Returns 1 on success, 0 on failure. 0x00749B60 244 CSpriteEx__LoadByExtensionOrGIF game_sprites Extended sprite loader. First checks for GIF magic ("GIF"), then falls through to extension-based dispatch: .bmp, .tga, .jpg, .png. Logs error for unsupported formats. 0x00749C60 181 CSpriteEx__FreeAllFrames game_sprites Frees all animation frames. Iterates frame array (0x124 to 0x128), frees each frame's pixel buffer (if it matches current frame buffer at 0x11C, clears that too). Resets frame index (0x134), frees current buffer, clears dimensions and palette pointer (0x120). 0x00749D20 175 CSpriteEx__UpdateAnimation game_sprites Updates animated sprite frame. If multiple frames exist, checks elapsed time via timeGetTime against frame delay (stored as ushort * 10ms per frame). Advances to next frame, wrapping to 0. Updates current frame buffer pointer (0x11C) and sets dirty flag (0x13D). 0x00749DE0 112 CSpriteEx__scalar_deleting_destructor game_sprites Scalar deleting destructor for CSpriteEx. Calls frame vector cleanup FUN_0074a320, sets base vtable, conditionally frees 0x140 bytes. 0x00749E50 436 std__string_append_range stl Appends a range of characters [param_2, param_3) to an STL string one byte at a time. Handles SSO (small string optimization) and dynamic growth (1.5x factor, max 0x7FFFFFFF capacity). Manages aligned allocation for large strings. 0x0074A010 439 std__vector_8byte__emplace stl Emplace/insert for vector of 8-byte elements (e.g., sprite frame entries). Handles capacity growth (1.5x), element relocation, old buffer cleanup. Max 0x1FFFFFFF elements. 0x0074A1D0 114 CSprite__constructor_inline game_sprites Constructor for CSprite. Calls base constructor FUN_00aeda10, sets vtable, initializes image data (0x44=0) and frame vector pointers (0x47/0x48=0). 0x0074A250 189 CSpriteEx__constructor game_sprites Constructor for CSpriteEx. Calls CSprite constructor, then overwrites vtable to PTR_FUN_0111acd8. Initializes animation-related fields: frame array (0x49-0x4B), frame count (0x4C), frame index shorts (0x4D, 0x4F), and timestamp (0x4E). 0x0074A320 129 CSpriteEx__FreeFrameVector game_sprites Frees the frame vector buffer (8-byte elements). Handles aligned allocation recovery for large buffers (>0xFFF). Resets begin/end/capacity to 0. 0x0074A3B0 66 CTokenizer__init_vtable game_core Initializes base class vtable pointer to PTR_CTokenizer_0111aabc with SEH frame setup. Simple constructor/initialization helper for the CTokenizer base class. 0x0074A400 66 std__basic_streambuf_char__destructor stl Destructor wrapper for std::basic_streambuf. Calls the base class destructor with SEH frame setup. 0x0074A450 91 std__basic_streambuf_char__scalar_deleting_destructor stl Scalar deleting destructor for std::basic_streambuf. Calls base destructor and optionally frees memory if param_2 bit 0 is set. 0x0074A4B0 150 CSprite__AdvanceFrame game_sprites Advances sprite animation frame based on elapsed time (timeGetTime). Reads frame delay from frame array at offset +0x124, compares against stored timestamp at +0x138. Wraps frame index (+0x134) back to 0 when reaching the end. Updates current frame data at +0x11c. Returns 1 if frame changed, 0 otherwise. 0x0074A550 101 CSprite__AllocatePixelBuffer game_sprites Allocates a pixel buffer for a sprite frame. Calls virtual function at vtable+0x18 first. Sets width (param_2) at +0x114 and height (param_3) at +0x118. Allocates width*height*4 bytes and fills with 0xFF (white/opaque). Stores buffer pointer at +0x11c. 0x0074A5C0 179 CSprite__AllocatePixelBufferWithHistory game_sprites Allocates a pixel buffer like AllocatePixelBuffer but also pushes buffer pointer into a history vector at +0x128/+0x12C. If vector is full, calls FUN_0074a010 to grow it. Stores buffer pointer at +0x11c. 0x0074A680 368 CSprite__CreateTintedCopy game_sprites Creates a tinted/colorized copy of the sprite pixel buffer. Allocates new buffer at +0x120, iterates over pixels from +0x11c. Averages RGB channels and applies tinting based on param_2 mode: 1=general tint (min brightness 0x78), 2=boost red to 200, 3=boost green to 200, 4=boost blue to 200. Pure white pixels with green=0 are kept white. Returns 1 on success, 0 if no source buffer or already tinted. 0x0074A7F0 65 CSprite__GetPixelAt game_sprites Returns the pixel color (ARGB) at coordinates (param_2, param_3) from the pixel buffer at +0x11c. Bounds-checks against width (+0x114) and height (+0x118). Returns 0xFF0000 (magenta) if out of bounds. 0x0074A840 690 lzw_decode game_core 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. 0x0074AB00 2046 CSprite__LoadImageData game_sprites Loads image data from a buffer into sprite pixel arrays. Supports two formats: BMP (magic 0x4D42 / 'BM') with 8-bit indexed or 24-bit color, and a custom RO sprite format (checked against DAT_0111ad68). For 8-bit images, reads palette and deindexes pixels. For 24-bit, reads raw RGB data. Stores width/height at +0x114/+0x118, allocates ARGB pixel buffer at +0x11c. param_4 flag enforces 24x24 size constraint. Outputs debug string on unsupported formats. 0x0074B300 2485 CSprite__LoadGIF game_sprites Loads a GIF image (checks 'GIF' magic). Parses global color table, graphic control extensions (transparency, frame delay), image descriptors with local color tables, and application extensions (NETSCAPE for loop count at +0x130). Decompresses LZW-encoded pixel data via lzw_decode. Supports multi-frame GIFs stored in frame vector at +0x124/+0x128. Returns 1 on success, 0 on failure. 0x0074BCC0 583 CSprite__LoadJPEG game_sprites Loads a JPEG image using Intel JPEG Library (ijlInit/ijlRead/ijlFree). Reads dimensions, allocates RGB buffer, then converts to ARGB pixel buffer at +0x11c. Pixels that are near-white (R>=0xFE, G<=3, B>=0xFE) are replaced with 0x0A0A0A. Sets +0x110 to 0 on success. Returns 1 on success, 0 on failure. 0x0074BF10 993 CSprite__LoadPNG game_sprites Loads a PNG image using libpng. Sets up png_struct with longjmp error handling, creates basic_streambuf wrapper for reading, configures read callback (FUN_0074c9d0). Handles various color types: palette (3), grayscale (0/4), 16-bit reduction. Adds alpha if tRNS chunk present. Converts to ARGB pixel buffer at +0x11c. Sets +0x110 to 1 (has alpha). Returns 1 on success, 0 on failure. 0x0074C300 556 CSprite__LoadTGA game_sprites Loads a TGA (Targa) image. Supports type 2 (uncompressed true-color) and type 10 (RLE-compressed true-color). Reads header for dimensions and color depth. Handles 24-bit and 32-bit (with alpha) pixel data. Stores bottom-up scanlines into ARGB buffer at +0x11c. Sets +0x110 to 1 (has alpha). Returns 1 on success, 0 on failure. 0x0074C540 34 CSprite__FreeTintedBuffer game_sprites Frees the tinted pixel buffer at +0x120 and nulls the pointer. Called to release memory from CreateTintedCopy. 0x0074C570 932 CSprite__LoadAlphaBitmap game_sprites Loads a separate bitmap file as alpha channel data. Opens file via CFileStream, reads image, then merges alpha values into existing pixel buffer at +0x11c. Alpha is computed as average of RGB channels from the alpha image, stored in the high byte of each ARGB pixel. Shows error dialog "Error reading alpha bitmap" on failure. Returns 1 on success, 0 on failure. 0x0074C920 44 copy_frame_entries game_core Copy frame entries, small utility function 0x0074C950 45 relocate_frame_entries game_core 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. 0x0074C980 10 vector_xlength_error stl Throws std::length_error with message "vector too long". Called when vector exceeds max_size. 0x0074C990 62 STL_aligned_deallocate_8byte stl Deallocates memory that was allocated with SIMD alignment. 0x0074C9D0 32 png_read_callback file PNG read callback used with libpng. Wraps std::basic_istream::read to provide data from a stream to the PNG decoder. 0x0074C9F0 147 CSprite__CreateNew game_sprites Factory function: allocates a new CSprite object (0x250 bytes), calls constructor chain (FUN_00aeda10 + FUN_0074a250), sets vtable to PTR_FUN_0111ae00. Returns new object or NULL on allocation failure. 0x0074CA90 619 CSprite__LoadFromFile game_sprites Loads a sprite from a file path. First tries CPacketStream (GRF archive) handler; if found, allocates pixel buffer with history. Otherwise opens as regular file, reads contents into memory, calls virtual dispatch at +0x110 offset 0x20 to decode format, then falls back to CPacketStream if that fails. Returns 1 on success, 0 on failure. 0x0074CD50 112 CSprite__scalar_deleting_destructor game_sprites Scalar deleting destructor for CSprite. Calls FUN_0074ce20 for cleanup, resets vtable to PTR_FUN_0111aabc, then optionally frees 0x250 bytes of memory if bit 0 of param_2 is set. 0x0074CDC0 95 CSprite__constructor game_sprites CSprite constructor. Calls base constructor (FUN_00aeda10), sets vtable to PTR_FUN_0111ae00, then calls FUN_0074a250 to initialize sprite-specific fields. 0x0074CE20 179 CSprite__destructor game_sprites CSprite destructor. Frees the frame history vector at +0x124/+0x128/+0x12C (offsets 0x49/0x4a/0x4b in dword terms). Resets vtable to base PTR_FUN_0111aabc. 0x0074CEE0 263 CAniClip__CreateNew game_core 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 game_core 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 game_core Scalar deleting destructor for CAniClip. Calls destructor FUN_0074d6f0, optionally frees 0xD350 bytes if param_2 bit 0 set. 0x0074D360 25 memzero_dwords game_core Zeros memory by dword count. Calls memset(param_1, 0, param_2 * 4). 0x0074D380 25 memzero_dwords_2 game_core 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 game_core 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 game_core Returns 1 if the dword pointed to by param_1 is zero, 0 otherwise. Duplicate of is_null_check. 0x0074D3E0 143 format_float_fixed game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x0074DB10 356 CModel__CreateNew game_sprites Factory function: allocates a new CModel object (0x1B4 bytes). Sets vtable to PTR_FUN_0111aed4. Initializes 9 dwords at +0x150 to zero, JSON vtable at +0x188, index at +0x18C to -1, string/vector fields. Sets float at +0x120 to 10.0f (0x41200000). Returns new object or NULL. 0x0074DC80 90 CModel__LoadFromFile game_sprites Loads model data from a file. Opens file, reads 4-byte magic. If magic is 0x4E475247 ('GRGN' / Gravity model format), sets +0x110 to 1 (has content) and calls CActFile__load_header to parse the model data. Returns 1 on success, 0 on failure. 0x0074DD10 38 CModel__scalar_deleting_destructor game_sprites Scalar deleting destructor for CModel. Calls CActFile__partial_dtor destructor, optionally frees 0x1B4 bytes if param_2 bit 0 is set. 0x0074DD40 276 vector_dword__insert_grow stl Inserts a dword element into a vector at position param_2, growing the buffer as needed. Uses 1.5x growth factor. Allocates new buffer via FUN_0074efa0, copies existing elements, inserts new element from param_3, then swaps via FID_conflict__Change_array. Throws length error at 0x3FFFFFFF max capacity. 0x0074DE80 329 vector_36byte__insert_grow stl Inserts a 36-byte (0x24) element into a vector at position param_2, growing as needed. Uses 1.5x growth factor, max 0x71C71C7 elements. Copies 9 dwords from param_3 for the new element. Allocates via FUN_0074f000, copies via FUN_0074ef10/FUN_0074ef50. 0x0074DFF0 388 vector_dword__resize stl Resizes a dword vector to param_2 elements. Allocates new buffer (aligned to 0x20 for buffers >= 0x1000), copies existing data, zeros new elements. Frees old buffer. Updates begin/end/capacity pointers. Max 0x3FFFFFFF elements. 0x0074E1A0 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x0074E1C0 300 CModel__constructor game_sprites CModel constructor. Calls base constructor, sets vtable to PTR_FUN_0111aed4. Initializes 9 dwords at +0x150 to zero (model state), JSON vtable at +0x188, index at +0x18C to -1, string/vector fields. Sets float at +0x120 to 10.0f (default scale), type at +0x110 to 0. 0x0074E2F0 151 vector_36byte__clear_and_free stl Clears and frees a vector of 36-byte (0x24) elements. Frees the buffer (aligned deallocation for large buffers >= 0x1000), zeros begin/end/capacity pointers. 0x0074E390 164 CActFile__partial_dtor game_sprites Partial destructor for CActFile. Sets vtable, closes file handle, destroys string, clears internal vectors (4-byte, 36-byte, and another 4-byte). Sets base vtable to CTokenizer. 0x0074E440 105 CActFile__read_5bit_value game_sprites Reads a 5-bit packed value at index param_2 from the data buffer at param_1. Handles the case where the 5 bits span a byte boundary by reading from two consecutive bytes. 0x0074E4B0 138 CActFile__decompress_5bit_palette game_sprites Decompresses a 5-bit packed palette (0x140 bits = 64 entries of 5 bits each) from param_1 into param_2 as 64 individual bytes. 0x0074E540 264 CActFile__get_frame_data game_sprites Gets frame data for a specific frame index. For version > 6, copies 0x100 bytes directly from the frame buffer. For older versions, decompresses four 5-bit palettes (64 entries each) and rearranges them into an interleaved format (RGBA-like). 0x0074E650 531 CActFile__load_header game_sprites Loads the ACT file header. Reads version byte, file type, and for type 1 with version > 6, reads dimensions, palette count, frame buffer, and additional data. Handles different data layouts for version 7 (0x100 bytes/frame) vs older (0x10 bytes/frame). Returns 1 on success, 0 on invalid type/version. 0x0074E870 738 CActFile__load_extended_data game_sprites Loads extended data for ACT file version >= 8. Reads a 0x18-byte transform matrix, grid dimensions, resizes dword and 0x24-byte vectors. For version 8, reads one dword per cell + 0x18-byte data. For version 9, reads full 0x18-byte records per cell. 0x0074EB60 102 CActFile__write_5bit_value game_sprites Writes a 5-bit packed value (param_3, masked to top 5 bits) at bit position param_2*5 in the buffer at param_1. Handles byte boundary spanning. 0x0074EBD0 147 CActFile__compress_5bit_palette game_sprites Compresses 64 byte values from param_2 into a 5-bit packed format in param_1. Each byte's top 5 bits are packed sequentially (0x140 total bits = 40 bytes). 0x0074EC70 90 STL_vector__Change_array_0074ec70 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x0074ECD0 118 STL_vector__Change_array_0074ecd0 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x0074ED50 1 identity_return_ecx_0074ed50 game_core Identity function that returns its input parameter unchanged 0x0074ED60 197 std__vector_reallocate_dword stl Reallocates a std::vector to a new capacity. Allocates new buffer, copies existing data, frees old buffer. Handles aligned allocation for buffers > 0xFFF bytes. 0x0074EE50 142 STL_vector__Reallocate_exactly_0074ee50 stl Reallocates a vector buffer to exact size, copies existing elements, and frees old buffer. 0x0074EF10 52 std__vector_copy_0x24_entries stl STL template instantiation: std vector copy 0x24 entries 0x0074EF50 54 std__vector_move_0x24_entries stl Moves a range of 0x24-byte (9 DWORD) elements from [param_1, param_2) to offset param_3 from each source element. 0x0074EF90 10 thunk_to_std__Xlength_error stl Thunk that calls std::_Xlength_error with vector_too_long message 0x0074EFA0 92 std__vector_allocate_dword stl Allocates memory for param_1 DWORD elements. For small allocations (< 0x1000 bytes), uses direct allocation. For larger ones, adds 0x23 bytes for alignment header. Max count: 0x3FFFFFFF. 0x0074F000 95 std__vector_allocate_0x24 stl Allocates memory for param_1 elements of 0x24 bytes each. Same aligned allocation strategy as std__vector_allocate_dword. Max count: 0x71C71C7. 0x0074F060 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0074F0A0 233 CSkillTreeData__create game_core 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 game_core 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 game_core Scalar deleting destructor for CSkillTreeData. Calls cleanup, sets base vtable, optionally frees the 0x19B8-byte object. 0x0074F930 116 destroy_range_0x24_skill_entries stl Destroys a range of 0x24-byte skill tree entries. Each entry has 3 sub-vectors that need destruction. Iterates from param_1 to param_2, calling vector destructors on each. 0x0074F9B0 437 std__vector_insert_grow_0x24 stl Inserts a 0x24-byte element into a vector, growing it when at capacity. Uses 1.5x growth strategy. Allocates new buffer, copy-constructs the new element, relocates existing elements, frees old buffer. 0x0074FB90 551 std__vector_insert_grow_0xC_skill stl Inserts a 0xC-byte element into a skill entry vector, growing when at capacity. Uses 1.5x growth strategy with max 0x15555555 elements. Moves existing elements to new buffer. 0x0074FDC0 137 std__vector_relocate_0x24_entries stl Relocates 0x24-byte entries from [param_1, param_2) to starting at param_3 via move construction. Cleans up with destroy_range at the end for exception safety. 0x0074FE50 162 std__vector_move_0xC_skill_entries stl Move-constructs 0xC-byte (3 DWORD) skill entries from source range to destination. Zeroes source entries after moving. 0x0074FF00 113 CSkillTreeEntry__copy_construct game_core Copy-constructs a 0x24-byte CSkillTreeEntry at param_2. Has 3 sub-vectors at offsets 0, 0xC, 0x18, each copy-constructed from the source. 0x0074FF80 290 std__vector_copy_0x24_skill_vector stl Deep-copies a vector of 0x24-byte CSkillTreeEntry elements from param_2 to param_1. Allocates buffer, then copy-constructs each entry's 3 sub-vectors. 0x007500B0 171 CSkillTreeData__ctor game_core 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 game_core Move-constructs a 0x24-byte CSkillTreeEntry. Moves 3 sub-vectors (each 3 DWORDs: begin, end, capacity) from source to destination, zeroing the source. 0x007502A0 174 std__vector_destroy_and_dealloc_0xC_skill stl Destroys and deallocates a vector of 0xC-byte skill entries. Calls destructor on each element, then frees the buffer. Handles aligned deallocation. 0x00750360 98 CSkillTreeEntry__destroy_single game_core Destroys a single 0x24-byte CSkillTreeEntry by calling vector destructors on its 3 sub-vectors. 0x007503D0 358 CSkillTreeData__compute_weighted_sum game_core 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 game_core 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 game_core 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 game_core Returns the number of 0x24-byte entries in skill category param_2. 0x007506B0 43 CSkillTreeData__get_prereq_count game_core Returns the number of prerequisites for entry param_3 in skill category param_2. 0x007506E0 63 CSkillTreeData__get_prereq_data game_core 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 game_core 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 game_core Thin wrapper that forwards to destroy_range_0x24_skill_entries with this pointer. 0x00750770 36 destroy_range_0xC_skill_entries stl Destroy range 0xc skill entries 0x007507A0 166 std__vector_destroy_and_dealloc_0x24 stl Destroys and deallocates a vector of 0x24-byte skill tree entries. Calls destroy_range on all entries, then frees the buffer with aligned deallocation. 0x00750850 10 thunk_to_std__Xlength_error_00750850 stl Forwards to std::_Xlength_error with vector_too_long message 0x00750860 10 thunk_to_std__Xlength_error_00750860 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00750870 95 std__vector_allocate_0x24_b stl Allocates memory for param_1 elements of 0x24 bytes each. Same aligned allocation strategy. Max count: 0x71C71C7. 0x007508D0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00750910 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00750950 284 CRsmModel__clear_all_data game_sprites Clears all data from a CRsmModel. Destroys mesh nodes via virtual destructor calls and frees 0xC-byte list nodes. Clears bone name list. Destroys light/volume nodes, freeing 0xE8-byte data blocks and their 0xC-byte list nodes. Resets all counters to 0. 0x00750A70 146 CRsmModel__create game_sprites Factory function that creates a CRsmModel object (0x160 bytes). Allocates memory, calls base constructor, sets vtable, zeroes header field at +0x15C. 0x00750B10 4958 CRsmModel__load_from_file_v1 game_sprites Loads a RSM (Ragnarok 3D model) file version 1. Reads header magic "GRSM", version, shade type, alpha, ambient color, texture names, root node name, mesh nodes (with vertices, faces, materials, textures, keyframes), bone hierarchy, and light volumes. Handles version differences (v1-v5) for face and volume data formats. Returns 1 on success. 0x00751E70 93 CRsmModel__scalar_deleting_dtor game_sprites Scalar deleting destructor for CRsmModel. Calls destructor, optionally frees the 0x160-byte object. 0x00751ED0 156 CRsmModel__create_v2 game_sprites Factory function that creates a CRsmModel v2 object (0x164 bytes). Like CRsmModel__create but with an extra field at +0x160 (initialized to 0). 0x00751F70 537 CRsmModel__load_from_file game_sprites Loads a RSM model file, dispatching to the correct version loader. Reads header magic "GRSM", version byte, format byte. Dispatches to LoadFromStream_v1/v2/v3 based on format. Sets filename. Returns 1 on success, 0 on failure. 0x00752190 93 CRsmModel_v2__scalar_deleting_dtor game_sprites Scalar deleting destructor for CRsmModel v2. Calls destructor, optionally frees the 0x164-byte object. 0x007521F0 388 CRsmMeshNode__create game_sprites Factory function for CRsmMeshNode (0x164 bytes). Creates the node with vtable, initializes two linked lists (0xC and 0x20-byte nodes), sets up SSO string buffer, and initializes rendering params (scale=1.0, blend mode=2, alpha=0xFF). 0x00752390 4457 CRsmMeshNode__load_from_stream game_sprites Loads a RSM mesh node from a file stream. Large function (4457 bytes) - reads mesh data including vertices, faces, textures, materials, and keyframes for a 3D model node. 0x00753510 38 CRsmMeshNode__scalar_deleting_dtor game_sprites Scalar deleting destructor for CRsmMeshNode. Calls mesh node destructor, optionally frees the 0x164-byte object. 0x00753540 206 CGrannyModel__create game_sprites Factory function for CGrannyModel (0x3B8 bytes). Creates the object with base constructor, sets vtable, zeroes animation-related fields and resource handles. 0x00753620 1238 CGrannyModel__load_from_file game_sprites Loads a Granny model from file. Reads Granny2 format data including meshes, skeletons, and animations. 1238 bytes. 0x00753B00 121 CGrannyModel__scalar_deleting_dtor game_sprites Scalar deleting destructor for CGrannyModel. Sets vtable, frees Granny resources if allocated, sets base vtable to CTokenizer, optionally frees the 0x3B8-byte object. 0x00753B80 241 CRsmModel__copy_tree_node game_sprites Recursively copies a red-black tree node for the RSM model's bone hierarchy. Allocates 0x20-byte nodes, copies the key data via FUN_00754fc0, and recursively copies left and right subtrees. 0x00753C90 169 CRsmModel__destroy_tree_with_maps game_sprites Recursively destroys a tree where each node (0x1C bytes) has an embedded std::map. Destroys the map subtree, frees the map sentinel (0x20 bytes), then frees the node itself. Traverses right subtree recursively, left iteratively. 0x00753D40 128 CRsmModel__destroy_tree_with_strings game_sprites Recursively destroys a tree where each node (0x2C bytes) has an embedded std::string. Destroys the string, frees the node. Traverses right subtree recursively, left iteratively. 0x00753DC0 131 CRsmModel__destroy_tree_with_vectors game_sprites Recursively destroys a tree where each node (0x20 bytes) has an embedded vector. Frees vector data, then the node. Traverses right subtree recursively, left iteratively. 0x00753E50 1026 CRsmFace__insertion_sort game_core Insertion sort for small ranges of 0x20-byte face elements. Called from introsort when range is <= 32 elements. 0x00754260 404 CRsmFace__make_heap game_core 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 game_core 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 game_core Partition operation for introsort of 0x20-byte face elements. Selects pivot and partitions the range. 0x00754950 495 CRsmFace__sift_down game_core 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 game_core 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. 0x00754C80 362 CRsmModel__bone_map_find_or_insert game_sprites Finds or inserts a bone entry in the RSM model's bone name map (red-black tree with int keys). Allocates 0x1C-byte nodes with an embedded std::map (0x20-byte sentinel). Returns iterator and insertion flag. 0x00754DF0 415 CRsmModel__name_map_find_or_insert game_sprites Finds or inserts a name entry in the RSM model's name map (red-black tree with std::string keys). Allocates 0x2C-byte nodes. Uses std::_Traits_compare for string comparison. Returns iterator and insertion flag. 0x00754F90 37 CRsmModel__init_linked_list game_sprites Initializes a doubly-linked list for CRsmModel. Allocates a 0xC-byte sentinel node and sets both pointers to itself (empty list). Stores in param_1. 0x00754FC0 286 CRsmModel__copy_vector_8byte game_sprites Copy-constructs a node containing a DWORD + vector<8-byte>. Copies the DWORD, then deep-copies the vector data (8-byte elements). Handles aligned allocation for large buffers. 0x007550E0 332 CRsmMeshNode__ctor game_sprites Constructor for CRsmMeshNode. Calls base constructor, sets vtable, initializes linked lists, tree maps, SSO string, and rendering params (scale=1.0, blend=2, alpha=0xFF). 0x00755230 217 CRsmMeshNode__init_fields game_sprites Initializes CRsmMeshNode fields. Sets up two SSO strings (offsets 0, 0x18), creates a linked list (0xC-byte sentinel), zeroes texture/material/animation/rendering fields. 0x00755340 154 CGrannyModel__ctor game_sprites Constructor for CGrannyModel. Calls base constructor, sets vtable, zeroes animation/resource fields at various offsets. 0x007553E0 372 CRsmModel__init_base game_sprites Initializes the base CRsmModel fields. Calls base init, sets vtable, creates mesh/bone/name tree sentinel nodes, creates volume linked lists, initializes SSO string, sets alpha to 0xFF, creates bone data tree. 0x00755560 94 CRsmModel__ctor game_sprites Constructor for CRsmModel. Calls base init, sets vtable to CRsmModel, zeroes field at +0x15C. 0x007555C0 104 CRsmModel_v2__ctor game_sprites Constructor for CRsmModel v2. Calls base init, sets vtable to CRsmModel_v2, zeroes fields at +0x15C and +0x160. 0x00755630 219 CRsmMesh__ctor game_sprites Constructor for CRsmMesh. Sets vtable, initializes two SSO strings, creates a linked list (0xC-byte sentinel), zeroes texture/material/rendering fields. Sets alpha to 0xFF. 0x00755710 121 CFileStreamEntry__ctor file Constructor for CFileStreamEntry. Sets vtable, initializes file handle to -1, zeroes buffer fields, initializes an SSO string. 0x00755790 238 CRsmFace__copy_construct game_core 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 game_core Initializes the vector fields (begin, end, capacity) of a CRsmFace to zero at offset +0x14. 0x007558E0 67 CRsmModel__free_list_node_0xC_a game_sprites Frees a 0xC-byte linked list node if the pointer is non-null. 0x00755930 67 CRsmModel__free_list_node_0xC_b game_sprites Frees a 0xC-byte linked list node if the pointer is non-null. Duplicate for different allocator context. 0x00755980 67 CRsmModel__free_list_node_0xC_c game_sprites Frees a 0xC-byte linked list node if the pointer is non-null. Duplicate for different allocator context. 0x007559D0 67 CRsmModel__free_tree_node_0x1C game_sprites Frees a 0x1C-byte tree node if the pointer is non-null. 0x00755A20 67 CRsmModel__free_tree_node_0x2C game_sprites Frees a 0x2C-byte tree node if the pointer is non-null. 0x00755A70 33 CRsmMesh__release_texture game_sprites Releases a texture resource held by the mesh. If the texture pointer at offset +0x24 is non-null, calls its virtual release method and sets the pointer to null. 0x00755AA0 78 CRsmModel__free_list_node_0xC_d game_sprites Frees a 0xC-byte linked list node if non-null. Variant d. 0x00755AF0 78 CRsmModel__free_list_node_0xC_e game_sprites Frees a 0xC-byte linked list node if non-null. Variant e. 0x00755B40 78 CRsmModel__free_list_node_0xC_f game_sprites Frees a 0xC-byte linked list node if non-null. Variant f. 0x00755BA0 76 CRsmModel__clear_map_tree_0x20 game_sprites Clears a std::map tree with 0x20-byte nodes. Destroys subtree then frees the sentinel. 0x00755C00 76 CRsmModel__clear_map_tree_0x1C game_sprites Clears a tree of 0x1C-byte nodes with embedded maps. Destroys subtrees recursively then frees the sentinel. 0x00755C60 76 CRsmModel__clear_string_tree_0x2C game_sprites Clears a tree of 0x2C-byte nodes with embedded strings. Destroys subtrees recursively then frees the sentinel. 0x00755CC0 152 CRsmModel__destroy_node_with_map game_sprites Destroys a single 0x1C-byte node that has an embedded map at offset +0x14. Destroys the map subtree, frees the map sentinel, then frees the node. 0x00755D60 113 CRsmModel__destroy_node_with_string game_sprites Destroys a single 0x2C-byte node that has an embedded string. Destroys the string, then frees the node. 0x00755DE0 78 CRsmModel__free_tree_node_0x1C_b game_sprites Frees a 0x1C-byte tree node if non-null. Variant b. 0x00755E30 78 CRsmModel__free_tree_node_0x2C_b game_sprites Frees a 0x2C-byte tree node if non-null. Variant b. 0x00755E80 92 CRsmMesh__release_texture_b game_sprites Releases a texture resource held by the mesh. Variant b - identical logic to release_texture but in different calling context. 0x00755EE0 103 CRsmModel__clear_list_0xC_a game_sprites Clears all 0xC-byte nodes from a linked list. Iterates through nodes, frees each, then frees the sentinel. Variant a. 0x00755F50 103 CRsmModel__clear_list_0xC_b game_sprites Clears all 0xC-byte nodes from a linked list. Identical to clear_list_0xC_a. Variant b. 0x00755FC0 103 CRsmModel__clear_list_0xC_c game_sprites Clears all 0xC-byte nodes from a linked list. Identical to clear_list_0xC_a. Variant c. 0x00756030 87 CRsmModel__clear_map_tree_0x20_b game_sprites Clears a std::map tree with 0x20-byte nodes. Destroys subtree then frees sentinel. Variant b. 0x00756090 87 CRsmModel__clear_map_tree_0x1C_b game_sprites Clears a tree of 0x1C-byte nodes with embedded maps. Variant b. 0x007560F0 87 CRsmModel__DestroyTree game_sprites Destroys the string tree for an RSM model. Calls CRsmModel__destroy_tree_with_strings to recursively destroy child nodes with embedded strings, then frees the root sentinel node (0x2C bytes). 0x00756150 112 CRsmModel__DestroyTextureMap game_sprites Destroys the texture map (STL map at offset +4). Calls STL_map_destroy_subtree to free all nodes, then frees the sentinel node (0x20 bytes). 0x007561C0 65 CRsmModel__DestroyName game_sprites Destroys the model name STL string. 0x00756210 151 std__free_vector_0x14_a stl Frees a vector buffer of 0x14-byte elements. Resets begin/end/capacity to 0. 0x007562B0 151 std__free_vector_0x14_b stl Frees a vector buffer of 0x14-byte elements. Resets begin/end/capacity to 0. 0x00756350 129 std__free_vector_0x10 stl Frees a vector buffer of 0x10-byte elements. Resets begin/end/capacity to 0. 0x007563E0 151 std__free_vector_0x14_c stl Frees a vector buffer of 0x14-byte elements. Resets begin/end/capacity to 0. 0x00756480 180 CRsmMeshNode__destructor game_sprites Destructor for CRsmMeshNode. Sets vtable PTR_FUN_0111af90, calls CRsmModel__DestroyMeshNodes to free child meshes, destroys STL string, calls helper cleanup, walks and frees a linked list of 0xC-byte nodes, then sets base vtable. 0x00756540 315 CRsmMeshNode__DestroyMeshData game_sprites Destroys all mesh data in a node. Frees face array (0x54) using _eh_vector_destructor_iterator_, vertex normals buffer (0x58), vertex positions buffer (0x50), and texture coordinate objects (0x5C) with sub-object cleanup. Destroys linked list at 0x38, and 2 STL strings. 0x00756680 34 CRsmFace__FreePairBuffers game_core Frees two buffer pointers in an 8-byte RSM face structure (vertex index array and UV array). 0x007566B0 133 CGrannyModel__FreeGrannyData game_sprites Frees Granny3D model data. If model is loaded (offset 0x160 != 0), frees instance, clears 100x20 effect matrix entries at offset 0x280, frees local pose (GrannyFreeLocalPose) and file (GrannyFreeFile). 0x00756740 97 CGrannyModel__destructor game_sprites Destructor for CGrannyModel. Sets vtable PTR_FUN_0111afb8, frees Granny resources if loaded (offset 0x9C != 0), then sets base vtable. 0x007567B0 289 CRsmModel__destructor game_sprites Destructor for CRsmModel (RSM 3D model). Destroys helper data, STL string, linked list at 0x4B, tree structure at 0x49, another helper, and linked list at 0x45. Sets base vtable. 0x007568E0 308 CRsmMeshNode__DestroyAllData game_sprites Full data destruction for an RSM mesh node (0x58 bytes). Destroys vectors, strings, and all sub-objects. 0x00756A20 126 CRsmMesh__destructor game_sprites Destructor for CRsmMesh. Sets vtable PTR_FUN_0111aff0, frees 0x14-byte vector, 0x10-byte vector, then calls full mesh data destructor FUN_007568e0. 0x00756AA0 192 CRsmMesh__DestroySubData game_sprites Destroys sub-data in an RSM mesh, including vectors and linked lists. 0x00756B60 65 std__free_vector_0x10_wrapper stl Wrapper that frees a vector of 0x10-byte elements. 0x00756BB0 65 std__free_vector_0x14_wrapper_b stl Wrapper that frees a vector of 0x14-byte elements by calling std__free_vector_0x14_b. 0x00756C00 65 std__free_vector_0x14_wrapper_c stl Wrapper that frees a vector of 0x14-byte elements by calling std__free_vector_0x14_c. 0x00756C50 65 std__free_vector_0x14_wrapper_a stl Wrapper that frees a vector of 0x14-byte elements by calling std__free_vector_0x14_a. 0x00756CA0 65 std__free_vector_0x14_wrapper_d stl Wrapper that frees a vector of 0x14-byte elements by calling std__free_vector_0x14_b. 0x00756CF0 99 std__map_destroy_and_free_sentinel stl Destroys an STL map by clearing all subtree nodes via STL_map_destroy_subtree, then freeing the 0x20-byte sentinel node. 0x00756D60 102 CRsmModel__destroy_texture_name_array game_sprites Destroys a counted array of 0x18-byte texture name entries (each containing an embedded STL string) at offset +0x84. Uses _eh_vector_destructor_iterator_ with STL_string_dtor for cleanup, then frees the array memory. 0x00756DD0 158 CRsmFaceGroup__CopyAssign game_core 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 game_core 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 game_core 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 game_core Deleting destructor for RSM face groups (0x20 bytes each). Handles single/array using _eh_vector_destructor_iterator_. 0x00757090 38 CRsmModel__scalar_deleting_destructor game_sprites Scalar deleting destructor for CRsmModel (0x15C bytes). Calls destructor then conditionally frees memory. 0x007570C0 35 CRsmMesh__scalar_deleting_destructor game_sprites Scalar deleting destructor for CRsmMesh (0x58 bytes). Calls CRsmMeshNode__DestroyAllData to clean up mesh data, then conditionally frees the object memory. 0x007570F0 150 CRsmMesh__scalar_deleting_destructor_98 game_sprites Scalar deleting destructor for an RSM mesh/node object (0x98 bytes). Sets vtable pointer, frees two internal vectors (0x14 and 0x10 byte elements), calls CRsmMeshNode__DestroyAllData, then conditionally frees the object. 0x00757190 216 CRsmModelV2__scalar_deleting_destructor game_sprites Scalar deleting destructor for a larger RSM model variant (0xB4 bytes). Sets vtable, destroys tree with maps at offset +0xAC, frees three internal vectors, calls CRsmMeshNode__DestroyAllData, then conditionally frees the object. 0x00757270 275 C3dMob__PlayBoneAnimation game_sprites Plays a bone animation for a 3D mob model. If a cached animation control exists for (mobIndex, animIndex), activates it. Otherwise, builds the model path (model/3dmob/{name}.gr2 for base, model/3dmob_bone/{id}_{anim}.gr2 for bones), checks file existence, loads via C3dMob__LoadGrannyModel, then calls GrannyPlayControlledAnimation with loop count. 0x00757390 1097 C3dMob__LoadGrannyModel game_sprites Loads a Granny .gr2 3D model file for a 3D mob. Verifies Granny SDK version, opens file stream, reads entire file via GrannyReadEntireFileFromMemory, copies filename, instantiates model with GrannyInstantiateModel, creates world pose, sets up mesh bindings (binding, indices, deformers) per mesh, loads skeleton animation from separate file, and creates local pose. 1097 bytes. 0x007577E0 105 CGrannyModel__RebindMeshes game_sprites Rebinds all mesh bindings to a new skeleton. Iterates mesh entries at offset 0x270, frees old bindings (GrannyFreeMeshBinding), creates new bindings (GrannyNewMeshBinding) using source's skeleton (param_1+0x3B4) and target skeleton (param_2+0x3B4). Each entry is 0x1C bytes. 0x00757850 3759 CRsmModel__ComputeVertexLighting game_sprites Computes per-vertex lighting/colors for an RSM model (3759 bytes). Supports 4 shading modes: mode 0/default = flat color fill, mode 1 = per-face normal dot product with light direction for diffuse+ambient, mode 2 = smooth shading with per-vertex averaged normals using face adjacency groups (30K face limit). Computes cross products for face normals, normalizes them, applies diffuse*light + ambient color clamped to [0,1]. Recursively processes child nodes. 0x00758710 842 CGrannyModel__ComputeScreenBBox game_sprites Computes the screen-space bounding box for a Granny model (842 bytes). Applies rotation matrix around Z-axis, transforms model position through two 3x4 matrices, computes distance-based scale factor from camera, projects to screen coordinates using viewport parameters. Returns 1 if the bounding box is within the viewport, 0 if fully outside (frustum culling). 0x00758A60 200 CGrannyModel__InitMeshBindings game_sprites Initializes mesh bindings for a Granny model (200 bytes). 0x00758B30 427 CGrannyModel__InitMeshBindingsWithTextures game_sprites Initializes mesh bindings for a Granny model including texture lookups (427 bytes). Creates mesh binding, copies indices, sets up deformer for skinned meshes or copies vertices for rigid meshes. Also resolves material textures by matching GrannyGetMaterialTextureByType names against the model's texture name array at +0x264/+0x268. 0x00758CE0 339 CGrannyModel__InstantiateModelWithMeshes game_sprites Instantiates a Granny model with all its meshes (339 bytes). Creates model instance via GrannyInstantiateModel, world pose via GrannyNewWorldPose, then iterates all meshes creating bindings, copying indices, and setting up deformers. Tracks max bone count and max deformed vertex buffer size. Similar to InitMeshBindings but without texture resolution. 0x00758E40 584 CGrannyModel__CreateInstance game_sprites Creates a Granny model instance with animation control and world pose (584 bytes). 0x00759090 365 CGrannyModel__ConvertTextureToD3DSurface game_sprites Converts a Granny texture image to a D3D texture surface (365 bytes). Copies texture via GrannyCopyTextureImage in RGBA8888 format, then swizzles channels (RGB to BGR with alpha handling). If texture has alpha, preserves alpha channel; otherwise sets alpha to 0xFF. Creates the D3D surface via CTextureCache__create_text_surface, then frees temporary buffers. 0x00759200 42 CGrannyModel__AllocBoneArray game_sprites Allocates an array of bone entries (param_2 * 0xC bytes) and stores the pointer at offset +4. 0x00759230 62 CGrannyModel__ExtractTextureFromFile game_sprites Extracts a texture from a Granny file info structure. Validates that the file has exactly one skeleton and no animation data. Calls CGrannyModel__ConvertTextureToD3DSurface to convert the texture image to a D3D surface. Stores the result in the output pair (file info pointer, texture surface). 0x00759270 187 CGrannyModel__AllocMeshData game_sprites Allocates mesh data structures for a Granny model (187 bytes). 0x00759330 32 granny_free_control game_core Deactivates and frees a Granny3D animation control. Calls GrannySetControlActive(ctrl, false) then GrannyFreeControl(ctrl). No-op if param_1 is null. 0x00759350 102 CGrannyModel__FindBoneByName game_sprites Searches the bone linked list at offset 0x118 for a bone matching param_2 name. Walks linked list, compares each bone's embedded STL string using std::_Traits_equal. Returns pointer to matching bone data, or NULL if not found. 0x007593C0 102 CRsmModel__FindMeshNodeByName game_sprites Searches the RSM model's mesh node linked list at offset +0x114 for a node matching the given name string. Compares each node's embedded STL string (with SSO check at capacity offset +0x18) using std::_Traits_compare. Returns the matching node's data pointer or 0 if not found. 0x00759430 120 CGrannyModel__FindTextureByMaterial game_sprites Finds a texture entry matching a Granny material. Calls _GrannyGetMaterialTextureByType_8 (type=2) to get texture name, then searches the texture array at +0x264 (count) / +0x268 (data, pairs of string+ptr, 8 bytes each) for a matching filename by string comparison. Returns pointer to matching entry or NULL. 0x007594B0 151 CGrannyModel__FreeInstance game_sprites Frees a Granny model instance at +0x160. Iterates mesh entries freeing mesh bindings (_GrannyFreeMeshBinding_4), mesh deformers (_GrannyFreeMeshDeformer_4), and vertex buffers. Frees model instance (_GrannyFreeModelInstance_4), world pose (_GrannyFreeWorldPose_4), and mesh array. Nulls the instance pointer. 0x00759550 375 CRsmModel__ForEachMeshNode game_sprites Iterates the RSM model's mesh node linked list at offset +0x11C and invokes a std::function callback on each node's data. Uses C++ std::function with vtable calls for invoke (+8), copy (+4), and destroy (+0x10). Handles small-buffer optimization for the function object. 0x007596D0 201 C3dMob__GetBoneModel game_sprites Retrieves or loads a 3D mob bone model. Builds path using model/3dmob/{name}.gr2 for base model (animIndex=0) or model/3dmob_bone/{mobId}_{animName}.gr2 for bone animations. Checks file existence, loads via C3dMob__LoadGrannyModel if not cached. Returns the cached model pointer from the mob's animation table, or 0 if not found. 0x007597A0 53 CGrannyModel__GetMeshTriangleCount game_sprites Returns the number of triangles in a Granny mesh by dividing the index count by 3. param_2 = mesh index. 0x007597E0 56 CGrannyModel__GetRigidMeshBoneIndex game_sprites Checks if a Granny mesh is rigid via GrannyMeshIsRigid. If rigid, returns the bone index at offset +0x10 in the mesh entry. Returns 0 if not rigid. param_2 = mesh index. 0x00759820 3 null_stub_00759820 crt Empty stub function - does nothing, just returns. 0x00759840 101 CGrannyModel__LoadSkeletonFromFile game_sprites Loads a Granny skeleton from a .gr2 file. Strips extension from filename, calls load_granny_file to read the GR2, then gets file info via GrannyGetFileInfo. Only supports single-skeleton files. Returns skeleton pointer or 0 on failure. 0x007598B0 779 load_granny_gr2_file game_core 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 game_core 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. 0x00759ED0 3138 CRsmModel__LoadFromStream_v1 game_sprites Loads an RSM model (version 1) from a file stream. Reads header fields (offsets 0x160, 0x14c, 0x150, 0x15c), then loads texture names into a vector, bone names into a linked list, mesh nodes with vertices/faces/normals, and volume boxes. Each mesh node gets materials, face groups, keyframe animations. Calls CMesh__compute_face_and_vertex_normals and CAnimation__load_*_keyframes. 0x0075AB20 3516 CRsmModel__LoadFromStream_v2 game_sprites Loads an RSM model (version 2) from a file stream. Similar to v1 but with slightly different vertex/face data format (variable-size face data with dynamic buffer allocation). Reads textures, bones, mesh nodes with materials/faces/vertices/normals, and volume boxes. 0x0075B8E0 3631 CRsmModel__LoadFromStream_v3 game_sprites Loads an RSM model (version 3) from a file stream. Extended version that also loads morph keyframes per mesh node (via CAnimation__load_morph_keyframes). Includes variable-size face data like v2. Also handles sub-model references and volume boxes. 0x0075C710 517 CRsmModel__DestroyMeshNodes game_sprites Destroys all mesh nodes in an RSM model. Frees the mesh array at offset 0x114, then iterates the linked list at 0x118 freeing each node's materials, vertex/face buffers, texture references, linked list nodes, and string data. 0x0075C920 171 CRsmMeshNode__FreeBuffers game_sprites Frees rendering buffers for an RSM mesh node. Releases vertex array destructor at +0x54, vertex data at +0x58, face data at +0x50, and texture reference array at +0x5c (with individual texture release calls). 0x0075C9D0 74 C3dMob__Cleanup game_sprites Cleans up a 3D mob model. First calls CGrannyModel__FreeInstance to release the Granny model instance. Then clears the 100x20 animation pointer cache at offset +0x280 (100 mob types x 20 animation slots). Finally frees the Granny local pose at +0x168 and the Granny file handle at +0x150. 0x0075CA20 260 CGrannyModel__FreeResources game_sprites Frees all Granny 3D model resources. Releases mesh bindings, mesh deformers, vertex buffers per mesh, then frees the model instance, world pose, mesh array, animation controllers, local pose, Granny file, and the model info struct itself. 0x0075CB30 36 CGrannyModel__GetMeshRenderData_Thunk game_sprites Thunk that delegates to CGrannyModel__GetMeshRenderData using the model info at offset +0x270. 0x0075CB60 545 CGrannyModel__GetMeshRenderData game_sprites Gets render data for a Granny mesh. For rigid meshes, retrieves world pose composite matrix and returns vertex/index data directly. For skinned meshes, deforms vertices using GrannyDeformVertices. Also handles hair_pivot meshes by copying the transform matrix to the hair pivot object at +0x3b0. Returns vertex buffer pointer or 0 on failure. 0x0075CD90 93 CGrannyModel__FindHairPivotMesh game_sprites Searches all meshes in a Granny model for one named "hair_pivot". If found, stores the mesh index in the hair pivot object at +0x3b0 offset +4 and returns 1. Returns 0 if no hair pivot mesh found or no hair pivot object. 0x0075CDF0 382 CRsmModel__LoadBoneTextures game_sprites Iterates through the bone name list at offset +0x154 and loads each bone's texture. Copies the string name (with SSO handling), then calls texture lookup/load functions. Associates the loaded texture with each bone. 0x0075CF70 29 CRsmModel__ApplyScaleFactor game_sprites Applies a scale factor to a float value. Computes: *param_1 = param_2 + param_2/DAT_010df490. Used to scale model dimensions. 0x0075CF90 33 CRsmModel__SetScaledAnimSpeed game_sprites Sets the animation speed at offset +0x110 using a scale factor: speed = param_2 + param_2/DAT_010df490. 0x0075CFC0 134 CGrannyModel__SampleAndBuildPose game_sprites Samples Granny model animations and builds the world pose. Sets model clock, samples animations into local pose, builds world pose from skeleton, and frees completed controls. Returns world pose pointer or 0 if model info is null. 0x0075D050 1 identity_return_ecx_0075d050 game_core Identity function that returns its input parameter unchanged 0x0075D060 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0075D270 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0075D480 129 STL_vector_8byte_free_rsm stl Frees an STL vector with 8-byte elements. Deallocates the buffer, zeroes all three vector pointers (begin, end, capacity). 0x0075D510 95 STL_list_alloc_node_0xc_a stl Allocates memory for an STL list node of 0xc bytes. Handles aligned allocation for sizes >= 0x1000. Throws bad_array_new_length if count exceeds 0x15555555. 0x0075D570 95 STL_list_alloc_node_0xc_b stl Allocates memory for an STL list node of 0xc bytes. Identical to STL_list_alloc_node_0xc_a - likely separate instantiation for a different list type. 0x0075D5D0 95 STL_list_alloc_node_0xc_c stl Allocates memory for an STL list node of 0xc bytes. Another instantiation of the same template allocator for a different list type. 0x0075D630 102 STL_list_alloc_node_0x1c stl Allocates memory for an STL list node of 0x1c bytes. Handles aligned allocation for sizes >= 0x1000. Throws bad_array_new_length if count exceeds 0x924924a. 0x0075D6A0 125 CRsmModel__ClearBoneNameList game_sprites Clears the bone name linked list. Iterates through nodes, destroys each string, frees the 0x20-byte node, then resets the sentinel to point to itself with count=0. 0x0075D730 158 C3dMob__Create game_sprites Creates a new C3dMob object. Allocates 0x910 bytes, initializes base class, sets vtable to PTR_FUN_0111b29c, and zeroes the 0x800-byte bone model cache at offset +0x44*4. 0x0075D7D0 789 CPaletteRes__LoadFromFile game_core 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. 0x0075DB00 94 C3dMob__ScalarDestructor game_sprites Scalar deleting destructor for C3dMob. Sets vtable to base class, conditionally frees the 0x910 byte object if param_2 & 1. 0x0075DB60 106 C3dMob__Init game_sprites Initializes a C3dMob object in-place. Calls base class init, sets vtable to PTR_FUN_0111b29c, and zeroes the 0x800-byte bone model cache at offset +0x44*4. 0x0075DBD0 46 CPaletteRes__GetPaletteData game_core Copies palette data to output buffer. Writes "PAL data" header then copies 256 RGBA entries (0x400 bytes) from offset +0x110 to the output buffer. 0x0075DC00 66 CSkybox__InitFaceData game_sprites Initializes skybox face UV/vertex data arrays. Zeroes 12 face entries (each with 3 vectors at stride 40 bytes), then zeroes three final fields at +0x314/318/31c. 0x0075DC50 449 CSkybox__InitVertices game_sprites Initializes skybox vertices with default positions and colors. Sets up 10 vertices with position/color data (ARGB 0xFF000000 = opaque black). Then sets the 8 corner vertices of a box (-1250 to 1250 range) and 2 special vertices, before calling face initialization and UV setup. 0x0075DE20 392 CSkybox__Create game_sprites Creates and initializes a skybox. Loads the "skybox.rsm" model, creates a CModelInstance (v1 or v2 based on model version), sets scale to 30.0, sets initial position to origin, sets opacity to 0.1, and initializes UV coordinates. Stores model handle and instance pointer. 0x0075DFF0 25 CSkybox__DestroyModelInstance game_sprites Destroys the skybox model instance by calling its virtual destructor at vfunc[0] with delete flag, then nulls the instance pointer at offset +4. 0x0075E010 1312 CSkybox__FrustumCullTest game_sprites Performs frustum culling test for the skybox. Builds 6 frustum planes from the given matrix parameters and tests the skybox box against each plane. Returns 1 if the skybox is inside the frustum (visible), 0 if culled. 0x0075E530 1252 CSkybox__InitLensFlareData game_sprites Initializes lens flare configuration data for the skybox. Sets up 12 flare elements with properties: type (1-4), position along axis, scale, RGB color values (0-1 range). Last step converts RGB floats to packed ARGB integer colors (0xFFRRGGBB). 0x0075EA20 672 CSkybox__UpdateVertexPositions game_sprites Updates skybox vertex positions based on sun/light direction. Computes camera-relative position, calculates direction vectors and transforms, then updates all 12 vertex positions and UV scales using the computed orientation matrix. 0x0075ECC0 960 CSkybox__RenderLensFlares game_sprites Renders lens flare effects for the skybox. For each of 12 flare elements, checks dot product of sun direction with view direction. If facing camera, projects world position to screen, creates a billboard quad, loads flare texture ("effect/flare{n}.bmp"), and enqueues for rendering with alpha blending (render type 5). 0x0075F080 2454 CSkybox__RenderSkyQuads game_sprites Renders the skybox quads. Applies rotation animation, transforms vertices through view/projection matrices, then enqueues up to 6 textured sky face quads for rendering based on sun angle. Also renders a ground quad and calls UpdateVertexPositions and RenderLensFlares. 0x0075FA20 1029 CSkybox__RenderSkyQuads_Indoor game_sprites Renders the skybox for indoor/dungeon scenes. Simpler version of RenderSkyQuads: positions model at given coordinates with Y offset, applies rotation, transforms 2 special vertices, renders one ground quad with gradient colors, then calls UpdateVertexPositions and RenderLensFlares. 0x0075FE30 88 CSprFrame__Init game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x00760C30 264 vector_byte__insert_grow stl Inserts a single byte into a byte vector at position param_2, growing buffer as needed. Uses 1.5x growth factor. Max capacity 0x7FFFFFFF. Allocates via STL_lib_func_004fa0b0, copies existing data, inserts new byte from param_3. 0x00760D60 452 vector_dword__insert_grow_aligned stl Inserts a dword element into a vector at position param_2, growing buffer with aligned allocation (0x20 alignment for buffers >= 0x1000). Uses 1.5x growth factor, max 0x3FFFFFFF elements. Copies existing elements around insertion point. 0x00760F50 124 CSprRes__constructor game_core 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 game_core 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 game_core 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 game_core Decodes RLE-compressed data into allocated buffer of size width*height 0x00761380 10 STL_vector_throw_length_error stl Throws std::length_error("vector too long") and does not return 0x00761390 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007613D0 156 CWavSound__create_instance sound Allocates and constructs a CWavSound object (0x118 bytes), sets vtable 0x00761470 950 CWavSound__load_from_file sound Loads WAV/ADPCM/ASI audio file, decompresses if needed, stores PCM data in object 0x00761830 61 CWavSound__free_audio_data sound Frees audio buffer data, uses AIL_mem_free_lock for decompressed data or free() for raw 0x00761870 94 CWavSound__destructor sound CWavSound destructor, sets vtable and optionally frees memory 0x007618D0 104 CWavSound__constructor sound CWavSound constructor, initializes base class and zeroes audio data/flag fields 0x00761940 499 CRswFile__create_instance game_sprites Allocates CRswFile (0x1D0 bytes), inits 3 linked lists for models/lights/sounds and 3 std::strings 0x00761B40 378 CRswFile__clear_all_resources game_sprites Frees all model, light, and sound entries from the RSW linked lists 0x00761CC0 3252 CRswFile__load_from_file game_sprites Loads RSW map resource file, parses versioned header, models, lights, sounds, and effect entries 0x00763010 73 CRswFile__compare_version game_sprites Compares RSW file version (major.minor) against required version, returns comparison result 0x00763060 443 CRswFile__constructor game_sprites CRswFile constructor, inits base class, 3 linked lists, 3 strings, and zeroes all resource fields 0x00763220 67 CRswFile__free_model_node game_sprites Frees a single linked list node (0xC bytes) for model entry if non-null 0x00763270 67 CRswFile__free_light_node game_sprites Frees a single linked list node (0xC bytes) for light entry if non-null 0x007632C0 67 CRswFile__free_sound_node game_sprites Frees a single linked list node (0xC bytes) for sound entry if non-null 0x00763310 78 CRswFile__free_effect_node_a game_sprites Frees a single linked list node (0xC bytes) for effect data 0x00763360 78 CRswFile__free_effect_node_b game_sprites Frees a single linked list node (0xC bytes) for secondary effect data 0x007633B0 78 CRswFile__free_effect_node_c game_sprites Frees a single linked list node (0xC bytes) for tertiary effect data 0x00763400 103 CRswFile__destroy_model_list game_sprites Destroys entire model linked list, freeing all nodes and the sentinel 0x00763470 103 CRswFile__destroy_light_list game_sprites Destroys entire light linked list, freeing all nodes and the sentinel 0x007634E0 103 CRswFile__destroy_sound_list game_sprites Destroys entire sound linked list, freeing all nodes and the sentinel 0x00763550 305 CRswFile__destructor game_sprites CRswFile destructor, destroys all 3 linked lists and 3 strings, resets vtable to base 0x00763690 165 CRswFile__add_sound_entry game_sprites Adds a sound entry to the RSW sound linked list, throws if list at max capacity 0x00763740 3 CRswFile__validate_version_stub game_sprites Stub that always returns 0 (validation always passes) 0x00763750 29 STL_relocate_range_backward stl Copies memory range [src, end) to destination computed as offset from end 0x00763770 34 STL_copy_range_to_dest_a stl Copies memory range [src, end) to dest, returns pointer past copied data 0x007637A0 34 STL_copy_range_to_dest_b stl Copies memory range [src, end) to dest, returns pointer past copied data 0x007637D0 423 STL_vector_pair8__emplace_reallocate stl Reallocates vector of 8-byte pairs, inserts new element at position, grows by 1.5x 0x007639A0 568 STL_vector_20byte__emplace_reallocate stl Reallocates vector of 0x14-byte elements, inserts new element at position, grows by 1.5x 0x00763BE0 452 STL_vector_int__emplace_reallocate_a stl Reallocates vector of 4-byte elements, inserts new element at position, grows by 1.5x 0x00763DB0 452 STL_vector_int__emplace_reallocate_b stl Reallocates vector of 4-byte elements, inserts new element at position, grows by 1.5x 0x00763F80 103 STL_map__destroy_nodes_recursive_a stl Recursively destroys std::map nodes (0x1C bytes each), traverses left subtree then right 0x00763FF0 131 STL_map__destroy_nodes_recursive_b stl Recursively destroys std::map nodes (0x20 bytes), clears vector data before freeing 0x00764080 131 STL_map__destroy_nodes_recursive_c stl Recursively destroys std::map nodes (0x20 bytes), calls cleanup function before freeing 0x00764110 25 zero_fill_int_array game_core Fills array with zeroes, count is number of 4-byte elements 0x00764130 75 STL_map__lower_bound_a stl Binary search in std::map for lower_bound of integer key, returns iterator 0x00764180 75 STL_map__lower_bound_b stl Binary search in std::map for lower_bound of integer key, returns iterator 0x007641D0 75 STL_map__lower_bound_c stl Binary search in std::map for lower_bound of integer key, returns iterator 0x00764220 389 introsort_median_of_three game_core Median-of-3 or median-of-9 pivot selection for introsort, compares field+4 of elements 0x007643B0 402 introsort_partition game_core Three-way partition for introsort using median pivot, handles equal elements 0x00764550 174 heap_sift_down_insert stl Sifts down in heap then bubbles up to insert element, compares field+4 as key 0x00764600 222 STL_vector_int__resize_with_fill stl Resizes int vector to given size, fills new elements with value, grows by 1.5x 0x00764710 555 introsort_impl game_core Introsort implementation: quicksort with heapsort fallback and insertion sort for small ranges 0x00764940 155 relocate_20byte_elements game_core Relocates array of 0x14-byte elements, sets vtable for each during copy 0x007649E0 50 construct_20byte_element game_core Constructs a 0x14-byte element with vtable and 4 field values at destination 0x00764A20 158 format_string_2args game_core Formats string with 2 integer arguments using charconv format notation 0x00764AC0 173 format_string_3args game_core Formats string with 3 integer arguments using charconv format notation 0x00764B70 63 build_format_desc_2field game_core Builds format descriptor with 2 fields for string formatting 0x00764BB0 94 build_format_desc_3field game_core Builds format descriptor with 3 fields for string formatting 0x00764C30 430 CRuneSystemMgr__constructor rune Constructs CRuneSystemMgr, inits vtable, 5 maps, vectors, and flag fields for rune data 0x00764DE0 446 CRuneSystemEntry__constructor rune Constructs CRuneSystemEntry with default name "NoName" and data "NoData", sets vtable 0x00764FA0 67 STL_map__free_node_1c stl Frees a single std::map node of size 0x1C if non-null 0x00764FF0 67 STL_map__free_node_20_a stl Frees a single std::map node of size 0x20 if non-null 0x00765040 67 STL_map__free_node_20_b stl Frees a single std::map node of size 0x20 if non-null 0x00765090 111 STL_map__clear_and_free_1c stl Clears std::map with 0x1C-byte nodes, recursively frees all then frees sentinel 0x00765110 76 STL_map__clear_and_free_20_a stl Clears std::map with 0x20-byte nodes, recursively frees all then frees sentinel 0x00765170 76 STL_map__clear_and_free_20_b stl Clears std::map with 0x20-byte nodes, recursively frees all then frees sentinel 0x007651D0 78 STL_map__free_node_1c_b stl Frees a single std::map node of size 0x1C if non-null 0x00765220 116 STL_map__free_node_20_with_vector_cleanup stl Frees map node (0x20 bytes), clears contained vector pair data before freeing 0x007652A0 116 STL_map__free_node_20_with_rune_cleanup stl Frees map node (0x20 bytes), clears contained rune data before freeing 0x00765320 78 STL_map__free_node_1c_c stl Frees a single std::map node of size 0x1C if non-null 0x00765370 78 STL_map__free_node_20_c stl Frees a single std::map node of size 0x20 if non-null 0x007653C0 78 STL_map__free_node_20_d stl Frees a single std::map node of size 0x20 if non-null 0x00765440 65 STL_map__clear_and_free_1c_b stl Clears std::map with 0x1C-byte nodes, wrapper around recursive free 0x00765490 87 STL_map__clear_and_free_20_c stl Clears std::map with 0x20-byte nodes, recursively frees all then frees sentinel 0x007654F0 87 STL_map__clear_and_free_20_d stl Clears std::map with 0x20-byte nodes, recursively frees all then frees sentinel 0x00765550 68 STL_vector_pair__clear_wrapper_a stl Wrapper that clears and frees vector pair data 0x007655A0 68 STL_vector_20byte__clear_wrapper stl Wrapper that clears and frees vector of 20-byte elements 0x007655F0 129 STL_vector__dealloc_buffer stl Frees vector internal buffer and resets begin/end/capacity pointers to zero 0x00765680 129 STL_vector_int__dealloc_buffer stl Frees int vector internal buffer and resets pointers to zero 0x00765710 176 STL_vector_20byte__destroy_and_free stl Destroys vector of 0x14-byte objects via virtual dtors, then frees buffer 0x007657D0 330 CRuneSystemMgr__destructor rune CRuneSystemMgr destructor, destroys page objects, clears all maps and vectors 0x00765920 155 CRuneSystemPage__destructor rune CRuneSystemPage destructor, destroys rune objects in vectors, frees sub-arrays and name string 0x007659D0 93 CRuneSystemEntry__destructor rune CRuneSystemEntry destructor, destroys name and data strings 0x00765A30 143 CRuneSystemExtEntry__destructor rune CRuneSystemExtEntry destructor, destroys 6 sub-entries and base entry strings 0x00765AC0 31 CRuneSystemEntry__matches_id rune Returns true if entry's ID fields at 0x10/0x14 match the given parameter 0x00765AE0 42 CRuneSystemEntry__matches_full rune Returns true if entry matches on fields 0x10, 0x14, and 0x48 0x00765B10 42 CRuneSystemEntry__matches_full_b rune Returns true if entry matches on fields 0x10, 0x14, and 0x48 0x00765B40 82 CRuneSystemEntry__compare_name_less rune Compares entry name strings at offset 0x18, returns true if this name less than other 0x00765BA0 84 CRuneSystemEntry__compare_name_greater rune Compares entry name strings at offset 0x18, returns true if this name greater than other 0x00765C00 35 CRuneSystemMgr__scalar_destructor rune Scalar deleting destructor for CRuneSystemMgr (0x68 bytes) 0x00765C30 176 CRuneSystemPage__scalar_destructor rune Scalar deleting destructor for CRuneSystemPage (0x44 bytes) 0x00765CE0 36 CRuneSlot__scalar_destructor rune Scalar deleting destructor for CRuneSlot (0x14 bytes) 0x00765D10 114 CRuneSystemEntry__scalar_destructor rune Scalar deleting destructor for CRuneSystemEntry (0x50 bytes) 0x00765D90 167 CRuneSystemExtEntry__scalar_destructor rune Scalar deleting destructor for CRuneSystemExtEntry (0x138 bytes) 0x00765E40 159 CRuneSystemMgr__set_rune_data_at_index rune Sets rune data at given index in vector, auto-resizes to 15 elements if needed 0x00765EE0 159 CRuneSystemMgr__set_rune_data_at_index_b rune Sets rune data at given index in vector, auto-resizes to 15 elements if needed 0x00765F80 309 CRuneSystemMgr__add_slot_pair rune Adds a key-value pair to map, creates new entry with vector if key not found 0x007660C0 501 CRuneSystemMgr__add_rune_entry rune Creates and adds a rune entry (basic or extended) to page's slot vector by type 0x007662C0 335 CRuneSystemMgr__add_rune_description rune Adds description data to existing rune entry identified by page and coordinates 0x00766410 134 CRuneSystemMgr__set_rune_field_by_coord rune Sets a field at offset 0xA8+index*4 on rune found by page, x, y coordinates 0x007664A0 181 CRuneSystemMgr__set_rune_extended_data rune Sets extended data fields on rune found by page and coordinates 0x00766560 292 CRuneSystemMgr__set_rune_set_info rune Sets rune set reward info on rune found by page and coordinates 0x00766690 44 CRuneSystemMgr__push_back_upgrade_table rune Appends value to upgrade table vector at offset 0x44 0x007666C0 246 CRuneSystemMgr__add_page rune Creates a new rune page and adds it to the page vector 0x007667C0 341 CRuneSystemMgr__add_collection_entry rune Creates and adds a rune collection entry to the collection vector 0x00766920 73 CRuneSystemPage__count_active_runes rune Counts active runes in a page slot by checking active flag at offset 0xC of each entry 0x00766970 159 CRuneSystemMgr__get_or_create_singleton rune Creates the global CRuneSystemMgr singleton (DAT_01450b90) if it doesn't exist. Allocates 0x68 bytes, calls constructor. If creation succeeds and active flag (offset 0xC) is set, returns 1. Otherwise destroys the failed instance and returns 0. 0x00766A10 27 CRuneSystemMgr__destroy_singleton rune Destroys the global CRuneSystemMgr singleton via virtual destructor, nulls pointer 0x00766A30 64 CRuneSystemMgr__find_highest_active_grade rune Searches backward from (param_2-1) through pairs at offset 0xF8 to find the highest index where either element is non-zero. Returns that index, or -1 if none found. param_2 must be < 8. 0x00766A70 10 CRuneSystemMgr__get_page_count rune Returns count of rune pages (size of vector at offset 0x1C) 0x00766A80 10 CRuneSystemMgr__get_collection_count rune Returns count of rune collection entries (size of vector at offset 0x5C) 0x00766A90 128 CRuneSystemMgr__get_rune_extra_data rune Finds rune by page and ID, returns pointer to extra data block at offset 0xF8 0x00766B10 4 CRuneSystemMgr__get_active_flag rune Returns byte flag at offset 0xC indicating rune system active state 0x00766B20 60 CRuneSystemMgr__find_page_by_id rune Finds rune page by ID (or uses current if -1), searches vector for matching page ID at +4 0x00766B60 38 CRuneSystemMgr__get_page_at_index rune Bounds-checked accessor for the rune page pointer vector at offset 0x1C/0x20. Returns the page pointer at the given index, or 0 if out of bounds. 0x00766B90 216 CRuneSystemMgr__count_active_slots rune Counts non-null slot pointers in vector at offset 0x50 using SIMD-optimized loop 0x00766C70 44 CRuneSystemMgr__count_active_rune_entries rune Counts rune entries in vector at offset 0x50/0x54 where the active flag (offset 0xC in each entry) is set. Returns the count of active entries. 0x00766CA0 12 CRuneSystemEntry__get_name_cstr rune Returns a pointer to the raw C string of the entry's name (std::string at offset 0x18). Uses SSO: if capacity (offset 0x2C) > 15, returns heap pointer; otherwise returns inline buffer address. 0x00766CB0 34 CRuneSystemMgr__get_upgrade_table_entry rune Returns the value at the given index from the upgrade table vector at offset 0x40/0x44. Returns 0 if index is out of bounds. 0x00766CE0 34 CRuneSystemMgr__get_collection_entry rune Returns the value at the given index from the collection vector at offset 0x5C/0x60. Returns 0 if index is out of bounds. 0x00766D10 65 CRuneSystemMgr__find_collection_map_entry rune Looks up entry in the collection map (sentinel at offset 0x4C) by key. Uses lower_bound to find the node, returns pointer to node data (node+0x14) if found, 0 otherwise. 0x00766D60 65 CRuneSystemMgr__find_page_map_entry rune Looks up entry in the page map (sentinel at offset 0x54) by key. Uses lower_bound to find the node, returns pointer to node data (node+0x14) if found, 0 otherwise. 0x00766DB0 4 CRuneSystemMgr__get_field_14 rune Returns value at offset 0x14 of rune system object 0x00766DC0 4 CRuneSystemMgr__get_field_18 rune Returns value at offset 0x18 of rune system object 0x00766DD0 101 CRuneSystemMgr__get_grade_fail_info rune Looks up grade fail info from map by type key, returns data pointer 0x00766E40 7 CRuneSystemMgr__get_current_page_id_pair rune Returns 8-byte value pair at offset 0x10 (current page ID and related field) 0x00766E50 9 CRuneSystemMgr__is_active rune Returns true if rune system is active (flag at offset 0xC is non-zero) 0x00766E60 80 CRuneSystemMgr__get_slot_data rune Gets rune slot data by page and slot index, returns pointer to 8-byte entry or default 0x00766EB0 71 CRuneSystemMgr__get_slot_count_for_page rune Returns number of rune slots for given page, 0 if page not found or invalid 0x00766F00 84 CRuneSystemMgr__get_rune_at_slot rune Gets rune data at specific slot index within a page's sub-vector, validates bounds 0x00766F60 28 CRuneSystemMgr__get_upgrade_table_size rune Returns size of upgrade table vector at offset 0x44 0x00766F80 228 CRuneSystemMgr__calculate_rune_offset rune Calculates rune display offset using page lookup and optional multiplier from secondary map 0x00767070 79 CRuneSystemMgr__find_rune_by_coord rune Finds rune entry by page ID and grid coordinates, delegates to coordinate search 0x007670C0 110 CRuneSystemMgr__find_rune_at_xy rune Searches rune vector for entry matching x,y coords at offsets 0x10/0x14, returns found entry 0x00767130 4 CRuneSystemMgr__get_current_page_id rune Returns the current rune page ID from offset 0x10 0x00767140 4 CRuneSystemMgr__get_total_rune_count rune Returns total rune count from offset 0x48 0x00767150 4 CRuneSystemMgr__get_max_rune_count rune Returns max rune count from offset 0x4C 0x00767160 22 CRuneSystemMgr__get_rune_by_index rune Returns rune data at index from array at offset 0xA8, max 15 entries 0x00767180 174 CRuneSystemMgr__get_linked_page_data rune Looks up linked page data via two map lookups, returns pointer to data or null 0x00767230 4 CRuneSystemMgr__get_pending_flag rune Returns byte flag at offset 0xD of the rune system object 0x00767240 12 CRuneSystemMgr__get_string_buffer_ptr rune Returns pointer to SSO string buffer at offset 0x30, dereferencing if length exceeds small buffer (0xF) 0x00767250 2768 CRuneSystemMgr__load_lua_tables rune Loads all rune system Lua files and registers callbacks for grades, items, tags, descriptions 0x00767D20 185 CRuneSystemMgr__reset_all_rune_states rune Resets all rune states across pages, clears activation flags and selection data via RTTI cast 0x00767DE0 113 CRuneSystemMgr__reset_page_rune_flags rune Resets all rune flags within a single page entry: clears activation flag at +0xC, resets selection fields via RTTI dynamic cast (0xE4, 0xE8, 0xF4) 0x00767E60 1 CObject__clear_field14 game_core CObject: clear field14 0x00767E70 300 CRuneSystemMgr__load_default_tag rune Loads runesystemInfo Lua file and calls GetDefultTag to set current page ID 0x00767FA0 78 CRuneSystemMgr__check_rune_requirement rune Checks if rune meets activation requirements, returns true if all conditions met 0x00767FF0 266 CRuneSystemMgr__check_rune_available rune Checks if specific rune is available for activation on current page 0x00768100 291 CRuneSystemMgr__find_substring_in_name rune Searches for a substring within the SSO string at offset 0x18, using memchr-based pattern matching. Returns true if found, false if not. 0x00768230 16 CRuneSystemMgr__check_rune_count_equals rune Compares field at offset 0x48 with param_2, returns 1 if equal, 0 otherwise 0x00768240 529 CRuneSystemMgr__handle_packet rune Handles rune system packets (0xBCB-0xC16), dispatches to UI update or server request 0x007684C0 370 CRuneSystemMgr__on_rune_activate_result rune Handles rune activation result from server, updates local rune state and UI 0x00768640 108 CRuneSystemMgr__update_rune_string_field rune Finds rune by page ID and coordinates, then copies an SSO string to the rune's string field at offset 0x18 0x007686B0 134 CRuneSystemMgr__update_rune_link_fields rune Finds rune by page ID and coordinates, then updates link fields at offsets 0xEC and 0xF0 with provided values 0x00768740 13 CRuneSystemMgr__set_flag_0xc rune Sets byte field at offset 0xC of the object 0x00768750 35 CRuneSystemMgr__assign_string_0x18 rune Assigns an SSO string to the string field at offset 0x18, skipping if source is self 0x00768780 15 CRuneSystemMgr__set_field_0x18 rune Sets dword field at offset 0x18 from dereferenced pointer param 0x00768790 19 CRuneSystemMgr__set_page_and_selection rune Sets fields at offset 0x10 (page ID) and 0x14 (selection index) from two params 0x007687B0 236 CRuneSystemMgr__set_equipped_rune rune Sets the currently equipped rune: finds rune by page/coord, manages equip bonus add/remove via CEnchantMgr, tracks activation count from slot vector 0x007688A0 87 CRuneSystemMgr__set_current_page_by_id rune Sets current page by searching page vector for matching ID. Falls back to first page if ID not found. 0x00768900 13 CRuneSystemMgr__set_field_0x48 rune Sets dword field at offset 0x48 of the object 0x00768910 13 CRuneSystemMgr__set_field_0x4c rune Sets dword field at offset 0x4C of the object 0x00768920 13 CRuneSystemMgr__set_pending_flag rune Sets byte field at offset 0xD (pending/request flag) of the object 0x00768930 35 CRuneSystemMgr__assign_string_0x30 rune Assigns an SSO string to the string field at offset 0x30, skipping if source is self 0x00768960 158 CRuneSystemMgr__activate_rune_at_coord rune Activates a rune at given page/coord: sets activation flag at +0xC, updates experience fields at 0xE4/0xE8, returns status code (0=ok, 1=exp increased, 2=level increased, -1=not found) 0x00768A00 131 CRuneSystemMgr__set_rune_grade_at_coord rune Finds rune by page/coord and sets its grade field at offset 0xF4. Returns 1 on success, 0 if not found. 0x00768A90 37 CRuneSystemMgr__destroy_objects_in_range rune CRuneSystemMgr: destroy objects in range 0x00768AC0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00768CD0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00768EE0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x007690F0 82 fill_int_array_with_value stl Fills array of int pointers with specified value for given count 0x00769150 10 STL_vector_throw_length_error_b stl Throws std::length_error for vector overflow 0x00769160 10 STL_vector_throw_length_error_c stl Throws std::length_error for vector overflow 0x00769170 10 STL_vector_throw_length_error_d stl Throws std::length_error for vector overflow 0x00769180 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007691C0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00769200 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x00769240 509 CRuneSystemMgr__lua_AddGradeType rune Lua callback for AddGradeType, registers grade type data from Lua table 0x00769440 509 CRuneSystemMgr__lua_AddGradeType_Fail rune Lua callback for AddGradeType_Fail, registers grade failure data from Lua table 0x00769640 673 CRuneSystemMgr__lua_AddItemListTable_Type rune Lua callback for AddItemListTable_Type, registers item list table data 0x007698F0 653 CRuneSystemMgr__lua_AddRune rune Lua callback for AddRune, adds rune entry with coords, name, and type info 0x00769B80 860 CRuneSystemMgr__lua_AddRuneSetReward rune Lua callback for AddRuneSetReward, registers set reward data for runes 0x00769EE0 855 CRuneSystemMgr__lua_AddRune_Description rune Lua callback for AddRune_Description, sets description text for rune entries 0x0076A240 553 CRuneSystemMgr__lua_AddRune_GradeList rune Lua callback for AddRune_GradeList, registers grade list data for runes 0x0076A470 530 CRuneSystemMgr__lua_AddRune_SlotCollectionList rune Lua callback for AddRune_SlotCollectionList, registers slot collection data 0x0076A690 679 CRuneSystemMgr__lua_AddTag rune Lua callback for AddTag, registers tag data for rune system pages 0x0076A940 245 CRuneSystemMgr__lua_Add_Decom_ItemNum rune Lua callback for Add_Decom_ItemNum, registers decompose item number data 0x0076AA40 549 CRuneSystemMgr__lua_AdditemDecom rune Lua callback for AdditemDecom, registers item decomposition data 0x0076AC70 868 CRuneSystemMgr__lua_AdditemDecomType rune Lua callback for AdditemDecomType, registers item decomposition type data 0x0076AFE0 672 CRuneSystemMgr__lua_SetRune_DisplayName rune Lua callback for SetRune_DisplayName, sets display name for rune entries 0x0076B280 555 CRuneSystemMgr__lua_SetRune_UpGradeTable rune Lua callback for SetRune_UpGradeTable, configures upgrade table entries 0x0076B4B0 219 CRuneSystemMgr__lua_SetRuneSysteminfo rune Lua callback for SetRuneSysteminfo, configures rune system global info 0x0076B590 459 CHashManager__ctor game_core 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 game_core CHashManager destructor. Releases CFileReader (calls virtual destructor with delete), clears pointer, and deletes critical section. 0x0076B7C0 110 CHashManager__scalar_deleting_dtor game_core 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 game_core Stub return true 0076b840 0x0076B870 3 null_stub_0076b870 crt Empty function stub (just returns). Likely a no-op placeholder or stripped virtual function. 0x0076B873 239 CFileReader__LoadWithMD5Check file Loads a file with MD5 integrity check. Acquires mutex (FUN_00737130), calls CFileReader__load_ansi_with_md5_check. On failure, gets error code, formats error string "%s (%d)", logs via FUN_0076dfa0 with source path "C:\\repositories\\RagnarokClient\\R..." at line 0x8c. Returns 1 on success, 0 on failure. 0x0076B970 3 null_stub_0076b970 crt Empty function stub (just returns). Likely a no-op placeholder or stripped virtual function. 0x0076B973 236 CFileReader__LoadWithHashCheck file Loads a file with hash integrity check. Acquires mutex, calls CFileReader__load_ansi_with_hash_check with 3 params. On failure, gets error code, formats error string, logs via FUN_0076dfa0 at line 100 (0x64). Returns 1 on success, 0 on failure. 0x0076BA60 228 CFileReader__LoadBasic file Basic file load without integrity check. Acquires mutex, calls thunk_00401640 for reading. On failure, gets error code, formats error string, logs via FUN_0076dfa0 at line 0x42. Returns 1 on success, 0 on failure. 0x0076BB50 1 null_stub_0076bb50 crt Empty function stub (just returns). No-op placeholder. 0x0076BCB0 356 CHashManager__Initialize game_core 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 game_core Stub return true 0076be20 0x0076BEC0 25 CHashManager__ReleaseFileReader game_core Releases the CFileReader at +8 by calling its virtual destructor (param=1 to delete), then nulls the pointer. 0x0076BEE0 27 CHashManager__ReleaseGlobal game_core Releases the global hash manager singleton at DAT_01450b94. Calls virtual destructor (param=1 to delete) and nulls the global pointer. 0x0076BF00 564 vector_20byte__insert_grow stl Inserts a 20-byte (0x14) element into a vector, growing buffer as needed. Uses 1.5x growth factor, max 0xCCCCCCC elements. Aligned allocation for large buffers. Calls FUN_0076c140 to copy-construct the new element. Destroys old elements via their vtable before freeing old buffer. 0x0076C140 90 CHashEntry__CopyConstruct game_core 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. 0x0076C1A0 152 vector_byte__copy_construct stl Copy-constructs a byte vector from param_2 into param_1. Initializes begin/end/capacity to 0, allocates buffer matching source size via stub_005f66f0, then memcpy copies the data. 0x0076C240 176 CHashFileSystem__constructor game_core 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. 0x0076C320 176 vector_20byte__destroy_and_free stl Destroys and frees a vector of 20-byte (0x14) elements. Calls each element's virtual destructor (via vtable[0] with param=0), then frees the buffer (aligned deallocation for large buffers). Zeros begin/end/capacity. 0x0076C3E0 139 CHashFileSystem__destructor game_core 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 game_core 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 game_core 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 game_core Scalar deleting destructor for CHashEntry. Resets vtable, destroys internal data, optionally frees 0x14 bytes if param_2 bit 0 set. 0x0076C5D0 154 CHashFileSystem__AddEntry game_core 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. 0x0076C670 3 null_stub_0076c670 crt Empty function stub (just returns). 0x0076C673 106 CHashFileSystem__VerifyHash game_core 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. 0x0076C6E0 1 null_stub_0076c6e0 crt Empty function stub (just returns). 0x0076C930 1 null_stub_0076c930 crt Empty function stub (just returns). 0x0076C9D0 906 CHashFileSystem__InitHashEngine game_core 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 game_core 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 game_core 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 game_core Always returns 0. Trivial stub function. 0x0076CEC3 94 CHashFileSystem__GetFlag game_core 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 game_core 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 game_core 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 game_core 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 game_core Returns the file reader pointer at +8 within the critical section. Acquires mutex at +0x2C, reads pointer, releases mutex. 0x0076D8A0 3 null_stub_0076d8a0 crt Empty function stub (just returns). 0x0076D8A3 96 CHashFileSystem__ProcessEntry game_core 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 game_core 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. 0x0076DF40 1 null_stub_0076df40 crt Empty function stub (just returns). 0x0076DFA0 145 CHashFileSystem__LogError game_core 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. 0x0076E040 3 null_stub_0076e040 crt Empty function stub (just returns). 0x0076E043 96 CHashFileSystem__set_server_address_locked game_core 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 game_core CHashEntry: destroy range 0x0076E0E0 156 CHashEntry__copy_range game_core 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 game_core 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. 0x0076E220 10 thunk_to_std__Xlength_error_0076e220 stl Wrapper calling std::_Xlength_error for vector_too_long exception 0x0076E230 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0076E270 1464 rc4_crypt security RC4 stream cipher encrypt/decrypt. Processes data in 8-byte chunks with unrolled loop for aligned data, falls back to byte-by-byte for unaligned. State stored in param_1 (i at [0], j at [1], S-box at [2..257]). XORs keystream with input param_3 to produce output param_4. 0x0076E9F0 350 rc4_key_schedule security RC4 Key Scheduling Algorithm (KSA). Initializes the 256-byte S-box at param_1[2..257] with identity permutation plus an offset, then performs the key-mixing pass using the key at param_3 of length param_2. Resets i and j counters to 0. 0x0076EB50 8 identity_passthrough_eb50 crt Returns input parameter unchanged; identity function stub 0x0076EB60 8 identity_passthrough_eb60 crt Identity function that returns its parameter unchanged 0x0076EB70 8 identity_passthrough_eb70 crt Returns its parameter unchanged; simple identity function 0x0076EB80 8 identity_passthrough_eb80 crt Returns parameter unchanged; identity function stub 0x0076EB90 10 identity_passthrough_eb90 crt Returns the dereferenced pointer parameter unchanged 0x0076EBA0 10 identity_passthrough_eba0 crt Returns input parameter unchanged; dereferences and returns byte value 0x0076EBB0 56 atomic_wait_until_changed game_core Atomic wait until changed 0x0076EC20 153 PacketCrypto__generate_key_pair network Generates a 9-byte packet encryption key pair. First 5 bytes are random (generated via std::_Random_device + PacketCrypto__generate_random_range). Bytes 5-8 are derived by XORing the input 4-byte key (param_2) with cascading XORs of the random bytes. 0x0076ECC0 153 PacketCrypto__generate_key_pair_b network Generates a 9-byte packet encryption key pair. Identical to generate_key_pair - second copy for a different calling context. 0x0076ED60 68 PacketCrypto__extract_key_from_pair network Extracts the original 4-byte key from a 9-byte key pair by reversing the XOR cascade. Computes key[i] = pair[5+i] ^ pair[i+1] ^ pair[i] for i=0..3. This is the inverse of generate_key_pair. 0x0076EDB0 36 CSkillEffect__scalar_deleting_dtor effect Scalar deleting destructor for CSkillEffect. Sets vtable pointer and optionally frees memory (8 bytes). 0x0076EDE0 162 CSkillEffect__init_singleton effect Initializes the CSkillEffect singleton (DAT_01450b9c). Creates an 8-byte object with vtable and enabled flag. Returns 1 if already initialized and enabled, 0 otherwise. 0x0076EE90 27 CSkillEffect__destroy_singleton effect Destroys the CSkillEffect singleton (DAT_01450b9c). Calls the virtual destructor with free flag, then nulls the global pointer. 0x0076F050 1 null_stub_f050 crt Empty function stub with no implementation, just returns immediately 0x0076F150 31 crt__alloca_probe_wrapper crt Originally CRT __alloca_probe wrapper, now Themida-neutralized. Body just calls themida_null_stub (no-op). A stub replaced __alloca_probe; the actual implementation was stripped by Themida unpacking. 0x0076F450 400 mersenne_twister__generate_bounded game_core mersenne_twister: generate bounded 0x0076F5E0 131 std__tree_destroy_nodes_1c stl Recursively destroys all nodes in a std::_Tree with 0x1C-byte nodes. For each non-nil node, recurses on the right child, then destroys the contained 0x4C virtual object, frees the node, and continues with the left child (iterative tail). 0x0076F670 123 std__tree_destroy_nodes_20 stl Recursively destroys all nodes in a std::_Tree with 0x20-byte nodes. For each non-nil node, recurses on the right child, resets vtable, frees the 0x20-byte node, and continues with the left child (iterative tail). 0x0076F6F0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x0076F760 75 std__tree_lower_bound_A stl Red-black tree lower_bound. Binary searches for the first node with key >= target. 0x0076F7B0 75 std__tree_lower_bound_B stl Red-black tree lower_bound. Binary searches for the first node with key >= target. 0x0076F800 75 std__tree_lower_bound_C stl Red-black tree lower_bound. Binary searches for the first node with key >= target. 0x0076F850 533 std__unordered_map_emplace stl std::unordered_map emplace operation. Uses FNV-1a hash (0x811c9dc5, 0x1000193). Inserts a new element if not found, handles rehashing when load factor exceeded. Returns iterator and bool. 0x0076FA70 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x0076FAE0 99 std__unordered_map_find stl std::unordered_map::find. Computes FNV-1a hash of the 4-byte key, calls _Find_last to locate the bucket entry. Returns iterator to found element or end() if not found. 0x0076FB50 31 std__fill_range_4byte stl STL template instantiation: std fill range 4byte 0x0076FB70 499 CSkillMgr__ctor game_skills CSkillMgr constructor. Initializes a complex skill manager with multiple linked lists (0x4c node size), trees (0x1c, 0x20 node sizes), hash maps, and vectors. Sets load factor to 1.0f. Total object size ~0x78 bytes. 0x0076FD70 362 CSkillEntry__copy_ctor game_skills CSkillEntry copy constructor. Copies ~0x32 bytes of skill data fields plus a dynamic vector of 8-byte pairs at offset 0x38. 0x0076FEE0 67 std__unique_ptr_free_10 stl Unique pointer deleter. Frees the managed object at the stored offset. 0x0076FF30 67 std__unique_ptr_free_4c stl Unique pointer deleter. Frees the managed object at the stored offset. 0x0076FF80 67 std__unique_ptr_free_1c stl Unique pointer deleter. Frees the managed object at the stored offset. 0x0076FFD0 67 std__unique_ptr_free_20 stl Unique pointer deleter. Frees the managed object at the stored offset. 0x00770020 67 std__unique_ptr_free_18 stl Unique pointer deleter. Frees the managed object at the stored offset. 0x00770070 131 std__unordered_map_destroy_and_free stl Destructor for std::unordered_map. First frees the bucket vector, then walks the linked list of 0x10-byte nodes freeing each, and finally frees the sentinel node. 0x00770100 125 std__vector_free_buffer stl Frees the internal buffer of a std::vector. Handles large allocations (>0xFFF bytes) by reading the original allocation pointer at [-4]. Zeros out the begin/end/capacity pointers after freeing. 0x00770190 78 std__unique_ptr_free_10_b stl Unique pointer deleter. Frees the managed object at the stored offset. 0x007701E0 106 std__linked_list_dtor_virtual_4c stl Destructor for a container holding a 0x4C-byte polymorphic object. Calls virtual destructor at vtable[0] then frees the 0x4C-byte allocation via operator delete. 0x00770250 76 std__tree_clear_1c stl Clears a std::_Tree with 0x1C-byte nodes. Calls std__tree_destroy_nodes_1c on the root, then frees the 0x1C-byte sentinel/header node. 0x007702B0 76 std__tree_clear_20 stl Clears a std::_Tree with 0x20-byte nodes. Calls std__tree_destroy_nodes_20 on the root, then frees the 0x20-byte sentinel/header node. 0x00770310 116 std__tree_node_destroy_1c stl Destroys a single std::_Tree node (0x1C bytes). If the node contains data at offset +4, calls the virtual destructor of the contained 0x4C object, then frees the 0x1C-byte node allocation. 0x00770390 111 std__tree_node_destroy_20 stl Destroys a 0x20-byte tree node. Sets the vtable pointer at node+0x14 before freeing. SEH protected. 0x00770400 78 std__unique_ptr_free_18_b stl Frees the 0x18-byte allocation at this+4 if non-null. SEH protected unique_ptr-style cleanup. 0x00770450 78 std__unique_ptr_free_1c_b stl Frees the 0x1c-byte allocation at this+4 if non-null. SEH protected unique_ptr-style cleanup. 0x007704A0 78 std__unique_ptr_free_20_b stl Frees the 0x20-byte allocation at this+4 if non-null. SEH protected unique_ptr-style cleanup. 0x007704F0 78 std__unique_ptr_free_18_c stl Frees the 0x18-byte allocation at this+4 if non-null. SEH protected unique_ptr-style cleanup. 0x00770540 103 std__linked_list_free_nodes_10 stl Walks a singly-linked list from the sentinel node, freeing each 0x10-byte node, then frees the sentinel itself. 0x007705B0 115 std__linked_list_destroy_virtual_4c stl Walks a linked list from sentinel, calls virtual destructor at node[2] for each 0x4c-byte node, then frees the sentinel. Used for skill entry lists with polymorphic nodes. 0x00770630 87 std__tree_clear_1c_b stl Recursively destroys all 0x1c-byte tree nodes via std__tree_destroy_nodes_1c, then frees the sentinel node. 0x00770690 87 std__tree_clear_20_b stl Recursively destroys all 0x20-byte tree nodes via std__tree_destroy_nodes_20, then frees the sentinel node. 0x007706F0 65 std__map_destroy_wrapper stl SEH-protected wrapper that calls STL_map_destroy to destroy a std::map container. 0x00770740 68 std__linked_list_destroy_virtual_wrapper stl SEH-protected wrapper that calls std__linked_list_destroy_virtual_4c to destroy a linked list with virtual destructors on each 0x4c-byte node. 0x00770790 67 CSkillEntry__set_vtable game_skills Sets the CSkillEntry vtable pointer at this+4 to the skill entry vtable. SEH protected. 0x007707E0 65 std__unordered_map_destroy_wrapper stl SEH-protected wrapper that calls std__unordered_map_destroy_and_free to destroy an unordered_map container. 0x00770830 261 CSkillMgr__dtor game_skills CSkillMgr destructor. Destroys all internal containers in reverse order: linked lists with virtual dtors, trees, unordered maps, and vectors. 0x00770940 190 std__unordered_map_clear stl Clears all entries from an unordered_map. If element count is small relative to bucket count, uses erase_range. Otherwise walks the node list directly, freeing 0x10-byte nodes and resetting bucket pointers. 0x00770A40 250 CSkillMgr__tree_insert_or_find_20 game_skills Inserts or finds a key in CSkillMgr's 0x20-byte-node tree (skill level/range tree). Uses lower_bound to find insertion point, allocates new 0x20-byte node with skill entry vtable if not found. Returns pointer to data portion (node+0x14). 0x00770B40 220 CSkillMgr__tree_insert_or_find_18 game_skills Inserts or finds a key in CSkillMgr's 0x18-byte-node tree (skill flag tree). Uses lower_bound to find insertion point, allocates new 0x18-byte node with a boolean flag if not found. Returns pointer to data portion (node+0x14). 0x00770C20 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00770C80 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00770CE0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00770D40 282 CSkillMgr__scalar_deleting_dtor game_skills Scalar deleting destructor for CSkillMgr. Runs full destructor logic (destroys all internal containers in reverse order), then conditionally frees the 0x78-byte CSkillMgr object if bit 0 of param is set. 0x00770E60 35 CSkillEntry__scalar_deleting_dtor game_skills Scalar deleting destructor for CSkillEntry. Calls CSkillEntry__dtor then conditionally frees the 0x44-byte object. Easily mistaken for basic_stringbuf. 0x00770E90 36 CSkillEntryBase__scalar_deleting_dtor game_skills Scalar deleting destructor for CSkillEntry base. Sets vtable to skill entry vtable, then conditionally frees the 0xc-byte object. Easily mistaken for MemMapBase. 0x00770EC0 87 CSkillMgr__update_or_add_skill game_skills Updates an existing skill entry or adds a new one. Searches the linked list at offset 0x70 for matching skill ID at node+0x10. If found, updates level/range fields. If not found, calls CSkillList__push_back. 0x00770F20 166 CSkillMgr__update_skill_range game_skills Updates skill range data. If the skill has a nonzero level, finds the skill group, then if current level exceeds stored level, inserts level range into the 0x20-node tree and sets the dirty flag in the 0x18-node tree. 0x00770FD0 127 CSkillMgr__clear_skill_trees game_skills Clears both skill trees (0x20-node tree at +0x48 and 0x18-node tree at +0x50). Destroys all nodes, resets sentinels, zeros counts, and resets the pending vector pointer at +0x5c. 0x00771050 270 CSkillMgr__process_pending_removals game_skills Processes the pending removal vector at +0x58/0x5c. For each skill ID, finds and removes corresponding nodes from both the 0x20-node tree (level/range) and 0x18-node tree (flags) at +0x48/+0x50. Resets the pending vector when done. 0x00771160 238 CSkillMgr__remove_skill_by_key game_skills Removes a skill from the manager by its key. Searches linked list at offset +4, unlinks the node, calls virtual dtor, frees memory, and also removes from the unordered hash map. 0x00771250 102 CSkillMgr__find_skill_level_info game_skills Looks up a skill ID in the 0x20-node tree at +0x48 using lower_bound. If found, returns {1, level_value} via output param. If not found, returns {0, 0}. 0x007712C0 207 CSkillMgr__remove_skill_level game_skills Removes a skill level entry by ID. Finds and removes from the 0x20-node tree at +0x48 (level/range data), then finds and removes the corresponding flag from the 0x18-node tree at +0x50. 0x00771390 80 CSkillMgr__remove_flag_node game_skills Removes a flag node from the 0x18-node tree at +0x50 by skill ID. Uses lower_bound to find the node, then extracts and frees it. 0x007713E0 97 CSkillMgr__add_skill_with_refresh game_skills Adds a skill with UI refresh. Appends the skill ID to the vector at +0x40, finds the skill tree window (type 0x25) and sends a refresh message (0xa1), then pushes the skill entry to the linked list via CSkillList__push_back. 0x00771450 80 CSkillMgr__clear_linked_list game_skills Clears the skill linked list at +0x34. Calls virtual destructors on each 0x4c-byte node, frees all nodes, resets sentinel pointers, zeros the count at +0x38, and resets the vector pointer at +0x3c/+0x40. 0x007714A0 177 CSkillMgr__remove_skill_by_id game_skills Removes a skill by ID from the linked list at offset +0x34. Also removes from the vector at +0x3c and triggers UI refresh via FUN_00aa5f70(0x25)->vtable[0x25](0, 0xa1, ...). 0x00771560 43 CSkillMgr__find_skill_node_by_id game_skills Searches the linked list at +0x34 for a node with matching skill ID at node[4]. Returns pointer to node+2 (the data portion) if found, NULL otherwise. 0x00771590 28 CSkillMgr__reassign_indices game_skills Walks the linked list at +0x34 and assigns sequential indices (0, 1, 2, ...) to each node's field at node[0xb]. Used to reindex skills after additions or removals. 0x007715B0 43 CSkillMgr__find_skill_entry_by_id game_skills Searches the linked list at +4 for a node with matching skill ID at node[4]. Returns pointer to node+2 (the data portion) if found, NULL otherwise. Same as find_skill_node_by_id but uses a different list. 0x007715E0 48 CSkillMgr__find_skill_entry_safe game_skills Safe version of find_skill_entry_by_id. Checks that the list count at +8 is nonzero before searching. Returns pointer to node+2 data if found, NULL otherwise. 0x00771610 150 CSkillMgr__get_skill_entry_by_index game_skills Gets a skill entry by sequential index. Walks the linked list at +4 counting nodes. If the target index is reached, copies the skill entry via CSkillEntry__copy_ctor. Returns a default entry if index is out of range or list is empty. 0x007716B0 312 CSkillMgr__get_skill_entry_by_id game_skills Gets a skill entry by skill ID. Handles homunculus skill IDs (0x19b2, 0x19b3) by converting them. Looks up in unordered map first, then falls back to linked list search. Checks CSkillEffect::HasRequiredComponents. 0x007717F0 137 CSkillMgr__find_in_unordered_map game_skills Looks up a skill ID in the unordered hash map using FNV-1a hash. If found, writes the skill entry pointer and sets found=1 in output param. If not found, sets found=0. 0x00771880 150 CSkillMgr__get_skill_entry_from_list game_skills Gets a skill entry from the secondary skill list at +0x70. Searches by skill ID, copies entry via CSkillEntry__copy_ctor if found. Returns default entry if list is empty or skill not found. 0x00771920 44 CSkillMgr__mark_all_flags_dirty game_skills Marks all flag nodes in the 0x18-node tree at +0x50 as dirty by setting byte at node+0x14 to 1. Iterates using tree iterator operator++. 0x00771950 36 CSkillMgr__has_skill_in_list game_skills Checks if a skill ID exists in the linked list at +0x34. Searches nodes by skill ID at node[4]. Returns 1 if found, 0 otherwise. 0x00771980 39 CSkillMgr__is_skill_level_exceeded game_skills Checks if a skill's current level exceeds its max level. Finds the skill group, compares level at +0x10 against max_level (short) at +0x30. Returns true if exceeded. 0x007719B0 26 CSkillMgr__is_homunculus_skill game_skills Checks if a skill ID is a homunculus skill. Returns 1 for IDs 0x19b3 and 0x19b4, 0 otherwise. IDs correspond to homunculus-specific skills in RO. 0x007719D0 127 CSkillMgr__check_and_enqueue_update game_skills Checks if a skill needs updating by looking up in the 0x20-node tree. If found, copies the stored level to the skill entry. If the current level matches the stored max, enqueues the skill ID to the pending removal vector at +0x5c for later processing. 0x00771A50 150 CSkillMgr__swap_skill_range game_skills Swaps or retrieves skill range data. Looks up skill ID in the 0x20-node tree. If the two skill IDs match and the dirty flag is set, reads the range value and clears the flag. Otherwise inserts/finds the new skill ID's range entry. 0x00771AF0 17 CSkillMgr__reset_first_skill_field game_skills Resets field [6] (range/level delta) to 0 on the first node of the 0x20-node tree at +0x48. No-op if tree is empty. 0x00771B10 34 CSkillMgr__convert_homunculus_id game_skills Converts homunculus skill IDs 0x19b2 and 0x19b3 to their base skill IDs by calling resolve_skill_upgrade_chain. No-op for other IDs. 0x00771B40 188 CSkillMgr__for_each_skill_callback game_skills Iterates all skill groups in the tree at +0x2c, and for each skill in each group's linked list, invokes a callback (std::function). Stops early if callback returns false. 0x00771C00 275 CSkillMgr__register_skill_group game_skills Registers a skill group in the tree at offset +0x2c. Creates a tree node (0x1c bytes) with a nested linked list (0x4c sentinel), then pushes the skill to the list via CSkillList__push_back. 0x00771D20 37 CSkillMgr__clear_skill_groups game_skills Clears all skill groups from the RB-tree at offset +0x2c. Destroys all nodes and resets the tree sentinel to empty state. 0x00771D50 79 CSkillMgr__find_skill_in_groups game_skills Searches all skill groups for a skill with the given ID. Iterates groups in RB-tree at +0x2c, then each group's linked list. Returns pointer to the skill entry data (offset +8 from list node), or NULL if not found. 0x00771DA0 242 CSkillMgr__get_or_create_skill_list game_skills Gets or lazily creates the skill list container for a given group. Uses a static singleton (DAT_01450bc4/DAT_01450bcc) with atexit cleanup. Returns pointer to the linked list at tree node offset +0x14. 0x00771EA0 130 CSkillMgr__find_group_id_for_skill game_skills Finds which group ID contains a given skill ID. Iterates all groups in the tree at +0x2c, searching each group's linked list. Returns group ID or -1 if not found. 0x00771F30 72 CSkillMgr__get_skill_count_for_group game_skills Looks up a skill group by group ID in the RB-tree at +0x2c. Returns the value at node offset +0x18 (skill count for that group), or 0 if group not found. 0x00771F80 28 CSkillMgr__get_skill_level game_skills Gets the skill level for a given skill ID by finding it in the skill groups via CSkillMgr__find_skill_in_groups. Returns the level (offset +0x10) or 0 if not found. 0x00771FA0 29 CSkillMgr__set_skill_level_by_id game_skills Sets the skill level for a skill ID by writing to the skill level array at offset +0x64. Validates ID is in range 1-0x1F3E before writing. 0x00771FC0 363 CSkillMgr__update_skill_entry game_skills Updates a skill entry in the manager. Checks if the new level exceeds the range and enqueues for removal. Also handles range adjustments when new level is between min and max range. 0x00772130 235 std__vector_resize_fill stl Resizes a std::vector to param_2 elements, filling with param_3. If new size <= current, fills existing range. Otherwise allocates new buffer, copies data, frees old, and fills all elements with param_3. 0x00772220 704 std__tree_extract_and_rebalance_A stl Red-black tree node extraction and rebalancing (variant A for 0x20-byte nodes). Standard RB-tree delete fixup with rotations and color changes. Decrements node count. 0x007724E0 704 std__tree_extract_and_rebalance_B stl Red-black tree node extraction and rebalancing (variant B for 0x18-byte nodes). Standard RB-tree delete fixup with rotations and color changes. Decrements node count. 0x007727A0 426 std__unordered_map_rehash stl Rehashes an unordered_map to a new bucket count. Rounds up to next power of 2, reallocates bucket array, and redistributes all elements using FNV-1a hash on 4-byte keys. 0x00772950 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00772B60 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00772D70 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x00772F80 84 std__tree_rotate_left_A stl Standard red-black tree left rotation (variant A). Rotates param_2 node left, updating parent/child pointers and root if needed. 0x00772FE0 84 std__tree_rotate_left_B stl Standard red-black tree left rotation (variant B). Identical to variant A but used by a different tree instance. 0x00773040 88 std__tree_rotate_right_A stl Standard red-black tree right rotation (variant A). Rotates param_2 node right, updating parent/child pointers and root if needed. 0x007730A0 88 std__tree_rotate_right_B stl Standard red-black tree right rotation (variant B). Identical to variant A but used by a different tree instance. 0x00773100 478 std__unordered_map_erase_range stl Erases a range of elements from an unordered_map. Iterates from param_2 to param_3, deleting 0x10-byte nodes, rehashing bucket pointers, and decrementing element count. Uses FNV-1a hash on 4-byte keys. 0x007732E0 170 CSkillList__push_back game_skills Pushes a new skill entry onto the linked list. Allocates a 0x4C-byte node, calls CSkillEntry constructor, increments count. Throws std::length_error if list is full. 0x00773390 101 CSkillList__add_and_link_entry game_skills Adds a skill entry to the list and links it. For skill IDs 0x19B3/0x19B4, searches existing entries to find a matching skill and links the new entry's +0xC field to it. 0x00773400 123 CSkillEntry__ctor_default game_skills Default constructor for CSkillEntry. Sets vtable, type=0, name="Unknown Skill", zeroes remaining fields. 0x00773480 121 CSkillEntry__ctor_type1 game_skills Constructor for CSkillEntry with type=1. Sets vtable, type=1, zeroes name and remaining fields. 0x00773500 74 CSkillEntry__dtor game_skills Destructor for CSkillEntry. Sets vtable, clears and frees internal vector/pair data. 0x00773550 194 CSkillManager__GetLevelUseApAmount game_skills Calls Lua function "GetLevelUseApAmount" to get AP cost for a skill at a given level. Allocates string and invokes script engine. 0x00773620 194 CSkillManager__GetLevelUseSpAmount game_skills Calls Lua function "GetLevelUseSpAmount" to get SP cost for a skill at a given level. Allocates string and invokes script engine. 0x007736F0 196 CSkillManager__GetSkillName game_skills Gets the display name for a skill via Lua "GetSkillName". Maps skill IDs 0x13B2->0x13A4 and 0x13B3->0x13AC before lookup. Returns "Unknown Skill" on failure. 0x007737C0 169 CSkillManager__GetSkillIdName game_skills Gets the internal ID name for a skill via Lua "GetSkillIdName". Takes skill entry as param, returns "Zero Skill" on failure. 0x00773870 167 CSkillManager__GetSkillIdNameById game_skills Gets the internal ID name for a skill by raw skill ID (not skill entry). Calls Lua "GetSkillIdName", returns "Zero Skill" on failure. 0x00773920 194 CSkillManager__GetSkillNameById game_skills Gets skill display name by raw skill ID. Maps 0x13B2->0x13A4 and 0x13B3->0x13AC before Lua "GetSkillName" lookup. Returns "Unknown Skill" on failure. 0x007739F0 3 null_stub_007739f0 crt Empty stub function, does nothing (just returns). 0x00773A00 159 CSkill__IsGroundTargetSkill game_skills Returns 1 if the skill ID is a ground-targeting skill (e.g. Storm Gust, Meteor Storm, traps, etc.). Uses large switch table covering many skill IDs. 0x00773CB0 26 CSkill__IsSpecialPassiveSkill game_skills Returns 1 if skill ID is 0x1998 or 0x19C9 (special passive skills), 0 otherwise. 0x00773CD0 705 CSkill__GetSkillEffectCallback game_skills Gets effect callback for a skill ID. Large switch on skill IDs - ground target skills return 1 directly, others fall through to initialize CEffectCallbackContainer singleton (DAT_013896f4) and call FUN_0077b4a0 for the callback. 0x00774500 164 CSkillManager__IsLevelUseSkill game_skills Calls Lua "IsLevelUseSkill" to check if a skill can be used at a given level. Returns boolean result from script engine. 0x007745B0 92 CSkill__RequiresTarget game_skills Returns 1 if the skill requires a target (most skills), 0 for non-target skills (basic attacks 0xB-0x15, some special skills like 0x2B2, 0x2DB, 0x7D8, 0x138C, 0x9E5-0x9E8). 0x00774710 26 CSkillEffect__HasRequiredComponents effect Checks if skill effect has both required components at offsets +4 and +0x10 set (non-null). 0x00774730 116 CSkillEffect__StartEffect946 effect Starts effect ID 0x946 on a target actor. Gets/creates the effect on actor's effect manager at +0x110. Sets float param at offset +0x48. 0x007747B0 36 CSkillEffect__StopEffect946 effect Stops effect ID 0x946 on a target actor by removing it from the actor's effect manager. 0x007747E0 26 CSkillEffectCallback__InvokeVtable0 effect Thin wrapper that invokes vtable[0] on the callback object, passing params with some zeroed out. Pattern: vtable_call(p2, p3, 0, 0, p6, 0). 0x007748BF 547 CSkillEffect__create_gender_change_cast_and_loop effect Creates gender_change_cast and gender_change_loop effects with 1.5x scale. Both effects looked up by name string and created on entity's effect manager. 0x00774B61 702 CSkillEffect__remove_gender_change_and_create_effect effect Removes gender_change_loop and gender_change_cast effects, then creates gender_change effect with 1.5x scale. 0x00774E20 26 CSkillEffectCallback__InvokeVtable0_dup effect Duplicate of CSkillEffectCallback__InvokeVtable0. Thin wrapper invoking vtable[0] with zeroed params. 0x00774E60 108 CSkillEffect__StartSoulCollect947 effect Starts soul collect effect (ID 0x947) on an actor. Gets/creates effect on actor's effect manager, then calls CEffectSoulCollect tree insert. 0x00774ED0 85 CSkillEffect__UpdateSoulCollect947 effect Updates soul collect effect (ID 0x947). Removes oldest sprites, checks render count, and removes the effect entirely if count drops to 0. 0x00774F30 26 CSkillEffectCallback__InvokeVtable0_dup2 effect Duplicate of CSkillEffectCallback__InvokeVtable0. Thin wrapper invoking vtable[0] with zeroed params. 0x00775082 460 CSkillEffect__create_unlimit_cast_and_loop_effects effect Creates two effects for skill cast: first from XMM0 register inline name (14 chars), second "unlimit" effect. Both via CEffectManager__create_effect. 0x007752CF 513 CSkillEffect__create_unlimit_loop_bottom_effect effect Creates unlimit_loop_bottom effect. If game setting 0xe5 is disabled, also creates unlimit_loop effect. 0x007754D0 508 CSkillEffect__StopUnlimitEffect effect Stops Unlimit skill effects on an actor. Looks up and removes both "unlimit_loop_bottom" and "unlimit_loop" effects by name from the actor's effect manager. 0x007756D0 26 CSkillEffectCallback__InvokeVtable0_dup3 effect Thin wrapper invoking vtable[0] on callback object with zeroed params. Pattern: vtable_call(p2, p3, 0, 0, p6, 0). 0x007757AF 567 CSkillEffect__create_energy_conversion_cast_effects effect Creates energy_conversion_cast and energy_conversion_cast_bottom effects. Both attached to entity with target binding. 0x00775A9F 1 CSkillEffect__create_energy_conversion_effect effect CSkillEffect: create energy conversion effect 0x00775ABE 1 nop_return_void_00775abe game_core Single-byte NOP stub (no operation, returns immediately) 0x00775AEC 1 nop_return_void_00775aec game_core Single-byte NOP stub (no operation, returns immediately) 0x00775B7D 21 CSkillEffect__empty_stub_00775b7d effect Empty stub function, does nothing. Security cookie epilogue only. 0x00775C3F 537 CSkillEffect__create_divinus_flos_cast_effects effect Creates divinus_flos_cast and divinus_flos_cast_bottom effects. Both attached to entity with target binding. 0x00775EE9 482 CSkillEffect__create_divinus_flos_loop_effects effect Creates two effects for Divinus Flos loop: first from inline name (12 chars), second divinus_flos_bottom effect. 0x0077614F 234 CSkillEffect__create_divinus_flos_hit_effect effect Creates single divinus_flos_hit effect on entity's effect manager. 0x007762DF 505 CSkillEffect__create_enchanting_shadow_effects effect Creates enchanting_shadow_bottom and enchanting_shadow effects on entity. 0x007764E0 34 CSkillEffect__BuildEffectDescriptor_EB6_Yellow effect Builds an effect descriptor struct: looks up effect name for ID 0xEB6 via CMessageStringTable, pairs it with yellow color (0xFFFF00). Returns the filled descriptor. 0x00776510 34 CSkillEffect__CreateEffectEB7_Blue effect Creates effect 0xEB7 with blue color (0xFF). Returns effect struct with ID and color. 0x007765E1 471 CSkillEffect__create_impact_crater_effects effect Creates two impact crater effects: first from inline name (13 chars), second impact_crater_bottom. Both on entity's effect manager. 0x0077683F 243 CSkillEffect__create_impact_crater_hit_effect effect Creates single impact_crater_hit effect on entity's effect manager. 0x007769E3 213 CSkillEffect__create_single_named_effect_short effect Creates a single skill effect from an 11-char inline name via CEffectManager__create_effect. 0x00776B5B 213 CSkillEffect__create_single_named_effect_medium effect Creates a single skill effect from a 15-char inline name via CEffectManager__create_effect. 0x00776CBF 548 CSkillEffect__create_dancing_knife_cast_effects effect Creates dancing_knife_cast_bottom and dancing_knife_cast effects. Both attached to entity with target binding. 0x00776F6F 1 CSkillEffect__create_dancing_knife_hit_effect effect CSkillEffect: create dancing knife hit effect 0x0077704D 21 CSkillEffect__empty_stub_0077704d effect Empty stub function, does nothing. Security cookie epilogue only. 0x007770EF 1 nop_return_void_007770ef game_core Single-byte NOP stub (no operation, returns immediately) 0x0077710E 1 nop_return_void_0077710e game_core Single-byte NOP stub (no operation, returns immediately) 0x0077714C 1 __break game_core Debug breakpoint instruction (INT3) 0x007771D8 1 nop_return_void_007771d8 game_core Single-byte NOP stub (no operation, returns immediately) 0x007771F3 1 nop_return_void_007771f3 game_core Single-byte NOP stub (no operation, returns immediately) 0x00777212 1 nop_return_void_00777212 game_core Single-byte NOP stub (no operation, returns immediately) 0x00777242 1 nop_return_void_00777242 game_core Single-byte NOP stub (no operation, returns immediately) 0x007772FB 1 nop_return_void_007772fb game_core Single-byte NOP stub (no operation, returns immediately) 0x00777316 1 nop_return_void_00777316 game_core Single-byte NOP stub (no operation, returns immediately) 0x00777335 1 nop_return_void_00777335 game_core Single-byte NOP stub (no operation, returns immediately) 0x00777363 1 nop_return_void_00777363 game_core Single-byte NOP stub (no operation, returns immediately) 0x0077740A 1 nop_return_void_0077740a game_core Single-byte NOP stub (no operation, returns immediately) 0x00777425 1 nop_return_void_00777425 game_core Single-byte NOP stub (no operation, returns immediately) 0x00777444 1 nop_return_void_00777444 game_core Single-byte NOP stub (no operation, returns immediately) 0x00777472 1 nop_return_void_00777472 game_core Single-byte NOP stub (no operation, returns immediately) 0x00777507 1 nop_return_void_00777507 game_core Single-byte NOP stub (no operation, returns immediately) 0x00777520 1001 CSkillEffect__StopDancingKnifeEffects effect Stops all Dancing Knife skill effects on an actor. Removes 4 named effects: dancing_knife_skill_bottom_begin, dancing_knife_skill_bottom_loop, dancing_knife_skill_begin, dancing_knife_skill_loop. 0x00777910 26 CSkillEffectCallback__InvokeVtable0_dup4 effect Thin wrapper invoking vtable[0] on callback object with zeroed params. 0x00777A07 237 CSkillEffect__create_effect_with_rotation effect Creates a single skill effect from an 11-char inline name, then sets rotation angle via vtable call at offset 0x44. 0x00777CBF 261 CSkillEffect__create_shadow_exceed_cast_effect effect Creates shadow_exceed_cast effect and attaches it to entity with target binding. 0x00777DD0 77 CSkillEffect__StartEffect9A3 effect Starts effect 0x9A3 on target actor via effect manager at +0x110. Creates with default params (infinite duration). 0x00777E20 91 CSkillEffect__StartEffect3EC effect Starts effect 0x3EC. Checks if effect already exists, if not calls FUN_00cadd60 to create it (non-returning call path). 0x00777E80 93 CSkillEffect__StopEffect3EC effect Stops effect 0x3EC. Loops calling vtable method at +8 with msg 0x6D until the effect is fully removed. 0x00777EE0 26 CSkillEffectCallback__InvokeVtable0_flag1 effect Thin wrapper invoking vtable[0] on callback. Similar to other InvokeVtable0 but passes 1 as last arg instead of 0. 0x00777F00 34 CSkillEffect__CreateEffectEB2_Yellow effect Creates effect 0xEB2 with yellow color (0xFFFF00). Returns effect struct. 0x00777F30 34 CSkillEffect__CreateEffectEB3_Blue effect Creates effect 0xEB3 with blue color (0xFF). Returns effect struct. 0x00777F60 143 CSkillEffect__FormatFixedNotation effect Formats a float value using fixed notation with flag 0x10000000. Wraps charconv__format_fixed_notation. 0x00777FF0 28 CSkillEffect__InitEffectParam effect Initializes a skill effect parameter struct. Sets flag to 0x10000000 and copies value from source. 0x00778150 142 CSkillEffect__StartEffect970_A effect Starts effect 0x970 if both param_2 and param_3 are non-null. Calls FUN_00cadd60 (does not return). 0x007782A0 1 CSkillEffect__create_chasing_break_looped_effects effect Creates chasing_break effects in a loop (angle increments of 0x2D up to 0x167), with random delay and fade properties 0x007782AE 1 nop_return_void_007782ae game_core Single-byte NOP stub (no operation, returns immediately) 0x007782CD 1 nop_return_void_007782cd game_core Single-byte NOP stub (no operation, returns immediately) 0x00778350 1 nop_return_void_00778350 game_core Single-byte NOP stub (no operation, returns immediately) 0x0077846F 243 CSkillEffect__create_chasing_break_hit_effect effect Creates single chasing_break_hit effect on entity's effect manager. 0x0077860F 537 CSkillEffect__create_chasing_shot_cast_effects effect Creates chasing_shot_cast_bottom and chasing_shot_cast effects. Both attached to entity with target binding. 0x00778830 142 CSkillEffect__StartEffect970_B effect Duplicate of StartEffect970_A. Starts effect 0x970 if both params are non-null. 0x0077897E 1 CSkillEffect__create_chasing_shot_single_looped_effects effect Creates chasing_shot_single effects in a loop (angle increments of 0x2D up to 0x167), with angle-based rotation and fade properties 0x0077898E 1 nop_return_void_0077898e game_core Single-byte NOP stub (no operation, returns immediately) 0x007789BF 1 nop_return_void_007789bf game_core Single-byte NOP stub (no operation, returns immediately) 0x00778A50 1 nop_return_void_00778a50 game_core Single-byte NOP stub (no operation, returns immediately) 0x00778B4F 254 CSkillEffect__create_chasing_shot_hitsub_effect effect Creates single chasing_shot_hitsub effect on entity's effect manager. 0x00778CCF 234 CSkillEffect__create_chasing_shot_hit_effect effect Creates single chasing_shot_hit effect on entity's effect manager. 0x00778E4F 254 CSkillEffect__create_hit_and_sliding_hit_effect effect Creates single hit_and_sliding_hit effect on entity's effect manager. 0x00778FCF 545 CSkillEffect__create_abyss_flame_cast_effects effect Creates abyss_flame_cast_bottom and abyss_flame_cast effects. Both attached to entity with target binding. 0x00779283 213 CSkillEffect__create_inline_effect_11char_00779283 effect Creates a single skill effect from an 11-char inline name via CEffectManager__create_effect. 0x007793FB 213 CSkillEffect__create_inline_effect_15char_007793fb effect Creates a single skill effect from a 15-char inline name via CEffectManager__create_effect. 0x0077955F 245 CSkillEffect__create_abyss_flame_target_effect effect Creates single abyss_flame_target effect on entity's effect manager. 0x007796FB 213 CSkillEffect__create_inline_effect_15char_007796fb effect Creates a single skill effect from a 15-char inline name via CEffectManager__create_effect. 0x007798EF 270 CSkillEffect__create_psychic_stream_cast_effect effect Creates psychic_stream_cast effect and attaches it to entity with target binding. 0x00779A92 481 CSkillEffect__create_psychic_stream_loop_effects effect Creates two effects for psychic stream loop: first from inline name (14 chars), second psychic_stream_bottom effect. 0x00779CFF 245 CSkillEffect__create_psychic_stream_hit_effect effect Creates single psychic_stream_hit effect on entity's effect manager. 0x00779EAF 570 CSkillEffect__create_blazing_flame_blast_cast_effects effect Creates blazing_flame_blast_cast and blazing_flame_blast_cast_bottom effects. Both attached to entity with target binding. 0x0077A18C 273 CSkillEffect__create_blazing_flame_blast_with_timer effect Creates blazing_flame_blast effect with a timer set via vtable call at offset 0x40. 0x0077A31F 264 CSkillEffect__create_blazing_flame_blast_hit_effect effect Creates single blazing_flame_blast_hit effect on entity's effect manager. 0x0077A450 154 std__function__move_ctor_A stl std::function move constructor. Moves callable target from param_2 to param_1. If target is small-buffer-optimized (stored inline), uses vtable clone; otherwise moves pointer directly. 0x0077A4F0 154 std__function__move_ctor_B stl std::function move constructor variant B. Same logic as move_ctor_A for a different template instantiation. 0x0077A590 154 std__function__move_ctor_C stl std::function move constructor variant C. Same logic as move_ctor_A for a different template instantiation. 0x0077A630 14 std__function__is_empty_A stl Returns true if the std::function is empty (internal pointer is null). 0x0077A640 14 std__function__is_empty_B stl Returns true if the std::function is empty (internal pointer is null). Variant B. 0x0077A650 14 std__function__is_empty_C stl Returns true if the std::function is empty (internal pointer is null). Variant C. 0x0077A660 75 std__map__lower_bound_A stl std::map lower_bound implementation. Walks red-black tree searching for key, returns iterator pointing to first element >= key. 0x0077A6B0 75 std__map__lower_bound_B stl std::map lower_bound implementation variant B. Same tree walk for different template instantiation. 0x0077A700 75 std__map__lower_bound_C stl std::map lower_bound implementation variant C. Same tree walk for different template instantiation. 0x0077A750 67 CEffect__free_data_40_a effect Frees a 0x40-byte data block pointed to by field +4 (offset 4) if non-null. Variant A of the effect data deallocator. 0x0077A7A0 67 CEffect__free_data_40_b effect Frees a 0x40-byte data block pointed to by field +4 (offset 4) if non-null. Variant B of the effect data deallocator. 0x0077A7F0 67 CEffect__free_data_40_c effect Frees a 0x40-byte data block pointed to by field +4 (offset 4) if non-null. Variant C of the effect data deallocator. 0x0077A840 147 CEffect__destroy_callback_and_free_a effect Destroys a callback object at offset +0x3C within the 0x40-byte data block, calling its virtual method at vtable+0x10 with a flag, then nulls the pointer. Finally frees the 0x40-byte block. Variant A. 0x0077A8E0 147 CEffect__destroy_callback_and_free_b effect Destroys a callback object at offset +0x3C within the 0x40-byte data block, calling its virtual method at vtable+0x10 with a flag, then nulls the pointer. Finally frees the 0x40-byte block. Variant B. 0x0077A980 147 CEffect__destroy_callback_and_free_c effect Destroys a callback object at offset +0x3C within the 0x40-byte data block, calling its virtual method at vtable+0x10 with a flag, then nulls the pointer. Finally frees the 0x40-byte block. Variant C. 0x0077AA20 78 CEffect__free_data_40_d effect Frees a 0x40-byte data block pointed to by field +4 (offset 4) if non-null. Variant D of the effect data deallocator. 0x0077AA70 78 CEffect__free_data_40_e effect Frees a 0x40-byte data block at offset +4 of the object via operator_delete. SEH-protected cleanup function (variant e). 0x0077AAC0 78 CEffect__free_data_40_f effect Frees a 0x40-byte data block at offset +4 of the object via operator_delete. SEH-protected cleanup function (variant f). 0x0077AB10 105 CEffect__destroy_func_callback_a effect Destroys a callback object at offset +0x2c. Calls the destroy method via vtable[0x10] and nulls the pointer. SEH-protected (variant a). 0x0077AB80 105 CEffect__destroy_func_callback_b effect Destroys a callback object at offset +0x2c. Calls the destroy method via vtable[0x10] and nulls the pointer. SEH-protected (variant b). 0x0077ABF0 105 CEffect__destroy_func_callback_c effect Destroys a callback object at offset +0x2c. Calls the destroy method via vtable[0x10] and nulls the pointer. SEH-protected (variant c). 0x0077ACC0 196 CEffect__get_handler_size_c effect Looks up handler by key in map C (offset +4), clones it via vtable[8], then calls vtable[4] to get a size value. Returns {valid_flag, size} pair. Default size=8 if not found. 0x0077AD90 270 CEffect__get_world_position effect Computes world position from screen/grid coordinates. Gets the 3D engine instance, converts via CGameEngine methods, interpolates terrain height using C3dAttr__GetInterpolatedHeight, adds offset DAT_010dc4f4. 0x0077AEA0 208 CEffect__get_handler_color_a effect Looks up handler by key in map A (offset +0xc), clones via vtable[8], then calls vtable[0xc] to get a color value. Default color = {0, 0xFFFF00} (yellow) if handler not found. 0x0077AF80 208 CEffect__get_handler_color_b effect Looks up handler by key in map A (offset +0xc), clones via vtable[8], then calls vtable[0x10] to get a color value. Default color = {0, 0xFF} (blue) if handler not found. 0x0077B060 176 CEffect__get_handler_value_c effect Looks up handler by key in map C (offset +4), clones via vtable[8], then calls vtable[0x38] to get a value. Returns 0 if handler not found. 0x0077B120 79 CEffect__get_handler_instance_a effect Looks up handler by key in map A (offset +0xc). If found, clones via vtable[8] and returns the cloned instance. Returns 0 if not found. 0x0077B170 79 CEffect__get_handler_instance_b effect Looks up handler by key in map B (offset +0x14). If found, clones via vtable[8] and returns the cloned instance. Returns 0 if not found. 0x0077B1C0 79 CEffect__get_handler_instance_c effect Looks up handler by key in map C (offset +4). If found, clones via vtable[8] and returns the cloned instance. Returns 0 if not found. 0x0077B210 196 CEffect__get_handler_size_c2 effect Looks up handler by key in map C (offset +4), clones via vtable[8], then calls vtable[8] to get a size value. Returns {valid_flag, size} pair. Default size=7 if not found. 0x0077B2E0 183 CEffect__invoke_handler_method_c effect Looks up handler by key in map C (offset +4), clones via vtable[8], then calls vtable[0xc] with param_3 as argument. Returns the bool result, or 0 if handler not found. 0x0077B3A0 180 CEffect__invoke_handler_bool_c effect Looks up handler by key in map C (offset +4), clones via vtable[8], then calls vtable[0x10] with no extra args. Returns bool result, or 0 if handler not found. 0x0077B460 57 CEffect__has_handler_a effect Checks if a handler key exists in map A (offset +0xc). Returns true if found, false otherwise. Uses std::map lower_bound lookup. 0x0077B4A0 179 CEffect__invoke_handler_first_c effect Looks up handler by key in map C (offset +4), clones via vtable[8], then calls the first vtable entry (vtable[0]). Returns bool result, or 0 if handler not found. 0x0077B560 180 CEffect__invoke_handler_vtable_1c effect Looks up handler by key in map C (offset +4), clones via vtable+8, invokes vtable+0x1C on the clone, frees clone. Returns result or 0 if key not found. 0x0077B620 180 CEffect__invoke_handler_vtable_18 effect Looks up handler by key in map C (offset +4), clones via vtable+8, invokes vtable+0x18 on the clone, frees clone. Returns result or 0 if not found. 0x0077B6E0 180 CEffect__invoke_handler_vtable_34 effect Looks up handler by key in map C (offset +4), clones via vtable+8, invokes vtable+0x34 on the clone, frees clone. Returns result or 0 if not found. 0x0077B7A0 180 CMapEventDispatch__InvokeHandler_vtable_14 game_map Looks up handler by key in std::map, clones via vtable+8, invokes vtable+0x14 on clone, frees clone. Returns result or 0 if not found. 0x0077B860 187 CMapEventDispatch__InvokeHandler_vtable_40 game_map Looks up handler by key in map C, clones via vtable+8, invokes vtable+0x40 with 3 params on clone, frees clone. Returns true if handler found. 0x0077B920 193 CMapEventDispatch__InvokeHandler_mapA_vtable0 game_map Looks up handler by key in map A (+0xC), clones via vtable+8, invokes vtable[0] with (key, 5 params) on clone, frees clone. Returns true if found. 0x0077B9F0 184 CMapEventDispatch__InvokeHandler_vtable_20 game_map Looks up handler by key in map C, clones, invokes vtable+0x20 with 2 params, frees clone. Returns true if found. 0x0077BAB0 187 CMapEventDispatch__InvokeHandler_vtable_24 game_map Looks up handler by key in map C, clones, invokes vtable+0x24 with 3 params, frees clone. Returns true if found. 0x0077BB70 230 CMapEventDispatch__InvokeHandler_vtable_28_withPos game_map Looks up handler by key in map C, clones, converts (param_5, param_6) shorts to position via FUN_0077ad90, invokes vtable+0x28 with 4 params including position. Returns true if found. 0x0077BC60 191 CMapEventDispatch__InvokeHandler_mapA_vtable4 game_map Looks up handler by key in map A (+0xC), clones, invokes vtable+4 with (key, 4 params). Returns true if found. 0x0077BD20 232 CMapEventDispatch__InvokeHandler_vtable_30_withPos game_map Looks up handler by key in map C (+0x4), clones via vtable+8, computes world position via CEffect__get_world_position from params, then invokes vtable+0x30 on clone with position and extra params. Returns 1 if handler found, 0 otherwise. 0x0077BE10 187 CMapEventDispatch__InvokeHandler_vtable_3c game_map Looks up handler by key in map C, clones, invokes vtable+0x3C with 3 params. Returns true if found. 0x0077BED0 191 CMapEventDispatch__InvokeHandler_mapA_vtable8 game_map Looks up handler by key in map A (+0xC), clones, invokes vtable+8 with (key, 4 params). Returns true if found. 0x0077BF90 181 CMapEventDispatch__InvokeHandler_mapB_vtable4 game_map Looks up handler by key in map B (+0x14), clones, invokes vtable+4 with 1 param, frees clone. Returns true if found. 0x0077C050 186 CMapEventDispatch__InvokeHandler_mapB_vtable0 game_map Looks up handler by key in map B (+0x14), clones, invokes vtable[0] with 3 params, frees clone. Returns true if found. 0x0077C110 187 CMapEventDispatch__InvokeHandler_vtable_2c game_map Looks up handler by key in map C, clones, invokes vtable+0x2C with 3 params, frees clone. Returns true if found. 0x0077C1D0 398 CEffect__register_handler_a effect Registers an effect handler in map A (offset +0xc). Creates a 0x40-byte tree node with std::function move-constructed from parameter. Uses lower_bound + insert pattern. 0x0077C360 398 CEffect__register_handler_b effect Registers an effect handler in map B (offset +0x14). Creates a 0x40-byte tree node with std::function move-constructed from parameter. Uses lower_bound + insert pattern via std__map__lower_bound_B. 0x0077C4F0 398 CEffect__register_handler_c effect Registers an effect handler in map C (offset +0x4). Creates a 0x40-byte tree node with std::function move-constructed from parameter. Uses lower_bound + insert pattern via std__map__lower_bound_C. 0x0077C680 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0077C890 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0077CAA0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0077CE2B 482 CSkillEffect__create_mayhemic_thorns_effects effect Creates two effects: first from inline name (15 chars), second mayhemic_thorns_bottom effect. 0x0077D09F 234 CSkillEffect__create_explosive_powder_effect effect Creates single explosive_powder effect on entity's effect manager. 0x0077D232 214 CSkillEffect__create_inline_effect_14char_0077d232 effect Creates a single skill effect from a 14-char inline name via CEffectManager__create_effect. 0x0077D38F 245 CSkillEffect__create_mistery_powder_hit_effect effect Creates single mistery_powder_hit effect on entity's effect manager. 0x0077D50F 527 CSkillEffect__play_mistery_powder_effect effect Creates mistery_powder_loop_bottom and mistery_powder_loop visual effects via CEffectManager 0x0077D720 543 CEffect__remove_mistery_powder_effects effect Removes mistery_powder visual effects (both "mistery_powder_loop_bottom" and "mistery_powder_loop" variants) from the actor's effect manager at offset +0x110. Looks up each effect ID by name string via CEffectDataMgr, then calls CEffectManager__remove_effect_by_id_and_type. 0x0077D940 26 CEffect__InvokeVtable0_simplified effect Wrapper that calls vtable[0] on param_1 with simplified args: (param_2, param_3, 0, 0, param_6, 0). Forwards only 2 of 5 params, zeroes the rest. 0x0077D960 126 CEffect__RandomizeAndInvoke effect Iterates 3 times (0, 200, 400) with random indices (rand() % 4). For each iteration, looks up two entries via FUN_0077dc70 at random index and (index+2)%4, calling vtable+0x40 on each with the loop counter. Used for randomized effect spawning. 0x0077DA5F 516 CSkillEffect__play_dust_explosion_hit_effect effect Creates dust_explosion_hit_bottom and dust_explosion_hit visual effects via CEffectManager 0x0077DC70 600 CEffect__spawn_dust_explosion effect Spawns a dust_explosion effect at a random position around the target. Uses sin/cos with random angles and distances (0-90 degree range). Looks up effect by name and spawns via FUN_00b24a50. 0x0077DFFA 214 CSkillEffect__play_named_effect_short effect Plays a single named visual effect looked up from CEffectDataMgr (short string, inline buffer) 0x0077E15A 214 CSkillEffect__play_named_effect_short_b effect Plays a single named visual effect looked up from CEffectDataMgr (short string variant B) 0x0077E230 277 CEffect__remove_vigor_buff effect Removes the vigor_buff effect from the actor's effect manager. Looks up effect ID by name string "vigor_buff" via CEffectDataMgr, then removes from effect manager at offset +0x110. 0x0077E350 26 CEffect__InvokeVtable0_simplified_2 effect Wrapper that calls vtable[0] on param_1 with simplified args: (param_2, param_3, 0, 0, param_6, 0). Identical to CEffect__InvokeVtable0_simplified. 0x0077E370 34 build_error_result_0xea3 game_core Creates a result struct with message string 0xEA3 (looked up via CMessageStringTable__get_message_text) and value 0xFF. Returns param_1. 0x0077E42F 245 CSkillEffect__play_servantweapon_down_effect effect Creates servantweapon_down visual effect via CEffectManager 0x0077E5AF 505 CSkillEffect__play_servantweapon_hit_effect effect Creates servantweapon_hit_bottom and servantweapon_hit visual effects via CEffectManager 0x0077E7B0 36 CEffect__remove_effect_099c effect Removes effect with numeric ID 0x99C from the actor's effect manager at offset +0x110. Guard checks that the actor pointer is non-null. 0x0077E7E0 34 build_error_result_0xea1 game_core Creates a result struct with message string 0xEA1 (looked up via CMessageStringTable__get_message_text) and value 0xFF. Returns param_1. 0x0077E8CC 505 CSkillEffect__play_servant_sign_down_effect effect Creates servant_sign_down_bottom and servant_sign_down visual effects via CEffectManager 0x0077EB4F 492 CSkillEffect__play_servant_sign_effect effect Creates servant_sign_bottom and servant_sign visual effects via CEffectManager 0x0077ED40 508 CEffect__remove_servant_sign_effects effect Removes servant_sign effects (both "servant_sign_bottom" and "servant_sign" variants) from the actor's effect manager at offset +0x110. Looks up each by name via CEffectDataMgr. 0x0077EF40 26 UIWindow__InvokeVfuncHandler ui_events Invokes the first virtual function on the object with forwarded parameters and some zeroed defaults. 0x0077EF70 42 ui_callback_create_skill_effect_a ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect handler callback. 0x0077EFA0 36 ui_callback_remove_effect_0x99c_a ui_events UI callback that removes effect 0x99C from the actor's effect manager at offset +0x110 via CEffectMgr__find_effect_by_type_and_id. Guard checks param_2 is non-null. 0x0077F147 733 CSkillEffect__play_servant_phantom_down_effect effect Creates servant_phantom_down and servantweapon_hit effects; calls virtual method on created effect objects 0x0077F447 435 CSkillEffect__play_servant_phantom_sub_effect effect Creates servant_phantom_sub_bottom and servant_phantom_sub effects; calls virtual method on created effect objects 0x0077F600 36 ui_callback_remove_effect_0x99c_b ui_events UI callback that removes effect 0x99C from the actor's effect manager at offset +0x110 via CEffectMgr__find_effect_by_type_and_id. Duplicate of ui_callback_remove_effect_0x99c_a. 0x0077F6D1 733 CSkillEffect__play_servant_demolition_collect_effect effect Creates servant_demolition_collect effect; randomly spawns leftdown or rightdown variant based on rand()%2 0x0077FA2F 254 CSkillEffect__play_servant_demolition_hit_effect effect Creates servant_demolition_hit visual effect via CEffectManager 0x0077FD60 42 ui_callback_create_skill_effect_b ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. Duplicate of ui_callback_create_skill_effect_a at a different address. 0x0077FE0F 510 CSkillEffect__play_madness_crusher_effect effect Creates madness_crusher_bottom and madness_crusher visual effects via CEffectManager 0x0078009F 1 CSkillEffect__play_dragonic_pierce_cast_effect effect Creates dragonic_pierce_cast effect and calls virtual method on result 0x007800BE 1 CSkillEffect__noop_stub_007800be effect Single-byte ret stub in skill effect handler table 0x007800EC 1 CSkillEffect__noop_stub_007800ec effect Single-byte ret stub in skill effect handler table 0x0078017F 1 CSkillEffect__noop_stub_0078017f effect Single-byte ret stub in skill effect handler table 0x0078043C 348 CSkillEffect__play_dragonic_pierce_bottom_effect effect Creates dragonic_pierce_bottom effect and calls virtual method on result 0x0078061F 527 CSkillEffect__play_dragonic_pierce_hit_effect effect Creates dragonic_pierce_hit_bottom and dragonic_pierce_hit visual effects 0x00780840 42 ui_callback_create_skill_effect_c ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. 0x007808EF 510 CSkillEffect__play_dragonic_breath_effect effect Creates dragonic_breath_bottom and dragonic_breath visual effects via CEffectManager 0x00780BF5 588 CSkillEffect__play_dragonic_breath_hit_scatter effect Creates up to 4 dragonic_breath_hit effects with randomized scatter positions around target 0x00780DB0 42 ui_callback_create_skill_effect_d ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. 0x00780E5F 527 CSkillEffect__play_chargingpierce_cast_effect effect Creates chargingpierce_cast_bottom and chargingpierce_cast visual effects 0x00781070 34 build_error_result_0xea2 game_core Creates a result struct with message string 0xEA2 (looked up via CMessageStringTable__get_message_text) and value 0xFF. Returns param_1. 0x0078114F 338 CSkillEffect__play_chargingpierce_hit_effect effect Creates chargingpierce_hit effect and plays DK_CHARGINGPIERCE3.wav sound 0x007812F0 36 ui_callback_remove_effect_0x99d ui_events UI callback that removes effect 0x99D from the actor's effect manager at offset +0x110 via CEffectManager__remove_effect_by_id_and_type. Guard checks param_2 is non-null. 0x007813AF 492 CSkillEffect__play_hackandslash_effect effect Creates hackandslash_bottom and hackandslash visual effects via CEffectManager 0x0078161F 234 CSkillEffect__play_hackandslash_hit_effect effect Creates hackandslash_hit visual effect via CEffectManager 0x0078179F 234 CSkillEffect__play_hackandslash_hit_effect_b effect Creates hackandslash_hit visual effect (variant B) via CEffectManager 0x00781AB0 142 get_time_of_day_index game_core 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 game_core Returns true if param_1 < 4 (valid time-of-day index: 0-3). 0x00781B50 42 ui_callback_create_skill_effect_e ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. 0x00781C30 42 ui_callback_create_skill_effect_f ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. 0x00781DB0 77 ui_callback_create_effect_0x51e ui_events UI callback that creates effect 0x51E on the actor's effect manager at offset +0x110 via CEffectManager__create_effect with default position/params. Guard checks param_2 is non-null. 0x00781E00 77 ui_callback_create_effect_0x963 ui_events UI callback that creates effect 0x963 on the actor's effect manager at offset +0x110 via CEffectManager__create_effect with default position/params. Guard checks param_2 is non-null. 0x00781E50 36 ui_callback_remove_effect_0x963 ui_events UI callback that removes effect 0x963 from the actor's effect manager at offset +0x110 via CEffectManager__remove_effect_by_id_and_type. Guard checks param_2 is non-null. 0x00781E80 26 UIWindow__InvokeVfuncHandler_b ui_events Invokes the first virtual function on the object with forwarded parameters and some zeroed defaults. Duplicate of UIWindow__InvokeVfuncHandler. 0x00781EA0 42 ui_callback_create_skill_effect_g ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. 0x00781F4F 342 CSkillEffect__play_spark_blaster_bottom_effect effect Creates spark_blaster_bottom effect and plays NPC_LIGHTNING_JUDGEMENT sound 0x007820B0 77 ui_callback_create_effect_0x4e8 ui_events UI callback that creates effect 0x4E8 on the actor's effect manager at offset +0x110 via CEffectManager__create_effect with default position/params. Guard checks param_2 is non-null. 0x00782192 214 CSkillEffect__play_named_effect_short_c effect Plays a single named visual effect (short inline string, variant C) 0x00782270 285 ui_callback_remove_groggy_effect ui_events UI callback that removes the "groggy_on_loop" effect from the actor's effect manager at offset +0x110. Looks up the effect ID by name string via CEffectDataMgr, then calls CEffectManager__remove_effect_by_id_and_type. 0x00782390 26 UIWindow__InvokeVfuncHandler_c ui_events Invokes the first virtual function on the object with forwarded parameters and zeroed defaults. 0x007823B0 180 ui_callback_npc_reset_effect ui_events UI callback that sends message 0x96a and plays the "NPC_RESET_EFST" sound effect. Calculates relative position from player to play 3D positional audio. 0x007824EF 514 CSkillEffect__play_target_marker_effect effect Creates target_marker_start and target_marker_loop visual effects 0x00782700 303 ui_callback_stop_target_marker_effect ui_events UI callback that stops the "target_marker_loop" effect. Looks up the effect ID by name from CEffectDataMgr and sends stop command to the object at param_2+0x110. 0x00782830 26 UIWindow__InvokeVfuncHandler_d ui_events Invokes the first virtual function on the object with forwarded parameters and zeroed defaults. 0x00782860 42 ui_callback_close_window_h ui_events UI callback that closes/destroys a window if param_2 is non-null. 0x00782890 180 ui_callback_aimed_shower_effect ui_events UI callback that sends message 0x4f4 and plays the "NPC_AIMED_SHOWER" sound effect. Calculates relative position from player for 3D positional audio. 0x00782950 77 ui_callback_send_msg_0x965 ui_events UI callback that sends extended message 0x965 with default params to the object at param_2+0x110. 0x007829A0 42 ui_callback_close_window_i ui_events UI callback that closes/destroys a window if param_2 is non-null. 0x00782B20 42 ui_callback_close_window_j ui_events UI callback that closes/destroys a window if param_2 is non-null. 0x00782BCF 847 CSkillEffect__play_npc_block_seal_effect effect Creates npc_block_seal_start, npc_block_seal_loop_bottom, npc_block_seal_loop effects plus effect ID 0x960 0x00782F20 565 ui_callback_stop_block_seal_effects ui_events UI callback that stops the "npc_block_seal_loop_bottom" and "npc_block_seal_loop" effects. Sends message 0x960 first, then stops both effect IDs looked up from CEffectDataMgr. 0x00783160 26 UIWindow__InvokeVfuncHandler_e ui_events Invokes the first virtual function on the object with forwarded parameters and zeroed defaults. 0x007832F0 42 ui_callback_close_window_k ui_events UI callback that closes/destroys a window if param_2 is non-null. 0x0078339F 245 CSkillEffect__play_double_bowlingbash_effect effect Creates double_bowlingbash visual effect via CEffectManager 0x007834A0 62 ui_callback_exit_game ui_events UI callback that exits the game. Calls FUN_00cadd60 with mode 0x49 (game exit). Does not return. 0x007835B8 1 CSkillEffect__noop_stub_007835b8 effect Single-byte ret stub in skill effect handler table 0x007835D9 1 CSkillEffect__noop_stub_007835d9 effect Single-byte ret stub in skill effect handler table 0x00783678 21 CSkillEffect__noop_handler_00783678 effect Empty no-op skill effect handler (just returns) 0x007836A0 42 ui_callback_close_window_l ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. 0x0078374F 243 CSkillEffect__play_shield_chain_rush_effect effect Creates shield_chain_rush visual effect via CEffectManager 0x00783860 42 ui_callback_close_window_m ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. 0x00783932 852 CSkillEffect__create_spiral_pierce_max_effects effect Creates spiral_pierce_max skill effects: bottom aura, top aura, and main effect with angle calculation 0x00783CA0 42 ui_callback_close_window_n ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. 0x00783CD0 1071 play_meteor_storm_buster_effects game_core 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. 0x00784130 42 ui_callback_close_window_o ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. 0x00784160 75 ui_callback_return_to_select_char ui_events UI callback that returns to character select screen. Calls FUN_00cadd60 with mode 0xc if both params are non-null. Does not return. 0x007842D0 72 ui_callback_send_emoticon ui_events UI callback that sends an emoticon. Calculates emoticon index from param_1 / 0x18, then sends message 0x5a8 with the emoticon index. 0x007843AF 1064 CSkillEffect__create_jack_frost_nova_effects effect Creates jack_frost_nova effects: start_bottom, start, loop_bottom, and loop layers 0x0078485D 1 CSkillEffect__noop_stub_0078485d effect Single-byte ret stub in skill effect handler table 0x0078487C 1 CSkillEffect__noop_stub_0078487c effect Single-byte ret stub in skill effect handler table 0x007848AA 1 CSkillEffect__noop_stub_007848aa effect Single-byte ret stub in skill effect handler table 0x00784939 1 CSkillEffect__noop_stub_00784939 effect Single-byte ret stub in skill effect handler table 0x00784960 42 ui_callback_close_window_p ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. 0x00784BA5 1017 CSkillEffect__create_hells_drive_effects effect Creates hells_drive skill effects in a loop with random variant selection and position offsets 0x00784E60 51 ui_callback_close_two_windows ui_events UI callback that closes two windows. Calculates window group index from param_1 (signed divide by 16), then closes windows with IDs 9 and 12 for that group. 0x00784F17 1100 CSkillEffect__create_ground_gravitation_effects effect Creates ground_gravitation effects: bottom_start, start, bottom_loop, and loop layers 0x00785370 581 ui_callback_play_gravitation_effects ui_events UI callback that plays 2 ground gravitation effects: "ground_gravitation_bottom_loop" and "ground_gravitation_loop". Each effect is looked up by name, played on the object, and if a previous effect instance exists, it is stopped via vfunc +0x7c. 0x007855D0 42 ui_callback_close_window_q ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. 0x0078567F 243 CSkillEffect__create_napalm_vulcan_strike_effect effect Creates napalm_vulcan_strike skill effect by name lookup 0x00785790 42 ui_callback_close_window_r ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. 0x00785851 213 CSkillEffect__create_single_named_effect_short_00785851 effect CSkillEffect: create single named effect short 00785851 0x007859AF 245 CSkillEffect__create_breakinglimit_buff_effect effect Creates breakinglimit_buff skill effect by name lookup 0x00785AB0 303 ui_callback_stop_breakinglimit_buff ui_events UI callback that stops the "breakinglimit_buff" effect. Looks up the effect ID by name from CEffectDataMgr and sends stop command. 0x00785BE0 26 UIWindow__InvokeVfuncHandler_f ui_events Invokes the first virtual function on the object with forwarded parameters and zeroed defaults: (param_2, param_3, 0, 0, param_6, 0). 0x00785C10 42 ui_callback_close_window_s ui_events UI callback that calls create_skill_effect_wrapper_a if param_2 is non-null. One of many identical close/cleanup callback stubs. 0x00785CC9 213 CSkillEffect__create_single_named_effect_9byte effect CSkillEffect: create single named effect 9byte 0x00785E32 214 CSkillEffect__create_single_named_effect_14byte effect CSkillEffect: create single named effect 14byte 0x00785F10 285 ui_callback_stop_rulebreak_buff ui_events UI callback that stops the "rulebreak_buff" effect. Looks up the effect ID by name from CEffectDataMgr and sends stop command. 0x00786030 26 UIWindow__InvokeVfuncHandler_g ui_events Invokes a UI window virtual function handler through a vtable dispatch. 0x007860CF 1 CSkillEffect__noop_stub_007860cf effect Single-byte ret stub in skill effect handler table 0x007860EE 1 CSkillEffect__noop_stub_007860ee effect Single-byte ret stub in skill effect handler table 0x0078611C 1 CSkillEffect__noop_stub_0078611c effect Single-byte ret stub in skill effect handler table 0x007861D1 247 CSkillEffect__create_overcoming_crisis_bottom_effect effect CSkillEffect: create overcoming crisis bottom effect 0x007862D0 211 std__random_shuffle_with_rng stl Fisher-Yates shuffle using a custom RNG (handler_0061d2c0). Shuffles an array of 4-byte elements in-place with rejection sampling to avoid modulo bias. 0x007863B0 146 std__random_shuffle_simple stl Fisher-Yates shuffle using MT19937 global RNG. Shuffles an array of 4-byte elements in-place with rejection sampling to avoid modulo bias. Simpler version without custom RNG parameter. 0x00786450 171 CEffect__register_callback_wrapper_b effect Wrapper that initializes CEffectCallbackContainer singleton, then delegates to CEffect__register_handler_b to register a callback in map B. Manages std::function move semantics for the callback parameter. 0x00786500 871 std__mt19937_shuffle_vector stl Fills a vector with [0..param_2) then shuffles it using MT19937 (seeded from std::random_device). Fisher-Yates shuffle with rejection sampling. Stack-allocated MT state (0x9C0 bytes). 0x00786B1F 1 CSkillEffect__noop_stub_00786b1f effect Single-byte ret stub in skill effect handler table 0x00786B3E 1 CSkillEffect__noop_stub_00786b3e effect Single-byte ret stub in skill effect handler table 0x00786B6C 1 CSkillEffect__noop_stub_00786b6c effect Single-byte ret stub in skill effect handler table 0x00786C0D 1 CSkillEffect__noop_stub_00786c0d effect Single-byte ret stub in skill effect handler table 0x00786C3C 274 CSkillEffect__create_new_cross_rain_cast_bottom_effect effect CSkillEffect: create new cross rain cast bottom effect 0x00786DE9 303 CSkillEffect__create_new_cross_rain_bottom_effect effect CSkillEffect: create new cross rain bottom effect 0x00786FAF 570 CSkillEffect__create_new_grand_judgement_cast_effects effect Creates new_grand_judgement cast and cast_bottom effects with target-based duration 0x0078726F 1 CSkillEffect__noop_stub_0078726f effect Single-byte ret stub in skill effect handler table 0x0078728E 1 CSkillEffect__noop_stub_0078728e effect Single-byte ret stub in skill effect handler table 0x007872BC 1 CSkillEffect__noop_stub_007872bc effect Single-byte ret stub in skill effect handler table 0x00787361 1 CSkillEffect__noop_stub_00787361 effect Single-byte ret stub in skill effect handler table 0x0078737C 862 CSkillEffect__create_new_grand_judgement_sub_effects effect Creates new_grand_judgement bottom effect, then spawns randomized sub effects at varying positions in 4 directional quadrants 0x0078775F 247 CSkillEffect__create_new_grand_judgement_buff_effect effect CSkillEffect: create new grand judgement buff effect 0x00787860 305 CEffect__remove_grand_judgement_buff effect Removes the "new_grand_judgement_buff" effect from the actor's effect manager at offset +0x110. Looks up effect ID by name via CEffectDataMgr. 0x007879A0 26 CEffect__InvokeVtable0_simplified_3 effect Wrapper calling vtable[0] on this with simplified args: (param_2, param_3, 0, 0, param_6, 0). Forwards position and one extra param, zeroes the rest. 0x007879D0 93 CEffect__PlaySpellSound effect Plays spell sound effect. If param_2 is non-zero, calls FUN_00cae0f0 with type 0x3A and a computed position, then plays "effect\\EF_BeginSpell.wav" at volume 0xFA, pan 0x28, with 1.0f rate. 0x00787AAF 516 CSkillEffect__create_new_guardianshield_effects effect Creates new_guardianshield and new_guardianshield_bottom effects 0x00787D3F 537 CSkillEffect__create_new_guardianshield_buff_effects effect Creates new_guardianshield_buff_start and new_guardianshield_buff_loop effects 0x00787F60 314 CEffect__remove_guardianshield_buff effect Removes the "new_guardianshield_buff_loop" effect from the actor's effect manager at offset +0x110. Looks up effect ID by name via CEffectDataMgr. 0x007880A0 26 CEffect__InvokeVtable0_simplified_4 effect Wrapper calling vtable[0] on this with simplified args: (param_2, param_3, 0, 0, param_6, 0). Forwards position and one extra param, zeroes the rest. 0x007880C0 34 build_error_result_0xea8 game_core 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 game_core Creates a result struct with error code 0xEA9 and value 0xFF. 0x00788197 558 CSkillEffect__create_new_holy_shield_cast_effects effect Creates new_holy_shield_cast and cast_bottom effects with target-based duration 0x0078846B 482 CSkillEffect__create_new_holy_shield_bottom_effects effect CSkillEffect: create new holy shield bottom effects 0x007886CF 526 CSkillEffect__create_new_holy_shield_loop_effects effect Creates new_holy_shield_loop and loop_bottom effects 0x007888E0 542 CEffect__remove_holy_shield_effects effect Removes holy shield effects (both "new_holy_shield_loop" and "new_holy_shield_loop_bottom") from the actor's effect manager at offset +0x110. Looks up each by name via CEffectDataMgr. 0x00788B00 26 CEffect__InvokeVtable0_simplified_5 effect Wrapper calling vtable[0] on this with simplified args: (param_2, param_3, 0, 0, param_6, 0). Forwards position and one extra param, zeroes the rest. 0x00788B20 34 build_error_result_0xeac game_core Creates a result struct with error code 0xEAC and color 0xFFFF00 (yellow). 0x00788B50 34 build_error_result_0xead game_core Creates a result struct with error code 0xEAD and value 0xFF. 0x00788C0F 570 CSkillEffect__create_new_judgement_cross_cast_effects effect Creates new_judgement_cross_cast and cast_bottom effects with target-based duration 0x00788EE4 243 CSkillEffect__create_new_judgement_cross_shot_effect effect CSkillEffect: create new judgement cross shot effect 0x00789060 509 CSkillEffect__create_new_judgement_cross_effects effect Creates new_judgement_cross_bottom and new_judgement_cross effects 0x007892DF 264 CSkillEffect__create_new_judgement_cross_hit_effect effect CSkillEffect: create new judgement cross hit effect 0x0078947F 261 CSkillEffect__create_new_overslash_cast_effect effect CSkillEffect: create new overslash cast effect 0x00789621 471 CSkillEffect__create_new_overslash_bottom_effects effect CSkillEffect: create new overslash bottom effects 0x0078987F 243 CSkillEffect__create_new_overslash_hit_effect effect CSkillEffect: create new overslash hit effect 0x007899FF 579 CSkillEffect__create_new_rebound_shield_cast_effects effect Creates new_rebound_shield cast and cast_bottom effects with target-based duration 0x00789CCF 516 CSkillEffect__create_new_rebound_shield_effects effect Creates new_rebound_shield and new_rebound_shield_bottom effects 0x00789EE0 34 build_error_result_0xeaa game_core Creates a result struct with error code 0xEAA and color 0xFFFF00 (yellow). 0x00789F10 34 build_error_result_0xeab game_core Creates a result struct with message text for string ID 0xEAB and color value 0xFF (blue). Returns the pair in param_1. 0x00789F40 93 CEffect__play_begin_spell_sound effect Plays the begin spell sound effect. Calls create_skill_effect_wrapper_a with type 0x3A and computed position, then plays "effect\\EF_BeginSpell.wav" at volume 0xFA, pan 0x28. Identical to CEffect__PlaySpellSound. 0x0078A01F 505 CSkillEffect__create_ultimatesacrifice_effects effect Creates ultimatesacrifice_bottom and ultimatesacrifice effects 0x0078A29F 264 CSkillEffect__create_skill_effect_0078a29f effect CSkillEffect: create skill effect 0078a29f 0x0078A3B0 322 CEffect__remove_ultimate_sacrifice_buff effect Removes the "ultimate_sacrifice_buff" effect from the actor's effect manager at offset +0x110. Looks up effect ID by name via CEffectDataMgr. 0x0078A500 26 CEffect__invoke_vtable_handler_a effect Wrapper calling vtable[0] on this with simplified args: (param_2, param_3, 0, 0, param_6, 0). Forwards position and one extra param, zeroes the rest. 0x0078A5C2 214 CSkillEffect__create_skill_effect_0078a5c2 effect CSkillEffect: create skill effect 0078a5c2 0x0078A71F 245 CSkillEffect__create_skill_effect_0078a71f effect CSkillEffect: create skill effect 0078a71f 0x0078A8AF 261 CSkillEffect__create_skill_effect_0078a8af effect CSkillEffect: create skill effect 0078a8af 0x0078AA83 496 CSkillEffect__create_skill_effect_0078aa83 effect CSkillEffect: create skill effect 0078aa83 0x0078ACFF 243 CSkillEffect__create_skill_effect_0078acff effect CSkillEffect: create skill effect 0078acff 0x0078AE7F 268 CSkillEffect__create_skill_effect_0078ae7f effect CSkillEffect: create skill effect 0078ae7f 0x0078B00F 505 CSkillEffect__create_skill_effect_0078b00f effect CSkillEffect: create skill effect 0078b00f 0x0078B28F 252 CSkillEffect__create_skill_effect_0078b28f effect CSkillEffect: create skill effect 0078b28f 0x0078B416 257 CSkillEffect__create_skill_effect_0078b416 effect CSkillEffect: create skill effect 0078b416 0x0078B520 179 CEffect__spawn_shield_shooting_effect effect Spawns shield shooting projectile effect (ID 0x887) from source to target actor. Also plays IG_SHIELD_SHOOTING_wav sound effect with 3D positioning relative to camera. 0x0078B65F 254 CSkillEffect__create_skill_effect_0078b65f effect CSkillEffect: create skill effect 0078b65f 0x0078B7EF 848 CSkillEffect__create_skill_effect_0078b7ef effect CSkillEffect: create skill effect 0078b7ef 0x0078BBBF 243 CSkillEffect__create_skill_effect_0078bbbf effect CSkillEffect: create skill effect 0078bbbf 0x0078BD3F 266 CSkillEffect__create_skill_effect_0078bd3f effect CSkillEffect: create skill effect 0078bd3f 0x0078BE50 324 CEffect__remove_attack_stance_bottom effect Removes the "new_attack_stance_loop_bottom" effect from the actor's effect manager at offset +0x110. Looks up effect ID by name via CEffectDataMgr. 0x0078BFA0 26 CEffect__invoke_vtable_handler_b effect Wrapper calling vtable[0] on this with simplified args: (param_2, param_3, 0, 0, param_6, 0). Forwards position and one extra param, zeroes the rest. 0x0078BFC0 34 CEffect__create_color_entry_yellow_ea4 effect Creates a color entry pair: gets message text for string ID 0xEA4, stores it with yellow color (0xFFFF00). Returns the pair in param_1. 0x0078BFF0 34 CEffect__create_color_entry_blue_ea5 effect Creates a color entry pair: gets message text for string ID 0xEA5, stores it with blue color (0xFF). Returns the pair in param_1. 0x0078C0AF 848 CSkillEffect__create_skill_effect_0078c0af effect CSkillEffect: create skill effect 0078c0af 0x0078C47F 234 CSkillEffect__create_skill_effect_0078c47f effect CSkillEffect: create skill effect 0078c47f 0x0078C5EF 256 CSkillEffect__create_skill_effect_0078c5ef effect CSkillEffect: create skill effect 0078c5ef 0x0078C6F0 314 CEffect__remove_guard_stance_bottom effect Removes the "new_guard_stance_loop_bottom" effect from the actor's effect manager at offset +0x110. Looks up effect ID by name via CEffectDataMgr. 0x0078C830 26 CEffect__invoke_vtable_handler_c effect Wrapper calling vtable[0] on this with simplified args: (param_2, param_3, 0, 0, param_6, 0). Forwards position and one extra param, zeroes the rest. 0x0078C850 34 CEffect__create_color_entry_yellow_ea6 effect Creates a color entry pair: gets message text for string ID 0xEA6, stores it with yellow color (0xFFFF00). Returns the pair in param_1. 0x0078C880 34 CEffect__create_color_entry_blue_ea7 effect Creates a color entry with message text from string table index 0xEA7, setting color to 0xFF (blue). Returns the populated entry struct. 0x0078C8B0 155 charconv__format_string_with_flags encoding Formats a string using charconv with fixed-point notation. Extracts the raw char* from an SSO-optimized std::string (threshold at offset +5 >= 0x10), sets flags to 0xC0000000. 0x0078C950 40 charconv__init_format_descriptor encoding Initializes a format descriptor struct from an SSO-optimized std::string. Sets flags to 0xC0000000 (fixed-point notation), extracts the raw char* pointer (using SSO threshold at offset +5 >= 0x10), and stores the string length. Used by charconv formatting routines. 0x0078CC50 42 CEffect__callback_stub_cc50 effect Callback stub that conditionally calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect callback in the CEffect system. 0x0078CD11 471 CSkillEffect__create_spark_blaster_bottom_effect effect Creates spark_blaster_bottom effect and additional spark effect at position with nav map info 0x0078CF00 42 CEffect__callback_stub_cf00 effect Callback stub that conditionally calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect callback in the CEffect system. 0x0078CFC9 213 CSkillEffect__create_single_named_effect_0078cfc9 effect Creates a single named skill effect by looking up effect name and spawning via CEffectManager 0x0078D139 213 CSkillEffect__create_single_named_effect_0078d139 effect Creates a single named skill effect by looking up effect name and spawning via CEffectManager 0x0078D2AF 555 CSkillEffect__create_energy_cannonade_cast_effect effect Creates energy_cannonade_cast_bottom and energy_cannonade_cast effects with nav map info and virtual call setup 0x0078D590 253 CSkillEffect__create_energy_cannonade_effect effect Creates energy_cannonade projectile effect with angle rotation offset 0x0078D70F 247 CSkillEffect__create_energy_cannonade_hit_big_effect effect Creates energy_cannonade_hit_big impact effect at target position 0x0078D88F 243 CSkillEffect__create_energy_cannonade_hit_effect effect Creates energy_cannonade_hit impact effect at target position 0x0078DA82 1 CSkillEffect__noop_stub_0078da82 effect Single-byte ret stub in skill effect handler table 0x0078DAA1 1 CSkillEffect__noop_stub_0078daa1 effect Single-byte ret stub in skill effect handler table 0x0078DACF 1 CSkillEffect__noop_stub_0078dacf effect Single-byte ret stub in skill effect handler table 0x0078DB6B 1 CSkillEffect__noop_stub_0078db6b effect Single-byte ret stub in skill effect handler table 0x0078DB9A 1 CSkillEffect__noop_stub_0078db9a effect Single-byte ret stub in skill effect handler table 0x0078DBBB 1 CSkillEffect__noop_stub_0078dbbb effect Single-byte ret stub in skill effect handler table 0x0078DC5C 1 CSkillEffect__noop_stub_0078dc5c effect Single-byte ret stub in skill effect handler table 0x0078DD3B 213 CSkillEffect__create_single_named_effect_0078dd3b effect Creates a single named skill effect (15-char name) by looking up effect name and spawning via CEffectManager 0x0078DEC2 616 CSkillEffect__create_powerful_swing_effect effect Creates powerful_swing_bottom and powerful_swing effects with angle calculation between caster and target, direction-based mirror 0x0078E1AF 245 CSkillEffect__create_powerful_swing_hit_effect effect Creates powerful_swing_hit impact effect at target position 0x0078E370 65 CEffect__create_skill_effect_0x30b effect Creates skill effect 0x30B on an entity if the actor pointer (stack param) is non-null. Calls CEntity__create_skill_effect with zero params. 0x0078E3C0 93 CEffect__remove_looping_effect_0x30b effect Removes looping effect 0x30B by repeatedly calling the vtable method +8 with effect dispatch ID 0x6D until CEntity__has_attached_effect_with_id returns false. Strips all instances of effect 0x30B from the entity. 0x0078E420 26 CEffect__callback_stub_e420 effect Virtual dispatch thunk: calls the first vtable method on param_1, forwarding param_2, param_3, and param_6 with zeroed remaining params. Used as an effect callback dispatcher. 0x0078E4EF 245 CSkillEffect__create_intensiveaim_helix_effect effect Creates intensiveaim_helix skill effect at target position 0x0078E8AA 243 CSkillEffect__create_intensiveaim_full_effect effect Creates intensiveaim_full skill effect at target position 0x0078E9A0 26 CEffect__callback_stub_e9a0 effect Virtual dispatch thunk: calls the first vtable method on param_1, forwarding param_2, param_3, and param_6 with zeroed remaining params. Used as an effect callback dispatcher. 0x0078E9C0 512 CEffect__remove_intensive_aim_effects effect Registers intensive_aim visual effects. Loops 11 times creating numbered effect names (intensive_aim_%02d), plus registers intensiveaim_full. Uses format string and CEffectDataMgr lookup. 0x0078EC53 227 CSkillEffect__create_grenade_fragment_water_effect effect Creates grenade_fragment_water elemental effect at target position 0x0078ED3C 161 CSkillEffect__create_grenade_fragment_wind_effect effect Creates grenade_fragment_wind elemental effect with nav map info at target position 0x0078EE10 118 CSkillEffect__create_grenade_fragment_earth_effect effect Creates grenade_fragment_earth elemental effect at target position 0x0078EEB9 116 CSkillEffect__create_grenade_fragment_fire_effect effect Creates grenade_fragment_fire elemental effect at target position 0x0078EF60 152 CSkillEffect__create_grenade_fragment_darkness_effect effect Creates grenade_fragment_darkness elemental effect at target position 0x0078F0D0 42 CEffect__callback_stub_f0d0 effect Callback stub that conditionally calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect callback in the CEffect system. 0x0078F18E 921 CSkillEffect__create_vigilante_at_night_effect effect Creates vigilante_at_night_bottom ground effect and 7 randomized vigilante_at_night_crack crack effects with random positions and scale 0x0078F5BE 914 CSkillEffect__create_vigilante_at_night_alt_effect effect Creates vigilante_at_night_bottom ground effect and 4 randomized vigilante_at_night_crack crack effects (smaller variant) with random positions and scale 0x0078F960 42 CEffect__callback_stub_f960 effect Callback stub that conditionally calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect callback in the CEffect system. 0x0078FA2B 213 CSkillEffect__create_single_named_effect_0078fa2b effect Creates a single named skill effect (15-char name) by looking up effect name and spawning via CEffectManager 0x0078FBB3 278 CSkillEffect__create_only_one_bullet_hit_effect effect Creates only_one_bullet_hit effect with angle rotation via virtual call 0x0078FCE0 42 CEffect__callback_stub_fce0 effect Callback stub that conditionally calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect callback in the CEffect system. 0x0078FDAB 213 CSkillEffect__create_single_named_effect_0078fdab effect Creates a single named skill effect (15-char name) at target position 0x0078FE90 42 CEffect__callback_stub_fe90 effect Callback stub that conditionally calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect callback in the CEffect system. 0x0078FF3F 1 CSkillEffect__noop_stub_0078ff3f effect Single-byte ret stub in skill effect handler table 0x0078FF5E 1 CSkillEffect__noop_stub_0078ff5e effect Single-byte ret stub in skill effect handler table 0x0078FF8C 1 CSkillEffect__noop_stub_0078ff8c effect Single-byte ret stub in skill effect handler table 0x00790014 21 CEffect__callback_stub_0014 effect Empty callback stub with stack cookie check. Does nothing and returns immediately. Likely a placeholder or disabled effect handler. 0x00790040 42 CEffect__callback_stub_0040 effect Callback stub that conditionally calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect callback in the CEffect system. 0x00790070 516 CEffect__spawn_wild_fire_effects effect Spawns wild_fire ground effects at the given world position. Creates both the main 'wild_fire' and 'wild_fire_bottom' effects via CEffectDataMgr name lookup and FUN_00b24a50. 0x007902A0 42 CEffect__callback_stub_02a0 effect Callback stub that conditionally calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect callback in the CEffect system. 0x007902D0 533 CEffect__play_basic_grenade_effect effect Plays "basic_grenade" and "basic_grenade_bottom" visual effects at a given position. Looks up effect IDs by name via CEffectDataMgr and spawns them with FUN_00b24a50. 0x00790520 42 skill_effect_null_check_stub_790520 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Likely a skill/effect callback that triggers a common effect routine. 0x00790550 873 CEffect__play_hasty_fire_in_the_hole_effect effect Plays "hasty_fire_in_the_hole" and "hasty_fire_in_the_hole_bottom" effects in a loop. Iterates with 0x120 angle increments up to 0x35f (3 iterations covering 360 degrees). Each iteration spawns top and bottom effects, setting rotation via vtable call +0x40. 0x007908F0 42 skill_effect_null_check_stub_7908f0 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x00790930 65 CEffect__play_effect_0x92f_on_actor effect Plays effect ID 0x92F on an actor. Extracts actor data (object ID at +0x110, position at +0x10/+0x18) and calls FUN_00b24a50 to spawn the effect. 0x00790990 42 skill_effect_null_check_stub_790990 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x00790A3F 526 CSkillEffect__create_auto_firing_launcher_effect effect Creates auto_firing_launcher and auto_firing_launcher_bottom effects with nav map info 0x00790C60 42 skill_effect_null_check_stub_790c60 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x00790D1A 214 CSkillEffect__create_single_named_effect_00790d1a effect Creates a single named skill effect (10-char name) at target position 0x00790E6F 245 CSkillEffect__create_hiddencard_thunder_effect effect Creates hiddencard_thunder skill effect at target position 0x00790F70 303 CEffect__remove_hiddencard_thunder_effect effect Removes the "hiddencard_thunder" visual effect from an actor. Looks up effect ID by name via CEffectDataMgr and removes it via CEffectManager__remove_effect_by_id_and_type using the actor's object ID at offset +0x110. 0x007910A0 26 CEffect__invoke_virtual_effect_method effect Thunk that calls the first virtual method on param_1's vtable, forwarding param_2, param_3, and param_6 with zeroed-out remaining params. Used as an effect callback dispatcher. 0x007910E0 42 skill_effect_null_check_stub_7910e0 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x007911BB 804 CSkillEffect__create_mission_bombard_fire_effect effect Creates mission_bombard_fire, mission_bombard_fire_bottom effects plus hardcoded effect ID 0x932 with nav map info 0x00791582 230 CSkillEffect__create_named_effect_with_virtual_bind effect Creates named skill effect (14-char name) and binds it to entity via virtual call 0x38 0x00791670 730 CEffect__play_wild_shot_radial_effect effect Plays "wild_shot" effects in a 360-degree radial pattern (8 directions, 0x2d=45 degree increments). Each effect is placed at random distance (3-7 * 5 units) from the actor position using cos/sin, with rotation set via vtable +0x40 and random pitch via vtable +0x44. Scale set to 0.8 via vtable +0x58. 0x00791C3F 284 CSkillEffect__create_midnight_fallen_cast_bottom_effect effect Creates midnight_fallen_cast_bottom effect and binds to entity via virtual call 0x38 0x00791D60 610 CEffect__play_midnight_fallen_bottom_radial effect Plays "midnight_fallen_bottom" effects in a partial radial pattern around a position. Uses sin/cos with DAT_010dd24c as radius, iterating from angle 0x2d (45 deg) to 0x195 (405 deg) in 0x78 (120 deg) steps (3 effects). Each gets rotation set via vtable +0x40 with 0x60 increments. 0x00792592 214 CSkillEffect__create_single_named_effect_00792592 effect Creates a single named skill effect (14-char name) at target position 0x00792670 285 CEffect__remove_efst_nightmare_effect effect Removes the "efst_nightmare" status effect visual from an actor. Looks up effect ID by name via CEffectDataMgr and removes it via CEffectManager__remove_effect_by_id_and_type using the actor's object ID at offset +0x110. 0x00792790 26 CEffect__invoke_virtual_effect_method_792790 effect Thunk that calls the first virtual method on param_1's vtable, forwarding param_2, param_3, and param_6 with zeroed-out remaining params. Effect callback dispatcher. 0x00792831 217 CSkillEffect__create_named_effect_with_skill_chain effect Creates named effect (10-char) then chains into CEntity__create_skill_effect with skill ID 0x3C3 0x0079290D 1 CSkillEffect__noop_stub_0079290d effect Single-byte ret stub in skill effect handler table 0x00792930 93 CEffect__loop_effect_0x3c3_while_active effect Loops while effect 0x3C3 (963) is active (checked by FUN_00cadbe0). Each iteration calls vtable method +8 with effect ID 0x6D and effect param 0x3C3. Used for continuous/looping skill effects. 0x00792990 65 CEffect__stop_effect_0x3c3 effect Stops/removes effect 0x3C3 (963) by calling FUN_00cadd60. Null-checks the actor pointer before proceeding. 0x00792A5F 512 CSkillEffect__create_shinkirou_idle_effect effect Creates shinkirou_idle_start and shinkirou_idle_loop effects with nav map info 0x00792CD1 1 CSkillEffect__noop_stub_00792cd1 effect Single-byte ret stub in skill effect handler table 0x00792CF0 1 CSkillEffect__noop_stub_00792cf0 effect Single-byte ret stub in skill effect handler table 0x00792D1E 1 CSkillEffect__noop_stub_00792d1e effect Single-byte ret stub in skill effect handler table 0x00792D95 1 CSkillEffect__noop_stub_00792d95 effect Single-byte ret stub in skill effect handler table 0x00792DA9 1 CSkillEffect__noop_stub_00792da9 effect Single-byte ret stub in skill effect handler table 0x00792DC8 1 CSkillEffect__noop_stub_00792dc8 effect Single-byte ret stub in skill effect handler table 0x00792DF6 1 CSkillEffect__noop_stub_00792df6 effect Single-byte ret stub in skill effect handler table 0x00792E7F 1 CSkillEffect__noop_stub_00792e7f effect Single-byte ret stub in skill effect handler table 0x00792E9B 1 CSkillEffect__noop_stub_00792e9b effect Single-byte ret stub in skill effect handler table 0x00792EBA 1 CSkillEffect__noop_stub_00792eba effect Single-byte ret stub in skill effect handler table 0x00792EE8 1 CSkillEffect__noop_stub_00792ee8 effect Single-byte ret stub in skill effect handler table 0x00792F6E 1 CSkillEffect__noop_stub_00792f6e effect Single-byte ret stub in skill effect handler table 0x0079300F 503 CSkillEffect__create_kunaiarea_01_effect effect Creates kunaiarea_01_start and kunaiarea_01_loop effects with nav map info 0x00793281 1 CSkillEffect__noop_stub_00793281 effect Single-byte ret stub in skill effect handler table 0x007932A0 1 CSkillEffect__noop_stub_007932a0 effect Single-byte ret stub in skill effect handler table 0x007932CE 1 CSkillEffect__noop_stub_007932ce effect Single-byte ret stub in skill effect handler table 0x0079334C 1 CSkillEffect__noop_stub_0079334c effect Single-byte ret stub in skill effect handler table 0x00793368 1 CSkillEffect__noop_stub_00793368 effect Single-byte ret stub in skill effect handler table 0x00793387 1 CSkillEffect__noop_stub_00793387 effect Single-byte ret stub in skill effect handler table 0x007933B5 1 CSkillEffect__noop_stub_007933b5 effect Single-byte ret stub in skill effect handler table 0x00793430 1 CSkillEffect__noop_stub_00793430 effect Single-byte ret stub in skill effect handler table 0x007934C0 472 CSkillEffect__create_tokedasu_shadow_effect effect Creates named effect (8-char name param) and tokedasu_shadow ground effect with nav map info if entity exists 0x007936C0 69 CEffect__stop_effect_0x3a6 effect Stops/removes effect 0x3A6 (934) by calling FUN_00cadd60. Null-checks param_2 before proceeding. 0x007937A9 213 CSkillEffect__create_single_named_effect_007937a9 effect Creates a single named skill effect (9-char name) at target position 0x007938A0 118 CEffect__play_effect_0x945_and_0x6ee effect Plays two effects: calls FUN_00cae0f0 with effect 0x945 and a derived parameter (param_1 shifted right by 4), then spawns effect 0x6EE on the actor (via FUN_00b24a50) and sets a parameter via vtable +0x38. 0x00793920 285 CEffect__play_kagegari_effect effect Plays "kagegari" (shadow hunting) visual effect at a given position. Looks up effect ID by name via CEffectDataMgr and spawns it with FUN_00b24a50. 0x00793A50 42 skill_effect_null_check_stub_793a50 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x00793B09 213 CSkillEffect__create_single_named_effect_00793b09 effect Creates a single named skill effect (9-char name) at target position 0x00793BF0 42 skill_effect_null_check_stub_793bf0 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x00793CC0 1014 CSkillEffect__create_new_kagegissen_effect effect Creates new_kagegissen, new_kagegissen_bottom, new_kagegissen_moon_bottom, and new_kagegissen_hit effects with nav map info 0x007940D0 104 CEffect__play_effect_0x3da_and_0x1c6 effect Plays effect 0x3DA on actor (via FUN_00b24a50 using object ID at +0x110) and effect 0x1C6 with a level parameter (param_1 >> 4). Used for a skill with both actor-attached and standalone effects. 0x00794140 71 CEffect__play_effect_0x930_between_actors effect Plays effect 0x930 between two actors. Uses param_2's object ID (+0x110) as source entity and param_3's position (+0x10, +0x18) as target location. Both actor pointers must be non-null. 0x007941A0 104 CEffect__play_effect_0x3da_and_0x1c6_v2 effect Identical to CEffect__play_effect_0x3da_and_0x1c6 at 007940d0. Plays effect 0x3DA on actor and effect 0x1C6 with level parameter. Likely a different skill using the same visual. 0x00794210 308 CEffect__play_new_fuumakouchiku_effect effect Plays "new_fuumakouchiku" (wind barrier) visual effect at a position. Looks up effect ID by name via CEffectDataMgr and spawns it with FUN_00b24a50. 0x007943CD 241 CSkillEffect__create_fuumakouchiku_blasting_effect effect Creates fuumakouchiku_blasting skill effect at position 0x007944D0 104 CEffect__play_effect_0x3da_and_0x1c6_v3 effect Plays effect 0x3DA on actor and effect 0x1C6 with level parameter. Same pattern as 007940d0 and 007941a0. 0x007945F5 223 CSkillEffect__create_named_effect_with_angle_007945f5 effect Creates named effect (13-char) with angle rotation via virtual call 0x44 0x00794980 104 CEffect__play_effect_0x3da_and_0x1c6_v4 effect Plays effect 0x3DA on actor and effect 0x1C6 with level parameter. Same pattern as 007940d0. 0x00794A81 1012 CSkillEffect__create_kunaikussetsu_effect effect Creates kunaikussetsu_end effect, optionally kunaikussetsu_bottom and kunaikussetsu_bottom_end effects based on game option 0xE5 with nav map info 0x00794EA0 42 skill_effect_null_check_stub_794ea0 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x00794F8B 220 CSkillEffect__create_named_effect_with_fixed_angle effect Creates named effect (13-char) with fixed angle 270.0f via virtual call 0x44 0x00795090 42 skill_effect_null_check_stub_795090 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x007950C0 899 CEffect__play_reiketsuhou_effect effect Plays "reiketsuhou" (cold-blooded) skill effect. First spawns "reiketsuhou_bottom" at position, then spawns multiple "reiketsuhou" effects at random offsets around the position. Number of effects is based on param_3 (skill level, capped at 10), looked up from a table. Each effect gets rotation via vtable +0x40 with 0x50 degree increments. 0x007954E6 259 CSkillEffect__create_new_raidenpou_cast_effect effect Creates new_raidenpou_cast effect and binds to entity via virtual call 0x38 0x0079566F 489 CSkillEffect__create_new_raidenpou_bottom_effect effect Creates new_raidenpou_bottom and new_raidenpou effects with nav map info 0x007958DF 243 CSkillEffect__create_new_raidenpou_hit_effect effect Creates new_raidenpou_hit impact effect at target position 0x00795A00 42 skill_effect_null_check_stub_795a00 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x00795AE9 224 CSkillEffect__create_named_effect_with_angle_00795ae9 effect Creates named effect (10-char) with angle rotation via virtual call 0x44 0x00795C62 214 CSkillEffect__create_single_named_effect_00795c62 effect Creates a single named skill effect (14-char name) at target position 0x00795D60 42 skill_effect_null_check_stub_795d60 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x00795E12 199 CSkillEffect__create_named_effect_from_param effect Creates named effect from fastcall 8-char string parameter at position 0x00795F00 69 CEffect__stop_effect_0x32c effect Stops/removes effect 0x32C (812) by calling FUN_00cadd60. Null-checks param_2 before proceeding. 0x00795FE9 213 CSkillEffect__create_single_named_effect_00795fe9 effect Creates a single named skill effect (9-char name) at target position 0x007960E0 69 CEffect__stop_effect_0x32c_v2 effect Stops/removes effect 0x32C (812) by calling FUN_00cadd60. Identical to CEffect__stop_effect_0x32c. Different skill using the same stop logic. 0x007961C9 704 CSkillEffect__create_hitouakumu_multi_effect effect Creates hitouakumu_%02d multi-effect: spawns 15-19 randomized effects per wave with shuffled rotation and timing, 3 waves total 0x007964B0 69 CEffect__stop_effect_0x32c_v3 effect Stops/removes effect 0x32C (812) by calling FUN_00cadd60. Same pattern as 00795f00 and 007960e0. 0x0079658F 245 CSkillEffect__create_ankokuryuuakumu_00_effect effect Creates ankokuryuuakumu_00 skill effect at target position 0x0079670F 245 CSkillEffect__create_ankokuryuuakumu_01_effect effect Creates ankokuryuuakumu_01 skill effect at target position 0x007968A6 473 CSkillEffect__create_four_charm_ice_effect effect Creates four_charm_ice_bottom and four_charm_ice effects with nav map info 0x00796A85 422 CSkillEffect__create_four_charm_earth_effect effect Creates four_charm_earth_bottom and four_charm_earth effects with nav map info 0x00796C5E 375 CSkillEffect__create_four_charm_fire_effect effect Creates four_charm_fire_bottom and four_charm_fire effects with nav map info 0x00796EA0 75 std__vector_string_dtor_4elements stl Destructor helper for an array of 4 std::string objects (element size 0x18). Uses _eh_vector_destructor_iterator_ with STL_string_dtor to clean up each element. 0x00796EF0 871 std__fisher_yates_shuffle_vector stl Fisher-Yates shuffle on a std::vector. First fills the vector with 0..param_2-1, then initializes a Mersenne Twister (MT19937) PRNG with std::_Random_device() seed, and performs in-place shuffle by swapping elements. Returns the shuffled vector. 0x007975A0 65 CEffect__play_effect_0x92e_on_actor effect Plays effect ID 0x92E on an actor. Extracts object ID from +0x110 and position from +0x10/+0x18, passes param_1 as an extra parameter to CEffectManager__create_effect. 0x00797600 42 skill_effect_null_check_stub_797600 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x007976AF 245 CSkillEffect__create_ske_all_in_the_sky_effect effect Creates ske_all_in_the_sky skill effect at target position 0x007977B0 42 skill_effect_null_check_stub_7977b0 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x0079785F 519 CSkillEffect__create_ske_enchanting_sky_effect effect Creates ske_enchanting_sky_00 and ske_enchanting_sky_01 effects with nav map info 0x00797A70 310 CEffect__remove_ske_enchanting_sky_01_effect effect Removes the "ske_enchanting_sky_01" visual effect from an actor. Looks up effect ID by name via CEffectDataMgr and removes it via CEffectManager__remove_effect_by_id_and_type using the actor's object ID at +0x110. 0x00797C2F 252 CSkillEffect__create_ske_enchanting_sky_01_effect effect Creates ske_enchanting_sky_01 skill effect at target position 0x00797DD8 739 CSkillEffect__create_sky_sun_small_multi_effect effect Creates named effect then spawns 6 sky_sun_small effects in a loop with randomized positions around entity, rotation per particle 0x00798153 213 CSkillEffect__create_single_named_effect_00798153 effect Creates a single named skill effect (11-char name) at target position 0x007982D1 503 CSkillEffect__create_sky_moon_cast_bottom_effect effect Creates named effect (13-char) and sky_moon_cast_bottom effects, both bound to entity via virtual call 0x38, with nav map info 0x00798573 509 CSkillEffect__create_sky_moon_bottom_effect effect Creates named effect (8-char param) with rotation and sky_moon_bottom effect with rotation, both using nav map info 0x007987F9 213 CSkillEffect__create_single_named_effect_007987f9 effect Creates a single named skill effect (12-char name) at target position 0x007989A4 1 CSkillEffect__noop_stub_007989a4 effect Single-byte ret stub in skill effect handler table 0x007989C5 1 CSkillEffect__noop_stub_007989c5 effect Single-byte ret stub in skill effect handler table 0x00798A6D 1 CSkillEffect__noop_stub_00798a6d effect Single-byte ret stub in skill effect handler table 0x00798A88 1 CSkillEffect__noop_stub_00798a88 effect Single-byte ret stub in skill effect handler table 0x00798AA7 1 CSkillEffect__noop_stub_00798aa7 effect Single-byte ret stub in skill effect handler table 0x00798AD5 1 CSkillEffect__noop_stub_00798ad5 effect Single-byte ret stub in skill effect handler table 0x00798B71 21 CSkillEffect__empty_stub_00798b71 effect Empty stub function - returns immediately, likely unused skill effect placeholder 0x00798C0F 254 CSkillEffect__create_star_light_kick_hit_effect effect Creates star_light_kick_hit impact effect at target position 0x00798D9F 501 CSkillEffect__create_ske_rising_sun_effect effect Creates ske_rising_sun_00 and ske_rising_sun_01 effects with nav map info 0x00798FA0 301 CEffect__remove_ske_rising_sun_01_effect effect Removes the "ske_rising_sun_01" visual effect from an actor. Looks up effect ID by name via CEffectDataMgr and removes it via CEffectManager__remove_effect_by_id_and_type using the actor's object ID at +0x110. 0x0079914F 243 CSkillEffect__create_ske_rising_sun_01_effect effect Creates ske_rising_sun_01 skill effect at target position 0x007992CF 501 CSkillEffect__create_ske_rising_sun_02_03_effect effect Creates ske_rising_sun_02 and ske_rising_sun_03 effects with nav map info 0x007994D0 301 CEffect__remove_ske_rising_sun_03_effect effect Removes the "ske_rising_sun_03" visual effect from an actor. Looks up effect ID by name via CEffectDataMgr and removes it via CEffectManager__remove_effect_by_id_and_type using the actor's object ID at +0x110. 0x0079967F 243 CSkillEffect__create_rising_sun_03_effect effect CSkillEffect: create rising sun 03 effect 0x007997FF 501 CSkillEffect__create_rising_sun_04_and_05_effects effect CSkillEffect: create rising sun 04 and 05 effects 0x00799A00 301 CEffect__remove_ske_rising_sun_05_effect effect Removes the "ske_rising_sun_05" visual effect from an actor. Looks up effect ID by name via CEffectDataMgr and removes it via CEffectManager__remove_effect_by_id_and_type using the actor's object ID at +0x110. 0x00799BAF 243 CSkillEffect__create_rising_sun_05_effect effect CSkillEffect: create rising sun 05 effect 0x00799D52 214 CSkillEffect__create_named_effect_from_register effect CSkillEffect: create named effect from register 0x00799EC2 757 CSkillEffect__create_sunset_blast_small_effects effect CSkillEffect: create sunset blast small effects 0x0079A24F 505 CSkillEffect__create_rising_moon_00_and_01_effects effect CSkillEffect: create rising moon 00 and 01 effects 0x0079A450 303 CEffect__remove_ske_rising_moon_01_effect effect Removes the "ske_rising_moon_01" visual effect from an actor. Looks up effect ID by name via CEffectDataMgr and removes it via CEffectManager__remove_effect_by_id_and_type using the actor's object ID at +0x110. 0x0079A5FF 245 CSkillEffect__create_rising_moon_01_effect effect CSkillEffect: create rising moon 01 effect 0x0079A77F 505 CSkillEffect__create_rising_moon_02_and_03_effects effect CSkillEffect: create rising moon 02 and 03 effects 0x0079A980 303 CEffect__remove_ske_rising_moon_03_effect effect Removes the "ske_rising_moon_03" visual effect from an actor. Looks up effect ID by name via CEffectDataMgr and removes it via CEffectManager__remove_effect_by_id_and_type using the actor's object ID at +0x110. 0x0079AB2F 245 CSkillEffect__create_rising_moon_03_effect effect CSkillEffect: create rising moon 03 effect 0x0079ACAF 505 CSkillEffect__create_rising_moon_04_and_05_effects effect CSkillEffect: create rising moon 04 and 05 effects 0x0079AEB0 303 CEffect__remove_ske_rising_moon_05_effect effect Removes the "ske_rising_moon_05" visual effect from an actor. Looks up effect ID by name via CEffectDataMgr and removes it via CEffectManager__remove_effect_by_id_and_type using the actor's object ID at +0x110. 0x0079B05F 245 CSkillEffect__create_rising_moon_05_effect effect CSkillEffect: create rising moon 05 effect 0x0079B170 42 skill_effect_null_check_stub_79b170 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x0079B21F 243 CSkillEffect__create_midnight_kick_effect effect CSkillEffect: create midnight kick effect 0x0079B330 42 skill_effect_null_check_stub_79b330 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x0079B3F2 214 CSkillEffect__create_named_effect_from_register_b effect CSkillEffect: create named effect from register b 0x0079B4F0 42 skill_effect_null_check_stub_79b4f0 effect Simple null-check stub: if param_2 != 0, calls FUN_00cae0f0. Skill/effect callback. 0x0079B520 65 CEffect__spawn_effect_92d_on_target effect Spawns effect 0x92D on a target actor. Extracts object ID from +0x110 and position from +0x10/+0x18, passes param_1 as an extra parameter to CEffectManager__create_effect. 0x0079B580 42 CEffect__callback_stub_b580 effect Callback stub that conditionally calls create_skill_effect_wrapper_a if param_2 is non-null. Used as an effect callback in the CEffect system. 0x0079B5B0 77 CEffect__spawn_effect_92c_at_origin effect Spawns effect 0x92C at the entity's origin position (0,0,0). Null-checks entity pointer at stack+0x14 before creating effect via CEffectManager. 0x0079B600 36 CEffect__remove_effect_92c effect Removes effect type 0x92C from the entity's effect manager. Null-checks entity pointer at stack+0x14. 0x0079B630 26 CEffect__callback_stub_b630 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x0079B670 42 CEffect__callback_stub_b670 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079B9B0 42 CEffect__callback_stub_b9b0 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079BA5F 266 CSkillEffect__create_talisman_five_elements_effect effect CSkillEffect: create talisman five elements effect 0x0079BB70 42 CEffect__callback_stub_bb70 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079BBA0 71 CEffect__create_skill_effect_0fd effect Creates skill effect ID 0xFD on the entity if param_3 is non-null. Calls CEntity__create_skill_effect with effect type 0xFD and zeroed parameters. 0x0079BCA5 525 CSkillEffect__create_talisman_soul_stealing_and_magician_effects effect CSkillEffect: create talisman soul stealing and magician effects 0x0079BEC0 42 CEffect__callback_stub_bec0 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079BF6F 258 CSkillEffect__create_exorcism_malicious_soul_effect effect CSkillEffect: create exorcism malicious soul effect 0x0079C080 42 CEffect__callback_stub_c080 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079C12F 264 CSkillEffect__create_talisman_blue_dragon_effect effect CSkillEffect: create talisman blue dragon effect 0x0079C240 88 CEffect__start_tetra_vortex_orbit_1 effect Starts tetra vortex orbit animation (element 1). Removes existing effect 0x933 and re-creates it with orbit parameter 1. Effect 0x933 is the tetra vortex orbiting ball. 0x0079C2A0 47 CEffect__update_tetra_vortex_orbit_1 effect Updates tetra vortex orbit element 1. Finds existing effect 0x933 and calls replace_sprites_with_3d to upgrade from 2D sprites to 3D models. 0x0079C2D0 26 CEffect__callback_stub_c2d0 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x0079C2F0 42 CEffect__callback_stub_c2f0 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079C39F 264 CSkillEffect__create_talisman_white_tiger_effect effect CSkillEffect: create talisman white tiger effect 0x0079C4B0 88 CEffect__start_tetra_vortex_orbit_2 effect Starts tetra vortex orbit animation (element 2). Removes existing effect 0x933 and re-creates it with orbit parameter 2. 0x0079C510 47 CEffect__update_tetra_vortex_orbit_2 effect Updates tetra vortex orbit element 2. Finds existing effect 0x933 and calls replace_sprites_with_3d to upgrade from 2D sprites to 3D models. 0x0079C540 26 CEffect__callback_stub_c540 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x0079C560 42 CEffect__callback_stub_c560 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079C60F 547 CSkillEffect__create_talisman_red_phoenix_effects effect CSkillEffect: create talisman red phoenix effects 0x0079C840 88 CEffect__start_tetra_vortex_orbit_3 effect Starts tetra vortex orbit animation (element 3). Removes existing effect 0x933 and re-creates it with orbit parameter 3. 0x0079C8A0 47 CEffect__update_tetra_vortex_orbit_3 effect Updates tetra vortex orbit element 3. Finds existing effect 0x933 and calls replace_sprites_with_3d to upgrade from 2D sprites to 3D models. 0x0079C8D0 26 CEffect__callback_stub_c8d0 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x0079C8F0 42 CEffect__callback_stub_c8f0 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079C920 571 CEffect__spawn_black_tortoise_effects effect Spawns talisman_of_black_tortoise effects at world position. Creates both the bottom marker and the main talisman effect using CEffectDataMgr name lookup. 0x0079CB70 88 CEffect__start_tetra_vortex_orbit_4 effect Starts tetra vortex orbit animation (element 4). Removes existing effect 0x933 and re-creates it with orbit parameter 4. 0x0079CBD0 47 CEffect__update_tetra_vortex_orbit_4 effect Updates tetra vortex orbit element 4. Finds existing effect 0x933 and calls replace_sprites_with_3d to upgrade from 2D sprites to 3D models. 0x0079CC00 26 CEffect__callback_stub_cc00 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x0079CC20 42 CEffect__callback_stub_cc20 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079CCCF 256 CSkillEffect__create_talisman_four_bearing_god_effect effect CSkillEffect: create talisman four bearing god effect 0x0079CDD0 42 CEffect__callback_stub_cdd0 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079CE7F 258 CSkillEffect__create_circle_directions_elements_effect effect CSkillEffect: create circle directions elements effect 0x0079D00F 276 CSkillEffect__create_circle_directions_elements_loop_effect effect CSkillEffect: create circle directions elements loop effect 0x0079D130 334 CEffect__remove_circle_directions_loop effect Removes the "circle_directions_elements_loop" effect from the entity. Looks up effect ID by name via CEffectDataMgr, then calls remove_effect_by_id_and_type. 0x0079D280 26 CEffect__callback_stub_d280 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x0079D2B0 42 CEffect__callback_stub_d2b0 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079D35F 247 CSkillEffect__create_soul_heaven_earth_effect effect CSkillEffect: create soul heaven earth effect 0x0079D4DF 266 CSkillEffect__create_soul_heaven_earth_buff_effect effect CSkillEffect: create soul heaven earth buff effect 0x0079D5F0 324 CEffect__remove_soul_heaven_earth_buff effect Removes the "soul_of_heaven_and_earth_buff" effect from the entity. Looks up effect ID by name via CEffectDataMgr, then calls remove_effect_by_id_and_type. 0x0079D740 26 CEffect__callback_stub_d740 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x0079D770 42 CEffect__callback_stub_d770 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079D81F 254 CSkillEffect__create_talisman_protection_effect effect CSkillEffect: create talisman protection effect 0x0079D930 42 CEffect__callback_stub_d930 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079D9DF 254 CSkillEffect__create_talisman_warrior_effect effect CSkillEffect: create talisman warrior effect 0x0079DAF0 42 CEffect__callback_stub_daf0 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079DB9F 526 CSkillEffect__create_talisman_magician_and_bottom_effects effect CSkillEffect: create talisman magician and bottom effects 0x0079DDB0 42 CEffect__callback_stub_ddb0 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079DE72 214 CSkillEffect__create_named_effect_from_register_c effect CSkillEffect: create named effect from register c 0x0079DF50 42 CEffect__callback_stub_df50 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. 0x0079E00F 1097 CSkillEffect__create_totem_tutelary_effects effect CSkillEffect: create totem tutelary effects 0x0079E4D1 1 stub_ret_0079e4d1 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E4F0 1 stub_ret_0079e4f0 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E520 1 stub_ret_0079e520 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E5B3 1 stub_ret_0079e5b3 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E5CF 1 stub_ret_0079e5cf game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E5EE 1 stub_ret_0079e5ee game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E61C 1 stub_ret_0079e61c game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E6B3 1 stub_ret_0079e6b3 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E6C7 1 stub_ret_0079e6c7 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E6E6 1 stub_ret_0079e6e6 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E714 1 stub_ret_0079e714 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E79D 1 stub_ret_0079e79d game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E7B9 1 stub_ret_0079e7b9 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E7D8 1 stub_ret_0079e7d8 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E806 1 stub_ret_0079e806 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079E893 1 stub_ret_0079e893 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x0079EC05 516 CSkillEffect__create_chul_ho_sonic_claw_effect effect CSkillEffect: create chul ho sonic claw effect 0x0079EE20 42 skill_effect__conditional_create_0079ee20 effect Effect callback that calls create_skill_effect_wrapper_a if the entity pointer (param_2) is non-null. Identical pattern to other skill effect creation callbacks. 0x0079EECF 245 CSkillEffect__create_howling_chul_ho_effect effect CSkillEffect: create howling chul ho effect 0x0079F04F 256 CSkillEffect__create_howling_chul_ho_scared_effect effect CSkillEffect: create howling chul ho scared effect 0x0079F150 314 skill_effect__remove_howling_of_chul_ho_scared effect Removes the "howling_of_chul_ho_scared" effect from the entity. Looks up effect ID by name via CEffectDataMgr, then calls remove_effect_by_id_and_type on the entity's effect manager at offset 0x110. 0x0079F290 26 skill_effect__vtable_dispatch_0079f290 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x0079F2C0 42 skill_effect__conditional_create_0079f2c0 effect Conditionally creates a skill effect instance based on a flag check. 0x0079F38B 213 CSkillEffect__create_named_effect_from_register_d effect CSkillEffect: create named effect from register d 0x0079F460 42 skill_effect__conditional_create_0079f460 effect Conditionally creates a skill effect instance based on a flag check. 0x0079F50F 252 CSkillEffect__create_ki_sul_water_spraying_effect effect CSkillEffect: create ki sul water spraying effect 0x0079F610 42 skill_effect__conditional_create_0079f610 effect Conditionally creates a skill effect instance based on a flag check. 0x0079F6BF 245 CSkillEffect__create_marine_festival_ki_sul_bottom_effect effect CSkillEffect: create marine festival ki sul bottom effect 0x0079F83F 256 CSkillEffect__create_marine_festival_ki_sul_effect effect CSkillEffect: create marine festival ki sul effect 0x0079F940 42 skill_effect__conditional_create_0079f940 effect Conditionally creates a skill effect instance based on a flag check. 0x0079F9EF 276 CSkillEffect__create_sandy_festival_ki_sul_bottom_effect effect CSkillEffect: create sandy festival ki sul bottom effect 0x0079FB8F 247 CSkillEffect__create_sandy_festival_ki_sul_effect effect CSkillEffect: create sandy festival ki sul effect 0x0079FC90 42 skill_effect__conditional_create_0079fc90 effect Conditionally creates a skill effect instance based on a flag check. 0x0079FD3F 500 CSkillEffect__create_ki_sul_rampage_effects effect CSkillEffect: create ki sul rampage effects 0x0079FF40 42 skill_effect__conditional_create_0079ff40 effect Conditionally creates a skill effect instance based on a flag check. 0x007A0003 220 CSkillEffect__create_hyun_rok_water_effect effect CSkillEffect: create hyun rok water effect 0x007A00E5 173 CSkillEffect__create_hyun_rok_wind_effect effect CSkillEffect: create hyun rok wind effect 0x007A01C5 111 CSkillEffect__create_hyun_rok_earth_effect effect CSkillEffect: create hyun rok earth effect 0x007A0267 128 CSkillEffect__create_hyun_rok_fire_effect effect CSkillEffect: create hyun rok fire effect 0x007A031A 164 CSkillEffect__create_hyun_rok_darkness_effect effect CSkillEffect: create hyun rok darkness effect 0x007A04B0 42 skill_effect__conditional_create_007a04b0 effect Conditionally creates a skill effect instance based on a flag check. 0x007A056F 513 CSkillEffect__create_hyun_roks_breeze_effects effect CSkillEffect: create hyun roks breeze effects 0x007A0770 42 skill_effect__conditional_create_007a0770 effect Conditionally creates a skill effect instance based on a flag check. 0x007A086A 223 CSkillEffect__create_named_effect_and_set_callback effect CSkillEffect: create named effect and set callback 0x007A0950 42 skill_effect__conditional_create_007a0950 effect Conditionally creates a skill effect instance based on a flag check. 0x007A09FF 254 CSkillEffect__create_temporary_communion_effect effect CSkillEffect: create temporary communion effect 0x007A0B7F 79 CSkillEffect__create_temporary_communion_buff_effects effect CSkillEffect: create temporary communion buff effects 0x007A0BCE 459 CSkillEffect__create_temporary_communion_buff_bottom_effects effect CSkillEffect: create temporary communion buff bottom effects 0x007A0DA0 554 skill_effect__remove_communion_buff effect Removes both "temporary_communion_buff_bottom" and "temporary_communion_buff" effects from the entity. Looks up each effect ID by name via CEffectDataMgr, then calls remove_effect_by_id_and_type on the entity's effect manager at offset 0x110. 0x007A0FD0 26 skill_effect__vtable_dispatch_007a0fd0 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x007A1000 42 skill_effect__conditional_create_007a1000 effect Conditionally creates a skill effect instance based on a flag check. 0x007A10AF 268 CSkillEffect__create_blessing_mystical_creatures_effect effect CSkillEffect: create blessing mystical creatures effect 0x007A124F 270 CSkillEffect__create_chul_ho_battering_cast_effect effect CSkillEffect: create chul ho battering cast effect 0x007A1404 545 CSkillEffect__create_chul_ho_battering_effects effect CSkillEffect: create chul ho battering effects 0x007A16AF 274 CSkillEffect__create_chul_ho_battering_hit_effect effect CSkillEffect: create chul ho battering hit effect 0x007A184F 559 CSkillEffect__create_hyun_rok_spirit_power_cast_effects effect CSkillEffect: create hyun rok spirit power cast effects 0x007A1AFF 523 CSkillEffect__create_hyun_rok_spirit_power_effects effect CSkillEffect: create hyun rok spirit power effects 0x007A1D8F 256 CSkillEffect__create_effect_handler_007a1d8f effect CSkillEffect: create effect handler 007a1d8f 0x007A20F0 38 skill_effect__play_screen_flash effect Initiates a screen flash light effect if the entity pointer is non-null. Calls CLightEffect__init_mode_and_timing with mode 0x60, flash timing params (1,3,0x60,3,1), and 500ms duration. 0x007A21BB 213 CSkillEffect__create_effect_handler_007a21bb effect CSkillEffect: create effect handler 007a21bb 0x007A230F 234 CSkillEffect__create_effect_handler_007a230f effect CSkillEffect: create effect handler 007a230f 0x007A247F 537 CSkillEffect__create_effect_handler_007a247f effect CSkillEffect: create effect handler 007a247f 0x007A2743 213 CSkillEffect__create_effect_handler_007a2743 effect CSkillEffect: create effect handler 007a2743 0x007A2820 34 skill_effect__get_text_color_yellow_0xecf effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xECF and sets color to yellow (0xFFFF00). 0x007A2850 34 skill_effect__get_text_color_red_0xed0 effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xED0 and sets color to red (0xFF). 0x007A28FF 532 CSkillEffect__create_effect_handler_007a28ff effect CSkillEffect: create effect handler 007a28ff 0x007A2BC3 213 CSkillEffect__create_effect_handler_007a2bc3 effect CSkillEffect: create effect handler 007a2bc3 0x007A2CA0 65 skill_effect__spawn_unit_0x8f6 effect Creates skill effect 0x8F6 on the entity if the entity pointer is non-null. Calls CEntity__create_skill_effect with effect ID and zero params. 0x007A2CF0 34 skill_effect__get_text_color_yellow_0xedb effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xEDB and sets color to yellow (0xFFFF00). 0x007A2D20 34 skill_effect__get_text_color_red_0xedc effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xEDC and sets color to red (0xFF). 0x007A2DCF 558 CSkillEffect__create_effect_handler_007a2dcf effect CSkillEffect: create effect handler 007a2dcf 0x007A30B5 213 CSkillEffect__create_effect_handler_007a30b5 effect CSkillEffect: create effect handler 007a30b5 0x007A3190 65 skill_effect__spawn_unit_0x8fa effect Creates skill effect 0x8FA on the entity if the entity pointer is non-null. Calls CEntity__create_skill_effect with effect ID and zero params. 0x007A31E0 34 skill_effect__get_text_color_yellow_0xed9 effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xED9 and sets color to yellow (0xFFFF00). 0x007A3210 34 skill_effect__get_text_color_red_0xeda effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xEDA and sets color to red (0xFF). 0x007A32BF 259 CSkillEffect__create_effect_handler_007a32bf effect CSkillEffect: create effect handler 007a32bf 0x007A3473 213 CSkillEffect__create_effect_handler_007a3473 effect CSkillEffect: create effect handler 007a3473 0x007A3550 65 skill_effect__spawn_unit_0x8f9 effect Creates skill effect 0x8F9 on the entity if the entity pointer is non-null. Calls CEntity__create_skill_effect with effect ID and zero params. 0x007A35A0 34 skill_effect__get_text_color_red_0xed5 effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xED5 and sets color to red (0xFF). 0x007A35D0 34 skill_effect__get_text_color_yellow_0xed6 effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xED6 and sets color to yellow (0xFFFF00). 0x007A367F 545 CSkillEffect__create_effect_handler_007a367f effect CSkillEffect: create effect handler 007a367f 0x007A394D 213 CSkillEffect__create_effect_handler_007a394d effect CSkillEffect: create effect handler 007a394d 0x007A3A30 65 skill_effect__spawn_unit_0x8f5 effect Creates skill effect 0x8F5 on the entity if the entity pointer is non-null. Calls CEntity__create_skill_effect with effect ID and zero params. 0x007A3A80 34 skill_effect__get_text_color_red_0xed3 effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xED3 and sets color to red (0xFF). 0x007A3AB0 34 skill_effect__get_text_color_yellow_0xed4 effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xED4 and sets color to yellow (0xFFFF00). 0x007A3B5F 558 CSkillEffect__create_effect_handler_007a3b5f effect CSkillEffect: create effect handler 007a3b5f 0x007A3E0F 510 CSkillEffect__create_effect_handler_007a3e0f effect CSkillEffect: create effect handler 007a3e0f 0x007A408F 254 CSkillEffect__create_effect_handler_007a408f effect CSkillEffect: create effect handler 007a408f 0x007A4229 213 CSkillEffect__create_effect_handler_007a4229 effect CSkillEffect: create effect handler 007a4229 0x007A437F 270 CSkillEffect__create_effect_handler_007a437f effect CSkillEffect: create effect handler 007a437f 0x007A453C 1 stub_ret_007a453c game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x007A455D 1 stub_ret_007a455d game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x007A45FD 1 stub_ret_007a45fd game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x007A469F 254 CSkillEffect__create_effect_handler_007a469f effect CSkillEffect: create effect handler 007a469f 0x007A47A0 312 skill_effect__remove_mysticsymphony_note effect Removes the "mysticsymphony_note" effect from the entity. Looks up effect ID by name via CEffectDataMgr, then calls remove_effect_by_id_and_type on the entity's effect manager at offset 0x110. 0x007A48E0 26 skill_effect__vtable_dispatch_007a48e0 effect Vtable callback stub. Forwards call through first vtable entry with params (p2, p3, 0, 0, p6, 0), zeroing out params 3-4 and param 6. 0x007A4900 34 skill_effect__get_text_color_yellow_0xed1 effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xED1 and sets color to yellow (0xFFFF00). 0x007A4930 34 skill_effect__get_text_color_red_0xed2 effect Returns a text+color descriptor for skill effect display. Gets message text from CMessageStringTable at index 0xED2 and sets color to red (0xFF). 0x007A49EF 559 CSkillEffect__create_effect_handler_007a49ef effect CSkillEffect: create effect handler 007a49ef 0x007A4CAD 329 CSkillEffect__create_effect_handler_007a4cad effect CSkillEffect: create effect handler 007a4cad 0x007A4E7F 245 CSkillEffect__create_effect_handler_007a4e7f effect CSkillEffect: create effect handler 007a4e7f 0x007A4FFF 559 CSkillEffect__create_effect_handler_007a4fff effect CSkillEffect: create effect handler 007a4fff 0x007A52DC 214 CSkillEffect__create_effect_handler_007a52dc effect CSkillEffect: create effect handler 007a52dc 0x007A543F 545 CSkillEffect__create_effect_handler_007a543f effect CSkillEffect: create effect handler 007a543f 0x007A56ED 309 CSkillEffect__create_effect_handler_007a56ed effect CSkillEffect: create effect handler 007a56ed 0x007A5B09 228 CSkillEffect__create_effect_handler_007a5b09 effect CSkillEffect: create effect handler 007a5b09 0x007A5BF0 71 skill_effect__spawn_ground_effect_0x7b5 effect Creates ground effect 0x7B5 on the entity's effect manager if both entity pointers are non-null. Passes the entity's position (x,y,z from offsets 0x10-0x18) to CEffectManager__create_effect. 0x007A5CD1 213 CSkillEffect__create_effect_handler_007a5cd1 effect CSkillEffect: create effect handler 007a5cd1 0x007A5E2F 259 CSkillEffect__create_effect_handler_007a5e2f effect CSkillEffect: create effect handler 007a5e2f 0x007A5FC9 213 CSkillEffect__create_effect_handler_007a5fc9 effect CSkillEffect: create effect handler 007a5fc9 0x007A611F 243 CSkillEffect__create_effect_handler_007a611f effect CSkillEffect: create effect handler 007a611f 0x007A6220 301 skill_effect__remove_calumitygale_loop effect Removes the "calumitygale_loop" effect from the entity. Looks up effect ID by name via CEffectDataMgr, then calls remove_effect_by_id_and_type on the entity's effect manager at offset 0x110. 0x007A6350 26 skill_effect__vtable_dispatch_007a6350 effect Dispatches a skill effect through the first vtable entry. Calls virtual method at *vtable[0] with rearranged args (param2, param3, 0, 0, param6, 0). 0x007A6370 34 skill_effect__create_yellow_particle_0xedd effect Creates a yellow particle text entry. Retrieves message string at index 0xEDD and pairs it with yellow color (0xFFFF00). 0x007A63A0 34 skill_effect__create_red_particle_0xede effect Creates a red particle text entry. Retrieves message string at index 0xEDE and pairs it with red color (0x0000FF in BGR). 0x007A648F 259 CSkillEffect__create_effect_handler_007a648f effect CSkillEffect: create effect handler 007a648f 0x007A6637 1 stub_ret_007a6637 game_core Single-byte return stub at function boundary, likely alignment padding or placeholder 0x007A6658 1 stub_nop_007a6658 game_core Single-byte stub function (size=1) 0x007A66F9 1 stub_nop_007a66f9 game_core Single-byte stub function (size=1) 0x007A67FF 234 CSkillEffect__create_effect_handler_007a67ff effect CSkillEffect: create effect handler 007a67ff 0x007A6982 513 CSkillEffect__create_effect_handler_007a6982 effect CSkillEffect: create effect handler 007a6982 0x007A6C16 230 CSkillEffect__create_effect_handler_007a6c16 effect CSkillEffect: create effect handler 007a6c16 0x007A6CFF 29 CSkillEffect__epilog_stub effect CSkillEffect: epilog stub 0x007A6DBF 280 CSkillEffect__create_effect_handler_007a6dbf effect CSkillEffect: create effect handler 007a6dbf 0x007A6F80 82 CPerformanceTimer__ctor game_core 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 game_core Scalar deleting destructor for CPerformanceTimer. Resets vtable and optionally frees 0x20-byte allocation. 0x007A7020 66 CPerformanceTimer__reset_frequency game_core 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 game_core 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 game_core Destroys the CPerformanceTimer singleton at DAT_01450cc4 via its virtual destructor and nulls the pointer. 0x007A7190 56 CPerformanceTimer__query_time game_core Queries current time. Uses QueryPerformanceCounter if high-res timer available, otherwise falls back to timeGetTime * 1000 for microsecond precision. 0x007A71D0 150 std__map_int__destroy_nodes_recursive stl Recursively destroys all nodes in a std::map red-black tree. Walks left children, destroys node content (calling CFmt func), frees 0x2C-byte node, continues to right children. 0x007A7270 75 std__map_int__lower_bound stl std::map lower_bound operation. Traverses the red-black tree comparing keys at node offset +0x10, returns iterator to first element not less than the search key. 0x007A72C0 132 std__map_int__ctor stl std::map constructor. Sets vtable, initializes size to 0, allocates 0x2C-byte sentinel/header node as self-referencing root with color flags 0x101. 0x007A7350 67 std__map_int__free_head_node stl Frees the 0x2C-byte head/sentinel node of a std::map red-black tree (at this+4). 0x007A73A0 76 std__map_int__dtor stl Destructor for std::map. Recursively destroys all tree nodes, then frees the 0x2C-byte sentinel node. 0x007A7400 132 std__map_int__destroy_single_node stl Destroys a single std::map node: sets vtable to node dtor, calls CFmt vector cleanup, then frees the 0x2C-byte node. 0x007A7490 78 std__map_int__free_node_only stl Frees only the 0x2C-byte memory of a std::map node (at this+4) without destroying its contents. 0x007A74E0 87 std__map_int__clear stl Clears all nodes from std::map. Recursively destroys tree nodes and frees the sentinel. Note: does not reinitialize the tree (unlike typical clear). 0x007A7540 89 std__map_int_node__dtor stl Destructor for a std::map node. Sets vtable pointer and calls CFmt vector of structs destructor for contained data. 0x007A75A0 108 std__map_int_container__dtor stl Destructor for std::map container wrapper. Sets vtable, destroys all tree nodes recursively, and frees sentinel. 0x007A7610 74 std__map_int_node__set_vtable_and_cleanup stl Sets the vtable to the node destructor vtable and calls CFmt vector cleanup. Used during node teardown. 0x007A7660 276 std__map_int__find_or_insert stl std::map operator[]. Performs lower_bound search, inserts new 0x2C-byte node with the key if not found. Returns pointer to value at node+0x14. 0x007A7780 133 std__map_int_container__scalar_deleting_dtor stl Scalar deleting destructor for std::map container. Destroys tree nodes, frees sentinel, optionally frees 0x10-byte container. 0x007A7810 99 std__map_int_node__scalar_deleting_dtor stl Scalar deleting destructor for std::map node. Calls CFmt vector cleanup and optionally frees 0x18-byte node memory. 0x007A7880 123 std__map_int__insert_string_entry stl Inserts a string entry into std::map. Calls find_or_insert, then appends a 24-byte struct (with string copy) to the node's vector. 0x007A7900 46 std__map_int__set_two_values stl Sets two values in a std::map node. Calls find_or_insert twice for the same key, writing param2 at value+4 and param3 at value+8. 0x007A7930 229 CSpecialPopupMgr__get_or_create_singleton game_core 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 game_core Destroys the CSpecialPopupMgr singleton at DAT_01450cc8 via its virtual destructor and nulls the pointer. 0x007A7A40 72 CSpecialPopupMgr__find_entry_by_key game_core 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 game_core 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. 0x007A7DB0 230 CLuaScript__FormatErrorString lua Formats an error string using vsprintf into a 2048-byte buffer, then constructs an std::string from it. Used for Lua script error messages. 0x007A7EA0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x007A80B0 542 CLuaScript__RegisterEffectCallback lua Lua callback to register an effect callback. Validates args (1st=number, 2nd=string), gets effect ID, creates callback entry in vector. Returns 2. 0x007A82D0 460 CLuaScript__RegisterItemEffectCallback lua Lua callback to register an item effect callback. Takes 3 number args (item ID, color value, effect ID). Validates args and stores in effect callback data. Returns 2. 0x007A84A0 191 CEffectCallbackEntry__ctor_move effect Move constructor for CEffectCallbackEntry. Moves first string, copies second string from C-string pointer. 0x007A8560 189 CEffectCallbackEntry__ctor_two_strings effect Constructor for CEffectCallbackEntry with two C-string params. Initializes two std::strings from char pointers. 0x007A8620 201 CEffectCallbackData__ctor effect Constructor for CEffectCallbackData. Copies values from params, allocates 0x38-byte linked list node, initializes enchantment-related data. 0x007A86F0 99 _Find_last<> stl STL hash map helper. Finds the last node in a bucket chain for insertion. 0x007A8760 154 CEffectCallbackData__clear_and_free effect Clears and frees all nodes in CEffectCallbackData linked list. Walks list, destroys enchantment data, and frees each node. 0x007A8800 50 std__any_cast_int stl std::any_cast. Compares type_info to int type, returns stored value or throws bad_any_cast. 0x007A8840 109 std__any_cast_int_ptr stl std::any_cast for pointer variant. Returns pointer to stored int if type matches, 0 if null or type mismatch. 0x007A88C0 431 std__unordered_set_string__emplace stl std::unordered_set::emplace. Allocates node, constructs strings, computes FNV-1a hash, inserts into hash table. Rehashes if load factor exceeded. 0x007A8A70 480 std__unordered_map__emplace_effect_data stl Emplaces an effect callback data entry into unordered_map. Handles hash computation, rehashing on load factor exceeded, and bucket linking. 0x007A8C60 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x007A8CD0 369 std__unordered_set_string__insert stl Inserts a string into unordered_set. Computes FNV-1a hash, checks for duplicates, allocates node via CEffectCallbackEntry__ctor_move. Rehashes if needed. 0x007A8E50 31 std__fill_range stl STL template instantiation: std fill range 0x007A8E70 188 CEffectCallbackContainer__ctor effect Constructor for CEffectCallbackContainer. Sets vtable, initializes linked list with 0x2C-byte sentinel node, sets initial capacity 0x10, load factor 1.0, bucket sizes 7/8. 0x007A8F30 125 std__any__copy_ctor stl std::any copy constructor. Handles 3 storage modes: mode 0 = raw copy, mode 1 = clone via vtable, mode 2 = clone via vtable into buffer. 0x007A8FB0 126 CLuaScriptError__ctor lua Constructor for CLuaScriptError exception. Inherits from std::exception, copies error message, sets vtable chain. 0x007A9030 109 std__bad_any_cast__ctor stl Constructs std::bad_any_cast exception (inherits from std::bad_cast). Sets message to "bad_cast" and establishes CLuaScriptError-compatible vtable chain. 0x007A90A0 67 CEffectCallbackContainer__free_node effect Frees a single 0x2C-byte node from CEffectCallbackContainer if the pointer at +4 is non-null. 0x007A90F0 102 CEffectCallbackContainer__dtor_internal effect Internal destructor for CEffectCallbackContainer. Calls vector free, then clears and frees the linked list and its sentinel node. 0x007A9160 125 STL_vector_free_and_clear stl Frees STL vector backing memory and zeroes the begin/end/capacity pointers. Handles large allocation header check. 0x007A91F0 155 CEffectCallbackContainer__free_single_entry effect Frees a single entry from the effect callback container. Destroys enchantment data, frees 0x38 and 0x2C byte allocations. 0x007A9290 73 CEffectCallbackContainer__free_list_root effect Frees the root linked list and its 0x2C sentinel node. 0x007A92E0 102 CEffectCallbackContainer__dtor_full effect Full destructor for CEffectCallbackContainer. Frees vector, clears linked list, frees sentinel. 0x007A9350 121 CEffectCallbackContainer__dtor_vtable effect Vtable destructor for CEffectCallbackContainer. Sets vtable pointer, frees vector and linked list data. 0x007A93D0 75 CEffectCallbackContainer__clear_all effect Clears all entries from the hash table. Walks and frees all linked list nodes, resets sentinel, zeroes count, refills bucket array with sentinel pointer. 0x007A9420 78 std__exception__dtor stl std::exception destructor. Resets vtable and destroys the exception string message. 0x007A9470 146 CEffectCallbackContainer__scalar_deleting_dtor effect Scalar deleting destructor for CEffectCallbackContainer. Calls destructor and optionally frees memory (0x28 bytes) based on flag. 0x007A9510 103 CLuaScriptError__scalar_deleting_dtor lua Scalar deleting destructor for CLuaScriptError. Calls base exception destructor and optionally frees 0xC bytes. 0x007A9580 285 CEffectCallbackContainer__get_or_create_singleton effect Gets or creates the CEffectCallbackContainer singleton (DAT_01450ccc). Creates with initial capacity 0x10, load factor 1.0. Returns 1 on success, 0 on failure. 0x007A96A0 27 CEffectCallbackContainer__destroy_singleton effect Destroys the CEffectCallbackContainer singleton (DAT_01450ccc). Calls vtable destructor and sets pointer to null. 0x007A96C0 183 CEffectCallbackContainer__invoke_callback effect Invokes a callback from the container. Validates std::any type (must be int), calls callback function if vector has 2+ entries, then destroys the any object. 0x007A9780 1140 CEffectCallbackContainer__copy_entries_with_replace effect Copies entries from source vector to dest, performing string replacements. Replaces specific tokens (\\n, \\r, \\t, etc.) in each string entry. 0x007A9C00 413 CEffectCallbackContainer__find_stop_callback effect Finds the stop callback function name for a given effect name. Looks up in hash table (type=2), returns pointer to string or empty string fallback. 0x007A9DA0 403 CEffectCallbackContainer__find_start_callback effect Finds the start callback function name for a given effect name. Looks up in hash table (type=0), returns pointer or null. 0x007A9F40 413 CEffectCallbackContainer__find_update_callback effect Finds the update callback function name for a given effect name. Looks up in hash table (type=1), returns pointer to string or empty string fallback. 0x007AA0E0 396 CEffectCallbackContainer__find_callback_by_type effect Generic callback lookup by type (start=0, update=1, stop=2) and effect name. Computes FNV-1a hash for lookup in the hash table. 0x007AA270 229 CEffectCallbackContainer__load_emotion_csv effect Loads simplemsg_msg_emotion.csv. Sets up std::any callback objects and calls parse_csv_with_callbacks to process the emotion effect CSV data. 0x007AA360 309 CEffectCallbackContainer__parse_csv_with_callbacks effect Parses a CSV file with dual callbacks (row callback and completion callback). Copies std::any objects, invokes CSVParser, then destroys callback objects. 0x007AA4A0 509 CEffectCallbackContainer__register_entry effect Registers an effect callback entry. Creates new hash table if entry doesn't exist, or inserts into existing table. Validates strings are non-empty. 0x007AA6A0 235 STL_vector_assign_fill stl Assigns N copies of a value to an STL vector (4-byte elements). If N <= current size, fills existing buffer via fill<>. If N > current size, allocates new buffer, frees old (without copying), and fills entire new buffer with the value. Does NOT preserve existing elements when growing. 0x007AA790 22 CEffectCallback__clone_vtable_A effect Clones a callback vtable object type A. Sets vtable pointer and copies function pointer from source. 0x007AA7B0 22 CEffectCallback__clone_vtable_B effect Clones a callback vtable object type B. Sets vtable pointer and copies function pointer from source. 0x007AA7D0 68 CEffectCallback__conditional_free_A effect Conditionally frees an 8-byte callback object if flag is non-zero. 0x007AA820 68 CEffectCallback__conditional_free_B effect Conditionally frees an 8-byte callback object if flag is non-zero. Duplicate of type A. 0x007AA870 155 CEffectCallbackContainer__copy_entries_wrapper effect Wrapper around copy_entries_with_replace. SEH-protected version. 0x007AA910 288 CEffectCallbackContainer__process_csv_row effect Processes a single CSV row during emotion CSV loading. Moves any into local, validates type, calls register_entry for the row data, then destroys temporaries. 0x007AAA40 362 STL_unordered_map_rehash stl Rehashes unordered_map buckets, redistributes nodes into new power-of-2 bucket array 0x007AABD0 95 STL_unordered_map_insert_node_007aabd0 stl Inserts a node into unordered_map bucket, updates head/tail pointers and increments size 0x007AAC30 22 STL_any_construct_small_vtable_A stl Initializes std::any with small-object vtable pointer A and copies value 0x007AAC50 22 STL_any_construct_small_vtable_B stl Initializes std::any with small-object vtable pointer B and copies value 0x007AAC70 167 STL_any_move_construct stl Move-constructs std::any, handles small/large/function-pointer storage types 0x007AAD20 132 _Rehash_for_1 game_core Rehashes an unordered container to ensure at least one bucket is available for insertion. 0x007AADD0 43 throw_bad_any_cast game_core Throws std::bad_any_cast exception 0x007AAE10 136 CBaseException__ctor game_core Base exception constructor: sets vtable, copies message string, zeroes fields at 0x3c-0x3e 0x007AAEA0 149 CDerivedExceptionA__ctor game_core Derived exception A constructor: calls base ctor then sets own vtable 0x007AAF40 149 CDerivedExceptionB__ctor game_core Derived exception B constructor: calls base ctor then sets own vtable 0x007AAFE0 95 CCSVParserCallback__dtor game_core Destructor for CCSVParserCallback. Sets vtable, destroys internal string, calls base class cleanup. 0x007AB040 119 CCSVParserCallback__scalar_deleting_dtor_A game_core Scalar deleting destructor for CCSVParserCallback variant A. 0xFC bytes total size. 0x007AB0C0 126 CCSVParserCallback__scalar_deleting_dtor_B game_core Scalar deleting destructor for CCSVParserCallback variant B. 0xFC bytes total size. 0x007AB140 126 CCSVParserCallback__scalar_deleting_dtor_C game_core 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. 0x007AB1C0 206 math_quadratic_bezier_3d_interp game_render Computes a quadratic Bezier curve interpolation in 3D space. Takes output float[3], three control points (3 floats each), and parameter t. Uses pow for blending: result = (1-t)^2*P0 + 2*t*(1-t)*P1 + t^2*P2. 0x007AB290 34 CEffect3D__destroy_render_object effect Destroys the render object at offset 0xD4 if it exists. Calls destroy function and sets pointer to NULL. 0x007AB2C0 103 CEffect3D__create_render_object effect Creates a render object for this 3D effect. Allocates render object with type 5, initializes transform data at 0xD8, sets flag at 0x3F5C, initializes position offsets (0xF0-0xF8) to zero, scale (0xD0) to 1.0, and enabled flag (0xCC) to 1. 0x007AB340 1203 CEffect3D__update_trajectory effect Updates the trajectory of a 3D effect along a bezier curve. Projects positions through view/projection matrices, applies rotation, interpolates position using quadratic bezier with time parameter (0xD0), and updates render object position. Destroys render object when time expires (<=0). 0x007AB830 36 CEffect3D__set_position effect Sets the effect position (0xF0, 0xF4, 0xF8) from a float[3] vector parameter. 0x007AB860 423 std__vector_string__assign_range stl Assigns a range of std::string elements [param_2, param_3) to a std::vector. Handles reallocation with 1.5x growth factor. Element size is 0x18 bytes. Copies/moves existing elements, destroys extras, or reallocates as needed. 0x007ABA10 34 copy_memory_range game_core 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::allocator_>*,class_std::basic_string,class_std::allocator_>*> game_core Unchecked copy of STL string objects from source range to destination. 0x007ABA90 454 std__vector_28__emplace_realloc stl Reallocating emplace/insert for a std::vector with 0x1C-byte elements. Grows capacity by 1.5x, copies the new element (28 bytes including 8-byte field), moves existing elements around insertion point, and frees old buffer. 0x007ABC80 183 CTreeMap__destroy_nodes_recursive game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core Simple wrapper that destroys an STL string with SEH frame protection. 0x007AC380 110 CTreeMap__destroy_node_strings game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x007ACF50 1324 CTipBox__load_and_layout ui_windows Loads and lays out content for the tip box UI element. Calculates grid position from index (3 columns), searches for sprite pattern in the content string. Loads sprite or text resource depending on search result, calculates position/size with scaling and offset clamping. Sets rendering state (type 0 for text, 1 for sprite). 0x007AD480 1038 CTipBox__load_script_data ui_windows Loads and parses tip box script data from an encrypted Lua script file. Registers script functions: AddTip, AddImgcoord, AddPageEx, AddPage, AddIsTag. Uses XOR-encrypted script file paths (two encrypted paths tried in sequence). Shows error via MessageBox if script execution fails. Returns 1 on success, 0 on failure. 0x007AD890 34 CTipBox__is_on_last_page ui_windows Checks if the tip box is currently showing the last page. Compares current page index (offset 0xB4) with total pages - 1 (calculated from string vector size at 0x5C-0x60, element size 0x18). 0x007AD8C0 10 CTipBox__has_images ui_windows Returns true if the tip box has image coordinates (vector at offset 0x70 is not empty, i.e., begin != end at 0x70/0x74). 0x007AD8D0 10 CTipBox__has_tips ui_windows Returns true if the tip box has tip entries (vector at offset 0x18 is not empty, i.e., begin != end at 0x18/0x1C). 0x007AD8E0 81 string_replace_all game_core 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 game_core 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. 0x007AE050 311 CTipBox__select_entry ui_windows Selects a tip box entry by key. Resets page index to 0, looks up entry in tree map, copies all data (name strings, boolean flag, page strings, dimensions, image coordinates vector) to the display fields. Finally calls load_and_layout to prepare the visual layout. 0x007AE190 148 std__vector_28__reserve stl Reserve/reallocate for a std::vector with 0x1C-byte elements. Uses 1.5x growth factor. Frees old buffer, allocates new one, and updates begin/end/capacity pointers. Throws vector_too_long if requested size >= 0x924924A. 0x007AE230 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x007AE440 159 std__vector_28__clear_and_free stl Clears and frees a std::vector with 0x1C-byte elements. Frees the buffer if non-null (handles aligned allocation > 0xFFF), then zeroes begin/end/capacity pointers. 0x007AE4F0 64 memcpy_28byte_range stl Copies a range of 0x1C-byte elements via memcpy. Returns destination pointer advanced by the number of complete 0x1C-byte elements copied. 0x007AE530 10 std__vector_throw_length_error stl Throws std::length_error with message "vector too long". Does not return. 0x007AE540 102 std__vector_28__allocate_buffer stl Allocates buffer for std::vector with 0x1C-byte elements. For allocations >= 0x1000 bytes, uses aligned allocation (32-byte alignment with header pointer). Throws bad_array_new_length if count >= 0x924924A. 0x007AE5B0 67 std__vector_28__free_buffer stl Frees buffer for std::vector with 0x1C-byte elements. Handles aligned deallocation for large buffers (>= 0x1000 bytes) by reading stored original pointer at offset -4. 0x007AE600 754 lua_CTipBox__AddPageEx lua Lua callback for AddPageEx in tip box system. Takes 8 numeric arguments from Lua stack: tip ID, page index, and 6 values for a 0x1C-byte page entry (coordinates/dimensions/scale). Validates all args are numbers, finds/creates the tree map entry, and pushes the page entry into the entry's vector. Returns 2 Lua values. 0x007AE900 277 lua_CTipBox__AddImgcoord lua Lua callback for AddImgcoord in tip box system. Takes 3 numeric arguments: tip ID, width, height. Validates args are numbers, finds/creates tree map entry, sets image dimensions at offsets +0x44 and +0x48 in the entry. Returns 2 Lua values. 0x007AEA20 202 lua_CTipBox__AddIsTag lua Lua callback for AddIsTag in tip box system. Takes 2 number args: tip ID and flag value (bool). Finds/creates the tree map entry by key, sets boolean at offset +0x34. Returns 2 Lua values (success bool + message string). 0x007AEAF0 262 lua_CTipBox__AddPage lua Lua callback for AddPage in tip box system. Takes a number (tip ID) and string (page text) from Lua stack. Adds the string entry to the CTreeMap node's string vector via CTreeMap__add_string_entry. Returns 2 Lua values. 0x007AEC00 486 lua_CTipBox__AddTip lua Lua callback for AddTip in tip box system. Takes 4 args: number (tip ID), string (name), number (type flag), string (description). Creates/updates CTreeMap entry with name, boolean flag (type==1), and description. Returns 2 Lua values. 0x007AEDF0 234 CMapInfoMgr__insert_or_find_int_key game_map Inserts a new node with an integer key into CMapInfoMgr's red-black tree, or returns the existing node if the key already exists. Node size is 0x14 bytes. Returns iterator (node pointer + inserted flag) via param_2. 0x007AEEE0 576 CMapInfoMgr__init_default_entries game_map Initializes CMapInfoMgr with default entries. Creates tree with sentinel node and inserts entries for IDs 0x7F4, 0x19C9, and 0x1998 (map type identifiers for special maps). 0x007AF130 361 CMapInfoMgr__process_warp_entries game_map Iterates warp entries in CMapInfoMgr tree, maps IDs to nav categories (0x7F4->2, 0x1998->23, 0x19C9->21), looks up nav map info, and sends warp packet (0xB11) with map ID. Clears tree when done. 0x007AF2A0 274 CMapInfoMgr__iterate_warp_entries_no_clear game_map Same logic as process_warp_entries but does NOT clear the tree when done. Iterates all entries, maps IDs to nav categories (0x7F4->2, 0x1998->23, 0x19C9->21), looks up nav map info, and sends warp packet (0xB11) with map ID. 0x007AF3C0 60 CMapInfoMgr__map_id_to_nav_category_a game_map Maps specific map IDs to navigation category A values: 0x7F4->2, 0x1998->0x17, 0x19C9->0x15. Returns -1 for unknown IDs. 0x007AF400 60 CMapInfoMgr__map_id_to_nav_category_b game_map Maps specific map IDs to navigation category B values: 0x7F4->4, 0x1998->0x18, 0x19C9->0x16. Returns -1 for unknown IDs. 0x007AF440 78 CMapInfoMgr__insert_default_map_ids game_map Inserts three default map IDs (0x7F4, 0x19C9, 0x1998) into the map info set via insert_or_find_int_key. 0x007AF490 76 CMapInfoMgr__contains_map_id game_map Checks if a given map ID exists in the CMapInfoMgr set. Uses lower_bound search and validates the result node. 0x007AF4E0 175 CMapInfoMgr__send_single_warp_packet game_map Sends a single warp packet to the server. Constructs a map warp network message with map name and coordinates. 0x007AF590 312 CMapInfoMgr__send_warp_request game_map Sends warp request packet 0xB10 (10 bytes) then looks up nav category. If nav info found, sends additional 0xB11 packet. Otherwise sets DAT_017387dc to DAT_017387e0 and calls stub with category. 0x007AF6D0 30 CBinkPlayer__init_fields sound Initializes CBinkPlayer fields to zero: Bink handle, play state, loop mode, and file stream pointer. 0x007AF6F0 104 CBinkPlayer__close sound Closes the Bink video player. Calls BinkClose on the handle, then closes and deletes the CFileStream wrapper. Uses SEH for cleanup. 0x007AF760 56 CBinkPlayer__close_no_seh sound Closes Bink video player without SEH frame. Same logic as CBinkPlayer__close: calls BinkClose and frees the CFileStream. 0x007AF7A0 145 CBinkPlayer__copy_frame_to_surface sound Copies current Bink frame to a render surface. Calls vtable method to lock surface, BinkCopyToBuffer to copy pixels, then unlocks and sets dirty rect. 0x007AF840 335 CBinkPlayer__open_video sound Opens a Bink video file. Closes any existing video first. If param_4==1, creates CFileStream wrapper (0x2C bytes) for streaming. Opens via BinkOpen with appropriate flags. Sets loop mode in param_1[2]. 0x007AF990 146 CBinkPlayer__update_frame sound Updates Bink video playback. Calls BinkWait, BinkDoFrame, handles frame skipping. When reaching last frame: mode 0 = stop, mode 1 = loop. Returns 1 if frame rendered, 0 if waiting or done. 0x007AFA30 141 std__string__append_cstr stl Appends a C-string to an std::string. Computes strlen, checks for overflow (>0x7FFFFFFF), then delegates to STL_string_init_from_two_buffers. 0x007AFAC0 142 CBGMInfo__ctor sound CBGMInfo constructor. Initializes SSO string (capacity 0xF), float field at +0x1C (150.0f), zeroes state fields, allocates 0x14-byte linked list sentinel node. 0x007AFB50 96 std__list_small__ctor stl Constructs a small std::list by zeroing the count/head fields and allocating a 0xC-byte sentinel node with self-referencing next/prev pointers. 0x007AFBB0 65 CBGMInfo__dtor_string sound Destroys the string member of CBGMInfo within an SEH frame by calling STL_string_dtor. 0x007AFC00 67 std__list_small__free_head stl Frees the head node (0xC bytes) of a small std::list if non-null, within SEH frame. 0x007AFC50 67 std__list_14byte__free_head stl Frees the head node (0x14 bytes) of a 14-byte element std::list if non-null, within SEH frame. 0x007AFCA0 78 std__list_small__free_head_safe stl Safely frees the head node (0xC bytes) of a small std::list. Same as free_head but with different SEH unwind index. 0x007AFCF0 78 std__list_14byte__free_head_safe stl Safely frees the head node (0x14 bytes) of a 14-byte element std::list. Same as free_head but with different SEH unwind index. 0x007AFD40 103 std__list_small__clear_and_free_all stl Clears and frees all nodes of a small std::list (0xC-byte nodes). Zeroes the tail pointer, walks the forward chain freeing each node, then frees the sentinel. 0x007AFDB0 103 std__list_14byte__clear_and_free_all stl Clears and frees all nodes of a 14-byte element std::list (0x14-byte nodes). Zeroes the tail pointer, walks the forward chain freeing each node, then frees the sentinel. 0x007AFE20 166 CBGMInfo__dtor sound CBGMInfo destructor. Closes and frees the Bink player at +0x18, frees all 0x14-byte list nodes at +0x20, then destroys the name string. 0x007AFED0 161 CBGMInfo__release_all_entries sound Releases all entries in the CBGMInfo list. Iterates the list calling scalar_deleting_dtor on entries with Bink data, then frees all 0xC-byte list nodes. 0x007AFF80 187 CBGMInfo__scalar_deleting_dtor sound CBGMInfo scalar deleting destructor. Runs full destructor (close Bink, free list, destroy string), then optionally frees the 0x28-byte object if bit 0 of param is set. 0x007B0040 174 CBGMInfo__add_entry sound Adds an entry to the CBGMInfo linked list at +0x20. Allocates a 0x14-byte node, stores the 8-byte data and param_3, increments count at +0x24. Throws if list is at max length (0xCCCCCCC). 0x007B00F0 718 CVideoRes__FindOrLoadByName sound Finds a video resource by name in the linked list, or loads a new one. Searches by comparing names using std::char_traits::compare. If not found, allocates a 0x28-byte entry, creates a Bink video handle via "video/" path prefix, loads the file, and inserts into the linked list. Returns the video data pointer. 0x007B03C0 302 CVideoRes__ReloadVideo sound Reloads a video resource. Frees existing Bink data at +6, allocates a new one, loads the video from "video/" path, and copies the name string if successful. Returns 1 on success, 0 on failure. 0x007B04F0 373 CVideoRes__UpdateAllVolumes sound Updates volume for all video resources in the linked list based on distance to player. For each active video with positional audio, finds closest emitter and sets BinkSetVolume accordingly. 0x007B0670 323 CVideoRes__UpdateVolumeByDistance sound Updates Bink video volume based on distance to player. Loads the texture if needed, then iterates sound emitter positions to find the closest one. Sets BinkSetVolume based on distance/maxDistance ratio. Mutes if player is outside max range. 0x007B07C0 259 CVideoRes__UpdateVolumeByDistance_Alt sound Alternative volume-by-distance update for video resources. Similar to CVideoRes__UpdateVolumeByDistance but uses different offsets (+0x18/0x1c/0x20/0x24). Adjusts Bink volume based on minimum distance from player to any emitter position. 0x007B08D0 39 CActRes__FreeActionData game_sprites Frees action data at offset +0x18 if non-null. Calls cleanup function, frees the 0x14-byte struct, and nulls the pointer. 0x007B0930 170 CActFrame__ctor game_sprites Constructs an action frame object. Copies vtable from param_3, zeroes fields 1-8, initializes SSO string (capacity 0xf), then allocates a 0x2c-byte linked list sentinel node. 0x007B09E0 34 memcpy_range_act stl Copies a memory range [param_1, param_2) to param_3. Returns pointer past the last byte written. 0x007B0A10 157 CActFrame__DestroyRange game_sprites Destroys a range of action frames [param_1, param_2) with 0x84-byte stride. For each frame, destroys 5 members (4 strings and a packet parser construct) in reverse order. 0x007B0AB0 452 STL_vector_4byte_insert_realloc_act stl STL vector insert with reallocation for 4-byte elements in act resource code. Grows by 1.5x, copies existing data around the insertion point, frees old buffer. 0x007B0C80 546 std__vector_84byte__insert_with_grow stl STL vector insert with reallocation for 0x84-byte CActFrame elements. Grows capacity by 1.5x, move-constructs new element, copies existing data around insertion point, destroys old buffer. 0x007B0EB0 192 CActTree__DestroySubtree_0x34 game_core 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 game_core 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 game_core 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). 0x007B10E0 998 CSkillMgr__sort_three_way_partition_by_field_2c game_skills Three-way partition for skill sorting. Compares elements by looking up CSkillMgr skill data and comparing field at offset +0x2C. Used by CSkillMgr__introsort_by_field_2c. NOT a generic std::sort -- game-specific comparator. 0x007B14D0 376 CSkillMgr__heap_sift_down_by_field_2c game_skills Heap sift-down for skill sorting heapsort fallback. Compares elements by looking up CSkillMgr skill data and comparing field at offset +0x2C. Called by CSkillMgr__introsort_by_field_2c when recursion depth exceeded. 0x007B1650 858 CSkillMgr__introsort_by_field_2c game_skills Introsort implementation for skill sorting. Uses insertion sort for small arrays (<33 elements), three-way partition for larger arrays, falls back to heapsort when recursion depth exceeded. Compares by CSkillMgr skill data field at offset +0x2C. NOT a generic std::sort. 0x007B19B0 143 CActFrame__CopyRange game_sprites Copies a range of action frames [param_1, param_2) to destination param_3. Copies each 0x84-byte frame, then destroys any leftover frames at the destination. Returns end pointer of destination. 0x007B1A40 397 CActFrame__move_construct game_sprites Move-constructs a CActFrame (0x84 bytes). Copies vtable, 4 string fields (with SSO move semantics - transfers buffer, resets source to empty SSO), numeric fields, and a vector at +0x5C. 0x007B1BD0 418 CActFrame__copy_construct game_sprites Copy-constructs a CActFrame. Copy-constructs 3 SSO strings, copies numeric fields, deep-copies a vector of 0x20-byte elements (each containing a string + 2 ints), then copies final fields and a 4th string. 0x007B1D80 221 CActAction__ctor game_sprites Constructs a CActAction object. Initializes 4 SSO strings (capacity 0xf each), sets 3 index fields to -1, and zeroes various state fields. 0x007B1E60 214 UISpriteMapWidget__ctor game_core 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. 0x007B1F40 104 UIActSprWidget__ctor ui_windows Constructor for UIActSprWidget. Calls UISpriteWidget base class ctor, sets vtable to PTR_FUN_01122030, initializes width and height to 11. 0x007B1FB0 157 UIActAnimWidget__ctor game_core Constructor for UIActAnimWidget. Calls base constructor, sets vtable to PTR_FUN_01122704, initializes type to 7, zeroes 6 fields for animation state. 0x007B2050 118 UIActSprWidget2__Constructor ui_windows Constructor for UIActSprWidget2. Calls UIColoredScrollListBase base ctor, sets vtable to PTR_FUN_0112210c, initializes several flag/state fields to 0. 0x007B20D0 246 UIActSprWidget2__ConstructorFull ui_windows Full constructor for UIActSprWidget2. Calls base ctor, sets vtable to PTR_FUN_011221f4, initializes index fields to -1, allocates a 0x34-byte linked list sentinel for act data, sets default dimensions (13x3) and type (12). 0x007B21D0 211 UIActSprWidget3__Constructor ui_windows Constructor for UIActSprWidget3. Calls base ctor, sets vtable to PTR_FUN_011223a4, initializes an SSO string and zeroes multiple state fields. 0x007B22B0 353 UIActSprWidget5__Constructor ui_windows Constructor for UIActSprWidget5 (large variant). Calls base ctor, sets vtable to PTR_FUN_01122554, initializes 27 fields to 0 and index field to -1. 0x007B2420 195 UIActSprWidget4__Constructor ui_windows Constructor for UIActSprWidget4. Calls extended base ctor, sets vtable to PTR_FUN_011227dc, allocates a 0x94-byte linked list sentinel, initializes state fields with one set to -1. 0x007B24F0 184 UIActSprColorWidget__Constructor game_core 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 game_core 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 game_core Frees the 0x34-byte render data struct at offset +4 if non-null. 0x007B26D0 76 CActObject__DestroyAndFree_0x34 game_core Destroys an act object by calling cleanup on its data, then frees the 0x34-byte data struct. 0x007B2730 76 CActObject__DestroyAndFree_0x2c game_core Destroys an act object by calling cleanup on its data, then frees the 0x2c-byte data struct. 0x007B2790 168 CActObject__DestroySubAndFree game_core 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 game_core Frees the 0x34-byte render data struct at offset +4 if non-null. Alternative version. 0x007B28B0 87 CActObject__CleanupAndFree_0x34_b game_core Cleans up act object data and frees the 0x34-byte struct. Alternative version with different SEH setup. 0x007B2910 87 CActObject__CleanupAndFree_0x2c_b game_core Cleans up act object data and frees the 0x2c-byte struct. Alternative version. 0x007B2970 128 CActObject__DestroySubAt0x1c game_core Destroys the sub-object at offset +0x1c. Cleans up and frees the 0x2c struct there, then destroys a string. 0x007B29F0 135 CActObject__DestroyMultipleStrings game_core Destroys 5 strings in reverse order and calls a packet parser constructor between them. Appears to be a complex destructor with multiple string members. 0x007B2A80 129 STL_vector_4byte_free_act stl Frees an STL vector of 4-byte elements used in act resource code. Deallocates the buffer and zeroes all three vector pointers. 0x007B2B10 166 CActRes__FreeActionFrameVector game_sprites Frees a vector of action frames (0x84 bytes each). Calls cleanup on each frame first, then frees the buffer and zeroes the vector. 0x007B2BC0 118 UISpriteMapWidget__Destructor game_core Destructor for UISpriteMapWidget. Sets vtable to PTR_FUN_0112262c, frees bitmap data at +0x20, destroys internal data, then calls base class destructor. 0x007B2C40 71 UIActSprWidget__Destructor ui_windows Destructor for UIActSprWidget. Sets vtable to PTR_FUN_01122030, then calls base class destructor. 0x007B2C90 110 UIActAnimWidget__Destructor game_core Destructor for UIActAnimWidget. Sets vtable to PTR_FUN_01122704, frees action frame vector and 4-byte vector, then calls base class destructor. 0x007B2D00 71 UIActSprWidget2__Destructor ui_windows Destructor for UIActSprWidget2. Sets vtable to PTR_FUN_0112210c, then calls base class destructor. 0x007B2D50 126 UIActSprWidget2__DestructorFull ui_windows Full destructor for UIActSprWidget2. Sets vtable to PTR_FUN_011221f4, cleans up and frees the 0x34-byte act data at offset +0x2c, then calls base class destructor. 0x007B2DD0 92 UIActSprWidget3__DestructorFull ui_windows Full destructor for UIActSprWidget3 variant. Sets vtable to PTR_FUN_011223a4, destroys a string member, then calls base class destructor. 0x007B2E30 71 UIActSprWidget5__dtor ui_windows Destructor for UIActSprWidget5. Sets vtable to PTR_01122554, then calls CEffect__dtor base class destructor. No additional member cleanup needed (all fields are plain values). 0x007B2E80 129 UIActSprWidget4__Destructor ui_windows Destructor for UIActSprWidget4. Sets vtable to PTR_FUN_011227dc, cleans up and frees a 0x94-byte packet parser struct at offset +0x34, then calls base class destructor. 0x007B2F10 95 UIActSprColorWidget__dtor game_core 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 game_core 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 game_core 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. 0x007B3060 279 std__map_int__find_or_insert_34byte stl std::map find-or-insert for 0x34-byte value type. Searches the red-black tree by integer key. If not found, allocates a new 0x34-byte node, calls CActFrame__Constructor to initialize the value, and inserts into the tree. Returns pointer to the value portion of the node. 0x007B3180 290 std__map_int__find_or_insert_string stl std::map find-or-insert. Searches the red-black tree by integer key. If not found, allocates a new 0x2c-byte node with int key + empty SSO string value, and inserts into the tree. Returns pointer to the value portion of the node. 0x007B32B0 142 UISpriteMapWidget__scalar_deleting_dtor game_core 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. 0x007B3340 99 UIActSprWidget__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIActSprWidget. Sets vtable to PTR_01122030, calls UIBaseWidgetA__dtor base destructor, then optionally frees the 0xb4-byte object. 0x007B33B0 134 UIActAnimWidget__scalar_deleting_dtor game_core 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. 0x007B3440 99 UIActSprWidget2__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIActSprWidget2. Sets vtable to PTR_0112210c, calls UILayerFmtWidget__dtor base destructor, then optionally frees the 0xfc-byte object. 0x007B34B0 150 UIActSprWidget2Full__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIActSprWidget2 (full variant). Sets vtable to PTR_011221f4, destroys 0x34-byte act tree at offset +0x2c, calls CEffect__dtor base destructor, then optionally frees the 0xcc-byte object. 0x007B3550 116 UIActSprWidget3__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIActSprWidget3. Sets vtable to PTR_011223a4, destroys one SSO string member, calls CEffect__dtor base destructor, then optionally frees the 0xb8-byte object. 0x007B35D0 99 UIActSprWidget5__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIActSprWidget5. Sets vtable to PTR_01122554, calls CEffect__dtor base destructor, then optionally frees the 0xe8-byte object. 0x007B3640 153 UIActSprWidget4__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIActSprWidget4. Sets vtable to PTR_011227dc, destroys 0x94-byte red-black tree at offset +0x34, calls UIWindowBase__dtor base destructor, then optionally frees the 0xd8-byte object. 0x007B36E0 119 UIActSprColorWidget__scalar_deleting_dtor game_core 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 game_core 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 game_core 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 game_core 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. 0x007B38A0 17 CUIScrollList__clear_items ui_framework Clears all items from the scroll list by calling UIScrollList__clear_and_remove_children, then resets the flag at offset +0xf8 to 0. 0x007B3910 436 CUIScrollList__init_with_rows ui_framework Initializes a scroll list UI widget with the specified number of rows. Sets up row heights, scroll parameters, and child widgets. 0x007B3AD0 366 CUITreeView__init_layout game_core Initializes the tree view layout. Sets up tree expansion icons, indentation, row heights, and scroll parameters. 0x007B3C40 50 CUIScrollList__set_size_and_offsets ui_framework Sets the scroll list size via virtual calls (resize + layout), then stores custom x/y offset values at offsets +0x1f and +0x20. 0x007B3C80 274 CUIScrollList__load_item_sprite ui_framework Loads and draws an item sprite by item ID. Stores draw position at +0xb4/+0xb8, uses CItemDesc to convert the item ID to a resource path string, loads the sprite resource via CResourceMgr, and draws it with CEffect__draw_sprite. 0x007B3DA0 1012 CUITreeView__render_row game_core 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. 0x007B41A0 33 CUIScrollList__get_child_value ui_framework Returns the value at offset +0x7c of the child widget at the given index. Returns 0 if index is out of bounds (>= count at +0x7c). 0x007B41D0 69 CUIScrollList__hit_test_row ui_framework Tests if a y-coordinate hits a valid row in the scroll list. Divides y by row height to get row index, checks bounds against item count. Returns 1 and outputs row index via param_4 if hit, 0 otherwise. 0x007B4220 322 CUITreeView__get_row_text game_core 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 game_core 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. 0x007B4440 36 CUIScrollList__get_child_value_alt ui_framework Returns an alternate child value at the given index from the scroll list's child array. Returns field +0x80 of the child widget at the specified index, or 0 if index is out of bounds. 0x007B4470 3071 UIAchievementWnd__build_ui_controls ui_windows Builds the achievement category tree view. Creates a CUITreeView with scrollbar and sprite widget, then populates it with achievement categories from message table IDs 0xa60-0xa76 (organized into groups 0-6 with sub-items). Each entry gets text from CMessageStringTable. 0x007B5070 78 UIAchievementWnd__add_tree_entry_if_has_items ui_windows Conditionally adds a tree entry to the achievement window's tree view. Checks if the category (param_3, param_4) has any items via CAchievementMgr__count_items_in_tabs. If items exist (or param_5 forces it), sets the reward text using the message string for param_2. 0x007B50C0 543 UIAchievementWnd__create_row_widgets ui_windows Creates colored sprite widgets for achievement list rows. First widget (index 0) gets a wider layout, subsequent widgets alternate positions in a 2-column grid. Also creates 2 text edit boxes at the bottom for displaying category names. 0x007B52E0 522 UIAchievementWnd__create_header_widgets ui_windows Creates header widgets for the achievement window: a colored label showing the title (msg 0xc21), a score display widget, and 2 radio/tab button controls for switching between achievement view modes. 0x007B54F0 1643 UIAchievementWnd__create_button_and_lists ui_windows Creates the button and list widgets for the achievement window. Creates: receive reward button (with out/over/press/disable textures from 'achievement_re_btn_receive'), main scroll list, 10 colored achievement category widgets, and 3 progress edit boxes. All added as children. 0x007B5B60 1165 UIAchievementWnd__create_main_layout ui_windows Creates the main layout structure for the achievement window. Builds: close button, title label, category tree view (via build_ui_controls), detail scroll list (5 rows), tab control panel, and act list widget. Calls SetSelectedReward to initialize the reward display. 0x007B5FF0 1525 UIAchievementWnd__render_detail_entries ui_windows Renders detail entries in the achievement detail panel. For each visible entry, draws: background sprite (complete/incomplete), item icon from resource path, completion checkmark if applicable, achievement name text, count text (right-aligned), description text, completion stamp sprite, and reward button sprite. Also formats and draws date text for completed achievements. 0x007B65F0 435 CUIScrollList__render_scrollbar ui_framework Renders the scrollbar for a scroll list. Draws: track background tiles, top/bottom caps, up/down arrow buttons, and the draggable thumb (handle) with top cap, tiled middle, and bottom cap. Only renders if scrollbar is enabled (field +0x80 != 0). 0x007B67B0 1527 UIAchievementWnd__render_content ui_windows Renders the main content area of the achievement window. Draws: background sprite, title text (msg 0xa77), overall progress counter (d/d format), 6 category progress counters in a 2-column layout (msgs 0xa72-0xa76), section label (msg 0xa5b), and iterates through reward entries drawing their icons, names, buff IDs, descriptions, dates, and reward button sprites. 0x007B6DB0 420 CUIScrollList__render_items ui_framework Renders the visible items in a scroll list. Handles two render modes: normal text (mode 0) and outlined text (mode != 0). Applies strikethrough decoration if flag +0xf8 is set. Calculates visible range based on scroll offset and row height. 0x007B6F60 167 CUITreeView__render_all_rows game_core 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. 0x007B7010 1036 UIAchievementWnd__render_detail_info ui_windows Renders the detail info panel header. Two modes: if title matches default (msg 0xa77), shows minimal view with progress and global stats. Otherwise shows full detail with background, close button, category name, progress (d/d), sub-progress (d/d), and global stat counters. Toggles visibility of 2 sub-widgets and score widget accordingly. 0x007B7420 553 UIAchievementWnd__render_reward_panel ui_windows Renders the reward panel for the selected achievement. Draws background, completion stamp if applicable, reward name text, and reward condition sprites (type 0 or 1 layout). For rewards with title/buff/item sub-rewards, positions up to 3 progress edit boxes dynamically centered in the panel. 0x007B7680 213 CUIProgressBar__render game_core 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 game_core 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. 0x007B78D0 79 CUIScrollList__on_click_select_row ui_framework Handles click on a scroll list row. Calculates which row was clicked based on y-coordinate divided by row height. If valid, sets the selected tab index and captures hover focus. 0x007B7960 133 CUITreeView__on_click game_core 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 game_core 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 game_core 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 game_core 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 game_core 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. 0x007B7CA0 238 UIAchievementWnd__on_select_achievement ui_windows Handles achievement selection in the achievement window. Finds the achievement's category/subcategory position, calls SetSelectedReward, then scrolls the scroll list to show the selected item and notifies parent via callback 0x87. 0x007B7D90 57 CUIScrollList__on_scroll_vertical ui_framework Handles mouse wheel scroll on a scroll list. If scrolling is enabled (+0x26 flag), sends command 7 to parent with delta +3 (scroll down) or -3 (scroll up) depending on wheel direction. 0x007B7DD0 60 CUITreeView__on_scroll_vertical game_core 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. 0x007B7E10 243 CUIScrollList__update_scroll_state ui_framework Updates the scroll state for a scroll list. Calculates scrollable range (total items - visible items), enables/disables scroll flag, clamps scroll position to valid range, updates the scrollbar widget range, and refreshes visibility of each row widget based on current scroll offset. 0x007B7F10 207 CUITreeView__update_scroll_state game_core 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 game_core 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. 0x007B80A0 41 CUIScrollList__on_command ui_framework Handles commands for the scroll list. Command 6: opens item detail window for the clicked item. Commands 7/9/10: scroll by delta/page-down/page-up respectively. Clamps scroll position and returns the scroll delta applied. 0x007B8170 50 UIAchievementWnd__on_tab_command ui_windows Handles tab command for the achievement window. When command 0x62 (tab selection) fires with a valid param_4 (achievement ID != -1), calls on_select_achievement to update the display. 0x007B81B0 116 CUITreeView__on_command game_core 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. 0x007B8230 134 UIAchievementWnd__on_radio_button_click ui_windows Handles radio button click in the achievement window. When a radio button is clicked (command 6, param 0xd7), iterates through 2 radio buttons, activating the clicked one and deactivating the other. Updates the sort mode index and notifies parent via callback 0x16 with -1/-1 to reset selection. 0x007B82C0 123 UIAchievementWnd__on_button_or_list_command ui_windows Handles button click and list selection commands. Command 6 with param 0x1da: sends achievement reward claim packet (0xa25) with the selected reward ID. Command 0x91 with valid param: triggers achievement selection via on_select_achievement. 0x007B8340 116 UIAchievementWnd__on_message ui_windows Main message handler for the achievement window. Handles: command 6/0xc9 (close window), command 0x16 (category selection - calls SetSelectedReward), command 0x3c (timer refresh - updates reward display, category items, progress bars), command 0x87 (item selection - looks up achievement data, creates tree entry if needed, updates reward display). Falls through to UIWindow__handle_button_click for unhandled messages. 0x007B8760 172 CUIScrollList__select_item_by_id ui_framework Selects an item in the scroll list by its ID value. Searches the item array for the matching ID, sets the selection index, adjusts scroll position to make the item visible, updates the scrollbar, and notifies parent via callback 0x87 with the selected item ID (or -1 if not found). 0x007B8810 869 CUIScrollList__populate_from_tree ui_framework Populates scroll list from achievement tree. Mode 0: adds completed first then uncompleted. Mode 1: adds only completed+unclaimed achievements. Sorts list after each insertion. Resets scroll and selects first item. 0x007B8B80 60 UIAchievementWnd__set_exp_progress ui_windows Sets the experience progress bar values. Updates both the internal fields (+0x9c current, +0xa0 max) and the progress bar widget's display values (+0x7c, +0x80), then triggers a repaint of the progress bar. 0x007B8BC0 60 UIAchievementWnd__set_score_progress ui_windows Sets the score/achievement progress bar values. Updates both the internal fields (+0x94 current, +0x98 max) and the score progress bar widget's display values (+0x7c, +0x80), then triggers a repaint. 0x007B8C00 30 UIAchievementWnd__set_selected_reward ui_windows Sets the selected reward fields (+0xe0 reward ID, +0xe4 reward data pointer) and calls UpdateRewardDisplay to refresh the reward panel UI. 0x007B8C20 403 CUIButton__set_sprite_and_tooltip game_core 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. 0x007B8DC0 47 UIAchievementWnd__set_sort_mode ui_windows Sets the sort mode for the achievement window. Stores the mode value at +0x28, then iterates 2 edit box widgets calling their virtual method 0x6c with (-1, -1) to clear/reset their content. 0x007B8DF0 417 UIAchievementWnd__SetSelectedReward ui_windows Sets the selected reward for an achievement. Shows/hides UI elements based on param_2 (selected state). Updates reward item display, sets text label, and triggers timer refresh (0x3c = 60 ticks). 0x007B8FA0 129 UIAchievementWnd__SetRewardText ui_windows Sets the reward description text for the achievement window. Handles page index (param_4). Calls string formatting helpers and refreshes the display. 0x007B9030 1027 UIAchievementWnd__UpdateCategoryItems ui_windows Updates category items in the achievement window. Processes two categories (left/right), creates packet entries, adds items to the list if the category has entries, and assigns reward values from packet parser results. 0x007B9440 2427 UIAchievementWnd__UpdateRewardDisplay ui_windows Updates the full reward display panel. Iterates through 10 achievement slots, updates visibility and text. Handles 3 reward types: title (reward_title.bmp), buff (reward_buff.bmp with GetStateIconDescript), and item rewards. Colors entries based on completion status (green=0xC9977D completed, gray=0x995736 not done). 0x007B9DC0 22 UIAchievementWnd__AddCategoryItem ui_windows Thin wrapper that forwards to FUN_007b0a10 to add a category item entry. 0x007B9DE0 517 STL_tree_insert_node_007b9de0 stl STL std::_Tree_val::_Insert_node - inserts a new node into a red-black tree and rebalances. Handles left/right insertion, updates min/max pointers, and performs rotations to maintain RB-tree invariants. MSVC 2019 library function. 0x007B9FF0 10 std__vector_xlength_error_1 stl Throws std::_Xlength_error("vector too long") - vector capacity exceeded. 0x007BA000 10 std__vector_xlength_error_2 stl Throws std::_Xlength_error("vector too long") - vector capacity exceeded (duplicate). 0x007BA010 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007BA050 59 free_achievement_entry_buffer stl Frees a heap buffer used for achievement entries. Buffer size is param_2 * 0x84 (132 bytes per entry). Handles aligned allocation cleanup. 0x007BA090 453 UIAchievementWnd__FindEntryByParam ui_windows Searches through achievement entries (each 0x2C bytes) from param_2 to param_3 to find one matching param_4. Copies string data from matching entries. Returns pointer to matched entry via param_1. 0x007BA260 96 UIAttendanceWnd__ctor game_core Constructor for UIAttendanceWnd. Sets vtable to PTR_FUN_01123004. Initializes member at offset 0x2d (attendance data pointer) to 0. 0x007BA2D0 90 std__vector_destroy_string_elements stl Destroys all std::string elements in a vector. Iterates from begin to end, calling STL_string_dtor on each element (0x1C stride per element). 0x007BA340 87 UIAttendanceWnd__InsertAndCleanup game_core Inserts data into the attendance window's internal vector then cleans up the temporary string. 0x007BA3A0 71 UIAttendanceWnd__dtor game_core Destructor for UIAttendanceWnd. Restores vtable, calls base class destructor FUN_008a4e90. 0x007BA3F0 99 UIAttendanceWnd__scalar_dtor game_core Scalar deleting destructor for UIAttendanceWnd. Calls destructor then optionally frees 0xD0 bytes if bit 0 of param_2 is set. 0x007BA470 274 UIAttendanceWnd__CreateRewardWidgets game_core 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 game_core 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 game_core 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. 0x007BAA40 206 std__vector_clear_and_free_1c stl Clears and frees a vector of 0x1C-byte elements. Destroys string elements first, then frees the backing buffer with aligned deallocation. 0x007BAB10 300 std__vector_copy_4c_elements stl Copy constructor for a vector of 0x4C-byte elements. Allocates new buffer and copies elements using helper_005ca5b0. 0x007BAC40 187 UIBattlefieldWnd__ctor game_core 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 game_core Constructor for UIBattlefieldInfoWnd. Sets vtable to PTR_FUN_011231c8. Calls helper_005ca660 for additional initialization. 0x007BAD70 173 UIBattlefieldScoreWnd__ctor game_core 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 game_core 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 game_core Constructor for UIBattlefieldQueueWnd. Sets vtable to PTR_FUN_011230f0. Initializes queue data pointer at offset 0x35 to 0. 0x007BAF90 148 CBattlefieldManager__ctor game_core 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 game_core Constructor for UIBattlefieldMiniMapWnd. Sets vtable to PTR_FUN_01123530. Simple base class initialization only. 0x007BB090 67 CBattlefieldManager__FreeNodeBuffer2c game_core Frees the 0x2C-byte buffer at offset +4 of the battlefield manager node if non-null. 0x007BB0E0 78 CBattlefieldManager__FreeNodeBuffer2c_2 game_core Frees the 0x2C-byte buffer at offset +4 of the battlefield manager node if non-null (variant). 0x007BB140 103 CBattlefieldManager__FreeLinkedList0c game_core 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 game_core 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 game_core Destructor for UIBattlefieldWnd. Restores vtable to PTR_FUN_01123458, calls cleanup FUN_00739f60, then base destructor FUN_008a4e90. 0x007BB280 127 UIBattlefieldInfoWnd__dtor game_core Destructor for UIBattlefieldInfoWnd. Restores vtable, destroys two std::string members, then calls base destructor FUN_008a4e90. 0x007BB300 110 UIBattlefieldScoreWnd__dtor game_core Destructor for UIBattlefieldScoreWnd. Restores vtable, destroys two std::string members, calls base destructor FUN_008511b0. 0x007BB370 172 UIBattlefieldResultWnd__dtor game_core Destructor for UIBattlefieldResultWnd. Restores vtable, destroys five std::string members (including one via delegate pointer), calls base destructor FUN_008511b0. 0x007BB420 71 UIBattlefieldQueueWnd__dtor game_core Destructor for UIBattlefieldQueueWnd. Restores vtable to PTR_FUN_011230f0, calls base destructor FUN_008a4e90. 0x007BB470 193 CBattlefieldManager__dtor game_core 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 game_core Destructor for UIBattlefieldMiniMapWnd. Restores vtable to PTR_FUN_01123530, calls base destructor. 0x007BB590 119 UIBattlefieldWnd__scalar_dtor game_core Scalar deleting destructor for UIBattlefieldWnd. Clears item vector, calls base dtor, optionally frees 0x154 bytes. 0x007BB610 151 UIBattlefieldInfoWnd__scalar_dtor game_core Scalar deleting destructor for UIBattlefieldInfoWnd. Destroys strings, calls base dtor, optionally frees 0x104 bytes. 0x007BB6B0 134 UIBattlefieldScoreWnd__scalar_dtor game_core Scalar deleting destructor for UIBattlefieldScoreWnd. Destroys strings, calls base dtor, optionally frees 0x154 bytes. 0x007BB740 196 UIBattlefieldResultWnd__scalar_dtor game_core Scalar deleting destructor for UIBattlefieldResultWnd. Destroys 5 strings, calls base dtor, optionally frees 0x1C8 bytes. 0x007BB810 99 UIBattlefieldQueueWnd__scalar_dtor game_core Scalar deleting destructor for UIBattlefieldQueueWnd. Calls base dtor, optionally frees 0xE8 bytes. 0x007BB880 214 CBattlefieldManager__scalar_dtor game_core Scalar deleting destructor for CBattlefieldManager. Frees both linked lists (0xC and 0x2C nodes), optionally frees 0x18 bytes. 0x007BB960 99 UIBattlefieldMiniMapWnd__scalar_dtor game_core Scalar deleting destructor for UIBattlefieldMiniMapWnd. Calls base dtor, optionally frees 0xEC bytes. 0x007BB9D0 164 CBattlefieldManager__AddToList game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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 game_core 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). 0x007BFC70 43 CPartySearchWnd__update_toggle_state ui_windows Updates party search listing toggle state. Applies drag offset then refreshes toggle display based on flag at +0x150. 0x007BFCA0 22 CPartySearchWnd__conditional_update ui_windows Conditionally applies drag offset update only if flag at +0xAC is zero (not locked/hidden). 0x007BFCC0 456 CPartySearchWnd__show_page_tooltip ui_windows Shows tooltip for page tab buttons. Maps param ranges (0x3D-0x4B, 0x4F-0x5D, 0x61-0x6F, 0x73-0x81) to message IDs (0xD5C, 0xDA3, 0xD74, 0xDB4) and displays tooltip at accumulated position. 0x007BFE90 443 CPartySearchWnd__send_whisper_to_leader ui_windows Sends whisper/chat message to party leader. If +0xAC is 0 and player IDs differ from globals, copies name, checks guild membership, dispatches chat message type 0xE with name and guild info. 0x007C0050 156 CPartySearchWnd__toggle_child_visibility ui_windows Toggles visibility of child controls at +0xF8 (index 0) and +0xFC (index 1) based on param_2 index and param_3 show/hide flag. 0x007C00F0 338 CPartySearchWnd__add_entry_to_list ui_windows Adds a party search entry to internal linked list. Checks for duplicates by param_2 ID. If not found, formats display text via snprintf, creates window type 0x146, and inserts 0x2C-byte node into list. 0x007C0250 333 CPartySearchWnd__build_entry_from_controls ui_windows Builds a CPartySearchEntry from UI controls: reads 4 job toggle states from child controls at +0xC4/C8/CC/D0 offset 0x150, parses level values via atoi, copies name and description strings. 0x007C03A0 122 CPartySearchWnd__reset_slot_defaults ui_windows Resets party search slot to default state: clears visibility flag +0xAD, empties strings, sets size fields to 1, clears index, hides control. 0x007C0420 141 CPartySearchWnd__process_message ui_windows Main message handler for party search list window. Processes message types: 0x6 (button actions: 0xC9 close, 0xDA/0xF6 page nav, 0x16B reset, 0x16D submit, 0x17B view entry, 0x19A register, 0x19F close, 0x234/0x235 edit), 0x22 (position update), 0x27 (selection change), 0x3C (refresh list), 0xA5 (page state update). 0x007C12EB 254 CPacketHandler__send_obfuscated_chat_message game_core CPacketHandler: send obfuscated chat message 0x007C1410 849 CPartySearchCreateWnd__process_message ui_windows Message handler for party search entry creation window. Handles 0x6/0xC9 (close), 0x234/0x235 (submit with validation: checks DAT_01737a9c mode, validates name completeness, verifies min/max levels). On submit, collects 4 job toggles, level range, class ID, name and description into CPartySearchEntry and calls register. 0x007C1770 1093 CPartySearchDetailWnd__process_message ui_windows Message handler for party search detail/queue window. Handles 0x6/0xC9 (close with callback), 0x21D (send recruit request via network packet 0x108), 0x21E (process response: adds to queue list, sends dequeue). On 0x38: receives entry data including item equip sprite, name, count, and populates the detail scroll list with formatted text. 0x007C1BC0 130 CPartySearchWnd__init_single_slot ui_windows Initializes a single party search slot by populating it from data struct, then updates navigation buttons. Wrapper that calls populate_slot_from_data + update_navigation_buttons. 0x007C1C50 182 CPartySearchWnd__set_slot_toggle_display ui_windows Sets party search slot toggle display mode. Stores param as mode at +0x150, then swaps button textures between two string sets at +0x120/+0x138 depending on the mode flag. 0x007C1D10 261 CPartySearchWnd__set_slot_data ui_windows Sets party search slot data: stores 4 job preference bytes at +0xB8-0xBB, level range at +0x2F/+0x30, class ID at +0x31, name string at +0x32, guild string at +0x3A, and additional IDs at +0x38/+0x39. 0x007C1E20 393 CPartySearchWnd__populate_slot_from_data ui_windows Populates party search slot display from a 0x4C-byte data struct. Copies party name to +0x120, formats level as "%d/%d" to +0x138, sets 4 job preference bytes at +0x180-0x183, copies guild info to +0x1B0, stores player/guild IDs at +0x1A8/+0x1AC. 0x007C1FB0 360 CPartySearchWnd__update_slot_controls ui_windows Updates party search slot UI controls: sets 4 job toggle buttons, formats min/max level numbers to text controls via snprintf, selects class type in dropdown, and assigns name/description text. 0x007C2120 530 CPartySearchWnd__update_navigation_buttons ui_windows Updates prev/next page navigation button visibility and state. In DAT_01737a9c==0 mode (no data), hides all and clears text. Otherwise, shows/hides prev/next buttons based on param_2 page flag, managing 3 navigation controls at +0xEC, +0xF0, +0xF4. 0x007C2340 117 CPartySearchWnd__set_name_text ui_windows Sets the party/character name text string at field +0x120 from the provided string parameter. 0x007C23C0 56 CPartySearchWnd__sync_rect_to_parent_0x120 ui_windows Copies position rect (x,y,w,h) from this control's fields (+0x14,+0x18,+0x1C,+0x20) to the object referenced at +0x120. 0x007C2400 56 CPartySearchWnd__sync_rect_to_parent_0x100 ui_windows Copies position rect (x,y,w,h) from this control's fields (+0x14,+0x18,+0x1C,+0x20) to the object referenced at +0x100. 0x007C2440 56 CPartySearchWnd__sync_rect_to_parent_0xE4 ui_windows Copies position rect (x,y,w,h) from this control's fields (+0x14,+0x18,+0x1C,+0x20) to the object referenced at +0xE4. 0x007C2480 173 CPartySearchWnd__clear_slot_data_vector ui_windows Destroys all entries in party search slot data vector (0x4C-byte stride elements). Calls destructor on each entry, frees the buffer, resets start/end/capacity pointers to null. 0x007C2540 131 TooltipTree__destroy_nodes_recursive game_core Recursively destroys tooltip tree nodes: traverses left subtree, destroys data, frees 0x1C-byte node 0x007C25D0 473 TooltipTree__copy_construct game_core Deep-copies tooltip tree: iterates source linked list, copies string data and int pairs for each node 0x007C27B0 135 CTooltipWnd__ctor ui_windows Constructor for CTooltipWnd. Calls CEffect__ctor base, sets vtable to PTR_CTooltipWnd__scalar_dtor_011240c4, initializes tree fields +0x7C/+0x80 to 0, allocates 0x1C-byte sentinel node for the tooltip tree with self-referencing pointers. 0x007C2840 67 TooltipTree__free_node_0x30 game_core Frees a 0x30-byte tooltip tree node if field +4 is non-null 0x007C2890 67 TooltipTree__free_node_0x1C game_core Frees a 0x1C-byte tooltip tree node if field +4 is non-null 0x007C28E0 113 TooltipTree__destroy_and_free_0x30 game_core Destroys tooltip node data via destructor then frees 0x30-byte node memory 0x007C2960 123 TooltipTree__clear_linked_list game_core Clears tooltip linked list: unlinks sentinel, iterates and destroys+frees each 0x28-byte string node 0x007C29E0 76 TooltipTree__destroy_and_free_sentinel game_core Destroys all nodes via recursive traversal then frees 0x1C-byte sentinel node 0x007C2A40 116 TooltipTree__destroy_list_and_free_node game_core Destroys child linked list entries then frees 0x1C-byte parent node 0x007C2AC0 78 TooltipTree__free_sentinel_only game_core Frees 0x1C-byte sentinel node if field +4 is non-null; no child cleanup 0x007C2B10 131 TooltipTree__destroy_all_0x30_nodes game_core Walks linked list destroying each 0x30-byte node data then frees sentinel node 0x007C2BA0 87 TooltipTree__destroy_and_free_sentinel_alt game_core Destroys all nodes via recursive traversal then frees 0x1C-byte sentinel; alternate entry point 0x007C2C00 68 CTooltipWnd__clear_all_nodes ui_windows Clears all tooltip tree nodes by calling TooltipTree__destroy_all_0x30_nodes. SEH wrapper function. 0x007C2C50 123 CTooltipWnd__dtor ui_windows Destructor for a tooltip window class. Sets vtable to PTR_FUN_011240c4, destroys the tooltip tree nodes recursively at +0x7C, frees the tree root, then calls FUN_00a79e90 (base class dtor). 0x007C2CD0 147 CTooltipWnd__scalar_dtor ui_windows Scalar deleting destructor for tooltip window. Calls CTooltipWnd__dtor logic, then conditionally frees memory (0x84 bytes) if param_2 & 1. 0x007C2D70 786 CTooltipWnd__add_tooltip_entry ui_windows Adds a tooltip entry to the tree organized by category ID. Creates category node in red-black tree if it doesn't exist. Appends text entry to category's linked list. Enforces max entries per category (1 for category 2, 3 for others) by removing oldest. Recalculates text sizes and total height for scroll region. 0x007C3090 296 CTooltipWnd__recalculate_entry_sizes ui_windows Recalculates tooltip entry display sizes for a given category node. Measures text widths to find max, sums heights with 4px spacing, stores results at node+0x28 (width+12) and node+0x2C (total height). Then recalculates total tooltip height across all categories with 0x11-byte inter-category spacing. 0x007C31C0 224 CTooltipWnd__render_color_bars ui_windows Renders colored rectangular bars inside a tooltip window. Iterates through a tree structure at +0x7C, traversing nodes in-order. For each node's linked list of items, draws filled rectangles (render_filled_rect) with color from item[9], dimensions from item[10]/item[11], positioned relative to the window's coordinates (+0x1C, +0x20). Bars are stacked vertically with 10px padding and 7px group spacing. 0x007C32A0 21 CTooltipWnd__get_max_entries_for_category ui_windows Returns max entries per category: 1 for category 2, 3 for all others 0x007C32D0 352 CTooltipWnd__render_entries ui_windows Renders all tooltip entries. Traverses category tree in-order. For each category with data: draws header bar (0xFF5C5C5C background), then draws each text line with shadow using font metrics from category node. Stacks entries vertically with 4px line spacing, 10px entry spacing, 7px category spacing. 0x007C3430 328 CTooltipWnd__update_timed_entries ui_windows Updates timed tooltip entries. If tree has entries (count != 0), enables timer and iterates all categories/entries checking timestamps against _Xtime_get_ticks(). Expired entries (current tick > entry time + duration*10000000) are removed from linked list and freed. If tree is empty, disables timer. 0x007C3590 517 std__Tree_val__Insert_node stl std::_Tree_val::_Insert_node - Inserts a node into a red-black tree (std::set/map), performs rebalancing rotations and color fixes. Library function (VS2019). 0x007C37A0 95 ItemShopWnd__constructor game_core Constructs item shop window: calls base constructor then sets vtable PTR_FUN_01124278 0x007C3800 84 ItemShopWnd__destructor game_core Destructor: sets both vtables then calls base class destructor 0x007C3860 71 ItemShopWnd__base_destructor game_core Base-class destructor: sets vtable PTR_FUN_0112419c then calls parent destructor 0x007C38B0 112 ItemShopWnd__scalar_deleting_destructor game_core Scalar deleting destructor: runs destructor chain then optionally frees 0xB0-byte object 0x007C3920 99 ItemShopWnd__scalar_deleting_destructor_base game_core Base scalar deleting destructor: sets vtable then optionally frees 0xB0-byte block 0x007C3990 318 ItemShopWnd__create_scrollbars game_core Creates horizontal and vertical scrollbar controls if not already present; positions them and updates display 0x007C3AD0 62 ItemShopWnd__handle_scroll_input game_core Handles mouse wheel scroll: sends +15 or -15 scroll message based on direction if scrollable flag set 0x007C3B10 173 ItemShopWnd__process_message_scroll game_core Processes scroll messages (type 7): clamps offset, updates scroll position; type 0x3C forwards to parent 0x007C3BC0 34 STL_vector_copy_range stl Copies memory range [param_1, param_2) to param_3 destination; returns end of copied region 0x007C3BF0 337 STL_vector_insert_ptr_0x3bf0 stl std::vector insert with 1.5x growth for item shop control pointers 0x007C3D60 269 ItemShopGridWnd__constructor game_core Constructs item grid window: inits vector, creates format handler and scroll observer, sets vtable 0112435C 0x007C3E80 5 STL_vector_clear_ptr_array stl Clears a std::vector of pointers: frees aligned buffer and resets begin/end/capacity to null 0x007C3E90 72 ItemShopGridWnd__observer_destructor game_core Destructor for scroll observer: resets vtable to base scalar deleting destructor 0x007C3EE0 191 ItemShopGridWnd__destructor game_core Destructor: cleans up format handler, observer, clears item vector, calls base destructor chain 0x007C3FA0 97 ItemShopGridWnd__observer_scalar_dtor game_core Scalar deleting destructor for observer: resets vtable then optionally frees 4-byte object 0x007C4010 215 ItemShopGridWnd__scalar_deleting_destructor game_core Scalar deleting destructor: full cleanup of grid window then optionally frees 0xC4-byte object 0x007C40F0 9 ItemShopGridWnd__virtual_init_call game_core Dispatches to virtual method +0x3C (create items callback) 0x007C4110 812 ItemShopWnd__update_item_grid game_core Updates item shop grid from item list: hides old items, creates new item controls in 5-column grid layout 0x007C4440 13 ItemShopGridWnd__default_init game_core Default init: calls virtual +0xD8 with param 0 (initial display mode) 0x007C4490 64 ItemShopGridWnd__process_resize_message game_core Handles resize messages 0xAE and 0xAF: forwards to child controls at +0xC0/+0xBC 0x007C44D0 129 STL_vector_dealloc_ptr_array stl Deallocates std::vector buffer with aligned free support; resets begin/end/capacity to null 0x007C4560 10 STL_vector_throw_length_error_0x4560 stl Throws std::length_error("vector too long") 0x007C4570 92 STL_vector_allocate_aligned stl Allocates aligned memory for std::vector: 32-byte alignment for blocks >= 0x1000, stores raw ptr at [-4] 0x007C45D0 62 std__allocator__deallocate stl std::allocator::deallocate - Frees aligned vector memory. For blocks >= 0x1000, retrieves raw pointer from [-4] offset for aligned free. 0x007C4610 34 STL_vector_copy_range_0x4610 stl Copies memory range [param_1, param_2) to destination; returns pointer past end of copied data 0x007C4640 452 STL_vector_insert_ptr_0x4640 stl std::vector insert with 1.5x growth: allocates aligned buffer, copies element, moves existing data around insert point 0x007C4810 251 EmotionShopGridWnd__constructor game_core Constructs emotion shop grid: inits vectors, string, format handler; vtable PTR_FUN_0112444c 0x007C4910 67 EmotionShopGridWnd__free_sentinel_0xC game_core Frees 0xC-byte sentinel node if field +4 is non-null 0x007C4960 102 EmotionShopGridWnd__clear_linked_list game_core Clears linked list of 0xC-byte nodes: unlinks and frees each node 0x007C49D0 103 EmotionShopGridWnd__destroy_node_list game_core Destroys entire node linked list including sentinel: walks and frees each 0xC-byte node 0x007C4A40 129 STL_vector_dealloc_ptr_array_0x4a40 stl Deallocates std::vector buffer with aligned free; resets begin/end/capacity to null 0x007C4AD0 180 EmotionShopGridWnd__destructor game_core Destructor: cleans up format handler, string, vectors; calls base ItemShopWnd destructor chain 0x007C4B90 83 EmotionShopGridWnd__free_node_chain game_core Frees chain of 0xC-byte linked nodes starting from field +4 0x007C4BF0 204 EmotionShopGridWnd__scalar_deleting_destructor game_core Scalar deleting destructor: cleans up format handler, string, vectors then optionally frees 0xD8-byte object 0x007C4CC0 9 EmotionShopGridWnd__virtual_init_call game_core Dispatches to virtual method +0x3C (create items callback) 0x007C4CD0 49 EmotionShopGridWnd__find_item_by_id game_core Searches linked list for item with matching ID at +0xA8; returns item pointer or 0 if not found 0x007C4D30 1376 EmotionShopWnd__update_useable_items ui_shop Updates useable emotion items: filters by EMSG_EMOTION_USEABLE_EXPIRE_TIME, creates/reuses item controls with expiry text 0x007C5290 13 EmotionShopGridWnd__default_init game_core Default init: calls virtual +0xD8 with param 0 (initial display mode) 0x007C52B0 49 EmotionShopGridWnd__process_resize_message game_core Handles resize message 0xAE: forwards to child control at +0xBC; other msgs go to scroll handler 0x007C52F0 71 EmotionShopGridWnd__set_item_display_mode game_core Finds item in vector by ID (+0xA8 match) and calls its virtual +0xD8 to set display mode 0x007C5340 10 STL_vector_throw_length_error_0x5340 stl Throws std::length_error("vector too long") 0x007C5350 62 std__allocator__deallocate_007c5350 stl std::allocator::deallocate - Frees aligned vector memory. For blocks >= 0x1000, retrieves raw pointer from [-4] offset for aligned free. 0x007C5390 34 STL_vector_copy_range_0x5390 stl Copies memory range [param_1, param_2) to destination; returns end pointer 0x007C53C0 452 STL_vector_insert_ptr_0x53c0 stl std::vector insert with 1.5x growth for emotion shop item pointers 0x007C5590 251 SaleShopGridWnd__constructor game_core Constructs sale shop grid: inits vectors, string, format handler; vtable PTR_FUN_01124638 0x007C5690 129 SaleShopGridWnd__dealloc_item_vector game_core Deallocates the item pointer vector buffer with aligned free support; resets begin/end/capacity to null 0x007C5720 180 SaleShopGridWnd__destructor game_core Destructor: cleans up format handler, string, item vector; calls base ItemShopWnd destructor chain. Does NOT free the object itself. 0x007C57E0 71 SaleShopGridWnd__observer_destructor game_core Observer destructor: sets vtable to SaleShopGridWnd observer vtable then calls UIPartyBookingWnd base destructor 0x007C5830 204 SaleShopGridWnd__scalar_deleting_destructor_007c5830 game_core Scalar deleting destructor: full cleanup (format handler, string, vector, base chain) then optionally frees 0xD8-byte object 0x007C5900 99 SaleShopGridWnd__scalar_deleting_destructor game_core Scalar deleting destructor for SaleShopGridWnd: sets vtable, calls UIPartyBookingWnd destructor chain, optionally frees 0xE0-byte object 0x007C5970 9 SaleShopGridWnd__virtual_init_call game_core Dispatches to virtual method +0x3C (create items callback) 0x007C59A0 359 SaleShopGridWnd__create_category_section game_core Creates a shop category section (basic/purchase/unpurchased) with title from EMSG_SEARCH_WND strings 0x007C5B10 624 SaleShopGridWnd__update_search_results game_core Updates shop search results: clears items, splits results into 3 categories, creates sections, rebuilds scrollbars 0x007C5D80 13 SaleShopGridWnd__default_init game_core Default init: calls virtual +0xD8 with param 0 0x007C5DA0 49 SaleShopGridWnd__process_resize_message_alt game_core Handles resize message 0xAE: forwards to child at +0xBC; other msgs go to scroll handler 0x007C5DE0 10 STL_vector_throw_length_error_0x5de0 stl Throws std::length_error("vector too long") 0x007C5DF0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007C5E30 34 STL_vector_copy_range_0x5e30 stl Copies memory range [param_1, param_2) to destination; returns end pointer 0x007C5E60 452 STL_vector_insert_ptr_0x5e60 stl std::vector insert with 1.5x growth for sale item pointers 0x007C6030 202 SearchShopGridWnd__constructor game_core Constructs search shop grid: inits vector, string; vtable PTR_FUN_0112477c 0x007C6100 67 SearchShopGridWnd__free_sentinel_0xC game_core Frees 0xC-byte sentinel node if field +4 is non-null 0x007C6150 102 SearchShopGridWnd__clear_linked_list game_core Clears linked list of 0xC-byte nodes: unlinks and frees each node 0x007C61C0 103 SearchShopGridWnd__destroy_node_list game_core Destroys entire linked list including sentinel: walks and frees each 0xC-byte node 0x007C6230 129 STL_vector_dealloc_ptr_array_0x6230 stl Deallocates std::vector buffer with aligned free; resets begin/end/capacity to null 0x007C62C0 154 SearchShopGridWnd__destructor game_core Destructor: cleans up string, vectors; calls base ItemShopWnd destructor chain 0x007C6360 83 SearchShopGridWnd__free_node_chain game_core Frees chain of 0xC-byte linked nodes starting from field +4 0x007C63C0 178 SearchShopGridWnd__scalar_deleting_destructor game_core Scalar deleting destructor: full cleanup then optionally frees 0xD4-byte object 0x007C6480 68 SearchShopGridWnd__highlight_selected_item game_core Highlights item in grid matching param_2 ID by setting selection state on each control 0x007C64D0 9 SearchShopGridWnd__virtual_init_call game_core Dispatches to virtual method +0x3C (create items callback) 0x007C64E0 49 SearchShopGridWnd__find_item_by_id game_core Searches linked list for item with matching ID at +0xA8; returns item pointer or 0 0x007C6540 1376 EmotionShopWnd__update_sale_items ui_shop Updates sale emotion items: filters by EMSG_EMOTION_SALE_END_TIME, creates/reuses item controls with sale end text 0x007C6AA0 13 SearchShopGridWnd__default_init game_core Default init: calls virtual +0xD8 with param 0 0x007C6AC0 134 SearchShopGridWnd__process_select_message game_core Handles item select (0xAB): notifies parent and highlights selected item in grid 0x007C6B50 71 SearchShopGridWnd__set_item_display_mode game_core Finds item in vector by ID and calls virtual +0xD8 to set display mode 0x007C6BA0 10 STL_vector_throw_length_error_0x6ba0 stl Throws std::length_error("vector too long") 0x007C6BB0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007C6BF0 103 RBTree__destroy_nodes_recursive_0x18 game_core Recursively destroys red-black tree nodes: traverses right subtree then frees 0x18-byte nodes 0x007C6C60 75 RBTree__lower_bound_char_key game_core Finds lower bound in red-black tree using char key comparison at node+0x10 0x007C6CB0 269 EmotionShopWnd__constructor ui_shop Constructs emotion shop window: inits base, sets vtable 01124954, allocates RB tree sentinel, zeros UI fields 0x007C6DC0 67 RBTree__free_node_0x18 game_core Frees a 0x18-byte RB tree node if field +4 is non-null 0x007C6E10 111 RBTree__destroy_all_nodes_and_sentinel game_core Destroys all RB tree nodes recursively then frees 0x18-byte sentinel 0x007C6E90 78 RBTree__free_sentinel_only_0x6e90 game_core Frees 0x18-byte sentinel node if field +4 is non-null; no child cleanup 0x007C6EE0 78 RBTree__free_sentinel_only_0x6ee0 game_core Frees 0x18-byte sentinel node if field +4 is non-null; no child cleanup (variant) 0x007C6F30 65 RBTree__destroy_and_free_wrapper game_core Wrapper that calls RBTree destroy-all-nodes-and-sentinel 0x007C6F80 71 EmotionShopTabWnd__destructor game_core Destructor: sets vtable PTR_FUN_0112487c then calls tab window base destructor 0x007C6FD0 136 EmotionShopWnd__destructor ui_shop Destructor: resets global ID to -1, unregisters packet handler 7, destroys RB tree, calls base destructor 0x007C7060 99 EmotionShopTabWnd__scalar_deleting_destructor game_core Scalar deleting destructor: calls tab window destructor then optionally frees 0x124-byte object 0x007C70D0 160 EmotionShopWnd__scalar_deleting_destructor ui_shop Scalar deleting destructor: full cleanup then optionally frees 0xF0-byte object 0x007C7170 165 EmotionShopWnd__set_search_panel_visible ui_shop Shows/hides search panel at +0xD8: handles focus, sets visibility, clears text; also toggles +0xD4 and +0xDC 0x007C7240 644 EmotionShopWnd__create_button_control ui_shop Creates a button control with sprite states (normal/press/disable) and optional text label 0x007C74D0 1868 EmotionShopWnd__create_ui_controls ui_shop Creates all emotion shop UI: 4 tab buttons, text input, item grid, emotion grid, search grid, sale grid, and timer 0x007C7CD0 53 EmotionShopWnd__update_preview_display ui_shop Updates preview display at +0xE8: passes text from input or 0 based on search state 0x007C7D10 233 EmotionShopWnd__select_item ui_shop Handles item selection: validates via format, switches to unpurchased tab, updates preview and text display 0x007C7E00 76 EmotionShopWnd__send_purchase_packet ui_shop Sends emotion shop purchase packet 0xBEC with item ID and format info to server 0x007C7E50 169 EmotionShopWnd__update_grid_search_state ui_shop Updates grid panels with search text for active tab (2=emotion, 3=search, 4=sale); clears if no search 0x007C7F00 88 EmotionShopWnd__clear_all_grid_displays ui_shop Clears search input and resets all 3 grid displays (emotion, search, sale) to empty state 0x007C7F60 337 EmotionShopWnd__update_usage_period_display ui_shop Updates usage period label: shows days remaining from EMSG_PERIOD_OF_USE or hides if no expiry 0x007C80C0 168 EmotionShopWnd__register_refresh_timer ui_shop Registers 30-second periodic timer for shop data refresh via packet handler 7 0x007C8170 137 EmotionShopWnd__process_message ui_shop Main message handler: tab switch, item select, purchase confirm with cash/free check, search, close 0x007C87A0 88 EmotionShopWnd__select_tab_by_id ui_shop Selects tab in RB tree by char ID and sends tab-switch message 0xD7 to parent 0x007C8800 493 EmotionShopWnd__switch_active_tab ui_shop Switches active tab (1-4): updates button states, sets active grid panel, manages search/preview visibility 0x007C89F0 41 EmotionShopWnd__set_search_text ui_shop Sets search text input at +0xD8: passes param or empty string 0x007C8A20 26 EmotionShopWnd__update_purchase_button ui_shop Calls virtual +0xD4 on purchase button control at +0xE4 if present 0x007C8A40 155 EmotionShopWnd__register_refresh_timer_alt ui_shop Registers 30-second periodic timer for shop data refresh (alternate entry, no packet unregister) 0x007C8AF0 56 EmotionShopWnd__sync_rect_to_parent ui_shop Copies position rect (w,h,x,y) from this control to parent object at +0xB4 0x007C8B30 23 EmotionShopWnd__update_emotion_item_mode ui_shop Delegates to emotion grid at +0xBC to update item display mode if grid exists 0x007C8B50 89 EmotionShopWnd__refresh_purchase_state ui_shop Refreshes purchase button and usage period based on active tab and selected item ID 0x007C8BB0 23 EmotionShopWnd__update_search_item_mode ui_shop Delegates to search grid at +0xC0 to update item display mode if grid exists 0x007C8BD0 517 STL_tree_val__Insert_node stl STL _Tree_val::_Insert_node, inserts a node into a red-black tree, performs RB rebalancing (rotations + recoloring). MSVC 2019 std::set/map implementation. Multiple template instantiations (uint, string, PCTableEntry const*). 0x007C8DE0 67 EmotionShopWnd__find_tab_node ui_shop Finds RB tree node matching char key; returns sentinel if not found 0x007C8E30 25 memset_zero_dwords game_core Zeroes param_2 dwords (param_2*4 bytes) at param_1 using memset 0x007C8E50 28 STL_vector_is_unallocated stl Checks if vector's begin pointer (first member) is null, meaning no allocation exists. Returns 1 if unallocated, 0 otherwise. Not the same as standard empty() which checks begin==end. 0x007C8E70 264 EmotionItemCtrl__constructor game_core Constructs emotion item control: inits base, sets vtable 01124C94, creates scroll observer, zeros item data 0x007C8F80 72 EmotionItemCtrl__observer_destructor game_core Destructor for scroll observer: resets vtable chain 0x007C8FD0 110 EmotionItemCtrl__destructor game_core Destructor: sets vtable, destroys observer, calls base control destructor 0x007C9040 97 EmotionItemCtrl__observer_scalar_dtor game_core Scalar deleting destructor for observer: resets vtable then optionally frees 4-byte object 0x007C90B0 134 EmotionItemCtrl__scalar_deleting_dtor game_core EmotionItemCtrl scalar deleting destructor. Sets vtable to 01124c94, destroys scroll observer at +0x25, calls base CEffect dtor, frees 0xA0 bytes if param_2 & 1. 0x007C9140 121 UIPartyMatchWnd__on_item_selected game_core Handles item selection in the party match window. Checks if the selected player ID matches the local player (DAT_013896c4+0xC) or passes a validity check (CFmt__func_0059c490). If valid, updates the detail view at DAT_01457848+0xBC and calls FUN_0093d270. Otherwise, invokes vtable method +4 on child widget at +0x94. 0x007C91C0 55 UIPartyMatchWnd__request_player_info game_core Requests detailed info for the currently selected player in the party match window. Checks if +0x7C is set, then calls CFmt__func_00592420 to get player ID from +0x9C and CFmt__func_00599d00 to send the request. 0x007C9200 139 UIPartyMatchWnd__set_data_source game_core Sets the data source for the party match window. Stores param_2 at +0x7C, resets selection indices at +0x98 and +0x9C to 0, updates the party member display via FUN_007c92b0(0), refreshes child controls at +0x8C and +0x90 via vtable +0xD4, conditionally hiding the scroll control based on data count. 0x007C9290 1 stub_nop_007c9290 game_core Single-byte stub function (size=1) 0x007C92B0 345 UIPartyMatchWnd__update_member_slots game_core Updates the 3 party member display slots (at offsets +0x80, +0x84, +0x88). For each slot that exists, looks up the player character ID via CFmt__func_00592420, checks if it's the local player or a friend (CFmt__func_0059c490), then calls FUN_007cbb30 to update the slot display. If no data source is set (+0x7C == 0), passes -1 as the ID. Refreshes the control via vtable +0x98. 0x007C9410 139 UIPartyMatchWnd__update_single_slot game_core Updates a single party member slot in the match window. Gets the character ID via CFmt__func_00592420, checks if it's the local player or friend, then calls FUN_007cbb30 to refresh the slot display with appropriate coloring/state. If no data source (+0x7C == 0), uses -1 as placeholders. 0x007C94A0 561 UIPartyMatchWnd__create_member_slots game_core Creates 3 party member slots (at +0x80 to +0x88) and 2 navigation buttons (at +0x8C and +0x90). Each slot is a 0x8C-byte widget (FUN_007cb9f0) positioned vertically with 0x31 pixel spacing. The left and right nav buttons are 0x120-byte image buttons (FUN_0084eab0) with 3 button state images each. 0x007C9790 1 stub_nop_007c9790 game_core Single-byte stub function (size=1) 0x007C97C0 210 UIPartyMatchWnd__set_selection_index game_core Sets the current selection index in the party match list. Updates navigation button visibility (prev at +0x23, next at +0x24) based on whether there are more items to scroll. Adjusts the scroll offset at +0x26 to keep the selection visible (3 items per page). Refreshes member slot display via UIPartyMatchWnd__update_member_slots. 0x007C98A0 74 UIPartyMatchWnd__on_message game_core Message handler for the party match window. Handles: msg 6 (navigation buttons - prev/next), msg 0x3C (refresh), msg 0xAE (player info request), msg 0xB0 (keyboard - Enter=request info, Left=scroll up, Right=scroll down). On Enter or player info, looks up the character and either shows detail panel or sends friend/whisper request. 0x007C9AF0 26 UIPartyMatchWnd__hide_left_nav game_core Hides/shows the left navigation button at +0x8C via vtable +0xD4 call. 0x007C9B10 26 UIPartyMatchWnd__hide_right_nav game_core Hides/shows the right navigation button at +0x90 via vtable +0xD4 call. 0x007C9B30 10 std__array_subscript_out_of_range stl Throws std::out_of_range with message "invalid array subscript". Called when array bounds check fails. Does not return. 0x007C9B40 254 build_party_search_filter_packet game_core Builds a party search filter packet with 5 filter parameters. Creates 5 pairs of (value, param_1) from the 5 input pointer params, then calls CFmt__func_00591270 with flag 0x11111 to send the packet. Used for filtering party match results. 0x007C9C40 277 UIPartyBookingWnd__ctor game_core Constructor for the Party Booking window. Calls base class ctor FUN_00a79a90(0), sets vtable to PTR_FUN_01124efc. Initializes member variables: data pointers (+0x1F to +0x24), strings at +0x28/+0x2F/+0x35 (with SSO buffers of 0xF capacity), selection index at +0x2A to -1, and various flags to 0. 0x007C9D60 152 UIPartyBookingWnd__dtor game_core Destructor for the Party Booking window. Sets vtable, saves current state (+0x20 = +0x1F), destroys 3 internal strings, clears a vector of pointers, then calls base class dtor FUN_00a79e90. 0x007C9E00 176 UIPartyBookingWnd__scalar_dtor game_core Scalar deleting destructor for the Party Booking window. Calls UIPartyBookingWnd__dtor logic, then conditionally frees 0xE0 bytes if param_2 & 1. 0x007C9EB0 294 UIPartyBookingWnd__apply_search_filters game_core Applies search filters in the Party Booking window. Reads filter values (FUN_00ae8310/8300/82f0/8320/83b0), builds a party search filter packet with the window's string at +0xAC and selection at +0xBC, then updates the display via FUN_00868880. Calls FUN_00ae8180/ae81a0 as pre/post processing. 0x007C9FE0 274 UIPartyBookingWnd__refresh_search game_core Refreshes the party search with current filter values. Similar to apply_search_filters but requires param_2 != 0 and doesn't call the pre/post processing functions. Builds and sends the filter packet, then updates the display. 0x007CA100 438 format_purchase_price_string game_core Formats a purchase price value into a display string. Calls CFmt__func_0059a110 to get the price. If price == 0, uses "EMSG_PURCHASE_FREE_PRICE" string. If price > 0, formats with "EMSG_PURCHASE_PRICE" template via CFmt__func_00591270. If price < 0 and no format string available, falls back to raw integer-to-string conversion. 0x007CA2C0 653 ItemShopGridWnd__populate_items game_core Populates item shop grid with item widgets. Iterates category item IDs, looks up item data in hash table, creates CItemSlotWidget for each valid item, arranges in 5-column grid layout. Returns 0x9F. 0x007CA550 306 UIPartyBookingWnd__create_header_controls game_core Creates header controls for the Party Booking window. Creates two text label widgets (0xD8 alloc, FUN_00850550): one at +0x88 positioned at (0x21, 0xE) with alignment=1, and one at +0x8C positioned at (0xA, 0x2A) with color 0xD60x180x10 and font size 0xB. 0x007CA690 195 UIPartyBookingWnd__draw_background game_core Draws the background images for the Party Booking window. Renders up to 3 images: main background from +0x90 string (stretched to window size), a smaller image from +0xC4 string at position (0xAB, 0xC), and a conditional overlay from a fixed DAT path if +0xDC flag is set. 0x007CA7C0 23 ItemShopGridWnd__notify_parent_repaint game_core Notifies parent window to repaint by calling parent's vtable +0x8C method (invalidate/redraw). Called when grid content changes. 0x007CA7E0 136 ItemShopGridWnd__on_command_timer_and_scroll game_core Message handler for ItemShopGridWnd. Handles msg 0x3C (timer tick, refreshes display and forwards to parent), msg 0xAE (item selection, forwards to parent). Other messages delegated to base class. 0x007CA870 126 ItemShopGridWnd__set_texture_by_type game_core Sets background texture path based on shop type. Type 1 loads path from message table entry at 01125010, type 2 from 0112503c. Other types clear the string to empty. 0x007CA8F0 108 ItemShopGridWnd__set_title_text game_core Sets title text for ItemShopGridWnd. If param is null, clears string at +0xAC and resets +0xBC to 0. Otherwise assigns the string. Refreshes text display via child control at +0x8C. 0x007CA960 90 STL_vector__Change_array stl STL vector::_Change_array, replaces internal buffer. Frees old allocation (with aligned-delete for >0xFFF byte buffers), sets begin/end/capacity pointers. MSVC 2019 implementation for vector of uint/pointer types. 0x007CA9C0 1 stub_nop_007ca9c0 game_core Single-byte stub function (size=1) 0x007CA9D0 197 ItemShopGridWnd__vector_reallocate_aligned game_core Reallocates the item widget pointer vector with aligned allocation. Copies existing data, frees old buffer (with aligned-delete for >0xFFF byte allocations), updates begin/end/capacity pointers. 0x007CAAC0 240 ItemShopGridWnd__ctor game_core Constructor for ItemShopGridWnd. Calls base UIPartyBookingWnd ctor, sets vtable to 0112509c. Creates a 0xC-byte timer object at +0x38 and a 4-byte observer at +0x39. Loads default texture path from message table. 0x007CABB0 136 ItemShopGridWnd__dtor game_core Destructor for ItemShopGridWnd. Sets vtable, destroys timer object at +0x38 and observer at +0x39, then calls base UIPartyBookingWnd destructor. 0x007CAC40 160 ItemShopGridWnd__scalar_deleting_dtor game_core Scalar deleting destructor for ItemShopGridWnd. Destroys timer and observer objects, calls base UIPartyBookingWnd dtor, frees 0xE8 bytes if param_2 & 1. 0x007CACE0 400 ItemShopGridWnd__update_timer_display game_core Updates the countdown timer display for item shop. Gets elapsed server time, calculates remaining time. If less than 61 seconds, shows "last time" message. Otherwise formats days/hours/minutes string using EMSG format template. Triggers 0x3C timer refresh event. 0x007CAE70 42 ItemShopGridWnd__forward_selection_to_parent game_core Forwards item selection to parent. If param_2 is non-null and the grid has valid data (+0x23 and +0x2F non-zero), calls vtable +0xDC with the selected item ID. 0x007CAEA0 9 thunk_to_ItemShopGridWnd__populate_items game_core Simple thunk that jumps to ItemShopGridWnd__populate_items (007ca2c0). 0x007CAEC0 147 UIPartyBookingWnd__on_message game_core Message handler for the Party Booking window. Handles: msg 0x3C (timer/refresh - redraws and forwards to parent at +4), msg 0xAE (calls handler at +0x39 vtable +4), msg 0xAF (calls handler at +0x38 vtable +4). All other messages delegate to FUN_00a83660 (base handler). 0x007CAF60 505 UIPartyBookingWnd__populate_member_grid game_core Populates the party member grid in the booking window. If +0x22 is set, updates the title text from param_2. Clears existing member widgets (calling FUN_00a82e50 to remove each), then creates new 0x8C-byte member slot widgets (FUN_007cb9f0) from the data pairs in param_3 vector. Arranges in a 5-column grid with 0x2F pixel spacing both horizontally and vertically. Returns the total height used. 0x007CB1A0 146 UIPartyBookingSearchWnd__ctor game_core Constructor for the Party Booking Search window. Calls UIPartyBookingWnd__ctor as base, sets intermediate vtable to SaleShopGridWnd vtable, then final vtable to PTR_FUN_011251fc. Creates a callback object (0xC bytes) at +0x38 via CFmt__func_00591ca0. 0x007CB240 123 UIPartyBookingSearchWnd__dtor game_core Destructor for the Party Booking Search window. Sets vtable, destroys callback at +0x38 (calling its first virtual method with 1), sets intermediate vtable, then calls UIPartyBookingWnd__dtor. 0x007CB2C0 147 UIPartyBookingSearchWnd__scalar_dtor game_core Scalar deleting destructor for the Party Booking Search window. Calls UIPartyBookingSearchWnd__dtor logic, then conditionally frees 0xE4 bytes if param_2 & 1. 0x007CB360 49 UIPartyBookingSearchWnd__on_message_v2 game_core Message handler for Party Booking Search window variant. Handles msg 0xAF (calls handler at +0xE0 vtable +4). All other messages delegate to ItemShopGridWnd__on_command_timer_and_scroll. 0x007CB3A0 159 UIPartyBookingObserverWnd__ctor game_core Constructor for Party Booking Observer window. Calls UIPartyBookingWnd__ctor, sets intermediate vtable, then final vtable to PTR_FUN_011252e0. Creates a 4-byte observer object at +0x38 with EmotionItemCtrl observer vtable. 0x007CB440 123 UIPartyBookingObserverWnd__dtor game_core Destructor for Party Booking Observer window. Sets vtable, destroys observer at +0x38, sets intermediate vtable, then calls UIPartyBookingWnd__dtor. 0x007CB4C0 147 UIPartyBookingObserverWnd__scalar_dtor game_core Scalar deleting destructor for Party Booking Observer window. Calls dtor logic and frees 0xE4 bytes if param_2 & 1. 0x007CB560 120 UIPartyBookingObserverWnd__on_message game_core Message handler for the Party Booking Observer window. Handles: msg 0x3C (timer/refresh - redraws and forwards to parent), msg 0xAE (calls handler at +0x38 vtable +4). Other messages delegate to ItemShopGridWnd__on_command_timer_and_scroll. 0x007CB5E0 193 UIPartyBookingDetailWnd__ctor game_core Constructor for Party Booking Detail window. Calls UIPartyBookingWnd__ctor as base, sets vtable to PTR_FUN_011253c4. Initializes a flag at +0x38 to 0, a string at +0x39 (with initial content from FUN_00b01200 lookup of DAT_011254d4), and redraws via vtable +0x98. 0x007CB6B0 95 UIPartyBookingDetailWnd__dtor game_core Destructor for Party Booking Detail window. Sets vtable, destroys the internal string, then calls UIPartyBookingWnd__dtor. 0x007CB710 119 UIPartyBookingDetailWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UIPartyBookingDetailWnd. Sets vtable, destroys internal string at +0x39, calls UIPartyBookingWnd__dtor, then frees 0xFC bytes if param_2 & 1. 0x007CB790 191 UIPartyBookingDetailWnd__populate_and_set_price game_core UIPartyBookingDetailWnd method. Populates items via ItemShopGridWnd__populate_items, then formats the purchase price string and stores it at +0xE4 (an STL string member). 0x007CB850 64 UIPartyBookingDetailWnd__render_price_label game_core UIPartyBookingDetailWnd render method. Draws the base background, then if a price string exists at +0xE4, renders it right-aligned in gold color (0xE68C5A) at position (0xE9, 0x2A). 0x007CB8F0 127 UIPartyBookingDetailWnd__set_sold_out_state game_core UIPartyBookingDetailWnd method. Sets the sold-out state flag at +0x38. When sold out (param_2 != 0), loads the sold-out message string; otherwise loads the normal title. Updates internal string at +0x39 and redraws. 0x007CB970 72 ItemShopGridWnd__on_item_click game_core Message handler for ItemShopGridWnd. On msg 0xAE (item click): if not disabled (+0xE0) and parent exists, forwards item data (+0xA8) to parent as msg 0xAB. Other messages delegate to base handler. 0x007CB9F0 122 CItemSlotWidget__ctor game_core Constructor for CItemSlotWidget. Calls CEffect__ctor as base, sets vtable. Initializes item ID pair at +0x1F/+0x20 to 0, child widget pointer at +0x21 to null, and flag at +0x22 to 0. 0x007CBA70 71 CItemSlotWidget__dtor game_core Destructor for CItemSlotWidget. Sets vtable and calls CEffect__dtor. 0x007CBAC0 99 CItemSlotWidget__scalar_deleting_dtor game_core Scalar deleting destructor for CItemSlotWidget. Calls CEffect__dtor, then frees 0x8C bytes if param_2 & 1. 0x007CBB30 313 CItemSlotWidget__set_item game_core Sets item data for a slot widget. Looks up item info by ID pair, loads sprite/action data, sets quantity limits (BC/C0). If param_4 is true, loads item name string. Updates visibility and refresh flags. 0x007CBC70 177 CItemSlotWidget__create_child_button game_core Creates a child CUISmallWidget button (0x11C bytes) for the item slot. Sets it at +0x84, configures size, position (0,0), and button ID 0xBD, then adds to child list. 0x007CBD30 108 CItemSlotWidget__render_highlight game_core Renders the item slot highlight. Calls parent notify, then if both flags at +0x88 and +0x89 are set, draws a colored 3D border around the widget using CColorPicker pixel (14,6). 0x007CBE50 23 CItemSlotWidget__on_refresh game_core On-refresh handler for CItemSlotWidget. If a parent widget exists at +0x10, calls its virtual method at vtable offset 0x8C. 0x007CBE70 136 CItemSlotWidget__on_command game_core Handles commands for an item slot widget. Processes item slot interactions like click, drag, and tooltip display. 0x007CBF00 23 CItemSlotWidget__refresh_child_button game_core Refreshes the child button widget at +0x84 by calling CUIWidget__set_flag_and_refresh on it, if it exists. 0x007CBF20 121 CUIScrollPanel__ctor game_core Constructor for CUIScrollPanel. Calls UISpriteWidget__ctor as base, sets vtable. Initializes: flag at +0x2D to 0, scroll IDs at +0x2B/+0x2C to 0x87, and style at +0x29 to 0xB. 0x007CBFA0 71 CUIScrollPanel__dtor game_core Destructor for CUIScrollPanel. Sets vtable and calls UIBaseWidgetA__dtor. 0x007CBFF0 99 CUIScrollPanel__scalar_deleting_dtor game_core Scalar deleting destructor for CUIScrollPanel. Calls UIBaseWidgetA__dtor, then frees 0xB8 bytes if param_2 & 1. 0x007CC060 548 CUIScrollPanel__render_frame game_core Renders scroll panel frame. Draws background fill, top/bottom border sprites based on enabled/disabled state and scroll direction mode (1=vertical, 4=horizontal). Draws scrollbar track with repeating middle segment. 0x007CC290 32 CUIScrollPanel__set_disabled_state game_core Sets disabled state for CUIScrollPanel. Updates flag at +0x2D and triggers redraw if the value changed. 0x007CC2B0 155 ItemShopGridWnd__ctor_with_params game_core Constructor for ItemShopGridWnd with parameters. Calls UIScrollPanel__ctor_009ac040 with params, sets vtable. Removes existing scrollbar entries at +0x23/+0x24, resets them to 0, sets style at +0x25 to 0xB. 0x007CC350 67 std__list_1c_byte__free_head stl Frees a 0x1C-byte allocation at offset+4 if non-null. Used as a small-object destructor helper. 0x007CC3A0 78 std__list_1c_byte__free_head_safe_a stl Frees a 0x1C-byte allocation at offset+4 if non-null. Safe variant with SEH frame. Duplicate behavior of 007cc350. 0x007CC3F0 78 std__list_1c_byte__free_head_safe_b stl Frees a 0x1C-byte allocation at offset+4 if non-null. Safe variant with SEH frame. Duplicate behavior of 007cc350. 0x007CC440 376 CUIScrollPanel__add_child_and_update_tree game_core Adds a child widget to the scroll panel and updates the tree layout. Recalculates scroll bounds and positions child elements. 0x007CC5C0 9 thunk_to_virtual_method_offset_0x3c_007cc5c0 game_core Calls virtual method at offset 0x3c from vtable 0x007CC5D0 65 CUIScrollPanel__reset_scrollbar_refs game_core Resets scrollbar references for CUIScrollPanel. Removes entries at +0x8C and +0x90, nulls them out, and resets style at +0x94 to 0xB. 0x007CC620 52 CUIScrollPanel__update_scrollbar_visibility game_core Updates scrollbar visibility for CUIScrollPanel. Recalculates layout, then if scrollbar at +0x90 exists, shows it and sets disabled state based on flag at +0xA5. 0x007CC660 517 STL_tree_insert_node_007cc660 stl MSVC STL red-black tree _Insert_node implementation. Inserts a new node into the tree, performs rotations and recoloring to maintain red-black properties. Matched to Visual Studio 2019 Release library. 0x007CC870 96 CUISmallWidget__ctor_with_parent game_core Constructor for a small UI widget with parent. Calls UISmallWidget__constructor with parent param, sets vtable to 011258FC, initializes flag at +0x46 to 0. 0x007CC8D0 71 CUIWidget__dtor_base_007cc8d0 game_core Destructor base for a UI widget class. Sets vtable to PTR_FUN_011258fc and calls cleanup at 0x851c10. 0x007CC920 99 CUIWidget__scalar_deleting_dtor_007cc920 game_core Scalar deleting destructor for UI widget (vtable PTR_FUN_011258fc). Calls base dtor then optionally frees 0x11c bytes. 0x007CC9C0 971 CUIWidget__render_sprite_frames game_core Renders sprite animation frames for a UI widget. Iterates through frame list, calculates source/dest rectangles with clipping, and calls the render surface's blit function. Handles animation frame advancement and looping. 0x007CCD90 119 CUIWidget__draw_title_and_dispatch game_core Draws title text with offset (-20) if title flag is set, then dispatches to virtual function 0x6c for rendering if not hidden. 0x007CCE10 32 CUIWidget__set_flag_and_refresh game_core Sets a boolean flag at offset 0x118 and triggers a refresh via virtual function 0x98 if the value changed. 0x007CCE30 34 STL_uninitialized_copy_range_007cce30 stl Copies memory range [param_1, param_2) to param_3 destination buffer. Returns pointer past end of destination. 0x007CCE60 34 STL_uninitialized_copy_range_007cce60 stl Copies memory range [param_1, param_2) to param_3 destination buffer. Returns pointer past end of destination. Duplicate of memcpy_range_a. 0x007CCE90 34 STL_uninitialized_copy_range_007cce90 stl Copies memory range [param_1, param_2) to param_3 destination buffer. Returns pointer past end of destination. Duplicate of memcpy_range_a. 0x007CCEC0 104 std__destroy_range_0x30_elements stl Destroys a range of 0x30-byte elements by iterating [param_1, param_2) and calling STL_string_dtor on two strings per element. 0x007CCF30 452 std__vector_int_ptr__emplace_reallocate_007ccf30 stl std::vector reallocate-and-emplace for int* elements. Grows capacity by 1.5x, copies elements, inserts new element at position. Used by cash shop vectors. 0x007CD100 452 std__vector_int_ptr__emplace_reallocate_007cd100 stl std::vector reallocate-and-emplace for int* elements. Identical pattern to 007ccf30, different instance. 0x007CD2D0 452 std__vector_int_ptr__emplace_reallocate_007cd2d0 stl std::vector reallocate-and-emplace for int* elements. Identical pattern to 007ccf30, different instance. 0x007CD4A0 103 std__map__destroy_subtree stl Recursively destroys nodes in a std::map red-black tree. Traverses right subtree, then walks left siblings, freeing 0x18-byte nodes. 0x007CD510 75 std__map__lower_bound_int stl std::map::lower_bound for integer keys. Performs binary search on red-black tree, returns iterator to first element >= key. 0x007CD560 131 CHashTable__destroy_all_entries game_core Destroys all entries in a hash table by walking the linked list, destroying two strings per 0x100-byte entry, then freeing each entry. 0x007CD5F0 351 CCashShopWnd__ctor game_core Constructor for CCashShopWnd. Initializes vtable (PTR_FUN_01125d38), allocates hash table (0x100 bytes) and map sentinel node (0x18 bytes). Sets default values: tab count=9, columns=3. Initializes all widget pointers to null. 0x007CD750 173 CCashShopTabWidget__ctor game_core Constructor for CCashShopTabWidget. Initializes vtable (PTR_FUN_011259d8), clears widget fields, records current timeGetTime() timestamp. 0x007CD800 181 CCashShopItemWidget__ctor game_core Constructor for CCashShopItemWidget. Initializes vtable (PTR_FUN_01125b88), clears widget fields, sets display mode=6. 0x007CD8C0 97 CCashShopItemInfoWidget__ctor game_core Constructor for CCashShopItemInfoWidget. Initializes vtable (PTR_FUN_01125ab0), calls CItemInfoMgr cleanup. 0x007CD930 125 CCashShopSlotWidget__ctor game_core Constructor for CCashShopSlotWidget. Initializes vtable (PTR_FUN_01125c60), clears info field, calls CItemInfoMgr cleanup. Sets flag at 0x178=0 and 0x17c=0. 0x007CD9B0 67 std__map__free_sentinel_node stl Frees a std::map sentinel node (0x18 bytes) if allocated. 0x007CDA00 111 std__map__clear_and_free_nodes stl Clears all nodes from a std::map red-black tree. Recursively destroys subtrees then frees the sentinel node (0x18 bytes). 0x007CDA80 78 std__map__free_sentinel_node_007cda80 stl Frees a std::map sentinel node (0x18 bytes) if allocated. Similar to 007cd9b0. 0x007CDAD0 78 std__map__free_sentinel_node_007cdad0 stl Frees a std::map sentinel node (0x18 bytes) if allocated. Similar to 007cd9b0. 0x007CDB20 76 CHashTable__dtor game_core Hash table destructor. Calls CHashTable__destroy_all_entries then frees the 0x100-byte bucket array. 0x007CDB80 65 std__map__dtor_007cdb80 stl std::map destructor wrapper. Calls std__map__clear_and_free_nodes. 0x007CDBD0 129 std__vector__deallocate_007cdbd0 stl Deallocates a std::vector buffer. Handles aligned allocation (>0xfff bytes checks alignment header). Zeros out begin/end/capacity pointers. 0x007CDC60 129 std__vector__deallocate_007cdc60 stl Deallocates a std::vector buffer. Same pattern as 007cdbd0, different instance. 0x007CDCF0 129 std__vector__deallocate_007cdcf0 stl Deallocates a std::vector buffer. Same pattern as 007cdbd0, different instance. 0x007CDD80 166 std__vector__destroy_and_deallocate_0x30 stl Destroys and deallocates a vector of 0x30-byte elements. First destroys string members in each element, then frees the underlying buffer. 0x007CDE30 154 CCashShopWnd__dtor game_core CCashShopWnd destructor. Sets vtable, deallocates vectors, clears map nodes, destroys hash table entries, and calls base class destructor. 0x007CDED0 107 CCashShopTabWidget__dtor game_core CCashShopTabWidget destructor. Sets vtable (PTR_FUN_011259d8), deallocates vector and destroys 0x30-element vector, calls base dtor. 0x007CDF40 107 CCashShopItemWidget__dtor game_core CCashShopItemWidget destructor. Sets vtable (PTR_FUN_01125b88), calls stub cleanup and vector deallocation, then base dtor. 0x007CDFB0 121 CCashShopItemInfoWidget__dtor game_core CCashShopItemInfoWidget destructor. Sets vtable (PTR_FUN_01125ab0), destroys two STL strings, calls base dtor. 0x007CE030 121 CCashShopSlotWidget__dtor game_core CCashShopSlotWidget destructor. Sets vtable (PTR_FUN_01125c60), destroys two STL strings, calls base dtor. 0x007CE0B0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x007CE110 252 crt__init_locale_facet crt CRT locale facet initialization. Copies 0x55 bytes of locale data from global tables, registers atexit cleanup. Returns TLS-cached locale pointer. 0x007CE210 178 CCashShopWnd__scalar_deleting_dtor game_core CCashShopWnd scalar deleting destructor. Calls full destructor then optionally frees 0x108 bytes. 0x007CE2D0 131 CCashShopTabWidget__scalar_deleting_dtor game_core CCashShopTabWidget scalar deleting destructor. Calls full destructor then optionally frees 0x9c bytes. 0x007CE360 131 CCashShopItemWidget__scalar_deleting_dtor game_core CCashShopItemWidget scalar deleting destructor. Calls full destructor then optionally frees 0xa0 bytes. 0x007CE3F0 145 CCashShopItemInfoWidget__scalar_deleting_dtor game_core CCashShopItemInfoWidget scalar deleting destructor. Calls full destructor then optionally frees 0x178 bytes. 0x007CE490 145 CCashShopSlotWidget__scalar_deleting_dtor game_core CCashShopSlotWidget scalar deleting destructor. Calls full destructor then optionally frees 0x180 bytes. 0x007CE530 62 CUIWidget__update_scroll_and_refresh game_core Updates scroll position by calling stub_005dea30, then sends notification message (type=7) and triggers refresh via vfunc 0x98. 0x007CE570 177 CCashShopWnd__on_mouse_event game_core Cash shop window mouse event handler. Checks if job ID is 0x271b (special job), if so delegates to base handler. Otherwise checks mouse state and sends UI notifications for item selection/purchase. 0x007CE630 139 CCashShopWnd__on_mouse_event_alt game_core Cash shop window alternative mouse handler. Similar to 007ce570 but for different mouse action (state==6 triggers purchase mode 0xf with notification 0x13). 0x007CE6C0 20 CUIWidget__call_child_vfunc_0x28 game_core Calls virtual function 0x28 on the child widget at offset 0x10 if it exists. 0x007CE6E0 20 CUIWidget__call_child_vfunc_0x28_alt game_core Calls virtual function 0x28 on the child widget at offset 0x10 if it exists. Duplicate of 007ce6c0. 0x007CE700 45 crt__vsprintf_wrapper crt Wrapper for __stdio_common_vsprintf. Formats a string with variable arguments using 0x800 buffer size. 0x007CE740 4112 CCashShopWnd__create_ui_widgets game_core Creates all UI widgets for the cash shop window. Creates tab widgets for 11 categories (skipping indices 8,10), category buttons with sprite resources, search/filter input fields, item info panels, slot grid (rows*columns), scroll bar widget, and navigation buttons. 0x007CF760 959 CCashShopWnd__create_scrollbar_and_slots game_core Creates scrollbar (up/down/bar sprites from cashshop_shop_scroll_*.bmp) and item slot widgets for the cash shop. Creates sprite widget for scrollbar, then allocates CCashShopItemInfoWidget slots based on config count. 0x007CFB20 505 CCashShopWnd__create_tab_buttons game_core Creates three tab button widgets for the cash shop using UIButtonWidget. Each tab has normal/hover/pressed sprite states and unique button IDs (0xd3, 0x117, 0x118). 0x007CFD20 500 CCashShopSlotWidget__create_ui_elements game_core Creates UI elements for a cash shop slot widget: a text button with item name (ID 0x6f3) and an item slot widget for item icon display. 0x007CFF20 1475 CCashShopWnd__render_info_panel game_core Renders the cash shop info panel. Draws background sprite, item name, price info, category labels. Handles Stove shop vs normal mode with XOR-encrypted label strings. Displays current cash/point balance. 0x007D04F0 255 CCashShopWnd__load_selected_item_sprite game_core Loads sprite for the currently selected item. Constructs resource path from selected item data (at offset 0x94*0x30 in item list), loads and displays sprite. 0x007D05F0 188 CCashShopWnd__update_item_slots game_core Updates all visible item slots in the cash shop. Loads background sprite, then iterates through visible slots, updating each with item data from the item array at offset 0x88. Hides slots that exceed the item count. 0x007D06B0 495 CCashShopItemWidget__render game_core Renders a single cash shop item widget. Draws item name, loads item sprite via resource ID, renders item count and price text. 0x007D08A0 1908 CCashShopSlotWidget__render game_core Renders a cash shop slot widget. Two modes based on flag 0x178: mode 1 shows item name/price/sprite with sale dates (start/end timestamps at 0xfc/0x100); mode 0 shows compact item display with name, sprite and price. Formats dates using localtime. 0x007D1040 50 CCashShopSlotWidget__show_item_tooltip game_core Shows item tooltip for the currently selected cash shop slot. Calls tooltip display (type 4) with item data from offset 0x80. 0x007D1080 46 CCashShopSlotWidget__show_item_tooltip_alt game_core Shows alternative item tooltip (type 6, quantity 1) for cash shop slot if item data exists at offset 0x84. 0x007D10B0 164 CCashShopWnd__open_url_from_item game_core Opens a URL from the selected item's string data at offset 0x18 within the item entry. Uses ShellExecuteA with "open" verb. 0x007D1160 101 CCashShopItemWidget__show_tooltip_on_hover game_core Shows tooltip when mouse hovers within item widget bounds (x: 0x30-0xa0, y: 0x0c-0x17). Displays item name string with offset (-20). 0x007D11D0 88 CCashShopItemWidget__show_tooltip_on_hover_alt game_core Shows tooltip when mouse y position < 0x18. Displays item name string with offset (-20). 0x007D1240 634 CCashShopWnd__update_search_text game_core Updates search/filter text in the cash shop. Gets current text, compares with default placeholder text (ID 0xce6). If empty, resets text color to gray. Updates tab scrollbar visibility. 0x007D14C0 113 CCashShopTabWidget__auto_scroll_timer game_core Auto-scroll timer for tab widget. After 5 second timeout, auto-scrolls to next item in the list and sends notification (type 6, ID 0xd7). 0x007D1540 65 CCashShopItemWidget__on_right_click game_core Right-click handler for item widget. If click x is within bounds (4-0x29), opens item context menu (type 0xc, notification 0x18). 0x007D1590 76 CCashShopItemWidget__on_right_click_area game_core Right-click area handler for item widget. If click is within bounds (x: 5-0x50, y: 0x17-0x7b), opens context menu (type 0xc, notification 0x18). 0x007D15E0 51 CCashShopTabWidget__on_mouse_wheel game_core Mouse wheel handler for tab widget. Scrolls up (+1) or down (-1) based on wheel delta direction, sending notification type 7. 0x007D1620 23 CUIWidget__call_child_vfunc_0x8c game_core Calls virtual function 0x8c on child widget at offset 0x10 if it exists. 0x007D1640 350 CCashShopTabWidget__populate_item_list game_core Populates the item list in the tab widget. Creates UIMultiStringWidget entries for each item in the data range [0x1f, 0x20), positions them vertically, and highlights the selected item at index 0x25. 0x007D17A0 139 CCashShopWnd__process_notification game_core Main notification processor for the cash shop window. Handles category switching (0xd7), purchase (0xe0), URL open (0x11c), page navigation (0x13c/0x13d), search (0x141), cart operations (0x182-0x184), banner setup (0x22), item add to cart (0x26), window open/close (0x78/0x7a). Reads NeoCash registry key for category persistence. Supports both normal and Stove shop modes. 0x007D2C00 170 CCashShopTabWidget__on_child_notification game_core Child notification handler for tab widget. On category change (type 6, ID 0xd7), highlights the selected child widget and resets auto-scroll timer via timeGetTime(). 0x007D2CB0 163 CCashShopItemWidget__process_notification game_core Notification processor for cash shop item list widget (cart). Handles scrolling (type 7/9/10), item add/remove (type 0x1f with quantity), item delete (type 0x68). Manages item quantities with max 100 limit, updates total price via notification 0x9b. Supports Stove shop confirmation dialog with XOR-encrypted strings. 0x007D3430 272 UIInputAmountWnd__OnMessage game_core Message handler for input amount window. Handles button clicks (msg 6): confirm (0xD3) parses amount string via atoi, up/down arrows (0x117/0x118) adjust value. Also handles item desc copy (msg 0x17). 0x007D3540 628 UICharRenameWnd__OnMessage game_core Message handler for character rename window. Handles button click (msg 6, 0xE0) and item desc (msg 0x17). On msg 0x17, updates char slot display and handles rename confirmation vs regular mode. 0x007D37C0 364 UICharSelectWnd__update_slot_display game_core Updates the visual display of character slots on the current page. Iterates through slot UI elements, hides them initially, then positions and populates each with character data from the linked list. Handles grid layout with different row heights depending on mode (0x33==9). Calls virtual method 0x94 to set slot content and 0x98 to refresh. 0x007D3930 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x007D3B40 10 std__vector_xlength_error_007d3b40 stl Throws std::length_error("vector too long") - STL vector overflow guard. 0x007D3B50 10 std__vector_xlength_error_007d3b50 stl Throws std::length_error("vector too long") - STL vector overflow guard. 0x007D3B60 10 std__vector_xlength_error_007d3b60 stl Throws std::length_error("vector too long") - STL vector overflow guard. 0x007D3B70 32 CShopItemList__clear game_core Clears a shop item linked list. Calls destroy helper, resets sentinel node links and size to 0. 0x007D3B90 24 CShopItemList__erase_to_end game_core Erases shop items from begin to end of list, then resets the end pointer to begin. Effectively clears a subrange by destroying the item entries and unlinking nodes. 0x007D3BB0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007D3BF0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007D3C30 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007D3C70 173 CShopItemList__push_back game_core Pushes a new CShopItem to the back of the linked list. Allocates 0x100 byte node, copy-constructs the item data, links into doubly-linked list. Throws length_error if list is at max capacity (0xFFFFFF). 0x007D3D20 34 memcpy_range_007d3d20 stl Copies a memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past the end of copied data. 0x007D3D50 34 memcpy_range_007d3d50 stl Copies a memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past the end of copied data. 0x007D3D80 103 std__map_destroy_subtree stl Recursively destroys nodes in a std::map/set red-black tree. Visits left subtree, frees current node (0x1C bytes), advances to right child. 0x007D3DF0 418 std__vector_reallocate_007d3df0 stl std::vector reallocation with grow policy (1.5x). Allocates new buffer, copies old data, zero-fills new elements, frees old buffer. Max capacity 0x3FFFFFFF elements. 0x007D3FA0 418 std__vector_reallocate_007d3fa0 stl std::vector reallocation with grow policy (1.5x). Allocates new buffer, copies old data, zero-fills new elements, frees old buffer. Max capacity 0x3FFFFFFF elements. 0x007D4150 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x007D4170 28 _Zero_range<> stl Fills a memory range with zeros using memset. 0x007D4190 902 UICharSelectWnd__constructor game_core UICharSelectWnd constructor. Initializes base class, vtable, slot arrays, page counters. Allocates CCharSlotEntry array (0x15C bytes each) via eh_vector_constructor. Sets up visibility flags, column/row layout, retrieves slot counts from server. Calls timeGetTime for animation timing. 0x007D4520 245 CCharSlotEntry__constructor game_core CCharSlotEntry constructor. Initializes 5 STL string pairs (offsets 0x8 and 0x80) for character name fields. Zeroes out status/ID/string fields at 0xF8, 0x118, 0x130. 0x007D4620 111 std__map_destroy_tree_007d4620 stl Destroys all nodes in a std::map/set red-black tree. Iterates left children, recursively destroys right subtrees, frees each 0x1C-byte node, then frees sentinel. 0x007D46A0 126 std__map_destroy_tree_007d46a0 stl Destroys all nodes in a std::map/set red-black tree. Iterates left children, recursively destroys right subtrees, frees each 0x1C-byte node, then frees sentinel. 0x007D4720 129 std__vector_deallocate_007d4720 stl Deallocates std::vector internal buffer. Handles aligned allocation (>0xFFF bytes have stored original pointer at offset -4). Resets begin/end/capacity to 0. 0x007D47B0 129 std__vector_deallocate_007d47b0 stl Deallocates std::vector internal buffer. Handles aligned allocation (>0xFFF bytes have stored original pointer at offset -4). Resets begin/end/capacity to 0. 0x007D4840 192 CCharSlotEntry__scalar_dtor game_core CCharSlotEntry scalar destructor. Sets vtable, destroys report tree, destroys two strings, then destroys map tree and frees sentinel node. 0x007D4900 244 UICharSelectWnd__destructor game_core UICharSelectWnd destructor. Resets vtable, destroys CCharSlotEntry array via eh_vector_destructor, frees slot data buffer and visibility/flags buffers. Deallocates three internal vectors, destroys report tree, and calls base destructor. 0x007D4A00 155 CCharSlotEntry__destructor game_core CCharSlotEntry destructor. Destroys 3 STL strings and 2 arrays of 5 STL strings each (at offsets 0x80 and 0x8). 0x007D4AA0 163 CCharSlotEntry__vector_deleting_dtor game_core Vector deleting destructor for CCharSlotEntry. Destroys and frees array or single object. 0x007D4B50 38 CCharSlotEntry__scalar_dtor_small game_core Scalar deleting destructor for CCharSlotEntry. 0x007D4B80 268 UICharSelectWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UICharSelectWnd. Cleans up character selection UI resources. 0x007D4C90 171 UICharSelectWnd__update_pincode_button game_core Updates the pincode/2nd password button visibility for the selected character slot. Queries char data for selected slot (DAT_017304da), checks if pincode (field 0x9e) exists, and shows/hides the confirmation button accordingly. Calls refresh (virtual 0x98). 0x007D4D40 227 UICharSelectWnd__create_sprite_for_slot game_core Creates a character sprite preview for a specific slot. Gets character data and appearance info (job, head, body, etc.), builds a SpriteLayerNode with all visual parameters, then calls render function. Destroys the temporary entry afterward. 0x007D4E30 145 UICharSelectWnd__update_slot_selection game_core Updates the slot selection state. Given a slot index, calculates page position, shows the slot UI element, checks visibility flags and deletion marks. If slot is selectable, enables visual selection highlight (sets field 0x2b=1) and refreshes. 0x007D4ED0 297 UICharSelectWnd__update_slot_deletion_mark game_core Updates the deletion time marker for a character slot. If char has a pending delete reservation (field 0x9e > 0), opens the delete timer resource and sets countdown icon dimensions (0x10 x 0x10). Otherwise clears the marker. Returns 1 on success, 0 if slot out of range. 0x007D5010 190 UICharSelectWnd__draw_slot_type_labels game_core Draws "Premium" or "Billing" service type labels on character slots. Checks slot index against Premium/Billing slot ranges (DAT_01737ff8/01737ffc/01738000) and renders the appropriate label text plus a "Service" subtitle. 0x007D50D0 91 UICharSelectWnd__set_char_name game_core Sets the character name string for display. Copies source string into the field at offset 0xA8 of the object. 0x007D5130 66 UICharSelectWnd__handle_page_button_click game_core Handles page navigation button clicks. Message 0x1A0 = previous page button, 0x1A1 = next page button. Dispatches to respective button show/hide virtual calls (0xD4). 0x007D5180 201 UICharSelectWnd__load_slot_from_registry game_core Loads the last selected character slot from Windows Registry. Reads CURSLOT value from HKEY_LOCAL_MACHINE, divides by slots_per_page to get page index and slot offset. Validates page index against max pages. Sets fields 0x11C (current page) and 0x120 (selected slot on page). 0x007D5250 84 UICharSelectWnd__has_pending_actions game_core Checks if there are pending actions in the action queue (deque). Returns 1 if the last entry in the deque is non-null, 0 otherwise. Used to prevent user input during pending operations. 0x007D52B0 8317 UICharSelectWnd__OnCreate game_core UICharSelectWnd::OnCreate - Main initialization for the character select screen. Too large to decompile (>5000 bytes). Sets up UI elements, slot grid, buttons, character sprites. 0x007D7330 1035 UICharSelectWnd__refresh_all_slots game_core Refreshes all character slots on the current page. Sets background color, iterates slots_per_page times. For each slot: queries character data from session, draws Premium/Billing labels, creates sprite preview if character exists and slot is visible, updates slot selection state and deletion markers. Also updates pincode button state for selected char. 0x007D77D0 207 UICharSelectWnd__OnMessage game_core UICharSelectWnd message handler. Handles: 0xB8=enter game (with blocked char check, anticheat sweep), 0xB9=back to login (with hotkey save), 0xCB=slot click, 0xCC=slot select (with move/delete checks), 0xD3=make character, 0x11C/0x11E=error display, 0x13C=page prev, 0x13D=page next, 0x15F/0x160=char info popup, 0x197=rename char, 0x198=move slot, 0x1A0-1A2=page buttons, 0x1B0-1B4=slot operations. Also handles keyboard nav (0x12-0x15 arrow keys). 0x007D9090 66 UICharSelectWnd__handle_page_button_click2 game_core Handles page button click messages (duplicate handler). 0x1A0 = show previous page button, 0x1A1 = show next page button. Dispatches to button visibility virtual call (0xD4). 0x007D90E0 373 UICharSelectWnd__update_button_states game_core Updates button visibility states based on selected slot. Checks if selected slot has a character, and whether it has a deletion reservation. Shows/hides the enter button (0xC0), pincode button (0x100), and delete confirm button (0xC4) accordingly. Queries pincode service state for unlock decisions. 0x007D9310 1179 UICharSelectWnd__update_char_info_display game_core Updates the character info display panel for the selected slot. Shows character portrait, job name, base/job levels, STR/AGI/VIT/INT/DEX/LUK stats, and map name. Updates slot availability visual indicator (available vs locked). Calls update_button_states at the end. 0x007D97B0 118 UICharSelectWnd__save_slot_to_registry game_core Saves the currently selected character slot index to Windows Registry. Writes CURSLOT value (page * slots_per_page + offset) to HKEY_LOCAL_MACHINE under the RO client registry path. 0x007D9830 3 identity_passthrough_007d9830 crt Identity passthrough function - returns its parameter unchanged. Used as a trivial converter/adapter. 0x007D9840 3 identity_passthrough_007d9840 crt Identity passthrough function - returns its parameter unchanged. Used as a trivial converter/adapter. 0x007D9850 10 std__vector_xlength_error_007d9850 stl Throws std::length_error with "vector too long" message. Called when a vector exceeds maximum size. 0x007D9860 10 std__vector_xlength_error_007d9860 stl Throws std::length_error with "vector too long" message. Called when a vector exceeds maximum size. 0x007D9870 62 deallocate stl std::allocator::deallocate for 4-byte element types. Handles aligned deallocation for large allocations (>0xFFF bytes). 0x007D98B0 62 deallocate stl std::allocator::deallocate for 4-byte element types. Handles aligned deallocation for large allocations (>0xFFF bytes). Duplicate of deallocate at 007d9870. 0x007D98F0 93 crt_vsprintf_s_wrapper crt CRT vsprintf_s wrapper. Calls __stdio_common_vsprintf_s (secure variant) with 0x80 max buffer size. Returns formatted string length or -1 on error. 0x007D9960 84 UICharSlotWnd__ctor game_core UICharSlotWnd constructor. Calls base dialog window constructor, then sets vtable to UICharSlotWnd vtable. Object size is 0x120 bytes. 0x007D99C0 131 UICharSlotWnd2__ctor game_core UICharSlotWnd2 constructor. Takes two parameters (slot index and sex). Calls base dialog constructor, sets vtable to UICharSlotWnd2 vtable. Stores params at +0x48 (slot index) and +0x49 (sex). Zeroes +0x4A, +0x4B, +0x4C. Object size is 0x134 bytes. 0x007D9A50 1498 UICharMakeWnd__init_appearance game_core UICharMakeWnd appearance initialization. Sets vtable. Constructs 5+5 STL string arrays for sprite resource paths (head palette, body palette, weapon, body, shield, IMF). Reads server appearance config (hair colors, cloth colors, head styles, sex). Sets default stat multipliers (100), slot index from DAT_017304da. Builds initial sprite resource paths for job 0 / default sex. Initializes animation timing (timeGetTime) and movement state fields. Object size 0x36C. 0x007DA030 71 UICharSlotWnd__dtor game_core UICharSlotWnd destructor. Resets vtable, calls base dialog destructor. 0x007DA080 71 UICharSlotWnd2__dtor game_core UICharSlotWnd2 destructor. Resets vtable, calls base dialog destructor. 0x007DA0D0 95 UICharMakeWnd__dtor game_core UICharMakeWnd destructor. Sets vtable, destroys char slot entry arrays, calls base window destructor. 0x007DA130 99 UICharSlotWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UICharSlotWnd. 0x120 bytes. Calls base UI window destructor. 0x007DA1A0 99 UICharSlotWnd2__scalar_deleting_dtor game_core Scalar deleting destructor for UICharSlotWnd2. 0x134 bytes. Calls base UI window destructor. 0x007DA210 119 UICharMakeWnd__scalar_deleting_dtor game_core UICharMakeWnd scalar deleting destructor. Object size 0x36C bytes. Destroys char slot entries and base window, optionally frees memory. 0x007DA290 176 UICharMakeWnd__CreateSlotPanel game_core Creates the character slot panel widget (0x120 bytes) within UICharMakeWnd. Allocates UICharSlotWnd, sets size 0x24x0x25, adds as child, sends init message 0x28. 0x007DA340 3304 UICharMakeWnd__OnCreate game_core UICharMakeWnd OnCreate - initializes character creation UI. Creates: back button (msg 0xB9), confirm button with name validation (msg 0xB8), cancel button (msg 0xB9), name text input field, job class scroll widget (msg 0xE3/0xE2 for arrows), 24 character slot preview widgets (4x6 grid, msg 0x20C), sex toggle buttons (msg 0x20D), 9 hair style buttons (msg 0x1EF), appearance label text. Sets default message ID to 0xB8. 0x007DB030 718 UICharMakeWnd__OnDraw game_core UICharMakeWnd OnDraw handler - renders the character creation preview. Draws background sprite, server name label, and two sprite layers for character preview (body + accessory). Loads IMF, head, body, and accessory sprite resources. Uses sprite frame data and tile cache for rendering at calculated offsets. 0x007DB300 20 UICharMakeWnd__thunk_Show game_core Thunk - delegates Show call to internal panel at +0x10, vtable offset 0x68. 0x007DB320 20 UICharMakeWnd__thunk_Hide game_core Thunk - delegates Hide call to internal panel at +0x10, vtable offset 0x64. 0x007DB340 20 UICharMakeWnd__thunk_Refresh game_core Thunk - delegates Refresh call to internal panel at +0x10, vtable offset 0x7C. 0x007DB360 20 UICharMakeWnd__thunk_Enable game_core Thunk - delegates Enable call to internal panel at +0x10, vtable offset 0x70. 0x007DB380 20 UICharMakeWnd__thunk_Disable game_core Thunk - delegates Disable call to internal panel at +0x10, vtable offset 0x6C. 0x007DB3A0 20 UICharMakeWnd__thunk_SetFocus game_core Thunk - delegates SetFocus call to internal panel at +0x10, vtable offset 0x74. 0x007DB3C0 20 UICharMakeWnd__thunk_SetPosition game_core Thunk - delegates SetPosition call to internal panel at +0x10, vtable offset 0x78. 0x007DB400 553 UICharMakeWnd__OnMessage_slot game_core UICharMakeWnd slot message handler for UICharSlotWnd2 child widgets. Handles message 0xD (selection state toggle - updates button textures for selected/deselected state), and message 0x28 (load sprite preview - builds job/sex-dependent bitmap path and loads textures into slot panel widget at +0x4B). Falls through to base handler for other messages. 0x007DB630 828 UICharMakeWnd__ProcessMessage game_core UICharMakeWnd ProcessMessage - handles character creation UI interactions. Message 0: copy name from text input to char data. Message 6/0xB8: validate character name (min 4 chars, no banned strings, no gravity/GM markers, ASCII-only check, no control chars, no leading/trailing spaces, max 23 chars), then send create packet 0x2721 with appearance data. 0xB9: cancel and unregister window. 0xCC: job class tab selection (updates slot widgets). 0xD7/0x1EF: hair style picker. 0xE2/0xE3: appearance prev/next arrows. 0x20C: slot grid click (updates weapon/equip display). 0x20D: sex toggle (male/female). 0x007DBFD0 762 UICharMakeWnd__UpdateSpritePaths game_core UICharMakeWnd UpdateSpritePaths - rebuilds all sprite resource paths for the character creation preview. Updates head palette, body palette, weapon sprite (type0 + type1), body sprite, shield sprite, and IMF resource paths from current job ID (+0x264), sex (+0x2BE), weapon ID (+0x266), shield ID (+0x278), and equip ID (+0x27A). Called when appearance changes (job selection, sex toggle, equipment). 0x007DC2D0 104 CCharSlotList__destroy_range game_core Destroys a range of char slot entries (0x38 bytes each). Destroys two strings per entry. 0x007DC340 588 CCharSlotList__reserve_and_copy game_core Reserves memory and copies char slot entries. STL vector-like reserve+copy for 0x38-byte entries. 0x007DC5A0 137 CCharSlotList__move_range game_core Moves a range of char slot entries from source to dest (0x38 byte stride). Copies entries and destroys remainder. 0x007DC630 113 CCharSlotEntry__copy_construct game_core Copy constructor for CCharSlotEntry. Copies two std::strings and two additional fields at +0x30 and +0x34. 0x007DC6B0 147 UICharListWnd__ctor game_core Constructor for UICharListWnd. Calls base class constructor with mode=0, sets vtable, initializes character list fields. Reads slot count from global config. 0x007DC750 173 UICharListWnd__OnCreate game_core OnCreate handler for UICharListWnd. Initializes the character list UI widget. 0x007DC800 200 CCharSlotEntry__move_construct game_core Move constructor for CCharSlotEntry (0x38 bytes). Moves two strings and copies two trailing fields. 0x007DC8F0 174 UICharSlotDetailWnd__destroy_content game_core Destroys internal content of UICharSlotDetailWnd. 0x007DC9B0 71 UICharListWnd__dtor game_core Destructor for UICharListWnd. Sets vtable, calls base class destructor. 0x007DCA00 107 UICharSlotDetailWnd__dtor game_core Destructor for UICharSlotDetailWnd. Sets vtable, destroys sub-components, calls base destructor. 0x007DCA70 86 CCharSlotEntry__destroy_strings game_core Destroys the two std::strings in a CCharSlotEntry (name and description). 0x007DCAD0 99 UICharListWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UICharListWnd. 0xD0 bytes total size. 0x007DCB40 131 UICharSlotDetailWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UICharSlotDetailWnd. Sets vtable to UICharSlotDetailWnd vtable, deallocates vector, destroys content, calls CEffect base dtor, optionally frees 0x9C bytes if param_2 & 1. 0x007DCBD0 263 UICharListWnd__AddCharSlot game_core Adds a character slot entry to UICharListWnd. Constructs slot entry and appends to internal vector. 0x007DCCE0 371 UICharListWnd__OnDraw game_core OnDraw handler for UICharListWnd. Renders the character list with slot entries. 0x007DCE60 190 UICharListWnd__HitTestSlot game_core Hit tests mouse position against character slots. Returns slot index if hit, -1 otherwise. 0x007DCF50 899 UICharListWnd__init_children game_core Initializes UICharListWnd child widgets. Calculates remaining days from date at DAT_0138cf38+0xc. Creates a dialog widget (0x144 bytes) with button textures and message text (ID 0xBE5). Sets up 3 form text entries with color 0x313131. Creates a UICharSlotDetailWnd child (0x9C bytes) as the slot detail panel, positioned centered horizontally at y=0x55. 0x007DD2E0 1966 UICharListWnd__OnDraw_content game_core Draws the content area of UICharListWnd. Loads background sprite, draws server name text centered at top. Draws date ranges (start/end dates from DAT_0138cf38 offsets 8 and 0xC). If countdown days > 0, draws countdown text. Draws status text at bottom. If selection is active (offset 0xB8 == 1), draws selection indicator sprite at the selected slot position. Finally iterates attendance reward items (1..N), drawing each item sprite with count label in a 5-column grid layout. 0x007DDA90 280 UICharListWnd__draw_slot_background game_core Draws the background sprite for the currently selected slot entry. If the slot vector is non-empty, loads the background image resource by concatenating a path prefix with the selected slot entry's string (at offset 0x94 * 0x38 in the vector). Draws the loaded sprite at position (0,0). 0x007DDBB0 50 UICharListWnd__OnMouseOver game_core Mouse over handler for char list. Checks if hovered slot matches current selection, sets blink state to 2 and triggers redraw. 0x007DDBF0 54 UICharListWnd__OnMouseClick game_core Mouse click handler for char list. Checks if clicked slot matches current, sends message (6, 0xB8) to parent with slot index. 0x007DDC30 315 UICharListWnd__on_slot_activate game_core Handles activation of a character list slot. Gets the URL string from the selected slot entry (offset 0x18 of 0x38-byte entry). If URL is non-empty (string length != 0), opens it via ShellExecuteA with "open" verb. Otherwise looks up the window type from the slot entry (offset 0x30): if type is 0x13E, sends a special message (0x143), else creates a game window by type via CGameObject. 0x007DDD70 371 UICharListWnd__show_item_tooltip game_core Shows tooltip for an attendance reward item at the mouse position. Hit tests against grid slots; if valid item index, constructs a CItemDesc, looks up the item config by key (index+1), formats the item name string, and displays it via CToolTipMgr at the adjusted mouse position (accounting for parent offsets). 0x007DDF00 67 UICharListWnd__UpdateBlinkState game_core Updates blink state for selected character slot. Toggles between 0 and 1 based on time (100ms intervals). Uses timeGetTime() for animation timing. 0x007DDF50 104 UICharListWnd__AutoScrollTimeout game_core Auto-scrolls the character list after 5000ms timeout. Advances to next slot and sends message (6, 0xD7) to parent. 0x007DDFC0 250 UICharListWnd__on_item_right_click game_core Handles right-click on an attendance reward item. Hit tests against grid slots; if valid, creates a detail info window (type 0xC) via CGameObject, constructs a CItemDesc from the item config, and sends the item data (message 0x18) to the newly created window for display. 0x007DE0C0 386 UIAttendanceWnd__create_list_items game_core Creates multi-string widget items for the attendance window list. Iterates through 0x38-byte entries, allocates UIMultiStringWidget (0x124 bytes) for each, sets up button/text properties, marks current selected entry, and adds widgets to the child list vector. 0x007DE250 524 UIAttendanceWnd__OnMessage_handler game_core Message handler for the attendance window. Handles message 6 (button clicks): 0xB8 opens attendance reward dialog, 0xC9 opens URL 0x148. Handles message 0x22 (data update): executes Lua "set_checkAttendance_banner", refreshes list items, resizes window based on item count, repositions child elements. Tracks current page and arrow button visibility. 0x007DE460 170 UIAttendanceWnd__OnChildNotify game_core Child notification handler for attendance window. On message 6 with param 0xD7 (list item click): iterates child widgets, sets selected state on clicked item and deselects others. Records selection index and timestamp (timeGetTime). Calls parent OnChildNotify. 0x007DE510 22 UIAttendanceWnd__show_reward_thunk game_core Thunk that forwards to FUN_007dc2d0 with reordered parameters (param_2, param_3, this). Used as a callback in the UIAttendanceWnd context. 0x007DE530 10 std__vector_56__throw_length_error stl Throws std::length_error with "vector too long" for a vector with 0x38-byte elements. Does not return. 0x007DE540 67 std__vector_56__free_buffer stl Frees buffer for std::vector with 0x38-byte elements. Handles aligned deallocation for large buffers (>= 0x1000 bytes). 0x007DE590 34 memcpy_range_56a stl Copies a memory range [param_1, param_2) to param_3 via memcpy. Returns end of copied data in destination. 0x007DE5C0 34 memcpy_range_56b stl Copies a memory range [param_1, param_2) to param_3 via memcpy. Returns end of copied data in destination. Identical to memcpy_range_56a. 0x007DE5F0 452 std__vector_4ptr__emplace_realloc stl Reallocating emplace/insert for a std::vector of 4-byte pointers. Uses 1.5x growth factor, allocates new buffer, copies element at insertion point, moves existing elements around it, frees old buffer. 0x007DE7C0 424 std__vector_2byte__emplace_realloc stl Reallocating emplace/insert for a std::vector of 2-byte (short) elements. Uses 1.5x growth factor, allocates new buffer, copies element, moves existing elements, frees old buffer. 0x007DE990 489 std__vector_char__insert_range stl Inserts a range of bytes into a std::vector at position param_2. If capacity is sufficient, shifts existing elements and copies. Otherwise allocates new buffer with 1.5x growth, copies data around insertion point, and swaps buffers. 0x007DEC20 340 UIGridItemWnd__constructor ui_framework Constructor for a grid item window widget. Sets vtable to PTR_FUN_01127d3c, initializes grid layout parameters: cell count (0x23), spacing (0x14, 0xA, 0xA), padding (0x1E, 5, 2), and other display properties. Zeroes out item data arrays and state fields. 0x007DED80 129 std__vector_2byte__clear_and_free stl Clears and frees a std::vector with 2-byte elements. Frees buffer (handles aligned allocation), then zeroes begin/end/capacity pointers. 0x007DEE10 129 std__vector_4ptr__clear_and_free stl Clears and frees a std::vector with 4-byte (pointer) elements. Frees buffer (handles aligned allocation), then zeroes begin/end/capacity pointers. 0x007DEEA0 95 UIGridItemWnd__destructor ui_framework Destructor for the grid item window. Sets vtable, clears the pointer vector, then calls parent destructor (FUN_008a4e90). 0x007DEF00 119 UIGridItemWnd__scalar_deleting_destructor ui_framework Scalar deleting destructor for grid item window. Sets vtable, clears vector, calls parent destructor, and optionally frees this (0x118 bytes) if param_2 & 1. 0x007DEF80 474 UIGridItemWnd__toggle_item_group ui_framework Toggles visibility of a group of grid items when Ctrl is held. Gets item group ID from param_2, iterates all child items, checks if they share the same group ID (via atoi of item property string at +0xEC). Toggles group visibility based on current state of the clicked item. 0x007DF160 488 UIGridItemWnd__layout_items ui_framework Lays out grid items in rows and columns. Calculates items per row based on available width, cell size (0xB4), and margins. For each visible item (checking property string for non-empty), positions it in a grid pattern, sets visibility, and calls positioning methods. Starts from page offset (0x110 * 0x104). 0x007DF350 113 UIGridItemWnd__draw_grid_cells ui_framework Draws grid cell backgrounds/borders. Iterates through items per page (0x10C), calculates grid position based on cell size and margins, calls FUN_008a9000 for each cell position. 0x007DF3D0 170 UIGridItemWnd__get_item_group_id ui_framework Gets the group ID of a grid item by converting its property string to integer via atoi. Extracts string from item property (FUN_00ddd5a0), converts to int, and cleans up strings. 0x007DF480 161 UIGridItemWnd__collect_checked_items ui_framework Collects checked/selected item IDs into a vector of shorts. Iterates all child items, adds those with non-null pointer and checked state (offset +0x30 != 0) using their 2-byte ID at +0xEC. If count < required minimum (offset 0xDC), shows error message (msg ID 0x87A) and returns 0. Otherwise returns 1. 0x007DF530 41 UIGridItemWnd__hide_all_items ui_framework Hides all child items in the grid by calling FUN_0086af70(1) (set invisible) on each item in the child vector (offsets 0xEC-0xF0). 0x007DF560 23 UIGridItemWnd__init_and_resize ui_framework Initializes child widgets (via FUN_007df580) and resizes the grid window using dimensions from offsets +0x14 and +0x18. 0x007DF580 605 UIGridItemWnd__create_child_widgets ui_framework Creates child widgets for the grid item window: two navigation button widgets (0x120 bytes each) with sprite sets for up/down arrows (IDs 0xB8/0xB9), a scrollbar widget (0xF0), a text label widget (0xB0) with font color 0xFFFF00FF, and a sprite background widget (0xB4). Each widget is configured with bitmaps and added as child. 0x007DF7E0 73 UIGridItemWnd__serialize_item_list ui_framework Serializes the grid item list. Inserts header value 0x96E as 4 bytes, then appends the short vector data (all checked item IDs) into the output buffer via insert_range. 0x007DF830 25 UIGridItemWnd__init_and_resize_2 ui_framework Same as init_and_resize - creates child widgets and resizes using dimensions from offsets +0x14 and +0x18. Duplicate entry point. 0x007DF850 709 UIGridItemWnd__render ui_framework Renders the grid item window. Gets background colors, draws background fill, draws grid cell positions, hides all items, then for each visible item at current page offset: positions item, draws item content with item sprite/text via FUN_008a9040. Finishes with render state cleanup (FUN_008d0920). 0x007DFB20 125 UIGridItemWnd__on_item_click ui_framework Handles click on a grid item. If param_3 < 0x11, delegates to parent handler. Otherwise resolves item ID (FUN_007dfd60), finds the matching child widget, toggles its checked state, then calls toggle_item_group to update related items. 0x007DFBA0 341 UIGridItemWnd__show_item_tooltip ui_framework Shows a tooltip for a grid item at the given position. Resolves item ID, gets item property string, builds tooltip text using CItemDB__build_item_tooltip_string, formats with item resource (msg 0xB7), and displays the tooltip at the item's position via FUN_00ad6510. 0x007DFD10 66 UIGridItemWnd__on_mouse_wheel ui_framework Handles mouse wheel events for the grid item window. If scrolling is enabled (offset 0x45 != 0), scrolls up or down by clamping to max 3 rows. Sends scroll message (type 7) to the parent via virtual call. 0x007DFD60 228 UIGridItemWnd__hit_test_item ui_framework Hit tests a screen position against grid items. Converts x,y to grid cell coordinates, accounts for page offset, then checks if click is within the circular hit radius (offset 0xD8) of the cell center. Returns the item ID at +0xEC if hit, or -1 if no hit. 0x007DFE50 184 UIGridItemWnd__update_item_property ui_framework Updates a property on a grid item. Extracts item string via FUN_00ddd5a0, updates the item data, sets a secondary value, and refreshes the item display. 0x007DFF10 162 UIGridItemWnd__update_scrollbar ui_framework Updates the scrollbar state for the grid. Calculates total rows from item count and items per row, clamps current page offset (0x110) to valid range, updates max scroll range (0x114), configures scrollbar widget (0xFC) range and position, and triggers visual refresh. 0x007DFFC0 156 UIGridItemWnd__position_child_widgets ui_framework Positions child widgets (buttons, scrollbar, label, sprite) relative to the grid window dimensions. Each widget offset is hardcoded (e.g., up arrow at -0x6E,-0x19, down arrow at -0x3C,-0x19, scrollbar at -0xE,3). Updates scrollbar state after repositioning. 0x007E0060 294 UIGridItemWnd__resize_and_layout ui_framework Resizes the grid and recalculates layout. Computes visible columns and rows based on window dimensions, cell size (0x2D), margins, and padding. Clamps dimensions to min 5 and max 10 columns, min 3x and max 6x cell height. Updates stored columns (0x41), rows (0x42), and total visible cells (0x43). Calls resize callback. 0x007E0190 70 UIGridItemWnd__send_confirm_packet ui_framework Sends a confirmation packet for grid item selection. Constructs packet with ID 0x974, adds two fields via FUN_00c7d7d0, converts to network packet and sends via FUN_00c7ce30, then opens URL 0xE3. 0x007E01E0 112 UIGridItemWnd__OnMessage ui_framework Message handler for grid item window. Handles: msg 2 (toggle item group), msg 6 (button clicks - 0xB8 confirm, 0xB9/0xC9 send packet), msg 7 (scroll with page update), msg 0xE (resize request), msg 0x22 (populate items from short array, create child widgets), msg 0x3C (update item property). Returns 0. 0x007E04B0 509 UIGridItemWnd__confirm_selection ui_framework Confirms the current item selection. Collects all checked item IDs into a short vector, validates minimum count against 0xDC threshold. If valid, serializes selection (header 0x96E + item IDs) into a packet buffer, sends it via network. Shows error message (0x87A) if too few items selected. Returns success boolean. 0x007E06B0 272 UIGridItemWnd__populate_items ui_framework Populates the grid with items from a short array. Sets total item count (0x100), creates child widget objects (0x10C bytes each) for each item with properties: size 0x78x0xC, map name labels, item ID from short array at +0xEC, initially hidden, selectable flag set. Adds each to child vector and calls resize_and_layout. 0x007E07C0 305 UIGridItemWnd__show_item_tooltip_2 ui_framework Shows a tooltip for a grid item (alternate version). Same logic as show_item_tooltip: extracts item property, builds tooltip, formats with msg 0xB7, displays via FUN_00ad6510. 0x007E0900 39 UIGridItemWnd__scroll_page ui_framework Scrolls the grid by a delta amount (param_2). Adds delta to page offset (0x44/0x110), updates scrollbar, and triggers visual refresh via virtual call at +0x98. 0x007E0930 10 std__vector_throw_length_error_2 stl Throws std::length_error with "vector too long". Does not return. Duplicate instance. 0x007E0940 10 std__vector_throw_length_error_3 stl Throws std::length_error with "vector too long". Does not return. Duplicate instance. 0x007E0950 58 std__vector_2byte__free_buffer stl Frees buffer for std::vector of 2-byte (short) elements. Handles aligned deallocation for large buffers (>= 0x1000 bytes). 0x007E0990 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007E09D0 244 CSkinManager__ctor game_core Constructor for the skin manager. Sets vtable to PTR_FUN_01127ef8, initializes string field with SSO (small string optimization, buffer 0xF), zeroes out data fields (0x8-0x13). Copies default skin name from global DAT_01334680. 0x007E0AD0 219 CSkinManager__dtor game_core Destructor for the skin manager. Sets vtable, checks for temporary skin directory (sprintf "%s/_tmpskin_"), deletes it if it exists (via FUN_00af45e0/_access), unregisters from managers, destroys string data. 0x007E0BB0 35 CSkinManager__scalar_deleting_dtor game_core Scalar deleting destructor for skin manager. Calls destructor, optionally frees this (0x50 bytes) if param_2 & 1. 0x007E0BE0 92 CSkinManager__cleanup_temp_skin game_core Cleans up temporary skin directory. Formats path as "%s/_tmpskin_" using base directory (DAT_0173ad78), checks if it exists via _access, and deletes it via FUN_00af45e0 if found. 0x007E0C40 765 CSkinManager__extract_skin_archive game_core Extracts a selected skin archive. Checks if skin is valid (not -1), has data, and hasn't been extracted yet. Builds path from skin name (element from 0x18-byte string vector at offset 0x20), creates directory structure via _mkdir if needed, and spawns "runzip.exe" to extract the skin archive. Marks skin as extracted in the status array at offset 0x38. 0x007E0F40 118 CSkinManager__get_color_from_sprite game_core Gets a color value from a sprite at a given coordinate. Loads a sprite resource (different path based on param_2 flag), samples pixel at (x*4+2, y*4+2), and returns the color in BGR format with channel swapping (R,G,B reordered). Returns 0 if sprite not found. 0x007E0FC0 84 CColorPicker__GetPixelRGB game_render Gets RGB color values at a specific pixel position from the color picker sprite. Extracts R, G, B channels from the packed pixel value. 0x007E1020 49 CStringTable__GetCurrentName game_core Gets the current name string from the string table. Uses index at +0x1C, returns from array at +0x20 (0x18 byte stride). Returns global default if index is -1. 0x007E1060 49 CStringTable__GetCurrentDesc game_core Gets the current description string from the string table. Uses index at +0x1C, returns from array at +0x2C (0x18 byte stride). Returns global default if index is -1. 0x007E10A0 58 CStringTable__GetDescByIndex game_core Gets description string by explicit index from array at +0x2C (0x18 byte stride). Returns global default if index is -1. 0x007E10E0 58 CStringTable__GetNameByIndex game_core Gets name string by explicit index from array at +0x20 (0x18 byte stride). Returns global default if index is -1. 0x007E1120 4111 CSkinSelector__scan_skin_directory game_core Scans the skin directory (\\skin\\*) for available skins. Finds directories and .zip files, builds display name lists. For zip files, extracts preview path to tmpskin dir. Compares each skin name against currently selected skin to find the selected index. Populates skin name and zip-flag vectors. 0x007E2130 8 CSkinSelector__has_valid_selection game_core Returns true if the skin selector has a valid selection (index at +0x1C is non-negative, i.e. not -1/0xFFFFFFFF). Used to gate skin operations that require a selection. 0x007E2140 40 CSkinSelector__set_selected_index game_core Sets the currently selected skin index. If the index changed, triggers a resource reload. 0x007E2170 39 std__vector_int__push_back_007e2170 stl Pushes an integer value onto a std::vector. Handles reallocation if at capacity. 0x007E21A0 37 CLinkedList__ctor game_core Constructs a linked list with a self-referencing sentinel node (0xc bytes). Used for navigator window items. 0x007E21D0 111 CNavigatorWnd__ctor ui_windows CNavigatorWnd constructor. Sets vtable (PTR_01127f6c), initializes count to 0, allocates sentinel linked list node (0xc bytes) for the window list. 0x007E2240 116 CNavigatorWndGroup__ctor ui_windows CNavigatorWndGroup constructor. Sets vtable (PTR_01127f64), initializes window count, constructs 4 linked lists (one per side: left/right/top/bottom) via _eh_vector_constructor_iterator_, clears selection index. 0x007E22C0 67 CLinkedList__free_sentinel_0xc game_core Frees a linked list sentinel node (0xc bytes) if it was allocated. 0x007E2310 78 CLinkedList__free_sentinel_0xc_alt game_core Frees a linked list sentinel node (0xc bytes) if allocated. Similar to 007e22c0. 0x007E2360 103 CLinkedList__clear_and_free_all game_core Clears all nodes from a linked list, then frees the sentinel node. Walks the linked list, freeing each 0xc-byte node. 0x007E23D0 225 CNavigatorWnd__dtor ui_windows CNavigatorWnd destructor. Sets vtable, deletes all child windows via their scalar deleting dtors, frees linked list nodes, and frees the sentinel node. 0x007E24C0 84 CNavigatorWndGroup__dtor ui_windows CNavigatorWndGroup destructor. Sets vtable, destroys 4 side-linked lists via _eh_vector_destructor_iterator_. 0x007E2520 35 CNavigatorWnd__scalar_deleting_dtor ui_windows CNavigatorWnd scalar deleting destructor. Calls CNavigatorWnd__dtor then optionally frees 0x10 bytes. 0x007E2550 109 CNavigatorWndGroup__scalar_deleting_dtor ui_windows CNavigatorWndGroup scalar deleting destructor. Calls dtor (destroys 4 linked lists), then optionally frees 0x2c bytes. 0x007E25C0 167 CNavigatorWnd__add_window_to_group ui_windows Adds a window to a snap group. If no group exists and the global snap flag (DAT_013346a8) is set, creates a new CNavigatorWndGroup, sets the window ID, and adds it to the master list. 0x007E2670 174 CNavigatorWnd__register_window ui_windows Registers a window with the navigator snap system. Creates a new CNavigatorWndGroup if needed, rebuilds child links, and adds to the master list. Skips if already registered. 0x007E2720 79 CNavigatorWnd__refresh_dependent_windows ui_windows Iterates all windows in the snap group and calls each one's virtual refresh method to update their positions after a snap operation. 0x007E2770 320 CNavigatorWnd__check_adjacency ui_windows Checks adjacency between two window groups. Compares position and size to determine edge overlap. Returns 0=left, 1=right, 2=top, 3=bottom, -1=not adjacent. 0x007E28B0 35 CNavigatorWnd__clear_all_snap_flags ui_windows Clears the snap flag (offset 0x28) on all groups in the master window list. 0x007E28E0 30 CNavigatorWnd__add_to_snap_list ui_windows Adds a window to a snap side list if the side index is not -1. 0x007E2900 86 CNavigatorWnd__snap_pair_to_lists ui_windows Snaps a pair of windows. Removes both from existing lists, adds primary to snap list, and conditionally adds secondary based on global lookup table at DAT_01334698. 0x007E2960 88 CNavigatorWndGroup__remove_from_all_lists ui_windows Removes a window from all 4 side lists in the group. Searches each linked list for the matching pointer and unlinks/frees the node. 0x007E29C0 67 CNavigatorWnd__rebuild_all_children ui_windows Rebuilds all children in the snap group. Iterates the master list and calls SpriteLayer__rebuild_child_links for each group that has children. 0x007E2A10 233 CNavigatorWnd__calculate_snap_offset ui_windows Calculates snap offset for a window group. Iterates through children, validates dependencies, computes absolute positional offsets, and returns max x/y displacement. 0x007E2B10 85 CNavigatorWndGroup__accumulate_height ui_windows Iterates children in a CNavigatorWndGroup and sums up their heights (field at offset 0x18). Returns total accumulated height. 0x007E2B70 44 CNavigatorWnd__find_group_by_id ui_windows Finds a CNavigatorWndGroup by window ID in the master list. Returns the group pointer or 0 if not found. 0x007E2BA0 127 CNavigatorWnd__search_and_validate_snap ui_windows Searches for and validates snap configuration between two windows. Clears all snap flags, finds both groups in the master list, then validates the dependency tree. 0x007E2C20 97 CNavigatorWndGroup__has_dependency ui_windows Recursively checks if a CNavigatorWndGroup has a dependency on another group. Uses visit flag (offset 0x28) to prevent infinite recursion. Checks all 4 side lists. 0x007E2C90 97 SpriteLayer__search_dependency_tree game_core Searches 4 dependency lists of a sprite layer node for a target, returns 1 if found 0x007E2D00 26 SpriteLayer__check_parent_id game_core Returns true if this layer node's parent ID matches the given ID 0x007E2D20 29 SpriteLayer__check_grandparent_id game_core Returns true if this layer node's grandparent ID matches the given ID 0x007E2D40 62 check_circular_range_overlap game_core Tests if two ranges overlap considering circular/wrapping boundaries 0x007E2D80 44 SpriteLayer__find_child_by_id game_core Searches child list for a node with matching parent ID, returns true if found 0x007E2DB0 70 SpriteLayer__is_ancestor_recursive game_core Recursively checks if target is an ancestor of this node via children list at offset 0x10 0x007E2E00 106 SpriteLayer__is_sibling_or_descendant game_core Checks if target is a sibling child or descendant of this node's parent 0x007E2E70 101 SpriteLayer__is_child_or_descendant game_core Checks if target is a direct child or recursive descendant of this node 0x007E2EE0 58 SpriteLayer__check_total_offset_match game_core Checks if parent's offset minus param equals a global offset value at DAT_01389638+0x2c 0x007E2F20 50 SpriteLayer__check_combined_offset game_core Returns true if parent's offset_0x20 + offset_0x18 equals the computed layer offset 0x007E2F60 108 SpriteLayer__validate_child_dependency game_core Validates if a child with given ID exists and passes dependency tree search 0x007E2FD0 481 SpriteLayer__propagate_offset_to_children game_core Propagates position offset changes through sprite layer tree with direction and validation 0x007E31C0 109 SpriteLayer__apply_offset_recursive game_core Recursively applies x/y offset to sprite layer node and its children in given direction 0x007E3230 338 SpriteLayer__apply_offset_with_validation game_core Applies offset to sprite layer node with ancestor validation and direction reversal logic 0x007E3390 88 SpriteLayer__notify_children_position game_core Notifies all valid children of parent ID change by calling vtable+0x34 with new position 0x007E33F0 205 SpriteLayer__update_parent_position game_core Updates parent sprite position accounting for maximum child offset and notifies children 0x007E34C0 310 SpriteLayer__rebuild_child_links game_core Removes old links and rebuilds child dependency links between sprite layer nodes 0x007E3600 100 SpriteLayer__clear_all_children game_core Destroys all child nodes, frees list memory, and resets parent and count to zero 0x007E3670 137 SpriteLayer__remove_child_by_id game_core Removes a child node by ID from the layer's child list and clears parent if it was active 0x007E3700 165 SpriteLayer__list_push_back game_core Pushes a new node to the back of a linked list with max size check (0x15555555) 0x007E37B0 166 SpriteLayer__list_insert_before game_core Inserts a new node before the specified position in a linked list 0x007E3860 1151 CCharSlotEntry__ctor game_core Constructor for CCharSlotEntry (sprite layer rendering entry). Sets vtable to CCharSlotEntry__scalar_dtor_small. Initializes 20+ fields including body part types, sprite indices, and priority data. Calls Lua "IsHelmRobe" and "TB_Layer_Priority" scripts. Builds priority map via STL red-black tree with keys for equipment slots (3=weapon, 4=shield, 5=head). Also inserts sprite part index via CEntity__map_insert_or_get_sprite_part. 0x007E3CE0 234 SpriteLayer__map_find_or_insert game_core Finds or inserts a key into the layer priority map, returns pointer to value at offset+0x14 0x007E3DD0 132 SpriteLayer__map_decrement_iterator game_core Decrements a red-black tree iterator to the previous node in order 0x007E3E60 2058 CSpriteRenderer__render_sprite_layers game_core Main sprite layer rendering function. Iterates through sprite layer linked list, resolves sprite resources, calculates frame positions with offsets (including Doram offset from OffsetItemPos), and blits sprites to the render surface. Handles both normal and mirrored rendering modes. 0x007E4680 1687 CSpriteRenderer__build_layer_priority_map game_core Builds a priority-ordered map of sprite layers for rendering. Creates two maps with direction-dependent layer ordering (keys 3-6 for body parts). Handles Doram special case and GetLayerPriority Lua script override. Returns sorted linked list for render order. 0x007E4D40 316 CSpriteRenderer__get_frame_data game_core Gets sprite frame data for a specific layer, resolving the sprite resource and returning frame position/size information. 0x007E4E80 296 CSpriteRenderer__get_frame_data_alt game_core Alternative frame data getter. Similar to 007e4d40 but with different parameter handling for secondary sprite layers. 0x007E4FB0 357 CSpriteRenderer__check_draw_on_top game_core Checks whether the sprite should be drawn on top via Lua script. Calls "DrawOnTop" or "New_DrawOnTop" (when DAT_0173353c flag is set, uses extended version with job ID remapping). Returns 1 (draw on top) or 0 (normal draw order). Handles Doram special case with job ID conversion. 0x007E5120 104 CSpriteRenderer__get_layer_sprite_info game_core Gets sprite info (resource pointer and action data) for a specific layer index in the render pipeline. 0x007E5190 375 CSpriteRenderer__resolve_sprite_position game_core Resolves sprite position by looking up anchor points and computing offset from reference frame. Used for positioning accessory sprites relative to body. 0x007E5310 415 CSpriteRenderer__calculate_garment_offset game_core Calculates garment (robe) sprite offset relative to the body sprite. Handles directional offsets and special cases for different garment types. 0x007E54B0 390 CSpriteRenderer__compute_head_offset game_core Computes head sprite offset relative to body. Looks up head anchor points from body frame data to properly position the head sprite. 0x007E5640 196 CSpriteRenderer__get_sprite_resource game_core Gets the loaded sprite resource for a given layer. Constructs resource path and looks it up in the resource manager. 0x007E5710 100 CSpriteRenderer__lookup_sprite_action game_core Looks up the action index for a sprite by checking the action array bounds in the loaded sprite resource. 0x007E5780 231 CSpriteRenderer__validate_action_frame game_core Validates that a given action/frame index is within bounds for the sprite resource. Returns clamped values if out of range. 0x007E5870 377 CSpriteRenderer__initialize_layer_state game_core Initializes sprite layer state for rendering. Resets position offsets (0x88/0x8c/0x90 to 0), calls Lua "IsHelmRobe" and "TB_Layer_Priority" scripts, invokes check_draw_on_top to determine draw order. Stores draw-on-top result at offset 0x45. Sets head/body/weapon/shield type fields (offsets 0x1c-0x24) from layer data. 0x007E59F0 27 CSpriteRenderer__get_layer_count game_core Returns the number of sprite layers for the current render configuration. 0x007E5A30 2874 CSpriteRenderer__build_render_list game_core Builds the complete render list for sprite layers. Processes all visible layers, resolves resources, and creates the ordered draw list. Size: 2874 bytes. 0x007E6590 95 STL_aligned_alloc_0c_elements stl STL aligned memory allocator for arrays of 0xC-byte elements (linked list nodes). Allocates count*0xC bytes with 32-byte alignment for large allocations (>=0x1000). 0x007E65F0 95 STL_aligned_alloc_18_elements stl STL aligned memory allocator for arrays of 0x18-byte elements (tree nodes). Allocates count*0x18 bytes with 32-byte alignment for large allocations (>=0x1000). 0x007E6650 102 STL_aligned_alloc_1c_elements stl STL aligned memory allocator for arrays of 0x1C-byte elements. Allocates count*0x1C bytes with 32-byte alignment for large allocations (>=0x1000). Same pattern as 007e6590 (0xC-byte) and 007e65f0 (0x18-byte). 0x007E66C0 34 STL_uninitialized_copy_0c stl STL uninitialized_copy for 0xC-byte elements. Copies memory range [first, last) to destination via memcpy and returns end of destination. 0x007E66F0 34 STL_uninitialized_copy_18 stl STL uninitialized_copy for 0x18-byte elements. Copies memory range [first, last) to destination via memcpy and returns end of destination. 0x007E6720 452 std__vector_ptr__emplace_reallocate_007e6720 stl std::vector emplace with reallocation for pointer elements. Grows by 1.5x capacity. 0x007E68F0 365 CRefineWnd__ctor ui_windows Constructor for CRefineWnd (equipment refinement window). Inherits from UIWindowBase. Sets vtable to CRefineWnd, initializes refinement-related fields: selection index (-1), success rate (200), cost (100), and various state flags. Calls CItemInfoMgr__destroy_nodes_recursive_alt for item node init. 0x007E6A60 84 CRefineItemSlotView__ctor game_core Constructor for CRefineItemSlotView. Inherits from CDialogWnd (via full_ctor). Sets vtable to CRefineItemSlotView__scalar_dtor. 0x007E6AC0 101 CRefineMaterialView__ctor game_core Constructor for CRefineMaterialView. Inherits from CDialogWnd (via full_ctor). Sets vtable to CRefineMaterialView__scalar_dtor. Initializes two extra fields at offsets 0x48 and 0x49 to zero. 0x007E6B30 84 CRefineResultView__ctor game_core Constructor for CRefineResultView. Inherits from CDialogWnd (via full_ctor). Sets vtable to PTR_CRefineResultView__scalar_dtor. 0x007E6B90 152 CRefineItemListView__free_item_vector game_core Frees the item vector (element size 0x11/17 bytes). Deallocates memory and zeroes pointers. 0x007E6C30 129 CRefineWnd__free_result_vector ui_windows Frees the result/status vector (element size 4 bytes). Deallocates memory and zeroes pointers. 0x007E6CC0 151 CRefineWnd__dtor ui_windows Destructor for CRefineWnd. Sets vtable, destroys strings, frees item and result vectors, destroys base class. 0x007E6D60 71 CRefineItemSlotView__dtor game_core Destructor for CRefineItemSlotView. Sets vtable and destroys base UIWindow. 0x007E6DB0 71 CRefineMaterialView__dtor game_core Destructor for CRefineMaterialView. Sets vtable and destroys base UIWindow. 0x007E6E00 71 CRefineResultView__dtor game_core Destructor for CRefineResultView. Sets vtable and destroys base UIWindow. 0x007E6E50 175 CRefineWnd__scalar_dtor ui_windows Scalar deleting destructor for CRefineWnd (size 0x228). Calls dtor and conditionally frees memory. 0x007E6F00 99 CRefineItemSlotView__scalar_dtor game_core Scalar deleting destructor for CRefineItemSlotView (size 0x120). Calls dtor and conditionally frees memory. 0x007E6F70 99 CRefineMaterialView__scalar_dtor game_core Scalar deleting destructor for CRefineMaterialView (size 0x128). Calls dtor and conditionally frees memory. 0x007E6FE0 99 CRefineResultView__scalar_dtor game_core Scalar deleting destructor for CRefineResultView (size 0x120). Calls dtor and conditionally frees memory. 0x007E7050 933 CRefineWnd__build_requirements_list ui_windows Builds the refine requirements checklist. Checks: item selected (0xEED if none), item refinable (0xEEE if not), material availability (0xE7B/0xE7C), zeny cost (0xE7D), weight limit (0xE7E), success rate threshold (0xE80/0xEEE if >=100%), item level requirement (0xE81). Appends status codes to the result vector. 0x007E7500 88 CRefineWnd__on_refine_button_click ui_windows Handles refine button click. Checks if click is within the refine area (x: 0x35-0x63, y: 0x72-0xA0) and if param4 indicates a valid click (==1), then calls virtual method at offset 0x94 with action 0x17. Also notifies another object via virtual call. 0x007E7560 319 CRefineWnd__reset_state ui_windows Resets the refine window state. Clears item description, resets selected item index to -1, clears material/catalyst slots, resets refine mode flags, records current time via timeGetTime, and calls virtual reset methods on child views. 0x007E76A0 74 CRefineWnd__get_selected_item_property ui_windows Gets a property value (offset +8) from the currently selected item in the refine item list. Returns 0 if no item is selected or index is out of bounds. Items are 0x11 bytes each in the vector. 0x007E76F0 74 CRefineWnd__hit_test_slot_index ui_windows Hit-tests a screen coordinate against 3 material slot positions. Returns slot index 0-2 if the point falls within one of the material slots (spaced 0x28 apart starting at y=0x66), or -1 if no hit. X range: 0x9E-0x189. 0x007E7740 59 CRefineWnd__calc_success_rate ui_windows Calculates the refine success rate percentage. Base rate from field +0x118, adds bonus from (field +0x114 / field +0xFC) * field +0x104. Clamps result to max 100. Returns 0 if refining is not active. 0x007E7780 1042 CRefineWnd__create_child_windows ui_windows Creates the refine UI child windows: main item display (0xD0 bytes, position 0x159x299), item list view (+0xB4, position 0x23x0x123), material view (+0xB8, position 0x9Ex0xE1), slot view (+0xBC, position 0x9Ex0xF0), and a text/button view (position 0x8Cx100). Sets up message handlers for each child window. 0x007E7BA0 3515 CRefineWnd__render_ui ui_windows Renders the refine UI. Draws common elements (background texts), then based on mode (0=no item, 1=refining, 2=result): shows item slots with names/descriptions, material list with requirements, refine status messages, and success rate display. Iterates over item vector to draw slot entries at y-offsets spaced 0x28 apart. 0x007E8990 43 CRefineWnd__on_click ui_windows OnClick handler for refine window. Checks if click position is within refine area bounds (x: 0x35-0x63, y: 0x72-0xA0) and if refining is active, then calls reset_state to reinitialize. 0x007E89C0 107 CRefineWnd__on_right_click ui_windows Right-click handler for refine window. If clicking header area (y<0x26, x>0x8D), delegates to drag handler. If in refine mode and clicking item area, sends refine request packet (0x21) with item info. 0x007E8A30 254 CRefineWnd__on_mouse_move ui_windows Mouse move handler. Delegates to drag if in header. Otherwise, hit-tests material slot positions (3 slots), selects hovered slot, shows warning message if item has catalyst, and triggers redraw. 0x007E8B30 116 CRefineWnd__update_hover_slot ui_windows Updates the hover slot index (+0xE8) based on mouse position. Hit-tests against 3 material slot positions (x: 0x9E-0x189, y: 0x66-0xDB, slots spaced 0x28 apart). Sets -1 if no slot hit. 0x007E8BB0 260 CRefineWnd__update_tooltip ui_windows Updates the tooltip text for the refine window. Gets formatted string with item name (msg 0xF88), sets tooltip position with offset (0, -20), and displays via tooltip manager. 0x007E8CC0 603 CRefineWnd__on_timer_tick ui_windows Timer tick handler for refine animation. Manages frame advancement (mode 0=6 frames, mode 1=6, mode 2=5). After 3000ms in result mode (mode 2), shows result message (0xE76-0xE7A based on result type) and resets. Also checks if refine button should be enabled/disabled based on item validity. 0x007E8FB0 540 CRefineWnd__on_hover_show_item_info ui_windows Hover item info display. Shows item tooltip when hovering over material slots or catalyst slot (0xC3-0xDB, 0xE4-0xFC). Also shows tooltip for main refine item slot. Uses tooltip window (type 0xC) with virtual call 0x94. 0x007E91D0 1139 CRefineWnd__on_message ui_windows Main message handler for refine window. Handles: msg 6/0x117=add catalyst material, 6/0xB8=start refine (sends packet 0xB5B), 6/0xB9\|0xC9=cancel/close (packet 0xB5C), 6/0x118=remove catalyst, 6/0x1FE=open URL, 0x17=item placed (validates and sends packet 0xB59). Checks refinability, level, and count limits. 0x007E9650 543 CRefineWnd__set_item_data ui_windows Sets refine item data from server. Copies item desc, material list (0x11 bytes per entry), refine parameters (zeny cost, material count, catalyst info). Transitions to refine mode (mode=1), records timestamp, triggers redraw. 0x007E9910 56 CRefineItemSlotView__set_enabled game_core Sets enabled state of the refine item slot view. When disabled (param=0), clears hover window. Toggles visibility flag and updates internal enabled state. 0x007E9950 56 CRefineMaterialView__set_enabled game_core Sets enabled state of the refine material view. When disabled (param=0), clears hover window. Toggles visibility flag and updates internal enabled state. 0x007E9990 56 CRefineResultView__set_enabled game_core Sets enabled state of the refine result view. When disabled (param=0), clears hover window. Toggles visibility flag and updates internal enabled state. 0x007E99D0 97 CRefineWnd__set_refine_mode ui_windows Sets the refine mode (0=idle, 1=refining, 2=result). Records timeGetTime timestamp, sets animation frame to 1, updates parent window visibility flag. If mode==2 (result), records result display start time for 3s timeout. 0x007E9A40 289 CRefineWnd__grow_item_vector ui_windows Grows the item vector capacity (element size 0x11 bytes). Uses 1.5x growth strategy. Frees old buffer, allocates new one with alignment for large blocks (>0xFFF). Throws length_error if capacity exceeds 0xF0F0F0F. 0x007E9B70 10 std__vector_xlength_error_refine_items stl Throws std::length_error("vector too long") for refine item vector overflow. 0x007E9B80 10 std__vector_xlength_error_refine_results stl Throws std::length_error("vector too long") for refine result vector overflow. 0x007E9B90 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007E9BD0 39 CRefineWnd__push_back_result_code ui_windows Pushes a result status code (4 bytes) to the result vector. If capacity is reached, calls grow helper FUN_007e6720. 0x007E9C00 59 CDirectDraw__enumerate_devices game_core Enumerates DirectDraw devices using DirectDrawEnumerateExA with flags=7 (all devices). Stores callback function pointer, returns error 0x81000002 if no devices found, 0x81000003 if no valid device. 0x007E9C40 601 ddraw_device_enum_callback game_core DirectDraw device enumeration callback. Copies device capabilities (DDCAPS), display mode info, and enumerates supported display modes. Filters modes by bit depth (32/24/16 bpp) and records matching modes. Stores device GUID and monitor info. Uses qsort to sort display modes. 0x007E9EA0 487 ddraw_enum_ex_callback game_core DirectDrawEnumerateEx callback. Compares device GUID with target, gets monitor info via GetMonitorInfoA, creates DirectDraw device via DirectDrawCreateEx, queries IDirect3D7, enumerates display modes via callback ddraw_device_enum_callback. Sorts collected modes with qsort. 0x007EA090 6 get_ddraw_device_name game_core Returns pointer to the DirectDraw device name string at global DAT_01450dc8. 0x007EA0A0 6 get_ddraw_valid_device_count game_core Returns the count of valid DirectDraw devices (with supported display modes). 0x007EA0B0 6 get_ddraw_total_device_count game_core Returns the total count of enumerated DirectDraw devices. 0x007EA0C0 117 ddraw_add_display_mode game_core DirectDraw display mode enumeration callback. Reallocates mode array, copies new mode entry (0x7C bytes), increments mode count. 0x007EA140 61 ddraw_compare_display_modes game_core qsort comparator for display modes. Sorts by height (offset +0xC) descending, then width (offset +8) descending, then refresh rate (offset +0x54) descending. 0x007EA180 60 ddraw_free_device_mode_lists game_core Frees display mode lists for all enumerated DirectDraw devices. Iterates through device entries (0x134*4 bytes each) and frees allocated mode arrays. 0x007EA1C0 197 CVideoConfigWnd__ctor game_core Constructor for CVideoConfigWnd. Sets vtable PTR_FUN_011287c4, initializes fields: child window pointers, string buffer, flags to zero. Size 0xE8 bytes. 0x007EA290 128 CVideoConfigWnd__dtor game_core Destructor for CVideoConfigWnd. Frees display mode data (+0x38), destroys string, destroys base UIWindow. 0x007EA310 152 CVideoConfigWnd__scalar_dtor game_core Scalar deleting destructor for CVideoConfigWnd (size 0xE8). Calls dtor and conditionally frees memory. 0x007EA3B0 1301 CVideoConfigWnd__create_child_windows game_core Creates child windows for the video configuration dialog. Creates: listbox (+0xB4), checkbox (+0xBC), 3D render preview (+0xB8, UIRenderWidget with RGB 100,100,100 and ambient 0xE8), scrollbar (+0xC0 with page size 16), and button panel (+0xC4). Populates resolution listbox from enumerated display modes. 0x007EA8D0 58 CVideoConfigWnd__render_background game_core Renders the video config window background. Draws background at full window size, renders texture, and draws a bordered region at (0x22, 0x50, 0xDE, 0x5C). 0x007EA910 1150 CEmblemEditorWnd__on_command game_core Emblem editor window command handler. Handles button clicks: 0xc9 = close, 0x159 = submit emblem. Validates image (220x90 pixels), compresses with zlib, sends packet 0xa52 to server. Also handles file selection (param_3==0x27) for loading BMP images from disk. 0x007EAD90 44 CEmblemEditorWnd__set_child_flag_and_refresh game_core Sets a flag byte on a child window object (at offset 0x2b of the child at this[0x31]) and triggers virtual refresh via vtable call 0x98 on both the child and this window. 0x007EADC0 207 STL_random_shuffle_bytes_3arg_a stl Fisher-Yates shuffle for byte array using MT19937 RNG with bounded distribution (3-param variant). Shuffles elements in [param_1, param_2) using RNG state at param_3. 0x007EAE90 207 STL_random_shuffle_bytes_3arg_b stl Fisher-Yates shuffle for byte array using MT19937 RNG with bounded distribution (3-param variant B). Identical algorithm to variant A, used for a different call site. 0x007EAF60 147 STL_random_shuffle_bytes_2arg_a stl Fisher-Yates shuffle for byte array using MT19937 RNG with simple modulo (2-param variant). Shuffles elements in [param_1, param_2) using single MT19937 call per iteration. 0x007EB000 147 STL_random_shuffle_bytes_2arg_b stl Fisher-Yates shuffle for byte array using MT19937 RNG with simple modulo (2-param variant B). Identical algorithm to variant A, used for a different call site. 0x007EB0A0 193 CEmblemEditorWnd__ctor game_core Constructor for CEmblemEditorWnd. Inherits UIWindowBase. Sets vtable to 01128904. Initializes all member fields to zero: child window pointers (0x2d-0x34), image buffers (0x35-0x38), flags (0x39-0x42), memsets offset 0x42 area. 0x007EB170 71 CEmblemEditorWnd__dtor game_core Destructor for CEmblemEditorWnd. Restores vtable and calls UIWindowBase__dtor. 0x007EB1C0 99 CEmblemEditorWnd__scalar_deleting_dtor game_core Scalar deleting destructor for CEmblemEditorWnd. Calls dtor, then optionally frees memory (0x15c bytes) if param_2 bit 0 is set. 0x007EB230 4002 CSecurityKeypadWnd__init_ui game_core Initializes the security keypad UI. Creates a 10-digit randomized PIN entry keypad: shuffles digits 0-9 using MT19937 RNG, creates 10 CDialogWnd children with button textures (normal/hover/pressed), positions them in a grid layout, plus a reset button. Each button gets 3 texture states. Size: 4002 bytes. 0x007EC1E0 1409 CSecurityKeypadWnd__render game_core Renders the security keypad window. Draws background, labels from message string table, PIN digit dots, and a countdown timer. Timer checks timeGetTime() against stored deadline. Shows time in MM:SS format when less than 60 seconds remain. 0x007EC7B0 344 CSecurityKeypadWnd__shuffle_buttons game_core Reshuffles the keypad button positions. Creates a random permutation of indices 0-9 using MT19937 and reassigns each child window's position via vtable call 0x10 using the shuffled order. Called to randomize button layout after each use. 0x007EC910 118 CSecurityKeypadWnd__on_command game_core Security keypad command handler. Handles digit button presses (0x125-0x12f = digits 0-9) by appending to password buffer (max 8 chars), 0x12d/0x12e = additional digits 8/9, 0x12f = clear. On 0xb8 (submit), validates length >= 4 and sends packet 0xbdc with the entered PIN. 0x007ECD00 369 CSecurityKeypadWnd__set_password_and_mode game_core Sets the password entry mode and copies the provided password string into the internal buffer at offset 0xfd (max 9 chars). Sets mode byte at offset 0xe4 and resets the input counter at 0x150 to 0. 0x007ECE80 51 CSecurityKeypadWnd__set_timer_and_refresh game_core Stores a timer value and refresh flag. Records current timeGetTime() at offset 0x56, stores param_3 at offset 0x55, sets byte flag at 0x39, then triggers virtual refresh via vtable 0x98. 0x007ECEC0 136 CEmblemViewWnd__ctor game_core Constructor for CEmblemViewWnd. Inherits UIWindowBase. Sets vtable to 01128b94. Initializes member pointers 0x2d-0x31 to zero. Small class (size ~0xc8). 0x007ECF50 322 CPasswordInputWnd__ctor game_core Constructor for CPasswordInputWnd. Inherits UIWindowBase. Sets vtable to 01128c6c. Initializes: pointers 0x2d-0x37, flag byte at 0x34, two STL strings at offsets 0x38 and 0x3e, timer field 0x45 = 3000ms, counter 0x30 = 0. Registers two TLS field callbacks (0x9b and 0x27). Object size = 0x118. 0x007ED0A0 113 CEmblemViewWnd__dtor game_core Destructor for CEmblemViewWnd. Restores vtable to 01128b94, frees dynamically allocated image buffer at offset 0x2f if non-null, calls UIWindowBase__dtor. 0x007ED120 143 CPasswordInputWnd__dtor game_core Destructor for CPasswordInputWnd. Restores vtable to 01128c6c, frees buffer at offset 0x31, destroys two STL strings, calls UIWindowBase__dtor. 0x007ED1B0 137 CEmblemViewWnd__scalar_deleting_dtor game_core Scalar deleting destructor for CEmblemViewWnd. Calls dtor, optionally frees memory (200 bytes) if param_2 bit 0 is set. 0x007ED240 167 CPasswordInputWnd__scalar_deleting_dtor game_core Scalar deleting destructor for CPasswordInputWnd. Calls dtor, optionally frees memory (0x118 bytes) if param_2 bit 0 is set. 0x007ED2F0 270 CEmblemViewWnd__receive_image_data_chunk game_core Receives a chunk of compressed emblem image data. Appends data to buffer at (this[0x2f] + this[0x31]) with bounds checking (max 0x400 per chunk). When total received (this[0x31]) matches expected (this[0x30]), decompresses with zlib into 0x9ab0-byte buffer and calls CSprite__LoadImageData. 0x007ED400 334 CEmblemEditorWnd__receive_image_data_chunk game_core Receives compressed emblem data for the editor window. Similar to CEmblemViewWnd variant but uses different buffer offsets (this[0x31]/this[0x33]). On completion, decompresses via zlib, loads image, refreshes parent window, and sends acknowledgment packet 0xa5a. 0x007ED550 123 CEmblemViewWnd__decompress_and_load_image game_core Decompresses and loads emblem image for the view window. Allocates 0x9ab0-byte buffer, calls zlib_uncompress on data at (this[0x2f], this[0x31]), loads result via CSprite__LoadImageData, frees temp buffer, triggers refresh. 0x007ED5D0 138 CEmblemEditorWnd__decompress_and_load_image game_core Decompresses and loads emblem image for the editor window. Uses buffer pair (this[0x31], this[0x33]). Allocates 0x9ab0-byte temp buffer, decompresses, loads via CSprite__LoadImageData, frees buffer, refreshes child and parent windows. 0x007ED660 163 CEmblemViewWnd__create_child_widgets game_core Creates child widgets for CEmblemViewWnd. Allocates a UIComplexWidget (0x1b8 bytes) as an image display area (220x90 pixels), positions it at (0,0), adds it as a child. Also creates a close button. 0x007ED710 568 CPasswordInputWnd__create_child_widgets game_core Creates child widgets for CPasswordInputWnd. Sets window size to 0xbb x 0xbb. Creates: UIComplexWidget (image area, 220x90, at 0x3c,0x9f), UITextWidget (text input field, 200x16, at 0x2d,0x106 with white text), CDialogWnd (submit button with 3 texture states at 0xfd,0x105). Sets focus to text input. 0x007ED960 661 CPasswordInputWnd__render game_core Renders the CPasswordInputWnd. Draws background with border, labels from message table (0xb43-0xb46), an input text field in blue, a progress/timer bar, and countdown timer in MM:SS format. Also displays attempt count. 0x007EDC30 54 CPasswordInputWnd__check_timeout_and_clear game_core Checks if the password input timer has expired. Compares current timeGetTime() against (this[0x45] + this[0x37]). If expired, clears the display text. Calls virtual refresh. 0x007EDC70 64 CPasswordInputWnd__cleanup_buffer game_core Cleans up a dynamically allocated buffer for the password window. Frees memory at offset 0xbc if non-null, zeros out fields at 0xbc, 0xc0, 0xc4, 0xb8. 0x007EDCB0 64 CPasswordInputWnd__cleanup_buffer_b game_core Cleans up a second dynamically allocated buffer. Frees memory at offset 0xc4 if non-null, zeros fields at 0xc4, 0xc8, 0xcc, 0xc0. 0x007EDCF0 66 CPasswordInputWnd__on_close_button game_core Handles close button click for CPasswordInputWnd. If button ID is 6 and control ID is 0xc9, calls tls_clear_field (0x120) to close the window. Delegates to parent notify handler. 0x007EDD40 387 CPasswordInputWnd__on_command game_core Command handler for CPasswordInputWnd. On button click (param_3==0): auto-triggers submit. On submit (0x159): compares entered text against stored password string, and if different, sends packet 0xa5c with the new password and updates the stored string. On close (0xc9): calls tls_clear_field 0x11c. 0x007EDED0 227 CPasswordInputWnd__set_status_message game_core Sets a status message on the password input window. Formats a message string from CMessageStringTable using the provided param_2 byte. Records the message timestamp via timeGetTime() at offsets 0x37 and 0x44, and stores display duration at 0x35/0x36. Triggers virtual refresh. 0x007EDFC0 76 CEmblemViewWnd__allocate_receive_buffer game_core Allocates a receive buffer for compressed emblem image data (CEmblemViewWnd). Frees existing buffer at 0xbc if present, allocates param_2 bytes, stores pointer at 0xbc, zeroes the new buffer. 0x007EE010 86 CEmblemEditorWnd__allocate_receive_buffer game_core Allocates a receive buffer for compressed emblem image data (CEmblemEditorWnd). Frees existing buffer at 0xc4 if present, sets expected size at 0xc8, resets received count at 0xcc, allocates param_2 bytes, stores pointer at 0xc4, zeroes the new buffer. 0x007EE070 34 STL_uninitialized_copy_bytes stl Copies a byte range using memcpy. Copies (param_2 - param_1) bytes from param_1 to param_3. Returns the end pointer (param_3 + bytes_copied). Used in STL uninitialized_copy for trivially copyable types. 0x007EE0A0 452 std__vector_ptr__emplace_reallocate_007ee0a0 stl std::vector emplace with reallocation for 4-byte (pointer) elements. Calculates new capacity using 1.5x growth strategy, allocates aligned memory, inserts new element at the specified position, moves existing elements around it, frees old buffer. 0x007EE270 439 std__vector_8byte__emplace_reallocate stl std::vector emplace with reallocation for 8-byte elements. Uses 1.5x growth, aligned allocation, inserts a pair of values at the specified position, relocates existing pairs via copy_8byte_pairs helpers, frees old buffer. 0x007EE430 520 std__vector_0x20__emplace_reallocate stl std::vector emplace with reallocation for 0x20-byte elements (containing STL strings). Uses 1.5x growth, aligned allocation. Calls CCharRenderInfo__set_body_palette (move-construct single element) for the new item. Moves existing elements and destroys strings in old buffer before freeing. 0x007EE640 476 std__vector_0x20__resize_default stl std::vector resize with default construction for 0x20-byte elements. Grows to new size, default-constructs new elements at the end. Moves existing elements to new buffer and destroys+frees old buffer. 0x007EE820 204 std__move_construct_0x20_elements_007ee820 stl Move-constructs a range of 0x20-byte elements (containing STL strings). Iterates source range in 0x20 strides, move-constructs each element's string data (steals buffer pointer), copies extra 6-byte suffix, resets source string to empty. 0x007EE8F0 141 std__move_construct_0x20_element stl Move-constructs a single 0x20-byte element. Steals the STL string buffer from source (moves pointer, length, capacity), copies the 6-byte suffix after the string, resets source string to empty state. 0x007EE980 115 std__copy_construct_string_0x20_element stl Copy-constructs a 0x20-byte element with string + extra fields. Copy-constructs the STL string portion, then copies 6 additional bytes (at offsets 0x18-0x1d) from the source element. 0x007EEA00 442 CChannelListWnd__ctor game_core Constructor for CChannelListWnd. Inherits UIWindowBase. Sets vtable to 01128e88. Initializes: channel list with 10 entries (0x18 bytes each, constructed as strings via _eh_vector_constructor_iterator_), status flags, counters, an STL string at offset 0x8d, and a short+int at 0x93-0x94. 0x007EEBC0 164 CChannelChatWnd__ctor game_core Constructor for CChannelChatWnd. Inherits UIWindowBase. Sets vtable to 01128db0. Initializes two STL strings at offsets 0x2d and 0x33, plus a pointer at 0x2d (initially null). 0x007EEC70 90 std__destruct_0x20_elements_range_a stl Destroys a range of 0x20-byte elements by iterating and calling STL_string_dtor on each. Used as the destructor callback for vector cleanup of string-containing structs. 0x007EECD0 90 std__destruct_0x20_elements_range_b stl Destroys a range of 0x20-byte elements (variant B). Identical pattern to variant A - iterates in 0x20 strides calling STL_string_dtor on each element. Used for a different call site. 0x007EED30 129 std__vector_ptr__deallocate_007eed30 stl Deallocates a std::vector's backing buffer for 4-byte (pointer) elements. Handles aligned allocation cleanup (checks for oversized allocations using stored pre-alignment pointer at buf[-4]). 0x007EEDC0 129 std__vector_8byte__deallocate stl Deallocates a std::vector's backing buffer for 8-byte elements. Handles aligned allocation cleanup with the same pattern as the 4-byte variant (mask 0xfffffff8 vs 0xfffffffc). 0x007EEE50 177 std__vector_clear_and_free_0x20_string_elements stl Clears and frees a vector of 0x20-byte elements containing std::string members. Iterates each element calling STL_string_dtor, then frees the backing buffer and resets begin/end/capacity pointers to 0. 0x007EEF10 65 UIEquipCustomizeWnd__destroy_string_member game_core Destroys a string member during UIEquipCustomizeWnd cleanup. SEH-protected wrapper around STL_string_dtor. 0x007EEF60 277 UIEquipCustomizeWnd__dtor game_core Destructor for UIEquipCustomizeWnd (equipment customization window, size 0x254). Sets vtable, clears child widget pairs at +0x2D/+0x2E, clears single child list at +0x44/+0x45, destroys 0x20-stride string vector, destroys array of 10 strings at +0x51, then calls base UIWindowBase dtor. 0x007EF080 110 UIEquipNameWnd__dtor game_core Destructor for UIEquipNameWnd (equipment name display window, size 0xE4). Sets vtable, destroys two string members, calls base UIWindowBase dtor. 0x007EF0F0 316 UIEquipCustomizeWnd__scalar_dtor game_core Scalar deleting destructor for UIEquipCustomizeWnd. Runs UIEquipCustomizeWnd__dtor logic, optionally frees 0x254 bytes if bit 0 of param_2 is set. 0x007EF230 134 UIEquipNameWnd__scalar_dtor game_core Scalar deleting destructor for UIEquipNameWnd. Runs UIEquipNameWnd__dtor logic, optionally frees 0xE4 bytes if bit 0 of param_2 is set. 0x007EF2C0 22 UIEquipCustomizeWnd__notify_parent_update game_core Notifies the parent window (at +0x18) to update by calling CCharRenderInfo__build_palette_path on it. Only acts when param_1 is non-null. 0x007EF2E0 332 UIEquipCustomizeWnd__add_customize_entry game_core Adds a customization entry to UIEquipCustomizeWnd. Looks up the entry by param_2 in the item list at +0x100. If not found, gets the job ID and creates a new 0x20-byte entry (name + palette info) and pushes it to the vector. Updates scrollbar state afterward. 0x007EF430 581 UIEquipCustomizeWnd__add_named_entry game_core Adds a named entry to UIEquipCustomizeWnd. Searches for existing entry by ID (param_2) in the vector at +0xB4. If not found, creates a new dialog button + text label pair, positions them, and appends the pair to the vector. Uses param_3 as the display name string. 0x007EF680 1955 UIEquipCustomizeWnd__truncate_text_to_fit game_core Truncates a text string to fit within a maximum pixel width (param_2). Converts to wide chars, strips trailing characters (respecting multi-byte boundaries), appends an ellipsis suffix, and returns the result. If text already fits, returns it unchanged. 0x007EFE30 867 UIEquipCustomizeWnd__validate_headgear_names game_core Validates headgear name entries in UIEquipCustomizeWnd. Iterates over headgear items at +0x144 (up to +0xD0 count), compares each name against the message string table. Returns 1 if any mismatch found and no exact match exists (invalid name detected). If param_2 is 1, displays error messages to chat. 0x007F01A0 724 UIEquipCustomizeWnd__validate_garment_code game_core Validates the garment code string in UIEquipCustomizeWnd. Copies the string from +0x234, checks if it's all zeros (valid empty), if atoi is 0 but string isn't zeros (invalid), or if the numeric code with power-of-10 prefix matches (valid). Returns 1 for valid, 0 for invalid. Shows error message 0xFAB on invalid when param_2 is 1. 0x007F0490 2636 UIEquipCustomizeWnd__OnCreate game_core OnCreate handler for UIEquipCustomizeWnd. Creates the main UI layout: sprite preview widget (+0xC0), checkbox (+0xD4), toggle button (+0xD8), tab widgets for 4 categories (headgear top/mid/low + garment at +0xDC), text input fields for item names (+0x11C array), and a numeric counter display (+0xF0). Loads label strings from message table (0xB47-0xB4B, 0xFA6-0xFAC). 0x007F0EE0 15 UIEquipCustomizeWnd__on_close game_core Close handler for UIEquipCustomizeWnd. Sends empty string to CUIEquipWindow__create_close_button to dismiss the window. 0x007F0EF0 509 UIEquipCustomizeWnd__on_draw game_core Draw handler for UIEquipCustomizeWnd. Manages visibility of the toggle button at +0xD8 based on current tab (0/1 vs 2/3) and costume flags (+0x24C/+0x24D). Draws background (3D border, slot rows, bottom border), fills item slot backgrounds, and positions visible entry widgets based on scroll offset (+0xCC) and item count (+0xD0). 0x007F1160 142 UIEquipCustomizeWnd__on_lbutton_down game_core Mouse button down handler for UIEquipCustomizeWnd. Reorders window to front if needed, sets hover state, accumulates parent offsets to compute absolute position, and stores mouse coordinates at +0x7C/+0x80. Refreshes dependent windows. 0x007F11F0 52 UIEquipCustomizeWnd__on_mouse_leave game_core Mouse leave handler for UIEquipCustomizeWnd. If the leaving window matches the tracked hover window, clears the global hover state and rebuilds all child windows. 0x007F1230 110 UIEquipCustomizeWnd__remove_hidden_children game_core Removes hidden children from UIEquipCustomizeWnd's child list at +0x44. Iterates the list, and for any child with +0xAC flag set, removes it via CEffect__remove_child_from_list and compacts the array with memcpy. Then calls refresh via vtable +0x98. 0x007F12A0 60 UIEquipCustomizeWnd__on_scroll game_core Scroll event handler for UIEquipCustomizeWnd. Sends scroll up (+3) or scroll down (-3) command through vtable +0x94 based on param_2 sign. Only active when +0x31 flag (scrollable) is set. 0x007F12E0 215 UIGridWnd__update_scrollbar_state game_core Updates the scrollbar state for a grid/list window. Calculates total items from vector at +0x2D, subtracts visible items count from +0x34. Sets scroll enabled flag at +0x31, updates scroll position at +0x33 (clamped to valid range), and calls FUN_0089c220/0089c210 to update the scrollbar widget. Refreshes both the scrollbar (+0x30) and the main window via vtable +0x98. 0x007F13C0 81 send_packet_0xa6c game_core Sends a network packet with header 0xA6C. Builds a packet structure with param_1, param_2, and param_3, then sends it via FUN_00c7ce30. Calls FUN_00c7d7d0 twice for packet preparation. 0x007F1420 162 UIEquipCustomizeWnd__on_message game_core Main message handler for UIEquipCustomizeWnd. Handles: msg 0 (text input for grid cells and name fields), msg 6 (button clicks: 0xC9=close, 0xD3=delete entry, 0xD5=toggle checkbox, 0xD7=tab switch, 0x159=submit/confirm), msg 7/9/10 (scroll events), msg 0x22 (data refresh from server), msg 0x62 (item lookup with preview). Manages 4 tabs (headgear top/mid/low + garment), validates names before submit, sends packet 0xBDA for confirmation. 0x007F25C0 66 UIEquipCustomizeWnd__on_close_message game_core Close message handler for UIEquipCustomizeWnd. On button click (msg 6) with ID 0xC9, closes window type 0x11F. Falls through to base UIWindow handler for all messages. 0x007F2610 163 UIEquipCustomizeWnd__set_title_text game_core Sets the title text of UIEquipCustomizeWnd. Copies input string to internal title buffer at +0x2D, appends equip name suffix, then refreshes display via vtable +0x98. 0x007F26C0 485 UIEquipCustomizeWnd__sync_data_to_target game_core Syncs UIEquipCustomizeWnd data to a target object at +0xFC. Copies window dimensions (+0x14-+0x20), display mode flag (+0x10C), and synchronizes the 0x20-byte entry vector (resize + copy string data and numeric fields). Used to persist customization state. 0x007F28B0 92 std__destruct_0x20_elements_range stl Destructs a range of 0x20-byte elements from param_1 to param_2. Each element contains a std::string that is destroyed via STL_string_dtor. 0x007F2910 92 std__destruct_0x20_elements_range_v2 stl Destructs a range of 0x20-byte elements from param_1 to param_2. Identical to std__destruct_0x20_elements_range. 0x007F2970 3 identity_return_param game_core Identity function that returns param_1 unchanged. 3-byte function (mov eax, ecx; ret). 0x007F2980 142 std__default_construct_0x20_elements stl Default-constructs param_2 count of 0x20-byte elements starting at param_1. Each element is zeroed out and initialized as an empty std::string (length=0, capacity=0xF). 0x007F2A10 44 copy_8byte_pairs game_core Copy 8byte pairs, small utility function 0x007F2A40 45 relocate_8byte_pairs game_core Relocates pairs of 4-byte values (8 bytes per pair) from [param_1, param_2) to offset param_3. Used for vector element relocation during reallocation. 0x007F2A70 203 std__move_construct_0x20_elements stl Move-constructs 0x20-byte elements from [param_1, param_2) to param_3. Each element contains a std::string (with SSO) and additional fields. Moves the string data and clears the source element's string to empty state. 0x007F2B40 10 std__vector_throw_length_error_7f2b40 stl Throws std::length_error("vector too long"). Does not return. 0x007F2B50 10 std__vector_throw_length_error_7f2b50 stl Throws std::length_error("vector too long"). Does not return. 0x007F2B60 10 std__vector_throw_length_error_7f2b60 stl Throws std::length_error("vector too long"). Does not return. 0x007F2B70 10 std__vector_throw_length_error_7f2b70 stl Throws std::length_error("vector too long"). Does not return. 0x007F2B80 407 STL_wstring_append_fill stl std::wstring::append(count, wchar_t). Appends param_2 copies of wide character param_3. Handles SSO (small string optimization with capacity 7) and heap allocation with aligned growth. Null-terminates the result. 0x007F2D20 132 std__vector_clear_0x20_string_elements stl Clears a vector of 0x20-byte elements by destroying string members (STL_string_dtor) on each element, then resets end pointer to begin. 0x007F2DB0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007F2DF0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x007F2E30 58 free_buffer_0x20_stride stl Frees a heap buffer for elements with 0x20 stride. Handles aligned deallocation. 0x007F2E70 58 free_buffer_0x20_stride_2 stl Frees a heap buffer for elements with 0x20 stride (duplicate). 0x007F2EB0 58 free_buffer_2byte_stride stl Frees a heap buffer for 2-byte (short) elements. Handles aligned deallocation. 0x007F2EF0 39 std__vector_push_back_int stl Push back a 4-byte value to a std::vector. If capacity available, copies directly; otherwise calls grow/realloc via FUN_007ee0a0. 0x007F2F20 101 std__vector_push_back_0x20 stl Push back a 0x20-byte element to a std::vector. If space available, copies via FUN_007ee8f0; otherwise grows via FUN_007ee430. 0x007F2F90 136 UICardIllustWnd__ctor game_core Constructor for UICardIllustWnd (card illustration window). Sets vtable to PTR_FUN_01129034. Initializes 5 member pointers (0x2d-0x31) to 0. 0x007F3020 100 UICardIllustWnd__dtor game_core Destructor for UICardIllustWnd. Restores vtable, destroys child widget at offset 0x2e if non-null via scalar dtor, calls base dtor. 0x007F3090 124 UICardIllustWnd__scalar_dtor game_core Scalar deleting destructor for UICardIllustWnd. Destroys child widget, calls base dtor, optionally frees 200 bytes. 0x007F3110 1139 UICardIllustWnd__OnCreate game_core OnCreate handler for UICardIllustWnd. Creates the character preview model (0xC4 bytes), sets up left/right arrow buttons (IDs 0x180/0x181), creates tab control (3 tabs), and a close button (ID 0x16B). Uses string ID 0xB90 and 0xB9F for labels. 0x007F3590 770 UICardIllustWnd__RenderCharPreview game_core Renders the character preview in the card illustration window. Builds rotation matrices from X/Y angles, computes camera lookat, projects 3D to 2D screen coordinates, and creates a sprite layer node for rendering. 0x007F38A0 1069 UICardIllustWnd__RebuildPreview game_core Rebuilds the card illustration preview with new dimensions (param_2, param_3). Creates fresh character model, arrow buttons, tab controls, and close button. Similar to OnCreate but called when switching views. 0x007F3CD0 216 UICardIllustWnd__LoadMountingBackground game_core Loads the mounting background BMP (equip_preview_bg_mounting2.bmp) for the card illustration window. Calls sprite initialization and renders character preview. 0x007F3DC0 297 UICardIllustWnd__SetupCharacterModel game_core Sets up the character model for the card illustration preview. Reads equipment data from the local player character (job, hair style, hair color, head, body equipment) and populates the preview model at offset 0x2E. Sets camera offsets (Y=-5.0, Z=136.0). 0x007F3EF0 948 UICardIllustWnd__OnMessage game_core Message handler for UICardIllustWnd. Handles: msg 6 with params 0xC9 (close), 0x16B (reload model), 0x180/0x181 (cycle through 8 directions). msg 0x22 (selection). msg 0x17 (equipment change events) - updates head/body/accessory equipment states with combination flags (0x100-0x301). 0x007F43E0 1101 UICardIllustWnd__ResolveEquipSlots game_core Resolves equipment slot conflicts for the card illustration preview. Checks head (slot 0/8), body (slot 8), and garment (slot 9) equipment against item database lookups. Sets flags at offsets 0x34/0x38/0x3C to track which slots are in use (0x100=head, 0x200=body, 0x300=garment, 0x301=garment+head). 0x007F4850 34 memcpy_range_to_dst stl Copies a range [param_1, param_2) to param_3. Returns pointer past the end of copied data. 0x007F4880 34 memcpy_range_to_dst_2 stl Copies a range [param_1, param_2) to param_3. Returns pointer past the end of copied data (duplicate). 0x007F48B0 99 std__vector_assign_9byte_elements stl Assigns a range of 9-byte elements to a vector. If capacity insufficient, reallocates via FUN_007f8f50. Copies data with memcpy and updates end pointer. 0x007F4920 332 UICardListWnd__ctor ui_windows Constructor for UICardListWnd. Sets vtable to PTR_FUN_01129608. Initializes page size (0x33=7), scale (0x34=100), selected index (0x37=-1), initial year value (0x3C=0x19EB=6635). Creates two tree structures for item organization. 0x007F4A70 94 UICardListTabWnd1__ctor game_core Constructor for UICardListTabWnd1. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_01129454. Initializes tab index at offset 0x48 to 0. 0x007F4AD0 94 UICardListTabWnd2__ctor game_core Constructor for UICardListTabWnd2. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_0112929c. Initializes tab index at offset 0x48 to 0. 0x007F4B30 91 UICardListTabWnd3__ctor game_core Constructor for UICardListTabWnd3. Inherits from FUN_0084eab0. Sets vtable to PTR_FUN_01129378. Initializes enabled flag at offset 0x48 to 1. 0x007F4B90 149 UICardListDetailWnd__ctor game_core Constructor for UICardListDetailWnd. Inherits from FUN_00850550. Sets vtable to PTR_FUN_01129530. Initializes std::string at offset 0x3A (capacity 0xF), flag at 0x3C, and counters at 0x3D/0x3E. 0x007F4C30 65 UICardListDetailWnd__DestroyString game_core Destroys a std::string member in the card list detail window. 0x007F4C80 147 std__vector_clear_and_free_9byte stl Clears and frees a vector of 9-byte elements. Frees backing buffer with aligned deallocation, resets all 3 pointers (begin/end/capacity) to 0. 0x007F4D20 188 UICardListWnd__dtor ui_windows Destructor for UICardListWnd. Restores vtable, destroys strings and two 9-byte vectors, calls base dtor. 0x007F4DE0 71 UICardListTabWnd1__dtor game_core Destructor for UICardListTabWnd1. Restores vtable, calls base dtor FUN_008511b0. 0x007F4E30 71 UICardListTabWnd2__dtor game_core Destructor for UICardListTabWnd2. Restores vtable, calls base dtor FUN_008511b0. 0x007F4E80 71 UICardListTabWnd3__dtor game_core Destructor for UICardListTabWnd3. Restores vtable, calls base dtor FUN_008511b0. 0x007F4ED0 104 UICardListDetailWnd__dtor game_core Destructor for UICardListDetailWnd. Restores vtable, destroys std::string, calls base dtor FUN_00851e10. 0x007F4F40 212 UICardListWnd__scalar_dtor ui_windows Scalar deleting destructor for UICardListWnd. Destroys strings and vectors, calls base dtor, optionally frees 0x300 bytes. 0x007F5020 99 UICardListTabWnd1__scalar_dtor game_core Scalar deleting destructor for UICardListTabWnd1. Calls base dtor, optionally frees 0x128 bytes. 0x007F5090 99 UICardListTabWnd2__scalar_dtor game_core Scalar deleting destructor for UICardListTabWnd2. Calls base dtor, optionally frees 0x124 bytes. 0x007F5100 99 UICardListTabWnd3__scalar_dtor game_core Scalar deleting destructor for UICardListTabWnd3. Calls base dtor, optionally frees 0x124 bytes. 0x007F5170 128 UICardListDetailWnd__scalar_dtor game_core Scalar deleting destructor for UICardListDetailWnd. Destroys string, calls base dtor, optionally frees 0xFC bytes. 0x007F5270 90 UICardListWnd__OnMouseClick ui_windows Mouse click handler for UICardListWnd. Checks if click is within the selected card preview area (x: 0x6D-0x9B, y: 0xC9-0xF7). If left-click on a valid slot, sends self-message 0x17 (equipment change) with the clicked item data. Then notifies parent window with message 0x12. 0x007F52D0 480 UICardListWnd__ResetState ui_windows Resets the card list window to its initial state. Clears selected card (-1), resets page settings (page=0, pageSize=7), clears search results, refreshes timestamp, and hides secondary tabs. Shows the first tab as active. 0x007F54B0 69 UICardListWnd__GetSelectedCardId ui_windows Returns the card ID of the currently selected card. Reads from the 9-byte element vector at offset 0xE0 using selected index at 0xDC. Returns 0 if no card selected or index out of bounds. 0x007F5500 69 UICardListWnd__HitTestCardSlot ui_windows Hit tests a screen coordinate against the card grid slots. Grid starts at x=0xB, y=0x37, each slot is 0x31 wide. Returns slot index (0-4) or -1 if outside grid. 0x007F55A0 2168 UICardListWnd__UpdateCardData ui_windows Updates card data after selection or filter change. Handles different card type modes (3-6), compares current card list with previous, updates status messages (string IDs 0xB97/0xB9A/0xCAA-0xCAD), shows 5-second toast messages for special conditions (price threshold check against DAT_01733d28). Refreshes child windows and tab states. 0x007F5E30 1089 UICardListWnd__OnCreate ui_windows OnCreate handler for UICardListWnd. Creates child windows: close button (ID 0xB9), tab control with 4 tabs (UICardListTabWnd2 at 0xB4, UICardListTabWnd3 at 0xB8, UICardListTabWnd1 at 0xBC), detail window (UICardListDetailWnd at 0xC4), and a search/filter tab control (ID 0x1FE). 0x007F6280 1377 UICardListWnd__OnDraw ui_windows Main draw handler for UICardListWnd. Renders the card list with mode-dependent header text (modes 0-6). Draws background rectangle, card grid with item icons (5 slots, 0x31 spacing), card count text, selection highlight, and mode-specific status labels (string IDs 0xB9B-0xB9E). Handles price/count display for unowned cards. 0x007F6BF0 687 UICardListWnd__DrawCompletionStatus ui_windows Draws the completion status text for a card in the list. Renders owned/unowned state label (string 0xCA9) with color coding: red (0xE1C1F) if highlighted, brown (0x6F4333) if owned, green (0x3E1B12) otherwise. For unowned cards, also draws count and price text. 0x007F6EA0 391 UICardListWnd__DrawCardName ui_windows Draws the card name label. If card is owned (offset 0xAC=1), uses brown color (0x94644A); otherwise uses green (0x3E1B12). Also renders the card count text below if not owned. String ID 0xB96. 0x007F7030 137 UICardListWnd__DrawNewBadge ui_windows Draws the "NEW" badge on the card. If offset 0x120 flag is set, uses red color (0xE1C1F); otherwise green (0x3E1B12). String ID 0xB9D. Y-position adjusts based on display mode. 0x007F70C0 474 UICardListWnd__DrawCardDescription ui_windows Draws the card description text. Loads the card image sprite, word-wraps the description string from offset 0xA8, and renders each line with 0xB pixel spacing. Text color is green (0x2E15CA) or red (0xC4281C) based on completion flag at 0xF9. 0x007F72A0 45 UICardListWnd__OnMouseOver ui_windows Mouse over handler for card list window. If card display is active and mouse is within grid bounds, calls FUN_007f52d0 to update hover state. 0x007F72D0 105 UICardListWnd__OnDoubleClick ui_windows Double-click handler for card list window. If y < 0x11, delegates to base header handler. Otherwise, in mode 1 with active card display, if click is within card preview area (x: 0x6D-0x9B, y: 0xC9-0xF7), opens item display window (type 0x1C) for the selected card via CGameMode__setup_item_display_extended. 0x007F7340 799 UICardListWnd__OnRightClick ui_windows Right-click handler for card list. Delegates to base if y < 0x11. Hit-tests card grid slots for selection. For specific card IDs (0x3D8-0x3F3, 0x184F-0x1861, etc.), shows special info messages (string IDs 0xBAC-0xBAE). Handles card locking toggle for slot 4 (buy mode). Checks price against item database. 0x007F76C0 982 UICardListWnd__OnMouseHoverShowTooltip ui_windows Handles mouse hover tooltips for the card list window. Shows item name tooltips when hovering over card slots (grid at x=0xB, y=0x37, 0x31 spacing) or the selected card preview area. Looks up item names via CItemDesc and displays via CToolTipMgr. 0x007F7AA0 676 UICardListWnd__OnAnimationTick ui_windows Animation tick handler for UICardListWnd. Advances frame counter based on mode-specific frame limits (stored in lookup table at DAT_01129b70). Plays refine sound effects at frames 7 and 12 in mode 2. On animation completion, plays success/fail sounds and transitions to result display via UpdateCardData and SetDisplayMode. 0x007F7E20 669 UICardListWnd__OnClickShowItemInfo ui_windows Click handler that opens item info popup windows for the card list. Hit-tests card grid slots and the selected card preview area. Creates item info windows (type 0xC) via CGameObject and sends item data via message 0x18. Handles both individual card slots and the combined result slot (slot 4). 0x007F80C0 326 UICardListWnd__SetTabButtonTextures_A ui_windows Sets button textures for tab control A in UICardListWnd. Uses "success"/"fail" texture variants based on flag at offset 0x49. Applies textures to button states 0/1/2 (normal/hover/pressed) via UIButtonWidget__set_texture_resolved, then resizes and refreshes. 0x007F8210 326 UICardListWnd__SetTabButtonTextures_B ui_windows Sets button textures for tab control B in UICardListWnd. Uses "success"/"fail" texture variants based on flag at offset 0x48. Similar to SetTabButtonTextures_A but uses different texture path format strings (DAT_01129798/DAT_011297e0). 0x007F8360 1091 UICardListWnd__OnCommand ui_windows Command/message handler for UICardListWnd. Handles button commands (msg 6): 0xB8=confirm/buy card (sends packet 0xAA3 with card data, checks price threshold DAT_01733d28), 0xB9/0xC9=close window (sends packet 0xAA4), 0x207=search tab reset (clears selection, resets to browse mode), 0x208=redirect to 0xB8, 0x1FE=open URL. Also handles equipment change events (msg 0x17) for modes 0/1 - validates item and sends equip packet 0xAA1. 0x007F87B0 1146 UICardListWnd__OnReceiveItemData ui_windows Receives and processes item data for UICardListWnd. For modes 0/1 (browse/select), validates item slot and populates card data with item description, tooltip body, and card list entries. For modes 2-6 (result display), updates the result item data. Formats tooltip via CItemDesc__format_tooltip_body, copies card vector data via std__vector_assign_9byte_elements, and transitions to display mode. 0x007F8C40 56 UIWnd__set_visible_and_state game_core Sets visibility and state for a UI window. If param_2 is 0 (hiding), calls FUN_00aa66c0. Toggles hidden flag at +0x2B (XOR 1), refreshes via vtable +0x98, and stores visibility state at +0x28 (field 10). 0x007F8C80 56 UIWnd__set_visible_and_state_v2 game_core Sets visibility and state for a UI window. Identical to UIWnd__set_visible_and_state. If param_2 is 0, calls FUN_00aa66c0; toggles hidden flag, refreshes, stores state. 0x007F8CC0 382 UICardListWnd__SetDisplayMode ui_windows Sets the display mode for UICardListWnd. Modes 0-2 toggle tab visibility and child window states. Modes 3-6 display colored result messages via CUIWindowMgr__dispatch_chat_message (3=success msg 0x1F2, 4/6=fail msg 499, 5=special msg 0x601). Records timestamp for animation timing. 0x007F8E60 21 UICardListTabWnd3__SetHighlightAndRefresh game_core Sets the highlight flag at offset +0x124 and refreshes tab button textures via SetTabButtonTextures_A. The highlight flag controls text color in DrawCompletionStatus (red when highlighted, normal otherwise). 0x007F8E80 21 UIWnd__set_flag_120_and_refresh game_core Sets a flag at offset +0x120 on the object, then calls FUN_007f8210 to refresh. 0x007F8EA0 163 UIWnd__set_text_with_timeout game_core Sets text on a UI window with an optional timeout. Copies param_2 string to internal buffer. If param_3 (timeout) is 0, sets the text immediately and stores param_4 flag. If timeout > 0, calculates expiry time using timeGetTime() + param_3 and sets auto-show flag at +0x3E. Refreshes the window and parent via vtable +0x98. 0x007F8F50 271 std__vector_9byte__reallocate stl STL vector reallocation for 9-byte elements. Frees old buffer, allocates new buffer with 1.5x growth factor. Max capacity 0x1c71c71c elements. Handles aligned allocation for buffers >4096 bytes. 0x007F9060 10 std__vector_throw_length_error_7f9060 stl Throws std::length_error("vector too long"). Does not return. 0x007F9070 189 CWorldMap__ctor game_core Constructor for CWorldMap. Inherits from base class via FUN_00a79a90. Sets vtable to PTR_FUN_01129b84. Initializes string member at offset 0x1f (SSO with capacity 0xf). Zeroes fields at offsets 0x25-0x28. 0x007F9130 116 CWorldMap__dtor game_core Destructor for CWorldMap. Sets vtable, clears embedded string at offset 0x1f, destroys STL string, then calls base class destructor FUN_00a79e90. 0x007F91B0 140 CWorldMap__scalar_deleting_dtor game_core Scalar deleting destructor for CWorldMap. Calls destructor logic (vtable reset, string cleanup, base dtor), then conditionally frees memory (0xa4 bytes) if param_2 bit 0 is set. 0x007F9240 902 CWorldMap__LoadMapData game_core Loads world map data from packet stream. Reads two string resources (map name at offset 0x94, table at offset 0x98) using CPacketStream. Iterates map entries to find first valid one (non -1 index), extracts coordinates from short pairs, calls FUN_00a7b470 with coordinates. 0x007F95D0 414 CWorldMap__RenderMapMarkers game_core Renders world map markers/icons. Sets color to 0xffff00ff, iterates through map entries from FUN_00747170. For each valid entry (index != -1), resolves coordinates from lookup tables, handles map cell position calculation, and renders via virtual draw call at child object offset 0x9. 0x007F9770 127 CWorldMap__SendNavigateRequest game_core Sends a navigation request packet if map data is loaded (offset 0x8c != 0). Builds a structure with packet type 0x3ea, coordinates from offsets 0x9c/0xa0, mode=5, copies map name string, then calls FUN_00b99030 to send. 0x007F9800 32 UIWnd__forward_to_base_handler game_core Forwards all messages to FUN_00a83660 (base message handler) and always returns 0. 0x007F9820 122 CWorldMap__SetMapName game_core Sets the map name string and coordinate data on the world map object. Copies string param to offset 0x7c using STL string assign, stores two additional params at offsets 0x9c and 0xa0 (coordinates). 0x007F98A0 452 std__vector_ptr__emplace stl STL vector emplace/insert for pointer-sized (4-byte) elements. Allocates new buffer with 1.5x growth, copies element at insertion point, memcpy's before/after segments, frees old buffer. Max capacity 0x3fffffff. 0x007F9A70 194 CQuestListWnd__ctor game_core Constructor for CQuestListWnd (quest list window). Inherits from UI window via FUN_009ac040. Sets vtable to PTR_FUN_01129c6c. Initializes vector at 0x2c-0x2e, scroll offset 0x30=0x12. Sets UI state to 9 if virtual method matches default. 0x007F9B40 95 CQuestListWnd__dtor game_core Destructor for CQuestListWnd. Sets vtable to PTR_CQuestListWnd__scalar_deleting_dtor_01129c6c, deallocates internal vector of child widget pointers, then calls UIScrollPanel base destructor. 0x007F9BA0 119 CQuestListWnd__scalar_deleting_dtor game_core Scalar deleting destructor for CQuestListWnd. Sets vtable, deallocates vector via std__vector_deallocate, calls base destructor FUN_009ac2b0. Frees 0xc4 bytes if bit 0 of param is set. 0x007F9C20 9 UIWnd__call_vtable_0x3c game_core Thunk that calls vtable method at offset +0x3C on param_1. 9-byte function. 0x007F9C40 13 UIWnd__set_state_9 game_core Sets field at offset +0x94 to 9. Used to set a UI state/mode value. 0x007F9C70 60 UIWnd__handle_mouse_scroll game_core Handles mouse scroll events for a UI window. If +0xA5 flag is set, sends message 7 with scroll direction: 0xF (15 = scroll down) for negative scroll, -0xF (-15 = scroll up) for positive scroll, using the parent widget at +0x24. 0x007F9CB0 1089 CQuestListWnd__UpdateQuestEntries game_core Updates quest list entry labels. Acquires GDI context, iterates quest entries (count at iVar5+0xd2). For each entry, formats quest name with level info (e.g. "%s Lv.%d/Lv.%d"), checks for max level condition (msg 0x7ee). Measures text width, resizes child widgets, renders text via FUN_008681c0. Handles special case where quest index is 31999. 0x007FA100 80 CQuestListWnd__OnMessage game_core Message handler for CQuestListWnd. On message 6 with param 0xc9, calls FUN_00a8cf20(0x142) to close/toggle window. On message 0x17, updates quest entries. Falls through to UIScrollPanel__handle_scroll_message. 0x007FA150 3615 CQuestListWnd__BuildLayout game_core Builds the full quest detail layout. Creates multiple UI widgets: item slot icons, editable text labels for quest info, a CWorldMap for map display. Populates quest objectives, level requirements, item rewards with icons/names/quantities. Creates scrollbar and sprite widgets. Very large layout builder (~3600 bytes). 0x007FAF70 124 CQuestInfoWnd__ctor game_core Constructor for CQuestInfoWnd. Inherits from UI window via FUN_009ac040. Sets vtable to PTR_FUN_01129e04. Initializes fields: offset 0x2c=0, 0x2d=0xe (scroll step), state=9. 0x007FAFF0 71 CQuestInfoWnd__dtor game_core Destructor for CQuestInfoWnd. Sets vtable, calls base class destructor FUN_009ac2b0. 0x007FB040 99 CQuestInfoWnd__scalar_deleting_dtor game_core Scalar deleting destructor for CQuestInfoWnd. Sets vtable, calls base dtor, frees 0xb8 bytes if bit 0 set. 0x007FB0B0 9 UIWnd__call_vtable_0x3c_007fb0b0 game_core Thunk that dispatches to virtual method at vtable offset +0x3C. Identical pattern to UIWnd__call_vtable_0x3c. Used by CQuestInfoWnd. 0x007FB100 60 CQuestInfoWnd__HandleMouseWheel game_core Handles mouse wheel scrolling for quest info window. If scrolling enabled (flag at offset 0xa5), sends scroll message with delta 0xf (down) or -0xf (up) to child widget at offset 0x24. 0x007FB140 66 CQuestInfoWnd__OnMessage game_core Message handler for CQuestInfoWnd. On message 6 with param 0xc9, calls FUN_00a8cf20(0x142) to toggle window visibility. Falls through to UIScrollPanel__handle_scroll_message for other messages. 0x007FB190 822 CQuestInfoWnd__BuildLayout game_core Builds quest info window layout. Creates 3 text widgets for different objective categories, populates them from quest data. If quest has map data, creates CWorldMap widget. Iterates objective entries per category and adds them via virtual calls. 0x007FB4D0 227 CQuestWnd__ctor game_core Constructor for CQuestWnd (main quest window). Inherits from FUN_008a3700. Sets vtable to PTR_FUN_01129ee0. Initializes two SSO strings at offsets 0x31 and 0x37 (capacity 0xf each). Zeroes flags at 0x2d-0x30, 0x3d. 0x007FB5C0 110 CQuestWnd__dtor game_core Destructor for CQuestWnd. Sets vtable, destroys two STL strings, calls base destructor FUN_008a4e90. 0x007FB630 134 CQuestWnd__scalar_deleting_dtor game_core Scalar deleting destructor for CQuestWnd. Destroys strings, calls base dtor, frees 0xf8 bytes if bit 0 set. 0x007FB6C0 409 CQuestWnd__CreateChildWindows game_core Creates child windows for the quest UI. Allocates and initializes CQuestListWnd (0xc4 bytes) at offset 0xb4, CQuestInfoWnd (0xb8 bytes) at offset 0xb8, and a third panel (0x120 bytes) at 0xbc. Positions them, sets up tab-like button labels, and adds them as children. 0x007FB860 610 CQuestWnd__Render game_core Renders the quest window. Two modes based on flag at 0xf4: active quest view (shows quest name, description, sprite images) vs completed quest view (shows quest name, additional text). Draws title text, NPC sprites, and a bottom status line (msg 0xd48). 0x007FBAD0 24 CQuestWnd__OnKeyDown game_core Key down handler for quest window. If key code < 0x11, delegates to FUN_008ba1e0. 0x007FBAF0 117 CQuestWnd__OnMessage game_core Message handler for CQuestWnd. Message 6 with param 0xc9 toggles visibility (0x142). Message 0x17 dispatches to either quest info or quest list child window depending on active mode flag at 0xf4. Other messages forwarded to FUN_008bdc90. 0x007FBB70 652 CQuestWnd__SelectQuest game_core Selects and displays a quest by ID. If quest info not found, shows error MessageBox. For active quests (param_3=0): builds quest list layout, formats time string with date/time. For completed quests: builds info layout, copies description string, appends suffix. Updates window title string at offset 0x31. 0x007FBE00 312 CQuestData__ctor game_skills Constructor for CQuestData. Copies vtable from param_3, calls CPacketManager handler, initializes SSO string at offset 0x2e, constructs 3 vector-like arrays at offsets 0x34/0x37/0x3a (element size 0xc=12, count 3) using eh_vector_constructor_iterator, then clears all entries. 0x007FBF60 104 CQuestScrollbarWidget__ctor game_core Constructor for quest scrollbar widget (inherits UISpriteWidget). Sets vtable to PTR_FUN_0112a0cc, initial position fields 0x28=3, 0x29=7. 0x007FBFD0 253 CQuestHubWnd__ctor game_core Constructor for CQuestHubWnd (quest hub/main panel). Inherits from FUN_008a3700. Sets vtable to PTR_FUN_0112a1a8. Zeroes child pointers 0x2d-0x30, flags 0x4c-0x50. Constructs 4 vectors (size 0xc each) at offset 0x51. Clears 0x6c bytes of data at 0x31. 0x007FC0D0 71 CQuestScrollbarWidget__dtor game_core Destructor for CQuestScrollbarWidget. Sets vtable, calls base sprite widget destructor FUN_00871830. 0x007FC120 124 CQuestHubWnd__dtor game_core Destructor for CQuestHubWnd. Sets vtable, closes quest window (0x142), destroys 4 vectors, calls base destructor FUN_008a4e90. 0x007FC1A0 282 CQuestManager__FindOrCreateQuestData game_core Finds or creates a CQuestData entry in a red-black tree map keyed by quest ID. Searches tree using BST traversal, allocates new node (0x104 bytes) if not found via CQuestData__ctor. Returns pointer to data portion (offset +5 dwords from node). 0x007FC2C0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x007FC320 99 CQuestScrollbarWidget__scalar_deleting_dtor game_core Scalar deleting destructor for CQuestScrollbarWidget. Sets vtable, calls base dtor, frees 0xb4 bytes if bit 0 set. 0x007FC390 148 CQuestHubWnd__scalar_deleting_dtor game_core Scalar deleting destructor for CQuestHubWnd. Calls dtor (close window, destroy vectors, base dtor), frees 0x174 bytes if bit 0 set. 0x007FC430 106 CQuestHubWnd__HitTestQuestSlot game_core Hit-tests mouse position against quest list slots. Checks if click is within valid bounds (x: 0x26-0x170, y: 0x18-0x1b7). Calculates slot index from Y position (step 0x2e), adds scroll offset. Returns 1 if valid slot found, stores index in param_4. 0x007FC4A0 964 CQuestHubWnd__CreateChildWidgets game_core Creates all child widgets for quest hub window. Creates editable text widget (0x2d), a checkbox/button (0x2f), tab panel (0x30) with 3 tabs, scrollbar sprite widget (0x2e). Then creates 9 quest slots in a loop, each with: label button, detail button, and item icon widget. Triggers initial update via message 0x17. 0x007FC870 307 CQuestHubWnd__RenderScrollbar game_core Renders the quest hub scrollbar if visible (offset 0x20 != 0). Sets color 0xffff00ff. Loads and draws top/bottom scrollbar caps and middle repeat segments from sprite resources at DAT_0112a2xx addresses. Calculates scrollbar track length dynamically. 0x007FC9B0 721 CQuestHubWnd__RenderQuestList game_core Renders the quest list entries in the hub window. Draws page header, iterates visible quest slots (up to 9), draws selection highlight for active quest vs normal state. For each quest, renders title text (color 0xe47b2e selected, 0x955322 normal) and description text (color 0x38302e). Handles scroll offset at 0x134. 0x007FCC90 236 CQuestHubWnd__OnMouseDown game_core Mouse down handler for quest hub. If y < 0x11, delegates to FUN_008ba1e0. Otherwise hit-tests quest slots, sets selection (0x4e=index, 0x50=pressed flag), triggers redraw. If quest window (0x142) is open, calls CQuestWnd__SelectQuest with selected quest ID and active/completed mode. 0x007FCD80 42 CQuestHubWnd__OnMouseUp game_core Mouse up handler for quest hub. Clears pressed state (0x50=0), triggers redraw, forwards to base FUN_008ba2c0. 0x007FCDB0 60 CQuestHubWnd__HandleMouseWheel game_core Mouse wheel handler for quest hub. If scrolling enabled (flag at 0x4f), sends scroll message with delta +/-3 to scrollbar widget at 0x2e. 0x007FCDF0 1579 CQuestUI__render_quest_entries game_core Renders quest entries in the quest UI. Iterates through quest list entries, calls CPacketSystem processor to get quest data, loads quest icon BMP (renew_questui_ico_nq.bmp), renders sprite layers for each entry. Handles both single-quest mode (mode 1) and multi-quest mode with different processors. 0x007FD420 216 CQuestHubWnd__UpdateScrollbar game_core Updates scrollbar state for quest hub. Calculates max scroll from total entries minus visible slots (9). Enables/disables scrollbar visibility. Clamps scroll position within valid range. Calls FUN_0089c220/FUN_0089c210 to configure scrollbar parameters, then triggers FUN_007fcdf0 to refresh display. 0x007FD500 745 CQuestWnd__populate_tab_lists game_core Populates quest tab lists by iterating quest tree, sorting into active/inactive/complete categories by tab index 0x007FD7F0 174 CQuestWnd__on_event game_core Main event handler for quest window: tab switching, quest selection, scroll, item slot clicks 0x007FDDE9 1 stub_nop_007fdde9 game_core Single-byte stub function (size=1) 0x007FE080 175 STL_tree_destroy_nodes_recursive_1b0 stl Recursively destroys nodes in a std::_Tree with 0x1b0-byte node size, freeing string members 0x007FE130 361 CQuestData__init_trees game_skills Initializes 3 quest data trees at offsets 0x20/0x28/0x30 with sentinel nodes, clears all fields 0x007FE2A0 79 STL_tree_destroy_single_1b0 stl Destroys a single std::_Tree with 0x1b0-byte nodes by recursive cleanup and freeing root 0x007FE300 90 STL_tree_destroy_single_1b0_alt stl Alternate destructor for a std::_Tree with 0x1b0-byte nodes, identical pattern to 7fe2a0 0x007FE360 196 CQuestData__destroy_all_trees game_skills Destroys all 3 quest data trees at offsets 0x30/0x28/0x20 in reverse order 0x007FE430 99 CQuestData__node_dtor_strings game_skills Destructor for quest data node, destroys 3 embedded std::string members 0x007FE4A0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x007FE500 217 CQuestData__dtor game_skills Destructor for CQuestData: destroys all 3 trees then optionally frees the 0x38-byte struct 0x007FE5E0 464 CQuestSystem__GetInstance game_core Singleton accessor for CQuestSystem (DAT_01456e6c). On first call, allocates 0x38 bytes, creates 3 red-black tree maps (node size 0x1b0) at offsets 0x20/0x28/0x30, initializes all tracking fields to zero, sets initialized flag. Returns 1 on success, 0 on failure. Destroys on allocation failure. 0x007FE7B0 28 CQuestSystem__DestroyInstance game_core Destroys the CQuestSystem singleton. If DAT_01456e6c is not null, calls CQuestData__dtor(1) to free it and sets pointer to null. 0x007FE7D0 128 CQuestSystem__ClearAllData game_core Clears all quest data from the 3 tree maps at offsets 0x20/0x28/0x30. Recursively destroys tree nodes, resets sentinel pointers, zeros size counters and tracking fields at offsets 0x8-0x18. 0x007FE850 506 CQuestSystem__PurgeDeletedEntries game_core Iterates all 3 quest tree maps and removes entries marked for deletion (flag at offset 0x1a8 == 1). For each marked entry, extracts the node using FUN_007fea50, destroys 3 strings, then frees the 0x1b0-byte node. 0x007FEA50 704 std__tree__extract_node stl STL red-black tree node extraction. Removes a node from the tree while maintaining RB-tree invariants. Handles all cases: node with two children (swap with successor), one child, leaf. Performs rotations and recoloring for balance fixup. Decrements tree size. Returns pointer to extracted node. 0x007FED10 84 std__tree__rotate_left stl STL red-black tree left rotation. Rotates param_2 node left by promoting its right child. Updates parent/child pointers and handles root case. 0x007FED70 88 std__tree__rotate_right stl STL red-black tree right rotation. Rotates param_2 node right by promoting its left child. Updates parent/child pointers and handles root case. 0x007FEDD0 325 CAchievementWnd__ctor game_skills Constructor for CAchievementWnd. Inherits from FUN_008a3700. Sets vtable to PTR_FUN_0112a750. Zeroes fields 0x2d-0x39. Allocates hash table (0x100 bytes) at offset 0x3a and initializes it. Also zeroes fields 0x3c-0x40. 0x007FEF20 84 CAchievementTabWidget__ctor game_core Constructor for CAchievementTabWidget. Inherits from FUN_0084f570. Sets vtable to PTR_FUN_0112a65c. 0x007FEF80 94 CAchievementScrollWidget__ctor game_core Constructor for achievement scrollbar sprite widget. Inherits from UISpriteWidget. Sets vtable to PTR_FUN_0112a580, initial position field 0x28=5. 0x007FEFE0 150 CAchievementWnd__dtor game_skills Destructor for CAchievementWnd. Sets vtable. If detail window (0x40) exists, removes from parent and destroys it. Destroys hash table at 0x3a (frees all entries + 0x100 byte sentinel), calls base dtor FUN_008a4e90. 0x007FF080 99 CQuestData__dtor_strings game_skills Destroys 3 STL strings belonging to a quest data node. Used during tree node cleanup before freeing the node memory. 0x007FF0F0 174 CAchievementWnd__scalar_deleting_dtor game_skills Scalar deleting destructor for CAchievementWnd. Runs dtor (destroy detail window, hash table, base), frees 0x108 bytes if bit 0 set. 0x007FF1A0 93 CAchievementDetailWnd__scalar_deleting_dtor game_core Scalar deleting destructor for achievement detail dialog. Calls UIComplexDialog destructor, frees 0x188 bytes if bit 0 set. 0x007FF200 93 CAchievementScrollWidget__scalar_deleting_dtor game_core Scalar deleting destructor for achievement scroll sprite widget. Calls base sprite dtor FUN_00871830, frees 0xb4 bytes if bit 0 set. 0x007FF260 38 CAchievementWnd__RenderTabLabel game_skills Renders a tab label string. Gets raw string pointer (handles SSO), renders text via FUN_00a80580 with font size 0xc. 0x007FF290 359 CAchievementWnd__ShowAchievementDetail game_skills Shows achievement detail view. Formats reward count string, sets it on text widget. Formats percentage via FUN_00dde5c0, sets on second widget. Stores achievement ID at 0xcc. Builds item name string from FUN_00dd9430. Toggles visibility between list view (0xb4) and detail panel (0xb8). Enables detail panel with param_5 passed to visibility control. 0x007FF400 154 CAchievementWnd__OnTabOrButton game_skills Handles tab switch or button click in achievement window. If DAT_01457ad8 is 0, calls FUN_00a7bb00. Otherwise processes: button type 1 with param 1 sends message 0x26, button type 1 with other param calls FUN_00aaa310, other types call virtual method 0x18 with command 0x12. 0x007FF4A0 125 parse_account_id_as_int64 game_core Parses account ID string as 64-bit integer. Gets string from FUN_00858d20, copies to 260-byte buffer, processes via FUN_00ddb4d0 (likely strips formatting), converts via _atoi64. Returns result as longlong. 0x007FF520 208 CAchievementWnd__OnItemSlotClick game_skills Handles click on item slot within achievement reward list. Hit-tests click bounds (x: 0x1e-0xbe, y: 0x135-0x14d). Iterates linked list of items, calculates slot from x position (step 0x22). On hit, copies shop item data. Otherwise clears selection. 0x007FF5F0 287 validate_numeric_string game_core Validates that a string contains only digits and spaces. Copies input to STL string, iterates each character checking if it's '0'-'9' or space. Returns 1 if all valid, 0 if any invalid character found. 0x007FF710 552 CAchievementWnd__ShowRewardDetail game_skills Shows reward detail popup for an achievement. Creates or reuses UIListDetailWidgetB at 0x100. Builds item tooltip string, sets detail text. Gets account string, assigns to widget field. Builds combined tooltip+account string for the detail panel's label. Calls FUN_00855150 and FUN_0089cfe0 with color 0xd630a9. 0x007FF940 591 CAchievementWnd__ShowRewardDetailAlt game_skills Alternative reward detail display for achievements. Similar to ShowRewardDetail but checks count < 3 and validates item bounds before showing. Creates UIListDetailWidgetB if needed, builds tooltip from item data and account string, updates detail panel label. 0x007FFB90 2279 CAchievementWnd__CreateChildWidgets game_skills Creates all child widgets for achievement window. Creates: search text box (0xb4), filter text box (0xb8), 4-tab panel (0xbc) with tab labels, 3 editable text widgets for detail fields (0xc0/0xc4/0xc8), title label (0xd0 with "TITLE" text), detail panel (0xd4, tab widget type with skin colors), toggle widget (0xdc), and button (0xd8). Configures positioning, colors, fonts. 0x00800480 169 CAchievementWnd__CreateScrollbar game_skills Creates a scrollbar sprite widget for the achievement window. Allocates UISpriteWidget (0xb4 bytes), sets vtable/fields, positions it at (param_2-5, 0), stores at offset 0x130, adds as child. 0x00800530 2194 CAchievementWnd__Render game_skills Main render function for achievement window. Draws background sprite, optional search icon, score display (formatted as x1000), total points, zeny display with formatted number, achievement point balance. Renders item reward slots in a 0x22-step loop with item icons and quantity labels. Handles detail popup rendering when active. 0x00800ED0 198 CAchievementWnd__OnMouseDown game_skills Mouse down handler for achievement window. Delegates to FUN_008ba1e0 for title bar clicks (y<0x11). Tests item slot hit, if an item is found, calls FUN_00cfe140 to show item info dialog. 0x00800FA0 525 CAchievementWnd__OnMouseHover game_skills Mouse hover handler for achievement window. Hit-tests item slots, if valid item found (atoi != 0), positions tooltip at slot location. Builds item tooltip string, optionally appends quantity info, shows via FUN_00ad6510. 0x008011D0 206 CAchievementWnd__OnDoubleClick game_skills Double-click handler for achievement window. Hit-tests item slots, if valid item found, gets window 0xc (shop/trade) and sends message 0x18 with item data to it. 0x008012A0 145 CAchievementWnd__OnMessage game_skills Main message handler for achievement window. Handles: msg 6/0xc9 (close), msg 6/0xd5 (search/filter with validation), msg 6/0x159 (purchase with zeny/point validation and account ID parsing), msg 0x17 (refresh item list from hash table, max 5 items), msg 0x26/0x68 (network commands), msg 0x62 (external update). Complex purchase flow validates balance against cost. 0x00801CC0 18 CAchievementWnd__UpdateSearchLabel game_skills Updates the search text label on the achievement window. Calls virtual method 0xd4 on the child widget at offset 0xb4. 0x00801CE0 324 UIRefineWnd__ctor game_core Constructor for UIRefineWnd (item refinement window). Inherits from FUN_008a3700. Sets vtable PTR_UIRefineWnd__OnCreate. Initializes two SSO strings at offsets 0x2e and 0x34, hash table (0x100 bytes) at offset 0x3c, zeroes fields 0x3a-0x43. 0x00801E30 145 UIRefineWnd__dtor game_core Destructor for UIRefineWnd. Destroys sub-components, strings, and base class. 0x00801ED0 169 UIRefineWnd__scalar_deleting_dtor_00801ed0 game_core Scalar deleting destructor for UIRefineWnd. Sets vtable, destroys hash table at 0x3c (frees all entries + 0x100 byte root), destroys two SSO strings, calls UIWindowBase dtor. Frees 0x110 bytes if bit 0 of param set. 0x00801F80 208 UIRefineWnd__OnItemSlotClick game_core Handles click on item slot within the refine window. Hit-tests click bounds (x: 0x1e-0xbe, y: 0x135-0x14d). Iterates linked list of items, calculates slot from x position (step 0x22). On hit, copies shop item data. Otherwise clears selection. 0x00802050 30 UIRefineWnd__HideLeftPanel game_core Hides the left panel child window and triggers redraw. 0x00802070 50 UIRefineWnd__HideRightPanel game_core Hides the right panel child window, resets material data, and triggers redraw. 0x008020B0 820 UIRefineWnd__OnOpen game_core UIRefineWnd OnOpen handler. Switches on refine mode (0/1/2 at DAT_01456e6c+0x10) to set up the appropriate item display. Creates confirm/refine dialog buttons, sets up child windows. For mode 0, also creates a tooltip dialog if item has no pending operations. 0x008023F0 747 UIRefineWnd__OnDraw game_core UIRefineWnd OnDraw. Renders the refine window background, item name/description text, material slots with item sprites and counts, and the zeny cost display at the bottom. 0x008026E0 24 UIRefineWnd__OnSlotValidate game_core Validates item slot index for refine window. Only allows indices < 0x11. 0x00802700 525 UIRefineWnd__ShowItemTooltip game_core Shows item tooltip for a material slot in UIRefineWnd. Retrieves item data via OnItemSlotClick, calculates tooltip position based on slot index, builds tooltip string with color code and optional count, and displays via CToolTipMgr. 0x00802910 206 UIRefineWnd__ShowMaterialItemInfo game_core Shows the item info popup window for a material slot in UIRefineWnd. Retrieves item data via OnItemSlotClick, then opens a window type 0xC via CGameObject with the item data passed as message parameter 0x18. 0x008029E0 444 UIRefineWnd__OnMessage game_core UIRefineWnd message handler. Processes button events (0xBD=refine equip via packet 0x9F3, 0xBE=refine material via packet 0x9F1, 0xC9=close/reset, 0xD3=confirm refine with dialog, 0x131=send item name, 0x136=send packet 0xB98). Also handles item list refresh (msg 0x17) and close confirmation (msg 0x6A). 0x00802C8E 187 CUIEquipWnd__handle_unequip_item_request game_core CUIEquipWnd: handle unequip item request 0x008030A0 1722 UIRefineWnd__OnCreate game_core UIRefineWnd OnCreate. Copies item name/description strings, strips color delimiters, creates the main text widget with skin colors, creates left/right panel buttons with textures, creates optional tooltip button, and adds all child widgets to the window hierarchy. 0x00803760 44 UIRefineWnd__SetLeftPanelVisible game_core Sets left panel visibility flag and triggers redraw of both panel and main window. 0x00803790 44 UIRefineWnd__SetRightPanelVisible game_core Sets right panel visibility flag and triggers redraw of both panel and main window. 0x008037C0 180 UIRefineWnd__CreateRefineButton game_core Creates a refine button widget for UIRefineWnd. Allocates a CDialogWnd (0xD0 bytes), sets message text 0xDDC, positions at (0xE0, 0x1D), assigns button ID 0x136, initially hidden, and adds to child list. 0x00803880 104 CQuestSystem__rbtree_lower_bound game_core Red-black tree lower_bound for CQuestSystem item map. Walks the tree comparing 64-bit keys (lo at offset +0x10, hi at +0x14) to find the first node >= the given key. 0x008038F0 446 STL_vector_16byte_insert stl STL vector insert for 16-byte elements. Grows the vector with 1.5x capacity, copies existing elements around the insertion point, and inserts the new 16-byte element. 0x00803AC0 541 STL_insertion_sort_16byte_gradeenchant stl STL insertion sort for 16-byte grade enchant entries. Sorts array in-place by comparing entries via CQuestSystem tree lookups and priority fields at offset +0x18 (type flag) and +0x34 (priority value). 0x00803CE0 702 STL_make_heap_16byte_gradeenchant stl STL make_heap (sift-down) for 16-byte grade enchant entries. Builds a max-heap by repeatedly extracting the last element and sifting it down through the heap. Uses CQuestSystem tree lookups for comparisons. 0x00803FA0 178 STL_median_of_three_16byte_gradeenchant stl STL median-of-three sort for 16-byte grade enchant entries. Sorts 3 elements (first, mid, last) to select a good pivot for introsort partitioning. Uses CQuestSystem tree-based comparator. 0x00804060 2228 STL_introsort_loop_16byte_gradeenchant stl STL introsort loop (partition phase) for 16-byte grade enchant entries. Implements the main partitioning loop of std::sort with median-of-three pivot selection. Falls back to insertion sort for small ranges. 0x00804920 620 STL_adjust_heap_16byte_gradeenchant stl STL adjust_heap (sift-down) for 16-byte grade enchant entries. Pushes an element down through a binary heap to maintain heap property. Used by heap_sort and partial_sort. 0x00804B90 257 STL_sort_16byte_gradeenchant stl STL std::sort implementation for 16-byte grade enchant entries. Uses introsort (quicksort + heapsort fallback + insertion sort for small ranges). Recursively sorts smaller partition first to limit stack depth. 0x00804CA0 167 CQuestSystem__rbtree_erase_node game_core Erases a node from the CQuestSystem red-black tree. Advances iterator, extracts the node, destroys its 3 internal strings, frees the 0x1B0-byte node block, and returns the new iterator position. 0x00804D50 660 UIGradeEnchantWnd__ctor game_core UIGradeEnchantWnd constructor. Initializes the base UIItemListWnd, sets vtable, zeroes all slot/item fields, clears 4x24-byte string buffers, resets grade enchant state, and sends packet 0xAC0 to request grade enchant data from server. 0x00804FF0 68 UIGradeEnchantWnd__dtor_string_A game_core SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup. 0x00805040 68 UIGradeEnchantWnd__dtor_string_B game_core SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot B). 0x00805090 68 UIGradeEnchantWnd__dtor_string_C game_core SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot C). 0x008050E0 68 UIGradeEnchantWnd__dtor_string_D game_core SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot D). 0x00805130 68 UIGradeEnchantWnd__dtor_string_E game_core SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot E). 0x00805180 68 UIGradeEnchantWnd__dtor_string_F game_core SEH-protected std::string destructor wrapper for UIGradeEnchantWnd cleanup (slot F). 0x008051D0 129 STL_vector_16byte_clear_and_free stl Clears and frees a std::vector of 16-byte elements. Handles aligned deallocation for large buffers (>0x1000 bytes) by reading the original allocation pointer from offset -4. 0x00805260 140 UIGradeEnchantWnd__dtor game_core UIGradeEnchantWnd destructor. Resets vtable, clears 4 internal 16-byte vectors via STL_vector_16byte_clear_and_free, then destroys the base UIClass_6060. 0x008052F0 82 CQuestSystem__rbtree_iterator_next game_core Red-black tree iterator increment (operator++). Navigates to the next in-order node: if right child exists, go to leftmost descendant of right child; otherwise walk up to first right-parent ancestor. 0x00805350 196 CQuestSystem__compare_grade_enchant_entries game_core Comparator for grade enchant entries. Looks up both entries by type (0/1/2) in the CQuestSystem tree maps, then compares: first by type flag at +0x18 (type 1 > type 0), then by priority at +0x34 (higher = earlier). Returns true if param_1 should sort before param_2. 0x00805420 164 UIGradeEnchantWnd__scalar_deleting_dtor game_core UIGradeEnchantWnd scalar deleting destructor. Destroys vtable, clears 4 internal vectors via STL_vector_16byte_clear_and_free, destroys base UIClass_6060, and optionally frees the 0x208-byte block if flag bit 0 is set. 0x008054D0 152 UIGradeEnchantResultWnd__send_refine_packet_for_item game_core Sends a grade enchant refine packet (0xC4) for a single item. Looks up the item by type (0/1/2) in the CQuestSystem tree, checks status flags (bits 1+2 at +0x19), and sends the refine request via virtual call. Clears TLS field 0x109 if DAT_01457adc is set. 0x00805570 471 UIGradeEnchantResultWnd__send_refine_packets_all game_core Sends grade enchant refine packets for all eligible items. In multi-select mode (+0x1D4), iterates the selection vector and sends packet 0xC4 for each valid item. In single mode, iterates all items in the current tree map. Counts sent vs skipped (locked) items, displays error for locked items via message 0xA34. 0x00805750 340 UIGradeEnchantResultWnd__DrawItemSlotRow game_core Draws a single item slot row in the UIGradeEnchantResultWnd. Renders background sprite based on enchant type, draws item icon, and overlays status badges (locked/equipped/etc) using flag bits from the item status byte at +0x19. 0x008058C0 5239 UIGradeEnchantResultWnd__ShowResult game_core Creates the UIGradeEnchantResultWnd UI. Builds 3 tab-style multi-string widgets (msgs 0xDDC/0xDDA/0xDDB), 2 action buttons (Enchant/Close), 6 item slot rows with checkboxes/name labels/count labels/enchant buttons, a status text widget, a scroll button, and a result tab widget. Configures all positions, text colors, and message handlers. 0x00806D40 2301 UIGradeEnchantResultWnd__PlayAnimation game_core Draws the grade enchant result display. In pre-result state, shows background and description text. In result state, iterates 6 item slots: draws each item row via DrawItemSlotRow, displays countdown timers via DrawCountdownTimer, handles slot removal for cleared items, shows item name/description for valid selections. Also renders page count and navigation label at bottom. 0x00807640 24 UIGradeEnchantResultWnd__OnSlotValidate game_core Validates item slot index for grade enchant result window. Only allows indices < 0x11. 0x00807690 294 UIGradeEnchantResultWnd__SendRefinePacketsForItem game_core Sends refine packets (0x9F3 for equipment, 0x9F1 for material) for a single item based on status flag bits. Checks trade window state first. Looks up item in CQuestSystem tree, reads status byte at +0x19, sends appropriate packet for bit 2 (equip) and/or bit 1 (material). 0x008077C0 285 UIReformWnd__SendRefinePacketsForVisible game_core Sends refine packets for all visible/selected items in UIReformWnd. In multi-select mode (+0x1D4=1), iterates the selection vector and sends 0xC4 packets. In single mode, iterates the current tree map and sends for items with pending count > 0 at +0x1AC. 0x008078E0 437 UIReformWnd__ResetLabels game_core Resets UIReformWnd labels and slot states. Clears page counter (+0x67), resets all 6 radio buttons and slot EC flags, updates status label texts (messages 0xE05 and 0xE08) with button IDs 0x222 and 0x224, triggers redraw. 0x00807AA0 214 UIReformWnd__OnMessage game_core UIReformWnd OnMessage handler. Massive switch handling: slot text clicks (msg 0), button events (msg 6: 0x222=enchant all, 0x223=send selected, 0x224=cancel all), data refresh (msg 0x17), redraw (msg 0x3C), item clicks (msg 0x62: 0x142=view item, 0x143=select for enchant). Contains the main reform/enchant workflow logic. 0x00807FCE 1 stub_nop_00807fce game_core Single-byte stub function (size=1) 0x0080803F 29 UIGradeEnchantWnd__cleanup_and_return game_core UIGradeEnchantWnd: cleanup and return 0x0080805C 5 thunk_UIGradeEnchantWnd__epilog_return_zero game_core thunk_UIGradeEnchantWnd: epilog return zero 0x00808191 1 stub_nop_00808191 game_core Single-byte stub function (size=1) 0x008081A1 1 stub_nop_008081a1 game_core Single-byte stub function (size=1) 0x008081C3 1 stub_nop_008081c3 game_core Single-byte stub function (size=1) 0x0080851E 31 UIGradeEnchantWnd__epilog_return_zero game_core UIGradeEnchantWnd: epilog return zero 0x00808646 1560 UIGradeEnchantWnd__show_refine_confirmation_dialog game_core UIGradeEnchantWnd: show refine confirmation dialog 0x00808FD0 230 UIReformWnd__SetButtonsVisible game_core Sets visibility of multiple buttons in UIReformWnd. Toggles visible/hidden state for buttons at offsets 0x65, 0x66, 0x4F, 99, 0x50, 100, and triggers redraw on each. Used to show/hide the reform action buttons panel. 0x008090C0 1452 UIReformWnd__UpdateSlotDisplay game_core Updates a single slot display in UIReformWnd. Takes slot index and item data, strips color delimiters from name/description strings, sets item name text with appropriate colors (gray for locked, normal otherwise), updates radio button state and item ID reference. 0x00809670 603 UIReformWnd__DrawCountdownTimer game_core Draws the countdown timer for a grade enchant slot in UIReformWnd. Calculates remaining time from start/end timestamps, formats as minutes/hours/days using messages 0xB22-0xB24, and renders centered text with appropriate color (gold=locked, green=available). 0x008098D0 64 UIReformWnd__ResetSlots game_core Resets all 6 item slots in UIReformWnd. Increments counter at +0x67, clears slot data and EC flags, triggers redraw. 0x00809910 117 UIRefineWnd__SetTitleString game_core Sets the title string at offset 0x2d on the refine window. Copies input string (handles SSO), triggers redraw via virtual method 0x98, then destroys temporary string. 0x00809990 452 UIGradeEnchantResultWnd__RefreshItemLists game_core Refreshes the grade enchant item lists from CQuestSystem tree maps. Resets 3 vectors (at +0x1E4, +0x1F0, +0x1FC for types 0/1/2), iterates each tree map (offsets 0x20, 0x28, 0x30 from DAT_01456e6c), copies entries into vectors, then sorts each vector via STL_sort_16byte_gradeenchant. 0x00809B60 110 UIGradeEnchantResultWnd__RemoveEntryById game_core Removes an entry from the type-0 item vector (at +0x1E4) by matching the 64-bit item ID (low at element[2], high at element[3] via sign extension). Shifts remaining 16-byte elements down and decrements the end pointer. 0x00809BD0 36 copy_16byte_elements_forward game_core Copy 16byte elements forward 0x00809C00 36 relocate_16byte_elements game_core Relocates 16-byte elements by a fixed offset (param_3 - param_1). Copies each element (4 dwords) to its new position. Used for vector reallocation. 0x00809C30 10 thunk_to_std__Xlength_error_00809c30 stl Wrapper calling std::_Xlength_error for vector overflow 0x00809C40 58 free_16byte_vector_buffer stl Frees a vector buffer of 16-byte elements. Calculates total size (count * 0x10), handles aligned deallocation for buffers >4096 bytes. 0x00809C80 748 CAchievementWnd__FilterAndRefreshByName game_skills Filters achievement entries by name substring search. Iterates all 3 quest system tree maps (offsets 0x20, 0x28, 0x30), for each entry calls std__string_find_in_string to match filter text. Matching entries are added to vector at 0x1d8. Updates UI via UIGradeEnchantWnd__SetItemSlot. 0x00809F70 748 CAchievementWnd__FilterAndRefreshByNameAlt game_skills Alternative filter and refresh by name (identical structure to FilterAndRefreshByName at 00809c80). Filters all 3 tree maps by substring match, populates vector at 0x1d8, updates item slot UI. 0x0080A260 163 std__tree__destroy_nodes_recursive_118 stl Recursively destroys a red-black tree subtree of 0x18-byte nodes. Walks left children while recursively destroying right subtrees, then frees each node via operator delete. Stops at sentinel nodes. 0x0080A310 597 CQuestSystemData__Init game_skills Initializes quest system data structure. Zeroes 3 arrays of 6 entries each (32 bytes/entry) at offsets 0x1c, 0xdc, 0x19c. Allocates RB-tree sentinel (0x118 bytes) at offset 0x27c. Clears item descriptor fields, resets all tracking fields. Sets initialized flag to 1. 0x0080A570 70 CQuestSystemData__FreeExtraNode game_skills Frees an extra tree node (0x118 bytes) at offset 0x4 if not null. 0x0080A5C0 79 CQuestSystemData__DestroyTree game_skills Destroys the RB-tree at offset 0x0. Recursively destroys all nodes (0x118 bytes each) via std__tree__destroy_nodes_recursive_118, then frees the sentinel node. 0x0080A620 143 CQuestSystemData__DestroyNodeWithStrings game_skills Destroys a tree node at offset 0x4 that contains 2 embedded strings. Destroys both strings, then frees the 0x118-byte node. 0x0080A6B0 81 CQuestSystemData__FreeExtraNodeAlt game_skills Frees extra tree node (0x118 bytes) at offset 0x4 if not null. Alternative version with different calling context. 0x0080A710 90 CQuestSystemData__DestroyTreeAlt game_skills Destroys RB-tree by recursively freeing all nodes (0x118 bytes each) and the sentinel. Alternative version. 0x0080A770 100 CQuestSystemData__DestroyTwoStrings game_skills Destroys two STL strings. Used as cleanup for tree node data that contains 2 embedded strings. 0x0080A7E0 189 CQuestSystemData__dtor game_skills Destructor for CQuestSystemData (0x478 bytes). Destroys 4 embedded strings, then destroys the RB-tree at offset 0x27c (recursive node destruction + sentinel free). 0x0080A8A0 213 CQuestSystemData__scalar_deleting_dtor game_skills Scalar deleting destructor for CQuestSystemData. Runs dtor (destroy strings + tree), frees 0x478 bytes if bit 0 set. 0x0080A980 540 CQuestSystemData__AddItemEntry game_skills Adds an item entry to the quest system data's RB-tree at offset 0x27c. Clears item info, creates CItemDesc, allocates 0x118-byte tree node, copies shop item data. Inserts into tree ordered by short values at offsets 0x10 and 0x12. Validates tree size != 0xea0ea0. 0x0080ABA0 76 CQuestSystemData__ResetFields game_skills Resets quest system data fields. Zeroes 0x240 bytes at offset 0x1c (3 item arrays), clears tracking fields at offsets 0x8-0x18, 0x25c-0x260, and flag at 0x10. 0x0080ABF0 161 CQuestSystemData__GetInstance game_skills Singleton accessor for CQuestSystemData (DAT_01456e88). Allocates 0x478 bytes on first call, initializes via CQuestSystemData__Init. Returns 1 on success, 0 on failure. Destroys on init failure. 0x0080ACA0 28 CQuestSystemData__DestroyInstance game_skills Destroys the CQuestSystemData singleton. Calls scalar_deleting_dtor(1) to destroy and free the instance at DAT_01456e88, then nulls the pointer. 0x0080ACC0 254 UIRouletteWnd__submit_render_quad game_core Submits a render quad to the render pipeline for the roulette wheel highlight. Grows circular buffer if needed, allocates 0x28 byte entry, classifies mesh with flag 0x201, then calls animate_spin_step. 0x0080ADC0 641 UIRouletteWnd__animate_spin_step game_core Animates one step of the roulette spin. Copies target vertex positions from buffer, decrements float values per frame step. Handles two phases: acceleration (<7 steps) and deceleration (>=7). When final position reached, triggers completion with prize display. 0x0080B050 370 UIRouletteWnd__animate_spin_final game_core Animates the final roulette spin. Handles deceleration, settling on a winning slot, and triggering the result display. 0x0080B1D0 157 UIRouletteWnd__select_item_by_index game_core Selects a roulette item by absolute index. If -1, resets selection. Otherwise searches the red-black tree for the matching index and copies item description data via CItemDesc__copy_from. 0x0080B270 542 UIRouletteWnd__start_spin_animation game_core Starts the roulette spin animation. Sets up vertex positions, calculates target positions with shrink offset, records start time (timeGetTime), sets 35ms frame interval, enables animation flag and disables UI interaction during spin. 0x0080B490 484 UIRouletteWnd__set_quad_vertices game_core Sets up the 6 quad vertices (24 floats) for the roulette highlight rectangle. Handles 800x600 resolution offset (+3). Sets position, UV coords, normal, and color (0x44ffffff white) for each vertex. 0x0080B680 158 UIRouletteWnd__set_item_from_tree game_core Sets roulette item data from the RB-tree. Stores the target index (param_2) at offset 0x264, flags at 0x278/0x279. Iterates the tree at offset 0x27c to find matching row/column, copies item description via CItemDesc__copy_from. 0x0080B720 517 std__Tree_val__Insert_node_0080b720 stl STL std::_Tree_val::_Insert_node. Inserts a node into a red-black tree, performs rotations and recoloring to maintain RB-tree invariants. MSVC 2019 library function. 0x0080B930 277 UIRouletteWnd__ctor game_core UIRouletteWnd constructor. Initializes base class, vtable (PTR_FUN_0112b7d4), item tree, linked list with 0x100 sentinel. Sets up display flags, page counters, item manager state. 0x0080BA50 154 UIRouletteWnd__dtor game_core UIRouletteWnd destructor. Sets vtable, destroys linked list at offset 0x72 (frees 0x100-byte sentinel), destroys 2 embedded strings, then calls UIWindowBase__dtor. 0x0080BAF0 178 UIRouletteWnd__scalar_deleting_dtor game_core UIRouletteWnd scalar deleting destructor. Runs full destructor (vtable, list, strings, base), then frees 0x1E8-byte allocation if bit 0 of param_2 is set. 0x0080BBB0 338 UIRouletteWnd__hit_test_grid game_core Hit tests the roulette grid for mouse position (param_3=x, param_4=y). Determines row (0-7, spaced 0x28 apart from 0x158 down) and column (0-8, spaced 0x24 apart). Stores hit row/col at offsets 0x1D4/0x1D0. On match, searches the item tree for the corresponding item and copies its description. 0x0080BD10 1284 UIRouletteWnd__OnCreate game_core UIRouletteWnd::OnCreate. Creates UI sprite elements: buttons, roulette_Start_spr/act, roulette_GetWinPrize_spr/act, roulette_stageArrow_spr/act. Sets up three text display areas for currency values. Mode 2 (DAT_0173a8e0==2) creates extra animated sprites. 0x0080C220 614 UIRouletteWnd__draw_items game_core Draws the roulette item icons in their grid positions. Iterates slots and renders item sprites with highlight effects for the winning slot. 0x0080C4A0 653 UIRouletteWnd__OnDraw game_core Main roulette window draw handler. Renders the wheel background, spinning animation, item grid, highlight overlay, and spin button state. 0x0080CB90 331 UIRouletteWnd__OnMessage game_core UIRouletteWnd message handler. Handles: 0xC9=spin button (checks spinning state, shows error if active), 0x199=claim reward button (sends packet 0xA1F), 0x19A=confirm prize (sends packet 0xA21 if spinning). Case 0x3C=refresh display. 0x0080CCE0 350 UIRouletteWnd__draw_grid_background game_core Draws the roulette grid background. Manages visibility of animated sprite widgets (start button, prize button, stage arrow) based on game state: spin active, prize claimed, stage level. Handles mode 2 (DAT_0173a8e0==2) extra sprites. 0x0080CE40 83 UIRouletteWnd__get_spin_state game_core Returns the current roulette spin state. 0=idle, 1=spinning (phase<7 and prize not claimed), 2=gold coins exceeded limit, 4=silver coins exceeded limit. 0x0080CEA0 103 std__map_destroy_subtree_recursive_4c stl Recursively destroys a red-black tree subtree of 0x4C-byte nodes. Walks left children while destroying right subtrees, then frees each node. Stops at sentinel (nil) nodes marked by byte at offset 0xd. 0x0080CF10 321 CRouletteItemMgr__insert_item game_core Inserts a roulette item into the red-black tree map. Key is the item index (param_3[0]). Node is 0x4C bytes containing item data (copies 52 bytes from param_3). Uses Insert_node for tree insertion. 0x0080D060 284 std__vector_construct_fill_0080d060 stl STL std::vector constructor with fill. Allocates buffer for param_2 elements of 4 bytes each, fills with value from *param_3. Handles aligned allocation for buffers >4096 bytes. 0x0080D180 284 std__vector_construct_fill_0080d180 stl STL std::vector constructor with fill (duplicate instance). Allocates buffer for param_2 elements of 4 bytes each, fills with value from *param_3. Handles aligned allocation for buffers >4096 bytes. 0x0080D2A0 423 CRouletteItemMgr__ctor game_core CRouletteItemMgr constructor. Sets vtable, initializes display parameters (float values for positioning/scaling), allocation flags, creates 0x18-byte RB-tree sentinel for item storage. Accepts two params stored at offsets 0x1A and 0x1B. 0x0080D450 67 free_12byte_buffer stl Frees a 0xC-byte buffer at offset 0x4 of the object if non-null. Used for cleanup of small linked list nodes. 0x0080D4A0 67 free_16byte_buffer stl Frees a 0x10-byte buffer at offset 0x4 of the object if non-null. Used for cleanup of 16-byte data blocks. 0x0080D4F0 78 free_12byte_buffer_alt stl Alternative version of free_12byte_buffer. Frees a 0xC-byte buffer at offset 0x4 if non-null. Different SEH frame setup from primary version. 0x0080D540 78 free_16byte_buffer_alt stl Alternative version of free_16byte_buffer. Frees a 0x10-byte buffer at offset 0x4 if non-null. Different SEH frame setup from primary version. 0x0080D590 111 std__map_destroy_tree_4c stl Destroys an entire red-black tree of 0x4C-byte nodes. Gets root from header node, recursively destroys all subtrees via std__map_destroy_subtree_recursive_4c, then frees the header/sentinel node. 0x0080D610 103 std__list_destroy_all_nodes_0xc stl Destroys all nodes in a singly-linked list of 0xC-byte nodes. Zeroes the count at header[1], then walks the chain from header[0] freeing each 0xC-byte node. Finally frees the header node itself. 0x0080D680 65 std__map_clear_4c_wrapper stl Wrapper that clears a std::map with 0x4C-byte nodes. Calls std__map_destroy_tree_4c to recursively delete all nodes, then resets the tree header to empty state. 0x0080D6D0 89 CEntityRenderer__destructor game_entity Destructor for CEntityRenderer. Sets vtable, destroys internal RB-tree (sprite part map) via CReportStorage__destroy_tree_and_sentinel. 0x0080D730 117 CEntityRenderer__scalar_deleting_dtor game_entity Scalar deleting destructor for CEntityRenderer. Sets vtable, destroys RB-tree, frees 0xC4 bytes if bit 0 set. 0x0080D7B0 742 CEntityRenderer__calc_sprite_frame_vertices game_entity Calculates sprite frame vertex positions for entity rendering. Takes sprite frame data, scale, and offsets; computes screen-space quad coords, UV fog values, and ARGB color from sprite palette. Returns 1 if visible, 0 if culled by screen bounds. 0x0080DAA0 255 CEntityRenderer__apply_equipment_sprite_offset game_entity Applies sprite position offsets for equipment layers (head=2, garment=3, robe=4). Adjusts X/Y position based on resolution threshold (DAT_0135f44c vs DAT_0112bb7c). 0x0080DBA0 971 CEntityRenderer__build_sprite_layer_front game_entity Builds front-facing sprite layer for entity rendering. Loads robe sprite resources, iterates skill tree detail entries to compute sprite frame vertices. Pushes 12-byte render entries to the render list. Handles animation frames and fog depth. 0x0080DF70 1068 CEntityRenderer__build_sprite_layer_back game_entity Builds back-facing sprite layer for entity rendering. Similar to front layer but pushes 16-byte entries (with extra layer flag). Handles top-layer Lua check for overlay positioning adjustments. 0x0080E3A0 299 CEntityRenderer__lua_get_draw_on_top game_entity Queries Lua for DrawOnTop flag. Calls 'DrawOnTop' or 'New_DrawOnTop' depending on global flag DAT_0173353c. Returns 1 byte boolean indicating whether sprite should render on top layer. 0x0080E4D0 1430 CEntityRenderer__apply_item_position_offset game_entity Applies item/equipment position offsets via Lua callback 'OffsetItemPos_GetUppingBottomIte...'. Handles per-job and per-equip-slot offset tables with resolution-dependent branching. For type 2 (body), also queries Lua for additional offset and applies it. 0x0080EA80 5575 CEntityRenderer__render_entity_full game_entity Main entity render function. Sets up camera matrix, projects world position to screen, loads all sprite resources (body, head, weapon, accessory, robe palettes), iterates through equipment layers (0-8) building sprite render entries. Handles direction mapping, layer priority via Lua, guild skill checks, and bounding box computation. Output is a linked list of render entries. 0x008105A0 5643 CEntityRenderer__render_entity_to_list game_entity Renders an entity to an output render list (param_2). Similar to render_entity_full but returns the list pointer. Projects entity to screen, loads all sprite resources, builds render entries per equipment layer, handles palette swaps, direction, and layer priority. Sets bounding box and visibility flag. 0x00811C10 930 CEntityRenderer__render_shadow game_entity Renders entity shadow sprite. Loads shadow.spr and shadow.act resources, gets interpolated ground height, projects to screen, computes shadow quad vertices with scale from NPC location radius. Returns render entry pointer or 0 if not visible. 0x00811FC0 1259 CRenderQueue__submit_sprite_entry game_core Creates a sprite render entry in the render queue. Sets up 4-vertex textured quad with position, UV coordinates (from tile cache or texture), perspective correction, rotation support, and color/alpha. Manages render deque allocation with growth. Returns pointer to the new render entry. 0x008124B0 236 CEntityRenderer__lua_set_layer_priority game_entity Sets entity layer priority via Lua. Stores param_2 at offset 0xBC, calls Lua method with 'IsHelmRobe' and 'TB_Layer_Priority' string arguments to determine sprite rendering layer order. 0x008125A0 10 std__vector_xlength_error_008125a0 stl Throws std::length_error for vector operations that exceed max_size. 0x008125B0 10 std__vector_xlength_error_008125b0 stl Throws std::length_error for vector operations that exceed max_size. 0x008125C0 95 std__allocate_12byte_array stl Allocates memory for an array of 12-byte elements with proper alignment. 0x00812620 165 std__list_push_back_12byte stl Allocates a new 12-byte node and inserts it at the end of an STL list. 0x008126D0 173 std__list_push_back_16byte stl Allocates a new 16-byte node and inserts it at the end of an STL list. 0x00812780 118 CRenderBatchList__ctor game_core Constructor for CRenderBatchList. Sets vtable to CRenderBatchList vftable, initializes empty linked list (sentinel node), zeroes count and child pointer fields. 0x00812800 209 CRenderBatchList__dtor game_core Destructor for CRenderBatchList. Destroys child object at offset 3 via virtual call if present. Walks and frees all 0xC-byte linked list nodes twice (clears and then destroys), frees sentinel node. 0x008128E0 230 CRenderBatchList__scalar_deleting_dtor game_core Scalar deleting destructor for CRenderBatchList. Sets vtable, destroys child object at offset 3 if present. Walks linked list at offset 1, frees all 0xc-byte nodes. Frees sentinel node. Frees 0x10 bytes if bit 0 set. 0x008129D0 1270 CRenderQueue__DrawTexturedQuad game_core Draws a textured quad to the render queue. Creates a mesh entry with 4 vertices, calculates UV coordinates from texture dimensions. Two modes: param_7=1 uses normalized coords with texture virtual methods, param_7=0 allows custom width/height with clamping. Sets z-depth, w and color (param_4) for all 4 vertices. Pushes to list via std__list_push_back_12byte. 0x00812ED0 453 CRenderQueue__DrawTexturedQuadSubrect game_core Draws a textured quad with custom UV subrect specified by pixel coordinates (param_4-7). Calculates UV coords from texture dimensions. Sets z/w/color for all 4 vertices. Pushes to render list. 0x008130A0 750 CRenderQueue__DrawTexturedQuadNormalized game_core Draws a textured quad with fully normalized UV coordinates from texture's virtual width/height methods. Position at (param_1, param_2) with size (param_5, param_6). Null check on texture. Pushes to render list. 0x00813390 286 CRenderQueue__DrawColoredQuad game_core Draws a solid colored quad (no texture, texture ptr = 0). Position at (param_1, param_2) with size (param_3, param_4). Color from param_5. All UV coords set to 0. Pushes to render list. 0x008134B0 644 CRenderQueue__DrawTexturedQuadByName game_core Draws a textured quad by loading texture from name string via stub_005717a0. Handles optional width/height params (0 = use texture size). Calculates UV with clamping. Pushes to render list. 0x00813740 694 CRenderQueue__DrawTexturedQuadScaled game_core Draws a textured quad with scaling factor (in_stack_00000030). Loads texture by name, calculates UV coordinates with scale applied (DAT_01114b8c / scale). Supports offset parameters for UV origin. Pushes to render list. 0x00813A00 455 CRenderQueue__ClearAndDrawBackground game_core Clears the render batch list (frees all 0xc-byte list nodes, resets to empty) and adds a single background quad covering (0,0)-(param_2, param_3) with solid color param_4. No texture. 0x00813BD0 79 CRenderTarget__dtor game_core Destructor for CRenderTarget. Sets vtable to PTR_FUN_0112bb90, destroys child object at offset 1 via virtual call if present. 0x00813C30 100 CRenderTarget__scalar_deleting_dtor game_core Scalar deleting destructor for CRenderTarget. Destroys child, frees 8 bytes if bit 0 set. 0x00813CA0 982 CRenderQueue__FlushToTexture game_core Flushes render queue contents to an offscreen texture. Creates render target surface if needed (stub_00571660). Sets up D3D device state (render target, depth stencil, viewport), iterates render list drawing each textured mesh via CRenderPipeline__set_texture_by_stage + stub_00569470. Blits result to output texture. Restores original render state. 0x00814080 573 std__vector_36byte__emplace stl STL vector emplace for 36-byte (0x24) elements. Allocates new buffer with 1.5x growth, copies element at insertion point, relocates before/after segments. Destroys strings in old elements before freeing old buffer. Max capacity 0x71c71c7. 0x008142C0 103 std__vector_36byte__construct_element stl Constructs a 36-byte element in-place for vector emplace. Copy constructs the embedded string, then copies remaining fields (0x18, 0x1c byte, 0x20). 0x00814330 157 UIRuneEntry__copy_ctor game_core Copy constructor for UIRuneEntry (0x24 bytes). Initializes SSO string (capacity 0xf), copies string content, then copies additional fields at offsets 0x18 (dword), 0x1c (byte), 0x20 (dword). 0x008143D0 103 UIRuneEntry__default_ctor game_core Default constructor for UIRuneEntry. Initializes SSO string to empty (capacity 0xf), zeroes flag byte at 0x1c and dword at 0x18. 0x00814440 147 UIRuneSlotWidget__ctor game_core Constructor for UIRuneSlotWidget. Inherits UISpriteWidget, sets vtable to PTR_UIRuneSlotWidget_0112c0b4. Initializes slot dimensions 0x2d, icon type 6. 0x008144E0 86 UIRuneTabWidget__ctor game_core Constructor for UIRuneTabWidget. Inherits from base UI widget via CEffect__ctor. Sets vtable to PTR_UIRuneTabWidget_0112bd4c. 0x00814540 864 UIRuneSystemRequestWnd__ctor rune Constructor for UIRuneSystemRequestWnd. Inherits base UI. Sets vtable. Initializes 3 SSO strings with gauge texture paths: 'runesystem_gage_empty.bmp' (0x22), 'runesystem_gage_full.bmp' (0x28), 'runesystem_gage_max.bmp' (0x2e). Fields: mode=0x45 at 0x1f, flags at 0x20-0x21. 0x008148A0 147 UIRuneListBox__ctor game_core Constructor for UIRuneListBox. Inherits UISpriteWidget. Sets vtable to PTR_UIRuneListBox. Initializes slot dimensions 0x2d=0x2f, icon type 0x28=6. 0x00814940 124 UIRuneListBoxDerived__ctor game_core Constructor for UIRuneListBoxDerived. Base sprite widget with vtable PTR_UIRuneListBoxDerived_0112befc. Initializes dimensions 0x44 x 0x28, selected index -1, icon type 6. 0x008149C0 130 UIRuneContainerWnd__ctor game_core Constructor for UIRuneContainerWnd. Inherits dialog window, sets vtable PTR_UIRuneContainerWnd_0112bb98. Zeroes child pointers 0x48-0x49, constructs 3 string entries (0x18 bytes each) at offset 0x4a via _eh_vector_constructor_iterator_. 0x00814A50 163 UIRuneTextBox__ctor game_core Constructor for UIRuneTextBox. Inherits base UI via CEffect__ctor. Sets vtable PTR_UIRuneTextBox_0112c5cc. Zeroes fields 0x1f-0x30 (text content, scroll state, etc). 0x00814B00 181 UIRuneDetailSlotWidget__ctor game_core Constructor for a rune detail slot widget. Extends UISpriteWidget with vtable chain (0112befc -> 0112c190). Initializes slot dimensions (0x44 x 0x28), type 6, clears data fields 0x30-0x32, sets final dimension 0x2d=0xf. 0x00814BC0 378 UIRuneInputBox__ctor game_core Constructor for rune input box widget. Sets vtable PTR_UIRuneInputBox_0112bc74, initializes tab type to 4, allocates and copies default tab bitmap path string 'runesystem/runesystam_tab_%d.bm*' (0x2F bytes with SSO reallocation). Sets counter field to 0. 0x00814D40 159 UIRuneSystemRequestWnd__constructor rune Constructor for rune system request window. Sets vtable PTR_UIWindow_0112ca04, clears fields 0x2E-0x2F, sends network packet 0xBE0 with flag=1 to request rune data from server. 0x00814DE0 113 UIRuneListBox__constructor game_core Constructor for rune list box widget. Sets vtable PTR_UIListBox_0112c344, type 4, display mode 2, selected index -1. 0x00814E60 126 UIRuneListBoxDerived__constructor game_core Constructor for derived rune list box. Sets base vtable then overrides to PTR_UIListBoxDerived_0112c41c. Same initialization as UIRuneListBox (type 4, mode 2, index -1). 0x00814EE0 308 UIRuneContainerWnd__constructor game_core Constructor for rune container window. Sets vtable PTR_UIContainer_0112c92c, creates a button widget (0x120 bytes) with 4 sprite states, positions it centered, assigns button ID 0xB8, zeroes 0x40 bytes of rune data fields. 0x00815020 121 UIRuneTextBox__constructor game_core Constructor for rune text box widget. Calls base text widget constructor (UITabWidget__default_ctor), sets vtable PTR_UITextBox_0112c4f4, initializes SSO string field at 0x3C. 0x008150A0 525 UIRunePageNavWidget__constructor game_core Constructor for rune page navigation widget. Creates two button widgets (next/prev page) with 4 sprite states each, assigns IDs 0x13D and 0x13C. Queries CRuneSystemMgr for page count; disables both buttons if below max pages (9). Initializes page tracking fields. 0x008152B0 227 UIRuneInputBox__constructor game_core Constructor for rune input box. Sets vtable PTR_UIInputBox_..._0112c77c, initializes two string fields (0x1F and 0x25) with SSO buffers, clears them to empty, and zeros control fields (0x2B-0x2F). 0x008153A0 93 UIRuneCheckBox__constructor game_core Constructor for rune checkbox widget. Sets vtable PTR_UICheckBox_..._0112c6a4, initializes checked state to 0. 0x00815400 86 UIRuneButton__constructor game_core Constructor for rune button widget. Sets vtable PTR_UIButton_..._0112c854. 0x00815460 90 std__vector_36__destroy_elements stl Destroys all elements in a vector of 0x24-byte (36) structs. Each element contains a string that needs to be destroyed. Iterates begin to end, calling STL_string_dtor on each element. 0x008154C0 197 std__vector_36__clear_and_free stl Clears and frees a vector of 0x24-byte structs. Destroys string in each element, then frees the buffer (handles aligned allocation), and zeroes begin/end/capacity. 0x00815590 65 UIRuneSystem__destroy_string_wrapper rune Simple string destructor wrapper with SEH frame. Destroys a single STL string. 0x008155E0 84 UIRuneSlotWidget__destructor game_core Destructor for rune slot widget. Sets vtable chain (0112c0b4 then 0112befc), calls sprite widget destructor. 0x00815640 71 UIRuneTabWidget__destructor game_core Destructor for rune tab widget. Sets vtable, calls base widget destructor (FUN_00a79e90). 0x00815690 84 UIRuneSlotEnhanced__destructor game_core Destructor for an enhanced rune slot widget variant. Sets vtable chain (0112bfd8 then 0112befc), calls sprite widget destructor. 0x008156F0 71 UIRuneBaseSlot__destructor game_core Destructor for a base rune slot widget. Sets vtable 0112befc, calls sprite widget destructor (FUN_00871830). 0x00815740 105 UIRuneSystemWnd__destructor rune Destructor for the rune system main window. Sets vtable 0112bb98, destroys 3 embedded string objects (0x18 bytes each starting at offset 0x4A*4) via eh_vector_destructor_iterator, then calls base destructor (FUN_008511b0). 0x008157B0 71 UIRuneTextBox__destructor game_core Destructor for rune text box widget. Sets vtable 0112c5cc, calls base widget destructor (FUN_00a79e90). 0x00815800 108 UIRuneSlotWidget__full_destructor game_core Full destructor for rune slot widget. Sets vtable 0112c190, clears 36-byte vector, then sets vtable 0112befc and calls sprite destructor. 0x00815870 137 UIRuneSystemRequestWnd__destructor rune Destructor for rune system request window. Sets vtable, sends network packet (0xBE0 with flag=0 to unsubscribe), then calls base window destructor. 0x00815900 71 UIRuneListBox__destructor game_core Destructor for rune list box. Sets vtable, calls base widget destructor. 0x00815950 84 UIRuneListBoxDerived__destructor game_core Destructor for derived rune list box. Sets vtable chain, calls base widget destructor. 0x008159B0 71 UIRuneContainerWnd__destructor game_core Destructor for rune container window. Sets vtable, calls base window destructor. 0x00815A00 95 UIRuneTextBox__full_destructor game_core Full destructor for rune text box. Sets vtable, destroys string field, calls base text widget destructor. 0x00815A60 71 UIRunePageNavWidget__destructor game_core Destructor for rune page navigation widget. Sets vtable, calls base widget destructor. 0x00815AB0 107 UIRuneInputBox__destructor game_core Destructor for rune input box. Sets vtable, destroys two string fields, calls base widget destructor. 0x00815B20 71 UIRuneCheckBox__destructor game_core Destructor for rune checkbox. Sets vtable, calls base widget destructor. 0x00815B70 71 UIRuneButton__destructor game_core Destructor for rune button. Sets vtable, calls base widget destructor. 0x00815BC0 112 UIRuneSlotWidget__scalar_del_dtor game_core Scalar deleting destructor for rune slot widget. 0x00815C30 96 UIRuneTabWidget__scalar_del_dtor game_core Scalar deleting destructor for rune tab widget. 0x00815C90 143 UIRuneSystemRequestWnd__scalar_del_dtor rune Scalar deleting destructor for rune system request window. 0x00815D20 112 UIRuneListBox__scalar_del_dtor game_core Scalar deleting destructor for rune list box. 0x00815D90 99 UIRuneListBoxDerived__scalar_del_dtor game_core Scalar deleting destructor for derived rune list box. 0x00815E00 129 UIRuneContainerWnd__scalar_del_dtor game_core Scalar deleting destructor for rune container window. 0x00815E90 99 UIRuneTextBox__scalar_del_dtor game_core Scalar deleting destructor for rune text box. 0x00815F00 132 UIRunePageNavWidget__scalar_del_dtor game_core Scalar deleting destructor for rune page navigation widget. 0x00815F90 113 UIRuneInputBox__scalar_del_dtor game_core Scalar deleting destructor for rune input box. 0x00816010 161 UIWindow_00816010__scalar_deleting_dtor game_core Scalar deleting destructor; sets vtable 0112ca04, size 0xe8, calls base dtor 008a4e90 0x008160C0 99 UIListBox_008160c0__scalar_deleting_dtor ui_events Scalar deleting destructor; sets vtable 0112c344, size 0x88, calls base dtor 00a79e90 0x00816130 112 UIListBoxDerived_00816130__scalar_deleting_dtor ui_events Scalar deleting destructor; sets vtable 0112c41c then 0112c344, size 0x88 0x008161A0 99 UIContainer_008161a0__scalar_deleting_dtor game_core Scalar deleting destructor; sets vtable 0112c92c, size 0xf8, calls base dtor 008a4e90 0x00816210 119 UITextBox_00816210__scalar_deleting_dtor game_core Scalar deleting destructor; sets vtable 0112c4f4, size 0x108, destroys STL string member 0x00816290 99 UIWidget_00816290__scalar_deleting_dtor ui_framework Scalar deleting destructor; sets vtable 0112be24, size 0x8c, calls base dtor 00a79e90 0x00816300 131 UIInputBox_00816300__scalar_deleting_dtor game_core Scalar deleting destructor; sets vtable 0112c77c, size 0xc8, destroys two STL strings 0x00816390 99 UICheckBox_00816390__scalar_deleting_dtor game_core Scalar deleting destructor; sets vtable 0112c6a4, size 0x88, calls base dtor 00a79e90 0x00816400 99 UIButton_00816400__scalar_deleting_dtor ui_events Scalar deleting destructor; sets vtable 0112c854, size 0x80, calls base dtor 00a79e90 0x00816470 444 UIRuneSystem__append_text_entry rune Appends text entry with string, color, and offset to scrollable text buffer at +0xc0 0x00816630 54 UIRuneSystem__adjust_scroll_position rune Adjusts scroll position by delta, clamped to [0, max_scroll], calls redraw on change 0x00816670 64 UIRuneSystem__set_tick_timer rune Sets a timeout at +0xb8 if not already active; uses timeGetTime + duration 0x008166B0 369 UIRuneSystem__update_tab_selection rune Updates rune tab UI state based on selected tab index; shows/hides sub-panels (0=list, 1=detail, 2=range) 0x00816830 209 UIRuneSystem__reset_ui_state rune Clears rune strings, resets selection to -1, hides child controls and refreshes display 0x00816910 56 UIRuneSystem__set_size_and_resize rune Sets dirty flag, calls size update and virtual resize/reposition methods 0x00816950 238 UIRuneSystem__show_rune_tooltip rune Shows tooltip for rune at given index using predefined position/size arrays from global data 0x00816A40 142 UIRuneSystem__clear_text_entries rune Destroys all text entries in buffer +0xc0..+0xc4, resets end pointer to start 0x00816AD0 123 UIRuneSystem__hit_test_rune_grid rune Returns rune index from grid x/y coords; cell size 0x36, two columns, bounds checked 0x00816B50 54 UIRuneSystem__hit_test_scroll_row rune Returns row index from y coordinate; row height 0x1b, valid range [0x14, width-0x17] 0x00816B90 73 UIRuneSystem__find_button_region rune Returns button region index (0-5) from x/y coords; checks 6 regions of size 0x5a x 0x78 0x00816BE0 117 UIRuneSystem__hit_test_rune_detail_grid rune Returns rune detail slot index from x/y in detail panel; 8 slots in 2 rows, cell 0x36x0x27 0x00816C70 63 UIRuneSystem__deselect_and_reset rune Clears hover selection to -1, clamped to max; triggers redraw via virtual calls 0x00816CB0 2820 UIRuneSystem__init_child_controls rune Creates rune UI child controls: listbox, 3 tab panels, text label, scrollbar, description area with tabs 0x008177C0 1750 UIRuneSystem__init_rune_detail_panel rune Creates rune detail panel with radio buttons (on/off/disabled), scrollbars, checkbox list and description areas 0x00817EA0 1110 UIRuneSystem__init_rune_tab_list rune Creates rune tab panel with category list items, radio buttons (runesystem_btn_radio_off/on/disable.bmp) 0x00818300 405 UIRuneSystem__init_rune_list_panel rune Creates rune list panel with listbox and 4-tab panel; positions tab at bottom of window 0x008184A0 985 UIRuneSystem__init_labels_and_buttons rune Creates UI labels and toggle buttons for rune category view; positions text with measured font widths 0x00818880 769 UIRuneSystem__draw_rune_list_view rune Renders rune list view: background, rune icons with names, levels, and stat descriptions 0x00818B90 788 UIRuneSystem__draw_rune_detail_view rune Renders rune detail: background image, rune icons with sprites, name, level text, and navigation indicators 0x00818EB0 474 UIRuneSystem__draw_progress_bar rune Draws progress bar with percentage text (formatted as %.2f%%) or empty state background 0x00819090 426 UIRuneSystem__draw_rune_slot_grid rune Renders 9-slot rune grid: background, slot sprites, rune names, and level labels 0x00819240 964 UIRuneSystem__draw_rune_equip_grid rune Renders equipped rune grid with sprites, levels, names and optional greyed-out overlay for locked slots 0x008196D0 2598 UIRuneSystem__draw_main_panel rune Renders main rune panel: rune grid with 6 slots, detail text, level/cost display, upgrade path info 0x0081A100 199 UIRuneSystem__draw_text_entries rune Renders buffered text entries with color and position from +0xc0 array, row spacing via +0xb4 0x0081A1D0 172 UIRuneSystem__draw_map_background rune Draws background sprite using map name from +0x80 string with zoom level from +0x30 0x0081A280 271 UIRuneSystem__draw_header_footer_sprites rune Draws header and footer background sprites, then renders title text via message ID 0xfd2 0x0081A390 832 UIRuneSystem__draw_rune_grid_with_sprites rune Renders rune grid cells with item sprites, level bars; highlights over-leveled runes in red 0x0081A6D0 675 UIRuneSystem__draw_rune_upgrade_grid rune Renders rune upgrade grid with item sprites and level counts; greys out max-level runes 0x0081A980 675 UIRuneSystem__draw_material_grid rune Renders material items in 4x2 grid with sprites and count labels; conditional on +0xb4 flag 0x0081AC30 330 UIRuneSystem__draw_map_overlay_text rune Draws map background with overlay text label positioned at bottom; handles zoom and conditional map strings 0x0081AD80 396 UIRuneSystem__draw_rune_page_tabs rune Renders rune page tab buttons with active/inactive sprites; highlights current page via CRuneSystemMgr 0x0081AF10 2213 UIRuneSystem__draw_rune_inventory_panel rune Renders rune inventory with sprites, success rates (formatted %d.%d%%), item counts, and name labels in 4x2 grid 0x0081B7C0 564 UIRuneSystem__draw_rune_summary_panel rune Renders rune summary with sprite, name label, active/inactive state indicator, and level text 0x0081BA00 780 UIRuneSystem__draw_rune_page_info rune Draws rune page header with cost value, page title, and description text from CRuneSystemMgr 0x0081BD10 380 UIRuneSystem__draw_scrollbar rune Draws vertical scrollbar with track, thumb, and arrow sprites; borders with highlight colors 0x0081BEC0 268 UIRuneSystem__on_rune_slot_click rune Handles click on rune slot in main grid; navigates to rune page if different from current 0x0081C000 118 UIRuneSystem__on_list_item_click rune Handles click in scrollable list; calculates row from y, sets selection, notifies parent with item index 0x0081C080 95 UIRuneSystem__on_tab_click rune Handles tab bar click; calculates tab index from x position, updates selection (max 3 tabs) 0x0081C0F0 157 UIRuneSystem__on_page_tab_click rune Handles rune page tab click; looks up page by index, navigates to that page via CRuneSystemMgr 0x0081C190 148 UIRuneSystem__on_right_click_by_mode rune Handles right-click actions based on +0x124 mode: mode 2 = apply drag offset, mode 3 = show "cannot use" chat message (msg 0x1068), mode 0 = show info message (msg 0x1069), then clears hover window 0x0081C240 387 UIRuneSystem__on_mouse_event_dispatch rune Dispatches mouse events to appropriate rune panel handlers based on current tab and mode 0x0081C3E0 297 UIRuneSystem__on_mouse_move_equip_grid rune Mouse move handler for equipped rune grid. Hit-tests x,y against rune slot positions (stride 0x28), shows rune name tooltip via CToolTipMgr on hover over valid slots 0x0081C510 465 UIRuneSystem__on_drag_event rune Handles drag events in rune system; scrollbar thumb dragging and rune item dragging 0x0081C6F0 255 UIRuneSystem__on_mouse_move_main_grid rune Mouse move handler for main 6-slot rune grid. Iterates rune slot positions from DAT_0112cf9c/cfb4 arrays, shows rune name tooltip when hovering over occupied slots 0x0081C7F0 365 UIRuneSystem__on_mouse_move_upgrade_grid rune Mouse move handler for upgrade grid. Hit-tests against rune grid cells, shows item tooltip (via CItemDB__build_item_tooltip_string) for the item at the hovered cell position 0x0081C960 276 UIRuneSystem__on_mouse_move_page_tabs rune Mouse move handler for rune page tabs. Hit-tests x position against tab spacing (0x1b stride), shows page name tooltip for the hovered tab via CToolTipMgr 0x0081CA80 353 UIRuneSystem__on_mouse_move_detail_grid rune Mouse move handler for rune detail grid. Hit-tests against detail panel slots, shows item tooltip for the item at the hovered slot via CItemDB__build_item_tooltip_string 0x0081CC40 205 UIRuneSystem__on_double_click_show_item_info rune Double-click handler that opens item info window. Redraws via vtable, creates CItemDesc from item at +0x48, opens window type 0xc with item data notification (msg 0x18) 0x0081CD10 249 UIRuneSystem__on_double_click_upgrade_grid rune Double-click handler for upgrade grid. Hit-tests x,y against grid cells, creates CItemDesc from slot item, opens item info window (type 0xc) with notification msg 0x18 0x0081CE10 243 UIRuneSystem__on_double_click_detail_grid rune Double-click handler for detail grid panel. Hit-tests against detail grid slots via hit_test_rune_detail_grid, creates CItemDesc and opens item info window (type 0xc) 0x0081CF10 70 UIRuneSystem__on_scroll_step rune Handles single scroll step. Adjusts scroll position +0x21 by +1 or -1 based on param sign, clamped to [0, max]. Triggers redraw if position changed 0x0081CF60 323 UIRuneSystem__on_rune_list_update rune Handles rune list data update from server; rebuilds list view and resets selection 0x0081D0B0 935 UIRuneSystem__setup_default_state rune Initializes default rune system state; sets first tab active, loads initial rune data 0x0081D460 141 UIRuneSystem__populate_rune_detail rune Populates rune detail panel with description, stats, and requirements for selected rune 0x0081D4F0 140 UIRuneSystem__populate_upgrade_info rune Populates upgrade panel with cost, materials, and success rate for selected rune 0x0081D580 112 UIRuneSystem__on_child_list_notification rune Handles child list control notifications. Msg 0x3c (page change): adjusts scrollbar range and position. Msg 0xab (list item select): sets selected index at +0x2f and redraws 0x0081D5F0 189 UIRuneSystem__on_container_message rune Handles container widget messages. Msg 0x22: assigns string text to tab label (up to index 2). Msg 0x66: sets item ID at +0x48, updates state flags at +0x2b based on param4 value, redraws. Falls through to parent handler for other messages 0x0081D6B0 64 UIRuneSystem__on_button_and_control_event rune Main button/control event dispatcher. Handles: button clicks (0x23c=equip, 0x158=unequip, 0xc3=select, 0x1fd=upgrade, 0x24e-0x254=slot actions), scroll events (7/9/10), tab changes (0x16), page changes (0x3c). Sends packets 0xbd0/0xbd2/0xc16 to server. Shows confirmation dialogs for equip/unequip 0x0081DA20 138 UIRuneSystem__on_radio_and_text_event rune Handles radio button and text field events from child controls. Msg 0xd: radio select - sets tab index at +0xc, redraws, notifies parent. Msg 0x16: sets selection index at +0x1f, redraws. Msg 0x4e: sets text string from param 0x0081DAB0 125 UIRuneSystem__on_message rune Main message handler for UIRuneSystem window. Handles button clicks (msg 6), scroll (7/9/10), tab selection (0x16), timer events (0x3c), rune slot clicks (0x61), timer setup (0x69/0x6a), rune selection (0xa9), detail/action commands (0xab), and effect creation (0xb2). Delegates to UIWindow__handle_button_click at the end. 0x0081E3F0 302 UIRuneSystem__on_layout_init rune Handles layout initialization (msg 0xD). Parses param_4 data structure to extract 8 child control pointers (at offsets +2/+6/+10/+14/+18/+22/+26/+30) and their sizes (at offsets +34 through +48), storing them in fields 0x2E-0x3D. On msg 6/0xB8: clears a TLS field. Triggers repaint after layout setup. 0x0081E520 169 UIRuneSystem__on_page_navigate rune Handles page navigation for rune system. On msg 6/0x13c: decrements page index (scroll left, clamped to 0). On msg 6/0x13d: increments page index (scroll right, clamped to page_count - 10). On msg 0xa9: sets page offset based on selection. 0x0081E5D0 543 UIRuneSystem__on_craft_message rune Handles rune crafting/upgrade messages. On msg 6/0xd7: calls switch_tab. On msg 6/0x197: checks inventory space and crafting cooldown, sends packet 0xbd8 (rune craft request) to server, sets pending flag. Shows error dialog if inventory full or cooldown active. On msg 0x3c: updates rune item detail. 0x0081E7F0 154 UIRuneSystem__on_rune_packet_command rune Handles rune packet commands. On msg 6/0x23c with rate-limit check: sends packet 0xbce to server with rune ID. On msg 0x3c: refreshes child panels and populates rune detail. Forwards to parent via CEffect__notify_parent_of_state_change. 0x0081E890 92 UIRuneSystem__update_scrollbar_range rune Calculates visible item count from control height and element list size, then sets scrollbar range (max, page_size, total) via CUIScrollBar__set_range_and_position. Also resets a control field to 0. 0x0081E8F0 37 UIRuneSystem__set_timer_deadline rune Stores a timer deadline at fields 0xB8/0xBC. Computes deadline as timeGetTime() + param_2, with param_3 as the high word carry. 0x0081E920 67 UIRuneSystem__set_selected_rune rune Sets the currently selected rune for display. Stores rune data pointer at field 0x1F, updates max rune count on a child control, triggers repaint, and calls populate_rune_detail to fill in the detail panel. 0x0081E970 224 UIRuneSystem__switch_tab rune Switches between rune system tabs (field 0x2F is tab index, max 2). Hides all 3 tab panels via msg 0xD/1, then shows the selected one via msg 0xD/0. Updates linked page data from CRuneSystemMgr and triggers repaint. Also manages upgrade table visibility on tab 1. 0x0081EA50 710 UIRuneSystem__populate_info_panel rune Populates rune info/tooltip panel. Clears existing text entries, then iterates 5 data categories building formatted text with counts and names. For each category with entries, adds header from message string table and individual item strings. Updates scrollbar range at the end. 0x0081ED20 873 UIRuneSystem__set_rune_item_detail rune Sets rune item detail display. Looks up item info, resolves sprite resource path (tries .bmp then .tga format), stores item name string, and updates linked page data. Also manages tab panel visibility based on whether an item is selected. 0x0081F090 47 UIRuneSystem__set_clamped_index rune Clamps param_2 to field 0x20 (max value) and stores in field 0x21. Triggers repaint if the value changed. Generic index-setting utility used by rune system UI. 0x0081F0C0 357 UIRuneSystem__update_rune_slot_display rune Updates rune slot display panel. Sets rune data pointer, updates max count and rune index on child controls, then iterates 7 slots checking activation flags and sending msg 0x66 with slot state (active/inactive/completed). Triggers layout refresh at the end. 0x0081F230 71 UIRuneSystem__set_selection_index rune Sets selection index (field 0x21) clamped to max (field 0x20), triggers repaint if changed, then stores param_2 in field 0x2F and forces a second repaint. 0x0081F280 216 UIRuneSystem__draw_level_bar rune Draws level progress bar with current/max values and color at specified position 0x0081F360 256 UIRuneSystem__draw_rune_sprite rune Draws rune sprite at given position with optional greyed-out state overlay 0x0081F460 92 STL_vector_36byte_destroy_range stl Destroys a range of 0x24-byte (36-byte) vector elements by calling STL_string_dtor on each element's embedded string. 0x0081F4C0 159 STL_vector_36byte_uninitialized_copy stl Uninitialized copy for vector of 36-byte elements. Copy-constructs each element's string (offset 0) and copies raw fields at offsets 0x18, 0x1C, and 0x20 into destination range at param_3. 0x0081F560 157 STL_vector_36byte_uninitialized_copy_0081f560 stl Uninitialized copy for vector of 36-byte elements (duplicate instance). Same logic as STL_vector_36byte_uninitialized_copy. 0x0081F600 10 STL_vector_xlength_error_0081f600 stl Throws std::length_error for vector too long 0x0081F610 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0081F650 34 STL_vector_36byte_uninitialized_move stl Uninitialized move/relocate for vector of 36-byte elements. Uses memcpy to bulk-copy the source range [param_1, param_2) to param_3. 0x0081F680 352 STL_vector_32byte_insert_single stl Inserts a single 32-byte element into a vector at position param_2. Allocates a new buffer with 1.5x growth, copies the element, memcpy's surrounding data, and frees the old buffer. 0x0081F800 86 STL_allocator_36byte_construct_default stl Default-constructs a 36-byte element (or small allocator state). Sets first byte to 1, zeroes out the remaining 12 bytes (3 ints at offsets 4, 8, 0xC). 0x0081F860 67 STL_list_node_12byte_delete stl Deletes a 12-byte list node (prev/next/value) if the pointer at offset +4 is non-null. Used for STL list node cleanup. 0x0081F8B0 78 STL_list_node_12byte_delete_0081f8b0 stl Deletes a 12-byte list node if pointer at offset +4 is non-null. Duplicate instance of STL_list_node_12byte_delete. 0x0081F920 323 STL_vector_32byte_copy_assign stl Copy-assigns a vector of 32-byte elements. Allocates new buffer, memcpy's source data, swaps with current vector, and frees old buffer. Standard STL vector copy assignment. 0x0081FA70 349 STL_vector_32byte_copy_assign_and_delete stl Copy-assigns a vector of 32-byte elements, then optionally deletes a 0x10-byte object if param_2 bit 0 is set. Combines vector copy with owner object cleanup. 0x0081FBD0 91 CSignBoardEntry__merge_defaults game_core Merges default values from param_1 into param_2 based on type field at offset 0x10. For type 1: sets type to 1. For type 2: sets type to 2, merges field 0x14 and 0x1C if zero. For type 3: sets type to 3, merges fields 0x14 and 0x1C if zero. Always merges field 0x18 if zero. 0x0081FC30 179 CSignBoardMgr__try_acquire_singleton game_core Tries to acquire or create the CSignBoardMgr singleton (DAT_01456ecc). If null, allocates 0x10 bytes and initializes with flag=1. If already exists and flag is set, returns 1. If flag is clear, calls destroy (toggle_window_visibility) and clears pointer, returns 0. 0x0081FCF0 311 STL_vector_32byte_shrink_to_fit stl Shrinks a vector of 32-byte elements to fit its current size. Creates a copy with exact capacity, swaps with original, frees old buffer. 0x0081FE30 28 CSignBoardMgr__destroy_if_exists game_core Destroys the CSignBoardMgr singleton if it exists (DAT_01456ecc != 0). Calls the destructor and clears the global pointer. 0x0081FE50 16 CSignBoardMgr__init game_core Initializes sign board system by calling load_signboard_table (Lua data) followed by create_signboard_objects (3D object creation). 0x0081FE60 3436 CSignBoardMgr__create_signboard_objects game_core Creates 3D signboard objects from the loaded sign board table. Iterates entries, matches RSW resource filename, then for each entry: type 1/3 creates UIHomunculus2Wnd with texture, type 2 creates UIHomunculus2SubWnd. Converts cell coordinates to world position, gets terrain height, and pushes to a linked list. 0x00820BD0 637 CSignBoardMgr__load_signboard_table game_core Loads SignBoardList table via Lua; iterates rows parsing type, coords, and strings into vector 0x00820E50 129 STL_vector_32byte_clear stl Frees aligned vector buffer (32-byte elements) and resets pointers to null 0x00820EE0 10 STL_vector_xlength_error_00820ee0 stl Throws std::length_error for vector too long 0x00820EF0 92 STL_vector_32byte_allocate stl Allocates aligned memory for vector of 32-byte elements; handles large allocation alignment 0x00820F50 58 STL_vector_32byte_deallocate stl Deallocates aligned memory for vector of 32-byte elements 0x00820F90 165 STL_list_push_back_ptr stl Pushes a pointer value onto a std::list. Allocates a 12-byte node (prev, next, value), links it before the sentinel, and increments size. Throws list_too_long at max_size 0x15555555. 0x00821040 94 UIHomunculus2Wnd__constructor game_core Constructor for homunculus2 window. Calls base window constructor, sets vtable PTR_FUN_0112e1d8, initializes field at 0x50 to 0. 0x008210A0 117 UIHomunculus2Label__constructor game_core Constructor for homunculus2 label widget. Sets vtable PTR_FUN_0112e028, initializes a string field (0x1F-0x24) with SSO buffer. 0x00821120 84 UIHomunculus2SubWnd__constructor game_core Constructor for homunculus2 sub-window. Sets vtable PTR_FUN_0112dfe8. 0x00821180 205 UIHomunculus2InputPanel__constructor game_core Constructor for homunculus2 input panel. Sets vtable PTR_FUN_0112e100, initializes three string fields (0x20, 0x26, 0x2C) each with SSO buffers (capacity 0xF). 0x00821250 71 UIHomunculus2Wnd__destructor game_core Destructor for homunculus2 window. Sets vtable, calls base window destructor. 0x008212A0 92 UIHomunculus2Label__destructor game_core Destructor for homunculus2 label. Sets vtable, destroys string, calls base widget destructor. 0x00821300 71 UIHomunculus2SubWnd__destructor game_core Destructor for homunculus2 sub-window. Sets vtable, calls base window destructor. 0x00821350 125 UIHomunculus2InputPanel__destructor game_core Destructor for homunculus2 input panel. Sets vtable, destroys three string fields, calls base widget destructor. 0x008213D0 99 UIHomunculus2Wnd__scalar_del_dtor game_core Scalar deleting destructor for homunculus2 window. Optionally frees this (0x148 bytes). 0x00821440 116 UIHomunculus2Label__scalar_del_dtor game_core Scalar deleting destructor for homunculus2 label. Optionally frees this (0x94 bytes). 0x008214C0 99 UIHomunculus2SubWnd__scalar_del_dtor game_core Scalar deleting destructor for homunculus2 sub-window. 0x00821530 149 CEffectParticle__scalar_deleting_dtor effect Scalar deleting destructor for CEffectParticle. Sets vtable, destroys 3 strings, calls base dtor FUN_00a79e90, frees 200 bytes if bit 0 set. 0x008215D0 1391 CEffectParticle__RebuildFromTextures effect Rebuilds particle effect from its texture data. Called by SetTextureNames after texture paths are updated. Large function (1391 bytes) handling texture loading and effect configuration. 0x00821B50 255 CEffectParticle__CreateLabel effect Creates a text label child widget for the particle effect. Loads background texture, sets size from texture dimensions. Creates UIEditableTextWidget (0xd8 bytes), positions it centered. Sets font color (0x9e, 0xbd, 0xff) and adds as child. 0x00821C50 59 CEffectParticle__RenderBackground effect Renders particle effect background. Loads texture from string at offset 0x7c (handles SSO), draws at position (0,0) with no alpha blending (flag 0). 0x00821D10 432 CEffectParticle__CreateChildWidget effect Creates the child widget for the particle effect based on mode (0x138). Mode 1: creates UIHomunculus2Label (0x94 bytes) with size 0xaa x 0xaa. Mode 3: creates CEffectParticle child (200 bytes) with 3 SSO strings and size 0xa2 x 0x24. Stores at offset 0x140. 0x00821ED0 117 CEffectParticle__UpdateTargetPosition effect Updates target position for attached effect. Repositions child widget at offset 0x140 centered on (0xac, 0xb0), with Y offset based on viewport aspect ratio and scale factor at 0x5c. Returns 1. 0x00821F50 108 CEffectParticle__UpdateAnimFrame effect Updates animation frame for particle effect. Calculates elapsed time from timeGetTime, divides by frame duration (0x58), gets frame count from skill tree node. Updates current frame (0x3c) using modulo. Returns 1 if still playing. 0x00821FC0 120 CEffectParticle__UpdateScreenPosition effect Updates effect screen position from 3D world coordinates. Projects world position (offset 0x4) to screen via CRenderPipeline__project_world_to_screen_2d. Computes depth scale at offset 0x17. Calls virtual SetPosition with screen coords. 0x00822040 25 UIHomunculus2Label__render game_core Renders the homunculus2 label by calling CEntity__render_sprite_full at position (0,0). 0x00822060 64 CEffectParticle__SetSizeFromTexture effect Sets effect particle size from its texture. Loads texture by name (string at offset 0x1f), reads texture dimensions at offsets 0x114/0x118, calls virtual SetSize. 0x008220A0 69 effect_packet_stub effect Dead/stubbed effect packet function. Calls get_field4_if_mode1() then forwards 11 params plus 4 zeros to null_stub_00cbf920. No actual packet is sent since the target is a null stub. 0x008220F0 36 CEffectParticle__SetPositionDirect effect Sets effect particle position directly. Calls virtual method 0x18 (SetPosition) with param_3 and param_4 coordinates. 0x00822120 30 UIHomunculus2Label__rebuild_and_update_text game_core Rebuilds the UIHomunculus2Label texture from current name, then updates the word-wrapped text display from the string at offset 0x80. 0x00822140 450 CEffectParticle__LoadResources effect Loads effect particle resources. Parses base path from name (finding '.'), constructs two resource paths by appending suffixes from DAT_0111ab40 and DAT_01129c58. Loads resources via FUN_00cc2e00 and FUN_00cbf930. Calls virtual init (0x1c) with params (0, 10, 0). 0x00822310 120 CEffectParticle__SetTextureNames effect Sets texture name strings on the particle effect's child widget at offset 0x140. Copies two string params to offsets 0x80 and 0xb0 within the child. Calls FUN_008215d0 to rebuild, then FUN_00868880 to set active texture. 0x00822390 175 CEffectParticle__SetTextureName effect Sets texture name on particle effect's child widget. For mode 1 (0x138): sets string at offset 0x1f on child at 0x140, loads texture and reads dimensions. For mode 3: sets string at offset 0x26 on child. 0x00822440 126 format_skill_tooltip_type1 game_core Formats skill tooltip string variant 1: "%s %s Use Lv.%d, Sp : %d" or with trailing markers depending on param_2 flag. 0x008224C0 140 format_skill_tooltip_type2 game_core Formats skill tooltip string variant 2: with optional "Ap : %d" suffix when param_6 != 0. 0x00822550 140 format_skill_tooltip_type3 game_core Formats skill tooltip string variant 3: with optional "Ap : %d" suffix when param_6 != 0, alternate format string. 0x008225E0 123 format_skill_tooltip_type4 game_core Formats skill tooltip string variant 4: "%s Use Lv.%d, Sp : %d" or with trailing markers depending on param_2 flag. 0x00822660 134 format_skill_tooltip_type5 game_core Formats skill tooltip string variant 5: "%s Use Lv.%d, Sp : %d" with optional "Ap : %d" suffix when param_5 != 0. 0x008226F0 134 format_skill_tooltip_type6 game_core Formats skill tooltip string variant 6: "%s Use Lv.%d, Sp : %d" with optional "Ap : %d" suffix when param_5 != 0, alternate format. 0x00822780 34 memcpy_range_to_dest_00822780 stl Copies memory range [param_1, param_2) to param_3 destination. Returns end of destination pointer. 0x008227B0 34 memcpy_range_to_dest_alt stl Copies memory range [param_1, param_2) to param_3 destination. Returns end of destination pointer. Identical to 00822780. 0x008227E0 452 std__vector_ptr__emplace_alt stl STL vector emplace/insert for pointer-sized (4-byte) elements. Allocates new buffer with 1.5x growth, copies element, memcpy's segments. Alternative version with different error handler. 0x008229B0 452 std__vector_ptr__emplace_00822980 stl STL vector emplace for 4-byte elements. Another variant with different error handler (STL_vector_xlength_error_0082f420). 1.5x growth, max 0x3fffffff. 0x00822B80 103 std__tree__destroy_nodes_recursive_18 stl Recursively destroys STL tree nodes of 0x18 bytes. Iterative on left child, recursive on right. Frees each node. 0x00822BF0 93 crt__sprintf_s_wrapper crt CRT sprintf_s wrapper. Calls STL_lib_func_00507d00 to prepare buffer (0x200 max), then __stdio_common_vsprintf_s. Returns character count or -1 on error. 0x00822C60 136 CStylingShopColorPanel__ctor ui_shop Constructor for CStylingShopColorPanel. Inherits base panel. Sets vtable to PTR_FUN_0112eae0. Zeroes child pointers 0x22-0x23. 0x00822CF0 116 CStylingShopListPanel__ctor ui_shop Constructor for CStylingShopListPanel. Inherits base panel. Sets vtable to PTR_FUN_0112e92c. 0x00822D70 141 CStylingShopAccessoryPanel__ctor ui_shop Constructor for CStylingShopAccessoryPanel. Inherits from scroll panel via FUN_009ac040. Sets vtable PTR_FUN_0112ea04. Zeroes fields 0x2f-0x31. Queries accessory table sizes. 0x00822E00 146 CStylingShopHairPanel__ctor ui_shop Constructor for CStylingShopHairPanel. Inherits base panel. Sets vtable PTR_FUN_0112e854. Zeroes child pointers 0x22-0x24. 0x00822EA0 116 CStylingShopPreviewPanel__ctor ui_shop Constructor for CStylingShopPreviewPanel. Inherits base panel. Sets vtable PTR_CStylingShopPreviewPanel__dtor. 0x00822F20 297 CStylingShopCharPanel__ctor ui_shop Constructor for CStylingShopCharPanel. Inherits base UI. Sets vtable PTR_CStylingShopCharPanel__dtor. Zeroes 10+ fields (0x20-0x33). Allocates RB-tree sentinel (0x18 bytes) at offset 0x32. Sets vtable ptr at 0x1f to DAT_0112f2e8. 0x00823050 299 CStylingShopCharPanel__ctor_with_flag ui_shop Constructor for CStylingShopCharPanel with initial flag. Same as default ctor but sets byte at offset 0x2c to param_2 value instead of 0. 0x00823180 137 CStylingShopItemListPanel__ctor ui_shop Constructor for CStylingShopItemListPanel. Inherits base panel. Sets vtable PTR_CStylingShopItemListPanel__dtor. Zeroes fields 0x22-0x24. 0x00823210 220 CStylingShopMainWnd__ctor ui_shop Constructor for CStylingShopMainWnd. Inherits base UI. Sets vtable. Zeroes many fields. Allocates linked list sentinel (0xc bytes) at offset 0x2d. Initializes shop config: offset 0x29=5, 0x2a=0xc. Zeroes child panels 0x30-0x34. 0x008232F0 116 CStylingShopPreviewSlot__ctor ui_shop Constructor for CStylingShopPreviewSlot. Inherits base panel. Sets vtable PTR_CStylingShopPreviewSlot__dtor. 0x00823370 138 CStylingShopScrollPanel__ctor ui_shop Constructor for CStylingShopScrollPanel. Inherits FUN_008a3700. Sets vtable. Allocates RB-tree sentinel (0x18 bytes) at offset 0x2f. 0x00823400 67 CStylingShop__free_list_node_0xc ui_shop Frees a linked list node (0xc bytes) at offset 0x4 if not null. 0x00823450 67 CStylingShop__free_tree_sentinel_0x18 ui_shop Frees a tree sentinel node (0x18 bytes) at offset 0x4 if not null. 0x008234A0 78 CStylingShop__free_list_node_0xc_alt ui_shop Frees a linked list node (0xc bytes) at offset 0x4 if not null. Alternative version. 0x008234F0 111 CStylingShop__destroy_tree_and_sentinel_0x18 ui_shop Destroys all nodes in a tree with 0x18-byte nodes, then frees the sentinel node. Uses std__tree__destroy_nodes_recursive_18 for child nodes. 0x00823570 78 CStylingShop__free_tree_sentinel_0x18_alt ui_shop Frees a tree sentinel node (0x18 bytes) at offset 0x4 if not null. Alternative version for styling shop. 0x008235C0 78 CStylingShop__free_tree_sentinel_0x18_alt2 ui_shop Frees a tree sentinel node (0x18 bytes) at offset 0x4 if not null. Another alternative version. 0x00823610 103 CStylingShop__destroy_linked_list ui_shop Destroys a linked list. Walks list from first node, frees each 0xc-byte node, then frees the sentinel node. 0x00823680 65 CStylingShop__destroy_tree_wrapper ui_shop Wrapper that calls CStylingShop__destroy_tree_and_sentinel_0x18 to destroy a tree. 0x008236D0 129 std__vector_ptr__deallocate stl Deallocates a vector of pointers. Frees the buffer (handles aligned deallocation for >4096 bytes), zeroes all 3 vector fields. 0x00823760 129 std__vector_ptr__deallocate_alt stl Deallocates a vector of pointers. Alternative version identical to std__vector_ptr__deallocate. 0x008237F0 71 CStylingShopConfirmDialog__dtor ui_shop Destructor for CStylingShopConfirmDialog. Sets vtable PTR_FUN_0112e4f0, calls UIDialogBoxBase destructor. 0x00823840 84 CStylingShopListPanel__dtor ui_shop Destructor for CStylingShopListPanel. Sets vtable chain (list panel then base panel), calls base UI dtor. 0x008238A0 95 CStylingShopAccessoryPanel__dtor ui_shop Destructor for CStylingShopAccessoryPanel. Sets vtable, deallocates vector, calls scroll panel base dtor FUN_009ac2b0. 0x00823900 108 CStylingShopHairPanel__dtor ui_shop Destructor for CStylingShopHairPanel. Sets vtable, deallocates vector via std__vector_ptr__deallocate_alt, sets base vtable, calls FUN_00a79e90. 0x00823970 178 CStylingShopCharPanel__dtor_00823970 ui_shop Destructor for CStylingShopCharPanel. Sets vtable, destroys tree nodes at offset 0x32, destroys tree sentinel, calls base dtor FUN_00a79e90. 0x00823A30 102 CStylingShopItemListPanel__dtor_00823a30 ui_shop Destructor for CStylingShopItemListPanel. Sets vtable, calls CStylingShop__save_and_load_like_list cleanup, calls base panel dtor, then base UI dtor. 0x00823AA0 146 CStylingShopMainWnd__dtor_00823aa0 ui_shop Destructor for CStylingShopMainWnd. Sets vtable, walks and frees linked list at offset 0x2d (0xc-byte nodes), frees sentinel, calls base dtor. 0x00823B40 84 CStylingShopPreviewSlot__dtor_00823b40 ui_shop Destructor for CStylingShopPreviewSlot. Sets vtable chain, calls base panel dtor. 0x00823BA0 71 CStylingShopButton__dtor_00823ba0 ui_shop Destructor for CStylingShopButton. Sets vtable, calls UIDialogBoxBase destructor. 0x00823BF0 155 CStylingShopScrollPanel__dtor_00823bf0 ui_shop Destructor for CStylingShopScrollPanel. Sets vtable, sends packet 0xa48, calls network cleanup functions. Destroys tree at offset 0x2f. Calls base FUN_008a4e90 dtor. 0x00823C90 71 CStylingShopBasePanel__dtor_00823c90 ui_shop Destructor for CStylingShopBasePanel. Sets vtable, calls base UI dtor FUN_00a79e90. 0x00823CE0 174 CStylingShopCharPanel__CopyAppearanceData ui_shop Copies character appearance data from a source object at param_2. Copies 10 fields from offsets 0x80-0xa4 to 0x20-0x29, and 3 fields from 0xbc-0xc4 to 0x2f-0x31. Triggers redraw. 0x00823D90 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x00823DF0 93 CStylingShopPreviewPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopPreviewPanel (extends UIComplexDialog). Calls complex dialog dtor, frees 0x10c bytes if bit 0 set. 0x00823E50 112 CStylingShopColorPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopColorPanel. Sets vtable chain, calls base dtors, frees 0x90 bytes if bit 0 set. 0x00823EC0 99 CStylingShopConfirmDialog__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopConfirmDialog. Sets vtable, calls UIDialogBoxBase dtor, frees 0x128 bytes if bit 0 set. 0x00823F30 112 CStylingShopListPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopListPanel. Sets vtable chain, calls base dtors, frees 0x88 bytes if bit 0 set. 0x00823FA0 119 CStylingShopAccessoryPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopAccessoryPanel. Sets vtable, deallocates vector, calls scroll panel base dtor, frees 200 bytes if bit 0 set. 0x00824020 132 CStylingShopHairPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopHairPanel. Sets vtable, deallocates vector, calls base panel dtor, frees 0x98 bytes if bit 0 set. 0x008240B0 112 CStylingShopPreviewPanel__scalar_deleting_dtor_008240b0 ui_shop Scalar deleting destructor for CStylingShopPreviewPanel (CEffect/BasePanel chain). Sets preview panel vtable then base panel vtable, calls CEffect dtor. Frees 0x88 bytes if bit 0 of param_2 is set. 0x00824120 204 CStylingShopCharPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopCharPanel. Walks and deletes RB-tree nodes at offset 0x32, destroys tree sentinel, calls base CEffect dtor. Frees 0xD0 bytes if bit 0 of param_2 is set. 0x008241F0 126 CStylingShopItemListPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopItemListPanel. Calls list cleanup, sets base panel vtable, calls CEffect dtor. Frees 0xAC bytes if bit 0 of param_2 is set. 0x00824270 170 CStylingShopMainWnd__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopMainWnd. Walks and frees singly-linked list of 0xC-byte nodes at offset 0x2D, frees sentinel, calls CEffect dtor. Frees 0xD4 bytes if bit 0 of param_2 is set. 0x00824320 96 CStylingShopSlotPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopSlotPanel. Simple chain: sets vtable, calls CEffect dtor. Frees 0x7C bytes if bit 0 of param_2 is set. 0x00824380 112 CStylingShopPreviewSlot__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopPreviewSlot. Sets preview slot vtable then base panel vtable, calls CEffect dtor. Frees 0x88 bytes if bit 0 of param_2 is set. 0x008243F0 99 CStylingShopButton__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopButton. Sets vtable, calls UIDialogBoxBase dtor. Frees 0x120 bytes if bit 0 of param_2 is set. 0x00824460 179 CStylingShopScrollPanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopScrollPanel. Sends packet 0xA48, destroys tree at offset 0x2F, calls UIWindowBase dtor. Frees 0xC4 bytes if bit 0 of param_2 is set. 0x00824520 99 CStylingShopBasePanel__scalar_deleting_dtor ui_shop Scalar deleting destructor for CStylingShopBasePanel. Sets base vtable 0112e77c, calls CEffect dtor. Frees 0x88 bytes if bit 0 of param_2 is set. 0x00824590 35 CStylingShop__set_preview_mode ui_shop Sets preview data pointer based on param (0=normal, 1=alternate) and triggers virtual refresh 0x008245C0 42 CStylingShop__set_child_preview_mode ui_shop Sets preview mode on child panel at offset 0x7C if it exists 0x008245F0 359 CStylingShop__update_confirm_button_state ui_shop Checks NPC type 0x1F0, validates slot availability, updates confirm button enable/disable state 0x00824760 404 CStylingShop__check_appearance_match_all_slots ui_shop Iterates NPC tree, finds active appearance and 0x1F0 NPC, compares 7 styling fields per slot 0x00824900 375 CStylingShop__update_confirm_for_child ui_shop Updates confirm button state for child panel at offset 0x7C; checks 0x1F0 NPC slot availability 0x00824A80 367 CStylingShop__create_preview_slot_in_npc ui_shop Creates a new preview slot (CStylingShopPreviewSlot, 0x88 bytes) in the first empty slot of a 0x1F0 NPC. Positions the slot based on panel width, copies appearance data, and enables associated buttons. Returns 1 if slot created, 0 if both slots full. 0x00824BF0 571 CStylingShop__create_preview_slot_if_empty ui_shop Creates new preview slot (0x88 bytes) if an empty slot exists in 0x1F0 NPC; positions and links it 0x00824E30 175 CStylingShop__apply_style_to_active_slot ui_shop Iterates NPC tree for 0x1F0 type with active flag, applies style change and triggers animation 0x00824EE0 2077 CStylingShop__build_change_packet ui_shop Builds styling change packet from category list; handles 7 types (head/body palette/style, accessories) via Lua 0x00825720 103 CStylingShop__remove_active_preview_slot ui_shop Removes current active preview slot if it has content; frees slot and disables associated button 0x008257D0 180 CStylingShop__update_all_confirm_buttons ui_shop Iterates all 0x1F0 NPCs and updates confirm button enabled state based on active slot content 0x00825890 119 CStylingShop__validate_payment_amount ui_shop Validates if player has enough zeny; shows error message for insufficient funds or over-limit 0x00825910 619 CStylingShop__check_and_add_changed_categories ui_shop Checks Lua coloring flag, compares all 7 styling fields against current values, adds changed ones to list 0x00825B80 119 CStylingShop__compare_appearance_fields ui_shop Compares 7 appearance fields (head/body palette, style, accessories) between preview and target 0x00825C00 148 CStylingShop__find_matching_slot_by_appearance ui_shop Searches up to 2 slots for one matching all 7 appearance fields; returns true if found 0x00825CA0 585 CStylingShop__query_accessory_table_sizes ui_shop Queries StylingShop_GetSizeInTable for Top/Mid/BottomAccessory via Lua and populates accessory lists 0x00825EF0 261 CStylingShop__BuildCharacterSaveString ui_shop Builds a character appearance save string with format: characterName=%s slotNum=%d head=%d... Reads 10 appearance fields from child object at offset 0x7c (offsets 0x80-0xa4). Gets character name from FUN_00e08c70. 0x00826000 472 CStylingShop__render_character_preview_00826000 ui_shop Renders a character preview sprite for the styling shop. Gets the active player entity, extracts appearance fields (job, head, body, accessories) from param_1, creates a CCharSlotEntry, renders sprite layers, then destroys it. Not a string parser despite the old name. 0x008261E0 534 CStylingShop__draw_accessory_item_sprite ui_shop Draws accessory item sprites in the styling shop UI. For type 4/5/6 (top/mid/bottom accessories), reads item ID from child object at 0x7c (offsets 0xbc/0xc0/0xc4), converts to resource path via Lua, loads sprite resource, and draws it. param_5 controls normal vs tinted drawing mode. param_6 is the row index for vertical positioning. 0x00826470 39 CStylingShop__set_active_slot_from_click ui_shop Sets the active preview slot index (0 or 1) based on mouse click X position. Divides click X by half the panel width to determine which slot was clicked. Only updates if field at 0x28 (slot count or enabled flag) is non-zero. 0x008264A0 746 CStylingShop__build_category_name_string ui_shop Builds a category name string based on the styling type enum: 1=HeadPalette, 2=HeadStyle, 3=BodyPalette, 4=TopAccessory, 5=MidAccessory, 6=BottomAccessory, 7=BodyStyle. For Doram races (types 2,3,7), appends "Doram" suffix. Returns the constructed string. 0x008267C0 28 UIWindow__get_flag_by_index ui_events Returns byte flag at +0x84+index if index less than 5, else returns 0 0x008267E0 1634 CStylingShop__populate_item_list ui_shop Populates the styling shop item list. Iterates through goods indices, calls StylingShop_GetGoods Lua function for each, checks Doram eligibility via StylingShop_GetIsDoram_by_goods, creates dialog windows with item slots (CStylingShopConfirmDialog), and adds them to the scroll panel. 1634 bytes. 0x00826E50 589 CStylingShop__load_costume_change_data ui_shop Loads costume change data into the selection map. Calls StylingShop_GetCostumeSize to get count, then iterates with StylingShop_GetChangeCostume for each entry. Inserts valid entries into the ordered map at +0xC8 with costume ID and sequence number. 589 bytes. 0x008270A0 1379 CStylingShop__create_navigation_buttons ui_shop Creates navigation buttons for the styling shop. Creates 8 button widgets (CDialogWnd) with textures for: prev/next palette (msg 0x1C2/0x1C3), prev/next accessory (msg 0x162/0x163), try-on (msg 0x164), close (msg 0xB9), scroll left/right (msg 0xE3/0xE2). Positions buttons at fixed offsets. 1379 bytes. 0x00827610 89 CStylingShop__LoadCharacterAppearance ui_shop Loads character appearance data from global variables (DAT_01733510-01733540) into object fields at offsets 0x88-0xa4. 8 appearance fields total. 0x00827670 160 CStylingShop__ResetAllSlots ui_shop Resets all 8 styling shop slot widgets. Clears each slot via FUN_008658d0 and sets map names. Zeroes tracking fields 0xad-0xbc. Clears render batch list at offset 0xb4. 0x00827710 57 CStylingShop__UpdateButtonStates ui_shop Updates button enabled/disabled states based on current selections. Checks if item at offset 0x7c+0x90 is zero and if object at 0x88+0x30 is zero. 0x00827750 140 CStylingShop__SetTabMode ui_shop Sets tab mode for styling shop. If param_2=0 (disabled mode): uses blank textures, sets flag 0xb0=1. Otherwise uses active textures for 3 tab buttons. Calls FUN_008657a0 for each tab and triggers redraw. 0x00827900 466 CStylingShop__validate_item_for_slot ui_shop Validates an item for a styling shop slot. Checks zeny cost against player funds (DAT_01733d28), validates item IDs by comparing with item info atoi values. Returns 1 if valid, 0 if not. Shows error message 0xADC or 0xB04 for insufficient funds. 0x00827AE0 543 CStylingShop__add_button_and_label ui_shop Creates a styling shop button (CStylingShopButton, vtable PTR_CStylingShopButton__dtor_0112e414) and label pair. Sets up message handlers, positions button at column offset, inserts button+label pair into the shop's ordered map (+0xBC). 0x00827D00 1006 CStylingShopHair__create_child_windows ui_shop Creates child windows for the hair styling shop tab. Creates: character preview panel (+0x7C), two input fields (+0x88, +0x8C) with labels (msg 0xB15, 0xB10), and a scrollable content panel (+0x80, msg 0x1F2). Sets up visibility based on data availability. 0x008280F0 646 CStylingShopCloth__create_child_windows ui_shop Creates child windows for the cloth styling shop tab. Creates character preview (+0x7C), scrollable content panel (+0x80, msg 0x1F1), and character model preview with accessory table. Similar structure to hair tab but with cloth-specific parameters. 0x00828380 1330 CStylingShopAccessory__create_child_windows ui_shop Creates child windows for the accessory styling shop tab. Creates character preview (+0x7C), queries accessory table sizes via StylingShop_GetSizeInTable, creates confirm button (+0x94, msg 0x1EF), and scrollable content panel (+0x80). 0x008288C0 705 CStylingShopBody__create_child_windows ui_shop Creates child windows for the body styling shop tab. Creates character preview (+0x7C), content panel (+0x80), and two navigation buttons (msg IDs 0x248 and 0x249) at positions (0x13, 0xF8) and (0xDC, 0xF8) respectively. 0x00828B90 258 CStylingShop__on_show ui_shop OnShow handler for the styling shop window. Records timestamp via timeGetTime, creates navigation buttons on first show (when flag 0x2C is 0), copies global appearance data (head/body/palette/accessories from DAT_01733510-01733540) into member fields, and calculates scaled window position offsets. 258 bytes. 0x00828CA0 986 CStylingShopSlotPanel__create_child_windows ui_shop Creates child windows for the styling shop slot panel. Creates slot background panel (vtable PTR_CStylingShopSlotPanel__dtor, msg 0xCC), two main slot buttons (+0x94/+0x98, msg 0xC9) and two secondary slot pairs (+0x9C/+0x9D and +0xA0/+0xA1, msg 0xE3/0xE2) with scaled positions. 0x00829080 416 CStylingShopColorPicker__create_child_windows ui_shop Creates child windows for the styling shop color picker. Creates 8 color palette entries (+0x80 through +0x9C) as input fields (msg 0xBD) spaced vertically. Initializes palette list and clears selection state. 0x00829220 687 CStylingShopCharPanel__create_child_windows ui_shop Creates child windows for the styling shop character panel (vtable PTR_CStylingShopCharPanel__dtor). Creates character preview (+0x7C) with background texture, content panel (+0x80, msg 0x1F0), initializes linked list for items. 0x008294D0 1658 CStylingShop__create_main_panels ui_shop Creates main panels for the styling shop. Creates: hair panel (msg 0xB15, cost 200z), cloth panel (msg 0xB0F, 0x1F1), hair/cloth preview panel (msg 0x247), accessory item list panel (msg 0xB11, 0x1F0), character preview (+0xB8), confirm button (+0xB4, msg 0xE0), and zeny display label (msg 0xAD5 with formatted amount). 0x00829D10 535 CStylingShop__render_character_preview ui_shop Renders the character preview in the styling shop. Gets player actor, reads appearance parameters (head style, palette, accessories, body), constructs a SpriteLayerNode for preview rendering at center of panel. 0x00829F90 132 CStylingShopColorPicker__render ui_shop Renders the color picker panel. Draws palette indicator sprites for each of 8 color slots, then renders the selection highlight and color value display. 0x0082A030 92 CStylingShop__render_background_and_title ui_shop Renders the styling shop background and title. Checks appearance match across all slots, clears background with full alpha, draws title text (msg 0xAFD), and renders a background texture from 0x0112f290. 0x0082A0C0 25 CStylingShop__check_close_condition ui_shop Checks if the styling shop should auto-close. Closes (toggles button state) when the character preview panel (+0x7C) is null and the window state (+0x30) is not 1 (active). 25 bytes. 0x0082A0E0 39 CStylingShopBasePanel__notify_parent ui_shop Notifies the parent window of a panel event. Sends message type 6 with the panel's message ID (+0x2C) and the two parameters to the parent via virtual method 0x94. 0x0082A110 174 CStylingShopButton__on_click ui_shop OnClick handler for styling shop buttons. Checks if button is not disabled and is the focused element. If button is a child, sends msg to parent via virtual 0x94. For standalone buttons, sends to global handler. Handles special msg IDs 0xB8 and 0x141 by calling sound stop. Updates state and plays click sound. 0x0082A1C0 76 CStylingShop__show_tooltip_if_empty ui_shop Shows a tooltip if the styling shop field +0xE4 is empty (==0). Displays tooltip text from DAT_0112fb20 at position offset (0, -20). 0x0082A210 81 CStylingShopButton__on_mouse_down ui_shop OnMouseDown handler for styling shop button. Checks if not disabled, is focused element, click is within bounds, and not already in pressed state (!=2). Sets state to pressed (2) and triggers redraw. 0x0082A270 188 CStylingShop__update_panel_visibility ui_shop Updates visibility of styling shop panels. Iterates the ordered map (+0xBC) of button/panel pairs. For cost=200 panels, sets visibility based on selection state. For msg 0x1F2/0x247 panels, updates highlight flag. Skips msg 0x1F0 panels. Triggers redraw on visible panels. 0x0082A350 1836 CStylingShop__save_and_load_like_list ui_shop Loads and saves the styling shop like/favorites list from/to 'savedata/LikeListInfoFile.lua'. Parses key:value pairs for characterName, slotNum, headPaletteNum, headStyle, bodyPaletteNum, bodyStyle, topAccNum, midAccNum, bottomAccNum. Rebuilds the file with current character appearance data for up to 2 presets. 0x0082AAC0 2932 CStylingShop__load_like_list_and_create_previews ui_shop Loads the like list file and creates preview slots for saved presets. Parses LikeListInfoFile.lua for character appearance data. For matching character names, creates preview panels with saved headStyle, bodyPaletteNum, accessory IDs. Uses StylingShop_GetSizeInTable and StylingShop_GetGoods Lua functions to look up accessory slots. 0x0082B680 1226 CStylingShop__get_payment_by_type ui_shop Gets payment cost for styling shop items by type (1-7). Calls StylingShop_GetPayment_by_goods Lua function for types 1-6, StylingShop_GetPaymentChangeCost for type 7. Switch cases correspond to: 1=hair, 2=head palette, 3=body palette, 4=body style, 5=accessory top, 6=accessory mid/bottom. 0x0082BB70 3358 CStylingShopColorPicker__render_items_and_prices ui_shop Renders items and prices in the color picker panel. Iterates color slots, validates each via validate_item_for_slot, draws price text (zeny or item cost) with color coding (0x5A5A84=valid, 0xBFBFBF=invalid). Accumulates total cost. If no items, shows category descriptions. Updates confirm button state based on overall validity (+0xAC flag). 0x0082C890 1053 CStylingShop__detect_and_register_appearance_changes ui_shop Detects and registers appearance changes in the styling shop. Compares current character panel values against global appearance data (DAT_01733528 for head palette, DAT_01733510 for head style, DAT_01733524 for body palette, DAT_01733530/01733534/0173352c for accessories). For each changed category, calls add_change_to_list with type ID (1-7). Uses StylingShop_GetSeqnumber_by_good to validate accessory changes. 1053 bytes. 0x0082CCB0 183 CStylingShopSlotPanel__on_message ui_shop Message handler for styling shop slot panel. Handles msg 6/0xD5 to toggle between the two slots (+0x22 and +0x23), setting the active preview flag (+0x90) to 0 or 1. Triggers redraw on the parent panel (+0x20). 0x0082CD70 34 CStylingShopColorPicker__on_message ui_shop Message handler for the color picker panel. Simply triggers redraw on msg type 6, delegates other messages to base handler. 0x0082CDA0 854 CStylingShopItemListPanel__on_item_select ui_shop Item selection handler for the accessory item list. On msg 0xBD, deselects all items then selects clicked one. Determines slot type (TopAccessory/MidAccessory/BottomAccessory) from field +0x120. On hover (msg 0x65), shows item tooltip. Checks Doram race via StylingShop_GetIsDoram_by_goods. 0x0082D100 665 CStylingShopHair__on_message ui_shop Message handler for hair styling tab. Handles msg 0x1EF (confirm): queries StylingShop_GetSizeInTable for available styles, iterates items to find selected hairstyle, checks if coloring is allowed via StylingShop_GetIsColoring_by_goods. Shows error 0xB12 for invalid selections. 0x0082D3A0 419 CStylingShopBody__on_message ui_shop Message handler for body styling shop tab. Handles msg 0x248/0x249 (prev/next body style navigation). Iterates the body style map to find adjacent entries. Uses CReportManager__map_lower_bound and iterator decrement/increment to navigate. 0x0082D550 302 CStylingShopAccessory__on_message ui_shop Message handler for accessory styling shop tab. Handles: 0xB9=close, 0xE2/0xE3=scroll slots left/right (0-7), 0x162/0x163=palette prev/next, 0x1C2/0x1C3=accessory prev/next, 0x164=try on (shows confirmation dialog 0xB03 or error 0xB01), 0x1EF=confirm purchase. 0x0082D980 334 CStylingShopCharPanel__on_message ui_shop Message handler for the character panel. Handles: 0xC9=delete slot (confirmation dialog 0xB00), 0xCC=select character slot (0 or 1), 0xE2/0xE3=forward scroll events to active panel's character preview. Updates character panel border texture based on selected slot. 0x0082DC60 43 CStylingShopItemListPanel__on_message ui_shop Message handler for item list panel. Triggers redraw on msg 6/0xBD (color selection), delegates others to base handler. 0x0082DC90 34 CStylingShopPreviewPanel__on_message ui_shop Message handler for preview panel. Triggers redraw on any msg type 6, delegates others to base handler. 0x0082DCC0 837 CStylingShop__on_message ui_shop Main message handler for the styling shop window. Handles: 0x1F0/0xC8/0x1F1/0x1F2/0x247=tab selection (switches active panel), 0xC9=close shop, 0xE0=confirm purchase (iterates all panels, calls build_change_packet for active ones). Checks Doram race eligibility for certain tabs. 0x0082E020 63 CStylingShopCharPanel__toggle_bottom_accessory ui_shop Toggles the bottom accessory in the character panel. If the item ID matches the currently equipped one (+0xA4), clears it. Otherwise sets the new accessory ID (+0xA4) and associated item index (+0xC4). 0x0082E060 15 CStylingShop__copy_appearance_to_preview ui_shop Wrapper that copies appearance data from saved preset to the active character preview panel via CStylingShopCharPanel__CopyAppearanceData. 15 bytes. 0x0082E070 63 CStylingShopCharPanel__toggle_mid_accessory ui_shop Toggles the mid accessory in the character panel. If the item ID matches the currently equipped one (+0xA0), clears it. Otherwise sets the new accessory ID (+0xA0) and associated item index (+0xC0). 0x0082E0B0 1000 CStylingShop__setup_scroll_panel_layout ui_shop Sets up the scroll panel layout based on panel type. For msg 0xC8 (color picker): 8 entries, page=6, row height 0x44. For msg 0x1F0/0x1F1 (item lists): 4 entries with 2 columns, spacing 0x69, row height 0x18. For msg 0x1F2/0x247 (preview): same as 0xC8 config. 0x0082E4A0 63 CStylingShopCharPanel__toggle_top_accessory ui_shop Toggles the top accessory in the character panel. If the item ID matches currently equipped (+0x9C), clears it. Otherwise sets new accessory ID (+0x9C) and item index (+0xBC). 0x0082E4E0 25 CStylingShop__set_change_flag_by_index ui_shop Sets a change tracking flag at +0x84+index. Index must be less than 5 (corresponds to: 0=head palette, 1=head style, 2=body palette, 3=top accessory, 4=mid accessory). 25 bytes. 0x0082E500 463 CStylingShop__toggle_accessory_slot ui_shop Toggles an accessory slot (top=0, mid=1, bottom=2) in the styling shop. Finds the active item list panel (msg 0x1F1), looks up item info, and toggles the corresponding slot in the character preview panel. Updates and redraws. 0x0082E6D0 107 CStylingShop__update_color_slot_state ui_shop Updates a color slot state in the styling shop. If enabled (param2==1), sets text color to gray-blue (0x5A5A84) and increments total price if the slot has content. If disabled, clears the active flag (+0xAC) and hides the slot. 0x0082E740 79 CStylingShopCharPreview__set_appearance_params ui_shop Sets appearance parameters on the character preview. Stores: slot (+0x88), head palette (+0x8C), head style (+0x90), body style (+0x94), body palette (+0x98), top acc (+0x9C), mid acc (+0xA0), bottom acc (+0xA4). 0x0082E790 159 CStylingShopBody__advance_to_next_style ui_shop Advances to the next body style in the styling shop. Uses map lower_bound on the current style (+0x90) and increments the iterator. Wraps around to the first entry if at the end. Requires at least 2 styles in the map (+0xCC > 1). 0x0082E830 1201 CStylingShop__query_table_size ui_shop Queries the StylingShop_GetSizeInTable Lua function to get the number of available items for a styling category. Used before navigating palette/style selections. 0x0082ECF0 135 CStylingShopBody__go_to_prev_style ui_shop Goes to the previous body style in the map. Uses map lower_bound and iterator decrement. Wraps around to the last entry if at the beginning. Requires at least 2 styles available (+0xCC > 1). 0x0082ED80 1147 CStylingShop__navigate_palette_or_style ui_shop Navigates palette or style selection. Queries StylingShop_GetSizeInTable and StylingShop_GetGoods. Checks if current selection is BodyPalette or DoramBodyPalette (special handling for palette=3). Adjusts sequence number bounds based on job type (4000+ ID check). Used by prev/next buttons. 0x0082F200 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0082F410 10 STL_vector_xlength_error_0082f410 stl Throws std::length_error for vector too long 0x0082F420 10 STL_vector_xlength_error_0082f420 stl Throws std::length_error for vector too long 0x0082F430 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0082F470 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0082F4B0 165 CStylingShop__add_change_to_list ui_shop Adds a change entry to the styling shop's change list (linked list). Allocates a 0xC-byte node, stores the change type value, inserts at the end of the list. Throws length_error if list reaches 0x15555555 entries. 0x0082F560 155 CNavigationWnd__ctor game_core Constructor for CNavigationWnd. Sets vtable PTR_FUN_0112fe98, initializes fields to 0/default, records timeGetTime, sets waypoint indices to -1. Size 0x124 bytes. 0x0082F600 71 CNavigationWnd__dtor game_core Destructor for CNavigationWnd. Sets vtable and destroys base UIWindow. 0x0082F650 93 CNavigationWnd__scalar_dtor game_core Scalar deleting destructor for CNavigationWnd (size 0x124). Destroys base and conditionally frees memory. 0x0082F6B0 99 CNavigationWnd__scalar_dtor_base game_core Scalar deleting destructor for CNavigationWnd base class (size 0xE0). Sets vtable, destroys base UIWindow, conditionally frees memory. 0x0082F720 618 CEquipWnd__init_layer_priorities ui_shop Initializes layer priority mapping for the equipment window. Sets up priority values from global data, creates a red-black tree with entries for layer types 4-6 (headgear top/mid/low), calls GetLayerPriority and inserts into sorted tree. Used to determine rendering order of equipment sprite layers. 0x0082F990 495 CEquipWnd__show_item_info_by_type ui_shop Displays item information based on item type. Handles type 1 (normal items via FUN_00ddd5a0), type 2 (equipment via FUN_00ddc6f0), and type 0x18 (special items via FUN_00e08ee0). Copies item description and sends display command. For equippable items, sends packet 0x131 for multi-slot display; for normal items, sends 0x12e. 0x0082FBA0 339 CEquipWnd__render_character_sprite ui_shop Renders the character sprite preview in the equipment window. Reads appearance properties (head, body colors) from the equip window object, constructs a SpriteLayerNode at centered position, and calls CSpriteRenderer to render the sprite layers. Position is calculated as (width/2 + 1, height - 0x35). 0x0082FD00 143 CEquipWnd__render_item_sprite ui_shop Renders an item sprite at a given position. Takes item data, builds a 128-byte buffer, looks up the sprite resource, and calls render function. Used to display item icons in equipment slots. 0x0082FD90 1455 CEquipWnd__load_all_slot_items ui_shop Loads all equipment slot items (up to 10 slots). Iterates through each slot, calls load_slot_item_info to get item data, handles special/normal equipment types differently. For valid items, renders item sprites at calculated positions and builds item name strings. Also handles costume equipment rendering with adjusted positions. 0x00830340 179 CEquipWnd__get_slot_index_from_coords ui_shop Converts screen coordinates to equipment slot index. Returns slot 0-7 for main equipment area (x: 6-105, y: 22-height), slot 8 for first column, slot 9 for last row. Returns 0xF for special area (x: 112-169, y: 28-52). Returns -1 if coordinates are outside any slot. 0x00830400 235 CEquipWnd__get_item_info_at_coords ui_shop Gets item information at the given screen coordinates. Calls get_slot_index_from_coords to determine which equipment slot was hit, then calls load_slot_item_info to retrieve the item data for that slot. Returns the item info structure. 0x008304F0 611 CEquipWnd__load_slot_item_info ui_shop Loads item information for a specific equipment slot index. If slot is -1, clears item info. Otherwise, queries the item database using different functions depending on equipment mode (mode 2 uses FUN_00e31b20, others use FUN_00e31bb0). Copies the result into the output structure via CShopItem copy constructor. 0x00830760 527 CEquipWnd__create_navigation_windows ui_shop Creates navigation and helper windows for the equipment window. Allocates a CNavigationWnd (0x124 bytes), sets up buttons with sprite resources, positions at (0x51, 0x9B), and enables auto-resize. Also creates a secondary window (0xD0 bytes) positioned at (0xE0, 0x9B). Registers both windows with the parent system. 0x00830970 190 CEquipWnd__draw_with_timed_buttons ui_shop Draws the equipment window with timed button effects. Draws border, checks elapsed time since last action (DAT_0173a5b0). If within 10 seconds, swaps button sprites to highlighted versions. Renders centered text label with color that changes based on timer state (0x172842 normal, 0x899696 highlighted). 0x00830A30 996 CEquipWnd__draw_equipment_background ui_shop Draws equipment window background with swap UI. Selects background texture based on equip mode (mode 1: equipwin_bg2_cha, mode 2: equipwin_special). Loads the BMP resource and renders it. Then renders character sprite, equipment slot items, and item name labels. Also shows item count text if applicable. 0x00830E20 280 CEquipWnd__on_slot_click ui_shop Handles left-click on an equipment slot. Gets item info at click coordinates, checks if Ctrl key is held (GetAsyncKeyState VK_CONTROL). Normal click sends packet 0x12F for equip mode 2; Ctrl+click sends packet 0x131 for multi-slot equipment handling. 0x00830F40 491 CEquipWnd__on_slot_right_click ui_shop Handles right-click on an equipment slot. Gets item info at coordinates, dispatches item context action. Checks Shift key (GetAsyncKeyState VK_SHIFT) for special operations. Handles different window contexts (0x1EC=shop, 0x1EA=storage, 0x1ED=cart, 0x1EB=achievement reward, 0x1EE=another context) to perform appropriate item operations. 0x00831210 968 CShopWnd__build_item_tooltip_and_update_equip_highlight ui_shop CShopWnd: build item tooltip and update equip highlight 0x008315E0 181 CEquipWnd__on_slot_tooltip ui_shop Handles tooltip display for equipment slots. Gets item info at the given coordinates, then sends a tooltip display message (msg 0x18) to the UI tooltip window (window type 0xC) with the item data. 0x008316A0 436 CEquipWnd__on_button_message ui_shop Handles button messages for the equipment window. Button 0xB9: resets equip state and forwards to parent. Button 0xC9: opens status window (0x128). Button 0x1FC: attempts equipment swap with extensive validation (checks quest state, inventory, cart, ongoing operations) before sending packet 0x130. Shows error messages (IDs 0xBB9-0xBBB, 2999-3000) on failure. 0x00831860 77 CEquipWnd__set_slot_property ui_shop Sets a visual property for an equipment slot. Property IDs: 0=hair color (offset 0xC4), 2=body palette (offset 0xD0), 8=cloth color (offset 0xC8), 9=head style (offset 0xCC). Used to update the character preview appearance in the equipment window. 0x008318D0 1280 CEquipWnd__build_sprite_name_strings ui_shop Builds sprite name strings for equipment display. Generates head and body sprite filenames based on appearance settings (head style, body palette, hair/cloth colors). Uses multiple sprite name builder functions (FUN_00e13a20, FUN_00e13a90, FUN_00dde340, etc.) to construct path strings for each equipment layer. 0x00831DD0 61 CEquipWnd__get_row_direction_flag ui_shop Returns a direction flag based on Y position within equipment grid. Returns 1 if Y>250 (bottom area), otherwise maps Y/26 row to flags: row 1=2, row 2=4, row 0/-1=1, default=8. Used for equipment slot navigation. 0x00831EB0 264 std__vector_byte__insert_with_grow stl STL vector insert with capacity growth for byte vectors. Calculates new capacity (1.5x growth, minimum required size), allocates new buffer, copies existing data around the insertion point via memcpy, then swaps buffers. Standard vector::insert implementation for contiguous byte data. 0x00832000 1278 CItemLink__validate_and_parse_link game_core Validates and parses an item link string. Searches for link delimiters in the input string, extracts tokens iteratively, parses item IDs via base62 decode, validates against item database. If item ID is "0000T0" (placeholder), skips. Checks item existence via FUN_00ddd4e0 and validates with FUN_00dfbe40/FUN_00dfa3c0. Shows error 0xE8D if invalid. 0x00832500 306 CItemLink__contains_link_delimiter game_core Checks if a string contains any item link delimiters. Searches for 4 different delimiter strings (stored at globals DAT_01338ea8, DAT_01338ec0, DAT_01338dd0, DAT_01338de8) using std::_Traits_find. Returns 1 if any delimiter found, 0 otherwise. 0x00832640 2832 UIChat__parse_color_delimited_string game_core Parses string with delimiter tokens, extracts substrings and optional color/numeric values via atoi 0x00833160 257 base62_decode_string game_core Decodes a base-62 encoded string to an integer. Uses character set "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" (62 chars). Processes each character positionally with powers of 62 to reconstruct the integer value. Used for item link ID decoding. 0x00833270 723 base62_encode_int game_core Encodes an integer to a base-62 string. Uses character set "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ". Repeatedly divides by 62 and maps remainders to characters, then reverses the result. Output stored in param_1 as std::string. 0x00833550 1032 CItemLink__strip_link_tags game_core Strips item link tags from a string, returning plain text. Searches for link start/end delimiters, extracts the display text between them. Also processes embedded link data via FUN_00835600. Modifies the string in-place by removing link markup while preserving visible content. 0x00833960 156 check_item_link_system_init game_core Checks if the item link system is initialized. Uses a singleton pattern with DAT_01456ef0 as flag pointer. On first call, allocates a 1-byte flag set to 1 and returns 1 (initialized). Returns 0 if initialization fails. Frees flag on failure. 0x00833A00 31 release_item_link_system game_core Releases the item link system singleton. Frees the 1-byte flag at DAT_01456ef0 and sets it to NULL. Counterpart to check_item_link_system_init. 0x00833A20 1841 CItemLink__extract_next_token game_core Extracts the next token from an item link string. Searches for delimiter pairs (start/end markers), strips prefix content, and returns the token between delimiters. Updates param_3 (offset) to track position. Handles nested delimiters by iterating. Returns 1 on success, 0 when no more tokens found. 0x00834160 1167 split_comma_separated_string game_core Splits a comma-separated string into a vector of std::string. Scans for ',' (0x2C) characters using memchr, extracts each substring, and appends to the output vector (param_2). Each element is a 24-byte std::string. Handles the trailing segment after the last comma. 0x008345F0 903 CItemLink__parse_item_id_from_link game_core Parses an item ID from a link token string. Skips the first 6 characters (link prefix), then scans for delimiter characters from a set of 14 chars (DAT_01130138). Accumulates digit characters into a buffer, then calls base62_decode_string to convert the accumulated string to an integer item ID. Returns -1 if no valid ID found. 0x00834980 671 CItemLink__extract_display_text game_core Extracts display text from an item link string. Finds the link start delimiter, extracts text before it, then finds the end delimiter and extracts text after it (removing the link markup). Returns the resulting display string without link tags. 0x00834C30 2498 CItemLink__format_link_with_params game_core Formats an item link with parameter substitution. Splits the parameter string by commas, then for each parameter, finds '%' markers in the format string and substitutes values. Handles %s (string), %d (integer via atoi), and %f (float via atof) format specifiers. Also handles MsgStr() references by looking up message IDs via FUN_00b00f00. Uses lua_util_sprintf for formatting. 0x00835600 648 CItemLink__build_formatted_string game_core Builds a formatted string from item link data. Copies input string, calls parse_link_metadata to extract metadata, formats with lua_util_sprintf, and returns the result as a new std::string. Used as a helper in the link processing pipeline. 0x00835890 560 CItemLink__parse_link_metadata game_core Parses metadata from an item link string. Finds the end-link delimiter, extracts base62-encoded values for two output parameters (2 chars each starting at offset 0 and 2), then extracts the remaining text after the start-link delimiter as display text. Returns 1 if all parts found, 0 if metadata is incomplete. 0x00835AC0 63 std__string__find_char stl Finds a character in a std::string starting from a given offset. Uses memchr internally. Returns the index of the character if found, -1 otherwise. Equivalent to std::string::find(char, pos). 0x00835B00 435 CItemLink__split_at_delimiter game_core Splits a string at a link delimiter (DAT_01338e78). Returns a struct with: flag (0=not found, 1=found), the prefix before the delimiter, and the suffix after the delimiter. Used to separate link content from surrounding text. 0x00835CC0 204 CItemLink__create_link_entry game_core Creates an item link entry structure. Initializes a 49-byte structure containing two std::strings (display text at offset 0 and link data at offset 24) plus a flag byte at offset 48. Used to store parsed link information for rendering. 0x00835D90 337 std__vector_dword__insert_with_grow stl STL vector insert with growth for 4-byte elements (DWORD). Standard vector::insert implementation with 1.5x capacity growth. Allocates new buffer, copies elements around insertion point, frees old buffer. Max capacity 0x3FFFFFFF elements. 0x00835F00 572 std__vector_12byte__insert_with_grow stl STL vector insert with growth for 12-byte elements. Standard vector::insert with 1.5x growth. Calls FUN_00836c80 for element construction and FUN_008365d0 for range copy. Destroys old elements via stub_005feb20 before freeing old buffer. Max capacity 0x15555555 elements. 0x00836140 575 std__vector_48byte__insert_with_grow stl STL vector insert with growth for 48-byte (0x30) elements. Standard vector::insert with 1.5x growth. Calls FUN_00836700 for element construction and FUN_00836680 for range copy. Destroys old elements via STL_string_dtor before freeing. Max capacity 0x5555555 elements. 0x00836380 439 std__vector_8byte__insert_with_grow stl STL vector insert with growth for 8-byte elements. Standard vector::insert with 1.5x growth. Copies the 8-byte element (two DWORDs) at insertion point. Handles old buffer freeing with alignment. Max capacity 0x1FFFFFFF elements. 0x00836540 131 std__vector_byte__assign_range stl Assigns a range of bytes to a std::vector. Allocates buffer of exact size needed, then memcpy copies the source range [param_2, param_3) into the new buffer. Used for bulk data copy operations. 0x008365D0 169 std__vector_12byte__relocate_range stl Relocates a range of 12-byte elements between vector buffers. Moves elements from [param_1, param_2) to destination starting at param_3. Zeroes source elements after move (move semantics). Used during vector reallocation. 0x00836680 123 std__vector_48byte__move_construct_range stl Move-constructs a range of 48-byte (0x30) elements. Iterates from param_1 to param_2 in steps of 0x30, calling FUN_00836ff0 to construct each element at destination param_3. Used during vector reallocation for 48-byte element vectors. 0x00836700 119 std__vector_48byte__copy_construct_element stl Copy-constructs a 48-byte element at param_2 from source at param_3. Copies the first 24 bytes via STL_string_copy_construct (std::string), then copies the remaining 24 bytes (offsets 0x18-0x2F) directly. Used for vector element construction. 0x00836780 106 CTextLine__pair_ctor game_core Constructs a text line pair by copy-constructing two std::strings from param_2 and param_3. Returns param_1. Used as a pair constructor for text layout elements. 0x008367F0 219 CTextLineData__copy_ctor game_core Copy constructor for CTextLineData. Copies the vtable pointer, then copies the inner DWORD vector (allocating and memcpy-ing the buffer), and copies the trailing int field at offset 0x10. Structure is 20 bytes total. 0x008368D0 154 CTextLineData__default_ctor game_core Default constructor for CTextLineData. Zeroes out all 56 bytes (14 DWORDs) of the structure. Sets all fields including vtable pointer, vectors, and counters to zero. 0x00836970 783 CTextLayout__ctor game_core Constructor for CTextLayout. Initializes text layout with vtable, parent window, text content, dimensions (width/height), alignment flags, colors, and scroll settings. Parses the text into lines, handles alignment modes (0=left, 1=right, 2=center), calculates line heights, and positions text elements. Stores total height at offset 0x7C. 0x00836C80 191 std__vector_dword__copy_ctor stl Copy constructor for std::vector. Allocates buffer sized to source vector's element count, then memcpy copies the data. Sets begin/end/capacity pointers appropriately. 0x00836D40 169 CTextElement__ctor_with_sprites game_core Constructs a CTextElement with custom sprite resources. Calls base constructor, sets vtable, initializes counters, loads two sprite resources from the provided params. Stores current timeGetTime value for animation timing. 0x00836DF0 171 CTextElement__ctor_default_sprites game_core Constructs a CTextElement with default sprite resources from DAT_011303d8 and DAT_011303ec. Same as ctor_with_sprites but uses hardcoded sprite paths. Records creation time via timeGetTime. 0x00836EA0 139 CTextElement__ctor_with_string game_core Constructs a CTextElement with an embedded string. Sets vtable to PTR_FUN_011302fc, initializes an empty std::string at offset 0x7C, and sets a flag byte at offset 0x79 to 1 (enabled). 0x00836F30 183 CTextElement__ctor_with_font game_core Constructs a CTextElement with font settings. Sets vtable to PTR_FUN_0113014c, font size to 12 (offset 0x80), default color to 0xFFFFFF white (offsets 0x8C and 0x94), and initializes an empty std::string at offset 0x98. 0x00836FF0 161 CTextLine__move_ctor game_core Move constructor for CTextLine (48-byte struct). Moves the std::string from source to destination (stealing the internal buffer), then copies the remaining 24 bytes of data (offsets 0x18-0x2F) directly. 0x008370A0 90 std__vector_48byte__destroy_range stl Destroys a range of 48-byte elements in a vector. Iterates from begin to end in steps of 0x30, calling STL_string_dtor on each element's embedded std::string. 0x00837100 77 CTextLine__dtor_wrapper game_core Wrapper destructor for a CTextLine element. Calls STL_string_dtor to destroy the embedded string. Simple forwarding function. 0x00837150 105 CTextLine__pair_dtor_0 game_core Destructor for a text line pair (variant 0). Destroys two embedded std::strings in sequence. 0x008371C0 105 CTextLine__pair_dtor_1 game_core Destructor for a text line pair (variant 1). Destroys two embedded std::strings in sequence. Nearly identical to pair_dtor_0 but with different local_8 state tracking. 0x00837230 129 std__vector_8byte__clear_and_free stl Clears and frees a std::vector. Frees the buffer memory (handling aligned allocations >4KB), then sets begin/end/capacity to NULL. 0x008372C0 197 std__vector_48byte__clear_and_free stl Clears and frees a std::vector of 48-byte (0x30) elements. Destroys each element's embedded std::string, then frees the buffer. Sets begin/end/capacity to NULL. 0x00837390 187 CTextLayout__dtor game_core Destructor for CTextLayout. Sets vtable, swaps line data back to global pool (DAT_01456f04/08/0C), destroys child elements, clears line vector, destroys embedded string, and frees the 8-byte vector. 0x00837450 65 CTextLineData__dtor_wrapper game_core Wrapper destructor for CTextLineData. Calls stub_005feb20 to destroy the internal data. 0x008374A0 71 CTextElement__sprite_dtor game_core Destructor for sprite-type CTextElement. Sets vtable to PTR_FUN_01130224 and calls base destructor FUN_00a79e90. 0x008374F0 92 CTextElement__string_dtor game_core Destructor for string-type CTextElement. Sets vtable to PTR_FUN_011302fc, destroys the embedded std::string at offset 0x7C, then calls base destructor FUN_00a79e90. 0x00837550 95 CTextElement__font_dtor game_core Destructor for font-type CTextElement. Sets vtable to PTR_FUN_0113014c, destroys the embedded std::string at offset 0x98, then calls base destructor FUN_00a79e90. 0x008375B0 65 CTextLine__string_dtor_wrapper game_core Wrapper destructor for a CTextLine string. Calls STL_string_dtor to destroy the embedded string. 0x00837600 171 CTextElement__get_text_content game_core Gets the text content from a CTextElement. If flag at offset 8 is set, returns a copy of the internal buffer range [begin, end) as a new std::string. Otherwise returns an empty string. 0x008376B0 92 bitfield_iterator__advance game_core Advances a bitfield iterator by param_2 positions. Handles both forward (positive) and backward (negative) movement. Uses 32-bit word boundaries (offset 0 = word pointer, offset 4 = bit index within word). Advances the word pointer and wraps the bit index at 32. 0x00837710 211 CTextLayout__scalar_deleting_dtor game_core Scalar deleting destructor for CTextLayout. Performs full CTextLayout cleanup (same as CTextLayout__dtor), then frees the 0x80-byte allocation if flag bit 0 is set in param_2. 0x008377F0 99 CTextElement__sprite_scalar_dtor game_core Scalar deleting destructor for sprite-type CTextElement (0x98 bytes). Calls base destructor, then frees memory if flag bit 0 is set. 0x00837860 116 CTextElement__string_scalar_dtor game_core Scalar deleting destructor for string-type CTextElement (0x94 bytes). Destroys embedded string, calls base destructor, then frees memory if flag bit 0 is set. 0x008378E0 119 CTextElement__font_scalar_dtor game_core Scalar deleting destructor for font-type CTextElement (0xB0 bytes). Destroys embedded string, calls base destructor, then frees memory if flag bit 0 is set. 0x00837960 103 parse_hex_color_string game_core Parses a 6-digit hex color string (e.g. "FF0000") to RGB. Uses strtol with base 16. Swaps byte order from RRGGBB to 0x00BBGGRR format. Sets flag byte at output+0 to 1 on success, 0 on failure. Output color stored at output+4. 0x008379D0 353 string_compare_with_options game_core Compares two std::strings with configurable options. If case-insensitive flag is clear, converts both strings to uppercase via toupper before comparison. Supports exact match mode (flag 1) using full length comparison, or prefix match mode using min-length comparison. Returns true if strings match. 0x00837B40 56 CTextLayout__append_hyperlink game_core Appends a hyperlink to the text layout. If the line vector is full (offset 0x64 == 0x68), grows it by 600 entries via SetItemEntry. Then appends the hyperlink string content to the current layout. 0x00837B80 61 CTextLayout__add_element_to_line game_core Adds a text element to the current line in the layout. If the element vector at offset 0x70 is full, grows it. Appends the element pointer to the last line's element list. 0x00837BC0 1377 CTextLayout__process_emoji_tag game_core Processes emoji/emoticon tags in text layout. Uses regex to match patterns like [e](\\d{1,3}) or [e](\\d{1,3})\\s(\\s)(\\d{1,3}). Parses emoji ID, looks up emoji sprite resources via CFmt functions, creates a CTextElement with the emoji sprite, and adds it to the layout. Also handles frame index for animated emojis. 0x00838130 1604 CTextLayout__process_text_segment game_core Processes a text segment for the text layout. Word-wraps the text, measures its width, and either adds it as inline text or creates a new line if it exceeds the available width. Handles hyperlink URLs by searching/highlighting them. Creates CTextElement instances for text blocks and positions them within the layout grid. 0x00838780 542 CTextLayout__process_image_tag game_core Processes image tags [i](\\d{1,7}) in text layout. Uses regex to extract image ID, creates a string-type CTextElement (0x94 bytes) with the image path, sizes it to 25x25 pixels, and adds it to the layout. Handles line overflow by creating new lines as needed. 0x008389A0 916 CTextLayout__layout_rich_text_block game_core Lays out a rich text block within the text layout. Measures the text width, and if it exceeds the available area, splits it into multiple lines using FormatRichText and SearchAndHighlight. Creates CTextElement instances via BuildPageIndex for each fragment and adds them to the layout's element list. 0x00838D40 1233 CTextLayout__dispatch_layout_elements game_core Main dispatch loop for laying out text elements. Iterates through parsed elements (48-byte entries) and dispatches by type: 600=plain text (with newline check), 0x1B5/0x1B6/0x1D0/0x205/0x21B=rich text segments, 0x233=color-formatted text, 0x236=emoji tags, 0x241=image tags. Each case creates appropriate layout elements. 0x008392C0 78 CScrollControl__RecalcLayout ui_framework Recalculates the scroll control layout. Iterates through pages calling FUN_0083d090/FUN_0083cda0 in a chain until all items are laid out, then calls finalization functions. 0x00839310 266 string_find_case_insensitive game_core Searches for a substring within a string with optional case-insensitive mode. If case-insensitive (flag=0), converts both strings to uppercase using toupper before searching. Returns position or -1 if not found. 0x00839420 1081 CScrollControl__SearchAndHighlight ui_framework Searches for and highlights text within a scroll control. Splits the input text into segments based on the available width, measuring each segment's pixel width via CEffect__measure_text_size. If a segment fits within the remaining line width, it's added as a single entry. Otherwise, it formats the text using CScrollControl__FormatRichText to split across lines. Builds a vector of 24-byte string entries (text + width data) for the caller to render. 0x00839860 1222 CScrollControl__FormatRichText ui_framework Formats rich text by iterating through characters, measuring each multibyte character's width via CEffect__measure_text_size. If cumulative width exceeds the max width constraint, creates a substring and sets the overflow flag. Returns the fitted text portion. 0x00839D30 45 get_lua_callback_pair game_core Gets a pair of Lua callback function pointers based on param_2. Special case for 0x1B5 returns different callback pair. 0x00839D60 401 CScrollControl__AppendFormattedLine ui_framework Factory method that creates CTextLine pair objects based on message type ID. Handles types 0x1B5, 0x1B6, 0x1D0, 0x1F5, 0x205, 0x21B, 0x232, 0x233. Default case creates an empty text line pair with two empty strings. 0x00839FA0 150 CScrollControl__MeasureText ui_framework Measures text dimensions for the scroll control. Uses FUN_00a80340 to compute width and height based on font properties. Returns 0,0 if param_1 is null. 0x0083A040 83 CScrollControl__DecrementX ui_framework Decrements the X scroll position by 1. If position reaches 0, sets dirty flag at offset 0x48. Cleans up temporary string. 0x0083A0A0 88 CScrollControl__IncrementX ui_framework Increments the X scroll position by 1. If position was 0, sets dirty flag at offset 0x48. Cleans up temporary string. 0x0083A100 122 CScrollControl__PageUp ui_framework Pages up in the scroll control by decrementing the page pointer by 8 bytes. Updates the display position from the previous page entry, or resets to initial position if at the first page. Sets dirty flag. 0x0083A180 579 CScrollControl__ParseFontTagAttributes ui_framework Parses FONT tag attributes (SIZE and COLOR) from a string. Extracts numeric SIZE value and 6-digit hex COLOR code. Byte-swaps RGB color from RRGGBB to internal format. Pushes position+color entry to the page vector at offset 0x40. Sets dirty flag. 0x0083A3D0 83 CScrollControl__DecrementY ui_framework Decrements the Y scroll position by 1. If position reaches 0, sets dirty flag at offset 0x48. Cleans up temporary string. 0x0083A430 88 CScrollControl__IncrementY ui_framework Increments the Y scroll position by 1. If position was 0, sets dirty flag at offset 0x48. Cleans up temporary string. 0x0083A490 345 CScrollControl__CreateAnimatedSpriteElement ui_framework Creates an animated sprite element for embedded emoticons/images. Looks up category+ID from a data source, loads sprite and animation resources via CResourceMgr, initializes with timeGetTime for animation timing. Sets element size to 50x50. Returns new element or null if lookup fails. 0x0083A5F0 551 CScrollControl__CreateTextWidgetFromStrings ui_framework Creates a UIWidget text element from a text string and a vector of styled string entries. Measures text size, constructs a UIWidget via UIWidget__ctor, sets text content and layout. Copies string entries from the input vector to the widget's internal string list at offset 0x3C. Returns null if text is empty. 0x0083A820 254 CScrollControl__ProcessCommand ui_framework Processes an embedded command in text content. Gets the formatted line pair for the given type, searches for the command string, and if found creates a hyperlink entry. Appends the matched text to the output buffer and sets dirty flag. Returns updated parse position. 0x0083A920 275 CScrollControl__CreateTextStringElement ui_framework Creates a CTextElement of string type (vtable PTR_CTextElement__string_scalar_dtor). Initializes with an embedded string at offset 0x7C, sets the line-break flag at offset 0x79 to 1. Sets element size to 25x25 and copies the input string content. 0x0083AA40 330 CScrollControl__SetItemEntry ui_framework Appends a new empty line entry (3 ints = 12 bytes) to the content lines vector at offset 0x70. Grows the vector if needed via std__vector_12byte__insert_with_grow. 0x0083AB90 345 CScrollControl__AddHyperlink ui_framework Adds a hyperlink entry (48 bytes) to the hyperlink vector at offset 0x68. Stores current position (offset 0x1C), color (offset 0x24), bold/italic flags from offsets 0x10/0x14, link type, and the hyperlink text string. Clears dirty flag at offset 0x48. 0x0083ACF0 556 CScrollControl__CreateStyledTextElement ui_framework Creates a styled font text element (vtable PTR_CTextElement__font_scalar_dtor). Measures text dimensions, sets font size (12pt default), foreground/background colors (0xFFFFFF default), bold/italic flags, alignment, and text string. If auto-size flag is set, measures total text width and resizes the element. 0x0083AF20 46 CScrollControl__IteratePages ui_framework Iterates through all content characters up to the total count at offset 0x5C. For each position, tries ParseContentAtOffset first; if it doesn't advance, falls back to ProcessCharacter. Continues until all content has been processed. 0x0083AF50 324 CScrollControl__RenderSkillRequirements ui_framework Renders skill requirement entries from a skill tree node. Iterates through detail entries, loads sprites from resource arrays, and renders them as sprite quads at scaled positions. Only processes entries with valid IDs and slot indices less than 2. Requires non-null skill tree and layout objects. 0x0083B0A0 165 CScrollControl__DrawBgImage ui_framework Draws the background image for the scroll control. Loads a sprite from the filename stored at offset 0x7C, renders it at position (0,0) with full opacity. 0x0083B220 37 CScrollControl__RedrawChild ui_framework Redraws the child widget at offset 0x10, offsetting the draw position by the scroll control's own position (offsets 0x1C and 0x20). 0x0083B250 37 CScrollControl__ForwardMouseDown ui_framework Forwards mouse down event to child widget at offset 0x10, adjusting coordinates by scroll position (0x1C, 0x20). Calls vtable+0x64. 0x0083B280 37 CScrollControl__ForwardMouseMove ui_framework Forwards mouse move event to child widget at offset 0x10, adjusting coordinates by scroll position. Calls vtable+0x7C. 0x0083B2B0 325 CScrollControl__ShowItemTooltip ui_framework Shows an item tooltip for the scroll control. Creates a CItemDesc, copies the item string from offset 0x7C, accumulates parent offsets for positioning, builds a tooltip string via CItemDB, and displays it via CToolTipMgr__show_tooltip with color code. Only shows if DAT_013495bc is non-zero. 0x0083B400 37 CScrollControl__ForwardMouseUp ui_framework Forwards mouse up event to child widget at offset 0x10, adjusting coordinates by scroll position. Calls vtable+0x6C. 0x0083B430 37 CScrollControl__ForwardRightDown ui_framework Forwards right mouse down event to child widget at offset 0x10. Calls vtable+0x78. 0x0083B460 231 CScrollControl__UpdateAnimationFrame ui_framework Updates the animation frame for an animated text element. Uses timeGetTime for timing, calculates current frame based on elapsed time and frame duration. Advances frame loop counter when all frames in a cycle complete. Calls vtable+0x98 to refresh display after frame update. 0x0083B550 217 CScrollControl__ShowItemInfoWindow ui_framework Opens an item info window when an item element is clicked. Creates a CItemDesc from the string at offset 0x7C, then opens a window of type 0xC (item info) via CGameObject__create_window_by_type, passing the item description data through vtable+0x94. 0x0083B630 40 CScrollControl__ForwardDoubleClick ui_framework Forwards double-click event to child widget at offset 0x10. Calls vtable+0x80. 0x0083B660 40 CScrollControl__ForwardRightDblClick ui_framework Forwards right double-click event to child widget at offset 0x10. Calls vtable+0x84. 0x0083B690 23 UIControl__invoke_parent_redraw ui_framework Calls parent virtual method at offset 0x8c if parent pointer at +0x10 is non-null 0x0083B6B0 314 CScrollControl__ProcessClickTarget ui_framework Processes a click target from the hyperlink vector. Extracts the first entry as text and second entry as item ID (via atoi). Creates a CItemDesc, then opens an item info window (type 0xC) via CGameObject__create_window_by_type to display the clicked item's details. 0x0083B7F0 754 CScrollControl__OnMessage ui_framework Handles navigation messages for the scroll control. Parses vector entries to extract coordinates and map data. For most cases, delegates to CNavigator__process_navigation_request. Special case for value -0xDE (map navigation) sets a navigation target with optional prefix string based on type 3. 0x0083BAF0 94 lua_callback_navigate_to_npc lua Lua callback that navigates to an NPC. Reads NPC ID string from vector element 0, converts to int with atoi, then calls navigation function (type 6) via FUN_00d678e0. 0x0083BB50 101 lua_callback_show_item_info lua Lua callback that shows item info. Reads item ID string from vector element 0, converts to int with atoi, then opens item info window (0x13B) via UIWindow__handle_event. 0x0083BBC0 186 lua_callback_open_url lua Lua callback that opens a URL in the default browser. Reads URL string from vector, calls ShellExecuteA with "open" action and SW_SHOW. 0x0083BC80 253 UIChat__parse_embedded_color_code game_core Parses ^RRGGBB color code from string; converts hex to RGB with byte-swap, stores at +0x20/+0x24 0x0083BD80 617 CScrollControl__ParseFormatTag ui_framework Parses embedded format tags using regex patterns. First tries matching emoticon tags like <e=(\d{1,3})...>, then tries item link tags like <e=(\d{1,3})\s+(\d{1,3})...>. On match, creates a hyperlink entry (type 0x236) and advances the parse position past the tag. 0x0083BFF0 982 CScrollControl__ParseAndBuildContent ui_framework Parses HTML-like formatting tags from the content string. Handles <FONT...> (pushes font attributes), </FONT> (pops font), <B>/</B> (bold toggle via offset 0x10), <I>/</I> (italic toggle via offset 0x14). Returns updated parse position after the closing '>'. 0x0083C3D0 706 CScrollControl__MatchAndDispatchCommand ui_framework Matches the current text substring against up to 8 predefined command strings. Tries each command in sequence; on the first match, calls CScrollControl__ProcessCommand to handle the embedded command. Returns the updated parse position or unchanged if no command matched. 0x0083C6A0 489 CScrollControl__ParseItemImageTag ui_framework Parses inline item image tags matching regex <i=(\d{1,7})...>. On match, creates a hyperlink entry (type 0x241) for the item image and appends the matched text content. Advances the parse position past the tag. Returns updated position. 0x0083C890 1294 CScrollControl__ParseItemIdEmbed ui_framework Parses embedded item ID references in the format '_nItemID_' followed by hex digit characters. Extracts the item ID via atoi, looks up the item name via CItemDesc, formats it as a clickable hyperlink entry (type 600). Advances parse position past the item ID string. Returns updated position. 0x0083CDA0 572 CScrollControl__ProcessCharacter ui_framework Processes a single character during content parsing. Handles special characters: newline ('\n') adds a hyperlink break, tab ('\t') triggers special handling. For regular text, if dirty flag is set at offset 0x48, creates a hyperlink entry first, then appends the character text. Returns updated parse position. 0x0083CFE0 174 get_next_char_multibyte game_core Gets the next multibyte character from a string using CharNextExA with the current code page (DAT_016d3a78). Returns a new std::string containing just that character, or empty if at end. 0x0083D090 341 CScrollControl__ParseContentAtOffset ui_framework Main content parser dispatcher. First checks for '^RRGGBB' color codes. Then tries each parser in priority order: ParseItemIdEmbed, ParseFormatTag, ParseItemImageTag, MatchAndDispatchCommand, ParseAndBuildContent. Returns the first parser's position that advances past the current offset, or the original position if none match. 0x0083D1F0 357 CScrollControl__LayoutAndPositionElements ui_framework Lays out all content elements by iterating through line entries at offset 0x70. For each line, finds the tallest element, then positions elements according to alignment: 0=left, 1=right (reverse order), 2=center. Accumulates total content height into offset 0x7C (negative if empty). Uses line spacing from offset 0xC. 0x0083D360 763 CScrollControl__ParseHyperlinkMarkup ui_framework Parses hyperlink markup from text content. Searches for start/end delimiters to extract link text and link target URL/data. Creates a CItemLink entry with the extracted text and target. If delimiters are not found or data is empty, creates an empty link entry. Returns the result structure with two strings and a link flag. 0x0083D660 993 CScrollControl__SetContent ui_framework Sets the content of a scroll control by splitting the input text into segments using a delimiter string. Creates a vector of string segments where each segment is a portion between delimiters. Handles the trailing segment after the last delimiter. Returns a 3-element structure (begin, end, capacity pointers) for the resulting vector. 0x0083DA50 229 CScrollControl__SetTextAndStyle ui_framework Sets the text content and style for a scroll control. Copies the string, updates font/color/alignment properties at offsets 0x1F-0x25. If auto-size flag is set, measures text width and resizes the control. 0x0083DB40 93 CTextLayout__position_elements_centered game_core Positions text elements with center alignment. Calculates total width of all elements, then centers them by starting at (containerWidth - totalWidth) / 2. Calls each element's virtual SetPosition (vtable+0x10) with computed x,y coordinates. 0x0083DBA0 72 CTextLayout__position_elements_left game_core Positions text elements with left alignment. Places elements sequentially from x=0, incrementing x by each element's width (offset 0x14). Calls each element's virtual SetPosition. 0x0083DBF0 59 CTextLayout__position_elements_right game_core Positions text elements with right alignment. Iterates elements in reverse order, starting from containerWidth and decrementing by each element's width. Calls each element's virtual SetPosition. 0x0083DC30 92 std__vector_12byte__destroy_range stl Destroys a range of 12-byte elements. Iterates from param_1 to param_2 in steps of 0xC, calling stub_005feb20 on each element. 0x0083DC90 92 std__vector_48byte__destroy_range_alt stl Destroys a range of 48-byte elements (alternate version). Iterates in steps of 0x30, calling STL_string_dtor on each element's embedded string. 0x0083DCF0 44 copy_8byte_elements_range game_core Copy 8byte elements range 0x0083DD20 45 relocate_8byte_elements_range game_core Relocates a range of 8-byte elements using offset-based addressing. Copies each pair of DWORDs from source [param_1, param_2) to destination at (source_addr + param_3 - param_1). 0x0083DD50 10 STL_vector_xlength_error_0083dd50 stl Throws std::length_error for vector too long 0x0083DD60 10 STL_vector_xlength_error_0083dd60 stl Throws std::length_error for vector too long 0x0083DD70 10 STL_vector_xlength_error_0083dd70 stl Throws std::length_error for vector too long 0x0083DD80 10 STL_vector_xlength_error_0083dd80 stl Throws std::length_error for vector too long 0x0083DD90 92 STL_vector_4byte_allocate stl Allocates aligned memory for vector of 4-byte elements; handles large allocation alignment 0x0083DDF0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0083DE30 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0083DE70 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0083DEB0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0083DEF0 101 safe_strtol_from_string game_core Safe wrapper around strtol for std::string input. Clears errno, calls strtol with the specified base, validates the result. Throws std::invalid_argument if no digits parsed, std::out_of_range if ERANGE. Optionally returns the number of characters consumed via param_2. 0x0083DF60 103 rbtree__destroy_subtree_recursive game_core Recursively destroys all nodes in a red-black tree subtree. Traverses left children, recursively destroys right subtrees, then frees each 0x1C-byte node. Stops when reaching a sentinel node (flag at offset 0xD is non-zero). 0x0083DFD0 309 std__vector_12byte__copy_ctor stl Copy constructor for std::vector of 12-byte elements. Allocates buffer, then copy-constructs each element via stub_005fbf00. Handles aligned allocation for large buffers. 0x0083E110 155 CRBTreeMap__base_ctor game_core Base constructor for CRBTreeMap. Sets vtable to PTR_FUN_01130508, initializes counters to 0, allocates a 0x1C-byte sentinel node (self-referencing with flag 0x0101 at offset 0xC). 0x0083E1B0 325 CListBox__ctor game_core Constructor for CListBox UI widget. Extends CRBTreeMap with list box properties: default color 0xFFFFFF, column count 6, row count 3, font size 12, alignment settings, and scroll parameters. Sets vtable to PTR_FUN_011305e0. 0x0083E300 67 rbtree__free_sentinel_node game_core Frees the sentinel node of a red-black tree. If the node pointer at offset+4 is non-null, frees the 0x1C-byte allocation. 0x0083E350 111 rbtree__clear_all_nodes game_core Clears all nodes from a red-black tree. Iterates through nodes starting from the first child of the root, recursively destroys subtrees, frees each node, then frees the sentinel node. 0x0083E3D0 78 rbtree__free_sentinel_wrapper_a game_core Wrapper to free the sentinel node of a red-black tree. Frees the 0x1C-byte sentinel allocation at offset+4 if non-null. Used in destructor context A. 0x0083E420 78 rbtree__free_sentinel_wrapper_b game_core Wrapper to free the sentinel node of a red-black tree (variant B). Same as wrapper_a but used in different destructor contexts. 0x0083E470 65 rbtree__clear_nodes_wrapper game_core Wrapper that calls rbtree__clear_all_nodes to clear and free all tree nodes. 0x0083E4C0 104 CRBTreeMap__dtor game_core Destructor for CRBTreeMap. Sets vtable to PTR_FUN_01130508, clears all tree nodes, then calls base destructor FUN_00a79e90. 0x0083E530 135 CListBox__dtor game_core Destructor for CListBox. Sets vtable to PTR_FUN_011305e0, clears list data, resets to base vtable PTR_FUN_01130508, clears tree nodes, then calls base destructor. 0x0083E5C0 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x0083E620 128 CRBTreeMap__scalar_deleting_dtor game_core Scalar deleting destructor for CRBTreeMap (0x8C bytes). Clears tree nodes and calls base destructor. Frees memory if flag bit 0 set. 0x0083E6A0 159 CListBox__scalar_deleting_dtor game_core Scalar deleting destructor for CListBox (0xCC bytes). Calls full CListBox destructor chain, then frees memory if flag bit 0 set. 0x0083E740 295 CListBox__insert_or_update_entry game_core Inserts or updates an entry in the CListBox red-black tree. Searches tree for matching key (param_2). If not found, allocates a new 0x1C-byte node and inserts it. Updates the node's float position values from offsets 0x1C and 0x20 of the source data. 0x0083E870 1137 CListBox__add_text_entry game_core Adds a text entry to CListBox. Stores the string in the entry vector (offset 0xC0), creates a CTextLayout for text measurement and line breaking, positions child text elements with alignment and scroll offset, adds them to the child list and rbtree, then updates scroll layout. Handles vertical alignment modes (center=4, bottom=5). 0x0083ECF0 228 CListBox__clear_all_entries game_core Clears all entries from the CListBox. Iterates all tree nodes calling FUN_00a82e50 to hide each entry, then destroys the tree. Resets scroll position, clears hyperlink strings, and calls FUN_0083f030 to update layout. 0x0083EDE0 86 CListBox__calc_total_content_height game_core Calculates the total content height of the CListBox. Iterates all tree entries, tracking the maximum of (entry height + y offset). Returns the largest bottom edge value. 0x0083EE40 161 CListBox__create_scrollbar game_core Creates a scrollbar sprite widget for the CListBox. Allocates a UISpriteWidget (0xB4 bytes), positions it at (param_2-13, 0), registers with parent, hides it initially, then calls FUN_0083f030 to update layout. 0x0083EEF0 44 CListBox__apply_background_color game_core Applies the CListBox background color. Reads the color from offset 0x8C and notifies the parent. If the color equals 0xFF00FF (magenta = transparent), triggers a parent refresh via vtable+0x98. 0x0083EF50 49 CListBox__notify_scroll_direction game_core Sends scroll direction message for the CListBox. If param_2 < 0, sends message 10 (scroll up); otherwise sends message 9 (scroll down). Uses the parent window's msg handler at vtable+0x94. 0x0083EF90 147 CListBox__resize_to_fit_content game_core Resizes the CListBox to fit its content. Calculates required height from entry positions plus padding. Clamps to minimum param_2. If height changed, calls virtual SetSize and updates layout. Returns 1 if resized, 0 if no change needed. 0x0083F030 270 CListBox__update_scroll_layout game_core Updates the CListBox scroll layout. Calculates total content height from all entries, shows/hides scrollbar based on overflow, clamps scroll position, updates scrollbar range, and repositions all entries based on current scroll offset. Triggers parent refresh. 0x0083F140 114 CListBox__on_resize game_core Handles CListBox resize. Updates scroll offset based on new position, moves the scrollbar, repositions it, and sends a refresh message (0x3C) to the parent. 0x0083F1C0 64 CRBTreeMap__on_message game_core Message handler for CRBTreeMap. Handles scroll messages (7=delta, 9=up by 10, 10=down by 10) by adjusting scroll position and updating layout. Messages 0x12/0x13 forward scroll direction to parent. Falls through to base handler FUN_00a83660. 0x0083F280 150 CListBox__on_message game_core Extended message handler for CListBox. Adds handling for: msg 0x1D (set text content), msg 0x3C (refresh layout via FUN_0083f5e0), msg 0x62 (hyperlink click dispatch: 0x1B5=URL, 0x1B6=scroll, 0x1D0=click target, 0x205=item info, 0x21B=NPC navigation). Scroll uses 30-pixel steps instead of 10. 0x0083F590 41 CListBox__set_alignment_mode game_core Sets alignment mode for CListBox text. Values 0-2 set horizontal alignment at offset 0xB4 (0=left, 1=right, 2=center). Values 3-5 set vertical alignment at offset 0xB5. 0x0083F5E0 1562 CListBox__rebuild_layout game_core Rebuilds the CListBox layout from stored text entries. Concatenates adjacent text strings with separator, creates a new CTextLayout, positions child elements with alignment offsets (left/right/center vertical modes 3-5), adds them to the child list and rbtree, then updates scroll layout. Called on msg 0x3C (refresh). 0x0083FC00 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0083FE10 129 rbtree__lower_bound_by_string game_core Finds the lower bound in a red-black tree by string comparison. Traverses the tree comparing node keys (std::string at offset 16) with param_3. Returns iterator struct with node pointer, comparison result, and parent. 0x0083FEA0 355 CReportManager__copy_linked_list ui_windows Copies a circular doubly-linked list of 0x50-byte report records. Iterates the source list, allocating new 0x50-byte nodes and calling CReportManager__copy_report_record to duplicate each record's data. Links nodes into a new circular list with a sentinel node. Returns the new list head and count via param_1. 0x00840010 234 rbtree__copy_construct game_core Copy-constructs a red-black tree. Allocates a 0x18-byte sentinel node (self-referencing with flag 0x0101 at offset 0xC), then deep-copies the tree structure from the source via CEnchantRBTree__deep_copy_recursive. Sets up min/max node pointers by traversing leftmost and rightmost paths. Copies the node count from the source. 0x00840100 84 CNavigationWnd__ctor_a game_core Constructor variant A for CNavigationWnd. Calls FUN_0096e7b0 for base initialization, sets vtable to PTR_FUN_01130870. 0x00840160 84 CNavigationWnd__ctor_b game_core Constructor variant B for CNavigationWnd. Calls FUN_0096e9d0 for base initialization, sets vtable to PTR_FUN_011306bc. 0x008401C0 84 CReportWnd__ctor_dialog ui_windows Dialog-based constructor for CReportWnd variant C. Calls CDialogWnd__full_ctor for base initialization, sets vtable to PTR_CReportWnd__scalar_dtor_c. 0x00840220 112 CLinkedList__clear_all_nodes game_core Clears all nodes from a linked list. Traverses the list freeing each 0x50-byte node, calling FUN_00ae7510 for cleanup before deallocation. Nulls out head and tail pointers. 0x008402A0 65 CReportWnd__string_dtor_wrapper ui_windows Wrapper that calls STL_string_dtor. Used as a CReportWnd destructor helper for string field cleanup. 0x008402F0 71 CReportWnd__dtor_a ui_windows Destructor for CReportWnd variant A (0x104 bytes). Sets vtable and calls UIItemListWnd_vt59a0__dtor for base cleanup. 0x00840340 71 CReportWnd__dtor_b ui_windows Destructor for CReportWnd variant B (0x110 bytes). Sets vtable and calls UIItemListWnd_vt57f0__dtor for base cleanup. 0x00840390 71 CReportWnd__dtor_c ui_windows Destructor for CReportWnd variant C (0x120 bytes). Sets vtable and calls UIDialogBoxBase__destructor for base cleanup. 0x008403E0 99 CReportWnd__scalar_dtor_a ui_windows Scalar deleting destructor for CReportWnd variant A. Frees 0x104 bytes if flag bit 0 set. 0x00840450 99 CReportWnd__scalar_dtor_b ui_windows Scalar deleting destructor for CReportWnd variant B. Frees 0x110 bytes if flag bit 0 set. 0x008404C0 99 CReportWnd__scalar_dtor_c ui_windows Scalar deleting destructor for CReportWnd variant C. Frees 0x120 bytes if flag bit 0 set. 0x00840530 1529 CReportWnd__validate_collection_submission ui_windows Validates collection report submission. Counts unique inventory/equip cards, checks weapon types and wedding states, enforces item count limits (DAT_0173a5f4+100 total, 30000 per item). Shows error messages via CMessageStringTable on validation failure. 0x00840B30 208 CReportWnd__handle_item_use_request ui_windows Handles item use request for the report window. Checks if shop window 0x271b is open, validates item type (weapon/wedding), routes to appropriate handler or opens item detail window (type 0xf). 0x00840C00 180 CReportWnd__handle_item_event ui_windows Handles item events for the report window. Routes based on param_4 value: 4 with sub-param 1 triggers report action, otherwise opens item window type 0xf with message 0x17. 0x00840CC0 497 CReportWnd__get_item_at_grid_pos_pending ui_windows Returns the item data at a given grid position in the pending items list. Bounds-checks coordinates against the grid area, iterates through the pending list to find the item at the calculated row/column, and copies it to the output parameter. 0x00840EC0 289 CReportWnd__get_item_index_at_grid_pos_pending ui_windows Returns the linear index of a pending item at the given grid coordinates. Bounds-checks, calculates column from x and row from y, iterates the pending list to find the matching index. Returns -1 if out of bounds or no item at position. 0x00840FF0 804 CReportWnd__get_item_at_grid_pos_completed ui_windows Returns item data at grid position from the completed items list. Similar to get_item_at_grid_pos_pending but uses the completed list. Also handles second column by converting item ID to string for display. 0x00841320 804 CReportWnd__get_item_at_grid_pos_pending_b ui_windows Variant B of get_item_at_grid_pos_pending. Uses the pending list (CReportStorage__get_pending_list_ptr). Same grid bounds checking and iteration logic, with the extra column-1 string conversion path. 0x00841650 497 CReportWnd__get_item_at_grid_pos_completed_b ui_windows Variant B of get_item_at_grid_pos_completed. Uses the completed list (CReportStorage__get_completed_list_ptr). Same grid bounds checking and item lookup logic as the pending variant. 0x00841850 21 CReportWnd__check_item_count_sufficient ui_windows Checks if existing item count for a given item ID is >= param_2. Calls find_item_count_by_id internally. 0x00841870 62 CReportWnd__hit_test_item_grid_a ui_windows Hit tests the item grid area. Returns true if coordinates (param_2, param_3) fall within the grid bounds (x: 0x28 to width-0x14, y: 0x11 to rows*0x20+0x11). 0x008418B0 62 CReportWnd__hit_test_item_grid_b ui_windows Hit tests the item grid area (variant B). Returns true if coordinates fall within grid bounds. Identical logic to hit_test_item_grid_a. 0x008418F0 21 CReportWnd__check_sum_exceeds_30000 ui_windows Returns true if param_1 + param_2 exceeds 30000 (the per-item stack limit for reports). 0x00841910 245 CReportWnd__find_item_count_by_id ui_windows Searches the item list by iterating through linked list entries, converting each name string to int via atoi and comparing against param_1. Returns the matching item's count field, or 0 if not found. 0x00841A10 2906 CReportWnd__init_buttons_and_scrollbar ui_windows Initializes buttons and scrollbar for the report window. Creates UITextLabelWidget (checkbox), UISpriteWidget (scrollbar), two CDialogWnd sub-windows for tabs (btn_cancel texture variants), and positions everything. Sets initial page/scroll state and dispatches message 0x17. 0x00842570 362 CReportWnd__init_ui_widgets ui_windows Initializes UI widgets for the report window. Creates a UITextLabelWidget (checkbox with texture) and UISpriteWidget (scrollbar), positions them relative to window size, and calculates grid row count. 0x008426E0 1286 CReportWnd__draw_completed_item_grid ui_windows Draws the completed items grid. Renders borders, background tiles, and iterates through the completed report list drawing item sprites, names with tooltips, quantities, and price calculations. Highlights the selected item row. 0x00842BF0 1436 CReportWnd__draw_pending_item_grid ui_windows Draws the pending items grid. Similar to draw_completed_item_grid but uses pending list. Renders borders, tiles, item sprites (with or without count based on item type flag at offset 0x10), names, quantities, and prices. 0x00843190 209 CReportWnd__on_mouse_move_completed ui_windows Mouse move handler for the completed items tab. Updates hover state via hit test, shows item tooltip on hover using CGameMode__setup_item_use_display with type 4. 0x00843270 427 CReportWnd__on_mouse_move_pending ui_windows Mouse move handler for the pending items tab. Updates hover index via item grid hit test, shows item tooltip on hover using CGameMode__setup_item_use_display with type 0x1f. 0x00843420 648 CReportWnd__show_completed_item_tooltip ui_windows Shows tooltip for a completed item on hover. Looks up item info, formats price string via CMessageStringTable 0xde1, and displays tooltip via CToolTipMgr. 0x008436B0 603 CReportWnd__show_pending_item_tooltip ui_windows Shows tooltip for a pending item on hover. Looks up item info, formats price string via CMessageStringTable 0xde1, and displays tooltip via CToolTipMgr. 0x00843910 1223 CReportWnd__show_report_summary_tooltip ui_windows Builds a summary tooltip from the report tree. Iterates up to 30 entries, formats each with item name and price (msg 0xde1), joins with newlines, and shows via CToolTipMgr. 0x00843DE0 209 CReportWnd__on_dblclick_completed_item ui_windows Double-click handler for completed items tab. Gets clicked item via get_item_at_grid_pos_completed, opens detail window (type 0xc) with the item data. 0x00843EC0 209 CReportWnd__on_dblclick_pending_item ui_windows Double-click handler for pending items tab. Gets clicked item via get_item_at_grid_pos_pending_b, opens detail window (type 0xc) with the item data. 0x00843FA0 138 CReportWnd__on_message_completed ui_windows Message handler for the completed items report tab. Switch on param_3: 0x06=submit/cancel report, 0x0e=resize window (align to 32px grid, min 0xe8x0x78), 0x17=scroll event (rebuild item list), 0x22=restore position, 0x26=add item to report (validates weapon/wedding type, checks 30000 limit, calculates zeny cost). 0x008446D0 138 CReportWnd__on_message_pending ui_windows Message handler for the pending items report tab. Switch on param_3: 0x0e=resize window (align to 32px grid), 0x17=scroll event (rebuild pending list), 0x22=restore position, 0x26=remove item from report (transfers completed entry back to pending). Default delegates to CUISkillWindow__handle_message. 0x00844A90 170 CReportWnd__linked_list_delete_range ui_windows Deletes a range of linked list nodes between param_3 and param_4. Iterates from param_3, destroys each 0x100-byte node (dtor + free), decrements the list count. Updates link pointers to splice out the range. 0x00844B40 154 CReportWnd__vector_copy_16byte_structs ui_windows Vector copy constructor for 16-byte structs. Allocates destination vector, copies elements in 16-byte chunks from source vector (param_2) to output (param_1). 0x00844BE0 188 CShopCategoryNode__ctor ui_shop Constructor for CShopCategoryNode. Calls UIWindowBase__ctor, sets vtable to PTR_CShopCategoryNode__scalar_dtor_01130bac, allocates a 0x54-byte self-referencing linked list head, and zeros out fields 0x2d-0x34. 0x00844CA0 84 CShopCategoryList__ctor ui_shop Constructor for CShopCategoryList. Calls CDialogWnd__full_ctor for base initialization, sets vtable to PTR_CShopCategoryList__scalar_dtor_01130ad0. 0x00844D00 188 CShopCategoryNode__ctor_alt ui_shop Alternate constructor for CShopCategoryNode. Calls UIWindowBase__ctor, sets vtable to PTR_CShopCategoryNode__scalar_dtor_alt_011309f8, allocates 0x54-byte linked list head, zeros fields 0x2d-0x34. 0x00844DC0 67 CShopCategoryNode__free_linked_list_head ui_shop Frees the 0x54-byte linked list head allocation at field offset +4, if non-null. 0x00844E10 104 CShopCategoryNode__destroy_and_free_linked_list_head ui_shop Destroys (via TownWarpInfo__dtor) and frees the 0x54-byte linked list head allocation at field offset +4, if non-null. 0x00844E90 121 linked_list_destroy_all_nodes stl Walks linked list from head, destroys each node (size 0x54) and frees memory 0x00844F10 95 CShopCategoryNode__dtor ui_shop Destructor for CShopCategoryNode. Sets vtable to PTR_CShopCategoryNode__scalar_dtor_01130bac, destroys all linked list nodes, then calls UIWindowBase__dtor. 0x00844F70 71 CShopCategoryList__dtor ui_shop Destructor for CShopCategoryList. Sets vtable to PTR_CShopCategoryList__scalar_dtor_01130ad0, then calls UIDialogBoxBase__destructor for base cleanup. 0x00844FC0 95 CShopCategoryNode__dtor_base ui_shop Base destructor for CShopCategoryNode; sets vtable, destroys linked list nodes, calls heap cleanup 0x00845020 129 CShopCategory__copy_assign ui_shop Copy assignment for CShopCategory; copies scalar fields, string, and sub-item vector 0x008450B0 119 CShopCategoryNode__scalar_dtor ui_shop Scalar deleting destructor for CShopCategoryNode; destroys then optionally frees 0xDC bytes 0x00845130 99 CShopCategoryList__scalar_dtor ui_shop Scalar deleting destructor for CShopCategoryList; destroys strings then optionally frees 0x120 bytes 0x008451A0 119 CShopCategoryNode__scalar_dtor_alt ui_shop Scalar deleting destructor for CShopCategoryNode variant; destroys linked list, optionally frees 0xD4 bytes 0x00845220 1820 CShopUI__validate_purchase_and_submit ui_shop Validates cash shop cart: checks weight limit (30000), validates items, builds summary tree, submits purchase 0x00845940 164 CShopUI__on_purchase_response ui_shop Handles purchase response packet (type 0x1F); validates item availability, routes to confirm or error 0x008459F0 124 CShopUI__on_purchase_result ui_shop Handles purchase result packet (type 0x20); success routes to confirm, failure shows error dialog 0x00845A70 325 CShopUI__draw_grid_background_A ui_shop Draws shop grid background with tab column separators and selection highlight for variant A 0x00845BC0 312 CShopUI__draw_grid_background_B ui_shop Draws shop grid background with tab column separators for variant B (no FUN_008d0920 pre-call) 0x00845D00 95 CShopUI__clear_item_slot_row_A ui_shop Clears a row of item slots in the shop grid at the given row offset (variant A) 0x00845D60 95 CShopUI__clear_item_slot_row_B ui_shop Clears a row of item slots in the shop grid at the given row offset (variant B) 0x00845DC0 95 CShopUI__draw_selected_row_highlight_A ui_shop Draws selection highlight rectangle on the currently selected category row (variant A) 0x00845E20 95 CShopUI__draw_selected_row_highlight_B ui_shop Draws selection highlight rectangle on the currently selected category row (variant B) 0x00845E80 111 CShopUI__get_category_index_at_pos_A ui_shop Returns linked list index of shop category at given x,y pixel position; -1 if out of bounds (variant A) 0x00845EF0 111 CShopUI__get_category_index_at_pos_B ui_shop Returns linked list index of shop category at given x,y pixel position; -1 if out of bounds (variant B) 0x00845F60 418 CShopUI__get_item_at_pos_A ui_shop Gets shop item info at x,y position in grid; outputs found flag and category data copy (variant A) 0x00846110 422 CShopUI__get_item_at_pos_B ui_shop Gets shop item info at x,y position in grid; outputs found flag and category data copy (variant B) 0x008462C0 708 CShopUI__get_item_detail_at_pos_A ui_shop Gets detailed item info at x,y including sub-items; uses itoa for item ID, returns category copy (variant A) 0x00846590 773 CShopUI__get_item_detail_at_pos_B ui_shop Gets detailed item info at x,y including sub-items; uses itoa for item ID, returns category copy (variant B) 0x008468A0 62 CShopUI__is_pos_in_grid_area_A ui_shop Returns true if x,y coords are within the shop item grid bounds (variant A) 0x008468E0 62 CShopUI__is_pos_in_grid_area_B ui_shop Returns true if x,y coords are within the shop item grid bounds (variant B) 0x00846920 21 CShopUI__check_weight_exceeds_limit ui_shop Returns true if combined weight exceeds 30000 limit 0x00846940 1128 CShopUI__build_item_price_tooltip ui_shop Builds tooltip string with item count and formatted price using msgstringtable entry 0xDE1 0x00846DB0 245 CShopUI__find_item_in_cart_by_id ui_shop Searches completed cart entries by item ID via atoi; returns 1 if found, 0 if not 0x00846EB0 254 CShopUI__find_item_with_min_qty ui_shop Searches cart for item by ID with minimum quantity check; returns 1 if found with sufficient qty 0x00846FB0 734 CInfoWnd__init_child_widgets game_core Initializes CInfoWnd child widgets: creates UITextLabel (0xB0 bytes, field 0x2f) with close checkbox texture, UISpriteWidget scrollbar (0xB4 bytes, field 0x30), and two CShopCategoryList button widgets (fields 0x35, 0x36) with texture paths. Calculates visible rows from height and triggers refresh message 0x17. 0x00847290 340 CInfoWnd__init_child_widgets_simple game_core Simplified CInfoWnd child widget init: creates UITextLabel (field 0x2f) with close checkbox and UISpriteWidget scrollbar (field 0x30). No category list buttons (unlike full init). Calculates visible rows and sends refresh message 0x17. 0x008473F0 1708 CInfoWnd__build_info_page game_core Renders the CInfoWnd buy-tab item page. Draws grid background with tiled borders, iterates visible categories from the linked list, renders item sprites with names/prices, shows selection highlight on selected row, draws sub-item slots with quantity labels, and right-aligns total price per category. Uses msgstringtable entry 0xE69 for the header title. 0x00847AA0 1850 CInfoWnd__layout_info_content game_core Renders the CInfoWnd sell-tab item page. Similar to build_info_page but uses msgstringtable entry 0xBA for header, handles three item rendering modes based on piVar8[0xe] flag and piVar8[3]: (1) weapon/special items drawn as plain sprites, (2) stackable items with count=0 drawn via UIWidget__draw_item_with_count, (3) normal items drawn via UIWindow__draw_item_sprite_with_count. Sub-item prices are per-unit (no multiplication by quantity). 0x008481E0 311 CShopUI__on_mouse_move ui_shop CShopUI mouse move handler. Checks if cursor is over item grid area (x>0x27, y>0x10). Calculates item row from Y position using 0x40 pixel rows. Updates hovered item index (field 0x33), refreshes if changed. Also does tooltip lookup via CShopUI__get_item_at_pos. 0x00848320 374 CShopUI__on_mouse_click ui_shop Mouse click handler for CShopUI sell tab. Calculates clicked row index from Y position (64px rows), updates selection (field 0x33). If item found at click position: checks if item has stock (field iStack_5c), shows error message 0xDE5 if no stock, otherwise dispatches item display message 0x1F to game mode. 0x008484A0 750 CShopUI__show_buy_item_tooltip ui_shop Handles hover tooltip for CShopUI buy tab items. Gets item at position, builds tooltip string with item name, quantity count, and formatted price using msgstringtable 0xDE1. Shows tooltip via CToolTipMgr with item color code. Caps display at 30 (0x1E) items with ellipsis. 0x00848790 998 CShopUI__show_cart_summary_tooltip ui_shop Builds and shows detailed item tooltip for CShopUI cart summary. Iterates cart items, looks up item info, builds multi-line tooltip with names and price info via build_item_price_tooltip. Also appends total weight/zeny from DAT_01389898. Shows tooltip at accumulated screen position. Caps at 30 items. 0x00848B80 746 CShopUI__show_sell_item_tooltip ui_shop Handles hover tooltip for CShopUI sell tab items. Gets item at position via get_item_at_pos_B, builds tooltip with item names, quantities, and per-unit prices using msgstringtable 0xDE1. Shows via CToolTipMgr with color code. 0x00848E70 209 CShopUI__on_right_click_show_item_detail_A ui_shop Handles right-click on shop item (variant A). Gets detailed item info via CShopUI__get_item_detail_at_pos_A, then opens item info window (type 0xC) and sends message 0x18 with item data to display the item detail panel. 0x00848F50 209 CShopUI__on_right_click_show_item_detail_B ui_shop Handles right-click on shop item (variant B). Gets detailed item info via CShopUI__get_item_detail_at_pos_B (alternate grid layout), then opens item info window (type 0xC) and sends message 0x18 with item data. 0x00849030 69 CShopUI__on_mouse_wheel ui_shop Mouse wheel handler for CShopUI. When scroll is enabled (field 0x34), calculates scroll step (capped at 3 rows) and sends scroll message (vtable 0x94, msg 7) to the scrollbar widget at field 0x30. 0x00849080 69 CShopUI__on_mouse_wheel_alt ui_shop Alternate mouse wheel handler for CShopUI. Identical logic to on_mouse_wheel: calculates scroll step capped at 3 rows and sends scroll message to scrollbar at field 0x30. 0x008490D0 159 CShopUI__on_scroll_drag ui_shop Updates scroll state for CShopUI variant A. If scroll widget (field 0xC0) exists, calculates scrollable range (total items - visible rows), configures scrollbar range/position, clamps scroll offset (field 0xC4), and triggers redraw. 0x00849170 159 CShopUI__on_scroll_drag_alt ui_shop Updates scroll state for CShopUI variant B. Same logic as on_scroll_drag: calculates scrollable range, configures scrollbar, clamps offset, triggers redraw. 0x00849210 137 CShopUI__OnMessage_buy_tab ui_shop Message handler for the CShopUI buy tab. Handles: case 6 (purchase confirm/cancel buttons 0xB8/0xB9), case 7/9/10 (scroll up/down/drag), case 0xe (window resize with 64-pixel row snapping), case 0x17 (refresh item list from CShopManager completed cart), case 0x26 (validate purchase: checks stock, zeny, weight, duplicates). Falls through to UIWindow__handle_button_click for unhandled messages. 0x00849B30 131 CShopUI__OnMessage_sell_tab ui_shop Message handler for the CShopUI sell tab. Handles: case 7/9/10 (scroll position updates), case 0xe (window resize with dual-axis snapping), case 0x17 (rebuild item list from cart data into linked list), case 0x26 (confirm sell: finds completed entry by ID, dispatches to sell confirmation window 0x156). Falls through to UIWindow__handle_button_click for unhandled messages. 0x00849EF0 134 CShopUI__vector_allocate_16byte_elements ui_shop Allocates a vector buffer for param_2 elements of 16 bytes each. Handles aligned allocation for buffers >= 0x1000 bytes. 0x00849F80 172 CShopUI__vector_destroy_0x4c_elements ui_shop Destroys all elements in a vector of 0x4c-byte CShopCategory structs by calling TownWarpInfo__dtor on each, then frees the buffer. 0x0084A040 170 CShopUI__list_push_back_category ui_shop Appends a new CShopCategory node (0x54 bytes) to the end of the linked list. Copy-constructs from param_2 data. Throws list_too_long if at max capacity. 0x0084A0F0 103 CShopUI__rbtree_destroy_nodes_recursive ui_shop Recursively destroys red-black tree nodes. For each node: recurse into left child (field 0x8), free the node (0x18 bytes), then continue to right child (field 0x0). 0x0084A160 75 CShopUI__rbtree_lower_bound ui_shop Red-black tree lower_bound search. Walks the tree comparing key at offset +0x10 against *param_3, returning the first node with key >= target value. 0x0084A1B0 36 std__list_find_by_key stl Linear search through a linked list from param_2 to param_3, looking for a node where field +8 matches *param_4. Stores the found node (or end sentinel) in *param_1. 0x0084A1E0 84 CShopUI__ctor_quantity_dialog ui_shop Constructor for CShopUI quantity dialog variant. Calls CDialogWnd__full_ctor then sets vtable to CShopUI__update_item_quantity vtable. 0x0084A240 263 CShopUI__ctor ui_shop Full CShopUI constructor. Initializes UIWindowBase, creates two linked lists (0x18-byte sentinel nodes at fields 0x2d and 0x2f), one 0x0c sentinel (field 0x31), and zeroes fields 0x33-0x35. Sets vtable to CShopUI__update_item_quantity_alt. 0x0084A350 67 CShopUI__free_sentinel_node ui_shop Frees a 0x18-byte sentinel/header node at field +4 if non-null. Used during CShopUI destruction. 0x0084A3A0 111 CShopUI__rbtree_destroy_all ui_shop Fully destroys a red-black tree. Recursively destroys all child nodes via rbtree_destroy_nodes_recursive, then frees the sentinel/root node (0x18 bytes). 0x0084A420 78 CShopUI__free_sentinel_node_A ui_shop Frees a 0x18-byte sentinel/header node at field +4 if non-null. Variant A of CShopUI sentinel cleanup. 0x0084A470 78 CShopUI__free_sentinel_node_B ui_shop Frees a 0x18-byte sentinel/header node at field +4 if non-null. Variant B of CShopUI sentinel cleanup. 0x0084A4C0 65 CShopUI__dtor_base ui_shop CShopUI destructor (base level). Calls get_item_at_index with -1 to reset selection before cleanup. 0x0084A510 71 CShopUI__dtor_dialog ui_shop CShopUI destructor for dialog variant. Sets vtable to CShopUI, then calls UIDialogBoxBase destructor. 0x0084A560 190 CShopUI__dtor_full ui_shop CShopUI full destructor. Frees linked list at offset 0x31, calls base destructors for get_item_at_index and UIWindowBase. 0x0084A620 223 CShopUI__tree_insert_item ui_shop Inserts a key-value pair into the CShopUI's red-black tree (std::map). Allocates a 0x18-byte tree node containing the key and a null value pointer. Returns pointer to value field. 0x0084A700 99 CShopUI__scalar_deleting_dtor_dialog ui_shop CShopUI scalar deleting destructor (dialog variant). Sets vtable, calls UIDialogBoxBase dtor, optionally frees 0x120 bytes. 0x0084A770 214 CShopUI__scalar_deleting_dtor_full ui_shop CShopUI scalar deleting destructor (full variant). Frees linked list, calls base dtors, optionally frees 0xd8 bytes. 0x0084A850 46 toggle_window_visibility game_core Toggles window visibility by type ID. If window exists, closes it (via tls_clear_field). If not, creates it via CGameObject__create_window_by_type. Returns true if window was created. 0x0084A880 212 CShopUI__hit_test ui_shop CShopUI hit test. Given (x, y) coordinates, determines which child widget or tab is under the cursor. Returns the hit widget pointer or NULL. Handles both normal mode and DAT_0173a514 mode differently. 0x0084A970 33 UIWidget__set_position_and_refresh ui_framework Sets widget position (x at offset 0x1c, y-4 at offset 0x20) then registers in the UI window grid. 0x0084A9A0 3998 CShopUI__OnCreate_tabs ui_shop CShopUI OnCreate for tab buttons. Creates tab buttons for status, skill, booking, party, guild, battle, quest, map, navigation, option, achievement, keyboard, attendance, adventurerAgency, repute, adventureguide, probability. Also creates scroll and special buttons. Lays out tabs in a 5-column grid. 0x0084B940 980 CShopUI__OnDraw ui_shop CShopUI OnDraw. Rebuilds the tab button map, manages tab visibility, draws background texture in DAT_0173a514 mode. Iterates over all tab items and shows/hides them based on current mode. 0x0084BD40 552 CShopUI__set_window_title ui_shop Sets the CShopUI window title based on window type. Calls Lua function GetBeHaviorOfWindow, then gets localized title from CMessageStringTable. Formats title with type-specific prefix for some window types (e.g., 0xc1). 0x0084C260 294 CShopUI__OnNotify ui_shop CShopUI OnNotify handler. Handles message types: 6=tab button click (toggles corresponding window visibility), 0x3c=timer (toggles DAT_0173a514 mode). Delegates to CEffect__notify_parent_of_state_change for unhandled messages. 0x0084C960 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0084CB70 95 std__allocate_24byte_array stl Allocates count * 24 (0x18) bytes for an array. Uses aligned allocation (32-byte alignment) for buffers >= 4096 bytes. Throws bad_array_new_length if count >= 0xAAAAAAB. 0x0084CBD0 129 CShopWnd__constructor ui_shop CShopWnd constructor. Calls UIWindowBase base ctor, sets CShopWndBase then CShopWnd vtables, initializes fields 0x2d-0x2e and 0x31 to 0. 0x0084CC60 106 CShopWndBase__constructor ui_shop CShopWndBase constructor. Calls UIWindowBase base ctor, sets CShopWndBase vtable, initializes fields 0x2d-0x2e to 0. 0x0084CCD0 84 CShopWnd__destructor ui_shop CShopWnd destructor. Sets CShopWnd then CShopWndBase vtable, calls UIWindowBase destructor. 0x0084CD30 71 CShopWndBase__destructor ui_shop CShopWndBase destructor. Sets CShopWndBase vtable, calls UIWindowBase destructor. 0x0084CD80 112 CShopWnd__scalar_deleting_dtor ui_shop CShopWnd scalar deleting destructor. Calls CShopWnd destructor chain, optionally frees 200 (0xC8) bytes. 0x0084CDF0 99 CShopWndBase__scalar_deleting_dtor ui_shop CShopWndBase scalar deleting destructor. Calls CShopWndBase destructor, optionally frees 0xBC bytes. 0x0084CE60 143 CShopWnd__OnDraw_0084ce60 ui_shop CShopWnd OnDraw. Draws header bar with color (10,2) and title bar with color (2,2). 0x0084CF00 197 CShopWnd__OnCreate_0084cf00 ui_shop CShopWnd OnCreate. Creates text label widget (0xd8 bytes) with message 0x933, sets size 0x3e x 0xf, positions at (3, 0x16), adds hotkey label "Ctrl+G". 0x0084CFD0 244 CShopWnd__OnMessage ui_shop CShopWnd OnMessage. Creates text label if not exists, resets selection indices to -1, loads NPC sprite, calls init_buttons. 0x0084D0D0 2071 CShopWnd__draw_shop_info ui_shop CShopWnd draw shop info. Draws NPC shop details: name, level, class, currency icon, zeny amount, NPC sprite, item categories with selection highlighting. Renders two item list sections with colored backgrounds. 0x0084D8F0 316 CShopWnd__draw_background ui_shop CShopWnd draw background. Fills header bar, title bar, content area with colored rectangles, draws tiled bottom border. 0x0084DA30 9 thunk_to_UIWindow__prepare_render_context_0084da30 ui_events Thunk to UIWindow__draw_header_area at 008ba1e0. Simple JMP forwarder. 0x0084DA40 154 CShopWnd__OnNotify ui_shop CShopWnd OnNotify. Handles messages: 6+0xc9=close window type 0xed, 0x22=set position from param, 0x3c=refresh and invalidate. Delegates to UIWindow__handle_button_click for other messages. 0x0084DAE0 111 CShopWnd__OnNotify_base ui_shop CShopWnd OnNotify base variant. Handles 0x22=set position, 0x3c=invalidate. Simpler version without the close-window logic. Delegates to UIWindow__handle_button_click for other messages. 0x0084DB50 164 CShopWnd__load_npc_sprite ui_shop CShopWnd load NPC sprite. Loads NPC sprite resource based on NPC sprite ID from DAT_016d42f4+0x58. Falls back to default sprite if loading fails. 0x0084DC00 56 CShopWnd__sync_position_to_parent ui_shop CShopWnd sync position to parent. Copies this window's position (x, y) and size (w, h) to the object at offset 0xb4. 0x0084DC40 34 memcpy_range_forward stl Copies memory range [param_1, param_2) to param_3. Returns pointer past end of destination. Used as std::copy/memmove helper. 0x0084DC70 34 memcpy_range_forward_v2 stl Copies memory range [param_1, param_2) to param_3. Returns pointer past end of destination. Duplicate of memcpy_range_forward. 0x0084DCA0 337 std__vector_insert_single_4byte stl std::vector insert for 4-byte elements. Reallocates with 1.5x growth, copies elements before and after insertion point. Frees old buffer. 0x0084DE10 585 std__vector_insert_52byte stl std::vector insert for 0x34-byte (52-byte) elements. Reallocates with 1.5x growth, moves elements, constructs new element at insertion point via std__construct_element_0x34. 0x0084E060 577 std__vector_insert_28byte stl std::vector insert for 0x1c-byte (28-byte) elements. Reallocates with 1.5x growth, uses aligned allocation for >4KB buffers. Copies 28-byte structs to new buffer. 0x0084E2B0 604 std__vector_insert_28byte_v2 stl std::vector insert for 0x1c-byte (28-byte) elements, variant 2. Similar to std__vector_insert_28byte but calls construct_element and set_title_text helpers for element initialization. 0x0084E510 192 std__uninitialized_move_0x1c stl std::uninitialized_move for 0x1c-byte structs. Moves array of 28-byte elements with embedded strings from source to destination range. Clears source string fields after move. 0x0084E5D0 123 std__uninitialized_move_0x34 stl std::uninitialized_move for 0x34-byte structs. Iterates source range, calls on_draw_handler (move ctor) for each 52-byte element to construct in destination. 0x0084E650 127 std__construct_element_0x1c stl Move-constructs a single 0x1c-byte (28-byte) element. Copies 7 dwords including embedded string with move semantics (clears source string after copy). 0x0084E6D0 129 std__construct_element_0x34 stl Copy-constructs a 0x34-byte (52-byte) element. Copies string field via STL_string_copy_construct, then copies remaining 0x1c bytes of non-string data. 0x0084E760 181 std__vector_copy_ctor_4byte stl std::vector copy constructor for 4-byte elements. Allocates new buffer, copies all elements via memcpy. 0x0084E820 171 std__move_construct_0x34 stl Move-constructs a 0x34-byte (52-byte) element with embedded string. Copies all fields, moves the string (clears source string), copies remaining tail fields. 0x0084E8D0 151 UIHyperlinkTextWidget__ctor_0084e8d0 game_core UIHyperlinkTextWidget constructor. Calls UIBaseTextRender base ctor, sets vtable to UIHyperlinkTextWidget, initializes fields 0x2f-0x33 (default color 0x5c5c5c gray). 0x0084E970 168 UIBaseTextRender__ctor game_core UIBaseTextRender constructor. Sets vtable to UIBaseTextRender, initializes text rendering fields: font size 0xc, color 0xffffff (white), various flags to 0. 0x0084EA20 139 UIScrollbarWidget__ctor ui_events UIScrollbarWidget constructor. Calls UIBaseTextRender base ctor (on_resize_handler), sets vtable to UIScrollbarWidget, initializes string buffer (0x2d-0x32), sets default height 0x14 at offset 6. 0x0084EAB0 287 UIDialogBox__ctor ui_windows Full constructor for CDialogWnd. Initializes dialog properties, creates buttons, sets up layout, and configures event handlers. This is the main dialog box window used throughout the client UI. 0x0084EBD0 222 UICheckboxWidget__ctor_0084ebd0 game_core UICheckboxWidget constructor. Calls CEffect base ctor, sets vtable to UICheckboxWidget, initializes item list (0x1f-0x23), allocates red-black tree sentinel node (0x18 bytes) at offset 0x22. 0x0084ECB0 114 UITooltipWidget__ctor game_core UITooltipWidget constructor. Calls UIDialogBox base ctor, sets vtable to UITooltipWidget, initializes vector fields at offsets 0x48-0x4a to empty. 0x0084ED30 155 UIInputBoxWidget__ctor game_core UIInputBoxWidget constructor. Calls UIDialogBox base ctor, sets vtable to UIInputBoxWidget, initializes string buffer (0x48-0x4d) and vector fields (0x4e-0x50) to empty. 0x0084EDD0 186 UITextDisplayWidget__ctor game_core Constructor for UITextDisplayWidget. Calls base UIWidget ctor, sets vtable to PTR_UITextDisplayWidget__scalar_deleting_dtor_011321ac. Initializes two SSO string fields, a boolean flag at offset 0x2b, and a counter at offset 0xc. 0x0084EE90 223 UISkillInfoDialog__ctor game_core Constructor for UISkillInfoDialog. Extends UITextWidget (calls UITextWidget__default_ctor), sets vtable to PTR_UISkillInfoDialog__scalar_deleting_dtor_011319cc. Initializes a vector of 0x18-byte elements, pre-allocates 30 entries. Stores list count and selection index. 0x0084EF70 149 UIProgressBarWidget__ctor_with_strings ui_framework Constructor for a UIProgressBarWidget variant with string fields. Calls base UIWidget ctor, sets vtable to PTR_UIProgressBarWidget__scalar_deleting_dtor_01133108. Initializes two SSO string fields at offsets 0x20 and 0x26. 0x0084F010 371 UITabWidget__ctor_0084f010 game_core Constructor for UITabWidget variant. Calls base UIWidget ctor, sets vtable to PTR_UITabWidget__scalar_deleting_dtor. Initializes 5 SSO string fields, active tab index, selection state, tab count (12), layout flags, and a boolean at offset 0x38. 0x0084F190 192 UIRichTextWidget__ctor_with_colors game_core Constructor for UIRichTextWidget with color initialization. Extends UITextDisplayWidget (calls its ctor), sets vtable to PTR_UIRichTextWidget__scalar_deleting_dtor. Reads two RGB color triplets from CColorPicker (palette indices 6 and 18, both row 2) and stores them at offsets 0x2d-0x32. 0x0084F250 84 UISimpleDialogWidget__ctor game_core Constructor for UISimpleDialogWidget. Extends UITextWidget (calls UITextWidget__default_ctor), sets vtable to PTR_UISimpleDialogWidget__scalar_deleting_dtor_01131614. Minimal derived class with no additional fields. 0x0084F2B0 703 UIListDialogWidget__copy_ctor game_core Copy constructor for UIListDialogWidget. Extends UISimpleDialogWidget, then sets vtable to PTR_UIListDialogWidget__scalar_deleting_dtor_011318d8. Copies text content via UITextWidget__copy_ctor, allocates a circular linked list sentinel (0x14 bytes), a scrollbar child widget, and copies list configuration fields (item count, selection, scroll state, column widths, header strings) from the source object. 0x0084F570 408 UIListDialogWidget__default_ctor game_core Default constructor for UIListDialogWidget. Extends UISimpleDialogWidget (calls UITextWidget__default_ctor), sets vtable to PTR_UIListDialogWidget__scalar_deleting_dtor. Allocates a circular linked list sentinel, initializes all list fields to zero/default: item count, selection, scroll state, column widths, header strings. No scrollbar child created. 0x0084F710 153 UIScrollableText__ctor_base game_core Base constructor for UIScrollableText. Extends UITextWidget, sets vtable to PTR_UIScrollableText__scalar_deleting_dtor_01131700. Initializes scroll index to -1, allocates SSO string buffer at offset 0x48, and clears boolean flag at offset 0x4e. This is the base-level ctor; the full ctor at 0084f7b0 also sets a second vtable pointer. 0x0084F7B0 166 UIScrollableText__ctor game_core Constructor for UIScrollableText widget. Calls parent FUN_0084fae0 (base UI text widget ctor), sets vtable to PTR_UIScrollableText__scalar_deleting_dtor, initializes scroll index to -1, allocates a std::string at offset 0x48 (scroll text buffer), and sets a boolean flag at offset 0x4e. 0x0084F860 625 UITextWidget__copy_ctor ui_framework Copy constructor for UITextWidget. Copies text properties from source object (param_2): position coords (offsets 0x7c-0x84), color RGB (0x90-0x98), font size clamped to max 0x169, text strings (std::string copies at 0xbc and 0xd8), alignment flags, and various display parameters. Allocates a linked-list node for text lines. 0x0084FAE0 474 UITextWidget__default_ctor ui_framework Default constructor for UITextWidget. Calls base UIWidget constructor (FUN_00a79a90), sets vtable, initializes color to white (0xFF,0xFF,0xFF), font size to 255, shadow enabled flag, std::string members for text content, and linked-list node for text lines. Sets various display defaults including alignment and position. 0x0084FCC0 179 UIEditableTextWidget__ctor game_core Constructor for UIEditableTextWidget. Extends UITextWidget (calls UITextWidget__ctor), sets own vtable, initializes edit buffer (std::string at offset 0x47), cursor/selection fields, and sets a mode value of 3 at offset 0x2d. Initializes caret position to -1. 0x0084FD80 117 UICheckboxWidget__ctor game_core Constructor for UICheckboxWidget. Calls base UIWidget ctor, sets vtable, initializes checked state and group ID to 0, then sets checkbox dimensions to 24x24 pixels via FUN_00a7b470. 0x0084FE00 84 UIEquipSlotWidget__ctor game_core Constructor for UIEquipSlotWidget. Extends UIItemSlotWidget (calls UIItemSlotWidget__constructor), sets own vtable. Simple derived class for equipment slot display in the equipment window. 0x0084FE60 104 UIProgressBarWidget__ctor ui_framework Constructor for UIProgressBarWidget. Calls base UIWidget ctor, sets vtable, stores progress bar type/variant param, and sets widget type ID to 0xBD at offset 0xb. 0x0084FED0 171 UIHyperlinkTextWidget__ctor game_core Constructor for UIHyperlinkTextWidget. Extends base text widget (FUN_0084e970), sets vtable, initializes hyperlink URL string (std::string at offset 0x28), link color to 0xFFFFFF (white), hover state, and click flags. 0x0084FF80 84 UIRichTextWidget__ctor game_core Constructor for UIRichTextWidget. Extends a base text display widget (FUN_0084edd0), sets own vtable. Simple derived class for rich text rendering with formatting support. 0x0084FFE0 308 UITabWidget__default_ctor game_core Constructor for UITabWidget. Calls base UIWidget ctor, sets vtable, initializes 4 std::string members (tab labels), active tab index, click counter, widget type ID to 0xD7, tab count to 12, and layout flags. 0x00850120 171 UIDropdownWidget__ctor_base ui_events Constructor for UITextLabelWidget (also UIDropdownWidget base). Calls base UIWidget ctor, sets vtable to PTR_UIDropdownWidget__scalar_deleting_dtor_01132e80. Initializes one SSO string field, font size (0x27), alignment (0x28), style (0x29), and two color values to 0xFFFF00FF (magenta with full alpha). 0x008501D0 112 UILabelWidget__ctor_008501d0 game_core Constructor for UILabelWidget. Extends UIItemSlotWidget (calls its scalar_del_dtor as base ctor), sets vtable to PTR_UILabelWidget__scalar_deleting_dtor_01132cd0. Stores a parameter value at offset 0x30, initializes boolean at 0x2e and counter at 0x2f to zero. 0x00850240 114 UILabelWidget__ctor_with_params game_core Constructor variant for UILabelWidget with additional parameters. Extends UIItemSlotWidget, sets vtable to PTR_UILabelWidget__scalar_deleting_dtor_01132cd0. Takes a value parameter stored at offset 0x30, a boolean flag at 0x2e, and clears counter at 0x2f. 0x008502C0 95 UIItemInfoWidget__ctor game_core Constructor for UIItemInfoWidget. Extends UIItemSlotWidget (calls UIItemSlotWidget__constructor), sets vtable to PTR_UIItemInfoWidget__scalar_deleting_dtor_01132a44. Stores a parameter at offset 0x45 (info type or display mode). 0x00850320 267 UIItemSlotWidget__constructor game_core Constructor for an item slot widget. Extends base item widget (FUN_0084edd0), sets vtable PTR_FUN_0113288c, initializes three SSO string fields, item data fields (quantity, refine, etc.), and sets enabled flag to 1. 0x00850430 192 UISimpleTextWidget__ctor game_core Constructor for UISimpleTextWidget. Calls base UIWidget ctor, sets vtable to PTR_UISimpleTextWidget__scalar_deleting_dtor_01132bf8. Initializes two SSO string fields, a counter at offset 0x2d, and positioning values (0x2b=0, 0x2c=0xFFFFFFEC which is -20). 0x008504F0 94 UIEditableTextWidget__ctor_variant game_core Constructor variant for UIEditableTextWidget. Calls UIEditableTextWidget__constructor (the full ctor at 00850550), then sets vtable to PTR_UIEditableTextWidget__scalar_del_dtor2_01131d68. Initializes a value at offset 0x36. Acts as a thin wrapper around the base editable text ctor. 0x00850550 303 UIEditableTextWidget__constructor game_core Constructor for editable text widget. Sets vtable PTR_FUN_01131c90, initializes two SSO string fields, font size 0xC, text color 0xFFFF00FF, disabled color 0x969696, clears text content and editing state fields. 0x00850680 110 UIBaseWidget__ctor game_core Constructor for UIBaseWidget. Calls base UIWidget ctor, sets vtable to PTR_UIBaseWidget__scalar_deleting_dtor_01132f58. Initializes counter at offset 0xc to 0, mode field at 0x1f to 3, and state field at 0x20 to 0. 0x008506F0 277 UIFormattedTextWidget__ctor game_core Constructor for UIFormattedTextWidget. Extends UITextDisplayWidget (calls its ctor), sets vtable to PTR_UIFormattedTextWidget__scalar_deleting_dtor_011327b0. Initializes 4 SSO string fields at offsets 0x2f, 0x35, 0x3b, 0x41. Also initializes positioning fields at 0x2d-0x2e and a flags field at offset 0x47. 0x00850810 128 UIHyperlinkTextWidget__ctor_variant game_core Constructor variant for UIHyperlinkTextWidget. Extends UIBaseTextRender (calls UIBaseTextRender__ctor), sets vtable to PTR_UIHyperlinkTextWidget__scalar_del_dtor3_01131ffc. Initializes link state fields at 0x2f-0x31 and sets a gray color value (0x5C5C5C) at offset 0x32. 0x00850890 128 UITooltipWidget__ctor_00850890 game_core Constructor for UITooltipWidget. Extends UITextWidget (calls UITextWidget__default_ctor), sets vtable to PTR_UITooltipWidget__scalar_del_dtor2_01131ab8. Initializes 4 fields at offsets 0x47-0x4a to zero (tooltip position, visibility state, content pointer). 0x00850910 160 UIDropdownWidget__ctor ui_events Constructor for UIDropdownWidget. Calls UIWindowBase__ctor (not the standard UIWidget base), sets vtable to PTR_UIDropdownWidget__scalar_del_dtor2_01133390. Initializes one SSO string field at offset 0x2f, clears it, and sets widget size to 24x24 pixels via CEffect__set_size_and_reload. 0x008509B0 67 UIWidget__delete_child_node_12byte ui_framework Deletes a child node object of 0xC (12) bytes. Checks if the pointer at offset 4 of the object is non-null, and if so, calls operator_delete with size 0xC. Used for linked list node cleanup in UI widget hierarchies. 0x00850A00 67 UIWidget__delete_child_node_20byte ui_framework Deletes a child node object of 0x14 (20) bytes. Checks if the pointer at offset 4 of the object is non-null, and if so, calls operator_delete with size 0x14. Used for linked list node cleanup in UI widget hierarchies. 0x00850A50 78 UIDropdownWidget__delete_child_node ui_events Deletes a child node for UIDropdownWidget. Checks if offset 4 pointer is non-null, deletes 0xC byte allocation. Similar to UIWidget__delete_child_node_12byte but called from dropdown context. 0x00850AA0 104 UIWidget__free_aligned_and_delete_node ui_framework Frees aligned vector storage and deletes a 0x14 byte node. First calls std__vector_free_aligned on the node's data if it exists, then operator_delete on the 0x14 byte node itself. Two-phase cleanup for nodes containing vector data. 0x00850B20 91 STL_vector_destroy_string_elements_1C stl Destroys elements in a vector with 0x1C (28) byte stride. Iterates from begin to end, calling STL_string_dtor on each element. Used for vectors of structs that contain std::string members at the start of each element. 0x00850B80 90 STL_vector_destroy_string_elements_34 stl Destroys elements in a vector with 0x34 (52) byte stride. Iterates from begin to end, calling STL_string_dtor on each element. Used for vectors of larger structs containing std::string members. 0x00850BE0 103 UILinkedList__destroy_nodes_12byte game_core Destroys a singly-linked list of 0xC (12) byte nodes. Sets the sentinel's count to 0, then walks the linked list starting from the first node, calling operator_delete(0xC) on each. Finally deletes the sentinel node itself. 0x00850C50 121 UILinkedList__destroy_nodes_20byte game_core Destroys a singly-linked list of 0x14 (20) byte nodes. Sets the sentinel's count to 0, walks the list calling std__vector_free_aligned + operator_delete(0x14) on each node. Finally deletes the sentinel. For nodes that contain both vector data and a link pointer. 0x00850CD0 68 UIWidget__dtor_string_field ui_framework Simple destructor helper that calls STL_string_dtor on a single string field. Used as a cleanup function for widgets with one string member. 0x00850D30 207 STL_vector_destroy_elements_1C stl Destroys and deallocates a std::vector of 0x1C (28) byte elements. Iterates elements calling STL_string_dtor on each, then frees the underlying buffer with size validation. Handles aligned allocation (checks for 0xFFF threshold). Resets begin/end/capacity pointers to null. 0x00850E00 194 STL_vector_destroy_elements_34 stl Destroys and deallocates a std::vector of 0x34 (52) byte elements. Iterates elements calling STL_string_dtor on each, then frees the underlying buffer with aligned allocation handling (0xFFF threshold check). Resets begin/end/capacity pointers to null. 0x00850ED0 159 STL_vector_dealloc_buffer_1C stl Deallocates the raw buffer of a std::vector with 0x1C (28) byte element stride. Does NOT call element destructors -- only frees the memory. Handles aligned allocation (checks 0xFFF threshold, retrieves original pointer from offset -4 if aligned). Resets begin/end/capacity to null. 0x00850F80 86 UIWidget__dtor_two_string_fields ui_framework Destructor helper that destroys two std::string fields. Calls STL_string_dtor twice in sequence. Used for cleanup of widgets with two string members. 0x00850FE0 65 UIWidget__dtor_one_string_field ui_framework Destructor helper that destroys one std::string field. Identical to UIWidget__dtor_string_field at 00850cd0 but at a different address. Used for cleanup of a single string member. 0x00851030 139 UIHyperlinkTextWidget__dtor_00851030 game_core Destructor for UIHyperlinkTextWidget. Sets vtable chain: first UIHyperlinkTextWidget vtable (011320d4), then 01131ffc. Frees a vector, destroys a vector of structs, sets UIBaseTextRender vtable (01131e40), then calls CEffect__dtor for final base cleanup. 0x008510C0 95 UIBaseTextRender__dtor game_core Destructor for UIBaseTextRender. Sets vtable to PTR_UIBaseTextRender__scalar_deleting_dtor_01131e40, destroys a vector of structs via CFmt__vector_of_structs_dtor, then calls CEffect__dtor for base widget cleanup. 0x00851120 138 UIScrollbarWidget__dtor ui_events Destructor for UIScrollbarWidget. Sets vtable to PTR_UIScrollbarWidget__scalar_deleting_dtor_0113251c, destroys one string field. Then sets vtable to PTR_UITextDisplayWidget (011321ac), destroys two more string fields, and calls CEffect__dtor for final base cleanup. 0x008511B0 183 UIDialogBox__dtor ui_windows Full destructor for UIDialogBox. Sets vtable to PTR_UIDialogBox__scalar_deleting_dtor_01132440, destroys 4 string fields in sequence. Then transitions to UITextDisplayWidget vtable (011321ac), destroys 2 more string fields. Finally calls CEffect__dtor for base widget cleanup. Total: 6 string fields destroyed. 0x00851270 95 UIComplexDialog__destructor_base game_core Base destructor for complex dialog. 0x008512D0 110 UIComplexDialog__scalar_del_dtor game_core Scalar deleting destructor for complex dialog. 0x00851340 107 UIBaseDialog__destructor_2 game_core Destructor variant 2 for base dialog. 0x008513B0 130 UIBaseDialog__scalar_del_dtor game_core Scalar deleting destructor for base dialog. 0x00851440 120 UIBaseDialog__scalar_del_dtor_2 game_core Scalar deleting destructor variant 2 for base dialog. 0x008514C0 155 UIComplexDialog__scalar_del_dtor_2 game_core Scalar deleting destructor variant 2 for complex dialog. 0x00851560 120 UIDialogBoxBase__scalar_del_dtor_4 ui_windows Scalar deleting destructor variant 4 for dialog box base class. 0x008515E0 71 UISmallWidget__destructor game_core Destructor for small widget. Sets vtable, calls base widget destructor. 0x00851630 222 UIComplexDialog__destructor game_core Destructor for complex dialog. Sets vtable 011318d8, cleans up child elements (FUN_00853f20), destroys string vector elements, deallocates vectors, destroys formatting objects, then chains to base dialog destructor (FUN_008517e0). 0x00851710 95 UISmallWidget__scalar_del_dtor game_core Scalar deleting destructor for small widget. 0x00851770 108 UIComplexDialog__destructor_2 game_core Destructor variant 2 for complex dialog. 0x008517E0 192 UIBaseDialog__destructor game_core Destructor for base dialog. Sets vtable 01131528, destroys a string field, frees a linked list of 0xC-byte nodes at offset 0x3F, destroys two more strings, and calls base widget destructor. 0x008518A0 110 UIBaseDialog__destructor_3 game_core Destructor variant 3 for base dialog. 0x00851910 71 UIBaseDialog__scalar_del_dtor_3 game_core Scalar deleting destructor variant 3 for base dialog. 0x00851960 71 UIComplexDialog__scalar_del_dtor_3 game_core Scalar deleting destructor variant 3 for complex dialog. 0x008519B0 71 UIDialogBoxBase__scalar_del_dtor_5 ui_windows Scalar deleting destructor variant 5 for dialog box base class. 0x00851A00 126 UIItemDisplayWidget__scalar_del_dtor game_core Scalar deleting destructor for item display widget. 0x00851A80 120 UIItemDisplayWidget__scalar_del_dtor_2 game_core Scalar deleting destructor variant 2 for item display widget. 0x00851B00 137 UIItemDisplayWidget__destructor game_core Destructor for item display widget. Sets vtable 01132da8, destroys four string fields, calls base widget destructor. 0x00851B90 120 UILabelWidget__base_dtor game_core Destructor for UILabelWidget. Sets vtable chain, destroys 2 std::string members, then calls base widget destructor FUN_00a79e90. 0x00851C10 88 UIItemInfoWidget__dtor game_core Destructor for UIItemInfoWidget. Sets vtable, clears field at offset 0x45, then calls parent destructor FUN_00851c70 to clean up text and string resources. 0x00851C70 168 UIMultiStringWidget__base_dtor game_core Destructor for UIMultiStringWidget. Destroys 3 std::string members at current vtable level, then switches to parent vtable and destroys 2 more std::string members before calling base widget destructor FUN_00a79e90. 0x00851D20 107 UISimpleTextWidget__dtor game_core Destructor for UISimpleTextWidget. Sets vtable, destroys 2 std::string members, then calls base widget destructor FUN_00a79e90. 0x00851D90 123 UIEditableTextWidget__dtor game_core Destructor for UIEditableTextWidget. Sets vtable chain (derived then base), destroys 2 std::string members (edit buffer and display text), then calls base widget destructor FUN_00a79e90. 0x00851E10 110 UIBasicTextWidget__dtor game_core Destructor for UIBasicTextWidget. Sets vtable, destroys 2 std::string members, then calls base widget destructor FUN_00a79e90. 0x00851E80 183 UIFormattedTextWidget__dtor game_core Destructor for UIFormattedTextWidget. Destroys 4 std::string members at current level, switches to parent vtable and destroys 2 more std::strings, then calls base widget destructor FUN_00a79e90. 0x00851F40 126 UIHyperlinkTextWidget__dtor game_core Destructor for UIHyperlinkTextWidget. Sets vtable, frees vector data, then calls parent destructor chain (CFmt__func cleanup) and base widget destructor FUN_00a79e90. 0x00851FC0 95 UIDropdownWidget__dtor ui_events Destructor for UIDropdownWidget. Sets vtable, destroys one std::string member (selected item text), then calls UIWindowBase__dtor for base cleanup. 0x00852020 28 std__string_assign_helper stl Helper that assigns a std::string's data to a destination. Checks if the string uses SSO (small string optimization) buffer or heap pointer, then calls STL_lib_func_004fa5c0 with the data pointer and length. 0x00852040 163 UIHyperlinkTextWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIHyperlinkTextWidget. Sets vtable chain, frees vector, calls CFmt cleanup and base widget dtor. Frees 0xD0 bytes if param_2 & 1. 0x008520F0 119 UIBaseTextRender__scalar_deleting_dtor game_core Scalar deleting destructor for base text render widget. Sets vtable, calls CFmt cleanup and base widget dtor. Frees 0xA0 bytes if param_2 & 1. 0x00852170 162 UIScrollbarWidget__scalar_deleting_dtor ui_events Scalar deleting destructor for UIScrollbarWidget. Destroys 1 string at own level, switches to parent vtable, destroys 2 more strings, then calls base dtor. Frees 0xD0 bytes if param_2 & 1. 0x00852220 38 UIDialogBox__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIDialogBox. Calls UIDialogBoxBase__destructor, then frees 0x120 bytes if param_2 & 1. 0x00852250 134 UICheckboxWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UICheckboxWidget. Destroys a std::map, calls base dialog box constructor chain for cleanup, then base widget dtor. Frees 0x90 bytes if param_2 & 1. 0x008522E0 119 UITooltipWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UITooltipWidget. Sets vtable, calls dialog box scalar del dtor, then dialog box destructor. Frees 300 bytes if param_2 & 1. 0x00852360 134 UIInputBoxWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIInputBoxWidget. Sets vtable, calls dialog box cleanup and string destructor, then UIDialogBoxBase destructor. Frees 0x144 bytes if param_2 & 1. 0x008523F0 131 UITextDisplayWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UITextDisplayWidget. Sets vtable, destroys 2 std::string members, then calls base widget destructor. Frees 0xB4 bytes if param_2 & 1. 0x00852480 154 UISkillInfoDialog__scalar_deleting_dtor game_core Scalar deleting destructor for UISkillInfoDialog. Calls virtual destructor on child widget at offset 0x51 if present, destroys string and CFmt, then calls UIBaseDialog destructor. Frees 0x14C bytes if param_2 & 1. 0x00852520 144 UIProgressBarWidget__scalar_deleting_dtor ui_framework Scalar deleting destructor for UIProgressBarWidget. Sets vtable, destroys 2 std::string members, calls base widget dtor. Frees 0xC4 bytes if param_2 & 1. 0x008525B0 179 UITabWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UITabWidget. Destroys 5 std::string members (4 tab labels + 1 other), then calls base widget dtor. Frees 0x10C bytes if param_2 & 1. 0x00852670 144 UIRichTextWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIRichTextWidget. Sets vtable chain, destroys 2 std::string members, calls base widget dtor. Frees 0xCC bytes if param_2 & 1. 0x00852700 99 UISimpleDialogWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UISimpleDialogWidget. Sets vtable, calls UIBaseDialog destructor. Frees 0x11C bytes if param_2 & 1. 0x00852770 246 UIListDialogWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIListDialogWidget. Cleans up list items (iterates vector of 0x18-byte string entries destroying each), frees vectors, calls CFmt cleanup twice, then dialog box and base dialog destructors. Frees 0x188 bytes if param_2 & 1. 0x00852870 119 UIScrollableText__scalar_deleting_dtor game_core Scalar deleting destructor; sets vtable 01131700, size 0x13c, destroys string and calls base dtor 0x008528F0 132 UIScrollableText__scalar_del_dtor2 game_core Scalar deleting destructor for UIScrollableText. Sets vtable chain, destroys scroll text string, then calls UIBaseDialog destructor. Frees 0x13C bytes if param_2 & 1. 0x00852980 38 UIEquipSlotWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIEquipSlotWidget. Simply calls UIBaseDialog destructor. Frees 0x11C bytes if param_2 & 1. 0x008529B0 134 UIEditableTextWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIEditableTextWidget. Sets vtable, calls CFmt cleanup and string dtor, then UIBaseDialog destructor. Frees 0x144 bytes if param_2 & 1. 0x00852A40 99 UICheckboxWidget__scalar_del_dtor2 game_core Scalar deleting destructor variant for UICheckboxWidget (alternate vtable). Sets vtable, calls base widget dtor. Frees 0x8C bytes if param_2 & 1. 0x00852AB0 99 UIEquipSlotWidget__scalar_del_dtor2 game_core Scalar deleting destructor variant for UIEquipSlotWidget. Sets vtable, calls UIMultiStringWidget base dtor. Frees 0x114 bytes if param_2 & 1. 0x00852B20 99 UIProgressBarWidget__scalar_del_dtor2 ui_framework Scalar deleting destructor variant for UIProgressBarWidget. Sets vtable, calls base widget dtor. Frees 0x8C bytes if param_2 & 1. 0x00852B90 150 UIHyperlinkTextWidget__scalar_del_dtor2 game_core Scalar deleting destructor for UIHyperlinkTextWidget (alternate vtable path). Destroys URL string, switches to base text render vtable, calls CFmt cleanup and base widget dtor. Frees 0xC0 bytes if param_2 & 1. 0x00852C30 144 UIRichTextWidget__scalar_del_dtor2 game_core Scalar deleting destructor variant for UIRichTextWidget. Sets vtable chain, destroys 2 strings, calls base widget dtor. Frees 0xB4 bytes if param_2 & 1. 0x00852CC0 161 UITabWidget__scalar_del_dtor2 game_core Scalar deleting destructor for UITabWidget (alternate vtable). Destroys 4 std::string members, then calls base widget dtor. Frees 0xF0 bytes if param_2 & 1. 0x00852D70 110 UIDropdownWidget__scalar_deleting_dtor ui_events Scalar deleting destructor for UIDropdownWidget. Destroys 1 string, calls base widget dtor. Frees 0xB0 bytes if param_2 & 1. 0x00852DE0 144 UILabelWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UILabelWidget. Sets vtable chain, destroys 2 strings, calls base widget dtor. Frees 0xC4 bytes if param_2 & 1. 0x00852E70 116 UIItemInfoWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIItemInfoWidget. Sets vtable, clears field at offset 0x45, calls UIMultiStringWidget base dtor. Frees 0x118 bytes if param_2 & 1. 0x00852EF0 38 UIMultiStringWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIMultiStringWidget. Calls UIMultiStringWidget base dtor. Frees 0x114 bytes if param_2 & 1. 0x00852F20 131 UISimpleTextWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UISimpleTextWidget. Sets vtable, destroys 2 strings, calls base widget dtor. Frees 0xB8 bytes if param_2 & 1. 0x00852FB0 147 UIEditableTextWidget__scalar_del_dtor2 game_core Scalar deleting destructor variant for UIEditableTextWidget. Sets vtable chain, destroys 2 strings, calls base widget dtor. Frees 0xDC bytes if param_2 & 1. 0x00853050 134 UIBasicTextWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIBasicTextWidget. Sets vtable, destroys 2 strings, calls base widget dtor. Frees 0xD8 bytes if param_2 & 1. 0x008530E0 93 UIBaseWidget__scalar_deleting_dtor game_core Scalar deleting destructor for a base UI widget. Calls base widget dtor FUN_00a79e90. Frees 0x84 bytes if param_2 & 1. 0x00853140 207 UIFormattedTextWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIFormattedTextWidget. Destroys 4 strings at own level, switches to parent vtable and destroys 2 more. Calls base widget dtor. Frees 0x120 bytes if param_2 & 1. 0x00853210 150 UIHyperlinkTextWidget__scalar_del_dtor3 game_core Scalar deleting destructor variant 3 for UIHyperlinkTextWidget. Frees vector, calls CFmt cleanup and base widget dtor. Frees 0xCC bytes if param_2 & 1. 0x008532B0 113 UITooltipWidget__scalar_del_dtor2 game_core Scalar deleting destructor variant for UITooltipWidget. Calls CFmt cleanup and UIBaseDialog destructor. Frees 300 bytes if param_2 & 1. 0x00853330 119 UIDropdownWidget__scalar_del_dtor2 ui_events Scalar deleting destructor variant for UIDropdownWidget. Sets vtable, destroys string, calls UIWindowBase dtor. Frees 0xD8 bytes if param_2 & 1. 0x008533B0 315 UIListWidget__add_item_string game_core Adds a string item to a UIListWidget. Copies param_2 (char*) into a local std::string, then pushes it into the vector at offset 0x88 (item list). Each entry is 0x18 bytes (std::string). After adding, calls FUN_00853530 to recalculate layout. 0x008534F0 62 UIListWidget__add_item_with_data game_core Adds an item to a UIListWidget with both a string label and associated data value. Calls UIListWidget__add_item_string for the text, then pushes the data value (param_3) into the secondary vector at offset 0xC0. 0x00853530 555 UIListWidget__recalc_layout game_core Recalculates the layout of a UIListWidget based on its items. Iterates through all string items in the vector at offset 0x21, measures each text width (via FUN_00a80580) and height (via FUN_00a80170) using the font specified at offset 0x9a. Supports multiple font sizes (0x14-0x1c). Tracks max width and total height, then resizes the widget via virtual calls. 0x00853760 171 UIListWidget__navigate_selection game_core Navigates the selected item in a UIListWidget by offset param_2. Wraps around from end to start and vice versa. Retrieves the string of the newly selected item and calls virtual functions to update display (0xD4=set text, 0x5C=refresh, 0x98=invalidate). 0x00853810 38 UIWidget__measure_text_width ui_framework Measures the pixel width of a std::string for UI layout. Handles SSO check, then calls FUN_00a80580 with font size 0xC to get the rendered width. Used during layout calculations. 0x00853840 1617 UITextWidget__process_embedded_links ui_framework Processes embedded link tags in text content. Searches for a global delimiter string (DAT_0133a090) in the input text, extracts segments between delimiters, processes link-type substrings (e.g., item links via UIEditBox), and reconstructs the final display string with links resolved. Used for chat message rendering with clickable item links. 0x00853EA0 113 UIListWidget__set_item_text game_core Sets the text of a list item at given index. If param_3 is -1, targets the last item. Updates the string at the specified index in the items vector and calls virtual invalidate (0x98). 0x00853F20 405 UIListDialogWidget__clear_all_items game_core Clears all items from a UIListDialogWidget. Removes duplicate entries from the string vector at offset 0x168 (compact + destroy), destroys remaining strings, clears a bool vector at 0x174-0x180, frees two auxiliary buffers at 0x160 and 0x164. 0x008540C0 104 UITextWidget__clear_text_lines ui_framework Clears all text line entries from a UITextWidget. Iterates the linked list at offset 0xFC, calls FUN_00a82e50 to release each text line resource, then frees all list nodes and resets the list to empty (count at 0x100 = 0). 0x00854130 257 decode_base62_string game_core Decodes a base-62 encoded string to an integer. Uses charset "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" (62 chars). Processes each character positionally with powers of 0x3E (62). Used for decoding item link IDs in chat messages. 0x00854240 103 UITextWidget__set_text_if_fits ui_framework Sets text on a UI text widget only if the rendered text width fits within param_2 pixels. Resizes the widget, assigns the text string, measures width via FUN_00a80580 with font 0xC. Returns 1 if text fits, 0 otherwise. 0x008542B0 433 UITextWidget__clear_text_lines_with_vectors ui_framework Clears all text line entries from a UITextWidget that uses vector-based storage. Iterates linked list at offset 0x11C, releases vector elements via FUN_00a82e50, unlinks and frees each list node (0x14 bytes each), and resets count at 0x120 to 0. 0x00854470 3129 UITextWidget__process_item_link ui_framework Processes item link references in text content. Handles packet type 0x1B6 (item link). Searches for delimiter patterns in text, extracts link metadata (item ID, card slots), resolves item names, and manages the linked list of text line objects. Uses CItemLink to build formatted display strings. 0x008550B0 43 UITextWidget__set_scroll_position ui_framework Sets the scroll position of a text widget. Clamps param_2 to max value at offset 0xE8, stores it at both 0x80 and 0x7C, then calls FUN_00acf590 to update the scroll display. 0x008550E0 112 UITextWidget__auto_scroll_to_view ui_framework Automatically scrolls the text widget to keep the current content visible. Checks if the viewer is the local player, then adjusts scroll position if the content extends beyond the visible area. Scrolls forward or backward based on which half of the widget the overflow is in. 0x00855150 52 UITextWidget__reset_scroll_to_max ui_framework Resets the scroll position to the maximum (end of content). If the widget belongs to the local player, uses the global scroll value; otherwise sets both 0x7C and 0x80 to the max value stored at 0xE8. 0x00855190 20 UIWidget__forward_virtual_call_0x28 ui_framework Forwards a virtual call to offset 0x28 on the child widget at offset 0x10 if it exists. Simple delegation pattern. 0x008551B0 4632 UITextBox__render_text_content game_core Main text rendering: word-wraps lines, positions cursor, draws text with colors, handles scrolling and IME 0x008563D0 1442 UIEditableTextWidget__render game_core Renders an editable text widget. Handles both focused (local player) and unfocused states. For focused: builds display string with cursor positions, renders text with optional shadow color, draws selection highlight via FUN_00857040, and blinks the cursor using timeGetTime at 500ms intervals. For unfocused: renders static text or password mask. Supports both single-color and gradient text rendering (FUN_00a84360 vs FUN_00a869c0). 0x00856980 1314 UIEditableTextWidget__render_alt game_core Alternative render method for UIEditableTextWidget. Nearly identical to UIEditableTextWidget__render but without the password/empty-text special case checks. Same cursor blink, selection highlight, and text rendering logic. 0x00856EB0 91 UITextWidget__render_cursor_blink ui_framework Renders the blinking cursor for a text widget. Uses timeGetTime with 500ms period to toggle visibility. When visible and widget has focus (FUN_00ab1120 check), draws the cursor character "\|" at position 1 with font size 0xC using the widget's color from offset 0. 0x00856F10 153 UITextWidget__position_text_line_objects ui_framework Positions text line objects within a text widget. Iterates linked list at offset 0x11C, for each line's vector of child objects: checks if the line index (field 0x7D) falls within the visible range (param_4 to param_5). Visible lines at the target index (param_6) get positioned with offset; others get moved offscreen (-100,-100). 0x00856FB0 140 UITextBox__draw_selection_highlight game_core Draws text selection highlight rectangle with computed color from style palette 0x00857040 140 UIWidget__draw_selection_highlight ui_framework Draws a text selection highlight rectangle. Calculates position from param_2 (x start) and param_3 (width), clamps to widget bounds. Gets the highlight color via CColorPicker (index 6,2), then draws the filled rectangle using FUN_00a7bd60 with the widget's height from offset 0x18. 0x008570D0 527 UIFormWidget__render_labels game_core Renders label entries in a form-style widget. Iterates the vector of 0x34-byte label entries at offset 0x120. For each entry with text (offset 0x10 != 0): calculates position (auto-centers if x=-1000 or y=-1000), applies shadow/style based on form style (0=light shadow, 1=warm shadow, 2=bright, 3=disabled), then renders text with FUN_00a84360. 0x008572F0 289 UIButtonWidget__render_texture ui_events Renders a button widget's texture. Selects texture based on button state (0=normal/hover, 1=pressed, 2=disabled) from std::string filenames at offsets 0xBC/0xD4/0xEC. Loads texture via stub_005717a0, gets dimensions, and renders at widget position using render_textured_rect_from_texture with full white tint. 0x00857420 1848 UITextWidget__parse_item_link_encoded_string ui_framework Parses an encoded item link string from chat text. Allocates a copy of the text string, then iterates character by character looking for field delimiters (matched against a 14-char delimiter table). Decodes base62-encoded fields for item ID, card slots, and other item metadata. Populates the output param_2 vector with decoded integer values. Handles special delimiter types: type 7 calls parse_item_link_fields, type 9 calls UIWidget__handle_drag_message for drag-link data. Non-delimiter characters are accumulated into a temporary string buffer for base62 decoding. 0x00857B60 2149 UITextWidget__find_link_at_position ui_framework Searches for embedded link/tag patterns in text at a given position. Used for detecting item links and chat links for click handling. Returns match information for the link at the specified text position. 0x008583D0 1120 UITextWidget__render_single_line ui_framework Renders a single-line text widget. Handles text alignment, shadow rendering, and color formatting. Supports both simple and gradient text colors. 0x00858830 93 UIWidget__clamp_and_position_child ui_framework Positions a child widget clamped within bounds. Takes screen coords (param_1, param_2) and a widget struct (param_3). Clamps the position to the widget's bounds using fields at offsets 5-8 (x, y, width, height), then calls the widget's virtual position function at vtable+0x10. 0x00858890 739 UIButtonWidget__calculate_text_height ui_events Calculates the total text height for a button widget's label. Builds the display string by appending charset hex to the label text at offset 0xD8, then splits it into lines using CEffect__split_text_into_lines_by_width based on the available widget width. Returns (number of lines) * line spacing from offset 0x138. Cleans up all temporary string and vector allocations. 0x00858B80 91 UIEditableTextWidget__get_hint_text game_core Gets the hint/placeholder text from an editable text widget. Copy-constructs the std::string at offset 0xF8 into the output parameter. Returns param_2 unchanged. 0x00858BE0 107 UISkillWidget__get_skill_level game_core Gets the current skill level for a skill widget. Loads two skill tree paths from std::strings at offsets 0xCC and 0xE4, resolves them via FUN_00aee770, finds the skill tree node via UISkillWnd__get_skill_tree_node, then reads the skill level (short) at offset +2 in the skill data array. 0x00858C50 106 UISkillWidget__get_skill_id game_core Gets the skill ID for a skill widget. Same lookup pattern as get_skill_level but reads the skill ID (short) at offset +0 instead of +2 in the skill data array. 0x00858CC0 81 UIFormWidget__get_entry_index_at_y game_core Gets the index of the form entry at a given Y position (param_3). Iterates the vector of 0x1C-byte entries at offset 0x7C, accumulating heights. Returns the index when the cumulative height exceeds param_3, or -1 if not found. 0x00858D20 46 UIEditableTextWidget__get_display_text game_core Gets the current display text from an editable text widget. If the widget belongs to the local player, first calls virtual function 0xE0 (refresh text). Returns pointer to the std::string at offset 0x36 (handles SSO). 0x00858D50 35 UIEditableTextWidget__get_text_length game_core Gets the length of the text in an editable text widget. For the local player, returns the global text length from DAT_016d3b0c+0x44; otherwise returns the cached length from offset 0xE8. 0x00858D80 91 UIEditableTextWidget__get_alt_text game_core Gets the alternate/secondary text from an editable text widget. Copy-constructs the std::string at offset 0x104 into the output parameter. Returns param_2 unchanged. 0x00858DE0 286 UIFormWidget__get_entry_info game_core Gets detailed info about a form entry by index. Copies the string from the 0x34-byte entry at the specified index in the vector at 0x120. Also copies: font size (0x24), color (0x2C), shadow flag (0x28), bold flag (0x30), x position (0x1C), y position (0x20) into output params. 0x00858F00 44 UIButtonWidget__get_texture_info ui_events Gets button texture rendering info. Copies 7 dwords (28 bytes) from offset 0xA0 into param_2: texture coordinates, dimensions, and rendering parameters. Returns 1 (success). 0x00858F30 281 UIFormWidget__flush_pending_entries game_core Flushes pending form entries. Initializes output string, iterates the vector of 0x18-byte entries at offset 0x124, appends each entry's string data to the output, then destroys all entries and resets the vector size. 0x00859050 138 UIWidget__check_overlap ui_framework Checks if two UI widgets overlap. Builds bounding rects from each widget's position (0x1C/0x20) and size (0x14/0x18), then calls FUN_00af64a0 to test intersection. Returns non-zero if overlapping. 0x008590E0 134 UITextWidget__contains_item_link ui_framework Checks if a std::string contains an item link delimiter. Searches for two different global delimiter patterns (DAT_0133a090 and DAT_0133a0a8). Returns 1 if either delimiter is found, 0 otherwise. 0x00859170 134 UITextWidget__contains_chat_link ui_framework Checks if a std::string contains a chat link delimiter. Searches for two global delimiter patterns (DAT_0133a168 and DAT_0133a180). Returns 1 if either is found, 0 otherwise. Similar to contains_item_link but uses different delimiters. 0x00859200 29 UIEditableTextWidget__should_show_cursor game_core Determines if the cursor should be shown. Returns 0 (don't show) if the input field has focus (FUN_00ab1120) and a global flag (DAT_014576a4) is not set. Returns 1 otherwise. 0x00859220 577 UITextWidget__build_item_link_tooltip ui_framework Builds an item link tooltip string. Checks if the text starts with "0000T0" prefix for old-style item IDs. For old-style: parses item ID from link and gets formatted string via CTreeMap. For new-style: parses encoded item link data, builds item description, and constructs tooltip text. Returns success flag. 0x00859470 382 UITextWidget__setup_item_link_display ui_framework Sets up item link display in a text widget. Creates or reuses a UIListDetailWidgetA at offset 0x144. Builds item tooltip text, copies the string to the internal buffer at 0xD8, then inserts the tooltip text into the input manager (CInputMgr). Finally calls CUIChatWindow__init_from_config. 0x008595F0 3996 UITextWidget__parse_and_create_item_link_widgets ui_framework Parses text containing item links and creates individual widget elements for each link. Searches for link delimiters in the input text (DAT_0133a090). For each link found: checks if old-style (0000T0 prefix) or encoded format. Old-style: parses item ID, gets formatted name from CTreeMap. Encoded: parses item link data, builds tooltip text. Creates CEffect text widgets for each link, measures widths, and appends them to a linked list. Also accumulates non-link text segments. 0x0085A590 56 UIEditBox__OnFocusLost ui_events Handles focus lost event for edit box. If this is the active focused control, calls FUN_00acf590 to clear focus. Otherwise, resets caret state (0x7C=0) and restores text position from 0xE8 to 0x80. 0x0085A5D0 664 UITextWidget__build_tagged_text ui_framework Builds a tagged text string by wrapping content in angle brackets. Initializes output string, appends '<', then calls CEffect__draw_multiline_text_with_links to get formatted content, appends that, then appends '>'. Used for creating tagged/formatted text representations. 0x0085A870 413 UIEditBox__create_formatted_content ui_events Creates formatted text content for the edit box. Creates or reuses UIListDetailWidgetA at 0x144. If fewer than 3 entries and text fits within bounds (0xF0+0xE8 <= 0x88), creates a formatted entry with color 0x7F00E4, concatenates it with existing text from 0xD8, clears and reinserts combined text via CInputMgr, and updates the display buffer. 0x0085AA10 40 UIEditBox__OnMove ui_events Handles the move event for the edit box. Delegates position setting to CEffect__set_position, then saves the current absolute position (offsets 0x1C and 0x20) to the cached position fields at 0xA0 and 0xA4. 0x0085AB80 187 UIEditBox__create_text_widget_0085ab80 ui_events Creates and initializes the editable text input widget for the edit box. Allocates a UIEditableTextWidget (0xD8 bytes), sets its size, position, font size (0xC), and text alignment, then adds it as a child widget at offset 0x7C. 0x0085AC40 141 UIEditBox__create_scrollbar ui_events Creates and initializes a vertical scrollbar widget for the edit box. Allocates a UIWidget (0xB4 bytes), initializes it as a scrollbar with vertical orientation, and adds it as a child at offset 0x130. 0x0085ACE0 187 UIEditBox__create_alt_text_widget ui_events Creates and initializes an alternate/secondary text widget for the edit box. Same structure as create_text_widget but stored at a different offset. Allocates UIEditableTextWidget (0xD8 bytes), configures size, position, font, and adds as child at offset 0x7C. 0x0085ADA0 528 UIEditBox__create_dialog_box ui_events Creates a UIDialogBox child widget when flag at 0xB8 is set. Allocates a 0x120-byte dialog, loads three background/button resources via CMessageStringTable, adjusts dialog size to fit the largest resource dimensions, centers it relative to the parent widget, and adds it as a child at offset 0xBC. 0x0085B010 295 UIEditBox__draw_centered_multiline_text ui_events Draws centered multiline text entries. Iterates the vector of 0x18-byte text entries at offset 0x84, measures total height, calculates vertical centering offset, then draws each line centered horizontally with shadow using CEffect__draw_text_with_shadow. Uses font from 0xCC and size from 0x80. 0x0085B140 225 UIEditBox__draw_text_lines ui_events Draws text lines from the entry vector at offset 0x84 vertically stacked. For each entry, draws text at x=6 with incrementing y position (starting at 4), measuring each line's height to calculate the next y offset. Uses font size from offset 0x80 and color from 0x90. 0x0085B230 2136 UIEditBox__OnDraw ui_events Draws the edit box with state-dependent background and centered text. Draws a 3-part horizontal border (left cap, tiled middle in 6px segments, right cap) using different sprite sets based on state: 0xAC=1 (active), 0x30=0 (default), 0x30=1 (hover), 0x30=2 (pressed). Measures text at 0xB4 to center it, draws with appropriate shadow color per state (gray/green/white/shadow). Optionally triggers child repaint if 0xCC flag is set. 0x0085BA90 198 UIEditBox__draw_background_sprite ui_events Draws the background sprite for the widget based on its current state (offset 0x30). State 0 uses sprite at 0xBC, state 1 at 0xD4, state 2 at 0xEC. If overlay flag (0xAC) is set and overlay string (0x104) exists, draws an additional overlay sprite. Optionally triggers parent repaint. 0x0085BBC0 294 UIEditBox__draw_tab_sprites ui_events Draws tab-like sprites by iterating through 0x1C-byte entries between offsets 0x7C and 0x80. For each entry, formats a sprite name with state suffix ('a' or 'b' based on active tab at 0x30), loads and draws the sprite vertically stacked. Tracks cumulative y position from sprite heights. 0x0085BCF0 235 UIEditBox__draw_background_with_labels ui_events Draws the widget background with labels. If overlay (0xAC) is set, forces state to 3. Otherwise draws state-based sprite (0xBC/0xD4/0xEC). Optionally draws overlay sprite from 0x104. Renders the sprite at (0,0), triggers parent repaint if 0x11C is set, then calls UIFormWidget__render_labels. 0x0085BDE0 1643 UIWidget__draw_stateful_background_and_text ui_framework Draws a stateful widget with background sprite and centered text. Checks 0x138 entry vector for matching state. Based on state (0/1/2) and overlay flag (0xAC), loads appropriate background sprite. If text at 0x120 exists (offset 0x130 flag), draws it with shadow/outline using state-specific colors and positioning. Supports custom text layout from matched entries. 0x0085C450 154 UIWidget__draw_state_sprite_with_text ui_framework Draws a simple state-dependent sprite with text overlay. Returns early if flag 0xAD is not set. Loads sprite from DAT based on state (0/1/2). Draws the sprite at (0,0), then draws text from offset 0x7C at (0,0) in black with font size 0xC. 0x0085C4F0 413 UIWidget__draw_bordered_content ui_framework Draws a bordered content area with colored fill. Computes border/fill colors from member offsets 0x24-0x29 with optional dimming (flag 0x35 subtracts 0x1E from RGB). Draws outer border with background colors, inner 1px-inset border with fill colors. Updates scroll offset at 0x2D, calls virtual draw at 0xDC, and processes tab control text if present at 0x51. 0x0085C690 550 UIWidget__draw_frame_borders ui_framework Draws a decorative frame with tiled border sprites. Renders corner sprites (top-left, top-right, bottom-left, bottom-right) and fills horizontal edges with tiled 12px-wide middle sprites. Also draws a centered bottom sprite and a toggle/checkbox sprite at (3,3) that changes based on flag at 0xB0. 0x0085C9A0 511 UIWidget__draw_colored_button ui_framework Draws a button-style widget with colored background and centered text. Measures text width, samples pixel color at (0x16, 2) for the 3D border. Based on state (0/1/2), fills a colored rectangle using RGB values from different offsets. State 2 draws with offset shadow text; states 0-1 draw centered text with 1px shadow offset. Text color is white (0xFFFFFF) foreground, black (0x000000) shadow. 0x0085CBA0 67 UIEditBox__DrawLabel ui_events Draws the label text for an edit box. Renders the string at offset 0x84 with white color (0xFFFFFF) at position (6,4), font size 0xC. 0x0085CBF0 165 UIWidget__draw_skinned_content ui_framework Draws widget content using skin-based colors. Queries CSkinSelector and CSkinManager to get the current skin color. Stores RGB components at offsets 0x90-0x98. Calls virtual draw function at 0x98, then notifies parent with the color, calls virtual draw at 0xDC, and triggers child repaint if present. 0x0085CCA0 315 UIWidget__draw_color_bordered_rect ui_framework Draws a color-bordered rectangle, identical pattern to draw_bordered_content. Computes border/fill colors with optional dimming (flag 0x35), draws outer border with background RGB, inner 1px-inset with fill RGB. Updates scroll position at 0x2D and calls virtual draw at 0xDC. Does NOT handle tab control text (simpler variant). 0x0085CE40 322 UIWidget__draw_conditional_level_sprite ui_framework Draws a conditional sprite based on game settings and player level. Checks a game option flag, then if job level is non-zero and base level is zero, loads and draws a sprite. Also loads a secondary resource by string copy-construction and draws it if the same level conditions are met. 0x0085CF90 435 UISkillWidget__draw_skill_sprite_tile game_core Draws a skill sprite tile for a skill tree widget. Loads sprite atlas and model resources, gets a skill tree node via UISkillWnd, finds the correct sprite frame via CTileCache (find or acquire), and renders it through the DirectX draw call at vtable offset 0x28. Handles sprite offset, clipping, and frame indexing. 0x0085D150 155 UIWidget__draw_3d_border_with_checkbox ui_framework Draws a 3D bordered area with a checkbox/radio sprite. Fills the background with white (or highlighted yellow 0x7DFAFF if selected at DAT_01738228). Draws a 3D border at (0,0) and an inner border at (2,2) in gray (0xC3C3C3). Loads and draws a checkbox sprite at (3,3) that changes state based on flag at 0x88. 0x0085D1F0 614 UIWidget__draw_icon_and_text_entries ui_framework Draws a list entry with optional icon and text. First draws a prefix icon sprite if 0xBD is set (centered vertically). Then draws a main icon from path at 0xA0 (supports .bmp, .spr, and raw texture formats). Finally iterates text entries from 0x84 vector and draws each with outline using colors from 0x90/0x94 with global font settings from DAT_01348f88/DAT_016d3b06. 0x0085D470 472 UIWidget__draw_button_with_text ui_framework Draws a button/label widget with centered sprite and text. If no sprite data (0xC8/0xE0 both zero), draws a simple state-based sprite (0x30: normal/hover/pressed) with text. Otherwise loads a sprite from path at 0xB8 with state-specific variant at 0xD0, centers it vertically, and draws text below using font size from 0xE8 with color from 0xEC or default gray (0xB5B5B5). 0x0085D650 103 UIWidget__draw_header_bar ui_framework Draws a header/title bar for a widget. If flag at 0x8C is non-zero, loads and draws a sprite from the string at offset 0x7C. Otherwise, fills a 2px-high colored rectangle at the top using the color at 0xA8, with background color from 0xAC. 0x0085D6C0 961 UISkillWidget__draw_skill_sprite_composition game_core Draws a composed skill sprite with multiple layers. Loads sprite atlas (0xE4) and model (0xCC) resources, optionally loads an RSM model (0xFC) for 3D sprites. Gets skill tree nodes via UISkillWnd and iterates sprite layers (0x24-byte entries). For each layer, finds/acquires tile from CTileCache, computes position relative to center with clipping, and renders through DirectX at vtable offset 0x28. Handles animation frame cycling via 0xBC/0xC0/0xC4. 0x0085DA90 93 UIWidget__draw_state_sprite ui_framework Draws a simple state-based sprite. If flag at 0x8C is set and state (0x30) is 0, loads and draws sprite from string at 0x7C. If state is 1, clears the area with white color (0xFFFF00FF). For state 0x8C=0, does nothing. 0x0085DAF0 421 UITextRenderer__draw_text_with_shadow game_core Renders text with optional shadow; calls draw function multiple times with different offsets for shadow/outline effect 0x0085DCA0 459 UITextRenderer__draw_text_with_shadow_and_offset game_core Draws text with shadow/outline effects and an x-offset from member 0xD8. Similar to draw_text_with_shadow but adds horizontal offset to all draw positions. If shadow flag (0x88) is set, draws white shadow at (offset+2, 2). If outline flag (0x8C) is set, draws 4-directional outline. Final text drawn at (offset+1, 1) using RGB from 0x7C/0x80/0x84. 0x0085DE70 325 UITextRenderer__draw_text_with_outline game_core Draws text with outline effect at (0,0). If shadow flag (0x88) is set, draws white shadow at (1,1). If outline flag (0x8C) is set, draws 3-directional outline at (-1,0), (1,0), (0,1). Final text at (0,0) using RGB from 0x7C/0x80/0x84. Uses font/bold settings from 0xA0/0xA1. 0x0085DFC0 166 UIWidget__draw_indexed_sprite ui_framework Draws an indexed sprite based on two state values. Uses value at 0x80 (0-3) to select a base format string pattern, and value at 0x30 (+1) as the index parameter. Formats the sprite name via lua_util_sprintf, loads via CMessageStringTable + CResourceMgr, and draws at (0,0). 0x0085E080 500 UIWidget__draw_colored_text_list ui_framework Draws a list of colored text lines with a 3D border. Returns early if text entry vector (0x84-0x88) is empty. Draws a 3D border using color from 0xC8. Maps display mode value (0x9A: 0-9) to font style flags (0x14-0x1C). Iterates text entries (0x18-byte each), drawing each line at x=6 with per-entry color from vector at 0xBC (falling back to default at 0x90). Supports both shadow and multiline shadow rendering modes based on flag at 0x9C. 0x0085E280 236 UIWidget__draw_icon_with_text_entries ui_framework Draws an icon sprite with text entries below. If icon path at 0xA0 exists and is loadable, draws the icon centered horizontally at (0, 0) as a sprite sheet frame, adjusting text start y to 0x1C. Iterates text entries from 0x84 vector, drawing each with outlined text using CEffect__draw_text_offset_with_outline, with global font settings from DAT_01348f88/DAT_016d3b06. 0x0085E370 49 draw_editbox_background_sprite game_render Draws the background sprite for edit boxes. Loads sprite from DAT_01133af0 and renders at (0,0) with full opacity. 0x0085E3B0 25 UIEditBox__RefreshAndRedraw ui_events Calls the edit box's refresh handler (vtable+0xE0) followed by redraw (vtable+0x98). 0x0085E3D0 46 UIEditBox__RefreshRedrawNotify ui_events Calls refresh, redraw, and then sends a notification message (vtable+0x94) with all zero params. 0x0085E400 32 UIEditBox__ClearRefreshRedraw ui_events Clears the edit box content via FUN_0086a060, then refreshes and redraws. 0x0085E420 1049 UIEditBox__ProcessInput ui_events Main input processing for UIEditBox. Handles key events via a switch on param_2 (key code): Backspace (8) - deletes character if editable and cursor at valid position; End (0x23) - moves cursor to end of current line; Home (0x24) - moves cursor to start of current line; Left arrow (0x25) - moves cursor left if editable; Right arrow (0x27) - moves cursor right, double-stepping over line boundaries; Other keys (Delete/0x2D, Ctrl+A/C/V/X) - forwarded to CInputMgr__handle_key_down. Uses a vector of 0x18-byte string entries at field 0x168 for multi-line text. 0x0085E8B0 9 UIEditBox__ForwardMouseDown ui_events Forwards mouse down to the edit box by calling vtable+0x64. Tiny thunk function (9 bytes). 0x0085E8C0 95 UIEditBox__on_confirm_input ui_events Handles Enter/confirm on the edit box. Checks input mode (0xB0): mode 0 creates a new window (type 0x1D) and sends message 0x2F; mode 3 sends message 0x2D to the current mode-1 window. Other modes send to the existing window's vtable+0x18. 0x0085E920 91 UIEditBox__send_input_to_parent ui_events Sends the edit box's current input value to the parent system. Checks global flags (DAT_01457a98/DAT_01457988) and the input mode (0x88). Sends message 0x54 (normal mode) or 0x110 (alternate mode) with the value from field 0x80. 0x0085E9B0 51 UIEditBox__forward_mouse_down_to_child ui_events Forwards mouse down event (vtable+0x64) to self, then propagates adjusted coordinates (adding widget offset 0x1C/0x20) to the child widget at field 0x114 via vtable+0x68, if child exists. 0x0085E9F0 50 UIEditBox__forward_mouse_down_to_root ui_events Forwards mouse down event (vtable+0x64) to self, then propagates adjusted coordinates to the root parent widget via vtable+0x68. 0x0085EA30 33 UIEditBox__forward_mouse_move_to_parent ui_events Forwards mouse move event to the parent widget (field 0x10) via vtable+0x68, adjusting coordinates by adding the widget's position offset (0x1C, 0x20). 0x0085EA60 33 UIEditBox__forward_mouse_move_to_parent_alt ui_events Forwards mouse move event to the parent widget (field 0x10) via vtable+0x68 with adjusted coordinates. Identical to forward_mouse_move_to_parent, used as alternate vtable slot. 0x0085EA90 131 UITabWidget__handle_click game_core Handles click events on a tab widget. Iterates the vector of 0x1C-byte tab entries at offset 0x1F, accumulating widths to find which tab was clicked at Y position param_3. If a different tab is selected, updates the active tab index at 0xC and notifies the parent via virtual callback (0x94) with event type 0x16. 0x0085EB20 44 UIButtonWidget__on_mouse_enter ui_events Mouse enter handler for a button widget. If the button is not disabled (field 0x2B == 0), plays a hover sound via FUN_00aa9b30, sets state to 2 (hover), and invalidates the widget. 0x0085EB50 53 UIWidget__on_mouse_move_delegate ui_framework Delegates mouse move events to a child widget. If not disabled (0xD4 == 0), plays a sound via FUN_00aa9b40. Forwards the adjusted mouse coordinates (adding widget position 0x1C/0x20) to the child widget's virtual function at vtable+0x64. 0x0085EB90 132 UIButton__toggle_state ui_events Toggles button pressed state (field 0xc). Refreshes self and parent window. Notifies parent with message type 6 (button action) including button ID and new state. Also sends secondary message (type 2) if field 0x3C is set. 0x0085ECE0 80 UIButton__begin_drag ui_events Begin drag handler for UIButton. Sets hover state, stores initial mouse position (param_2, param_3) at fields 0x94/0x98. If parent widget exists (field 0x10), copies parent scroll offsets (0x14/0x18) to fields 0xA0/0xA4. Accumulates parent offsets for coordinate transformation. 0x0085ED30 60 UIButton__notify_parent_selection ui_events Notifies parent of button selection. Sends two messages to parent (field 0x10): first message 0x0D with field 0xC0 value, then message 6 (button action) with button ID from field 0x2C. 0x0085ED70 77 UIButton__on_click_release ui_events Click release handler for UIButton. If not disabled (field 0x2B), sets hover state and changes button state to 2 (hover). Redraws via vtable+0x98. If child widget exists at field 0x114, forwards adjusted mouse coordinates to child via vtable+0x64. 0x0085EDC0 76 UIButton__on_click_release_alt ui_events Alternate click release handler for UIButton. Same as on_click_release but forwards to root parent widget instead of optional child. Sets hover state if not disabled, then forwards adjusted coordinates to root parent via vtable+0x64. 0x0085EE10 33 UIWidget__forward_mouse_down_to_parent ui_framework Forwards mouse down event to parent widget (field 0x10) via vtable+0x64, adjusting coordinates by widget position (0x1C, 0x20). 0x0085EE40 33 UIWidget__forward_mouse_down_to_parent_alt ui_framework Alternate mouse down forwarder to parent widget via vtable+0x64 with adjusted coordinates. Identical code to forward_mouse_down_to_parent. 0x0085EE70 90 UISlider__on_scroll_position_change game_core UISlider scroll position change handler. Calculates new position based on mouse Y divided by per-item height. Clamps to valid range [0, max_items-1]. If changed, updates state and notifies parent with message 0x16. 0x0085EED0 243 UIWidget__on_mouse_up_with_action ui_framework Mouse up handler with button action dispatch. If not disabled and this is the focused widget: checks if mouse is inside bounds. Inside: sets state to 1, sends button action (msg 6) to parent with button ID. Special handling for IDs 0xB8/0x141 which flush children text to network. Outside: resets state to 0. Clears hover window after. 0x0085EFD0 46 UIWidget__on_lose_focus ui_framework UI widget lose focus handler. Clears focus state and notifies parent when this widget loses input focus. 0x0085F000 33 UIWidget__forward_double_click_to_parent ui_framework Forwards double-click event to parent widget (field 0x10) via vtable+0x7C, adjusting coordinates by widget position offset (0x1C, 0x20). 0x0085F030 33 UIWidget__forward_double_click_to_parent_alt ui_framework Alternate double-click forwarder to parent via vtable+0x7C with adjusted coordinates. Identical code to forward_double_click_to_parent. 0x0085F060 252 UIWidget__on_mouse_up_button_action ui_framework Mouse up handler for button widgets. If not disabled and this is the focused widget, checks if mouse is inside bounds. If inside: sets pressed state, sends button action (msg 6) with button ID and value to parent. Special handling for button IDs 0xB8 and 0x141 which send children text to network first. Supports toggle mode (field 0x47). Clears hover state after. 0x0085F180 398 UIWidget__on_mouse_over_with_tooltip ui_framework Mouse over handler with tooltip and Lua behavior query. For buttons with IDs 0xC9/0xCA, calls Lua function "GetBeHaviorOfWindow" to get custom tooltip behavior. Shows tooltip from field 0x25 (tooltip text string) if tooltip flag (0x29) is set. If not disabled, forwards to vtable+0x6C (mouse over visual handler). 0x0085F310 127 UIWidget__on_mouse_over_show_tooltip ui_framework Mouse over handler that shows tooltip and calls visual handler. If not locked (field 0x1F), calls vtable+0x6C. If tooltip flag (0x36) is set, calculates tooltip position with Y offset -20 and shows tooltip from field 0x32 or 0x3D (alternate text if state is 0 and field 0x41 is set). 0x0085F390 107 UIWidget__on_mouse_over_show_tooltip_alt ui_framework Mouse over handler that shows tooltip with X offset 10. If not disabled (field 0x35), calls vtable+0x6C. If tooltip flag (0x33) is set, shows tooltip from field 0x2F with position offset (10, -20). 0x0085F400 101 UIWidget__on_mouse_over_show_tooltip_b ui_framework Mouse over handler that shows tooltip. Calls vtable+0x6C then shows tooltip from field 0x28 with offset (10, -20) if tooltip flag (0x2C) is set. 0x0085F480 51 UIWidget__on_mouse_over_forward_to_child ui_framework Mouse over handler that runs the tooltip/Lua handler (on_mouse_over_with_tooltip) then forwards to child widget at field 0x114 via vtable+0x70, if child exists. Adjusts coordinates by widget position (0x1C, 0x20). 0x0085F4C0 50 UIWidget__on_mouse_over_forward_to_root ui_framework Mouse over handler that runs the tooltip/Lua handler then forwards to root parent widget via vtable+0x70 with adjusted coordinates. 0x0085F500 114 UIWidget__on_mouse_leave_with_tooltip ui_framework Mouse leave handler with tooltip. If field 0xB4 is set, forwards to parent via vtable+0x70. If tooltip flag (0xA4) is set, calculates tooltip position from fields 0xAC/0xB0 and shows tooltip from string at field 0x94. 0x0085F580 93 UIWidget__on_mouse_leave_show_tooltip ui_framework Shows tooltip on mouse leave/hover. If tooltip flag (0xA4) is set, calculates position with offset (-6, -4) and shows tooltip from string at field 0xC0. 0x0085F600 196 UIWidget__on_mouse_move_update_hover ui_framework Mouse move handler that updates widget hover state (field 0xC). If this is the focused widget and mouse is inside bounds, sets state to 2 (hover). If mouse is outside, sets to 0. If not focused but inside, sets to 1 (normal). Notifies parent window (DAT_0145785c) with message 0x10F and hover state. Calls vtable+0x98 (redraw) on state change. 0x0085F6D0 145 UIWidget__on_drag_update_position ui_framework Drag position update handler. Calculates new widget position based on mouse delta from drag start. Uses a direction mode switch (field 0x9C, 0-7) to determine axis behavior: modes 0-1 affect X only, 2-3 affect Y only, 4-7 affect both. Notifies parent with message 0x0E including direction mode and new position. 0x0085F7A0 207 UIWidget__on_mouse_move_hover_and_forward ui_framework Mouse move handler that updates hover state and forwards to child. Updates field 0xC based on focus and bounds: 2=focused+inside, 1=unfocused+inside, 0=outside. Notifies parent (DAT_0145785c) with message 0x10F. Then forwards mouse move to child widget at field 0x114 via vtable+0x6C if child exists. 0x0085F870 39 UIWidget__forward_mouse_over_to_root ui_framework Forwards mouse over event to root parent widget via vtable+0x6C, adjusting coordinates by widget position (0x1C, 0x20). 0x0085F8A0 33 UIWidget__forward_mouse_over_to_parent ui_framework Forwards mouse over event to parent widget (field 0x10) via vtable+0x6C, adjusting coordinates by widget position (0x1C, 0x20). 0x0085F8D0 44 UIWidget__forward_mouse_leave_and_over ui_framework Forwards mouse leave (vtable+0x70) to self, then forwards mouse over (vtable+0x6C) to parent widget with adjusted coordinates. 0x0085F900 68 UIWidget__on_mouse_out_reset_state ui_framework Mouse out handler. Checks if mouse coordinates are outside widget bounds (fields 0x7/0x8 for position, 0x5/0x6 for size). If outside and state (0xC) is nonzero, resets state to 0 and redraws (vtable+0x98). 0x0085F950 35 UIWidget__on_right_click_set_cursor ui_framework Right-click handler. If field 0xAC is set, calls request_entity_update_zero. Otherwise sets game cursor mode to 2 (action cursor) via CGameMode__set_state. 0x0085F980 61 UIWidget__on_hover_set_cursor_state ui_framework Hover cursor state handler. Sets game cursor mode based on whether point (param_2, param_3) is inside widget bounds (0x14=width, 0x18=height). Inside: cursor mode 2 (action), outside: cursor mode 0 (default). 0x0085F9E0 61 UIWidget__on_hover_set_cursor_state_alt ui_framework Alternate hover cursor state handler. Identical to on_hover_set_cursor_state - sets cursor mode 2 if point is inside bounds, mode 0 if outside. 0x0085FA20 94 UIWidget__on_mouse_move_set_cursor_state ui_framework Mouse move cursor state handler with focus check. If this is not the focused widget and mouse is outside bounds, sets cursor mode 0. Otherwise (focused or inside), sets cursor mode 2 (action cursor). 0x0085FA80 33 UIWidget__forward_drag_to_parent ui_framework Forwards drag event to parent widget (field 0x10) via vtable+0x78, adjusting coordinates by widget position (0x1C, 0x20). 0x0085FAB0 33 UIWidget__forward_drag_to_parent_alt ui_framework Alternate drag event forwarder to parent via vtable+0x78 with adjusted coordinates. Identical code to forward_drag_to_parent. 0x0085FAF0 415 UIWidget__on_update_bgm_resource ui_framework Update handler for a BGM/music resource widget. Checks game settings for a display option, adjusts widget size (0x1C vs 0x18). Loads the current map's BGM resource, updates stored BGM bounds (fields 0x1F/0x20) from the map entry (offsets 0xAC/0xB0). Loads and checks resource readiness, triggering a redraw if the resource is newly ready. 0x0085FC90 156 UIWidget__check_resource_loaded_and_refresh ui_framework Checks if the resource at path (field 0x28 string) is loaded and ready. Tries loading as one resource type via RTDynamicCast, falls back to another type. If the resource's ready flag (offset 0x24D or 0x13D) is set, triggers a redraw (vtable+0x98). 0x0085FD30 237 UIWidget__sync_position_to_map_surface ui_framework Syncs widget position to a map surface. Looks up the current map BGM/surface reference, gets surface dimensions (0xac/0xb0), and repositions the widget using scaled screen coordinates via virtual function 0x10. 0x0085FE60 63 UIWidget__notify_parent_style_change ui_framework Notifies parent widget of style changes. Sends two events to parent via vtable 0x94: event 0xD with value from 0xC0, and event 6 with value from 0x2C and constant 0xE2. 0x0085FEA0 36 UIWidget__move_to_parent_offset_80 ui_framework Dispatches to parent virtual function 0x80 with this widget's position (0x1C, 0x20) plus the provided offsets. 0x0085FED0 36 UIWidget__move_to_parent_offset_80_v2 ui_framework Dispatches to parent virtual function 0x80 with this widget's position (0x1C, 0x20) plus the provided offsets. Variant 2. 0x0085FF00 36 UIWidget__move_to_parent_offset_84 ui_framework Dispatches to parent virtual function 0x84 with this widget's position (0x1C, 0x20) plus the provided offsets. 0x0085FF30 36 UIWidget__move_to_parent_offset_84_v2 ui_framework Dispatches to parent virtual function 0x84 with this widget's position (0x1C, 0x20) plus the provided offsets. Variant 2. 0x0085FF60 60 UIWidget__notify_scroll_step ui_framework Sends a scroll step notification to the parent. If field 0x4D is set, sends event type 7 with value 3 (scroll down) or -3 (scroll up) based on the sign of param_2. 0x0085FFA0 23 UIWidget__dispatch_to_parent_8c ui_framework Dispatches to parent widget's virtual function 0x8c if parent (at offset 0x10) is not null. 0x0085FFC0 47 UIControl__notify_scroll_direction ui_framework Sends scroll up (0x12) or scroll down (0x13) notification based on direction parameter 0x0085FFF0 26 UIWidget__dispatch_to_scrollbar_8c ui_framework Dispatches to the scrollbar widget (at offset 0x114) via its virtual function 0x8c, if the scrollbar exists. 0x00860010 15 UIWidget__dispatch_to_parent_8c_unchecked ui_framework Dispatches to parent widget's virtual function 0x8c unconditionally (no null check on parent pointer). 0x00860020 15 UIWidget__dispatch_to_parent_8c_v2 ui_framework Dispatches to parent widget's virtual function 0x8c unconditionally (no null check). Variant 2 for a different widget class. 0x00860030 68 UIWidget__wrap_text_to_width ui_framework Wraps text content to fit widget width. Calculates available width from widget size (0x14) minus padding, accounting for scrollbar (at 0x130). Calls CEffect__split_text_into_lines_by_width to perform the actual word-wrapping into the line buffer at 0x174. 0x00860080 846 CItemLink__parse_item_data game_core Parses item link data from a vector of integers. Looks up item info by ID, checks for "unknown item" string pattern, extracts item type, slot count, card IDs, refine level, and random options. Populates the output structure (param_2) with parsed item fields. Returns 1 on success, 0 if empty or unknown item. 0x008603D0 944 CItemLink__parse_base62_delimited_fields game_core Parses base62-encoded fields from a delimited string. Iterates characters starting at *param_3, accumulating digit characters into a string buffer. When a delimiter (*param_5 or *param_6) is encountered, decodes the accumulated buffer via decode_base62_string and appends the result to the output vector at param_1. Used for parsing item link encoded data. 0x00860790 1221 parse_item_link_fields game_core Parses item link field values from a delimited string. Iterates characters from param_2 starting at *param_3, accumulating base-62 encoded segments separated by a delimiter character (*param_4). Decodes each segment via decode_base62_string and stores results into the output array at param_1. Returns the count of fields parsed. 0x00860C60 3656 CItemLink__build_display_text game_core Builds a formatted display string for an item link. Resolves item name, card slot names, and enchant info. Constructs the full colored/formatted link text for display in chat messages. 0x00861AB0 145 UIScrollbarWidget__update_scroll_state ui_events Updates scrollbar state based on content size. Calculates visible rows (height / row_height), determines if scrollbar should be visible based on total items vs visible count. Calls FUN_0089c220 to configure the scrollbar range and invalidates the associated widget. 0x00861B50 2396 UIScrollableTextWidget__handle_scroll_event game_core Handles scroll-related events for a scrollable text widget. Manages scroll position updates, content navigation, and viewport calculation. 0x008624B0 2803 UIEditableTextWidget__handle_input_event game_core Handles text input events for an editable text widget. Processes keyboard input, cursor movement, text selection, copy/paste, and character insertion. 0x00862FB0 718 UIEditableTextWidget__update_cursor_scroll game_core Updates cursor position and horizontal scroll offset for an editable text widget. Refreshes text content, clamps cursor positions within max text length, measures text width to determine if horizontal scrolling is needed. Uses CharNextExA for multi-byte character handling (Korean text). Adjusts the scroll offset (field 0x2C) to keep the cursor visible within the widget bounds. 0x00863280 69 UIComboBoxWidget__on_resize game_core Handles resize events for a combo box widget. Calls base resize handler FUN_00a82eb0, resizes the child dropdown widget at offset 0x4C to (width-10, 0), updates its height, and calls virtual function 0xE8. 0x008632D0 40 UIWidget__on_resize_store_size ui_framework Handles resize events by storing current dimensions. Calls base resize handler FUN_00a82eb0, then stores the current width (0x14) and height (0x18) into fields 0xA8 and 0xAC respectively. 0x00863300 110 UIFormWidget__handle_event game_core Handles events for a form widget. Event 0xD: sets active index and invalidates. Event 0xE: iterates entries, resolves texture paths via FUN_00af62d0/FUN_00b01200/FUN_00aee770, accumulates heights, resizes widget. Event 0x4B: clears all string entries. Event 0x4E: adds a new entry with texture name and height. 0x008633D3 1 stub_nop_008633d3 game_core Single-byte stub function (size=1) 0x008633E1 1 stub_nop_008633e1 game_core Single-byte stub function (size=1) 0x0086344D 1 stub_nop_0086344d game_core Single-byte stub function (size=1) 0x008634AC 1 stub_nop_008634ac game_core Single-byte stub function (size=1) 0x00863640 344 UIComboBoxWidget__handle_key_event game_core Handles keyboard events for a combo box widget. Key 0x12 (Up): navigates to previous item in the dropdown list. Key 0x13 (Down): navigates to next item. Other keys: delegates to FUN_008641c0. Updates the displayed text via virtual function 0xD4 and refreshes via 0x5C. 0x008637A0 930 UIComboBoxWidget__handle_input_event game_core Handles input events for a combo box widget. Processes text input, handles Enter key to submit/send chat, manages input history, and delegates to parent handlers. 0x00863BF0 114 UIWidget__handle_click_focus_next ui_framework Handles left-click by advancing focus to the next sibling or child widget. On left click (param_2==0): checks if this is the last visible sibling; if so, focuses next child, otherwise focuses next sibling. Then notifies parent. Other button clicks delegate to UIWidget__default_event_handler. 0x00863C70 1226 UIComboBoxWidget__handle_widget_event game_core Handles widget-level events for a combo box. Processes focus changes, text updates, and delegates to parent event handlers. 0x00864140 114 UIWidget__handle_click_focus_next_alt ui_framework Handles left-click by advancing focus to the next sibling or child widget. Same logic as UIWidget__handle_click_focus_next but for a different widget class vtable entry. 0x008641C0 2837 UIWidget__default_event_handler ui_framework Default event handler for UI widgets. Handles common events like focus, key input, mouse clicks, resize notifications. Delegates to parent when appropriate. 0x00864CE0 54 UICheckboxWidget__on_click_notify_parent game_core Click handler for checkbox widget. On left click (param_3 == 0), notifies parent via virtual callback 0x94 with event type 6 and checkbox value from 0x2C. Other clicks delegate to FUN_008641c0. 0x00864D20 59 UIListWidget__handle_key_event game_core Keyboard handler for list widget. Key 0x12 (Up): navigate selection by -1. Key 0x13 (Down): navigate by +1. Other keys: delegate to FUN_008641c0. 0x00864D60 65 UIProgressBarWidget__handle_event ui_framework Event handler for progress bar widget. Event 0x22: sets min (0x21) and max (0x22) values. Event 0x3C: if current value matches param_4, invalidates the widget. 0x00864DB0 795 UITextWidget__handle_text_event ui_framework Handles text-related events for a text widget. Event 6: sets value at 0x20. Event 0x1C: also sets at 0x20. Event 0x22: sets text content with font size mapping (1-9 mapped to font IDs 0x14-0x1C), handles embedded CR characters by truncating, strips color codes, then calls FUN_00868880 to reflow text and invalidates. 0x00865180 29 UIWidget__handle_set_active_index ui_framework Simple event handler that sets the active index (offset 0xC) on event 0xD and invalidates the widget. Returns 0. 0x008651A0 87 UIButtonWidget__handle_event ui_events Event handler for button widget. Event 6 with param_4==0xCB: notifies parent with callback event 6 and value from 0xC0. Event 0xD: sets button state at offset 0x30. Other events delegate to FUN_00a83660. 0x00865200 29 UIWidget__handle_set_active_index_alt ui_framework Same as UIWidget__handle_set_active_index. Sets active index on event 0xD and invalidates. Used by a different widget class. 0x00865220 314 UIComboBoxWidget__handle_key_navigate game_core Keyboard navigation for combo box using history entries at offset 0x47. Key 0x12 (Up): decrements history index (0x4A), clamps to 0. Key 0x13 (Down): increments, wraps to empty string at end. Updates display text via virtual 0xD4 and refreshes via 0x5C. Other keys delegate to FUN_008641c0. 0x00865360 24 UIWidget__handle_set_flag ui_framework Simple event handler that stores param_4 into field 0xD4 when receiving event 0x22 (set value). Returns 0. 0x00865380 44 UIWidget__set_text_from_cstr ui_framework Sets text on a widget from a C-string. Calculates string length via null-terminator scan, then calls STL_lib_func_004fa8f0 to assign the string data. 0x008653B0 149 UIButtonWidget__auto_resize_to_content ui_events Auto-resizes button widget to fit its content. Measures text label width, loads the current state's icon texture (normal at 0x26 or pressed at 0x20), gets icon width, adds 3px padding, and calls resize virtual if the calculated width differs from current. 0x00865450 311 UIButtonWidget__set_textures_and_label ui_events Sets button texture paths and text label. Assigns param_2 to normal texture (0x20), param_3 to hover texture (0x26), param_4 to text label (0x2C, empty string if null). Pre-loads the hover texture via CResourceMgr. If auto-size is enabled (0x30 != 0), measures text width plus icon width and resizes the button to fit. 0x00865590 97 UIImageWidget__set_texture_path game_core Sets the texture path for an image widget. Copies the path string to offset 0x11C, resolves the texture via CResourceMgr, and sets widget width/height from the texture dimensions (0x114/0x118). 0x00865600 163 UIMapView__set_map_textures game_core Sets the map view texture paths. Stores two texture path strings at offsets 0x80 and 0x98, resolves both textures via CResourceMgr, and sets the widget dimensions from the primary texture size (0x114=width, 0x118=height). 0x008656B0 44 UIWidget__set_text_from_cstr_alt ui_framework Sets text on a widget from a C-string. Calculates string length via null-terminator scan, then calls STL_string_assign_buffer to assign the string data. Alternate version for a different widget field. 0x008656E0 94 UICheckboxWidget__set_texture_path game_core Sets the texture path for a checkbox widget. Copies path to string at 0x7C, resolves texture, gets dimensions from texture info (0x114/0x118), sets widget size. 0x00865740 94 UICheckboxWidget__set_texture_path_alt game_core Sets an alternate texture path for a checkbox widget. Same pattern as UICheckboxWidget__set_texture_path - copies path, resolves texture, updates size. Likely for checked/unchecked state texture. 0x008657A0 287 UIButtonWidget__set_texture_resolved ui_events Sets a button texture with texture file resolution. Resolves the file via FUN_00af1620/FUN_00b01200/FUN_00aee770, tracks max width/height, optionally forces exact size (param_4 != 0). Assigns path to state-specific string (0-3 for normal/pressed/hover/disabled). Returns 1 on success, 0 if texture not found. 0x008658D0 87 UIRadioButton__set_selected game_core Sets the selected state of a radio button. If not disabled (field 0x1F == 0): sets active index to param_2, invalidates self and parent window (via FUN_00a7d6d0), notifies parent with event type 6 including widget ID (0xB) and selected index (0xC). 0x00865930 59 UIRadioButton__set_selected_no_notify game_core Sets the selected state of a radio button without notifying parent. Same as UIRadioButton__set_selected but omits the parent callback. Invalidates self and parent window. 0x00865970 37 UITextWidget__set_color_and_shadow_value ui_framework Sets text color (offset 0x2A) and shadow color (offset 0x2B) as integer values, then invalidates the widget via virtual call at vtable+0x98. The color at 0x2A may be a packed RGB value. 0x008659A0 662 UITextWidget__set_text_with_resource_resolve ui_framework Sets text content while resolving embedded resource references. Assigns text to string field, stores param_3 flag at 0xBD. Searches text for ".bmp" extension references. If a BMP resource exists (via CResourceMgr), stores the resource path at offset 0x28. If resource not found, falls back to original text. Calls virtual resize (0x04) and/or invalidate (0x98) depending on param_3 flag. 0x00865C40 113 UILabelWidget__set_label_text game_core Sets the label text on a label widget. Assigns the C-string if non-null and non-empty, resizes the widget if the label has content (min width 24px), height = field 0x30 + 25, then invalidates. 0x00865CC0 21 UIListWidget__set_font_and_recalc game_core Sets the font at offset 0x80 and recalculates the list widget's layout by calling UIListWidget__recalc_layout. 0x00865CE0 43 UITextWidget__set_font_params ui_framework Sets font rendering parameters on a text widget. Stores font ID at 0x9C, font size at 0x98, bold flag at 0xA0, and italic flag at 0xA1. 0x00865D10 27 UITextWidget__set_font_size_enum ui_framework Sets the font size on a text widget using an enum value. Maps logical sizes 1-9 to internal font IDs (0x14-0x1C) stored at offset 0xCC. 0x00865DD0 42 UITextWidget__set_text_color_and_invalidate ui_framework Sets text color (R, G, B) at offsets 0x24, 0x25, 0x26 and invalidates the widget for redraw. 0x00865E00 34 UIWidget__set_position_xyz ui_framework Sets the 3D position of a widget. Stores x at 0x9C, y at 0xA0, z at 0xA4. 0x00865E30 114 UITextWidget__set_all_line_colors ui_framework Sets color on all text line child objects. Iterates linked list at 0x11C, for each line's vector of child objects: sets color value (param_2) at offsets 0xB4, 0xB8, and 0xBC on each child object. 0x00865EB0 3880 UITextWidget__set_multiline_content_with_search ui_framework Sets multiline text content with town info search integration. Clears existing line entries, processes text with optional '#' truncation, performs CTownInfoMgr searches on substrings from the param_2 structure (fields at 0x1C, 0x34, 0x4C, 0x64, 0x7C), formats combined search result strings, pushes each as a line entry. Measures all line widths to find the maximum, sets widget width (0x2E), handles scroll background images based on param_4 flag, resizes and invalidates. 0x00866DE0 531 UITextWidget__set_single_line_entry ui_framework Sets a single text line entry. Clears existing entries in the line vector (0x21-0x22), pushes the given text as a new 0x18-byte string entry, measures text width (min 32px), resizes widget to fit (width = textWidth+8, height = fontSize+8), and invalidates. 0x00867000 1843 UITextWidget__set_dual_line_entry ui_framework Sets text with two line entries (main text + optional secondary text). Clears existing entries, pushes main text, optionally processes secondary text (with town info search), measures both entries' widths (taking the maximum), and resizes widget. Uses per-character width measurement. Height = line count * (fontSize+2) + 6. 0x00867740 535 UITextWidget__set_single_line_entry_alt ui_framework Sets a single text line entry (alternate). Similar to UITextWidget__set_single_line_entry but with different resize logic: uses per-character width measurement, swaps width/height params in resize call. Stores measured width at offset 0x30. 0x00867960 136 UIScrollableText__set_scroll_text game_core Sets the scrollable text content. Assigns param_2 to the text string at offset 0x48, calls virtual layout (0xE4). If this is the local player's widget, clears and re-inserts text into the input manager. Then calls virtual 0xD8 and invalidates parent widget. 0x008679F0 16 UIWidget__set_field_0x11c ui_framework Simple setter that stores param_2 at offset 0x11C. 0x00867A00 145 UIComboBoxWidget__push_history_entry game_core Pushes the current text into the combo box history list. If history has more than 4 entries, removes the oldest. Copies the string from offset 0xD8 into the history vector (0x134-0x138). Resets history navigation index to 0. 0x00867AA0 44 UIWidget__set_text_from_cstr_alt2 ui_framework Sets text from a C-string. Calculates length, assigns via STL_lib_func_004fa8f0. Yet another variant used by a different widget field. 0x00867AD0 220 UITextWidget__set_sprite_name_with_extensions ui_framework Sets sprite resource names from a base filename. Copies param_1 to a 256-byte buffer, strips the last 2 characters, then assigns the truncated name + ".bmp" to one string field and the truncated name + ".pal" to another. Used to set both the bitmap and palette file paths for a sprite resource. 0x00867BB0 21 UIWidget__set_index_and_invalidate ui_framework Sets the active index (offset 0xC) and invalidates the widget for redraw. 0x00867BD0 193 UITextWidget__set_text_with_wrap_check ui_framework Sets text content with automatic line wrapping check. Assigns text to two string fields, sets param_3 flag at 0x23, clears 0x29. Measures text width; if it exceeds widget width, calls FUN_00868880 to word-wrap. Otherwise resizes widget to fit text and invalidates. 0x00867CA0 206 UITextWidget__set_text_with_auto_resize ui_framework Sets text with automatic widget resizing. Assigns to two string fields, sets shadow flag, clears 0x29. If text is wider than widget, word-wraps via FUN_00868880. Otherwise resizes widget to exact text width and invalidates. 0x00867D70 165 UITextWidget__set_text_force_resize ui_framework Sets text and always resizes widget to text width. Assigns to two string fields, sets shadow flag (0x23), clears 0x29. Measures text width with font params and resizes widget unconditionally, then invalidates. 0x00867E20 154 UITextWidget__set_text_expand_only ui_framework Sets text and expands widget width if text is wider. Only resizes if text width exceeds current widget width. Assigns text to two string fields, sets shadow flag, clears 0x29, and invalidates. 0x00867EC0 91 UIDropdownWidget__set_items_from_string ui_events Sets dropdown items from a delimited string. Clears existing items in the vector at 0x84 (destroys 0x18-byte string entries), then calls FUN_009b4220 to parse param_2 with delimiter param_3 and populate the items vector. 0x00867F20 156 UIDropdownWidget__set_items_parsed ui_events Sets dropdown items by parsing a delimited string. Clears existing items, uses FUN_009b4220 or FUN_009b4730 depending on flag at 0x9C. If items were added, recalculates layout via UIListWidget__recalc_layout. 0x00867FC0 270 UIEditableTextWidget__set_text_and_configure_button game_core Sets editable text at offset 0x36, calls virtual layout (0xE4), syncs with input manager if local player. Then searches text for URL-like patterns (two global pattern strings) and calls UIButtonWidget__configure_from_params if found. Invalidates parent widget. 0x008680D0 136 UIEditableTextWidget__set_input_text game_core Sets the input text of an editable text widget. Assigns text to string at offset 0x36, calls virtual layout (0xE4). If this is the local player's widget, clears and re-inserts text into the input manager. Then calls virtual 0xD8 and invalidates parent widget. 0x00868160 29 UIFormWidget__add_entry_and_invalidate game_core Adds a form entry via FUN_008680d0 and then invalidates the widget for redraw. 0x00868180 51 UITextWidget__set_text_and_invalidate ui_framework Sets text from a C-string and invalidates the widget. Assigns the string via STL_lib_func_004fa8f0 and calls virtual invalidate (0x98). 0x008681C0 105 UITextWidget__set_text_pair ui_framework Sets the same text string to two different string fields, stores param_3 at offset 0x23, clears 0x29, and invalidates the widget. 0x00868230 71 UIFormWidget__add_entry_or_set_count game_core Adds a form entry via FUN_008680d0. If param_2 is an empty string, sets the entry count (0x128) to the current number of entries in the vector (0x11C-0x120, 0x18 bytes each). 0x00868280 128 UIListWidget__clear_and_add_item game_core Clears all existing list items and adds a single new item with data. Destroys all string entries in the vector at 0x84, resets secondary vector at 0xBC/0xC0, then calls UIListWidget__add_item_string with param_2 and pushes param_3 as associated data. 0x00868300 333 UIEditableTextWidget__truncate_text_to_fit_width game_core Truncates the editable text field (0xD8) to fit within the maximum display width. Compares text length (0xE8) against the item display area (0x88 - 0xF0). Uses CharNextExA/CharPrevExA for multibyte-safe character navigation. Updates the input manager with the truncated text and pads with spaces if needed. 0x00868450 281 UIEditableTextWidget__pad_text_to_fill_width game_core Pads the editable text field (0xD8) to fill the display width when the item count (0x88) exceeds text length (0xE8). Truncates text to fit using multibyte-safe CharNextExA/CharPrevExA, then appends space characters until text length meets the item display width. 0x00868570 52 UITextWidget__set_color_and_shadow ui_framework Sets text color (R,G,B packed into offset 0x2A) and shadow color (param_5 at offset 0x2B), then invalidates the widget. 0x008685B0 39 UIWidget__set_fields_1f_20_21_invalidate ui_framework Sets three fields (0x1F, 0x20, 0x21) from params and invalidates the widget. 0x008685E0 353 UIFormWidget__add_text_entry game_core Adds a text entry to a form widget. Takes text ID, font params, position, and flags. Auto-centers horizontally (x=-1000) and vertically (y=-1000) by measuring text. Checks for duplicate entries by ID. Stores as a 0x1C-byte struct in the vector at 0x138. 0x00868750 154 UITextWidget__set_text_auto_width ui_framework Sets text and auto-sizes widget width to fit. Assigns text to two string fields, clears 0x29, invalidates, measures text width using font params from 0x26-0x28, and resizes widget to text width + 2. 0x008687F0 142 UITextWidget__set_numeric_text ui_framework Sets the widget text from a numeric value. Formats param_2 as a string using lua_util_sprintf with format string from DAT_010dbe28 (%d), assigns to both string fields, clears 0x29, and invalidates. 0x00868880 882 UITextWidget__word_wrap_text ui_framework Performs word-wrapping on text content. Splits text into lines based on widget width, using font measurement functions. Handles multi-byte characters (Korean/Japanese) and resizes the widget height to fit all wrapped lines. 0x00868C00 1491 UITextWidget__word_wrap_and_layout ui_framework Performs word wrapping with full layout calculation. Extended version of word_wrap_text that also handles embedded objects, text styling, and multi-line positioning. 0x008691E0 167 UITextWidget__set_text_with_wrap ui_framework Sets text content with word wrapping. Assigns text to two string fields, sets shadow flag (0x23), clears 0x29. Measures text width; if it exceeds widget width (accounting for shadow padding), calls FUN_00868880 to wrap. Always invalidates. 0x00869290 242 UITextWidget__set_text_centered ui_framework Sets text content with horizontal centering. Assigns text to two string fields (0x2A and another), sets shadow flag at 0x23, clears 0x29 and 0x36. Measures text width; if it fits, calculates centered x-offset (0x36) = (width - textWidth) * 0.5. If too wide, word-wraps via FUN_00868880. 0x00869390 535 UITextWidget__add_or_update_styled_text_entry ui_framework Adds or updates a styled text entry in the vector at 0x120 (0x34-byte structs). Each entry has: text string, position, font size, font ID, bold flag, italic flag, and two additional params. If an entry with the same index already exists, updates it in place. Otherwise appends a new entry to the vector. Cleans up temp string on exit. 0x008695B0 146 UIButtonWidget__set_texture_for_state ui_events Sets a button texture for a specific state (0=normal, 1=pressed, 2=hover, 3=disabled). Loads the texture, tracks max width/height at 0xB4/0xB8 across all state textures. Returns 1 on success, 0 if texture loading is disabled (DAT_016d3b10). 0x00869700 44 UIWidget__assign_cstr_to_field ui_framework Assigns a C-string to a std::string field. Calculates length and calls STL_lib_func_004fa8f0. 0x00869730 47 UIWidget__assign_cstr_safe ui_framework Safely assigns a C-string to a std::string field. Null-checks param_1 before computing length and calling STL_lib_func_004fa8f0. 0x00869760 47 UIWidget__assign_cstr_safe_alt ui_framework Safely assigns a C-string to a std::string field (alternate). Same null-check pattern as UIWidget__assign_cstr_safe. 0x00869790 47 UIWidget__assign_cstr_safe_alt2 ui_framework Safely assigns a C-string to a std::string field (alternate 2). Same null-check pattern. 0x008697C0 25 UIWidget__set_offset_ac_b0 ui_framework Sets two values at offsets 0xAC and 0xB0 on a widget. Used for position or size overrides. 0x008697E0 16 UIWidget__set_field_0xb4 ui_framework Simple setter for field at offset 0xB4. 0x008697F0 16 UIWidget__set_field_0x9c ui_framework Simple setter for field at offset 0x9C. 0x00869800 16 UIWidget__set_flag_0x138 ui_framework Sets a single byte flag at offset 0x138. 0x00869810 1378 UITextWidget__layout_text_with_links ui_framework Lays out text content with embedded item links for a UITextWidget. Processes the input text through UITextWidget__process_embedded_links, splits it into lines by width via CEffect__split_text_into_lines_by_width, processes item links via CItemLink__build_display_text, then parses and creates item link widgets for each line. Updates line count at offset 0x4f (param_1[0x13c]). Handles special scrollbar mode (param_1[0x4d]) with adjusted width. Finally calls virtual 0xd4 to set the processed text. 0x00869D80 158 UIWidget__reposition_if_overlapping ui_framework Repositions a widget if it overlaps with another widget (param_2). Checks bounding rect intersection via FUN_00af64a0. If overlapping: moves to the right edge of param_2 + 3px (param_3=0) or left edge - 3px (param_3=1) to avoid overlap. 0x00869E30 549 UITextWidget__navigate_input_history_next ui_framework Navigates to the next entry in the text input history. Manages a vector of strings (fields 0x47-0x49) with current index at 0x50. If at the last entry and it exceeds max count (0x52), erases the oldest entry. Calls virtual 0xe0 to refresh and virtual 0xd4 to set the displayed text to the next history entry. Shows empty text constant (DAT_010d4ee8) when past the end. 0x0086A060 1255 UITextWidget__add_or_find_input_history_entry ui_framework Adds a new text entry to the input history or finds the matching existing entry. Searches the string vector (fields 0x47-0x49) for a match with the current text (field 0x36). If found, sets index (0x4a) to that position. If not found, appends a new entry (possibly removing oldest if over limit of 0x1d). Calls virtual 0xd4 to set displayed text. When no history exists, initializes the total count (0x4a). 0x0086A550 130 UIWidget__position_selection_start_marker ui_framework Positions the text selection start marker (global DAT_01457a24). Converts text position to screen coords via FUN_00a7d870, clamps to screen bounds (DAT_01389638), then positions the marker widget below the text widget. 0x0086A5E0 130 UIWidget__position_selection_end_marker ui_framework Positions the text selection end marker (global DAT_01457a2c). Same logic as position_selection_start_marker but for the end-of-selection handle. 0x0086A670 162 UIFormWidget__update_entry_text game_core Updates the text of a form entry at a specified index. Validates index against the vector bounds (0x48-0x49 range with 0x34-byte entries). If valid and not the same pointer, copies the string data. Then invalidates and cleans up temporary string. 0x0086A720 93 std__destroy_range_0x1c stl Destroys a range of 0x1C-byte elements containing std::strings. Iterates from param_1 to param_2, calling STL_string_dtor on each element. 0x0086A780 92 std__destroy_range_0x34 stl Destroys a range of 0x34-byte elements containing std::strings. Iterates from param_1 to param_2, calling STL_string_dtor on each element. 0x0086A7E0 129 std__vector_free_aligned stl Frees the aligned memory backing a std::vector of 4-byte elements. Handles aligned allocation (32-byte alignment for blocks > 0x1000). Resets all three vector pointers to 0. 0x0086A870 64 std__uninitialized_copy_0x1c stl Copies a range of 0x1C-byte elements via memcpy. Returns pointer past the last copied element in the destination. 0x0086A8B0 10 thunk_to_std__Xlength_error_0086a8b0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x0086A8C0 10 thunk_to_std__Xlength_error_0086a8c0 stl Thunk that calls std::_Xlength_error for vector allocation failure 0x0086A8D0 10 thunk_to_std__Xlength_error_0086a8d0 stl Wrapper that calls std::_Xlength_error for vector allocation failure 0x0086A8E0 10 thunk_to_std__Xlength_error_0086a8e0 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x0086A8F0 92 std__vector_alloc_4byte_aligned stl Allocates memory for a std::vector of 4-byte elements. Multiplies count by 4, uses aligned allocation for blocks > 0x1000. Throws bad_array_new_length if count >= 0x40000000. 0x0086A950 95 std__allocate_array_12byte_elements stl STL array allocator for elements of size 12 (0xC) bytes. Checks for overflow, uses aligned allocation for sizes >= 0x1000, otherwise direct heap alloc. Throws bad_array_new_length on overflow. 0x0086A9B0 95 std__allocate_array_20byte_elements stl STL array allocator for elements of size 20 (0x14) bytes. Checks for overflow, uses aligned allocation for sizes >= 0x1000, otherwise direct heap alloc. Throws bad_array_new_length on overflow. 0x0086AA10 241 std__string_assign_fill stl STL string::assign(count, char). Assigns param_2 copies of param_3 character. Handles SSO (small string optimization) - if capacity > 15, string is heap-allocated. Grows capacity using 1.5x strategy. Frees old buffer if heap-allocated. 0x0086AB10 133 std__vector_clear_string_elements stl STL vector::clear() for a vector of elements containing strings (element size 0x1C = 28 bytes). Iterates through elements calling string destructor on each, then resets size to begin. Uses SEH for exception safety. 0x0086ABA0 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x0086ABE0 67 std__free_aligned_array_28byte stl Frees an aligned heap allocation that held an array of 28-byte (0x1C) elements. Retrieves original allocation pointer from 4 bytes before aligned address for large allocations (>= 0x1000). 0x0086AC30 56 std__free_aligned_array_52byte stl Frees an aligned heap allocation that held an array of 52-byte (0x34) elements. Retrieves original allocation pointer from 4 bytes before aligned address for large allocations (>= 0x1000). 0x0086AC70 67 std__free_aligned_array_28byte_v2 stl Frees an aligned heap allocation for array of 28-byte elements. Second instance - same logic as std__free_aligned_array_28byte but separate code generation. 0x0086ACC0 95 std__list_erase_node stl STL list::erase(iterator). Removes a node from a doubly-linked list by relinking prev/next pointers, decrements list size, frees the 12-byte node, and returns iterator to next element. Uses SEH. 0x0086AD30 167 std__vector_erase_string_element stl STL vector::erase for elements of size 0x18 (24 bytes) that contain strings. Shifts subsequent elements forward by move-assigning them (copies 24 bytes + transfers string ownership), destroys last element, decrements end pointer. Uses SEH. 0x0086ADE0 383 std__vector_bool_erase stl STL vector::erase(iterator). Erases a single bit from the bit-packed vector by shifting all subsequent bits down by one position. Updates capacity tracking, masks unused high bits, and returns iterator to erased position. 0x0086AF70 42 UIWidget__set_enabled_state ui_framework Sets enabled/disabled state on a UI widget. Stores param_2 at this+0xE0, calls virtual function at vtable+0x38 with inverted state, then calls virtual at vtable+0x98 to refresh display. 0x0086AFA0 116 UIListItem__ctor_with_id ui_framework Constructor for a list item with an integer ID and empty SSO string. Copies ID from param_3, initializes string fields to empty (size=0, capacity=0xF for SSO), sets additional field to 0. 0x0086B020 15 UIContainer__is_empty game_core Returns true if the container's child count at offset 0x24 is zero (container is empty). 0x0086B030 34 std__copy_range_memcpy stl Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer to end of destination (param_3 + copied size). Used by STL algorithms for trivially copyable types. 0x0086B060 34 std__copy_range_memcpy_v2 stl Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns end-of-destination pointer. Duplicate template instantiation of std__copy_range_memcpy. 0x0086B090 34 std__copy_range_memcpy_v3 stl Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns end-of-destination pointer. Third template instantiation of range copy. 0x0086B0C0 166 std__list_insert_node stl STL list::insert - allocates a 12-byte node (next, prev, value), links it before param_2 position. Increments list size at this+4. Throws length_error if at max capacity (0x15555555). 0x0086B170 276 std__vector_int_insert_realloc stl STL vector::insert with reallocation. Grows capacity by 1.5x, allocates new buffer, copies value at insertion point, memcpy's elements before/after. Frees old buffer via FID_conflict__Change_array. Throws length_error at 0x3FFFFFFF elements. 0x0086B2B0 577 std__vector_insert_realloc_28byte stl STL vector::insert with reallocation for 28-byte (0x1C) elements containing strings. Allocates new aligned buffer (1.5x growth), copies 28-byte element at insert position, relocates existing elements, frees old buffer. Max 0x9249249 elements. 0x0086B500 276 std__vector_int_insert_realloc_v2 stl STL vector::insert with reallocation (variant 2). Same 1.5x growth, memcpy-based relocation, throws length_error at 0x3FFFFFFF. Uses different allocator than v1. 0x0086B640 337 std__vector_int_insert_realloc_v3 stl STL vector::insert with reallocation (variant 3). Uses aligned allocation, frees old buffer with alignment-aware deallocator. 1.5x growth strategy, max 0x3FFFFFFF elements. 0x0086B7B0 276 std__vector_int_insert_realloc_v4 stl STL vector::insert with reallocation (variant 4). Same pattern as other vector insert variants - 1.5x growth, memcpy relocation, FID_conflict__Change_array for cleanup. 0x0086B8F0 554 std__vector_insert_realloc_12byte stl STL vector::insert with reallocation for 12-byte (0xC) elements. Allocates aligned buffer with 1.5x growth, uses move-construct and relocate helpers for elements. Destroys old elements and frees old buffer. Max 0x15555555 elements. 0x0086BB20 141 std__map_recursive_node_destroy stl Recursively destroys red-black tree nodes (std::map/set). Each node is 0x30 bytes with a string member. Traverses left children iteratively (checking color byte at offset 0xD), recursing on right children, destroying strings and freeing nodes. 0x0086BBB0 75 STL_map_lower_bound_int_0086bbb0 stl STL red-black tree lower_bound search by integer key, returns iterator 0x0086BC00 75 STL_map_lower_bound_int_0086bc00 stl STL red-black tree lower_bound search by integer key, returns iterator 0x0086BC50 91 linked_list_delete_all_0x1d0 stl Walks linked list freeing each 0x1D0 byte node, resets count to 0 0x0086BCB0 88 STL_vector_move_string_elements stl Moves STL string elements (24 bytes each) between ranges, leaves source empty 0x0086BD10 162 STL_vector_relocate_12byte_elements stl Relocates 12-byte elements from source to dest range, zeroes source 0x0086BDC0 51 STL_vector_move_construct_12byte stl Move-constructs single 12-byte element, zeroes source triplet 0x0086BE00 242 STL_map_emplace_int_key_0086be00 stl Emplaces new 0x30 byte node into red-black tree map with integer key, returns pair 0x0086BF00 47 int64_min_compare game_core Returns the smaller of two 64-bit integer values via signed comparison 0x0086BF30 141 map_node_init_with_string_move game_core Initializes map tree node by copying key fields and move-constructing embedded string 0x0086BFC0 147 map_node_init_with_string_move_0086bfc0 game_core Initializes map tree node variant, copies fields and move-constructs embedded string at offset 1 0x0086C060 181 STL_vector_copy_construct_int stl Copy-constructs int vector: allocates buffer, memcpy elements from source 0x0086C120 103 UIWidgetC__ctor ui_framework UIWidgetC constructor. Calls CEffect__ctor as base, sets vtable to UIWidgetC vtable (PTR_UIWidgetC__scalar_deleting_dtor_01135cf0), initializes flag=0 at offset 0x7C and color=0xFFFFFF at offset 0x80. Object size 0x84 bytes. 0x0086C190 176 UIColorButton__ctor game_core Constructs UI color button widget, sets RGB color constants (0x8E,0x2A,0x4B,0x8F) 0x0086C240 103 UIWidget__ctor_0086c240 ui_framework Constructs UI widget with vtable 0x01134488, initializes two flags to 0 0x0086C2B0 93 UIWidget__ctor_0086c2b0 ui_framework Constructs UI widget with vtable 0x011342D8, initializes flag at offset 0x1F to 0 0x0086C310 124 UIPanel__ctor_0086c310 game_core Constructs UI panel with vtable 0x01134200, zeroes fields at offsets 0x29 and 0x33 0x0086C390 124 UIPanel__ctor_0086c390 game_core Constructs UI panel with vtable 0x01134128, zeroes fields at offsets 0x29 and 0x33 0x0086C410 175 UITextInput__ctor game_core Constructs UI text input widget with embedded string buffer (SSO), initial cursor pos -1 0x0086C4C0 103 UIWidget__ctor_0086c4c0 ui_framework Constructs UI widget with vtable 0x01136BEC, index field set to -1 0x0086C530 84 UIDialogBox2__ctor ui_windows Constructs UIDialogBox2 by calling UIDialogBox__ctor base, then overrides vtable to UIDialogBox2 (0x01134C20) 0x0086C590 388 UIMultiStringWidget__ctor game_core Constructs UI widget with 6 embedded SSO strings and vector fields, sprite ID 0xD7 0x0086C720 135 UITokenizerWidget__ctor game_core Constructs UITokenizerWidget with base CEffect ctor, embedded sprite via CSprite__constructor_inline, and SSO string buffer at offset 0x68 0x0086C7B0 114 UIListItem__ctor ui_framework Constructs list item widget, calls base ctor 0x0086c8d0, sets RGB fields to 0xFF 0x0086C830 147 UIListItemEx__ctor ui_framework Constructs extended list item, inherits from UIListItem, adds enabled=1 and type=0xC fields 0x0086C8D0 619 UIListBase__ctor game_core Constructs list base widget with 2 sentinel nodes, reserves 0xF0 capacity in 6 vectors 0x0086CB40 94 UIListWidget__ctor_0086cb40 game_core Constructs list widget calling base 0x0086d940, sets ID field to 0x2739 0x0086CBA0 124 UIScrollableWidget__ctor game_core Constructs scrollable widget calling base 0x0086cc20, zeroes 4 scroll state fields 0x0086CC20 192 UIRenderWidget__ctor game_core Constructs render widget with RGB color (0xFF each), zeroes transform fields, spacing=0x28 0x0086CCE0 94 UITreeWidget__ctor game_core Constructs tree widget inheriting from 0x0086cd40, zeroes extra field 0x0086CD40 340 UITreeBase__ctor game_core Constructs tree base with RB-tree sentinel node, RGB color 0xFF, line height 0x10, ID 0x2739 0x0086CEA0 150 UIDropdown__ctor ui_events Constructs dropdown widget with linked list sentinel (0x18 byte nodes), ID 0x2739 0x0086CF40 151 UILabelWidget__ctor game_core Constructs label widget with SSO string buffer, initial index -1, zeroes extra fields 0x0086CFE0 121 UIRenderWidgetEx__ctor game_core Constructs extended render widget inheriting UIRenderWidget, adds string buffer at offset 0x2A 0x0086D060 321 UIChatWindow__ctor game_core Constructs chat window with 2 arrays of 5 strings each, 3 SSO strings, timestamp via timeGetTime 0x0086D1B0 154 UIToggleWidget__ctor game_core Constructs toggle widget, calls base 0x0084f250, sets toggle state=1 and zeroes fields 0x0086D250 121 UISimpleDialogWidgetDerived__ctor game_core Constructs a derived UISimpleDialogWidget. Calls UISimpleDialogWidget__ctor base, sets vtable 0x0113741C, zeroes 3 state fields and a bool flag 0x0086D2D0 163 UIThemeColors__ctor game_core Constructs theme color widget with 8 hardcoded color values for UI theme palette 0x0086D380 126 UIContainer__ctor_0086d380 game_core Constructs UI container widget, zeroes 4 layout/position fields 0x0086D400 205 UISelectWidget__ctor game_core Constructs select widget with 2 SSO strings, ID 0x2739, selection index -1 0x0086D4D0 95 UIFmtDialog__ctor_0086d4d0 game_core Constructs UIFmtDialog widget. Calls UIWidget__ctor_0086eeb0 base, then CItemDesc__ctor_alt sub-init, sets vtable to UIFmtDialog (0x01136D9C) 0x0086D530 91 UITreeViewWidget__ctor ui_events Constructs tree view widget inheriting UITreeBase, zeroes bool flag at offset 0x31 0x0086D590 91 UIRenderWidgetSimple__ctor game_core Constructs simple render widget inheriting UIRenderWidget, zeroes bool at offset 0x2A 0x0086D5F0 119 UIFmtDialogEx__ctor game_core Constructs extended UIFmtDialog (0x200-size variant). Calls UIWidget__ctor_0086eeb0 base + CItemDesc__ctor_alt, sets enabled=1 and state=0, vtable 0x01137268 0x0086D670 258 UIListDetailWidget__ctor game_core Constructs list detail widget with 0x1D0 byte sentinel node and 2 SSO string buffers 0x0086D780 84 UIListDetailWidgetA__ctor game_core Constructs list detail variant A inheriting UIListDetailWidget, overrides vtable 0x0086D7E0 114 UIListDetailWidgetB__ctor game_core Constructs list detail variant B inheriting UIListDetailWidget, adds 3 extra fields 0x0086D860 84 UIListDetailWidgetC__ctor game_core Constructs list detail variant C inheriting UIListDetailWidget, overrides vtable only 0x0086D8C0 113 UIGridWidget__ctor game_core Constructs grid widget from base 0x0086d940, sets column count=0xC and zeroes flags 0x0086D940 331 UIScrollListBase__ctor game_core Constructs scroll list base with vectors, RGB 0xFF, line height 16, scroll mode 3 0x0086DA90 317 UITreeBase__ctor_variant game_core Constructs tree base variant with RB-tree sentinel (0x30 bytes), RGB 0xFF, line height 16 0x0086DBD0 317 UITreeBase__ctor_scrollmode3 game_core Constructs tree base with scroll mode 3, RB-tree sentinel, RGB 0xFF, line height 16 0x0086DD10 138 UIScrollListHighlight__ctor game_core Constructs highlighted scroll list from base, highlight color 0xD2D2D2, selection index -1 0x0086DDA0 104 UITreeHighlight__ctor game_core Constructs highlighted tree widget, line height 15, highlight color 0x92C0FA 0x0086DE10 127 UIListEx__ctor game_core Constructs extended list widget inheriting UIListBase, sets RGB to 0xFF 0x0086DE90 204 UIColoredLabel__ctor game_core Constructs colored label from UIThemeColors, custom palette, line spacing 0x19, enabled flag 0x0086DF60 121 UISearchDialog__ctor game_core Constructs UISearchDialog widget from base 0x0086eeb0, adds SSO string buffer at offset 0x3E for search text, vtable 0x0113787C 0x0086DFE0 212 UICanvasWidget__ctor game_core Constructs canvas widget with RGB 0xFF, zeroes 12 transform/state fields 0x0086E0C0 84 UIScrollList__ctor_0086e0c0 game_core Constructs scroll list inheriting UIScrollListBase, overrides vtable only 0x0086E120 134 UIThemedWidget__ctor game_core Constructs themed widget from UIThemeColors, zeroes 5 state/layout fields 0x0086E1B0 93 UISimpleWidget__ctor game_core Constructor for UISimpleWidget. Calls CEffect__ctor base, sets UISimpleWidget80 vtable, zeroes single state field at offset 0x1f. 0x0086E210 252 UIMultiColumnWidget__ctor game_core Constructs multi-column themed widget, zeroes 9 column state fields at 10-dword intervals 0x0086E310 130 UINamedWidget__ctor game_core Constructs named widget with string copy for name parameter and extra state field 0x0086E3A0 104 UIProgressBar__ctor ui_framework Constructs progress bar widget from UIThemeColors, max value=100 0x0086E410 94 UIBaseWidgetA__ctor game_core Constructor for UIBaseWidgetA. Inherits UISpriteWidget, overrides vtable, sets spacing field to 10. 0x0086E470 94 UIBaseWidgetA2__ctor game_core Constructor for UIBaseWidgetA2. Inherits UISpriteWidget, overrides vtable, sets spacing field to 9. 0x0086E4D0 114 UIBaseWidgetA_B8__ctor game_core Constructor for UIBaseWidgetA_B8. Inherits UISpriteWidget, sets column count=6, spacing=0, row height=12. 0x0086E550 223 UISpriteWidget__ctor game_core Constructs sprite widget with default spacing 13, enabled flag, zeroes 9 state fields 0x0086E630 164 UISpriteWidgetEx__ctor game_core Constructs extended sprite widget, zeroes 8 additional layout/state fields 0x0086E6E0 104 UISmallSpriteWidget__ctor game_core Constructs small sprite widget with spacing=7 in both dimensions 0x0086E750 128 UIScrollListEx__ctor game_core Constructs extended scroll list from UIScrollListBase, adds 4 zeroed state fields 0x0086E7D0 106 UIWidgetTypeB__ctor ui_framework Constructor for UIWidgetTypeB. Calls CEffect__ctor base, sets UIWidgetTypeB vtable, zeroes 2 state fields at offsets 0x21-0x22. 0x0086E840 142 UISliderWidget__ctor game_core Constructs slider widget with parameter value, index -1, range 0x50000 0x0086E8D0 149 UISliderWidgetEx__ctor game_core Constructs extended slider widget with param value, index -1, range 0x50000, extra bool flag 0x0086E970 97 UITwoStringWidget__ctor game_core Constructor for UITwoStringWidget. Calls CEffect__ctor base then CItemDesc__ctor_alt for sub-object initialization. Sets UITwoStringWidget178 vtable. 0x0086E9E0 110 UITwoStringWidgetDerived__ctor game_core Constructor for UITwoStringWidgetDerived. Same as UITwoStringWidget__ctor but overrides vtable a second time to UITwoStringWidgetDerived vtable at 0x011377A4. 0x0086EA50 342 UIFormWidget__ctor game_core Constructs form widget with 4 SSO string buffers and state fields, enabled by default 0x0086EBB0 94 UIDialogBoxDerived2__ctor ui_windows Constructor for UIDialogBoxDerived2. Inherits UIDialogBox, overrides vtable, zeroes state field at offset 0x48. 0x0086EC10 219 UITextWidget__ctor ui_framework Constructs text widget with SSO string, font size 12, text color 0xFFFFFF, bold/italic flags 0x0086ECF0 305 UITabWidget__ctor game_core Constructs tab widget with 18 zeroed state fields, tab height=12, selection index -1 0x0086EE30 113 UIVectorIntWidget__ctor game_core Constructor for UIVectorIntWidget. Calls CEffect__ctor base, sets UIVectorIntWidget vtable, zeroes 3 state fields at offsets 0x1f-0x21. 0x0086EEB0 179 UIFmtStringDialog__ctor game_core Constructor for UIFmtStringDialog. Inherits UITextDisplayWidget, sets vtable, initializes SSO string buffer, text color 0xFFFFFF (white), and 3 extra state fields. 0x0086EF70 300 UIColoredScrollList__ctor game_core Constructs colored scroll list, line height 18, computes font color via RGB lookup, adds 6 extra fields 0x0086F0A0 223 UIColoredScrollListBase__ctor game_core Constructs colored scroll list base, line height 18, computes font color via RGB lookup 0x0086F180 190 UIIconWidget__ctor game_core Constructs icon widget with icon size 5x20, zeroes 10 state fields 0x0086F240 104 UISprite12x9__ctor game_core Constructs sprite widget variant with cell size 12x9 0x0086F2B0 144 UIWidget__init_linked_list_0x180 ui_framework Initializes linked list with 0xC byte sentinel at object offset 0x180, zeroes related fields 0x0086F340 65 STL_string_dtor_wrapper_0086f340 stl SEH wrapper around STL string destructor 0x0086F390 67 free_0xc_node stl Frees 0xC byte node at offset 4 if non-null 0x0086F3E0 70 free_0x1d0_node stl Frees 0x1D0 byte node at offset 4 if non-null 0x0086F430 67 free_0x14_node stl Frees 0x14 byte node at offset 4 if non-null 0x0086F480 67 free_0x30_node_0086f480 stl Frees 0x30 byte node at offset 4 if non-null 0x0086F4D0 67 free_0x30_node_0086f4d0 stl Frees 0x30 byte node at offset 4 if non-null 0x0086F520 33 UIWidget__release_child_at_9 ui_framework Releases child widget at offset 9 via vtable call, sets pointer to null 0x0086F550 78 free_0xc_node_0086f550 stl Frees 0xC byte node at offset 4 if non-null 0x0086F5A0 81 free_0x1d0_node_0086f5a0 stl Frees 0x1D0 byte node at offset 4 if non-null 0x0086F600 104 cleanup_and_free_0x14_node game_core Runs cleanup on 0x14 byte node via FUN_0089f2d0 then frees it 0x0086F690 76 rbtree_clear_and_free_sentinel game_core Clears all RB-tree nodes then frees 0x30 byte sentinel 0x0086F6F0 126 destroy_string_and_free_0x30_node game_core Destroys embedded string then frees 0x30 byte node at offset 4 0x0086F770 123 destroy_string_and_free_0x30_node_0086f770 game_core Destroys embedded string then frees 0x30 byte node at offset 4 0x0086F7F0 78 free_0x30_node_0086f7f0 stl Frees 0x30 byte node at offset 4 if non-null 0x0086F840 78 free_0x30_node_0086f840 stl Frees 0x30 byte node at offset 4 if non-null 0x0086F8C0 92 UIWidget__release_child_at_9_0086f8c0 ui_framework SEH wrapper: releases child widget at offset 9 via vtable call, sets to null 0x0086F920 103 linked_list_destroy_0xc_nodes stl Walks linked list freeing all 0xC byte nodes including sentinel 0x0086F990 109 linked_list_destroy_0x1d0_nodes stl Walks linked list freeing all 0x1D0 byte nodes including sentinel 0x0086FA10 121 linked_list_cleanup_and_destroy_0x14 stl Walks linked list, runs cleanup on each 0x14 byte node then frees all including sentinel 0x0086FA90 87 rbtree_clear_and_free_sentinel_0086fa90 game_core Clears all RB-tree nodes then frees 0x30 byte sentinel 0x0086FAF0 83 STL_string_dtor_wrapper_0086faf0 stl SEH wrapper around STL string destructor at offset 4 0x0086FB50 80 STL_string_dtor_wrapper_0086fb50 stl SEH wrapper around STL string destructor at offset 4 0x0086FBA0 65 STL_string_dtor_wrapper_0086fba0 stl SEH wrapper around STL string destructor 0x0086FBF0 129 STL_vector_int_destroy stl Destroys int vector: frees buffer with large-block alignment check, zeroes triplet 0x0086FC90 5 STL_vector_int_destroy_0086fc90 stl Inline copy of STL_vector_int_destroy: frees int vector buffer with large-block alignment check, zeroes triplet. Not a thunk (full code, different SEH label). 0x0086FCA0 220 STL_vector_0x3c_elem_destroy stl Destroys vector of 0x3C byte elements, calls 2 string dtors per element then frees buffer 0x0086FD80 159 STL_vector_0x1c_elem_destroy stl Destroys vector of 0x1C byte elements, frees buffer with alignment check 0x0086FE30 174 STL_vector_destroy_CUIChatLog_entries stl Destroys vector of 0xC-byte CUIChatLog entry elements by calling CUIChatLog__destroy_single_entry on each, then frees the backing buffer 0x0086FEF0 71 UIWindow__base_dtor ui_events Destructor for UI window base: resets vtable, calls base cleanup FUN_00a79e90 0x0086FF40 84 UIColorButton__dtor game_core Destructor for UI color button: resets 2 vtables then calls base cleanup 0x0086FFA0 71 UIWidget__dtor_0086ffa0 ui_framework Destructor for widget vtable 0x01134488: resets vtable then calls base cleanup 0x0086FFF0 71 UIWidget__dtor_0086fff0 ui_framework Destructor for widget vtable 0x011342D8: resets vtable then calls base cleanup 0x00870040 172 UIPanel__dtor_00870040 game_core Destructor for UI panel: releases 2 child widgets at offsets 0x33 and 0x29 then base cleanup 0x008700F0 172 UIPanel__dtor_008700f0 game_core Destructor for UI panel variant: releases 2 child widgets then base cleanup 0x008701A0 136 UITextInput__dtor game_core Destructor for UI text input: destroys 3 embedded strings then base cleanup 0x00870230 71 UIWidget__dtor_00870230 ui_framework Destructor for widget vtable 0x01136BEC: resets vtable then calls base cleanup 0x00870280 71 UIDialogBox2__dtor ui_windows Destructor for UIDialogBox2: resets vtable to UIDialogBox2 (0x01134C20), then delegates to UIDialogBox__dtor for cleanup. 0x008702D0 182 UIMultiStringWidget__dtor game_core Destructor: destroys 5 embedded strings, one 0x1C vector, then base cleanup 0x00870390 130 UITokenizerWidget__dtor game_core Destructor for UITokenizerWidget: calls sub-object dtor via vtable, destroys embedded CTokenizer string, resets CTokenizer vtable, then base cleanup. 0x00870420 71 UIListItem__dtor ui_framework Destructor for list item: resets vtable, calls list base dtor 0x00870470 84 UIListItemEx__dtor ui_framework Destructor for extended list item: resets 2 vtables, calls list base dtor 0x008704D0 216 UIListBase__dtor game_core Destructor for list base: destroys 3 format objects, 2 vectors, linked list, then base cleanup 0x008705B0 108 UIListWidget__dtor game_core Destructor for list widget: destroys format object then base cleanup 0x00870620 84 UIScrollableWidget__dtor game_core Destructor for scrollable widget: resets 2 vtables then base cleanup 0x00870680 71 UIRenderWidget__dtor game_core Destructor for render widget: resets vtable then base cleanup 0x008706D0 152 UITreeWidget__dtor game_core Destructor for tree widget: resets 3 vtables, clears RB-tree, frees sentinel, base cleanup 0x00870770 139 UITreeBase__dtor_00870770 game_core Destructor for tree base: resets 2 vtables, clears RB-tree, frees sentinel, base cleanup 0x00870800 164 UIDropdown__dtor ui_events Destructor for dropdown: destroys tree, clears RB-tree, frees sentinel, base cleanup 0x008708B0 92 UILabelWidget__dtor game_core Destructor for label widget: destroys embedded string, base cleanup 0x00870910 108 UIRenderWidgetEx__dtor game_core Destructor for extended render widget: destroys string, resets parent vtable, base cleanup 0x00870980 95 UIChatWindow__dtor game_core Destructor for chat window: calls string array cleanup, then base cleanup 0x008709E0 71 UIBaseDialog__dtor game_core Destructor for UIBaseDialog: resets vtable to UIBaseDialog (0x0113403C), then calls UIBaseDialog__destructor for cleanup. 0x00870A30 71 UISmallWidget12C__dtor game_core Destructor for UISmallWidget12C: resets vtable to 0x0113741C, then calls UISmallWidget__destructor for cleanup. 0x00870A80 71 UIThemeColors__dtor game_core Destructor for theme colors widget: resets vtable, base cleanup 0x00870AD0 71 UIContainer__dtor game_core Destructor for container widget: resets vtable, base cleanup 0x00870B20 110 UISelectWidget__dtor game_core Destructor for select widget: destroys 2 embedded strings, base cleanup 0x00870B90 167 UIFmtDialog__dtor game_core Destructor for UIFmtDialog: destroys 2 embedded strings, sets UIFmtStringDialog vtable, destroys CFmt vector and another string, then calls UIBaseDialog__destructor_2. 0x00870C40 152 UITreeViewWidget__dtor ui_events Destructor for tree view: resets 3 vtables, clears RB-tree, frees sentinel, base cleanup 0x00870CE0 84 UIRenderWidgetSimple__dtor game_core Destructor for simple render widget: resets 2 vtables, base cleanup 0x00870D40 167 UIFmtDialog200__dtor game_core Destructor for UIFmtDialog200: destroys 2 embedded strings, sets UIFmtStringDialog vtable, destroys CFmt vector and another string, then calls UIBaseDialog__destructor_2. 0x00870DF0 187 UIListDialog__dtor game_core Destructor for UIListDialog. Sets vtable, destroys two string members and additional data via FUN_0087a2f0, walks and frees linked list of 0x1D0-byte dialog item nodes, then calls UIBaseDialog destructor. 0x00870EB0 71 UIListDialogDerived__dtor game_core Destructor for a class derived from UIListDialog. Sets its own vtable pointer, then delegates to UIListDialog__dtor for cleanup. 0x00870F00 104 UIListDialogDerived2__dtor game_core Destructor for second UIListDialog-derived class. Sets vtable, destroys additional data via FUN_0087a2f0, calls CFmt destructor, then UIListDialog__dtor. 0x00870F70 89 UIListDialogDerived3__dtor game_core Destructor for third UIListDialog-derived class. Sets vtable, destroys extra data via FUN_0087a2f0, then calls UIListDialog__dtor. 0x00870FD0 108 UIFormattedWidget__dtor game_core Destructor for UIFormattedWidget. Sets two vtable pointers (dual inheritance), calls CFmt destructor, then base class destructor at FUN_00a79e90. 0x00871040 95 UIFormattedWidgetBase__dtor game_core Destructor for UIFormattedWidgetBase. Sets vtable, calls CFmt destructor (0058c230), then base destructor at FUN_00a79e90. 0x008710A0 126 UIMapWidget__dtor game_core Destructor for UIMapWidget. Sets vtable, recursively destroys map tree nodes at this+0x88, frees map sentinel node, then calls base UI destructor FUN_00a79e90. 0x00871120 126 UIPacketWidget__dtor game_core Destructor for UIPacketWidget. Sets vtable, destroys tree nodes at this+0x88 via CPacketBuffer__construct_006720c0 (recursive node cleanup), frees sentinel, calls base destructor. 0x008711A0 135 UIJsonWidget__dtor game_core Destructor for UIJsonWidget. Sets vtable, resets vector end=begin at this+0xDC/0xD8, destroys JSON data via json__internal_0051dab0, sets base vtable, calls CFmt dtor and base UI dtor. 0x00871230 139 UIPacketWidgetDerived__dtor game_core Destructor for UIPacketWidgetDerived. Sets two vtable pointers (derived then base), destroys tree nodes at this+0x88 via CPacketBuffer cleanup, frees sentinel, calls base destructor. 0x008712C0 84 UIListDerived__dtor game_core Destructor for UIListDerived. Sets two vtable pointers, then delegates to UIListBase__dtor for full cleanup. 0x00871320 97 UITripleInheritWidget__dtor game_core Destructor for a widget with triple inheritance (3 vtable pointer sets). Cascades through three vtable assignments before calling base destructor CEffect__dtor. 0x00871390 141 UISearchDialog__dtor game_core Destructor for UISearchDialog. Sets vtable, destroys a string member, sets base vtable, calls CFmt dtor, destroys another string, then calls UIBaseDialog__destructor_2. 0x00871420 95 UIFmtWidget__dtor game_core Destructor for UIFmtWidget. Sets vtable, calls CFmt__vector_of_structs_dtor destructor, then calls base UI destructor CEffect__dtor. 0x00871480 108 UIFmtWidgetDerived__dtor game_core Destructor for UIFmtWidgetDerived. Sets two vtables (derived then base), calls CFmt__vector_of_structs_dtor, then base UI destructor CEffect__dtor. 0x008714F0 84 UIDualInheritWidget__dtor game_core Destructor for UIDualInheritWidget. Sets two vtable pointers, then calls base UI destructor CEffect__dtor. No additional member cleanup needed. 0x00871550 71 UISimpleWidget__dtor game_core Destructor for a simple UI widget. Sets vtable pointer, then calls base UI destructor CEffect__dtor. No member cleanup needed. 0x008715A0 449 UIMultiChildWidget__dtor game_core Destructor for a UI widget with 8 child widget pointers (at offsets 0x31-0x77, each 0xA apart in DWORD indices). For each non-null child, calls virtual destructor at vtable+0x10 if child is separately allocated, then nulls the pointer. Calls base UI dtor last. 0x00871770 92 UIStringWidget__dtor game_core Destructor for UIStringWidget. Sets vtable, destroys one string member, then calls base UI destructor. 0x008717D0 84 UIDualInheritWidget2__dtor game_core Destructor for second dual-inheritance UI widget. Sets two vtable pointers, then calls base UI destructor CEffect__dtor. No member cleanup. 0x00871830 71 UIBaseWidgetA__dtor game_core Simple destructor for UIBaseWidgetA. Sets vtable, calls base UI destructor CEffect__dtor. 0x00871880 84 UIBaseWidgetADerived__dtor game_core Destructor for class derived from UIBaseWidgetA. Sets two vtable pointers (derived then base), calls base UI destructor. 0x008718E0 126 UIDualFmtWidget__dtor game_core Destructor for UI widget with dual CFmt formatters. Sets vtable, calls CFmt destructor twice (for two formatter members), then calls base UI destructor. 0x00871960 71 UIWidgetTypeB__dtor ui_framework Simple destructor for UIWidgetTypeB. Sets vtable, calls base UI destructor CEffect__dtor. 0x008719B0 71 UIDialogBoxDerived__dtor ui_windows Destructor for a UIDialogBox-derived class. Sets vtable, then delegates to UIDialogBoxBase__destructor for full cleanup. 0x00871A00 121 UITwoStringWidget__dtor game_core Destructor for UI widget with two string members. Sets vtable, destroys both strings via STL_string_dtor, then calls base UI destructor CEffect__dtor. 0x00871A80 134 UITwoStringWidgetDerived__dtor game_core Destructor for UITwoStringWidgetDerived. Sets two vtable pointers, destroys two string members, then calls base UI destructor. 0x00871B10 140 UIFourStringWidget__dtor game_core Destructor for a UI widget with 4 string members. Sets vtable, destroys all 4 strings sequentially, then calls base UI destructor. 0x00871BA0 71 UIDialogBoxDerived2__dtor ui_windows Destructor for second UIDialogBox-derived class. Sets vtable, delegates to UIDialogBoxBase__destructor. 0x00871BF0 95 UIStringDialog__dtor game_core Destructor for UIStringDialog. Sets vtable, destroys one string member, then calls UIBaseDialog__destructor_2. 0x00871C50 164 UIComplexDataWidget__dtor game_core Destructor for a complex UI widget. Destroys: vector of 4-byte elements, CFmt formatter, JSON data, another vector, second CFmt, then calls base UI destructor. 5-phase cleanup with SEH. 0x00871D00 92 UIVectorIntWidget__dtor game_core Destructor for UIVectorIntWidget. Sets vtable, destroys an integer vector member, then calls base UI destructor. 0x00871D60 110 UIFmtStringDialog__dtor game_core Destructor for UIFmtStringDialog. Sets vtable, destroys CFmt formatter, destroys string member, then calls UIBaseDialog__destructor_2. 0x00871DD0 172 UIMultiLayerWidget__dtor game_core Destructor for UIMultiLayerWidget with 3 inheritance levels. Sets 3 different vtables during cleanup, destroys 12-byte element vector, calls cleanup functions, CFmt destructor, then base UI destructor. 0x00871E80 126 UILayerFmtWidget__dtor game_core Destructor for UILayerFmtWidget. Sets vtable, calls CUIChatLog__destroy_single_entry_b for layer cleanup, sets base vtable to UIFormattedWidgetBase, calls CFmt__vector_of_structs_dtor, then base UI destructor CEffect__dtor. 0x00871F00 112 UIResourceWidget__dtor game_core Destructor for UIResourceWidget. Sets vtable, calls cleanup on resource at this+0x84 (via CUIChatWindow__process_hyperlink_data). If resource pointer is non-null, calls UILinkedListWidget__scalar_deleting_dtor to release it. Then calls base UI destructor CEffect__dtor. 0x00871F70 84 UIBaseWidgetADerived2__dtor game_core Destructor for second class derived from UIBaseWidgetA. Sets two vtable pointers, calls base UI destructor. 0x00871FD0 155 UIStringArrayData__dtor game_core Destructor for UIStringArrayData. Destroys 3 individual string members, then uses _eh_vector_destructor_iterator_ to destroy two arrays of 5 strings each (at offsets +8 and +0x80, each string 0x18 bytes). 0x00872070 164 UIWidget__clone_child ui_framework Clones a child widget. If param_2+0x24 is non-null, calls virtual clone function (vtable[0]) on the child to create a copy into local buffer. Passes result to FUN_0089f0e0, then destroys temp if allocated separately. 0x00872120 266 std__map_int_string__insert_or_find stl std::map::operator[] - finds or inserts entry. Uses lower_bound to find position. If key not found, allocates 0x30-byte node with key at +0x10, initializes empty SSO string value, inserts via Insert_node. Returns pointer to value at node+0x14. 0x00872230 269 std__map_int_string__insert_or_find_v2 stl std::map::operator[] variant 2. Same as insert_or_find but with slightly different node layout (string at different offset). Allocates 0x30-byte node, inserts if key not present, returns value pointer. 0x00872340 18 std__function__call_target stl std::function call operator. Checks if target at this+0x24 is non-null; if so, calls the stored callable via vtable+8. Throws std::bad_function_call if target is null. 0x00872360 99 UIWidgetC__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0x84 bytes). Sets vtable, calls base destructor, optionally frees memory if param_2 bit 0 is set. 0x008723D0 112 UIWidgetD__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0x9C bytes, dual inheritance). Sets two vtable pointers, calls base destructor, optionally frees memory. 0x00872440 99 UIWidgetE__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0x84 bytes). Sets vtable, calls base destructor, optionally frees memory. 0x008724B0 99 UIWidgetF__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0x80 bytes). Sets vtable, calls base destructor, optionally frees memory. 0x00872520 196 UITwoChildWidget__scalar_deleting_dtor game_core Scalar deleting destructor for widget with 2 child widget pointers (0xD0 bytes). Destroys children via virtual dtors if separately allocated, calls base dtor, optionally frees self. 0x008725F0 38 UIPanel__scalar_deleting_dtor game_core Scalar deleting destructor for UIPanel (0xD0 bytes). Calls UIPanel__dtor_008700f0, optionally frees memory. 0x00872620 160 UIThreeStringWidget__scalar_deleting_dtor game_core Scalar deleting destructor for widget with 3 string members (0x198 bytes). Destroys all 3 strings, calls base dtor, optionally frees. 0x008726C0 99 UIWidgetG__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0x84 bytes). Sets vtable, calls base dtor, optionally frees. 0x00872730 99 UIDialogBox2__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIDialogBox (0x120 bytes). Sets vtable, calls UIDialogBoxBase destructor, optionally frees. 0x008727A0 38 UIMultiStringWidget2__scalar_deleting_dtor game_core Scalar deleting destructor for UIMultiStringWidget (0x124 bytes). Calls UIMultiStringWidget__dtor, optionally frees. 0x008727D0 154 UITokenizerWidget__scalar_deleting_dtor game_core Scalar deleting destructor for tokenizer-based widget (0x1B8 bytes). Calls virtual dtor on tokenizer at this+0x7C, destroys string, resets tokenizer vtable to CTokenizer, calls base dtor, optionally frees. 0x00872870 99 UIListWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIListWidget (0x130 bytes). Sets vtable, calls UIListBase__dtor, optionally frees. 0x008728E0 112 UIListItemEx__scalar_dtor ui_framework Scalar deleting destructor for extended list item (0x138 bytes), calls UIListBase__dtor 0x00872950 38 UIListWidgetSmall__scalar_deleting_dtor game_core Scalar deleting destructor for small UIListWidget (0x124 bytes). Calls UIListBase__dtor, optionally frees. 0x00872980 93 UIHyperlinkText__scalar_deleting_dtor game_core Scalar deleting destructor for hyperlink text widget (0xCC bytes). Calls UIHyperlinkTextWidget__dtor, optionally frees. 0x008729E0 132 UIFmtWidgetDerived__scalar_deleting_dtor game_core Scalar deleting destructor for CFmt-derived widget (0xD8 bytes, dual inheritance). Sets vtables, calls CFmt dtor, base dtor, optionally frees. 0x00872A70 112 UIWidgetH__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0xB8 bytes, dual inheritance). Sets two vtables, calls base dtor, optionally frees. 0x00872AE0 99 UIWidgetI__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0xA8 bytes). Sets vtable, calls base dtor, optionally frees. 0x00872B50 176 UIMapWidget3__scalar_deleting_dtor game_core Scalar deleting destructor for map-based widget (0xC8 bytes, triple inheritance). Sets 3 vtables, destroys map tree nodes at this+0x88, frees sentinel, calls base dtor, optionally frees. 0x00872C00 163 UIMapWidget2__scalar_deleting_dtor game_core Scalar deleting destructor for map-based widget (0xC4 bytes, dual inheritance). Sets 2 vtables, destroys map tree, frees sentinel, calls base dtor, optionally frees. 0x00872CB0 188 UIReportWidget__scalar_deleting_dtor game_core Scalar deleting destructor for report widget (0xCC bytes). Destroys report storage tree, sets packet buffer vtable, destroys packet tree, frees sentinel, calls base dtor, optionally frees. 0x00872D70 116 UIStringWidgetA0__scalar_deleting_dtor game_core Scalar deleting destructor for string widget (0xA0 bytes). Sets vtable, destroys string member, calls base dtor, optionally frees. 0x00872DF0 132 UIStringWidgetC0__scalar_deleting_dtor game_core Scalar deleting destructor for string widget (0xC0 bytes). Sets vtable, destroys string, sets base vtable, calls base dtor, optionally frees. 0x00872E80 119 UIStringArrayDialog__scalar_deleting_dtor game_core Scalar deleting destructor for dialog with string array data (0x28C bytes). Sets vtable, calls UIStringArrayData__dtor then UIDialogBoxBase__destructor, optionally frees. 0x00872F00 99 UIBaseDialog__scalar_deleting_dtor game_core Scalar deleting destructor for UIBaseDialog (0x11C bytes). Sets vtable, calls UIBaseDialog__destructor, optionally frees. 0x00872F70 106 UISmallWidget130__scalar_deleting_dtor game_core Scalar deleting destructor for small widget (0x130 bytes). Sets vtable, calls UISmallWidget__destructor, optionally frees. 0x00872FE0 99 UISmallWidget12C__scalar_deleting_dtor game_core Scalar deleting destructor for small widget variant (300 bytes). Sets same vtable as UISmallWidget130, calls UISmallWidget__destructor, optionally frees. 0x00873050 99 UIWidgetJ__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0x9C bytes). Sets vtable, calls base dtor, optionally frees. 0x008730C0 99 UIWidgetK__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0x90 bytes). Sets vtable, calls base dtor, optionally frees. 0x00873130 134 UITwoStringWidgetCC__scalar_deleting_dtor game_core Scalar deleting destructor for two-string widget (0xCC bytes). Sets vtable, destroys 2 strings, calls base dtor, optionally frees. 0x008731C0 191 UIFmtDialog__scalar_deleting_dtor game_core Scalar deleting destructor for formatted dialog (0x1F8 bytes). Destroys 2 strings, sets base dialog vtable, calls CFmt dtor, destroys another string, calls UIBaseDialog__destructor_2, optionally frees. 0x00873280 176 UIMapWidget4__scalar_deleting_dtor game_core Scalar deleting destructor for map-based widget (0xC8 bytes, triple inheritance). Sets 3 vtables, destroys map tree, frees sentinel, calls base dtor, optionally frees. 0x00873330 112 UIWidgetL__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI widget (0xAC bytes, dual inheritance). Sets 2 vtables, calls base dtor, optionally frees. 0x008733A0 191 UIFmtDialog200__scalar_deleting_dtor game_core Scalar deleting destructor for formatted dialog (0x200 bytes). Destroys 2 strings, sets base dialog vtable, calls CFmt dtor, destroys string, calls UIBaseDialog__destructor_2, optionally frees. 0x00873460 38 UIListDialog__scalar_deleting_dtor game_core Scalar deleting destructor for UIListDialog (0x15C bytes). Calls UIListDialog__dtor, optionally frees. 0x00873490 99 UIListDialogDerived__scalar_deleting_dtor game_core Scalar deleting destructor for UIListDialogDerived (0x15C bytes). Sets vtable, calls UIListDialog__dtor, optionally frees. 0x00873500 128 UIListDialogDerived2__scalar_deleting_dtor game_core Scalar deleting destructor for UIListDialogDerived2 (0x168 bytes). Sets vtable, destroys extra data, calls CFmt dtor, calls UIListDialog__dtor, optionally frees. 0x00873580 113 UIListDialogDerived3__scalar_deleting_dtor game_core Scalar deleting destructor for UIListDialogDerived3 (0x160 bytes). Sets vtable, destroys extra data, calls UIListDialog__dtor, optionally frees. 0x00873600 132 UIFormattedWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIFormattedWidget (0xE0 bytes, dual inheritance). Sets vtables, calls CFmt dtor, base dtor, optionally frees. 0x00873690 119 UIFormattedWidgetBase__scalar_deleting_dtor game_core Scalar deleting destructor for UIFormattedWidgetBase (0xD4 bytes). Sets vtable, calls CFmt dtor, base dtor, optionally frees. 0x00873710 150 UIMapWidgetC0__scalar_deleting_dtor game_core Scalar deleting destructor for map-based widget (0xC0 bytes). Destroys map tree nodes, frees sentinel, calls base dtor, optionally frees. 0x008737B0 150 UIPacketWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIPacketWidget (0xC0 bytes). Destroys packet tree nodes, frees sentinel, calls base dtor, optionally frees. 0x00873850 159 UIJsonWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIJsonWidget (0xE8 bytes). Resets vector, destroys JSON data, sets base vtable, calls CFmt dtor, base dtor, optionally frees. 0x008738F0 163 UIPacketWidgetDerived__scalar_deleting_dtor game_core Scalar deleting destructor for UIPacketWidgetDerived (0xC4 bytes, dual inheritance). Sets 2 vtables, destroys packet tree, frees sentinel, calls base dtor, optionally frees. 0x008739A0 112 UIListDerived__scalar_deleting_dtor game_core Scalar deleting destructor for UIListDerived (0x130 bytes, dual inheritance). Sets 2 vtables, calls UIListBase__dtor, optionally frees. 0x00873A10 125 UITripleInheritWidget__scalar_deleting_dtor game_core Scalar deleting destructor for triple-inheritance widget (0xB4 bytes). Sets 3 vtables, calls base dtor, optionally frees. 0x00873A90 165 UISearchDialog__scalar_deleting_dtor game_core Scalar deleting destructor for UISearchDialog (0x118 bytes). Destroys string, sets base vtable, calls CFmt dtor, destroys string, calls UIBaseDialog__destructor_2, optionally frees. 0x00873B40 119 UIFmtWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIFmtWidget (0xB0 bytes). Sets vtable, calls CFmt dtor, base dtor, optionally frees. 0x00873BC0 132 UIFmtWidgetDerived2__scalar_deleting_dtor game_core Scalar deleting destructor for CFmt-derived widget (0xD4 bytes, dual inheritance). Sets 2 vtables, calls CFmt dtor, base dtor, optionally frees. 0x00873C50 112 UIDualInheritWidgetB0__scalar_deleting_dtor game_core Scalar deleting destructor for dual-inheritance widget (0xB0 bytes). Sets 2 vtables, calls base dtor, optionally frees. 0x00873CC0 99 UISimpleWidget80__scalar_deleting_dtor game_core Scalar deleting destructor for simple widget (0x80 bytes). Sets vtable, calls base dtor, optionally frees. 0x00873D30 38 UIMultiChildWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIMultiChildWidget (0x1E0 bytes). Calls UIMultiChildWidget__dtor, optionally frees. 0x00873D60 116 UIStringWidget98__scalar_deleting_dtor game_core Scalar deleting destructor for string widget (0x98 bytes). Sets vtable, destroys string, calls base dtor, optionally frees. 0x00873DE0 112 UIDualInheritWidgetA4__scalar_deleting_dtor game_core Scalar deleting destructor for dual-inheritance widget (0xA4 bytes). Sets 2 vtables, calls base dtor, optionally frees. 0x00873E50 106 UIBaseWidgetA__scalar_deleting_dtor game_core Scalar deleting destructor for UIBaseWidgetA (0xB4 bytes). Sets vtable, calls base dtor, optionally frees. 0x00873EC0 106 UIBaseWidgetA2__scalar_deleting_dtor game_core Scalar deleting destructor for UIBaseWidgetA variant (0xB4 bytes). Sets vtable, calls base dtor, optionally frees. 0x00873F30 106 UIBaseWidgetA_B8__scalar_deleting_dtor game_core Scalar deleting destructor for UIBaseWidgetA variant (0xB8 bytes). Sets vtable, calls base dtor, optionally frees. 0x00873FA0 99 UIBaseWidgetA3__scalar_deleting_dtor game_core Scalar deleting destructor for UIBaseWidgetA variant (0xB4 bytes). Same vtable as A2 variant, calls base dtor, optionally frees. 0x00874010 112 UIBaseWidgetADerived__scalar_deleting_dtor game_core Scalar deleting destructor for UIBaseWidgetADerived (0xD4 bytes, dual inheritance). Sets 2 vtables, calls base dtor, optionally frees. 0x00874080 106 UIBaseWidgetA4__scalar_deleting_dtor game_core Scalar deleting destructor for UIBaseWidgetA variant (0xB4 bytes). Sets vtable, calls base dtor, optionally frees. 0x008740F0 150 UIDualFmtWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIDualFmtWidget (0xE4 bytes). Calls 2 CFmt destructors, sets base vtable, calls base dtor, optionally frees. 0x00874190 99 UIWidgetTypeB__scalar_deleting_dtor ui_framework Scalar deleting destructor for UIWidgetTypeB (0x8C bytes). Sets vtable, calls base dtor, optionally frees. 0x00874200 99 UIDialogBoxDerived__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIDialogBoxDerived (0x13C bytes). Sets vtable, calls UIDialogBoxBase__destructor, optionally frees. 0x00874270 145 UITwoStringWidget178__scalar_deleting_dtor game_core Scalar deleting destructor for two-string widget (0x178 bytes). Destroys 2 strings, calls base dtor, optionally frees. 0x00874310 158 UITwoStringWidgetDerived__scalar_deleting_dtor game_core Scalar deleting destructor for derived two-string widget (0x178 bytes, dual inheritance). Sets 2 vtables, destroys 2 strings, calls base dtor, optionally frees. 0x008743B0 164 UIFourStringWidget__scalar_deleting_dtor game_core Scalar deleting destructor for 4-string widget (0xF4 bytes). Destroys 4 strings, calls base dtor, optionally frees. 0x00874460 99 UIDialogBoxDerived2__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIDialogBoxDerived2 (0x124 bytes). Sets vtable, calls UIDialogBoxBase destructor, optionally frees. 0x008744D0 119 UIStringDialog__scalar_deleting_dtor game_core Scalar deleting destructor for UIStringDialog (0xF8 bytes). Destroys string, calls UIBaseDialog__destructor_2, optionally frees. 0x00874550 188 UIComplexDataWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIComplexDataWidget (0xFC bytes). Destroys vector, CFmt, JSON data, vector, CFmt in sequence, calls base dtor, optionally frees. 0x00874610 116 UIVectorIntWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIVectorIntWidget (0x90 bytes). Destroys int vector, calls base dtor, optionally frees. 0x00874690 134 UIFmtStringDialog__scalar_deleting_dtor game_core Scalar deleting destructor for UIFmtStringDialog (0xF8 bytes). Calls CFmt dtor, destroys string, calls UIBaseDialog__destructor_2, optionally frees. 0x00874720 196 UIMultiLayerWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIMultiLayerWidget (0x104 bytes, 3 inheritance levels). Destroys 12-byte element vector, calls chat log cleanup functions, CFmt dtor, base dtor, optionally frees. 0x008747F0 150 UILayerFmtWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UILayerFmtWidget (0xEC bytes). Calls chat log cleanup, CFmt dtor, base dtor, optionally frees. 0x00874890 136 UIResourceWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UIResourceWidget (0xB4 bytes). Cleans up hyperlink data at this+0x84, releases resource if non-null, calls base dtor, optionally frees. 0x00874920 112 UIBaseWidgetADerived2__scalar_deleting_dtor game_core Scalar deleting destructor for UIBaseWidgetADerived2 (0xB4 bytes, dual inheritance). Sets 2 vtables, calls base dtor, optionally frees. 0x00874990 164 UILinkedListWidget__scalar_deleting_dtor game_core Scalar deleting destructor for UILinkedListWidget (0x194 bytes). Calls CFmt dtor, walks and frees linked list of 0xC-byte nodes at this+0x180, frees sentinel, optionally frees self. 0x00874A40 933 UIWidget__create_formatted_entry ui_framework Creates a formatted text entry for a UI widget. Gets formatted string from CTreeMap, creates dialog entry via CEffect__create_text_widget, formats IP/port/name strings with snprintf, pushes to list of 0x1C8-byte entries, constructs final packet stream result with string data. 0x00874DF0 29 ui_conditional_refresh_a game_core Conditional UI refresh. Checks field at 0x1A0 via get_field_0x1a0_00a916f0; if non-zero, calls CEffect__add_child_to_list_end to trigger refresh. 0x00874E10 23 ui_conditional_refresh_b game_core Conditional UI refresh using global DAT_01457ad8. If non-zero, calls CEffect__add_child_to_list_end to trigger refresh. 0x00874E30 23 ui_conditional_refresh_c game_core Conditional UI refresh using global DAT_01457998. If non-zero, calls CEffect__add_child_to_list_end to trigger refresh. 0x00874E50 640 UIWidget__add_wrapped_text_lines ui_framework Adds word-wrapped text lines to a UI widget. Wraps text using CEffect__split_text_into_lines_by_width with widget width, iterates result strings, strips trailing CR, formats each with param_4 prefix using sprintf, and calls virtual method at vtable+0xEC to add each line. 0x008750D0 544 UIWidget__add_text_with_links ui_framework Adds text to a UI widget, handling item links. If text contains an item link delimiter, calls virtual method directly. Otherwise word-wraps using CEffect__split_text_with_color_and_links, allocates C strings for each line, and calls virtual method at vtable+0xE4 per line. 0x008752F0 555 UIListBox__add_text_entry ui_events Adds a text entry to UIListBox. Handles auto-scrolling, trims excess entries if over max, stores param_3 in data vector. Checks for link delimiters in text - dispatches to column-based or grid-based or plain text insertion depending on content type. Updates scrollbar position. 0x00875520 831 UIListBox__add_text_entry_with_title ui_events Adds a text entry with optional title to UIListBox. Same auto-scroll and trim logic as add_text_entry. If param_4 title is non-null, creates title string. Dispatches to appropriate insertion method based on text content (links, columns, plain). Updates scrollbar. 0x00875860 517 UIListBox__add_item_with_data ui_events Adds an item with associated data pointer to UIListBox. Stores param_3 in item vector, creates string from param_2, emplaces into map, calculates max text width, calls virtual layout method. If param_4 is non-null, inserts into secondary map keyed by list position. 0x00875A70 356 UIListBox__push_back_string_item ui_events Pushes a string item to UIListBox. Creates SSO string from param_2, appends to string vector at this+0x8C. If vector is full, calls realloc helper. Updates max text width and calls virtual layout method. 0x00875BE0 485 UIListBox__insert_string_with_data ui_events Inserts a string with associated data into UIListBox's map. Creates string from param_2 with param_3 data, uses lower_bound to find insert position, allocates 0x30-byte map node if key not found, updates max text width and calls layout. 0x00875DD0 325 UIListBox__emplace_string_with_data ui_events Emplaces a string with data into UIListBox map. Creates string from param_2, uses STL_map_emplace_int_key to insert, updates max text width and calls virtual layout method. 0x00875F20 405 UIListBox__push_back_string_with_extra ui_events Pushes a string item with extra integer data to UIListBox. Appends string to vector at this+0x8C and appends 0 to secondary int vector at this+0xDC. Updates max text width and calls layout. 0x008760C0 9 thunk_to_UIListBox__push_back_string_item_008760c0 ui_events Wrapper that calls FUN_00875a70 and returns 0x008760D0 1568 ui_build_chat_message_text game_core Builds a complete chat message text string. Chains multiple string operations: gets sender name, applies formatting, processes item links if enabled, strips link tags, applies final formatting, and invokes chat display callback. 0x00876700 1613 ui_build_chat_message_text_v2 game_core Builds chat message text variant 2. Similar to ui_build_chat_message_text but uses different formatting functions (strip_item_link_markers instead of strip_default_color_markers, strip_url_link_markers extra step, parse_text_with_default_color_codes instead of parse_text_with_color_codes). Same item link processing and tag stripping. 0x00876D50 631 UIListBox__add_dual_column_entry ui_events Adds a dual-column entry to UIListBox. If over max items, halves vectors. Creates string from param_2, appends to text vector. Stores param_3 in data vector. Creates second string from param_4, appends to second text vector. 0x00876FD0 79 UIListBox__set_item_data_at_index ui_events Sets item data at a specific index in UIListBox. Calculates absolute index from param_2 + this+0xE4 offset. Validates index is in range, stores param_3 at data_vector[index], then calls virtual refresh. 0x00877020 1568 ui_build_chat_message_text_v3 game_core Builds chat message text variant 3. Nearly identical to ui_build_chat_message_text - uses same helper functions (strip_chat_markers, strip_default_color_markers, CItemLink__strip_link_tags). Builds formatted string with sender name, item links, and tag stripping. 0x00877650 1191 UIListBox__split_and_add_column_items ui_events Splits a comma-delimited text string and adds each part as a separate column item to UIListBox. Copies input string, finds comma separators using memchr, extracts substrings between commas, pushes each as a string item to the text vector at this+0xF0. Handles SSO string allocation and cleanup. 0x00877B00 3149 UIListBox__build_and_add_column_widgets ui_events Builds and adds column-based text widgets to UIListBox. Processes formatted chat text (sender name, formatting, item links, tag stripping), word-wraps by character width, creates UIWidget sub-items for each text segment, splits by columns, configures text display and layout for each widget. 0x00878750 1693 UIListBox__build_and_add_column_widgets_v2 ui_events Variant 2 of column widget builder for UIListBox. Similar to v1 but uses different formatting helpers (strip_default_color_markers/strip_item_link_markers). Creates UI widgets per text entry with word-wrap, item link processing, column splitting, and layout configuration. 0x00878DF0 1001 UIDropdownList__init_with_button_textures ui_events Initializes a UIDropdownList with button textures. Calls FUN_00a82eb0 for base setup, creates CDialogWnd (0x120 bytes) at this+0x7C. Loads 3 button state textures (_out.bmp, _over.bmp, _press.bmp) from name prefix. Creates UITreeBase (0xC4 bytes) and editable text widget. Configures sizes and positions. 0x008791E0 283 ui_replace_escape_sequences_in_string game_core Replaces escape sequences in a string. Copies input, then iteratively finds and replaces two different 2-char escape sequences (at DAT_010dbde8 and DAT_010db5fc) with their 1-char replacements (at DAT_010d97dc and DAT_01121c28). Returns modified string. 0x00879300 137 UITabCtrl__select_tab ui_framework Selects a tab in UITabCtrl. Validates param_2 is within range and different from current selection. Updates selected index at this+0x7C. Calls virtual method on child widget at this+0xD8 to update visual, repositions child, notifies parent via virtual callback with event 0x16, refreshes display. 0x00879390 1164 UITextWidget__process_item_link_tags ui_framework Processes item link tags in text widget content. Searches for link delimiters in text using _mbsstr. Iteratively finds format tags, extracts text between tags, resolves item links/tooltips, wraps resolved text in angle brackets, appends to output string. Returns processed string with links replaced by resolved names. 0x00879830 474 UITooltipBox__check_and_show_tooltip game_core Checks if a tooltip should be shown and displays it. Verifies game state allows tooltips (checks map type 0x1EA/0x1EE or override flag). If tooltip count < 3, builds tooltip text from item data via CEffect__draw_multiline_text_with_links, appends separator, appends character name, compares string length against max display size. Returns true if tooltip fits. 0x00879A10 418 UITooltipBox__check_and_show_tooltip_v2 game_core Variant 2 of tooltip check and display. Similar to v1 but reads character data from DAT_01457ad8 instead of game state function. Builds tooltip text, checks size limit, returns fit result. 0x00879BC0 450 UITooltipBox__check_and_show_tooltip_v3 game_core Variant 3 of tooltip check and display. Reads from DAT_01457998, calls CUIEquipWindow__render_slot_text to get equipment slot text, stores result at this+0x15C. Uses equipment-specific data source for tooltip content. 0x00879D90 229 UIListDialog__reset_and_reinit game_core Resets and reinitializes UIListDialog. Hides all item widgets recursively from linked list at this+0x84+0x180. Clears 4 tracking fields. Allocates new 0x194-byte widget with linked list, resets head pointers, copies config data, calls virtual reset method. 0x00879E80 133 UIListBox__clear_all_columns_and_items ui_events Clears all columns and items from UIListBox. Destroys strings in two column vectors (at offsets 0x100/0x104 and 0x118/0x11C), resets their end pointers, calls virtual clear and item cleanup methods. 0x00879F10 110 UIListBox__clear_and_trim_vectors ui_events Clears UIListBox and trims vectors. Calls clear_items_and_reset, resets data vector end to begin, moves remaining strings in secondary vector to compact it. 0x00879F80 130 UIListBox__clear_items_and_reset ui_events Clears all items from UIListBox and resets state. Sets selected index to -1, clears max width and scroll fields, destroys all strings in item vector, resets end pointer, calls virtual layout and refresh methods. 0x0087A0F0 143 UIListBox__clear_items_and_reset_extra ui_events Clears UIListBox items and resets extra data. Like clear_items_and_reset but also resets extra data vector (this+0xDC=this+0xD8) and sets anchor index to -1 (this+0xE4). 0x0087A180 81 UIListBox__clear_secondary_strings ui_events Clears secondary string vector in UIListBox. Destroys all strings at offsets 0xA4-0xA8, resets end pointer, zeroes count at 0xA0. 0x0087A1E0 171 UIListBox__destroy_all_child_widgets_and_reset ui_events Destroys all child widgets in UIListBox and resets. Calls FUN_00a82e50 (widget destroy) on each pointer in two widget pointer vectors (this+0xEC-0xF0 and this+0xD4-0xD8). Destroys 0xC-byte entries. Clears items via clear_items_and_reset, double-refreshes display. 0x0087A290 69 UIScrollList__clear_and_remove_children game_core Calls parent clear, removes all child widgets from vector, triggers redraw via vtable 0x0087A2E0 9 thunk_to_CEffect__notify_parent_event_0087a2e0 effect Thunk wrapper that calls CEffect__notify_parent_event. 0x0087A2F0 148 UIListDialog__clear_all_dialog_items game_core Clears all items from UIListDialog's linked list. Iterates through doubly-linked list at this+0x120, calls virtual cleanup (vtable+0xF0) on each item's data, unlinks nodes, frees 0x1D0-byte nodes. Then clears and re-initializes the free list. Resets item count to 0. 0x0087A390 41 UIListBox__zero_all_data_values ui_events Zeroes all data values in UIListBox's data pointer vector (this+0xD8-0xDC). Sets each entry to 0, then calls virtual refresh. 0x0087A3C0 347 UITabCtrl__remove_tab_at_index ui_framework Removes a tab at the given index from UITabCtrl. Calls virtual method on child widget to update display, checks if removed tab is currently shown. Shifts data in 3 parallel vectors (data, strings, flags) to fill the gap using memcpy/move. Erases corresponding bit from bool vector. Resets selected tab and auto-resizes. 0x0087A520 120 UITabCtrl__clear_all_tabs ui_framework Clears all tabs from UITabCtrl. Destroys all strings in tab label vector (0xB4-0xB8), resets all 4 parallel vectors (labels, data, flags, bool), zeroes selected tab and sets default item height to 12. Calls auto-resize. 0x0087A5A0 345 UITooltipBox__build_tooltip_text game_core Builds the tooltip display text string. Calls FUN_00a837d0 to get item description, appends separator character, appends character name from this+0x128. Returns the concatenated tooltip string. 0x0087A700 257 base62_decode_string_to_int game_core Decodes a base-62 encoded string to an integer. Uses charset '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ+/'. Each character position has weight 62^(len-1-pos). Copies input string, looks up each char in charset, multiplies by positional value, sums result. 0x0087A810 723 base62_encode_int_to_string game_core Encodes an integer to a base-62 string. Repeatedly divides by 62 (0x3E), maps remainders to charset characters, builds string in reverse order (LSB first into vector, then reverses when copying to output SSO string). Used for item link encoding. 0x0087AAF0 189 UIListBox__copy_data_from_source ui_events Copies data from another UIListBox source. Assigns 3 parallel vectors: string vector at +0x100, data vector at +0x10C (memcpy), and secondary string vector at +0x118. Calls rebuild_all_items to reconstruct the display. 0x0087ABB0 2302 UIListDialog__parse_and_rebuild_items game_core Parses stored text and rebuilds UIListDialog items. Copies stored string from this+0x128, splits on separator chars to extract item entries. For each entry, searches for delimiter, extracts key/value pairs, builds tooltip text via FUN_00a837d0, matches against linked list items, copies matching 0x1D0-byte nodes to new list. Swaps old list with new one at end. 0x0087B4B0 69 UIWidget__init_left_aligned ui_framework Initializes a UI widget with left alignment (mode=0). Sets alignment at this+0xB4, calls FUN_00a82eb0 for base init, then virtual methods to set position and size. 0x0087B500 69 UIWidget__init_right_aligned ui_framework Initializes a UI widget with right alignment (mode=1). Same as init_left_aligned but sets this+0xB4 = 1. 0x0087B550 69 UIWidget__init_with_alignment ui_framework Initializes a UI widget with specified alignment mode from param_6. Sets this+0xB4 = param_6, calls base init, sets position and size via virtual methods. 0x0087B5A0 69 UIWidget__init_with_mode_a ui_framework Initializes a UI widget with specified display mode from param_6 at this+0xB0. Same init pattern: base init, position, size via virtual methods. 0x0087B5F0 69 UIWidget__init_with_mode_b ui_framework Initializes a UI widget with specified display mode from param_6 at this+0xB0. Identical to init_with_mode_a - separate template instantiation. 0x0087B640 69 UIWidget__init_with_alignment_v2 ui_framework Initializes UI widget with alignment mode param_6 at this+0xB4. Standard init pattern: base init, position, size via virtuals. 0x0087B690 69 UIWidget__init_with_mode_c ui_framework Initializes UI widget with display mode param_6 at this+0xB0. Standard init pattern: base init, position, size via virtuals. 0x0087B6E0 69 UIWidget__init_with_mode_d ui_framework Initializes UI widget with display mode param_6 at this+0xB0. Same as init_with_mode_c - separate instantiation. 0x0087B730 79 UIWidget__init_with_alignment_row21 ui_framework Initializes UI widget with alignment, then sets row height to 21 (0x15) at this+0xB8. Sets alignment from param_6 at this+0xB4. 0x0087B780 69 UIWidget__init_with_alignment_v3 ui_framework Initializes UI widget with alignment param_6 at this+0xB4. Standard init pattern. 0x0087B7D0 51 UICheckboxWidget__init game_core Initializes a checkbox widget. Sets checked state from param_2 at this+0x84. Uses fixed size 36x32 (0x24x0x20). Calls base init and virtual size/position methods. 0x0087B840 604 UIProgressBar__init ui_framework Initializes a progress bar widget. Stores type at this+0x8C, max value at this+0x80. Appends '.bmp' suffix to name string for texture, stores label at this+0x98. Allocates param_5 bytes for two buffers (this+0x90, this+0x94), zeroes them (with SIMD optimization for large sizes). Calls base init and virtual methods. 0x0087BAA0 92 UIScrollbar__init_with_orientation ui_events Initializes a scrollbar widget with orientation. Stores orientation mode at this+0x88. Swaps width/height based on mode (0=horizontal uses param_5/param_4+0xA4, 1=vertical uses param_4+0xA4/param_5). Calls base init, position, size via virtuals. 0x0087BB00 105 UIScrollbar__init_with_range ui_events Initializes a scrollbar with range parameters. Stores orientation at this+0x88, plus values at this+0xA0 and this+0xA4. Computes width/height based on orientation (0=horizontal, 1=vertical), calls base init with computed dimensions. 0x0087BBA0 199 UIItemIcon__load_and_display_item game_core Loads and displays an item icon. Copies item description from param_2 via CItemDesc__copy_from. Builds resource path from item name string at this+0xAC, calls FUN_00ddd280 for path generation. Loads texture via FUN_00af1620/FUN_00b01200/FUN_00aee770; falls back to default texture at DAT_0112ce70. Sets widget size from loaded texture dimensions. 0x0087BC70 205 CItemUI__load_item_sprite_by_class game_core Loads item sprite by class/level. Gets class+level from CItemDesc, builds resource path, loads sprite via resource manager. Falls back to default sprite if not found. 0x0087BD40 675 CItemUI__load_sprite_from_item_desc game_core Loads item sprite from CItemDesc. Copies item desc, gets sprite resource ID, constructs resource path string, loads sprite. Falls back to default sprite path on failure. 0x0087BFF0 681 CItemUI__load_sprite_by_class_and_level game_core Similar to load_sprite_from_item_desc but uses class+level. Gets class/level, stores level byte at +0xdc, builds sprite path, loads via resource manager with fallback. 0x0087C2A0 329 UIEditBox__on_text_input ui_events UIEditBox text input handler. Checks if input is newline (executes submit). Otherwise copies text, updates internal string, calls virtual layout methods. 0x0087C3F0 414 UIEditBox__initialize_properties ui_events Initializes UIEditBox properties: position, colors (default 0xffffff/0xc3c3c3), font size=12, clears string list and counters. Creates child sprite object at +0x98 for button visuals. 0x0087C590 329 UIEditBox__set_text_and_layout ui_events Sets editbox text and layout. Copies text string, assigns to two internal string fields (+0x1f, +0x35), sets dimensions and scroll params, calculates pixel size and calls resize/layout virtuals. 0x0087C6E0 217 UIEditBox__resize_and_create_child ui_events Resizes editbox and creates child widget. Calls resize on base, parent, and scroll area, then allocates a 0x194-byte child widget (linked list node) and initializes its properties. 0x0087C7C0 678 UIEditBox__create_button_and_tree ui_events Creates button with 4 states (normal/mouseon/pressed/disabled) and a tree widget. Loads sprite textures for each state, positions button, creates UITreeBase child at +0x9c. 0x0087CA70 433 UIListBox__clear_all_items ui_events Clears all items from linked list at +0xd4. Iterates list, hides each item widget, removes nodes, frees memory. Resets list to empty and count to 0. 0x0087CC30 320 UIListBox__halve_string_and_int_vectors ui_events Halves multiple vectors by copying second half to first half. Operates on 24-byte string vectors at +0x100/+0x118, and int vector at +0x10c. Used to truncate history/log buffers. 0x0087CD70 323 UIListBox__halve_vectors_variant ui_events Variant of halve_vectors operating on offsets +0x22/+0x39/+0x3d. Same pattern: copies second half to first, resizes. Calls virtual method +0xe0 at end. 0x0087CEC0 440 UIListBox__decrement_item_lifetimes ui_events Decrements lifetime counters on list items at +0xd4. Subtracts half the string vector size from field+500 of each item. Removes items whose lifetime drops below 0. 0x0087D080 441 UIListBox__decrement_overlay_lifetimes ui_events Decrements overlay lifetimes in list at +0xdc. Filters by type 0x1b6, subtracts half-vector-size from field +0x114. Removes expired overlays from linked list. 0x0087D240 3136 UIListBox__process_chat_line_entry ui_events Processes a chat line entry in the listbox. Searches for delimiter patterns in text, splits lines by delimiter, handles special chat formatting. Removes processed entries, calls CSVParser for parsing. 0x0087DE90 112 UIListBox__scroll_to_ensure_visible ui_events Scrolls listbox to ensure current item is visible. Compares item position range against viewport, scrolls up or down as needed if item is partially out of view. 0x0087DF00 377 UIListBox__on_item_clicked ui_events Handles click on listbox item. Validates item type matches filter (0x15=weapon, 0x16=armor, 0x17=accessory or exact match). If valid, triggers action via parent or child virtual call. Fires event 0x12. 0x0087E080 262 UIListBox__on_skill_item_clicked ui_events Handles click on skill item in listbox. Validates item has skill flag (+0x80), looks up skill entry, checks skill levels are valid. Sets skill ID/type at +0x1f/+0x20. Fires event 0x12. 0x0087E190 60 UIListBox__forward_mouse_event ui_events Forwards mouse event. Checks if AA5F70 returns 0x271b (specific UI mode). If so, forwards to child widget's virtual +0x28. Otherwise calls A7BB00. 0x0087E1D0 20 UIListBox__forward_to_child_widget ui_events Forwards to child widget at +0x10. If child exists, calls virtual method +0x28 on it. Simple delegation pattern. 0x0087E1F0 1344 UIEditBox__draw_text_with_cursor ui_events Draws editbox text with cursor. Handles password mask mode, text alignment (left/right/center), selection highlight, blinking cursor via timeGetTime(). Measures text width for positioning. 0x0087E730 634 UIListBox__draw_item_with_number_overlay ui_events Draws listbox item with optional number overlay. Converts item ID string to int via atoi, loads sprite, renders at position. If item has count (+0xb0), draws count text with shadow/outline effect. 0x0087E9B0 1292 UIListBox__render_items_recursive ui_events Recursively renders listbox items. Iterates linked list, positions each item widget, handles tree node expansion (type 0=leaf, 1=branch). Updates row height and manages visibility based on scroll position. 0x0087EEC0 105 UIListBox__draw_background_sprite ui_events Draws listbox background sprite. Checks item ID via atoi; if positive and has extra field +0xa4, uses sprite at +0x4d8 else uses +0x4a8 default. Loads and renders sprite. 0x0087EF30 223 UIListBox__position_child_widgets ui_events Positions child widgets in the listbox. Iterates linked list at +0xd4, for each widget checks if its row index is in visible range. Positions visible items, hides out-of-range ones at (-100,-100). 0x0087F010 436 UITabCtrl__draw_horizontal_tab ui_framework Draws a horizontal tab in tab control. Calculates tab position from cumulative sizes, draws selection highlight, border, and centered text label. Handles left/right/center tab alignment modes. 0x0087F1D0 608 UITabCtrl__draw_tab_border ui_framework Draws tab border based on orientation mode (0-3). Each mode draws 5 line segments forming an L-shaped or U-shaped border around the active tab area. Uses A7BD60 for line drawing. 0x0087F430 233 UIListBox__position_overlay_widgets ui_events Positions overlay widgets from list at +0xdc. Same pattern as position_child_widgets but filters by type 0x1b6. Sets visible items to correct row position, hides others. 0x0087F520 237 UIEditBox__draw_text_with_shadow ui_events Draws text with optional shadow color. If shadow color is -1, uses simple text draw. Otherwise acquires GDI DC, sets font size 12, draws text twice (shadow offset by -1, then foreground) using color codes. 0x0087F610 446 UITabCtrl__draw_vertical_tab ui_framework Draws a vertical tab. Same logic as draw_horizontal_tab but uses vertical layout (swapped x/y). Handles top/bottom/center tab alignment modes (1/3/other). 0x0087F7D0 1427 UITabCtrl__parse_format_string ui_framework Parses format string for tab control entries. Copies text, splits by format codes into fields (up to 0x104 entries). Handles special escape sequences and nested sub-entries via recursive parsing. 0x0087FD70 2149 UITabCtrl__strip_format_tags_from_string ui_framework Strips format tags from tab control string. Searches for open/close tag delimiters (from global vars 0133a300/0133a2e8), recursively processes nested tags via 008816e0, returns cleaned string. 0x008805E0 7 get_field_0xe4_008805e0 game_items Getter that returns 4-byte field at offset 0xe4 from param_1 0x008805F0 109 UIListBox__hit_test_row_from_point ui_events Hit tests a point (x,y) against listbox rows. Returns row index from y coordinate divided by row height, offset by scroll position. Returns -1 if out of bounds or not clickable. 0x00880660 57 UITabCtrl__hit_test_tab_from_y ui_framework Hit tests y coordinate against vertical tab positions. Returns tab index from y/tabHeight + scrollOffset. Returns -1 if out of bounds. 0x008806A0 57 UITabCtrl__hit_test_tab_from_y_v2 ui_framework Identical to hit_test_tab_from_y. Hit tests y coordinate against vertical tab positions. Returns tab index or -1 if invalid. 0x008806E0 282 UITabCtrl__hit_test_region ui_framework Hit tests (x,y) against tab control regions. Returns region code: 0=before tabs, 1=tab header, 2=tab content header, 3=content area, 4=after content. Supports horizontal (mode 0) and vertical (mode 1) layouts. 0x00880800 280 UITabCtrl__find_tab_index_by_name ui_framework Finds tab index by name string. Searches std::map at +0x88 using string comparison (std::_Traits_equal). Returns map node's field[4] (tab index) or -1 if not found. 0x00880920 123 UITabCtrl__calc_tab_index_from_coord ui_framework Calculates tab index from pixel coordinate. Divides available space by number of tabs, then finds which tab the coordinate falls in. Handles horizontal vs vertical layout via mode +0x8c flag. 0x008809A0 216 UITabCtrl__get_entity_display_value ui_framework Gets entity display value string. Checks entity type (0x1ea/0x1ec/0x1ed/0x1ee = different entity types), gets field +0xb0 as numeric value. Converts to string if within data range. 0x00880AB0 36 UITabCtrl__calc_cumulative_tab_offset ui_framework Calculates cumulative tab offset by summing tab sizes from array at +0xcc up to given index. Each tab size is (size-1) accumulated. 0x00880AE0 51 UITabCtrl__get_content_area_size ui_framework Calculates content area size. Takes width or height based on orientation mode, subtracts 2x margin (+0x28) and virtual method +0xd4 result. Returns available content pixels. 0x00880B20 30 UITabCtrl__get_tab_count ui_framework Returns the number of tabs. Computed as (end - begin) / 0x18 from the tab data vector at +0xb4/+0xb8. 0x00880B40 101 UITabCtrl__find_tab_at_position ui_framework Finds which tab contains a given pixel position. Iterates through tab sizes at +0xcc, subtracting each from the coordinate. Returns tab index when coordinate goes negative, or -1 if past all tabs. 0x00880BB0 75 UITabCtrl__get_tab_label_string ui_framework Gets tab label string by index. Accesses vector at +0xf4, validates index bounds, returns string pointer from 24-byte element (checks SSO vs heap allocation). 0x00880C00 65 UITabCtrl__get_tab_header_size ui_framework Gets tab header pixel size. Multiplies content area size by (tabCount-1)/totalTabs ratio. Used for proportional tab sizing within available space. 0x00880CC0 186 UITabCtrl__get_selected_tab_text ui_framework Gets text of currently selected tab. Reads selected index from +0x94, validates against child control's item count, copies string via STL string construct. 0x00880D90 459 UITabCtrl__serialize_tab_data_to_buffer ui_framework Serializes tab data to output buffer. Concatenates all tab labels from vector at +0x88 into single string, then copies to param_2. If param_3 is 0, calculates total size from alternating pair sums. 0x00880F60 141 UITabCtrl__calc_total_serialized_size ui_framework Calculates total serialized size of tab data. Sums pairs of fields from 24-byte elements at +0x88, handling even/odd count. Returns total byte count needed. 0x00880FF0 136 UIListBox__hide_all_item_widgets_recursive ui_events Recursively hides all item widgets in listbox. For each linked list node, hides expand icon (+0x178), collapse icon (+0x174), and content widget (+0x17c) by positioning at (-100,-100). Recurses into child lists at +0x180. 0x00881080 51 UITabCtrl__set_title_text ui_framework Sets title text on tab control. Copies string to internal field at +0x128, sets value at +0x158. 0x008810C0 67 UIWidget__close_and_clear_focus ui_framework Closes widget and clears focus. Calls virtual +0xd4 with empty string on child at +0xd8, hides it at (-100,-100). If focused, calls clear focus function. 0x00881110 929 UIListBox__create_expand_collapse_icons ui_events Creates expand/collapse icon buttons for tree list items. Loads "battle_option_b.bmp" and "wnd_mini_b.bmp" sprites for each button state (normal/pressed/hover). Sets parent reference and updates max row height. 0x008814C0 493 UIListBox__create_text_item_widget ui_events Creates a text item widget (0xf8 bytes) for listbox. Sets vtable to 011366d0, initializes font size=12, colors=0xffffff. Auto-sizes to text content, positions off-screen initially. Stores in tree node at +0x17c. 0x008816B0 42 UIWidget__notify_parent_on_close ui_framework Notifies parent widget on close. Calls A81C30, then if parent at +0x10 exists and field +0x1e byte is 0, fires parent's virtual +0x94 event with event code 0x3c. 0x008816E0 1222 UIListBox__resolve_item_link_or_tooltip ui_events Resolves item link or tooltip from text. Checks for "0000T0" marker (item link format). If found, parses item ID and gets formatted tooltip via CTreeMap. Otherwise parses format string for regular item tooltips. 0x00881BB0 2132 UIListBox__build_display_text_with_links ui_events Builds display text with embedded item links for listbox. Iterates linked list items, finds embedded markers (0x245 format codes), resolves item tooltips, measures text positions for link hotspots. Updates widget text and sizes. 0x00882460 4093 UIListBox__add_formatted_chat_line ui_events Adds a formatted chat line to listbox with embedded item link support. Parses format tags, creates item link widgets (0x200 bytes each), handles text wrapping, manages linked list insertion. Supports both item ID links and regular formatted text. 0x00883460 4085 UIListBox__add_overlay_with_item_links ui_events Adds overlay items with item links to listbox overlay list (+0xdc). Parses text for embedded markers, creates overlay widgets (0x118 bytes, vtable 0113787c), handles item link formatting. Inserts into overlay linked list. 0x00884460 664 UIListBox__wrap_text_in_angle_brackets ui_events Wraps text in angle brackets '<' and '>'. Builds string by appending '<', word-wrapped text (via A837D0 with half-width), then '>'. Used for item link display formatting. 0x00884700 9 thunk_to_CEffect__set_position_00884700 effect Thunk to CEffect__set_position. Single JMP forwarder. 0x00884720 329 UIListBox__move_to_entity_position ui_events Moves view to entity position. Gets current entity's sprite height via +0xb4, then calls virtual +0x10 to reposition. If *param_3 is 0, measures text width first via 853810. Otherwise uses direct position value. 0x00884870 970 UIListBox__position_tooltip_at_text ui_events Positions tooltip widget at text location in listbox. Iterates text segments from +0x15c, measures cumulative text widths to find target position. Accounts for scroll offset and entity dimensions. Hides tooltip if outside visible range. 0x00884C40 388 UIListBox__position_npc_dialog_tooltip ui_events Positions tooltip for NPC dialog (entity type 0x1ec). Measures text width via 8CED00, calculates tooltip X position relative to entity sprite. Hides tooltip at (1000,y) if past sprite boundary. 0x00884DE0 351 UIScrollbar__create_scroll_arrows_v1 ui_events Creates two scroll arrow sprites (0xb4 bytes each). First at +0xac (vtable default, type=10, vertical), second at +0xb0 (vtable 01133bf0, type=10, horizontal). Positions at edges of parent bounds. 0x00884F40 375 UIScrollbar__create_scroll_arrows_v2 ui_events Creates two scroll arrow sprites (0xb4 bytes each, vtable 01133ccc, type=9). First at +0xac (vertical), second at +0xb0 (horizontal). Similar to v1 but with different vtable and type. 0x008850C0 375 UIScrollbar__create_scroll_arrows_v3 ui_events Creates two scroll arrow sprites (0xb4 bytes each, vtable 01133bf0, type=10). Same pattern as v1 but both arrows use same vtable. 0x00885240 9 thunk_to_UIWidget__create_two_sprite_children_00885240 ui_framework Wrapper that calls UIWidget__create_two_sprite_children and returns 0x00885250 1737 UIAdventurerAgency__create_dropdown_widgets game_core Creates dropdown UI widgets for the Adventurer Agency window. Builds a CDialogWnd with btn_dropdown textures (out/over/press states), creates a UITreeBase list widget (UIMapWidget3), and a UIEditableTextWidget for text input. Layout depends on param_1+0xa8 mode and param_1+0xac type flags. 0x00885920 1469 UIBasicInterface__create_dropdown_simple game_core Creates a simple dropdown for the basic_interface skin. Builds CDialogWnd with 3 button states, a UITreeBase list widget, and UIEditableTextWidget with "NO_SELECT" default text. Uses basic_interface texture path prefix. 0x00885EE0 371 UIScrollbar__create_small_scroll_arrows ui_events Creates two small scroll arrows (7x7 pixel, vtable 01137be8). First at +0xa8, second at +0xac. Sets row height +0xb4 to 18. 0x00886060 9 thunk_to_UIScrollbar__create_scroll_arrows_standard_00886060 ui_events Thunk to UIScrollbar__create_scroll_arrows_standard. Single JMP forwarder. 0x00886070 327 UIScrollbar__create_default_scroll_arrows ui_events Creates two default scroll arrows (13px offset). First at +0xa8 (vertical), second at +0xac (horizontal). Uses default UISpriteWidget vtable. 0x008861E0 32 UIScrollbar__create_arrows_and_set_row_height ui_events Wrapper: calls create_scroll_arrows_standard then sets row height +0xb4 to 15. 0x00886200 1584 UIBasicInterface__create_combo_button game_core Creates a combo button widget using basic_interface skin. Supports normal and pink variants (combo_btn_a/b/c vs combo_btn_pink_b/c) based on param_1+0xa8 flag. Creates CDialogWnd, UITreeBase (UIMapWidget4), and UIEditableTextWidget with "NO_SELECT" default. 0x00886840 327 UIWidget__create_two_sprite_children ui_framework Creates 2 sprite widget children (0xB4 bytes each) at offsets 0xAC and 0xB0, configures positions 0x00886990 327 UIScrollbar__create_scroll_arrows_standard ui_events Creates standard scroll arrows (0xb4 bytes, 13px offset). First at +0xa8 (vertical), second at +0xac (horizontal). Default UISpriteWidget construction. 0x00886AE0 327 UIScrollbar__create_scroll_arrows_standard_v2 ui_events Same as create_scroll_arrows_standard - creates two 0xb4-byte sprite widgets at +0xa8 and +0xac with 13px offsets. Duplicate implementation. 0x00886C30 850 UIBasicInterface__create_textbox_button game_core Creates a textbox button widget using basic_interface_txtbox_btn skin. Builds CDialogWnd with a/b/c.bmp textures for 3 button states, creates UIEditableTextWidget with "No Select" default text. 0x00886F90 277 UIBaseDialog__create_text_labels game_core Creates 2 text label widgets (UITextWidget) in a loop. Each label is 20x18 pixels, colored light gray (0xe8,0xe8,0xe8), with text alignment set (0x88=2, 0x8c=0). Labels are spaced 38 pixels apart horizontally. Uses UIBaseDialog vtable. 0x008870B0 454 UIRenewalParty__create_job_icon game_core Creates a job icon sprite for the renewal party UI. Formats path as "renewalparty/icon_jobs_%d.bmp" with job ID=0, creates UIItemSlotWidget, sets texture, sizes to widget dimensions, and positions at (0x76, 0xe). 0x00887290 9 thunk_to_UIWidget__create_two_sprite_children_00887290 ui_framework Wrapper that calls UIWidget__create_two_sprite_children and returns 0x008872A0 9 thunk_to_UIWidget__create_two_sprite_children_008872a0 ui_framework Wrapper that calls UIWidget__create_two_sprite_children and returns 0x008872B0 306 UIBaseWidgetA2__create_sprite_and_dialog game_core Creates a sprite widget (UISpriteWidget) and a text dialog widget for UIBaseWidgetA2. Sets sprite type to 9, configures animation, and positions it. Also creates a CDialogWnd at offset 0x98 sized 100x19 with position offset (-100,-100). 0x008873F0 73 UIWidget__draw_border_rect ui_framework Draws a 1-pixel border rectangle around the widget. Creates rect from (1,1) to (width-1, height-1) and draws it using the color at +0x80. 0x00887440 446 UIProgressBar__render_with_percentage_text ui_framework Renders a progress bar with percentage text. Mode 0 (offset 0x80==0): horizontal bar with yellow border, background fill, proportional fill, and centered "%3ld%%" text. Mode 1: fills background color then draws vertical fill from bottom based on percentage. Colors from RGB offsets 0x84-0x98. 0x00887600 388 UIProgressBar__render_with_color_picker ui_framework Renders a progress bar using CColorPicker pixel colors. Gets border color from pixel (26,2), background from (30,2), and fill from (2,6). If progress is below threshold (from DAT_011388f8) and param_1+0x84 is 0, forces fill color to red (0xFF0000). Ratio = current/max value. 0x00887790 1297 UIProgressBar__render_segmented ui_framework Renders a segmented/tiled progress bar using left/mid/right BMP textures. Calculates fill width from percentage (param_1+0x7c), loads textures via string path construction (color prefix + left/mid/right.bmp). Fill color is "blue" if >= threshold, otherwise uses alternate 3-char color string. Tiles mid segment across the fill width. 0x00887CB0 1536 UIProgressBar__render_segmented_with_text ui_framework Renders a segmented progress bar with text overlay showing "current / max" values. Uses callback functions at offsets 0xa4 and 0xcc to get current and max values. Builds bar with left/mid/right BMP tiles, colors blue or alternate based on threshold. Background texture loaded separately. Displays formatted I64d text. 0x008882C0 1242 UIProgressBar__render_segmented_simple ui_framework Renders a simpler segmented progress bar with text. Similar to render_segmented_with_text but uses a single background texture. Gets current/max via callbacks at 0xa4/0xcc, builds left/mid/right tiled bar, shows "current / max" text overlay. 0x008887A0 1130 UIProgressBar__render_segmented_no_bg ui_framework Renders segmented progress bar without separate background. Gets current/max via callbacks at 0xa4/0xcc. Only draws fill if ratio > 0. Uses blue or alternate color based on threshold comparison. Always shows "current / max" text regardless of fill. 0x00888C10 122 UIListBox__draw_preview_sprite_with_overlay ui_events Draws preview sprite with number overlay. Sets tint color to 0xffff00ff, loads background sprite by item ID, renders at (0,0), then draws item number overlay at position (4,0). 0x00888C90 520 UISkillSlot__render_icon_with_count game_core Renders a skill icon slot. If skill ID (offset 0x7c) is valid, loads skill icon via CSkillEntry, draws it, and optionally shows item count text with shadow effect (white text on black outline). Falls back to empty slot texture if no valid skill. 0x00888EA0 1528 UIButtonWidget__render_text_with_effects ui_events Renders button text with shadow/outline effects based on button state. Selects texture path from 4 states: 0xf8=pressed, 0x30==1=hover, 0xdc=disabled, default=normal (offsets 0xc4/0xac/0x94/0x7c). Iterates through text effect entries (7 ints each) to draw text with shadows. Different states use different shadow colors (gray, white, tan, etc). 0x008894B0 324 UIListBox__render_items_with_color ui_events Renders list box items with per-item color from color array at offset 0xe4. Iterates visible items (from scroll offset 0x98), draws text at x=2, spaced by row height (0xb8). Special handling for language mode 0x13 (Korean?) with right-alignment offset. Calls position_overlay_widgets and position_child_widgets for each item. 0x00889600 262 UIListBox__render_items_basic ui_events Renders list box items with basic styling. If offset 0xb4 is nonzero, uses transparent background and calls parent render; otherwise fills with background color (0x7c/0x80/0x84). Items drawn at x=2 with font size from 0x134. Calls position_overlay_widgets and position_child_widgets per item. 0x00889710 493 UIListBox__render_items_with_shadow ui_events Renders list box items with shadow text effect. Draws each item twice: first in black (shadow) at offset (+1,+1), then in per-item color. Has parent widget rendering call at start. Special Korean mode right-alignment handling. Calls position_overlay_widgets and position_child_widgets per item. 0x00889900 685 UIListBox__render_bordered_with_corners ui_events Renders a bordered list box with corner textures. Uses CColorPicker for border/background colors, loads 4 corner BMP textures, draws items with selection highlight (color from pixel 6,2). Has optional scrollbar area (offset 0xa4 nonzero draws 16px wide). Calls parent widget render at end. 0x00889BB0 432 UIDropdown__update_text_position ui_events Updates dropdown text widget position when mode is 1 (offset 0xac). Calculates centered x position using half-width minus half-text-width. If position changed from cached value (0xb4), repositions the editable text widget and triggers re-render. 0x00889D60 237 UIPanel__render_bordered_background game_core Renders a panel with bordered background. If flag 0x88 is false, draws outer border rect (full size) with border color (0x98/0x9c/0xa0) and inner fill rect (inset by 1) with fill color (0x8c/0x90/0x94). If flag is true, just fills with the inner color. 0x00889E50 1295 UIListBox__render_map_items_bordered ui_events Renders a bordered list box using std::map for item data (keyed by index). Supports two column modes (0xc4==0 or 1): mode 0 is left-aligned, mode 1 is center-aligned with text width calculation. Uses map insert-or-find for lazy item creation. Draws brown border (0xc59582), selection highlight, and scrollbar area. 0x0088A360 1124 UIListBox__render_map_items_with_corners ui_events Renders bordered list box with corner textures and std::map-based item storage. Uses CColorPicker for colors, loads 4 corner BMP textures, draws items from map with per-item color stored in map node at offset 0x2c. Selection highlight from color picker pixel (6,2). Optional scrollbar area at right side. 0x0088A7D0 915 UIListBox__render_map_items_simple ui_events Renders bordered list box with corner textures and simpler std::map item storage. Similar to render_map_items_with_corners but uses different map structure (lower_bound variant). Items stored in map nodes with string at offset 0x18. Selection highlight, scrollbar area, parent widget render call. 0x0088AB70 271 UITabWidget__render_with_text game_core Renders a tab widget with text. If tab has content (0x8c != 0), loads and draws background texture from path at offset 0x7c. Gets selected tab text via UITabCtrl__get_selected_tab_text and draws it at position (2,3) in black, size 12. 0x0088AC80 99 UIWidget__render_texture_with_bg_color ui_framework Renders a widget with background color fill (from offsets 0x8c/0x90/0x94) and a texture loaded from path string at offset 0xa8. Simple render: fill background, draw texture at (0,0). 0x0088ACF0 16 UIEditBox__draw_border_and_content ui_events Simple composite render: calls UIEditBox__draw_background_sprite to draw the background, then CUITreeView__build_display_list to render the inner content/text. 0x0088AD00 442 UIProgressBar__render_exp_bar ui_framework Renders an EXP-style progress bar. Validates current >= target values (offsets 0x80/0x84/0x88/0x8c) with special case for 99999999. Uses CColorPicker for border/bg/fill colors. Turns fill red if below threshold and flag 0x7c is false. Fills proportionally based on current/max ratio. 0x0088AEC0 418 UIGridWidget__render_indexed_cell game_core Renders a grid cell with indexed BMP texture. Draws gray background (0x99a8ac), loads base texture from offset 0x98, then if index (0x7c) >= 0, formats "%d.bmp" path, appends to base path, and draws the indexed texture at a grid position calculated from row/column multipliers (0x84/0x88) with orientation flags (0x90/0x94). 0x0088B120 880 UIListBox__render_map_items_with_selection ui_events Renders list box with map-based items and selection BMP overlay. When selected item is in view, loads selection overlay texture formatted with index (two format variants based on flag 0x31). Uses std::map for item text and color storage. Draws items with per-item color, calls parent render at end. 0x0088B4A0 57 UIWidget__draw_bottom_sprite ui_framework Draws a sprite at bottom of widget. Loads sprite from path "011380b8", positions it at y = height - spriteHeight. Used for bottom decorative border. 0x0088B5A0 450 UIListBox__render_items_advanced ui_events Advanced list box renderer with selection highlight, vertical text centering option (0xcc), and extended text rendering via FUN_00a84b80. Supports background color or transparent mode (0xb4). Selection draws colored rect at selected row. Text can be vertically centered within row height. Uses extended text params including font style flags (0xd4/0xd8/0xdc/0xdd). 0x0088B770 419 UIListBox__render_items_extended_text ui_events Renders list items with extended text rendering (FUN_00a84e30). Supports selection highlight, vertical centering, and configurable x offset (0xd0 - 0x9c). Uses per-item string data with embedded color at item+0x10. Background color or transparent mode supported. 0x0088B920 935 UIListBox__render_map_items_extended ui_events Renders map-based list items with extended text. Uses 3 map lookups per item for text, color, and style data. Selection highlight via colored rect. Items stored in std::map keyed by index, with lazy creation on first access. 0x0088BCD0 732 UIListBox__render_map_items_extended_v2 ui_events Variant of render_map_items_extended using different map structure (lower_bound variant with different node offsets). Selection highlight, map-based item storage with lazy creation. Extended text rendering with color from map node offset 0x28. 0x0088BFB0 348 UIListBox__render_items_with_highlight ui_events Renders list items with per-row conditional highlight. Checks highlight array (0xd8) per item - if value is 1, temporarily sets highlight color (0xd4) for that row. Selection rect drawn for selected item. Extended text rendering with embedded color data. 0x0088C110 1050 UIListBox__render_map_items_with_filter ui_events Renders map-based list with filter matching. Uses global filter list (DAT_017387a4/a8) to check if item ID matches any filter entry - if so, draws alternate highlight color (0xc0). Normal selection highlight for selected item. Map-based item storage with 3 lookups per item for text, color, and data. 0x0088C530 245 UIListBox__render_items_with_yellow_select ui_events Renders list box items with yellow (0xc8c832) selection highlight. Background fill from RGB at offsets 0x124/0x128/0x12c. Items drawn at x=2 with per-item color from array at 0xe4. Selection highlight is full-width row. 0x0088C630 171 UIProgressBar__render_with_threshold ui_framework Renders a progress bar with threshold-based coloring. Border color at 0x7c, background at 0x80. Calculates percentage from current (0xa0) / max (0xa4) * 100. Uses normal color (0x84) above threshold (0xb0) and warning color (0x8c) below. 0x0088C6E0 110 UIWidget__render_filled_rect_with_border ui_framework Renders a filled rectangle with optional border. Fills entire widget area with fill color (0x88/0x8c/0x90). If flag 0x84 is false, additionally draws border outline with border color (0x94/0x98/0x9c). 0x0088C750 544 UIProgressBar__render_dual_bar ui_framework Renders a dual progress bar (HP/SP style). Mode 0 (0x9c==0): single bar with threshold coloring (normal color 0x84, warning 0x8c). Mode 1 (0x9c!=0): splits widget in half vertically, top bar from 0xa0/0xa4, bottom bar from 0xa8/0xac with separate color (0x88). Threshold at DAT_011388f8. 0x0088C970 469 UIProgressBar__render_tiled_with_fill ui_framework Renders a tiled progress bar using left/mid/right texture pieces for both background and fill. Background uses 3 textures tiled across full width. Fill overlay also uses 3 separate textures, fill width calculated from percentage value at 0x7c (converted via double). Percentage can exceed 100. 0x0088CB50 795 UIProgressBar__render_multi_bar_callbacks ui_framework Renders multi-bar progress display using std::function callbacks for values. Supports modes 7 (single bar), 8 (triple bar at y=1,5,9), 9/10 (double bar), 0xd/0xe (single with callbacks), and default (triple with individual bar callbacks). Each bar has threshold-based coloring. Colors at offsets 0x80(bg), 0x84/0x8c(normal/warning), 0x88(SP), 0x90/0x94(HP normal/warning), 0x98(third bar). 0x0088D560 347 UIWidget__render_tiled_texture ui_framework Renders a texture tiled/repeated multiple times. Clears render queue, then loops param_1+0x94 times, loading texture from path string at offset 0x7c and drawing it at (0,0) each iteration. Handles SSO string allocation for texture path. 0x0088D6C0 140 UIProgressBar__render_simple_fill ui_framework Renders a simple progress bar with border (0x7c), background (0x80), and fill (0x84) colors. Percentage = (current 0x9c * 100) / max 0xa0. Fill width proportional to percentage. No threshold coloring. 0x0088D750 1177 UIScrollbar__render_vertical ui_events Renders a vertical scrollbar using basic_interface skin. If scrollbar is visible (offset 0x80 != 0) and mode is 1 (0x88): draws track background (0xafaaa5), up arrow button (dialscr_up.bmp) with 3 states (normal/hover/pressed), down arrow button (dialscr_down.bmp) with 3 states. Track area between arrows, size from vtable call 0xd4. 0x0088DBF0 1214 UIScrollbar__render_vertical_v2 ui_events Variant vertical scrollbar renderer using dialscr_up1/down1 textures and lighter colors (0xf1f1f1 track, 0xe9e9e9 thumb area). Similar structure to render_vertical but with different visual style. Resets flag at offset 0xa8 to 0 after rendering. 0x0088E0B0 598 UIScrollbar__render_horizontal ui_events Renders a horizontal scrollbar using basic_interface skin. If visible (0x80 != 0) and mode is 0 (0x88): draws scrollbar.bmp track background tiled, then scroll_bar.bmp thumb at calculated position. Resets flag 0xa8 to 0 after rendering. 0x0088E310 1046 UIScrollbar__render_textured ui_events Renders a textured scrollbar with distinct textures for track, thumb, and end caps. Mode 0 = horizontal, mode 1 = vertical. Track is tiled with 13px segments, thumb has top/mid/bottom (or left/mid/right) pieces tiled to size. Position calculated from scroll offset (0x84) / total (0x80). Uses 8+ different texture resources. 0x0088E730 500 UIScrollbar__render_custom_textured ui_events Renders a vertical scrollbar using custom pre-loaded texture objects at offsets 0xb4-0xd0. Track uses top (0xb4), mid (0xb8) tiled, and bottom (0xbc) textures. Button textures at 0xc0/0xc4. Thumb uses top (0xc8), mid (0xcc) tiled, and bottom (0xd0) textures. Position from scroll ratio. 0x0088E930 564 UIScrollbar__render_skinned_vertical ui_events Renders a skinned vertical scrollbar with 3-part track and 3-part thumb. Track loaded from texture paths, tiled vertically. Thumb positioned by scroll ratio and tiled. Resets flag 0xa8, calls parent render at end. 0x0088EBC0 1329 UIItemSlot__render_with_details game_core Renders an item slot with border, item icon, buy/sell indicators, card slot info, and enchant data. Draws border via UIEditBox__DrawBorder. Shows item sprite based on mode (0x128). If not equipped (0x120==0), shows empty slot texture with description text. Shows refine/enchant info with centered text and color coding (red for failed). Card slot indicator texture varies by enchant state. 0x0088F100 181 UIWidget__render_sprite_from_path ui_framework Renders a sprite from a file path. Gets path from string at offset 0xac, converts via FUN_00ddd280 with flag from 0xdc, loads and draws texture. Falls back to default texture at DAT_0112ce70 if primary fails. 0x0088F1C0 656 UIItemSlot__render_item_sprite game_core Renders an item sprite by getting sprite resource ID from CItemDesc, constructing full texture path via string concatenation with prefix, and drawing it. Falls back to default texture DAT_011385a0 if item texture not found. 0x0088F450 363 UIWidget__render_text_with_sprite ui_framework Renders text with optional background sprite. If 0xbc flag is set, loads sprite from path at 0xac and draws it first, then parses text buffer (0xdc) with embedded formatting via FUN_00a7ca20/FUN_00a81ba0 to draw styled text. Extended text rendering at position (0x18, 7) or (0, 0). 0x0088F6C0 334 UITabCtrl__render_tabs ui_framework Renders all tabs in a tab control. Iterates through tab entries, calling draw_vertical_tab for modes 1/3 or draw_horizontal_tab for modes 0/2. If tab count exceeds visible limit (0xf8) and tab has notification flag set (bit in 0xec), draws notification indicator texture at tab position. 0x0088F8D0 735 UITooltip__render_content_rows game_core Renders tooltip content rows. Iterates through row groups (3 ints each: children array ptr, end ptr, unused). For rows above fold line (offset 0x98), hides children. For visible rows, copies children vector, checks for newline breaks, positions each child widget with x/y offsets. Handles indentation for wrapped text. Calls vtable 0xe0 at end for final rendering. 0x0088FBB0 528 UIListBox__render_formatted_text_items ui_events Renders list items with embedded text formatting. Pre-parses hidden items above viewport for color state. Visible items rendered with either extended text (0xe9==0), styled text with background color (0xe9!=0), or HTML-style text (0xbc flag). Uses FUN_00a7ca20/FUN_00a81ba0 for color code parsing. 0x0088FE20 387 UIScrollbar__render_bordered_vertical ui_events Renders a bordered vertical scrollbar with brown border (0xd9c8b8) and white background. Uses up/down arrow textures and 3-part thumb (top/mid/bottom pieces tiled). Position calculated from scroll offset/total ratio. 0x0088FFB0 194 UIWidget__process_item_desc_and_render ui_framework Processes item description data and renders the widget. Destroys and rebuilds CItemDesc nodes, then renders either directly via vtable 0x98 or through FUN_00a7d6d0 for positioned rendering with text measurement. 0x00890080 66 UIListBox__clear_selection_and_redraw ui_events Clears current selection by setting +0x1f to -1, then redraws via virtual +0x98. If parent wrapper exists, forwards redraw to parent and calls A81C50. 0x008900D0 114 UITabCtrl__fire_tab_double_click_event ui_framework Fires tab double-click event. Validates selected tab index at +0x94, gets tab label string, sends event (type=6, code=0x15b) to parent widget. 0x008901E0 65 UITabCtrl__fire_tab_select_event ui_framework Fires tab selection event. Gets selected item from map at +0x90, sends event (type=6) with item code from +0x2c to parent widget via virtual +0x94. 0x00890260 53 UIWidget__on_scroll_delta ui_framework Handles scroll delta event. Calls virtual +0x64 for own scrolling, then if mode +0x20 is 0, forwards scroll to child widget at +0x4 with offset adjustment. 0x008902A0 51 UIEditBox__on_mouse_down_notify_parent ui_events Handles mouse down on editbox. Forwards to UIEditBox base handler, then notifies parent with event (type=6, code=0xb8). 0x008902E0 69 UIListBox__on_item_double_click ui_events Handles double-click on listbox item. If not disabled (+0x2b byte is 0), sets click flag +0xc=1, sends event (type=0x61) with item data to parent, then redraws. 0x00890330 199 UITabCtrl__show_inline_edit_for_tab ui_framework Shows inline edit control for selected tab. Only works for left/top tab modes and if editable flag +0xa8 is set. Positions edit widget at tab location with tab's text content. 0x00890430 28 UIListBox__set_hover_row_from_point ui_events Sets hover row from mouse point. Hit tests (x,y) to find row index, stores in +0x94. 0x00890480 50 UIWidget__fire_event_0xcc_to_skill_window ui_framework Fires event code 0xcc to the skill window (type 0x116). Looks up the skill window via CUIWindowMgr, then calls its event handler with type=6, code=0xcc. 0x008904C0 172 UIListBox__on_mouse_up ui_events Handles mouse up on listbox item. If type is 0x205, triggers item link event. Otherwise sets click flag based on bounds check, fires event 0x62 with item data to parent, redraws. 0x00890570 38 UIListBox__on_mouse_move_update_hover ui_events Mouse move handler that updates hover row. Hit tests point to find row, stores at +0x25, then redraws. 0x008905A0 71 UIGrid__on_mouse_move_update_cell game_core Grid mouse move handler. Calculates cell index from y / cellHeight + scrollOffset, stores at +0x24. Returns -1 if out of bounds. 0x008905F0 71 UIGrid__on_mouse_move_update_cell_v2 game_core Same as UIGrid__on_mouse_move_update_cell - duplicate implementation for grid cell hover tracking. 0x00890640 74 UIListBox__on_mouse_down_select_row ui_events Mouse down handler that selects row. Hit tests point, stores at +0x25. If valid row (!=-1) and not locked by global 016f7144, fires event type 6 to parent. Redraws. 0x00890690 38 UIListBox__on_mouse_move_update_hover_v2 ui_events Mouse move handler. Hit tests point, stores hover row at +0x25, redraws. Same as on_mouse_move_update_hover. 0x008906D0 65 UIListBox__on_mouse_down_select_and_notify ui_events Mouse down that selects row and notifies parent. Hit tests, stores at +0x25, fires event with code from +0xb to parent via +0x94. Redraws. 0x00890720 341 UIScrollbar__on_mouse_down ui_events Scrollbar mouse down handler. Hit tests against 5 regions (before/header/content-header/content/after). Fires scroll events: type 7/8 for page up/down, type 9-12 for arrow buttons. Region 2 starts drag mode (+0x1f=6). 0x008908A0 71 UIButton__on_mouse_enter_notify_parent ui_events Button mouse enter handler. Calls base UIButtonWidget handler, then sends events type 0xd and type 6 (with code from +0x2c) to parent. 0x008908F0 68 UIListBox__on_right_click ui_events Right-click handler on listbox item. If not disabled, sets click state to 2, redraws, fires event 0x6b with item data to parent, sets flag +0xb6. 0x00890940 169 UITabCtrl__on_tab_clicked ui_framework Handles tab click. Finds clicked tab by position, validates index, sets selected tab +0x1f. Clears edit widget, hides it, fires event 0x16 to parent with tab index. Captures focus. 0x00890A00 37 UIWidget__forward_scroll_to_parent ui_framework Forwards scroll event to parent widget. Adjusts coordinates by own position (+0x1c, +0x20), calls parent's virtual +0x64 (scroll handler). 0x00890A30 121 UIListBox__on_drag_end ui_events Handles drag end on listbox. Checks if this widget is the drag source. Sets click state based on bounds check, fires event 100 with item code to parent, redraws, clears drag. 0x00890AC0 134 UIListBox__on_right_click_select_and_notify ui_events Right-click on listbox: selects row, sends event 0x27 to target window (from +0xd4) or parent. Plays sound 0x1a. 0x00890B70 173 UIGrid__on_right_click_select_cell game_core Right-click on grid cell: calculates cell from y/cellHeight, stores at +0x90, sends event 0x27 to target window (from +0xc0) or parent. Plays sound 0x1a. 0x00890C20 369 UIListBox__handle_click_select_item ui_events Handles click event on a list box to select an item. Calculates clicked row from y coordinate / row height + scroll offset. Validates bounds. Looks up item in map, sends selection notification (0x27) to parent with item data. Updates sound effect (0x1a). 0x00890DC0 98 UIGrid__on_double_click_cell game_core Double-click on grid cell. Calculates tab index from coordinates, stores at +0x7c. If cell is not disabled (checked via +0x94 array), sends event 0x30 to target window. Plays sound 0x7a. 0x00890E30 91 UIGrid__on_mouse_move_notify_parent game_core Grid mouse move: calculates cell index from y/cellHeight, stores at +0x90, notifies parent with event 0x27. 0x00890E90 71 UIScrollbar__on_mouse_up_or_release_drag ui_events Scrollbar mouse up handler. If mode +0x80 is 0, forwards to parent's virtual +0x7c with adjusted coordinates. If dragging, checks if still captured and releases drag. 0x00890EE0 362 UIListBox__show_item_info_or_tooltip ui_events Shows item info or tooltip based on mode +0x94. If mode 0 and has string +0xac, copies it to local buffer, sends event 0x18 to window 0xc. If mode 1, sends event 0x3e with string from +0x84 to window 0xc9, positions tooltip relative to screen. 0x00891050 124 UIListBox__on_drag_end_with_tree_id ui_events Drag end handler using tree item ID at +0x48. Checks if this is drag source, bounds-checks point, fires event 100 with tree ID to parent. Redraws and clears drag state. 0x008910D0 88 UIListBox__on_mouse_up_send_event ui_events Mouse up handler that sends either event 0x6d (if +0xb6 flag not set, with zeroed coords) or 0x62 (if flag set). Clears +0xb6 flag after. Redraws. 0x00891140 138 UIListBox__on_drag_end_with_item_type ui_events Drag end handler with item type. Checks drag source, bounds-checks, fires event 0x62 with item code and type +0x34 to parent. Clears drag. 0x008911D0 108 UIScrollbar__on_mouse_up_reset_state ui_events Scrollbar mouse up: resets hover state +0x22=0 if point is in bounds, clears positions +0x23/+0x24, resets disabled flag +0x2b. Forwards to parent's +0x7c handler. 0x00891240 263 UIProgressBar__render_percentage_text ui_framework Renders percentage text overlay on a progress bar. Validates current <= max values (offsets 0x7c/0x80 pointers). Formats as "%1f%%" with value = (current/max * multiplier * 0.01). Draws 3D text at widget position with white color. 0x00891350 643 UIWidget__render_item_tooltip_text ui_framework Renders item tooltip text. Parses item count from string at 0xcc. If count < 1, uses raw text from 0x88. Otherwise builds formatted tooltip via CItemDB with price (0xb0) and optional quantity (0x138). Uses message IDs 0x9f7 (with quantity) or 0xb7 (without). Draws via FUN_00ad6510. 0x008915E0 558 UISkillSlot__render_skill_tooltip game_core Renders a skill tooltip. Gets skill info via CSkillEntry, retrieves SP/AP costs, skill name, and formats tooltip using either format_skill_tooltip_type5 (active) or type6 (passive) based on FUN_00e1dfd0 flag. Draws tooltip text via FUN_00ad6510. 0x00891810 93 UIWidget__draw_label_text ui_framework Draws label text at computed offset (-20) if string length is non-zero 0x00891870 93 UIWidget__show_tooltip_at_cursor ui_framework Shows tooltip at cursor position. If tooltip text +0x1b0 length is non-zero, gets cursor position, draws tooltip string at cursor using AD6510 with color -1 and mode 1. 0x008918D0 315 UIProgressBar__render_exp_percentage_text ui_framework Renders EXP percentage text on a progress bar. Validates current/target values (0x80-0x8c) with special case for 99999999. Calculates ratio = current/max, formats as "%1f%%" and draws as 3D text at widget position. 0x00891A10 44 UITabCtrl__on_mouse_move_highlight_tab ui_framework Tab control mouse move handler. Calculates tab under cursor, updates +0x1f highlight. Only redraws if highlight changed. 0x00891A40 51 UIWidget__fire_event_0x93_to_window_0x114 ui_framework Fires event 0x93 with data from +0xf8 to window 0x114 (auction window). 0x00891A80 316 UIWidget__check_and_update_sprite_path ui_framework Checks if the sprite path has changed by building a new path from prefix string (0x94) + "<" and comparing with the current path (0x7c). If different, calls the sprite update handler to reload the texture. 0x00891BC0 249 UIListBox__show_overflow_tooltip ui_events Shows overflow tooltip for list items. If hovered item text is wider than widget width (minus column padding * 15), creates a tooltip positioned at the item row showing the full text via FUN_00ad6510. 0x00891CC0 381 UIListBox__handle_hover_show_hyperlink ui_events Handles mouse hover on list items to show hyperlink popup. If hovered item has hyperlink data (item[4] != 0), creates a UIHyperlinkText widget positioned near cursor, parses item text for links. Destroys previous popup if hovering different item. 0x00891E40 201 UIWidget__render_item_name_tooltip ui_framework Renders item name tooltip. Gets item name via CItemDesc__get_field_checked (field 0), draws 3D tooltip text at widget position offset (-20 y) if name is non-empty. 0x00891F20 212 UITabCtrl__show_tab_tooltip ui_framework Shows tooltip for tab when hovered. Finds tab at mouse position, compares display text (0xdc) with full text (0xb4) - if truncated, shows full text tooltip. Calculates y position from cumulative tab widths. 0x00892000 50 UIWidget__on_mouse_drag_forward_to_parent ui_framework Mouse drag handler. Forwards drag event to parent widget's virtual method at +0x70 with coordinates adjusted by own position (+0x1c, +0x20). Then calls UIWidget__on_mouse_over_with_tooltip to handle tooltip display during drag. 0x00892060 50 UIListBox__on_mouse_move_conditional_redraw ui_events Mouse move that only redraws on row change. Hit tests point, updates +0x25 hover row. Only triggers redraw if hover row actually changed from previous value. 0x008920A0 83 UIGrid__on_mouse_move_conditional_redraw game_core Grid mouse move with conditional redraw. Calculates cell index from point, stores at +0x24. Only triggers redraw if cell changed. 0x00892100 83 UIGrid__on_mouse_move_conditional_redraw_v2 game_core Duplicate of UIGrid__on_mouse_move_conditional_redraw. Identical cell hover logic with conditional redraw. 0x00892160 9 thunk_to_virtual_method_offset_0x70_00892160 game_core Calls virtual function pointer at offset 0x70 from param_1 0x00892170 83 UIGrid__on_mouse_move_conditional_redraw_v3 game_core Duplicate of UIGrid__on_mouse_move_conditional_redraw. Third identical copy of grid hover logic. 0x008921D0 301 UIScrollbar__handle_mouse_move ui_events Handles mouse move for scrollbar. Hit tests regions (up arrow=0, track=2, down arrow=4) and updates visual state (0x7c). If being dragged, calculates new scroll position from mouse offset relative to content area. Sends scroll command (7=vertical, 8=horizontal) to parent. 0x00892340 131 UIButton__handle_mouse_hover ui_events Handles mouse hover for a button widget. If not locked (0xac==0): sets hover state (0x30=1) when mouse enters bounds, clears it when leaving. Sends hover notification (0x6c) to parent with button ID (0xf4). Updates cursor style (0xb4). 0x008923D0 113 UIWidget__handle_drag_threshold ui_framework Handles drag threshold detection. If widget is being dragged and mouse has moved more than 5 pixels from initial click position (0xac/0xb0), sends drag notification (0x75) to parent with widget ID (0x7c). Records new position. 0x00892450 198 UIButton__update_visual_state ui_events Updates button visual state based on mouse position and capture state. If not locked: captured+inside=pressed (state 2, cursor 0xbc), not captured+inside=hover (state 1), outside=normal (state 0, cursor 0xb8). Triggers re-render on state change. 0x00892520 51 UIWidget__set_hover_flag_from_bounds ui_framework Sets hover flag +0xac based on whether point (x,y) is within widget bounds. Sets 1 if inside, 0 if outside. 0x00892570 35 UIWidget__set_cursor_style ui_framework Sets cursor style based on mode. If mode +0x80 is 0, shows default cursor (A81D60). Otherwise shows custom cursor mode 2 (AD75E0). 0x008925D0 35 UIWidget__set_cursor_on_hover ui_framework Sets cursor based on hover state. If hover flag +0xac is set, shows default cursor. Otherwise shows mode 0 cursor. 0x00892600 783 UIEditBox__format_number_with_commas ui_events Formats number in edit box with comma separators. Strips non-digit characters from text, converts to int64, re-formats with thousand separators, updates caret position accounting for added commas. Triggers re-render. 0x00892940 77 UIListBox__send_item_info_event ui_events Sends item info event to chat window. Parses item ID from string at +0xcc via atoi, if positive sends event 0x18 with string from +0xa0 to window 0xc (chat). 0x00892990 116 UIGrid__show_right_click_menu game_core Shows right-click context menu for grid. If selection +0x7c is valid, sends event 0x3d to window 0x2e, positions menu at cursor offset (+24,0). 0x00892A10 53 UIListBox__on_mouse_leave ui_events Mouse leave handler. If not disabled, fires event 0x65 with item code to parent, redraws. 0x00892A50 38 UIListBox__on_mouse_move_update_hover_v3 ui_events Mouse move handler. Hit tests point, stores hover row at +0x25, redraws. Third variant of the pattern. 0x00892AB0 46 UIWidget__send_tooltip_info_to_chat ui_framework Sends tooltip info string at +0x80 to chat window (0xc) as event 0x18. 0x00892AE0 56 UIListBox__on_mouse_leave_with_tree_id ui_events Mouse leave handler using tree item ID at +0x48. If not disabled, fires event 0x65 to parent, redraws. 0x00892B20 62 UIListBox__on_mouse_down_send_event_99 ui_events Mouse down handler. Fires event 99 (0x63) with item data +0x3d and mouse coords to parent. 0x00892B60 57 UIListBox__on_mouse_leave_send_event_99 ui_events Mouse leave handler. Fires event 99 (0x63) with item code +0xb and type +0x34 to parent. 0x00892BA0 121 UIListBox__on_drag_end_send_event_0x65 ui_events Drag end handler. Checks if this is drag source, sets click state, fires event 0x65 with item code to parent. Redraws and clears drag state. 0x00892C20 36 UIWidget__forward_right_click_to_parent ui_framework Forwards right-click to parent widget. Adjusts coordinates by own position, calls parent's virtual +0x84. 0x00892C70 45 UIScrollbar__forward_right_click_to_parent ui_events Scrollbar right-click forward. Only forwards to parent's +0x84 if mode +0x80 is 0 (not in drag mode). 0x00892CA0 124 CUIControl__handle_click_event ui_framework Handles a click event on a UI control. Checks if control is disabled (field 0x2b). Validates click coordinates (param_2, param_3) against bounds (fields 5,6). If valid, sets click flag (field 0xc=1) and dispatches event 0x65 via vtable+0x94. Calls invalidate via vtable+0x98. 0x00892D20 62 CUIControl__dispatch_event_99 ui_framework Dispatches event code 99 (0x63) on a UI control. Checks disabled flag at field 0x2b. If parent (field 4) exists, sends event via vtable+0x94 with field 0x3d value and params. Then calls invalidate via vtable+0x98. 0x00892D60 125 CUIControl__handle_click_with_data ui_framework Similar to handle_click_event but dispatches event 99 with field 0xb and field 0x34 as data parameters. Validates click within control bounds, sets click flag, sends event to parent via vtable+0x94, invalidates. 0x00892DE0 114 CUIControl__scroll_index_by_direction ui_framework Scrolls the selected index (field 0x25) up or down based on param_2 sign. Clamps to [0, maxItems-1] using field 0x27+0x8c. Sends event 0x27 with new index via parent vtable+0x94. Then invalidates. 0x00892E60 60 CUIControl__scroll_child_vertical ui_framework Scrolls a child control vertically. If field 0x29 (has vertical scrollbar) is set, dispatches scroll event (type 7) with +3 or -3 offset to child control at field 0x2b via vtable+0x94. 0x00892EA0 60 CUIControl__scroll_child_horizontal_a ui_framework Scrolls a child control horizontally. If field 0x28 (has horizontal scrollbar) is set, dispatches scroll event (type 7) with +3 or -3 offset to child control at field 0x2a via vtable+0x94. 0x00892EE0 60 CUIControl__scroll_child_horizontal_b ui_framework Identical to scroll_child_horizontal_a - scrolls child control horizontally using field 0x28 check and field 0x2a target with event type 7 and +/-3 offset. Likely a duplicate or variant for a different UI class. 0x00892F20 15 CUIControl__call_child_vtable_8c ui_framework Calls vtable function at offset 0x8c on child control referenced at field 0x10. Indirect jump through child's vtable. 0x00892F30 23 CUIControl__call_child_vtable_8c_safe ui_framework Null-safe version of call_child_vtable_8c. Checks if child at field 0x10 is non-null before calling vtable offset 0x8c. 0x00892F50 57 CUIControl__scroll_child_widget ui_framework Scrolls a child widget referenced at field 0x1f. If field 0x20 (has scrollbar) is set, dispatches scroll event type 7 with +3/-3 offset based on param_2 direction via vtable+0x94. 0x00892F90 186 CUIControl__draw_colored_item_cell ui_framework Draws a colored item cell. Checks disabled flag (0xa9). Looks up color override from array at field 0xc0 using param_2 index. Adjusts draw rectangle based on orientation (field 0x80: 0=vertical, 1=horizontal, 2/3=variants) and calls FUN_00a7bd60 to fill. 0x00893050 632 CUIControl__process_hyperlink_navigate_to_map ui_framework Processes a hyperlink string at field 0xf8 to navigate to a map location. Searches for delimiter from global DAT_0133a3d8 and DAT_0133a3c0 to extract map/coordinate info. If the extracted string is non-empty, calls CNavigator__set_destination_from_map_coords to set the navigation target. 0x008932D0 261 CUIControl__process_item_data_entry ui_framework Processes an item data entry from a list. If entry type (param_2[0]) is not 3, calls FUN_00a82310 with string data. If type is 3, initializes a local array and calls FUN_00a81fd0 for multi-element item processing, then frees the array. 0x008933E0 830 CItemList__parse_next_item_entry ui_windows Parses the next item entry from an item list iterator. Returns 0 if at end, 0 if item name contains 'unknown item'. Populates output struct (param_2) with item ID, flags, class/level, stack count, enchantment data. Uses CItemDesc functions to extract item properties. Returns 1 on success. 0x00893720 944 CSVParser__tokenize_delimited_string game_core Tokenizes a delimited string. Iterates through characters in buffer (param_2) from index *param_3 to *param_4. Collects chars >= '0' into token string. When delimiter (param_5 or param_6) or char < '0' found, converts token via FUN_0087a700 and appends to output vector (param_1). Handles string buffer reallocation. 0x00893AE0 1221 CSVParser__parse_multi_value_field game_core Parses a multi-value field from a delimited string. Scans characters from param_2 buffer starting at *param_3 index. Builds tokens delimited by param_4 char. Converts each token via FUN_0087a700 and stores into output array at param_1[param_6*4]. Returns count of values parsed. Handles string growth and buffer management. 0x00893FB0 223 CUIListBox__set_item_text_at_index game_core Sets text for a listbox item at the given index (param_2). Validates index is within bounds of items array (fields 0x29/0x2a, stride 0x18). Copies string data, calls FUN_008681c0 to process text, then invalidates the control and its parent via vtable+0x98. 0x00894090 3370 CSVParser__merge_and_process_entries game_core Large CSV parsing function that merges and processes entries in a string vector (param_1). Iterates through entries, calls process_item_data_entry for each. Handles XML-like tag parsing with '<' and '>' delimiters. Extracts tag content, processes nested entries, and reassigns string entries. Uses CSVParser__move_assign_string_entry for string management. 0x00894DC0 3317 CSVParser__process_string_delimiters game_core Processes string entries in a vector, handling multiple delimiter types. Searches for DAT_0133a300 and DAT_0133a2e8 delimiters within each entry. Extracts substrings between delimiters, reassigns entries, and processes next-entry lookups. Complex string manipulation with STL string operations and reallocation. 0x00895AC0 354 CUIListBox__update_vertical_scrollbar_rows game_core Updates vertical scrollbar parameters for a listbox with row-based items. Calculates visible rows from height/row_height (fields 0x18/0xb8). Computes max scroll from item count ((0x8c-0x88)/0x18). Configures scrollbar at field 0xac with total items, visible count, and scroll position. Clamps scroll position to valid range. 0x00895C30 326 CUIListBox__update_horizontal_scrollbar_a game_core Updates horizontal scrollbar for a listbox variant. Calculates visible columns from width/column_width (fields 0x18/0xb4). Sets scrollbar at field 0xa8 with total columns (field 0x8c), visible count, and clamped scroll position (field 0x94). Also invalidates parent if FUN_00a7d6d0 returns non-null. 0x00895D80 326 CUIListBox__update_horizontal_scrollbar_b game_core Identical to update_horizontal_scrollbar_a. Updates horizontal scrollbar for a listbox variant. Likely from a different UI class that shares the same scrollbar update logic. 0x00895ED0 230 CUIListBox__update_vertical_scrollbar_compact game_core Compact version of vertical scrollbar update for a listbox. Calculates visible rows from height/row_height, computes max scroll from item list ((0x8c-0x88)/0x18). Sets scrollbar total, visible, and range at field 0xac without clamping scroll position. Simpler than the full version. 0x00895FC0 157 CUIListBox__update_horizontal_scrollbar_compact_a game_core Compact horizontal scrollbar update. Calculates visible columns from width/column_width. Sets scrollbar at field 0xa8 with total (field 0x8c), visible count, and scroll position. Simplified without parent invalidation. 0x00896060 157 CUIListBox__update_horizontal_scrollbar_compact_b game_core Identical to update_horizontal_scrollbar_compact_a. Compact horizontal scrollbar update for a different UI class variant. 0x00896100 227 CUIListBox__update_vertical_scrollbar_12byte_items game_core Updates vertical scrollbar for a listbox with 12-byte (0xc) items. Calculates visible rows from height/row_height. Item count from (0xfc-0xf8)/0xc. Sets scrollbar at field 0xac. Similar to other scrollbar updates but for smaller item structures. 0x008961F0 207 CUIControl__update_scrollbar_range ui_framework Updates scrollbar range for a UI control. Calculates visible items from height/item_size (fields 0x18/0xa0). Sets scrollbar (field 0x7c) total (field 0xa4), visible count. If no scrolling needed, resets scroll pos and clears total/visible. Handles scroll position clamping. 0x008962C0 2279 CUITextInput__build_display_text game_core Builds the display text for a text input control. Clears display string (field 0x50). Iterates through linked list of text segments (field 0x48/0x49). For each segment, measures text width, looks up item/entity IDs, handles color tags via delimiter processing. Applies text width limits and calls formatting callback (vtable+0xf4). Manages cursor position and text wrapping. 0x00896BC0 750 CUITextInput__update_cursor_and_scroll game_core Updates cursor position and text scroll offset for a text input control. Saves old cursor pos (field 0x20). Calls text measurement functions (FUN_00ace3c0/FUN_00ace420) and vtable+0xe4. Clamps cursor/selection to max length (field 0x3a). Recalculates scroll offset (field 0x2c) using CharNextExA for proper multibyte character handling. Adjusts scroll to keep cursor visible within control width. 0x00896EB0 33 send_text_to_active_window game_core Sends text (param_1) to the active window if one exists. Gets active window via get_field_0x1a0_00a916f0, then calls FUN_00a82e50 with the text and flag=1. 0x00896EE0 126 send_text_to_matching_window game_core Sends text to a window that contains matching item (param_1). First checks global trading window (DAT_01457848) child list, then active window list. Walks linked list of child controls checking if param_1 matches item ID (field+8). Calls FUN_00a82e50 to send text when match found. 0x00896F60 27 send_text_to_dialog_window game_core Sends text to the dialog window (DAT_01457ad8) if it exists. Calls FUN_00a82e50 with the text and flag=1. 0x00896F80 27 send_text_to_chat_window game_core Sends text to the chat window (DAT_01457998) if it exists. Calls FUN_00a82e50 with the text and flag=1. 0x00896FA0 329 CUIListBox__calculate_max_column_width game_core Calculates maximum column width for a listbox control. If field 0x8c flag is set, iterates through all items in the list (stride 0x18), measures text width using FUN_00a80230 (horizontal) or FUN_00a80580 (vertical) based on orientation (field 0x80). Sets all column widths in array (field 0xcc) to the max found. Calls FUN_00897a50 to finalize. 0x008970F0 45 CUIControl__set_position_and_refresh ui_framework Sets position of a UI control via vtable+4 (setPosition). If height (field 5) changed, calls FUN_0089c080 to refresh layout if param_4 flag is set. 0x00897120 261 CUITextInput__set_text_and_resize game_core Sets text on a text input and resizes it. Compares current text (field 0x7c) against DAT_010d4ee8 (empty string). If not empty, copies text to display field (0xdc). Measures text width using FUN_00a829d0 or FUN_00a80580, adds padding for scrollbar if field 0xb7 is set. Calls FUN_00a82eb0 to apply new size. 0x00897230 318 CUITextInput__update_text_display_width game_core Updates text display width measurement for a text input. Compares text (field 0x7c) twice against DAT_010d4ee8, copies to display field (0xd4). Measures full text width via FUN_00a80580 and calls FUN_00a82eb0 twice - once for full width, once for the truncated/wrapped position. Uses font parameters from fields 0xcc/0xc8/0xc4. 0x00897370 100 CUIControl__resize_with_borders ui_framework Resizes a UI control with border offsets. Calls FUN_00a82eb0 for main resize. Adjusts two child controls (fields 0x2b, 0x2c) - sets one to (9, param_3) and repositions to (param_2-10, 0), the other to (param_2-10, 9) and repositions to (0, param_3-10). Calls vtable+0xe0 for final update. 0x008973E0 183 CUIListBox__resize_and_scroll_to_bottom game_core Resizes a listbox and scrolls to bottom. Calls FUN_008976e0 for base resize. If vertical scrollbar exists (field 0xa4), calculates max scroll position from item count and visible rows, positions scrollbar (field 0xac) to bottom, repositions it at x=param_2-0xd. Invalidates scrollbar. 0x008974A0 102 CUIListBox__resize_and_scroll_to_top game_core Resizes a listbox and scrolls to top. Calls FUN_008976e0 for base resize, sets scroll position to 0 (field 0x98), syncs scrollbar position. If vertical scrollbar exists, repositions it. Invalidates scrollbar. 0x00897510 106 CUIControl__resize_with_side_scrollbar ui_framework Resizes a UI control with a side scrollbar (field 0x2a). Calls FUN_00a82eb0 for base resize, vtable+0xe0 for update. Repositions scrollbar to right edge (param_2-7). If field 0x28 is 0, also resizes scrollbar to (7, param_3) and repositions. 0x00897580 175 CUIListBox__resize_with_dual_scrollbars_a game_core Resizes a listbox with dual scrollbars (vertical at 0x2a, horizontal at 0x2b). Sets scrollbar sizes to (0xc, param_3) and (param_2-0xd, 0xc). Resets scroll position (field 0x25) to 0. Syncs scrollbar position. Updates via vtable+0xe0. 0x00897630 175 CUIListBox__resize_with_dual_scrollbars_b game_core Identical to resize_with_dual_scrollbars_a. Resizes listbox with dual scrollbars, resets scroll position to 0. Variant for a different UI class. 0x008976E0 110 CUIListBox__resize_with_scrollbars_reset game_core Resizes listbox with scrollbars at fields 0x2b and 0x2c. Sets vertical scrollbar to (0xc, param_3) at x=param_2-0xd. Sets horizontal scrollbar to (param_2-0xd, 0xc) at y=param_3-0xd. Calls vtable+0xe0 and resets scroll offset (field 0x26) to 0. 0x00897750 100 CUIControl__resize_with_dual_children_a ui_framework Resizes control with two child controls (fields 0x2a, 0x2b). Sets first child to (0xc, param_3) repositioned at (param_2-0xd, 0). Sets second child to (param_2-0xd, 0xc) repositioned at (0, param_3-0xd). Calls vtable+0xe0 for update. 0x008977C0 100 CUIControl__resize_with_dual_children_b ui_framework Identical to resize_with_dual_children_a. Resizes control with two child controls using standard border layout. Variant for a different UI class. 0x00897830 100 CUIControl__resize_constrained_axis ui_framework Resizes a UI control with one axis constrained. Invalidates first (vtable+0x98). If field 0x22==0, constrains height to field 0x29. If field 0x22==1, constrains width to field 0x29. Calls FUN_00a82eb0 and vtable+0x58 with final dimensions. 0x008978A0 192 CUITextInput__auto_resize_to_text game_core Auto-resizes a text input control to fit its text content. Compares text (field 0x7c) against empty string. If not empty, copies text to display field (0xdc), measures text width via FUN_00a80580 with font params (fields 0xd8/0xd4/0xd0). Adds padding (4 if multiline flag 0xb7 set, else 2). Resizes via FUN_00a82eb0. 0x00897960 167 CUITextInput__auto_resize_to_text_simple game_core Simpler version of auto-resize for text input. Compares text (field 0x7c) against empty string, copies to display field (0xd4). Measures text width via FUN_00a80580 with font params (0xcc/0xc8/0xc4). Resizes to (width+2, height+2) via FUN_00a82eb0. 0x00897A10 63 CUIControl__resize_with_child_scrollbar ui_framework Resizes a control with a child scrollbar at field 0x1f. Calls FUN_00a82eb0 for base resize, repositions child to x=(width-10), resizes child to (child_width, param_3). Calls vtable+0xd4 for final update. 0x00897A50 222 CUIListBox__auto_resize_to_content game_core Auto-resizes a listbox to fit its content. Sums up column widths from array at field 0x33 for all items (count from (0x2e-0x2d)/0x18). If orientation is horizontal (field 0x20 is 0 or 2), sets size to (total_width+1, field_0x21+1). Otherwise sets to (field_0x21+1, total_width+1). Invalidates via vtable+0x98. 0x00897B30 173 CUIListBox__select_item_at_index game_core Selects an item at the given index (param_2) in a listbox. Clears flag at offset 0x85. Validates index within item array bounds (fields 0x29/0x2a, stride 0x18). Calls FUN_008681c0 with item text. Sets selected index (field 0x28), sends event 0x27 to parent, invalidates control and parent. 0x00897BE0 9 thunk_to_CEffect__notify_parent_of_state_change_00897be0 effect Single-call thunk wrapper to FUN_00a83660 0x00897BF0 29 CUIControl__handle_scroll_position_event ui_framework Handles scroll position event (event code 0xd). Sets field 0xc to param_4 value and invalidates the control. Returns 0. 0x00897C10 9 thunk_to_UIGridView__handle_scroll_command_00897c10 game_core Wrapper function that calls FUN_00898b00 and returns 0x00897C20 64 CUIGridList__handle_event ui_framework Event handler for a grid-based list control. Handles events: 0=confirm (sends selected index 0x27 event to linked control, plays sound 0x1a), 0x12=scroll up (decrement selected), 0x13=scroll down (increment selected with bounds from item list), 0x1f=call vtable+0xd8 with param, 0x28=set selected index with clamping, 0x53=set linked control ID. Default delegates to FUN_00898b00. 0x00898050 60 CUISimpleList__handle_event game_core Event handler for a simple list control. Similar to grid list but uses field 0x23 for item count directly. Handles events: 0=confirm, 0x12=up, 0x13=down, 0x1f=call vtable+0xd8 with two params, 0x28=set selection, 0x53=set linked ID. Default delegates to FUN_00898eb0. 0x00898280 62 CUITreeList__handle_event game_core Event handler for a tree-list control. On confirm (event 0), gets selected item via FUN_008a13d0 and FUN_00872120, sends item data to linked control. Handles scroll up/down (0x12/0x13), item update (0x1f) via FUN_00875860, selection set (0x28), linked ID (0x53). Default delegates to UIScrollList__handle_scroll_event. 0x008984E0 230 CUITabControl__handle_event game_core Event handler for a tab control. On event 6 with param 0x111, calculates tab height from two child controls (fields 0x26/0x27) and resizes. On event 0x27, checks permission via FUN_00a970e0 before forwarding selection event to parent. Plays sound 0x1a if enabled. Default delegates to FUN_00a83660. 0x008985D0 124 CUICheckBox__handle_toggle_event game_core Handles checkbox toggle event (event 0xd). Checks field 0x120 mode and DAT_0173a5ac flag. If param_4 (checked), sets flag 0x280=1 and displays checked text (DAT_0112723c or DAT_011272e4 for mode 1). If unchecked, sets flag=0 and displays unchecked text. Calls FUN_008657a0 for text display. 0x00898650 210 CUITextInput__handle_backspace_delete game_core Handles backspace (0x8) and delete (0x2e) key events for a comma-separated text input. On backspace, checks if preceding char is comma; if so, adjusts cursor to skip it. On delete, checks if following char is comma. Updates cursor position and delegates to FUN_00863bf0 for standard key handling. 0x00898730 136 CUIGridControl__handle_event ui_framework Event handler for a grid control. Event 0x22: initializes grid with rows/columns (param_4/param_5), sets title from param_6 string, allocates row/column boolean arrays. Event 0x53: sets linked ID. Event 0x66: sets field 0xb. Events 0x69/0x6a: set row/column enable flags. Default delegates to FUN_00a83660. 0x00898940 448 CUIDropdownList__handle_event game_core Event handler for a dropdown list control. Event 6/0x111: toggles dropdown open/close state (field 0x89). When opening, shows child (field 0x20) and resizes to include its height. When closing, hides child and shrinks. Event 0x27: selection changed - gets item text, closes dropdown, forwards selection to parent. 0x00898B00 813 UIGridView__handle_scroll_command game_core Handles scroll commands for a grid view widget. Commands: 7=vertical scroll, 8=horizontal scroll, 9=page up, 10=page down, 0xb=scroll left, 0xc=scroll right, 0x12=select prev, 0x13=select next, 0x28=set selection, 0x62=forward to child. Clamps scroll/selection to valid range, updates scrollbar position, triggers re-render. 0x00898EB0 704 UIGridView__handle_scroll_command_v2 game_core Variant of handle_scroll_command for grid view v2. Same command handling (7-0x62) but with different field offsets and additional tooltip re-render via FUN_00a7d6d0. Also triggers parent re-render when linked widget (0x2c) is present. 0x008991B0 704 UIScrollList__handle_scroll_event game_core Handles scroll events: vertical/horizontal scroll, page up/down, cursor movement, direct index set 0x008994B0 501 CUIComboBox__handle_event game_core Event handler for a combobox control. Event 6/0x111: toggles dropdown, plays sound 0x1a if enabled. When opening, populates a dropdown window (FUN_00a978d0(0x1a)) with all items from list, resizes and positions it. Event 0x27: selects item, forwards to parent, invalidates. Uses CUIWindow__set_child_window_0xb8_alt. 0x008996B0 202 CUITimerControl__handle_update_event game_core Handles timer update event (event 6 with param 0xb8). Iterates through 2 child controls (fields 0x7c+). For each matching child, reads text value, clamps to max 60, formats with FUN_00af62d0 using format DAT_010dbe28, and calls child's vtable+0xd4 to update display. 0x00899780 657 CUIShopButton__handle_event game_core Event handler for a shop button. Event 0xd: sets pressed state (field 0x124). Event 0x1af: updates button textures based on slot state (param_4) and buy/sell mode (field 0x138). Generates button image paths with '_normal.bmp', '_over.bmp', '_press.bmp' suffixes using format strings. Calls FUN_008657a0 to set textures. 0x00899A20 9 thunk_to_CEffect__notify_parent_of_state_change_00899a20 effect Wrapper that calls FUN_00a83660 and returns 0x00899A30 423 CUITabList__handle_confirm_event game_core Handles confirm event (event 0) for a tab list control. When confirmed on the add button (field 0x36), reads input text, measures width, checks if adding a new tab would exceed parent width limit. If within limits, adds new tab via CFmt__buf_00696770 and sends event 0x74 to parent. If too wide, shows error dialog (FUN_00b00f00). Closes and clears focus after. 0x00899BE0 9 thunk_to_CEffect__notify_parent_of_state_change_00899be0 effect Single-call wrapper to FUN_00a83660 0x00899BF0 129 CUIChatLogList__handle_event game_core Event handler for a chat log list control. Events 7/9/10: scroll handling with bounds clamping (uses field 0x2e as item height). Events 0x12/0x13: up/down navigation. Event 0x1d: reloads chat log - clears message vectors (fields 0x3b-0x3f), calls FUN_0089f610 to rebuild. Default delegates to FUN_00898b00. 0x00899E90 89 CUIChatWindow__handle_event game_core Large event handler for the chat window. Handles scroll events (7-0xc) with child widget visibility updates. Events 0x12/0x13: up/down in chat. Event 0x1d: processes chat input - handles item links, URLs, whisper targets, and various formatting. Event 0x62: handles hyperlink actions (0x1b5=open URL, 0x1b6=item link, 0x1d0=party invite, 0x205/0x21b=other actions). 0x0089A9D4 230 CNavigatorWnd__handle_set_navigation_target ui_windows CNavigatorWnd: handle set navigation target 0x0089ADD0 87 CUITreeView__handle_event game_core Event handler for a tree view control. Events 7/9/10: scroll with child widget visibility (UIListBox__hide_all_item_widgets_recursive). Events 0x12/0x13: up/down navigation. Events 0x61-0x6e: complex tree operations including node selection (0x62/0x63/0x64), expand/collapse (0x6b), drag start (0x6c), drag end (0x6d), and node operations (0x6e) with text editing and repositioning. 0x0089B450 120 CUIControl__push_back_string_entry ui_framework Pushes a new string entry (24 bytes / stride 0x18) to the vector at fields 0xa8/0xac. If at capacity, uses STL_vector_insert_single_24byte for reallocation. Otherwise copies directly and increments end pointer. 0x0089B4D0 22 CUIControl__set_position_fields ui_framework Sets position fields at offsets 0x7c (x) and 0x80 (y) of the UI control. 0x0089B4F0 25 CUIControl__set_field_0x1f_and_invalidate ui_framework Sets field 0x1f to param_2 and invalidates the control via vtable+0x98. 0x0089B510 43 CUIControl__set_rect_fields ui_framework Sets rectangle fields 0x80, 0x84, 0x88, 0x8c from four parameters. Likely left, top, right, bottom or x, y, width, height. 0x0089B540 21 CUIControl__set_field_0x1f_and_invalidate_b ui_framework Sets field 0x1f to param_2 and invalidates the control. Identical to set_field_0x1f_and_invalidate, likely from a different class. 0x0089B560 33 CUIControl__set_scroll_range_and_invalidate ui_framework Sets scroll range fields 0x27 and 0x28 from parameters and invalidates the control via vtable+0x98. 0x0089B590 164 CUIControl__clone_two_children ui_framework Clones two child widgets using UIWidget__clone_child. After cloning, destroys the original child widgets via vtable+0x10. Used during UI initialization to create child control instances from templates. 0x0089B640 259 CUIButton__load_bitmap_state game_core Loads a bitmap for a button state. Calls FUN_00af1620 for resource init, FUN_00b01200 to create resource from path, FUN_00aee770 to get texture. If texture found, updates button min size from texture dimensions (0x114/0x118), calls vtable+4 to resize. Copies bitmap path to appropriate state string field based on param_3 (0-3: normal, hover, press, disabled). Returns 1 on success, 0 if texture not found. 0x0089B760 183 CUIControl__load_two_sprite_textures ui_framework Loads two sprite textures from string paths. For each string param, calls FUN_00af1620, FUN_00b01200, FUN_00aee770 to resolve texture IDs. Stores results in fields 0x30 and 0x31. Invalidates the control. Cleans up temporary strings. 0x0089B820 236 CUIControl__load_three_sprite_textures_a ui_framework Loads three sprite textures from string paths. For each of three string params, resolves texture ID via FUN_00af1620/FUN_00b01200/FUN_00aee770. Stores in fields 0x2d, 0x2e, 0x2f. Invalidates. Cleans up strings. 0x0089B910 236 CUIControl__load_three_sprite_textures_b ui_framework Loads three sprite textures into fields 0x32, 0x33, 0x34. Same pattern as load_three_sprite_textures_a but stores in different fields. Used for a different set of button/sprite states. 0x0089BA00 93 CUIControl__reset_item_slot_display ui_framework Resets item slot display. 93-byte function that delegates to CEffect__set_position (likely misnamed target) to clear/reset the item slot visual state. 0x0089BA60 16 CUIControl__set_field_0xe4 ui_framework Sets field 0xe4 to param_2. Simple field setter with no invalidation. 0x0089BA70 24 CUIControl__set_field_0x35_and_invalidate ui_framework Sets field 0x35 (likely a linked control ID or texture index) and invalidates via vtable+0x98. 0x0089BA90 490 CUIControl__set_item_slot_with_job_icon ui_framework Sets an item slot display with a job icon. Stores item index at field 0x12c, checks weight limit via CGameMode__is_weight_over_limit. If valid item, formats job icon path as "sicon_jobs_%d.bmp" using the item's job class (field 0x54), sets texture on checkbox widget at field 0x130. 0x0089BC80 51 CUIControl__set_draw_params_and_invalidate ui_framework Sets draw parameters: field 0x35 (param_2), field 0x36 (param_3), field 0x37 byte (param_4), and byte at offset 0xdd (param_5). Invalidates via vtable+0x98. 0x0089BCC0 33 CUIControl__set_fields_0x28_0x29_and_invalidate ui_framework Sets fields 0x28 and 0x29 and invalidates the control. 0x0089BCF0 164 CUIControl__clone_two_children_b ui_framework Identical to clone_two_children. Clones two child widgets from templates and destroys originals. Different class variant. 0x0089BDA0 164 CUIControl__clone_two_children_c ui_framework Identical to clone_two_children. Another class variant for child widget cloning. 0x0089BE50 16 CUIControl__set_field_0x94 ui_framework Sets field 0x94 to param_2. Simple field setter. 0x0089BE60 196 CUIItemSlot__set_item_by_id game_core Sets item in a slot by item ID. Creates item descriptor via FUN_00ddd4e0, copies it with CItemDesc__copy_from. Sets display flag (field 0x3f) from param_3. If field 0x29 is 0, gets item class/level info. Invalidates the control. 0x0089BF30 169 CUIItemSlot__set_item_by_index game_core Sets item in a slot by index. Creates item descriptor via FUN_00ddd5a0 (different from set_item_by_id), copies it. Sets display flag (field 0x3f) from param_3. Invalidates. Similar to set_item_by_id but uses different item lookup function. 0x0089BFE0 144 CUIControl__set_numeric_display_value ui_framework Sets a numeric display value (field 0x84) and updates the child control's text via vtable+0xd4. Formats the number using FUN_00af62d0 with DAT_010dbe28 format string (%d pattern). Gets the child control from field 0x7c. 0x0089C070 16 CUIControl__set_field_0x9c ui_framework Sets field 0x9c to param_2. Simple field setter. 0x0089C080 304 CUIListBox__rebuild_all_items game_core Rebuilds all items in a listbox. Calls vtable+0xdc to prepare, clears items, then iterates through data entries (field 0x40/0x41, stride 0x18). For each entry, checks for delimiter (DAT_0133a2e8). If no delimiter found, calls FUN_008750d0 for plain text. If delimiter found, calls vtable+0xe4 for formatted text. Uses column widths from field 0x43. Calls vtable+0xe0 to finalize. 0x0089C1B0 94 CUIListBox__set_item_enabled_flag game_core Sets or clears an enabled flag for a specific item in a listbox bitfield array. param_2 is the item index, param_3 is the flag value. Uses bitfield at field 0xec with 32 items per uint. Validates index is within item count ((0xb8-0xb4)/0x18). 0x0089C210 16 CUIControl__set_field_0x84 ui_framework Sets field 0x84 to param_2. Simple field setter. 0x0089C220 66 CUIScrollBar__set_range_and_position game_core Sets scrollbar range (field 0x20=max, 0x27=visible, 0x26=total) and invalidates. If max position is less than current thumb position (field 0x21), clamps thumb to max. 0x0089C270 39 CUIListBox__set_scroll_position game_core Sets the scroll position of a listbox. If vertical scrollbar exists (field 0x29), updates scrollbar thumb position (field 0x2b+0x84). Calls vtable+0xe0 to update display. 0x0089C2A0 147 CUIControl__set_numeric_display_value_b ui_framework Sets numeric display value (field 0x88) and updates child control (field 0x80) text via vtable+0xd4. Formats number with FUN_00af62d0 and DAT_010dbe28 format string. Same pattern as set_numeric_display_value but uses different fields. 0x0089C340 25 CUIControl__set_field_0xa_and_invalidate ui_framework Sets field 10 (0xa in word index = 0x28 offset) to param_2. If non-zero, invalidates via vtable+0x98. 0x0089C360 33 CUIControl__set_fields_0x2a_0x2b_and_invalidate ui_framework Sets fields 0x2a and 0x2b and invalidates the control via vtable+0x98. 0x0089C390 164 CUIControl__clone_two_children_d ui_framework Another variant of clone_two_children. Clones two child widgets and destroys originals. Different class. 0x0089C440 1204 CUITreeView__init_from_config game_core Initializes a tree view widget from config data. Parses column definitions, row heights, expand/collapse icons, and scroll settings from configuration. 0x0089C900 357 CUIChatLogList__find_entry_at_pixel_offset game_core Finds the chat log entry and pixel X offset at a given total pixel position. Iterates entries in reverse (from end minus param_4), measuring text width with color codes stripped. Returns entry index in param_2[0] and pixel X offset in param_2[1]. Used for click-to-position in chat log. 0x0089CA70 111 CUITextInput__set_text_and_auto_resize game_core Sets text on a text input (field 0x7c) from string param_2, then auto-resizes the control to fit the text. Copies string if not same instance, then calls CUITextInput__auto_resize_to_text. 0x0089CAE0 327 CUITextInput__truncate_text_to_max_length game_core Truncates text input content to fit within max length (field 0x88). Uses CharNextExA/CharPrevExA for multibyte character boundary handling. Trims from the start of the string, then pads with spaces if needed to reach min length (field 0x88). Calls CInputMgr to update the input field. 0x0089CC30 377 CUITextInput__add_text_layout_entry game_core Adds or updates a text layout entry in the vector at fields 0x100-0x108 (stride 0x1c = 28 bytes). Each entry contains: ID, x, y, font_size, font_style, flag, and an extra param. If x or y is -1000, auto-calculates position from text dimensions. Searches for existing entry by ID before appending. 0x0089CDB0 164 CUIControl__clone_two_children_e ui_framework Clones two child widgets from templates using UIWidget__clone_child, then destroys the original template widgets. Used during UI initialization. Variant e of identical clone pattern. 0x0089CE60 164 CUIControl__clone_two_children_f ui_framework Clones two child widgets from templates using UIWidget__clone_child, then destroys the original template widgets. Used during UI initialization. Variant f of identical clone pattern. 0x0089CF10 185 CUITabControl__set_tab_labels game_core Replaces all tab label strings. Clears the existing labels vector (fields 0x15c-0x164, stride 0x18) by destroying strings, then copies all entries from the source vector param_2. 0x0089CFD0 16 CUIControl__set_field_0x80 ui_framework Sets field 0x80 to param_2. Simple field setter. 0x0089CFE0 3139 CUIChatWindow__build_item_link_dialog game_core Builds and displays an item link dialog for the chat window. Creates a UIFmtStringDialog (0x200 bytes), populates it with item tooltip text, then encodes item properties (ID, slots, enchants, refinement, option data) as a base62-encoded link string. Handles card slots (up to 4), enchant options (type+grade+id triplets). Pushes the dialog to the chat window's child list. 0x0089DC30 1215 CUIListBox__init_with_columns_from_config game_core Initializes a list box with columns from config. Parses column widths, headers, alignment, and row settings from configuration data. 0x0089E0F0 889 CUIGridList__add_item_with_link_processing ui_framework Adds an item to the grid list, processing any embedded item link tags. Checks for link delimiters in the text; if none, adds as plain text. If links found, strips link tags, processes item data entries, and adds the processed text to the list. 0x0089E480 30 CUIChatWindow__get_hyperlink_count game_core Returns count of hyperlinks in the chat window. Calculates (field_0xf0 - field_0xec) / 0x18, representing items in the hyperlink vector. 0x0089E4A0 193 CUIChatWindow__draw_hyperlink_text_shadow game_core Draws hyperlink text with shadow effect. Acquires GDI context, configures font style, then draws the same text twice at offset positions (shadow then foreground) with different colors. Uses CTextVertex for rendering with color code support. 0x0089E570 384 CUIChatWindow__process_hyperlink_data game_core Recursively destroys hyperlink data for a tree node and its children. For each child in the linked list (field 0x180), recursively processes sub-children, then destroys widgets at offsets 0x178, 0x174, 0x17c. After all children are processed, frees the linked list nodes and resets count (field 0x184) to 0. 0x0089E6F0 322 CUITreeView__remove_node_by_id game_core Removes a tree view node by its ID (param_3) from the parent node's child list (param_2, defaults to root at offset 0x84). Iterates the linked list at offset 0x180 of the parent, finds the node matching param_3. If param_4 is 0, also destroys hyperlink data and hides sub-widgets (offsets 0x5d, 0x5e). Unlinks from linked list, decrements child count (offset 0x184), deletes the node. If parent becomes empty, hides parent's sub-widgets too. Returns 1 on success, 0 if not found. 0x0089E840 26 CUITreeNode__remove_child_by_id game_core Forwards a remove-by-id call to the parent's tree view. Calls CUITreeView__remove_node_by_id with the parent's list (field 0x5c), root node (field 0), and target node ID (param_2). 0x0089E860 85 CUITreeView__find_child_node game_core Finds a child node in a tree view by ID and type. If param_2 is 0, uses field 0x84 as parent. Iterates through child node linked list (field 0x180) checking if node ID matches param_3 and field 0x5b matches param_4. Returns matching node or null. 0x0089E8C0 379 CUITreeView__insert_node game_core Inserts a node into the tree view. If the node's parent (field 0x5c) is null, inserts at the root level (field 0x84). Otherwise inserts under the parent. First checks for duplicate nodes by ID+type. Creates expand/collapse icons and text widget for the node. If param_3 is 0, appends at end; otherwise inserts at front of list. 0x0089EA40 133 CUIControl__strip_color_codes_from_text ui_framework Strips color codes from an STL string. Takes an STL string parameter, calls strip_color_codes_from_string to remove embedded color markup, and returns the cleaned result. 0x0089EAD0 165 CUIControl__export_strings_to_file ui_framework Exports string entries to a file. Opens the file at param_2 path, iterates through a vector of STL strings (fields 0x88-0x8c, each 0x18 bytes), writing each string followed by a newline. Returns 1 on success, 0 if file open fails. 0x0089EB80 90 STL_vector__Change_array_0089eb80 stl Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. 0x0089EBE0 162 std__vector_reserve_4byte_elements stl Reserves capacity for a vector of 4-byte elements. Frees existing buffer (with aligned deallocation for large sizes), then allocates new buffer with requested capacity. Updates vector begin/end/capacity pointers. 0x0089EC90 36 std__vector_destroy_range_0xc stl STL template instantiation: std vector destroy range 0xc 0x0089ECC0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0089EED0 517 Insert_node stl Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. 0x0089F0E0 341 std__any_swap stl Swaps two std::any objects. Handles the three cases: both have values (direct pointer swap), one or both have small-buffer-optimized values (uses vtable clone+destroy), or one is empty. Field [9] holds the contained value pointer. 0x0089F240 129 std__vector_clear_and_free_4byte stl Clears and frees a vector of 4-byte elements. Handles aligned deallocation for large buffers (>= 0x1000 bytes). Sets all three vector pointers (begin, end, capacity) to null. 0x0089F2D0 129 std__vector_clear_and_free_4byte_b stl Clears and frees a vector of 4-byte elements. Identical to std__vector_clear_and_free_4byte, duplicate from template instantiation. 0x0089F360 64 std__vector_copy_0x1c_elements stl Copies elements of size 0x1c (28 bytes) from source range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the last written element. STL vector uninitialized copy helper. 0x0089F3A0 10 thunk_to_std__Xlength_error_0089f3a0 stl Wrapper that calls std::_Xlength_error for vector allocation failure 0x0089F3B0 10 thunk_to_std__Xlength_error_0089f3b0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x0089F3C0 10 thunk_to_std__Xlength_error_0089f3c0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x0089F3D0 10 thunk_to_std__Xlength_error_0089f3d0 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x0089F3E0 92 std__vector_allocate_4byte_elements stl Allocates memory for a vector of 4-byte elements. Validates count < 0x40000000, computes byte size (count*4). Uses aligned allocation for sizes >= 0x1000. Throws bad_array_new_length on overflow. 0x0089F440 92 std__vector_allocate_4byte_elements_b stl Identical to std__vector_allocate_4byte_elements. Allocates memory for vector of 4-byte elements with aligned alloc for large sizes. Duplicate likely from template instantiation. 0x0089F4A0 95 std__vector_allocate_20byte_elements stl Allocates memory for a vector of 0x14 (20) byte elements. Validates count < 0xccccccd, computes byte size. Uses aligned allocation for large sizes. 0x0089F500 95 std__vector_allocate_48byte_elements stl Allocates memory for a vector of 0x30 (48) byte elements. Validates count < 0x5555556, computes byte size. Uses aligned allocation for large sizes. 0x0089F560 95 std__vector_allocate_48byte_elements_b stl Duplicate of std__vector_allocate_48byte_elements. Allocates memory for vector of 0x30 byte elements. 0x0089F5C0 14 CUIControl__call_child_0x80_vtable_dc ui_framework Calls vtable function at offset 0xdc on the child control at field 0x80. This is an indirect tail call, likely a clear/reset operation on the child. 0x0089F5D0 61 CUIControl__reset_child_list_control ui_framework Resets a child list control at field 0x9c. Calls vtable+0xdc to clear items, resizes to (width, 0x14), and sends event 0x28 with index -1 to deselect all items. 0x0089F610 3681 CUIChatLog__rebuild_message_list game_core Rebuilds the chat log message list. Re-processes all stored messages, applies filters, word-wraps text, and updates the display buffer. 0x008A0480 1405 CUIChatLog__layout_wrapped_messages game_core Performs word-wrap layout on chat messages. Measures text widths, splits lines at word boundaries, and computes vertical positions for wrapped lines. 0x008A0A00 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x008A0A40 62 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x008A0A80 67 std__vector_deallocate_0x1c_elements stl Deallocates memory for a vector of 0x1c (28) byte elements. Handles aligned deallocation for sizes >= 0x1000. Validates allocation alignment. 0x008A0AD0 61 deallocate stl STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. 0x008A0B10 2121 CUISkillTreePreview__render game_core Renders the skill tree preview window. Handles two states (field 0x120): state 0 shows "no skills" message (msg 0xbc8), state 1 shows loading/preview message (msg 0xbca) with word-wrapped description (msg 0xbcd). Loads head/body palette sprites, weapon sprites, and IMF resources. Draws skill tree nodes with prerequisite connections. Uses timeGetTime for animation cycling. 0x008A1360 98 std__list_erase_node_0x1d0 stl Erases a node from a doubly-linked list. Unlinks param_3 by connecting its prev and next nodes. Decrements list count (field 4). Frees the node memory (0x1d0 bytes). Sets param_2 output to the next node. 0x008A13D0 67 std__map_find_lower_bound stl Finds lower bound in an ordered map/tree. Uses CReportManager__map_lower_bound to find position, then checks if the result is valid and key matches. Sets param_2 to found node or to end sentinel (param_1[0]). 0x008A1420 192 STL_string_find_first_not_of_charset stl Finds the first character in an STL string NOT in the given charset, starting from offset param_3. Builds a 256-byte lookup table from the null-terminated charset (param_2), then scans the string. Returns the index of the first non-matching char, or -1 if all chars match. 0x008A14E0 192 STL_string_find_first_of_charset stl Finds the first character in an STL string that IS in the given charset, starting from offset param_3. Builds a 256-byte lookup table from the null-terminated charset (param_2), then scans the string. Returns the index of the first matching char, or -1 if none found. 0x008A15A0 149 CUITreeView__get_root_node_display_text game_core Gets the display text from the root tree node. Reads the STL string at field 0xc0 of the root node (field 0x84) and copies it to the output param_2 string. 0x008A1640 523 CUIListBox__collect_items_into_line_group game_core Collects UI items from a range [param_2, param_3) into a new vector, then pushes that vector as a line group into the parent's vector-of-vectors at field 0xf8. Used for word-wrapping layout: each line group represents one visual row of items. 0x008A1850 36 std__max_pair_compare stl Compares two pairs by second element first (high word), then first element (low word). Returns the greater pair. Used for version/priority comparison. If param_1[1] <= param_2[1] and param_1[0] < param_2[0], returns param_2. 0x008A1880 2567 CUIRichText__parse_markup_tags game_core Parses HTML-like rich text markup tags from a string. Handles tags: image (sets field 0xac), color (parses hex RGB into fields 0x9c-0xa4), link (sets field 0x84 with URL), font (sets field 0xc4), bold, size (sets field 0xa8). Strips color codes and quotes from tag values. Remaining text after tags goes to field 0xdc. 0x008A2290 181 std__list_push_back_0x1c8_element stl Pushes a new element (0x1c8 bytes of data + 8 bytes for list pointers = 0x1d0) to the back of a doubly-linked list. Allocates 0x1d0 bytes, copies 0x72 dwords (0x1c8 bytes) of data from param_2. Increments list count. Throws std::_Xlength_error if count reaches 0x8d3dcb (max elements for this list). 0x008A2350 297 STL_bitvector_fill_range stl Fills a range of bits in an STL bitvector with a boolean value. Inserts 1 bit at position param_1[3], then fills from the inserted position for 1 bit with the value from param_2. Handles cross-word boundaries with proper masking. 0x008A2480 359 CUIListBox__layout_word_wrapped_items game_core Lays out items in a listbox with word wrapping. Iterates through items (fields 0x3b-0x3c), accumulates widths. When cumulative width + 15 exceeds control width, or a newline char is found, starts a new line. Uses std__list_sort_recursive to sort items within each line. Calls vtable+0xe0 to finalize layout. 0x008A25F0 112 CUIControl__forward_string_to_child_0x80 ui_framework Forwards a string event (0x1f) to the child control at field 0x80. Extracts raw string pointer from STL string param_2 and sends via child's vtable+0x94. 0x008A2660 157 CUIControl__forward_string_to_child_0x9c ui_framework Forwards a string event (0x1f) to the child list control at field 0x9c. After sending, resizes the child list based on item count (0x23 * 16 height, minimum 0x10). Extracts string pointer and sends via child's vtable+0x94. 0x008A2700 34 CUIControl__set_three_fields_0x9c ui_framework Sets three consecutive fields at offsets 0x9c, 0xa0, 0xa4 on this control. These likely represent RGB color components or three related configuration values. 0x008A2730 91 CUIControl__select_item_in_child_list ui_framework Selects an item in the child list control at field 0x80. Sends event 0x28 with index to child, then looks up the item string from the map, and calls FUN_008681c0 to display the selected item's text. 0x008A2790 281 UIWidget__create_grid_children ui_framework Creates grid of UI window child widgets (0x84 bytes each) in rows*cols layout, triggers redraw 0x008A28B0 208 STL_string_rtrim_chars stl Right-trims characters from an STL string. Builds a 256-byte lookup table from param_2 charset, then scans backwards from end of string removing matching chars via STL_string_erase. 0x008A2980 1652 CUIHotkeyWindow__init_shortcut_slots game_core Initializes the hotkey/shortcut window with 10 label+edit pairs. Creates UISimpleDialogWidget labels (0x11c bytes) with column headers from global string array at DAT_01733630, and UIEditableTextWidget edit fields (0xd8 bytes) labeled "Alt + N". Sets up a view button with 3 texture states (btn_view, btn_view_a, btn_view_b). Loads hotkey config from lua_get_hotkey_config and populates the edit fields. Calls CUIWindowMgr__set_focus_window on first column. 0x008A3040 24 CUIWindow__draw_header_if_small game_core Draws window header area if param_2 < 17. Calls UIWindow__draw_header_area only for small windows. 0x008A3060 168 CUIWindow__handle_header_command game_core Handles header-area commands for a CUIWindow. Dispatches on param_3: 0x22 = update position from param_4 pointer via validate+set_default fallback; 6 = button commands (0xC9 -> type 0x56, 0x11B -> type 0x57 or create window if DAT_01457a04 is 0); other values delegate to UIWindow__handle_button_click. 0x008A3110 194 CUIWindow__dispatch_command_to_tab_child game_core Dispatches a command to a specific tab/child window. If param_3 is -1, resolves the tab index (0-9) by comparing get_field_0x1a0 against child window pointers at offsets 0xDC through 0x100. Then calls vtable+0xD4 on the resolved child with param_2. 0x008A31E0 359 CUIWindow__save_hotkey_texts_to_config game_core Iterates 10 hotkey edit text widgets, reads their display text via UIEditableTextWidget__get_display_text, and saves non-empty values to the global hotkey string array at DAT_01733630 (0x18 bytes per entry). Calls HotkeyConfig__save_all_to_registry at the end. 0x008A3350 47 std__string_compare_equal stl Compares two STL strings for equality. Extracts raw pointers from both strings (handling SSO) and calls std::_Traits_equal. 0x008A3380 128 CUIControl__destroy_tree_nodes_recursive ui_framework Recursively destroys a binary tree of 0x2c-byte nodes. Walks left children (param_3[0] = next node) while the sentinel flag at offset 0xD is false. For each node, recurses into param_3[2] (right child), destroys the string, and frees the node. Returns param_1 unchanged. 0x008A3400 129 CUIControl__tree_lower_bound_by_string ui_framework Performs a lower_bound search on a red-black tree by string key. Traverses the BST rooted at param_1, comparing each node's string (offset 0x10/0x14) against param_3 using std::char_traits::compare. Writes result to param_2: [0]=found node, [1]=comparison direction, [2]=parent/bound node. Sentinel check at offset 0xD. 0x008A3490 31 std__fill_range_4byte_b stl STL template instantiation: std fill range 4byte b 0x008A34B0 84 CUIScrollWindowN__ctor game_core Constructor for a scroll window subclass (vtable 011391c0). Calls CUIScrollWindow__ctor_base and sets its own vtable pointer. 0x008A3510 137 CUIWindowA__ctor_with_string game_core Constructor for a small UI window subclass (vtable 01139bf4). Calls UIWindowBase__ctor, initializes an SSO string at offset 0x2e and a field at 0x2d. 0x008A35A0 251 CUIItemListWindow__ctor game_core Constructor for CUIItemListWindow (vtable 01139298). Calls UIWindowBase__ctor, initializes two SSO strings at offsets 0x2d and 0x33, allocates a 0x2c-byte RB-tree sentinel node at offset 0x43, and zeroes vector pointers at 0x45-0x48. 0x008A36A0 86 UIWindowC__ctor game_core Constructor for UIWindowC subclass. Calls FUN_008a3700 for base init, then sets vtable pointer to PTR_UIWindowC__scalar_deleting_dtor_011390e8. 0x008A3700 236 UIWindowBase__ctor game_core Base constructor for UIWindowBase (vtable 01138a28). Calls CEffect__ctor, sets vtable, initializes default window size 600x600, allocates a 0x34-byte linked list header node (self-referencing), zeroes scroll/state fields, sets default layout values (0x2b=7, 0x2c=8), scale factor 1.0f, and calls UIWindow__render_overlay to initialize the child list. 0x008A37F0 106 UIWindowWithTexture__ctor game_core Constructor for UIWindowWithTexture subclass (vtable 011395f8). Calls UIWindowBase__ctor, sets vtable, zeroes texture-related fields at offsets 0x34 and 0x35. 0x008A3860 126 UIWindowD__ctor game_core Constructor for UIWindowD subclass (vtable 01138e60). Calls UIWindowBase__ctor, sets vtable, zeroes fields at offsets 0x2d-0x30. 0x008A38E0 220 UIFmtWindow__ctor game_core Constructor for UIFmtWindow subclass (vtable 01138d88). Calls UIWindowBase__ctor, sets vtable pointer and secondary vtable at offset 0x3b. Zeroes many state fields (0x2d-0x3a). Sets param_1[0x33]=1 as default. 0x008A39C0 1428 UICharSlotWindow__ctor game_core Constructor for UICharSlotWindow (vtable 01139010). Calls UIWindowBase__ctor, initializes 5+5 SSO string arrays for head/body palette paths, 3 more SSO strings for weapon/shield/imf paths, allocates character slot data via game object query (job 0x2720). Builds sprite resource paths for head palette, body palette, weapon sprite, shield sprite, and IMF. Sets render alpha to 0x80 and color to 0xFF. 0x008A3F60 86 UIWindowE__ctor game_core Constructor for UIWindowE subclass. Calls FUN_008a3700 for base init, then sets vtable pointer to PTR_UIWindowE__scalar_deleting_dtor_011396d0. 0x008A3FC0 226 UIWindowWithStrings__ctor game_core Constructor for UIWindowWithStrings subclass (vtable 01138b00). Calls UIWindowBase__ctor, initializes 3 SSO strings at offsets 0x34, 0x3a, 0x40. Zeroes field at 0x2f and byte at offset 0x47*4+3. 0x008A40B0 178 UIWindowF__ctor game_core Constructor for UIWindowF subclass (vtable 01138bd8). Calls UIWindowBase__ctor, initializes 2 SSO strings at offsets 0x34 and 0x3a. Zeroes field at 0x2f. 0x008A4170 172 UIWindowG__ctor game_core Constructor for UIWindowG subclass (vtable 01139370). Calls UIWindowBase__ctor, initializes SSO string at offset 0x36, zeroes fields at 0x2d-0x35 including boolean and pointer fields. 0x008A4220 219 UIWindowH__ctor game_core Constructor for UIWindowH subclass (vtable 01138f38). Calls UIWindowBase__ctor, allocates 0x13 (19) UIEditableTextWidget children into array at offsets 0x2d+, stores notice_patch_txt filename at offset 0x44, sets field counts and zeros state fields. Calls CUIWindowMgr__set_focus_window on self. 0x008A4300 215 UIWindowWithTextureAndString__ctor game_core Constructor for UIWindowWithTextureAndString subclass (vtable 01139520). Calls UIWindowBase__ctor, initializes SSO string at offset 0x33, zeroes texture/state fields at 0x32, 0x39, 0x3a, 0x2d-0x31. 0x008A43E0 84 UIDialogBoxSubclass__ctor ui_windows Constructor for a UIDialogBox subclass. Calls FUN_0084eab0 for base dialog init, then sets vtable to PTR_UIDialogBoxSubclass__scalar_deleting_dtor_011397a8. 0x008A4440 93 UIWindowI__ctor game_core Constructor for UIWindowI subclass (vtable 01139884). Calls UIWindowBase__ctor, sets vtable, zeroes byte at offset 0x2f*4. 0x008A44A0 84 UIWindowJ__ctor game_core Constructor for UIWindowJ subclass (vtable 0113995c). Calls UIScrollListBase__ctor, sets vtable. 0x008A4500 146 UIWindowWithFields__ctor game_core Constructor for UIWindowWithFields subclass (vtable 01139b1c). Calls UIWindowBase__ctor, stores param_2 at offset 0x2d, zeroes 10 pointer fields at 0x3d+ and 10 boolean flags at 0x11c+. Field 0x3c also zeroed. 0x008A45A0 146 UIWindowK__ctor game_core Constructor for UIWindowK subclass (vtable 01139a44). Calls UIWindowBase__ctor, zeroes 6 fields at offsets 0x2d-0x32. 0x008A4640 147 UIWindowL__ctor game_core Constructor for UIWindowL subclass (vtable 01138cb0). Calls UIWindowBase__ctor, initializes SSO string at offset 0x2f, zeroes fields at 0x2d and 0x2e. 0x008A46E0 86 UIWindowM__ctor game_core Constructor for UIWindowM subclass (vtable 01139448). Calls UIWindowBase__ctor, sets vtable. Minimal subclass with no additional fields. 0x008A4740 67 STL_rbtree_node__delete_single stl Deletes a single 0x2c-byte red-black tree node. Checks if the node pointer at offset +4 is non-null, frees it if so. 0x008A4790 87 UIWindowBase__cleanup_members game_core Cleanup helper for UIWindowBase. Calls STL_vector_int__clear_and_free then STL_linked_list__destroy_all_nodes to release base window data members. Used from dtors. 0x008A47F0 125 STL_vector_int__clear_and_free stl Clears and frees a vector of int-sized elements. Computes allocation size from (end - begin) & 0xFFFFFFFC, frees the backing buffer, then zeroes begin/end/capacity pointers. 0x008A4880 76 STL_rbtree__destroy_nodes_and_sentinel stl Destroys all nodes in a red-black tree then frees the 0x2c-byte sentinel node. Calls CUIControl__destroy_tree_nodes_recursive on the root's left child, then operator_delete on the sentinel. 0x008A48E0 113 STL_rbtree_node__destroy_string_and_free stl Destroys a single red-black tree node containing a string. If the node at offset +4 is non-null, destroys the embedded STL string then frees the 0x2c-byte node. 0x008A4960 78 STL_rbtree_node__free_if_exists stl Frees a 0x2c-byte red-black tree node if the pointer at offset +4 is non-null. 0x008A49B0 172 STL_linked_list__destroy_all_nodes stl Destroys all nodes in a singly-linked list of 0x34-byte nodes. Zeroes the last-node back-pointer, walks the list from head, calling UIWindow__serialize_state and STL_string_dtor on each node, then frees each node. Finally frees the list header node. 0x008A4A60 87 STL_rbtree__destroy_and_free_sentinel stl Destroys all nodes in a red-black tree and frees the 0x2c-byte sentinel. Same as STL_rbtree__destroy_nodes_and_sentinel but with different SEH cookie setup. 0x008A4AC0 65 STL_string_dtor_wrapper_008a4ac0 stl Thin wrapper around STL_string_dtor. Destroys a single STL string member. 0x008A4B10 80 STL_string_pair_dtor stl Destroys a pair of STL strings. Calls STL_string_dtor on both the string at param_1 and the string at param_1+8. 0x008A4B60 87 UIWindowBase__dtor_cleanup game_core UIWindowBase destructor cleanup helper. Calls STL_vector_int__clear_and_free then STL_linked_list__destroy_all_nodes to clean up the base window's vector and linked list members. 0x008A4BD0 71 CUIScrollWindowN__dtor game_core Destructor for CUIScrollWindowN. Sets vtable to PTR_UIWindowN__scalar_deleting_dtor_011391c0, then calls UIWindow__dtor_8caae0 for base cleanup. 0x008A4C20 152 UIWindowA__dtor game_core Destructor for UIWindowA (vtable 01139bf4). Destroys embedded STL string, then delegates to UIWindowBase base dtor chain: STL_vector_int__clear_and_free, STL_linked_list__destroy_all_nodes, and CEffect__dtor. 0x008A4CC0 71 UIWindowB__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_01138950). Delegates to UIWidget__dtor_0086ffa0 for cleanup. 0x008A4D10 230 UIItemListWindow__dtor game_core Destructor for CUIItemListWindow (vtable 01139298). Clears the item entry vector, destroys the red-black tree with CUIControl__destroy_tree_nodes_recursive and frees sentinel, destroys 2 SSO strings, then calls UIWindowBase base dtor chain. 0x008A4E00 134 UIWindowC__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_011390e8). Simple destructor that sets vtable then calls base class destructor chain. 0x008A4E90 121 UIWindowBase__dtor game_core Destructor for UIWindowBase (vtable 01138a28). Calls STL_vector_int__clear_and_free, STL_linked_list__destroy_all_nodes, then CEffect__dtor for final cleanup. 0x008A4F10 162 UIWindowWithTexture__dtor game_core Destructor for a UI window with texture resource (vtable PTR_FUN_011395f8). Frees texture handle at offset 0x34 via FUN_00aa2c90 if non-null, then calls base destructor chain. 0x008A4FC0 134 UIWindowD__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_01138e60). Simple destructor that sets vtable then calls base class destructor chain. 0x008A5050 152 UIFmtWindow__dtor game_core Destructor for a UI window with CFmt formatting support (vtable PTR_FUN_01138d88). Calls CFmt__func_0058c230 to clean up formatter, then base destructor chain. 0x008A50F0 152 UICharSlotWindow__dtor game_core Destructor for a UI character slot window (vtable PTR_FUN_01139010). Calls CCharSlotEntry__destructor to clean up character slot data, then base destructor chain. 0x008A5190 134 UIWindowE__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_011396d0). Simple destructor that calls base class destructor chain. 0x008A5220 182 UIWindowWithStrings__dtor game_core Destructor for a UI window with multiple string members (vtable PTR_FUN_01138b00). Destroys 3 STL strings then calls base destructor chain. 0x008A52E0 167 UIWindowF__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_01138bd8). Destroys 2 STL strings then calls base destructor chain. 0x008A5390 152 UIWindowG__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_01139370). Destroys 1 STL string then calls base destructor chain. 0x008A5430 134 UIWindowH__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_01138f38). Simple destructor that calls base class destructor chain. 0x008A54C0 177 UIWindowWithTextureAndString__dtor game_core Destructor for a UI window with texture and string (vtable PTR_FUN_01139520). Frees texture at offset 0x31 via FUN_00aa2c90 if non-null, destroys STL string, then calls base destructor chain. 0x008A5580 71 UIDialogBoxSubclass__dtor ui_windows Destructor for a UI dialog box subclass (vtable PTR_FUN_011397a8). Delegates to UIDialogBoxBase__destructor for cleanup. 0x008A55D0 134 UIWindowI__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_01139884). Simple destructor that calls base class destructor chain. 0x008A5660 71 UIWindowJ__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_0113995c). Delegates to FUN_00871040 for cleanup. 0x008A56B0 161 UIWindowWithFields__dtor game_core Destructor for a UI window with fields (vtable PTR_FUN_01139b1c). Zeros fields at offsets 0x3c and 0x2d, then calls base class destructor chain. 0x008A5760 134 UIWindowK__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_01139a44). Simple destructor that calls base class destructor chain. 0x008A57F0 152 UIWindowL__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_01138cb0). Destroys 1 STL string then calls base destructor chain. 0x008A5890 134 UIWindowM__dtor game_core Destructor for a UI window subclass (vtable PTR_FUN_01139448). Simple destructor that calls base class destructor chain. 0x008A5920 184 UIMapEntry__move_ctor game_core Move constructor for a UI map entry containing 2 integer fields and 2 STL string members. Copies integer fields directly, then move-constructs strings by stealing buffers and resetting source strings to empty state (size=0, capacity=0xf). 0x008A59E0 331 UIStringMap__find_or_insert game_core Finds or inserts an entry in a string-keyed map/tree. Calls FUN_008a3400 to find the insertion point, compares keys using std::_Traits_compare. If key not found, allocates a new 0x2c-byte node, moves the key string into it, initializes fields, and inserts via Insert_node. Returns pointer to the value portion (offset 0x28) of the found/inserted node. 0x008A5B30 294 UIStringMap__find_or_insert_copy game_core Finds or inserts an entry in a string-keyed map/tree (copy version). Similar to UIStringMap__find_or_insert but copy-constructs the key string instead of moving it. Allocates a 0x2c-byte node, copies key via STL_string_copy_construct, initializes node fields, and inserts via Insert_node. Returns pointer to value at offset 0x28. 0x008A5C60 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x008A5CC0 236 UIWindowMgr__get_tls_guid_table game_core Returns pointer to a thread-local GUID/identifier table at TLS offset 0x25d8. On first access (flag at offset 0x262c), copies 0x50 bytes of initialization data from 5 static GUID structs at 0x0113a980-0x0113aa7c into the TLS block, sets initialized flag, and registers cleanup via FUN_00e6343b (atexit). 0x008A5DB0 99 UIWindowN__scalar_deleting_dtor game_core Scalar deleting destructor for a UI window subclass (vtable PTR_FUN_011391c0). Calls UIWindow__dtor_8caae0 for cleanup, then frees 0xc0 bytes if param_2 bit 0 is set. 0x008A5E20 176 UIWindowA__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowA (vtable PTR_FUN_01139bf4). Destroys STL string, calls base destructor chain, then frees 0xd0 bytes if param_2 bit 0 is set. 0x008A5ED0 99 UIWindowB__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowB (vtable PTR_FUN_01138950). Delegates to UIWidget__dtor_0086ffa0, then frees 0x88 bytes if param_2 bit 0 is set. 0x008A5F40 254 UIItemListWindow__scalar_deleting_dtor game_core Scalar deleting destructor for UIItemListWindow (vtable PTR_FUN_01139298). Clears item entry vector, destroys strings, calls base destructor chain, then frees 0x124 bytes if param_2 bit 0 is set. 0x008A6040 158 UIWindowC__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowC (vtable PTR_FUN_011390e8). Frees 0xc0 bytes if param_2 bit 0 is set. 0x008A60E0 145 UIWindowBase__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowBase (vtable PTR_FUN_01138a28). Frees 0xb4 bytes if param_2 bit 0 is set. 0x008A6180 186 UIWindowWithTexture__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowWithTexture (vtable PTR_FUN_011395f8). Frees texture handle at offset 0x34, then frees 0xd8 bytes if param_2 bit 0 is set. 0x008A6240 158 UIWindowD__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowD (vtable PTR_FUN_01138e60). Frees 0xc4 bytes if param_2 bit 0 is set. 0x008A62E0 176 UIFmtWindow__scalar_deleting_dtor game_core Scalar deleting destructor for UIFmtWindow (vtable PTR_FUN_01138d88). Cleans up CFmt, frees 0xf0 bytes if param_2 bit 0 is set. 0x008A6390 176 UICharSlotWindow__scalar_deleting_dtor game_core Scalar deleting destructor for UICharSlotWindow (vtable PTR_FUN_01139010). Destroys char slot entry, frees 0x2dc bytes if param_2 bit 0 is set. 0x008A6440 158 UIWindowE__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowE (vtable PTR_FUN_011396d0). Frees 0xc8 bytes if param_2 bit 0 is set. 0x008A64E0 38 UIWindowWithStrings__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowWithStrings. Calls UIWindowWithStrings__dtor, frees 0x120 bytes if param_2 bit 0 is set. 0x008A6510 191 UIWindowF__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowF (vtable PTR_FUN_01138bd8). Destroys 2 STL strings, frees 0x100 bytes if param_2 bit 0 is set. 0x008A65D0 176 UIWindowG__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowG (vtable PTR_FUN_01139370). Destroys 1 STL string, frees 0xf0 bytes if param_2 bit 0 is set. 0x008A6680 158 UIWindowH__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowH (vtable PTR_FUN_01138f38). Frees 0x174 bytes if param_2 bit 0 is set. 0x008A6720 201 UIWindowWithTextureAndString__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowWithTextureAndString (vtable PTR_FUN_01139520). Frees texture at offset 0x31, destroys string, frees 0xec bytes if param_2 bit 0 is set. 0x008A67F0 99 UIDialogBoxSubclass__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIDialogBoxSubclass (vtable PTR_FUN_011397a8). Delegates to UIDialogBoxBase__destructor, frees 0x120 bytes if param_2 bit 0 is set. 0x008A6860 158 UIWindowI__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowI (vtable PTR_FUN_01139884). Frees 0xe4 bytes if param_2 bit 0 is set. 0x008A6900 99 UIWindowJ__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowJ (vtable PTR_FUN_0113995c). Delegates to UIFormattedWidgetBase__dtor, frees 0xd4 bytes if param_2 bit 0 is set. 0x008A6970 185 UIWindowWithFields__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowWithFields (vtable PTR_FUN_01139b1c). Zeros fields at offsets 0x3c and 0x2d, frees 0x13c bytes if param_2 bit 0 is set. 0x008A6A30 158 UIWindowK__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowK (vtable PTR_FUN_01139a44). Frees 0xd0 bytes if param_2 bit 0 is set. 0x008A6AD0 176 UIWindowL__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowL (vtable PTR_FUN_01138cb0). Destroys 1 STL string, frees 0xdc bytes if param_2 bit 0 is set. 0x008A6B80 158 UIWindowM__scalar_deleting_dtor game_core Scalar deleting destructor for UIWindowM (vtable PTR_FUN_01139448). Frees 0xc8 bytes if param_2 bit 0 is set. 0x008A6C20 406 UIWindow__compute_adjusted_value ui_events Computes an adjusted 64-bit value by reading a string from FUN_00858d20, converting it via virtual call at vt+0xd4 on object at this+0xb4, then parsing the result with _atoi64 and adding param_2. Clamps result to [0, 0x7fffffff]. Used for UI value calculations (e.g., experience, zeny adjustments). 0x008A6DC0 87 UIWindow__animate_idle_sprites ui_events Animates idle sprites for a UI window. Iterates 4 sprite objects at offset 0xd4, calling virtual method at vt+0x10 with position (-100,-100) to reset each. Then picks one of 4 sprites based on (timeGetTime() % 1000) / 250 and calls its position method with (6,5). 0x008A6E20 1319 UIWindow__compute_adjusted_value_ex ui_events Extended version of UIWindow__compute_adjusted_value. Gets text from FUN_00858d20 and FUN_00b00f00, compares them. If equal, computes adjustment using global values at DAT_01733d28/DAT_01738258/DAT_0173825c with overflow/underflow clamping. If different, parses text as int64 via _atoi64, validates range, and stores result. Handles display formatting via SimpleString::operator=. Returns clamped 64-bit value. 0x008A7350 3857 UIDialogBox__init_layout ui_windows Initializes the layout for a UI dialog box. Takes title text, button type (0/2/4/5), timer duration, button label, size params, and item slot info. Sets up timing (timeGetTime for start/end), creates scroll list widget, configures cancel buttons from sprite resources (btn_cancel, btn_cancel_a, btn_cancel_b), positions the dialog centered on screen, and optionally creates an edit box (type 5) or item slot widget. 0x008A8280 2126 UIDialogBox__init_simple_layout ui_windows Initializes a simpler dialog box layout with fixed size 0x118 x 0x78. Sets up timer, scroll list, cancel button with 3 states, and a color button widget. Configures button colors via CColorPicker__GetPixelRGB. Creates the button layout centered on screen. Also gets item description for display via CItemDesc__get_offset_ptr. 0x008A8AD0 598 UIDialogBox__setup_item_dialog ui_windows Sets up a dialog box for item interactions. Calls FUN_008a7350 to init layout, configures scroll list colors, positions child widgets, creates button sprites from DAT_010e2d58/010e2d8c, and retrieves item description via CItemDesc__get_offset_ptr. Stores formatted text result at offset 0x120. 0x008A8D30 430 UIWidget__draw_item_with_count ui_framework Draws item sprite and count text overlay with shadow effect, adjusts position for count < 1000 0x008A8EE0 145 UIWindow__draw_item_sprite ui_events Draws an item sprite at given position. Checks the identified flag at offset 0x5c and param_4 to determine sprite variant (0 or 1). Gets sprite name from string at offset 0x2c of param_3, converts via FUN_00ddd280 to 128-byte buffer, loads texture via FUN_00b01200 and FUN_00aee770, then renders with FUN_00a7bb60. 0x008A8F80 117 UIWindow__draw_sprite_direct ui_events Draws a sprite directly at given position. Takes sprite name, converts via FUN_00ddd280 with param_4 variant flag, loads texture via FUN_00b01200 and FUN_00aee770, then renders with FUN_00a7bb60. 0x008A9000 57 UIWindow__draw_static_sprite ui_events Draws a static sprite from DAT_011384a8 at given position. Loads texture, then renders with FUN_00a7bb60 with flag=0 (no flip/rotation). 0x008A9040 414 UIWindow__draw_item_sprite_with_count ui_events Draws an item sprite at given position and overlays the item count text. Uses FUN_00ddd280 for sprite variant, loads and renders texture. If item count at offset 0x10 is valid (!= -1 and != 0), formats it as text and draws with outline effect (4 offset copies in white 0xffffff, then final in black). Uses smaller font size (0xb) and adjusts position based on whether count < 1000. 0x008A91E0 669 UIWindow__draw_bordered_background ui_events Draws a bordered background for a UI window using 8 edge/corner sprites and a filled rectangle. Renders top/bottom edges (repeating 0xe-pixel tiles), left/right edges, 4 corners, and fills the interior with CColorPicker color. Uses sprites from DAT_0113398c/39ac/39cc/39ec/3a0c/3a2c/9d4c/9d6c. param_2/param_3 are x/y position, param_4/param_5 are width/height (default to this->width/height if 0). 0x008A9480 2238 UIWindow__draw_skinned_background ui_events Draws a skinned/themed window background using named sprite parts. Constructs sprite names by concatenating a base skin name with suffixes (lu_bmp, ru_bmp, ld_bmp, rd_bmp for corners and edge pieces). Tiles edge sprites in 0xe-pixel increments along width and height. Fills interior with a pixel color from CSprite__GetPixelAt, optionally overridden by param_7 or CColorPicker color. param_2 is skin name, param_3/4 are x/y, param_5/6 are w/h. 0x008A9D40 3215 UIWindow__draw_skinned_background_ex ui_events Extended skinned background drawing with optional tiled fill mode. Similar to draw_skinned_background but supports param_6=1 for tiled background fill instead of solid color fill. When tiled, fills interior with repeating texture pattern. Uses same sprite naming convention (lu_bmp, ru_bmp, ld_bmp, rd_bmp suffixes). Falls back to CColorPicker solid fill when not tiled. 0x008AA9D0 57 UIWindow__draw_default_sprite ui_events Draws a default/placeholder sprite from DAT_01139cc8 at given x,y position with no flags. 0x008AAA10 221 UIWindow__draw_labeled_button ui_events Draws a labeled button at x,y. Formats label as "%s %d" from param_3 and param_4 using wsprintfA. Draws a 0x46 x 0x10 background rect with param_5 color, inner rect with param_6 color, then centers the formatted text using CColorPicker pixel color for text, font size 0xc. 0x008AAAF0 1372 UIWindow__serialize_widget_data ui_events Serializes UI window widget data into a byte vector (param_2). Inserts multiple data blocks using CItemInfoMgr__rbtree_insert_with_hint with type IDs 0x5014-0x501f. Serializes: base data (0x5014), formatted text at offset 0x120 (0x5016), strings at offsets 0xb4 and 0xcc (0x5017/0x5018), integers at offsets 0xe4-0xf0 (0x5019-0x501c), and tree-based data entries with types 0x501e (flag=0) and 0x501f (flag=1). Finishes with terminator 0x5015. 0x008AB070 3238 UIWindow__init_transparent_buttons ui_events Initializes 2 transparent buttons for a UI window. Uses XOR-encrypted TLS-stored sprite name strings (decrypted at first access). For each button, constructs 3 sprite variant names (normal/hover/pressed) by concatenating the decrypted base name with "win_transbtn" suffixes. Creates UIButton objects via FUN_0084eab0, loads sprite states via FUN_008657a0, positions buttons using coordinate table at local_24, and sets button IDs 0x167/0x168. 0x008ABD20 144 UIWindow__read_registry_dword ui_events Reads a DWORD value from the Windows registry at HKLM under the path from PTR_DAT_01348f80. Sets default value from DAT_016d3b10, then queries the registry for param_2 value name, storing result at this+0xd4. 0x008ABDB0 1631 UIWindow__load_registry_settings ui_events Loads multiple settings from the Windows registry under HKLM. Uses XOR-encrypted TLS-stored registry key names (decrypted on first access). Reads: enable flag (stored at this+0xc8), a byte value, a 0x33-byte string, and a 3-byte value. If enable flag is set, compares the string against known values to determine settings mode and calls FUN_00868570 to configure. Updates virtual call results at this+0xb4 and this+0xb8. 0x008AC440 71 CSkillEffect__check_level_requirement effect Checks if a skill effect meets level requirements. First calls CSkillEffect__HasRequiredComponents on param_1. If requirements met and param_2 is valid, checks if skill ID at param_1+8 matches param_2+1 and if current level at param_1+0x10 meets minimum level at param_2+5. Returns 1 if requirement is satisfied, 0 otherwise. 0x008AC490 3223 UIWindow__init_button_panel ui_events Initializes a button panel for a UI window. Creates buttons in a loop (2 iterations for main buttons with IDs 0xb8/0xb9), each with 3 sprite states (normal/hover/pressed) from sprite name suffixes. Also creates additional UI elements: two more buttons at offsets 0x2c4/0x2c8 with IDs 0xe3/0xe2, two UISpriteWidgets at offsets 0x2cc/0x2d0, and configures sprite animations and tooltips. 0x008AD130 27 UIWidget__set_offset_and_refresh_a ui_framework Sets widget offset at this[7] = x, this[8] = y, then calls virtual method at vt+0x90 to refresh/redraw. 0x008AD150 27 UIWidget__set_offset_and_refresh_b ui_framework Sets widget offset at this[7] = x, this[8] = y, then calls virtual method at vt+0x90 to refresh/redraw. Identical code to set_offset_and_refresh_a but at a different address (different class vtable). 0x008AD170 31 UIWidget__set_position_from_base ui_framework Sets widget absolute position by adding param offsets to base position. this+0x1c = this+0x84 + param_2 (x), this+0x20 = this+0x88 + param_3 (y). 0x008AD190 557 UIBankWindow__init_controls game_core Initializes bank window UI controls. Creates deposit (0x1ce), withdraw (0x1cf), up (0x117), down (0x118) buttons and amount preset buttons (100K=0x188, 1M=0x187, 10M=0x186, max=0x185) using FUN_008cf390 with sprite names like bank_btn_deposit/withdraw/upper/buttom. Creates a UITextWidget at offset 0xb4 sized 99x17, positioned at (0x4e,0x5a), with white text and editable input for amount entry. 0x008AD3C0 929 UISearchWindow__init_controls game_core Initializes search window UI controls. Creates: text label (0xb0 bytes) at offset 0xf4, editable text widget (0x14c bytes) at offset 0xf8 with ID 0x1ee and font 0x46, two list widgets at offsets 0xfc/0x100 with proportional widths, a scrollbar at 0x104, and an editable text widget at 0x108 for search input. Sets default font size and button ID 0xb8. 0x008AD770 1288 UIWindow__init_text_and_button ui_events Initializes a UI window with a text widget at offset 0xb8 (editable, font 6, light gray) and an editable text widget at offset 0xbc, plus a cancel button (3 sprite states) positioned at bottom-right. Sets widget ID to 0xb8. 0x008ADC80 3096 UIPetWindow__init_controls game_core Initializes pet window controls. Creates: a text label at offset 0xb4 with pet name from DAT_01737bb4, multiple buttons using sprite names (btn_skill, btn_feed, btn_rewrite), two panel containers at offsets 0xbc/0xc0 with functor callbacks, a container widget at offset 0xc4, a base widget at offset 0xc8, and a map view widget at offset 0xd4 with map names from DAT_010e1a50/010e1a70. Sets pet info display ID to 0xc9. 0x008AE8A0 2276 UIAchievementWindow__init_controls game_core Initializes achievement window controls. Uses XOR-encrypted TLS strings for sprite names. Creates: text widget at offset 0xb4, editable text label at offset 0xbc, multiple static text labels for headers, a large button widget (0x144 bytes) with 3 XOR-encrypted sprite state names, and configures text styles (font size 0xc, color 0x313131). Sets button ID to 0x17e. 0x008AF190 6597 UIWindow__init_complex_layout ui_events Large UI window initialization function (6597 bytes). Creates a complex layout with multiple child widgets. Too large to fully decompile; likely initializes a major game window with many controls. 0x008B0B60 314 UIWindow__init_scroll_controls ui_events Initializes scroll-related controls for a UI window (314 bytes). Sets up scrollbar and list widgets. 0x008B0CA0 1425 UIWindow__init_tabbed_layout ui_events Initializes a tabbed layout for a UI window (1425 bytes). Creates tab buttons and associated panel content. 0x008B1240 1309 UIWindow__init_list_layout ui_events Initializes a list-style layout for a UI window (1309 bytes). Creates list widgets with scroll support. 0x008B1760 4287 UINoticeWindow__init_controls game_core Initializes the notice/announcement window. Creates 3 navigation buttons (back/next/close with IDs 0xb8/0xf6/0xda) using cancel-style sprites. Then reads notice content from the file at this+0x110, comparing it against notice_check.txt to detect changes. Parses lines (splitting on newline, stripping CR) and sections (delimited by '^'). Stores up to 20 lines of text in widgets at offsets 0xb4-0x16c, creates a scrollbar at 0x170, and copies notice content to notice_check.txt. If content is unchanged and fully read (0xff marker), unregisters the window. 0x008B2820 2510 UIWindow__init_detail_view_layout ui_events Initializes a detail view layout for a UI window (2510 bytes). Creates detail display with text labels and action buttons. 0x008B31F0 4306 UIReplayWindow__init_controls game_core Initializes the replay control window. Uses 'replay_interface_' sprite prefix. Creates 4 transport control buttons (stop=0x191, end, speedadd, speedmin) in a loop with 3-state sprites (normal/a_bmp/b_bmp). Also creates start (0x191) and pause (0x192) buttons as UIDialogBoxSubclass. Retrieves hotkey configs via lua_get_hotkey_config for keys 0x27/0x28/0x29. Creates a progress bar widget at offset 0xd0 and 4 editable text widgets at offsets 0xd4+ for time display. Calls UIWindow__process_touch_input for touch support. 0x008B42D0 6002 UIReplayRecordWindow__init_controls game_core Initializes the replay recording window (6002 bytes). Uses 'replay_interface_' sprite prefix. Creates 8 UIDialogBoxSubclass action buttons (start/stop/save/setup/close + IDs 0x1a8/0x1a9) with message strings 0x7b9-0x7bf. Creates 4 additional buttons with recrun sprites, 5 status indicator widgets (replay_recrun_1 through replay_recrun_5), 2 editable text fields for time display, 10 tab widgets for category selection (Basicinfo/Equip/Item/Skill/Guild/Party/Chat/Shortcut/Status/Quest), 2 more tabs for user-defined/repeat-check, a text input widget for user-defined filename, and configures keyboard input handling. 0x008B5A50 2760 UIServerSelectWindow__init_controls game_core Initializes the server selection window. Creates a UIScrollListBase widget at offset 0xb4 with configurable size from params, sets RGB colors to 0xf0. Creates 4 buttons: cancel (0xb8), exit (login_interface_btn_exit), and select-server (replay_interface_btn_selectserve) with button ID 0xdd stored at offset 0xb8 when matched. Also creates 5 editable text widgets at offsets 0xbc+ for server info display, positioned vertically from y=0x23 in 0xf-pixel increments. 0x008B6520 2847 UIReplaySelectWindow__init_controls game_core Initializes the replay file selection window. Creates a UIScrollListEx widget at offset 0xb4 with configurable size from params, sets RGB colors to 0xf0. Creates up to 4 buttons: cancel (0xb8), exit (login_interface_btn_exit), replay (replay_interface_btn_replay) with button ID 0xdd stored at offset 0xb8. Checks DAT_01737f4a flag and game mode field4==0x1e to adjust button layout. Conditionally skips button creation if button ID is 400 (0x190) and flag is clear. 0x008B7040 2584 UIActionWindow__init_controls game_core Initializes an action window with a text display and two buttons. Creates a UITextWidget at offset 0xc4 (240x16, font 0x4e, light gray text at 0x16,0x32). Creates 2 cancel-style buttons in a loop with IDs 0xb8/0xb9, using btn_cancel sprites with 3 states. Sets default action ID to 0xb8. 0x008B7AD0 533 UIBankWindow__draw_balance_info game_core Draws bank balance information in the bank window. Renders a background sprite from DAT_0113a4c0, then displays two text lines: bank balance (using FUN_00af60e0 to format DAT_01738258/0173825c as currency string) and wallet amount (using FUN_00af6140 to format DAT_01733d28). Formats with "%s" pattern. If this+0xc8 is set, also renders a string from offset 0xb8 with center-aligned positioning. 0x008B7CF0 165 UISearchWindow__draw_separator_line game_core Draws a separator line in a search window. Calls FUN_008d2ce0/008d03e0 for background, gets a color via CColorPicker__GetPixelRGB, draws a vertical colored line using FUN_00a7bd60, and calls FUN_008d0920 to finalize drawing. 0x008B7DB0 1790 UIPetStatusWindow__draw_background game_core Draws the pet status window background with stat labels and values. Renders background sprite from DAT_0113a138, draws a 3D bordered header, and title via message 0x3a8. Displays stat labels (messages 0x197/0x198/0x3fb/0x249/0x24a) with corresponding values from pet globals DAT_01737bd4-01737bf8. Stat values include hunger (2000-based scale /10), loyalty, and various pet attributes. Also renders intimacy text (0x29b-0x2a4 range based on thresholds). For advanced pets, shows additional combat stats, HP ratio, and a descriptive multi-line text block (messages 0xccf/0xcd4). 0x008B84B0 349 UIWindow__draw_decorated_background ui_events Draws a decorated background for a UI window (349 bytes). Renders background with decorative elements. 0x008B8620 718 UISkillTreeWindow__draw_skill_sprites game_core Draws skill tree sprites for a skill window. Renders background from DAT_01139f70, title via message 0x940, and iterates through 2 skill sprite layers. For each layer: loads base texture from offset 0x260, skill sprite from offsets 0x170/0x188 (per-layer stride 0x18), and overlay texture from offsets 0x1e8/0x1fc. Checks skill tree prerequisite data via CSkillTreeData__get_prereq_data and skill tree node positions via UISkillWnd__get_skill_tree_node. Uses tile caching (CTileCache__find_cached_tile/acquire_tile) for sprite sheet rendering via vtable+0x28 draw call. 0x008B88F0 1390 UIHomunculusStatusWindow__draw_background game_core Draws the homunculus status window background with stat labels and values. Renders background sprite, then selects title message based on homunculus type (0x49d for IDs 0x1781-0x178a, 0x49e for 0x1795-0x179e, 0x49f/0x557 otherwise). Displays stat labels (messages 0x197/0x198/0x4a0-0x4a3) with values from globals DAT_01737c84-01737ca0. Stats include ATK, DEF, hunger (2000-based /10). Shows class name from DAT_01737c64, level from DAT_01737cb0. When homunculus is valid (ID != -1), renders HP/SP ratios, creation time via localtime/strftime with message 0x4ec, and kill/death/assist counts. 0x008B8E60 48 UIWindow__draw_title_background ui_events Draws the title background for a UI window. Gets title string from offset 0x100 (with SSO check at 0x114), calls FUN_008d2ce0 with flag=1 and FUN_008d03e0 to render the title bar. 0x008B8E90 49 UIWindow__draw_background_sprite_b ui_events Draws a background sprite from DAT_01139db4 at position (0,0) with no flags. 0x008B8ED0 1718 UIWindow__draw_achievement_background ui_events Draws the achievement window background (1718 bytes). Renders background elements specific to achievement display. 0x008B9790 424 UIWindow__draw_pet_background ui_events Draws the pet window background (424 bytes). Renders background elements for pet info display. 0x008B9940 92 UIWindow__draw_title_with_image ui_events Draws the title background and an optional image. Gets title string from offset 0x100, calls FUN_008d2ce0/008d03e0 for title bar, FUN_008d0920 with flag 2 for additional rendering. If image handle at offset 0x120 is non-zero, renders it at position (0x9e,0x1b) with size (0x38,0x4b) via FUN_00a7bb20. 0x008B99A0 1264 UIPetInfoDialog__draw_background game_core Draws the pet info dialog background. Renders colored fill, title bar with message 0x248, and bottom sprites from DAT_0113a084/0113a0a4 (corner decorations). Displays stat labels (messages 0x197/0x198/0x249/0x24a) with pet intimacy level text (0x29b-0x29f range: shy/awkward/neutral/cordial/loyal/unknown). Shows loyalty number, class name from offset 0xcc, and level from DAT_01733678. For valid pets (ID in 1000-3999 or 20021-32011 range), renders pet illustration via lua_get_pet_illust_name_v3, '< Command >' label centered in a filled rect, feeding type text (message 0x255-0x258), and optional auto-feed label (0xa11) if this+0xe4 is set. 0x008B9E90 49 UIWindow__draw_background_sprite_c ui_events Draws a background sprite from DAT_0113a20c at position (0,0) with no flags. 0x008BA1E0 152 UIWindow__prepare_render_context ui_events Prepares the render context for a UI window before drawing. Reorders the window in the global window list if needed (via CGameObject__reorder_window_in_list_18), sets hover focus, accumulates parent offsets to compute absolute screen coordinates (stored at this+0x7c/0x80/0x84/0x88), sets render flag 0x80, timestamps via timeGetTime(), and refreshes dependent navigator windows. 0x008BA280 61 UIWindow__on_mouse_over_list_row ui_events Handles mouse hover over list row. Hit-tests the row from coordinates, stores result in field 0x94, calls virtual refresh and sends msg 0x50. 0x008BA2C0 68 UIWindow__on_window_focus_reset ui_events Resets window focus state. If this is the active window (field 0x19c match), resets selection to -1, sets alpha to 0xFF, records timestamp, clears hover, and rebuilds navigator children. 0x008BA310 171 UIWindow__on_mouse_click_dispatch ui_events Dispatches mouse click. If this is active window and click is within bounds, sets click flag and sends virtual messages. Otherwise clears click flag. Calls virtual refresh and clears hover. 0x008BA3C0 3 null_stub_008ba3c0 crt Empty stub function with no implementation, only returns 0x008BA3D0 289 UIWindow__show_tooltip_for_long_text ui_events Shows tooltip for text that exceeds 100 pixels width. Accumulates parent offsets, measures text width at font size 12, and if >100px, shows tooltip via CToolTipMgr at the computed position. 0x008BA510 335 UIWindow__update_position_with_snap ui_events Updates window position with snap offsets. Accumulates parent offsets, computes snap offsets, selects the larger offset between navigator snap and computed snap, then applies the combined position and registers in grid. 0x008BA670 426 UIWindow__update_elapsed_time_display ui_events Updates an elapsed time display. Gets current time, converts to minutes:seconds, formats via XOR-decrypted format string, sets text widget, and calls virtual refresh. Uses TLS for encrypted string storage. 0x008BA820 1413 UIWindow__update_input_fields_with_placeholder ui_events Manages two input text fields with placeholder text and IME control. Compares current text against XOR-encrypted placeholder strings. Sets grey (0x9C) color for placeholder, black for user input. Handles IME conversion status toggling. Fields at offsets 0xB4 and 0xB8. 0x008BADC0 301 UIWindow__update_countdown_display ui_events Updates countdown timer display. Compares current time against deadline at offset 0xC4. When expired, sets DAT_01457af4=0xBB and clears active flag. Otherwise computes remaining seconds, formats via lua_util_sprintf with format string at offset 0xD0, and updates text widget. 0x008BAEF0 378 UIWindow__update_countdown_with_progress ui_events Updates countdown timer with progress bar. Similar to update_countdown_display but also computes progress percentage from elapsed/total duration and sets it on a progress control via CUIControl__set_field_0x1f_and_invalidate. 0x008BB070 51 UIWindow__send_scroll_indicator_msg ui_events Sends a scroll indicator message to a child widget. If param is negative, sends offset +6; otherwise sends -6 (0xFFFFFFFA). Uses virtual call at vtable+0x94 with the widget at field 0x170. 0x008BB0B0 30 UIWindow__open_url_via_shell ui_events Opens a URL via Windows ShellExecuteA. Uses the main window handle (DAT_0173ad68), the 'open' verb (DAT_010d9804), and a URL from PTR_DAT_01348f6c. 0x008BB0D0 537 UIWindow__load_and_display_text_file ui_events Loads a text file and displays its contents in a paged text view. Reads file from path at field 0x110, parses lines delimited by newlines, handles '^' as section markers, supports scrolling with up to 19 visible lines, sets each line as a text widget entry. 0x008BB2F0 76 UIWindow__setup_child_scrollbars ui_events Sets up scroll ranges for two child scrollbar widgets at offsets 0x2CC and 0x2D0. First scrollbar: range 0-22 with page size 1. Second scrollbar: range 0-8 with page size 1. Calls virtual refresh on each. 0x008BB340 58 UIWindow__apply_snap_offset ui_events Applies window snap offset. Computes snap offsets via CGameObject__compute_window_snap_offsets, adds them to position fields (0x1C, 0x20), then registers the window in the UI grid. 0x008BB380 110 UIWindow__save_setting_to_registry ui_events Saves a setting value to the Windows registry. Copies a value from the child widget's field 0x94 into field 0xD4, then writes it as a DWORD to HKLM under the game's registry key using the provided registry value name. 0x008BB410 471 UIWindow__process_trade_input ui_events Handles trade window input events. Msg 6+0xB8/0xB9: confirm/cancel trade (sends command 0x78). Msg 0x4A: updates trade item info by combining item name with message table text 0x189, sets text on child widget. 0x008BB5F0 213 UIWindow__process_bank_input ui_events Handles bank/zeny input. Processes deposit (0x1CE) and withdraw (0x1CF) with overflow and trade-busy checks. Amount buttons: 10M (0x186), 1M (0x187), 100K (0x188). Input fields at 0xB4/0xB8. Uses compute_adjusted_value_ex for 64-bit zeny math. Sends packets 0x9A7/0x9A9. 0x008BB79E 1 stub_nop_008bb79e game_core Single-byte stub function (size=1) 0x008BB905 112 UIInputWnd__apply_computed_value_to_edit_field game_core UIInputWnd: apply computed value to edit field 0x008BB9E0 170 UIWindow__chat_window_proc ui_events Main chat window message handler. Extremely large proc handling: Msg 6+0xB8: send chat with link delimiter check, ASCII validation, report system, and whisper target detection. Msg 0x0E: window resize with min 280x120. Msg 0x22: update chat data (name, message, map info, town search). Msg 0x25: search results display. Msg 0x2B-0x2E: settings tree iteration. Msg 0x30: context menu actions (whisper, party, block, friend request, pet evolution). Msg 0x31: friend list population. Msg 0x35: position restore. Msg 0x7B: network sync data (multiple sub-packets 0x5015-0x501F). 0x008BDB00 94 UIWindow__generic_input_window_proc ui_events Generic input window proc. Msg 6+0xB8: reads text input, converts to int, sends command with stored ID. Msg 0x1D: sets text widget. Msg 0x50: stores list selection index. Msg 0x51: converts int to string and sets on text widget. Default: delegates to button click handler. 0x008BDC90 125 UIWindow__handle_button_click ui_events Handles a button click event in a UI window (125 bytes). 0x008BDD10 1255 UIWindow__search_window_proc ui_events Search/friend list window proc. Msg 6+0xB8: validates search text (length < 24, no URL patterns), performs town search or sends friend request (0xB9). Msg 6+0xC9: closes. Msg 6+0xD5: save data sync. Msg 6+0x121-0x123: manage friend windows (create, delete confirm, character delete). Msg 6+0x1E8: dialog result handling. Msg 0x22: reposition with validation. 0x008BE200 647 UIWindow__pincode_window_proc ui_events PIN code window proc. Msg 6+0xB9: disconnect confirm dialog (msg 0x11). Msg 6+0x17E: plays sound, validates PIN is exactly 8 digits, sends via command 0x2728 + 0x27, closes window 0xB4. Shows error dialog (msg 0xCB1) if wrong length. Msg 0x3C: clears text field. 0x008BE490 776 UIWindow__account_service_window_proc ui_events Account service window proc. Handles account creation, URL launch, and quit flow. Msg 6+0xB9: disconnect. Msg 6+0xBA: password change with min 4/6 char validation, sends 0x2735/0x2717/0x2718/0x2736. Msg 6+0xD5: toggle display mode. Msg 6+0xDD: quit with disconnect confirm. Msg 6+0xE5: creates pet selection popup (window 0x1A). Msg 6+0x10B: quit to website or game mode on quit. Msg 0x27: decrypts TLS strings for button labels. 0x008BF720 166 UIWindow__enchant_window_proc ui_events Enchant window message handler. Msg 0: default button handler. Msg 6: network packet forwarding + sub-msg handling (0xB8=refresh, 0xC9=close enchant, 0x15D=create enchant window 0x7E, 0x15E=confirm with dialog). Msg 0x22: reposition window. 0x008BF950 67 UIWindow__service_info_window_proc ui_events Service info window message handler. Msg 6: close on 0xB8/0xBB/0xBC. Msg 0x39: refresh child and send msg 0x1D. Msg 0x43: copy string. Msg 0x62: open URL from message table entry 0xD75 via ShellExecuteA. Msg 0x9C/0x9D/0x9E: get/set enable state at offset 0x118/0x11C. 0x008BFB70 34 UIWindow__simple_command_window_proc ui_events Simple command window proc. Msg 6: stores param in DAT_01457af4 and returns 0. All other messages: delegates to UIWindow__handle_button_click. 0x008BFBA0 113 UIWindow__charselect_data_window_proc ui_events Character select data window message handler. Msg 6+0xB8: unregister window. Msg 0x4F: copies 7 int + 1 bool (32 bytes) of char data from param into member fields at offset 0xB4-0xD0, then calls virtual refresh (vtable+0x98). 0x008BFC20 63 UIWindow__notice_window_proc ui_events Notice/patch notes window message handler. Msg 0: self-close. Msg 6+0xB8: write read-state to notice_read.txt and close. Msg 6+0xDA/0xF6: page navigation (next/prev). Msg 7/9/10: vertical scrolling with bounds clamping. Draws equipped items section after scroll. 0x008BFE80 154 UIWindow__search_navigation_window_proc ui_events Search/navigation window message handler. Msg 6+0xB8: text search with town name validation, shows dialog on incomplete search. Msg 6+0xC9: close. Msg 6+0x10C: creates multi-option selection window (0x104) with 4 message table entries + pet item list from save data. Msg 6+0x1E8: confirm dialog for guild-related action. Msg 0x22: reposition. Msg 0x27: handles submenu selections (0x1D3-0x1D7) for guild/pet actions. 0x008C0B20 65 UIWindow__graphics_options_window_proc ui_events Graphics options window message handler. Msg 6: dispatches session commands 0x191-0x196 (graphics presets), 0x194 closes window. Msg 0x23: toggles between two display modes by swapping child widget positions. Msg 0x3C: touch input. Msg 0xFB: no-op. 0x008C0DF0 1266 UIWindow__recording_settings_window_proc ui_events Recording/macro settings window proc. Msg 6+0xD5: handles 10+ checkbox toggles for recording categories via radio buttons, syncs to EffectMap config. Msg 6+0x1A4-0x1A9: mode transitions (start recording, stop, search filename with URL validation, manage states). Msg 0x22: reposition. Msg 0x3C: refresh display. Msg 0x57: saves resolution to EffectMap. Msg 0x74: updates animation display. 0x008C14F0 63 UIWindow__replay_window_proc ui_events Replay window message handler. Msg 6+0xB8: opens replay file, checks effect type match, starts playback or shows error dialog. Msg 6+0xB9/400: starts playback and closes. Msg 6+0xDD: disconnect confirmation. Msg 0x12/0x13/0x28: forward to child. Msg 0x50: process mouse. Msg 0x59: resize child widget. 0x008C18C0 67 UIWindow__settings_registry_window_proc ui_events Settings window with registry persistence. Msg 6+0xB8: saves selection to Windows registry (HKLM) and sends session command. Msg 6+0xB9: closes and sends 0x2716. Msg 6+0xDD: disconnect confirm. Msg 6+0x190: configures effect map settings and starts. Msg 0x50: reads saved value from registry. Msg 0x12/0x13/0x28: forward to child. Msg 0x59: resize. 0x008C1DB0 276 UIWindow__color_picker_window_proc ui_events Color picker window proc. Msg 6+0xB8: confirms selection - gathers 4 color values from fields 0xB4-0xC0 plus text input, sends via mode1 command 0x83. Msg 6+0xB9: cancel, closes window. Msg 0x44: receives 4-value color data into fields 0xB4-0xC0. 0x008C1ED0 44 UIWindow__set_string_from_cstr ui_events Copies a null-terminated C string into an STL string by computing strlen then calling STL_string_assign_buffer. 0x008C1F00 1372 UIWindow__arrange_child_widgets_by_mode ui_events Arranges child widget positions based on mode (0-3). Mode 0: shows file browser and checkboxes. Mode 1: shows recording controls with timestamp. Mode 2: shows playback controls with speed/navigation. Mode 3: shows password input with focus. Each mode hides irrelevant widgets by moving offscreen (-100,-100). Triggers touch input refresh at end. 0x008C2460 813 UIWindow__display_replay_file_info ui_events Displays replay file metadata. Checks if a replay entry is selected, opens the file, reads header. On success: shows type (Primary/Siege/Local/InstantEvent/PK), header fields (IP, version, dates), duration. On failure: shows error message 0x7B1. Uses EffectMap instance for replay data. 0x008C2E30 732 UIWindow__update_pet_intimacy_label ui_events Updates pet intimacy/closeness label based on DAT_01733684 value ranges. Ranges: <0 (invalid), 0-100 (with special Homunculus sub-ranges at 21/41), 101-250, 251-750, 751-900, 901-1000. Assigns corresponding message table text (0x2A0-0x2A4, 0x3FD-0x3FE). Also updates a float progress indicator. Refreshes display only if label text changed. 0x008C3110 815 UIWindow__display_replay_status ui_events Displays replay playback status. Shows elapsed time (h:m:s) and total duration, playback speed (messages 0x7A3-0x7AB for speeds 1-7+), and current map/location name from CEntity. Updates display and invalidates rendering. 0x008C3440 349 UIWindow__update_timer_display ui_events Updates a running timer display with blinking dots. Cycles through 4 dot positions based on timeGetTime()%1000/250. Only updates the time text if >200ms has passed since last update. Formats elapsed time as HH:MM:SS. Adjusts timer widget width at 100h and 1000h marks. 0x008C35A0 56 UIWindow__copy_rect_to_field_0x120 ui_events Copies window rect fields (0x14, 0x18, 0x1C, 0x20) into the structure pointed to by field 0x120. Layout: [0]=pos.x, [4]=pos.y, [8]=origin.x, [12]=origin.y. 0x008C35E0 56 UIWindow__copy_rect_to_field_0xcc ui_events Copies window rect fields (0x1C, 0x20, 0x14, 0x18) into the structure pointed to by field 0xCC. Layout: [0]=pos.x, [4]=pos.y, [8]=origin.x, [12]=origin.y. 0x008C3630 56 UIWindow__copy_rect_to_field_0xc4 ui_events Copies window rect fields (0x1C, 0x20, 0x14, 0x18) into the structure pointed to by field 0xC4. 0x008C3670 56 UIWindow__copy_rect_to_field_0xb8 ui_events Copies window rect fields (0x1C, 0x20, 0x14, 0x18) into the structure pointed to by field 0xB8. 0x008C36B0 56 UIWindow__copy_rect_to_field_0x138 ui_events Copies window rect fields (0x14, 0x18, 0x1C, 0x20) into the structure pointed to by field 0x138. 0x008C36F0 750 UIWindow__export_chat_to_file ui_events Exports chat log to a text file. Creates Chat/ directory under game path if needed. Sanitizes the chat partner name (replaces \\/:*?\"<>\| with underscore). Generates unique filename with incrementing suffix to avoid overwrite. Calls CUIControl__export_strings_to_file. Displays success message in green (0xFF00) in chat. 0x008C39E0 747 UIWindow__save_account_settings_to_registry ui_events Saves account settings to Windows registry (HKLM). Writes three XOR-encrypted registry values: (1) account ID string from text input or empty, (2) a DWORD flag indicating if account ID was present, (3) a DWORD with value 1 (always). Uses TLS for XOR-decrypted registry key names. 0x008C3CD0 320 STL_vector__resize_and_fill stl STL vector resize and fill. Resizes a vector of 4-byte elements to the given count, filling all entries with the provided value. If growing, allocates new memory (aligned for >0x1000 bytes) and frees old. If same size, fills in-place using optimized 4-element unrolled loop. 0x008C3E20 16 UIWindow__init_vtable ui_events Initializes the vtable pointer for a UIWindow-derived class. Sets param_1[0] to point to the vtable at PTR_UIWindow__thunk_vfunc_0_0113a55c. 0x008C3E30 16 UIWindow__thunk_vfunc_1 ui_events Sets vtable pointer to 0x0113A4EC on the object. Part of a multi-inheritance UIWindow class hierarchy vtable initialization chain. 0x008C3E40 16 vtable_set_0113a578 game_core Sets vtable pointer to 0x0113A578 on the object. Part of UIWindow multi-inheritance vtable initialization chain. 0x008C3E50 16 UIWindow__thunk_vfunc_2 ui_events Sets vtable pointer to 0x0113A508 on the object. Part of UIWindow multi-inheritance vtable initialization chain. 0x008C3E60 16 UIWindow__thunk_vfunc_3 ui_events Sets vtable pointer to 0x0113A594 on the object. Part of UIWindow multi-inheritance vtable initialization chain. 0x008C3E70 16 UIWindow__thunk_vfunc_4 ui_events Sets vtable pointer to 0x0113A524 on the object. Part of UIWindow multi-inheritance vtable initialization chain. 0x008C3E80 16 UIWindow__thunk_vfunc_5 ui_events Sets vtable pointer to 0x0113A5B0 on the object. Part of UIWindow multi-inheritance vtable initialization chain. 0x008C3E90 16 UIWindow__thunk_vfunc_6 ui_events Sets vtable pointer to 0x0113A540 on the object. Part of UIWindow multi-inheritance vtable initialization chain. 0x008C3EA0 68 UIWindow__scalar_deleting_dtor_a ui_events Scalar deleting destructor for UIWindow base class A. Calls operator_delete(this, 8) if param_2 is nonzero. 0x008C3EF0 68 UIWindow__scalar_deleting_dtor_b ui_events Scalar deleting destructor for UIWindow base class B. Calls operator_delete(this, 8) if param_2 is nonzero. 0x008C3F40 68 UIWindow__scalar_deleting_dtor_c ui_events Scalar deleting destructor for UIWindow base class C. Calls operator_delete(this, 8) if param_2 is nonzero. 0x008C3F90 68 UIWindow__scalar_deleting_dtor_d ui_events Scalar deleting destructor for UIWindow base class D. Calls operator_delete(this, 8) if param_2 is nonzero. 0x008C3FE0 68 UIWindow__scalar_deleting_dtor_e ui_events Scalar deleting destructor for UIWindow base class E. Calls operator_delete(this, 8) if param_2 is nonzero. 0x008C4030 68 UIWindow__scalar_deleting_dtor_f ui_events Scalar deleting destructor for UIWindow base class F. Calls operator_delete(this, 8) if param_2 is nonzero. 0x008C4080 68 UIWindow__scalar_deleting_dtor_g ui_events Scalar deleting destructor for UIWindow base class G. Calls operator_delete(this, 8) if param_2 is nonzero. 0x008C40D0 68 UIWindow__scalar_deleting_dtor_h ui_events Scalar deleting destructor for UIWindow base class H. Calls operator_delete(this, 8) if param_2 is nonzero. 0x008C41A0 116 STL_set_uint_next_and_construct stl STL std::set helper: increments a tree const_iterator and constructs a new element via UIWindow__apply_settings (now STL_tree_extract_and_rebalance). Destroys temporary string and frees 0x2c-byte allocation. 0x008C4220 704 STL_tree_extract_and_rebalance stl STL red-black tree extract/erase node with rebalancing. Removes a node from std::_Tree, fixes parent/child links, rebalances via left/right rotations and recoloring. Decrements tree size. MSVC std::_Tree_val::_Extract. 0x008C4560 517 STL_tree_insert_node_008c4560 stl STL red-black tree insert node. MSVC std::_Tree_val::_Insert_node. Links new node to parent, sets as leftmost/rightmost if needed, then rebalances with rotations and recoloring. Increments tree size. Library function matching multiple _Tree_val specializations (uint, string, PCTableEntry). 0x008C4770 84 STL_tree_right_rotate stl STL red-black tree right rotation. Rotates param_2 right around its left child. Updates parent pointers and root if needed. MSVC _Lrotate counterpart. 0x008C47D0 16 UIWindow__thunk_vfunc_7 ui_events Sets vtable pointer to 0x0113A55C on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_7). 0x008C47E0 16 UIWindow__thunk_vfunc_8 ui_events Sets vtable pointer to 0x0113A4EC on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_8). Same vtable as thunk_vfunc_1. 0x008C47F0 16 UIWindow__thunk_vfunc_9 ui_events Sets vtable pointer to 0x0113A578 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_9). 0x008C4800 16 UIWindow__thunk_vfunc_10 ui_events Sets vtable pointer to 0x0113A508 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_10). 0x008C4810 16 UIWindow__thunk_vfunc_11 ui_events Sets vtable pointer to 0x0113A594 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_11). 0x008C4820 16 UIWindow__thunk_vfunc_12 ui_events Sets vtable pointer to 0x0113A524 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_12). 0x008C4830 16 UIWindow__thunk_vfunc_13 ui_events Sets vtable pointer to 0x0113A5B0 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_13). 0x008C4840 16 UIWindow__thunk_vfunc_14 ui_events Sets vtable pointer to 0x0113A540 on the object. Part of UIWindow multi-inheritance vtable initialization chain (second set, thunk_vfunc_14). 0x008C4850 88 STL_tree_left_rotate stl STL red-black tree left rotation. Rotates param_2 left around its right child. Updates parent pointers and root if needed. 0x008C4930 345 STL_vector_of_vectors_of_strings_dtor stl Destroys a vector>. Iterates outer vector, for each inner vector destroys all string elements via STL_string_dtor, frees the inner buffer, then frees the outer buffer. Sets all pointers to null. 0x008C4A90 106 STL_tree_lower_bound_by_string stl STL tree lower_bound by string comparison. Walks the red-black tree comparing string keys via std::_Traits_compare. Returns iterator to first element not less than the search key, or end() sentinel. 0x008C4B00 133 STL_string_is_all_digits stl Checks if an STL string contains only ASCII digit characters ('0'-'9'). Returns 1 if all digits (or empty), 0 if any non-digit found. Destroys the string on exit. 0x008C4B90 21 STL_format_spec_wrapper stl Thin wrapper that forwards 3 parameters to fmt__parse_and_validate_format_spec. 21 bytes. 0x008C4BB0 171 STL_construct_struct_with_move_string stl Constructs a struct (0x2c bytes, 11 dwords) by copying fields from source, with move semantics on an embedded std::string at offset 0x08-0x1C. Zeros the source string after move. Initializes trailing vector fields (offset 0x20-0x28) to zero. 0x008C4C60 141 STL_construct_struct_with_cstring_copy stl Constructs a struct by copying two dword fields from source then computing strlen of a C string at source[2] and assigning it into an embedded std::string via STL_string_assign_buffer. 0x008C4CF0 202 STL_fnv1a_hash_combine stl FNV-1a hash combiner for a struct with a string + two 4-byte fields. Hashes the string content with FNV-1a (seed 0x811C9DC5, prime 0x01000193), then combines with hashes of two 4-byte prefix fields using boost::hash_combine-style mixing (golden ratio 0x9E3779B9). 0x008C4DC0 440 STL_vector_1c_byte_assign_range stl STL vector::assign from iterator range. If new range is smaller, overwrites existing elements and destroys excess via STL_string_dtor. If larger, may reallocate with 1.5x growth, then copy-constructs new elements. Element size is 0x1C bytes containing an embedded string. 0x008C4F80 509 STL_vector_0c_byte_assign_range stl STL vector::assign from iterator range. If new range fits, overwrites and destroys excess sub-vectors. If larger, may reallocate with 1.5x growth. Element size is 0x0C bytes (likely vector = {begin, end, capacity}). 0x008C5180 34 STL_uninitialized_copy_pod_a stl STL uninitialized_copy for POD types. memcpy from [param_1, param_2) to param_3, returns pointer past last copied byte. 0x008C51B0 34 STL_uninitialized_copy_pod_b stl STL uninitialized_copy for POD types. memcpy from [param_1, param_2) to param_3, returns pointer past last copied byte. Duplicate of STL_uninitialized_copy_pod_a at different address. 0x008C51E0 34 STL_uninitialized_copy_pod_c stl STL uninitialized_copy for POD types. memcpy from [param_1, param_2) to param_3, returns pointer past last copied byte. Duplicate of STL_uninitialized_copy_pod_a at different address. 0x008C5210 83 STL_copy_structs_with_string_field stl Copies an array of 0x1C-byte structs containing an embedded std::string (at dword offset +1). For each struct, copies the first dword field, then assigns the string via STL_string_assign_buffer. Returns destination pointer past last element. 0x008C5270 62 STL_vector_of_vectors_assign_ranges stl Assigns ranges of 0x0C-byte sub-vectors. Iterates source range, for each element that differs from destination, calls STL_vector_1c_byte_assign_range to copy the inner vector contents. 0x008C52B0 366 STL_map_int_try_emplace stl STL std::map>::_Try_emplace. Searches tree by int key via lower_bound comparison. If key found, returns existing iterator. Otherwise allocates a 0x1C-byte tree node, initializes key and empty vector, inserts via STL_tree_insert_node. Returns pair. 0x008C5420 343 STL_vector_1c_byte_emplace_copy stl STL vector::emplace with copy construction. Reallocates with 1.5x growth, copy-constructs the new element at the insertion point, then moves existing elements around it. Element size 0x1C bytes. 0x008C55B0 346 STL_vector_1c_byte_emplace_cstring stl STL vector::emplace with C-string construction. Reallocates with 1.5x growth, constructs new element from C-string args at insertion point, moves existing elements. Element size 0x1C bytes. 0x008C5740 539 STL_vector_30_byte_emplace_reallocate stl STL vector::emplace_reallocate. Allocates new buffer with 1.5x growth (element size 0x30 = 48 bytes), copies 48-byte element at insertion point, then memcpy moves existing elements around it. Frees old buffer. 0x008C5970 511 STL_vector_0c_byte_emplace_reallocate stl STL vector::emplace_reallocate. Allocates new buffer with 1.5x growth (element size 0x0C = 12 bytes, likely a POD struct or small triple), copies 12-byte element at insertion point, then memcpy moves existing elements. Frees old buffer. 0x008C5B80 452 STL_vector_int_emplace_reallocate stl STL vector::emplace_reallocate (or vector). Allocates new buffer with 1.5x growth (4 bytes per element), copies single dword at insertion point, memcpy moves existing elements. Frees old buffer. 0x008C5D50 343 STL_vector_1c_byte_emplace_move stl STL vector::emplace with move construction. Reallocates with 1.5x growth, move-constructs the new element at the insertion point via std__move_single_struct_with_string, then moves existing elements around it. Element size 0x1C bytes. 0x008C5EE0 103 STL_tree_destroy_nodes_recursive stl STL red-black tree recursive node destruction (post-order traversal). Recursively destroys right subtree first, then walks left children iteratively, freeing each 0x18-byte node via operator_delete. Stops at nil/sentinel node (is_nil flag at offset +0xD). 0x008C5F50 131 std__tree_recursive_destroy_nodes stl Recursively destroys nodes of a tree/map container. Iterates through linked nodes, freeing each 0x1c-byte node via operator delete after processing children. 0x008C5FE0 158 std__unordered_map_find_by_string_key stl Searches an unordered_map for an element matching a string key. Computes hash bucket, then iterates the bucket chain comparing strings using std::char_traits. Returns iterator with found node or end sentinel. 0x008C6080 75 std__tree_lower_bound_by_int stl Performs lower_bound search in a binary tree (std::map) by integer key. Traverses left/right based on comparison, returns iterator pointing to first element not less than the search key. 0x008C60D0 243 random_shuffle_buffer game_core Fisher-Yates shuffle on a byte buffer using a linear congruential RNG. Iterates from index 1 to end, generating random indices and swapping bytes. param_3 points to RNG state struct. 0x008C61D0 218 std__vector_reallocate_and_fill stl Reallocates a std::vector buffer with 1.5x growth factor. Allocates new buffer, memset-fills new space with zeros, copies old data, then swaps to the new buffer. Caps at 0x7FFFFFFF. 0x008C62D0 496 std__unordered_map_emplace_element stl Emplaces a new element into an unordered_map. Allocates a 0x34-byte node, handles rehashing when load factor exceeds threshold (ceil-based bucket count growth), and links the node into the appropriate hash bucket chain. 0x008C64D0 137 std__copy_struct_with_string_array stl Copies an array of 0x1c-byte structs (each containing a field + an std::string). Iterates from param_1 to param_2, copy-constructing each string field into the destination at param_3. 0x008C6560 192 std__move_struct_with_string_array stl Move-constructs an array of 0x1c-byte structs with embedded std::string. Transfers string data via move semantics (copies internal buffer, then clears source to empty SSO state). 0x008C6620 82 std__copy_single_struct_with_string stl Copy-constructs a single 0x1c-byte struct with an embedded std::string from param_3 into param_2. Copies the leading field and deep-copies the string. 0x008C6680 74 std__construct_struct_with_cstring stl Constructs a struct with an embedded std::string from a C-string. Copies an integer field from param_3, then initializes the string by computing strlen of param_4 and assigning it. 0x008C66D0 127 std__move_single_struct_with_string stl Move-constructs a single 0x1c-byte struct with embedded std::string. Copies fields then moves the string (transfers buffer, clears source to empty SSO state with capacity 0xF). 0x008C6750 119 std__vector_emplace_back_struct_cstr stl Emplace-back on a vector of 0x1c-byte structs from a C-string. If capacity available, constructs in-place (copies int field, assigns string via strlen). Otherwise calls reallocation helper. 0x008C67D0 97 fill<> stl STL fill algorithm. Sets all elements in a range to a specified value. 0x008C6840 176 charconv__format_fixed_with_callback encoding Formats a floating-point number with fixed notation (3 decimal places). Builds a format descriptor with callback FUN_008c4b90 and delegates to charconv__format_fixed_notation. 0x008C68F0 93 charconv__build_format_descriptor encoding Builds a format descriptor array for floating-point formatting. Initializes a 7-element descriptor with type tags (0xD0000000, 0xB0000008, 0x1000000C), callback pointer (FUN_008c4b90), and caller-provided parameters. 0x008C6950 393 std__list_copy_construct_with_strings stl Copy-constructs a std::list of nodes with string data. Allocates 0x20-byte nodes, copy-constructs the string in each, and links them into a circular doubly-linked list with a sentinel node. 0x008C6AE0 45 std__max_longlong_signed stl Returns the maximum of two signed 64-bit integers (longlong). Compares high and low parts to determine the larger value. 0x008C6B10 292 random_shuffle_buffer_with_rng_state game_core Fisher-Yates shuffle on a byte buffer using an external RNG state at param_3. Similar to random_shuffle_buffer but reads/writes RNG state fields at offsets 0x4, 0x8, 0xC, 0x10 directly. 0x008C6C40 158 std__vector_construct_fill_byte stl Constructs a std::vector filled with a single byte value. Allocates buffer of param_2 size, memsets with *param_3, and sets the size pointer. Throws on size > 0x7FFFFFFF. 0x008C6CE0 188 std__vector_copy_construct_structs stl Copy-constructs a vector of 0x1c-byte structs with embedded strings. Allocates space for (end-begin)/0x1c elements, then calls std__copy_struct_with_string_array to deep-copy them. 0x008C6DA0 117 std__init_two_empty_strings stl Initializes a struct containing two std::string members to empty state (SSO buffer with length=0, capacity=0xF). Used as a default constructor for a pair-of-strings struct. 0x008C6E20 86 CUIWindow__ctor_basic game_core Basic CUIWindow constructor. Calls base class init FUN_008a3700 and sets vtable to PTR_FUN_0113e0cc. 0x008C6E80 132 CUIScrollableWindow__ctor game_core CUIScrollableWindow constructor. Calls base init, sets vtable through 3 stages (0113c194 -> 0113c344 -> 0113c92c), initializes scroll flags at offsets 0x2d and 0x2f to 0. 0x008C6F10 132 CUIScrollableWindow__ctor_variant game_core Variant CUIScrollableWindow constructor. Same as CUIScrollableWindow__ctor but final vtable is PTR_FUN_0113c854 instead of 0113c92c. 0x008C6FA0 194 CUIAnimatedWindow__ctor game_core CUIAnimatedWindow constructor. Sets vtable to 0113dd6c. Initializes animation state: vectors at 0x51-0x53, timing fields, scale=1 at 0x4a, index=-1 at 0x4b, and visibility flag at 0x4d. 0x008C7070 164 CUIWindowWithStrings__ctor game_core CUIWindowWithStrings constructor. Sets vtable to 0113bad4. Initializes two std::string members at offsets 0x2d and 0x33 to empty SSO state (length=0, capacity=0xF). 0x008C7120 338 CUINamedWindow__ctor_two_strings game_core CUINamedWindow constructor with two resource strings. Sets vtable to 0113cbb4/0113cc8c. Initializes string member at 0x2d, 12 dword fields to 0 at 0x3e-0x49, then loads two string resources via FUN_00b00f00(0x7d/0x7e). 0x008C7280 305 CUINamedWindow__ctor_one_string game_core CUINamedWindow constructor with one resource string. Like CUINamedWindow__ctor_two_strings but only loads one string resource (0x7d) and keeps first vtable (0113cbb4). 0x008C73C0 96 CUIBaseWindow__ctor_with_flag game_core CUIBaseWindow constructor with a single flag field. Sets vtable to 0113c194, initializes flag at offset 0x2d to 0. 0x008C7420 154 CUIWindowWithSlots__ctor game_core CUIWindowWithSlots constructor. Sets vtable to 0113be34. Initializes a vector of 0x18-byte slot entries at offsets 0x2f-0x31. Ensures minimum 6 slots via reallocation. 0x008C74C0 170 CUITrackedWindow__ctor game_core CUITrackedWindow constructor. Sets vtable to 0113bd5c. Initializes tracking state: 4 vectors at 0x2e-0x31 and 0x34-0x35 to 0, index at 0x2d to -1, counter at 0x33 to 0. 0x008C7570 94 CUIComplexWindow__ctor game_core CUIComplexWindow constructor. Calls CUIItemWindow__ctor (008c7cb0) as base, sets vtable to 0113b774, initializes flag at offset 0x94 to 0. 0x008C75D0 84 CUIComplexWindow__ctor_variant game_core CUIComplexWindow constructor variant. Calls CUIItemWindow__ctor (008c7cb0) as base, sets vtable to 0113b924. 0x008C7630 106 CUIWindowWithCounter__ctor game_core CUIWindowWithCounter constructor. Sets vtable to 0113d85c. Initializes two counter fields at offsets 0x2d and 0x2e to 0. 0x008C76A0 106 CUIWindowWithCounter__ctor_v2 game_core CUIWindowWithCounter constructor v2. Sets vtable to 0113d784. Initializes two counter fields at offsets 0x2d and 0x2e to 0. 0x008C7710 132 CUIMultiScrollWindow__ctor game_core CUIMultiScrollWindow constructor. Chains base vtable through 0113c194 -> 0113c344 -> final 0113c4f4. Initializes scroll state flags at offsets 0x2d and 0x2f. 0x008C77A0 96 CUIBaseWindow__ctor_v2 game_core CUIBaseWindow constructor v2. Sets vtable to 0113c26c. Initializes flag at offset 0x2d to 0. 0x008C7800 86 CUIMinimalWindow__ctor game_core CUIMinimalWindow constructor. Sets vtable to 0113b18c with no additional member initialization beyond the base class. 0x008C7860 570 CUITimedWindow__ctor game_core CUITimedWindow constructor. Sets vtable to 0113ae2c. Calls timeGetTime() for initial timestamp. Initializes extensive timing/animation state including vectors, slot arrays (from global DAT_0173a700/a6fc/a704), and numerous control fields. 0x008C7AA0 119 CUIScrollWindow__ctor_base game_core CUIScrollWindow base constructor. Chains vtable through 0113c194 -> 0113c344. Initializes flags at offsets 0x2d and 0x2f to 0. 0x008C7B20 302 CUIListWindow__ctor game_core CUIListWindow constructor. Sets vtable to 0113aacc. Allocates two 0x100-byte circular linked lists for list data at offsets 0x38 and 0x3a. Initializes string at offset 0x3c (SSO), row height to 0x1e, and resets list filter string at offset 0x49. 0x008C7C50 86 CUISimpleWindow__ctor game_core CUISimpleWindow constructor. Sets vtable to 0113dbbc with no additional state beyond the base class. 0x008C7CB0 385 CUIItemWindow__ctor game_core CUIItemWindow constructor. Sets vtable to 0113b69c. Initializes item display state: two std::strings at 0x71/0x77, tree/RB-tree node at 0x90, item descriptor reset, equipment slot fields set to 0xFFFF, and various counters/flags zeroed. 0x008C7E40 84 CUIItemWindow__ctor_variant game_core CUIItemWindow constructor variant. Calls CUIItemWindow__ctor as base, then sets vtable to 0113b84c. 0x008C7EA0 94 CUIFilteredListWindow__ctor game_core CUIFilteredListWindow constructor. Calls CUILinkedListWindow__ctor as base, sets vtable to 0113d274, initializes filter flag at offset 0x3c to 0. 0x008C7F00 185 CUILinkedListWindow__ctor game_core CUILinkedListWindow constructor. Sets vtable to 0113cfec. Allocates a 0x100-byte circular linked list sentinel node at offset 0x33. Initializes string at 0x35 (SSO) and counter at 0x3b to 0. 0x008C7FC0 350 CUIGridWindow__ctor ui_framework CUIGridWindow constructor. Sets vtable to 0113afdc. Initializes grid layout state: row/col counts at 0x2d-0x34, initializes a string at 0x35 with a 3-char default from DAT_0113ee38, and resets cell tracking fields. 0x008C8120 132 CUIScrollPanelWindow__ctor game_core CUIScrollPanelWindow constructor. Chains vtable through 0113c194 -> 0113c344 -> final 0113de44. Initializes scroll state flags. 0x008C81B0 132 CUIScrollContentWindow__ctor game_core CUIScrollContentWindow constructor. Chains vtable through 0113c194 -> 0113c344 -> final 0113ca04. Initializes scroll state flags. 0x008C8240 132 CUIScrollViewWindow__ctor game_core CUIScrollViewWindow constructor. Chains vtable through 0113c194 -> 0113c344 -> final 0113c41c. Initializes scroll state flags. 0x008C82D0 96 CUITabWindow__ctor game_core CUITabWindow constructor. Sets vtable to 0113ac7c. Initializes tab count/state at offset 0x2e to 0. 0x008C8330 84 CUILinkedListWindow__ctor_subclass game_core CUILinkedListWindow subclass constructor. Calls CUILinkedListWindow__ctor as base, sets vtable to 0113d19c. 0x008C8390 201 CUIVectorWindow__ctor game_core CUIVectorWindow constructor. Sets vtable to 0x0113d6ac. Initializes widget ID 0x2739, index -1, type 0xE, and zeroes 9 state fields at offsets 0x30-0x37. 0x008C8460 172 CUITreeWindow__ctor game_core CUITreeWindow constructor. Sets vtable to 0x0113d34c. Allocates 0x18-byte sentinel node for a red-black tree at offset +0x2d, initializes linked list pointers and sets flag 0x101. 0x008C8510 132 CUIScrollExtWindow__ctor game_core CUIScrollExtWindow constructor. Chains 3 vtables: CUIBaseWindow (0x0113c194) -> CUIScrollWindow (0x0113c344) -> CUIScrollExtWindow (0x0113c6a4). Initializes scroll fields at +0x2d and +0x2f. 0x008C85A0 164 CUIWindowWithStrings__ctor_008c85a0 game_core CUIWindowWithStrings constructor variant. Sets vtable to 0x0113bbac. Initializes 2 std::string fields (SSO buffers) at offsets +0x2d and +0x33 with capacity 0xF. 0x008C8650 96 CUIDialogWindow__ctor game_core CUIDialogWindow constructor. Sets vtable to 0x0113c0bc. Initializes dialog type/mode field at +0x2e to 0x1c. 0x008C86B0 190 CUIMultiStringWindow__ctor game_core CUIMultiStringWindow constructor. Sets vtable to 0x0113b33c. Initializes 2 std::string fields with SSO capacity 0xF, then calls CItemDesc__ctor_alt to initialize item description data. Sets byte flag at +0x7a to 0. 0x008C8770 86 CUIPlainWindow__ctor game_core CUIPlainWindow constructor. Sets vtable to 0x0113d424. Minimal constructor with no additional field initialization beyond base UIWindowBase. 0x008C87D0 86 CUIPlainWindow__ctor_v2 game_core CUIPlainWindow constructor variant (v2). Sets vtable to 0x0113d4fc. Minimal constructor with no additional field initialization beyond base UIWindowBase. 0x008C8830 86 CUIFlagWindow__ctor game_core CUIFlagWindow constructor. Sets vtable to 0x0113b414. Minimal constructor with no additional field initialization beyond base UIWindowBase. 0x008C8890 109 CUIOwnerWindow__ctor game_core CUIOwnerWindow constructor. Chains vtables: CUIFlagWindow (0x0113b414) -> CUIOwnerWindow (0x0113b4ec). Initializes owner pointer field at +0x2f to 0. 0x008C8900 119 CUIDoubleVtableWindow__ctor game_core CUIDoubleVtableWindow constructor. Chains vtables: CUISubclassedWindow (0x0113cd64) -> CUIDoubleVtableWindow (0x0113ce3c). Zeroes state fields at +0x35 and +0x37. 0x008C8980 106 CUISubclassedWindow__ctor game_core CUISubclassedWindow constructor. Sets vtable to 0x0113cd64. Zeroes state fields at +0x35 and +0x37. 0x008C89F0 84 CUICustomWindow__ctor game_core CUICustomWindow constructor. Calls parent UIWindow_vt62e8__ctor, then sets vtable to 0x0113b0b4. 0x008C8A50 84 CUILinkedListWindow__ctor_v2 game_core CUILinkedListWindow constructor variant (v2). Calls parent CUILinkedListWindow__ctor, then sets vtable to 0x0113d0c4. 0x008C8AB0 156 CUIStateWindow__ctor game_core CUIStateWindow constructor. Sets vtable to 0x0113d934. Initializes range/state fields: enabled=1, current=0, mode=0, min=-1, max=10000, value=-1. 0x008C8B50 96 CUIFrameWindow__ctor game_core CUIFrameWindow constructor. Sets vtable to 0x0113dc94. Zeroes state field at +0x2d. 0x008C8BB0 86 CUIStaticWindow__ctor game_core CUIStaticWindow constructor. Sets vtable to 0x0113bfe4. Minimal constructor with no additional field initialization beyond base UIWindowBase. 0x008C8C10 86 CUIBasicWindow__ctor game_core CUIBasicWindow constructor. Sets vtable to 0x0113bf0c. Minimal constructor with no additional field initialization beyond base UIWindowBase. 0x008C8C70 193 CUILinkedNodeWindow__ctor game_core CUILinkedNodeWindow constructor. Sets vtable to 0x0113bc84. Allocates two 0xC-byte circular linked list sentinel nodes at offsets +0x2e and +0x30. Zeroes counter fields at +0x2d and +0x34. 0x008C8D40 440 CUIExtendedWindow__ctor game_core CUIExtendedWindow constructor. Chains vtables: CUIBaseExtWindow (0x0113df1c) -> CUIExtendedWindow (0x0113dff4). Initializes layout dimensions (0x28/0x50/0x77), conditional renewal mode branch adjusts layout to 0x50. Zeroes ~20 state fields for extended UI properties. 0x008C8F00 126 CUIVectorViewWindow__ctor game_core CUIVectorViewWindow constructor. Sets vtable to 0x0113da0c. Zeroes 4 state fields at offsets +0x2d through +0x30. 0x008C8F80 219 CUIThreeStringWindow__ctor game_core CUIThreeStringWindow constructor. Sets vtable to 0x0113b9fc. Initializes 3 std::string fields (SSO buffers) at offsets +0x2f, +0x35, and +0x3b, each with capacity 0xF. Also initializes counter field at +0x42. 0x008C9060 123 CUILabelWindow__ctor game_core CUILabelWindow constructor. Sets vtable to 0x0113b264. Initializes 1 std::string field (SSO buffer) at offset +0x2f with capacity 0xF. 0x008C90E0 127 CUILinkedListVectorWindow__ctor game_core CUILinkedListVectorWindow constructor. Calls parent CUILinkedListWindow__ctor, then sets vtable to 0x0113dae4. Zeroes 4 state fields at offsets +0x3c through +0x3f. 0x008C9160 132 CUIScrollExtWindow__ctor_v2 game_core CUIScrollExtWindow constructor variant (v2). Chains 3 vtables: CUIBaseWindow (0x0113c194) -> CUIScrollWindow (0x0113c344) -> CUIScrollExtWindow v2 (0x0113c5cc). Initializes scroll fields at +0x2d and +0x2f. 0x008C91F0 133 CUIDataWindow__ctor game_core CUIDataWindow constructor. Sets vtable to 0x0113b5c4. Initializes layout dimension fields: +0x35=0x11, +0x36=0xb, +0x37=0x10. Zeroes fields at +0xc and +0x34. 0x008C9280 325 CUIBaseExtWindow__ctor game_core CUIBaseExtWindow constructor. Sets vtable to 0x0113df1c. Initializes layout dimensions (0x28/0x50/0x77) with conditional renewal mode branch that adjusts layout. Similar to CUIExtendedWindow but stops at the base ext vtable. 0x008C93D0 86 CUIContainerWindow__ctor game_core CUIContainerWindow constructor. Sets vtable to 0x0113cadc. Minimal constructor with no additional field initialization beyond base UIWindowBase. 0x008C9430 291 CUIMultiVectorWindow__ctor game_core CUIMultiVectorWindow constructor. Sets vtable to 0x0113e1a4. Zeroes ~20 state fields at offsets +0x2d through +0x40 for multi-vector UI data storage. 0x008C9560 86 CUIDisplayWindow__ctor game_core CUIDisplayWindow constructor. Sets vtable to 0x0113ad54. Minimal constructor with no additional field initialization beyond base UIWindowBase. 0x008C95C0 96 CUIInfoWindow__ctor game_core CUIInfoWindow constructor. Sets vtable to 0x0113aba4. Zeroes state field at +0x2e. 0x008C9620 453 CUIItemListWindow__ctor_008c9620 game_core CUIItemListWindow constructor variant. Sets vtable to 0x0113cf14. Initializes 3 std::string fields (SSO buffers) at offsets +0x2d, +0x33, and +0x41. Also zeroes several state fields and performs string assignment with SSO buffer management. 0x008C97F0 132 CUIScrollPanelWindow__ctor_v2 game_core CUIScrollPanelWindow constructor variant (v2). Chains 3 vtables: CUIBaseWindow (0x0113c194) -> CUIScrollWindow (0x0113c344) -> CUIScrollPanelWindow v2 (0x0113c77c). Initializes scroll fields at +0x2d and +0x2f. 0x008C9880 262 CUIHashMapWindow__ctor game_core CUIHashMapWindow constructor. Calls parent UIItemListWnd__ctor, then sets vtable to 0x0113af04. Allocates 0x100-byte circular linked list buffer at +0x3e. Zeroes ~15 state fields and initializes layout dimensions (0x6a/0x38/0x20). 0x008C9990 86 CUIDialog__ctor_v2 game_core CUIDialog constructor variant (v2). Sets vtable to 0x0113d5d4. Minimal constructor with no additional field initialization beyond base UIWindowBase. 0x008C99F0 67 UIWindow__free_node_8c99f0 ui_events Frees 0xC-byte linked list node at this+4 if non-null 0x008C9A40 67 UIWindow__free_node_0x34_8c9a40 ui_events Frees 0x34-byte allocation at this+4 if non-null 0x008C9A90 67 UIWindow__free_node_0x18_8c9a90 ui_events Frees 0x18-byte allocation at this+4 if non-null 0x008C9AE0 67 UIWindow__free_node_0x1c_8c9ae0 ui_events Frees 0x1C-byte allocation at this+4 if non-null 0x008C9B30 78 UIWindow__free_node_0xc_8c9b30 ui_events Frees 0xC-byte allocation at this+4 if non-null 0x008C9B80 144 UIWindow__cleanup_and_free_8c9b80 ui_events Cleanup: if this+4 non-null, destroys string via 008c4930 then frees 0x34-byte block 0x008C9C30 111 UIWindow__destroy_tree_nodes_8c9c30 ui_events Iterates linked list, calls cleanup on each node key, frees 0x18-byte nodes, then frees sentinel 0x008C9CB0 76 UIWindow__destroy_tree_0x1c_8c9cb0 ui_events Destroys tree via 008c5f50, then frees 0x1C-byte root node 0x008C9D10 78 UIWindow__free_node_0x18_8c9d10 ui_events Frees 0x18-byte allocation at this+4 if non-null 0x008C9D60 116 UIWindow__cleanup_and_free_0x1c_8c9d60 ui_events Cleanup: calls helper on this+4 if non-null, then frees 0x1C-byte block 0x008C9DE0 78 UIWindow__free_node_0x18_8c9de0 ui_events Frees 0x18-byte allocation at this+4 if non-null 0x008C9E30 78 UIWindow__free_node_0x1c_8c9e30 ui_events Frees 0x1C-byte allocation at this+4 if non-null 0x008C9E80 91 UIWindow__destroy_string_vector_8c9e80 ui_events Iterates vector of 0x1C-byte elements, destroys std::string in each entry 0x008C9F10 103 UIWindow__destroy_slist_0xc_8c9f10 ui_events Walks singly-linked list, frees each 0xC-byte node, then frees head node 0x008C9F80 65 UIWindow__destroy_tree_wrapper_8c9f80 ui_events Wrapper: calls destroy_tree_nodes_8c9c30 to free all tree nodes 0x008C9FD0 87 UIWindow__destroy_tree_0x1c_8c9fd0 ui_events Destroys tree via 008c5f50, then frees 0x1C-byte root node 0x008CA030 109 UIWindow__cleanup_strings_8ca030 ui_events Calls 008c4930 cleanup then destroys std::string 0x008CA0A0 68 UIWindow__cleanup_helper_8ca0a0 ui_events Calls helper_005c2a80 cleanup function 0x008CA0F0 129 STL_vector_free_4byte_8ca0f0 stl Frees std::vector backing storage (4-byte aligned elements), zeros begin/end/capacity 0x008CA180 151 STL_vector_free_0x30_8ca180 stl Frees std::vector backing storage (0x30-byte elements), zeros begin/end/capacity 0x008CA230 150 STL_vector_free_0xc_8ca230 stl Frees std::vector backing storage (0xC-byte elements), zeros begin/end/capacity 0x008CA2E0 99 UIWindow__destroy_3_strings_8ca2e0 ui_events Destroys 3 std::string members sequentially 0x008CA350 68 UIWindow__destroy_string_8ca350 ui_events Destroys single std::string member 0x008CA3A0 71 UIWindow__dtor_8ca3a0 ui_events Destructor: sets vtable 0x0113e0cc, calls base UIWindow dtor 008a4e90 0x008CA3F0 97 UIWindow__dtor_8ca3f0 ui_events Destructor: unwinds 3 vtables (c92c->c344->c194), calls base UIWindow dtor 008a4e90 0x008CA460 97 UIWindow__dtor_8ca460 ui_events Destructor: unwinds 3 vtables (c854->c344->c194), calls base UIWindow dtor 008a4e90 0x008CA4D0 95 UIWindow__dtor_8ca4d0 ui_events Destructor: sets vtable 0x0113dd6c, calls CFmt cleanup, then base UIWindow dtor 0x008CA530 110 UIWindow__dtor_8ca530 ui_events Destructor: sets vtable 0x0113bad4, destroys 2 strings, calls base UIWindow dtor 0x008CA5A0 71 UIWindow__dtor_8ca5a0 ui_events Destructor: sets vtable 0x0113cc8c, delegates to dtor at 008ca5f0 0x008CA5F0 155 UIWindow__dtor_8ca5f0 ui_events Destructor: sets vtable 0x0113cbb4, destroys 2 json objs, 2 CFmt objs, 1 string, base dtor 0x008CA690 71 UIWindow__dtor_8ca690 ui_events Destructor: sets vtable 0x0113c194, calls base UIWindow dtor 008a4e90 0x008CA6E0 95 UIWindow__dtor_8ca6e0 ui_events Destructor: sets vtable 0x0113be34, calls CFmt cleanup, then base UIWindow dtor 0x008CA740 104 UIWindow__dtor_8ca740 ui_events Destructor: sets vtable 0x0113bd5c, copies field +0x2e to +0x2f, destroys json obj, base dtor 0x008CA7B0 99 UIWindow__dtor_8ca7b0 ui_events Destructor: sets vtable 0x0113b774, calls destroy notify 0xfa, delegates to dtor 008cac40 0x008CA820 71 UIWindow__dtor_8ca820 ui_events Destructor: sets vtable 0x0113b924, delegates to dtor 008cac40 0x008CA870 71 UIWindow__dtor_8ca870 ui_events Destructor: sets vtable 0x0113d85c, calls base UIWindow dtor 008a4e90 0x008CA8C0 71 UIWindow__dtor_8ca8c0 ui_events Destructor: sets vtable 0x0113d784, calls base UIWindow dtor 008a4e90 0x008CA910 97 UIWindow__dtor_8ca910 ui_events Destructor: unwinds 3 vtables (c4f4->c344->c194), calls base UIWindow dtor 0x008CA980 71 UIWindow__dtor_8ca980 ui_events Destructor: sets vtable 0x0113c26c, calls base UIWindow dtor 008a4e90 0x008CA9D0 71 UIWindow__dtor_8ca9d0 ui_events Destructor: sets vtable 0x0113b18c, calls base UIWindow dtor 008a4e90 0x008CAA20 192 UIWindow__dtor_8caa20 ui_events Destructor: sets vtable 0x0113ae2c, destroys 2 string vectors and 2 CFmt objs, base dtor 0x008CAAE0 84 UIWindow__dtor_8caae0 ui_events Destructor: unwinds 2 vtables (c344->c194), calls base UIWindow dtor 0x008CAB40 175 UIWindow__dtor_8cab40 ui_events Destructor: sets vtable 0x0113aacc, destroys 2 strings and 2 linked lists (0x100-byte), base dtor 0x008CABF0 71 UIWindow__dtor_8cabf0 ui_events Destructor: sets vtable 0x0113dbbc, calls base UIWindow dtor 008a4e90 0x008CAC40 212 UIWindow__dtor_8cac40 ui_events Destructor: sets vtable 0x0113b69c, calls notify 0x114, destroys tree/4 strings, base dtor 0x008CAD20 71 UIWindow__dtor_8cad20 ui_events Destructor: sets vtable 0x0113b84c, delegates to dtor 008cac40 0x008CAD70 143 UIWindow__dtor_8cad70 ui_events Destructor: unwinds vtables d274->cfec, destroys string and linked list, base dtor 0x008CAE00 130 UIWindow__dtor_8cae00 ui_events Destructor: sets vtable 0x0113cfec, destroys string and linked list at +0x33, base dtor 0x008CAE90 95 UIWindow__dtor_8cae90 ui_events Destructor: sets vtable 0x0113afdc, destroys 1 string, calls base UIWindow dtor 0x008CAEF0 97 UIWindow__dtor_8caef0 ui_events Destructor: unwinds 3 vtables (de44->c344->c194), calls base UIWindow dtor 0x008CAF60 97 UIWindow__dtor_8caf60 ui_events Destructor: unwinds 3 vtables (ca04->c344->c194), calls base UIWindow dtor 0x008CAFD0 97 UIWindow__dtor_8cafd0 ui_events Destructor: unwinds 3 vtables (c41c->c344->c194), calls base UIWindow dtor 0x008CB040 71 UIWindow__dtor_8cb040 ui_events Destructor: sets vtable 0x0113ac7c, calls base UIWindow dtor 008a4e90 0x008CB090 143 UIWindow__dtor_8cb090 ui_events Destructor: unwinds vtables d19c->cfec, destroys string and linked list, base dtor 0x008CB120 110 UIWindow__dtor_8cb120 ui_events Destructor: sets vtable 0x0113d6ac, frees vector and CFmt obj, base dtor 0x008CB190 119 UIWindow__dtor_8cb190 ui_events Destructor: sets vtable 0x0113d34c, frees vector and tree nodes, base dtor 0x008CB210 97 UIWindow__dtor_8cb210 ui_events Destructor: unwinds 3 vtables (c6a4->c344->c194), calls base UIWindow dtor 0x008CB280 110 UIWindow__dtor_8cb280 ui_events Destructor: sets vtable 0x0113bbac, destroys 2 strings, base dtor 0x008CB2F0 71 UIWindow__dtor_8cb2f0 ui_events Destructor: sets vtable 0x0113c0bc, calls base UIWindow dtor 008a4e90 0x008CB340 151 UIWindow__dtor_8cb340 ui_events Destructor: sets vtable 0x0113b33c, destroys 4 strings, base dtor 0x008CB3E0 71 UIWindow__dtor_8cb3e0 ui_events Destructor: sets vtable 0x0113d424, calls base UIWindow dtor 008a4e90 0x008CB430 71 UIWindow__dtor_8cb430 ui_events Destructor: sets vtable 0x0113d4fc, calls base UIWindow dtor 008a4e90 0x008CB480 71 UIWindow__dtor_8cb480 ui_events Destructor: sets vtable 0x0113b414, calls base UIWindow dtor 008a4e90 0x008CB4D0 113 CUIOwnerWindow__dtor game_core CUIOwnerWindow destructor. Sets vtable to CUIOwnerWindow (b4ec), destroys child window via vfunc if +0x2f is non-null, then resets vtable to CUIFlagWindow (b414) and calls UIWindowBase__dtor. 0x008CB550 84 CUIDoubleVtableWindow__dtor game_core CUIDoubleVtableWindow destructor. Unwinds 2 vtables (CUIDoubleVtableWindow ce3c -> CUISubclassedWindow cd64), then calls UIWindowBase__dtor. 0x008CB5B0 71 CUISubclassedWindow__dtor game_core CUISubclassedWindow destructor. Sets vtable to CUISubclassedWindow (cd64), then calls UIWindowBase__dtor. 0x008CB600 71 CUICustomWindow__dtor game_core CUICustomWindow destructor. Sets vtable to CUICustomWindow (b0b4), then calls UIWindow_vt62e8__dtor for cleanup. 0x008CB650 143 CUILinkedListWindow__dtor game_core CUILinkedListWindow destructor. Unwinds vtables (CUILinkedListWindow v2 d0c4 -> CUILinkedListWindow cfec). Destroys string member and hash table linked list at +0x33 (0x100-byte sentinel), then calls UIWindowBase__dtor. 0x008CB6E0 71 CUIStateWindow__dtor game_core CUIStateWindow destructor. Sets vtable to CUIStateWindow (d934), then calls UIWindowBase__dtor. 0x008CB730 71 CUIFrameWindow__dtor game_core CUIFrameWindow destructor. Sets vtable to CUIFrameWindow (dc94), then calls UIWindowBase__dtor. 0x008CB780 71 CUIStaticWindow__dtor game_core CUIStaticWindow destructor. Sets vtable to CUIStaticWindow (bfe4), then calls UIWindowBase__dtor. 0x008CB7D0 71 CUIBasicWindow__dtor game_core CUIBasicWindow destructor. Sets vtable to CUIBasicWindow (bf0c), then calls UIWindowBase__dtor. 0x008CB820 230 CUILinkedNodeWindow__dtor game_core CUILinkedNodeWindow destructor. Sets vtable to CUILinkedNodeWindow (bc84). Clears global flag at mode1+0x24c, destroys two linked lists at +0x30 and +0x2e (0xC-byte nodes), then calls UIWindowBase__dtor. 0x008CB910 95 CUIVectorViewWindow__dtor game_core CUIVectorViewWindow destructor. Sets vtable to CUIVectorViewWindow (da0c), destroys json vector object, then calls UIWindowBase__dtor. 0x008CB970 125 CUIThreeStringWindow__dtor game_core CUIThreeStringWindow destructor. Sets vtable to CUIThreeStringWindow (b9fc), destroys 3 std::string members, then calls UIWindowBase__dtor. 0x008CB9F0 95 CUILabelWindow__dtor game_core CUILabelWindow destructor. Sets vtable to CUILabelWindow (b264), destroys 1 std::string member, then calls UIWindowBase__dtor. 0x008CBA50 170 CUILinkedListVectorWindow__dtor game_core CUILinkedListVectorWindow destructor. Unwinds vtables (CUILinkedListVectorWindow dae4 -> CUILinkedListWindow cfec). Resets vector end pointer, destroys json vector, string, and hash table linked list at +0x33, then calls UIWindowBase__dtor. 0x008CBB00 97 CUIScrollExtWindow__dtor game_core CUIScrollExtWindow destructor. Unwinds 3 vtables (CUIScrollExtWindow c5cc -> CUIScrollWindow c344 -> CUIBaseWindow c194), then calls UIWindowBase__dtor. 0x008CBB70 71 CUIDataWindow__dtor game_core CUIDataWindow destructor. Sets vtable to CUIDataWindow (b5c4), then calls UIWindowBase__dtor. 0x008CBBC0 71 CUIBaseExtWindow__dtor game_core CUIBaseExtWindow destructor. Sets vtable to CUIBaseExtWindow (df1c), then calls UIWindowBase__dtor. 0x008CBC10 71 CUIContainerWindow__dtor game_core CUIContainerWindow destructor. Sets vtable to CUIContainerWindow (cadc), then calls UIWindowBase__dtor. 0x008CBC60 110 CUIMultiVectorWindow__dtor game_core CUIMultiVectorWindow destructor. Sets vtable to CUIMultiVectorWindow (e1a4), frees 0xC-element and 0x30-element vectors, then calls UIWindowBase__dtor. 0x008CBCD0 71 CUIDisplayWindow__dtor game_core CUIDisplayWindow destructor. Sets vtable to CUIDisplayWindow (ad54), then calls UIWindowBase__dtor. 0x008CBD20 71 CUIInfoWindow__dtor game_core CUIInfoWindow destructor. Sets vtable to CUIInfoWindow (aba4), then calls UIWindowBase__dtor. 0x008CBD70 140 CUIItemListWindow__dtor game_core CUIItemListWindow destructor. Sets vtable to CUIItemListWindow (cf14). Destroys 1 string, clears item entry vector via std__vector_ItemEntry__clear_and_free, destroys 2 more strings, then calls UIWindowBase__dtor. 0x008CBE00 97 CUIScrollPanelWindow__dtor game_core CUIScrollPanelWindow destructor. Unwinds 3 vtables (CUIScrollPanelWindow c77c -> CUIScrollWindow c344 -> CUIBaseWindow c194), then calls UIWindowBase__dtor. 0x008CBE70 115 CUIHashMapWindow__dtor game_core CUIHashMapWindow destructor. Sets vtable to CUIHashMapWindow (af04), destroys hash table linked list at +0x3e (0x100-byte sentinel), then calls UIItemListWnd__dtor for parent cleanup. 0x008CBEF0 71 CUIDialog__dtor game_core CUIDialog destructor. Sets vtable to 0113d5d4, then calls UIWindowBase__dtor to clean up base class. 0x008CBF40 221 std__unordered_map_clear_all stl Clears all entries from an unordered_map. Iterates the linked list, destroying each 0x34-byte node's key string data, frees nodes, resets sentinel pointers, count to 0, and refills bucket array. 0x008CC020 87 std__destroy_two_strings stl Destroys two consecutive std::string members in a struct. Calls STL_string_dtor twice. 0x008CC080 83 operator++ stl Red-black tree iterator increment. Advances to the next in-order node. 0x008CC0E0 36 CException__scalar_deleting_dtor game_core Scalar deleting destructor for CException (0x14 bytes). Sets vtable to 0113fbf8 and conditionally frees memory. 0x008CC110 99 CUIWindow__scalar_deleting_dtor_basic game_core Scalar deleting destructor for basic CUIWindow (0xb8 bytes). Sets vtable to 0113e0cc, calls UIWindowBase__dtor, conditionally frees. 0x008CC180 125 CUIScrollableWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIScrollableWindow (0xc0 bytes). Chains vtable reset 0113c92c -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CC200 125 CUIScrollableWindow__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for CUIScrollableWindow variant (0xc0 bytes, vtable 0113c854). Same pattern as CUIScrollableWindow__scalar_deleting_dtor. 0x008CC280 119 CUIAnimatedWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIAnimatedWindow (0x160 bytes). Sets vtable to 0113dd6c, calls CFmt cleanup, then UIWindowBase__dtor, conditionally frees. 0x008CC300 134 CUIWindowWithStrings__scalar_deleting_dtor game_core Scalar deleting destructor for CUIWindowWithStrings (0xe8 bytes). Sets vtable to 0113bad4, destroys two std::string members, calls UIWindowBase__dtor, conditionally frees. 0x008CC390 99 CUINamedWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUINamedWindow (0x128 bytes). Sets vtable to 0113cc8c, calls UIWindow__dtor_8ca5f0, conditionally frees. 0x008CC400 38 CUINamedWindow__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for CUINamedWindow v2 (0x128 bytes). Calls UIWindow__dtor_8ca5f0, conditionally frees. No vtable reset needed. 0x008CC430 99 CUIBaseWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIBaseWindow (0xbc bytes). Sets vtable to 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CC4A0 119 CUIWindowWithSlots__scalar_deleting_dtor game_core Scalar deleting destructor for CUIWindowWithSlots (0xc8 bytes). Sets vtable to 0113be34, calls CFmt cleanup for slot vector, then UIWindowBase__dtor, conditionally frees. 0x008CC520 128 CUITrackedWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUITrackedWindow (0xd8 bytes). Sets vtable to 0113bd5c, clears tracking data, calls UIWindowBase__dtor, conditionally frees. 0x008CC5A0 123 CUIComplexWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIComplexWindow (600 bytes). Sets vtable to 0113b774, calls FUN_00a8cf20 cleanup, then UIWindow__dtor_8cac40, conditionally frees. 0x008CC620 99 CUIComplexWindow__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for CUIComplexWindow v2 (0x250 bytes). Sets vtable to 0113b924, calls UIWindow__dtor_8cac40, conditionally frees. 0x008CC690 99 CUIWindowWithCounter__scalar_deleting_dtor game_core Scalar deleting destructor for CUIWindowWithCounter (0xbc bytes). Sets vtable to 0113d85c, calls UIWindowBase__dtor, conditionally frees. 0x008CC700 99 CUIWindowWithCounter__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for CUIWindowWithCounter v2 (0xbc bytes). Sets vtable to 0113d784, calls UIWindowBase__dtor, conditionally frees. 0x008CC770 125 CUIMultiScrollWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIMultiScrollWindow (0xc0 bytes). Chains vtable reset 0113c4f4 -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CC7F0 99 CUIBaseWindow__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for CUIBaseWindow v2 (0xb8 bytes). Sets vtable to 0113c26c, calls UIWindowBase__dtor, conditionally frees. 0x008CC860 99 CUIMinimalWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIMinimalWindow (0xb8 bytes). Sets vtable to 0113b18c, calls UIWindowBase__dtor, conditionally frees. 0x008CC8D0 226 CUITimedWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUITimedWindow (0x17c bytes). Sets vtable to 0113ae2c. Destroys slot vector strings at offsets 0x58-0x5c, calls CFmt cleanup twice, then UIWindowBase__dtor, conditionally frees. 0x008CC9C0 112 CUIScrollWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIScrollWindow (0xc0 bytes). Chains vtable 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CCA30 199 CUIListWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIListWindow (0x13c bytes). Sets vtable to 0113aacc, destroys two strings, destroys two hash table linked lists (0x100-byte sentinels), calls UIWindowBase__dtor, conditionally frees. 0x008CCB00 99 CUISimpleWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUISimpleWindow (0xc8 bytes). Sets vtable to 0113dbbc, calls UIWindowBase__dtor, conditionally frees. 0x008CCB70 38 CUIItemWindow__scalar_deleting_dtor_base game_core Scalar deleting destructor for CUIItemWindow base (0x250 bytes). Calls UIWindow__dtor_8cac40, conditionally frees. No vtable reset. 0x008CCBA0 99 CUIItemWindow__scalar_deleting_dtor_variant game_core Scalar deleting destructor for CUIItemWindow variant (0x250 bytes). Sets vtable to 0113b84c, calls UIWindow__dtor_8cac40, conditionally frees. 0x008CCC10 167 CUIFilteredListWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIFilteredListWindow (0xf8 bytes). Chains vtable 0113d274 -> 0113cfec, destroys string, hash table, calls UIWindowBase__dtor, conditionally frees. 0x008CCCC0 154 CUILinkedListWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUILinkedListWindow (0xf0 bytes). Sets vtable to 0113cfec, destroys string, hash table (0x100-byte sentinel), calls UIWindowBase__dtor, conditionally frees. 0x008CCD60 119 CUIGridWindow__scalar_deleting_dtor ui_framework Scalar deleting destructor for CUIGridWindow (0xf4 bytes). Sets vtable to 0113afdc, destroys string, calls UIWindowBase__dtor, conditionally frees. 0x008CCDE0 125 CUIScrollPanelWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIScrollPanelWindow (0xc8 bytes). Chains vtable 0113de44 -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CCE60 125 CUIScrollContentWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIScrollContentWindow (0xc0 bytes). Chains vtable 0113ca04 -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CCEE0 125 CUIScrollViewWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIScrollViewWindow (0xc0 bytes). Chains vtable 0113c41c -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CCF60 99 CUITabWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUITabWindow (0xbc bytes). Sets vtable to 0113ac7c, calls UIWindowBase__dtor, conditionally frees. 0x008CCFD0 167 CUILinkedListWindow__scalar_deleting_dtor_sub game_core Scalar deleting destructor for CUILinkedListWindow subclass (0xf4 bytes). Chains vtable 0113d19c -> 0113cfec, destroys string/hash table, calls UIWindowBase__dtor, conditionally frees. 0x008CD080 134 CUIVectorWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIVectorWindow (0xe0 bytes). Sets vtable to 0113d6ac, frees vector, calls CFmt cleanup, UIWindowBase__dtor, conditionally frees. 0x008CD110 143 CUITreeWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUITreeWindow (0xc8 bytes). Sets vtable to 0113d34c, frees 4-byte vector, destroys tree nodes, UIWindowBase__dtor, conditionally frees. 0x008CD1A0 125 CUIScrollExtWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIScrollExtWindow (0xc4 bytes). Chains vtable 0113c6a4 -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CD220 134 CUIWindowWithStrings__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for CUIWindowWithStrings v2 (0xe8 bytes). Sets vtable to 0113bbac, destroys two strings, calls UIWindowBase__dtor, conditionally frees. 0x008CD2B0 99 CUIDialogWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIDialogWindow (0xbc bytes). Sets vtable to 0113c0bc, calls UIWindowBase__dtor, conditionally frees. 0x008CD320 175 CUIMultiStringWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIMultiStringWindow (0x1f0 bytes). Sets vtable to 0113b33c, destroys 4 strings sequentially, calls UIWindowBase__dtor, conditionally frees. 0x008CD3D0 99 CUIPlainWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIPlainWindow (0xb4 bytes). Sets vtable to 0113d424, calls UIWindowBase__dtor, conditionally frees. 0x008CD440 99 CUIPlainWindow__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for CUIPlainWindow v2 (0xb4 bytes). Sets vtable to 0113d4fc, calls UIWindowBase__dtor, conditionally frees. 0x008CD4B0 99 CUIFlagWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIFlagWindow (0xbc bytes). Sets vtable to 0113b414, calls UIWindowBase__dtor, conditionally frees. 0x008CD520 137 CUIOwnerWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIOwnerWindow (0xc0 bytes). Sets vtable to 0113b4ec, destroys owned child window via virtual call if non-null, chains to parent dtor at 0113b414, conditionally frees. 0x008CD5B0 112 CUIDoubleVtableWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUIDoubleVtableWindow (0xe4 bytes). Chains vtable reset 0113ce3c -> 0113cd64, calls UIWindowBase__dtor, conditionally frees. 0x008CD620 99 CUISubclassedWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUISubclassedWindow (0xe0 bytes). Sets vtable to 0113cd64, calls UIWindowBase__dtor, conditionally frees. 0x008CD690 99 CUICustomWindow__scalar_deleting_dtor game_core Scalar deleting destructor for CUICustomWindow (0xc0 bytes). Sets vtable to 0113b0b4, calls FUN_0096f740 for custom cleanup, conditionally frees. 0x008CD700 167 CUILinkedListWindow__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for CUILinkedListWindow v2 (0xf0 bytes). Chains vtable 0113d0c4 -> 0113cfec, destroys string/hash table, calls UIWindowBase__dtor, conditionally frees. 0x008CD7B0 99 CUIStateWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xd4 bytes, vtable 0113d934). Calls UIWindowBase__dtor, conditionally frees. 0x008CD820 99 CUIFrameWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xbc bytes, vtable 0113dc94). Calls UIWindowBase__dtor, conditionally frees. 0x008CD890 99 CUIStaticWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xb4 bytes, vtable 0113bfe4). Calls UIWindowBase__dtor, conditionally frees. 0x008CD900 99 CUIBasicWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xb8 bytes, vtable 0113bf0c). Calls UIWindowBase__dtor, conditionally frees. 0x008CD970 254 CUILinkedNodeWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xd8 bytes, vtable 0113bc84). Calls FUN_00ad6450 to clear parent reference, destroys two linked lists of 0xc-byte nodes at offsets 0x30 and 0x2e, UIWindowBase__dtor, conditionally frees. 0x008CDA70 112 CUIExtendedWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0x168 bytes). Chains vtable 0113dff4 -> 0113df1c, calls UIWindowBase__dtor, conditionally frees. 0x008CDAE0 119 CUIVectorViewWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xc4 bytes, vtable 0113da0c). Calls json__internal_0051dab0 to clear vector, UIWindowBase__dtor, conditionally frees. 0x008CDB60 149 CUIThreeStringWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0x110 bytes, vtable 0113b9fc). Destroys 3 std::string members, calls UIWindowBase__dtor, conditionally frees. 0x008CDC00 119 CUILabelWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xd4 bytes, vtable 0113b264). Destroys one string, calls UIWindowBase__dtor, conditionally frees. 0x008CDC80 194 CUILinkedListVectorWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0x100 bytes, vtable 0113dae4). Chains to 0113cfec, destroys vector data, string, hash table, calls UIWindowBase__dtor, conditionally frees. 0x008CDD50 125 CUIScrollExtWindow__scalar_deleting_dtor_v2 game_core Scalar deleting destructor (0xc4 bytes, vtable 0113c5cc). Chains vtable -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CDDD0 99 CUIDataWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0x100 bytes, vtable 0113b5c4). Calls UIWindowBase__dtor, conditionally frees. 0x008CDE40 99 CUIBaseExtWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0x10c bytes, vtable 0113df1c). Calls UIWindowBase__dtor, conditionally frees. 0x008CDEB0 99 CUIContainerWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xc0 bytes, vtable 0113cadc). Calls UIWindowBase__dtor, conditionally frees. 0x008CDF20 134 CUIMultiVectorWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0x104 bytes, vtable 0113e1a4). Frees two vectors (0xc-byte and 0x30-byte elements), calls UIWindowBase__dtor, conditionally frees. 0x008CDFB0 99 CUIDisplayWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xb8 bytes, vtable 0113ad54). Calls UIWindowBase__dtor, conditionally frees. 0x008CE020 99 CUIInfoWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0xbc bytes, vtable 0113aba4). Calls UIWindowBase__dtor, conditionally frees. 0x008CE090 164 CUIItemListWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0x11c bytes, vtable 0113cf14). Destroys 3 strings, clears item entry vector, calls UIWindowBase__dtor, conditionally frees. 0x008CE140 125 CUIScrollPanelWindow__scalar_deleting_dtor_v2 game_core Scalar deleting destructor v2 (0xc8 bytes, vtable 0113c77c). Chains vtable -> 0113c344 -> 0113c194, calls UIWindowBase__dtor, conditionally frees. 0x008CE1C0 139 CUIHashMapWindow__scalar_deleting_dtor game_core Scalar deleting destructor (0x188 bytes, vtable 0113af04). Destroys hash table at offset 0x3e, calls FUN_0096f6c0 for parent cleanup, conditionally frees. 0x008CE250 99 CUIDialog__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for CUIDialog (0xb4 bytes). Sets vtable to 0113d5d4, calls UIWindowBase__dtor, conditionally frees. 0x008CE2C0 1148 CUIEquipWindow__create_item_slot_widget ui_shop Creates an item slot widget for the equipment window. Computes grid position from param_1 (row/col) with type-specific offsets from param_2 (slot type). Constructs UIItemSlotWidget, loads .spr and .act sprite files via path formatting, sets slot position and initializes slot data with ID based on param_2+9000. 0x008CE770 226 CUIEquipWindow__build_slot_list_by_level ui_shop Builds a list of equipment slot IDs based on the player's base level (param_2). Uses threshold arrays at 0113fe60/0113fec0 to determine which slots unlock at which level. Slots 1-9 unlock progressively; slot 0xD unlocks above level 100. 0x008CE860 300 CUIEquipWindow__initialize_equipment_slots ui_shop Initializes all equipment slots. Reads base level from global DAT_01733c88, builds slot list via build_slot_list_by_level, creates slot widgets via create_item_slot_widget for each slot, and sets window height proportional to slot count. 0x008CE990 198 CUIEquipWindow__setup_slots_from_data ui_shop Sets up equipment slots from a byte array. Clears existing slots, stores mode at offset 0x2d, reads param_3 bytes from param_2 buffer as slot type IDs, creates widgets for each, and resizes window based on count. 0x008CEA60 353 CUIEquipWindow__add_slot_entry_with_string ui_shop Adds a slot entry to the equipment window. Creates an std::string from param_2 (C-string), appends a 0x18-byte entry with the string to the vector at offset 0xc4, and appends an integer from param_3 to the vector at offset 0xd4. 0x008CEBD0 300 CUIEquipWindow__update_slot_timers ui_shop Updates slot animation timers. Checks elapsed time (>= 300ms) via timeGetTime, cycles through 0xc-byte timer entries at offset 0xe8, finds next inactive timer (flag at +8 == 0), activates it, and calls render update FUN_008d3230. 0x008CED00 38 CUIEquipWindow__measure_slot_text ui_shop Measures slot text width by calling CEffect__measure_text_total_width with font size 0xC. Handles SSO string (inline vs heap). Does not render -- only measures. 0x008CED30 361 CUIEquipWindow__clip_and_render_text_lines ui_shop Clips and renders text lines in the equipment window. Iterates through 0x1C-byte text entries in the last page, measures text width via CEffect__measure_text_total_width, finds the line containing x-offset param_1, splits/truncates it via CEffect__truncate_text_to_width, removes remaining lines after the split point. 0x008CEEA0 47 CUIEquipWindow__set_mode_and_refresh ui_shop Sets the equipment window mode to param_2, then calls virtual methods at vtable+0x94 (draw 0x23 frames) and +0x98 (refresh) to update the display. 0x008CEED0 60 CUIEquipWindow__handle_select_and_focus ui_shop Handles selection event in the equip window. Calls CTipBox__select_entry, sends event (6, 0x21F) via vtable+0x94, then focuses the window via CGameObject__focus_window_with_priority. 0x008CEF10 191 CUIEquipWindow__create_button_widget ui_shop Creates a basic button widget (0x120 bytes) with 3 visual states (normal/over/pressed). Allocates via operator_new_with_retry, initializes via UIDialogBox__ctor, loads textures via UIButtonWidget__set_texture_resolved from DAT_0113e310/0113e49c, sizes and positions it, and adds to parent window. 0x008CEFD0 234 CUIEquipWindow__create_button_at_position ui_shop Creates a button at a calculated position. Optionally uses parent width for x-offset. Loads button textures from DAT_0113e4cc/0113e504 data, positions button, sets ID 0xC9, assigns click handler, and adds to parent. 0x008CF0C0 231 CUIEquipWindow__create_close_button ui_shop Creates a close button. Similar to create_button_at_position but uses textures from DAT_010e2d58/010e2d8c, positions with x-offset -0xe from parent edge, sets ID 0xC9. 0x008CF1B0 231 CUIEquipWindow__create_expand_button ui_shop Creates an expand button. Loads 3 distinct textures from DAT_0111a3e0/0111a41c/0111a458, positions at x-offset -0x1c, sets ID 0x20B. 0x008CF2A0 231 CUIEquipWindow__create_action_button ui_shop Creates an action button with textures from DAT_0113e538/0113e568, positions at x-offset -0x1c, sets ID 0xCA. 0x008CF390 1243 CUIEquipWindow__create_named_button_3state ui_shop Creates a named button with 3 visual states. Builds sprite path from DAT_010e9958 prefix + param_4 name + state suffixes (normal/over/press). Loads textures for 3 button states. Returns null if param_4 is null. 0x008CF870 1211 CUIEquipWindow__create_named_button_2state ui_shop Creates a named button with 2 visual states. Similar to create_named_button_3state but uses shorter 2-char state suffixes. Optionally prepends DAT_010e9958 prefix based on param_6 flag. 0x008CFD30 286 CUIEquipWindow__show_item_tooltip ui_shop Shows an item tooltip for the slot at index param_2. Reads item ID from offset 0xd4 array, skips invalid IDs (0, 0xFE, 0xFF). Gets item class/level info, creates a tooltip window at 0xFA, displays item details with 0x4C and 0x18 draw commands. 0x008CFE50 232 CUIEquipWindow__create_radio_button_ex ui_shop Creates a radio button widget (0x10c bytes) with extended options. Allocates via FUN_0084f010, loads custom or default textures from param_11/12, positions it, sets ID, selected state, click handler, and stores extra params at offsets 0x39/0x3a. 0x008CFF40 194 CUIEquipWindow__create_radio_button ui_shop Creates a standard radio button widget (0x10c bytes). Uses default textures from DAT_010e1a50/010e1a70, positions at given coordinates, sets ID, selected state, click handler. 0x008D0010 505 CUIEquipWindow__handle_item_drop ui_shop Handles item drop onto an equipment slot. Checks window lock state (0xb4) and skill window (0x271b). Processes drop based on item type: type 1 = normal item, 0x11/0x12 = special items. Sends equip command (0x57, 0x13, or 0x131) to server via virtual dispatch. 0x008D0230 153 CUIEquipWindow__handle_item_double_click ui_shop Handles double-click on an equipment slot item. If window flag 0x33 is set, sends dismiss command (0x12). For type 1 items: if slot count is 1, triggers unequip (0x26); otherwise opens slot selection dialog (0xD/5). 0x008D02D0 259 CUIEquipWindow__handle_item_right_click ui_shop Handles right-click on an equipment slot. Checks skill window state. For type 4 items below ID 0x1BD: checks via FUN_00de0770, triggers unequip (0x26) or slot dialog (0xD/0x14). For type 6 items above 0x1BC: opens dialog (0xD/0x13). 0x008D03E0 325 CUIWindow__draw_border_or_texture game_core Draws a window border or texture background. If param_4 (name) is empty, draws colored rectangles with gradient using CColorPicker__GetPixelRGB. Otherwise loads a texture by name and draws it as the background. 0x008D0530 323 CUIWindow__draw_border_or_texture_ex game_core Extended version of draw_border_or_texture with additional x-offset (param_2) and height (param_4) parameters. Same logic: texture name takes priority, falls back to colored gradient border. 0x008D0680 667 CUIWindow__render_skill_sprite_frame game_core Renders a skill sprite animation frame. Loads .spr and .act resources via build_robe_sprite_path_type0/type1, looks up the skill tree node and detail entry, reads frame data from the sprite sheet. Renders normally or with scaling/effects based on param_6 flag using CEffect__render_sprite_quad. 0x008D0920 702 CUIWindow__draw_tiled_bottom_border game_core Draws a tiled bottom border using 3 texture pieces: left corner, right corner, and middle fill. Loads textures by param_2 ID (formatted string) or default names. Tiles vertically for param_4 rows from bottom of window. Returns tile height. 0x008D0BE0 416 CUIWindow__draw_tiled_bottom_border_v2 game_core Same as draw_tiled_bottom_border but uses CUIWindow__load_texture_by_id_or_name for texture lookup. Draws left/right corners + tiled middle section for param_5 rows, starting from bottom, at x-offset param_3 with width param_4. 0x008D0D80 37 CUIWindow__get_screen_position game_core Gets the window's screen position by calling CEffect__accumulate_parent_offsets with local x=0, y=0 to convert to absolute screen coordinates. 0x008D0DB0 103 CUIWindow__draw_default_background game_core Draws the default window background. Gets screen position, renders a semi-transparent black fill (0x66000000) for the body and a colored title bar (0x449eb6e4, 17px tall) at the top. 0x008D0E20 270 CUIEquipWindow__render_character_sprite ui_shop Renders the character sprite preview in the equipment window. Constructs a SpriteLayerNode from the character's appearance data (job, head, colors, etc.) at offsets 0xf8-0x11c, renders it centered at half window width, then cleans up. 0x008D0F30 737 CUIEquipWindow__render_slot_page_items ui_shop Renders the paginated slot item list. Loads slot background textures (selected/unselected variants) from formatted paths. For each visible slot: draws background, renders name text (bold if selected) with shadow, and loads BMP icon from slot data. 0x008D1220 446 CItemDesc__render_formatted_tooltip game_items Renders a formatted item tooltip. Calls CItemDesc__format_tooltip_body to build text into a 256-byte buffer, optionally appends a title via resource string 0x2b8, then renders with CTextRenderer__draw_text_with_wrapping. 0x008D13E0 988 CItemDesc__render_inline_tooltip_text game_items Renders inline tooltip text with word wrapping. Formats the item description, performs word-wrap via FUN_00a837d0, then renders each text segment with color coding: 0xe0e0e0 for separators, item rarity color for normal items, 0x5050fa for identified items. Measures text width to track cursor position. 0x008D17C0 442 CItemDesc__layout_tooltip_multiline game_items Lays out multiline tooltip text. Formats item description into a 256-byte buffer, determines rarity color, then delegates to CTextRenderer__layout_multiline_text for text layout and height calculation. 0x008D1980 413 CItemDesc__draw_tooltip_with_wrapping game_items Draws tooltip text with wrapping. Similar to layout_tooltip_multiline but uses CTextRenderer__draw_text_with_wrapping for actual rendering instead of just layout. Handles rarity color conversion (BGR to RGB swap). 0x008D1B20 856 CUIEquipWindow__render_inline_item_text_with_truncation ui_shop Renders inline item tooltip text with truncation support. Formats tooltip body, then for each text segment: draws with color coding (0xe0e0e0 for separators, rarity color for items, 0x5050fa for identified), truncating to fit available width. Returns final cursor x position. 0x008D1E80 1252 CUIEquipWindow__render_item_detail_panel ui_shop Renders the item detail panel showing item name, description, and stats (1252 bytes). 0x008D2370 2341 CUIEquipWindow__draw_full_window ui_shop Main draw function for the full equipment window. Renders all panels, slots, borders, character preview, and overlays (2341 bytes). 0x008D2CA0 50 CUIWindow__draw_skinned_background game_core Draws the skinned window background. Uses skin texture path from DAT_01139cf4 normally, or DAT_0113eeb4 if window type is 0xEA. Delegates to UIWindow__draw_skinned_background_ex with flag=1. 0x008D2CE0 368 CUIEquipWindow__draw_slot_background_row ui_shop Draws a single row of slot backgrounds in the equipment grid (368 bytes). 0x008D2E50 428 CUIEquipWindow__draw_item_icon_in_slot ui_shop Draws an item icon within a specific equipment slot position (428 bytes). 0x008D3000 554 CUIEquipWindow__draw_slot_grid_row ui_shop Draws a full row of the equipment slot grid with item icons and backgrounds (554 bytes). 0x008D3230 509 CUIEquipWindow__draw_animated_slot_effects ui_shop Draws animated effects (glow, highlight) on equipment slots during events like equipping (509 bytes). 0x008D3430 645 CUIEquipWindow__handle_mouse_event ui_shop Handles mouse events (click, hover, drag) on the equipment window. Processes input events from the global input buffer. Type 6 events generate interpolated particle positions. Other types generate full animation state entries (0x30 bytes each) with position, timing, and movement data. 0x008D36C0 85 CUIWindow__validate_and_resize game_core Validates window position and resizes if needed. If validate fails, calls FUN_009a6cc0 for repositioning, reads target height from parent at offset 0x10, updates height field at 0x33, and resizes via virtual method unless type is 0x11. 0x008D3720 807 CUIEquipWindow__handle_command_message ui_shop Handles command messages (button clicks, close, tab switch) for the equipment window (807 bytes). 0x008D3A50 38 snap_minimap_to_right_edge game_core Snaps the minimap window (ID 0x52) to the right edge of the screen. Gets window by ID, calculates right-aligned x position from viewport width minus window width. 0x008D3A80 38 snap_chatbox_to_right_edge game_core Snaps the chatbox window (ID 0xC) to the right edge of the screen. Gets window by ID, calculates right-aligned x position from viewport width minus window width. 0x008D3AB0 544 CUIEquipWindow__build_scroll_packets ui_shop Builds scroll event packet data (packet IDs 0x542E and 0x542F) for the equipment window. Creates 6-byte packet entries and inserts them into the output vector. 0x008D3CD0 1069 CUIEquipWindow__build_keyboard_input_packets ui_shop Builds keyboard input packets for the equipment window. Creates packet 0x53FC (start), serializes tab data with message string 0x31A into packet 0x53FE, and ends with packet 0x53FD. 0x008D4100 544 CUIEquipWindow__build_slot_selection_packets ui_shop Builds slot selection update packets (packet IDs 0x5172 and 0x5173) for the equipment window. Creates 6-byte packet entries and inserts them into the output vector. 0x008D4320 726 CUIEquipWindow__build_slot_refresh_packets ui_shop Builds slot display refresh packets. Creates packet 0x55BE (start), then for each entry in the tab control (offset 0xBC-0xC0), serializes the string data into packet 0x55C1, and ends with packet 0x55BF. 0x008D4600 1074 CUIEquipWindow__build_equip_packets ui_shop Builds equip action packets. Creates packet 0x558C (start), then for each equipment entry in the item list (offset 0xC4), serializes the item string data into packet 0x558F, and ends with packet 0x558D. 0x008D4A40 1069 CUIEquipWindow__build_unequip_packets ui_shop Builds unequip action packets. Creates packet 0x5492 (start), serializes tab data with message string 0x5D into packet 0x5494, and ends with packet 0x5493. 0x008D4E70 2149 CUIEquipWindow__build_equip_packet_buffer ui_shop Builds a serialized equip packet buffer with multiple sub-packets (opcodes 0x5078-0x5081). Each sub-packet carries equip slot data: item string (0x507A), slot ID (0x507B), card count (0x507C), and individual card IDs (0x507D-0x5081). Returns a vector of serialized byte data. 0x008D56E0 717 CUIEquipWindow__build_item_info_packet ui_shop Builds a network packet for item info display (opcodes 0x574E/0x574F/0x5751). Iterates the linked list at this+0xCC to collect slot IDs, then wraps them into a variable-length packet via build_network_packet_from_vector. 0x008D59B0 717 CUIEquipWindow__build_item_stats_packet ui_shop Builds a network packet for item stats display (opcodes 0x571C/0x571D/0x571F). Same structure as build_item_info_packet but with different opcodes. Collects slot IDs from the linked list at this+0xCC. 0x008D5C80 1069 CUIEquipWindow__build_tab_open_packet ui_shop Builds a tab-open packet (opcodes 0x5460/0x5461/0x5462). Serializes tab control data to a buffer, gets message text at index 0x332, creates a serialized buffer via CItemInfoMgr, and wraps in begin/end packet markers. 0x008D60B0 1069 CUIEquipWindow__build_tab_close_packet ui_shop Builds a tab-close packet (opcodes 0x5528/0x5529/0x552A). Same structure as build_tab_open_packet but with close opcodes and message text index 0x179. 0x008D64E0 1069 CUIEquipWindow__build_equip_state_packet ui_shop Builds an equip state update packet (opcodes 0x54F6/0x54F7/0x54F8). Serializes tab data, gets message text at index 0x5E, and creates a serialized buffer for equip state confirmation. 0x008D6910 1067 CUIEquipWindow__build_equip_sync_packet ui_shop Builds an equipment sync packet (opcodes 0x5654-0x5657). Iterates the linked list at this+0xCC, converts each node's string field (at node+0x34) to integer via atoi, and emits a 0x5657 sub-packet per entry. Also includes a 0x5656 packet with the short value at this+0xF0. 0x008D6D40 968 CUIEquipWindow__build_slot_layout_packet ui_shop Builds a slot layout packet (opcodes 0x57E4/0x57E5/0x57E7/0x57E8). Iterates the string array at sub-object+0xC0 and copies each entry as a 0x57E7 variable-length sub-packet. Includes a 0x57E8 trailing int from this+0xD4. 0x008D7110 775 CUIEquipWindow__build_tooltip_packet ui_shop Builds a tooltip display packet (opcodes 0x54C4/0x54C5/0x54C6). The 0x54C6 packet carries a single byte from this+0xC0 (tooltip type/mode flag). 0x008D7420 56 CUIEquipWindow__get_slot_ids_to_buffer ui_shop Copies all slot IDs from the linked list at offset 0xcc into a uint16 buffer. Iterates the circular list, reading 2-byte values at node+12 (offset 3 dwords). Returns true if buffer is non-null. 0x008D7460 259 CUIEquipWindow__rbtree_find_or_insert ui_shop Searches the red-black tree at offset 0x7fc0 for a node with key param_2. If not found, allocates a 0x18-byte node, inserts it via Insert_node, and initializes it. Returns the value at node offset 5 (dword). 0x008D7570 230 CUIWindow__load_texture_by_id_or_name game_core Loads a texture by formatted ID or fallback name. If param_1 > 0, formats param_2 with ID to build a resource path string; otherwise uses param_3 as a direct path. Loads via CResourceMgr and CMessageStringTable. Returns texture handle or 0 if both paths are null/empty. 0x008D7660 73 CUIWindow__calc_remaining_height game_core Calculates remaining height in a window by subtracting the heights of all child windows in the linked list at offset 0xb8 (excluding param_2). Each child contributes its 0xb4 height + 4px padding. 0x008D76B0 215 CUIEquipWindow__hit_test_card_slot ui_shop Hit-tests a card slot position. param_2 is x-coordinate (divided into 25px-wide slots), param_3 is y-coordinate (checked against window bottom - 50). Returns slot index 0-3 based on refinement level/enchant type, or -1 if no hit. 0x008D7790 1328 CUIEquipWindow__build_sprite_path_string ui_shop Builds a sprite file path string from a slot type ID. Converts type to folder/filename for loading .spr/.act resources (1328 bytes). 0x008D7CC0 468 CUIEquipWindow__extract_colored_text_segments ui_shop Extracts colored text segments from a string containing embedded color codes. Uses CTextVertex__find_color_code_offset to locate codes, then parse_color_code_to_rgb and find_color_code_in_string to split the text. Copies each segment with its color prefix into output buffers. Returns the concatenated colored text. 0x008D7EA0 143 CUIEquipWindow__hit_test_grid_cell ui_shop Hit-tests a grid cell in the equipment grid. Checks bounds (x: 3 to width-14, y: 33 to max based on row count). Iterates linked list at 0xcc to find the cell at the grid position (32px per row), skipping items before the visible page. 0x008D7F30 93 CUIEquipWindow__get_item_desc_at_index ui_shop Gets an item description at the specified linked list index. Delegates to get_shop_item_by_index with the list at offset 0xbc. 0x008D7F90 82 CUIEquipWindow__hit_test_page_slot ui_shop Hit-tests a page slot in the slot list view. Checks y-range [0x3a, 0x96] across up to 4 slots (0x44 px spacing, starting at x=6, width 0x40). Returns the absolute slot index (page offset + local index). 0x008D7FF0 1187 CUIEquipWindow__word_wrap_item_text ui_shop Word-wraps item description text into fixed-width lines. Iterates through input text segments (string array via param_3) character-by-character using CharNextExA for multi-byte support. Measures running text width via CEffect__measure_text_total_width and splits at the character boundary when width exceeds param_1. Outputs wrapped segments as (int, string) pairs into param_4 vector. 0x008D84A0 220 CUIEquipWindow__build_item_desc_by_mode ui_shop Builds an item description for the item at index param_3. Returns empty desc if index is -1. Dispatches based on mode (offset 0xf0): mode 0 uses FUN_00ddc6f0/00ddfac0, mode 1 uses FUN_00e08ee0/00e0aad0, with lock flag at 0xb4 selecting the variant. 0x008D8580 326 CUIEquipWindow__get_item_desc_from_slot_pos ui_shop Gets an item description from slot position coordinates. Checks if y is within the slot area (this+0xF4 + 0x11 to +0x91), maps x to column indices (left column or right column), and y to row indices (0x1A spacing). Special center area (0xF) for the middle x-region. Delegates to build_item_desc_by_mode with the computed slot index. 0x008D86D0 276 CUIEquipWindow__get_item_desc_from_list_pos ui_shop Gets an item description from a list position given x/y coordinates. Divides y by the row height at this+0x112 to get a row index. Uses x to select between two linked lists (this+0xE0 for x < 0x118, this+0xE8 otherwise). Iterates the list to the calculated row and copy-constructs the item from node+2. Returns empty desc if out of bounds. 0x008D87F0 252 CUIEquipWindow__get_shop_item_by_index ui_shop Gets a shop item from the linked list at offset 0xcc by iterating to index param_3. Copy-constructs the item data from node+2 into the output. If index exceeds list size, creates an empty item and sets param_4 flag to 0. 0x008D88F0 1170 CUIEquipWindow__get_item_desc_from_grid_pos ui_shop Gets an item description by hit-testing a position against the equipment grid. The grid has three column regions: left (x < 0xFC), middle (0xFC-0x1BC), and right (>= 0x1BC). Each region has up to 4 rows. Calculates the item index from grid position and page offset, then returns a copy-constructed CShopItem or empty desc if out of bounds. 0x008D8D90 334 CItemListWnd__get_item_desc_from_pos game_core Gets an item description from screen coordinates. Converts x/y into a slot index using grid layout math (two columns of slots plus a center area), then delegates to build_item_desc_by_mode to construct the actual item description. Returns empty desc if coordinates are out of the valid area (this+0xF4 offsets). 0x008D8EE0 1329 CItemListWnd__parse_and_split_item_text game_core Parses item text string and splits it based on delimiters. When param_2==0, inserts directly into a vector. Otherwise, copies and deduplicates index arrays, searches for substrings, and splits text at pipe '\|' delimiters. Uses std::string find operations and calls FUN_0090c4f0 to process split segments. 0x008D9420 1452 CItemListWnd__parse_multibyte_text_lines game_core Parses multi-byte text (likely CP949/Korean) and splits into lines at newline characters. Handles multi-byte character sequences (high-bit bytes consumed in pairs). Each line's width is measured via FUN_00a80580 and compared against a threshold. Lines exceeding the threshold are further processed via stub_005f76a0. Returns 1 if text was split, 0 if it fits in one piece. 0x008D99D0 109 CItemListWnd__get_page_index_from_y game_core Calculates page/tab index from Y coordinate relative to control dimensions. Divides param_3 by half of this+0xBC to get raw index, then clamps to valid range [0, count-1] where count is derived from (this+0xC4 - this+0xC0) / 0x18. Returns -1 if coords are out of bounds. 0x008D9A40 137 CItemListWnd__count_non_empty_tabs game_core Counts the number of non-empty tab entries up to a given index. Iterates through tab array at this+0xC0, comparing each tab's string (at offset 0x0 within 0x18-sized elements) against PTR_DAT_0133a934. Returns count of tabs whose name differs from the empty/default string. 0x008D9AD0 30 CItemListWnd__get_item_count game_core Returns the number of items in the list. Computed as (this+0x8C - this+0x88) / 0x18, where the range represents the item array. 0x008D9D00 303 CItemListWnd__find_item_by_flag_mask game_core Searches through up to 8 item entries (via FUN_00ddc6f0) for one matching the given bitmask param_2. Checks that the entry is valid (field at +0x108 != 0), type field == 1, and flag field matches the mask. Returns found item via CShopItem copy construct. Returns empty/error if param_2 is -1 or no match found. 0x008D9E30 70 CItemListWnd__calc_equip_icon_offset game_core Calculates icon display position offsets for equipment slots based on slot index (param_1) and equip type (param_2). Uses a 5-column grid layout with rows of height 0x52 and columns of width 0x46. Applies type-specific pixel offsets for proper icon alignment in the equipment window. 0x008D9F20 167 is_game_idle_state game_core Checks if the game is in a fully idle state. Returns false if DAT_01738254 >= 1. Otherwise checks 8 bit flags on global DAT_0173354c (bits 4, 5, 7, 19, 21, 23, 24, 25). Returns true (1) only when all flags are clear. Not specific to CItemListWnd -- operates on global game state. 0x008D9FE0 572 CItemListWnd__init_detail_tabs game_core Initializes detail panel tabs for the item list window. Calls FUN_008f5af0 and FUN_008d3430 for setup, copies text from global DAT_01450cd0, queries tab data via FUN_009b4220 with limit 0x1E. Sets up 2+ tab controls at this+0xC0 with names and positions. Adjusts widget sizes based on tab count (1 vs 2+ tabs) and marks this+0xFC as initialized. 0x008DA220 181 CItemListWnd__update_tab_positions game_core Updates the positions of tab controls based on current tab state. Uses fixed x-positions [3, 0x104, 0x1FE] and calculates y-position from this+0x33 * 0x78. Adjusts y-offset based on tab visibility flags (this+0x33, this+0x34, this+0x36). Iterates 3 tab controls at this+0x2D calling their SetPosition virtual method, then calls a virtual refresh at this+0x98. 0x008DA2E0 31 CItemListWnd__clear_tooltip_timer game_core Clears/resets the tooltip display timer. If the tooltip widget at this+0x124 is non-null, calls its virtual method at offset 0x94 with parameters (0, 0x3C, 0, 0, 0, 0) to reset the timer state. 0x008DA300 83 CItemListWnd__is_tab_empty game_core Checks if a specific tab at index param_2 has an empty/default name. Accesses the tab array at this+0xC0 indexed by param_2 (each entry 0x18 bytes). Compares the tab's string against PTR_DAT_0133a934 using std::char_traits::equal. Returns true if the tab name matches the default (empty) string. 0x008DA380 134 CItemListWnd__compare_item_properties game_core Compares two item entries by multiple properties. First compares the name string at this+0xE4 with param_2+0x2C using std::char_traits::equal. Then checks 5 additional numeric fields match: +0x60 vs +0x118, +0x1C vs +0xD4, +0x20 vs +0xD8, +0x24 vs +0xDC, +0x28 vs +0xE0. Returns true only if all fields match. 0x008DA460 552 CItemListWnd__show_item_tooltip game_core Shows a tooltip for the selected item. Creates UIListDetailWidgetC if not yet allocated (0x160 bytes). Builds item tooltip string via CItemDB, sets detail widget content with the tooltip text, updates the display name via FUN_00858d20, and triggers a refresh via FUN_00855150. Calls FUN_0089cfe0 with callback 0x12b8a4. 0x008DA690 1631 CItemDesc__format_tooltip_body game_items Formats the complete tooltip body text for an item. Handles identified vs unidentified items, enchantments, card slots, equipment type, weapon subtype, refinement, and location text. Manages text color (0xE04040 for location found, 0x4040E0 for not found). Builds output buffer with section offsets tracked in param_4 vector. Adapts format based on DAT_016d3b10 (client type: 0xC or 0xE variants). 0x008DACF0 591 CItemListWnd__show_item_detail_panel game_core Shows the item detail panel for a given item. Creates UIListDetailWidgetC if needed (0x160 bytes). Only displays if widget state < 3 and item fits within display bounds (checking offsets at +0xF0, +0x88). Builds item name with color code 0xD630A9 via FUN_00874a40, sets widget title, constructs display text via CPacketStream, then refreshes via FUN_00855150. 0x008DAF40 63 CItemListWnd__scroll_with_mount_offset game_core Scrolls the item list and additionally adjusts for mount/riding offset. Calls FUN_008ad150 with the base scroll parameters, then if DAT_014578a4 is set, looks up entity type 0x52 via FUN_00aa5f70 and applies an additional scroll offset based on the entity's size difference (+0x1C - +0x14). 0x008DAF80 9 thunk_to_UIWidget__set_offset_and_refresh_b_008daf80 ui_framework Thunk that calls FUN_008ad150 and returns 0x008DAF90 63 CItemListWnd__scroll_with_cart_offset game_core Scrolls the item list and additionally adjusts for cart/falcon offset. Calls FUN_008ad150 with base scroll parameters, then if DAT_014578a0 is set, looks up entity type 0xC via FUN_00aa5f70 and applies an additional scroll offset from the entity's size difference. 0x008DAFE0 76 CItemListWnd__clamp_and_move_window game_core Clamps a window position to stay within screen bounds and moves it. Uses DAT_01389638 screen dimensions (+0x2C for height, +0x28 for width) minus the window's own dimensions (this+0x18, this+0x14) to ensure the window doesn't go off-screen. Then calls FUN_00a81d40 to apply the final position. 0x008DB030 9 thunk_to_UIWidget__set_offset_and_refresh_b_008db030 ui_framework Single-call thunk that wraps FUN_008ad150 0x008DB040 354 CItemListWnd__update_smooth_scroll_animation game_core Updates smooth scrolling animation for list items. Iterates through animation entries (0x30 bytes each) in the array at this+0xDC. For each entry with mismatched current/target positions, interpolates position using time-based lerp (timeGetTime delta / duration). Snaps to target when elapsed time exceeds animation duration. 0x008DB1B0 19 CItemListWnd__set_anchor_position_a game_core Sets the anchor position fields at this+0x38 and this+0x3C to the given coordinates. 0x008DB1D0 19 CItemListWnd__set_anchor_position_b game_core Sets the anchor position fields at this+0x38 and this+0x3C to the given coordinates. Identical implementation to set_anchor_position_a but at a different vtable slot. 0x008DB1F0 1360 CItemListWnd__create_text_and_button_widgets game_core Creates and initializes a UITextWidget (0x11C bytes) for display and a button widget (0x120 bytes) with 3 sprite states (normal/hover/pressed). Positions the text widget, sets max length to 100, configures text color (0xE8E8E8), sets font from global DAT_01737CF4, and adds both as child widgets. Sets this+0x8C to 0xB8. 0x008DB750 1447 CItemListWnd__create_scroll_list_and_slots game_core Creates a UIColoredScrollListBase (0xEC bytes) for scrollable content and 4 UIItemSlotWidget instances (0x114 bytes each). Configures scroll list dimensions, creates slot widgets with sprite images from resource IDs 0x510-0x513, positions each slot in a grid layout, and adds all as child widgets at this+0x150. Sets this+0x8C to 0xB8. 0x008DBD00 73 CItemListWnd__reset_title_text game_core Resets the title/header text of the item list window. Clears the flag at this+0xE4, loads string resource 0x20F via FUN_00b00f00, sets it as the display text, and clears the display via FUN_008cf0c0 with empty parameters. 0x008DBD50 5424 CItemListWnd__process_large_layout_update game_core Large layout update function for the item list window (5424 bytes). Handles complex widget repositioning and content refresh operations. 0x008DD290 1793 UIShopSell__create_buttons_and_scroll_list game_core Creates the shop sell UI with 3 button widgets (sell, sell_a/b, cancel, cancel_a/b) with 3 sprite states each, a UIColoredScrollListBase (0xEC bytes) at this+0xB8 with CColorPicker(2,2) background color, and a timer callback with string resource 0x5C. Sets this+0x8C to 0xE0. Positions buttons using layout arrays for sell/cancel actions. 0x008DD9A0 1848 CItemListWnd__create_edit_and_scroll_widgets game_core Creates an editable text widget (UIEditableTextWidget, 0xD8 bytes) and a scroll list (UIScrollListBase, 0xD4 bytes) with 2 button widgets (0x120 bytes each with 3 sprite states). Configures scroll list colors (0xF0,0xF0,0xF0), sets min dimensions, positions buttons with cancel sprites, and adds all as child widgets. Uses string resources and sets this+0x8C to 0xB8. 0x008DE0E0 628 CItemListWnd__create_scroll_list_and_two_buttons game_core Creates a UIScrollListBase (0xD4 bytes) at this+0xC4 and two button widgets (0x120 bytes each) at this+0xD0 and this+0xD4. Configures scroll list with gray colors (0xF0), sets min size constraints, creates buttons with 3 sprite states each, positions them within the window, and adds all as child widgets. Sets this+0x8C to 0xB8. 0x008DE360 32 CItemListWnd__init_mount_type game_core Initializes the window with mount entity type. Calls FUN_008e1890 for base initialization, then sets this+0x1F8 to 0x52 (mount/riding entity type ID). 0x008DE380 120 CItemListWnd__init_costume_type game_core Initializes the window with costume entity type. Calls FUN_008e1890 for base initialization, hides a widget at this+0x208, sets this+0x1F8 to 0xFA (costume type ID). Retrieves skin color from CSkinManager using field type 7 and applies it with full opacity (OR 0xFF000000) to the widget at this+0x1B0, then triggers a visual refresh. 0x008DE400 142 CItemListWnd__create_dropdown_widget game_core Creates a UIDropdown widget (0xCC bytes) and stores it at this+0xB4. Initializes the dropdown with position (0,0) and given dimensions (param_2, param_3), with flag=1. Adds as child widget. 0x008DE490 142 CItemListWnd__create_list_widget game_core Creates a UIListWidget (0xD8 bytes) via UIListWidget__ctor_0086cb40 and stores it at this+0xB4. Initializes with position (0,0) and given dimensions, flag=1. Adds as child widget. 0x008DE520 428 CItemListWnd__create_button_and_colored_scroll game_core Creates a button widget (0x120 bytes) with 3 sprite states, positions it at (0xEA, 0x60), and creates a UIColoredScrollListBase (0xEC bytes) at this+0xB4. Picks background color via CColorPicker__GetPixelRGB(2,2), sets the scroll list's color, and configures a timer callback with string resource 2. Sets this+0x8C to 0xB8. 0x008DE6D0 1399 CItemListWnd__create_text_widget_and_close_button game_core Creates a UITextWidget (0x11C bytes) at this+0xB4 with max length 0x31 and text color (0xE8,0xE8,0xE8). Registers click callback 0x271D. Creates a button widget (0x120 bytes) with 3 sprite states for the close button. Positions relative to parent dimensions and sets this+0x8C to 0xB8. Also calls FUN_00aa9b40 to register the text widget. 0x008DEC50 5715 CItemListWnd__process_extended_layout game_core Extended layout processing function for the item list window (5715 bytes). Handles complex multi-widget layout calculations and content arrangement. 0x008E0A20 2016 CEquipWnd__create_tab_buttons_and_text ui_shop Creates the equipment window's tab buttons and text widgets. Sets up click handler 0x17, initializes 5 state flags to 0 at this+0x33..0x37. Creates 3 button widgets at this+0x2D with button IDs 0xB8/0xE6/0xB9 and sprite names from resource references. Creates a UITextWidget at this+0x30 (max length 0xD, color 0xE8E8E8) and a checkbox widget at this+0x46. Sets this+0x23 to 600 (timer interval). 0x008E1210 1656 CEquipWnd__create_text_label_and_buttons ui_shop Creates a UITextWidget (0x11C bytes) at this+0xC4 for display text with max length 0x14, color (0xF2,0xF2,0xF2), positioned at (0xF0, 0x10). Creates 2 button widgets (0x120 bytes each) with 3 sprite states and cancel button sprites, positioned using layout arrays. Sets this+0x8C to 0xB8. 0x008E1890 3116 CEquipWnd__create_equip_slot_widgets ui_shop Creates the equipment window's slot display widgets. Sets this+0x1F8 to 0xC (equip type). Creates a UIColoredScrollListBase at this+0x1B0 with picked background color. Creates a view button at this+0x1B4 with btn_view sprites. Creates 2 UIItemSlotWidget instances at this+0x1B8 with equipment icons (resource IDs 0x50E-0x50F, equip IDs 0x11F-0x120). Creates a UITextLabelWidget at this+0x204 and an optional info widget at this+0x210. Creates an expand button at this+0x214 with ID 0x157. 0x008E24C0 125 CEquipWnd__init_shadow_equip_type ui_shop Initializes the equipment window for shadow equipment type. Calls create_equip_slot_widgets for base setup, hides the widget at this+0x208, sets this+0x1F8 to 0xEA (shadow equip type). Picks a custom background color via CColorPicker(0x1E, 6) and applies it to the scroll list at this+0x1B0 with full opacity. 0x008E2540 74 CEquipWnd__init_item_list_with_sprite ui_shop Initializes an item list window with a sprite background. Calls FUN_008e2590 for full widget setup, loads title text from string resource 0x20A, and clears this+0xF4 to 0. 0x008E2590 2803 CEquipWnd__create_sprite_list_and_buttons ui_shop Creates a sprite-based item list with buttons. Loads title from resource 0x209, initializes control fields (this+0xB8..0xC8). Creates a UISpriteWidget (0xB4 bytes) at this+0xB4 for item display. Calls FUN_008f64b0 for layout setup. Creates 1 close button with 3 sprite states (cancel sprites). Creates a second set of cancel buttons in a separate pass. Sets this+0x8C to 0xB8. 0x008E30B0 629 CLoadingScreen__init_background_image game_core Initializes the loading screen background image. Creates a UIColorButton widget at this+0xB8 with picked color. Selects loading image based on DAT_017387e4: airplane mode uses airplane JPG, random mode picks randomly from the loading image list, sequential mode cycles through. Falls back to loading00.jpg. Loads the image via FUN_00af1620/FUN_00b01200/FUN_00aee770. 0x008E3340 2366 CLoadingScreen__render_loading_progress game_core Renders the loading screen progress display (2366 bytes). Handles loading bar, progress text, and map loading animations. 0x008E3C80 73 CEquipWnd__reset_title_text_alt ui_shop Resets the title text for the equipment window. Clears flag at this+0xE4, loads string resource 0x20F, sets it as display text, and clears the content display. Identical behavior to CItemListWnd__reset_title_text but for a different widget context. 0x008E3CD0 1700 CEquipWnd__create_buttons_and_colored_scroll_list ui_shop Creates 2 button widgets (cancel sprites) with 3 states each, positioned using layout arrays, and a UIColoredScrollListBase at this+0xB4. Picks background color via CColorPicker(2,2), sets the scroll list's color, configures a timer callback with string resource 0, and sets this+0x8C to 0xB8. 0x008E4390 1497 CEquipWnd__render_equip_list_with_tabs ui_shop Renders the equipment list with tab navigation (1497 bytes). Handles tabbed equipment categories and item display. 0x008E4970 1497 CEquipWnd__render_equip_list_alt ui_shop Alternative equipment list renderer (1497 bytes). Similar to render_equip_list_with_tabs with different layout. 0x008E4F50 1369 CEquipWnd__render_equip_detail_view ui_shop Renders the equipment detail view (1369 bytes). Shows detailed item stats, description, and options for equipped items. 0x008E54B0 1388 CEquipWnd__render_equip_summary_view ui_shop Renders the equipment summary view (1388 bytes). Shows a compact overview of all equipped items. 0x008E5A20 1662 CEquipWnd__render_equip_slots_display ui_shop Renders the equipment slots display (1662 bytes). Draws equipped item icons, slot backgrounds, and highlights for the equipment window. 0x008E60A0 2706 CEquipWnd__render_extended_equip_display ui_shop Renders the extended equipment display with shadow/costume slots (2706 bytes). Handles multi-panel equipment views. 0x008E6B40 1499 CEquipWnd__render_costume_equip_display ui_shop Renders the costume equipment display (1499 bytes). Shows costume slot items and their equipped states. 0x008E7130 1318 CEquipWnd__render_shadow_equip_display ui_shop Renders the shadow equipment display (1318 bytes). Shows shadow gear slots and their equipped items. 0x008E7660 1612 CEquipWnd__render_mount_display ui_shop Renders the mount/riding equipment display (1612 bytes). Shows mount-related equipment slots. 0x008E7CB0 1754 CItemListWnd__render_item_grid_display game_core Renders an item grid display (1754 bytes). Draws items in a grid layout with icons, quantities, and selection highlights. 0x008E8390 227 CItemListWnd__create_color_preview_widget game_core Creates a color preview widget (0xCC bytes) via FUN_0083e1b0 at this+0xB4. Sets background color to 0xFF2F2F2 , configures max width at +0x90, positions at (10,10). Initializes this+0xCC and this+0xD4 to 0 and sets this+0x8C to 600 (timer interval). 0x008E8480 317 CItemListWnd__populate_quantity_dropdown game_core Populates a quantity selection dropdown. Clears the content, builds a list of quantities from 1-9 based on threshold values from layout arrays (0x113FE60, 0x113FEC0). Compares against DAT_01733C88 to determine max quantity. If quantity exceeds 100, adds special entry 0xD. Calls FUN_008ce2c0 to add each item, then resizes the widget based on item count (rows of 5, height 0x62 per row). 0x008E85C0 661 CItemListWnd__create_dual_scroll_with_expand game_core Creates a dual-panel scrollable item list with expand button. Loads title from resource 0x20E, sets this+0x104 to -1. Creates main UIColoredScrollListBase at this+0xB8, a child widget at this+0xB4, a secondary scroll list at this+0x108 (same color), and an expand button at this+0x10C with resource ID 0x157 and tooltip 0x109E. Both scroll lists use CColorPicker(2,2) for background color. 0x008E8860 1369 CItemListWnd__render_crafting_material_display game_core Renders the crafting material display (1369 bytes). Shows required materials, current counts, and craft button. 0x008E8DC0 1431 CItemListWnd__render_enchant_display game_core Renders the enchant/refine display (1431 bytes). Shows enchant options, success rates, and item slots. 0x008E9370 2333 CItemListWnd__render_card_insert_display game_core Renders the card insertion display (2333 bytes). Shows card slots, insertable cards, and the target equipment. 0x008E9C90 2797 CItemListWnd__render_vending_display game_core Renders the vending shop display (2797 bytes). Shows items for sale with prices and quantities. 0x008EA780 1701 CItemListWnd__render_trade_display game_core Renders the trade window display (1701 bytes). Shows items being traded between players with quantities and zeny amounts. 0x008EAE30 472 CItemListWnd__create_cancel_button_and_scroll game_core Creates a cancel button widget (0x120 bytes) at this+0xB8 with 3 sprite states, centered horizontally, with button ID 0xB9. Creates a UIColoredScrollListBase at this+0xB4 with CColorPicker(2,2) background color. Configures timer callback with string resource 0x79. 0x008EB010 618 CItemListWnd__create_label_input_and_list game_core Creates a text label (UITextLabelWidget) at this+0xE4, an editable text input (0x14C bytes) at this+0xE8 with max length 0x46 and purple text color (0xFF,0,0xFF), a list item widget (UIListItem, 0x130 bytes) at this+0xEC with button ID 0xB8 and purple highlight colors, and a child widget at this+0xF0. Sets this+0x8C to 0xB8. 0x008EB280 5268 CItemListWnd__create_full_inventory_layout game_core Large function (5268 bytes) that creates the full inventory window layout with multiple widgets, scroll lists, buttons, and item slots. 0x008EC840 1497 CItemListWnd__render_progress_with_timer game_core Renders a progress display with timer animation (1497 bytes). Handles countdown timer display and progress bar rendering. 0x008ECE60 228 CItemListWnd__render_progress_bar game_core Renders a progress bar with formatted text showing current/max values. Formats string as "%s : %d / %d" using this+0xBC text, this+0x128, and this+0x124. Draws the text centered horizontally, then calls FUN_00a7bd60 to render the progress bar fill using color from this+0x138/0x13C/0x140. Updates the scroll list background color to match. 0x008ECF50 294 CItemListWnd__render_titled_image_display game_core Renders a titled display with an image. Calls FUN_008d2ce0 for base rendering, loads and displays image from this+0xB4 string path if this+0xC4 is non-zero. Copies title string from this+0xCC and flag from this+0xE4, then calls FUN_008d13e0 with font parameters (10,3) to render the combined text content. 0x008ED080 169 CItemListWnd__render_titled_text_with_shadow game_core Renders text with a shadow effect. Loads two background images (from DAT_0113e940 and DAT_0113f708), then renders the text from this+0xB4 string twice: once with white color (0xFFFFFF) at position (9,4) for shadow, and once with black color (0) at position (8,3) for the main text. 0x008ED130 49 load_and_display_default_bg_a game_core Loads the default background image from DAT_01139db4 via FUN_00af1620/FUN_00b01200/FUN_00aee770 and displays it at position (0,0) with flag 0. 0x008ED1B0 49 load_and_display_default_bg_b game_core Loads the default background image from DAT_01139db4 via FUN_00af1620/FUN_00b01200/FUN_00aee770 and displays it at position (0,0) with flag 0. Identical to load_and_display_default_bg_a. 0x008ED240 1299 CItemListWnd__render_character_preview_panel game_core Renders a character preview panel with equipment display (1299 bytes). Loads background image, draws title header, shows character sprite via CCharSlotEntry with equipment info (hair/body colors, job, headgear). Displays equipped items with icons when in view mode 0, with card slot sprites. Manages visibility of scroll buttons based on equipment view state. 0x008ED760 2752 CItemListWnd__render_guild_info_panel game_core Renders the guild information panel (2752 bytes). Displays guild member list, positions, and related information. 0x008EE2B0 1326 CItemListWnd__render_item_detail_with_card_slots game_core Renders an item detail panel with card/enchant slots (1326 bytes). Shows skinned background, item description text, and iterates through enchant/card slot entries. For each slot, displays the card icon or an empty slot indicator (colored based on whether refinement level is met). Also positions the item detail tooltip panel via virtual call at the end. 0x008EE7F0 467 CItemListWnd__render_status_info_display game_core Renders a status information display panel (467 bytes). Shows status text with formatted values. 0x008EE9D0 762 CItemListWnd__render_stat_comparison_display game_core Renders a stat comparison display with up/down arrows (762 bytes). Shows two stat values (message IDs 0x10D, 0x10E) with triangle indicators showing whether each stat increased (green), decreased (red), or stayed equal (gray). Draws colored triangles pointing up/down/flat based on comparison between current and previous values at offsets +0xB4/+0xB8 and +0xBC/+0xC0. 0x008EECE0 29 CItemListWnd__set_title_and_refresh game_core Sets a 4-character title string from DAT_0113f8c4 and calls FUN_008ee7f0 to refresh the display. 0x008EED00 914 CItemListWnd__render_npc_shop_display game_core Renders the NPC shop item display (914 bytes). Shows item icons, names, and prices for buying/selling. 0x008EF0A0 242 CItemListWnd__render_coordinate_display game_core Renders coordinate display showing current position. Sets magenta text color (0xFFFF00FF), gets current coordinates via FUN_00ad6450/FUN_00cd5510, formats them as "%d, %d", and renders the text twice (with shadow effect at positions 0x13/0x80 in white and 0x14/0x80 in black). 0x008EF1A0 1002 CItemListWnd__render_npc_sprite_animation game_core Renders an NPC sprite animation in the window (1002 bytes). Loads NPC sprite (.spr) and action (.act) files from the string at this+0xB4, builds the file paths as "npc\\%s.spr" and "npc\\%s.act". Uses skill tree node/detail entry APIs to get animation frame data, then renders each sprite layer at calculated positions with tile caching for performance. 0x008EF590 49 load_and_display_default_bg_c game_core Loads the default background image from DAT_01139db4 and displays at position (0,0). Same pattern as load_and_display_default_bg_a/b. 0x008EF5D0 535 CItemListWnd__render_quest_info_display game_core Renders the quest information display (535 bytes). Shows quest objectives, progress, and rewards. 0x008EF850 327 CItemListWnd__render_and_manage_popup_overlay game_core Renders the window background and manages popup overlay lifecycle (327 bytes). Draws bordered background, then if this+0xBC popup exists: gets text from the item's title field, sets it on the tab control, rebuilds display text. If the popup's visibility flag (+0x47) is 0, destroys it via virtual destructor and clears the reference. 0x008EFA00 236 CItemListWnd__render_shop_buy_labels game_core Renders shop/buy window labels. Selects title string resource based on this+0xDC (0x32 uses resource 0x806, otherwise 0x123). Renders header via FUN_008d2ce0 and FUN_008d03e0. Shows item count at row 2. For type 0x46 or 0x32, shows additional label (0x124 or 0x809). Renders price label (0x2E2) and confirm label (0x125) at calculated y-positions based on this+0xDC offset. 0x008EFB40 423 CItemListWnd__render_slot_machine_animation game_core Renders the slot machine animation using SlotMachine.act and SlotMachine.spr resources. Calculates current animation frame from this+0xBC / this+0xB4. Gets sprite data from skill tree nodes and renders each frame's sprite at centered positions. Advances the animation counter and cycles through animation nodes. 0x008EFCF0 618 CItemListWnd__render_account_info_display game_core Renders the account information display. Shows title (resource 0x2CA), loads corner images. Iterates through account entries (0x54 bytes each) from DAT_01732D8C, matching server name against DAT_01737B74. For matching entries, displays AID/character name, server name, and connection time/date info in formatted text rows. 0x008EFF60 49 load_and_display_default_bg_d game_core Loads default background image from DAT_01139db4 and displays it. Same pattern as other load_and_display_default_bg functions. 0x008EFFA0 49 load_and_display_default_bg_e game_core Loads default background image from DAT_01139db4 and displays it. Same pattern as other load_and_display_default_bg functions. 0x008EFFF0 856 CItemListWnd__render_pin_code_entry_ui game_core Renders the PIN code entry UI. Shows title (resource 0x76B), draws progress bars and text labels for up to 3 password entry fields. Handles display states based on DAT_01737D10 flag and this+0x108, showing input fields with colored backgrounds (0xE6E6E6 or active state). Draws dot characters for each entered PIN digit at positions this+0xD0/0xD9/0xE2 with y-offsets from this+0xFC/0x100/0x104. 0x008F0350 171 CItemListWnd__render_otp_entry_header game_core Renders the OTP entry window header. Shows title from resource 0x293, loads and displays corner decoration images positioned at bottom-left and bottom-right of the window. 0x008F0400 169 CItemListWnd__render_bordered_panel_bg game_core Renders a bordered panel background. Sets magenta clear color, picks background color via CColorPicker(2,2), fills the right portion of the panel. Draws a gray (0xC3C3C3) outer border and white (0xFFFFFF) inner border around the widget. 0x008F04F0 607 CItemListWnd__render_skill_list_page game_core Renders a paginated skill list. Shows title from resource 0x2B9, initializes skill entry, iterates through skills from this+0xF0 array. For visible skills (based on page offset this+0xB8 * this+0xC0), highlights selected row (this+0xBC) using CColorPicker, loads skill icons via FUN_00af1620 and displays them with names in a grid layout (0x20 pixel row height). 0x008F0750 3284 CItemListWnd__render_character_stats_panel game_core Renders a character stats panel with base stats and bonuses (3284 bytes). Shows title (resource 0x69), then if height differs from +0xD4 and not minimized: displays stat rows (6 stats) with base values and bonus values (green for positive, red for negative). Shows additional stats like ATK/DEF/HIT/FLEE ratios, crit rate, ASPD. Also handles an RB tree lookup for secondary stat display when in detailed mode (+0xFC). 0x008F1430 4131 CItemListWnd__render_pin_code_numpad game_core Renders the PIN code numpad entry UI (4131 bytes). Creates cancel/change buttons at the top, then builds 11 number buttons (0-9 plus reset 'R') with randomized positions for security. Buttons use basic_interface textures with btn_num0-btn_num9/btn_numR images. Also renders PIN entry fields (current/new/confirm) with dot masking and active field highlighting. Uses DAT_01737d10 flag to toggle between entry modes. 0x008F2460 590 CItemListWnd__render_bordered_scroll_area game_core Renders a bordered scrollable area with tiled border sprites. Loads title from resource 0xAE. Tiles left and right border images vertically (8px per tile). Fills the interior with CColorPicker(2,2) color in two areas. Draws static sprites for content rows (0x20px per row), then fills the remaining area with the picked color. 0x008F26B0 967 CItemListWnd__render_npc_portrait_display game_core Renders an NPC portrait/illustration display (967 bytes). Sets magenta clear color, draws header with resource 0xCA6 title. Loads NPC illustration image at position (0, 0x11). If the NPC data source (DAT_01450cd0) has type 1 at +0x28, shows a tip box icon overlay. Otherwise renders the NPC portrait using one of three modes: type 1 = sprite+act animation, type 2 = static image from DAT_0113f60c, type 0 = either DAT_01450cd0 texture or act/spr animation. Also renders animated sprite effects and bottom decorations. 0x008F2A90 49 load_and_display_default_bg_f game_core Loads default background image from DAT_01139db4 and displays it. Same pattern as other load_and_display_default_bg functions. 0x008F2AD0 227 CItemListWnd__render_trade_partner_header game_core Renders the trade partner header. Formats "With %s" or "With %s (%s)" text depending on whether this+0x114 has a guild name set (from this+0x104 string). Draws gray borders (0xC0C0C0) around the window and a separator line, then renders the partner name text in white. 0x008F2BC0 534 CItemListWnd__render_auction_price_display game_core Renders the auction/vending price display. Loads background image from DAT_0113EC74. Formats and displays date/time (this+0x164/0x160), current price (resource 0x741, this+0x178), bid increment (resource 0x742, this+0x16C), and total (this+0x170) using formatted currency strings via FUN_00af6140. Shows Zeny symbol (DAT_010D4F5C) and labels (resource 0x51A). 0x008F2DF0 973 CItemListWnd__render_animated_sprites_layer game_core Renders animated sprite layers. Iterates through sprite entries (0x30 bytes each) from this+0xDC array, builds image paths via FUN_00a95590 and json lookup, then renders visible sprites at their animated positions. Also renders particle effects from a secondary array (0xC bytes each) at this+0xE8 using DAT_0113f6A4 sprite. 0x008F31C0 257 CItemListWnd__on_mouse_click_item game_core Handles mouse click on an item in the list. If param_3 < 0x11, sets up timer callback 0xCA. If this+0x2D is 0, calls FUN_008d8580 to get item info, and if valid with positive count, calls FUN_00dd7e10 and dispatches event 0x14 with the item data and whether this+0x3C == 1. 0x008F32D0 47 CItemListWnd__on_click_delegate_and_timer game_core Delegates a click event to virtual method at vtable offset 0x64, then sets up a timer callback at vtable offset 0x94 with parameters (0, 6, 0xB8, 0, 0, 0). 0x008F3300 35 CItemListWnd__on_click_set_close_timer game_core Click handler that sets up a close timer (0xCA) via vtable offset 0x94 if param_3 < 0x11 (left mouse button click). 0x008F3330 183 CItemListWnd__copy_code_to_clipboard game_core Copies a code string to the Windows clipboard. If param_3 < 0x11 and this+0x114 (string length) is non-zero, allocates global memory, copies the string from this+0x104, opens the clipboard via OpenClipboard, sets CF_TEXT (1) data, and shows a notification "C Code copied to clipboard" in cyan color (0x64FFFF). 0x008F33F0 569 CItemListWnd__on_click_with_item_lookup game_core Click handler with item lookup and validation (569 bytes). Gets item data, validates it, and processes the click action. 0x008F3630 24 CItemListWnd__on_click_close_window_a game_core Click handler that closes the window via FUN_008ba1e0 if param_2 < 0x11 (left button). 0x008F3660 498 CItemListWnd__on_click_equip_action game_core Click handler for equipment actions (498 bytes). Handles equip/unequip operations on item slots. 0x008F3860 102 CEquipWnd__on_click_close_and_sync_position ui_shop Click handler for the equip window close. Only acts if param_2 > 0x3C and param_3 < 0x11. Calls FUN_008ba1e0 to close. For equip type 0xC, syncs position to DAT_014578a0 (cart/falcon widget). For equip type 0x52, syncs position to DAT_014578a4 (mount widget). 0x008F38E0 205 CItemListWnd__on_click_select_list_row game_core Click handler for selecting a row in a scrollable list (205 bytes). If right-click (param_3 >= 0x11) and not in DAT_016f7144 locked state: calculates the clicked row index from mouse y-position relative to list start (0x22), accounting for row height (0x20 pixels) and the visible row count. Updates the selected row at this+0x2F and triggers a refresh if selection changed. 0x008F39C0 24 CItemListWnd__on_click_close_window_b game_core Click handler that closes the window via FUN_008ba1e0 if param_2 < 0x11. Same pattern as on_click_close_window_a. 0x008F3A40 24 CItemListWnd__on_click_close_window_c game_core Click handler that closes the window via FUN_008ba1e0 if param_2 < 0x11. Same pattern as on_click_close_window_a/b. 0x008F3A60 27 CItemListWnd__on_click_close_if_below_threshold game_core Click handler that closes the window via FUN_008ba1e0 only if param_3 < this+0xD4 threshold value. 0x008F3A80 238 CItemListWnd__on_click_navigate_to_item game_core Click handler that navigates to an item's location. Closes the window if param_3 < 0x11. Gets item info via FUN_008d88f0, then if valid, gets current position via FUN_00ad6450. Toggles a direction flag at this+0x15C or stores item ID at this+0x174, then calls FUN_00cfe140 to navigate. 0x008F3B70 44 CEquipWnd__on_drag_sync_mount_position ui_shop Drag handler that syncs mount widget position. Calls FUN_008ba2c0 for base drag handling, then if DAT_014578a4 (mount widget) exists, copies this window's position (this+0x38, this+0x3C) to the mount widget. 0x008F3BB0 111 CItemListWnd__on_drag_select_slot game_core Drag handler that selects equipment slots in a grid. If this+0xF0 == 3 (grid mode), checks if the mouse position falls within one of the slot rectangles (0x44px wide, starting at x=6, y range 0x3A-0x96). Calculates the slot index from position and page offset (this+0x154), and updates selection at this+0x158 if changed. 0x008F3C20 44 CEquipWnd__on_drag_sync_cart_position ui_shop Drag handler that syncs cart/falcon widget position. Calls FUN_008ba2c0 for base drag handling, then if DAT_014578a0 (cart widget) exists, copies this window's position to it. 0x008F3C60 356 CItemListWnd__on_mouse_move_equip_grid game_core Mouse move handler for equipment grid selection (356 bytes). Handles hover highlighting in the equipment slot grid. 0x008F3DD0 1317 CItemListWnd__on_hover_show_item_tooltip game_core Hover/tooltip handler that shows item tooltips at slot positions (1317 bytes). Gets slot info from mouse position, calculates tooltip anchor coordinates, then shows a tooltip with item name and count (resource 0xA28 for count >= 2, 0x9F7 for stacked items, or 0xB7 for simple items). Also tracks equipped item highlighting by checking game mode field 0x308 and updating highlight slot indices at this+0x2E/0x2F/0x30. 0x008F4300 539 CItemListWnd__on_click_equip_slot_tooltip game_core Click handler that shows tooltips for equipment slots (539 bytes). Gets the selected slot from click position, stores x-coordinate at this+0x114. Calculates tooltip anchor position based on whether click is in left (x < 0x117) or right column. Builds item tooltip string and shows it with count info (resource 0xA28 when item has quantity) or plain tooltip. Uses CItemDesc color code for tooltip text color. 0x008F4520 340 CItemListWnd__on_click_card_slot_tooltip game_core Click handler for card/enchant slot tooltips (340 bytes). Hit-tests click position against card slot rectangles. If a card slot is hit and this+0x20C detail mode is active: creates a temporary item descriptor, gets the card ID from the slot array at this+0xD4, builds a tooltip string with item name and count (resource 0xA28), and shows it at the slot position. Colors tooltip based on card rarity when slot index exceeds refinement level. 0x008F4680 50 CItemListWnd__on_hover_update_page_index game_core Hover handler that updates the highlighted page/tab index. Calls get_page_index_from_y to determine which tab the mouse is over, stores it at this+0x2E, and triggers a repaint via virtual method 0x98 if the index changed. 0x008F46C0 945 CItemListWnd__on_mouse_move_handler game_core Mouse move handler (945 bytes). Processes mouse movement for hover effects, tooltip display, and drag operations. 0x008F4A80 35 CItemListWnd__on_key_press_delegate game_core Key press delegate that first calls UIWindow__update_position_with_snap for base key handling, then forwards the key event to the virtual method at vtable offset 0x70 with the same parameters. 0x008F4AB0 9 thunk_to_virtual_method_offset_0x70_008f4ab0 game_core Calls virtual method at offset 0x70 from vtable pointer 0x008F4AC0 628 CItemListWnd__advance_auto_scroll_text game_core Auto-scrolling text display handler (628 bytes). If auto-scroll is enabled (this+0x134) and timer is set (this+0x130), advances to next text entry every 4 seconds. When end of text array (this+0x144) is reached, stops and unregisters text widget. Otherwise: dispatches chat clear (type 3), extracts colored text segments from current entry, displays via chat (type 1), creates/reuses a hyperlink text widget (0xCC bytes) for centered display, and updates the text index and timer. 0x008F4D50 559 CItemListWnd__on_input_change_validate_numeric game_core Monitors the text edit widget for changes (compares text length to cached value at this+0x120). If text changed, validates it as a numeric string. Invalid input shows error message 0x25A and restores previous text. Values exceeding 1,000,000,000 are clamped with message 0x9A3. Updates number display colors and scroll position after validation. 0x008F4F80 59 CEquipWnd__update_tooltip_timer ui_shop Updates a tooltip display timer. If this+0x1C0 timer is set, checks if 100ms has elapsed via timeGetTime. If so, calls the widget at this+0x1BC's repaint method (vtable 0x98) and resets the timer. 0x008F4FC0 39 CItemListWnd__check_idle_timeout game_core Checks if 5 seconds have elapsed since this+0xE4 timestamp. If so, calls FUN_00a8cf20(0x3A) to trigger an idle timeout event. 0x008F4FF0 114 CItemListWnd__update_scroll_and_check_completion game_core Updates scroll position and checks for completion. Triggers repaint via vtable 0x98. If the scroll position (this+0x31) matches the total items divided by stride (this+0x2F / this+0x2D) and the count (this+0x32) >= stride, starts a 2-second timer. When the timer expires, calls FUN_00a8cf20(0x5B) to signal completion. 0x008F50E0 795 CItemListWnd__on_update_render_effects game_core Per-frame update handler (795 bytes). Handles: (1) text wrapping and display when this+0x3F flag is set - wraps text from the global item list into lines via text_word_wrap_to_lines, sends each line as event 0x1D. (2) Tip box image refresh via CTipBox__has_images. (3) Animation frame cycling every 300ms - cycles through 0xC-byte entries toggling active flag. (4) Equip slot animated effects via CUIEquipWindow__draw_animated_slot_effects. 0x008F5400 181 CItemListWnd__on_right_click_show_item_info game_core Right-click handler that shows item information. Gets slot index from position via get_slot_index_from_pos. If valid, looks up the item widget via FUN_00a978d0(0xC) and dispatches event 0x18 with the item data. 0x008F54C0 185 CItemListWnd__on_right_click_show_item_info_alt game_core Alternative right-click handler for showing item info. Gets item data via FUN_008d86d0, then if valid, looks up the parent widget via FUN_00a978d0(0xC) and dispatches event 0x18 with the item data. Null-checks the parent widget pointer. 0x008F5580 518 CItemListWnd__on_click_show_card_slot_info game_core Click handler that shows card slot information (518 bytes). Hit-tests card slots via CUIEquipWindow__hit_test_card_slot. If a slot is hit, creates an item info window (type 0x52), sends card flag (event 0x4C) and item data (event 0x18) with refinement level comparison. Also checks for a secondary equipped item (DAT_014578A0) and opens a second info window (type 0xFA) for comparison display if the secondary has a valid card. 0x008F5790 303 CItemListWnd__on_click_show_card_slot_info_simple game_core Simplified click handler for card slot info (303 bytes). Hit-tests card slots via CUIEquipWindow__hit_test_card_slot. If a slot is hit, creates item info window (type 0x52), sends card flag (event 0x4C) and item data (event 0x18) with refinement level. No secondary item comparison (simpler variant of on_click_show_card_slot_info). 0x008F58C0 194 CItemListWnd__on_double_click_show_item_info game_core Double-click handler that shows item info window. Gets item desc from grid position via CUIEquipWindow__get_item_desc_from_grid_pos. If valid and this+0x15C >= 0, creates item info window (type 0xC) and sends event 0x18 with item data to display the item details popup. 0x008F59C0 69 CItemListWnd__on_mouse_wheel_page_scroll game_core Mouse wheel handler for page scrolling. Only active if DAT_0173A700 > 4 and this+0x3C == 3 (page mode). Scrolls up (1) or down (-1) via vtable 0x94 with event type 8 based on wheel direction (param_2). 0x008F5A10 51 CItemListWnd__on_mouse_wheel_scroll game_core Mouse wheel handler that scrolls the list. Scrolls up (1) or down (-1) via vtable 0x94 with event type 7 using this+0x31 as target, based on wheel direction. 0x008F5A50 66 CItemListWnd__on_mouse_wheel_multi_scroll game_core Mouse wheel handler with multi-step scrolling. If this+0x32 is non-zero, calculates scroll amount as min(this+0x31 - 1, 3), negates for down direction. Dispatches via vtable 0x94 event type 7. 0x008F5AA0 67 CItemListWnd__on_mouse_wheel_tab_switch game_core Mouse wheel handler for switching tabs. Only active if get_field_0x1724 > 3. Scrolls to next tab (event 10) on wheel up or previous tab (event 9) on wheel down. 0x008F5AF0 1373 CItemListWnd__update_page_counter_display game_core Updates the page counter display showing current page and total item count (1373 bytes). Formats "X" (page number) and "/Y" (total items / 0x18 stride) as strings, measures text widths to center-align the page number widget (this+0xC8) and separator widget (this+0xCC) at fixed Y=0x140. Uses format_int_to_string and CEffect__measure_text_width for layout calculations. 0x008F6050 290 CItemListWnd__cycle_animation_frame game_core Cycles through animation frames every 300ms. Iterates over an array of 0xC-byte entries (this+0xE8 to this+0xEC). Finds the first entry with flag byte[8]==0, sets it to 1, and returns. If all entries are active, resets all flags to 0 and starts over. Used for slot highlight animation cycling. 0x008F6180 489 CBookWnd__read_registry_bookmark_value game_core Reads a DWORD value from the Windows registry under the BookMark key path. Builds the registry path by concatenating a base path, "\\BookMark\\", a server-specific string, and a decrypted suffix. Opens HKEY_LOCAL_MACHINE, queries the named value (param_1), and returns the result (default 1 if key not found). Used to persist bookmark/page positions for the book window. 0x008F6370 298 CItemListWnd__calculate_shop_item_properties game_core Iterates over 8 shop item slots via CShop__get_item_by_index_or_special. For each valid item with fc==1, looks up item info by ID (from string). Accumulates bitwise OR of item flags (offset 0x2C) and adds stat values from a 2-element array (offset 0x34) into this+0xB4 and this+0xBC. Stops early if flag overlap detected. 0x008F64B0 175 CItemListWnd__update_scrollbar_range game_core Updates the scrollbar range and position based on item count. Calculates total rows from this+0xD0 / this+0xC0 (rounding up). If items fit in visible area (this+0xC4 rows), disables scrollbar and resets scroll position. Otherwise, enables scrollbar, clamps scroll position to valid range, and updates the scrollbar control. Triggers repaint. 0x008F6560 219 CItemListWnd__populate_dropdown_tab_items game_core Populates a dropdown/tab control with items (219 bytes). Clears the dropdown widget (this+0x120) via vtable 0xDC, adds default item from message 0xA7E, then iterates over the global item array (DAT_01738798 to DAT_0173879C) adding each item's title string via lua_get_title_string and the dropdown's vtable 0xD8 method. 0x008F6640 107 CEquipWnd__hide_text_widget_and_notify ui_shop Hides the text widget and notifies related windows. If this+0x33 is set and this+0x30 text widget exists, unregisters it via FUN_00aa9b40(0), moves it off-screen to (0x81, 500), clears the pointer. Also notifies DAT_01457848 with event 0x36 if it exists. Triggers repaint. 0x008F66B0 67 CItemListWnd__resize_and_refresh_scroll_list_a game_core Resizes the main widget and refreshes the scroll list. Calls FUN_00a82eb0 for base resize, then updates the scroll list at this+0xB4 by setting its size (vtable 4), calling its layout method (vtable 0xE0), and triggering repaint (vtable 0x98). 0x008F6700 67 CItemListWnd__resize_and_refresh_scroll_list_b game_core Resizes the main widget and refreshes the scroll list. Identical implementation to resize_and_refresh_scroll_list_a. 0x008F6750 181 CItemListWnd__resize_and_update_children game_core Resizes the window and updates all child widget positions (181 bytes). Propagates size changes to child controls. 0x008F6810 46 CItemListWnd__resize_to_fit_items game_core Resizes the window to fit the given number of items (param_2). Calculates height as ((param_2 - 1) / 5 + 1) * 0x62 rows. Calls virtual method at vtable offset 4 with current width (this+0x5 * 4) and calculated height. 0x008F6840 369 CItemListWnd__resize_with_scroll_update game_core Resize handler that updates scroll area dimensions (369 bytes). 0x008F69C0 102 CItemListWnd__on_event_send_selection game_core Handles selection events. Searches the array at this+0xB8 for a value matching (param_2 - 9000). If found, sends command 0x9A with the value and stored data (this+0xB4) via the game mode interface, then clears via tls_clear_field. 0x008F6A30 135 CItemListWnd__on_event_copy_text_and_close game_core Event handler (135 bytes). If event is not type 6, delegates to UIWindow__handle_button_click. On button 0xB8: gets text from edit widget, copies it to string buffer, shows chat message 0x3AE in green (0x64FFFF), focuses window, and closes via tls_clear 0x74. 0x008F6AC0 568 CItemListWnd__on_event_confirm_with_text game_core Event handler for confirmation dialog with text display (568 bytes). Button 0xB8/0xB9 sends command 0xAD with stored value and accept/reject flag, then closes (0x6E). Event 0x5B stores param, sets display text from name + message 0xB95 via text widget. Event 0x7B parses packet 0x542E/0x542F protocol. Delegates to UIWindow__handle_button_click for other events. 0x008F6D00 839 CItemListWnd__on_event_confirm_with_book_text game_core Event handler for confirmation dialog with embedded book text (839 bytes). Button 0xB8 creates sub-dialog (type 0x6E) with event 0x5B/0xB8, sends to parent. Button 0xB9 sends command 0xAD with reject. Event 0x5B stores param, builds display text from name + message 0x31A. Event 0x7B parses packet 0x53FC/0x53FD/0x53FE - extracts embedded text and dispatches as event 0x5B. Delegates to UIWindow__handle_button_click for other events. 0x008F7050 116 CBookWnd__on_event_handler game_core Main event handler for the book window (large, complex). Button 0xC9 closes window (0x6A). Buttons 0x162/0x163 navigate pages (prev/next) with bounds checking. Button 0x164 saves current page to registry via CBookWnd__read_registry_bookmark_value (builds BookMark registry path, writes with RegSetValueEx). Events 0x14/0x15 forward as page nav buttons. Event 0x5C loads book page: clears text widget, populates lines with color-coded text, handles charset prefix encoding. Event 0x5D toggles auto-scroll mode with 4s timer. Event 0x5E opens a new book by item ID: reads book text file, parses color headers, splits into pages of 0x13 lines. 0x008F79C0 324 CItemListWnd__on_event_enchant_window_handler game_core Event handler for the enchant/enchantment window (324 bytes). Button 0xC9 closes window (0x2F). Event 0x3E: stores flag at this+0x39, looks up item by ID, checks if it's a valid enchant ID. If the item string changed, updates stored item string and title text (message 0xF238 + item name), triggers repaint and focus. Delegates other events to UIWindow__handle_button_click. 0x008F7B10 445 CItemListWnd__on_event_search_dual_panel_handler game_core Event handler for a dual-panel search window (445 bytes). Button 0xB8 (OK): validates search text (min length, ASCII check for locale 1, incomplete check), builds search request with two strings and dispatches command 0x2C. Buttons 0xB9/0xC9 close window (0x1E). Buttons 0xE4/0xE5 open dropdown lists (type 0x1A) for two separate categories with different string arrays. Event 0x22: handles tab selection, updates text widgets and radio-button tabs (0xD4-0xDC). Delegates to CItemListWnd__dtor for other events. 0x008F80B0 1346 CItemListWnd__on_event_search_window_handler game_core Event handler for a search-type item list window (1346 bytes). Handles: button 0xB8 (OK) - validates search text, checks for incomplete searches, ASCII-only checks for locale 1, minimum 4-char requirement, then dispatches search command 0x2B. Button 0xB9/0xC9 (cancel) - closes window. Button 0xD7 - tab selection with radio-button style toggling. Buttons 0xE4/0xE5 - opens dropdown list (type 0x1A) populated from two string arrays. Event 0x27 - selects from dropdown and sets display text. 0x008F8640 541 CItemListWnd__on_event_add_item_to_list game_core Event handler that adds items to the list display (541 bytes). On event 0x1B with non-null text: checks if text is the "empty" message (0x29A), otherwise parses nItemID tag to get item name. Adds text line to the display widget (this+0x31), increments item count (this+0x2D), and auto-resizes the window and child widgets if needed. Falls through to CItemListWnd__ctor for other events. 0x008F8860 474 CItemListWnd__on_event_deal_window_handler game_core Event handler for the deal/trade confirmation window (474 bytes). On button 6: logs button press. Button 0xB9 sends trade accept command (0x28) and closes window (0x19). Buttons 0xDF/0xE0 send trade modify commands (0x25/0x26) with item ID (this+0x2D). Clears deal/inventory lists after action. Event 0x1C stores item reference. Event 0x7B parses packet 0x5172/0x5173 for trade protocol, sets field 0x24C and clears related windows (0x16/0x17/0x18). 0x008F8A40 138 CItemListWnd__on_event_choice_dialog_handler game_core Event handler for a choice dialog window (138 bytes actual, handles many events). Button 0xB8 selects item at scroll index and sends command 0x4A with item string. Button 0xB9 sends "cancel" string. Events 0x12/0x13 forward to child list widget. Event 0x1B adds text lines - checks for "Random" or "cancel" strings for special display messages (0xD4, 0xDA), otherwise resolves item names. Event 0x3B stores selection index. Event 0x7B parses packet 0x55BE/0x55BF/0x55C1 protocol. 0x008F8ED0 1220 CItemListWnd__on_event_npc_shop_handler game_core Event handler for the NPC shop window (1220 bytes). If DAT_01457AD8 is set, shows "busy" message and returns. Button 0xB8 (OK) with debounce: validates selection, sends buy command 0x17 with item index and quantity. Button 0xB9 sends cancel command 0x28. Events 0x12/0x13 forward scrolling. Event 0x1B: adds item text lines, parses nItemID tags, auto-resizes window. Event 0x1C stores quantity. Event 0x22 validates/sets window position. Event 0x7B parses packet 0x558C/0x558D/0x558F. Event 0xA6 sends buy command with -1 (buy all). 0x008F9460 178 CItemListWnd__on_event_position_window game_core Event handler for window positioning (178 bytes). On event 0x22: stores position data at this+0x94, validates saved position via UIWindow__validate_position_280_variableH. If no saved position, centers window horizontally and scales Y position based on screen resolution. Otherwise restores saved position. Delegates other events to CItemListWnd__handle_complex_input_event. 0x008F9520 80 CItemListWnd__on_event_align_to_parent game_core Event handler that aligns this window relative to a parent window (80 bytes). On event 0x22: finds item info window (type 0x52) and positions this window at its right edge (parent right - parent width, parent top). Delegates other events to CItemListWnd__handle_complex_input_event. 0x008F9570 55 CItemListWnd__dispatch_event_to_child_widget game_core Dispatches events to the appropriate child widget. If this+0xB8 widget exists and event type is 0x27, forwards to that widget's vtable 0x94 handler. Otherwise forwards to the this+0xB4 widget's vtable 0x94 handler. 0x008F95B0 55 CItemListWnd__dispatch_event_to_child_widget_alt game_core Dispatches events to child widget (variant B). Same logic as dispatch_event_to_child_widget: if this+0xB8 exists and event type is 0x27, forwards there; otherwise forwards to this+0xB4 widget. 0x008F95F0 474 CItemListWnd__on_event_confirm_dialog_handler game_core Event handler for a confirmation dialog (474 bytes). Button 0xB8 (OK) sends command 0xA7 with stored value and result=1. Button 0xB9 (cancel) sends command 0xA7 with result=0. Both close the window via tls_clear 0x68. Event 0x5A: stores value at this+0xB4, builds display string from name + message 0x2E1, sends to text widget. Delegates other events to UIWindow__handle_button_click. 0x008F97D0 65 CItemListWnd__on_event_simple_confirm_handler game_core Simple event handler for single-button confirmation (65 bytes). On button 0xB8: sends command 0x8D via game mode interface. Delegates other events to UIWindow__handle_button_click. 0x008F9820 83 CItemListWnd__on_event_text_input_submit game_core Event handler for text input submission (83 bytes). Stores button ID in DAT_01457AF4. On button 0xB8: gets text from the edit widget and sends command 0x271C with the text string via the game mode interface. Delegates other events to UIWindow__handle_button_click. 0x008F9880 85 CItemListWnd__msg_handler_main game_core Main message handler for CItemListWnd. Handles: msg 6 (buttons: 0xC9 close, 0xCA expand/collapse, 0xD5 sell mode, 0xD7 tab selection, 0xF8 use item with link/flag checks, 0xF9 open crafting, 0x10F damage resource Lua call, 0x1E0/0x23F job sprite send, 0x246 window creation, 0x1FC navigation window toggle). msg 8: scroll with clamping. msg 0x16: display mode switch with child visibility management. msg 0x22: position init with validation. msg 0x30: class type determination. msg 0x3C: resize/layout update. msg 0x6A: card count check for equip/inventory. 0x008F9E1B 897 CItemUseWnd__show_item_use_confirmation_window game_core CItemUseWnd: show item use confirmation window 0x008FA1F9 67 caseD_c9 game_core Cased c9, small utility function 0x008FA8C0 160 CItemListWnd__msg_handler_shop_display game_core Message handler for a shop display item list window. On msg 6: handles 0xB8 (buy with TLS clear 0x20), 0xB9 (sell with TLS clear 0x20). On msg 0x22: initializes position from data. On msg 0x32: builds display text with item name and formatted price using C_Code format. On msg 0x7B: binary packet parser for tags 0x5492-0x5494 (text field assignment). 0x008FAF50 144 CItemListWnd__msg_handler_shop_cart game_core Message handler for a shop cart/vending item list window. On msg 6: handles buy (0xB8 with amount validation/atoi64), sell (0xB9), toggle (0xD5), text input (0xE2), and confirm (0xE6 with formatted message). On msg 0x17: rebuilds cart and vending item lists from 10 slots. On msg 0x26: sends item selection. On msg 0x32: sets item text and metadata. On msg 0x33/0x34: hides text widget and updates tabs. On msg 0x7B: binary packet parser for tags 0x5078-0x5081. 0x008FB850 272 CItemListWnd__process_button_event game_core Processes a button event by routing to the appropriate handler (272 bytes). 0x008FB960 7046 CItemListWnd__handle_complex_input_event game_core Large input event handler (7046 bytes) for the item list window. Processes mouse clicks, drags, keyboard input, and various UI interactions. 0x008FD5F0 80 CItemListWnd__msg_handler_window_offset game_core Message handler that adjusts window offset. On msg 0x22: finds window type 0xC and adjusts its offset using width delta and current position. On other messages: delegates to CItemListWnd__handle_complex_input_event. 0x008FD640 132 CItemListWnd__set_scroll_position game_core Sets the scroll position and updates the display (132 bytes). 0x008FDA10 866 CItemListWnd__process_keyboard_input game_core Processes keyboard input for the item list window (866 bytes). Handles navigation keys, enter, escape, etc. 0x008FDE10 711 CItemListWnd__handle_window_message game_core Handles window messages for the item list window (711 bytes). Routes messages to appropriate handlers. 0x008FE0E0 547 CItemListWnd__handle_command_message game_core Handles command messages for the item list window (547 bytes). Processes menu and accelerator commands. 0x008FE310 1123 CItemListWnd__handle_notify_message game_core Handles notification messages for the item list window (1123 bytes). Processes child control notifications. 0x008FE780 792 CItemListWnd__process_update_event game_core Processes update events for the item list window (792 bytes). Handles data refresh and display updates. 0x008FEAA0 93 CItemListWnd__msg_handler_loading_progress game_core Handles loading progress display. On msg 0x11: formats "Loading %d %s" string and updates a progress indicator control. Returns 0 for all messages. 0x008FEB00 118 CItemListWnd__msg_handler_item_reform_select game_core Message handler for an item reform/selection window. On msg 6: handles buy (0xB8 with item reform or generic sell based on mode), cancel (0xB9). On msg 7/9/10: scrolling with page up/down. On msg 0x1F: adds item entry to shop list. On msg 0x22: sets display mode. On msg 0x3C: updates scrollbar range. On msg 0x4B: clears shop item list. On msg 0x7B: binary packet parser for tags 0x5654-0x5657. 0x008FEF80 67 CItemListWnd__msg_handler_dropdown_list game_core Message handler for a dropdown/popup list control. On msg 0x1E: auto-sizes window based on text measurement of all entries. On msg 0x1F: adds a slot entry with associated string data. On msg 0x48: resets data source pointer. On msg 0x4B: clears all entries and resets tail pointer. On msg 0x53: sets selection index and value. Falls through to parent handler for other messages. 0x008FF130 948 CItemListWnd__process_custom_event game_core Processes custom events for the item list window (948 bytes). Handles application-specific messages. 0x008FF640 459 CItemListWnd__update_item_data game_core Updates item data from server response (459 bytes). Refreshes the displayed items. 0x008FF810 136 CItemListWnd__set_selected_item game_core Sets the currently selected item in the list (136 bytes). 0x008FF8A0 111 CItemListWnd__msg_handler_confirm_action game_core Message handler for confirming an action. On msg 6 with 0xB8: sends the stored value at offset 0xB8 via vtable dispatch. On msg 6 with 0xB9: sends value 2 (cancel). On msg 0x50: stores the action parameter at offset 0xB8. Falls through to default handler for other messages. 0x008FF910 650 CItemListWnd__add_items_to_list game_core Adds items to the item list (650 bytes). Populates the list with item entries. 0x008FFBA0 58 CItemListWnd__msg_handler_open_detail_window game_core Message handler that opens a detail window (type 0x25) on button 0xC0 click and focuses it. Delegates to parent handler for non-msg-6 messages. 0x008FFBE0 93 CItemListWnd__msg_handler_open_inventory_window game_core Message handler that opens an inventory window (type 0xB) on button 0xC0 click. If the window's mode is 0x11, sends msg 0xCA to it. Focuses the opened window. Delegates to parent for non-msg-6 messages. 0x008FFC40 65 CItemListWnd__msg_handler_open_catalog_window game_core Message handler that opens a catalog window (type 0x2718) on button 0xC0 click and focuses it. Delegates to parent handler for non-msg-6 messages. 0x008FFC90 223 CItemListWnd__msg_handler_submit_quantity game_core Message handler for submitting a quantity/amount input. Checks global trade lock flag first (shows error 0xAAA if set). On msg 6 with 0xB8: reads text input as integer via atoi, sends vtable(99, stored_item_id, quantity). On msg 0x1C: stores item ID at offset 0xB8. Falls through to default handler for other messages. 0x008FFD70 1368 CItemListWnd__apply_filter game_core Applies a filter to the item list (1368 bytes). Filters items based on type, name, or other criteria. 0x009002D0 439 CItemListWnd__msg_handler_submit_search game_core Message handler for submitting a search/text query. On msg 6 with 0xB8: reads text input, validates it is non-empty (shows error 0x818 if empty), clears child display, and sends search text via vtable(0x3B, text). On msg 6 with 0xB9: closes window (TLS clear 0xD0). Falls through to default handler for other messages. 0x00900490 370 CItemListWnd__update_display_state game_core Updates the display state of the item list window (402 bytes). 0x0090082D 1 stub_nop_0090082d game_core Single-byte stub function (size=1) 0x00900A2E 32 UIWindow__epilog_return_zero_00900a2e ui_events UIWindow: epilog return zero 00900a2e 0x00900B10 112 CItemListWnd__set_display_mode game_core Sets the display mode for the item list window (112 bytes). 0x00900D50 62 CItemListWnd__set_display_parameters game_core Sets display parameters for the item list window. On msg 0x50 with param 0: sets field 0xC0 to the given value. On msg 0x50 with param != 0: sets field 0xC4, and also sets fields 0xB4 and 0xC8 to 7 (likely a display mode constant). 0x00900D90 1503 CItemListWnd__handle_item_action game_core Handles item actions like use, equip, drop (1503 bytes). Main action dispatch for item operations. 0x00901370 116 UIWindow__msg_handler_scroll_keypad ui_events Window message handler for a scroll/keypad UI element. On msg 6: handles key codes 0xB9 (scrolls with 0x30), 0xDC (sends vtable call with 0x19, value 1), 0xDD (sends vtable call with 0x58, value 0). Falls through to FUN_008bdc90 for other message types. 0x009013F0 91 UIWindow__msg_handler_scroll_extended ui_events Window message handler with extended scroll functionality. On msg 6: handles 0xDC (vtable call 0x19), 0xB9 (scroll 0x13), 0xFB (scroll 0x13 + vtable 0x58), 0xFC (vtable 0x19 with value 1 + scroll 0x13 + 0x10d). Falls through to default handler for other messages. 0x00901520 198 UIItemListWindow__msg_handler game_core Complex UI window message handler for an item list window with buttons. Handles: msg 6 (click with tick count throttling at 300ms for 0xDA, sends position via vtable), msg 0x12/0x13 (forwarded to parent), msg 0x19 (set button to btn_next), msg 0x1A (update position), msg 0x20 (set button to close with 600 timer), msg 0x22 (map entry creation), msg 0x3F (set button to btn_close), msg 0x4B (close parent), msg 0x50 (set state), msg 0x55 (create child window with BMP sprites for normal/a/b states), msg 0x56 (remove child by ID from linked list), msg 0x7B (binary packet parser for tags 0x57E4-0x57E8). 0x00901D40 150 UISecureLoginWindow__msg_handler game_core Message handler for the secure PIN login window (security keypad). Manages a multi-stage PIN entry flow with states 0-3. State 0: enter first PIN, state 1: intermediate (resets fields), state 2: enter password, state 3: confirm password with comparison. Handles numeric key input via messages 0x124-0x130 (digits 0-9 via FUN_0090c350), backspace 0x12F, confirm 0xB8/0xDA, and cancel 0xB9. Builds packet 0x8BA/0x8BC/0x8C3 upon successful completion. Uses error message 0x75F for invalid length and 0x3F8 for password mismatch. 0x00903230 150 UISecureLoginWindow__msg_handler_variant game_core Variant of the secure PIN login window message handler. Nearly identical to the handler at 00901d40 but with different packet IDs (0x8B8/0x8BE/0x8C3). Uses the same multi-stage PIN entry flow (states 0-3) with numeric key input handling (0x124-0x130), validation, and password confirmation. State 1 additionally validates PIN length. Builds different network packets for PIN change vs new PIN scenarios. 0x00904810 328 UISelectItemWindow__msg_handler game_core Window message handler for an item selection list. On msg 6: if param is 0xC9 closes window (0x5f), otherwise looks up param-9000 in a vector to find item index and sends vtable(0x9A, index, storeId). On msg 0x22: initializes display by clearing item list, loading byte array of item data into vector, populating item display entries via FUN_008ce2c0, and resizing window based on item count (5 items per row at 0x62 height each). 0x00904960 2219 UISkillInfoWindow__msg_handler game_core Message handler for the skill information/tooltip window. On msg 6: handles 0xC9 (close) and 0x157 (skill reset). On msg 0x3D: displays skill details - gets skill name, SP/AP cost, checks IsPassiveSkill, formats skill description using GetSkillDescript/GetSkillIdName, parses description lines with CFmt, displays them in child text areas with scroll support. Caps window height to screen height minus 50px. Uses CSkillEntry for temporary skill data storage. 0x00905210 259 UISkillSelectWindow__msg_handler game_core Window message handler for a skill selection UI. On msg 6 with 0xB8: if a valid skill is selected (offset 0xB8 != -1), looks up skill group via FUN_00858d50/FUN_00858d20 and sends vtable(0x62, skillSlot, groupId) then closes window (0x37). On msg 0x44: sets the selected skill ID, looks up skill name via CSkillManager__GetSkillNameById, updates the display text, and refreshes the window. 0x00905320 107 UIShopBuyWindow__msg_handler game_core Message handler for a shop buy window. On msg 6: handles 0xB8 (buy selected item - checks index bounds, sends vtable 0xA3 or 0x100 depending on shop type flag at 0x3F), 0xB9 (cancel/close). On msg 7/9/10: scrolling support with page up/down. On msg 0x1B: sets shop type flag. On msg 0x1F: adds item ID to vector, creates CShopItemList entry, triggers item display refresh. On msg 0x3C: rebuilds item list display. 0x00905590 665 UIChannelSelectWindow__msg_handler game_core Message handler for a channel/chat selection window. On msg 6 with 0xB8: sends vtable(0xBE, channelChar) and closes window (0x77). On msg 6 with 0xB9: just closes. On msg 0x5B: sets channel character at offset 0x30, displays appropriate label text (message 0x4EF for newline/0x0A, message 0x404 otherwise). On msg 0x7B: binary packet parser for tags 0x54C4-0x54C6, copies channel data and triggers 0x5B update. 0x00905830 895 UIStatusWindow__msg_handler game_core Message handler for the character status window. On msg 6: handles 0xC9 (close), 0xCA (expand/collapse toggle), 0xCD-0xD2 (stat point allocation for STR/AGI/VIT/INT/DEX/LUK with level checks), 0x226 (toggle extended view with button sprite changes), 0x227-0x22C (trait stat allocation with validation). On msg 0x22: initializes window from data, validates position, triggers stat display update. On msg 0x23: refreshes stat buttons visibility based on available stat points and trait points. 0x00905F40 3371 UIBankWindow__msg_handler game_core Message handler for the bank/zeny deposit window. Implements a multi-state numeric input flow (states 0-3) for entering amounts. State 0: enter amount directly and send packet 0xBC. States 1-3: multi-step PIN with password entry and confirmation. Handles numeric keypad input (0x125-0x12E for digits, 0x12F for backspace, 0x130 for confirm). Validates input length (4-8 digits), confirms passwords match, and builds large zeny values using 100M multiplier for overflow handling. Max 8 digits per field. Cancel (0xB9) closes window 0x73. 0x00906DE0 286 UITipOfDayWindow__msg_handler game_core Message handler for the Tip of the Day window. On msg 6: 0xC9 (close, window ID 0x26), 0xD5 (toggle "show tips at startup" checkbox, saves to registry SHOWTIPSATSTARTUP), 0xDA (next tip, wraps around to 0), 0xF6 (previous tip, wraps to end). On msg 0x1D: displays formatted tip content with title text and iterates through text array to display tip lines. 0x00907050 779 UITipBoxWindow__msg_handler game_core Message handler for the expanded tip box window (loading screen tips). On msg 6: 0xB8 (advance to next page, inserts into BST-based page set, updates CTipBox selection), 0xC9 (close, window ID 0x13B), 0xD5 (save tips toggle to registry), 0xDA (next page with last-page check), 0xF6 (previous page), 0x16D (update content from skill data string), 0x205 (show reward detail based on type 0x1EA-0x1EC), 0x21F (navigate). Uses CTipBox class for page management. Manages prev/next button enable states based on page position. 0x00907610 52 UISimpleOkCancelWindow__msg_handler game_core Simple window message handler that closes (destroys) the window on either OK (0xB8) or Cancel (0xB9) button press. Falls through to default handler for non-msg-6 messages. 0x00907650 104 UIConfirmationPopup__msg_handler game_core Message handler for a confirmation popup window. On msg 6 with 0xB9 (cancel): sends vtable message 0x2725 (generic cancel notification). On msg 0x58: repositions a child window (offset 0xB8) to center horizontally and anchor to bottom of the popup, with 5px bottom margin. 0x009076C0 134 UIChatWindow__msg_handler game_core Message handler for the chat input window. On msg 3/4: scroll up/down via child window. On msg 6 with 0xB8: processes chat send - validates language filter, processes slash commands via FUN_00e07fb0/FUN_00de1010, sends regular chat via vtable 0xB, handles whisper mode. On msg 6 with 0xC9: close. On msg 0xE (resize): constrains size to 280x120 min / 512x384 max, rounds to 32px grid, repositions child elements. On msg 0x22: initialize from data. On msg 0x25: processes incoming chat text with hyperlink detection and color coding. On msg 0x30: handles link clicks. On msg 0x31: builds right-click context menu with chat commands. On msg 0x9A: processes auto-complete. 0x009080E8 257 UISkillTreeWnd__show_delete_skill_confirmation game_core UISkillTreeWnd: show delete skill confirmation 0x00908260 140 UICashShopWindow__msg_handler game_core Message handler for the Cash Shop (NeoCash) window. Handles: msg 6 with 0xC9 (close + send packet 0x84A), 0xE0 (purchase validation - checks balance, quantity, builds purchase packet 0x848), 0x13C/0x13D (page prev/next), 0x16D (search by name), 0x182 (init shop items), 0x183-0x184 (first/last page), 0x185-0x18E (category tabs 0-10 with registry save to CASH_CATEGORY). Msg 7/9/10: scrolling. Msg 0x22: initialize from position data. Msg 0x26: handles buy/sell transactions with inventory updates, validates purchase limits. Msg 0x3C: populates item list by category. Msg 0x78: reads saved category from registry. Msg 0x79: calculates page count. Msg 0x7A: updates balance display. 0x00909830 105 UICharSelectAction__msg_handler game_core Message handler for a character select action button. On msg 6 with 0xC0: if flag DAT_01737f4a is set, sends vtable message 0x14B (rename character), otherwise sends 0x143 (enter game). Falls through to FUN_00a83660 for non-msg-6 messages. 0x009098A0 245 determine_character_class_type game_core Determines the character class type for display purposes. If param_1==0 and DAT_01738254>0, sends vtable(0x50, 6). Otherwise checks DAT_0173354c against 8 different class type validation functions (FUN_00df96e0 through FUN_00df9800) to classify the job into categories: 5 (first check), 4, 3, 1 (four middle checks share result 1), 0 (default/not found). Sends result via vtable(0x50, classType). 0x009099A0 20 CUIWindow__set_child_window_0xb8 game_core Sets the child window pointer at offset 0xB8 if the provided pointer is non-null. 0x009099C0 20 CUIWindow__set_child_window_0xb8_alt game_core Sets the child window pointer at offset 0xB8 if the provided pointer is non-null. Identical to CUIWindow__set_child_window_0xb8 - likely a different class's version of the same virtual method. 0x009099E0 667 CCharSelectWnd__init_character_stats game_core Initializes character stats for the character select screen. If offset 0xB4 is 0, reads live data from global sources (FUN_00dddfe0 for level, FUN_00e13b00, DAT_01733510 for class, DAT_01733524/28 for position, plus sprite ID from current actor). Otherwise reads cached data from DAT_01737fb0-DAT_01737fd4. Then loads equipment sprites for head, body, and accessory slots (via FUN_008d84a0 with indices 8, 9, 0, 2), storing sprite IDs at offsets 0x104-0x118. 0x00909C90 52 CUIWindow__update_child_text_display game_core Clears text on child window at offset 0xB4 (via vtable 0xDC) then sets new text via vtable message 0x1D with color 0x26. 0x00909CD0 13 UIWindow__set_field_0x28 ui_events Setter: stores param_2 at this+0x28 0x00909CF0 37 get_tip_entry_count game_core Returns the number of tip entries by computing (end - begin) / 12 from the tip vector. If the initialization flag (offset 0) is zero, calls FUN_00ae7760 to load tips first. 0x00909D20 204 std__string_truncate_at_substr stl Truncates an std::string at the first occurrence of a given substring. Uses std::_Traits_find to locate param_2 within param_1, then replaces param_1's content with the substring from index 0 to the found position via STL_lib_func_00505300 (substr). No-op if substring is not found. 0x00909DF0 56 CUIWindow__save_position_to_data_0xcc game_core Saves window position and size to the data structure at offset 0xCC. Stores width (0x14), height (0x18) at data+8/+C and x (0x1C), y (0x20) at data+0/+4. Only operates if the data pointer at 0xCC is non-null. 0x00909E30 56 CUIWindow__save_position_to_data_0x250 game_core Saves window position and size to the data structure at offset 0x250. Stores x/y (0x1C/0x20) at data+0/+4 and width/height (0x14/0x18) at data+8/+C. Only operates if the data pointer at 0x250 is non-null. 0x00909E70 71 CUIWindow__save_position_to_data_0xc8 game_core Saves window position, size, and an extra field (offset 0xC4) to data structure at offset 0xC8. Stores width/height at data+8/+C, x/y at data+0/+4, and extra value at data+0x10. Only operates if the data pointer at 0xC8 is non-null. 0x00909EC0 56 CUIWindow__save_position_to_data_0xbc game_core Saves window position and size to the data structure at offset 0xBC. Stores x/y at data+0/+4 and width/height at data+8/+C. Only operates if the data pointer at 0xBC is non-null. 0x00909F00 56 CUIWindow__save_position_to_data_0x200 game_core Saves window position (x/y at data+0/+4) and size (w/h at data+8/+C) to data structure at offset 0x200. 0x00909F40 56 CUIWindow__save_position_to_data_0xf0_v1 game_core Saves window position and size to data structure at offset 0xF0. Stores w/h at data+8/+C and x/y at data+0/+4. 0x00909F80 56 CUIWindow__save_position_to_data_0xec game_core Saves window position and size to data structure at offset 0xEC. Stores w/h at data+8/+C and x/y at data+0/+4. 0x00909FC0 56 CUIWindow__save_position_to_data_0xf0_v2 game_core Saves window position (x/y at data+0/+4) and size (w/h at data+8/+C) to data structure at offset 0xF0. 0x0090A000 56 CUIWindow__save_position_to_data_0xd4 game_core Saves window position (x/y at data+0/+4) and size (w/h at data+8/+C) to data structure at offset 0xD4. 0x0090A040 56 CUIWindow__save_position_to_data_0xd0_v1 game_core Saves window position and size to data structure at offset 0xD0. Stores w/h at data+8/+C and x/y at data+0/+4. 0x0090A080 92 CUIWindow__save_position_to_data_0xd0_extended game_core Saves window position, size, and extra fields to data structure at offset 0xD0. Stores w/h at data+8/+C, x/y at data+0/+4, plus offset 0xCC value at data+0x10 and a boolean (offset 0xFC == 1) at data+0x18. 0x0090A0E0 149 CUIWindow__save_position_and_close_0x100 game_core Saves window position/size to data structure at offset 0x100 (w/h at data+8/+C, x/y at data+0/+4), then copies the string at offset 0xB4 and calls FUN_00a8ce50 to close/destroy the window. 0x0090A180 56 CUIWindow__save_position_to_data_0x100 game_core Saves window position and size to data structure at offset 0x100. Stores w/h at data+8/+C and x/y at data+0/+4. 0x0090A1C0 115 CSecureKeypad__set_input_params game_core Sets input parameters for the secure keypad window. Stores 4 values at offsets 0xF4, 0xF8, 0xEC, 0xF0. Conditionally clears 3 separate input buffers (at 0xD0, 0xD9, 0xE2) based on the boolean flags param_6, param_7, param_8 respectively. Each buffer is 9 bytes (8 chars + null terminator). 0x0090A240 156 CSecureKeypad__toggle_button_visibility game_core Toggles visibility of two buttons on the secure keypad window. param_2=0 controls button at offset 0xD0, param_2=1 controls button at offset 0xD4. param_3=1 hides the button, otherwise shows it. Calls vtable 0x98 twice on each to refresh display. 0x0090A2E0 2082 CTextRenderer__layout_multiline_text game_render Lays out text into multiple lines for rendering. Takes text string, font parameters, width limit, and text segments. If text hasn't been cached (checked via unordered_map lookup), parses text into word segments using CItemListWnd__parse_and_split_item_text, measures text width per character using FUN_00a80580, and splits into up to 3 lines. Caches results in the unordered_map for future lookups. Falls through to FUN_0090ad60 to render the laid-out lines. 0x0090AB10 588 CTextRenderer__draw_text_with_wrapping game_render Draws text with word wrapping and color code support. If text fits in one line, renders segments with color alternation. Otherwise wraps text across multiple lines, measuring each character to determine line breaks. Handles color codes (3-byte escape sequences via CTextVertex__find_color_code_offset), draws ellipsis '...' when text truncated at boundary. param_1=x, param_2=y, param_3=max width, param_5/param_6=text segments, param_7/param_8=colors for alternating lines, param_10=line height. 0x0090AD60 201 CTextRenderer__draw_multiline_segments game_render Renders pre-laid-out multi-line text segments. Iterates through lines (vector of vectors of text segments at param_5). Centers text vertically by offsetting by -(numLines-1)*lineHeight/2. For each line, renders each text segment at the accumulated x position using FUN_00a86510, advancing x by the measured text width. 0x0090AED0 36 scale_y_to_screen_height game_core Scales a Y coordinate to the current screen height. Returns (screenHeight * param_1) / 480, where 480 is the reference resolution height. 0x0090AF00 375 save_bookmark_to_registry game_core Saves a bookmark value to the Windows registry. Builds the registry key path by concatenating the base registry path, "_BookMark\\", the character name (from DAT_01737b74), and the account name (from FUN_00e08c70). Creates/opens the key under HKEY_LOCAL_MACHINE and writes the 4-byte integer value with the key name provided in param_1. 0x0090B080 750 save_whisper_log_to_file game_core Saves the current whisper chat log to a text file. Creates directory "{saveDir}/Whisper/" if needed, copies the chat partner name from offset 0xB4, sanitizes it by replacing invalid filename characters (\\/:*?\"<>\|) with underscores, then saves to "{saveDir}/Whisper/{name}.txt". If file already exists, appends a 3-digit counter suffix. Shows confirmation message "is Saved." via FUN_00aa9100. 0x0090B370 99 save_tips_at_startup_to_registry_v1 game_core Saves the SHOWTIPSATSTARTUP setting to the Windows registry. Reads the value from this->offset_0xBC and writes it as a 4-byte DWORD under HKLM with the base registry path. 0x0090B3E0 99 save_tips_at_startup_to_registry_v2 game_core Saves the SHOWTIPSATSTARTUP setting to the Windows registry. Reads the value from this->offset_0x100 and writes it as a 4-byte DWORD under HKLM with the base registry path. 0x0090B450 136 std__vector_12byte_allocate stl Allocates memory for a vector of 12-byte elements. param_2 is the number of elements. Checks for overflow (max 0x15555555 elements). For small allocations (<0x1000 bytes), uses simple allocation. For larger ones, allocates with 0x23 byte overhead for alignment (32-byte aligned). Sets begin, end, and capacity pointers on the vector. 0x0090B4E0 230 std__vector_1c_byte_assign_buffer stl Assigns a new buffer to a vector of 0x1C-byte elements. First destroys existing elements (calling STL_string_dtor on each), frees old buffer, then sets new begin/end/capacity from provided buffer, size, and capacity parameters. 0x0090B5D0 93 std__vector_1c_byte_destroy_range stl Destroys elements in a range of 0x1C-byte elements by calling STL_string_dtor on each. Iterates from param_1 to param_2 in 0x1C-byte increments. 0x0090B630 724 std__unordered_map_rehash_text_layout stl Rehashes an unordered_map to the specified bucket count. Rounds up to next power of 2, allocates new bucket array, relinks all nodes into new buckets using hash function FUN_008c4cf0. Handles duplicate key detection with string comparison (std::_Traits_equal) for collision resolution. Frees old bucket array after rehash. 0x0090B910 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a new node into a red-black tree, links it as left or right child, updates min/max pointers, then rebalances with rotations and recoloring. 0x0090BB20 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a new node into a red-black tree, links it as left or right child, updates min/max pointers, then rebalances with rotations and recoloring. 0x0090BD30 207 std__vector_1c_byte_clear_and_free stl Clears and frees a vector of 0x1C-byte elements. Destroys each element via STL_string_dtor, frees the buffer (with alignment support for large allocations), and zeros the begin/end/capacity pointers. 0x0090BE00 58 memcpy_elements_0x30 stl Copies a range of 0x30-byte elements from param_1 to param_3 via memcpy. Returns pointer past the last copied element, computed as count * 0x30 + dest. 0x0090BE40 55 memcpy_elements_0x0c stl Copies a range of 0xC-byte elements from param_1 to param_3 via memcpy. Returns pointer past the last copied element, computed as count * 0xC + dest. 0x0090BE80 10 thunk_to_std__Xlength_error_0090be80 stl Throws vector_too_long exception; never returns 0x0090BE90 10 thunk_to_std__Xlength_error_0090be90 stl Throws std::length_error for vector allocation failure 0x0090BEA0 10 thunk_to_std__Xlength_error_0090bea0 stl Calls std::_Xlength_error with vector_too_long error message 0x0090BEB0 10 thunk_to_std__Xlength_error_0090beb0 stl Thunk that calls std::_Xlength_error with vector_too_long error 0x0090BEC0 10 thunk_to_std__Xlength_error_0090bec0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x0090BED0 102 std__vector_1c_byte_allocate stl Allocates memory for a count of 0x1C-byte elements. Returns the allocated buffer pointer. Handles alignment for large allocations (>= 0x1000 bytes) with 32-byte alignment. Max element count: 0x924924A. 0x0090BF40 165 check_mbcs_string_byte_length game_core Checks if an MBCS (multi-byte character set) string's byte length is under a specified limit. Sets code page to 949 (Korean), iterates through each byte position using _mbsbtype to count single-byte chars as 1 and double-byte chars as 2. Returns true if total byte count is less than the limit parameter. 0x0090BFF0 46 std__vector_0x18_clear_elements stl Clears all elements from a vector of 0x18-byte elements by calling STL_string_dtor on each, then resets the end pointer to begin. Does not free the buffer. 0x0090C020 460 CUIWindowManager__create_sprite_button game_core Creates a sprite-based button window. Allocates 0x120-byte window (via FUN_0084eab0 ctor), loads BMP sprites for 3 states (normal/hover/pressed) via FUN_008657a0, sets size and position via FUN_00a7b470, applies tooltip text via FUN_00869730, and inserts into the parent's BST-based child window tree. Associates a data pointer (param_2 + 0xFA offset) with the button via vtable 0xB4. 0x0090C1F0 62 deallocate stl STL allocator::deallocate for 4-byte elements. Computes total size, retrieves original allocation pointer for large blocks, then calls operator delete. 0x0090C230 61 deallocate stl STL allocator::deallocate for 0x30-byte elements. Computes total size, retrieves original allocation pointer for large blocks, then calls operator delete. 0x0090C270 67 std__vector_1c_byte_free_buffer stl Frees the buffer of a vector of 0x1C-byte elements. Computes total byte size and handles aligned deallocation for large buffers (>= 0x1000 bytes). 0x0090C2C0 61 deallocate stl STL allocator::deallocate for 0xC-byte elements. Computes total size, retrieves original allocation pointer for large blocks, then calls operator delete. 0x0090C300 67 std__tree_find_by_int_key stl Finds a node in a BST by integer key. Uses std__tree_lower_bound_by_int to locate the position, then checks if the node exists and its key matches. Returns the found node or the end sentinel. 0x0090C350 38 CSecureKeypad__find_digit_position game_core Finds the position of a digit value in the keypad's randomized digit array at offset 0x110. Iterates through 10 positions (0-9) comparing each byte against param_2. Returns the index where the digit is found, or -1 if not found. 0x0090C380 81 CSecureKeypad__hide_all_buttons game_core Hides all buttons on the secure keypad window. Iterates through 11 buttons starting at offset 0x124 and 5 buttons starting at offset 0x150, marking each as hidden (byte 0x2B = 1) and calling vtable 0x98 to refresh. 0x0090C3E0 170 std__list_push_back_string stl Pushes a string onto the back of an std::list. Allocates a 0x20-byte node, copy-constructs the string into it, and links it before the sentinel node. Increments list size. Throws std::length_error if max size (0x7FFFFFF) is reached. 0x0090C490 39 std__vector_4byte_push_back_v1 stl Pushes a 4-byte value onto the back of a vector. If capacity is available, writes directly and increments end pointer. Otherwise calls STL_vector_4byte_insert_realloc to grow the vector. 0x0090C4C0 39 std__vector_4byte_push_back_v2 stl Pushes a 4-byte value onto the back of a vector. If capacity is available, writes directly and increments end pointer. Otherwise calls STL_vector_insert_single_4byte_005b71c0 to grow. 0x0090C4F0 169 std__vector_1c_byte_push_back_move stl Move-pushes a 0x1C-byte element (containing a string at offset +1) onto the back of a vector. If capacity is available, copies the 7 dwords directly and moves the string (stealing its internal buffer). Otherwise calls FUN_008c5d50 to grow and insert. 0x0090C5A0 792 CSecureKeypad__randomize_button_positions game_core Randomizes the positions of the 10 digit buttons on the secure keypad using a Mersenne Twister PRNG. Generates a Fisher-Yates shuffle of indices 0-9, then repositions each button (stored at offsets 0x124+) using pre-defined coordinate tables loaded from static data. Calls vtable 0x98 to refresh the window after repositioning. 0x0090C8C0 162 build_network_packet_from_vector game_core Builds a network packet by combining a 2-byte header (param_2), a 4-byte size field (vector data length), and the vector's raw data content. Allocates a byte vector to hold the packet, writes the header and size, then memcpys the vector data. Returns the output vector pointer. 0x0090C970 51 CSecureKeypad__set_mode game_core Sets the keypad mode at offset 0x11C. If mode is 0, loads and displays a string (message 0xA06) via FUN_008681c0. 0x0090C9C0 5193 CSecureKeypad__ctor game_core Constructor for the secure keypad window class. Large function (5193 bytes) that initializes the keypad UI with digit buttons, labels, and layout. Skipped full decompilation due to size. 0x0090DE10 141 CSecureKeypad__show_all_buttons game_core Shows all buttons on the secure keypad. Sets 11 buttons at offset 0x124 and 5 buttons at offset 0x150 to visible (byte 0x2B = 0). If mode (DAT_01737d18) is 4 or 5, hides the buttons at offsets 0x154 and 0x158. 0x0090DEA0 149 CTextSegment__default_ctor game_core Default constructor for a text segment structure (0x3C bytes). Copies the first dword from param_3, then initializes two empty std::string members (at offsets +0xC and +0x24) with default capacity 0xF. 0x0090DF40 461 std__list_assign_range stl Assigns a range of elements from another list to this list. If source has more elements, appends new nodes. If source has fewer, removes excess nodes. If same count, copies values in place. Each node contains a data pointer at offset +8 (dword at index 2). 0x0090E110 427 std__vector_8byte_assign_range stl Assigns a range of 8-byte elements to a vector. If new size fits in existing capacity, copies directly and truncates. If new size exceeds capacity, frees old buffer, allocates new one with 1.5x growth factor, copies old elements and appends new ones. 0x0090E2C0 34 memcpy_elements_raw stl Copies a range of raw bytes from param_1 to param_3 via memcpy. Returns pointer past the last copied byte. 0x0090E2F0 238 std__tree_copy_nodes_0x18 stl Recursively copies BST nodes (0x18 bytes each). Creates new nodes with key data from source, links them to parent, copies color flag, then recursively copies left and right subtrees. 0x0090E400 241 std__tree_copy_nodes_0x58 stl Recursively copies BST nodes (0x58 bytes each). Allocates new 0x58-byte nodes, calls FUN_009102e0 to copy payload data from source, links to parent, copies color flag, then recursively copies left and right subtrees. 0x0090E510 250 std__tree_copy_nodes_0x24 stl Recursively copies BST nodes (0x24 bytes each). Creates new nodes with 5 dwords of key/data from source (at offsets +0x10 through +0x20), links to parent, copies color flag, then recursively copies left and right subtrees. 0x0090E630 420 std__map_string_key_find_or_insert stl Finds or inserts an element in a std::map with string keys. Searches the BST using std::_Traits_compare for string comparison. If found, returns existing node. If not found, allocates a 100-byte node, copy-constructs the string key and calls FUN_00910a70 to initialize additional data, then inserts via Insert_node. Returns a pair of (node, inserted_flag). 0x0090E7E0 330 std__vector_0x18_insert_realloc stl Inserts a single 0x18-byte element into a vector at the given position, reallocating with 1.5x growth. Copies the new element via string copy-construct, moves existing elements around the insertion point, then replaces the vector buffer. 0x0090E960 452 std__vector_4byte_insert_realloc_v2 stl Inserts a single 4-byte element into a vector at given position with reallocation (1.5x growth). Allocates new buffer, copies element, memcpys ranges before and after insertion point, frees old buffer. 0x0090EB30 598 std__vector_0x3c_insert_realloc stl Inserts a single 0x3C-byte element into a vector with reallocation (1.5x growth factor, max 0x4444444 elements). Uses FUN_0090fcc0 to construct element and FUN_0090fb80 to move existing elements. 0x0090ED90 452 std__vector_4byte_insert_realloc_v3 stl Another variant of 4-byte vector insert with reallocation (1.5x growth). Nearly identical to v2 but uses STL_vector_throw_length_error_005b8c50 for error reporting. 0x0090EF60 492 std__vector_0x1c_insert_realloc stl Inserts a single 0x1C-byte element into a vector with reallocation (1.5x growth, max 0x9249249 elements). Uses FUN_0090fd40 to construct and FUN_0090fc00 to move elements. 0x0090F180 118 std__tree_destroy_nodes_0x18 stl Destroys all nodes in a BST with 0x18-byte nodes. Recursively deletes right subtrees via FUN_0090f2f0, then frees each node. Finally frees the sentinel node. 0x0090F200 118 std__tree_destroy_nodes_0x24 stl Destroys all nodes in a BST with 0x24-byte nodes. Recursively deletes right subtrees via FUN_0090f520, then frees each node. Finally frees the sentinel node. 0x0090F280 103 std__tree_delete_subtree_0x18_v1 stl Recursively deletes a subtree of 0x18-byte BST nodes. Processes right child first (recursion), then frees current node and moves to left child. 0x0090F2F0 103 std__tree_delete_subtree_0x18_v2 stl Recursively deletes a subtree of 0x18-byte BST nodes (identical pattern to v1). Processes right child first, frees current node, moves to left child. 0x0090F360 160 std__tree_delete_subtree_0x4c_with_strings stl Recursively deletes a subtree of 0x4C-byte BST nodes that contain two std::string members. Destroys both strings before freeing each node. 0x0090F400 141 std__tree_delete_subtree_0x58_with_string stl Recursively deletes subtree of 0x58-byte BST nodes, destroying one std::string member per node. 0x0090F490 131 std__tree_delete_subtree_0x20_with_vector stl Recursively deletes subtree of 0x20-byte BST nodes, destroying a vector of 0x1C-byte elements per node. 0x0090F520 103 std__tree_delete_subtree_0x24 stl Recursively deletes subtree of 0x24-byte BST nodes (plain data, no destructors needed). 0x0090F590 153 std__tree_delete_subtree_0x64_with_strings stl Recursively deletes subtree of 100-byte (0x64) BST nodes, destroying two std::string members per node. 0x0090F630 128 std__tree_delete_subtree_0x30_with_string stl Recursively deletes subtree of 0x30-byte BST nodes, destroying one std::string member per node. 0x0090F6B0 144 std__tree_delete_subtree_0x34_with_fmt stl Recursively deletes subtree of 0x34-byte BST nodes, calling CFmt__func_0058c230 and STL_string_dtor to clean up each node. 0x0090F740 103 std__tree_delete_subtree_0x18_v3 stl Recursively deletes subtree of 0x18-byte BST nodes (plain data, no destructors). 0x0090F7B0 141 std__tree_delete_subtree_0x58_with_string_v2 stl Recursively deletes subtree of 0x58-byte BST nodes, destroying one std::string member per node (variant 2). 0x0090F840 103 std__tree_delete_subtree_0x24_v2 stl Recursively deletes subtree of 0x24-byte BST nodes (plain data, no destructors, variant 2). 0x0090F8B0 25 memset_dwords_to_zero game_core Zeros param_2 dwords (param_2*4 bytes) starting at param_1 using memset. 0x0090F8D0 75 std__map_int__lower_bound_a stl std::map lower_bound implementation. Traverses red-black tree comparing int keys. Returns iterator pointing to first element not less than key. 0x0090F920 75 std__map_int__lower_bound_b stl std::map lower_bound implementation (variant b). Traverses red-black tree comparing int keys. Returns iterator pointing to first element not less than key. Identical logic to lower_bound_a. 0x0090F970 75 std__map_int__lower_bound_c stl std::map lower_bound implementation (variant c). Traverses red-black tree comparing int keys. Returns iterator pointing to first element not less than key. Identical logic to lower_bound_a. 0x0090F9C0 129 std__map_string__lower_bound_a stl std::map lower_bound implementation. Traverses red-black tree comparing string keys via std::_Traits_compare. Returns iterator to first element not less than key. 0x0090FA50 129 std__map_string__lower_bound_b stl std::map lower_bound implementation (variant b). Traverses red-black tree comparing string keys via std::_Traits_compare. Returns iterator to first element not less than key. Identical logic to lower_bound_a. 0x0090FAE0 128 linked_list__destroy_all_nodes stl Destroys all nodes in a linked list. Iterates through list, calls helper cleanup function and STL_string_dtor on each 0x5c-byte node, then frees memory. 0x0090FB60 28 std__list__is_empty_check stl Checks if a list/container is empty. Returns 1 if *param_1 == 0 (empty), 0 otherwise. 0x0090FB80 123 std__vector__move_construct_elements_60 stl Move-constructs a range of 0x3C-byte elements (tooltip entries) from source to destination. Iterates from param_1 to param_2 in 0x3C steps, calling tooltip_entry__move_construct_full for each. Returns pointer past the last constructed element. 0x0090FC00 191 std__vector__move_elements_28byte stl Move-constructs elements from one array to another. Elements are 28 bytes (7 ints) containing 4 ints + an SSO string (moved) + 1 int. Source strings are reset to empty after move. 0x0090FCC0 123 tooltip_entry__copy_from game_core Copies a tooltip entry struct from source to destination. Copy-constructs the embedded string, then copies remaining fields (offsets 0x18-0x38) as raw data. 0x0090FD40 132 tooltip_entry__move_construct game_core Move-constructs a single tooltip entry (28 bytes = 7 ints). Copies 4 ints + moves SSO string (resets source to empty) + copies trailing int. 0x0090FDD0 134 std__map__erase_node_and_advance stl Erases a node from std::map and advances iterator. Increments iterator, extracts and rebalances the tree node, destroys the node's string data, and frees the 0x58-byte node. 0x0090FE60 36 linked_list__find_by_field_8 stl Linear search through a linked list for a node whose field at offset 8 matches the search value. Returns pointer to matching node or end sentinel. 0x0090FE90 36 linked_list__find_by_field_8_b stl Linear search through a linked list for a node whose field at offset 8 matches the search value. Returns pointer to matching node or end sentinel. Identical logic to linked_list__find_by_field_8. 0x0090FEC0 39 linked_list__find_by_field_338 stl Linear search through a linked list for a node whose field at offset 0x338 (index 0xCE) matches the search value. Returns pointer to matching node or end sentinel. 0x0090FEF0 297 std__map_int__insert_or_find_with_data stl Inserts or finds entry in std::map. If key exists, returns existing node. Otherwise allocates 0x20-byte node, copies key and data (3 ints from param_3+4/8/12 with move semantics), inserts into tree. 0x00910020 105 std__map__init_sentinel_24 stl Initializes a std::map with 24-byte sentinel node. Allocates 0x18 bytes, sets up self-referential sentinel node (left/right/parent point to self), marks as header (0xc = 0x101). 0x00910090 234 std__map__copy_construct_24 stl Copy-constructs a std::map with 0x18-byte (24-byte) nodes. Allocates sentinel, copies tree structure via std__tree_copy_nodes_0x18, sets size, then finds and caches leftmost and rightmost nodes. 0x00910180 105 std__map__init_sentinel_76 stl Initializes a std::map with 0x4C-byte (76-byte) sentinel node. Allocates node, sets up self-referential left/right/parent pointers, marks as header (0xc = 0x101). 0x009101F0 234 std__map__copy_construct_88 stl Copy-constructs a std::map with 0x58-byte nodes. Allocates sentinel, copies tree structure via std__tree_copy_nodes_0x58, sets size, then finds and caches leftmost and rightmost nodes. 0x009102E0 148 tooltip_node__copy_construct game_core Copy-constructs a tooltip tree node. Copies first field, copy-constructs embedded string (offset 4-24), then copies remaining fields (offsets 0x1c-0x44) as raw data including ints, doubles, and flag byte. 0x00910380 250 std__vector_28byte__copy_construct stl Copy-constructs a std::vector of 28-byte elements. Each element contains an SSO string (24 bytes) + 1 int. Allocates target, iterates source copying strings and trailing int. 0x00910480 356 CKafraServiceInfo__copy_construct game_core Copy-constructs a CKafraServiceInfo object. Copies map tree (0x24-byte nodes), then copies 8 scalar fields followed by 192 bytes of data and 4 trailing fields. Contains Kafra service configuration data. 0x009105F0 187 UIClass_0913c90__ctor ui_framework Constructor for a UI class (vtable at 0x0913c90). Zeroes out 14 fields including counters, flags, and an inline SSO string (capacity 0xf) at offset 0xe. Sets a boolean flag at offset 0x28 to true. 0x009106B0 468 CKafraMoveMapService__ctor game_core Constructor for CKafraMoveMapService. Initializes strings, registers two Lua callbacks: "ReadKafraMoveMapServiceInfo" and "ReadKafraMiniMapPosInfo" via FUN_00afc9a0. 0x00910890 199 UICollectionSlotMachine__ctor game_core Constructor for UICollectionSlotMachine window. Calls UIWindowBase__ctor, initializes fields, loads collection_slotmachine .act and .spr sprite resources. 0x00910960 114 kafra_map_entry__copy_construct game_core Copy-constructs a kafra map entry. Copies two int fields, then copy-constructs two embedded SSO strings at offsets 0x8 and 0x20. 0x009109E0 132 kafra_map_entry__default_ctor game_core Default-constructs a kafra map entry. Zeroes two int fields and initializes two inline SSO strings (capacity 0xf each) at offsets 0x8 and 0x20 to empty. 0x00910A70 169 tooltip_entry__move_construct_full game_core Move-constructs a full tooltip entry (60 bytes = 15 ints). Moves SSO string at offset 0 (resets source), then copies remaining fields including ints, doubles, and flags at offsets 0x18-0x38. 0x00910B20 178 kafra_service_strings__copy_construct game_core Copy-constructs a Kafra service strings object containing 6 SSO strings (at offsets 0, 0x18, 0x30, 0x48, 0x60, 0x78) and a flag byte at 0x90. 0x00910BE0 85 std__string_wrapper__default_ctor stl Default-constructs a struct with a leading int field (set to 0) followed by an inline SSO string (capacity 0xf) initialized to empty. 0x00910C40 1345 UIKafraWindow__ctor game_core Constructor for UIKafraWindow. Initializes UIWindowBase, sets vtable, populates message ID vector with 24+ message IDs (0x4fd-0x509, 0x533, 0x60d, 0x652-0x657, 0x93d, 0xba4, 0xfbc-0xfbf) for Kafra storage/service UI messages. Sets window title from message 0x509. 0x00911190 86 UIWindow_9153e0__ctor game_core Constructor for UI window class (vtable 0x09153e0). Inherits from UIWindowBase. Simple constructor with no additional field initialization. 0x009111F0 84 UIHyperlinkTextWidget_915450__ctor game_core Constructor for a UI hyperlink text widget (vtable 0x0915450). Inherits from UIHyperlinkTextWidget. Simple constructor that sets vtable pointer after base initialization. 0x00911250 167 UIWindow_9154c0__ctor game_core Constructor for UI window class (vtable 0x09154c0). Inherits from UIWindowBase. Checks a game mode condition at offset 0x250 and calls FUN_00cd58b0/FUN_00e1df20 to determine an initial display mode stored at offset 0x34 (values 0, 1, or 2). 0x00911300 268 UIWindow_915530__ctor game_core Constructor for UI window class (vtable 0x0915530). Inherits from UIWindowBase. Initializes layout/dimension fields (offsets 0x2d-0x36) with default values including colors (0x12, 0x11) and spacing (0x14, 3). Uses eh_vector_constructor_iterator to init 4 std::map sentinels at offset 0x37. Sets flags at 0x3f-0x45. 0x00911410 116 UIWindow_915610__ctor game_core Constructor for UI window class (vtable 0x0915610). Inherits from UIWindowBase. Initializes three fields to zero at offsets 0x2d, 0x34, and 0x3a. 0x00911490 96 UIWindow_915680__ctor game_core Constructor for UI window class (vtable 0x0915680). Inherits from UIWindowBase. Initializes a single field to zero at offset 0x2e. 0x009114F0 178 UIWindow_9156f0__ctor game_core Constructor for UI window class (vtable 0x09156f0). Inherits from UIWindowBase. Initializes two inline string fields (SSO-style, capacity 0xf) at offsets 0x2d and 0x33, plus a selected index field at 0x39 initialized to -1. 0x009115B0 106 UIWindow_915780__ctor game_core Constructor for UI window class (vtable 0x0915780). Inherits from UIWindowBase. Initializes two fields to zero at offsets 0x2d and 0x2e. 0x00911620 209 UIWindow_9157f0__ctor game_core Constructor for UI window class (vtable 0x09157f0). Inherits from UIWindowBase. Initializes two inline string fields (SSO-style, capacity 0xf) at offsets 0x2f and 0x35, three counter/state fields at 0x4b-0x4d, and clears global DAT_016fc550. 0x00911700 313 UIWindow_915890__ctor game_core Constructor for UI window class (vtable 0x0915890). Inherits from UIWindowBase. Initializes layout fields and sets global DAT_01457a74=1. Has a switch on DAT_016d3b10 (game service type) to adjust a layout dimension at offset 0x48: values 1/7/0xb -> 0x6e, 10 -> 0x47, 0x12 -> 0x5a (likely different UI widths for different RO services like kRO/jRO/etc). 0x00911860 86 UIWindow_915910__ctor game_core Constructor for UI window class (vtable 0x0915910). Inherits from UIWindowBase. Simple constructor with no additional field initialization. 0x009118C0 141 UIWindow_915980__ctor game_core Constructor for UI window class (vtable 0x0915980). Inherits from UIWindowBase. Initializes selected index at offset 0x2d to -1, zeroes string/buffer fields at offsets 0x2f and 0xbd-0xc3, and clears state fields at 0x31-0x32. 0x00911950 86 UIWindow_9159f0__ctor game_core Constructor for UI window class (vtable 0x09159f0). Inherits from UIWindowBase. Simple constructor with no additional field initialization. 0x009119B0 798 UIKafraMoveMapWnd__ctor game_core Constructor for Kafra Move Map window (vtable 0x0915a60). Inherits from UIWindowBase. Initializes a linked list node at offset 0x2d, inline string fields, and sub-UI objects. Reads "ReadKafraMoveMapServiceInfo" and "ReadKafraMiniMapPosInfo" configuration data via FUN_00afc9a0. Contains two UIClass_0913c90 sub-objects and a clear_all_entries call. Sets color values (0xaaffffff) and various layout/state fields. 0x00911CD0 522 UIWindow_915a90__ctor game_core Constructor for UI window class (vtable 0x0915a90). Inherits from UIWindowBase. Initializes many fields (0x2d-0x45) to zero, allocates a linked list node at offset 0x44, uses eh_vector_constructor_iterator to init 9 CFmt-related entries at offset 0x46. Sets boundary/clipping values with 0xfffb offsets. Large object with list management capabilities. 0x00911EE0 303 UIWindow_915b50__ctor game_core Constructor for UI window class (vtable 0x0915b50). Inherits from UIWindowBase. Initializes fields 0x2d-0x34 to zero, uses eh_vector_constructor_iterator to init 9 std::map entries at offset 0x41, allocates a linked list node at offset 0x53, and initializes selection/state fields with -1 default at offset 0x57. 0x00912010 201 UIWindow_915c00__ctor game_core Constructor for UI window class (vtable 0x0915c00). Inherits from UIWindowBase. Initializes timer fields with GetTickCount() relative to global DAT_017381e4. Sets a 1000ms interval at offset 0x33 and an enabled flag at offset 0x31. Likely a timer-based or animation UI window. 0x009120E0 265 UICharSelectWnd__ctor game_core Constructor for UICharSelectWnd (character selection window, vtable UICharSelectWnd). Inherits from UIWindowBase. Uses eh_vector_constructor_iterator to init 0x12 (18) CCharSlotEntry objects of size 0x15c each at offset 0x2d. Sets visible slot count to 6 (or 9 if DAT_017334cc > 12). Initializes slot enable flags and records timeGetTime() for animation timing. 0x009121F0 183 UIWindow_915d10__ctor game_core Constructor for UI window class (vtable 0x0915d10). Inherits from UIWindowBase. Initializes display state fields: enabled=1, selected=-1, page=0, items_per_page=0x19, plus an inline SSO string at offset 0x3c with capacity 0xf. 0x009122B0 136 UIWindow_915d90__ctor game_core Constructor for UI window class (vtable 0x0915d90). Inherits from UIWindowBase. Initializes two state fields to zero at 0x2f-0x30, two selection indices to -1 at 0x55-0x56, and an enabled flag to 1 at 0x57. 0x00912340 246 UIWindow_915e00__ctor game_core Constructor for UI window class (vtable 0x0915e00). Inherits from UIWindowBase. Initializes an inline SSO string at offset 0x45 (capacity 0xf), clears fields at 0x2d-0x2f. Sets layout dimensions at 0x3a-0x3c (0x10, 0x47, 0xf). Has same service-type switch on DAT_016d3b10 as UIWindow_915890 to adjust width at offset 0x3b. 0x00912460 116 UIWindow_915e80__ctor game_core Constructor for UI window class (vtable 0x0915e80). Inherits from UIWindowBase. Sets type=2 at offset 0x2d, width=0x20 at 0x2e, height=0x20 at 0x2f. Likely a 32x32 icon/thumbnail UI element. 0x009124E0 86 UIWindow_915ef0__ctor game_core Constructor for UI window class (vtable 0x0915ef0). Inherits from UIWindowBase. Simple constructor with no additional field initialization. 0x00912540 67 heap_free_0x5c_at_offset4 stl Frees a 0x5c-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x00912590 67 heap_free_0x18_at_offset4 stl Frees a 0x18-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x009125E0 70 heap_free_0x340_at_offset4 stl Frees a 0x340-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x00912630 67 heap_free_0x18_at_offset4_b stl Frees a 0x18-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. Duplicate of 00912590 at different address. 0x00912680 67 heap_free_0x18_at_offset4_c stl Frees a 0x18-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. Third instance of 0x18-byte free pattern. 0x009126D0 67 heap_free_0x4c_at_offset4 stl Frees a 0x4c-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x00912720 67 heap_free_0x58_at_offset4 stl Frees a 0x58-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x00912770 67 heap_free_0x20_at_offset4 stl Frees a 0x20-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x009127C0 67 heap_free_0x24_at_offset4 stl Frees a 0x24-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x00912810 67 heap_free_0x64_at_offset4 stl Frees a 0x64 (100)-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x00912860 67 heap_free_0x30_at_offset4 stl Frees a 0x30-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x009128B0 67 heap_free_0x34_at_offset4 stl Frees a 0x34-byte heap allocation stored at this+4, if non-null. Used as a destructor/cleanup helper via FUN_00e6227f. 0x00912900 130 cleanup_string_and_free_0x5c game_core Cleanup helper that first destroys an embedded std::string (via STL_string_dtor after helper_005c2a80), then frees a 0x5c-byte heap allocation at this+4. Two-phase destruction for objects containing strings. 0x00912990 78 heap_free_0x18_at_offset4_d stl Frees a 0x18-byte heap allocation stored at this+4, if non-null. Fourth instance of this pattern at a different address. 0x009129E0 107 cleanup_object_and_free_0x340 game_core Cleanup helper that first calls FUN_00ca5120 to destroy an embedded object, then frees a 0x340-byte heap allocation at this+4. Two-phase destruction. 0x00912A60 111 std__tree_destroy_0x18_nodes stl Destroys a std::tree (red-black tree) by traversing all 0x18-byte nodes. Iterates through linked nodes, recursively deletes subtrees via std__tree_delete_subtree_0x18_v1, then frees each node. Finally frees the sentinel/header node. 0x00912AF0 76 std__tree_destroy_0x4c_root stl Destroys a std::tree root with 0x4c-byte nodes containing strings. Calls std__tree_delete_subtree_0x4c_with_strings to recursively destroy the tree, then frees the 0x4c-byte root/sentinel node. 0x00912B50 76 std__tree_destroy_0x58_root stl Destroys a std::tree root with 0x58-byte nodes containing strings. Recursively deletes subtree then frees sentinel node. 0x00912BB0 76 std__tree_destroy_0x20_root stl Destroys a std::tree root with 0x20-byte nodes containing vectors. Recursively deletes subtree then frees sentinel node. 0x00912C10 7 thunk_to_std__tree_destroy_nodes_0x24 stl Thunk forwarding to std__tree_destroy_nodes_0x24 (at 0090f200). Destroys a std::tree with 0x24-byte nodes. 0x00912C20 76 std__tree_destroy_0x64_root stl Destroys a std::tree root with 0x64-byte nodes containing strings. Recursively deletes subtree then frees sentinel node. 0x00912C80 76 std__tree_destroy_0x30_root stl Destroys a std::tree root with 0x30-byte nodes containing strings. Recursively deletes subtree then frees sentinel node. 0x00912CE0 76 std__tree_destroy_0x34_root stl Destroys a std::tree root with 0x34-byte nodes containing CFmt data. Recursively deletes subtree then frees sentinel node. 0x00912D60 84 std__tree_destroy_0x58_indirect stl Destroys a std::tree with 0x58-byte nodes via an indirect pointer at this+4. Null-checks the indirect pointer before destroying. Used when tree root is stored via indirection. 0x00912DE0 78 heap_free_0x18_at_offset4_e stl Frees a 0x18-byte heap allocation stored at this+4, if non-null. Fifth instance of this pattern. 0x00912E30 78 heap_free_0x18_at_offset4_f stl Frees a 0x18-byte heap allocation stored at this+4, if non-null. Sixth instance of this pattern. 0x00912E80 140 cleanup_two_strings_and_free_0x4c game_core Cleanup helper that destroys two embedded std::strings (via STL_string_dtor twice), then frees a 0x4c-byte heap allocation at this+4. For objects containing two string members. 0x00912F10 123 cleanup_string_and_free_0x58 game_core Cleanup helper that destroys one embedded std::string (via STL_string_dtor), then frees a 0x58-byte heap allocation at this+4. 0x00912F90 116 seh_cleanup_destroy_vector_and_free_0x20 crt SEH cleanup handler: destroys STL vector (0x1c stride) at member+4, then frees 0x20 bytes via operator delete. 0x00913010 136 seh_cleanup_destroy_strings_and_free_0x64 crt SEH cleanup handler: destroys two STL strings at member+4, then frees 0x64 (100) bytes via operator delete. 0x009130A0 113 seh_cleanup_destroy_string_and_free_0x30 crt SEH cleanup handler: destroys one STL string at member+4, then frees 0x30 bytes via operator delete. 0x00913120 129 seh_cleanup_destroy_fmt_string_and_free_0x34 crt SEH cleanup handler: calls CFmt func and destroys STL string at member+4, then frees 0x34 bytes. 0x009131B0 78 seh_cleanup_free_0x18 crt SEH cleanup handler: frees 0x18 bytes at member+4 via operator delete. No sub-object destruction. 0x00913200 78 seh_cleanup_free_0x18_b crt SEH cleanup handler: frees 0x18 bytes at member+4 via operator delete. Variant B with different unwind label. 0x00913250 78 seh_cleanup_free_0x4c crt SEH cleanup handler: frees 0x4C bytes at member+4 via operator delete. 0x009132A0 78 seh_cleanup_free_0x58 crt SEH cleanup handler: frees 0x58 bytes at member+4 via operator delete. 0x009132F0 78 seh_cleanup_free_0x20 crt SEH cleanup handler: frees 0x20 bytes at member+4 via operator delete. 0x00913340 78 seh_cleanup_free_0x64 crt SEH cleanup handler: frees 0x64 (100) bytes at member+4 via operator delete. 0x00913390 78 seh_cleanup_free_0x30 crt SEH cleanup handler: frees 0x30 bytes at member+4 via operator delete. No sub-object destruction. 0x009133E0 78 seh_cleanup_free_0x34 crt SEH cleanup handler: frees 0x34 bytes at member+4 via operator delete. 0x00913430 90 std__vector_destroy_elements_stride_0x3c stl Iterates through STL vector elements (stride 0x3C) and destroys STL strings in each element. 0x00913490 90 std__vector_destroy_elements_stride_0x1c stl Iterates through STL vector elements (stride 0x1C) and destroys STL strings in each element. 0x009134F0 75 eh_vector_dtor_cleanup_free_4c game_core EH vector destructor iterator: destroys 4 elements of size 8 using seh_unwind_cleanup_list_and_free_4c. 0x00913540 73 linked_list__destroy_and_free_0x5c stl Destroys all nodes in a linked list and frees 0x5C bytes per node via operator delete. 0x00913590 127 linked_list__destroy_all_and_free_0x340 stl Walks a linked list of large (0x340 byte) nodes, calls cleanup on each, frees each node, then frees the head. 0x00913620 65 std__tree_destroy_0x18_wrapper stl Wrapper that calls std::tree destroy for nodes of size 0x18. Destroys the red-black tree structure. 0x00913670 66 seh_unwind_destroy_tree_0x18 crt SEH unwind handler: calls std__tree_destroy_nodes_0x18 to clean up a red-black tree with 0x18-byte nodes during stack unwinding. 0x009136C0 87 seh_unwind_destroy_tree_and_free_0x4c crt SEH unwind handler: destroys std::tree subtree with 0x4c-byte string-containing nodes, then frees the sentinel node. 0x00913720 87 seh_unwind_destroy_tree_and_free_0x58 crt SEH unwind handler: destroys std::tree subtree with 0x58-byte string-containing nodes, then frees the sentinel node. 0x00913780 87 seh_unwind_destroy_tree_and_free_0x20 crt SEH unwind handler: destroys std::tree subtree with 0x20-byte vector-containing nodes, then frees the sentinel node. 0x009137E0 66 seh_unwind_destroy_tree_0x24 crt SEH unwind handler: calls std__tree_destroy_nodes_0x24 to clean up a red-black tree with 0x24-byte nodes during stack unwinding. 0x00913830 87 seh_unwind_destroy_tree_and_free_0x64 crt SEH unwind handler: destroys std::tree subtree with 0x64-byte string-containing nodes, then frees the sentinel node (100 bytes). 0x00913890 100 seh_unwind_destroy_two_strings_a crt SEH unwind handler. Destroys two STL strings during exception unwinding (indices 1 and 0). 0x00913900 80 seh_unwind_destroy_string_with_offset crt SEH unwind handler. Destroys an STL string at param+4 offset during exception unwinding. 0x00913950 68 seh_unwind_destroy_vector_1c crt SEH unwind handler. Destroys and frees a vector of 0x1C-byte elements during exception unwinding. 0x009139A0 95 seh_unwind_destroy_two_strings_b crt SEH unwind handler. Destroys two STL strings during exception unwinding (indices 0 and -1). 0x00913A00 65 seh_unwind_destroy_string_c crt SEH unwind handler. Destroys a single STL string during exception unwinding. 0x00913A50 86 seh_unwind_destroy_fmt_and_string crt SEH unwind handler. Destroys a CFmt object and an STL string during exception unwinding. 0x00913AB0 100 seh_unwind_destroy_two_strings_c crt SEH unwind handler. Destroys two STL strings during exception unwinding (indices 1 and 0). 0x00913B20 129 std__vector_ptr__clear_and_free stl Clears and frees memory for a vector of pointers (4-byte elements). Validates heap block alignment before freeing. Zeros out begin/end/capacity pointers. 0x00913BB0 204 std__vector_3c__clear_and_free stl Clears and frees a vector of 0x3C-byte elements. Iterates through elements calling STL_string_dtor on each, then frees the backing array. Zeros out begin/end/capacity pointers. 0x00913C90 93 UIClass_0913c90__dtor ui_framework Destructor for a UI class. Sets vtable to PTR_FUN_01140d28, destroys an STL string member, then calls std__vector_3c__clear_and_free to clean up a vector of 0x3C-byte elements. 0x00913CF0 114 UIWindow__dtor_913cf0 ui_events Destructor: sets vtable to 01140d20, destroys 2 STL strings, calls std__vector_3c__clear_and_free to clean up vector of 0x3C-byte elements. 0x00913D70 71 UIClass_0913d70__dtor ui_framework Destructor. Sets vtable to PTR_FUN_011414c8 then calls UIWindowBase__dtor for base class cleanup. 0x00913DC0 65 seh_unwind_destroy_string_d crt SEH unwind handler. Destroys a single STL string during exception unwinding. 0x00913E10 65 seh_unwind_destroy_string_e crt SEH unwind handler. Destroys a single STL string during exception unwinding. 0x00913E60 134 seh_unwind_destroy_six_strings crt SEH unwind handler. Destroys 6 STL strings (indices 4 down to -1) during exception unwinding. 0x00913EF0 65 seh_unwind_destroy_string_f crt SEH unwind handler. Destroys a single STL string during exception unwinding. 0x00913F40 110 UIClass_0913f40__dtor ui_framework Destructor. Sets vtable to PTR_FUN_011409bc, destroys an STL string, frees a vector, then calls UIWindowBase__dtor for base cleanup. 0x00913FB0 71 UIClass_0913fb0__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01140734 then calls UIWindowBase__dtor for base cleanup. 0x00914000 71 UIClass_0914000__dtor ui_framework Destructor. Sets vtable to PTR_FUN_0114014c then calls UIHyperlinkTextWidget__dtor for base cleanup. 0x00914050 71 UIClass_0914050__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01141090 then calls UIWindowBase__dtor for base cleanup. 0x009140A0 194 UIClass_09140a0__dtor ui_framework Destructor for a complex UI class. Sets vtable to PTR_FUN_01140fb8, cleans up 4 linked lists at offset 0xDC (loop of 4 iterations, 8 bytes each), calls CUIWindowMgr__unregister_window, uses eh_vector_destructor_iterator for array cleanup, then UIWindowBase__dtor. 0x00914170 71 UIClass_0914170__dtor ui_framework Destructor. Sets vtable to PTR_FUN_011404ac then calls UIWindowBase__dtor for base cleanup. 0x009141C0 71 UIClass_09141c0__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01140c48 then calls UIWindowBase__dtor for base cleanup. 0x00914210 110 UIClass_0914210__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01140e08, destroys two STL strings, then calls UIWindowBase__dtor for base cleanup. 0x00914280 71 UIClass_0914280__dtor ui_framework Destructor. Sets vtable to PTR_FUN_011413f0 then calls UIWindowBase__dtor for base cleanup. 0x009142D0 125 UIClass_09142d0__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01141318, destroys a CFmt object and two STL strings, then calls UIWindowBase__dtor. 0x00914350 104 CChatWnd__dtor game_core CChatWnd destructor. Sets vtable to PTR_FUN_01140b70, calls CChatWnd__save_chat_window_layout to persist layout, clears a pointer vector of chat entries, then UIWindowBase__dtor. 0x009143C0 71 UIClass_09143c0__dtor ui_framework Destructor. Sets vtable to PTR_FUN_011402fc then calls UIWindowBase__dtor. 0x00914410 71 UIClass_0914410__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01141168 then calls UIWindowBase__dtor. 0x00914460 71 UIClass_0914460__dtor ui_framework Destructor. Sets vtable to PTR_FUN_0114080c then calls UIWindowBase__dtor. 0x009144B0 355 CNavigatorWnd__dtor_009144b0 ui_windows CNavigatorWnd destructor. Sets vtable to PTR_FUN_01140d30. Frees memory at offset 0xC8, cleans up optional sub-object at offset 0xC0 (with string linked list + string), destroys CFmt, multiple nested vtable sub-objects (3 vectors of 0x3C elements with strings), a linked list at offset 0xB4, then UIWindowBase__dtor. 0x00914620 166 UIClass_0914620__dtor ui_framework Destructor. Sets vtable to PTR_FUN_0114065c. Clears an ItemEntry vector, destroys 9 CFmt objects at offset 0x118 (0xC each), cleans a linked list at offset 0x110, then UIWindowBase__dtor. 0x009146D0 151 UIClass_09146d0__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01140584. Cleans a linked list at offset 0x14C, destroys 9-element array at offset 0x104 (8 bytes each), then UIWindowBase__dtor. 0x00914770 71 UIClass_0914770__dtor ui_framework Destructor. Sets vtable to PTR_FUN_011403d4 then calls UIWindowBase__dtor. 0x009147C0 123 UICharSelectWnd__dtor_b game_core Character select window destructor. Sets vtable to PTR_FUN_01140224. Destroys a CFmt, then uses eh_vector_destructor_iterator to destroy 18 CCharSlotEntry objects (0x15C bytes each), then UIWindowBase__dtor. 0x00914840 95 UIClass_0914840__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01141240, destroys an STL string, then calls UIWindowBase__dtor. 0x009148A0 71 UIClass_09148a0__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01140074 then calls UIWindowBase__dtor. 0x009148F0 95 UIClass_09148f0__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01140a98, destroys an STL string, then calls UIWindowBase__dtor. 0x00914950 71 UIClass_0914950__dtor ui_framework Destructor. Sets vtable to PTR_FUN_011408e4 then calls UIWindowBase__dtor. 0x009149A0 71 UIClass_09149a0__dtor ui_framework Destructor. Sets vtable to PTR_FUN_01140ee0 then calls UIWindowBase__dtor. 0x009149F0 119 struct_copy_with_string_at_0x38 game_core Copy assignment for a 0x38-byte struct. Copies fields at offsets 0x04-0x34 directly, then calls FUN_0090e110 to copy a string/container at offset 0x38 if source and dest differ. 0x00914A70 84 struct_copy_with_two_strings game_core Copy assignment for a struct with two STL strings. Copies first two dwords directly, then assigns two embedded STL strings (at offsets 8 and 0x20) using STL_lib_func_004fa8f0. 0x00914AD0 95 struct_copy_with_string_and_bytes game_core Copy assignment for a struct. Assigns an STL string at offset 0 if not self-assignment, copies 25 raw bytes starting at offset 0x18, then copies 4 dwords at offsets 0x34-0x40. 0x00914B30 263 std__map_int__find_or_insert_18 stl std::map::operator[] equivalent. Searches the red-black tree for a node with the given int key. If not found, allocates a new 0x18-byte node, inserts it, and returns pointer to the value (offset +0x14). Aborts if at max capacity (0xAAAAAAA entries). 0x00914C40 239 std__map_int_4c__find_or_insert stl std::map::operator[] for a map with 0x4C-byte value nodes. Searches tree via FUN_0090f8d0 (lower_bound), allocates and inserts 0x4C-byte nodes via FUN_0090dea0 if key not found. Returns pointer to value (offset +0x14). 0x00914D30 272 std__map_int_58__find_or_insert stl std::map::operator[] for a map with 0x58-byte value nodes. Searches via FUN_0090f920 (lower_bound), allocates and inserts new node with memset-zeroed value containing an embedded STL string if key not found. Returns pointer to value. 0x00914E50 276 std__map_string__find_or_insert_30 stl std::map::operator[] for 0x30-byte nodes. Searches via FUN_0090f9c0 using string comparison (_Traits_compare). Allocates and inserts new node with copy-constructed string key if not found. Max capacity 0x5555555. Returns pointer to value at offset +0x28. 0x00914F70 308 std__map_string__find_or_insert_34 stl std::map::operator[] for 0x34-byte nodes. Searches via FUN_0090fa50 using string comparison. Allocates node with copy-constructed string key and zeroed 3-dword vector. Max capacity 0x4EC4EC4. Returns pointer to value at offset +0x28. 0x009150B0 83 operator++ stl STL _Tree_unchecked_const_iterator::operator++ for std::set/map. Advances iterator to next in-order node in the red-black tree. VS2019 library function. 0x00915110 83 operator++ stl STL _Tree_unchecked_const_iterator::operator++ for std::set/map. Advances iterator to next in-order node in the red-black tree. VS2019 library function. 0x00915170 83 operator++ stl STL _Tree_unchecked_const_iterator::operator++ for std::set/map. Advances iterator to next in-order node in the red-black tree. VS2019 library function. 0x009151D0 114 UIClass_0913c90__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140d28, destroys string and vector, optionally frees 0x50 bytes if param_2 & 1. 0x00915250 135 UIClass_0915250__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140d20, destroys two strings and vector, optionally frees 0x68 bytes if param_2 & 1. 0x009152E0 99 UIClass_09152e0__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_011414c8, calls UIWindowBase__dtor, optionally frees 0xD8 bytes if param_2 & 1. 0x00915350 134 UIClass_0915350__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_011409bc, destroys string and vector, calls UIWindowBase__dtor, optionally frees 0x118 bytes if param_2 & 1. 0x009153E0 99 UIClass_09153e0__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140734, calls UIWindowBase__dtor, optionally frees 0x174 bytes if param_2 & 1. 0x00915450 99 UIClass_0915450__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_0114014c, calls UIHyperlinkTextWidget__dtor, optionally frees 0xCC bytes if param_2 & 1. 0x009154C0 99 UIClass_09154c0__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01141090, calls UIWindowBase__dtor, optionally frees 0xD8 bytes if param_2 & 1. 0x00915530 212 UIClass_0915530__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140fb8, cleans up 4 linked lists, calls FUN_00aa2c90, destroys array, calls UIWindowBase__dtor, optionally frees 0x120 bytes. 0x00915610 99 UIClass_0915610__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_011404ac, calls UIWindowBase__dtor, optionally frees 0xF0 bytes. 0x00915680 99 UIClass_0915680__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140c48, calls UIWindowBase__dtor, optionally frees 0xBC bytes. 0x009156F0 134 UIClass_09156f0__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140e08, destroys two strings, calls UIWindowBase__dtor, optionally frees 0xE8 bytes. 0x00915780 99 UIClass_0915780__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_011413f0, calls UIWindowBase__dtor, optionally frees 0xBC bytes. 0x009157F0 149 UIClass_09157f0__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01141318, destroys CFmt and two strings, calls UIWindowBase__dtor, optionally frees 0x138 bytes. 0x00915890 128 UIClass_0915890__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140b70, calls FUN_00933e40, clears pointer vector, calls UIWindowBase__dtor, optionally frees 0x140 bytes. 0x00915910 99 UIClass_0915910__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_011402fc, calls UIWindowBase__dtor, optionally frees 0xB8 bytes. 0x00915980 99 UIClass_0915980__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01141168, calls UIWindowBase__dtor, optionally frees 0xCC bytes. 0x009159F0 99 UIClass_09159f0__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_0114080c, calls UIWindowBase__dtor, optionally frees 0xB4 bytes. 0x00915A60 38 UIClass_0915a60__scalar_deleting_dtor ui_framework Scalar deleting destructor. Calls UIClass_09144b0__dtor, optionally frees 0x228 bytes if param_2 & 1. 0x00915A90 190 UIClass_0915a90__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_0114065c. Clears ItemEntry vector, destroys 9 CFmt objects, cleans linked list, calls UIWindowBase__dtor, optionally frees 0x1D4 bytes. 0x00915B50 175 UIClass_0915b50__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140584. Cleans linked list, destroys 9-element array, calls UIWindowBase__dtor, optionally frees 0x180 bytes. 0x00915C00 99 UIClass_0915c00__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_011403d4, calls UIWindowBase__dtor, optionally frees 0x1EC bytes. 0x00915C70 147 UICharSelectWnd__scalar_deleting_dtor_b game_core Scalar deleting destructor for character select window. Sets vtable to PTR_FUN_01140224, destroys CFmt and 18 CCharSlotEntry objects, calls UIWindowBase__dtor, optionally frees 0x1A00 bytes. 0x00915D10 119 UIClass_0915d10__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01141240, destroys string, calls UIWindowBase__dtor, optionally frees 0x108 bytes. 0x00915D90 99 UIClass_0915d90__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140074, calls UIWindowBase__dtor, optionally frees 0x18C bytes. 0x00915E00 119 UIClass_0915e00__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140a98, destroys string, calls UIWindowBase__dtor, optionally frees 0x130 bytes. 0x00915E80 99 UIClass_0915e80__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_011408e4, calls UIWindowBase__dtor, optionally frees 0xC0 bytes. 0x00915EF0 99 UIClass_0915ef0__scalar_deleting_dtor ui_framework Scalar deleting destructor. Sets vtable to PTR_FUN_01140ee0, calls UIWindowBase__dtor, optionally frees 0xB4 bytes. 0x00915F60 263 CRenderQueue__submit_textured_quad game_core Submits a textured quad to the render queue. Allocates a mesh entry, fills 4 vertices with positions (params 1-8), fixed alpha (0.8f), full white color (1.0f), UV coordinates (0,0 / 1,0 / 0,1 / 1,1), and color param_10. Sets primitive type to triangle strip (2 triangles, 4 verts) and classifies with flag 0x201. 0x00916070 42 UIClass__update_and_redraw_child ui_framework Updates a child list box item and triggers redraw. Calls UIListBox__set_item_data_at_index with two params, then invokes virtual redraw method (vtable offset 0x98) on the child widget at offset 0xF8. 0x009160A0 200 ui_element__apply_position_offset_from_map game_core Looks up a string key (at param+0x20) in a global map via std__map_string__find_or_insert_30. If found, reads two float offsets and adds them to the element's bounding box at offsets 0x38-0x44 (left, top, right, bottom). 0x00916170 174 UIEditField__on_confirm_input game_core Handles confirm/enter on an editable text field. Checks global flags DAT_014576a4/a6. If text is empty, clears state. Otherwise gets display text from UIEditableTextWidget, updates UI state, and calls FUN_00aa9e60. Also calls FUN_0087a2f0 if a child element at offset 0xBC has non-zero data at 0x144. 0x00916220 1046 UIListWnd__process_input_event game_core Processes input events for a list/grid UI window. Handles mouse clicks, keyboard navigation (ESC, arrows, page up/down). Checks for special key states (Ctrl/Shift/Alt modifiers with keycodes 0x10-0x12). Calls GetKeyDes for key description lookups. Updates selected item, positions highlight cursor, and triggers redraw. Returns 1 if event consumed, 0 otherwise. 0x00916640 88 UIAnimatedList__advance_frame game_core Advances animation frame in an animated list. If not paused (offset 0xC8 == 0) and enough time has elapsed (delta > threshold at 0xB4), increments current frame (0xC0). Wraps around to 0 when reaching total frame count from UISkillWnd__get_tree_node_count. Updates last tick timestamp at 0xCC. 0x009166A0 179 UITabWnd__update_tab_positions game_core Updates tab positions in a tabbed window. If param_2 is set and tab count > 0, iterates through tab child widgets. The selected tab (index 0x45) is positioned at (5, offset+2), others are moved offscreen. Then calls virtual method 0x94 on a parent window (0x84 bytes), updates child widget at 0x4E, and redraws. 0x00916760 178 UIListWnd__store_key_mapping game_core Stores a key mapping entry into the map for a list window. Inserts into std::map with two int params and two STL string params. Copies strings into the map value, then cleans up temporaries. 0x00916820 161 UIListWnd__check_modifier_keys game_core Checks modifier key states for a list window input handler. If mode==1 and key state returns 0x1F, checks for Ctrl(0x11)/Shift(0x10)/Alt(0x12) modifiers. Space(0x20) and NumLock(0x90) keys return 2 or 4 depending on modifier. Scroll Lock(0x14) returns 3. Falls back to FUN_00a96eb0 for other keys. Returns modified param_2 or 3 for ignored keys. 0x009168D0 83 UIAnimatedList__check_double_click game_core Checks for double-click timeout on an animated list item. If current selection (0xC0) matches previous (0xC4), starts tracking click time. If more than 2000ms elapse without a matching second click, calls tls_clear_field_4f1d4 to reset the interaction state. 0x00916930 1123 UIListWnd__resolve_key_conflict game_core Resolves key binding conflicts in a list window. Iterates through 4 key binding categories, searches for matching key codes (DAT_01457690/94). If a conflict is found with a different entry, calls FUN_00a901e0 and if result is 0xBB, swaps key bindings by storing both old and new via UIListWnd__store_key_mapping. Returns 1 if conflict kept, 0 if resolved/swapped. 0x00916DA0 35 check_dimension_overflow_2036 game_core Checks if either dimension parameter equals 0x7F4 (2036). If so, calls CItemCollection__send_favorite_tab_update (at 0x00e2f3b0), likely an error or bounds-check handler for oversized dimensions. 0x00916DD0 180 UIClass__reload_string_list ui_framework Reloads a string list from data. Clears the existing string vector at offset 0x1FC (destroying each 0x18-byte string entry), then calls helper_00613e00 with the given params to get a new data source. Iterates the source's entries (at offsets 0x48-0x4C), copying strings from offset 0x2C of each entry into the vector. Returns whether the list is non-empty. 0x00916EF0 59 UIClass__check_bounds_match ui_framework Compares a 4-value bounding rect (param_2) against the bounding rect at offset 0x38 of a child element at offset 0xC0. Returns 1 if all 4 values match exactly, 0 otherwise. 0x00916F30 29 UIClass__clear_listbox_and_redraw ui_framework Zeros all data values in the list box via UIListBox__zero_all_data_values, then invokes virtual redraw method (vtable offset 0x98) on the child widget at offset 0xF8. 0x00916F50 163 UIClass__create_and_add_text_widget ui_framework Creates a new UI widget (0xD0 bytes) via UIScrollbarWidget__ctor, sets its text via UITextWidget__set_text_if_fits, positions it at (0,0), applies a setting via virtual method 0xB4, then adds it to the parent via CEffect__add_child_to_list_end. Updates parent bounds from child dimensions. 0x00917000 110 UIClass__clear_string_vector_at_12c ui_framework Clears a vector of 0x18-byte string entries at offsets 0x12C-0x130. First zeros out each string content (sets length to 0, null-terminates buffer), then destroys all string objects and resets the vector end pointer to begin. Always returns 1. 0x00917070 138 ui_calculate_text_width_abs game_core Calculates absolute text width for a UI string. Calls FUN_00a80580 to measure the string, subtracts two offset parameters, multiplies by a float scaling factor (DAT_010dc090), and returns the absolute value of the result. 0x00917100 1121 UISkillBarWnd__handle_skill_drag_drop game_core Handles drag-and-drop operations for skill bar entries. Two main paths: (1) If param_4 is a skill entry (flag at offset 0x80 set), handles placing skills into hotbar slots based on grid position, looking up skill data via FUN_00e088a0 and managing the global skill list (DAT_01737a78). (2) If not a skill entry, processes direct slot assignments using FUN_0091c500 and FUN_00e25f20. Manages linked list traversal for removing duplicate entries. Calls virtual methods 0x94 and 0x98 for updates and redraws. 0x00917640 1441 UISkillBarWnd__handle_extended_drag_drop game_core Extended drag-and-drop handler for the skill bar with navigation map support. Uses CUINavMap__tree_lower_bound to look up a group index. Similar to UISkillBarWnd__handle_skill_drag_drop but supports multiple skill bar rows (via DAT_017326f4 row offset). Handles skill placement, removal, and swapping between slots using timeGetTime for timing checks. Creates animation entries via FUN_00ca4f30 and STL_list_push_back_0x340. 0x00917D70 1052 render_line_with_trail_effect game_render Renders a line between two points with a trailing visual effect. Computes direction angle using acos, rotates perpendicular offset for line thickness (param_13), clips against two bounding rectangles (params 5-12). Submits textured quads for the line segment with optional arrowhead at the tip when param_17 < 1.0. 0x00918190 89 UIClass__render_colored_rect_list ui_framework Renders colored rectangles for list entries. Iterates through a linked list at offset 0xB4, filtering entries matching DAT_013899bc. Draws filled rectangles using per-entry bounds (offsets 0x40-0x4C) with cycling colors from DAT_0133abcc array (12 colors max, wrapping at index 0xC). 0x009181F0 260 UIClass__render_tab_bar ui_framework Renders a tab bar for a UI window. Gets base position, iterates through string entries (0x18 bytes each from vector at offset 0x138+0xB4), drawing each tab as a filled rect. Selected tab (index at 0x114) gets lighter alpha (0x66000000), others get darker (0x99000000). Also draws a content area rect using bounds at offsets 0xC4-0xD0 with color at 0xD8. 0x00918300 127 UIClass__render_two_rects ui_framework Renders two filled rectangles. First draws an overlay rect at (1,1) with dimensions from offsets 0xEC/0xE8 in semi-transparent black (0x66000000). Then draws a content rect using bounds from offsets 0xC0-0xCC with color at 0xD4. 0x00918380 1150 render_dashed_line_with_arrowhead game_render Renders a dashed line with optional arrowhead between two points. Computes line direction angle, perpendicular offset for thickness (param_6), and scales total length by param_10. Draws dash segments as textured quads with fading alpha (starting at 0x33FFFFFF, incrementing by 0x33000000 each segment). Dash size controlled by param_5. Optional arrowhead drawn at the end if param_10 < 1.0. 0x00918800 307 UISkillTreeNode__render_detail_sprites game_core Renders detail sprites for a skill tree node. Gets the current node via UISkillWnd__get_skill_tree_node, iterates through detail entries, looks up sprite frames using stub_0056fbb0/stub_0056f410, and draws each via virtual method 0x28 on the UI renderer. Positions sprites using node coordinates scaled and offset by the widget's center point. 0x00918940 121 UIWindow__draw_item_with_quantity ui_events Draws an item sprite with quantity overlay. First calls UIWindow__draw_item_sprite for the base sprite rendering. If the item has a non-zero quantity at offset 0x10, formats it with lua_util_sprintf and draws the number text at position (x+0x1B, y+0x11) in white (0xFFFFFF). 0x009189C0 932 UIClass__render_npc_kafra_animation ui_framework Renders an animated NPC Kafra sprite. Loads sprite/action data for "npc_4_f_kafra6" via FUN_00aee770 with __RTDynamicCast. Calculates animation frame from timeGetTime() using 4000ms cycle divided by entry count. Looks up sprite frame data, renders as textured quad with 0.8 alpha and UV coordinates. Stores rendered bounds at offset 0x218-0x224. 0x00918D70 1243 UIClass__render_tooltip_popup ui_framework Renders a tooltip popup for an element at offset 0xC0. Draws highlight border if element quality < 100, copies element position, looks up position offsets from string map. Positions tooltip at 130x130 rect near the element, clamped to screen bounds. Renders the element name in white/gray text at (x+3, y+0x73), gets display name via FUN_00dde770, renders it in gold (0xD2FF) text at (x+3, y+3). Creates a texture resource via stub_005717a0. Allocates a 0x14-byte bounds struct at offset 0xC8. 0x00919250 80 UIClass__render_tooltip_background ui_framework Renders the tooltip background. If offset 0xD0 is non-null, draws a filled rect (130x130) with semi-transparent black (0x88000000) at the position stored at offset 0xC8, then invokes virtual method 0x2C on the tooltip texture to render the content on top. 0x009192A0 1080 UIClass__render_list_entries_with_text ui_framework Renders list entries with text and optional status labels. For each entry matching DAT_013899bc, draws a white bounding rect, truncates name text to remove last 4 chars, measures and centers it horizontally. If the entry name matches a lookup result (from FUN_00ad6450 virtual method 0x18 with param 9), also draws a secondary label in pink (0x8080F0) below the name. 0x009196E0 1130 UIWorldMap__render_main_view game_core Main rendering function for the world map view. Sets up viewport clipping via CWorldView__clamp_tab_and_set_texture. Renders zone overlay rects with per-zone colors/textures. Calls UIClass__render_waypoints for waypoint rendering. Draws selection highlight if DAT_01389998 is set. Renders node face icons, connection lines, tooltip/info panel. Manages two animation sequences (at offsets 0x53 and 0x67) using frame timing with sqrt-based distance calculation for route arrow progression. Calls UIWorldMap__render_map_route_arrows and UIClass__render_route_visualization. 0x00919B50 677 UIClass__render_autocomplete_dropdown ui_framework Renders an autocomplete dropdown near a UI element. Frees previous bounds (offset 0xC4), measures text widths of all entries in the linked list (at offset 0xBC+0x4C). Positions the dropdown adjacent to the element (right or left depending on space). Compares each entry name against the current input via FUN_00e08c70 (case-sensitive byte compare), highlighting matches in pink (0x8080F0) vs white (0xFFFFFF). Allocates a 0x14-byte bounds struct and draws the bounding outline. 0x00919E00 673 UIClass__render_entry_labels ui_framework Renders text labels for entries with quality < 100. Gets font size from DAT_013899e0 array, iterates entries from stub_00617940 vector. For each entry, copies the name string, measures text width, and renders centered text with shadow (FUN_00a84360) using DAT_013899d8/dc colors. 0x0091A0B0 1814 UIClass__render_entry_labels_extended ui_framework Extended label rendering for entries. Handles two cases: (1) entries with quality < 100 - renders name label with shadow text, and (2) entries with quality >= 100 - renders each sub-entry with alternating vertical positioning, draws bounding rects with border color, centered text with shadow in multiple font sizes. Uses multiple color globals from DAT_01389xxx. 0x0091A7D0 397 UIWindow__render_highlights_91a7d0 ui_events Renders highlight rectangles for entries matching the current selection. Gets the current map name via virtual method 0x18 on the mode-1 field. Iterates the linked list at offset 0xB4, and for entries matching DAT_013899bc, compares the entry name string against the current map name. If equal, draws a green border (0x23AEE8); otherwise draws a light pink border (0x7EE2F7). Uses CEffect__draw_3d_border for the rect outline. 0x0091A960 748 UIClass__render_connections_and_nodes ui_framework Renders connection lines and node textures between entries. Loads two textures for node rendering. For each entry with quality < 100: if it has sub-entries, draws connecting lines via render_line_as_textured_quad with highlighting for selected items, and renders source node texture. For single entries, renders the node directly. Uses stub_005717a0 for texture loading. 0x0091AC50 949 UIClass__render_waypoints ui_framework Renders waypoint entries. Iterates through entries from util_00617270/util_00617220, draws filled rects with color DAT_01389bec. Draws connecting lines between consecutive waypoints using render_line_as_textured_quad. For the last waypoint, compares its name against an icon resource name - if matching, renders an icon texture centered at the waypoint position with semi-transparent alpha. 0x0091B010 132 render_selection_highlight_overlay game_render Renders a selection highlight overlay. If DAT_01389998 is non-zero and DAT_013899bc matches DAT_01389968, renders a textured rect using texture from DAT_011423ac with near-full alpha (0xEEFFFFFF) over the selection bounds from DAT_013899a0-ac. 0x0091B0A0 205 render_zone_overlay_rects game_render Renders zone overlay rectangles. Iterates through entries from util_00617860/handler_00617730, draws filled rects with per-zone colors from DAT_01389a2c array, then overlays textured rects with zone-specific textures from DAT_01389a6c array using stub_005717a0. 0x0091B170 1163 UIWorldMap__render_node_face_icons game_core Renders path/route lines on the navigation map. Gets the current map name via get_field4_if_mode1. For each entry in the linked list matching DAT_013899bc, compares the entry name against the current map. Loads one of two face textures: "worldview\\interface\\wv_face1.bmp" if names match, or "worldview\\interface\\wv_face.bmp" if different. Renders the texture as a centered rect near the entry with 0xEEFFFFFF alpha, sized proportional to DAT_013899c0 scale. 0x0091B600 156 render_minimap_dots game_render Renders small dots on the minimap. Iterates through pairs of coordinates from DAT_016fc59c to DAT_016fc5a0, scales each by param_3 * DAT_011425e4, offsets by (param_1, param_2), and draws 2x2 pixel dots in green (0xF0F00A). 0x0091B6A0 165 render_player_position_dot game_render Renders the player's position on the minimap as a colored dot. Gets player coordinates via FUN_00b961e0, converts to map coords via FUN_00b97e90, draws a 3x3 blue dot (0xFF) with a 1x1 yellow center (0xFFFF). Returns 1 if player position was valid, 0 otherwise. 0x0091B750 169 UIClass__render_selection_and_tooltip ui_framework Renders selection highlight and tooltip for the current element. If element at 0xC0 and bounds at 0xC8 exist, draws selection rect with DAT_01389c08 color. If tooltip texture at 0xD0 exists, draws 130x130 semi-transparent background and renders texture. Also draws dropdown bounds at 0xC4 if present. 0x0091B800 298 UIClass__process_text_with_item_links ui_framework Processes text by stripping item link tags. Copies the input string, calls CItemLink__strip_link_tags to remove link markup, then iterates through entries at offsets 0xF4-0xF8, calling FUN_00879390 to get display text for each entry. Moves string data via direct field copy (6 dwords) for each match. Returns the processed output in param_2. 0x0091B930 144 UIGridWnd__hit_test_cell game_core Performs hit testing on a grid window to determine which cell was clicked. Validates click is within bounds (x: 0x1B to width-0x1A, y: 0x5F-0x16D). Calculates row (from y: 0x87 row height) and column (from x: 0x51 col width). Sends message type 8 with cell index via DAT_013495bc virtual method 0x18. 0x0091B9C0 87 UIClass__find_entry_by_flag_offset ui_framework Searches a tree (DAT_01732d74) for the first entry with a non-zero byte at offset (0x2C + param_2). Returns the corresponding element from the vector at offset 0xF4 using the entry index. Returns 0 if no matching entry found. 0x0091BA20 233 UIListWnd__hit_test_filtered_item game_core Hit tests a filtered list to find which visible item was clicked. Validates click bounds. Iterates items, comparing each name against FUN_00b00f00(0x60D) to filter visible entries. Counts visible items starting from offset 0xC4, mapping the click Y-position (0x14-pixel rows) to a visible item index. Returns the raw index or -1 if nothing hit. 0x0091BB10 175 UIGridWnd__hit_test_tree_item game_core Hit tests a tree-based grid to find which item was clicked. Validates click is within bounds (x: 0x14 to width-0x14, y: 0x78 to height-0x1E). Iterates through tree nodes from DAT_017381cc, counting visible entries from page offset (0x1A4 * 0x1AC). Maps click Y-position (0x28-pixel rows) to an item index. Returns raw index or -1. 0x0091BBC0 442 UIShopWnd__on_click_item game_core Handles click on a shop window item. Resets selection (0xE0 = -1). If shop list is empty, constructs an empty CShopItem. Otherwise validates click bounds (x: 5-width-10, y: 100 to rows*item_height) and calculates item index from Y position. If valid, copies item description from the shop data array (0x158-byte entries from DAT_0173820c). Returns param_2. 0x0091BD80 149 UIKeyBindWnd__hit_test_key_slot game_core Hit tests key binding slots in a two-column layout. Validates click is within horizontal margins (offset 0xC8) and vertical bounds (offsets 0xBC-0xC0 with padding 0xCC). Calculates slot index from Y position divided by item height (0xD0). If click is in right half, adds the column offset (0xB8). Validates against total count from FUN_00e0a4c0. Returns slot index or -1. 0x0091BE20 89 CUINavMap__lookup_group_value game_core Looks up a group value from the navigation map tree. Calls CUINavMap__tree_lower_bound to find the entry. If found and key matches, returns the value at offset 0x18. Otherwise returns 0. Uses sentinel node at offset 0x7FAC. 0x0091BE80 253 UIClass__init_entry_from_string_and_bounds ui_framework Initializes an entry struct from a string and bounding rect. Copies the string, then copies the 4 bounds values + a flag into offsets 6-0x12 of the output. Calculates center position (x + width*0.5, y + height*0.5) and stores at offsets 0xB/0xC. Stores width and height as floats at 0xD/0xE. 0x0091BF80 1138 UIClass__process_click_on_map ui_framework Processes mouse clicks on the navigation map. If get_field_0x17e0 returns 0 or less, handles single-entry click: gets current map name, initializes a zone entry, adds to linked list, and searches category list. If > 0, handles multi-entry click: iterates through item nodes, for each node checks if its name matches any entry in the linked list at offset 0xB4. If no match found, creates a new zone entry and searches category list. Uses STL linked list push_back for matched entries. 0x0091C400 203 UIClass__find_entry_in_category_list ui_framework Searches for an entry by name in the category list (DAT_013899c4-c8). Copies the entry name from offset 0x20, then iterates categories calling util_00613c30 for each. If found, stores category index, copies 5 bounding values to offsets 0xE-0x12, and returns 1. Returns 0 if not found. 0x0091C4D0 36 skill_slot_index_to_pixel_x game_core Converts a skill bar slot index to pixel X position. Starts at X=5, increments by 0x1D (29) per slot. Returns -1 if slot index would exceed X=0x3F (63). Max 2 slots (indices 0-1). 0x0091C500 63 UISkillBar__hit_test_slot_single_row game_core Hit tests a single-row skill bar. Validates Y < 0x18 (24 pixels). Validates X is within slot bounds (0x1D pixel slots starting at offset 4). Returns slot index 0-based, or -1 if click is outside any slot. 0x0091C540 177 UISkillBar__hit_test_slot_multi_row game_core Hit tests a multi-row skill bar. Resets row index (offset 0x158). Calculates total height from row count (0x15C) times 0x21 pixels. If DAT_0173a765 is set, adds one extra row. Validates bounds, determines row from Y (0x21 pixel rows) and column from X (0x1D pixel columns, starting at offset 0xF). Stores row in DAT_017326f4 and offset 0x158. Returns column index or -1. 0x0091C600 164 UIClass__find_node_at_position ui_framework Finds a node at a given (x,y) screen position. First checks if the position is within the currently selected element's bounds (offset 0xC0, fields 0x38-0x44). If outside or no selection, traverses a red-black tree (DAT_01737954) using in-order iteration, checking each node's bounding box (offsets 5-8 as dwords). Returns the node's value at offset 4 (typically a map/zone index), or -1 if no node contains the position. 0x0091C6B0 100 UIClass__calculate_frame_delta_time ui_framework Calculates frame delta time in seconds. On first call (flag at 0xDC == 1), initializes timestamp from timeGetTime(). Computes elapsed milliseconds since last call, converts to float seconds by dividing by DAT_010dd25c (likely 1000.0). Returns the delta time as float10. Stores current time at offset 0xD8. 0x0091C720 654 UIKeyBindWnd__get_hotkey_entry_info game_core Gets hotkey entry information for a key binding list. Takes category (param_2), index (param_3), and resolve flag (param_4). If param_4 is set, resolves the actual key via compute_hotkey_index_with_special_ids. Searches the red-black tree map at offset 0xDC+category*8 for matching entries. If found, copies display strings via struct_copy_with_two_strings. Falls back to lua_get_hotkey_config and UIMapEntry__move_ctor for generating default entries. Returns struct with key code (offset 0), flags (offsets 1-2), and two display strings. 0x0091C9B0 44 UIClass__get_scroll_state ui_framework Copies scroll/view state from the object into param_2. Copies 7 values from offsets 0xC4-0xDC into the output struct (scroll position, view bounds, and flags). Always returns 1. 0x0091C9E0 44 UIClass__get_scroll_state_b ui_framework Copies scroll/view state from offsets 0xC0-0xD8 into param_2 struct (7 dwords). Similar to UIClass__get_scroll_state but reads from offset 0xC0 instead of 0xC4. Always returns 1. 0x0091CA10 1258 UIKeyBindWnd__build_hotkey_tree_maps game_core Builds hotkey tree maps for the key binding window. Iterates through 4 hotkey categories, calling CUserHotKey__remap_hotkey_category for each. For each hotkey in each category, calls Lua functions "GetUserHotKeyInfo" and "GetOriginalHotKeyInfo" to get display strings. Inserts entries into per-category red-black tree maps (at offsets 0x37+category*2) keyed by hotkey index. Each tree node stores the key index and two display strings. Calls virtual method 0x98 after completing all 4 categories. 0x0091CF00 58 reset_navigation_search_state game_core Resets the navigation search state. Clears the search string to empty, zeros out DAT_01737fa0/a4/a8 (search results/indices) and DAT_01737f80 (search mode flag). 0x0091CF40 101 UIClass__clear_all_entries ui_framework Clears all entries from the UI class. Destroys the linked list at offset 0xB4 via FUN_0090fae0, resets list head/tail pointers, zeros out count (0xB8), tooltip (0xD0), selection (0xC4/0xC8/0xC0), element (0xBC), and flag (0xCC). 0x0091CFB0 3069 UINavigator__load_map_specific_navigation_data game_core Loads map-specific navigation data based on the current map name. Checks if the map name matches special maps via UIClass__is_special_map_name. For mode 0 maps (izlude, ra_fild12, yuno): pushes 4 texture entries each. For mode 1 maps (einbroch, lighthalzen, hugel): pushes 4-7 texture entries depending on the specific map. Each branch constructs strings and calls CEffectParticle__push_back_texture_entry, then calls UIClass__rebuild_navigation_entries. If already initialized (flag 0x35), returns immediately. Returns 1 if data was loaded, 0 if map is not special or already loaded. 0x0091DBB0 1219 UINavigator__populate_zone_entries_from_map game_core Populates navigation zone entries from a string map. Looks up entries via std__map_string__find_or_insert_34, copies the element array, then iterates each entry calling CWorldView__find_child_zone_by_name_in_groups. For each found zone, copies the zone name string, initializes entry bounds via UIClass__init_entry_from_string_and_bounds, and appends a 0x3C-byte element to the vector at offset 0x8. Cleans up temporary string/array allocations. 0x0091E080 101 UIClass__copy_and_init_entry ui_framework Copies an entry's name string (from offset 0x20) and initializes it via UIClass__init_entry_from_string_and_bounds. 0x0091E120 937 UIClass__rebuild_navigation_entries ui_framework Rebuilds navigation entries from a source vector. Clears the current 0x3C-element vector, then iterates the source param_2 array (0x18-byte elements). For each element, calls CWorldView__find_child_zone_by_name_in_groups to look up the zone. If found, copies the zone name string, calls UIClass__init_entry_from_string_and_bounds to set up bounds, and appends a new 0x3C-byte entry to the vector. Sets flag at offset 0x35 to 1 when complete. 0x0091E4D0 403 UIClass__is_special_map_name ui_framework Checks if a map name matches certain special maps. Based on mode (offset 0x2C): mode 0 checks for "izlude.rsw", "ra_fild12.rsw", "yuno.rsw"; mode 1 checks for "einbroch.rsw", "lighthalzen.rsw", "hugel.rsw". Returns 1 if match found, 0 otherwise. 0x0091E670 185 UIClass__find_and_push_entry_by_name ui_framework Searches the linked list at offset 0xB4 for an entry whose name (at offset 0x28 in the node) matches the given string. If found, pushes a value to a list via std__list_push_back_string and returns 1. Returns 0 if no matching entry found. 0x0091E730 169 UIClass__has_entry_in_string_map ui_framework Checks if a given string key exists in the string map. Calls FUN_0090fa50 (lower_bound) and compares the result. Returns true if the key is found in the map, false if not present (comparing against sentinel DAT_01456f7c). 0x0091E7E0 27 UIClass__has_valid_quality_widget ui_framework Checks if the quality widget at offset 0x13C is valid. Returns 1 if the widget exists and its sub-member at +0x28 is non-zero, 0 otherwise. 27 bytes. 0x0091E810 327 get_quality_rating_string game_core Returns a quality rating string based on a numeric quality value. Initializes output with a 4-byte prefix (0xBDC0F8BE). Quality >= 100: msg 0x991; 50-99: msg 0x992; 20-49: msg 0x993; 5-19: msg 0x994; 1-4: msg 0x995. Uses FUN_00b00f00 for message lookup. Returns empty for quality 0. 0x0091E960 93 UIClass__set_position_clamped ui_framework Sets the UI element position, clamping to screen bounds. X is clamped to [0, screen_width - widget_width], Y defaults to 0x136 if out of bounds. Calls UIWidget__set_offset_and_refresh_b and updates global position cache at DAT_01737f78/7c. 0x0091E9C0 125 UIClass__set_position_and_notify ui_framework Sets widget position and notifies parent. Calls UIWidget__set_offset_and_refresh_b, gets absolute position via FUN_00a7d870, updates internal offsets at 0xC4 and 0xC8. If DAT_01457a70 is non-null, sends notification via virtual method 0x94 with message type 6, subtype 0xC5, and absolute dimensions. 0x0091EA40 78 UIClass__set_position_with_adjustment ui_framework Sets position with auto-adjustment. Stores initial (x,y) at offsets 0x1C/0x20, calls FUN_00a914a0 to get adjustment deltas, adds them to position. Clamps Y to >= 0. Then calls FUN_00aab0d0 to finalize. 0x0091EA90 114 UIClass__set_position_and_update_map ui_framework Sets widget position and updates the position map. Calls UIWidget__set_offset_and_refresh_b, gets absolute position, stores X at 0xC0 and Y+offset(0xE8) at 0xC4. Updates the std::map at offset 0xF4 with the new absolute position (x at +0x34, y at +0x38 in the map entry). 0x0091EBA0 140 UIClass__update_button_visibility ui_framework Updates visibility of three child buttons (at offsets 0x83-0x85). If DAT_014a67f4 is 0 or DAT_016fc55c is non-zero, positions buttons at fixed locations (0x14F,0), (0x177,3), (0x83,0) and sets DAT_016fc550=1. Otherwise hides all three by moving them offscreen (-100,-100). Then triggers redraw. 0x0091EC40 343 UIClass__initialize_list_with_controls ui_framework Initializes a list UI with controls. Creates a sprite widget (0xB4 bytes) via UISpriteWidget__ctor at offset 0x2D, positions it, creates button and close button widgets via CUIEquipWindow helpers. Creates a radio button group (0x10C bytes) via FUN_0084f010 at offset 0x45, sets up filter tabs. Calculates visible rows from height (param_3 - 0x26) / 0x14. Calls virtual method 0xD4 to finalize. 0x0091EDA0 1872 UIClass__init_navigation_dialog_buttons ui_framework Initializes navigation dialog buttons (1872 bytes). Creates two UIDialogBox widgets at offsets 0xB4 and 0xB8 with button textures (normal/cancel states), a text widget with CNavigatorDialog vtable at 0xBC, and sets up their positions and child relationships. Sets focused widget and message ID 0xB8. 0x0091F4F0 2782 UIClass__init_escape_shortcut_buttons ui_framework Initializes 7 escape/shortcut button dialog boxes (2782 bytes). Creates UIDialogBox widgets in a loop for escape key shortcuts (esc_01, esc_001, esc_08, esc_09, esc_02, esc_05, esc_10) stored at offsets 0x2D-0x33. Each button gets 3 texture states (normal/a/b). Positions buttons based on param_1[0x34] mode (0=5 columns, 1=2 rows, 2=3 rows). 0x0091FFD0 3456 UIClass__initialize_navigation_window ui_framework Initializes the navigation window (3456 bytes). Sets up all child widgets, buttons, text fields, and data structures for the navigation/map UI. 0x00920D60 1274 UIClass__init_job_list_panel ui_framework Initializes the job list sub-panel (1274 bytes). Creates an editable text widget at 0xB4 with "Job_List" label, a close button, and a dialog box button at 0xD0 with 3 texture states. Zeroes out 6 fields at 0xB8-0xCC. 0x00921260 711 UIClass__init_navigation_minimap_controls ui_framework Initializes navigation minimap controls (711 bytes). Creates a UIDialogBox button at 0xB4 with "Alt+B" shortcut label and 3 texture states, a scrollbar widget at 0xB8 with text from message 0xCC6, then calls UISkillBar layout. 0x00921530 1339 UIClass__init_navigation_details_list ui_framework Initializes the navigation details scroll list (1339 bytes). Creates a UIColoredScrollListBase at 0xB4 and populates it with ~25 rows of message strings (0x8C1-0x8D0, 0xC90-0xC92) as categorized detail labels with spacer rows between sections. 0x00921A70 5664 UIClass__build_navigation_database ui_framework Builds the navigation database (5664 bytes, >5000 - renamed based on context). Large initialization function that populates the navigation graph/tree with map data. 0x009230A0 5991 UIClass__parse_navigation_config ui_framework Parses navigation configuration data (5991 bytes, >5000 - renamed based on context). Reads and processes map configuration files for the navigation system. 0x00924810 568 UIClass__init_party_booking_help_panel ui_framework Initializes the party booking help panel (568 bytes). Creates a colored scroll list at 0xB4 and calls the Lua function "GetPartyBookingHelp" to populate help text content. 0x00924A60 2760 UIClass__populate_navigation_list ui_framework Populates the navigation list view (2760 bytes). Fills the list with filtered navigation entries for display. 0x00925530 2107 UIClass__handle_navigation_list_click ui_framework Handles click events on the navigation list (2107 bytes). Processes item selection, expansion, and navigation actions. 0x00925D70 5685 UIClass__render_navigation_list_items ui_framework Renders navigation list items (5685 bytes, >5000 - renamed based on context). Draws the scrollable list of navigation entries with icons, text, and selection highlights. 0x009273B0 3555 UIClass__initialize_skill_window ui_framework Initializes the skill window (3555 bytes). Sets up child widgets, skill tree display, and tab controls for the skill UI. 0x009281A0 2227 UIClass__handle_skill_window_message ui_framework Handles messages for the skill window (2227 bytes). Processes skill selection, leveling, and drag operations. 0x00928A60 3191 UIClass__init_character_preview_slots ui_framework Initializes character preview slots (3191 bytes). Creates a dialog box button at 0x19E4, then for each entry in DAT_017334CC, creates tab widgets at 0x199C+ and builds sprite resource paths (head palette, body palette, weapon, shield, IMF) using sync_and_get_current_map_id. Stores character appearance data (job, equip locations, sprite paths) per slot for the character selection/preview UI. 0x009296E0 2722 UIClass__render_skill_tooltip ui_framework Renders skill tooltip information (2722 bytes). Displays skill name, description, level requirements, and SP cost in a tooltip popup. 0x0092A190 1405 UIClass__handle_skill_list_event ui_framework Handles events for the skill list view (1405 bytes). Processes mouse clicks and keyboard input for the flat skill list display. 0x0092A710 2246 UIClass__render_skill_list ui_framework Renders the flat skill list display (2246 bytes). Draws skill entries in a scrollable list format with icons and level information. 0x0092B000 886 UIClass__render_route_visualization ui_framework Renders route visualization on the map (886 bytes). Draws animated route lines showing the path between navigation points. 0x0092B380 1185 UIClass__process_route_data ui_framework Processes route/path data for navigation (1185 bytes). Calculates and stores route segments for visualization. 0x0092B830 389 UIClass__render_skill_tree_node_sprites ui_framework Renders skill tree node sprites with animation (389 bytes). For each detail entry in the current skill tree node, finds/acquires tile cache entries and draws them at centered positions. Advances animation frame counter on a timer (offset 0xB4 ms interval), wrapping back to 0 when reaching the node count. 0x0092B9C0 729 UIClass__render_item_list_with_checkboxes ui_framework Renders an item list with checkboxes (729 bytes). Draws left and right borders with tiled sprites, a vertical separator line, then iterates over items drawing text entries at x=0x32 with selection highlight, checkbox icons based on boolean state at 0xEC+index, and row separators. Returns early when visible row count (0xBC) is reached. 0x0092BCA0 49 UIClass__draw_minimap_background_sprite ui_framework Draws the minimap background sprite (49 bytes). Loads a sprite resource from a path and draws it at position (0,0). 0x0092BCE0 251 UIClass__render_paired_text_list ui_framework Renders a paired text list (251 bytes). Iterates over entries at offsets 0x84-0x88 (0x18 bytes each), drawing text alternately at x=6 and x=0x32, with text height advancing the y position after each pair. 0x0092BDE0 214 UIClass__render_minimap_title_label ui_framework Renders the minimap title label (214 bytes). Builds a formatted string using an obfuscated map ID (DAT_01733C40) and message 0x5CB, loads the result as a texture resource, stores it at offset 0xD4, then draws its border. 0x0092BEC0 1904 UIClass__render_full_minimap ui_framework Renders the full minimap view (1904 bytes). Draws the complete minimap with background, terrain, and all overlay elements. 0x0092C640 111 UIClass__render_minimap_background ui_framework Renders the minimap background area (111 bytes). Draws the title bar, fills the main area with a sampled background color, and draws the bottom tiled border. 0x0092C6B0 1949 UIClass__handle_minimap_message ui_framework Handles messages for the minimap window (1949 bytes). Processes zoom, pan, click, and display mode changes for the minimap. 0x0092CE50 106 UIClass__render_minimap_icon_sprite ui_framework Renders the minimap icon sprite (106 bytes). If offset 0x2C >= 0, checks whether a window of type 0xE4 exists and is visible. If so, loads the sprite path from offset 0xB4, otherwise from 0xCC. Draws the loaded sprite at (0,0). 0x0092CEF0 1317 UIClass__initialize_minimap_window ui_framework Initializes the minimap window (1317 bytes). Sets up the minimap display area, child widgets, and data structures. 0x0092D420 518 UIClass__render_world_map ui_framework Renders the world map view (518 bytes). Draws the full world map with zone boundaries and player position. 0x0092D660 1915 UIClass__handle_world_map_message ui_framework Handles messages for the world map window (1915 bytes). Processes zoom, click, and navigation events on the world map display. 0x0092DDE0 49 UIClass__draw_world_map_background_sprite ui_framework Draws the world map background sprite (49 bytes). Loads a sprite resource from a path and draws it at position (0,0). 0x0092DE90 922 UIClass__initialize_world_map_window ui_framework Initializes the world map window (922 bytes). Sets up the world map display area, zoom controls, and navigation elements. 0x0092E230 195 UIClass__setup_map_texture ui_framework Sets up the map texture for rendering (195 bytes). Loads and configures the map background texture resource. 0x0092E300 614 UIClass__render_map_with_markers ui_framework Renders the map with entity markers (614 bytes). Draws the map background and overlays entity positions (NPCs, players, etc). 0x0092E570 1644 UIClass__handle_map_interaction ui_framework Handles map interaction events (1644 bytes). Processes click, drag, and zoom interactions on the map display. 0x0092EBE0 3321 UIClass__initialize_map_system ui_framework Initializes the map system (3321 bytes). Sets up all map-related data structures, textures, and configuration for the map/minimap subsystem. 0x0092F8E0 2698 UIClass__process_map_data_update ui_framework Processes map data updates (2698 bytes). Handles dynamic updates to map data such as zone changes, NPC positions, and waypoint modifications. 0x00930370 476 UIClass__finalize_map_initialization ui_framework Finalizes map initialization (476 bytes). Completes the map system setup after all data has been loaded and processed. 0x00930550 144 UIShopWnd__render_tab_buttons game_core Renders shop window tab buttons. Selects between active/inactive textures for two tab buttons based on global flags DAT_01457a75 and DAT_01457a76. Draws at x=0 and x=offset 0xb8. 0x009305F0 24 UISkillBarWnd__on_mouse_move_header_check game_core Mouse move handler for skill bar window. If y < 17, delegates to UIWindow::draw_header_area for header interaction. 0x00930610 269 UIShopWnd__handle_click_item_slot game_core Handles click on shop window item slot. Hit-tests column position to determine clicked slot index. If slot has valid map ID, navigates to map via CMapInfoMgr. Otherwise iterates warp entries. Sends selection notification (0x29) to parent. 0x00930720 81 UIGridWnd__on_mouse_move_update_hover game_core Mouse move handler for grid window. If y > 0x77, performs hit test on tree items, updates hover index at offset 0x1A8, and triggers repaint/notification on change. 0x00930780 376 UIShopWnd__handle_buy_item game_core Handles buying an item from the shop. Hit-tests click position, looks up item from shop array. If shop has purchase limit (DAT_0173821e), shows confirmation dialog (msg 0x6f9). Constructs buy packet (0x83c) with item IDs and sends via network. 0x00930900 171 UISkillBar__on_slot_click_navigate game_core Handles click on a skill bar slot. Performs multi-row hit test, checks if the slot contains a valid map entry, and either navigates to the map category or iterates warp entries. Sends notification msg 0x29. 0x009309B0 131 UISkillBar__on_mouse_move_show_tooltip game_core Mouse move handler for skill bar. When DAT_01732d84 is set and cursor is within window bounds, shows tooltip at adjusted position using the child widget at offset 0x12C. 0x00930A40 60 UISkillBar__trigger_expand_notify game_core Triggers skill bar expand notification. Sets expand flag at offset 0xBC to 1 on first call, then sends msg 0x11A via the UI manager with the value at offset 0xB8. 0x00930A80 243 UIListWnd__on_click_toggle_checkbox game_core Click handler for list window with checkboxes. Performs filtered item hit test, toggles check state at offset 0xEC+index, syncs to map at offset 0x108, and tracks whether all items are checked at offset 0x10C. 0x00930B80 334 UIKeyBindWnd__on_click_show_dropdown game_core Click handler for key binding window. Performs key slot hit test, shows/hides a dropdown popup at the slot position with parsed items from string resource 0x5CE. Sends msg 0x29 notification. 0x00930CD0 111 UIWindow__toggle_child_visibility ui_events Toggles visibility of a child window found by ID at offset 0xE4. Looks up window via FUN_00aa5f70 or FUN_00a978d0, toggles show/hide, and sends msg 0x10F to parent. 0x00930D40 367 UISkillBar__on_click_tab_and_filter game_core Click handler for skill bar tabs and filter buttons. Handles tab toggle (DAT_01732d84), layout updates across all skill bar instances via DAT_014576ac, and extended controls toggle (DAT_014576a4). 0x00930EB0 456 UISkillBar__handle_grid_cell_click game_core Handles click on a skill bar grid cell. Calculates cell index from mouse position in a 0x1d-wide column grid. Looks up the cell's skill/item data: for items (flag==0), finds item in linked list and opens item display. For skills (flag!=0), gets skill entry and opens skill display via CGameMode. Delegates header clicks to UIWindow__prepare_render_context. 0x00931090 70 UIGridWnd__on_mouse_move_update_hover_y78 game_core Mouse move handler for grid window (variant with y threshold 0x78). Updates hover index at offset 0x1A8 via tree item hit test and triggers repaint on change. 0x009310E0 510 UISkillBar__handle_slot_click_use_skill_or_item game_core Handles click on a skill bar slot to use a skill or view an item. Hit-tests multi-row slot position. For skills: checks level requirement via CSkillEffect, then opens skill display via CGameMode. For items: finds item in linked list and opens item display. Also handles extended skill slots beyond the normal limit (using DAT_0173a765 flag). 0x009312E0 80 UIWindow__on_click_send_parent_msg_c1 ui_events Click handler that sends notification msg 0xC1 to parent window ID 0x84 with the value at offset 0xF4. Only active when DAT_01732d84 is set. Also handles header draw. 0x00931330 88 UISkillBar__toggle_expand_flags game_core Toggles skill bar expand flags. If param_2 is within range of offset 0xB8, toggles DAT_01457a75; otherwise toggles DAT_01457a76. Sends msg 0x10F and triggers repaint. 0x00931390 68 UIWindow__on_click_check_center_area ui_events Click handler that checks if click is in the center area (x: 8-0x86, y: 0x27-0xA5). If click is within bounds, sends msg 0x1AD to parent via vtable 0x94. Always delegates to UIWindow__on_window_focus_reset for focus handling. 0x009313E0 9 thunk_to_UIWindow__on_window_focus_reset_009313e0 ui_events Thunk that jumps to UIWindow__on_window_focus_reset (at 0x008ba2c0). Simple pass-through with no additional logic. 0x009313F0 756 UIAutoComplete__show_suggestions game_core Shows autocomplete suggestions popup. Clears old suggestions, gets input text from helper, builds suggestion list from matching entries. If empty, applies to input directly. Otherwise creates popup window sized to fit suggestions, positions near cursor. 0x009316F0 29 UIWindow__on_mouse_up_focus_reset_and_refresh ui_events Mouse up handler. Resets window focus state via UIWindow__on_window_focus_reset, then calls virtual function at vtable offset 0x2C to trigger a refresh/update pass. 0x00931710 142 UIWindow__on_mouse_up_notify_parent_at_cursor ui_events Mouse up handler: draws footer bar, then checks if cursor is within parent window (ID 1) bounds. If so, sends msg 0x76 to the parent via vtable offset 0x94. 0x009317A0 50 UIListWnd__on_mouse_move_update_hover game_core Mouse move handler for a list window. Performs filtered item hit test, updates hover index at offset 0xB8, and triggers repaint on change. 0x009317E0 311 UIKeyBindWnd__on_mouse_move_show_tooltip game_core Mouse move handler for key binding window. Performs key slot hit test, looks up key entry info, and shows a tooltip string at the computed position using FUN_00ad6510. 0x00931920 860 UIShopWnd__show_item_tooltip game_core Shows tooltip for shop item or skill on hover. Hit-tests slot position. For items (flag 0xbc==0): builds item tooltip with price via CItemDB. For skills (flag!=0): formats skill tooltip with SP/AP costs using type5/type6 format. Draws tooltip at slot position. 0x00931C80 964 UIShopWnd__show_hover_tooltip game_core Shows hover tooltip in shop window. Hit-tests mouse position across 3 regions (items, buy area, sell area). For shop items: shows item name with line break truncation. For other items: builds full item tooltip via CItemDB. Calculates tooltip position aligned to grid. Shows colored text based on item rarity. 0x00932050 2192 UISkillBar__show_slot_tooltip game_core Shows tooltip for skill bar slot on hover. Hit-tests multi-row slot position. For items: builds item tooltip with price (msg 0xb7). For skills: formats skill tooltip with level, SP/AP costs using type2/type3 format. For invalid slots: shows slot name text. Also handles homunculus skill level capping. 0x009328F0 47 UIWindow__on_mouse_up_update_position_if_active ui_events Conditional mouse-up handler. Only updates window position (via UIWindow__update_position_with_snap) if this window matches the active window from get_field_0x19c and DAT_01732d84 is exactly 1 (drag mode active). 0x00932920 536 UIWindow__update_cell_position_and_tooltip ui_events Updates UI cell position based on x,y coordinates. Checks if target differs from self, searches linked list for matching cells within bounds, sets active cell pointer at offset 0x2f, and creates/copies tooltip info struct (0x54 bytes) from map data including position and bounding rect. 0x00932B40 37 UIWindow__on_mouse_move_show_tooltip_and_update ui_events Mouse move handler wrapper. First shows item tooltip at position (via UITooltipWnd__show_item_tooltip_at_pos with filter=-1), then updates window position with snap. Combines tooltip display with position tracking. 0x00932B70 38 UIWindow__on_mouse_move_update_position_if_self ui_events Conditional mouse move handler. Only updates window position (via UIWindow__update_position_with_snap) if this window instance matches the active window returned by get_field_0x19c. Acts as a self-check guard for position updates. 0x00932BA0 219 CPathAnimator__update_segment_progress game_core Updates path animation segment progress. Calculates distance between current and next waypoints in 0x3c-sized segments, computes sqrt of distance, and advances progress by delta_time * speed_factor. Sets progress ratio at offset 0x1c. Wraps to next segment when distance reached. 0x00932C80 409 UIWindow__update_tooltip_from_map_entry ui_events Updates tooltip content from a map entry at offset 0xC0. Compares entry name with current tooltip name, and if different, copies new name string and initializes tooltip entry from string and bounds. Accumulates display time with delta and caps at 1.0. 0x00932E20 89 UIWindow__check_loading_timeout_and_close ui_events Checks if loading is complete (field 0x30 == field 0x31). If complete, starts a 2-second timeout timer using timeGetTime. After 2 seconds, calls FUN_00a8cf20(0xc4) to close/hide the loading window. 0x00932E90 151 CAnimController__advance_frame_by_tick game_core Advances animation frame based on elapsed ticks from GetTickCount. Uses a frame duration table (4 entries with 0xb elements each) to determine when to advance to next frame index. Wraps frame index back to 0 when reaching end of sequence. Accumulates total elapsed time at offset 0x34. 0x00932F80 623 UISkillBar__handle_right_click_slot game_core Handles right-click on skill bar slot at given x,y position. Maps screen coords to calendar-style grid (0x1d-wide cells). If slot is empty, builds item tooltip and shows info window (type 0xc). If slot is occupied, opens skill use window (type 0x2e) and positions tooltip relative to screen bounds. 0x009331F0 218 UISkillBar__on_right_click_show_item_info game_core Handles right-click on skill bar to show item info popup. Looks up clicked item via UIShopWnd__on_click_item. If item ID is in valid ranges (0xA0-0x149 or 6-0x31), creates a type 0xC window (item info popup) and sends msg 0x18 with item data. 0x009332D0 726 UISkillBar__handle_double_click_skill_slot game_core Handles double-click on skill bar slot. Hit-tests multi-row skill bar, checks skill level requirement via CSkillEffect, and either uses the skill directly (type 0x2e window) or shows tooltip info (type 0xc window). Positions popup relative to screen bounds. Supports extended skill slots beyond the normal limit. 0x009335E0 66 UISkillBar__handle_scroll_page game_core Handles scroll/page navigation on skill bar. If skill bar has items (field 0x30 != 0), calculates page size clamped to max 3, negates for positive scroll direction, and sends scroll command (type 7) via vtable call with scroll amount. 0x00933630 66 UISkillBar__handle_scroll_page_secondary game_core Secondary scroll handler for skill bar, same logic as handle_scroll_page but uses different field offsets (0x6e for item check, 0x6c for page size, 0x42 for target). Handles scrolling on a secondary skill bar panel. 0x00933680 183 UIListView__update_scrollbar_from_items game_core Updates scrollbar range based on list view item count. Calculates total items from vector (field 0xC8-0xCC, 4 bytes per item), determines if scrollbar is needed, clamps scroll position within valid range, and calls CUIScrollBar__set_range_and_position. Triggers parent refresh via vtable 0x98. 0x00933740 173 UIGridView__update_scrollbar_from_item_count game_core Updates scrollbar for grid view based on global item count DAT_017381d0 divided by items per row (field 0x1AC). Calculates visible rows (field 0x1B0), determines scroll range, clamps scroll position, and updates scrollbar via CUIScrollBar__set_range_and_position. Triggers parent refresh. 0x009337F0 248 UISkillBar__layout_tab_buttons game_core Layouts tab buttons for the skill bar window. When drag mode (DAT_01732d84) is off and no items, hides all 4 child controls offscreen (-100,-100). Otherwise positions them horizontally from right edge with -2 spacing between each. Controls at offsets 0x104, 0x100, 0x128, 0x12C. 0x009338F0 130 UISkillBar__layout_filter_buttons game_core Layouts 3 filter buttons for skill bar. When drag mode is off, hides all 3 controls offscreen. Otherwise positions them from right edge with -2 spacing. Controls at offsets 0xE4, 0xDC, 0xE0. 0x00933980 256 UISkillBar__layout_extended_controls game_core Layouts extended skill bar controls based on global flag DAT_014576a4. When off, hides 6 controls offscreen. When on, positions them at specific coordinates relative to window height minus field 0x49 offset. Controls include items at offsets 0x30, 0x2F, 0x2E, 0x38-0x3A. 0x00933A80 163 UISkillBar__layout_mode_dependent_controls game_core Layouts controls based on UI display mode (DAT_01737f80). Modes 0-2: hides secondary control, sets width to 600, optionally shows extra control in mode 1 at (41,115). Mode 3: centers primary control and sets narrow width 0xB8. Triggers parent refresh via vtable 0x98. 0x00933B30 81 UISkillBar__update_page_button_visibility game_core Updates page navigation button visibility. Enables/disables prev button (offset 0x46) based on current page > 1, and next button (offset 0x47) based on current page < max pages. Triggers parent refresh via vtable 0x98. 0x00933B90 277 UISkillBar__layout_rows_by_mode game_core Layouts skill bar rows based on display mode (field 0x34). Mode 0: shows all 7 rows spaced 0x17 apart, resizes window to full height. Mode 1: shows 2 rows. Mode 2: shows 3 rows. Hides unused rows offscreen (-100,-100). Rows stored at offsets 0x2D-0x33. 0x00933CB0 71 UIKafraService__register_lua_callbacks game_core Registers Lua callback functions for Kafra service. Binds 'AddItmeTokafraServiceMapList' to FUN_009419b0 and 'AddItmeToExceptionMiniMapPosList' to FUN_00941870. Both registered with json__internal callbacks at type 0xFFFFD8EE. 0x00933D20 49 UIWindow__on_resize_update_scroll_area ui_events Handles window resize by calling base resize handler and updating scroll area dimensions. Sets scroll width to window width - 6 and scroll height to window height minus header height (field 0x11C). 0x00933D60 174 UIWindow__on_resize_layout_children ui_events Handles window resize with child layout. Calls base resize, repositions scrollbar (field 0xBC) flush to edges, positions close button (field 0xE4) at x offset, and updates scroll/content area dimensions. Stores width/height in std::map entries at offsets 0x3C and 0x40. 0x00933E10 42 UIWindow__set_child_width_fixed_338 ui_events Sets the width field of the child control at offset 0x124. Clamps the input to a minimum of 0x152 (338px) and also caps at 0x152, effectively always setting width to exactly 0x152. Stores in child+0xC and calls UIWorldMapWnd__layout_all_controls to refresh layout. 0x00933E40 1305 CChatWnd__save_chat_window_layout game_core Saves chat window layout to 'SaveData\\ChatWndInfo_U.lua'. Writes drag state, then iterates active chat sub-windows writing position (XPos, YPos), dimensions (Width, Height), tab name/state, and 25 filter options per window. Handles both docked (no position) and undocked (with position) windows. Uses CFileStream for file I/O. 0x00934360 991 CUserHotKey__save_hotkeys_to_file game_core Saves user hotkeys to file. Iterates 4 hotkey categories, clearing each via 'ChangeUserHotKey' Lua call. Builds filename from 'SaveData\\UserKeys' path, concatenates with user-specific suffix. If file has content, calls 'SaveUserHotKeys2' Lua function and formats hotkey data using FUN_00b00f00(0xdf4). Also calls FUN_00aab0b0 for category 1. 0x00934740 62 UIWindow__set_timer_params ui_events Sets timer parameters for a UI window when command is 0x50. If param_4 is 0, sets timer target (field 0xB8). Otherwise sets timer callback (field 0xC4), resets counter (field 0xC0), and sets interval to 200ms (field 0xB4). 0x00934780 121 UINavigationWnd__handle_msg_command game_core Handles message commands for navigation window. Command 6/0xC1: updates navigation target, copies 25 filter bytes, updates page display. Command 6/0xC9: opens help window (0x84). Command 6/0xD5: sets all 25 filters to same value and refreshes. Commands 7/9/10: handles page scrolling with prev/next/page navigation. Updates scroll position and refreshes display. 0x00934A10 1409 UIChatInputWnd__handle_msg_command game_core Handles chat input window commands. Command 0: triggers vtable 0x94. Command 0x22: sets display mode. Command 6/0xB8: processes chat input text - validates length (min 4 chars), checks for item links, forbidden words ('gravity', '[gm'), MBCS byte length (max 23 bytes). On success, copies input to whisper target fields. Shows error messages via FUN_00a901e0. Command 6/0xB9: calls FUN_00aa2c90. 0x00934FA0 400 UIMenuWnd__handle_button_commands game_core Handles menu button click commands. Button 0x173: disconnects and closes windows (0x9B, 0xA4, 0x10D). Button 0xFB: closes menu and sends command 0x58. Button 0x161: sends command 0xFA. Button 0x172: toggles window 0x9C. Button 0x174: shows character select confirmation dialog. Button 0x1C9/0x1CA: toggles windows 0xEC and 0x271E respectively. Falls through to UIWindow__handle_button_click for unknown commands. 0x00935270 354 UISkillWnd__handle_msg_command ui_windows Handles skill window messages. Command 6/0xB8: saves hotkeys and closes window. Command 6/0xB9: clears all skill tree data (4 categories). Command 6/0xD5: toggles extended skill bar mode (DAT_014576a4/DAT_014576a6), updates layout. Commands 0x13C/0x13D: page prev/next. Command 0x16B: handles map window message. Command 0x16: tab selection with pagination for >36 items. Falls through to UIWindow__handle_button_click for unknown commands. 0x00935610 570 UIMemorialWnd__handle_msg_command game_core Handles memorial dungeon (instance) window messages. Command 0x22: sets instance data and refreshes position/display. Command 6/0xB8: builds party member availability packet (0x808), iterates party members checking if they have active instances, sends network packet. Shows error if no members available. Command 6/0xC9: closes window 0xAA. 0x00935850 130 UIBasicMenuWnd__handle_msg_command game_core Handles basic menu window messages. Command 0: sends vtable 0x94 with field 0x23. Command 6/0xB8: closes window 0x89. Command 6/0xB9: sends packet 0x2CF with current mode. Command 6/0xC9: calls vtable 0x38(0), resets DAT_01737f74 in mode 2. Command 6/0xD3: sends command 0x132 if conditions met. Command 0x3C: relayouts controls. 0x009359D0 39 UIRankingWnd__handle_close_command game_core Simple message handler that only handles command 6/0xC9 by closing window 0xE5. Returns 0 for all other commands. 0x00935A00 130 UIWorldMapWnd__handle_msg_command game_core Handles world map window messages. Very large command handler supporting map navigation (0x150/0x1B9), search (0x141), bookmarks (0xBF/0xE1/0xEE), close (0xC9), toggle view (0xCA), checkbox states (0xD5), minimap toggle (0x11C), tab switch (0x22/0x27), resize (0xE/7). Loads navigation data from files, manages bookmark lists, handles coordinate-based map selection. 0x00936360 264 CChatWnd__handle_msg_command game_core Main chat window message handler. Extremely complex function handling: text input (0xB8) with forbidden word filtering, item/chat link parsing, whisper name extraction; tab management (0x16/0xCA/0x75/0x76) with add/remove/reorder; chat display (0x25/0x73) with per-tab filtering and link rendering; font size (0xF); scroll (2/3/4); resize (0x22/0x74); context menu (0xE1/0xEE). Over 5000 bytes. 0x00938810 50 UISimpleWnd__handle_close_only game_core Simple window handler that only processes close command (6/0xC9) by calling FUN_00a8cf20(0xAD). Falls through to UIWindow__handle_button_click for all other commands. 0x00938850 1204 UIShortcutWnd__handle_msg_command game_core Handles shortcut window messages. Command 0x17: refreshes 2 shortcut slots, looking up items/skills by ID. For items, validates via FUN_00ddd4e0. For skills, searches skill lists (DAT_01737a78), tries multiple skill lookup functions (FUN_00e096f0/FUN_00e09a10/FUN_00e095b0). Command 0x22: sets data source. Command 0x29: activates shortcut - items send use command (0x1B), skills send cast command (0x71). 0x00938E30 93 UIBasicInfoWnd__handle_button_commands game_core Handles basic info window button commands. Button 0xDC: sends command 0x19 (sit/stand). Button 0xFB: closes window 0x81 and sends command 0x58. Button 0xFC: sends quit command (0x19 with flag 1), closes windows 0x81 and 0x10D. Button 0x161: sends command 0xFA. Button 0xB9: closes window 0x81. 0x00938FF0 126 UINavigationMapWnd__handle_msg_command game_core Handles navigation map window messages. Command 0: if search box has text, triggers search. Command 6/0xC0: toggles display mode flag at field 0x35. Command 6/0xC8: opens sub-window and updates button visibility. Command 6/0xC9: closes window. Command 6/0x141: gets search text and calls FUN_00b995d0 for search, updates display. Command 0x27: if from map list, selects map; if from item list, triggers navigation. Command 0x3C: clears and rebuilds entries. 0x009393E0 132 UIWarpWnd__handle_msg_command game_core Handles warp window messages. Command 6/0xC9: closes window 0xA9. Command 6/0xCA: toggles window collapse. Command 6/0x157: opens history window 0xAD. Commands 6/0x16D and 6/0x17C: validates warp target level input (numeric, within range), builds warp packet 0x804 with region/map/job data, sends level+map+job info string. Command 6/0x17D: selects warp from grid. Commands 7/9/10: scroll page. Command 0x22: sets data source. Command 0x27: selects region/category/map from sub-lists. Command 0x62/0x17A: toggles window 0xA8. 0x00939EE0 702 UIWarpListWnd__handle_msg_command game_core Handles warp list window messages. Command 6/0xB8: iterates 8 category trees collecting selected party member IDs (up to 6), validates level input, builds warp party packet 0x802 and sends. Command 6/0xCA: toggles collapse. Command 0x22: sets data source. Command 0x27: handles list selection for region/sub-region/category with item population. 0x0093A640 420 UIInstanceWnd__handle_msg_command game_core Handles instance/memorial dungeon list window messages. Command 6/0xC9: sends packet 0x806 and closes window 0xAA. Command 6/0xCA: toggles collapse, repositions two child controls. Command 6/0x11C: opens window 0xAA and updates map button sprites. Command 0x22: sets data source and refreshes display. 0x0093A7F0 503 UIGuildExpelWnd__handle_msg_command game_core Handles guild expel confirmation window. Command 6/0xB8: shows confirmation dialog (0x4BB), then iterates guild members collecting those with active status (up to 9), builds expel packet 0x28C with guild ID, member count, and member data array. Shows error if no valid members found. Command 6/0xD5: increments/decrements selection counter, caps at 9 with error message. 0x0093A9F0 719 UIMailSendWnd__handle_msg_command game_core Handles mail send window messages. Command 6/0xC9: sends cancel packet 0x83B and closes. Command 6/0xD5: toggles checkbox at offset 0xED. Command 6/0xD7: selects recipient tab (iterates child windows). Command 6/0x16D: validates input, searches items by name, validates amounts and file names, builds mail send packet 0x835 with attachments and sends. Command 0x3C: handles server responses (success/fail status codes 0-4, 0x183). Commands 0x62/0x13C/0x13D: page navigation through search results. 0x0093B450 140 UISkillBarExtended__handle_msg_command game_core Handles extended skill bar messages. Command 6/0xC9: closes with FUN_00aaa310(0x24,0). Command 6/0xD8: cycles through display pages (1-4). Command 6/0xD9: goes to previous page. Command 6/0x225: toggles skill group visibility. Commands 6/0x24C/0x24D: switches between item/skill mode tabs. Command 0xE: resizes window based on page count and mode. Command 0x17: refreshes all 36 skill slots using multiple skill lookup databases. Command 0x22: sets data source and initializes display. Command 0x29: activates skill/item use. Command 0x8F: handles skill rotation with timing-based cleanup. 0x0093C210 1754 UIChatSubWnd__handle_msg_command game_core Handles chat sub-window messages. Command 0: processes text input, measures text width, auto-sizes input box, updates display. Command 3/4: scroll page up/down. Command 6/0xC1: opens notification popup. Command 6/0xCA: removes chat tab from undocked windows. Command 6/0x15B: calls FUN_00a8b0a0. Command 6/0x165: sends merge command. Command 0xE/7: handles resize with 32px grid snapping, min size 280x74. Command 0x22: sets data source. Command 0x25: adds chat text with link detection and whisper name highlighting. Command 0x74: handles child resize. 0x0093CA50 83 UIScrollableWnd__handle_scroll_and_page game_core Handles scroll and page commands for a scrollable window. Command 6/0xC5: repositions window based on scroll position minus header offset (field 0x2F). Command 6/0xCA: jumps to page (field 0x2E * position + 1). Falls through to UIWindow__handle_button_click for others. 0x0093CAB0 28 UIWindow__open_child_on_command6 ui_events Simple handler that opens a child window via FUN_00a978d0 when receiving command 6. The child window type is specified by param_3. Returns 0 always. 0x0093CAD0 144 validate_and_copy_map_name_pair game_core Validates two map name strings by looking up each via FUN_00b01200 and FUN_00aee770. If both are valid (non-zero results), copies both strings into the internal string buffer using STL_lib_func_004fa8f0. Used to validate map name pairs for warp/navigation features. 0x0093CB60 1328 UIWorldMapWnd__load_navigation_file_by_index game_core Loads a navigation data file by index from the bookmark vector (field 0x4B). Opens file from path built with FUN_00af62d0, reads CSV-like data line by line using fgets/strtok, parsing tokens into string vectors. Calls FUN_00b93110 to process each parsed line, then calls FUN_0093d620 to populate the navigation list. Returns 1 on success, 0 on failure. 0x0093D090 384 CChatWnd__set_visible_and_refresh_tabs game_core Sets chat window visibility and refreshes all tabs. If hiding (param_2=0), calls FUN_00a8cd70. If showing, refreshes display and calls FUN_00aab0d0. Iterates all child chat sub-windows (field 0x3D-0x3E) calling vtable 0x38 with the visibility flag. Also ensures undocked windows (DAT_014576A8 tree) have matching entries created if missing. 0x0093D220 78 UIWindow__set_visible_with_refresh ui_events Sets window visibility with display refresh. If showing (non-zero), sends vtable 0x94 with command 0x17 to refresh data, calls vtable 0x98 to redraw, and FUN_00aab0d0 to notify. If hiding, calls FUN_00a8cd70. Stores visibility in field 0x28 (offset 10). 0x0093D270 75 UIWindow__toggle_child_panel_visibility ui_events Toggles visibility of child panel at offset 0x13C. When showing, calls FUN_00a82e50 to bring to front, checks if panel has been registered (FUN_00a81a30), and adds to manager (FUN_00a7a080) if not. Passes visibility flag to child's vtable 0x38. 0x0093D2C0 856 CChatWnd__layout_chat_font_size game_core Layouts chat window based on font size (param_2, clamped 0-15). When font size is 0: collapses to minimum height (field 0x49), hides all chat sub-windows offscreen, positions 3 action buttons. When font size > 0: calculates height from font size * 14 + header, shows/sizes active tab's sub-window, hides others. Updates scroll buttons, tab buttons, and extended controls layout. 0x0093D620 1165 UIWorldMapWnd__populate_navigation_list game_core Populates navigation list in the world map window. Clears existing entries, then iterates navigation results from FUN_00ba12a0. For each result, formats display text based on type: type 2 (NPC with map name), type 3 (monster with density rating using 5 color tiers: >=100, >50, >20, >5, >1), type 1 (simple map name), type 0 (coordinates). Adds formatted entries to the list via vtable 0x94 command 0x1F. 0x0093DAB0 207 UIWorldMapWnd__layout_search_controls game_core Layouts search-related controls in world map window. Hides all 4 controls initially (-1000,-1000). In non-search mode: shows either list (field 0x3E) or detail view (field 0x3D) based on DAT_016fc564, and positions a button at bottom. Triggers parent refresh via vtable 0x98. 0x0093DB80 410 UIWorldMapWnd__update_status_text game_core Updates status text in world map window based on current mode. In non-search mode (DAT_016fc55c=0): shows generic navigation text. In search mode with type 2: formats search result with map name from FUN_00b98e40 or error message. Otherwise shows default search text. Updates display string and refreshes. 0x0093DD20 430 UIWorldMapWnd__refresh_waypoint_list game_core Refreshes the waypoint list display in the world map when in navigation mode (DAT_016fc560==2). Iterates all waypoints from FUN_00ba12c0, gets each waypoint's map name via FUN_00b8e810, formats with separator, and sends to display via process_func_00616dd0. Also adds current location as the final entry. 0x0093DED0 164 UIWorldMapWnd__update_current_location_display game_core Updates the current location display in the world map window. Refreshes display via vtable 0x98, then gets location string from FUN_00b96a10. If location string is empty, calls helper_00616c20 to clear. Otherwise formats with separator and sends to helper_00616cc0 to update the location indicator. 0x0093DF80 457 UIWorldMapWnd__refresh_route_display game_core Refreshes the route display in the world map. Iterates navigation route segments from FUN_00b96340, formats each with separator and sends to process_func_006172e0 for rendering. Only processes entries where the name string is non-empty. Refreshes display after all routes are added. 0x0093E150 2563 UINavigationWnd__populate_route_list game_core Populates the navigation route list UI. Clears the list box, then based on route type (0-3), formats route info strings (map names, coordinates, costs) using lua_util_sprintf and adds them to the list. Handles routes with waypoints by iterating through route segments. 0x0093EB60 916 UIWorldMapWnd__layout_all_controls game_core Layouts all controls in the world map window based on mode (DAT_016fc55c). In full mode: sizes window from config, positions map lists (0x3D/0x3E), scrollbar (0x4A), search controls, 6 buttons at specific positions, checkboxes, and sets title text (0x89C). In compact/search mode: sets fixed 134x61 size, hides most controls offscreen (-1000), positions only search bar and title (0x89B). 0x0093EF00 747 render_minimap_npc_labels game_render Renders NPC labels on the minimap. Iterates through minimap overlay groups (DAT_01737950/DAT_01737958), for each group iterates entries in an std::map. For each entry, draws a colored rectangle background (0x8F8FBC), truncates label text to fit, measures text width, centers it horizontally, and renders alternating between top and bottom alignment. Uses white text (0xFFFFFF) with font size 10. 0x0093F1F0 4611 UITooltipWnd__show_item_tooltip_at_pos game_core Shows an item tooltip popup at a mouse position. Creates UIBaseDialogWidget if not yet allocated, clears existing string data, performs grid hit test to find the hovered item, then populates tooltip strings with item name, level, description, element, color stats, and positions the tooltip near the cursor within screen bounds. 0x00940400 260 UIWorldMap__update_and_render_navigation_path game_core Updates and renders navigation path on the world map. First checks if navigation state is active via UIClass__update_navigation_state, then updates path animation segment progress (same logic as CPathAnimator__update_segment_progress). Finally calls UIClass__render_route_visualization to draw the path overlay. 0x00940510 1220 UIWorldMap__render_map_route_arrows game_core Renders route arrows on the world map. Updates tooltip from map entry, then iterates route segments (0x3C bytes each) from field 0xE4. For each segment, copies coordinates, loads arrow textures ('mapArrow_head.bmp' and 'mapArrow_body.bmp'), and calls render_line_with_trail_effect with semi-transparent color (0xAAFFFFFF). Special-handles 'izlude.rsw' map positioning. After all segments, renders NPC/Kafra animation at current position. 0x009409E0 416 render_map_label_with_background game_render Renders a map label with a filled background rectangle. Skips rendering if coordinates match the cached tooltip position. Draws white border rect, then semi-transparent black fill (0x66000000). Looks up display name via FUN_00dde770, and renders the label text in yellow-gold color (0xD2FF) with font size 12, offset by (2,5) from top-left corner. 0x00940B80 381 UIWindow__set_tooltip_from_coords ui_events Sets tooltip info from given x,y coordinates. Frees existing tooltip struct (0x54 bytes) if present, then looks up the map cell at the given position via handler_00613ab0. If found, allocates a new tooltip struct, copies cell name string, bounding rect (5 floats at +0x38), and parent map position data (4 floats at +0xC). Triggers redraw via vtable 0x98. 0x00940D00 122 UIWindow__find_cell_at_position ui_events Finds the cell at given x,y position by iterating the linked list at field 0x2D. Matches cells where the current map ID equals DAT_013899bc and the position is within the cell's bounding box (fields 0x10-0x13). Sets field 0x2F to the matched cell pointer+2, or 0 if no match. Triggers redraw. 0x00940D80 87 CChatWnd__toggle_drag_mode game_core Toggles chat window drag/undock mode. Sets global DAT_01457a74 flag. When disabling drag: saves current font size (field 0xC) to field 0x46. When enabling drag: restores font size from field 0x46, resets active tab to 0, ensures minimum font size of 1. Relayouts chat using CChatWnd__layout_chat_font_size and refreshes. 0x00940DE0 56 UIWindow__sync_position_to_config ui_events Syncs window position and size to its associated config structure at offset 0xEC. Copies x (field 0x14) to config+8, y (field 0x18) to config+0xC, width (field 0x1C) to config+0, height (field 0x20) to config+4. Only writes if config pointer is non-null. 0x00940E20 142 UIWorldMapWnd__sync_position_to_config_clamped game_core Syncs world map window position to config at offset 0x124, with screen boundary clamping. Saves x,y position to config+8/+0xC. Clamps width based on current window mode (0xE4 or 0x110) and height to max 0x152. Negative values clamped to 0. 0x00940EE0 56 UIWindow__sync_pos_to_config_0xb8 ui_events Syncs window size and position to config struct at offset 0xB8. Width/height stored at config+0/+4, x/y position at config+8/+0xC. 0x00940F20 56 UIWindow__sync_pos_to_config_0x1d0 ui_events Syncs window position/size to config struct at offset 0x1D0. Position x,y to config+8/+0xC, width/height to config+0/+4. 0x00940F60 56 UIWindow__sync_pos_to_config_0x17c ui_events Syncs window position/size to config struct at offset 0x17C. Position x,y to config+8/+0xC, width/height to config+0/+4. 0x00940FA0 56 UIWindow__sync_pos_to_config_0x1e8 ui_events Syncs window position/size to config struct at offset 0x1E8. Position x,y to config+8/+0xC, width/height to config+0/+4. 0x00940FE0 56 UIWindow__sync_size_pos_to_config_0xb8 ui_events Syncs window size and position to config struct at offset 0xB8. Width/height at config+0/+4, position x/y at config+8/+0xC. Same as UIWindow__sync_pos_to_config_0xb8 but for a different window class. 0x00941020 56 UIWindow__sync_pos_size_to_config_0xb8 ui_events Syncs window position and size to config at offset 0xB8. Position x,y saved to config+8/+0xC, width/height saved to config+0/+4. 0x00941060 189 render_map_overlay_text_with_shadow game_render Renders map overlay text with a dark shadow effect. Iterates through overlay entries (DAT_016fc5b0, 0x2C bytes each), finds entry matching param_1, renders text in dark gray (0x1E1E1E) offset by +1,+1 as shadow, then renders main text in light gray (0xE6E6E6) at original position. Uses font size 12. 0x00941120 108 UIWindow__toggle_linked_window_visibility ui_events Toggles visibility of a linked window identified by field 0x39. If window exists and is visible, hides it; if not visible or doesn't exist, creates/shows it. Sends command 0x10F with the visibility state. Refreshes parent display via vtable 0x98. 0x00941190 1736 UIChatWnd__save_chat_logs_to_file game_core Saves chat logs to files. Creates Chat/ directory under save path, iterates chat channels at offset 0xF4, generates unique filenames (Chat_name.txt or Chat_name_NNN.txt), writes content via CUITreeView, then iterates whisper targets and saves their logs too. Shows 'is Saved.' notification in green. 0x00941870 310 lua_add_item_to_exception_minimap_pos_list lua Lua callback for 'AddItmeToExceptionMiniMapPosList'. Reads map name string (arg 1) and x,y coordinates (args 2,3) from Lua state. Inserts into a string-keyed map via std__map_string__find_or_insert_30, storing the x,y coordinates as floats. 0x009419B0 442 lua_add_item_to_kafra_service_map_list lua Lua callback for 'AddItmeTokafraServiceMapList'. Reads category name (arg 1) and map name (arg 2) from Lua state. Inserts the map name string into a string-keyed std::map vector via std__map_string__find_or_insert_34, adding the map entry to the category's vector of maps. 0x00941B70 92 std__vector_destroy_elements_0x3c stl Destroys vector elements of size 0x3C (60 bytes) each. Iterates from param_1 to param_2, calling STL_string_dtor on each element to clean up strings within the structs. 0x00941BD0 92 std__vector_destroy_elements_0x1c stl Destroys vector elements of size 0x1C (28 bytes) each. Iterates from param_1 to param_2, calling STL_string_dtor on each element to clean up strings within the structs. 0x00941C30 704 STL_rbtree_extract_and_rebalance stl Red-black tree node extraction with rebalancing; adjusts parent/child links and colors after removal 0x00941EF0 1 stub_nop_00941ef0 game_core Single-byte stub function (size=1) 0x00941F00 1 stub_nop_00941f00 game_core Single-byte stub function (size=1) 0x00941F10 1 stub_nop_00941f10 game_core Single-byte stub function (size=1) 0x00941F20 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00942130 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00942340 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00942550 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00942760 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00942970 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00942B80 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00942D90 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00942FA0 84 STL_rbtree_rotate_left_00942fa0 stl Red-black tree LEFT rotation: right child replaces this node as parent, this node becomes left child. Right child's left subtree becomes this node's right subtree. (Was mislabeled as rotate_right) 0x00943000 88 STL_rbtree_rotate_right_00943000 stl Red-black tree RIGHT rotation: left child replaces this node as parent, this node becomes right child. Left child's right subtree becomes this node's left subtree. (Was mislabeled as rotate_left) 0x00943060 206 STL_vector_destroy_and_free_0x1c stl Destroys vector of 0x1c-byte elements containing strings, then frees backing buffer 0x00943130 10 STL_vector_throw_length_error_00943130 stl Throws std::length_error("vector too long") for vector overflow 0x00943140 10 STL_vector_throw_length_error_00943140 stl Throws std::length_error("vector too long") for vector overflow 0x00943150 10 STL_vector_throw_length_error_00943150 stl Throws std::length_error("vector too long") for vector overflow 0x00943160 102 STL_vector_allocate_0x1c_elements stl Allocates aligned memory for vector of 0x1c-byte elements; handles large allocation alignment 0x009431D0 109 CWarpSelect__play_party_alarm game_core Plays party_alarm.wav sound and displays msg ID 0x6d9 in yellow if party member count > 0 0x00943240 115 STL_map_clear_with_string_values stl Clears a std::map by destroying string values in each 0x18-byte node, then resets head pointer 0x009432C0 33 STL_map_clear_nodes stl Clears std::map by recursively freeing all nodes and resetting head/size to empty state 0x009432F0 132 STL_vector_clear_0x3c_elements stl Clears vector of 0x3c-byte elements by destroying string members, resets size to begin 0x00943380 167 STL_vector_clear_0x158_elements stl Clears vector of 0x158-byte elements by destroying two string members per element 0x00943430 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00943470 64 STL_vector_free_buffer_0x3c stl Frees aligned vector buffer for 0x3c-byte elements; handles large allocation pointer fixup 0x009434C0 67 STL_vector_free_buffer_0x1c stl Frees aligned vector buffer for 0x1c-byte elements; handles large allocation pointer fixup 0x00943520 109 STL_list_erase_node_0x340 stl Erases a node from doubly-linked list, frees 0x340-byte node, decrements count 0x009435A0 67 STL_map_lower_bound_uint stl Returns lower_bound iterator for uint key in std::map; returns end if key not found 0x009435F0 163 CWarpSelect__check_map_filter game_core Checks if map passes warp select filter by comparing map/region/category IDs at offsets 0x1C4-0x1C8 0x009436A0 170 STL_list_push_back_0x5c stl Appends new 0x5c-byte node to back of doubly-linked list; throws if list too long 0x00943750 173 STL_list_push_back_0x340 stl Appends new 0x340-byte node to back of doubly-linked list; throws if list too long 0x00943800 39 STL_vector_push_back_uint stl Pushes uint value to back of vector; calls reallocate if at capacity 0x00943830 1800 CWarpSelect__load_initial_data game_core Loads 10 localized strings for warp select categories, then builds map list entries per category 0x00943F40 1062 CWarpSelect__query_region_and_map_data game_core Queries LUA for region info and map info per region; populates region/map vectors for warp select UI 0x00944370 1115 CWarpSelect__create_map_buttons game_core Creates UI buttons for all maps in each region category; inserts into map tree 0x009447D0 837 CWarpSelect__load_category_labels game_core Loads 8 localized strings for warp category labels, then finalizes label setup 0x00944B20 367 CWarpSelect__rebuild_map_filter_tree game_core Clears global map filter tree (DAT_01456f74) and rebuilds from short array (up to 6 filter IDs) 0x00944C90 3100 CWarpSelect__update_map_button_sprites game_core Updates warp select button sprites with online/offline graphics using basic_interface path prefix 0x009458B0 1079 CWarpSelect__query_region_map_data_v2 game_core Queries LUA queryRegionInfo/queryMapInfo starting from region 2; builds map data and calls vtable+0x94 0x00945CF0 367 CWarpSelect__set_selected_region game_core Sets selected region by ID; loads map entries for region, updates labels, triggers redraw via vtable+0x98 0x00945E60 334 CWarpSelect__set_selected_region_alt game_core Sets selected region (alt path); loads map entries and updates labels using offset 0xCC as map count 0x00945FB0 411 CWarpSelect__set_selected_category game_core Switches warp select category tab; copies map name strings and triggers redraw via vtable+0x98 0x00946150 304 CWarpSelect__show_region_category game_core Hides all 8 region category map groups then shows the selected one; triggers redraw via vtable+0x98 0x00946280 34 memcpy_range_to_dest_00946280 stl Copies memory range [param_1, param_2) to param_3; returns dest + bytes copied 0x009462B0 123 STL_vector_clear_map_entry_elements stl Clears vector of 0x1c-byte map entries; destroys string in each element and resets fields 0x00946330 291 STL_vector_insert_0x20_element stl Inserts one 0x20-byte (32-byte) element into vector at given position with reallocation 0x00946470 585 STL_vector_insert_0x1c_element stl Inserts one 0x1c-byte element into vector with grow factor 1.5x; handles aligned allocation 0x009466C0 103 STL_rbtree_destroy_nodes_0x18 stl Recursively destroys red-black tree nodes (0x18 bytes each) in post-order traversal 0x00946730 75 STL_map_find_lower_bound_int stl Finds lower_bound position in std::map for insertion; returns iterator with insert hint 0x00946780 91 STL_vector_construct_map_entry stl Copy-constructs a map entry element at given offset; copies string + 4-byte field at +0x18 0x00946800 196 CUIWindowA__construct_00946800 game_core Constructor for UI window (vtable 01143214); initializes member buffers and string at offset 0x41 0x009468D0 156 CUIWindowB__construct_009468d0 game_core Constructor for UI window (vtable 011432ec); sets timeout to 4000 and initializes vector pointers 0x00946970 96 CUIWindowC__construct_00946970 game_core Constructor for UI window (vtable 011433c4); minimal init with single member at offset 0x2D 0x009469D0 369 CItemSelect__construct game_core Constructor for item select window (vtable 011428c4); calculates page counts from 3 item category arrays 0x00946B50 174 CUIWindowD__construct_00946b50 game_core Constructor for UI window (vtable 01142b50); initializes page counter, string at offset 0x31 0x00946C00 247 CUIWindowE__construct_00946c00 game_core Constructor for UI window (vtable 01142714); inits 2 strings and allocates rbtree sentinel node 0x00946D00 96 CUIWindowF__construct_00946d00 game_core Constructor for UI window (vtable 01143064); minimal init with single member at offset 0x2D 0x00946D60 117 CUIWindowG__construct_with_size game_core Constructor for UI window (vtable 01142f88); takes width/height params and sets position 0x00946DE0 86 CUIWindowH__construct_00946de0 game_core Constructor for UI window (vtable 0114299c); minimal base class init only 0x00946E40 86 CUIWindowI__construct_00946e40 game_core Constructor for UI window (vtable 01142c28); minimal base class init only 0x00946EA0 116 CUIWindowJ__construct_00946ea0 game_core Constructor for scrollable UI window (vtable 011427ec); inits scroll vector at offset 0x21 0x00946F20 134 CUIWindowK__construct_00946f20 game_core Constructor for UI window (vtable 0114313c); initializes string at offset 0x2D with flag=1 0x00946FB0 268 CUIWindowL__construct_with_timer game_core Constructor for timed UI window (vtable 01142a78); inits arrays of 4+7+7 elements, stores timeGetTime 0x009470C0 86 CUIWindowM__construct_009470c0 game_core Constructor for UI window (vtable 01142dd8); minimal base class init only 0x00947120 178 CUITextInput__construct game_core Constructor for text input UI (vtable 01142eb0); inits string buffer, font size 0xC, scroll state 0x009471E0 166 CUIWindowN__construct_with_grid game_core Constructor for grid UI window (vtable 01142d00); inits vector, font=0xC, columns=5, selection=-1 0x00947290 132 CStringValuePair__construct game_core Constructs string+value pair; copies C string to std::string member and stores int value at offset 0x18 0x00947320 99 CStringValuePair__default_construct game_core Default constructor for string+value pair; initializes empty string and value=0 0x00947390 111 STL_rbtree_destroy_and_free_sentinel stl Destroys all nodes in rbtree including sentinel; frees 0x18-byte nodes recursively then sentinel 0x00947430 65 STL_rbtree_destroy_wrapper stl Wrapper that calls STL_rbtree_destroy_and_free_sentinel with SEH frame setup 0x00947480 174 STL_vector_destroy_map_entries stl Destroys vector of 0x1c-byte map entry elements, frees backing buffer, resets pointers to null 0x00947540 129 STL_vector_free_buffer_0x20 stl Frees vector buffer for 0x20-byte (32-byte) elements; handles aligned allocation pointer fixup 0x009475D0 95 CUIWindowA__destructor game_core Destructor for UI window (vtable 01143214); destroys string member then calls base destructor 0x00947630 115 CUIWindowB__destructor game_core Destructor for UI window (vtable 011432ec); releases texture at offset 0x33 then calls base destructor 0x009476B0 71 CUIWindowC__destructor game_core Destructor for UI window (vtable 011433c4); calls base destructor 0x00947700 218 CItemSelect__destructor game_core Destructor for item select window; clears 3 item category vectors and resets page counts 0x009477E0 95 CUIWindowD__destructor game_core Destructor for UI window (vtable 01142b50); destroys string member then calls base destructor 0x00947840 134 CUIWindowE__destructor game_core Destructor for UI window (vtable 01142714); destroys rbtree, 2 strings, then calls base destructor 0x009478D0 71 CUIWindowF__destructor game_core Destructor for UI window (vtable 01143064); calls base destructor only 0x00947920 71 CUIWindowG__destructor game_core Destructor for UI window (vtable 01142f88); calls parent class destructor 0x00947970 71 CUIWindowH__destructor game_core Destructor for UI window (vtable 0114299c); calls base destructor only 0x009479C0 71 CUIWindowI__destructor game_core Destructor for UI window (vtable 01142c28); calls base destructor only 0x00947A10 95 CUIWindowJ__destructor game_core Destructor for scrollable UI window (vtable 011427ec); frees scroll data then calls base destructor 0x00947A70 95 CUIWindowK__destructor game_core Destructor for UI window (vtable 0114313c); destroys string member then calls base destructor 0x00947AD0 248 CUIWindowL__destructor game_core Destructor for timed UI window; clears 4 map entry vectors, destroys 7+7 strings and 4 vectors 0x00947BD0 71 CUIWindowM__destructor game_core Destructor for UI window (vtable 01142dd8); calls base destructor only 0x00947C20 92 CUITextInput__destructor game_core Destructor for text input UI (vtable 01142eb0); destroys string then calls base destructor 0x00947C80 104 CUIWindowN__destructor game_core Destructor for grid UI window (vtable 01142d00); frees 0x20-byte vector buffer then calls base dtor 0x00947CF0 99 CStringValuePair__destructor game_core Destructor for string+value pair; clears string, resets value to 0, destroys string storage 0x00947D60 119 CUIWindowA__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 01143214); optionally frees 0x11C bytes 0x00947DE0 139 CUIWindowB__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 011432ec); optionally frees 0xD8 bytes 0x00947E70 99 CUIWindowC__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 011433c4); optionally frees 0xB8 bytes 0x00947EE0 242 CItemSelect__scalar_destructor game_core Scalar deleting destructor for item select window; optionally frees 400 bytes 0x00947FE0 119 CUIWindowD__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 01142b50); optionally frees 0xDC bytes 0x00948060 158 CUIWindowE__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 01142714); optionally frees 0xF8 bytes 0x00948100 99 CUIWindowF__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 01143064); optionally frees 0xB8 bytes 0x00948170 99 CUIWindowG__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 01142f88); optionally frees 0xB4 bytes 0x009481E0 99 CUIWindowH__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 0114299c); optionally frees 0xB4 bytes 0x00948250 99 CUIWindowI__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 01142c28); optionally frees 0xB4 bytes 0x009482C0 119 CUIWindowJ__scalar_destructor game_core Scalar deleting destructor for scrollable UI window (vtable 011427ec); optionally frees 0x94 bytes 0x00948340 119 CUIWindowK__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 0114313c); optionally frees 0xD4 bytes 0x009483C0 272 CUIWindowL__scalar_destructor game_core Scalar deleting destructor for timed UI window (vtable 01142a78); optionally frees 600 bytes 0x009484D0 99 CUIWindowM__scalar_destructor game_core Scalar deleting destructor for UI window (vtable 01142dd8); optionally frees 0xB8 bytes 0x00948540 116 CUITextInput__scalar_destructor game_core Scalar deleting destructor for text input UI (vtable 01142eb0); optionally frees 0xAC bytes 0x009485C0 128 CUIWindowN__scalar_destructor game_core Scalar deleting destructor for grid UI window (vtable 01142d00); optionally frees 0xE8 bytes 0x00948640 337 CUIWindowN__add_grid_item game_core Adds item to grid window; copies 24-byte name + value pair, recalculates max width and total height 0x009487B0 1367 CUIDialogWindow__setup game_core Sets up dialog window with title, scroll list, buttons (ok/cancel/close); handles 3 button layout modes 0x00948D10 9 CUIWindow__set_position_wrapper game_core Wrapper that forwards to CUIWindow::SetPosition 0x00948D20 702 CItemSelect__render_item_tooltip game_core Renders item tooltip with selected item data from 4 category vectors; builds tooltip display with item info 0x00948FE0 2649 UIMailWnd__populate_mail_list_page game_core Populates mail list page display. Handles 3 mail types (inbox/outbox/deleted at offsets 0x154). For each mail entry (0x74 bytes each), displays up to 10 items per page with name, ID, sender/receiver strings. Sets text colors (0xFF=read, 0=unread) and word-wraps text widgets. 0x00949A40 102 CItemSelect__get_item_index_from_y game_core Calculates item index from Y coordinate based on row height and scroll offset; returns -1 if out of range 0x00949AB0 191 CItemSelect__find_item_at_position game_core Finds item index at screen Y position by iterating through item tree; accounts for item types and spacing 0x00949B70 44 CItemSelect__get_scroll_info game_core Copies 7 scroll info fields (0xC0-0xD8) to output struct for scroll bar state 0x00949BA0 1837 UIDressWnd__register_lua_palette_functions game_core Registers Lua-callable palette/style list functions: get_DressHeadPaletteList, get_Headstylelist, get_DressBodyPaletteList, get_dresslist. Then calls CWarpSelect to find selected indices. 0x0094A2D0 296 CWarpSelect__find_selected_indices_in_lists game_core Finds selected indices in 4 warp selection list controls. Iterates each vector (0x1C-byte elements at offsets 0xD0, 0xDC, 0xE8, 0xF4), searching for entries matching global selection values (DAT_01733528, DAT_01733510, DAT_01733524, DAT_01733540). Stores found indices at fields 0xC0, 0xC4, 0xC8, 0xCC. 0x0094A420 40 CItemSelect__on_move game_core Handles window move event; calls parent move handler and stores position at offset 0xC0/0xC4 0x0094A450 3886 UIItemSearchWnd__create_child_widgets game_core Creates child widgets for item search window. Creates 15 text labels at various positions with different widths (for name, stats columns), an editable text input at (0x5A, 0x2F), and 3 button widgets (search/add/delete) each with 4 texture states. Also creates a colored scroll list for search results. 0x0094B410 233 UIFactory__create_dialog_with_buttons game_core Creates a dialog window with 3 button textures. Allocates 0x120 bytes, calls CDialogWnd__full_ctor, sets up 3 button textures from sprite data, configures size via FUN_00a7b470, positions at (0,0), sets window ID to 0x1FE, and registers with window manager. 0x0094B500 184 UIFactory__create_simple_dialog game_core Creates a simple dialog window. Allocates 0xD0 bytes, calls CDialogWnd__base_ctor, sets title text from message ID 0x10E6 with width 0x96, positions at (15,22), sets window ID to 0xB8, and registers with window manager. 0x0094B5C0 3183 UIMailComposeWnd__create_child_widgets game_core Creates child widgets for mail compose window. Creates 10 rows of 4 editable text fields each (for to/subject/body layout), 3 button widgets (stick on/off, close) with textures loaded from basic_interface, and a tab widget for message tabs. Initializes edit box properties and loads string resources. 0x0094C230 152 UIWindow__set_title_from_message_id ui_events Sets window title from a message ID. Formats title string using FUN_00b00f00(0xA3B) with a count parameter of 300, concatenates via FUN_00af62d0, and copies to the title string field at offset 0xC4. 0x0094C2D0 310 UIFactory__create_tooltip_dialog_at_pos game_core Creates a tooltip-style dialog at given screen position. Creates base dialog (0xD0 bytes) with text from message 0xBE5, width 0x3C. Also creates a child window (0xB4 bytes) with CUIWindowG vtable, positions both relative to the given coordinates with offsets. Sets window IDs 0xC9 and registers with manager. 0x0094C410 195 UIFactory__create_dialog_button_type_a game_core Creates a dialog button type A. Allocates 0x120 bytes, calls CDialogWnd__full_ctor, sets 3 button textures (all from same sprite at 0x01143610), configures size, sets window ID to 0xC0, and registers with window manager. 0x0094C4E0 195 UIFactory__create_dialog_button_type_b game_core Creates a dialog button type B. Same structure as type A but uses different button sprite (0x011436AC). Allocates 0x120 bytes, calls CDialogWnd__full_ctor, sets window ID to 0xC0, and registers with window manager. 0x0094C5B0 1135 UIDressWnd__create_child_widgets game_core Creates child widgets for dress preview window. Creates scroll list with highlight, hotkey slot list, render widget for 3D model preview (100x100 at color 0xE8), loads string resources for labels, creates select and close dialog buttons with textures. 0x0094CA20 1243 UIGenericScrollListWnd__create_close_button_and_list game_core Creates a scroll list base widget and close button for a generic scroll list window. Adjusts list size from parent dimensions (minus 0x18 width, 0x32 height, min 20x30), sets light gray text color (0xF0), then creates close button with 3 texture states from basic_interface path. 0x0094D290 572 UIMailWnd__draw_main_layout game_core Draws the main mail window layout. Renders slot background, border, and tiled bottom. Loads checked/unchecked mark textures. Highlights selected tab in the tab widget (0xC89623 color). Draws column headers from string resources (0x9EA-0x9F4). Calls populate_mail_list_page to fill items, then draws read/unread indicators. 0x0094D4D0 865 UIItemPreviewWnd__draw_preview game_core Draws item preview window. Clears to magenta background, loads item texture by item ID at offset 0xC0, renders it at top-left. Shows a timer (minutes:seconds from offset 0xBC) or 'expired' text if over 300s. Draws item name centered at top and count at bottom-right in white. 0x0094D840 48 CUIWindow__draw_title_text game_core Draws the window title text. Reads SSO string from offset 0xD4 (with buffer capacity check at 0xE8), renders it as a slot background row with border via CUIEquipWindow__draw_slot_background_row and CUIWindow__draw_border_or_texture. 0x0094D910 4572 UIBuyingStoreWnd__draw_item_list game_core Draws buying store item list. Iterates items in a std::set, builds item name strings (with card/option info), renders names with word-wrap and truncation (30 char limit). For each item's card slots, formats quantity text showing current/max amounts with color coding (green if max reached). Limits display to 5 total rows. 0x0094EAF0 363 UIAnimatedTextureWnd__draw_frames game_core Draws animated texture frames. If enabled flag at offset 0xD0 is set, clears and draws background, then loops through frame count at offset 0xCC drawing each texture frame by name from the string buffer at offset 0xB4. 0x0094EC60 126 UIDressRoom__render_header game_core Renders the Dress Room UI header. Draws "Dress_Room" title via CUIEquipWindow__draw_slot_background_row, draws a border/texture, loads and renders a texture asset (s_01143570), and renders item tooltip info at calculated positions. 0x0094ED40 287 UIListWidget__render_items game_core Renders list widget items with selection highlight. Sets text color to magenta (0xffff00ff). Iterates over items in array at offset 0xb4, calculates item height based on widget height and spacing. Draws selected item background in dark gray (0x282828) with border (0xc8c8c8). Renders each item with appropriate color (0x646464 for disabled, 0xffffff for enabled). 0x0094EE80 28 UIWidget__delegate_vtable_0x64 ui_framework Delegates to the parent widget's virtual function at vtable offset 0x64, if parent pointer at this+0x10 is non-null. Used as an event forwarding thunk. 0x0094EEA0 20 UIWidget__delegate_vtable_0x64_b ui_framework Delegates to the parent widget's virtual function at vtable offset 0x64, if parent pointer at this+0x10 is non-null. Second instance of this pattern. 0x0094EF10 107 send_goldpc_cafe_packet game_core Sends GoldPC Cafe packet (ID 0x0a16) to the server. Only sends if DAT_01732638 != 0x14 (service type check). Formats the string "GOLDPCCAFE" into a 0x18-byte buffer and sends via FUN_00c7ce30 with size 0x1a. 0x0094EF80 28 UIWidget__delegate_vtable_0x7c ui_framework Delegates to the parent widget's virtual function at vtable offset 0x7c, if parent pointer at this+0x10 is non-null. 0x0094EFA0 20 UIWidget__delegate_vtable_0x7c_b ui_framework Delegates to the parent widget's virtual function at vtable offset 0x7c, if parent pointer at this+0x10 is non-null. Second instance. 0x0094EFC0 93 UIWidget__render_text_label ui_framework Renders a text label on a UI widget. Checks if text content exists at offset 0xd4, transforms position with offset (10, -20), reads the SSO string from offset 0xc4 and renders it via FUN_00ad6510 with color -1 (white). 0x0094F050 133 UIListWidget__handle_click_select game_core Handles click-to-select on a list widget. Takes a Y position and determines which item index was clicked based on item height calculation. Updates the selected index at offset 0x39. If selection changed and is valid (!= -1), calls the selection changed callback via vtable offset 0x98. 0x0094F0E0 67 UIWidget__check_timer_expiry ui_framework Checks if a timer has expired on a UI widget. Compares current timeGetTime() against a stored 64-bit deadline at offsets 0xb8-0xc4. If the deadline has passed, plays sound effect 0x166 via FUN_00a8cf20. Only runs if enabled flag at 0xcc is set. 0x0094F130 138 UIWidget__update_countdown_timer ui_framework Updates a countdown timer on a UI widget. Uses timeGetTime() to track elapsed seconds. Decrements the remaining time at offset 0x2f by elapsed seconds (clamped to 0). Calls repaint callback and updates global DAT_01738244 with (3600 - remaining). Only runs if widget is visible (offset 0x28 != 0) and timer < 300 and time > 0. 0x0094F1D0 227 UIBuffList__handle_click_on_buff game_core Handles click on a buff/status effect icon list. Iterates through a std::set of active buffs from DAT_0138cf40, categorizing them by type (0xea field: 0=small, 1=medium with extra offset, 2+=large). Calculates which buff was clicked based on Y position and category layout. If selection changed, triggers repaint. If valid selection, sends action event via vtable 0x94 with type 0x31. 0x0094F2C0 60 UIWidget__handle_scroll_event ui_framework Handles mouse wheel scroll on a UI widget. If scrollable flag (offset 0xa5 == 1), sends scroll event via vtable 0x94 with command 7 and direction 0xc (up) or -0xc (down) based on scroll delta sign. 0x0094F300 23 UIWidget__delegate_vtable_0x8c ui_framework Delegates to the parent widget's virtual function at vtable offset 0x8c, if parent pointer at this+0x10 is non-null. 0x0094F320 90 UITabWidget__get_item_id_at_index game_core Gets an item ID from a tab widget at a given tab index (param_2) and selected index. Reads from parallel arrays at offsets 0xd0+tab*0xc (data pointer) and 0xc0+tab*4 (selected index). Each item is 0x1c bytes, ID is at offset 0x18. Returns 0 if out of bounds. 0x0094F380 40 UIWidget__store_position ui_framework Stores the current widget position. Calls FUN_00a82eb0 with params, then saves the widget's x,y from offsets 0x14,0x18 into offsets 0xc8,0xcc. 0x0094F3B0 84 UITabWidget__find_item_index_by_id game_core Finds the index of an item with a given ID (param_3) in a tab widget's data array for tab param_2. Iterates through 0x1c-byte entries, comparing the ID at offset 0x18 of each entry. Returns the 0-based index, or 0 if not found. 0x0094F410 3559 UIAdminToolWnd__handle_command game_core Handles admin tool window commands. Large command dispatcher for GM tool UI. Handles: command 0x40 (search/filter with multiple editable text fields, date parsing, and CItemListWnd integration), command 0x141 (text input with packet 0xb53 for character lookup), command 0xd3 (character selection with packet 0xb4a), command 0x231 (complex date-range search with 14 editable fields for year/month/day/hour/minute, builds time range and sends packet). Uses UIEditableTextWidget__get_display_text extensively to read form inputs. 0x00950200 502 UIBalloonPopupWnd__handle_event game_core Handles events for balloon popup window. On event 6/0x1fe: stores popup ID, creates UIBaseDialogWidget if needed (0xcc bytes), looks up popup data via CSpecialPopupMgr__find_entry_by_key, populates list with text items, positions the dialog, and records timeGetTime() for auto-dismiss timing. Falls through to UIWindow__handle_button_click for unhandled events. 0x00950400 80 UIWindow__handle_button_0xb8_send_packet ui_events Handles button click for a UI window. On event type 6 with button ID 0xb8, sends packet 0xc2a to the server via FUN_00c7ce30. Otherwise delegates to UIWindow__handle_button_click. 0x00950450 573 UIPagedListWnd__handle_event game_core Handles events for a paged list window. On button 0xb8: plays sound 0xfd. On button 0xda: adds a page if within limits (checks against 3 different max values based on mode at 0x55). On button 0xf6: removes a page (min 1), adjusting scroll offset by -20 or -10 depending on layout mode. Event 0x16: switches tab/mode, resetting page state. Event 0x3c: clears all 40 text widget pairs. 0x00950690 166 UIBattleCountdownWnd__handle_event game_core Handles events for a battle countdown window. On event 0x22: stores data, shows/hides window, initializes countdown timer (3600 - param_6 seconds), records timeGetTime(), and checks game setting 0xdb for auto-hide. Triggers repaint on all events. Falls through to FUN_00a83660 for unhandled events. 0x00950740 242 UIMapButtonWnd__handle_event game_core Handles events for a map button window. On event 6: looks up button ID in a std::map; if found calls the mapped handler, otherwise forwards to parent via vtable 0x94 with event 0x1e8. If flag at 0xec is set, stores button ID to global DAT_01457af4. On event 0x39: clears parent display and sends event 0x1d. 0x00950840 530 UITextInputPopupWnd__handle_event game_core Handles events for a text input popup window. On event 6/0xc9: plays close sound. On event 0x22: creates a CUITextInput widget (vtable CUITextInput, 0xac bytes), configures it as a child, copies prompt text, calls FUN_00951bf0 to set up the input, adds to scroll panel, and hides associated buttons. Falls through to FUN_00a83660 for other events. 0x00950A60 249 UIWindow__handle_close_button_check_blocking ui_events Handles close button (0xc0) for a UI window, but first checks if blocking windows are open. Checks windows 0x127, 0x157, 0x2716, 0x169 via FUN_00aa5f70 and shows appropriate error messages (0xbb0, 0xe83, 0xf03, 0xfd6). If no blocking window, plays sound 0x107 or opens window 0x107. 0x00950B60 91 UIWindow__handle_close_send_0xa19 ui_events Handles close button (0xc0) for a UI window. If DAT_01457ae4 == 0, sends packet 0xa19 to the server. Returns 0 for button events, otherwise delegates to FUN_00a83660. 0x00950BC0 1169 UIBuffActionWnd__handle_event game_core Handles events for buff action window (right-click menu on buffs). Event 0x22: stores buff ID and calls ret_one functions. Event 0x30: iterates through buff set from DAT_0138cf40 to find clicked buff, sends packet 0x2b6 (for type 0x30 buffs) or calls CPacketSystem helper (for type 0x31). Event 0x31: rebuilds context menu items from strings 0x656 and 0x15f using CItemEntry__ConstructFromString, creates popup window positioned within screen bounds. 0x00951060 107 UIHotkeySlotWnd__handle_event game_core Handles events for hotkey slot window. Button 0xc9: plays close sound 0x103. Button 0xe2: decrements slot page (wraps 0->7). Button 0xe3: increments slot page (wraps 7->0). Button 0x150: assigns selected skill to hotkey slot. Event 0x27: selects hotkey slot and calls FUN_009514f0 to update display. 0x00951210 129 UIRandomOptionWnd__handle_event game_core Handles events for random option window (item enchant/refine). Event 6: handles button clicks and plays close sound 0x134. Events 0x12/0x13: forwards confirmation/cancel to parent. Event 0x22: checks if text is "Random" (0x646e6152 + 0x6d6f) to show random option message 0xd4, or "cancel" (0x636e6163 + 0x6c65) for cancel message 0xda, otherwise processes via FUN_00ddb7e0/FUN_00dde770. 0x00951440 38 UIWindow__suppress_event_0x30 ui_events Suppresses event 0x30 (returns 0 without handling). For all other events, delegates to FUN_00a83660. 0x00951470 123 CUIWindow__set_title_string game_core Sets window title string at offset 0xB4; assigns value at 0xCC and marks dirty flag at 0xD0 0x009514F0 214 UIHotkeySlotWnd__populate_slot_list game_core Populates the hotkey slot list widget for a given slot page (param_2). Clears the dropdown at offset 0x2e, then iterates through the items array at offset 0x34+page*3 (vector of 0x1c-byte entries with SSO strings). Adds each item's string to the dropdown via vtable 0xd8. Sets the selected index from offset 0x30+page and triggers repaint. 0x009515E0 94 std__vector_0x20__replace_buffer stl Replaces the internal buffer of a std::vector with 0x20-byte elements. Frees the old buffer (with aligned allocation support for >0xfff), then sets begin=param_2, end=param_2+param_3*0x20, capacity=param_2+param_4*0x20. 0x00951640 22 std__vector__clear_entries_thunk stl Thunk that calls STL_vector_clear_map_entry_elements with reordered params. Simple wrapper for vector element cleanup. 0x00951660 1 stub_nop_00951660 game_core Single-byte stub function (size=1) 0x00951670 136 std__vector_0x20__grow_and_copy stl Grows a std::vector of 0x20-byte elements. Allocates a new buffer via FUN_009518a0 with the requested capacity, memcpy's existing data, then replaces the old buffer via std__vector_0x20__replace_buffer. 0x00951720 164 std__vector_0x1c__copy_range_with_strings stl Copies a range of 0x1c-byte elements (containing SSO strings + a 4-byte field at offset 0x18) from [param_2, param_3) to destination param_4. Uses STL_string_copy_construct for each element's string, copies the extra field directly. Returns pointer past the last written element. 0x009517D0 162 std__vector_0x1c__copy_range_with_strings_b stl Copies a range of 0x1c-byte elements (containing SSO strings + a 4-byte field at offset 0x18) from [param_2, param_3) to destination param_4. Same as std__vector_0x1c__copy_range_with_strings but returns void instead of end pointer. 0x00951880 10 thunk_to_std__Xlength_error_00951880 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00951890 10 thunk_to_std__Xlength_error_00951890 stl Throws std::length_error exception for vector overflow 0x009518A0 92 std__allocate_aligned_0x20_array stl Allocates an aligned array of 0x20-byte elements. For small allocations (<0x1000 bytes), does a simple heap alloc. For large ones, allocates extra 0x23 bytes, aligns to 0x20 boundary, and stores the original pointer at aligned-4 for later freeing. Throws bad_array_new_length if count >= 0x8000000. 0x00951900 133 std__vector_0x74__clear_with_string_dtor stl Clears a std::vector of 0x74-byte elements, each containing a string that needs destruction. Iterates from begin to end, calling STL_string_dtor on each element, then resets end=begin. Element stride is 0x74 bytes. 0x00951990 67 std__deallocate_aligned_0x1c_array stl Deallocates an aligned array of 0x1c-byte elements. For allocations >= 0x1000 bytes, recovers the original unaligned pointer from ptr[-4] and adds 0x23 for the original size. Then frees via FUN_00e6227f. 0x009519E0 58 std__deallocate_aligned_0x20_array stl Deallocates an aligned array of 0x20-byte elements. Same pattern as std__deallocate_aligned_0x1c_array but with 0x20-byte element size. 0x00951A20 85 UIListWidget__set_item_enabled_by_id game_core Sets the enabled/disabled state of an item in a list widget by its ID. Iterates through the 0x20-byte items at offset 0xb4, matching param_2 (ID) against offset 0x18 of each item. Sets the enabled flag at offset 0x1c from param_3. 0x00951A80 353 UITextInputWnd__create_text_input game_core Creates a CUITextInput widget (0xac bytes, vtable CUITextInput) for a text input window. Initializes the widget via FUN_00a79a90, sets various text input properties (max length 0xc at offset 0x28), adds as child, copies prompt text, calls CUITextInput__parse_and_layout_text, updates scroll panel, hides associated buttons, and triggers repaint. 0x00951BF0 365 CUITextInput__parse_and_layout_text game_core Parses and lays out text content for a CUITextInput widget. Copies text to internal string if different, creates a linked list for text lines via FUN_00a7e120, traverses the list freeing nodes, then calls virtual functions to reflow (vtable+4) and repaint (vtable+0x98). Cleans up temporary linked list and string afterwards. 0x00951D60 746 std__list_0x80__assign_range stl Assigns a range [param_2, param_3) of linked list nodes to a std::list of 0x80-byte elements (containing 3 SSO strings at offsets 4, 0xf, 0x16 plus scalar fields). Overwrites existing nodes when possible, removes excess nodes (destroying 3 strings each), or appends new nodes as needed via FUN_00953640. 0x00952050 701 std__list_0x38__assign_range stl Assigns a range [param_2, param_3) of linked list nodes to a std::list of 0x38-byte elements (containing 1 SSO string at offset 4 plus scalar fields at offsets 2-3 and 10-0xd). Overwrites existing nodes, removes excess (destroying 1 string each), or appends new 0x38-byte nodes. 0x00952310 240 std__tree_0x44__deep_copy_node stl Recursively deep-copies a std::tree node (red-black tree) with 0x44-byte nodes. Allocates new node via FUN_00e6224f(0x44), copies data via FUN_009535b0 (which copies a string), sets up left/right/parent pointers and color. Recursively copies left child (*param_2) and right child (param_2[2]). 0x00952420 236 std__tree_0x20__deep_copy_node stl Recursively deep-copies a std::tree node with 0x20-byte nodes. Allocates new node via FUN_00e6224f(0x20), copies 16 bytes of data (4 DWORDs at offsets 4-7), sets up tree pointers and color. Recursively copies left and right subtrees. 0x00952530 144 std__tree_0x44__recursive_destroy stl Recursively destroys a std::tree with 0x44-byte nodes containing strings. Traverses in-order: recursively destroys right subtree, saves left child pointer, destroys the string via STL_string_dtor, frees the 0x44-byte node, then continues with left child. 0x009525C0 103 std__tree_0x20__recursive_destroy stl Recursively destroys a std::tree with 0x20-byte nodes (no strings to destroy). Traverses in-order: recursively destroys right subtree, saves left child, frees 0x20-byte node, continues with left child. 0x00952630 103 std__tree_0x18__recursive_destroy stl Recursively destroys a std::tree with 0x18-byte nodes (no strings). Traverses in-order: recursively destroys right subtree, saves left child, frees 0x18-byte node, continues with left child. 0x009526A0 144 std__tree_0x44__recursive_destroy_b stl Recursively destroys a std::tree with 0x44-byte nodes containing strings. Same as std__tree_0x44__recursive_destroy but at a different call site. 0x00952730 103 std__tree_0x20__recursive_destroy_b stl Recursively destroys a std::tree with 0x20-byte nodes. Same as std__tree_0x20__recursive_destroy but at a different call site. 0x009527A0 222 std__list__merge_sort_by_field_0x74_asc stl Merge sort for a doubly-linked list, comparing elements by integer field at offset 0x74 (ascending). Recursive divide-and-conquer: splits list in half, sorts each half, then merges by comparing node[0x1d] values. Modifies list in-place by relinking prev/next pointers. 0x00952880 222 std__list__merge_sort_by_field_0x74_desc stl Merge sort for a doubly-linked list, comparing elements by integer field at offset 0x74 (descending). Same algorithm as ascending variant but with reversed comparison. 0x00952960 385 std__list__merge_sort_by_wstring_0x30_asc stl Merge sort for a doubly-linked list, comparing elements by wide string at offset 0x30 (ascending). Converts strings via FUN_00dde5c0 then uses compare_strings_as_wide_chars for comparison. 0x00952AF0 385 std__list__merge_sort_by_wstring_0x30_desc stl Merge sort for a doubly-linked list, comparing elements by wide string at offset 0x30 (descending). Same as ascending variant but reversed comparison. 0x00952C80 222 std__list__merge_sort_by_field_0x54_asc stl Merge sort for a doubly-linked list, comparing elements by integer field at offset 0x54 (ascending). Same merge sort algorithm as field_0x74 variant but uses different comparison offset. 0x00952D60 222 std__list__merge_sort_by_field_0x54_desc stl Merge sort for a doubly-linked list, comparing elements by integer field at offset 0x54 (descending). 0x00952E40 362 std__list__merge_sort_by_string_field4_asc stl Merge sort for a doubly-linked list, comparing elements by SSO string at offset 4 (ascending). Reads SSO string (checks capacity at offset 9), converts via compare_strings_as_wide_chars for wide string comparison. 0x00952FB0 362 std__list__merge_sort_by_string_field4_desc stl Merge sort for a doubly-linked list, comparing elements by SSO string at offset 4 (descending). Same as ascending variant but reversed comparison. 0x00953120 222 std__list__merge_sort_by_field_0x78_desc stl Merge sort for linked list by integer field at offset 0x78 (descending). 0x00953200 222 std__list__merge_sort_by_field_0x38_asc stl Merge sort for linked list by integer field at offset 0x38 (ascending). 0x009532E0 222 std__list__merge_sort_by_field_0x38_desc stl Merge sort for linked list by integer field at offset 0x38 (descending). 0x009533C0 250 std__list__merge_sort_by_float_0x70_asc stl Merge sort for linked list by float field at offset 0x70 (ascending). Uses float comparison instead of integer. 0x009534C0 234 std__list__merge_sort_by_float_0x70_desc stl Merge sort for linked list by float field at offset 0x70 (descending). Uses float comparison. 0x009535B0 139 tree_node_0x44__copy_data game_core Copies data fields from one 0x44-byte tree node to another. Copies 3 scalar fields at offsets 0-2, then an SSO string via STL_string_copy_construct at offset 3, then 4 more scalar fields at offsets 9-0xc. 0x00953640 194 list_node_0x80__copy_data game_core Copies data from one 0x80-byte list node to another. Copies 2 scalars, then 3 SSO strings via STL_string_copy_construct (at offsets 2, 0xd, 0x14), plus scalar fields between them. Total data includes fields at 0-1, 8-0xc, 0x13, 0x1a-0x1d. 0x00953710 148 list_node_0x80__init_three_strings game_core Initializes a 0x80-byte list node's three SSO strings to empty. Sets string lengths to 0, capacities to 0xf, and first bytes to null at offsets 8, 0x34, and 0x50. 0x009537B0 95 UIWindow_vt3924__ctor game_core Constructor for UI window class (vtable 0x01143924). Inherits from UIWindowBase. Initializes a 2-byte field to 0 at offset 0x2d. 0x00953810 110 UIWindow_vt460c__ctor game_core Constructor for UI window class (vtable 0x0114460c). Inherits from UIWindowBase. Sets vtable to 0x0114445c first then overwrites to 0x0114460c (likely multiple inheritance). Stores param_2 at offset 0x30. 0x00953880 119 UIWindow_vt4384__ctor game_core Constructor for UI window class (vtable 0x01144384). Inherits from UIWindowBase via intermediate vtable 0x011442ac. Initializes two fields to zero at offsets 0x2d and 0x2e. 0x00953900 84 UIWindow_vt4018__ctor game_core Constructor for UI window class (vtable 0x01144018). Inherits via UIWindow_vt3bcc__ctor. Simple constructor with no additional fields. 0x00953960 86 UIWindow_vt445c__ctor game_core Constructor for UI window class (vtable 0x0114445c). Inherits from UIWindowBase. Simple constructor with no additional fields. 0x009539C0 194 UIWindow_vt3ca8__ctor game_core Constructor for UI window class (vtable 0x01143ca8). Inherits via UIWindow_vt3bcc__ctor. Allocates a 0x20-byte linked list node at offset 0x36, initializes state fields 0x38-0x3c to zero, and sets 0x3d from global DAT_016d44a8. 0x00953A90 106 UIWindow_vt42ac__ctor game_core Constructor for UI window class (vtable 0x011442ac). Inherits from UIWindowBase. Initializes two fields to zero at offsets 0x2d and 0x2e. 0x00953B00 522 UIWindow_vt3d84__ctor game_core Constructor for UI window class (vtable 0x01143d84). Inherits via UIWindow_vt3bcc__ctor. Complex constructor with multiple data structures: a linked list at 0x5e (0x80-byte nodes), a tree at 0x60 (0x20-byte nodes), and a tree at 0x63 (0x18-byte nodes). Sets pagination defaults (10 items/page, starting page 1, 6 columns). Initializes tree traversal in the 0x18-byte tree. 0x00953D10 84 UIWindow_vt40f4__ctor game_core Constructor for UI window class (vtable 0x011440f4). Inherits via UIWindow_vt3bcc__ctor. Simple constructor with no additional fields. 0x00953D70 269 CUITabWindow__construct game_core Constructor for tab window (vtable 01143e60); initializes rbtree sentinels and 77 array slots to zero 0x00953E80 223 UIWindow_vt3f3c__ctor game_core Constructor for UI window class (vtable 0x01143f3c). Inherits via UIWindow_vt3bcc__ctor. Allocates a linked list at offset 0x52 (0x4c-byte nodes). Initializes selection index at 0x4d to -1, enabled flag at 0x4f to 1, and various state fields to zero. 0x00953F60 86 UIWindow_vt4534__ctor game_core Constructor for UI window class (vtable 0x01144534). Inherits from UIWindowBase. Simple constructor with no additional fields. 0x00953FC0 84 UIWindow_vt41d0__ctor game_core Constructor for UI window class (vtable 0x011441d0). Inherits via UIWindow_vt3bcc__ctor. Simple constructor with no additional fields. 0x00954020 156 UIWindow_vt3bcc__ctor game_core Base constructor for UI window class (vtable 0x01143bcc). Inherits from UIWindowBase. Initializes 7 fields to zero at offsets 0x2d-0x33. Used as intermediate base by several other UI window constructors. 0x009540C0 84 UIFormattedWidget_vt3ae4__ctor game_core Constructor for UIFormattedWidget (vtable 0x01143ae4). Inherits from UIScrollListBase. Simple constructor. 0x00954120 84 UIFormattedWidget_vt39fc__ctor game_core Constructor for UIFormattedWidget (vtable 0x011439fc). Inherits from UIScrollListBase. Simple constructor. 0x00954180 70 heap_free_0x80_at_offset4 stl Frees a 0x80-byte heap allocation stored at this+4, if non-null. 0x009541D0 67 heap_free_0x38_at_offset4 stl Frees a 0x38-byte heap allocation stored at this+4, if non-null. 0x00954220 67 heap_free_0x44_at_offset4 stl Frees a 0x44-byte heap allocation stored at this+4, if non-null. 0x00954270 67 heap_free_0x20_at_offset4_b stl Frees a 0x20-byte heap allocation stored at this+4, if non-null. 0x009542C0 67 heap_free_0x18_at_offset4_g stl Frees a 0x18-byte heap allocation stored at this+4, if non-null. 0x00954310 158 linked_list_0x80__destroy_all_nodes stl Destroys all nodes in a linked list of 0x80-byte elements. Each node contains 3 strings that are destroyed via STL_string_dtor. Unlinks the list, traverses all nodes, destroys strings and frees each 0x80-byte node. 0x009543B0 126 linked_list_0x38__destroy_all_nodes stl Destroys all nodes in a linked list of 0x38-byte elements. Each node contains 1 string destroyed via STL_string_dtor. Unlinks the list, traverses all nodes, destroys string and frees each 0x38-byte node. 0x00954430 76 std__tree_destroy_0x44_root_b stl Destroys a std::tree with 0x44-byte nodes containing strings. Calls std__tree_0x44__recursive_destroy then frees root node. 0x00954490 111 std__tree_destroy_0x20_all_nodes stl Destroys all nodes in a std::tree with 0x20-byte nodes. Iterates through nodes, recursively destroys subtrees, frees each node, then frees the sentinel. 0x00954510 111 std__tree_destroy_0x18_all_nodes stl Destroys all nodes in a std::tree with 0x18-byte nodes. Iterates through nodes, recursively destroys subtrees, frees each node, then frees the sentinel. 0x00954590 126 cleanup_string_and_free_0x44 game_core Cleanup helper that destroys one embedded std::string, then frees a 0x44-byte heap allocation at this+4. 0x00954610 78 heap_free_0x20_at_offset4_c stl Frees a 0x20-byte heap allocation stored at this+4, if non-null. 0x00954660 78 heap_free_0x18_at_offset4_h stl Frees a 0x18-byte heap allocation stored at this+4, if non-null. 0x009546B0 78 heap_free_0x44_at_offset4_b stl Frees a 0x44-byte heap allocation stored at this+4, if non-null. 0x00954700 78 UIWindow__free_member_0x20 ui_events Frees a member pointer at offset +4 if non-null, deallocating 0x20 bytes via operator delete. 0x00954750 78 UIWindow__free_member_0x18 ui_events Frees a member pointer at offset +4 if non-null, deallocating 0x18 bytes via operator delete. 0x009547A0 170 UIWindow__destroy_linked_list_0x80_with_strings ui_events Destroys a singly-linked list of 0x80-byte nodes. Each node contains 3 STL strings that are destructed before freeing the node. Clears the list head pointer. 0x00954850 134 UIWindow__destroy_linked_list_0x38 ui_events Destroys a singly-linked list of 0x38-byte nodes. Each node has one STL string destructed before freeing. Clears the list head pointer. 0x009548E0 87 UIWindow__cleanup_tree_and_free_0x44 ui_events Cleans up a red-black tree with 0x44-byte nodes by calling std__tree_0x44__recursive_destroy to remove all child nodes, then frees the root/sentinel node. 0x00954940 65 UIWindow__cleanup_wrapper_a ui_events Wrapper that delegates to std__tree_destroy_0x20_all_nodes for cleanup of a 0x20-byte tree on a UI window member. 0x00954990 65 UIWindow__cleanup_wrapper_b ui_events Wrapper that delegates to std__tree_destroy_0x18_all_nodes for cleanup of a 0x18-byte tree on a UI window member. 0x009549E0 83 UIWindow__destroy_string_member ui_events Destructs an STL string member at offset +4 of the object. 0x00954A40 174 UIWindow__clear_and_free_vector_0xc ui_events Clears and frees a std::vector of 0xC-byte elements. Iterates calling CFmt__func_0058c230 on each element, then frees the backing buffer. Resets begin/end/capacity pointers to 0. 0x00954B00 99 UIWindow__destroy_three_strings_a ui_events Destructs three consecutive STL string members in sequence. 0x00954B70 68 UIWindow__destroy_single_string ui_events Destructs a single STL string member passed as parameter. 0x00954BC0 99 UIWindow__destroy_three_strings_b ui_events Destructs three consecutive STL string members in sequence (variant b). 0x00954C30 68 UIWindow__destroy_single_string_b ui_events Destructs a single STL string member passed as parameter (variant b). 0x00954C80 71 UIWindow_vt3924__dtor game_core Destructor for UI window class with vtable PTR_FUN_01143924. Sets vtable then calls UIWindowBase__dtor. 0x00954CD0 84 UIWindow_vt460c__dtor game_core Destructor for UI window with dual vtable setup (0114460c -> 0114445c). Calls UIWindowBase__dtor. 0x00954D30 84 UIWindow_vt4384__dtor game_core Destructor for UI window with dual vtable setup (01144384 -> 011442ac). Calls UIWindowBase__dtor. 0x00954D90 84 UIWindow_vt4018__dtor game_core Destructor for UI window with dual vtable setup (01144018 -> 01143bcc). Calls UIWindowBase__dtor. 0x00954DF0 71 UIWindow_vt445c__dtor game_core Destructor for UI window with vtable PTR_FUN_0114445c. Calls UIWindowBase__dtor. 0x00954E40 166 UIWindowF__dtor_with_buffer_free game_core Destructor for UI window with vtable PTR_FUN_01143ca8. Frees buffer at offset 0x3b*4, clears vector of item entries, then calls helper_005c2a80 and UIWindowBase__dtor. 0x00954EF0 71 UIWindow_vt42ac__dtor game_core Destructor for UI window with vtable PTR_FUN_011442ac. Calls UIWindowBase__dtor. 0x00954F40 169 UIWindow_vt3d84__dtor_with_cleanup game_core Destructor for UI window with vtable PTR_FUN_01143d84. Calls three cleanup helpers (FUN_00954510, FUN_00954490, FUN_009547a0), clears item entry vector, then calls UIWindowBase__dtor. 0x00954FF0 84 UIWindow_vt40f4__dtor game_core Destructor for UI window with dual vtable (011440f4 -> 01143bcc). Calls UIWindowBase__dtor. 0x00955050 154 UIWindow_vt3e60__dtor_with_tree_cleanup game_core Destructor for UI window with vtable PTR_FUN_01143e60. Cleans up tree member at offset 0x8a, frees 0x44-byte sentinel, destroys linked list, then calls UIWindowBase__dtor. 0x009550F0 123 UIWindow_vt3f3c__dtor_with_list_cleanup game_core Destructor for UI window with vtable PTR_FUN_01143f3c. Clears item entry vector, destroys linked list (0x4c virtual), then calls UIWindowBase__dtor. 0x00955170 71 UIWindow_vt4534__dtor game_core Destructor for UI window with vtable PTR_FUN_01144534. Calls UIWindowBase__dtor. 0x009551C0 84 UIWindow_vt41d0__dtor game_core Destructor for UI window with dual vtable (011441d0 -> 01143bcc). Calls UIWindowBase__dtor. 0x00955220 71 UIWindow_vt3bcc__dtor game_core Destructor for UI window with vtable PTR_FUN_01143bcc. Calls UIWindowBase__dtor. 0x00955270 71 UIFormattedWidget_vt3ae4__dtor game_core Destructor for formatted widget with vtable PTR_FUN_01143ae4. Calls UIFormattedWidgetBase__dtor. 0x009552C0 71 UIFormattedWidget_vt39fc__dtor game_core Destructor for formatted widget with vtable PTR_FUN_011439fc. Calls UIFormattedWidgetBase__dtor. 0x00955310 133 STL_map_assign_from stl Assignment operator for std::map; clears existing tree and copies from source tree with iterators 0x009553A0 172 UIWindowData__copy_assign_large game_core Copy-assignment operator for a UI window data struct (0x78 bytes / 0x1e dwords). Copies scalar fields and deep-copies three embedded STL strings (at offsets +8, +34, +50 in dwords). 0x00955450 80 UIWindowData__copy_assign_small game_core Copy-assignment operator for a smaller UI window data struct (0x30 bytes / 0xC dwords). Copies scalar fields and deep-copies one embedded STL string at offset +8. 0x009554A0 320 std__map_int_to_entry_0x44__bracket_operator stl std::map::operator[] for map. Searches the red-black tree for the given key. If not found, allocates a 0x44-byte node, initializes the 0x30-byte value with zeros and inserts it. Returns pointer to the value. 0x009555F0 275 std__map_int_to_entry_0x20__bracket_operator stl std::map::operator[] for map. Searches the red-black tree for the given key. If not found, allocates a 0x20-byte node, initializes the 0x0C-byte value with zeros and inserts it. Returns pointer to the value. 0x00955710 263 std__map_int_to_entry_0x18__bracket_operator stl std::map::operator[] for map. Searches the red-black tree for the given key. If not found, allocates a 0x18-byte node, initializes the value to 0 and inserts it. Returns pointer to the value. 0x00955820 99 UIWindow_vt3924__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with vtable PTR_FUN_01143924. Calls dtor then optionally frees 0xB8 bytes if param_2 & 1. 0x00955890 112 UIWindow_vt460c__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with dual vtable (0114460c/0114445c). Frees 0xC4 bytes if param_2 & 1. 0x00955900 112 UIWindow_vt4384__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with dual vtable (01144384/011442ac). Frees 0xC8 bytes if param_2 & 1. 0x00955970 112 UIWindow_vt4018__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with dual vtable (01144018/01143bcc). Frees 0x140 bytes if param_2 & 1. 0x009559E0 99 UIWindow_vt445c__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with vtable PTR_FUN_0114445c. Frees 0xBC bytes if param_2 & 1. 0x00955A50 190 UIWindow_vt3ca8__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with vtable PTR_FUN_01143ca8. Frees buffer, clears item vector, calls helper_005c2a80. Frees 0x108 bytes if param_2 & 1. 0x00955B10 99 UIWindow_vt42ac__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with vtable PTR_FUN_011442ac. Frees 0xBC bytes if param_2 & 1. 0x00955B80 193 UIWindow_vt3d84__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with vtable PTR_FUN_01143d84. Runs 3 cleanup helpers, clears item vector. Frees 0x19C bytes if param_2 & 1. 0x00955C50 112 UIWindow_vt40f4__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with dual vtable (011440f4/01143bcc). Frees 0xDC bytes if param_2 & 1. 0x00955CC0 178 UIWindow_vt3e60__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with vtable PTR_FUN_01143e60. Cleans tree+list, calls UIWindowBase__dtor. Frees 0x234 bytes if param_2 & 1. 0x00955D80 147 UIWindow_vt3f3c__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with vtable PTR_FUN_01143f3c. Clears item vector, destroys linked list. Frees 0x15C bytes if param_2 & 1. 0x00955E20 99 UIWindow_vt4534__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with vtable PTR_FUN_01144534. Frees 0xBC bytes if param_2 & 1. 0x00955E90 112 UIWindow_vt41d0__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with dual vtable (011441d0/01143bcc). Frees 0x118 bytes if param_2 & 1. 0x00955F00 99 UIWindow_vt3bcc__scalar_deleting_dtor game_core Scalar deleting destructor for UI window with vtable PTR_FUN_01143bcc. Frees 0xD0 bytes if param_2 & 1. 0x00955F70 99 UIFormattedWidget_vt3ae4__scalar_deleting_dtor game_core Scalar deleting destructor for formatted widget with vtable PTR_FUN_01143ae4. Calls UIFormattedWidgetBase__dtor. Frees 0xD4 bytes if param_2 & 1. 0x00955FE0 99 UIFormattedWidget_vt39fc__scalar_deleting_dtor game_core Scalar deleting destructor for formatted widget with vtable PTR_FUN_011439fc. Calls UIFormattedWidgetBase__dtor. Frees 0xD8 bytes if param_2 & 1. 0x00956050 209 compare_strings_as_wide_chars game_core Compares two ANSI strings by converting them to wide chars (WCHAR) first. Returns 0 if equal, negative/positive for ordering. Uses MultiByteToWideChar with code page 0. 0x00956130 1771 UIAuctionWnd__create_scroll_list_and_buttons game_core Creates scroll list with colored entries and cancel buttons for auction window. Allocates UIColoredScrollListBase, sets up 3 button textures (normal/hover/pressed) from resource strings, creates CDialogWnd buttons in a loop. 0x00956820 44 UIAuctionWnd__free_buffer_at_0xec game_core Frees the dynamically allocated buffer at member offset 0xEC if non-null, and zeroes both the pointer and size fields. 0x00956850 246 UIAuctionWnd__init_color_and_format game_core Initializes color picker and formatting for auction window. Gets pixel RGB, handles string copy/format operations, checks for text display. 0x00956950 2435 UIAuctionWnd__draw_item_row game_core Draws a single item row in the auction list. Handles item icons with skill tree lookup, text labels for name/price/weight/date, background highlighting for selected items. Uses localtime for date formatting. 0x009572E0 206 UIAuctionWnd__draw_tab_backgrounds game_core Draws tab background rectangles for the auction window. Iterates through tabs, highlighting the selected one with a different color (color index 2 vs 0xE). Tabs are 0x42 pixels apart. 0x009573B0 581 UIAuctionWnd__get_list_entry_with_3_strings game_core Gets an entry from a linked list at index param_2. Returns a struct with 1 int + 3 STL strings (copy-constructed). Uses global list at DAT_016d44ec. Sets param_3=0 on success, 1 on out-of-range. 0x00957600 352 UIAuctionWnd__get_list_entry_with_1_string game_core Gets an entry from a linked list at index param_2. Returns a struct with 1 int, 1 STL string, and 4 int fields. Uses global list at DAT_016d44f4. Sets param_3=0 on success, 1 on out-of-range. 0x00957760 146 UIAuctionWnd__hit_test_list_item_a game_core Hit-tests a mouse click against the auction list area. Converts screen coords to a list item index using page offset and column count. Returns -1 if outside list bounds. Uses global list at DAT_016d44ec. 0x00957800 75 UIAuctionWnd__hit_test_item_grid game_core Hit-tests a click in the item grid area of the auction window. Converts screen position to item index using row height from member 0x174. Returns -1 if out of bounds or past total item count at 0x17C. 0x00957850 148 UIAuctionWnd__hit_test_list_item_b game_core Hit-tests click against a second list area. Uses members at offset 0x20C-0x220 for page/column info. Row height from DAT_0133b0dc. Returns item index or -1. 0x009578F0 122 UIAuctionWnd__hit_test_skill_list game_core Hit-tests click against skill list area. Uses 0x20-pixel row height. Members at 0x138-0x148 for list and paging info. Returns item index or -1. 0x00957970 146 UIAuctionWnd__hit_test_list_item_c game_core Hit-tests click against a third list area. Uses DAT_0133b0fc row height. Members at 0x104-0x110 for paging. Uses global list DAT_016d44f4. Returns item index or -1. 0x00957A10 58 UIAuctionWnd__get_entry_data_by_index game_core Gets entry data by list index from linked list at member 0x178. Iterates to the nth entry and calls UIWindowData__copy_assign_large to copy data out. Returns 1 on success, 0 if index out of range. 0x00957A50 64 UIAuctionWnd__get_half_row_from_coords game_core Converts screen coordinates to a half-row index. Checks bounds, divides Y by row height (member 0xB8) and clamps result to 0 or 1. Returns -1 if outside window area. 0x00957A90 286 UIAuctionWnd__get_item_entry_by_index game_core Gets item entry by index from linked list at member 0x220. Returns pointer to entry data. Initializes a static empty entry on first use via _atexit. Returns static empty entry if index is out of range. 0x00957BB0 236 UIAuctionWnd__get_skill_entry_by_index game_core Gets skill entry by index from linked list at member 0x148. Copies skill data fields (id, level, type, etc.) and vector. Returns param_2 as output buffer. Uses CSkillEntry__ctor_default for empty result. 0x00957CA0 140 UIAuctionWnd__copy_skill_entry_at_offset game_core Copies a skill entry from list at member 0x148 using page offset 0x138 plus param_3. Uses CSkillEntry__copy_ctor for found entries, CSkillEntry__ctor_default for out-of-range. 0x00957DA0 55 UIAuctionWnd__deselect_scroll_list game_core Deselects the scroll list widget at member 0x41 (offset 0x104). If the widget exists and has items (field 10 != 0), calls virtual method 0x38 to deselect and resets selected index to -1. 0x00957DE0 272 UIGuildWnd__populate_agit_names ui_windows Populates agit (guild castle) names by iterating FUN_00ae46c0 results. For each agit, calls lua script 'get_agit_name' to get the name and adds it to the scroll list widget at member 0x100 via virtual method 0xD8. 0x00957EF0 341 UIGuildWnd__create_tab_edit_widgets ui_windows Creates editable text widgets for guild window tabs. Allocates UIEditableTextWidget objects in a loop, sets tab labels from resource string IDs 0x154-0x159. Each tab is 0x42 pixels apart. Registers Alt+G hotkey. 0x00958070 1672 UIGuildWnd__create_dialog_buttons ui_windows Creates OK/Cancel dialog buttons for a guild window page. Allocates UITextWidget (0x11C bytes) as a label at 0xBC with light gray color (0xE6E6E6), and 2 CDialogWnd buttons with btn_cancel textures at calculated positions. Sets default button ID to 0xB8 at member 0x8C. 0x00958700 55 UIGuildWnd__init_guild_info_page ui_windows Initializes the guild info page. Creates controls via UIGuildWnd__create_guild_info_controls, then updates the editable text widget at 0xB8 with message string 0x20C if the widget exists. 0x00958740 589 UIGuildWnd__create_list_widgets ui_windows Creates list widgets for guild window. Sets up scrollbar, creates 11 pairs of editable text widgets (name + value columns) for the member/position lists. Compares guild name string and sends initial requests. 0x00958990 1627 UIGuildWnd__create_info_page_buttons ui_windows Creates buttons for the guild info page. Creates 3 dialog buttons at member 0xB4 with textures: btn_help_b (help), create_guild (create), btn_cancel (cancel) with IDs 0x157, 0x1C0, 0xB8. Uses "_guild_helper" string for texture base name. 0x00958FF0 2020 UIGuildWnd__create_position_page_controls ui_windows Creates guild position/rank editing page controls. Creates edit button (btn_edit textures) at 0xD0 with ID 0x116, save button at 0xD4 with ID 0x1C1, scroll list (UIFormattedWidget) at 0x100 for agit names, and a formatted list widget at 0x104 with message IDs 0xE2D-0xE2E. Populates agit names via UIGuildWnd__populate_agit_names. 0x009597E0 1828 UIGuildWnd__create_guild_info_controls ui_windows Creates guild info overview page controls. Creates a text widget at 0xB4 for guild name display, an editable text widget at 0xB8 with message 0x20B, and 2 cancel buttons (btn_cancel textures) with IDs 0xB8 and 0xB9. Sets default button to 0xB8. 0x00959F10 3499 UIGuildWnd__create_skill_tree_page_controls ui_windows Creates guild skill tree page controls with 4 columns per row (name, desc, level, extra), 6 upgrade buttons (basic_interface textures) at 0x130+, scrollbar at 0x148, OK button at 0x14C with btn_ok_dis disabled state, and a radio tab widget at 0x194 with label from message 0xB30. 0x0095ACC0 1712 UIGuildWnd__create_chat_page_controls ui_windows Creates chat page controls for the guild window (not CUIChatWindow). Creates editable text widget at 0xD0 for guild name display, a list dialog widget at 0xD4 for chat messages, and a send button (btn_send textures) at 0xD8. Part of the guild window page system. 0x0095B380 3076 UIGuildWnd__create_member_page_controls ui_windows Creates guild member list page controls. Creates scrollbar at 0x81, 3 sets of 11 checkbox/tab widgets (0x34-0x54), 11 name text widgets (0x60-0x6A), 11 value text widgets (0x55-0x5F or 0x76-0x80), and an OK/disabled button at 0x82 with btn_ok_dis textures. Calls UIGuildWnd__update_scrollbar_list_b at end. 0x0095BF90 3381 UIGuildWnd__create_skill_page_controls ui_windows Creates guild skill page controls. Creates scrollbar at 0x35, 7 skill upgrade buttons (basic_interface_skill_up textures) at 0x46+, 7 arrow/navigation buttons (arw_left) at 0x3F+, and use/close buttons at 0x36-0x37 with btn_use and btn_close textures. Sends initial skill data request (message 0x17). 0x0095CCD0 1735 UIGuildWnd__create_tips_page_controls ui_windows Creates the guild tips/help page. Allocates a UIColoredScrollListBase (0xEC bytes) at member 0xB4, populates it with guild tip strings from CTownInfoMgr, and creates a close button (btn_close textures) at member 0xB8 with button ID 0xC9. 0x0095D3A0 453 UIGuildWnd__create_expel_page_controls ui_windows Creates guild expulsion page controls. Initializes page/scroll state (members 0x104-0x114), creates scrollbar at 0x100, and creates 12 editable text widgets at 0xD0+ for the expelled member list. Row height from DAT_0133b0fc. Calls update_scrollbar_list_c at end. 0x0095D570 9 thunk_to_UIWidget__create_two_sprite_children_0095d570 ui_framework Wrapper that calls UIWidget__create_two_sprite_children and returns 0x0095D640 1237 UIGuildWnd__draw_expel_page ui_windows Draws the guild expulsion page showing expelled members list with names and reasons. Size: 1237 bytes. 0x0095DB80 1924 UIGuildWnd__draw_alliance_page ui_windows Draws the guild alliance page showing allied and enemy guilds. Size: 1924 bytes. 0x0095E320 1395 UIGuildWnd__draw_notice_page ui_windows Draws the guild notice/announcement page with editable text areas for subject and body. Size: 1395 bytes. 0x0095E8A0 259 UIGuildWnd__draw_notice_text_info ui_windows Draws guild notice/description text info. Shows message texts 0x203 and 0x204 (notice subject/body labels), and a character count display (e.g. "x/y") right-aligned using text length from widget 0x77. 0x0095E9B0 1915 UIGuildWnd__draw_agit_page ui_windows Draws the guild agit (castle) page showing castle ownership and investment info. Size: 1915 bytes. 0x0095F130 743 UIGuildWnd__draw_skill_list_items ui_windows Draws the guild skill list items. Renders skill icons (sprites), skill names, levels (Nv/Lv), and skill points (Sp) for each visible skill entry. Shows SkillPoint counter at bottom. Uses linked list at member 0x148. 0x0095F460 1011 UIGuildWnd__draw_expel_list_columns ui_windows Draws expulsion list columns with grid lines and data rows. Renders 4 columns (name, level, date range) using DAT_016d44f4 linked list and DAT_0133b0fc row height. Highlights selected row. 0x0095F860 371 UIGuildWnd__draw_window_background ui_windows Draws the guild window background including tab bar with 6 tabs (0x42 pixels apart), tab highlighting for active tab, window border fills, and tiled bottom border decoration. 0x0095F9E0 498 UIGuildWnd__draw_bordered_list_view ui_windows Draws a bordered list view with corner sprites, selection highlight for active row (member 0x94), and text items from a string list at member 0x88. Row height from member 0xB8. Renders 2 items. 0x0095FBF0 177 UIGuildWnd__on_click_update_list_b_selection ui_windows Click handler that updates selection in list B (member 0x4C). Hit-tests against DAT_016d44ec linked list using DAT_0133b0e8 row height and page/column offsets at members 0x4B-0x4E. Triggers repaint if selection changed. 0x0095FCB0 52 UIGuildWnd__on_drag_start ui_windows Handles drag start on guild window header. Calls UIWindow__draw_header_area then sets drag state (0x80) and timestamps the drag on the global guild drag object at DAT_01457ab8. 0x0095FCF0 71 UIGuildWnd__on_tab_click_deselect ui_windows Handles tab click that deselects the current scroll list selection. Calls handle_tab_click_or_header first, then deselects the scroll list at member 0x41 if it has items. 0x0095FD40 198 UIGuildWnd__on_mouse_move_sort_or_hover ui_windows Mouse move handler that either sorts by column header click (if Y in header row 0x2F-0x42, hit-tests X against column boundaries from DAT_0133b0AC and calls UIListWnd__sort_by_column), or updates grid item hover selection at member 0x58 (if Y in data area 0x42+, using row height from member 0x5D). 0x0095FE10 9 thunk_to_UIGuildWnd__handle_tab_click_or_header_0095fe10 ui_windows Single-call thunk that forwards to FUN_00960020 0x0095FE20 71 UIGuildWnd__on_mouse_move_list_b ui_windows Mouse move handler for list B area. Updates selection index at member 0x84 using UIAuctionWnd__hit_test_list_item_b and triggers repaint if changed. 0x0095FE70 229 UIGuildWnd__on_mouse_move_skill_list ui_windows Mouse move handler for skill list. Updates hover selection at member 0x4D, and if not in cooldown (DAT_016f7144==0), shows skill tooltip with icon and description via FUN_00cfe2a0. 0x0095FF60 177 UIGuildWnd__on_mouse_move_list_c ui_windows Mouse move handler for list C area. Updates selection at member 0x42 by hit-testing against list using DAT_016d44f4 linked list and DAT_0133b0fc row height. 0x00960020 108 UIGuildWnd__handle_tab_click_or_header ui_windows Handles click on tab headers or window drag area. If click is in tab row (Y 0x11-0x29), calculates tab index from X/0x42 and sends tab switch message. Otherwise delegates to UIWindow__draw_header_area. 0x00960090 54 UIGuildWnd__on_parent_mouse_move ui_windows Parent widget mouse move handler. Forwards mouse move to UIListBox and sends notification 0xA3 to parent widget at member 0x10. 0x009600D0 78 UIGuildWnd__on_child_mouse_move_notify ui_windows Child widget mouse move handler. Updates list hover via UIListBox, sends selection notification 0x30 with selected index, and notifies parent at member 0x4 with message 0xA3. 0x00960130 46 UIGuildWnd__on_drag_end ui_windows Handles drag end on guild window. Calls UIWindow__draw_footer_bar, then sets drag state to 0xFF and timestamps it on the global guild drag object. 0x00960160 86 UIGuildWnd__update_half_row_hover ui_windows Updates hover selection for a half-row widget. Divides Y by row height (member 0x2E), clamps to 0-1 range. Triggers repaint if hover changed. Returns -1 if outside bounds. 0x009601D0 86 UIGuildWnd__on_window_move ui_windows Handles window move event. Calls UIWindow__draw_multi_line_text, then repositions the guild emblem widget (DAT_01457ab8) relative to the window position. 0x00960230 176 UIGuildWnd__on_timer_check_guild_flag ui_windows Timer callback that checks if the guild has its flag set (byte at offset 0x24D == 1). If so, triggers a repaint. Uses CPacketStream and string operations for guild data lookup. 0x009602E0 68 UIGuildWnd__check_tooltip_timeout_a ui_windows Checks if tooltip at member 0x198 has timed out (400ms). If so, clears tooltip state and hides the tooltip widget at member 0x14C by clearing its visible flag and triggering repaint. 0x00960330 68 UIGuildWnd__check_tooltip_timeout_b ui_windows Checks if tooltip at member 0x230 has timed out (400ms). Same pattern as check_tooltip_timeout_a but for a different tooltip widget at member 0x208. 0x00960380 56 UIGuildWnd__deselect_scroll_list_member ui_windows Deselects the scroll list at member 0x41 (same as UIAuctionWnd__deselect_scroll_list). Calls virtual 0x38 to deselect, resets selected index to -1, triggers repaint. 0x009603C0 109 UIGuildWnd__update_grid_hover ui_windows Updates grid item hover selection. Hit-tests click in grid area (X: 5-0x17F, Y: 0x42-0x11C), calculates item index from row height and page offset. Triggers repaint if hover changed. 0x00960430 50 UIGuildWnd__update_list_b_hover ui_windows Updates hover selection for list B. Uses UIAuctionWnd__hit_test_list_item_b, stores result at member 0x84, triggers repaint if changed. 0x00960470 50 UIGuildWnd__update_skill_hover ui_windows Updates hover selection for skill list. Uses UIAuctionWnd__hit_test_skill_list, stores result at member 0x4D, triggers repaint if changed. 0x009604B0 131 UIGuildWnd__on_listbox_mouse_move_with_tooltip ui_windows Listbox mouse move with tooltip. Updates hover via UIListBox, if item selected (0x94 >= 0) sends tooltip position (0xA2) with adjusted coords, otherwise sends simple mouse move (0xA3) to parent. 0x00960540 221 UIGuildWnd__on_agit_list_click ui_windows Handles click on agit (castle) list. Two regions: allied castles (Y 0x9E-0xCC) and enemy castles (Y 0xE8-0x116). Gets castle count via CTownInfoMgr__count_warps_for_id, calculates index from Y/16. Stores to member 0x3E (allied) or 0x3F (enemy). Sends selection message 0x31 to parent. 0x00960660 744 UIListWnd__sort_by_column game_core Sorts a list window's data by the specified column index. Tracks sort direction (ascending=1 / descending=2) per column via std::map at offset 0x62. Toggles direction on repeated clicks. Column 0: sorts by string field at offset 4. Column 1: sorts by int field at offset 0x38. Column 2: sorts by wide string at offset 0x30. Column 3: sorts by int at offset 0x54. Column 4: sorts by float at offset 0x70. Column 5: sorts by int at offset 0x74. Triggers repaint after sorting. 0x00960960 66 UIGuildWnd__on_mouse_wheel_list_a ui_windows Mouse wheel handler for list A. Scrolls up to 3 rows based on wheel direction. Sends scroll message (7) to parent via virtual 0x94. 0x009609B0 66 UIGuildWnd__on_mouse_wheel_list_b ui_windows Mouse wheel handler for list B. Same pattern as list A wheel handler but uses different member offsets (0x5C, 0x5A, 0x52). 0x00960A00 66 UIGuildWnd__on_mouse_wheel_list_c ui_windows Mouse wheel handler for list C. Same pattern as list A wheel handler but uses member offsets (0x87, 0x86, 0x81). 0x00960A50 66 UIGuildWnd__on_mouse_wheel_skill ui_windows Mouse wheel handler for skill list. Same pattern using member offsets (0x51, 0x50, 0x35). 0x00960AA0 66 UIGuildWnd__on_mouse_wheel_grid ui_windows Mouse wheel handler for grid/item list. Same pattern using member offsets (0x45, 0x44, 0x40). 0x00960AF0 174 UIGuildWnd__update_scrollbar_list_a ui_windows Updates scrollbar for list A (member 0x128). Calculates page count from item count (DAT_016d44f0) and items per page. Sets scrollbar range and clamps current scroll position. 0x00960BA0 210 UIGuildWnd__update_scrollbar_grid ui_windows Updates scrollbar for the item grid (member 0x148). Calculates visible rows from row height (member 0x174), total pages from item count (0x17C) and columns (0x164). Clamps scroll position. 0x00960C80 175 UIGuildWnd__update_scrollbar_list_b ui_windows Updates scrollbar for list B (member 0x204). Same scrollbar update pattern using members 0x20C-0x224 for position/count/columns. 0x00960D30 175 UIGuildWnd__update_scrollbar_skill ui_windows Updates scrollbar for skill list (member 0xD4). Same pattern as other scrollbar updates using members 0x138-0x14C. 0x00960DE0 174 UIGuildWnd__update_scrollbar_list_c ui_windows Updates scrollbar for list C (member 0x100). Uses DAT_016d44f8 for total count. Same scrollbar update pattern using members 0x104-0x114. 0x00960E90 255 UIGuildWnd__layout_skill_widgets ui_windows Lays out skill widget positions. For each skill entry, positions 3 widgets (icon, name, buttons) at 0x22-pixel row spacing. Hides off-screen or empty skill entries by moving them out of view. 0x00960F90 533 CGuildWindow__load_emblem game_core Loads guild emblem BMP from file "../emblem/{guild_id}"; validates 24x24 dimensions and stores texture 0x009611B0 169 UIGuildWnd__reload_emblem_files ui_windows Reloads guild emblem files. Clears the linked list of emblem entries at member 0xD8 (freeing strings and 0x20-byte nodes), then scans for emblem .bmp and .gif files using find_files_in_directory in the emblem directory path. 0x00961260 114 UIGuildWnd__on_dissolve_button ui_windows Handles guild dissolve button click (button IDs 0xBB/0xBC). On confirm (0xBB), sends dissolve request (0x13B) with guild ID. Calls CUIWindowMgr__unregister_window to close the window. 0x009612E0 596 UIChatInputWnd__handle_send_message game_core Handles send message button (0xb8) in chat input window. Gets text from editable widget, validates it's non-empty (error 0x820 if empty). Checks for forbidden substrings (from DAT_0133b1c0 and DAT_0133b1d8) via _mbsstr and shows error 0xafc if found. If mode at 0xc0 is 0, sends as normal chat (command 0x70); otherwise sends as whisper/PM (command 0x6a) and plays sound 0xd7. Button 0xb9 closes the window with appropriate sound. 0x00961540 178 UIGuildWnd__on_create_dialog_result ui_windows Handles create guild dialog result. On OK (0xB8), sends guild create request (0x6F) with text from editable widget. On cancel (0xB9), just closes. Also handles message 0x22 to copy 3 dwords into member 0xBC. 0x00961600 63 UIGuildWnd__handle_scroll_and_button_event ui_windows Handles scroll and button events for list A page. Button 0xC9 closes window with sound 0x3B. Messages 7/9/10 handle scroll position changes (relative/page up/page down) for list A. Message 0x3C reloads and updates scrollbar. Falls through to UIGuildWnd__handle_common_event for unhandled events. 0x00961710 357 UIGuildWnd__on_info_page_button ui_windows Handles info page buttons. 0xB8 closes 3 sub-windows. 0x157 opens/closes guild tax window. 0x1C0 opens/closes guild emblem window and repositions it. Message 0x22 sets resize data and refreshes. 0x00961880 140 UIGuildWnd__on_agit_page_event ui_windows Main event handler for the agit (castle) page. Handles emblem file selection (0x27), alliance/enemy guild clicks (0x30), agit list display (0x31), page init (0x3C), tooltip positioning (0xA2), deselection (0xA3), and button clicks. 0x00962310 110 UIGuildWnd__on_notice_dialog_result ui_windows Handles notice dialog result. On OK (0xB8), sends guild notice text (0x6E) from editable widget and closes dialog. On cancel (0xB9), just closes. 0x00962380 152 UIGuildWnd__on_member_page_event ui_windows Main event handler for guild member page. Handles member list clicks (0x30/0x31), position assignment, right-click context menus, scroll events, member button initialization (0x6A), and save/cancel (0xB8/0xC9). Size: ~6KB (truncated decompile). 0x009633BA 1 stub_nop_009633ba game_core Single-byte stub function (size=1) 0x009633CA 1 stub_nop_009633ca game_core Single-byte stub function (size=1) 0x00963409 1 stub_nop_00963409 game_core Single-byte stub function (size=1) 0x009638C2 1 stub_nop_009638c2 game_core Single-byte stub function (size=1) 0x00963BF0 536 UIGuildWnd__on_notice_page_event ui_windows Event handler for guild notice editing page. Handles save/load of notice text, edit confirmation. Size: 536 bytes. 0x00963E10 131 UIGuildWnd__on_position_page_event ui_windows Event handler for guild position editing page. Handles save (0xB8) which copies position tree and sends update (0x68), position name/tax edit (0x113/0x114), scroll events, and permission toggle (0xD5). Validates tax rates 0-50. 0x00964500 135 UIGuildWnd__on_skill_page_event ui_windows Event handler for guild skill page. Handles skill use (0xB8), skill point allocation (0xEF-0xF5), skill level adjust (0xFD-0x10A), context menu (0x30), skill tree rebuild (0x17), scroll events, and skill request (0x3A). 0x00964C60 39 UIGuildWnd__on_close_tax_window ui_windows Simple handler for closing guild tax window. Only handles button 0xC9 (close) by calling tls_clear_field_4f1d4(0xD6) to destroy window type 0xD6. 0x00964C90 52 UIGuildWnd__on_expel_page_event ui_windows Event handler for guild expulsion page. Close button (0xC9), scroll events (7/9/10) updating scroll position and scrollbar for list C. 0x00964D50 496 UIGuildWnd__handle_common_event ui_windows Common event handler shared by guild sub-pages. Handles window resize (0x22), page refresh (0x3C), and tab switch (0x45). Tab switch closes current window and opens the target page (0x3C-0x42 for pages 0-6). Checks guild permissions before allowing access. 0x00964F80 835 UIGuildWnd__on_agit_detail_event ui_windows Handles agit (castle) detail events. Message 0x30 delegates to scroll handler. For param_4==0: checks job level (error if 1), otherwise retrieves agit name and cost via Lua (get_agit_name, get_agit_costzeny), creates an investment window. For param_4==1: sends agit invest request (0x13C) with town ID from scroll list selection. 0x009652D0 385 UIGuildWnd__format_member_name_text ui_windows Formats member name text for display in guild list. Handles text truncation and styling. 0x00965460 79 UIGuildWnd__show_tooltip_at_position ui_windows Shows tooltip widget at given position. Moves widget at member 0x41 to (x,y), enables it via virtual 0x38, copies selected index from member 0x40, and triggers repaint. 0x009654B0 401 UIGuildWnd__rebuild_position_list ui_windows Rebuilds the guild position/rank list. Toggles sort direction at member 0x188, calls UIListWnd__sort_by_column(1), clears NPC list, then iterates the linked list at member 0x178 to copy each position entry (with 3 string copies) and add to town info via CTownInfoMgr__add_npc_to_list. 0x00965660 56 UIGuildWnd__store_window_rect_to_ptr ui_windows Stores current window rectangle (x, y, width, height) to a pointer at member 0xB8. Copies from members 0x1C, 0x20, 0x14, 0x18. 0x009656A0 75 UIGuildWnd__save_window_state_to_member ui_windows Saves window state (position, size, and current tab via virtual 0xD4) to the struct pointed to by member 0x2D. 0x00965730 134 std__vector_8byte__reserve stl Reserves memory for a std::vector of 8-byte elements. Allocates count*8 bytes, handles alignment for large allocations (>0x1000 bytes, 32-byte aligned). Throws bad_array_new_length if count >= 0x20000000. 0x009657C0 1 stub_nop_009657c0 game_core Single-byte stub function (size=1) 0x009657D0 1 stub_nop_009657d0 game_core Single-byte stub function (size=1) 0x009657E0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x009659F0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00965C00 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00965E10 33 UIGuildWnd__clear_member_changes_tree ui_windows Clears the member changes tracking tree. Recursively destroys all nodes in the tree at member 0x00, resets sentinel pointers to self, and sets count to 0. Called after saving or canceling guild member edits. 0x00965E40 115 UIGuildWnd__clear_position_changes_tree ui_windows Clears the position changes tracking tree. Iterates all non-sentinel nodes, recursively destroys subtrees, frees 0x20-byte nodes, resets sentinel pointers to self, and sets count to 0. Called after saving or canceling guild position edits. 0x00965EC0 236 std__vector_7dword_erase_range stl Erases a range from a vector of 7-dword (0x1C byte) elements with embedded STL strings. Moves elements by destructing old strings and move-assigning new ones. Adjusts end pointer. 0x00965FB0 145 GuildListEntry__ctor_default game_core Default constructor for guild list entry struct. Initializes first field from param_3, then zeros out remaining fields including 2 string-like members and 5 int fields. 0x00966050 145 GuildListEntry__ctor_default_b game_core Default constructor for guild list entry struct variant B. Same layout as ctor_default - initializes from param_3 and zeros remaining fields. 0x009660F0 504 std__vector_0xc__insert_single stl Inserts a single 0xC-byte element into a std::vector at the given position. Reallocates with 1.5x growth, copies existing elements around the insertion point. 0x009662F0 141 std__rbtree_destroy_nodes_recursive stl Recursively destroys all nodes in a red-black tree. For each node, recurses into right child, destructs STL string at offset +4, frees the 0x4C-byte node, then moves to left child. 0x00966380 75 std__rbtree_lower_bound stl std::map lower_bound operation. Traverses the red-black tree to find the first node >= key. Returns iterator struct with node pointer, insert hint, and bound node. 0x009663D0 254 UIGuildAllianceWnd__ctor game_core Constructor for UIGuildAllianceWnd. Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01144a44, allocates 0x4C-byte sentinel node for RB-tree at member 0x2D, initializes all members to 0. Sets field 0x35 to 0x125A. 0x009664D0 26 GuildAllianceEntry__ctor_3args game_core Constructs a GuildAllianceEntry with 3 arguments: sets first 3 dwords directly. 0x009664F0 259 GuildAllianceEntry__copy_ctor game_core Copy constructor for GuildAllianceEntry. Copies first dword, deep-copies STL string, and copies remaining byte/int fields from the source struct (0x38 bytes total). 0x00966600 48 CColorEntry__set_rgba game_render Sets RGBA color values on a CColorEntry struct. Stores 4 bytes (RGBA) at offsets 0xC-0xF, two ints at +4 and +8, and sets byte at offset 0 to 1 (valid flag). 0x00966630 20 GuildAllianceEntry__init_zero_12bytes game_core Initializes a 12-byte struct to zero: clears 3 fields (byte at +0, int at +4, int at +8). 0x00966650 67 GuildAllianceList__free_sentinel_node game_core Frees the sentinel node (0x4C bytes) at member +4 if non-null. 0x009666A0 76 GuildAllianceList__destroy_tree game_core Destroys a guild alliance RB-tree by calling the recursive node destroyer and freeing the 0x4C-byte sentinel. 0x00966700 123 GuildAllianceList__dtor_with_string game_core Destroys a guild alliance list entry with its STL string member, then frees the 0x4C-byte node. 0x00966780 78 GuildAllianceList__free_sentinel_only game_core Frees just the sentinel node (0x4C bytes) at member +4 without destroying child nodes. 0x009667D0 87 GuildAllianceList__destroy_tree_b game_core Destroys a guild alliance RB-tree (variant B). Same as destroy_tree but different call context. 0x00966830 80 GuildAllianceEntry__dtor_string game_core Destructs the STL string embedded in a GuildAllianceEntry at offset +4. 0x00966880 150 std__vector_0xc__clear_and_free stl Clears and frees a std::vector of 0xC-byte elements. Frees the backing buffer (with alignment handling for >0x1000 bytes) and zeros begin/end/capacity pointers. 0x00966920 171 UIGuildAllianceWnd__dtor game_core Destructor for UIGuildAllianceWnd. Sets vtable to PTR_FUN_01144a44, destroys internal data structures (json, helper, vector, RB-tree), then calls UIWindowBase__dtor. 0x009669D0 65 GuildAllianceEntry__dtor_string_b game_core Destructs the STL string in a GuildAllianceEntry (variant B context). 0x00966A20 135 GuildAllianceEntry__copy_assign game_core Copy-assignment operator for GuildAllianceEntry. Deep-copies STL string and copies all byte/int fields from source to destination. 0x00966AB0 239 std__map_GuildAlliance__bracket_operator stl std::map operator[] for map with GuildAllianceEntry values. Uses lower_bound to find or insert position, allocates 0x4C-byte node with default-constructed entry if key not found. 0x00966BA0 195 UIGuildAllianceWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UIGuildAllianceWnd. Sets vtable, destroys internal vectors, RB-tree, and calls UIWindowBase__dtor. Frees the 0xE4-byte object if flag is set. 0x00966C70 19130 UIGuildAllianceWnd__main_event_handler game_core Main event handler for UIGuildAllianceWnd. Very large function (19130 bytes) handling all alliance window events. Skipped detailed decompilation due to size. 0x0096B730 2568 UIGuildAllianceWnd__draw_content game_core Draws the guild alliance window content. Size: 2568 bytes. 0x0096C140 278 UIGuildAllianceWnd__update_selected_entry game_core Updates the currently selected entry in the guild alliance window. Iterates the list at +0x32 looking for entries with state==2. When found, updates the selection ID at +0x35, copies associated IDs from the data table at +0x2F into the output vector at +0x36/+0x37, and triggers redraw via vtable+0x98. Resets to 0x125A (no selection) if entry disappears. 0x0096C260 116 UIGuildAllianceWnd__handle_button game_core Handles button clicks in the guild alliance window. 0x0096C2E0 517 std__rbtree_insert_node stl MSVC std::_Tree_val::_Insert_node. Inserts a node into a red-black tree at the specified position and rebalances via rotations and recoloring. Library function from Visual Studio 2019. 0x0096C4F0 46 std__copy_0xc_elements_forward stl STL template instantiation: std copy 0xc elements forward 0x0096C520 47 std__copy_0xc_elements_forward_b stl Copies a range of 0xC-byte elements forward (variant B). Uses offset-based copy instead of separate destination pointer. 0x0096C550 10 thunk_to_std__Xlength_error_0096c550 stl Calls std::_Xlength_error with vector_too_long error message 0x0096C560 61 std__allocator_0xc__deallocate stl MSVC std::allocator::deallocate for 0xC-byte elements. Handles aligned deallocation for buffers >0x1000 bytes (retrieves original pointer from -4 offset). 0x0096C5A0 391 UIGuildAllianceWnd__draw_tiled_background game_core Draws a tiled background for the guild alliance window. Loads top/middle/bottom sprite resources and tiles the middle section based on content height. Handles both compact ('$') and expanded layouts. 0x0096C730 294 UIGuildAllianceWnd__draw_aligned_label game_core Draws a text label with alignment. Supports 3 alignment modes: centered (0x06), left-aligned with offset (0x00), and right-aligned (0x02). Measures text width and calculates x position accordingly. 0x0096C860 39 std__vector_4byte__push_back stl std::vector push_back for 4-byte elements. Appends element at end, calls realloc helper if at capacity. 0x0096C890 49 std__vector_0xc__push_back stl std::vector push_back for 0xC-byte elements. Copies 12-byte struct at end, calls vector insert realloc if at capacity. 0x0096C8D0 154 UIGuildEmblemListWnd__ctor game_core Constructor for UIGuildEmblemListWnd. Calls UIWindowBase__ctor, sets vtable, initializes string member at +0x2F (with capacity 0xF), clears vector at +0x2D/+0x2E, sets field 0x10 to 0x20. 0x0096C970 154 UIGuildEmblemListWnd__ctor_b game_core Constructor variant B for UIGuildEmblemListWnd. Same pattern as ctor but uses different vtable pointer. 0x0096CA10 95 UIGuildEmblemListWnd__dtor game_core Destructor for UIGuildEmblemListWnd. Sets vtable, destroys STL string member, then calls UIWindowBase__dtor. 0x0096CA70 95 UIGuildEmblemListWnd__dtor_b game_core Destructor variant B for UIGuildEmblemListWnd. Sets vtable, destroys STL string, calls UIWindowBase__dtor. 0x0096CAD0 119 UIGuildEmblemListWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UIGuildEmblemListWnd. Calls dtor logic then frees the 0xD4-byte object if flag is set. 0x0096CB50 119 UIGuildEmblemListWnd__scalar_deleting_dtor_b game_core Scalar deleting destructor variant B for UIGuildEmblemListWnd. Calls dtor then frees the 0xD8-byte object if flag is set. 0x0096CBF0 72 UIGuildEmblemListWnd__load_and_remove_resource game_core Loads a resource by the emblem path string at +0xBC, then removes it from the resource manager. Used to unload emblem textures. 0x0096CC40 72 UIGuildEmblemListWnd__load_and_remove_resource_b game_core Loads a resource by the emblem path string at +0xBC, then removes it from the resource manager (variant B). 0x0096CC90 103 UIGuildEmblemListWnd__draw_emblem_sprite game_core Draws the guild emblem sprite. Sets color to 0xFFFF00FF, loads emblem resource by path at +0xBC, optionally creates background, then draws the sprite. 0x0096CD00 103 UIGuildEmblemListWnd__draw_emblem_sprite_b game_core Draws the guild emblem sprite (variant B). Same pattern as draw_emblem_sprite. 0x0096CD80 22 UIGuildEmblemListWnd__update_position_if_active game_core Updates the window position with snap if the widget at +0xB8 is non-null. 0x0096CDA0 22 UIGuildEmblemListWnd__update_position_if_active_b game_core Updates the window position with snap if the widget at +0xB8 is non-null (variant B). 0x0096CDC0 590 UIGuildAllianceWnd__draw_alliance_list game_core Draws the alliance guild list (friendly guilds). Renders guild names and emblems for each alliance entry. 0x0096D010 685 UIGuildAllianceWnd__draw_enemy_list game_core Draws the enemy guild list. Renders guild names and emblems for each enemy guild entry. 0x0096D300 112 UIGuildInfoEntryListWnd__ctor game_core Constructor for UIGuildInfoEntryListWnd. Calls UIWindowBase__ctor, sets vtable, initializes array of 9 string entries (0x18 bytes each) at offset +0x2D using eh_vector_constructor_iterator. 0x0096D370 123 UIGuildAllianceWnd_vt511c__ctor game_core Constructor for UIGuildAllianceWnd sub-window (vtable 0x0114511c). Initializes UIWindowBase, sets vtable pointer, zeros out string buffer at offset 0x2d with SSO capacity 0xf. 0x0096D3F0 86 UIGuildAllianceWnd_vt5044__ctor game_core Constructor for UIGuildAllianceWnd sub-window (vtable 0x01145044). Initializes UIWindowBase and sets vtable pointer. 0x0096D450 105 UIGuildAllianceWnd_vt51f4__dtor game_core Destructor for UIGuildAllianceWnd sub-window (vtable 0x011451f4). Destroys 9 strings at offset 0x2d (stride 0x18) via eh_vector_destructor_iterator, then calls UIWindowBase__dtor. 0x0096D4C0 95 UIGuildAllianceWnd_vt511c__dtor game_core Destructor for UIGuildAllianceWnd sub-window (vtable 0x0114511c). Destroys one string, then calls UIWindowBase__dtor. 0x0096D520 71 UIWindow_vt5044__dtor game_core Destructor for UI window class (vtable 0x01145044). Sets vtable then calls UIWindowBase__dtor. 0x0096D570 129 UIWindow_vt51f4__scalar_deleting_dtor game_core Scalar deleting destructor for UI window (vtable 0x011451f4, size 0x19c). Destroys 9 strings at offset 0x2d via eh_vector_destructor_iterator with stride 0x18, then calls UIWindowBase__dtor. Frees memory if flag bit 0 is set. 0x0096D600 119 UIWindow_vt511c__scalar_deleting_dtor game_core Scalar deleting destructor for UI window (vtable 0x0114511c, size 0xcc). Destroys one string, then calls UIWindowBase__dtor. Frees memory if flag bit 0 is set. 0x0096D680 99 UIWindow_vt5044__scalar_deleting_dtor game_core Scalar deleting destructor for UI window (vtable 0x01145044, size 0xb4). Calls UIWindowBase__dtor. Frees memory if flag bit 0 is set. 0x0096D720 72 UIChannelListWnd__render game_core Renders the channel list window. Has 5 display modes (0-4) based on DAT_016d3b07. Modes 0,3,4: render numbered item list with prev/next arrows, mode 3/4 highlight selected item in different color. Mode 2: renders numbered list with selection highlight and page counter. Mode 1: no rendering. Items are SSO strings at offset 0xb4 with 0x18-byte stride. Uses CColorPicker__GetPixelRGB for highlight colors in mode 2. 0x0096DB60 476 UIChannelListWnd__render_mode4_details game_core Renders mode 4 details for channel list window. Only active when DAT_016d3b07 == 4. Draws colored border and background using CColorPicker__GetPixelRGB, then renders 4 two-character text labels at positions (2,2), (0x10,2), (0x1e,2), (0x2c,2) from data via DAT_016d3b0c virtual function. 0x0096DD40 391 UIChannelListWnd__handle_populate game_core Handles populate event (0x41) for channel list window. Copies up to 9 SSO strings from param_4 into the widget's string array at offset 0x2d. Copies 4 int values from param_5 into offsets 0x63-0x66. Calculates required widget width based on rendered text widths and resizes via vtable+4. Mode 2 uses per-item height of 0x14. 0x0096DED0 195 UIChannelListWnd__handle_resize_text game_core Handles resize-for-text event (0x42) for channel list window. Measures the text width of param_4 string, calculates required window width rounded to 0x1c boundary with minimum 0x22, resizes if different from current width, and triggers repaint. 0x0096DFA0 9 thunk_to_UIWindow__handle_button_click ui_events Simple thunk that jumps to UIWindow__handle_button_click (at 0x008bdc90). 0x0096DFB0 21 charconv__format_callback_thunk encoding Thunk used as a callback in charconv format descriptors. Passes 3 arguments through to fmt__parse_and_validate_format_spec. Referenced by charconv__build_1arg_descriptor and charconv__format_with_callback_1arg. 0x0096DFD0 106 std__tree_0x814__recursive_destroy stl Recursively destroys a std::tree with 0x814-byte nodes (very large nodes, likely containing embedded data). Standard tree destroy pattern: destroys right subtree, frees node, continues with left child. 0x0096E040 731 std__list__merge_by_item_type_and_name stl Merges two sorted linked list ranges by item type (via FUN_009967f0) and name (via CItemDB__build_item_tooltip_string + std::_Traits_compare). When item types match, falls back to alphabetical name comparison. Used as the merge step for item list sorting. 0x0096E320 283 std__list__merge_sort_by_item_type stl Merge sort for item linked list by item type (via CItemDesc__get_item_type). Standard recursive merge sort that splits list in half, sorts each, then merges. 0x0096E440 107 std__list__merge_sort_by_item_name stl Merge sort for item linked list by item name. Uses std__list__merge_by_item_type_and_name as the merge function, which compares by type first then name. Recursive divide-and-conquer. 0x0096E4B0 148 charconv__format_with_callback_1arg encoding Builds a format descriptor with 1 callback argument and calls charconv__format_fixed_notation. Sets up a descriptor with type 0xd0000000, the argument value, and CPacketManager__complex_handler_thunk as callback. 0x0096E550 158 charconv__format_with_callback_2args encoding Builds a format descriptor with 2 callback arguments and calls charconv__format_fixed_notation. Sets up a descriptor with type 0xb0000000 for each arg, loading values from param_4 and param_5. 0x0096E5F0 63 charconv__build_2arg_descriptor encoding Builds a 2-argument format descriptor. Sets type 0xb0000000 for first arg, type 0xb0000004 for second arg, stores the two values from param_2 and param_3. 0x0096E630 27 charconv__build_1arg_descriptor encoding Builds a 1-argument format descriptor. Sets type 0xd0000000, stores the callback value (param_2) and CPacketManager__complex_handler_thunk as the handler. 0x0096E650 254 UIItemListWnd__ctor ui_windows Constructor for UIItemListWnd (vtable 0x011453b8). Inherits from UIWindowBase. Allocates a 0x100-byte linked list node at offset 0x3a. Initializes numerous fields: enabled=1 at 0x2d, and zeros at 0x2e-0x36 and 0x39. 0x0096E750 86 UIWindow_vt62e8__ctor game_core Constructor for UI window class (vtable 0x011462e8). Inherits from UIWindowBase. Simple constructor. 0x0096E7B0 124 UIItemListWnd_vt59a0__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x011459a0). Inherits from UIItemListWnd via FUN_0096e650. Sets selected index at 0x3e to -1, mode flags at 0x2e=1, and additional fields at 0x3d and 0x3f. 0x0096E830 124 UIItemListWnd_vt5b50__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01145b50). Inherits from UIItemListWnd. Sets selected=-1, mode=1, clears fields 0x3d and 0x3f. 0x0096E8B0 114 UIItemListWnd_vt5a78__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01145a78). Inherits from UIItemListWnd. Sets selected=-1, mode=1, clears field 0x3d. 0x0096E930 154 UIItemListWnd_vt58c8__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x011458c8). Inherits from UIItemListWnd. Sets selected=-1 at 0x40, disabled at 0x2d, mode=1 at 0x2e, item height=0x1d at 0x41, clears several fields. 0x0096E9D0 164 UIItemListWnd_vt57f0__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x011457f0). Inherits from UIItemListWnd. Similar to vt58c8 but with additional field 0x43 cleared. 0x0096EA80 236 UIItemListWnd_vt5568__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01145568). Inherits from UIItemListWnd. Initializes two inline SSO strings (capacity 0xf) at offsets 0x49 and 0x4f. Sets grid layout: 3 columns, enabled, row height 0x12. 0x0096EB70 236 UIItemListWnd_vt5490__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01145490). Inherits from UIItemListWnd. Initializes two inline SSO strings at offsets 0x48 and 0x4e. Sets grid layout: 3 columns, enabled, row height 0x12. 0x0096EC60 301 UIItemListWnd_vt5640__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01145640). Inherits from UIItemListWnd. Initializes an SSO string at offset 0x51. Sets both 0x2d and 0x2e to 1 (both enabled). Initializes 8 pairs of fields in a loop at offsets 0x40 and 0x48. Complex constructor with flag bytes at offset 0xf8. 0x0096ED90 204 UIItemListWnd_vt6060__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01146060). Inherits from UIItemListWnd. Initializes many fields to zero at offsets 0x2f-0x30, 0x36, 0x39-0x43, 0x49-0x4b. 0x0096EE60 172 UIItemListWnd_vt5d00__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01145d00). Inherits from UIItemListWnd. Takes param_2 stored at offset 0x40. Sets item height=0x15 at 0x47, mode=1, clears several fields. 0x0096EF10 166 UIWindow_vt5dd8__ctor game_core Constructor for UI window class (vtable 0x01145dd8). Inherits from UIWindowBase. Initializes 8 fields to zero at offsets 0x2d-0x34. 0x0096EFC0 155 UIItemListWnd_vt5eb0__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01145eb0). Inherits from UIItemListWnd. Takes param_2 at 0x42, sets mode=1, selected=-1 at 0x40, calls FUN_00dd8980. 0x0096F060 175 UIItemListWnd_vt5c28__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01145c28). Inherits from UIItemListWnd. Takes param_2 at 0x43, mode=1, selected=-1 at 0x3f, item height=0x15 at 0x46. 0x0096F110 104 UIItemListWnd_vt6138__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01146138). Inherits from UIItemListWnd. Simple constructor setting mode=1 and clearing 0x3c. 0x0096F180 115 UIItemListWnd_vt6210__ctor ui_windows Constructor for UIItemListWnd variant (vtable 0x01146210). Inherits from UIItemListWnd. Takes param_2 at 0x3d, mode=1, clears 0x3c. 0x0096F200 411 UISkillListWnd__ctor game_core Constructor for UISkillListWnd (vtable 0x011463c0). Inherits from UIWindowBase. Complex constructor with an inline SSO string at offset 0x2d, a 0x100-byte linked list at 0x52, another SSO string at 0x5c, and numerous state fields. Stores param_2 at 0x4c. Sets grid layout (4 columns at 0x50, enabled at 0x4f). Initializes selection indices to -1 (0xffff) at multiple offsets. 0x0096F3A0 108 UITimedPopupWnd__ctor game_core Constructor for UITimedPopupWnd (vtable 0x01145f88). Inherits from UIWindowBase. Records timeGetTime() at offset 0x2d and sets auto-dismiss timeout to 2000ms at offset 0x2e. 0x0096F410 215 UIItemGridWnd__ctor game_core Constructor for UIItemGridWnd (vtable 0x01145718). Inherits from UIWindowBase. Allocates a 0x4c-byte linked list at offset 0x4b. Sets selection index to -1 at 0x46, enabled=1 at 0x48. Initializes various state fields to zero. 0x0096F4F0 70 heap_free_0x814_at_offset4 stl Frees a 0x814-byte heap allocation stored at this+4, if non-null. 0x0096F550 79 std__tree_destroy_0x814_root stl Destroys a std::tree with 0x814-byte nodes. Calls std__tree_0x814__recursive_destroy then frees root/sentinel node. 0x0096F5B0 81 heap_free_0x814_at_offset4_b stl Frees a 0x814-byte heap allocation stored at this+4, if non-null. Second instance of this pattern. 0x0096F610 81 heap_free_0x814_at_offset4_c stl Frees a 0x814-byte heap allocation stored at this+4, if non-null. Third instance. 0x0096F670 71 UIDialog_vt52cc__dtor ui_windows Destructor for UI dialog class (vtable 0x011452cc). Sets vtable then calls UIBaseDialog__destructor. 0x0096F6C0 115 UIItemListWnd__dtor ui_windows Destructor for UIItemListWnd (vtable 0x011453b8). Sets vtable, destroys the hash table at offset 0x3a via CHashTable__destroy_all_entries, frees the 0x100-byte hash table, then calls UIWindowBase__dtor. 0x0096F740 71 UIWindow_vt62e8__dtor game_core Destructor for UI window class (vtable 0x011462e8). Sets vtable then calls UIWindowBase__dtor. 0x0096F790 128 UIItemListWnd_vt59a0__dtor ui_windows Destructor for UIItemListWnd variant (vtable 0x011459a0). Sets parent vtable to UIItemListWnd, destroys hash table at 0x3a, calls UIWindowBase__dtor. 0x0096F810 128 UIItemListWnd_vt5b50__dtor ui_windows Destructor for UIItemListWnd variant (vtable 0x01145b50). Same pattern as vt59a0 dtor. 0x0096F890 128 UIItemListWnd_vt5a78__dtor ui_windows Destructor for UIItemListWnd variant (vtable 0x01145a78). Same pattern as other item list dtors. 0x0096F910 128 UIItemListWnd_vt58c8__dtor ui_windows Destructor for UIItemListWnd variant (vtable 0x011458c8). Same pattern as other item list dtors. 0x0096F990 128 UIItemListWnd_vt57f0__dtor ui_windows Destructor for UIItemListWnd variant (vtable 0x011457f0). Same pattern as other item list dtors. 0x0096FA10 161 UIItemListWnd_vt5568__dtor ui_windows Destructor for UIItemListWnd variant (vtable 0x01145568). Destroys 2 SSO strings, then sets parent vtable to UIItemListWnd, destroys hash table at 0x3a, calls UIWindowBase__dtor. 0x0096FAC0 161 UIClass_5490__dtor ui_framework Destructor for UI window class (vtable 01145490). Destroys two STL strings, destroys hash table at offset 0xE8, frees hash table buffer (0x100 bytes), then calls UIWindowBase::dtor. 0x0096FB70 160 UIClass_5640__dtor ui_framework Destructor for UI window class (vtable 01145640). Zeroes DAT_01738268, destroys one STL string, hash table at 0xE8, frees 0x100, calls UIWindowBase::dtor. 0x0096FC10 128 UIClass_6060__dtor ui_framework Destructor for UI window class (vtable 01146060). Destroys hash table at offset 0xE8, frees 0x100, calls UIWindowBase::dtor. 0x0096FC90 128 UIClass_5d00__dtor ui_framework Destructor for UI window class (vtable 01145d00). Destroys hash table at offset 0xE8, frees 0x100, calls UIWindowBase::dtor. 0x0096FD10 71 UIClass_5dd8__dtor ui_framework Destructor for UI window class (vtable 01145dd8). Simply sets vtable and calls UIWindowBase::dtor. No hash table or strings to destroy. 0x0096FD60 128 UIClass_5eb0__dtor ui_framework Destructor for UI window class (vtable 01145eb0). Destroys hash table at offset 0xE8, frees 0x100, calls UIWindowBase::dtor. 0x0096FDE0 128 UIClass_5c28__dtor ui_framework Destructor for UI window class (vtable 01145c28). Destroys hash table at offset 0xE8, frees 0x100, calls UIWindowBase::dtor. 0x0096FE60 128 UIClass_6138__dtor ui_framework Destructor for UI window class (vtable 01146138). Destroys hash table at offset 0xE8, frees 0x100, calls UIWindowBase::dtor. 0x0096FEE0 128 UIClass_6210__dtor ui_framework Destructor for UI window class (vtable 01146210). Destroys hash table at offset 0xE8, frees 0x100, calls UIWindowBase::dtor. 0x0096FF60 145 UIClass_63c0__dtor ui_framework Destructor for UI window class (vtable 011463c0). Destroys two STL strings, hash table at offset 0x148, frees 0x100, calls UIWindowBase::dtor. 0x00970000 71 UIClass_5f88__dtor ui_framework Destructor for UI window class (vtable 01145f88). Sets vtable and calls UIWindowBase::dtor. 0x00970050 110 UIClass_5718__dtor ui_framework Destructor for UI window class (vtable 01145718). Clears and frees item entry vector, destroys linked list (4c nodes), then calls UIWindowBase::dtor. 0x009700C0 239 item_sort_compare_by_type_and_name game_core Comparator function for sorting items. First compares by item type (from FUN_009967f0). If types are equal, compares by tooltip name string using std::char_traits::compare. Returns true if first item should come before second. 0x009701B0 99 UIClass_52cc__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI dialog class (vtable 011452cc, size 0x11C). Calls UIBaseDialog::destructor, then frees memory if flag bit 0 is set. 0x00970220 139 UIClass_53b8__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 011453b8, size 0xF0). Destroys hash table at offset 0xE8, frees 0x100, calls UIWindowBase::dtor, then frees if flag set. 0x009702B0 99 UIClass_62e8__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 011462e8, size 0xBC). Sets vtable and calls UIWindowBase::dtor, then frees if flag set. 0x00970320 152 UIClass_59a0__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 011459a0, size 0x104). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x009703C0 152 UIClass_5b50__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145b50, size 0x100). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x00970460 152 UIClass_5a78__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145a78, size 0xFC). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x00970500 152 UIClass_58c8__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 011458c8, size 0x10C). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x009705A0 152 UIClass_57f0__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 011457f0, size 0x110). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x00970640 185 UIItemListWnd_vt5568__scalar_deleting_dtor ui_windows Scalar deleting destructor for UIItemListWnd variant (vtable 0x01145568, size 0x164). Destroys 2 SSO strings, then base class hash table at 0xE8, frees 0x100 buffer, calls UIWindowBase::dtor, frees object if flag bit 0 set. 0x00970700 185 UIClass_5490__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145490, size 0x160). Destroys two STL strings and hash table, calls UIWindowBase::dtor, frees if flag set. 0x009707C0 184 UIClass_5640__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145640, size 0x194). Zeroes DAT_01738268, destroys STL string and hash table, calls UIWindowBase::dtor, frees if flag set. 0x00970880 152 UIClass_6060__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01146060, size 0x130). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x00970920 152 UIClass_5d00__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145d00, size 0x120). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x009709C0 99 UIClass_5dd8__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145dd8, size 0xD4). Sets vtable and calls UIWindowBase::dtor, frees if flag set. 0x00970A30 152 UIClass_5eb0__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145eb0, size 0x10C). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x00970AD0 152 UIClass_5c28__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145c28, size 0x11C). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x00970B70 152 UIClass_6138__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01146138, size 0xFC). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x00970C10 152 UIClass_6210__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01146210, size 0xF8). Destroys hash table, calls UIWindowBase::dtor, frees if flag set. 0x00970CB0 169 UIClass_63c0__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 011463c0, size 400). Destroys two STL strings and hash table at offset 0x148, frees 0x100, calls UIWindowBase::dtor. 0x00970D60 99 UIClass_5f88__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145f88, size 0xBC). Calls UIWindowBase::dtor, frees if flag set. 0x00970DD0 134 UIClass_5718__scalar_deleting_dtor ui_framework Scalar deleting destructor for UI window class (vtable 01145718, size 0x148). Clears item entry vector, destroys linked list, calls UIWindowBase::dtor, frees if flag set. 0x00970E60 1581 UIShopWnd__populate_item_list game_core Populates the shop window item list. Loads item database text, creates CShopItem copies, formats item names with price/quantity, sets text colors (0xE8 for available, 0xB6 for buy mode). Handles both buy/sell modes at offset 0x130. Shows item counts and zeny formatting. 0x00971490 1322 UIShopWnd__on_price_input_change game_core Handles price input field changes in the shop window. Validates input (numeric check, range 0-1B), shows error messages for invalid amounts. Formats price with zeny breakdown (gold/silver/copper from string resources 0x9AB-0x9AE). Returns 1 on success, 0 on error. 0x009719C0 867 UIVendingWnd__draw_item_price_list game_core Draws the vending window item price list. Iterates items at offset 0x14C, formats each with name, quantity, price (with zeny formatting for values >= 100M). Calculates and shows commission (1% EA fee) for each item. Shows current zeny balance at bottom. 0x00971D30 964 UIVendingWnd__draw_detailed_item_list game_core Draws detailed vending item list with full item descriptions. Iterates through linked list items, formats each with card prefix, card slots, refinement, equip type, weapon subtype, location, and option text. Shows price with commission calculation. Displays current zeny balance. 0x00972120 156 UIWindow__on_drop_item_handle_sell ui_events Handles item drop onto sell window. If window 0x271B exists, delegates to standard drop handler. Otherwise checks drop type: type 3 with specific sub-types (4,5,8-15) sends msg 0x26, others open NPC shop dialog (msg 0xD, param 1). Non-type-3 sends msg 0x12. 0x009721F0 173 UIWindow__on_drop_item_handle_store ui_events Handles item drop onto storage window. If window 0x271B exists, delegates to standard handler. Type 3: if equipped (param_4[4]==1) or DAT_014576e4 set, sends msg 0x26; otherwise opens storage dialog (msg 0xD, param 0x10). Non-type-3 sends msg 0x12. 0x009722A0 173 UIWindow__on_drop_item_handle_cart ui_events Handles item drop onto cart window. If window 0x271B exists, delegates to standard handler. Type 3: if equipped or DAT_014576e4 set, sends msg 0x26; otherwise opens cart dialog (msg 0xD, param 2). Non-type-3 sends msg 0x12. 0x00972350 189 UIWindow__on_drop_item_handle_guild_storage ui_events Handles item drop onto guild storage window. Accepts type 4/5 items. If member offset 0xF8 is set and item is not equipped, opens guild storage dialog (msg 0xD, param 0xF). Equipped items send msg 0x26. 0x00972410 259 UIWindow__on_drop_item_handle_equip_swap ui_events Handles item drop for equipment swap window. Type 4 (equip): if member 0xF8 is 0, equipped items send msg 0x26, unequipped open dialog (msg 0xD, param 3). Type 5 (storage): if member 0xF8 set, equipped/DAT_014576e4 sends msg 0x26, else dialog (msg 0xD, param 4). 0x00972520 78 UIWindow__on_drop_item_reject_all ui_events Drop handler that rejects all items. If window 0x271B exists, delegates to standard handler. Otherwise always sends msg 0x12 (reject drop). 0x00972570 188 UIWindow__on_drop_item_handle_trade ui_events Handles item drop onto trade window. Accepts type 1/9 items. Checks trade status via CGame__check_and_show_disconnect_dialog. Equipped items (param_4[4]==1) send msg 0x26, unequipped open trade dialog (msg 0xD, param 7). Non-type-1/9 sends msg 0x12 (reject). 0x00972630 446 UIWindow__on_drop_item_handle_vending ui_events Handles item drop onto vending setup window. Checks vending state: if DAT_01738270==1 shows 'cannot add' message, if DAT_0173826c==0 && state==0 shows error. Accepts type 1/9, checks trade state, equipped items msg 0x26, unequipped open dialog (msg 0xD, param 7). 0x009727F0 114 UIWindow__on_drop_item_handle_equipment ui_events Handles item drop onto equipment window. Complex multi-type handler: type 1 checks equipment slot match and sends equip packet (0x907). Types 2,6,9,0xF,0x11,0x12,0x18 send msg 0x26. Type 0xE forwards to DAT_014579f8 (card insert). Type 0x1C resets card list, 0x21 resets refine window. 0x009729C0 256 UIWindow__on_drop_item_handle_skill_target ui_events Handles item drop for skill target window. Type 0xC with sub-types 4,5,8-15 checks if item is identified (FUN_00ddf0f0) and shows error if not. Type 0x16 checks equipped state. Other sub-types open skill target dialog (msg 0xD, param 0xC). 0x00972B50 164 UIWindow__on_drop_item_handle_mail ui_events Handles item drop onto mail compose window. Accepts type 0xD items only. Equipped items send msg 0x26, unequipped open mail attach dialog (msg 0xD, param 0xB). 0x00972C00 216 UIWindow__on_drop_item_handle_auction ui_events Handles item drop onto auction window. If window 0x271B exists or DAT_01457870/DAT_01457878 are set, delegates to standard handler. Accepts type 1/6, checks trade state. Equipped items msg 0x26, unequipped open dialog (msg 0xD, param 8). 0x00972CE0 204 UIWindow__on_drop_item_handle_pet_or_ammo ui_events Handles item drop for pet/ammo equip window. Accepts types 10,0x13,0x15. Equipped items or type 0x13 send msg 0x26. Unequipped: if member 0xF4==2, opens dialog (msg 0xD, param 0x12), else dialog (msg 0xD, param 10). 0x00972DB0 171 UIWindow__on_drop_item_handle_skill_use ui_events Handles item drop for skill use window. Accepts type 0xB items (equipped items msg 0x26, unequipped open dialog msg 0xD param 9). Type 0x14 items always send msg 0x26. 0x00972E60 225 CItemInfoMgr__build_sell_info_vector game_items Builds item info vector for sell context menu. Inserts CItemInfoMgr entries 0x50DC and 0x50DD (sell-related info IDs) into output vector. 0x00972F50 292 CItemInfoMgr__build_storage_info_vector game_items Builds item info vector for storage context menu. Inserts entries 0x5140, 0x5142 (with quantity param from offset 0xFC), and 0x5141. 0x00973080 225 CItemInfoMgr__build_trade_info_vector game_items Builds item info vector for trade context menu. Inserts entries 0x510E and 0x510F. 0x00973170 225 CItemInfoMgr__build_cart_info_vector game_items Builds item info vector for cart context menu. Inserts entries 0x51A4 and 0x51A5. 0x00973260 315 CItemInfoMgr__build_equip_info_vector game_items Builds item info vector for equip context menu. Conditionally uses different entry IDs based on offset 0x100: if 0, uses 21000/0x5209; if non-zero, uses 0x523A/0x523B. 0x009733A0 315 CItemInfoMgr__build_guild_storage_info_vector game_items Builds item info vector for guild storage context menu. If offset 0x108 is 0, uses entries 0x529E/0x529F; otherwise uses 0x526C/0x526D. 0x009734E0 386 CItemInfoMgr__build_auction_info_vector game_items Builds item info vector for auction context menu. If offset 0x10C is 0, uses entries 0x52D0/0x52D1; otherwise uses 0x5302/0x5305 (with quantity from offset 0x108)/0x5303. 0x00973670 225 CItemInfoMgr__build_mail_info_vector game_items Builds item info vector for mail attach context menu. Inserts entries 0x5398 and 0x5399. 0x00973760 315 CItemInfoMgr__build_shop_info_vector game_items Builds item info vector for shop context menu. If offset 0x130 is 0 (buy mode), uses entries 0x5334/0x5335; otherwise (sell mode) uses 0x5366/0x5367. 0x009738A0 245 UIShopGridWnd__hit_test_item_grid game_core Hit tests an item grid for shop windows. Given mouse x,y coordinates, calculates grid cell index (0x20 pixel rows, x offset 0x28). Skips items that are identified or hidden (filtering). Returns item index or -1. 0x009739A0 122 UIShopGridWnd__hit_test_item_grid_b game_core Hit tests item grid variant B. Uses linked list at offset 0x12C, grid dimensions from offsets 0x11C/0x120/0x124. Returns item index in linked list or -1. 0x00973A20 134 UIShopWnd__get_item_at_index game_core Gets shop item at the given index from the linked list at offset 0xE8. Iterates through list, copies CShopItem at the matching index. Returns empty item if not found. 0x00973AB0 359 CShopWnd__get_item_at_grid_pos_tab1_00973ab0 ui_shop Gets shop item at grid position (param_3, param_4) for tab 1. Iterates linked list at this+0xe8, skips first (rows*cols_per_page) items, uses atoi on item string ID, checks availability via FUN_00e1df60, returns copy-constructed CShopItem at matching grid index. 0x00973C20 311 CShopWnd__get_item_at_grid_pos_tab2_00973c20 ui_shop Gets shop item at grid position for tab 2 (x offset 0x14). Same logic as tab1 variant but with different coordinate range check (param_3 - 0x14 < 0x20). 0x00973D60 311 CShopWnd__get_item_at_grid_pos_tab3_00973d60 ui_shop Gets shop item at grid position for tab 3 (x offset 0x14). Identical to tab2 variant. 0x00973EA0 311 CShopWnd__get_item_at_grid_pos_tab4_00973ea0 ui_shop Gets shop item at grid position for tab 4 (x offset 0x28). Same linked list iteration and grid index matching as other tab variants. 0x00973FE0 327 CShopWnd__get_item_at_grid_pos_tab5_00973fe0 ui_shop Gets shop item at grid position for tab 5 (x range check param_3 >= 0x28 and < this+0x14 - 0x14). Uses wider bounds validation. 0x00974130 339 CShopWnd__get_item_at_grid_pos_search_tab_00974130 ui_shop Gets shop item at grid position for search results tab. Uses linked list at this+0x148, different grid layout (0x2a row height), checks x < 0x23 for valid column. Items per page from this+0x138 * this+0x13c. 0x00974290 142 UIVendingWnd__get_item_at_index game_core Gets vending item at the given index from the linked list at offset 0x12C. Copies struct with string at offset 0x38. Returns default if not found. 0x00974320 229 CUIWindow__on_click_item_grid game_core Handles click on item grid; maps x/y to grid row based on page size and calls item detail function 0x00974410 140 UIVendingWnd__get_item_at_page_offset game_core Gets vending item at page-adjusted index (param_3 + offset 0x11C) from linked list at offset 0x12C. Copies via CSkillEntry::copy_ctor. Returns default if not found. 0x009744A0 93 UIShopWnd__find_item_by_name_in_list game_core Searches shop item list for an item matching the given name string. Iterates linked list at offset 0xE8, compares string at node offset 0x34. Returns 1 if found, 0 if not. 0x00974500 93 UIShopWnd__find_item_by_name_in_list_b game_core Identical to UIShopWnd::find_item_by_name_in_list - searches linked list at offset 0xE8 for matching name. Variant B for a different window class. 0x00974570 26 check_coordinates_within_valid_range game_core Checks if coordinates at offsets 0x18A and 0x18C are within valid range (both < 0x8000). Returns 1 if valid, 0 if invalid. 0x00974590 146 UIShopWnd__send_search_or_buy_packet game_core Sends search or buy packet for shop window. If offset 0x130 is 1 (sell mode), gets display text and quantity, sends packet 0x12A. Otherwise sends packet 0x128 with search text. 0x00974630 487 thread_local_sprintf_00974630 game_core Thread-local sprintf. Maintains a red-black tree keyed by thread handle, each node has an 0x800-byte buffer. Creates node on first use per thread, registers atexit cleanup. Calls vsprintf into thread-local buffer and returns pointer to it. 0x00974820 218 UIShopWnd__create_submit_button game_core Creates a submit/confirm button for the shop window. Allocates CDialogWnd, sets text from string resource 0xE35, positions at bottom-right, sets button label from 0xE36, assigns msg ID 0x230. 0x00974910 1842 CShopWnd__init_buy_ui_00974910 ui_shop Initializes the buy shop window UI. Creates text widget at this+0xb4 for displaying zeny amount, editable text widget at this+0xb8 for search/input, and a dialog button with cancel texture. Sets up button textures (normal/hover/pressed) from resource paths, positions widgets relative to window size. 0x00975050 3187 CShopWnd__init_cancel_buttons_00975050 ui_shop Initializes shop window with text widget at this+0x100, editable text widgets, label widget with checkbox texture, scrollbar, and two dialog buttons (cancel). Creates button textures with 3 states (normal/hover/pressed), positions relative to window dimensions. Sets up page count from param_3. 0x00975CD0 3011 CShopWnd__init_exchange_buttons_00975cd0 ui_shop Initializes shop window with exchange + cancel buttons. Creates editable text widget, label, checkbox, scrollbar, and two dialog buttons (btn_exchange and btn_cancel). Uses btn_exchange_a/b textures for the first button. Otherwise very similar to the cancel-only variant. 0x009768A0 3175 CShopWnd__init_sell_buttons_009768a0 ui_shop Initializes shop window with sell + cancel buttons. Creates editable text widget with "Total: %d Zeny" format, label, checkbox, scrollbar, and two dialog buttons (btn_sell and btn_cancel). Uses btn_sell_a/b textures. Sets up page count from param_3. 0x00977510 665 CShopWnd__init_simple_ui_variant1_00977510 ui_shop Initializes a simple shop window variant with editable text widget, label with checkbox texture, dialog button with auto-resize, scrollbar. Creates page rows from height calculation. Sets up radio button selection and scrollbar orientation. 0x009777B0 665 CShopWnd__init_simple_ui_variant2_009777b0 ui_shop Identical to variant1 at 00977510. Initializes simple shop window with editable text, label/checkbox, dialog button, scrollbar. Same layout and widget creation logic. 0x00977A50 486 CShopWnd__init_scrollbar_and_search_00977a50 ui_shop Initializes shop window scrollbar at this+0xc0, editable text widget at this+0x118 for search, and label widget at this+0x114 with checkbox. Creates close button at this+0xfc via CUIEquipWindow__create_close_button. 0x00977C40 450 CShopWnd__init_scrollbar_and_label_00977c40 ui_shop Initializes shop window scrollbar at this+0xc0, editable text widget at this+0x114 for search, and label widget at this+0x110 with checkbox. Similar to 00977a50 but without close button, and stores widgets at different offsets. 0x00977E10 5267 CUISearchWindow__init_child_widgets game_core Initializes the search window UI: creates editable text widget, text label, scrollbar, sprite widget, close/search buttons (with texture paths), 8 radio button filter tabs with map names from message string table, render widget, and title labels. Sets up button textures (btn_close, bt_search), configures radio button selection based on DAT_017387eb flags. 0x009792B0 1646 CShopWnd__init_full_ui_with_tabs_009792b0 ui_shop Initializes full shop window UI with tabs. Creates: label+checkbox at this+0x2f, scrollbar at this+0x30, button widgets at this+0x3d/0x3e/0x3f (Ctrl_E/Alt_E shortcuts), tab widget at this+0x46 with 4 tabs, two checkbox widgets for settings (this+0x45, this+0x47), dialog buttons (this+0x48, this+0x49, this+0x4b) with various textures. Computes page layout from param_2/param_3. 0x00979920 3394 CShopWnd__init_close_button_ui_00979920 ui_shop Initializes shop window UI with close button. Optionally creates text at this+0x3f if this+0x40 is set. Creates editable text, label+checkbox, scrollbar, dialog button at this+0x41 with conditional text based on this+0x40. Creates one close button (btn_close) with 3 texture states. Sets up page layout. 0x0097A670 906 CShopWnd__init_confirm_cancel_ui_0097a670 ui_shop Initializes shop confirm/cancel UI. Creates editable text at this+0xb4 with word-wrapped text, two dialog buttons at this+0xc4 and this+0xc8 with different textures (confirm/cancel), editable text at this+0xb8 for input, and another text at this+0xbc/0xc0. 0x0097AA00 4600 CShopWnd__init_sell_or_cancel_ui_0097aa00 ui_shop Initializes shop window with either sell or cancel button set based on this+0x42 flag. Creates "Total: %d Zeny" label, editable text with conditional text, and two dialog buttons with either btn_sell or btn_cancel textures. Large function with extensive string/button setup and SEH cleanup. 0x0097BC00 292 CShopWnd__init_optional_text_and_pages_0097bc00 ui_shop Optionally initializes text widget at this+0x41 if this+0x43 flag is set (using localized string 0x6c7). Calculates page rows from (param_3 - this+0x46 - 0x11) / 32. Sets up grid layout parameters and calls virtual method 0x94. 0x0097BD30 700 CShopWnd__init_inventory_ui_0097bd30 ui_shop Initializes inventory-style shop window. Creates editable text with "Num: %d/%d Weight: %d/%d" format from global inventory stats, label+checkbox, scrollbar, and close button (Alt_W shortcut). Sets column and row counts from param_2/param_3. Hides the stats text initially. 0x0097BFF0 567 CShopWnd__init_mode_dependent_ui_0097bff0 ui_shop Initializes shop window with mode-dependent behavior. Creates editable text with text chosen by this+0x3d mode (1=0x6c5, 2=0x6ca, else=0xe8). Creates label+checkbox, scrollbar. After layout, calls different init functions based on mode: mode 1 -> FUN_00dfc170, mode 2 -> FUN_00dfc330, else checks condition and calls FUN_00dd8cc0. 0x0097C230 4070 CUIShopWindow__create_list_widgets ui_shop Creates UI child widgets for a shop/vending list window. Creates text label widget, scrollbar, text labels per row for item listing (up to 13 rows compact or 5 rows detailed). Creates cancel/close buttons with texture states. Handles both compact (type 0) and detailed (type != 0) layouts. 0x0097D220 209 create_shop_dialog_button_0097d220 game_core Creates a standalone dialog button (CDialogWnd) with all 3 texture states set to the same image. Positions at (0xe5, 4) with action code 0xc9. Used as a shop UI helper button. 0x0097D300 4313 CUIShopWindow__create_detail_widgets ui_shop Creates detailed UI widgets for a shop window variant. Sets up text label, scrollbar, use/close buttons with textures, then creates 3 columns of grid buttons (equip slots/item slots) with texture states. Calculates grid dimensions from window height. 0x0097E3F0 926 CShopWnd__draw_item_grid_basic_0097e3f0 ui_shop Draws basic item grid for shop window. Renders border tiles, fills background color, draws column separators, then iterates item linked list rendering each item sprite (with or without count based on this+0xb4), and discount badge sprites if applicable. 0x0097E7A0 1591 CShopWnd__draw_item_grid_with_prices_0097e7a0 ui_shop Draws item grid with price display. Similar to basic grid draw but adds: selection highlight for selected item, item tooltips with wrapping, price text (shows "N > Price Unit" format when count differs from max), discount badges, and bottom price labels with separator bar when this+0xfc is set. 0x0097EDE0 1078 CShopWnd__draw_item_grid_with_tooltips_0097ede0 ui_shop Draws item grid with inline tooltip text. Renders borders, background, column separators, then iterates items drawing sprites with count, inline tooltips via CItemDesc__render_inline_tooltip_text, selection highlights, and discount badges. 0x0097F220 1392 CShopWnd__draw_item_grid_with_zeny_prices_0097f220 ui_shop Draws item grid with Zeny price display. Similar to price variant but formats prices with "Zeny" suffix (e.g., "%s Zeny" or "%d > %s Zeny"). Includes selection highlights, item sprites with counts, tooltips with wrapping, and discount badges. 0x0097F790 1110 CShopWnd__draw_item_grid_offset_layout_0097f790 ui_shop Draws item grid with offset layout. Uses this+0x104 vertical offset for border calculations (height = this+0x18 - this+0x104 - 0x11). Similar to tooltip variant but with adjusted grid dimensions. Checks this+0x100 for selection highlight instead of 0xf8. 0x0097FBF0 1865 CShopWnd__draw_item_grid_with_currency_0097fbf0 ui_shop Draws item grid with currency display. Most complete variant: offset layout, selection highlights, price with configurable currency label (Point/Zeny/custom based on DAT_016d3b10 mode), discount badges. Shows currency totals at bottom when this+0x10c is set, with before/after amounts formatted via FUN_00e08c70. 0x00980340 712 CShopWnd__draw_item_list_with_label_v1_00980340 ui_shop Draws shop item list with tooltip and bottom label. Uses full-width layout (slot background type 1), background fill, column separators, item sprites with counts and tooltips. Displays string from this+0x124 at bottom. 0x00980610 712 CShopWnd__draw_item_list_with_label_v2_00980610 ui_shop Nearly identical to v1 at 00980340. Draws shop item list with tooltip and bottom label. Displays string from this+0x120 (different offset than v1's 0x124). 0x009808E0 1648 CShopWnd__draw_item_grid_with_preview_009808e0 ui_shop Draws item grid with preview panel. When this+0x190 (preview flag) is off, draws green preview box with decorations, sprite, and text labels. When preview is active, draws standard item grid with tooltips, plus currency amount display at bottom comparing current vs max values (red if over limit). 0x00980F50 2075 CUIShopWindow__draw_grid_view ui_shop Draws shop window in grid/icon view mode. Renders slot backgrounds, border decorations, item grid cells (32x32), item sprites with counts, card slot indicators, weight display text. Handles special rendering for type==3 mode with alternate background sprites and card overlay icons. 0x00981770 538 CShopWnd__draw_item_grid_with_timer_00981770 ui_shop Draws basic item grid then overlays a countdown timer. Uses timeGetTime to calculate remaining time from this+0x114/0x110 deadline. Formats as days:hours:minutes:seconds. Shows timer in red (0xff) when under ~60 seconds remaining. Position depends on this+0x100 mode. 0x009819C0 1300 CUIShopWindow__draw_list_view ui_shop Draws shop window in list view mode. Renders slot backgrounds, border lines, row selection highlight, item sprites with card slot counts, item descriptions, and Zeny prices. Shows price ranges (min->max) when buy/sell prices differ. Uses linked list of items from offset 0xe8. 0x00981EE0 2270 CUIShopWindow__draw_list_view_with_timer ui_shop Draws shop window list view variant with timer support. Renders slot backgrounds, border sprites, item list with prices (Zeny), card slot indicators, item descriptions. Includes countdown timer display for timed shop events (shows seconds vs minutes format). Handles view mode 0 (icon) and mode 1 (price display). 0x009827C0 691 CUIShopWindow__draw_weight_and_zeny_footer ui_shop Draws the bottom footer area of the shop window showing weight and Zeny information. Renders weight icon + current/max weight values (turns red when over limit) and Zeny icon + current/max Zeny values (turns red when insufficient). Uses item grid basic drawing as background. 0x00982A80 2670 CUIShopWindow__draw_buy_sell_view ui_shop Draws the buy/sell shop window view with quantity input fields. Renders slot backgrounds, item rows with editable text amounts, validates input as numeric. For sell mode (0x130!=0), shows additional item descriptions, weight info, Zeny totals. Displays item sprites with card slot indicators. Parses quantity from text widgets, formats with number separators. 0x009834F0 89 CShopWnd__draw_header_banner_009834f0 ui_shop Draws shop window header banner. Loads and renders a sprite at (0,0), then draws localized text (string 0xb87) at (0,5) spanning the window width, white color, font size 0xc. 0x00983550 2598 CUISkillWindow__draw_skill_list game_core Draws skill window list with skill icons, names, levels, and SP/AP costs. Renders header/border sprites, skill grid with selection highlight. Shows skill level (Lv/Nv), current vs max level, SP cost, AP cost. Handles two skill tree modes (0=homunculus?, 1=mercenary?). Includes special rendering for level-selectable skills. Displays window title based on mode. 0x00983F80 98 CShopWnd__on_mouse_move_tooltip_a0_00983f80 ui_shop Mouse move handler for shop window. If global DAT_014576e4 is set and tooltip window DAT_014578d4 exists, calls virtual method 0x64 (base handler), updates tooltip position via FUN_00a82f80 with size 0xa0, then forwards to tooltip's method 0x28. 0x00983FF0 95 CShopWnd__on_mouse_move_tooltip_16_00983ff0 ui_shop Mouse move handler variant. Same as 00983f80 but uses tooltip DAT_014578d0 and size 0x16. 0x00984050 107 CShopWnd__on_mouse_move_tooltip_a1_00984050 ui_shop Mouse move handler variant. Uses tooltip DAT_014578e0 and size 0xa1. Additionally checks this+0x3e before processing. 0x009840C0 104 CShopWnd__on_mouse_move_tooltip_18_009840c0 ui_shop Mouse move handler variant. Uses tooltip DAT_014578dc and size 0x18. Also checks this+0x3e before processing. 0x00984170 247 CShopWnd__on_click_item_handler_00984170 ui_shop Click handler for shop item grid. If y < 0x11, triggers header action. Checks Shift key state. Gets clicked item via get_item_at_grid_pos_tab5. Handles item type-based actions via switch: types 0-2 (buy with confirmation dialog), 4-15 (equip/use with Ctrl+click for linking), 6 (action 0x7b), 10/16/17/19 (action 0x57), 18 (sell confirmation dialog). 0x009844E0 178 CShopWnd__on_click_vending_item_009844e0 ui_shop Click handler for vending window items. If y < 0x11, handles header click. Otherwise gets item at this+0x46 index via UIVendingWnd__get_item_at_index, validates item data (fields must be non-zero), then triggers action 0x3a with item data. 0x009845A0 339 CUIWindow__on_shop_item_click game_core Shop item click handler. Draws header area if y < 17. Performs hit test on shop item grid, updates selected index at offset 0xF8. If selection changed, calls virtual refresh. If not in replay mode, looks up shop item, finds NPC shop item by name, and renders item description tooltip. 0x00984700 467 CShopWnd__on_hover_item_tab1_show_tooltip_00984700 ui_shop Hover handler for tab 1 items. Updates selected item index at this+0x3e via hit test, triggers redraw on change. Gets hovered item via get_item_at_grid_pos_tab1. Shows item tooltip by copying item desc and calling FUN_00cfe140 with mode 5. 0x009848E0 467 CShopWnd__on_hover_item_tab1_show_tooltip_v2_009848e0 ui_shop Identical logic to 00984700. Hover handler for tab 1 items showing tooltip on hover. Duplicate variant. 0x00984AC0 468 CShopWnd__on_hover_item_show_tooltip_mode3_00984ac0 ui_shop Hover handler for items showing tooltip with mode 3. Updates this+0x40 selection index. Gets item via tab1 grid pos, copies desc via FUN_00ddd5a0, then calls FUN_00cfe140 with mode 3. 0x00984CA0 325 CShopWnd__on_hover_item_show_tooltip_mode3_v2_00984ca0 ui_shop Similar to 00984ac0 but simpler - directly gets item via UIShopWnd__get_item_at_index instead of grid pos. Shows tooltip with mode 3. 0x00984DF0 278 CShopWnd__on_hover_item_tab2_tooltip_00984df0 ui_shop Hover handler for tab 2 items. Gets item via get_item_at_grid_pos_tab2, checks item is valid and not sold out (local_18e == 0), copies desc via FUN_00de0eb0, shows tooltip with mode 6. 0x00984F10 278 CShopWnd__on_hover_item_tab3_tooltip_00984f10 ui_shop Hover handler for tab 3 items. Gets item via get_item_at_grid_pos_tab3, same sold-out check and tooltip mode 6 as tab 2 variant. 0x00985030 291 CShopWnd__on_hover_item_tab4_tooltip_00985030 ui_shop Hover handler for tab 4 items. Gets item via get_item_at_grid_pos_tab4. Also checks DAT_016f7144 global flag to skip when set. Shows tooltip with mode 6. 0x00985160 531 CShopWnd__on_hover_item_tab5_with_shift_00985160 ui_shop Hover handler for tab 5 items with Shift key support. Gets item via get_item_at_grid_pos_tab5, shows tooltip mode 1. When Shift is held, checks window type at field 0x1a0 and routes to different detail views: 0x1ec -> item tooltip, 0x1ea/0x1ee -> field accessor, 0x1eb -> achievement reward detail, 0x1ed -> edit box dtor. 0x00985380 24 CShopWnd__on_hover_header_only_00985380 ui_shop Minimal hover handler that only processes header area (y < 0x11). No item hover logic. 0x009853A0 356 CShopWnd__on_hover_item_conditional_tooltip_009853a0 ui_shop Hover handler with conditional tooltip mode. Gets item at index, looks up item name by string in field 0xe0, copies desc via FUN_00ddef40. Shows tooltip mode 0xd or 0x15 based on this+0x42 flag. 0x00985510 250 CShopWnd__on_hover_item_tooltip_mode_c_00985510 ui_shop Hover handler showing tooltip with mode 0xc. Only processes when this+0x43 == 0. Updates selection index at this+0x3f, gets item by index, shows tooltip. 0x00985610 544 CShopWnd__on_hover_item_tab1_with_shift_00985610 ui_shop Hover handler for tab 1 items with Shift key and auction check (DAT_0145797c). Gets item via tab1 grid pos, copies desc via FUN_00dde9f0, shows tooltip mode 9. Shift+hover routes to various detail views like 00985160. 0x00985830 317 CShopWnd__on_hover_item_mode_dependent_tooltip_00985830 ui_shop Hover handler with mode-dependent tooltip. Gets item via tab1 grid pos, copies desc via FUN_00ddeb50. Tooltip mode depends on this+0xf4: 1->0x14, 2->0x16, else->0xb. 0x00985970 300 CShopWnd__on_hover_search_tab_tooltip_00985970 ui_shop Hover handler for search tab items. Gets item via get_item_at_grid_pos_search_tab, copies desc via FUN_00dde890. Tooltip mode 10 or 0x13 based on this+0x130 flag. 0x00985AA0 232 CShopWnd__on_hover_vending_item_tooltip_00985aa0 ui_shop Hover handler for vending window items. Updates this+0x46 selection via hit_test_item_grid_b. Gets clicked item via CUIWindow__on_click_item_grid, validates item data, looks up item info via FUN_00e089a0, shows tooltip mode 8 via FUN_00cfe2a0. 0x00985B90 820 CShopWnd__on_right_click_item_show_info_00985b90 ui_shop Right-click handler for shop items showing item info popup. Gets item at grid pos tab1, computes snapped grid position, builds formatted string with item name, quantity, price (and optional currency label based on DAT_016d3b10), then displays popup via FUN_00ad6510. 0x00985ED0 703 CShopWnd__on_right_click_item_show_zeny_info_00985ed0 ui_shop Right-click handler for shop items showing Zeny price info popup. Similar to 00985b90 but always uses "Zeny" suffix in price format strings instead of configurable currency. 0x00986190 1059 CUIShopWindow__show_item_tooltip ui_shop Shows item tooltip for a shop grid cell at the given position. Gets item data from grid position, builds tooltip string with item name, quantity, price info. Handles 4 cases: same buy/sell price, different prices, with/without discount amount. Formats prices with Zeny suffix and displays the tooltip at snapped grid position. 0x009865C0 931 CUIShopWindow__show_item_tooltip_tab1_alt ui_shop Shows item tooltip for shop grid tab1 with additional quantity display. Similar to show_item_tooltip but checks param_1+0xf8 for display mode. Formats tooltip with item name, quantity, and price (with discount if applicable). Shows price range when buy/sell differ. 0x00986970 1669 CUIShopWindow__show_item_tooltip_with_currency ui_shop Shows item tooltip with variable currency type (Zeny/Point/etc). Determines currency label based on game mode (DAT_016d3b10): mode 6=special, mode 0 checks server type. Builds tooltip string with item name, quantity, price info, and currency suffix. Handles discount display and price ranges. 0x00987000 507 CUIShopWindow__show_tooltip_tab2 ui_shop Shows item tooltip for shop grid tab 2 items. Gets item at grid position via tab2 lookup, builds tooltip with item name. If item has a special flag and count, includes count in tooltip. Displays at snapped grid position. 0x00987200 507 CUIShopWindow__show_tooltip_tab3 ui_shop Shows item tooltip for shop grid tab 3 items. Identical structure to tab2 tooltip but uses tab3 item lookup function. Builds tooltip with item name and optional count. 0x00987400 507 CUIShopWindow__show_tooltip_tab4 ui_shop Shows item tooltip for shop grid tab 4 items. Identical structure to tab2/tab3 tooltip but uses tab4 item lookup. Builds tooltip with item name and optional count. 0x00987600 584 CUIShopWindow__show_tooltip_tab5 ui_shop Shows item tooltip for shop grid tab 5 items. Gets item at grid position via tab5 lookup. Builds tooltip with item name and additional field (local_12c). Uses different format string IDs (0x9f7/0xb7) compared to other tabs. 0x00987850 832 CUIShopWindow__show_tooltip_sell_tab ui_shop Shows item tooltip in the sell tab of the shop window. Gets item at grid position, builds tooltip with item name. Mode 0x100==0 shows Zeny price (with optional discount), mode 0x100!=0 shows quantity and alternate price format. Displays tooltip at snapped grid position. 0x00987B90 422 CUIShopWindow__show_tooltip_with_quantity_price ui_shop Shows item tooltip with quantity and Zeny price for shop grid position. Gets item at tab1 grid position, formats tooltip string with item name, quantity, and formatted Zeny price. Always uses the same format regardless of item flags. 0x00987D40 936 CUIShopWindow__show_tooltip_buy_sell_tab ui_shop Shows item tooltip for buy/sell tab items. If item found at grid position, shows tooltip directly. If not found, does a secondary hit test + item lookup to find the item from a different data source. Handles items with optional count display. 0x009880F0 590 CUIShopWindow__show_tooltip_with_extra_field ui_shop Shows item tooltip for a shop grid position with an extra data field (local_12c). Gets item at tab1 grid position. If flagged item with count, formats with string ID 0x9f7. Otherwise formats with item name, extra field, and quantity label. Uses format '%s %d %s'. 0x00988340 590 CUIShopWindow__show_tooltip_with_extra_field_alt ui_shop Shows item tooltip for shop grid position with extra field (variant). Very similar to show_tooltip_with_extra_field but uses format string ID 0xac4 instead of 0x9f7 for the discount case. Same basic structure: item name + extra field + quantity. 0x00988590 294 CUISkillWindow__show_skill_tooltip game_core Shows skill name tooltip on hover in the skill window. Checks for tooltip flash timer (resets after 1000ms). Gets skill at grid position, retrieves skill name. If name text width exceeds available space and mouse is past x=0x70, displays tooltip at adjusted position. Used for truncated skill names in list view. 0x009886F0 1318 CUIShopWindow__on_tick_update_prices ui_shop Tick handler for the buy/sell shop window. If both offset 0x128 and 0x130 are set (sell mode), iterates over price input widgets, parses amounts via _atoi64, multiplies by item prices, sums totals, and updates total display. Otherwise handles price input validation: checks if focused widget changed, validates numeric input, caps values at 1,000,000,000 Zeny, formats with color coding, and updates text length tracking. 0x00988C20 51 CShopWnd__check_timeout_and_close_00988c20 ui_shop Checks if shop window has timed out. Compares current timeGetTime with deadline (this+0x2d + this+0x2e). If expired, triggers action 0xc9 (close) via virtual method 0x94. 0x00988C60 237 CShopWnd__on_click_item_send_action_00988c60 ui_shop Click handler that sends action 0x18 to parent window. Updates selection at this+0x3e via hit test, gets item by index, finds parent window via FUN_00a978d0(0xc), and forwards action with item data. 0x00988D50 181 CShopWnd__on_click_tab1_item_send_action_00988d50 ui_shop Click handler for tab 1 items. Gets item at grid pos tab1, finds parent window (0xc), sends action 0x18 with item data. 0x00988E10 181 CShopWnd__on_click_tab1_item_send_action_v2_00988e10 ui_shop Identical to 00988d50. Click handler for tab 1 items sending action 0x18. 0x00988ED0 191 CShopWnd__on_click_tab1_item_with_context_00988ed0 ui_shop Click handler for tab 1 items. Similar to 00988d50 but calls FUN_00ad6450 for context before finding parent and sending action 0x18. 0x00988F90 237 CShopWnd__on_click_item_by_index_send_action_00988f90 ui_shop Click handler using hit test at this+0x40. Gets item by index, calls FUN_00ad6450, finds parent (0xc), sends action 0x18 with item data. 0x00989080 387 CUIShopWindow__on_click_tab2_item ui_shop Handles click on shop tab 2 item grid. Gets item at grid position via tab2 lookup. Without modifier keys: opens item info dialog. With Shift: sends command 0x14d (link item). With Alt: if auction/mail window active, sends 0x38 or 0x4e command depending on flags. 0x00989210 387 CUIShopWindow__on_click_tab3_item ui_shop Handles click on shop tab 3 item grid. Identical structure to tab2 click handler but uses tab3 item lookup. Without modifier: opens item info. Shift: links item. Alt: sends item to auction/mail. 0x009893A0 374 CUIShopWindow__on_click_tab4_item ui_shop Handles click on shop tab 4 item grid. Same structure as tab2/tab3 handlers but uses tab4 lookup. No modifier: item info. Shift: link (always available, no DAT check). Alt: auction/mail send. 0x00989520 890 CUIShopWindow__on_click_tab5_item ui_shop Handles click on shop tab 5 item grid. Gets item via tab5 lookup. No modifier: opens item info. Ctrl: validates item storage (checks weight capacity), conditionally sends storage packet 0xa35. Shift: sends command 0x14e with additional flag. Alt: copies item to drag, attempts auction/mail/trade send via commands 0x33/0x37/0x4c. 0x009898A0 191 CUIShopWindow__on_click_tab1_item_simple ui_shop Simple click handler for shop tab 1 item grid. Gets item at grid position via tab1 lookup. If item found, opens item info dialog (no modifier key handling). Used for read-only display modes. 0x00989960 411 CUIShopWindow__on_click_buy_sell_item ui_shop Handles click on buy/sell view item. Hit tests grid position, updates selected index. If selection changed, triggers redraw. Gets item at index. No modifier: opens item info dialog. Alt: copies item for trade/enchant window (type 0xd), sends update to target window at DAT_01457980. 0x00989B00 319 CUIShopWindow__on_click_sell_item ui_shop Handles click on sell view item grid. Hit tests and updates selection index (offset 0x3f). No modifier: opens item info. Alt: copies item for external window (type 0xc), notifies target window at DAT_01457988. 0x00989C40 423 CUIShopWindow__on_click_tab1_item_with_modifiers ui_shop Handles click on tab 1 item with full modifier key support. Gets item at tab1 grid position. No modifier: opens item info. Shift: sends command 0x14f (link item variant). Alt: checks for auction/mail/trade windows and sends appropriate commands (0x4d, 0x4f) to transfer items. 0x00989DF0 485 CUIShopWindow__on_click_tab1_item_for_enchant ui_shop Handles click on tab 1 item for enchant/refine operations. Gets item at tab1 grid position. No modifier: opens item info. Alt: copies item for enchant window (type 0xb or 0x14 depending on target). Sends item to either DAT_0145797c (craft window, type 0xb) or DAT_01457a8c (enchant window, type 0x14). 0x00989FE0 501 CUIShopWindow__on_click_search_tab_item ui_shop Handles click on search tab item grid. Gets item via search tab lookup. No modifier: opens item info. Alt: copies item for external window - sends to either DAT_01457978 (type 0xa, craft) or DAT_01457a90 (type 0x13, enchant). Triggers window update notification. 0x0098A1E0 50 CShopWnd__update_hover_selection_b_0098a1e0 ui_shop Updates hover selection index at this+0x46 via hit_test_item_grid_b. Triggers redraw (virtual 0x98) if selection changed. No tooltip or click action. 0x0098A240 23 CShopWnd__call_parent_method_8c_0098a240 ui_shop Calls virtual method 0x8c on parent widget at this+0x10 if it exists. Used as a delegate/forward handler. 0x0098A260 66 CShopWnd__on_mouse_wheel_scroll ui_shop Mouse wheel scroll handler for shop grid window. If this+0x39 (has scrollable items), computes scroll amount = min(this+0x37 - 1, 3). Negates for scroll down. Sends scroll action 7 to scrollbar at this+0x30. Identical structure to other CShopWnd mouse wheel variants. 0x0098A2B0 66 CShopWnd__on_mouse_wheel_scroll_v1_0098a2b0 ui_shop Mouse wheel handler for scrolling shop list. If this+0x39 (has items), computes scroll amount = min(this+0x37 - 1, 3). Negates for scroll down. Sends scroll action 7 to scrollbar at this+0x30. 0x0098A300 66 CShopWnd__on_mouse_wheel_scroll_v2_0098a300 ui_shop Identical to v1. Mouse wheel scroll handler using this+0x39 flag, this+0x37 rows, scrollbar at this+0x30. 0x0098A350 66 CShopWnd__on_mouse_wheel_scroll_alt_fields_0098a350 ui_shop Mouse wheel scroll handler using alternative field offsets: this+0x51 (has items), this+0x50 (rows), scrollbar at this+0x4d. 0x0098A3A0 66 CShopWnd__on_mouse_wheel_scroll_alt_fields_v2_0098a3a0 ui_shop Mouse wheel scroll handler using fields: this+0x4a (has items), this+0x49 (rows), scrollbar at this+0x2e. 0x0098A3F0 419 CUIShopWindow__update_layout_on_resize ui_shop Updates shop window layout when resized. Recalculates visible rows based on available height, updates scrollbar range and position. Repositions close/cancel buttons and the text input widget. Adjusts scrollbar size to match new window dimensions. Calculates minimum row count as max of actual rows and configured minimum. 0x0098A5A0 175 CShopWnd__update_scrollbar_range_0098a5a0 ui_shop Updates scrollbar range based on item count and visible rows. Calculates total rows from item count / columns (this+0xec / this+0xe0), compares with visible rows (this+0xdc). Sets scrollbar range, clamps scroll position, and triggers redraw. Uses scrollbar at this+0xc0. 0x0098A650 158 CShopWnd__update_scrollbar_range_search_tab_0098a650 ui_shop Updates scrollbar range for search tab. Uses fields at this+0x134 (scrollbar), this+0x158 (visible rows), this+0x14c (total rows), this+0x138 (scroll position). 0x0098A6F0 175 CShopWnd__update_scrollbar_range_alt_0098a6f0 ui_shop Updates scrollbar range for alternate layout. Uses scrollbar at this+0xb8, calculates rows from this+0x130 / this+0x120, visible rows at this+0x124, scroll position at this+0x11c. 0x0098A7A0 344 CUISkillWindow__update_skill_button_positions game_core Updates skill button widget positions in the skill window. Iterates through skill slots, checks if skill is available and within range. Positions up/down arrow buttons based on skill availability and level-use check. Hides buttons (moves offscreen to -200) for unavailable skills. 0x0098A920 484 CUISkillWindow__handle_message game_core Message handler for the skill window. Handles: scroll up/down (cases 3/4), scroll position changes (7/9/10), resize (case 0xe with min 232x102, snapped to 32px grid), and refresh (case 0x17). Delegates unknown messages to UIWindow base handler. 0x0098AB40 135 CShopWnd__handle_quantity_input_0098ab40 ui_shop Massive message handler for quantity input dialogs. Handles action 6 (button confirm with quantity validation), action 0xd (quantity display update), action 0x1d (text update). The inner switch on this+0xc mode handles 20+ different shop transaction types (buy/sell/exchange/vend/auction/etc), each with specific max quantity lookup, tooltip window updates, and confirmation dialogs. 0x0098B980 138 CShopWnd__handle_buy_window_messages_0098b980 ui_shop Main message handler for buy shop window. Handles: action 6 (buy confirm with quantity validation, currency checking), action 0xe (window resize with grid recalculation), action 0x17 (populate item list with total price calculation in Zeny/Koin/Point), action 0x22 (window init with position/size), action 0x24 (toggle mode), action 0x26 (execute purchase with stock validation), action 0x7b (packet 0x50dc/0x50dd buy response). 0x0098C5A0 1464 CUIHomSkillWindow__handle_message game_core Message handler for homunculus/mercenary skill window. Handles: button clicks (0xb8=use skill with confirm, 0xb9=cancel), resize (0xe, min 232x120), refresh (0x17 - reloads skill list), window layout (0x22), item info (0x26 - handles card/equip actions), and packet processing (0x7b - sub-packets 0x5140/5141/5142). 0x0098CBF0 138 CShopWnd__handle_sell_window_messages_0098cbf0 ui_shop Main message handler for sell shop window. Handles: action 6 (sell confirm/cancel), action 0xe (resize), action 0x17 (populate sell item list with Zeny total), action 0x22 (init), action 0x26 (execute sell), action 0x7b (packet 0x510e/0x510f sell response). 0x0098D1F0 137 CShopWnd__handle_generic_shop_messages_0098d1f0 ui_shop Generic shop window message handler. Handles: action 6 (toggle visibility flag 0xd5), action 0xe (resize with grid recalculation), action 0x17 (populate items), action 0x22 (init), action 0x24 (set text and button state), action 0x26 (execute action - mode 0 buys, mode 1 sells with tooltip refresh). 0x0098D690 138 CShopWnd__handle_generic_shop_messages_v2_0098d690 ui_shop Generic shop window message handler variant. Similar to 0098d1f0 but with extra DAT_016f7144 flag handling on action 6 (visibility toggle propagated to child dialog). Action 0x24 handles toggle of optional text widget and scrollbar resize. 0x0098DBF0 546 CUIInventoryWindow__handle_message game_core Message handler for inventory window variant. Handles: resize (0xe), refresh/populate (0x17 - loads items by category tabs with type filtering), window layout (0x22), item actions (0x26 - equip/use), search mode toggle (0x16c/0x16d), item string update (0x37), and search reset (0xf6). Supports 8 item type categories. 0x0098E0D0 443 CUIInventoryWindow__handle_message_alt game_core Alternative inventory window message handler. Same structure as handle_message but with different item type filtering per tab. Uses different global functions (FUN_009968b0/FUN_00995d50) for search mode. Supports same messages: resize, refresh, layout, item actions, search toggle. Item category filtering differs by tab index. 0x0098E6C0 86 CShopWnd__handle_catalog_window_messages_0098e6c0 ui_shop Catalog/search shop window message handler. Very large handler supporting: action 6 with sub-actions (0x85 search, 0x92-0x98 tab buttons, 0xc9 close, 0xf6 reset, 0x135 filter, 0x16c category change, 0x16d search execute), action 0xe (resize), action 0x16 (category select), action 0x17 (populate with item type filtering by category), action 0x22 (init tabs), action 0x26 (execute buy/sell), action 0x27 (tab switch), action 0x37 (page update), action 0x7b (packet response). 0x0098F0F5 689 CShopWnd__handle_search_filter_input ui_shop CShopWnd: handle search filter input 0x0098F700 131 CShopWnd__handle_full_shop_window_messages_0098f700 ui_shop Full shop window message handler with tabs. Handles: action 6 with sub-actions (0xc9 close child, 0xca collapse/expand, 0xd5 toggle, 0x1c8 settings, 0x1fb toggle button texture, 0x221 request), action 0xe (resize with tab/scrollbar repositioning), action 0x16 (category), action 0x17 (populate with category-based filtering for consumables/equips/etc), action 0x22 (full init), action 0x26 (execute transaction by type). 0x00990090 144 CUIEquipWindow__handle_message ui_shop Message handler for equipment window. Handles: button clicks (0xc9=equip/unequip with confirm dialogs, 0xd5=toggle show headgear, 0x1fa=delete item), resize (0xe), refresh (0x17 - loads equipment list), layout (0x22), title update (0x24), Zeny display (0x77), packet processing (0x7b - sub-packets 0x5208/5209/523a-c), and item selection (0x1c). 0x00990810 103 CUIConfirmDialog__handle_message game_core Simple confirm dialog message handler. On button 0xb8 (OK): sends command 0x53 with stored item ID and count to server. On button 0xb9 (Cancel) or OK: closes window 0xe6 and calls cleanup. Delegates other messages to base UIWindow handler. 0x00990880 138 CUIVendingWindow__handle_message game_core Message handler for the vending (player shop) window. Handles: buy/cancel buttons (0xb8/0xb9 - validates weight capacity for purchases, handles both vending modes), resize (0xe), refresh (0x17 - loads vending item list with Zeny totals), item selection (0x1c), layout (0x22), item purchase confirmation (0x26 - checks Zeny limits, 30k item cap), and packets (0x7b - 0x529e/526c/526d/529f). 0x00991370 145 CUICartWindow__handle_message game_core Message handler for cart inventory window. Handles: resize (0xe - supports two max width modes based on 0x43 flag), refresh (0x17 - loads cart items), item selection (0x1c), layout (0x22 - position validation varies by mode), title update (0x24), item actions (0x26 - sell/equip), Zeny display (0x77), and packet processing (0x7b - 0x52d0/5302/5305). 0x00991880 137 CUIStorageWindow__handle_message game_core Message handler for storage window. Handles: close button (0xc9 - closes window 0x28), resize (0xe - min 232x120), refresh (0x17 - loads storage items), layout (0x22), item actions (0x26 - move to inventory with commands 0x4c/0x4e), and status text update (0x37 - displays item count/weight in format 'Num X/Y Weight X/Y'). 0x00991C40 138 CUIGuildStorageWindow__handle_message game_core Message handler for guild storage window. Handles: resize (0xe), refresh (0x17 - loads guild storage items), layout (0x22), item actions (0x26 - handles types 10=move, 0x13=craft, 0x15=sell with different target windows), and packet processing (0x7b - sub-packet 0x5398/5399). Delegates unknown messages to skill window base handler. 0x00992130 122 CUITradeWindow__handle_message game_core Message handler for the trade window. Complex handler supporting: button clicks (OK/cancel/lock trade), resize, refresh (loads trade items for both parties), item add/remove, Zeny amount input with validation (caps at 1B, validates numeric), trade confirmation flow, lock status updates, and packet processing. Handles both initiator and partner sides of the trade. 0x00993A20 84 CUISubDialog__handle_message_forward_to_parent game_core Simple sub-dialog message handler that forwards button clicks to parent. On button 0xc9, forwards the event to the parent window at offset 0x10 via its message handler (0x94). Delegates other messages to UIWindow base handler. 0x00993A80 143 CUISkillUseWindow__handle_message game_core Message handler for skill use/shortcut bar window. Handles: use skill button (0xb8), close (0xc9), skill slot clicks (0xef-0xf5 for decrease, 0xfd-0x103 for increase, 0x104-0x10a for set level), scroll (7/9/10), resize (0xe), refresh (0x17 - loads skill list with level auto-set), layout (0x22), skill target selection (0x30), hotbar setup (0x31 - builds skill queue with confirmation dialog), and skill confirmation (0x3a). Supports two skill tree modes (homun/merc). 0x00994439 575 CSkillListWnd__add_skill_entry_and_show_info_popup game_skills CSkillListWnd: add skill entry and show info popup 0x00994800 29 CUIItemWindow__set_selected_slots game_core Sets two selected slot indices on the item window. Stores param_2 at offset 0x18a and param_3 at offset 0x18c (both 16-bit values). 0x00994820 26 clamp_and_set_value game_core Clamps param_2 to be at most param_1 and stores it in *param_3. Only writes if param_2 is non-zero. Used for limiting values to a maximum. 0x00994840 147 CUIItemWindow__set_lock_state game_core Sets lock state on item window. When locked (param_2==1): sets flag 0x189, hides both this window and target window (DAT_01457978 or DAT_01457a90), shows warning message 0xb72. When unlocked: clears flag, shows both windows, resets selected slots to 0xffff. 0x009948E0 687 CUIItemWindow__set_display_mode game_core Sets display mode for the item window. Mode 0: checks if this is the focused widget and notifies parent, then closes. Non-zero mode: shows item count in text widget, focuses it, retrieves and displays item description with word-wrap. Builds tooltip from item database info. 0x00994B90 301 CUIEquipWindow__enter_delete_mode ui_shop Enters delete/discard item mode on the equipment window. Sets flag 0x42, creates a delete confirmation button if not already present (with text 0xb6d), hides headgear toggle button, adjusts window height to accommodate the extra button row (0x39 pixels), triggers resize and redraw. 0x00994CC0 77 CUIItemWindow__on_item_drag_start game_core Handles item drag start in item window. Sets flag 0x188, determines target window based on mode (0x130): mode 1 uses DAT_01457a90, others call drag handler and use DAT_01457978. Notifies target window to refresh (message 0x17). 0x00994D10 109 CUIShopWindow__clear_item_marks ui_shop Clears item marks/flags in the shop window when param_2 is 0. Iterates all items in the linked list at offset 0xe8, calls cleanup function and clears byte flag at offset 0x7d for each item. Then finds window type 0x133 and sends button click event (0x11e, 0xc2). 0x00994D90 176 CUIInventoryWindow__check_item_matches_tab game_core Checks if an item matches the current inventory tab filter. Parses item ID from string, looks up item type. Stores type at param_2[0x1e]. Returns 1 if item matches current tab (offset 0x154): tab 0=types 0/1/2, tab 1=type 0x12, tab 2=types 4/0xb-0xe, tab 3=types 5/8/9/0xf, tab 4=special, tab 5=types 0xa/0x10/0x11/0x13, tab 6=type 6, tab 7=types 3/7. 0x00994EF0 272 CUIInventoryWindow__check_item_matches_tab_alt game_core Same as check_item_matches_tab but uses offset 0x180 for the tab index instead of 0x154. Used by the alternative inventory window variant. Same tab-to-type mapping. 0x00995050 193 CUIShopWindow__check_item_matches_view_filter ui_shop Checks if an item matches the current view filter based on item type and equipped status. Uses a multi-level filter: main category (0x10c) and sub-category (0x100/0x104/0x108). Category 0=equipment, 1=useable/consumable, 2=etc items, 3=equipped only. Returns 1 if item matches filter. 0x00995170 417 CUIShopWindow__populate_item_list ui_shop Populates the shop window's item list from game data. Clears existing linked list, iterates all items from get_field_0x1714, filters by equipped status flag, copies matching items into the linked list. Optionally sorts by item name if DAT_0173a504 is set. Triggers redraw and scrollbar update. 0x00995330 56 CUIWindow__save_position_to_config game_core Saves the window's current position and size to its config struct. If config pointer at offset 0xf4 is non-null, writes width (0x14) and height (0x18) to config offsets 8/0xc, and x (0x1c) and y (0x20) to config offsets 0/4. 0x00995370 56 CUIWindow__save_position_to_config_00995370 game_core Saves the window's current position and size to its config struct. Identical to CUIWindow__save_position_to_config but for a different class vtable. 0x009953B0 56 CUIWindow__save_position_to_config_009953b0 game_core Saves window position (w,h,x,y) to config struct at offset 0xF4. Same pattern as CUIWindow__save_position_to_config but for a different window class vtable. 0x009953F0 56 CUIWindow__save_position_to_config_009953f0 game_core Saves window position (w,h,x,y) to config struct at offset 0xFC. Same save_position pattern but using config pointer at different class offset. 0x00995430 56 CUIWindow__save_position_to_config_00995430 game_core Saves window position (w,h,x,y) to config struct at offset 0xFC. Duplicate of 009953f0 for different vtable. 0x00995470 56 CUIWindow__save_position_to_config_00995470 game_core Saves window position (w,h,x,y) to config struct at offset 0x154. 0x009954B0 56 CUIWindow__save_position_to_config_009954b0 game_core Saves window position (w,h,x,y) to config struct at offset 0x150. 0x009954F0 56 CUIWindow__save_position_to_config_009954f0 game_core Saves window position (w,h,x,y) to config struct at offset 0x164. 0x00995530 131 CUIWindow__save_extended_config game_core Saves extended window configuration including position/size and 5 additional fields. Saves width/height/x/y to config offsets 8/0xc/0/4, plus fields from offsets 0x110/0x10c/0x100/0x104/0x108 to config offsets 0x10/0x14/0x18/0x1c/0x20. Uses config pointer at offset 0xf0. 0x009955C0 56 CUIWindow__save_rect_to_ptr game_core Saves window rect (x,y,w,h from offsets 0x1C,0x20,0x14,0x18) to external RECT pointer at 0xF8 0x00995600 56 CUIWindow__save_rect_to_config_00995600 game_core Saves window rect (x,y,w,h) to config struct at offset 0xFC. Note: field order is x,y,w,h (rect format) unlike save_position variants which use w,h,x,y. 0x00995640 56 CUIWindow__save_rect_to_config_00995640 game_core Saves window rect (x,y,w,h) to config struct at offset 0xF8. 0x00995680 56 CUIWindow__save_rect_to_config_00995680 game_core Saves window rect (x,y,w,h) to config struct at offset 0xF0. 0x009956C0 56 CUIWindow__save_rect_to_config_009956c0 game_core Saves window rect (x,y,w,h) to config struct at offset 0xF0. Duplicate for different vtable. 0x00995700 56 CUIWindow__save_rect_to_config_00995700 game_core Saves window rect (x,y,w,h) to config struct at offset 0x150. 0x00995740 56 CUIWindow__save_rect_to_config_00995740 game_core Saves window rect (x,y,w,h) to config struct at offset 0x134. 0x00995780 51 CUIWindow__save_config_and_refresh_child game_core Saves window config and refreshes a child window. Gets child at offset 0x47, reads game option 0x108 state, stores it in child's offset 0xc field, then redraws both child and self. 0x009957C0 790 CUIShopWindow__update_sort_button_texture ui_shop Updates the sort button texture and label on inventory/shop windows. Builds button texture path from 'inventory_bt_sort' prefix with .bmp/_over.bmp/_press.bmp suffixes. Sets button text based on sort state (DAT_0173a504). Gets localized string 0xbbf for button label. Uses charconv format for texture path building. 0x00995AE0 517 std__Tree_val__Insert_node_00995ae0 stl MSVC STL std::_Tree_val::_Insert_node. Inserts a new node into a red-black tree, performs rotations to maintain balance. Library function from Visual Studio 2019 Release. 0x00995CF0 91 CUIShopWindow__sort_items_and_reverse_list_a ui_shop Sorts the item list by type using merge sort, then reverses the doubly-linked list by swapping next/prev pointers on every node. Calls CShopWindow__build_item_tooltips_a first to check if items exist. Returns 1 on success, 0 if no items. 0x00995D50 91 CUIShopWindow__sort_items_and_reverse_list_b ui_shop Same pattern as sort_items_and_reverse_list_a but uses CShopWindow__build_item_tooltips_b. Sorts by item type and reverses the linked list. Used by storage window variant. 0x00995DB0 91 CUIShopWindow__sort_items_and_reverse_list_c ui_shop Same pattern as sort_items_and_reverse_list_a/b but uses CShopWindow__build_item_tooltips_c. Sorts by item type and reverses the linked list. Third variant for guild storage window. 0x00995E10 632 CUIShopWindow__filter_items_by_search_string ui_shop Filters the item list by a search string. Calls CShopWindow__build_item_tooltips_a first, then iterates all items in the linked list. For each item, builds item name string and uses _mbsstr for multibyte substring search. Items that don't match the search string are removed from the doubly-linked list and freed. Returns 1 if filtering was performed. 0x00996090 932 CShopWindow__filter_and_remove_items_by_string_a game_core Iterates linked list of shop items at offset 0xe8. For each item, copy-constructs name and performs byte-level substring search. If search string NOT found, unlinks the item from the list and decrements count at 0xec. Variant A - calls CShopWindow__build_item_tooltips_b first. 0x00996440 932 CShopWindow__filter_and_remove_items_by_string_b game_core Iterates linked list of shop items at offset 0xe8. For each item, copy-constructs name and performs byte-level substring search. If search string NOT found, unlinks the item from the list and decrements count at 0xec. Variant B - calls CShopWindow__build_item_tooltips_c first. 0x009967F0 78 get_item_sort_category game_core Maps item type IDs to sort category numbers. Types 0/1/2->0 (equipment), 3/7->6 (ammo/shadow), 4/0xb-0xe->2 (weapon), 5/8/9/0xf->3 (armor), 6->5 (card), 10/0x10/0x11/0x13->4 (etc), 0x12->1 (consumable). Default->10 (unknown). 0x00996870 55 CUIShopWindow__sort_items_by_type_a ui_shop Sorts the item list by item type using merge sort. Calls CShopWindow__build_item_tooltips_a to check if items exist. Returns 1 if sorted, 0 if no items. Variant A for inventory window. 0x009968B0 55 CUIShopWindow__sort_items_by_type_b ui_shop Sorts the item list by item type using merge sort. Calls CShopWindow__build_item_tooltips_b. Same pattern as sort_items_by_type_a. Variant B for storage window. 0x009968F0 55 CUIShopWindow__sort_items_by_type_c ui_shop Sorts the item list by item type using merge sort. Calls CShopWindow__build_item_tooltips_c. Same pattern as sort_items_by_type_a/b. Variant C for guild storage window. 0x00996930 16 CUIInventoryWindow__set_search_mode game_core Sets the search mode flag at offset 0x158. Controls whether the inventory window is in search/filter mode. 0x00996940 16 CUIInventoryWindow__set_current_tab game_core Sets the current tab index at offset 0x154. Controls which item category tab is active in the inventory window. 0x00996950 408 CShopWindow__build_item_tooltips_a game_core Iterates shop item linked list at offset 0xe8. For each item, copy-constructs it, formats tooltip body via CItemDesc__format_tooltip_body, and gets base item ID. Returns 1 if items exist, 0 if list is empty. Variant A - used by inventory window. 0x00996AF0 408 CShopWindow__build_item_tooltips_b game_core Iterates shop item linked list at offset 0xe8. For each item, copy-constructs it, formats tooltip body via CItemDesc__format_tooltip_body, and gets base item ID. Returns 1 if items exist, 0 if list is empty. Variant B - used by storage window. 0x00996C90 408 CShopWindow__build_item_tooltips_c game_core Iterates shop item linked list. For each item, copy-constructs it, formats tooltip body via CItemDesc__format_tooltip_body, and gets base item ID. Returns 1 if items exist, 0 if list is empty. Variant C. 0x00996E30 592 CShopWindow__calculate_total_and_send_purchase game_core Sets purchase parameters (param_2/param_3 to fields 0x33/0x34). Iterates all items to calculate total price (quantity * unit_price). Formats currency string via message ID 0x918, calls CPacketManager to send purchase packet, then updates UI text widget. 0x00997080 29 CUIShopWindow__set_selected_state_wrapper ui_shop Thin wrapper that calls UIRadioButton__set_selected with the given state value. 0x009970A0 96 CUIShopWindow__set_description_text ui_shop Sets the description text on the shop window with word wrapping. Takes a string parameter, handles SSO (small string optimization), passes to UITextWidget__word_wrap_text, then cleans up the string. 0x00997100 96 CUIShopWindow__set_description_text_00997100 ui_shop Sets description text with word wrapping. Identical to CUIShopWindow__set_description_text but for a different class instance. Takes string, passes to word wrap, cleans up. 0x00997160 32 CUIShopWindow__set_timer_duration ui_shop Sets the timer for the shop window. Records current time (timeGetTime) at offset 0x110 and stores the duration at offset 0x114. Used for timed shop events/sales. 0x00997180 93 CUIShopWindowBase__set_timer_and_extend_height ui_shop Sets a timer on the shop window base and extends its bottom section height. Records current time (timeGetTime) at offset 0x44, duration at 0x45, sets bottom height to 0x39 at offset 0x46, adjusts total window height by the difference, then triggers resize/reposition event via vtable. 0x009971E0 103 CUIShopWindow__set_search_text ui_shop Sets the search text string on the shop window at offset 0x13c. If the input string is not the same object, copies it via STL string assignment. Cleans up temporary string. 0x00997250 254 CUIShopWindowBase__ctor ui_shop Constructor for shop window base class. Initializes UIWindowBase, sets vtable, configures default layout constants for item grid (offsets for rows/columns). Checks game option via FUN_00dfbca0 and adjusts layout constants if enabled (wider layout). 0x00997350 71 CUIShopSubPanel__dtor game_core Destructor for a shop sub-panel class. Sets vtable pointer and delegates to UIPanel base destructor. 0x009973A0 71 CUIShopWindowBase__dtor ui_shop Destructor for a shop window base class. Sets vtable pointer and delegates to UIWindowBase destructor. 0x009973F0 99 CUIShopSubPanel__scalar_deleting_dtor game_core Scalar deleting destructor for shop sub-panel. Sets vtable, calls base dtor, optionally frees memory (0xd0 bytes) if param_2 bit 0 is set. 0x00997460 99 CUIShopWindowBase__scalar_deleting_dtor ui_shop Scalar deleting destructor for shop window base. Sets vtable, calls base dtor, optionally frees memory (0x118 bytes) if param_2 bit 0 is set. 0x009974F0 1827 CShopWindow__draw_detail_panel game_core Draws the detailed shop panel: item name with color coding, weight/price labels with string IDs 0xbfc/0xbfd/0xe2c, weight/price percentages, zeny amounts, and cart weight. Handles currency display differences for locale 0xc (Peso). Right-aligns price text and shows warning color (red=0xff) when price ratio exceeds threshold. 0x00997C20 1171 CShopWindow__draw_summary_panel game_core Draws the shop summary panel with background fill and 3D border. Formats and displays item name/count, weight current/max with low warning color, discount percentage, and zeny. Handles special item IDs (0xfce-0x10dc) with different font sizes. Shows weight warning in red when ratio below threshold. 0x009981A0 530 CShopWindow__on_tab_switch game_core Handles tab switching between buy tab (field 0x2d) and sell tab (field 0x2e). Repositions child widgets (buttons at 0x3a-0x3f) based on active tab. Updates text widget size and word wrap. Also repositions related window type 0x133. Sell tab shows additional controls for overcharge pricing. 0x009983C0 1104 CShopWindow__init_child_controls game_core Initializes shop window child controls: creates button widget, action button with Alt-V/Ctrl-V hotkey, editable text widget at 0xc0, three UIPanel sub-panels at 0xe8/0xec/0xfc with different vtable types, two UIContainer scrollable lists at 0xf0/0xf4 for buy/sell item lists, and sets their sizes/positions. 0x00998810 2759 CShopWindow__draw_main_panel game_core Main shop window draw handler. Dispatches to draw_summary_panel or draw_detail_panel based on which tab is active (0xb4 vs 0xb8). For the basic info panel, draws character level, job level, HP/SP with low-health warning colors, experience rate, zeny, and weight. Handles locale-specific display (0xc=Peso/Classe, else Lv/Weight). Special job IDs (0xfce-0x10dc) use smaller font. 0x00999330 35 CUIShopWindow__on_double_click_close ui_shop Handles double-click in the header area (y < 0x11). Sends close button event (0xca) to self. Used to close the window by double-clicking the title bar. 0x00999360 24 CUIShopWindow__draw_header_if_visible ui_shop Draws the window header area only if the y position is less than 0x11 (header height). Calls UIWindow__draw_header_area when visible. 0x00999380 172 CUIShopWindow__show_weight_tooltip ui_shop Shows weight percentage tooltip when hovering over the weight bar area. Only shows when window height matches minimum (0xb8), mouse x is in 0-100 range, and mouse y is in bottom 20 pixels. Formats 'Weight:XX%' string and displays as tooltip at calculated screen position. 0x00999430 91 CUIShopWindow__draw_and_position_child_window ui_shop Draws multi-line text content, then finds and repositions a child window (type 0x133) below the current window. Calculates absolute position using parent offset accumulation and positions the child at the bottom edge. 0x00999490 263 CUIShopWindowBase__toggle_window_size ui_shop Toggles the shop window between two preset sizes. Checks game option via FUN_00dfbca0 to determine which set of layout constants to use (standard vs wide). Swaps between the two predefined heights (0x2d and 0x2e offsets). Hides extra button when in small mode (moves offscreen to -100,-100). 0x009995A0 365 CUIBasicInfoWindow__handle_message game_core Message handler for the basic info/status bar window. Handles button clicks that toggle various game windows: 0xc0=party, 0xc1=guild info, 0xc2=inventory, 0xc3=equipment, 0xc4=options, 0xc7=friends, 0xca=minimize/resize, 0xd6=navigation, 0xdb=quest, 0xde=close all windows, 0xf7=storage, 0x169=achievement, 0x175=rodex, 0x242=equip tab2. Also handles layout (0x22) and redraw (0x3c). 0x00999BC0 71 CUIWindow__save_position_and_state_to_config game_core Saves window position, size, and an additional boolean state to config. Writes width/height/x/y to config struct at offset 0xc4, plus a byte from offset 0xbc to config offset 0x10. 0x00999C10 16 CUIWindowType1__set_vtable game_core Sets the vtable pointer for UI window type 1 (PTR_FUN_011471f4). 0x00999C20 16 CUIWindowType2__set_vtable game_core Sets the vtable pointer for UI window type 2 (PTR_FUN_01147210). 0x00999C30 16 CUIWindow__set_vtable_0114722c game_core Sets vtable pointer to 0114722c; used during construction or type initialization 0x00999C40 16 CUIWindowType3__set_vtable game_core Sets the vtable pointer for UI window type 3 (PTR_FUN_01147248). 0x00999C50 16 CUIWindowType4__set_vtable game_core Sets the vtable pointer for UI window type 4 (PTR_FUN_01147264). 0x00999C60 16 CUIWindowType5__set_vtable game_core Sets the vtable pointer for UI window type 5 (PTR_FUN_01147280). 0x00999C70 68 UIWidget__scalar_deleting_dtor_00999c70 ui_framework Scalar deleting destructor for a UI widget (size 8). Conditionally frees memory via operator delete. 0x00999CC0 68 UIWidget__scalar_deleting_dtor_00999cc0 ui_framework Scalar deleting destructor for a UI widget (size 8). Conditionally frees memory via operator delete. 0x00999D10 68 UIWidget__scalar_deleting_dtor_00999d10 ui_framework Scalar deleting destructor for a UI widget (size 8). Conditionally frees memory via operator delete. 0x00999D60 68 UIWidget__scalar_deleting_dtor_00999d60 ui_framework Scalar deleting destructor for a UI widget (size 8). Conditionally frees memory via operator delete. 0x00999DB0 68 UIWidget__scalar_deleting_dtor_00999db0 ui_framework Scalar deleting destructor for a UI widget (size 8). Conditionally frees memory via operator delete. 0x00999E00 68 UIWidget__scalar_deleting_dtor_00999e00 ui_framework Scalar deleting destructor for a UI widget (size 8). Conditionally frees memory via operator delete. 0x00999F30 16 UIWidget__set_vtable_00999f30 ui_framework Sets vtable pointer to PTR_FUN_011471f4 for a UI widget class. 0x00999F40 16 UIWidget__set_vtable_00999f40 ui_framework Sets vtable pointer to PTR_FUN_01147210 for a UI widget class. 0x00999F50 16 CUIWindow__set_vtable_00999f50 game_core Sets vtable pointer to CUIWindow vtable at 0114722c. 0x00999F60 16 UIWidget__set_vtable_00999f60 ui_framework Sets vtable pointer to PTR_FUN_01147248 for a UI widget class. 0x00999F70 16 UIWidget__set_vtable_00999f70 ui_framework Sets vtable pointer to PTR_FUN_01147264 for a UI widget class. 0x00999F80 16 UIWidget__set_vtable_00999f80 ui_framework Sets vtable pointer to PTR_FUN_01147280 for a UI widget class. 0x00999FF0 104 UIScrollList__ctor_00999ff0 game_core Constructor for UIScrollList. Calls UIScrollListBase__ctor, sets vtable to 0114729c, initializes members at offsets 0x35 and 0x36 to zero. 0x0099A060 96 UIWindowChild__ctor_0099a060 game_core Constructor for a UIWindowChild subclass. Calls UIWindowBase__ctor, sets vtable to 01147384, initializes member at offset 0x2d to zero. 0x0099A0C0 71 UIWindowChild__dtor_0099a0c0 game_core Destructor for UIWindowChild subclass. Sets vtable to 01147384, then calls UIWindowBase__dtor. 0x0099A110 99 UIScrollList__scalar_deleting_dtor_0099a110 game_core Scalar deleting destructor for UIScrollList (size 0xE0). Sets vtable to 0114729c, calls UIFormattedWidgetBase__dtor, conditionally frees memory. 0x0099A180 99 UIWindowChild__scalar_deleting_dtor_0099a180 game_core Scalar deleting destructor for UIWindowChild (size 0xB8). Sets vtable to 01147384, calls UIWindowBase__dtor, conditionally frees memory. 0x0099A1F0 269 CColorPicker__create_scroll_list_0099a1f0 game_render Creates a UIScrollList child for CColorPicker. Allocates 0xE0 bytes, constructs UIScrollList, sets dimensions, gets initial pixel RGB, sets color 0xFF0500FF, and adds to parent at offset 0xB4. 0x0099A300 233 CColorPicker__render_color_list_0099a300 game_render Renders the color list for CColorPicker. Sets background color (magenta if list active, else custom). Iterates through stored color entries (24-byte records) and draws text using FUN_00a84e30. 0x0099A3F0 55 CColorPicker__draw_border_0099a3f0 game_render Draws a two-layer border around CColorPicker. Outer border at full size, inner border inset by 1 pixel on each side with different colors. 0x0099A430 418 CColorPicker__handle_command_0099a430 game_render CColorPicker command handler. For command 0x1D, splits input by delimiter 0x23, populates scroll list items. Otherwise delegates to UIGridView__handle_scroll_command. 0x0099A5E0 1893 CItemDescWindow__handle_event_0099a5e0 game_items CItemDescWindow event handler. Handles event 6 (close via 0xC9), event 0x93 (item desc lookup). Gets item desc by ID, builds comma-separated description strings for multiple properties (msg IDs 0xAE4-0xAEB), sizes window to fit, and shows item info. 0x0099AD50 272 STL_vector_pair8__insert_0099ad50 stl STL vector insert for 8-byte pair elements. Grows vector with 1.5x capacity, copies element at insert position, relocates existing elements. 0x0099AE80 214 STL_vector_pair8__resize_fill_0099ae80 stl STL vector resize+fill for 8-byte pair elements. Grows with 1.5x capacity strategy, fills new elements with given value, relocates existing data. 0x0099AF80 280 STL_map_int_pair__emplace_0099af80 stl STL map emplace for int-key, 8-byte pair value. Traverses RB-tree to find insertion point, allocates 0x18-byte node, inserts via Insert_node. Returns iterator+bool pair. 0x0099B0C0 86 UIInfoWindow__ctor_0099b0c0 game_core Constructor for UIInfoWindow. Calls UIWindowBase__ctor and sets vtable to 01147558. 0x0099B120 307 UIItemInfoWindow__ctor_0099b120 game_core Constructor for UIItemInfoWindow. Calls UIWindowBase__ctor, sets vtable to 01147480, allocates 3 RB-tree map sentinel nodes (0x18 bytes each) and one 0x1C node, initializes 3 vector pairs via eh_vector_constructor, zeros out state flags. 0x0099B260 71 UIInfoWindow__dtor_0099b260 game_core Destructor for UIInfoWindow. Sets vtable to 01147558, calls UIWindowBase__dtor. 0x0099B2B0 207 UIItemInfoWindow__dtor_0099b2b0 game_core Destructor for UIItemInfoWindow. Zeros state, destructs 3 vector pairs, clears 3 maps/tree structures, calls UIWindowBase__dtor. 0x0099B380 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x0099B3E0 99 UIInfoWindow__scalar_deleting_dtor_0099b3e0 game_core Scalar deleting destructor for UIInfoWindow (size 0xB8). Sets vtable to 01147558, calls UIWindowBase__dtor, conditionally frees memory. 0x0099B450 231 UIItemInfoWindow__scalar_deleting_dtor_0099b450 game_core Scalar deleting destructor for UIItemInfoWindow (size 0x16C). Destructs vector pairs, clears maps/trees, calls UIWindowBase__dtor, conditionally frees memory. 0x0099B540 1278 CMinimapMemoWindow__populate_memo_buttons_0099b540 game_core Populates minimap memo buttons. Gets map name, tokenizes by delimiter. For each token: if type 8, stores coord pair; otherwise creates a CDialogWnd button with texture, positions it, adds to memo point tree map with index key. 0x0099BA80 1538 CMinimapMemoWindow__load_memo_file_0099ba80 game_core Loads minimap memo entries from text file (Memo_[mapname].txt). Clears 20 memo buttons, reads up to 40 lines with strtok, parses x/y coords and label text. Returns number of memo entries loaded. 0x0099C090 362 CMinimapMemoWindow__create_ui_controls_0099c090 game_core Creates UI controls for minimap memo window. Adds close button (msg 0xAB5), OK button (msg 0xAC2), creates editable text widget for memo input, sets text color to light gray (0xE8E8E8). 0x0099C200 811 CMinimapMemoWindow__init_map_view_0099c200 game_core Initializes minimap memo window map view. Calculates scale from map dimensions, creates 3 radio buttons (zoom levels), close/ready buttons, 20 memo point buttons, loads memo file, creates equip slot widget for minimap display. 0x0099C560 700 CMinimapMemoWindow__render_0099c560 game_core Renders minimap memo window. Draws map background with border, loads map texture, renders memo point markers from 3 coordinate vectors (regular points, boss points, warp points). 0x0099C820 114 CMinimapMemoWindow__handle_click_0099c820 game_core Handles click on minimap memo window. If click is in the top header area (y <= 0x11), delegates to UIWindow__prepare_render_context for drag handling. Otherwise, if click is within the map area and memo placement is enabled (flag at 0x118), records click coordinates (adjusted by -6 pixels) and opens the memo input dialog (window type 0x112). 0x0099C8D0 394 CMinimapMemoWindow__save_memo_file_0099c8d0 game_core Saves minimap memo entries to text file (Memo_[mapname].txt). Iterates 20 memo buttons, writes entries with valid coordinates as 'x y label' lines. Returns number of entries saved. 0x0099CA60 444 CMinimapMemoWindow__handle_memo_input_event_0099ca60 game_core Handles memo input dialog events. On Enter with text, triggers OK button event. On OK (0xB8), appends memo entry to file and reloads. On close (0xC9), hides dialog. Otherwise delegates to UIWindow__handle_button_click. 0x0099CC20 1462 CMinimapMemoWindow__handle_event_0099cc20 game_core Main event handler for minimap memo window. Handles: 0x1E1/0x1E2 (show/hide panels), 0x1E3 (move marker), 0x1E4 (resize marker list), 0x1E5 (add new marker with dialog), 0x1E6 (clear all markers), 0x22 (tab selection), button events for close/zoom/delete/warp. Complex memo point management with RB-tree maps. 0x0099D920 135 CMinimapMemoWindow__toggle_boss_markers_visibility_0099d920 game_core Toggles visibility of boss markers on minimap. Iterates RB-tree at offset 0x4C, shows/hides each marker based on boss toggle button state at offset 0x48. 0x0099D9B0 135 CMinimapMemoWindow__toggle_warp_markers_visibility_0099d9b0 game_core Toggles visibility of warp markers on minimap. Iterates RB-tree at offset 0x4E, shows/hides each marker based on warp toggle button state at offset 0x47. 0x0099DA40 194 CMinimapMemoWindow__recalculate_map_scale_0099da40 game_core Recalculates minimap scale and offsets from current map dimensions. Gets map width/height, computes scale factor, adjusts X/Y offsets to center the map. 0x0099DB10 372 CMinimapMemoWindow__update_minimap_texture_0099db10 game_core Updates minimap widget texture. Gets map texture path, sets title/subtitle text, loads texture file, performs RTTI dynamic cast to determine texture dimensions, sizes the minimap widget accordingly. 0x0099DD10 44 CMinimapMemoWindow__world_to_screen_x_0099dd10 game_core Converts world X coordinate to screen X position using map scale (offset 0xB8) and X offset (offset 0xBC). 0x0099DD40 48 CMinimapMemoWindow__world_to_screen_y_0099dd40 game_core Converts world Y coordinate to screen Y position using map scale (offset 0xB8) and Y offset (offset 0xC0). Y axis is inverted. 0x0099DD70 90 STL_vector__Change_array_0099dd70 stl STL vector::_Change_array. Frees old buffer, then sets begin/end/capacity pointers to the new buffer. 0x0099DDD0 1 stub_nop_0099ddd0 game_core Single-byte stub function (size=1) 0x0099DDE0 42 fill_array_with_pair game_core Fill array with pair 0x0099DE10 580 STL_vector_3c__insert_reallocate_0099de10 stl STL vector insert with reallocation for 0x3C-byte elements (MapMarkerEntry). Grows with 1.5x capacity, copy-constructs new element, relocates existing elements, destructs old array. 0x0099E060 123 MapMarkerEntry__copy_construct_0099e060 game_core Copy constructor for MapMarkerEntry (0x3C bytes). Sets vtable to 01147748, copy-constructs two std::string members (offsets 4 and 0x1C), copies two int members (offsets 0x34 and 0x38). 0x0099E0E0 129 CMapMarkerListWnd__ctor_0099e0e0 game_core Constructor for CMapMarkerListWnd. Calls UIItemListWnd__ctor, sets vtable to 01147750, initializes vector (offsets 0x3C-0x3E) to empty, stores param as member at 0x3F. 0x0099E1A0 183 STL_vector_3c__clear_and_free_0099e1a0 stl Clears and frees STL vector of 0x3C-byte elements. Calls virtual destructor on each element (via vtable), then frees the buffer memory. Zeros out begin/end/capacity pointers. 0x0099E260 209 CMapMarkerListWnd__dtor_0099e260 game_core Destructor for CMapMarkerListWnd. Clears linked list at 0x3A (frees 0x100-byte nodes with string dtors), clears vector of 0x3C entries, calls UIItemListWnd__dtor. 0x0099E340 93 MapMarkerEntry__dtor_0099e340 game_core Destructor for MapMarkerEntry. Sets vtable to 01147748, destructs two std::string members. 0x0099E3A0 234 CMapMarkerListWnd__scalar_deleting_dtor_0099e3a0 game_core Scalar deleting destructor for CMapMarkerListWnd (size 0x100). Full cleanup of list/vector, calls UIItemListWnd__dtor, conditionally frees memory. 0x0099E490 114 MapMarkerEntry__scalar_deleting_dtor_0099e490 game_core Scalar deleting destructor for MapMarkerEntry (size 0x3C). Destructs two strings, conditionally frees memory. 0x0099E510 642 CMapMarkerListWnd__create_child_widgets_0099e510 game_core Creates child widgets for CMapMarkerListWnd. Creates editable text widget, text label with checkbox texture (magenta color), sprite scrollbar, close button (CDialogWnd). Calculates visible rows from height. 0x0099E7A0 1368 CMapMarkerListWnd__render_item_list_0099e7a0 game_core Renders the item list for CMapMarkerListWnd. Draws background with decorative borders, iterates visible items drawing: item sprite with count badge, item name, price in Zeny, timestamp (MM/DD HH:MM:SS format). 0x0099ED00 584 CMapMarkerListWnd__show_item_tooltip_0099ed00 game_core Shows item tooltip on hover in CMapMarkerListWnd. Gets item at grid position, builds tooltip string with item description. Uses different format for purchasable items (msg 0x9F7) vs regular items (msg 0xB7). 0x0099EF50 309 CMapMarkerListWnd__update_marker_names_0099ef50 game_core Updates marker names in CMapMarkerListWnd. Iterates vector of 0x3C entries, for entries matching msg 0x245, updates the name string from a utility function. Triggers redraw if any name changed. 0x0099F090 193 CMapMarkerListWnd__handle_item_click_0099f090 game_core Handles item click in CMapMarkerListWnd. Gets clicked item from grid position, opens item detail window (command 0xC) and sends event 0x18 with item data. 0x0099F160 1039 CMapMarkerListWnd__handle_event_0099f160 game_core Event handler for CMapMarkerListWnd. Handles: close (0xC9, sends 0x101 or 0x102), resize (0xE with param 3, adjusts rows/scrollbar), add item (0x17, creates linked list node + vector entry with name/tooltip/price). Delegates other events to base handler. 0x0099F570 37 STL_vector_3c__destruct_range_0099f570 stl STL template instantiation: STL vector 3c destruct range 0099f570 0x0099F5A0 182 STL_vector_3c__copy_construct_range_0099f5a0 stl Copy-constructs a range of MapMarkerEntry (0x3C bytes) elements. Sets vtable, copies two strings and two ints per element. Returns pointer past last constructed element. 0x0099F660 180 STL_vector_3c__relocate_range_0099f660 stl Relocates (move-constructs) a range of MapMarkerEntry elements to a new buffer. Same as copy but does not return end pointer. 0x0099F720 10 thunk_to_std__Xlength_error_0099f720 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x0099F730 64 STL_vector_3c__free_buffer_0099f730 stl Frees the buffer of a vector of 0x3C-byte elements. Handles aligned allocation (checks for oversized allocation header). 0x0099F780 195 CVendingWindow__ctor_0099f780 ui_shop Constructor for CVendingWindow. Calls UIWindowBase__ctor, sets vtable to 01147928, initializes 6 member pointers to zero (0x2E-0x33), allocates 0x20-byte linked list sentinel node at offset 0x34. 0x0099F850 116 CSearchStoreWindow__ctor_0099f850 ui_shop Constructor for CSearchStoreWindow. Calls UIWindowBase__ctor, sets vtable to 01147850, initializes 3 member pointers to zero (0x2E-0x30). 0x0099F8D0 115 CSearchStoreResultWindow__ctor_0099f8d0 ui_shop Constructor for CSearchStoreResultWindow. Calls UIWindowBase__ctor, sets vtable to 01147ad8, initializes 3 array elements of 0xF8 bytes each via eh_vector_constructor. 0x0099F950 103 CSearchStoreInfoWindow__ctor_0099f950 ui_shop Constructor for CSearchStoreInfoWindow. Calls UIWindowBase__ctor, sets vtable to 01147bb0, initializes flag byte at 0x2E to 0 and pointer at 0x2D to null. 0x0099F9C0 150 CBuyingStoreWindow__ctor_0099f9c0 ui_shop Constructor for CBuyingStoreWindow. Calls UIWindowBase__ctor, sets vtable to 01147a00, initializes 6 member fields (0x2E-0x33) to zero. 0x0099FA60 67 linked_list_sentinel__free_0099fa60 stl Frees a 0x20-byte linked list sentinel node at offset+4 if it exists. 0x0099FAB0 78 linked_list_sentinel__free_alt_0099fab0 stl Frees a 0x20-byte linked list sentinel node at offset+4 if it exists (alternate version with SEH setup). 0x0099FB00 103 linked_list__clear_and_free_sentinel_0099fb00 stl Clears a linked list of 0x20-byte nodes and frees the sentinel. Walks the list freeing each node, then frees the sentinel itself. 0x0099FB70 176 CVendingWindow__dtor_0099fb70 ui_shop Destructor for CVendingWindow. Frees linked list at offset 0x34, clears two child structures, calls UIWindowBase__dtor. 0x0099FC20 95 CSearchStoreWindow__dtor_0099fc20 ui_shop Destructor for CSearchStoreWindow. Sets vtable to 01147850, clears child structure, calls UIWindowBase__dtor. 0x0099FC80 108 CSearchStoreResultWindow__dtor_0099fc80 ui_shop Destructor for CSearchStoreResultWindow. Sets vtable to 01147ad8, destructs 3 array elements (0xF8 bytes each), calls UIWindowBase__dtor. 0x0099FCF0 71 CSearchStoreInfoWindow__dtor_0099fcf0 ui_shop Destructor for CSearchStoreInfoWindow. Sets vtable to 01147bb0, calls UIWindowBase__dtor. 0x0099FD40 110 CBuyingStoreWindow__dtor_0099fd40 ui_shop Destructor for CBuyingStoreWindow. Sets vtable to 01147a00, clears two child structures, calls UIWindowBase__dtor. 0x0099FDB0 200 CVendingWindow__scalar_deleting_dtor_0099fdb0 ui_shop Scalar deleting destructor for CVendingWindow (size 0xD8). Full cleanup including linked list and child structures, conditionally frees memory. 0x0099FE80 119 CSearchStoreWindow__scalar_deleting_dtor_0099fe80 ui_shop Scalar deleting destructor for CSearchStoreWindow (size 0xC4). Clears child structure, calls UIWindowBase__dtor, conditionally frees memory. 0x0099FF00 132 CSearchStoreResultWindow__scalar_deleting_dtor_0099ff00 ui_shop Scalar deleting destructor for CSearchStoreResultWindow (size 0x3A0). Destructs 3 array elements, calls UIWindowBase__dtor, conditionally frees memory. 0x0099FF90 99 CSearchStoreInfoWindow__scalar_deleting_dtor_0099ff90 ui_shop Scalar deleting destructor for CSearchStoreInfoWindow (size 0xBC). Sets vtable, calls UIWindowBase__dtor, conditionally frees memory. 0x009A0000 134 CBuyingStoreWindow__scalar_deleting_dtor_009a0000 ui_shop Scalar deleting destructor for CBuyingStoreWindow (size 0xD0). Clears two child structures, calls UIWindowBase__dtor, conditionally frees memory. 0x009A0090 449 CSearchStoreResultWindow__handle_item_drop_009a0090 ui_shop Handles item drop onto search store result window. For special window IDs (0x3E2-0x3E8), sends command 0x12. Otherwise tries to place item into one of 3 slots (0xF8 bytes each) after validating trade flags and item type. 0x009A0280 520 CVendingWindow__build_vending_packet_009a0280 ui_shop Builds vending packet data. Inserts header (0x5686), iterates linked list at offset 0xD0 adding 0x1E-byte entries per item (copying 4 ints), then appends footer (0x5687). Returns vector of packet bytes. 0x009A0490 506 CSearchStoreWindow__build_search_packet_009a0490 ui_shop Builds search store packet data. Inserts header (0x5622), iterates items at offset 0xB8 adding 10-byte entries (0x5624 type, 4-byte value), then appends footer (0x5623). Returns vector of packet bytes. 0x009A0690 292 CSearchStoreInfoWindow__build_info_packet_009a0690 ui_shop Builds search store info packet. Inserts header (0x55F0/22000), adds 4-byte item data (0x55F2) from offset 0xB4, then appends footer (0x55F1). Returns vector of packet bytes. 0x009A07C0 539 CBuyingStoreWindow__build_buying_packet_009a07c0 ui_shop Builds buying store packet data. Inserts header (0x56B8), iterates item arrays at offsets 0xB8 and 0xC4 adding 0xE-byte entries (0x56BA type, item ID + price), then appends footer (0x56B9). Returns vector of packet bytes. 0x009A09E0 228 CSearchStoreResultWindow__handle_click_009a09e0 ui_shop Handles click on CSearchStoreResultWindow. For special IDs (0x3E2-0x3E8), clears tooltip. Otherwise checks click position against 3 item slots (0x1F pixels wide, positioned at x=4, 0x24, 0x44) and copies item data. 0x009A0B00 2688 CVendingWindow__handle_event_009a0b00 ui_shop Main event handler for CVendingWindow. Handles vending-related UI events (open/close shop, add/remove items, price changes, etc.). 0x009A1590 2688 CSearchStoreWindow__handle_event_009a1590 ui_shop Main event handler for CSearchStoreWindow. Handles search store UI events (search, filter, pagination, etc.). 0x009A2020 2440 CSearchStoreResultWindow__handle_event_009a2020 ui_shop Main event handler for CSearchStoreResultWindow. Handles search result display, item selection, and purchase interactions. 0x009A29B0 1043 CSearchStoreInfoWindow__handle_event_009a29b0 ui_shop Main event handler for CSearchStoreInfoWindow. Handles store info display events. 0x009A2DD0 2688 CBuyingStoreWindow__handle_event_009a2dd0 ui_shop Main event handler for CBuyingStoreWindow. Handles buying store UI events (item selection, price setting, open/close). 0x009A38E0 609 CVendingWindow__create_ui_009a38e0 ui_shop Creates the UI layout for CVendingWindow (vending shop setup/display). 0x009A3B50 372 CUIWindow__render_toggle_status game_core Renders toggle on/off status text at fixed positions using msg IDs 0x1AC-0x1AF in white 0x009A3D10 206 CVendingWindow__handle_command_and_render ui_shop Handles command processing and rendering for CVendingWindow. Calls handle_click to get item data, then either prepares render context (if no item) or sends command 0x86 with item string to display tooltip/info. 0x009A3DE0 211 CSearchStoreWindow__handle_command ui_shop Command handler for CSearchStoreWindow. Handles button clicks (case 6: select item from scroll list), close/cancel (0x12/0x13), add item to search list (0x1f with linked list + vectors), and packet parsing (0x7b: parses 0x5686/0x5687/0x5688 sub-packets). 0x009A42E0 202 CBuyingStoreWindow__handle_command ui_shop Command handler for CBuyingStoreWindow. Handles button clicks (case 6: select item, open trade window 0x50 or send item data 0x82), close/cancel (0x12/0x13), add item to buy list (0x1f), and packet parsing (0x7b: parses 0x5622/0x5623/0x5624 sub-packets). 0x009A48C0 117 CBuyingStoreWindow__handle_command_009a48c0 ui_shop Command handler for CBuyingStoreWindow (alternate). Handles button clicks (case 6: send buy request via 0x82), item assignment (0x28), item removal by name match (0x4b), and packet parsing (0x7b: parses 0x55F0/0x55F1/0x55F2 sub-packets for store info). 0x009A4C50 79 CSearchStoreInfoWindow__handle_command ui_shop Command handler for CSearchStoreInfoWindow. Handles close (case 6: clears window 0x51), item data assignment (0x28: sets item ID at offset 0x2D, sets flag at 0x2E if param is non-zero), and delegates other commands to UIWindow__handle_button_click. 0x009A4CA0 202 CSearchStoreResultWindow__handle_command ui_shop Command handler for CSearchStoreResultWindow. Handles button clicks (case 6: select item from scroll list, send 0xB6 command), close/cancel (0x12/0x13), add item with price (0x1f: stores item ID + price in vectors), and packet parsing (0x7b: parses 0x56B8/0x56B9/0x56BA sub-packets). 0x009A50E0 55 UIWidget__is_position_within_map_bounds_009a50e0 ui_framework Checks if a widget's X/Y position is within map bounds (0 < x <= mapWidth-300 and 0 < y <= mapHeight-150). Returns 1 if valid, 0 otherwise. 0x009A5120 164 UIWidget__validate_npc_placement_009a5120 ui_framework Validates NPC placement position. Checks if object type is 0xDC, validates direction (0x37/0x47/0x86/0x95 with orientation check), and ensures position fits within map bounds accounting for object dimensions. 0x009A51D0 62 UIWindow__validate_position_generic_009a51d0 ui_events Window position validator. Checks width/height > 0 and position fits within screen bounds. 0x009A5210 66 UIWindow__validate_position_min_280x120_009a5210 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78) and within screen bounds. 0x009A5260 68 UIWindow__validate_position_fixed_280x120_009a5260 ui_events Window position validator requiring exact size 280x120 (0x118 x 0x78) and within screen bounds. 0x009A52B0 73 UIWindow__validate_position_fixed_400x317_009a52b0 ui_events Window position validator requiring exact size 400x317 (0x190 x 0x13D) and within screen bounds. 0x009A5300 77 UIWindow__validate_position_280_variableH_009a5300 ui_events Window position validator requiring width=280 (0x118) and height between 120-450 (0x78-0x1C2), within screen bounds. 0x009A53A0 62 UIWindow__validate_position_generic_009a53a0 ui_events Window position validator. Checks width/height > 0 and position fits within screen bounds. 0x009A53E0 127 UIWindow__validate_position_280_multiH_009a53e0 ui_events Window position validator for 280-wide window with multiple valid heights (0xA7, 0x11, 0xBB, or 0xBB+0x9E if chat mode). Also validates min height param at offset 0x10. 0x009A5460 1 stub_nop_009a5460 game_core Single-byte stub function (size=1) 0x009A54B0 68 UIWindow__validate_position_fixed_280x120_009a54b0 ui_events Window position validator requiring exact size 280x120 (0x118 x 0x78) and within screen bounds. 0x009A5500 62 UIWindow__validate_position_generic_009a5500 ui_events Window position validator. Checks width/height > 0 and position fits within screen bounds. 0x009A5540 79 UIWindow__validate_position_with_style_009a5540 ui_events Window position validator with style check. Width/height must match config values at DAT_01345b4c/DAT_01345b50, position within bounds, and style param (offset 0x10) < 7. 0x009A5590 62 UIWindow__validate_position_generic_009a5590 ui_events Window position validator. Checks width/height > 0 and position fits within screen bounds. 0x009A55D0 77 UIWindow__validate_position_280_variableH_009a55d0 ui_events Window position validator requiring width=280, height in range 120-450, within screen bounds. 0x009A5620 1 stub_nop_009a5620 game_core Single-byte stub function (size=1) 0x009A5670 1 stub_nop_009a5670 game_core Single-byte stub function (size=1) 0x009A56C0 73 UIWindow__validate_position_fixed_200x200_009a56c0 ui_events Window position validator requiring exact size 200x200, within screen bounds. 0x009A5710 68 UIWindow__validate_position_fixed_280x34_009a5710 ui_events Window position validator requiring exact size 280x34 (0x118 x 0x22), within screen bounds. 0x009A5760 66 UIWindow__validate_position_min_280x120_009a5760 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A57B0 66 UIWindow__validate_position_min_280x120_009a57b0 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A5800 66 UIWindow__validate_position_min_280x120_009a5800 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A5850 66 UIWindow__validate_position_min_280x120_009a5850 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A58A0 1 stub_nop_009a58a0 game_core Single-byte stub function (size=1) 0x009A58F0 75 UIWindow__validate_position_with_extra_fields_009a58f0 ui_events Window position validator. Checks position within screen bounds plus extra field constraints: field[5] < 4, field[6] < 4, field[7] < 4, field[8] < 5. 0x009A5940 62 UIWindow__validate_position_generic_009a5940 ui_events Window position validator. Checks width/height > 0 and position fits within screen bounds. 0x009A5980 64 UIWindow__validate_position_generic_009a5980 ui_events Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. Uses struct offset-based field access (offset +8/+0xC/+0x10/+0x14). 0x009A59C0 62 UIWindow__validate_position_generic_009a59c0 ui_events Window position validator. Checks width/height > 0 and position fits within screen bounds. 0x009A5A00 66 UIWindow__validate_position_min_280x120_009a5a00 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A5A50 66 UIWindow__validate_position_min_280x120_009a5a50 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A5AA0 93 UIWindow__validate_position_min_280or350x120_009a5aa0 ui_events Window position validator with conditional min width. If param2==0, min width 280 (0x118); else min width 350 (0x15E). Min height always 120 (0x78). Within screen bounds. 0x009A5B00 66 UIWindow__validate_position_min_280x120_009a5b00 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A5B50 66 UIWindow__validate_position_min_280x120_009a5b50 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A5BA0 73 UIWindow__validate_position_fixed_280x220_009a5ba0 ui_events Window position validator requiring exact size 280x220 (0x118 x 0xDC), within screen bounds. 0x009A5BF0 87 UIWindow__validate_position_min_243x166_with_flags_009a5bf0 ui_events Window position validator requiring min size 243x166 (0xF3 x 0xA6), field[6] < 3, field[5] must be 0 or 1. Within screen bounds. 0x009A5C50 62 UIWindow__validate_position_generic_009a5c50 ui_events Window position validator. Checks position fits within screen bounds. 0x009A5D10 69 UIWindow__validate_position_min_152x199_009a5d10 ui_events Window position validator requiring minimum size 152x199 (0x98 x 0xC7), within screen bounds. 0x009A5D60 1 stub_nop_009a5d60 game_core Single-byte stub function (size=1) 0x009A5DB0 69 UIWindow__validate_position_min_360x350_009a5db0 ui_events Window position validator requiring minimum size 360x350 (0x168 x 0x15E), within screen bounds. 0x009A5E00 69 UIWindow__validate_position_min_152x199_009a5e00 ui_events Window position validator requiring minimum size 152x199 (0x98 x 0xC7), within screen bounds. 0x009A5E50 73 UIWindow__validate_position_fixed_280x180_009a5e50 ui_events Window position validator requiring exact size 280x180 (0x118 x 0xB4), within screen bounds. 0x009A5EA0 62 UIWindow__validate_position_generic_009a5ea0 ui_events Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. 0x009A5EE0 6 ret_one_009a5ee0 crt Returns constant value 1 0x009A5F30 62 UIWindow__validate_position_generic_009a5f30 ui_events Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. 0x009A5F70 62 UIWindow__validate_position_generic_009a5f70 ui_events Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. 0x009A5FB0 73 UIWindow__validate_position_fixed_280x180_009a5fb0 ui_events Window position validator requiring exact size 280x180 (0x118 x 0xB4), within screen bounds. 0x009A6000 111 UIWindow__validate_position_290_stepped_009a6000 ui_events Window position validator for 290-wide (0x122) window. Height must be between 43-175 (0x2B-0xAF), stepped by 33 pixels ((h-10)%33==0). Height 0xAF only valid if DAT_0173a765 flag set. 0x009A6110 66 UIWindow__validate_position_min_280x120_009a6110 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A6160 62 UIWindow__validate_position_fixed_width_280_009a6160 ui_events Window position validator requiring exact width 280 (0x118). Does not check height minimum. Within screen bounds. 0x009A61A0 62 UIWindow__validate_position_generic_009a61a0 ui_events Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. 0x009A61E0 1 stub_nop_009a61e0 game_core Single-byte stub function (size=1) 0x009A6220 62 UIWindow__validate_position_generic_009a6220 ui_events Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. 0x009A6260 62 UIWindow__validate_position_generic_009a6260 ui_events Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. 0x009A62A0 66 UIWindow__validate_position_min_280x120_009a62a0 ui_events Window position validator requiring minimum size 280x120 (0x118 x 0x78), within screen bounds. 0x009A62F0 48 UIWindow__validate_position_positive_size_009a62f0 ui_events Window position validator. Checks width > 0, height > 0, and position fits within screen bounds. Returns 1 if valid, 0 otherwise. 0x009A6320 52 UIWindow__validate_position_fixed_280x260_009a6320 ui_events Window position validator for fixed size 280x260 (0x118 x 0x104). Checks x >= 0, y >= 0, and fits within screen bounds. 0x009A6390 37 UIWindow__set_default_position_right_center ui_events Sets default window position: x = screenWidth - 350, y = (screenHeight - 150) / 2. Right-aligned, vertically centered. 0x009A63C0 108 UIWindow__init_costume_preview_rect ui_events Initializes costume preview window rect. x=0, y=0, w=220, h varies by job class: 4th class gets 149 (or 71 without flag), others get 55 (or 134 with flag). Calls CItem__remap_job_class_for_costume and is_valid_4th_class_id. 0x009A6430 28 UIWindow__set_default_rect_200_150_298x380 ui_events Sets default window rect: x=200, y=150, w=298 (0x12A), h=380 (0x17C). 0x009A6450 28 UIWindow__set_default_position_009a6450 ui_events Sets default window rect: x=500, y=180 (0xB4), w=280 (0x118), h=120 (0x78). 0x009A6470 28 UIWindow__set_default_position_009a6470 ui_events Sets default window rect: x=200, y=300, w=280 (0x118), h=120 (0x78). 0x009A6490 28 UIWindow__set_default_position_009a6490 ui_events Sets default window rect: x=0, y=34 (0x22), w=400, h=317 (0x13D). 0x009A64B0 28 UIWindow__set_default_position_009a64b0 ui_events Sets default window rect: x=280 (0x118), y=278 (0x116), w=280 (0x118), h=120 (0x78). 0x009A64F0 28 UIWindow__set_default_position_009a64f0 ui_events Sets default window rect: x=200, y=150 (0x96), w=375 (0x177), h=280 (0x118). 0x009A6510 42 UIWindow__set_default_position_185x300_009a6510 ui_events Sets default window position: x=185, y=300, w=280, h=167, minH=167, flags=0. 0x009A6540 1 stub_nop_009a6540 game_core Single-byte stub function (size=1) 0x009A6560 28 UIWindow__set_default_position_009a6560 ui_events Sets default window rect: x=200, y=120 (0x78), w=280 (0x118), h=120 (0x78). 0x009A6580 28 UIWindow__set_default_position_009a6580 ui_events Sets default window rect: x=230 (0xE6), y=0, w=200, h=150 (0x96). 0x009A65A0 37 UIWindow__set_default_position_009a65a0 ui_events Sets default window rect: x=0, y=34 (0x22), w and h from global variables DAT_01345b4c and DAT_01345b50, field[4]=0. 0x009A65D0 28 UIWindow__set_default_position_009a65d0 ui_events Sets default window rect: x=150 (0x96), y=100, w=280 (0x118), h=180 (0xB4). 0x009A65F0 28 UIWindow__set_default_position_009a65f0 ui_events Sets default window rect: x=280 (0x118), y=126 (0x7E), w=280 (0x118), h=120 (0x78). 0x009A6610 1 stub_nop_009a6610 game_core Single-byte stub function (size=1) 0x009A6660 1 stub_nop_009a6660 game_core Single-byte stub function (size=1) 0x009A6680 78 UIWindow__set_default_position_centered_009a6680 ui_events Sets centered default window position. X is centered on screen offset by 200, Y is proportional to screen height (200/480), size is 200x200. 0x009A66D0 28 UIWindow__set_default_position_009a66d0 ui_events Sets default window position: x=280, y=246, w=280, h=34 0x009A66F0 28 UIWindow__set_default_position_009a66f0 ui_events Sets default window position: x=280, y=280, w=280, h=152 0x009A6710 28 UIWindow__set_default_position_009a6710 ui_events Sets default window position: x=280, y=280, w=280, h=152 0x009A6730 28 UIWindow__set_default_position_009a6730 ui_events Sets default window position: x=0, y=120, w=280, h=312 0x009A6750 35 UIWindow__set_default_position_009a6750 ui_events Sets default window position: x=360, y=200, w=280, h=458, plus extra field[4]=0 0x009A6780 115 UIWindow__set_default_position_by_index_009a6780 ui_events Sets default position from a lookup table based on param index. Size is fixed 140x145 (0x8C x 0x91). Uses 4 predefined position pairs from ROM data at 01147CD0-01147D0C. 0x009A6800 70 UIWindow__set_default_position_009a6800 ui_events Sets default window position: x=0, y=120, w=280, h=120. Also sets additional config fields: field[4]=120, field[5]=0, field[6]=3, field[7]=3, field[8]=4, field[9]=0 0x009A6850 28 UIWindow__set_default_position_009a6850 ui_events Sets default window position: x=350, y=150, w=280, h=360 0x009A6870 68 UIWindow__set_default_position_009a6870 ui_events Sets default window position with screen-relative width. x=screenWidth-536, y=190, w=screenWidth-536, h=190. Also sets field[4]=516, field[5]=559, field[8]=1, field[6]=1, field[7]=1 0x009A68C0 28 UIWindow__set_default_position_009a68c0 ui_events Sets default window position: x=150, y=100, w=280, h=180 0x009A68E0 28 UIWindow__set_default_position_009a68e0 ui_events Sets default window position: x=200, y=120, w=280, h=120 0x009A6900 28 UIWindow__set_default_position_009a6900 ui_events Sets default window position: x=280, y=280, w=280, h=152 0x009A6920 47 UIWindow__set_default_position_009a6920 ui_events Sets default window position: x=0, y=120, h=312. Width is conditional: 350 if param_2 is nonzero, 280 if zero. 0x009A6950 28 UIWindow__set_default_position_009a6950 ui_events Sets default window position: x=200, y=120, w=280, h=120 0x009A6970 28 UIWindow__set_default_position_009a6970 ui_events Sets default window position: x=0, y=120, w=280, h=120 0x009A6990 28 UIWindow__set_default_position_009a6990 ui_events Sets default window position: x=0, y=240, w=280, h=220 0x009A69B0 49 UIWindow__set_default_position_009a69b0 ui_events Sets default window position: x=300, y=200, w=273, h=326. Also sets field[4]=0, field[5]=1, field[6]=0 0x009A69F0 28 UIWindow__set_default_position_009a69f0 ui_events Sets default window position: x=0, y=30, w=640, h=508 (full-screen-like) 0x009A6AA0 28 UIWindow__set_default_position_009a6aa0 ui_events Sets default window position: x=510, y=360, w=152, h=199 0x009A6AC0 1 stub_nop_009a6ac0 game_core Single-byte stub function (size=1) 0x009A6AE0 28 UIWindow__set_default_position_009a6ae0 ui_events Sets default window position: x=510, y=360, w=360, h=350 0x009A6B00 28 UIWindow__set_default_position_009a6b00 ui_events Sets default window position: x=510, y=360, w=152, h=199 0x009A6B20 28 UIWindow__set_default_position_009a6b20 ui_events Sets default window position: x=280, y=246, w=280, h=180 0x009A6B40 28 UIWindow__set_default_position_009a6b40 ui_events Sets default window position: x=150, y=100, w=280, h=200 0x009A6B60 7 ret_one_009a6b60 crt Returns 1 by setting output parameter to 1 0x009A6BB0 35 UIWindow__set_default_position_009a6bb0 ui_events Sets default window position: x=screenWidth-124, y=0, w=77, h=34. Position is relative to right edge of screen. 0x009A6BE0 28 UIWindow__set_default_position_009a6be0 ui_events Sets default window position: x=259, y=230, w=194, h=34 0x009A6C00 28 UIWindow__set_default_position_009a6c00 ui_events Sets default window position: x=200, y=100, w=280, h=180 0x009A6C20 35 UIWindow__set_default_position_009a6c20 ui_events Sets default window position: x=230, y=0, w=290, h=76. Also sets field[4]=1 (snap to top). 0x009A6CA0 28 UIWindow__set_default_position_009a6ca0 ui_events Sets default window position: x=360, y=200, w=280, h=240 0x009A6CC0 49 UIWindow__set_default_position_009a6cc0 ui_events Sets default window position: x=185, y=300, w=280, h=141. Also sets field[4]=141, field[5]=0, field[6]=1 0x009A6D00 62 UIWindow__set_default_position_009a6d00 ui_events Sets default window position with conditional x based on param_2. If param_2==0: x=0, if param_2==1: x=300. y=screenHeight-119, w=300, h=95. 0x009A6D40 1 stub_nop_009a6d40 game_core Single-byte stub function (size=1) 0x009A6D60 28 UIWindow__set_default_position_009a6d60 ui_events Sets default window position: x=200, y=200, w=220, h=190 0x009A6D80 28 UIWindow__set_default_position_009a6d80 ui_events Sets default window position: x=200, y=200, w=220, h=197 0x009A6DA0 28 UIWindow__set_default_position_009a6da0 ui_events Sets default window position: x=0, y=347, w=280, h=120 0x009A6DC0 51 UIWindow__set_default_position_009a6dc0 ui_events Sets default window position: x=249, y=308, w=screenWidth-299, h=(screenHeight-308)/2. Screen-relative sizing. 0x009A6E00 70 UIWindow__set_default_position_009a6e00 ui_events Sets default window position using float scaling. x=float(screenWidth-280)*scale, y=float(screenHeight-260)*scale. Position is scaled by a global float factor. 0x009A6E90 3598 UIWindowManager__init_default_window_positions game_core Initializes the default position/size table for all UI window types. Massive function that writes hardcoded x/y/w/h values (and additional config fields) for every window ID into the UIWindowManager struct. Called once on startup; uses a global flag to ensure single initialization. Also handles job-class-dependent status window height. 0x009A7CA0 140 UIWindowManager__clamp_window_position_to_screen game_core Validates and clamps a window's position/size to fit within screen bounds. Adjusts width based on a flag (0xe4 or 0x110), clamps height to max 0x152, ensures x/y are non-negative and window doesn't extend past screen edges. 0x009A7D30 84 UIItemListWndEx__ctor ui_windows Constructor for UIItemListWndEx. Calls UIItemListWnd_vt59a0__ctor then sets vtable to PTR_01147dec. 0x009A7D90 84 UIItemListWndEx__ctor_009a7d90 ui_windows Constructor for a UIItemListWnd subclass. Calls UIItemListWnd_vt57f0__ctor then sets vtable to PTR_FUN_01147d14. 0x009A7DF0 154 UIItemListWndEx2__ctor_009a7df0 ui_windows Constructor for a UIItemListWnd subclass. Calls UIItemListWnd__ctor, sets vtable to PTR_FUN_01147ec4, initializes extra fields (filter type=0x1d, various flags). 0x009A7E90 71 UIItemListWndEx__dtor_009a7e90 ui_windows Destructor for UIItemListWnd subclass (vtable PTR_FUN_01147dec). Sets vtable then calls UIItemListWnd_vt59a0__dtor. 0x009A7EE0 71 UIItemListWndEx__dtor_009a7ee0 ui_windows Destructor for UIItemListWnd subclass (vtable PTR_FUN_01147d14). Sets vtable then calls UIItemListWnd_vt57f0__dtor. 0x009A7F30 94 UIItemListWndEx2__dtor_009a7f30 ui_windows Destructor for UIItemListWnd subclass (vtable PTR_FUN_01147ec4). Calls FUN_00dd8540 then UIItemListWnd__dtor. 0x009A7F90 99 UIItemListWndEx__scalar_deleting_dtor_009a7f90 ui_windows Scalar deleting destructor for UIItemListWnd subclass (vtable PTR_FUN_01147dec). Calls UIItemListWnd_vt59a0__dtor, conditionally frees memory (size 0x104). 0x009A8000 99 UIItemListWndEx__scalar_deleting_dtor_009a8000 ui_windows Scalar deleting destructor for UIItemListWnd subclass (vtable PTR_FUN_01147d14). Calls UIItemListWnd_vt57f0__dtor, conditionally frees memory (size 0x110). 0x009A8070 118 UIItemListWndEx2__scalar_deleting_dtor_009a8070 ui_windows Scalar deleting destructor for UIItemListWnd subclass (vtable PTR_FUN_01147ec4). Calls FUN_00dd8540 then UIItemListWnd__dtor, conditionally frees memory (size 0x104). 0x009A80F0 231 CShopItemList__add_item_from_desc_009a80f0 game_core Adds an item to shop item list from item description. Clears item info tree, gets equip slot type and class/level from item desc, converts string to int via atoi, then pushes to CShopItemList. 0x009A81E0 15 CShopItemList__push_back_wrapper_009a81e0 game_core Simple wrapper that calls CShopItemList__push_back. 0x009A81F0 191 UIShopWnd__on_mouse_event_009a81f0 game_core Handles mouse events for shop window. Checks window type 0x271b, dispatches based on param_4 type (3=item types with switch for equip slots 4/5/8/9/0xb-0xf). Triggers UI notifications via vtable calls. 0x009A83C0 1118 UIShopWnd__init_child_widgets_009a83c0 game_core Initializes child widgets for shop window: editable text widget, text label, scrollbar, sprite widget, OK button with normal/hover/pressed textures (btn_ok_bmp, btn_ok_a_bmp, btn_ok_b_bmp). Sets up row count and triggers refresh notification 0x17. 0x009A8820 2231 UIShopWnd__draw_item_list_009a8820 game_core Draws the shop item list. Renders background borders (left/right), item rows with sprites, names, prices (with discount display like "d > s Zeny"), item count badges. Handles highlight on selected item. Shows total price at bottom if in buy mode (0x10c==1). Uses color picker for selection highlight and background fill. 0x009A90E0 1480 UIShopGridWnd__draw_item_grid_009a90e0 game_core Draws a grid-based shop item list. Renders items in a multi-column grid layout (using field 0xe0 as column count). Each cell is 32x32. Draws left/right borders, background fill, item sprites with count, tooltips, price text. Highlights selected item (field 0xf8). Similar to draw_item_list but uses grid arrangement instead of single column. 0x009A96C0 71 UIShopWnd__on_mouse_move_009a96c0 game_core Handles mouse move in shop window. If y < 0x11, draws header area. Hit-tests item grid for hover, updates field 0x3e with hovered item index. Triggers repaint (vtable+0x98) if hover changed. 0x009A9710 685 UIShopWnd__show_item_tooltip_009a9710 game_core Shows tooltip for a shop item at the given grid position. Gets item at grid pos, builds tooltip string with item name and price (formatted as "s Zeny" or "d > s Zeny" for discounted). Displays tooltip via FUN_00ad6510. 0x009A99C0 237 UIShopWnd__on_double_click_009a99c0 game_core Handles double-click on shop item list. Hit-tests grid, gets item at index. If valid item found, sends message 0x18 with the item data to window 0xc (buy quantity dialog). 0x009A9AB0 144 UIShopBuyWnd__process_message_009a9ab0 game_core Message handler for shop buy window. Handles: msg 6 (button press - 0xb8 buy confirm/cancel, 0xb9 close), msg 0xe (resize with min 0xe8x0x78, snapped to 32px grid), msg 0x17 (refresh item list and calculate total), msg 0x22 (item selected), msg 0x24 (clear total text), msg 0x26 (execute purchase - validates weight/zeny/count limits, sends buy packets), msg 0x7b (packet response with 0x50dc/0x50dd). 0x009AA4F0 138 UIShopSellWnd__process_message_009aa4f0 game_core Message handler for shop sell window. Handles: msg 6 (button 0xd5 - tab switch), msg 0xe (resize with min 0xe8x0x78, 32px grid snap), msg 0x17 (refresh sell item list), msg 0x22 (item selected for sell), msg 0x24 (toggle sell/nosell state with text 0xb9/0xba), msg 0x26 (execute sell - sends sell packets, refreshes related windows). 0x009AA990 94 UIShopBuyWnd__process_message_alt_009aa990 game_core Alternative message handler for shop buy window. Handles: msg 6 (0xb8 close shop), msg 0xe (resize with min 0xe8x0x78, 32px grid snap), msg 0x17 (calculate total from item list, display "Total: s Zeny"), msg 0x22 (clear total text), msg 0x24 (reset and resize). 0x009AAD30 34 memcpy_range_009aad30 stl Copies memory range [param_1, param_2) to param_3. Returns pointer past end of copied data. 0x009AAD60 447 std__vector_ushort__insert_realloc_009aad60 stl STL vector insert with reallocation. Grows capacity by 1.5x, copies elements before and after insertion point, inserts new element. Frees old buffer. Standard MSVC vector insert implementation for 2-byte elements. 0x009AAF30 174 UIPetInfoWnd__ctor_009aaf30 game_core Constructor for UIPetInfoWnd. Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01147fec. Initializes fields: 0x2d-0x2f=0 (child widget ptrs), 0x32-0x34=0 (item vectors), 0x30-0x31=-1 (pet IDs). 0x009AAFE0 129 std__vector_ushort__clear_and_free_009aafe0 stl Clears and frees a vector buffer. Frees the data pointer (with alignment handling for large blocks), then zeroes out begin/end/capacity pointers. 0x009AB070 110 UIPetInfoWnd__dtor_009ab070 game_core Destructor for UIPetInfoWnd. Sets vtable to PTR_FUN_01147fec, clears pair vector and int vector, then calls UIWindowBase__dtor. 0x009AB0E0 134 UIPetInfoWnd__scalar_deleting_dtor_009ab0e0 game_core Scalar deleting destructor for UIPetInfoWnd. Sets vtable, clears vectors, calls UIWindowBase__dtor. Conditionally frees object memory (size 0xd4). 0x009AB170 420 UIPetInfoWnd__init_buttons_009ab170 game_core Initializes buttons for pet info window. Creates close button and two dialog buttons (0xb8 and 0xb9) with normal/hover/pressed textures. Positions them relative to window bounds. 0x009AB320 1074 UIPetInfoWnd__draw_009ab320 game_core Draws pet info window content. Loads pet illustration sprites (from field 0xc0 and 0xc4 IDs), falling back to "userinterface/illust/pet_noimage" if not found. Draws pet images, stats overlay, item name labels formatted as "%d", and text at bottom. Uses RTDynamicCast for sprite type checking. 0x009AB760 1212 UIPetInfoWnd__process_message_009ab760 game_core Message handler for pet info window. Handles: msg 6 (button 0xb8=confirm hatching with item/count validation, 0xb9/0xc9=close), msg 0x62 (add item to hatch list, sends to buy dialog), msg 0x8e (set pet pair IDs and items, build hatch list). Validates item counts against inventory, builds network packet 0x9fb for hatching. 0x009ABC20 860 UIPetInfoWnd__create_child_widgets_009abc20 game_core Creates child text widgets for pet info window. Loads pet names by ID (fields 0xc0, 0xc4), creates text label widgets with grey color (0x9b9b9b). Iterates through item list at field 0xc8, creating labels for each item name. Uses UIWidget__ctor and UIEditBox__set_text_and_layout for each widget. 0x009ABF80 10 thunk_to_std__Xlength_error_009abf80 stl Calls std::_Xlength_error with vector_too_long error message 0x009ABF90 58 aligned_free_ushort_buffer_009abf90 game_core Frees an aligned unsigned short buffer. param_1=data ptr, param_2=element count. Computes byte size (count*2), handles aligned block deallocation for large blocks (>0xfff bytes). 0x009ABFD0 103 std__map__recursive_destroy_nodes_009abfd0 stl Recursively destroys nodes of an std::map red-black tree. Walks left subtree recursively, then follows right pointers iteratively, freeing each 0x1c-byte node. Stops at sentinel nodes (flag at offset 0xd). 0x009AC040 291 UIScrollPanel__ctor_009ac040 game_core Constructor for UIScrollPanel. Calls base UIWidget ctor, sets vtable to PTR_UIScrollPanel__destructor_01148184. Initializes scroll state fields (0x1f-0x2b), creates sentinel node for red-black tree at field 0x2a. Sets default scroll bar size to 0xd. Calls create_scrollbars via vtable. 0x009AC170 102 std__list_12byte__clear_009ac170 stl Clears an std::list with 12-byte nodes. Disconnects head/tail, walks the tail chain freeing each 0xc-byte node. Used by scroll panel for offset entry cleanup. 0x009AC1E0 111 std__map__destroy_tree_009ac1e0 stl Destroys an entire std::map red-black tree. Iterates through root's left children, recursively destroying subtrees via recursive_destroy_nodes, freeing 0x1c-byte nodes. Finally frees the root sentinel node. 0x009AC260 65 std__map__destroy_wrapper_009ac260 stl Thin wrapper around std__map__destroy_tree. Sets up SEH frame and delegates to the tree destroyer. 0x009AC2B0 198 UIScrollPanel__dtor_009ac2b0 game_core Destructor for UIScrollPanel. Sets vtable, removes and destroys horizontal scrollbar (field 0x23) and vertical scrollbar (field 0x24) if present. Clears offset list, destroys map tree, calls base UIWidget dtor. 0x009AC380 264 std__map_uint__bracket_insert_009ac380 stl std::map operator[] with insert. Searches red-black tree for key, inserts new node (0x1c bytes) if not found with zeroed value fields. Returns pointer to value portion (node+5 dwords). Throws on max size exceeded (0x9249249). 0x009AC490 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x009AC4F0 222 UIScrollPanel__scalar_deleting_dtor game_core Scalar deleting destructor for UIScrollPanel. Sets vtable, releases horizontal/vertical scrollbars, destroys offset map tree, calls base UIWidget dtor. Conditionally frees 0xB0-byte object memory if param_2 & 1. 0x009AC5D0 464 UIScrollPanel__update_child_offsets game_core Updates scroll offsets for all child widgets, excluding scrollbars; inserts new entries into offset tree 0x009AC7B0 79 UIScrollPanel__set_child_position game_core Sets position of a child widget via vtable call and updates internal offset tracking 0x009AC800 35 UIScrollPanel__on_child_resize game_core Handles child resize event: calls base resize handler and propagates via vtable+0x3C 0x009AC830 95 UIScrollPanel__release_scrollbars game_core Releases and nullifies both horizontal (offset 0x8C) and vertical (offset 0x90) scrollbar objects 0x009AC890 361 UIScrollPanel__render_children game_core Renders all child widgets with scroll offset adjustment; handles scrollbars and dirty flag refresh 0x009ACA00 322 UIScrollPanel__render_children_no_clip game_core Renders children without clip-region mode flag check; applies scroll offsets and dirty refresh 0x009ACB50 1056 UIScrollPanel__render_children_clipped game_core Renders children with clipping enabled; builds render command list and submits to renderer 0x009ACF80 317 UIScrollPanel__render_child_clipped game_core Renders a single child widget with clip rectangle calculation based on scroll position 0x009AD0C0 60 UIScrollPanel__submit_render_quad game_core Submits render quad for this panel; handles clip-mode by adding scroll offset to position 0x009AD100 668 UIRenderer__push_textured_quad game_core Pushes a textured quad (4 vertices with UV coords and color) onto the render deque for batched drawing 0x009AD3A0 248 UIScrollPanel__create_scrollbars game_core Creates horizontal (0x8C) and vertical (0x90) scrollbar child widgets with size relative to panel 0x009AD4A0 60 UIScrollPanel__scroll_vertical_by game_core Scrolls vertical scrollbar by delta; positive scrolls down (msg 7,+3), negative scrolls up (msg 7,-3) 0x009AD4E0 683 UIScrollPanel__recalculate_scrollbar_layout game_core Recalculates scrollbar visibility and ranges based on child widget content extents vs panel size 0x009AD790 42 UIScrollPanel__reset_scroll_and_clear game_core Resets both scroll positions to 0, clears offset tree and invalidates layout 0x009AD7C0 226 UIScrollPanel__remove_offset_entries_by_id game_core Removes offset tree entries matching a widget ID; clears entire tree if no match found 0x009AD8B0 138 UIScrollPanel__on_resize game_core Handles panel resize: repositions horizontal and vertical scrollbars to match new dimensions 0x009AD940 308 UIScrollPanel__handle_scroll_message game_core Handles scroll messages (7-12): updates scroll position clamped to content range, refreshes scrollbar 0x009ADA90 51 UIScrollPanel__set_horizontal_scrollbar_visible game_core Sets horizontal scrollbar visibility if changed; optionally triggers panel refresh 0x009ADAD0 51 UIScrollPanel__set_vertical_scrollbar_visible game_core Sets vertical scrollbar visibility if changed; optionally triggers panel refresh 0x009ADB10 704 STL_rbtree_erase_node stl Red-black tree node removal with rebalancing; standard STL _Tree::_Extract implementation 0x009ADDD0 84 STL_rbtree_rotate_left_9addd0 stl Left rotation of a red-black tree node; maintains parent/child links and updates root if needed 0x009ADE30 88 STL_rbtree_rotate_right_9ade30 stl Right rotation of a red-black tree node; maintains parent/child links and updates root if needed 0x009ADE90 115 STL_rbtree_clear_all stl Clears all nodes from red-black tree, freeing each 0x1C-byte node and resetting head to empty 0x009ADF10 612 UIWidgetList__sync_from_range ui_framework Syncs widget list with source range: updates existing entries, appends new ones, removes excess 0x009AE180 174 UIWidgetList__insert_before ui_framework Inserts a new 0x10-byte list node before the specified position; increments count 0x009AE230 37 UIWidgetList__init_empty ui_framework Initializes an empty circular doubly-linked widget list with sentinel node (0x4C bytes) 0x009AE260 309 UIItemListMgr__constructor ui_framework Constructor for item list manager: inits 4 widget lists, 2 linked lists, sets default timing and flags 0x009AE3A0 67 UIWidgetList__free_sentinel ui_framework Frees the 0x10-byte sentinel node of a widget list if it exists 0x009AE3F0 78 UIWidgetList__free_sentinel_alt ui_framework Frees the 0x10-byte sentinel node of a widget list (alternate version with different SEH setup) 0x009AE440 114 UIWidgetList__clear_all_entries ui_framework Clears all entries from widget list: calls destructor on each 0x4C-byte node, frees memory 0x009AE4C0 103 UILinkedList__clear_and_free game_core Clears linked list: frees all 0x10-byte data nodes and the sentinel node itself 0x009AE530 235 UIItemListMgr__destructor_base ui_framework Base destructor for UIItemListMgr: frees both linked lists, destroys 4 widget lists via iterators 0x009AE620 259 UIItemListMgr__scalar_deleting_destructor ui_framework Scalar deleting destructor for UIItemListMgr (0x2B0 bytes); calls base destructor then optionally frees 0x009AE730 456 UIItemListMgr__process_pending_skill_ups ui_framework Processes pending skill point allocations: in classic mode, sends skill-up packets (0x43) for each queued skill. In new mode, compares current vs desired levels and sends packets for the difference. Clears the pending list and refreshes layout afterward. 0x009AE900 36 UIItemListMgr__has_valid_data ui_framework Returns 1 if list has valid data: checks offsets 4, 0x10, and 0xC are all non-zero 0x009AE930 2501 UIItemListMgr__render_skill_preview_sprites ui_framework Renders skill preview sprites including body/head/weapon/shield sprite paths, Doram offset adjustment via Lua, and IMF resource loading. Iterates twice for different animation frames with timing-based frame selection. 0x009AF300 1619 UIItemListMgr__render_skill_grid_classic ui_framework Renders the classic skill grid with icons, Sp/Ap cost labels, skill level counts (current/max), selection highlight, and skill names per slot. Used when DAT_017326ec != 0 (classic mode). 0x009AF960 2263 UIItemListMgr__render_skill_grid_detailed ui_framework Renders detailed skill grid with selection borders, equipment marks, level overlays (current/max with color coding), card indicators, skill names with ellipsis truncation, and exceeded-level badges. 0x009B0240 171 UIItemListMgr__hit_test_grid_slot ui_framework Converts mouse x,y position to grid slot index; returns -1 if outside valid slot area 0x009B0320 77 UIItemListMgr__get_pending_skill_up_count ui_framework Gets pending skill-up count for a skill ID from the allocation queue (0x2A0), minus the base skill level from CSkillMgr. Returns 0 if skill not found. 0x009B0370 232 UIItemListMgr__get_selection_count_string ui_framework Gets selection count as string for an item ID from the selection list; returns empty if count <= 0 0x009B0460 171 UIItemListMgr__get_skill_entry_by_slot ui_framework Retrieves CSkillEntry info for a given slot index by searching the current tab's skill list. Returns via copy constructor. 0x009B0510 353 UIItemListMgr__find_skill_entry_by_id ui_framework Searches all tabs for a skill entry by skill ID and returns its CSkillEntry info struct. Copies to output param via CSkillEntry copy constructor. 0x009B0680 204 UIItemListMgr__get_skill_entry_by_display_index ui_framework Retrieves CSkillEntry at a display index (adjusted by scroll offset) from current tab's skill list. 0x009B0750 106 UIItemListMgr__try_get_skill_at_index ui_framework Tries to get skill entry at index from tab's skill list; returns success flag and pointer to CSkillEntry data. In new mode uses sequential index, classic mode matches by display slot index. 0x009B07C0 94 UIItemListMgr__get_tab_skill_list ui_framework Returns skill list pointer for a given tab index; returns global list for last tab, or calls CSkillMgr for filtered list, or local array entry for direct access. 0x009B0820 984 UIItemListMgr__initialize_skill_tabs_and_categories ui_framework Initializes skill list tabs based on equipment slot/skill category mapping. Handles all skill type IDs via large switch (basic 1-54, extended 142-157, guild 500-544, 3rd class 2000+, homunculus 411-444, etc). Calls Lua for category resolution and creates tab entries. 0x009B0E40 155 UIItemListMgr__refresh_all_tabs ui_framework Refreshes all 4 tabs by syncing from data source, clears purchase list and resets edit mode 0x009B0EE0 62 UIItemListMgr__is_last_tab ui_framework Returns true if the given tab index equals the last tab index (total tabs - 1) 0x009B0F20 113 UIItemListMgr__has_skill_with_level ui_framework Checks if current tab's skill list contains a skill with matching ID and non-zero level. 0x009B0FA0 118 UIItemListMgr__is_point_in_grid_area ui_framework Tests if x,y coordinates fall within the item grid area bounds, accounting for header offset 0x009B1020 41 UIItemListMgr__is_skill_selected ui_framework Checks if a skill ID exists in the selection list (offset 0x298). Returns 1 if found, 0 otherwise. 0x009B1050 4357 UIItemListMgr__create_child_controls ui_framework Creates all child controls: scrollbar, skill up buttons (3 states), item slot buttons, apply/reset buttons 0x009B2160 1071 UIItemListMgr__render_window_frame ui_framework Renders the skill list window frame: borders, tab bar header tiles, window title (msg 0x11B), weight/skill point display, and dispatches to either render_skill_grid_classic or render_skill_grid_detailed + render_skill_preview_sprites depending on mode. 0x009B2590 309 UIItemListMgr__on_double_click ui_framework Handles double-click on item: opens item info or equips it depending on equip type 0x009B26D0 315 UIItemGridWnd__on_mouse_move_009b26d0 game_core Mouse move handler for item grid window. If y < header height, draws header. Checks dirty flag (0xaa) and refreshes layout. Hit-tests grid slot, updates hover index (field 0x94), triggers repaint if changed. If hovering valid slot with item, shows cursor tooltip with item info via FUN_00cfe2a0. 0x009B2810 218 UIItemGridWnd__on_left_click_009b2810 game_core Left-click handler for item grid window. If y < header, draws footer and calls vtable+0x2c. Otherwise hit-tests grid area, gets item info at slot, calls FUN_009b3eb0 to validate click. On success sets drag flags (0x271=0x101) and refreshes layout. 0x009B28F0 232 UIItemGridWnd__on_right_click_009b28f0 game_core Right-click handler for item grid window. Hit-tests grid, gets item info at slot, shows skill name tooltip positioned with offset. Triggers repaint if hover changed and updates layout if dirty. 0x009B29E0 631 UIItemGridWnd__on_double_click_009b29e0 game_core Double-click handler for item grid window. If clicking empty slot, clears selection and all tab indicators. Toggles expand flag on repeated clicks. Opens skill detail window (0x2e) positioned near click, with skill info (ID, level). Validates against screen bounds for positioning. 0x009B2C60 111 UIItemGridWnd__on_scroll_009b2c60 game_core Scroll handler for item grid window. If a child window (0x2e) is visible, forwards scroll to it. Otherwise scrolls the grid by 1-3 rows (clamped to 3 max) in the direction indicated by param_2 sign. Sends scroll message via vtable+0x94 with msg 7. 0x009B2CD0 875 UIItemGridWnd__rebuild_skill_list_009b2cd0 game_core Rebuilds the skill list entries for item grid window. Clears pending list (0x298), resets all tab indicators to -1. Iterates skill entries matching current tab/page, categorizes skills by ID range (1-54=type0, 142-157=type0, 500-544=type0, 2000-2532=type2, 411-444=type1+). Updates tab indicators and inserts skill entries with current level info into the pending list. 0x009B3040 375 UIItemGridWnd__update_scroll_state_009b3040 game_core Updates scroll bar state for item grid window. Calculates column count and visible rows based on window size. For classic mode uses 6 rows x 7 cols; for new mode calculates dynamically. Updates scrollbar range/position, clamps scroll offset to valid range. Marks dirty flag for repaint. 0x009B31C0 958 UIItemListMgr__layout_child_widgets ui_framework Positions all child widgets (scrollbar, buttons, arrow buttons, item slots) in the item list window 0x009B3580 116 UIItemListMgr__handle_message ui_framework Main message handler: processes scroll, tab change, resize, item click, buy/reset, layout mode toggle 0x009B3DC0 172 UIItemListMgr__set_skill_level_by_id ui_framework Sets the skill level for a specific skill ID across all tabs in the skill list. Iterates all tab lists searching by skill ID at field offset +0x10. 0x009B3E70 56 UIItemListMgr__sync_position_to_parent ui_framework Copies window position and size to parent rect pointer at offset 0x24C 0x009B3EB0 589 UIItemGridWnd__try_add_skill_point_009b3eb0 game_core Tries to add a skill point to the specified skill ID. Validates remaining skill points (field 0x26c). In classic mode: iterates skill list (0x298), finds skill by ID, checks max level vs current level, validates prerequisites (skill_level >= required). In new mode: finds skill in current tab list, increments level if below max. Shows error message if prereq skill needs higher level. Returns 1 on success, 0 on failure. 0x009B4100 42 UIItemListMgr__get_pending_level_for_skill_id ui_framework Looks up the pending target level for a specific skill ID from the skill-up queue list (offset 0x2A0). Returns 0 if not queued. 0x009B4130 42 UIItemListMgr__get_queued_level_for_skill_id ui_framework Returns the queued target level for a skill ID from the skill-up queue list (offset 0x2A0). Returns 0 if not found. Identical implementation to get_pending_level_for_skill_id. 0x009B4160 76 UIItemListMgr__set_pending_count_for_item ui_framework Sets pending count for item ID in purchase list; creates new entry if not found 0x009B41B0 107 std__list_16byte__clear_009b41b0 stl Clears an std::list with 16-byte nodes. Disconnects sentinel, walks forward chain freeing each 0x10-byte node. Resets head/tail to self and count to 0. 0x009B4220 358 text_word_wrap_to_lines_009b4220 game_core Word-wraps text into lines. Iterates through string using character width callback, breaking at spaces or when line exceeds param_3 pixel width. Pushes each line as a string into the output vector (param_2). Also handles newline characters and color code offsets for RO text rendering. 0x009B4390 43 STL_vector_string_push_back stl Pushes a string copy onto the vector, growing if at capacity 0x009B43C0 250 STL_vector_string_push_back_range stl Pushes a string constructed from char range [begin,end) onto string vector, growing if needed 0x009B44C0 261 std__vector_string__push_back_cstr_009b44c0 stl Pushes a C-string onto a vector. Creates temporary std::string from the C-string, then either inserts with reallocation (if at capacity) or copy-constructs in place. Frees temporary string buffer. 0x009B45D0 342 text_char_wrap_to_lines_009b45d0 game_core Character-level text wrapping to lines. Similar to word wrap but breaks at exact character positions when exceeding param_3 pixel width. Handles newlines. Pushes each wrapped line into the output vector. Uses character advance callback for proper multi-byte character handling. 0x009B4730 1983 text_word_wrap_with_items_009b4730 game_core Advanced word-wrap that handles RO special markup: color codes (^XXXXXX), item references (nItemID=XXXX which get resolved to item names), bracket groups ([...]), and carriage returns. Outputs wrapped lines to vector. Also handles color code insertion for wrapped lines when DAT_016d3b08 is set. 0x009B4EF0 82 STL_vector_24byte__at_seh_wrapper stl SEH-wrapped call to std::vector<24byte>::at(). Sets up structured exception handling frame around a bounds-checked vector element access for 24-byte (0x18) elements. 0x009B4F70 322 CCollisionRect__compute_overlap_009b4f70 game_core Computes overlap/snap offset between two collision rectangles. Checks horizontal and vertical edge overlap with 10-unit tolerance. Outputs X offset (param_3) and Y offset (param_4) needed to separate the rectangles. Uses multiple edge pair comparisons for both orientations. 0x009B50C0 62 ranges_overlap_009b50c0 game_core Checks if two 1D ranges [param_1,param_2] and [param_3,param_4] overlap. Returns 1 if overlapping, 0 if disjoint. 0x009B5100 62 is_color_code_009b5100 game_core Checks if string at param_1 starts with a RO color code (^XXXXXX format). Verifies caret followed by 6 hex digit characters using lookup table at DAT_01311f60. Returns 1 if valid color code, 0 otherwise. 0x009B5140 184 parse_nItemID_tag_009b5140 game_core Parses an nItemID=XXXX tag from text. Checks for "nItemID=" prefix, extracts numeric digits, converts to integer via atoi. Sets *param_3 = total tag length consumed, *param_4 = parsed item ID. Returns 1 on success, 0 if not found or no digits. 0x009B5200 67 CCollisionRect__swap_halves_009b5200 game_core Swaps the two halves of a collision rect structure. Exchanges the first 12 bytes with bytes 12-23, and swaps corresponding fields in the second half. Used for flipping/mirroring collision bounds. 0x009B5250 62 CCollisionRect__init_from_bounds_009b5250 game_core Initializes collision rect from x, y, width, height bounds. Sets all 12 fields: computes x2=x+width, y2=y+height, stores duplicated values across the rect's horizontal and vertical edge arrays. 0x009B5290 10 STL_throw_vector_subscript_out_of_range stl Throws std::out_of_range("invalid vector subscript"). Called by vector::at() when index is out of bounds. Does not return. 0x009B52A0 51 std__vector_24byte__at_009b52a0 stl Bounds-checked access to vector of 24-byte elements. Returns pointer to element at index param_2. Throws out_of_range if index >= size. 0x009B52E0 129 CSkillTooltipWnd__ctor_009b52e0 game_core Constructor for skill tooltip window. Calls UIWidget ctor, sets vtable to PTR_FUN_01148564. Calls CItemInfoMgr__clear_tree_and_free_alt, initializes fields 0x7c-0x7e to 0 (line vectors). 0x009B5370 136 CSkillTooltipWnd__dtor_009b5370 game_core Destructor for skill tooltip window. Sets vtable, clears formatted text data, destroys two strings and calls UIFmtStringDialog__dtor base class destructor. 0x009B5400 160 CSkillTooltipWnd__scalar_deleting_dtor_009b5400 game_core Scalar deleting destructor for CSkillTooltipWnd. Clears formatted text, destroys strings, calls base dtor. Conditionally frees memory (size 0x200). 0x009B54A0 215 UIWidget__on_mouse_up_009b54a0 ui_framework Mouse-up handler for a UI widget. If not locked (field 0x2b), checks Shift key state. Without Shift: validates click in bounds, sets active flag (field 0xc), sends msg 0x62 with widget data to parent. With Shift held: if a drag target exists (field 0x55), sends msg 0x94 with widget rect data to drag target. 0x009B5580 120 std__vector_string__push_back_009b5580 stl Pushes a string onto a vector at offset 0x1f0 of the object. If at capacity, does insert with realloc; otherwise copy-constructs in place and advances end pointer by 0x18. 0x009B5600 189 std__vector_string__get_at_009b5600 stl Gets string at index from vector at offset 0x1f0. If index is out of range, returns empty string. Otherwise copy-constructs the string at the given index into param_2. 0x009B56C0 30 std__vector_string__size_009b56c0 stl Returns the number of elements in vector at offset 0x1f0. Computes (end - begin) / 0x18. 0x009B56E0 114 CTextLineObj__scalar_deleting_dtor_009b56e0 game_core Scalar deleting destructor for CTextLineObj (vtable PTR_FUN_01148640). Destroys two strings, conditionally frees memory (size 0x38). 0x009B5760 34 memcpy_range_009b5760 stl Copies memory range [param_1, param_2) to param_3. Returns pointer past end of copied data. Duplicate of memcpy_range_009aad30. 0x009B5790 452 std__vector_int__insert_realloc_009b5790 stl STL vector insert with reallocation. Grows capacity by 1.5x, allocates new buffer, copies elements before and after insertion point, inserts new element. Frees old buffer. Standard MSVC vector insert for 4-byte elements. 0x009B5960 527 std__vector_64byte__insert_realloc_009b5960 stl STL vector insert with reallocation for 64-byte (0x40) element objects. Grows capacity by 1.5x. Calls element constructors/destructors during copy. Uses FUN_009b70a0 for element construction and FUN_009bc870/FUN_009bc650 for batch move. 0x009B5B80 564 std__vector_36byte__insert_realloc_009b5b80 stl STL vector insert with reallocation for 36-byte (0x24) element objects. Grows capacity by 1.5x. Calls element constructors/destructors during copy. Uses FUN_009b7120 for element construction and FUN_009bc930/FUN_009bc710 for batch move. 0x009B5DC0 594 std__vector_56byte__insert_realloc_009b5dc0 stl STL vector insert with reallocation for 56-byte (0x38) element objects. Standard 1.5x growth pattern with element constructor/destructor calls. 0x009B6020 406 sort_median_of_nine_pivot game_core Selects pivot using median-of-3 or median-of-9 strategy for 0x24-byte element arrays 0x009B61C0 437 sort_insertion_36byte_009b61c0 game_core Insertion sort for array of 36-byte (0x24) elements. Sorts by field at offset 8 (int comparison). Uses string copy for the string field at offset 0xc. Used as final pass in introsort for small partitions. 0x009B6380 528 sort_heapify_36byte_009b6380 game_core Heap sort (heapify) for array of 36-byte elements. Builds max-heap bottom-up, sifting each element down. Compares by field at offset 8. Used as fallback when introsort recursion limit is reached. 0x009B6590 1862 sort_partition_36byte_009b6590 game_core Quicksort partition for 36-byte elements. Uses median-of-three pivot selection, partitions elements around pivot comparing field at offset 8. Handles equal elements by gathering them around the pivot. Returns partition boundaries via param_1. 0x009B6CE0 325 sort_sift_down_36byte_009b6ce0 game_core Sift-down operation for heap sort on 36-byte elements. Moves element at param_2 down the heap by comparing field at offset 8 with children. Places param_4 element at final position. Standard binary heap sift-down. 0x009B6E30 482 sort_introsort_36byte_009b6e30 game_core Introsort (hybrid quicksort) for 36-byte elements. Falls back to insertion sort for small ranges (<0x4a4 bytes = ~53 elements), heapsort when recursion depth exceeded. Uses partition_36byte for quicksort phase. Recursion depth decreases by 3/4 each level. 0x009B7020 113 CTextLineObj__copy_construct_009b7020 game_core Copy constructor for CTextLineObj (0x38 byte element). Sets vtable to CTextLineObj dtor, copies int field, copy-constructs two strings from source at offsets 8 and 0x20. 0x009B70A0 125 CRichTextLine__copy_construct_009b70a0 game_core Copy constructor for CRichTextLine (0x40 byte element). Sets vtable, copies 3 int fields (offsets 4, 8, 0xc), copy-constructs two strings from offsets 0x10 and 0x28. 0x009B7120 96 CSortEntry__copy_construct_009b7120 game_core Copy constructor for CSortEntry (0x24 byte element). Sets vtable (PTR_FUN_01148738), copies 2 int fields (offsets 4, 8), copy-constructs one string from offset 0xc. 0x009B7180 222 CSortEntry__swap_009b7180 game_core Swaps two CSortEntry (0x24 byte) elements. Saves first entry's fields (offsets 4, 8, string at 0xc), copies second into first, restores saved values into second. Standard swap with string move semantics. 0x009B7260 184 CTextLineObj__move_construct_009b7260 game_core Move constructor for a text line pair object (two strings + metadata). Moves both SSO strings from source, zeroing source's string state (length=0, capacity=0xf). Copies 4 header dwords and 4 mid-section dwords. 0x009B7320 187 UIScrollListWnd__ctor_009b7320 game_core Constructor for UIScrollListWnd. Calls UIScrollListBase__ctor, sets vtable to PTR_FUN_01148650. Initializes vector fields (0x35-0x37=0), row height=0x12, reads color from CColorPicker (row 0x12, col 2), sets scroll flag off. 0x009B7470 129 std__vector_int__clear_and_free_009b7470 stl Clears and frees a vector buffer. Frees data with alignment handling for large blocks, zeroes begin/end/capacity. 0x009B7500 185 std__vector_56byte__destroy_009b7500 stl Destroys vector of 56-byte (0x38) elements. Calls each element's destructor via vtable[0] with param 0, then frees the buffer with alignment handling. 0x009B75C0 156 std__vector_64byte__destroy_009b75c0 stl Destroys vector of 64-byte (0x40) elements. Calls each element's destructor via vtable[0] with param 0, then frees the buffer with alignment handling. 0x009B7670 176 std__vector_36byte__destroy_009b7670 stl Destroys vector of 36-byte (0x24) elements. Calls each element's destructor via vtable[0] with param 0, then frees the buffer with alignment handling. 0x009B7730 93 CTextLineObj__dtor_009b7730 game_core Destructor for CTextLineObj. Sets vtable, destroys two strings. 0x009B7790 93 CRichTextLine__dtor_009b7790 game_core Destructor for CRichTextLine (vtable PTR_FUN_01148648). Destroys two strings. 0x009B77F0 74 CSortEntry__dtor_009b77f0 game_core Destructor for CSortEntry (vtable PTR_FUN_01148738). Destroys one string. 0x009B7840 95 UIScrollListWnd__dtor_009b7840 game_core Destructor for UIScrollListWnd. Sets vtable to PTR_FUN_01148650, frees int vector, calls UIFormattedWidgetBase__dtor. 0x009B78A0 114 CRichTextLine__scalar_deleting_dtor_009b78a0 game_core Scalar deleting destructor for CRichTextLine. Sets vtable, destroys two strings, conditionally frees 0x40 bytes. 0x009B7920 99 CSortEntry__scalar_deleting_dtor_009b7920 game_core Scalar deleting destructor for CSortEntry. Sets vtable, destroys one string, conditionally frees 0x24 bytes. 0x009B7990 119 UIScrollListWnd__scalar_deleting_dtor_009b7990 game_core Scalar deleting destructor for UIScrollListWnd. Sets vtable, frees int vector, calls base dtor. Conditionally frees 0xe0 bytes. 0x009B7A10 9 thunk_to_UIListBox__push_back_string_item ui_events Thunk to UIListBox__push_back_string_item at 0x00875a70. Simple jmp wrapper. 0x009B7A20 1943 UIScrollListWnd__add_rich_text_entry_009b7a20 game_core Adds a rich text entry to the scroll list window. Creates CSkillTooltipWnd widget, sets layout and text. Handles different message types: 0x1b6 (comma-delimited list split into lines), 0x1d0 (item link with ID parsed from first field, stored in widget fields 0x3e/0x55/0x56), 0x1f5 (encoded data block parsed via parse_encoded_data_block). Calculates line count, positions widget, adds to child list. 0x009B81C0 69 UIScrollListWnd__clear_all_items_009b81c0 game_core Clears all items from scroll list window. Calls UIListBox__clear_items_and_reset, then iterates children in vector at 0x35, removing each via FUN_00a82e50. Resets vector end to begin, triggers repaint. 0x009B8210 257 base62_decode_string_009b8210 game_core Decodes a base-62 encoded string to integer. Uses charset "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" (62 chars). Computes positional value with base 0x3e (62) powers. Returns decoded integer value. 0x009B8320 345 process_encoded_string_009b8320 game_core Processes an encoded string. Creates std::string from C-string, runs through decode_and_format_rich_text (decodes tags and builds rich text lines), copies result, then passes to UIScrollListWnd__add_formatted_text for final display. 0x009B8480 140 text_find_line_break_offset_009b8480 game_core Finds the offset of the next line break point within a text string, accounting for pixel width (param_3). Handles RO color codes (^XXXXXX = 7 chars, short codes = 3 chars) by skipping them in width calculation. Returns character offset from start, or -1 if null input. Uses character advance callback for multi-byte support. 0x009B8510 1416 parse_encoded_data_block_009b8510 game_core Parses an encoded data block from a string into an integer array. Copies source string, ensures param_2 vector has 0x104 int entries. Decodes first 5 chars as base-62 into fields [0] and [1]. Iterates remaining chars, using a 14-char lookup table to switch between field indices (types 7=embedded block, 9=sub-array). Regular chars are accumulated as base-62 digits. 0x009B8AA0 1741 decode_and_format_rich_text_009b8aa0 game_core Decodes encoded text and builds rich text lines. Calls FUN_009ba1d0 to find tag positions, sorts entries by position. For each entry: extracts substring, looks up color/format from DAT_01457084 table, builds CRichTextLine with formatted text and color info. Returns formatted string if no tags found, or vector of CRichTextLine entries. 0x009B9170 872 build_text_tag_definitions_009b9170 game_core Builds a vector of 3 text tag definition entries (CTextLineObj, 0x38 bytes each). Tags: type 0x1b6 (uses DAT_0133dddc/0133ddc4 open/close strings), type 0x1d0 (uses DAT_0133de3c/0133de24), type 0x1f5 (uses DAT_0133de6c/0133de54). Each entry stores tag type ID and open/close delimiter strings. 0x009B94E0 1704 parse_text_tag_at_position_009b94e0 game_core Attempts to parse a text tag at a given position in the string. Searches for open/close delimiters from the tag table. For types 0x1b6 and 0x1d0: extracts content between delimiters into two result strings. For type 0x1f5: parses encoded data block, gets item description, builds result string. Returns move-constructed result with parsed flag and extracted strings. 0x009B9B90 208 get_item_description_by_id_009b9b90 game_core Gets an item's description string by its ID. Calls CItemDesc__get_offset_ptr and CItemInfoMgr__clear_tree_and_free to load item data, then extracts the description text into the output string. 0x009B9C60 70 remap_value_in_range_table_009b9c60 game_core Looks up param_1 in a table of 64-byte entries (vector at param_2). Each entry has min/max bounds at offsets 8/0xc. If param_1 falls within a range, returns the replacement value at offset 8. Otherwise returns param_1 unchanged. 0x009B9CB0 448 UIScrollListWnd__draw_text_lines_009b9cb0 game_core Draws text lines for the scroll list window. Sets background color (field 0xb4 determines pink vs custom RGB). Calculates visible line range from scroll offset (field 0x98) and line spacing (field 0xb8). For each visible line: extracts string data, renders text with either FUN_00a84e30 (normal) or FUN_00a85720 (with shadow/outline), using field 0xbc as the draw mode flag. 0x009B9EA0 814 UIScrollListWnd__set_text_content_009b9ea0 game_core Sets text content for the scroll list window. If param_3==0x8a, uses word-wrap. Otherwise if param_5==0, processes encoded string through decode_and_format_rich_text pipeline (FUN_009b8aa0 + FUN_009bb8e0). Sets field 0x2f flag based on mode, triggers repaint. 0x009BA1D0 1380 find_all_text_tags_009ba1d0 game_core Finds all text tag positions in a string. Iterates the tag definition table (DAT_01457084, 0x38 bytes per entry), searches for open/close delimiter pairs using std::_Traits_find. For each match, creates a CSortEntry with tag index, position offset, and extracted content. Returns sorted vector of all found tags. Handles overlapping tags by advancing past each match. 0x009BA740 662 strip_color_codes_from_text_009ba740 game_core Strips RO color codes from text, producing plain text. Walks through input string, skipping 7-char color codes (^XXXXXX) and 3-char short codes. Copies regular characters into output string with dynamic growth. Initializes output capacity to param_3. 0x009BA9E0 751 decode_encoded_item_data_009ba9e0 game_core Decodes encoded item data from an integer array into an item info structure (param_2). Gets item description, checks for "unknown item" string. Extracts: item type from field[1], item ID from field[2], flags, slot count, card/enchant data. Parses custom flags and stack counts from the encoded array. Returns 1 on success, 0 if empty or unknown. 0x009BACD0 944 parse_encoded_sub_array_009bacd0 game_core Parses a sub-array section from encoded data. Iterates characters from param_3 position, accumulates base-62 digits, decodes and pushes values into param_1 vector on encountering delimiter characters (param_5, param_6). Handles SSO string growth during accumulation. 0x009BB090 1221 parse_encoded_nested_block_009bb090 game_core Parses a nested encoded block. Similar to parse_encoded_sub_array but handles nested delimiters. Accumulates base-62 digits, decodes on delimiter, stores values into param_1 array at field indices starting at param_6. Returns count of parsed values. 0x009BB560 65 UIScrollListWnd__process_message_009bb560 game_core Message handler for UIScrollListWnd. Handles: msg 7-0xc (scroll commands - repositions child widgets based on scroll offset), msg 0x12/0x13 (scroll up/down if scrollable), msg 0x1d (set text content), msg 0x62 (child widget click handler). Default delegates to UIGridView__handle_scroll_command. 0x009BB7A0 318 UIScrollListWnd__hit_test_line_009bb7a0 game_core Hit-tests which line is at a given Y pixel position in the scroll list. Iterates through text lines starting from bottom offset, accumulating line heights. When param_3 < accumulated height, returns line index and computes pixel offset within the line. Strips color codes from the line text to measure character widths. 0x009BB8E0 685 UIScrollListWnd__add_formatted_text_009bb8e0 game_core Adds formatted/rich text content to the scroll list. Wraps plain text lines using text_find_line_break_offset (handling color codes), then for each CRichTextLine entry in the rich text vector, adds it as a widget via UIScrollListWnd__add_rich_text_entry. Sends layout update message after completion. 0x009BBB90 1291 CSkillTooltipWnd__init_from_data_009bbb90 game_core Initializes a skill tooltip window from encoded data. Handles three types: 0x1b6 (comma-delimited list split into lines), 0x1d0 (item link - parses ID, sets fields 0xf8/0x154/0x158, assigns tooltip text), 0x1f5 (encoded data block - parses and decodes item data). Similar to add_rich_text_entry but operates on the widget directly. 0x009BC0A0 922 UIScrollListWnd__on_child_click_009bc0a0 game_core Handles click on a child widget in the scroll list. For type 0x1b6: extracts comma-delimited fields, parses integers from fields. If field count >= 4, extracts coordinates and handles special case -0xde. Calls FUN_00b99030 or FUN_00b995d0 for navigation. For type 0x1d0/0x1f5: sends message via vtable to window 0xfe. 0x009BC440 197 UIScrollListWnd__update_child_visibility_009bc440 game_core Updates visibility and position of child widgets in the scroll list based on current scroll offset. Iterates children at field 0xd4 vector, shows/hides each based on whether its line index (field 0x34) falls within visible range. Repositions visible children using scroll offset and line spacing. 0x009BC510 37 destroy_elements_56byte_009bc510 game_core Destroy elements 56byte 009bc510 0x009BC540 37 destroy_elements_64byte_009bc540 game_core Destroy elements 64byte 009bc540 0x009BC570 37 destroy_elements_36byte game_core Destroy elements 36byte 0x009BC5A0 172 batch_copy_construct_CTextLineObj_009bc5a0 game_core Batch copy-constructs CTextLineObj (0x38 byte) elements from [param_1, param_2) range into param_3 destination. Returns pointer past last constructed element. 0x009BC650 186 batch_copy_construct_CRichTextLine_009bc650 game_core Batch copy-constructs CRichTextLine (0x40 byte) elements from [param_1, param_2) range into param_3 destination. Returns pointer past last constructed element. 0x009BC710 164 batch_copy_construct_CSortEntry_009bc710 game_core Batch copy-constructs CSortEntry (0x24 byte) elements from [param_1, param_2) range into param_3 destination. Returns pointer past last constructed element. 0x009BC7C0 170 batch_copy_construct_CTextLineObj_void_009bc7c0 game_core Same as batch_copy_construct_CTextLineObj but returns void. Batch copy-constructs CTextLineObj (0x38 byte) elements from source range to destination. 0x009BC870 184 batch_copy_construct_CRichTextLine_void_009bc870 game_core Same as batch_copy_construct_CRichTextLine but returns void. Batch copy-constructs CRichTextLine (0x40 byte) elements from source range to destination. 0x009BC930 162 batch_copy_construct_CSortEntry_void_009bc930 game_core Same as batch_copy_construct_CSortEntry but returns void. Batch copy-constructs CSortEntry (0x24 byte) elements from source range to destination. 0x009BC9E0 10 thunk_to_std__Xlength_error_009bc9e0 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x009BC9F0 10 thunk_to_std__Xlength_error_009bc9f0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x009BCA00 10 thunk_to_std__Xlength_error_009bca00 stl Calls std::_Xlength_error with vector_too_long error message 0x009BCA10 10 thunk_to_std__Xlength_error_009bca10 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x009BCA20 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x009BCA60 67 aligned_free_56byte_buffer_009bca60 game_core Frees aligned buffer for 56-byte (0x38) elements. Computes total size, handles aligned deallocation for large blocks. 0x009BCAB0 58 aligned_free_64byte_buffer_009bcab0 game_core Frees aligned buffer for 64-byte (0x40) elements. Computes total size, handles aligned deallocation for large blocks. 0x009BCAF0 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x009BCB30 22 CSortMedianHelper__copy_construct_009bcb30 game_core Copy-constructs a sort median helper (8 bytes). Sets vtable to PTR_FUN_01148740, copies int field at offset 4. 0x009BCB50 22 CSortMedianHelper__copy_construct_alt_009bcb50 game_core Duplicate of CSortMedianHelper__copy_construct. Sets vtable and copies int field. 0x009BCBA0 68 CSortMedianHelper__scalar_deleting_dtor_009bcba0 game_core Scalar deleting destructor for sort median helper (8 bytes). Conditionally frees memory. 0x009BCBF0 34 memcpy_range_009bcbf0 stl Copies memory range [param_1, param_2) to param_3. Returns pointer past end. 0x009BCC20 34 memcpy_range_009bcc20 stl Copies memory range [param_1, param_2) to param_3. Returns pointer past end. 0x009BCC50 34 memcpy_range_009bcc50 stl Copies memory range [param_1, param_2) to param_3. Returns pointer past end. 0x009BCC80 34 memcpy_range_009bcc80 stl Copies memory range [param_1, param_2) to param_3. Returns pointer past end. 0x009BCCB0 135 std__map__recursive_destroy_sprite_nodes_009bccb0 stl Recursively destroys map nodes (0x18 bytes each) containing sprite references. For each non-sentinel node: recurses on left subtree, destroys sprite at field[5] via FUN_00af0be0 if non-null, frees node. 0x009BCD40 131 std__map__recursive_destroy_string_nodes_009bcd40 stl Recursively destroys map nodes (0x2c bytes each) containing strings. For each non-sentinel node: recurses on left subtree, destroys string, frees node. 0x009BCDD0 75 std__map_int__lower_bound_009bcdd0 stl std::map lower_bound operation. Walks the red-black tree comparing key at node offset 4*4 with *param_3. Returns iterator (node pointer + found flag + end pointer) in param_2. 0x009BCE20 418 STL_vector_int_resize_grow_009bce20 stl Resizes a vector to param_2 elements. Allocates new buffer with 1.5x growth, zero-fills new elements, copies existing data, frees old buffer. Standard MSVC vector resize implementation. 0x009BCFD0 418 STL_vector_int_resize_grow stl STL vector<int> resize with growth. Allocates new buffer with 1.5x growth policy, copies existing elements, zero-fills new elements, frees old buffer. Max capacity 0x3fffffff. Element size is 4 bytes (int/pointer). 0x009BD180 418 STL_vector_int_resize_grow_009bd180 stl STL vector<int> resize with growth (duplicate instance). Same logic as STL_vector_int_resize_grow but with different exception handler thunks. 0x009BD330 418 STL_vector_int_resize_grow_009bd330 stl STL vector<int> resize with growth (duplicate instance). Same logic as STL_vector_int_resize_grow but with different exception handler thunks. 0x009BD4E0 14 is_non_null_009bd4e0 game_core Returns true if *param_1 is non-zero (non-null pointer check). 0x009BD5D0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x009BD5F0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x009BD610 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x009BD630 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x009BD650 85 std__rotate_int_009bd650 stl std::rotate for int arrays. Rotates [param_2, param_4) around param_3. Uses three reverse operations (FUN_00e614e1). Returns new position of the original first element in param_1. 0x009BD6B0 85 std__rotate_array_int stl STL rotate implementation for int arrays. Rotates elements in range [param_2, param_4) around pivot param_3. Sets *param_1 to the new position of the original first element. Uses swap operations (FUN_00e614e1) for the rotation. 0x009BD710 85 std__rotate_array_int_009bd710 stl Identical STL rotate implementation for int arrays. Duplicate of std__rotate_array_int for a different instantiation. 0x009BD770 85 std__rotate_array_int_009bd770 stl Identical STL rotate implementation for int arrays. Third duplicate for another instantiation. 0x009BD7D0 444 UIDialogC__ctor ui_windows Constructor for UIDialogC. Calls CEffect__ctor, sets vtable to UIDialogC, initializes linked list node at offset 0x24 (0x2c bytes), STL string at 0x26, fields 0x20-0x34 to zero, second linked list at 0x35 (0x40 bytes), selection index 0x37=-1, flags at 0x38. 0x009BD990 444 UIDialogD__ctor ui_windows Constructor for UIDialogD. Same structure as UIDialogC but with UIDialogD vtable. Second linked list node is 0x2c bytes instead of 0x40. 0x009BDB50 444 UIDialogE__ctor ui_windows Constructor for UIDialogE. Same structure as UIDialogC/D but with UIDialogE vtable. Second linked list node is 0x5c bytes. 0x009BDD10 444 UIDialogF__ctor ui_windows Constructor for UIDialogF. Same structure as UIDialogC/D/E but with UIDialogF vtable. Second linked list node is 0x38 bytes. 0x009BDED0 105 std__map_string__ctor_009bded0 stl Constructs an std::map with string values. Allocates 0x2c-byte sentinel node, sets self-referencing pointers and nil flags. Returns initialized map. 0x009BDF40 373 UIListDialog__ctor game_core Constructor for UIListDialog. Inherits from UIDialog (vtable chain). Initializes two linked list nodes at 0x3c (0x18 bytes) and 0x40 (0x2c bytes), STL strings at 0x22 and 0x42, list state fields. 0x009BE0C0 214 UIStringDialog__ctor game_core Constructor for UIStringDialog. Sets vtable to UIStringDialog, initializes two STL strings at offsets 0x21 and 0x28, max input length field at 0x9e=100, and other dialog state fields. 0x009BE1A0 344 UITripleStringDialog__ctor game_core Constructor for UITripleStringDialog. Initializes three STL strings at offsets 0x20, 0x26, 0x2c. Sets font size=0xc, default colors=0xffffff, and various dialog state fields to zero. 0x009BE300 370 UIFmtDialog__ctor game_core Constructor for UIFmtDialog (formatted dialog). Sets vtable, initializes font size=0xc, line spacing=6, colors=0xffffff, padding=3 on all sides, creates linked list node at 0x36 (0x1c bytes) for format entries. 0x009BE480 282 UIInterfaceDialog__ctor game_core Constructor for UIInterfaceDialog. Sets vtable, initializes boolean flags (fields 0x24-0x29 mostly =1), STL string at 0x2b, and field 0x3b=0. Supports interface-level dialog interactions. 0x009BE5A0 60 UIDialog__release_texture_if_set ui_windows Releases a texture resource if one is set. Checks if field[0] is non-null, and if so calls FUN_00af0be0 to release/free it. Used by dialog destructors for cleanup. 0x009BE5F0 340 UIDialogA__dtor ui_windows Destructor for UIDialogA. Sets vtable, destroys child widget at 0x3f, walks and frees linked list at 0x31, destroys STL string, recursively destroys map nodes at 0x24, releases textures at 0x20-0x23, then calls CEffect__dtor. 0x009BE750 340 UIDialogB__dtor ui_windows Destructor for UIDialogB. Same pattern as UIDialogA__dtor but sets UIDialogB vtable. Destroys child widget, linked list, STL string, map nodes, textures, then CEffect__dtor. 0x009BE8B0 348 UIDialogC__dtor ui_windows Destructor for UIDialogC. Sets UIDialogC vtable, destroys two child widgets at 0x4d and 0x43, calls FUN_009bf7e0 and FUN_009bfb70 for additional cleanup, then destroys string, map, textures, and calls CEffect__dtor. 0x009BEA10 348 UIDialogD__dtor ui_windows Destructor for UIDialogD. Same pattern as UIDialogC__dtor but with UIDialogD vtable. Calls FUN_009bf890 and FUN_009bfc00 for type-specific cleanup. 0x009BEB70 348 UIDialogE__dtor ui_windows Destructor for UIDialogE. Sets UIDialogE vtable, destroys child widgets, calls FUN_009bf930 and STL_vector_int_deallocate for type-specific cleanup, then standard dialog teardown. 0x009BECD0 348 UIDialogF__dtor ui_windows Destructor for UIDialogF. Sets UIDialogF vtable, destroys child widgets, calls FUN_009bf740 and STL_vector_int_deallocate for type-specific cleanup, then standard dialog teardown. 0x009BEE30 67 free_map_sentinel_node_2c_009bee30 stl Frees a 0x2c-byte map sentinel node if it exists (offset 4 of the param). 0x009BEE80 67 free_map_sentinel_node_40 stl Frees a 0x40-byte map sentinel node at offset+4 if it exists. Same pattern as free_map_sentinel_node_2c but for larger nodes. 0x009BEED0 33 UIDialog__release_child_widget_at_9_009beed0 ui_windows Releases the child widget at field[9] if non-null. Calls vtable+0x10 to notify detachment, then nulls the field. 0x009BEF00 33 UIDialog__release_child_widget_at_9 ui_windows Releases child widget at field[9] if non-null. Calls virtual method at vtable+0x10 to move/detach the widget, then nulls the pointer. Used by various dialog types for cleanup. 0x009BEF30 33 UIDialog__release_child_widget_at_9_009bef30 ui_windows Releases child widget at field[9] if non-null. Calls virtual method at vtable+0x10 to detach, then nulls the pointer. Duplicate instance of UIDialog__release_child_widget_at_9. 0x009BEF60 33 UIDialog__release_child_widget_at_9_009bef60 ui_windows Releases child widget at field[9] if non-null. Calls virtual method at vtable+0x10 to detach, then nulls the pointer. Duplicate instance of UIDialog__release_child_widget_at_9. 0x009BEF90 33 UIDialog__release_child_widget_at_9_009bef90 ui_windows Releases child widget at field[9] if non-null. Calls virtual method at vtable+0x10 to detach, then nulls the pointer. Duplicate instance of UIDialog__release_child_widget_at_9. 0x009BEFC0 33 UIDialog__release_child_widget_at_9_009befc0 ui_windows Releases child widget at field[9] if non-null. Calls virtual method at vtable+0x10 to detach, then nulls the pointer. Duplicate instance of UIDialog__release_child_widget_at_9. 0x009BEFF0 33 UIDialog__release_child_widget_at_9_009beff0 ui_windows Releases child widget at field[9] if non-null. Calls virtual method at vtable+0x10 to detach, then nulls the pointer. Duplicate instance of UIDialog__release_child_widget_at_9. 0x009BF020 33 UIDialog__release_child_widget_at_9_009bf020 ui_windows Releases child widget at field[9] if non-null. Calls virtual method at vtable+0x10 to detach, then nulls the pointer. Duplicate instance of UIDialog__release_child_widget_at_9. 0x009BF050 33 UIDialog__release_child_widget_at_9_009bf050 ui_windows Releases child widget at field[9] if non-null. Calls virtual method at vtable+0x10 to detach, then nulls the pointer. Duplicate instance of UIDialog__release_child_widget_at_9. 0x009BF080 76 std__map_sprite__destroy_tree_009bf080 stl Destroys an std::map with sprite values. Recursively destroys all sprite nodes, then frees the 0x18-byte sentinel. 0x009BF0E0 76 std__map_string__destroy_and_free stl Destroys a std::map with string keys. Recursively destroys all nodes via std__map__recursive_destroy_string_nodes, then frees the sentinel/head node (0x2c bytes). 0x009BF140 116 destroy_map_string_node_and_sentinel_009bf140 game_core Destroys a map node containing a string and frees the 0x2c-byte sentinel. Destroys the string if the node exists, then frees the sentinel node. 0x009BF1C0 147 UIDialog__destroy_linked_list_node ui_windows Destroys a linked list node used by dialog system. If field[1] (the node pointer) is non-null, releases child widget at node+0x3c via virtual call, then frees the 0x40-byte node allocation. 0x009BF260 78 UIDialog__free_node_2c ui_windows Frees a 0x2c-byte linked list node if field[1] is non-null. Simple deallocation with SEH frame. 0x009BF2B0 78 UIDialog__free_node_40 ui_windows Frees a 0x40-byte linked list node if field[1] is non-null. Simple deallocation with SEH frame. 0x009BF300 92 UIDialog__release_child_widget_seh ui_windows Releases child widget at field[9] if non-null via virtual call at vtable+0x10, with SEH frame. Same as UIDialog__release_child_widget_at_9 but with structured exception handling wrapper. 0x009BF360 92 UIDialog__release_child_widget_seh_009bf360 ui_windows Releases child widget at field[9] if non-null via virtual call at vtable+0x10, with SEH frame. Duplicate instance of UIDialog__release_child_widget_seh. 0x009BF3C0 92 UIDialog__release_child_widget_seh_009bf3c0 ui_windows Releases child widget at field[9] if non-null via virtual call at vtable+0x10, with SEH frame. Duplicate instance of UIDialog__release_child_widget_seh. 0x009BF420 92 UIDialog__release_child_widget_seh_009bf420 ui_windows Releases child widget at field[9] if non-null via virtual call at vtable+0x10, with SEH frame. Duplicate instance of UIDialog__release_child_widget_seh. 0x009BF480 92 UIDialog__release_child_widget_seh_009bf480 ui_windows Releases child widget at field[9] if non-null via virtual call at vtable+0x10, with SEH frame. Duplicate instance of UIDialog__release_child_widget_seh. 0x009BF4E0 92 UIDialog__release_child_widget_seh_009bf4e0 ui_windows Releases child widget at field[9] if non-null via virtual call at vtable+0x10, with SEH frame. Duplicate instance of UIDialog__release_child_widget_seh. 0x009BF540 92 UIDialog__release_child_widget_seh_009bf540 ui_windows Releases child widget at field[9] if non-null via virtual call at vtable+0x10, with SEH frame. Duplicate instance of UIDialog__release_child_widget_seh. 0x009BF5A0 92 UIDialog__release_child_widget_seh_009bf5a0 ui_windows Releases child widget at field[9] if non-null via virtual call at vtable+0x10, with SEH frame. Duplicate instance of UIDialog__release_child_widget_seh. 0x009BF600 92 UIDialog__release_child_widget_seh_009bf600 ui_windows Releases child widget at field[9] if non-null via virtual call at vtable+0x10, with SEH frame. Duplicate instance of UIDialog__release_child_widget_seh. 0x009BF660 103 UIDialog__destroy_linked_list_0c ui_windows Walks and frees a singly-linked list of 0xc-byte nodes. Nulls the tail pointer first, then iterates through the list freeing each node, finally frees the head sentinel. 0x009BF6D0 103 UIDialog__destroy_linked_list_0c_009bf6d0 ui_windows Walks and frees a singly-linked list of 0xc-byte nodes. Duplicate instance of UIDialog__destroy_linked_list_0c. 0x009BF740 151 UIDialogF__destroy_item_list_38 ui_windows Destroys UIDialogF item list. Walks linked list of 0x38-byte nodes, each containing two STL strings. Destroys both strings per node then frees the node. 0x009BF7E0 165 UIDialogC__destroy_item_list_40 ui_windows Destroys UIDialogC item list. Walks linked list of 0x40-byte nodes, each containing formatted data. Calls CFmt__func_0058c230 and STL_string_dtor per node, then frees the 0x40-byte allocation. 0x009BF890 151 UIDialogD__destroy_item_list_2c ui_windows Destroys UIDialogD item list. Same pattern as UIDialogC but nodes are 0x2c bytes. 0x009BF930 177 UIDialogE__destroy_item_list_5c ui_windows Destroys UIDialogE item list. Walks linked list of 0x5c-byte nodes, each containing formatted data and two STL strings. Calls CFmt__func_0058c230 and two STL_string_dtors per node. 0x009BF9F0 87 std__map_sprite__destroy_tree_alt_009bf9f0 stl Same as std__map_sprite__destroy_tree_009bf080. Destroys all sprite nodes recursively, frees 0x18-byte sentinel. 0x009BFA50 87 std__map_string__destroy_and_free_009bfa50 stl Destroys a std::map with string keys (duplicate instance). Same as std__map_string__destroy_and_free. 0x009BFAB0 68 string_dtor_wrapper_009bfab0 game_core Simple wrapper that destroys a string. Sets up SEH frame and calls STL_string_dtor. 0x009BFB00 105 UIDialog__release_child_widget_at_2c ui_windows Releases child widget at byte offset 0x2c (field at param+0x2c) if non-null. Uses virtual call at vtable+0x10 to detach, then nulls the pointer. 0x009BFB70 129 STL_vector_int_deallocate stl Deallocates an STL vector<int> buffer. Handles aligned allocation (checks if size >= 0x1000 for aligned free). Zeros all three vector fields (data, end, capacity) after freeing. 0x009BFC00 129 STL_vector_int_deallocate_009bfc00 stl Deallocates an STL vector<int> buffer (duplicate instance). Handles aligned allocation (checks if size >= 0x1000 for aligned free). Zeros all three vector fields after freeing. 0x009BFC90 129 STL_vector_int_deallocate_009bfc90 stl STL vector deallocate: frees the internal buffer and resets begin/end/capacity pointers to 0. Uses security cookie and SEH. 0x009BFD20 129 STL_vector_int_deallocate_009bfd20 stl STL vector deallocate: frees the internal buffer and resets begin/end/capacity pointers to 0. Identical pattern to 009bfc90. 0x009BFDB0 200 UIDialog__dtor_009bfdb0 ui_windows UI dialog destructor: sets vtable to PTR_FUN_011489f0, releases two COM-style interface pointers (offsets 0x3b and 0x31) via virtual Release, destroys string member, then calls base class destructor chain (FUN_00a79e90). 0x009BFE80 71 UIBase__dtor_009bfe80 game_core Simple UI base destructor: sets vtable to PTR_FUN_0114875c then calls base destructor FUN_00a79e90. 0x009BFED0 202 UIListDialog__dtor_009bfed0 game_core UI list dialog destructor: sets vtable PTR_FUN_01148acc, destroys string, cleans up two linked list structures at offsets 0x40 and 0x3c (clearing nodes and freeing memory), then chains to parent dtor 009bfdb0. 0x009BFFA0 142 UIStringDialog__dtor_009bffa0 game_core UI string dialog destructor: sets vtable PTR_FUN_01148914, destroys 2 STL strings, frees pointer at offset 0x20 via FUN_00af0be0, then chains to base dtor FUN_00a79e90. 0x009C0030 138 UITripleStringDialog__dtor_009c0030 game_core UI dialog destructor: sets vtable PTR_FUN_01148838, destroys 3 STL strings, then chains to base dtor FUN_00a79e90. 0x009C00C0 132 UIFmtDialog__dtor_009c00c0 game_core UI dialog destructor with format data: sets vtable PTR_FUN_01148d68, calls FUN_009ac1e0 cleanup, CFmt__func_0058c230, then chains to base dtor FUN_00a79e90. 0x009C0150 195 UIMultiResourceDialog__dtor_009c0150 game_core UI dialog destructor: sets vtable PTR_FUN_01148ba8, destroys 3 STL strings, frees 3 pointer members (offsets 0x21-0x23) via FUN_00af0be0, chains to base dtor FUN_00a79e90. 0x009C0220 175 UIInterfaceDialog__dtor_009c0220 game_core UI dialog destructor: sets vtable PTR_FUN_01148c84, releases COM interface at offset 0x3b, destroys STL string, frees pointer at offset 0x23, chains to base dtor FUN_00a79e90. 0x009C02D0 164 UIComponent__create_from_stream_009c02d0 ui_framework Factory method: optionally clones interface from param_2+0x24 via virtual call, then initializes component via FUN_009d7730. Returns this pointer. 0x009C0380 164 UIComponent__create_from_stream_009c0380 ui_framework Factory method: optionally clones interface from param_2+0x24, then initializes component via FUN_009d7890. Returns this pointer. 0x009C0430 164 UIComponent__create_from_stream_009c0430 ui_framework Factory method: optionally clones interface from param_2+0x24, then initializes component via FUN_009d79f0. Returns this pointer. 0x009C04E0 164 UIComponent__create_from_stream_009c04e0 ui_framework Factory method: optionally clones interface from param_2+0x24, then initializes component via FUN_009d7b50. Returns this pointer. 0x009C0590 164 UIComponent__create_from_stream_009c0590 ui_framework Factory method: optionally clones interface from param_2+0x24, then initializes component via FUN_009d7f70. Returns this pointer. 0x009C0640 290 std__map_int_string__subscript_009c0640 stl std::map::operator[]: searches red-black tree for int key. If not found and map is not full (checks against 0x5d1745d limit), allocates new 0x2c-byte node with the key, inserts via Insert_node, and returns pointer to the value (string at offset +5 dwords). 0x009C0770 38 UIDialogA__scalar_deleting_dtor_009c0770 ui_windows Scalar deleting destructor: calls dtor FUN_009be5f0, then frees 0x100-byte object if bit 0 of flags param is set. 0x009C07A0 38 UIDialogB__scalar_deleting_dtor_009c07a0 ui_windows Scalar deleting destructor: calls dtor FUN_009be750, then frees 0x100-byte object if bit 0 of flags param is set. 0x009C07D0 38 UIDialogC__scalar_deleting_dtor_009c07d0 ui_windows Scalar deleting destructor: calls dtor FUN_009be8b0, then frees 0x138-byte object if bit 0 of flags param is set. 0x009C0800 38 UIDialogD__scalar_deleting_dtor_009c0800 ui_windows Scalar deleting destructor: calls dtor FUN_009bea10, then frees 0x138-byte object if bit 0 of flags param is set. 0x009C0830 38 UIDialogE__scalar_deleting_dtor_009c0830 ui_windows Scalar deleting destructor: calls dtor FUN_009beb70, then frees 0x138-byte object if bit 0 of flags param is set. 0x009C0860 38 UIDialogF__scalar_deleting_dtor_009c0860 ui_windows Scalar deleting destructor: calls dtor FUN_009becd0, then frees 0x138-byte object if bit 0 of flags param is set. 0x009C0890 38 UIDialog__scalar_deleting_dtor_009c0890 ui_windows Scalar deleting destructor: calls UIDialog__dtor_009bfdb0, then frees 0xf0-byte object if bit 0 of flags param is set. 0x009C08C0 99 UIBase__scalar_deleting_dtor_009c08c0 game_core Scalar deleting destructor for UIBase: sets vtable PTR_FUN_0114875c, calls base dtor FUN_00a79e90, then frees 0x80-byte object if bit 0 of flags is set. 0x009C0930 38 UIListDialog__scalar_deleting_dtor_009c0930 game_core Scalar deleting destructor: calls UIListDialog__dtor_009bfed0, then frees 0x120-byte object if bit 0 of flags param is set. 0x009C0960 166 UIStringDialog__scalar_deleting_dtor_009c0960 game_core Scalar deleting destructor for UIStringDialog: sets vtable PTR_FUN_01148914, destroys 2 strings, frees member at offset 0x20, calls base dtor, then frees 0xb8-byte object if bit 0 of flags is set. 0x009C0A10 162 UITripleStringDialog__scalar_deleting_dtor_009c0a10 game_core Scalar deleting destructor for UITripleStringDialog: sets vtable PTR_FUN_01148838, destroys 3 strings, calls base dtor, then frees 0xfc-byte object if bit 0 is set. 0x009C0AC0 156 UIFmtDialog__scalar_deleting_dtor_009c0ac0 game_core Scalar deleting destructor for UIFmtDialog: sets vtable PTR_FUN_01148d68, cleanup via FUN_009ac1e0 and CFmt, calls base dtor, frees 0xe0-byte object if bit 0 is set. 0x009C0B60 219 UIMultiResourceDialog__scalar_deleting_dtor_009c0b60 game_core Scalar deleting destructor for UIMultiResourceDialog: sets vtable PTR_FUN_01148ba8, destroys 3 strings, frees 3 pointer members, calls base dtor, frees 0xe8-byte object if bit 0 is set. 0x009C0C40 38 UIInterfaceDialog__scalar_deleting_dtor_009c0c40 game_core Scalar deleting destructor: calls UIInterfaceDialog__dtor_009c0220, then frees 0xf0-byte object if bit 0 of flags is set. 0x009C0C70 353 UIFactory__create_list_dialog_009c0c70 game_core UI factory: allocates 0x120-byte object, constructs via FUN_009d9150, sets up position/dimensions from param_1, creates two sub-components via UIComponent__create_from_stream, then finalizes via FUN_00a7a080. 0x009C0DE0 353 UIFactory__create_dropdown_dialog_009c0de0 game_core UI factory: allocates 0x100-byte UIDropDownList, sets up position/dimensions, creates two sub-components, finalizes via FUN_00a7a080. 0x009C0F50 353 UIFactory__create_list_control_dialog game_core UI factory: allocates 0x118-byte UIListControl via UIListControl__ctor_009d9420, sets up position/dimensions from param_1, creates two sub-components via UIComponent__create_from_stream, then finalizes via FUN_00a7a080. 0x009C10C0 353 UIFactory__create_control_dialog game_core UI factory: allocates 0xf0-byte UIControl via UIControl__ctor_009d9600, sets up position/dimensions from param_1, creates two sub-components via UIComponent__create_from_stream, then finalizes via FUN_00a7a080. 0x009C1230 115 UIFactory__alloc_and_construct_text_window game_core Allocates 0xfc-byte UITextWindow object via operator_new, constructs via UITextWindow__ctor_009d8e30. Returns pointer to new object or NULL on allocation failure. 0x009C12B0 85 UIComponent__clear_child_items_009c12b0 ui_framework Iterates through child item vector (offsets 0xc8-0xcc), calls FUN_00a82e50 with flag=1 on each, resets end pointer to begin, and sets selected index (0xdc) to -1. 0x009C1310 85 UIComponent__clear_child_items_009c1310 ui_framework Identical to 009c12b0: iterates child items vector, calls FUN_00a82e50 with flag=1, resets to empty, sets selected index to -1. 0x009C1370 85 UIComponent__clear_child_items_009c1370 ui_framework Identical to 009c12b0: iterates child items vector, calls FUN_00a82e50 with flag=1, resets to empty, sets selected index to -1. 0x009C13D0 85 UIComponent__clear_child_items_009c13d0 ui_framework Identical to 009c12b0: iterates child items vector, calls FUN_00a82e50 with flag=1, resets to empty, sets selected index to -1. 0x009C1430 36 UIComponent__set_position_and_size_009c1430 ui_framework Sets width/height at offsets 0xb4/0xb8 from params 4/5, then calls FUN_00a7b470 to set position from params 2/3. 0x009C1460 36 UIComponent__set_position_and_size_009c1460 ui_framework Sets width/height at offsets 0xb4/0xb8, then calls FUN_00a7b470 to set position. Identical to 009c1430. 0x009C1490 36 UIComponent__set_position_and_size_009c1490 ui_framework Sets width/height at offsets 0xb4/0xb8, then calls FUN_00a7b470 to set position. Identical to 009c1430. 0x009C14C0 36 UIComponent__set_position_and_size_009c14c0 ui_framework Sets width/height at offsets 0xb4/0xb8, then calls FUN_00a7b470 to set position. Identical to 009c1430. 0x009C14F0 87 UIComponent__reset_and_center_009c14f0 ui_framework Resets a 2-byte flag at offset 0x2d*4, sets size to 750x468 via vtable+4, centers on screen using global screen dimensions at DAT_01389638, calls vtable+0x3c and vtable+0x40 for layout update. 0x009C1550 4637 UIDialogA__init_encrypted_resources_009c1550 ui_windows Large initialization function for a UI dialog. Allocates 0x100-byte object with UIDialogA constructor, decrypts multiple XOR-encrypted string resources (using xor_decrypt_buffer with various keys), populates a map with decrypted names (keys 0,1,2), loads sprite/texture resources via FUN_009f28f0, FUN_009f2e40, FUN_009f2be0. Stores result at param_1+0xec. 0x009C2770 69 UIComponent__get_selected_item_data_009c2770 ui_framework Gets data for the currently selected item. Reads selected index from offset 0xdc, validates against count at 0xd8, traverses linked list from head at 0xd4 to the selected node, returns pointer to data at node+8. Sets success flag in param_2+1. 0x009C27C0 69 UIComponent__get_selected_item_data_009c27c0 ui_framework Identical to 009c2770: gets selected item data by traversing linked list to selected index. Returns node+8 pointer with success flag. 0x009C2810 69 UIComponent__get_selected_item_data_009c2810 ui_framework Identical to 009c2770: gets selected item data by traversing linked list to selected index. 0x009C2860 69 UIComponent__get_selected_item_data_009c2860 ui_framework Identical to 009c2770: gets selected item data by traversing linked list to selected index. 0x009C28B0 193 UIComponent__create_child_component_009c28b0 ui_framework Allocates 0xf0-byte child component via FUN_009be480, sets visibility to 0 via vtable+0x38, creates sub-component via FUN_009d3120, stores at param_1+0xb0, then finalizes via FUN_00a7a080. 0x009C2980 193 UIComponent__create_child_component_009c2980 ui_framework Allocates 0xf0-byte child component, constructs via FUN_009be480, sets hidden, attaches via FUN_009d3120, stores at param_1+0xb0, finalizes via FUN_00a7a080. Uses vtable PTR_FUN_011495d4. 0x009C2A50 193 UIComponent__create_child_component_009c2a50 ui_framework Identical pattern to 009c28b0: allocates 0xf0-byte child, constructs, hides, attaches. Uses vtable PTR_FUN_0114959c. 0x009C2B20 193 UIComponent__create_child_component_009c2b20 ui_framework Identical pattern: allocates 0xf0-byte child, constructs, hides, attaches. Uses vtable PTR_FUN_01149580. 0x009C2BF0 193 UIComponent__create_child_component_009c2bf0 ui_framework Identical pattern: allocates 0xf0-byte child, constructs, hides, attaches. Uses vtable PTR_FUN_01149564. 0x009C2CC0 193 UIComponent__create_child_component_009c2cc0 ui_framework Identical pattern: allocates 0xf0-byte child, constructs, hides, attaches. Uses vtable PTR_FUN_01149548. 0x009C2D90 9838 UIComplexDialog__init_child_widgets game_core Complex UI dialog initialization. Creates and configures child widgets including UIStringDialog, UIMultiResourceDialog, UITripleStringDialog, UIFmtDialog, UIProgressBar, UIScrollbar, UIEditBox, UIListItem, CTextPanel. Decrypts XOR-encrypted resource strings from TLS. ~9.8K bytes. 0x009C5400 1965 UIComponent__init_text_labels_009c5400 ui_framework Creates 3 text label sub-components at offsets 0x80, 0x84, 0x88, 0x8c. First is 0xb8-byte sprite widget, other three are 0xfc-byte text labels. Each text label: decrypts XOR-encrypted font name, sets font size 12, configures colors (white foreground), and positions. Labels are finalized via FUN_00a7a080. 0x009C5BB0 5013 UIDialogF__init_child_widgets ui_windows Initializes UIDialogF child widgets. Creates UIStringDialog, UIScrollbar, UIListBox, UICallback objects. Configures scrollbar, rebuilds list items, and decrypts XOR-encrypted strings from TLS. ~5K bytes. 0x009C6F50 7588 UIDialogC__init_child_widgets ui_windows Initializes UIDialogC child widgets. Creates UIButton, UIListDialog, UIScrollbar, UIListBox, UICallback objects. Configures buttons, rebuilds list, swaps callbacks, decrypts XOR strings. ~7.5K bytes. 0x009C8D00 8482 UITextPanelDialog__init_child_widgets game_core Initializes a text panel dialog. Creates CTextPanel, UITripleStringDialog, UIStringDialog, UIFmtDialog children. Extensively configures text properties (font, bold, shadow, outline, color, truncate, line spacing, alignment, border). ~8.5K bytes. 0x009CAE30 5956 CUICustomShopWindow__init_child_widgets game_core Initializes a custom shop window UI. Creates UIDialogD, UIListDialog, UIListBox with scrollbar, buttons with encrypted text labels. Sets up button textures, scrollbar thumbs, background textures. Configures list box items and adds child widgets to the parent effect. 0x009CC580 6075 UIFmtDialog__init_text_panels game_core Initializes UIFmtDialog text panels. 6K bytes. Sets up CTextPanel objects with fonts, colors, alignment, borders, scrollbars, margins, and line spacing. No callers (registered as callback/vtable). 0x009CDD40 7588 UIDialogE__init_child_widgets ui_windows Initializes UIDialogE child widgets. 7.5K bytes. Creates scrollbars, buttons, list boxes, callbacks. Configures component layout from stream. No callers (registered as callback/vtable). 0x009CFAF0 7474 UIEquipWnd__create_equipment_slots game_core Creates equipment slot UI elements with encrypted resource paths for each slot; sets text labels 0x009D1830 1090 UIComponent__init_label_and_sprite_009d1830 ui_framework Initializes two sub-components: a 0xfc-byte text label at offset 0xe8 (decrypts font name, sets font size 12, bold, brown color 0x5f3c2c) and a 0xb8-byte sprite at offset 0xec (decrypts sprite resource path). Both finalized via FUN_00a7a080. 0x009D1C80 639 UIComponent__init_single_label_009d1c80 ui_framework Creates single 0xfc-byte text label at offset 0xe8. Decrypts XOR-encrypted font name, sets font size 12, bold, brown color 0x5f3c2c, white foreground. Finalized via FUN_00a7a080. 0x009D1F00 1200 UIComponent__init_two_labels_009d1f00 ui_framework Creates two 0xfc-byte text labels at offsets 0xe8 and 0xec. First label: bold, color 0x815a48. Second label: normal, color 0x2a435d. Both decrypt XOR-encrypted font names, use font size 12, white foreground. 0x009D2410 63 UIComponent__scroll_or_delegate_009d2410 ui_framework Checks if child component at offset 0xb0 is scrollable (flag at 0x2a*4 == 0 and position < max). If so, calls vtable+0x8c on it. Otherwise delegates to parent at offset 0x10. 0x009D2450 63 UIComponent__scroll_or_delegate_009d2450 ui_framework Identical to 009d2410: checks child scrollability, calls vtable+0x8c or delegates to parent. 0x009D2490 63 UIComponent__scroll_or_delegate_009d2490 ui_framework Identical to 009d2410: checks child scrollability, calls vtable+0x8c or delegates to parent. 0x009D24D0 63 UIComponent__scroll_or_delegate_009d24d0 ui_framework Identical to 009d2410: checks child scrollability, calls vtable+0x8c or delegates to parent. 0x009D2510 63 UIComponent__scroll_or_delegate_009d2510 ui_framework Identical to 009d2410: checks child scrollability, calls vtable+0x8c or delegates to parent. 0x009D2550 63 UIComponent__scroll_or_delegate_009d2550 ui_framework Identical to 009d2410: checks child scrollability, calls vtable+0x8c or delegates to parent. 0x009D2590 65 UIComponent__set_selected_highlight_009d2590 ui_framework Iterates child items vector (0xc8-0xcc), calls vtable+0xdc on each with boolean (true if item == param_2, false otherwise). Highlights the selected item. 0x009D25E0 65 UIComponent__set_selected_highlight_009d25e0 ui_framework Identical to 009d2590: iterates children, highlights selected item via vtable+0xdc. 0x009D2630 65 UIComponent__set_selected_highlight_009d2630 ui_framework Identical to 009d2590: iterates children, highlights selected item via vtable+0xdc. 0x009D2680 65 UIComponent__set_selected_highlight_009d2680 ui_framework Identical to 009d2590: iterates children, highlights selected item via vtable+0xdc. 0x009D26D0 603 UIListBox__rebuild_items_009d26d0 ui_events Rebuilds list box items when dimensions change. Clears existing child items, calculates row count from height/item_height, allocates UIListBox items via UIListBox__ctor_009d9150, sets up each with position/size and two sub-components, stores in items vector. Resets selection to -1. Calls FUN_009f2b70/FUN_009f2e80 for scrollbar layout. 0x009D2930 603 UIListBox__rebuild_items_009d2930 ui_events Identical to 009d26d0: rebuilds list box items based on height/item_height. 0x009D2B90 603 UIListBox__rebuild_items_009d2b90 ui_events Identical to 009d26d0: rebuilds list box items based on height/item_height. 0x009D2DF0 603 UIListBox__rebuild_items_009d2df0 ui_events Identical to 009d26d0: rebuilds list box items based on height/item_height. 0x009D3050 196 UIComponent__swap_callback_009d3050 ui_framework Clones interface from optional param, swaps callback object at this+0xa0 via GameSettings__swap_callback_objects, releases the clone. 0x009D3120 196 UIComponent__swap_callback_009d3120 ui_framework Identical to 009d3050: clones interface, swaps callback at this+0xa0. 0x009D31F0 367 UIComponent__insert_callback_by_key_009d31f0 ui_framework Inserts a callback into an RB-tree map keyed by int. Allocates 0x40-byte tree node if key not found, clones interface, swaps callback data via std__any__swap_009d7470, releases clone. 0x009D3360 522 UIComponent__load_textures_from_map_009d3360 ui_framework Loads 4 texture resources from string map (keys 0,1,2 + name at this+0x98). Stores texture handles at offsets 0x80-0x8c, replacing and releasing previous textures. Propagates textures to all child items in linked list at 0xc4. 0x009D3570 522 UIComponent__load_textures_from_map_009d3570 ui_framework Identical to 009d3360: loads 4 texture resources from string map, stores at 0x80-0x8c. 0x009D3780 522 UIComponent__load_textures_from_map_009d3780 ui_framework Identical to 009d3360: loads 4 texture resources. 0x009D3990 522 UIComponent__load_textures_from_map_009d3990 ui_framework Identical to 009d3360: loads 4 texture resources. 0x009D3BA0 522 UIComponent__load_textures_from_map_009d3ba0 ui_framework Identical to 009d3360: loads 4 texture resources. 0x009D3DB0 522 UIComponent__load_textures_from_map_009d3db0 ui_framework Identical to 009d3360: loads 4 texture resources. 0x009D3FD0 109 UIListBox__add_item_and_update_scroll_009d3fd0 ui_events Adds item via FUN_00a82eb0, resizes scrollbar child, calculates total height from linked list items, updates scrollbar max/visible range/value. 0x009D4040 109 UIListBox__add_item_and_update_scroll_009d4040 ui_events Identical to 009d3fd0: adds item, updates scrollbar. 0x009D40B0 115 UIListBox__add_item_rebuild_scroll_009d40b0 ui_events Adds item via FUN_00a82eb0, rebuilds list items, resizes scrollbar, calculates max from item_count * item_height + offset, updates scrollbar, sets dirty flag at 0xe1. 0x009D4130 115 UIListBox__add_item_rebuild_scroll_009d4130 ui_events Identical to 009d40b0: adds item, rebuilds, updates scrollbar. 0x009D41B0 115 UIListBox__add_item_rebuild_scroll_009d41b0 ui_events Identical to 009d40b0: adds item, rebuilds, updates scrollbar. 0x009D4230 115 UIListBox__add_item_rebuild_scroll_009d4230 ui_events Identical to 009d40b0: adds item, rebuilds, updates scrollbar. 0x009D42B0 134 UIListBox__scroll_update_visibility_009d42b0 ui_events Updates item visibility based on scroll position. Iterates linked list, hides items outside visible area, shows+repositions visible ones. 0x009D4340 134 UIListBox__scroll_update_visibility_009d4340 ui_events Identical to 009d42b0: updates item visibility based on scroll offset. 0x009D43D0 498 UIListBox__layout_items_from_scroll ui_events Layouts visible list items based on scroll pixel offset. Computes start row from param_2/item_height, rotates item array to align with new start, iterates visible items: binds data from linked list at 0xd4 via callback at 0x134, sets selection highlight via vtable+0xd8, positions with vtable+0x10, shows with vtable+0x38. Hides items outside visible range. Sets dirty flag at 0xe1. 0x009D45D0 498 UIListBox__layout_items_from_scroll_009d45d0 ui_events Variant of 009d43d0: layouts visible list items based on scroll pixel offset. Rotates item array, binds data, positions and shows visible items, hides others. 0x009D47D0 498 UIListBox__layout_items_from_scroll_009d47d0 ui_events Variant of 009d43d0: layouts visible list items based on scroll pixel offset. Rotates item array, binds data, positions and shows visible items, hides others. 0x009D49D0 498 UIListBox__layout_items_from_scroll_009d49d0 ui_events Variant of 009d43d0: layouts visible list items based on scroll pixel offset. Rotates item array, binds data, positions and shows visible items, hides others. 0x009D4BD0 218 UIListBox__on_item_click_with_rtti_009d4bd0 ui_events Click handler with RTTI cast: deselects all children, selects clicked item, performs __RTDynamicCast to get item index at +0x94, updates selection index at parent+0xdc, invokes click callback at parent+0x10c with selected data. 0x009D4CB0 218 UIListBox__on_item_click_with_rtti_009d4cb0 ui_events Identical to 009d4bd0: click handler with RTTI. 0x009D4D90 218 UIListBox__on_item_click_with_rtti_009d4d90 ui_events Identical to 009d4bd0: click handler with RTTI. 0x009D4E70 218 UIListBox__on_item_click_with_rtti_009d4e70 ui_events Identical to 009d4bd0: click handler with RTTI. 0x009D4F50 216 UIComponent__set_map_strings_and_update_009d4f50 ui_framework Sets 4 strings into int->string map (keys 0,1,2 + name at this+0x26), then calls vtable+0xd4 to update and vtable+0x98 to refresh. 0x009D5030 216 UIComponent__set_map_strings_and_update_009d5030 ui_framework Identical to 009d4f50: sets map strings and updates. 0x009D5110 216 UIComponent__set_map_strings_and_update_009d5110 ui_framework Identical to 009d4f50: sets map strings and updates. 0x009D51F0 216 UIComponent__set_map_strings_and_update_009d51f0 ui_framework Identical to 009d4f50: sets map strings and updates. 0x009D52D0 216 UIComponent__set_map_strings_and_update_009d52d0 ui_framework Identical to 009d4f50: sets map strings and updates. 0x009D53B0 216 UIComponent__set_map_strings_and_update_009d53b0 ui_framework Identical to 009d4f50: sets map strings and updates. 0x009D54A0 22 UICallback__init_vtable_009d54a0 ui_events Initializes callback object: sets vtable to PTR_FUN_01149510 and copies parent pointer from this+4. 0x009D54C0 22 UICallback__init_vtable_009d54c0 ui_events Initializes callback object: sets vtable to PTR_FUN_011494a0 and copies parent pointer from this+4. 0x009D54E0 22 UICallback__init_vtable_009d54e0 ui_events Initializes callback: sets vtable PTR_FUN_0114944c, copies parent ptr from this+4. 0x009D5500 22 UICallback__init_vtable_009d5500 ui_events Initializes callback: sets vtable PTR_FUN_011493dc, copies parent ptr from this+4. 0x009D5520 22 UICallback__init_vtable_009d5520 ui_events Callback vtable initializer, 22-byte pattern: sets vtable + copies parent pointer. 0x009D5540 22 UICallback__init_vtable_009d5540 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5560 22 UICallback__init_vtable_009d5560 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5580 22 UICallback__init_vtable_009d5580 ui_events Callback vtable initializer, 22-byte pattern. 0x009D55A0 22 UICallback__init_vtable_009d55a0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D55C0 22 UICallback__init_vtable_009d55c0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D55E0 22 UICallback__init_vtable_009d55e0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5600 22 UICallback__init_vtable_009d5600 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5620 22 UICallback__init_vtable_009d5620 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5640 22 UICallback__init_vtable_009d5640 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5660 22 UICallback__init_vtable_009d5660 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5680 22 UICallback__init_vtable_009d5680 ui_events Callback vtable initializer, 22-byte pattern. 0x009D56A0 22 UICallback__init_vtable_009d56a0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D56C0 22 UICallback__init_vtable_009d56c0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D56E0 22 UICallback__init_vtable_009d56e0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5700 22 UICallback__init_vtable_009d5700 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5720 22 UICallback__init_vtable_009d5720 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5740 22 UICallback__init_vtable_009d5740 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5760 22 UICallback__init_vtable_009d5760 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5780 22 UICallback__init_vtable_009d5780 ui_events Callback vtable initializer, 22-byte pattern. 0x009D57A0 22 UICallback__init_vtable_009d57a0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D57C0 22 UICallback__init_vtable_009d57c0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D57E0 22 UICallback__init_vtable_009d57e0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5800 22 UICallback__init_vtable_009d5800 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5820 22 UICallback__init_vtable_009d5820 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5840 22 UICallback__init_vtable_009d5840 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5860 22 UICallback__init_vtable_009d5860 ui_events Callback vtable initializer, 22-byte pattern. 0x009D5880 68 UICallback__scalar_deleting_dtor_009d5880 ui_events Callback scalar deleting destructor: frees 8-byte callback object if param_2 is non-zero. 0x009D58D0 68 UICallback__scalar_deleting_dtor_009d58d0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5920 68 UICallback__scalar_deleting_dtor_009d5920 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5970 68 UICallback__scalar_deleting_dtor_009d5970 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D59C0 68 UICallback__scalar_deleting_dtor_009d59c0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5A10 68 UICallback__scalar_deleting_dtor_009d5a10 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5A60 68 UICallback__scalar_deleting_dtor_009d5a60 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5AB0 68 UICallback__scalar_deleting_dtor_009d5ab0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5B00 68 UICallback__scalar_deleting_dtor_009d5b00 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5B50 68 UICallback__scalar_deleting_dtor_009d5b50 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5BA0 68 UICallback__scalar_deleting_dtor_009d5ba0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5BF0 68 UICallback__scalar_deleting_dtor_009d5bf0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5C40 68 UICallback__scalar_deleting_dtor_009d5c40 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5C90 68 UICallback__scalar_deleting_dtor_009d5c90 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5CE0 68 UICallback__scalar_deleting_dtor_009d5ce0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5D30 68 UICallback__scalar_deleting_dtor_009d5d30 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5D80 68 UICallback__scalar_deleting_dtor_009d5d80 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5DD0 68 UICallback__scalar_deleting_dtor_009d5dd0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5E20 68 UICallback__scalar_deleting_dtor_009d5e20 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5E70 68 UICallback__scalar_deleting_dtor_009d5e70 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5EC0 68 UICallback__scalar_deleting_dtor_009d5ec0 ui_events Callback scalar deleting destructor: frees 8-byte callback object if param_2 is non-zero. 0x009D5F10 68 UICallback__scalar_deleting_dtor_009d5f10 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5F60 68 UICallback__scalar_deleting_dtor_009d5f60 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D5FB0 68 UICallback__scalar_deleting_dtor_009d5fb0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D6000 68 UICallback__scalar_deleting_dtor_009d6000 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D6050 68 UICallback__scalar_deleting_dtor_009d6050 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D60A0 68 UICallback__scalar_deleting_dtor_009d60a0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D60F0 68 UICallback__scalar_deleting_dtor_009d60f0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D6140 68 UICallback__scalar_deleting_dtor_009d6140 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D6190 68 UICallback__scalar_deleting_dtor_009d6190 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D61E0 68 UICallback__scalar_deleting_dtor_009d61e0 ui_events Callback scalar deleting destructor: frees 8-byte object if param_2 is non-zero. 0x009D6270 20 callback_wrapper_009d6270 game_core Callback wrapper: dereferences param_1[0] and passes to UIControl__update_text_and_notify_parent_009dc140. 0x009D62B0 65 UIComponent__set_selected_via_parent_009d62b0 ui_framework Highlights selected child via parent reference at offset 4. Dereferences param_2 to get target item, iterates parent's children vector, calls vtable+0xdc on each with match comparison. 0x009D6300 65 UIComponent__set_selected_via_parent_009d6300 ui_framework Highlights selected child via parent ref. Identical to 009d62b0. 0x009D6350 65 UIComponent__set_selected_via_parent_009d6350 ui_framework Highlights selected child via parent ref. Identical to 009d62b0. 0x009D63A0 65 UIComponent__set_selected_via_parent_009d63a0 ui_framework Highlights selected child via parent ref. Identical to 009d62b0. 0x009D63F0 20 callback_wrapper_009d63f0 game_core Simple 20-byte callback wrapper: dereferences param_1 and passes to UIControl__forward_value_to_parent. 0x009D6410 140 UIListBox__scroll_update_visibility_009d6410 ui_events Updates list item visibility based on scroll position. Iterates linked list of items, hides items outside visible range, shows and repositions items within range. Scroll offset from param_2, parent reference at this+4. 0x009D64A0 140 UIListBox__scroll_update_visibility_009d64a0 ui_events Identical to 009d6410: updates list item visibility based on scroll position. 0x009D6530 20 callback_wrapper_009d6530 game_core Simple 20-byte callback wrapper: dereferences param_1 and passes to UIListBox__layout_items_from_scroll. 0x009D6550 20 callback_wrapper_009d6550 game_core Simple 20-byte callback wrapper: dereferences param_1 and forwards. 0x009D6570 20 callback_wrapper_009d6570 game_core Simple 20-byte callback wrapper: dereferences param_1 and forwards. 0x009D6590 20 callback_wrapper_009d6590 game_core Simple 20-byte callback wrapper: dereferences param_1 and forwards. 0x009D65B0 23 callback_with_param_009d65b0 game_core Callback wrapper with extra param: dereferences param_1, passes it and param_2 to FUN_009dc210. 0x009D65D0 23 callback_with_param_009d65d0 game_core 23-byte callback wrapper with extra parameter. 0x009D65F0 23 callback_with_param_009d65f0 game_core 23-byte callback wrapper with extra parameter. 0x009D6610 216 UIListBox__on_item_click_009d6610 ui_events Handles item click in list box. If not disabled (flag at parent+0xc4), iterates children to deselect all except clicked item (vtable+0xd8). Then selects clicked item, updates selection index from RTTI-cast to get item index at +0x94, and if a click handler exists at parent+0x10c, invokes it with selected data from linked list. 0x009D66F0 216 UIListBox__on_item_click_009d66f0 ui_events Identical to 009d6610: handles list box item click, deselects others, selects clicked, invokes handler. 0x009D67D0 216 UIListBox__on_item_click_009d67d0 ui_events Identical to 009d6610: handles list box item click. 0x009D68B0 216 UIListBox__on_item_click_009d68b0 ui_events Identical to 009d6610: handles list box item click. 0x009D6990 23 callback_with_param_009d6990 game_core 23-byte callback wrapper with extra parameter: forwards to null_stub (no-op handler). 0x009D69B0 23 callback_with_param_009d69b0 game_core 23-byte callback wrapper with extra parameter. 0x009D69D0 23 callback_with_param_009d69d0 game_core 23-byte callback wrapper with extra parameter. 0x009D69F0 23 callback_with_param_009d69f0 game_core 23-byte callback wrapper with extra parameter. 0x009D6A10 23 callback_with_param_009d6a10 game_core 23-byte callback wrapper with extra parameter. 0x009D6C30 3 identity_passthrough_009d6c30 crt Identity function that returns its parameter unchanged 0x009D6C40 3 identity_passthrough_009d6c40 crt Returns parameter unchanged; identity function stub 0x009D6C50 3 identity_passthrough_009d6c50 crt Returns input parameter unchanged; identity function 0x009D6C60 3 identity_passthrough_009d6c60 crt Returns input parameter unchanged; identity function stub 0x009D6C70 517 STL_tree_val__Insert_node_009d6c70 stl STL std::_Tree_val::_Insert_node, inserts a node into a red-black tree and rebalances. Library function (VS2019). Matches multiple template instantiations (uint, string, PCTableEntry). 0x009D6E80 517 STL_tree_val__Insert_node_009d6e80 stl STL std::_Tree_val::_Insert_node, inserts a node into a red-black tree and rebalances. Library function (VS2019). Duplicate instantiation of same template. 0x009D7090 22 UICallback__init_vtable_009d7090 ui_events Callback vtable initializer, 22-byte pattern. 0x009D70B0 22 UICallback__init_vtable_009d70b0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D70D0 22 UICallback__init_vtable_009d70d0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D70F0 22 UICallback__init_vtable_009d70f0 ui_events Callback vtable initializer, 22-byte pattern. 0x009D7110 22 UICallback__init_vtable_009d7110 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7130 22 UICallback__init_vtable_009d7130 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7150 22 UICallback__init_vtable_009d7150 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7170 22 UICallback__init_vtable_009d7170 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7190 22 UICallback__init_vtable_009d7190 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D71B0 22 UICallback__init_vtable_009d71b0 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D71D0 22 UICallback__init_vtable_009d71d0 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D71F0 22 UICallback__init_vtable_009d71f0 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7210 22 UICallback__init_vtable_009d7210 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7230 22 UICallback__init_vtable_009d7230 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7250 22 UICallback__init_vtable_009d7250 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7270 22 UICallback__init_vtable_009d7270 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7290 22 UICallback__init_vtable_009d7290 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D72B0 22 UICallback__init_vtable_009d72b0 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D72D0 22 UICallback__init_vtable_009d72d0 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D72F0 22 UICallback__init_vtable_009d72f0 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7310 22 UICallback__init_vtable_009d7310 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7330 22 UICallback__init_vtable_009d7330 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7350 22 UICallback__init_vtable_009d7350 ui_events UICallback vtable initializer, 22-byte pattern. Sets vtable pointer and copies parent reference at offset +4. 0x009D7370 22 std__any__init_vtable_009d7370 stl std::any vtable initializer. Sets vtable pointer from PTR_FUN_01149644 and copies member at offset +4. 0x009D7390 22 std__any__init_vtable_009d7390 stl std::any vtable initializer. Sets vtable pointer from PTR_FUN_0114960c and copies member at offset +4. 0x009D73B0 22 std__any__init_vtable_009d73b0 stl std::any vtable initializer. Sets vtable pointer from PTR_FUN_0114936c and copies member at offset +4. 0x009D73D0 22 std__any__init_vtable_009d73d0 stl std::any vtable initializer. Sets vtable pointer from PTR_FUN_01149484 and copies member at offset +4. 0x009D73F0 22 std__any__init_vtable_009d73f0 stl std::any vtable initializer. Sets vtable pointer from PTR_FUN_01149430 and copies member at offset +4. 0x009D7410 22 std__any__init_vtable_009d7410 stl std::any vtable initializer. Sets vtable pointer from PTR_FUN_011493c0 and copies member at offset +4. 0x009D7430 22 std__any__init_vtable_009d7430 stl std::any vtable initializer. Sets vtable pointer from PTR_FUN_01149388 and copies member at offset +4. 0x009D7450 22 std__any__init_vtable_009d7450 stl std::any vtable initializer. Sets vtable pointer from PTR_FUN_011494f4 and copies member at offset +4. 0x009D7470 341 std__any__swap_009d7470 stl std::any::swap implementation. Swaps the contained values of two std::any objects. Uses vtable virtual calls for move construction and destruction when either any holds a small-buffer-optimized value. 0x009D75D0 341 std__any__swap_009d75d0 stl std::any::swap implementation. Swaps the contained values of two std::any objects. Uses vtable virtual calls for move construction and destruction when either any holds a small-buffer-optimized value. 0x009D7730 341 std__any__swap_009d7730 stl std::any::swap implementation. Swaps the contained values of two std::any objects. Uses vtable virtual calls for move construction and destruction when either any holds a small-buffer-optimized value. 0x009D7890 341 std__any__swap_009d7890 stl std::any::swap implementation. Swaps the contained values of two std::any objects. 0x009D79F0 341 std__any__swap_009d79f0 stl std::any::swap implementation. Swaps the contained values of two std::any objects. 0x009D7B50 341 std__any__swap_009d7b50 stl std::any::swap implementation. Swaps the contained values of two std::any objects. 0x009D7CB0 341 std__any__swap_009d7cb0 stl std::any::swap implementation. Swaps the contained values of two std::any objects. 0x009D7E10 341 std__any__swap_009d7e10 stl std::any::swap implementation. Swaps the contained values of two std::any objects. 0x009D7F70 341 std__any__swap_009d7f70 stl std::any::swap implementation. Swaps the contained values of two std::any objects. 0x009D82C0 10 thunk_to_std__Xlength_error_009d82c0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x009D82D0 10 thunk_to_std__Xlength_error_009d82d0 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x009D82E0 10 thunk_to_std__Xlength_error_009d82e0 stl Calls std::_Xlength_error with vector_too_long error message 0x009D82F0 10 thunk_to_std__Xlength_error_009d82f0 stl Calls std::_Xlength_error with vector_too_long message 0x009D8300 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x009D8340 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x009D8380 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x009D83C0 62 deallocate stl STL allocator::deallocate. Frees memory, handling aligned blocks (>0xFFF bytes) specially. 0x009D8400 103 std__tree__destroy_nodes_009d8400 stl Recursively destroys tree nodes (std::_Tree). Traverses left subtree via recursion, then walks right via iteration. Frees each node (0x18 bytes) via operator delete. 0x009D8470 103 std__tree__destroy_nodes_009d8470 stl Recursively destroys tree nodes (std::_Tree). Same pattern as 009d8400 but for a different tree instantiation. Frees each node (0x18 bytes). 0x009D84E0 445 std__tree__find_hint_009d84e0 stl std::_Tree find with hint for std::set. Given a hint iterator and a key, finds the correct insertion point. Returns a 3-field result: node pointer, direction (0=left, 1=right, 2=at), and found flag. 0x009D86A0 516 std__tree__find_insert_hint_009d86a0 stl std::_Tree find/insert with hint for std::set. Extended version that handles predecessor/successor comparison for optimal insertion. Falls back to lower_bound search via 009d88b0. 0x009D88B0 75 std__tree__lower_bound_009d88b0 stl std::_Tree lower_bound for std::set. Walks tree from root comparing keys, tracking the last node where key <= search value. Returns result with node, direction, and parent. 0x009D8900 142 linked_list__destroy_with_string_009d8900 stl Destroys a singly-linked list. Sets tail to null, iterates each node calling CFmt cleanup, destroying one STL string, then freeing node (0x40 bytes). 0x009D8990 154 linked_list__destroy_with_two_strings_009d8990 stl Destroys a singly-linked list. Sets tail to null, iterates each node calling CFmt cleanup, destroying two STL strings, then freeing node (0x5c bytes). 0x009D8A70 153 find_first_not_of_charset_009d8a70 game_core Finds the first character in buffer[param_3..param_2] that is NOT in the character set defined by param_4 (length param_5). Builds a 256-byte lookup table. Returns index or -1 if not found. Similar to std::string::find_first_not_of. 0x009D8B10 436 std__set__range_insert_with_filter_009d8b10 stl Iterates a tree range [param_2, param_3), filters nodes via CPacketSerializer bulk_processor, and inserts matching ones into the destination set. Allocates 0x38-byte nodes with string copy. Uses find_hint for insertion. 0x009D8CD0 161 packet_node__copy_ctor_009d8cd0 game_core Copy constructor for a packet node struct (0x38 bytes). Copies scalar fields, then copy-constructs one STL string and one CPacketQueue member. Final field at offset 0xd*4 is also copied. 0x009D8D80 168 packet_node__copy_ctor_009d8d80 game_core Copy constructor for a larger packet node struct (0x54 bytes). Copies scalar fields, then copy-constructs two STL strings and one CPacketQueue member. Final field at offset 0x14*4 is also copied. 0x009D8E30 282 UITextWindow__ctor_009d8e30 game_core Constructor for a UITextWindow class (inherits UIWindowBase). Sets vtable to 0114bc04. Initializes text colors (white=0xffffff, grey=0xcecece), alignment, and display properties. Has fields for text rendering state. 0x009D8F50 143 UIControl__ctor_009d8f50 ui_framework Constructor for a UIControl class. Calls base constructor at 00a79a90, sets UIBase vtable, then sets own vtable to 0114b158. Initializes 4 zero fields at offsets 0x20-0x23. 0x009D8FE0 146 UIControl__ctor_009d8fe0 ui_framework Constructor for a UIControl class. Calls base constructor at 00a79a90, sets vtable chain (UIBase -> intermediate 0114b31c -> final 0114b3fc). Initializes 3 zero fields. 0x009D9080 197 UIEditBox__ctor_009d9080 ui_events Constructor for a UIEditBox-like control. Calls base at 00a79a90, sets vtable to 0114b954. Initializes SSO string buffer (capacity 0xf), caret position (-1), and 4 zero state fields. 0x009D9150 201 UIListBox__ctor_009d9150 ui_events Constructor for a UIListBox-like control. Calls larger base ctor at 009efc30, sets vtable to 0114b86c. Initializes scroll state, selection index (-1), item height (0x15), SSO string buffer (capacity 0xf). 0x009D9220 173 UIControl__ctor_with_string_009d9220 ui_framework Constructor for a UIControl with an embedded string. Calls base at 00a79a90, sets vtable to 0114b78c. Initializes 3 zero fields and an SSO string buffer (capacity 0xf). 0x009D92D0 134 UIDropDownList__ctor ui_events Constructor for UIDropDownList. Calls base ctor at 009efc30, sets vtable to 0114b6a4. Initializes 5 zero state fields at offsets 0x3a-0x3e. 0x009D9360 183 UIControl__ctor_with_string_009d9360 ui_framework Constructor for a UIControl with an embedded string. Calls base at 00a79a90, sets vtable to 0114b5c4. Initializes 4 zero fields and an SSO string buffer (capacity 0xf). 0x009D9420 175 UIListControl__ctor_009d9420 game_core Constructor for a UIListControl. Calls larger base ctor at 009efc30, sets vtable to 0114b4dc. Initializes list state fields, SSO string buffer (capacity 0xf), and a trailing zero field. 0x009D94D0 124 UIControl__ctor_009d94d0 ui_framework Constructor for a UIControl. Calls larger base ctor at 009efc30, sets vtable to 0114ba34. Initializes 4 zero state fields at offsets 0x3a-0x3d. 0x009D9550 175 UIControl__ctor_009d9550 ui_framework Constructor for a UIControl. Calls base at 009efc30, sets vtable to 0114bb1c. Initializes state fields, SSO string (capacity 0xf), item count default 7, and 2 trailing zeros. 0x009D9600 104 UIControl__ctor_009d9600 ui_framework Constructor for a UIControl. Calls base at 009efc30, sets vtable to 0114b234. Initializes 2 zero state fields at offsets 0x3a-0x3b. 0x009D9670 67 std__any__delete_small_009d9670 stl std::any destructor helper. Frees the heap-allocated object at offset+4 (0xc bytes) if non-null. 0x009D96C0 67 std__any__delete_small_009d96c0 stl std::any destructor helper. Frees the heap-allocated object at offset+4 (0xc bytes) if non-null. 0x009D9710 67 std__any__delete_009d9710 stl std::any destructor helper. Frees the heap-allocated object at offset+4 (0x38 bytes) if non-null. 0x009D9760 67 std__any__delete_009d9760 stl std::any destructor helper. Frees the heap-allocated object at offset+4 (0x40 bytes) if non-null. 0x009D97B0 67 std__any__delete_009d97b0 stl std::any destructor helper. Frees the heap-allocated object at offset+4 (0x2c bytes) if non-null. 0x009D9800 67 std__any__delete_009d9800 stl std::any destructor helper. Frees the heap-allocated object at offset+4 (0x5c bytes) if non-null. 0x009D9850 67 std__any__delete_009d9850 stl std::any destructor helper. Frees the heap-allocated object at offset+4 (0x18 bytes) if non-null. 0x009D98A0 78 std__any__delete_009d98a0 stl std::any destructor helper. Frees the heap-allocated object at offset+4 (0xc bytes) if non-null. 0x009D98F0 78 std__any__delete_009d98f0 stl std::any destructor helper. Frees heap-allocated object at offset+4 (0xc bytes) if non-null. 0x009D9940 129 std__any__destroy_with_strings_009d9940 stl std::any destructor for a type containing 2 STL strings. Destroys strings, then frees heap object (0x38 bytes) at offset+4. 0x009D99D0 140 std__any__destroy_with_fmt_string_009d99d0 stl std::any destructor for a type containing CFmt + STL string. Calls CFmt cleanup, then destroys string, then frees heap object (0x40 bytes). 0x009D9A60 129 std__any__destroy_with_fmt_string_009d9a60 stl std::any destructor for a type containing CFmt + STL string. Calls CFmt cleanup, destroys string, frees heap object (0x2c bytes). 0x009D9AF0 152 std__any__destroy_with_fmt_two_strings_009d9af0 stl std::any destructor for a type containing CFmt + 2 STL strings. Calls CFmt cleanup, destroys both strings, frees heap object (0x5c bytes). 0x009D9B90 102 linked_list__destroy_simple_009d9b90 stl Destroys a singly-linked list of simple nodes. Clears head/tail pointers, then walks the list freeing each 0xc-byte node. 0x009D9C10 111 std__set__clear_and_destroy_009d9c10 stl Clears and destroys an std::set (tree). Recursively destroys all nodes via std__tree__destroy_nodes_009d8400, then frees the sentinel node (0x18 bytes). 0x009D9C90 111 std__set__clear_and_destroy_009d9c90 stl Clears and destroys an std::set (tree). Recursively destroys all nodes via std__tree__destroy_nodes_009d8470, then frees the sentinel node (0x18 bytes). 0x009D9D10 78 std__any__delete_009d9d10 stl std::any destructor helper. Frees heap-allocated object at offset+4 (0x18 bytes) if non-null. 0x009D9D60 78 std__any__delete_009d9d60 stl std::any destructor helper. Frees heap-allocated object at offset+4 (0x18 bytes) if non-null. 0x009D9DB0 165 linked_list__destroy_with_string_009d9db0 stl Destroys a linked list with CFmt+string nodes. Walks list freeing each 0x3c-byte node after cleaning up CFmt and one STL string. Also frees the sentinel/head node. 0x009D9E60 177 linked_list__destroy_with_two_strings_009d9e60 stl Destroys a linked list with CFmt+2 strings per node. Walks list freeing each 0x58-byte node after cleaning up CFmt and two STL strings. Also frees the sentinel/head node. 0x009D9F20 126 std__set__clear_and_destroy_009d9f20 stl Clears and destroys an std::set (tree). Same as 009d9c10, recursively destroys nodes then frees sentinel. 0x009D9FA0 65 std__set__dtor_wrapper_009d9fa0 stl Wrapper that calls std__set__clear_and_destroy_009d9c90 to destroy an std::set. 0x009D9FF0 100 node__dtor_fmt_and_string_009d9ff0 game_core Destructor for a node containing CFmt + one STL string. Calls CFmt cleanup then destroys the string. 0x009DA060 86 node__dtor_fmt_and_string_009da060 game_core Destructor for a node containing CFmt + one STL string. Calls CFmt cleanup then destroys the string. Similar to 009d9ff0 with different unwind index. 0x009DA0C0 112 node__dtor_fmt_and_two_strings_009da0c0 game_core Destructor for a node containing CFmt + two STL strings. Calls CFmt cleanup then destroys both strings. 0x009DA130 71 UITextWindow__dtor_009da130 game_core Destructor for UITextWindow. Sets vtable back to 0114bc04, then calls CUIWindow__dtor_save_position to clean up the base window. 0x009DA180 84 UIControl__dtor_009da180 ui_framework Destructor for UIControl (vtable 0114b158). Sets vtable chain back to UIBase, then calls base destructor at 00a79e90. 0x009DA1E0 84 UIControl__dtor_009da1e0 ui_framework Destructor for UIControl (vtable 0114b3fc). Sets vtable chain back to UIBase, then calls base destructor at 00a79e90. 0x009DA240 108 UIEditBox__dtor_009da240 ui_events Destructor for UIEditBox (vtable 0114b954). Destroys embedded string, reverts to UIBase vtable, calls base dtor. 0x009DA2B0 95 UIListBox__dtor_009da2b0 ui_events Destructor for UIListBox (vtable 0114b86c). Destroys embedded string, then calls base destructor chain via 009da310. 0x009DA310 266 UIControlBase__dtor_009da310 ui_framework Base destructor for UI controls with tree/any members. Sets vtable to 0114af94, destroys two std::any objects (at offsets 0x39 and 0x2f), clears an std::set, reverts to UIBase vtable, calls base dtor. 0x009DA420 108 UIControl__dtor_with_string_009da420 ui_framework Destructor for UIControl (vtable 0114b78c). Destroys embedded string, reverts to UIBase vtable, calls base dtor. 0x009DA490 71 UIControl__dtor_009da490 ui_framework Destructor for UIControl (vtable 0114b6a4). Sets vtable, then calls UIControlBase__dtor_009da310 for cleanup. 0x009DA4E0 78 UIControl__dtor_base_only_009da4e0 ui_framework Simple UIControl destructor that just reverts to UIBase vtable and calls base dtor at 00a79e90. 0x009DA530 108 UIControl__dtor_with_string_009da530 ui_framework Destructor for UIControl (vtable 0114b5c4). Destroys embedded string, reverts to UIBase vtable, calls base dtor. 0x009DA5A0 95 UIListControl__dtor_009da5a0 game_core Destructor for UIListControl (vtable 0114b4dc). Destroys embedded string, then calls UIControlBase__dtor_009da310 for full cleanup. 0x009DA600 71 UIControl__dtor_009da600 ui_framework Destructor for UIControl (vtable 0114ba34). Sets vtable, then calls UIControlBase__dtor_009da310. 0x009DA650 95 UIControl__dtor_with_string_009da650 ui_framework Destructor for UIControl (vtable 0114bb1c). Destroys embedded string, then calls UIControlBase__dtor_009da310. 0x009DA6B0 71 UIControl__dtor_009da6b0 ui_framework Destructor for UIControl (vtable 0114b234). Sets vtable then calls UIControlBase__dtor_009da310. 0x009DA700 83 operator++ stl STL red-black tree iterator increment (operator++). Moves to the next in-order node. 0x009DA760 99 UITextWindow__scalar_deleting_dtor_009da760 game_core Scalar deleting destructor for UITextWindow (0xfc bytes). Sets vtable to 0114bc04, calls base dtor, optionally frees memory. 0x009DA7D0 112 UIControl__scalar_deleting_dtor_009da7d0 ui_framework Scalar deleting destructor for UIControl (0x90 bytes, vtable 0114b158). Calls base dtor, optionally frees memory. 0x009DA840 38 CUIWindow__scalar_deleting_dtor_009da840 game_core Scalar deleting destructor for a CUIWindow (0xd8 bytes). Calls CUIWindow__dtor_save_position, optionally frees memory. 0x009DA870 112 UIControl__scalar_deleting_dtor_009da870 ui_framework Scalar deleting destructor for UIControl (0x8c bytes, vtable 0114b3fc). Calls base dtor, optionally frees memory. 0x009DA8E0 132 UIEditBox__scalar_deleting_dtor_009da8e0 ui_events Scalar deleting destructor for UIEditBox (0xa8 bytes, vtable 0114b954). Destroys string, calls base dtor, optionally frees memory. 0x009DA970 119 UIListBox__scalar_deleting_dtor_009da970 ui_events Scalar deleting destructor for UIListBox (0x120 bytes, vtable 0114b86c). Destroys string, calls UIControlBase dtor, optionally frees memory. 0x009DA9F0 38 UIControlBase__scalar_deleting_dtor_009da9f0 ui_framework Scalar deleting destructor for UIControlBase (0xe8 bytes). Calls UIControlBase__dtor_009da310, optionally frees memory. 0x009DAA20 132 UIControl__scalar_deleting_dtor_009daa20 ui_framework Scalar deleting destructor for UIControl (0xa0 bytes, vtable 0114b78c). Destroys string, calls base dtor, optionally frees memory. 0x009DAAB0 99 UIControl__scalar_deleting_dtor_009daab0 ui_framework Scalar deleting destructor for UIControl (0x100 bytes, vtable 0114b6a4). Calls UIControlBase dtor, optionally frees memory. 0x009DAB20 106 UIControl__scalar_deleting_dtor_009dab20 ui_framework Scalar deleting destructor for UIControl (0x80 bytes). Sets UIBase vtable, calls base dtor, optionally frees memory. 0x009DAB90 132 UIControl__scalar_deleting_dtor_009dab90 ui_framework Scalar deleting destructor for UIControl (0xa4 bytes, vtable 0114b5c4). Destroys string, calls base dtor, optionally frees memory. 0x009DAC20 119 UIListControl__scalar_deleting_dtor_009dac20 game_core Scalar deleting destructor for UIListControl (0x118 bytes, vtable 0114b4dc). Destroys string, calls UIControlBase dtor, optionally frees memory. 0x009DACA0 99 UIControl__scalar_deleting_dtor_009daca0 ui_framework Scalar deleting destructor for UIControl (0xf8 bytes, vtable 0114ba34). Calls UIControlBase dtor, optionally frees memory. 0x009DAD10 119 UIControl__scalar_deleting_dtor_009dad10 ui_framework Scalar deleting destructor for UIControl (0x118 bytes, vtable 0114bb1c). Destroys string, calls UIControlBase dtor, optionally frees memory. 0x009DAD90 99 UIControl__scalar_deleting_dtor_009dad90 ui_framework Scalar deleting destructor for UIControl (0xf0 bytes, vtable 0114b234). Calls UIControlBase dtor, optionally frees memory. 0x009DAE00 271 UIListBox__add_item_009dae00 ui_events Adds an item to a UIListBox's doubly-linked list. Allocates 0x40-byte node via packet_node copy ctor. Checks max size (0x3ffffff). If param_3 is true, updates scroll/layout. Returns new item index (count-1). 0x009DAF10 303 UIListBox__add_item_with_string_009daf10 ui_events Adds an item to a UIListBox's doubly-linked list. Allocates 0x2c-byte node with STL string + CPacketQueue copy. Checks max size (0x5d1745d). Updates scroll/layout if param_3 is true. Returns new item index. 0x009DB040 271 UIListBox__add_item_large_009db040 ui_events Adds a large item to a UIListBox's doubly-linked list. Allocates 0x5c-byte node via packet_node copy ctor (2 strings variant). Updates scroll/layout if param_3 is true. Returns new item index. 0x009DB150 303 UIListBox__add_item_two_strings_009db150 ui_events Adds an item with two strings to a UIListBox's doubly-linked list. Allocates 0x38-byte node copying two STL strings. Checks max size (0x4924924). Updates scroll/layout if param_3 is true. Returns new item index. 0x009DB280 556 UIListBox__create_button_control_009db280 ui_events Creates a new button UIControl (0xf8 bytes, vtable 0114ba34) for a UIListBox. Initializes with base button ctor, sets state textures from parent, creates two event handlers, adds to child list, updates layout. 0x009DB4B0 607 UIListBox__create_button_with_string_009db4b0 ui_events Creates a new button UIControl (0x118 bytes, vtable 0114bb1c) with embedded string for a UIListBox. Initializes with button ctor, state textures, two event handlers, adds to child list, updates layout. 0x009DB720 461 UIControl__parse_action_string_009db720 ui_framework Parses an action string (from member at offset 0x8c). Splits by delimiter, extracts action name and two integer params (X,Y coords). Calls FUN_00b99030 with parsed action data. Falls back to error state if parsing fails. 0x009DB8F0 461 UIControl__parse_action_string_009db8f0 ui_framework Parses an action string (same pattern as 009db720). Splits string, extracts action name and two integer params. Calls FUN_00b99030 with parsed data. Identical structure, different instance. 0x009DBB80 292 UIControl__handle_click_open_window_009dbb80 ui_framework Click handler that parses action string to find comma-delimited window name. Looks up window by ID 0xcb (via FUN_00aa5f70/FUN_00a978d0), then calls virtual method at +0x94 to display it with params (0,6,499,0,0,0). Resets globals DAT_016fc5cc/DAT_016fc5d0. 0x009DBCB0 364 UIControl__handle_click_open_or_send_009dbcb0 ui_framework Click handler that parses action string. If FUN_00b9dbd0 returns false, falls back to sending packet 0x1091 via FUN_00b00f00/FUN_00aa9100. If true, looks up window ID 0xcb and calls virtual methods to display and configure it. 0x009DBE20 123 UIListBox__clear_items_009dbe20 ui_events Clears all items from a UIListBox with single-string nodes. Destroys linked list, resets head/tail pointers, sets count to 0, selection to -1, updates scroll/layout, marks dirty. 0x009DBEA0 123 UIListBox__clear_items_two_strings_009dbea0 ui_events Clears all items from a UIListBox with two-string nodes. Destroys linked list, resets head/tail pointers, sets count to 0, selection to -1, updates scroll/layout, marks dirty. 0x009DBFD0 219 std__set__insert_uint_009dbfd0 stl Inserts an unsigned int into an std::set. Calls _Find_lower_bound to find position, allocates a 0x14-byte tree node if not already present, then calls Insert_node to link it into the RB-tree. 0x009DC0B0 44 UIControl__forward_value_to_parent_009dc0b0 ui_framework Forwards a value from a child control to its parent. If param_2 is non-null, reads value at offset 0xf0 from param_2 and calls virtual method at +0xd8 on the parent (at offset 0x10c) with stored param at 0x108. 0x009DC0E0 3 null_stub_009dc0e0 crt Empty function that immediately returns, no operation performed 0x009DC0F0 69 UIControl__set_two_text_labels_009dc0f0 ui_framework Sets text on two UI text labels from a parameter struct containing two SSO strings. Reads strings at offsets 0 and +6 dwords, calling UITextLabel__assign_text_and_recalc for each. 0x009DC140 197 UIControl__update_text_and_notify_parent_009dc140 ui_framework Updates a text label from the control's own string at offset 0xf0, then notifies the parent via virtual call at +0xd8. Handles tab control selection logic - if a tab control exists, selects the appropriate tab and forwards the selected tab's value. 0x009DC210 88 UIControl__update_text_from_param_009dc210 ui_framework Updates the control's text from param_2's string at offset 0x108 (with SSO check at 0x11c). Enables/disables two child controls at offsets 0x84 and 0x88 based on whether the string is non-empty. 0x009DC270 80 UIControl__update_text_from_child_009dc270 ui_framework Updates text from a child object's string (at param_2+0xe8+0x98). Copies to own string at offset 0x88 if different. Enables/disables child control at 0x84 based on string length at 0x98. 0x009DC2C0 88 UIControl__update_text_from_param_alt_009dc2c0 ui_framework Updates control text from param_2's string at offset 0xf8 (SSO check at 0x10c). Enables/disables two child controls at 0x84 and 0x88 based on string non-emptiness. Same pattern as 009dc210 with different offsets. 0x009DC320 1017 UIItemInfo__populate_from_item_data_009dc320 game_core Populates a UI item info panel from item data. Gets item class/level, looks up item description, sets item name and icon text labels. Processes enchant/card slot info via FUN_009dfad0 and FUN_009def40. Clears and repopulates description text panel. Copies action string from param_3. 0x009DC720 74 UIItemInfo__refresh_description_009dc720 game_core Refreshes item description panel. Calls FUN_009dfcb0 to reload item data, clears the text panel, then re-appends all description lines from the item's text array (offset 0x18 to 0x1c in steps of 0x18). 0x009DC770 356 UIItemInfo__handle_item_type_display_009dc770 game_core Handles displaying item info based on item type (param_2+0x14*4). Type 1: normal item with enchant check. Type 3: similar but no enchant. Type 4: uses different display function. All types set description text, action string, and text panel content. 0x009DC910 43 UIControl__draw_with_icon_009dc910 ui_framework Draws a UI control with an icon. Calls UIButton__draw_background_map, then renders an icon at position (0xf4, 0xf8) with size 0x7c x 0x7c, type 0x10, alignment 2. 0x009DC950 1214 UIItemShop__build_item_list_009dc950 game_core Builds the item shop display list. Gets shop title via FUN_00b00f00(0xfd5). Iterates items from global DAT_0138cf2c, creates button controls for each item with text labels, item IDs, and sub-item trees. Handles enchantment filtering via std::set and packet processing. Creates nested sub-item buttons for items with children. 0x009DCE10 478 UIItemShop__display_header_info_009dce10 game_core Displays shop header info: formats and shows shop name from global, base/job level requirements using charconv format, and a class name string. Sets four text labels with formatted values. 0x009DCFF0 449 UIItemShop__populate_search_results_009dcff0 game_core Populates a UIListBox with search results from global item tree DAT_0138cf2c. Iterates the tree's in-order traversal, copies two strings per item into list nodes (0x38 bytes). Updates scrollbar after all items are added. Sets shop name text label. 0x009DD1D0 62 UIItemShop__hide_all_scrollbars_009dd1d0 game_core Hides all three scrollbars by calling UIScrollbar__disable_and_hide three times with param 1. 0x009DD210 1132 UIItemShop__process_packet_and_populate_009dd210 game_core Processes a packet via CPacketQueue and populates a list box with the results. Iterates received items, copies name string and description vector into 0x2c-byte list nodes. Updates scrollbar after population. Cleans up packet queue nodes when done. 0x009DD680 43 UIItemShop__hide_two_scrollbars_009dd680 game_core Hides two scrollbars by calling UIScrollbar__disable_and_hide twice with param 1. 0x009DD6C0 96 UIItemShop__toggle_panels_009dd6c0 game_core Toggles between two panels. Hides first panel's scrollbar and sets flag to 0, then calls its virtual update. Shows second panel's scrollbar and sets flag to 1, calls its virtual update. 0x009DD750 267 UIItemShop__search_by_category_009dd750 game_core Searches items by category. Gets item class/level, then builds a search filter bitmask based on item type (type 4: equipment slots 0-9 mapped to bits, type 5: level threshold). Opens window 0xc with the filter via virtual call +0x94. 0x009DD8D0 54 UITabControl__highlight_selected_009dd8d0 ui_events Iterates child controls in the tab control's list at offset 0xc4. For each child, calls virtual method +0xdc with a bool indicating whether it matches param_2 (the selected tab). 0x009DD910 54 UITabControl__highlight_selected_009dd910 ui_events Iterates child controls in the tab control's list at offset 0xc4. For each child, calls virtual method +0xdc with a bool indicating whether it matches param_2 (the selected tab). Same as 009dd8d0. 0x009DD950 74 UIListBox__update_scrollbar_009dd950 ui_events Updates the scrollbar for a UIListBox. Computes max value from item count * item height + offset, sets visible range from height, restores scroll position from stored value. Marks control as dirty. 0x009DD9A0 76 UIListBox__update_scrollbar_from_children_009dd9a0 ui_events Updates scrollbar by summing heights of all child controls in list at 0xc4. Each child's height is at offset +0x18. Sets scrollbar max, visible range, and restores position. 0x009DD9F0 76 UIListBox__update_scrollbar_from_children_009dd9f0 ui_events Updates scrollbar by summing heights of all child controls in list at 0xc4. Same as 009dd9a0, different instance. 0x009DDA50 1017 UIItemShop__query_and_populate_list_009dda50 game_core Queries items via CPacketQueue and populates a list box with single-string results. Clears existing list, processes packet with complex handler, iterates results creating 0x40-byte nodes via packet_node copy. Updates scrollbar, hides action buttons when done. 0x009DDE60 1453 UIItemShop__query_and_populate_list_extended_009dde60 game_core Extended version of query+populate that handles two-string list items (0x5c-byte nodes). Also inserts unavailable enchantment IDs into a global set (DAT_0138cf40+0x24) for tracking. Calls CPacketSystem__processor on type 1 results. Cleans up packet queue when done. 0x009DE410 172 UIControl__toggle_expand_and_resize_009de410 ui_framework Toggles an expand/collapse state on a UI control. Shows/hides child at 0x3b based on param_2 and child state. Resizes via virtual call +4 adding child height (offset 0x18) to base height (0x44). Uses RTDynamicCast to update parent scrollbar if applicable. 0x009DE4C0 146 UITabControl__select_tab ui_events Selects a tab: deactivates all others, activates selected, notifies callback via RTTI dynamic cast 0x009DE560 146 UITabControl__select_tab_009de560 ui_events Selects a tab in a tab control. If not locked (offset 0xd0), iterates all children at 0xc4 deselecting via +0xd8(0), then selects param_2 via +0xd8(1). RTDynamicCast validates, sets selected at 0xcc, notifies callback at 0xfc if set. 0x009DE600 56 UITabControl__select_first_tab_009de600 ui_events Selects the first tab in a tab control. Returns 0 if no tabs (count at 0xc8 is 0). Gets first child's data at +8, calls UITabControl__select_tab. Returns 1 if selection changed, 0 otherwise. 0x009DE640 56 UITabControl__select_first_tab_alt_009de640 ui_events Selects the first tab, same logic as 009de600 but calls FUN_009de560 variant. Returns 1 if changed, 0 otherwise. 0x009DE680 333 UIItemShop__find_and_enable_item_009de680 game_core Searches for an item by ID (param_2) in the parent's child list (0xc8-0xcc range). Copies the list to a local vector, then iterates looking for matching item ID at offset +0x110. When found, enables the child's control via virtual +0x38(1). 0x009DE7D0 1049 UIItemInfo__format_item_description_alt_009de7d0 game_core Formats and displays item description with regex parsing. Looks up item in tree, splits description text using regex patterns. Displays header as bold, body as normal text. Handles enchant data parsing with find_first_not_of_charset. Falls back to FUN_009e10c0 if entry not found. 0x009DEBF0 842 UIItemShop__highlight_item_by_id_009debf0 game_core Searches for and highlights an item by ID (param_2) in the item shop tree. Iterates parent tab control's children, for type-1 items checks sub-items in child lists. Also searches grandchild vectors via RTDynamicCast. Enables matching controls via virtual +0x38(1). 0x009DEF40 2950 CTextPanel__parse_and_populate_regex ui_framework Parses text content using regex to split lines at ^777777 color codes. For each input string from param_3 vector, builds a regex matcher, extracts matched groups, appends text lines to the text panel. Sets content type to 5 or 4 based on param_2. Uses STL regex infrastructure with locale-aware matching. Processes up to 7 input strings. 0x009DFAD0 471 UIItemInfo__display_enchant_status_009dfad0 game_core Displays enchantment/upgrade status in the item info panel. Takes 3 boolean flags. For each flag, sets text color (red 0xc86464 if true=equipped, blue 0x6464c8 if false) and appends a localized string (IDs 0xfc2-0xfc7) to the text panel. 0x009DFCB0 1573 CTextPanel__set_content_with_images ui_framework Sets text panel content with optional image support. Clears existing content, copies text string, checks if images should be loaded (via FUN_00b95b00). If images enabled, loads two image resources into fields 0xf4/0xf8, formats and appends three text lines with localized strings. 0x009E02E0 58 CTextPanel__set_lines_from_vector_009e02e0 ui_framework Clears the text panel then appends all text lines from a vector (param_1[0] to param_1[1], step 0x18 per entry). 0x009E0320 36 CTextPanel__set_single_line_009e0320 ui_framework Clears the text panel then appends a single text line from param_1. 0x009E0350 1042 UIItemInfo__format_item_description_009e0350 game_core Formats and displays item description with regex parsing (same pattern as 009de7d0 but uses 'Q' regex pattern instead). Looks up item, splits description into header/body using regex. Header shown in bold, body normal. Handles enchant data via find_first_not_of_charset. 0x009E0770 58 CTextPanel__set_lines_from_vector_009e0770 ui_framework Clears text panel and appends all lines from a vector. Same as 009e02e0, different instance. 0x009E07B0 58 CTextPanel__set_lines_from_vector_009e07b0 ui_framework Clears text panel and appends all lines from a vector. Same as 009e02e0, different instance. 0x009E07F0 44 CTextPanel__try_select_tab ui_framework Attempts to select a tab in the text panel. If param_2 is non-zero, calls UITabControl__select_tab. Returns 1 if the selected tab differs from current tab at offset 0xcc, 0 otherwise. 0x009E0820 44 CTextPanel__try_select_tab_alt ui_framework Alternate tab selection for text panel. Same logic as try_select_tab but uses the alternate UITabControl__select_tab variant. 0x009E0850 33 CTextPanel__set_both_scrollbar_values ui_framework Sets values on both scrollbar widgets at offsets 0x84 and 0x88 via virtual call at vtable+0x38. 0x009E0880 15 CTextPanel__set_single_scrollbar_value ui_framework Sets a value on the scrollbar widget at offset 0x84 via virtual call at vtable+0x38. 0x009E0890 33 CTextPanel__set_both_scrollbar_values_009e0890 ui_framework Sets values on both scrollbar widgets at offsets 0x84 and 0x88 via virtual call at vtable+0x38. Duplicate of 009e0850 for a different CTextPanel instance. 0x009E08C0 22 CTextPanel__create_iterator_a ui_framework Creates an iterator object for text panel. Sets vtable pointer and copies the panel's field[1] into the iterator's second field. 0x009E08E0 22 CTextPanel__create_iterator_b ui_framework Creates an alternate iterator object for text panel. Sets a different vtable pointer and copies field[1] into the iterator. 0x009E0900 22 CTextPanel__create_iterator_c ui_framework Creates iterator variant C for text panel. Sets vtable and copies field[1]. 0x009E0920 22 CTextPanel__create_iterator_d ui_framework Creates iterator variant D for text panel. Sets vtable and copies field[1]. 0x009E0940 68 CTextPanel__scalar_deleting_dtor_iter_a ui_framework Scalar deleting destructor for text panel iterator type A. If param_2 flag is set, frees the 8-byte iterator object. 0x009E0990 68 CTextPanel__scalar_deleting_dtor_iter_b ui_framework Scalar deleting destructor for text panel iterator type B. If param_2 flag is set, frees the 8-byte iterator object. 0x009E09E0 68 CTextPanel__scalar_deleting_dtor_iter_c ui_framework Scalar deleting destructor for text panel iterator type C. If param_2 flag is set, frees the 8-byte iterator object. 0x009E0A30 68 CTextPanel__scalar_deleting_dtor_iter_d ui_framework Scalar deleting destructor for text panel iterator type D. If param_2 flag is set, frees the 8-byte iterator object. 0x009E0A80 65 CTextPanel__notify_tab_children_selected ui_framework Notifies all tab children of selection change. Iterates the linked list at field[1]+0xc4, for each child calls virtual method at vtable+0xdc with a boolean indicating whether it matches the selected panel from param_2. 0x009E0AD0 65 CTextPanel__notify_tab_children_selected_009e0ad0 ui_framework Notifies all tab children of selection change. Same as 009e0a80 for a different CTextPanel instance. Iterates linked list at field[1]+0xc4, calls vtable+0xdc on each child. 0x009E0B20 20 CTextPanel__forward_tab_select ui_framework Forwards tab selection to UITabControl__select_tab. Dereferences param_1 to get the tab value and passes it through. 0x009E0B40 20 CTextPanel__forward_tab_select_alt ui_framework Forwards tab selection to UITabControl__select_tab_009de560 (alternate variant). Same as forward_tab_select but uses alt function. 0x009E0BA0 517 STL_tree_insert_node_009e0ba0 stl STL std::_Tree_val::_Insert_node. Inserts a new node into a red-black tree, maintains parent pointers, and rebalances via rotations. Handles both left and right child insertion. MSVC VS2019 library code. 0x009E0DB0 22 CTextPanel__create_iterator_a_alt ui_framework Alternate entry point for creating CTextPanel iterator type A. Uses same vtable (PTR_CTextPanel__create_iterator_a_0114bd40) as create_iterator_a at 009e08c0. Sets vtable pointer and copies field[1] into iterator. 0x009E0DD0 22 CTextPanel__create_iterator_b_alt ui_framework Creates CTextPanel iterator type B (alternate entry point). Sets vtable to PTR_CTextPanel__create_iterator_b and copies field[1] from source. 0x009E0DF0 22 CTextPanel__create_iterator_c_alt ui_framework Creates CTextPanel iterator type C (alternate entry point). Sets vtable to PTR_CTextPanel__create_iterator_c and copies field[1] from source. 0x009E0E10 22 CTextPanel__create_iterator_d_alt ui_framework Creates CTextPanel iterator type D (alternate entry point). Sets vtable to PTR_CTextPanel__create_iterator_d and copies field[1] from source. 0x009E0E70 129 std__vector_int_deallocate stl Deallocates std::vector buffer. Handles aligned deallocation for buffers >0xFFF bytes. Zeros out begin/end/capacity pointers. 0x009E0F00 92 std__vector_int_allocate_elements stl Allocates memory for vector elements. Multiplies count by 4 (sizeof int). Uses aligned allocation for sizes >0x1000. Throws bad_array_new_length if count >= 0x40000000. 0x009E0F60 206 std__string_find_last_not_of stl std::string::find_last_not_of implementation. Builds 256-byte character lookup table from search set (marking each byte as 0x01), then scans backward from position param_3 to find last character NOT in the set. Returns index or -1 (npos). 0x009E1030 144 std__sub_match_to_string stl Converts a std::sub_match to std::string. Checks the matched flag at offset+8; if matched, copies the character range [begin, end) into the output string. If not matched, returns an empty string. Used by regex match result extraction. 0x009E10C0 207 std__int_to_string stl Converts signed integer to std::string. Uses _UIntegral_to_buff to convert digits, prepends '-' for negative values. Initializes output as empty SSO string then assigns the result. 0x009E1190 103 std__tree_destroy_nodes_recursive stl Recursively destroys all nodes in a red-black tree. Walks right subtree recursively, then iterates left children, freeing each 0x18-byte node. Stops at sentinel (isNil flag at offset+0xD). 0x009E1200 75 std__tree_lower_bound stl std::_Tree lower_bound. Traverses red-black tree comparing key at node offset+0x10 against search key. Returns iterator pointing to first element not less than key. 0x009E1250 381 CMapContainer__ctor game_core Constructor for a map container class. Sets vtable, initializes 3 red-black tree containers (at offsets 0x66, 0x69, 0x6C) with sentinel nodes, then inserts keys 0, 1, 2 into a map. 0x009E13D0 67 std__tree_sentinel_dealloc_a stl Deallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected. 0x009E1420 67 std__tree_sentinel_dealloc_b stl Deallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected. Variant b. 0x009E1470 111 std__tree_destroy_all_nodes_a stl Destroys all nodes in a red-black tree. Iterates left children while recursively destroying right subtrees, frees each 0x18-byte node, then frees the sentinel. 0x009E14F0 78 std__tree_sentinel_dealloc_c stl Deallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected. Variant c. 0x009E1540 120 std__tree_destroy_with_resource_cleanup stl Destroys tree node with optional resource cleanup. If node exists and has a resource pointer at offset+0x14, calls CResource__release_ref first, then frees the 0x18-byte node. 0x009E15C0 78 std__tree_sentinel_dealloc_d stl Deallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected. Variant d. 0x009E1610 78 std__tree_sentinel_dealloc_e stl Deallocates a tree sentinel node (0x18 bytes) if non-null. SEH protected. Variant e. 0x009E1660 126 std__tree_destroy_all_nodes_b stl Destroys all nodes in a red-black tree variant. Same as tree_destroy_all_nodes_a but different exception handler. Iterates and frees all 0x18-byte tree nodes plus sentinel. 0x009E16E0 72 conditional_release_resource_009e16e0 game_core Conditionally releases a CResource. If pointer at object+4 is non-null, calls CResource__release_ref to decrement refcount and potentially free the resource. 0x009E1730 267 CMapContainer__dtor game_core CMapContainer destructor. Sets vtable, destroys 3 tree containers (string->sprite maps at offsets 0x66, 0x69, 0x6C) with optional string cleanup, then calls base class destructor. 0x009E1840 219 CMapContainer__base_dtor game_core Base destructor for CMapContainer. Sets vtable to UIDialog, destroys string at offset, destroys tree container, destroys 3 more strings, then calls UIDialog::dtor. 0x009E1920 101 smart_ptr_move_assign game_core Move-assigns a smart pointer. Swaps source into dest, releases old dest if non-null. SEH protected. 0x009E1990 263 std__map_int_insert_or_find stl std::map insert-or-find. Walks tree to find key; if not found and size < 0xAAAAAAA, allocates 0x18-byte node, sets key, and inserts via Insert_node. Returns pointer to value field. 0x009E1AA0 236 std__map_int_insert_or_find_with_lower_bound stl std::map insert-or-find using lower_bound. Finds insertion point via lower_bound, allocates node if key not found, inserts via Insert_node. Returns pointer to value field at node+0x14. 0x009E1B90 236 std__map_int_insert_or_find_with_lower_bound_b stl std::map insert-or-find variant b. Same logic as insert_or_find_with_lower_bound but for a different map instantiation. Returns pointer to value at node+0x14. 0x009E1C80 291 CMapContainer__scalar_deleting_dtor game_core CMapContainer scalar deleting destructor. Destroys 3 tree containers, calls base dtor. If bit 0 of param set, frees the 0x1C0-byte object. 0x009E1DB0 38 CMapContainer__base_scalar_deleting_dtor game_core Base class scalar deleting destructor. Calls base_dtor, then optionally frees the 400-byte object if bit 0 of param is set. 0x009E1DE0 60 CMapContainer__set_mode_and_update game_core Sets mode value at offset 0x65, notifies with code 6, then calls virtual methods at vtable+4 (resize), vtable+0x3C, and vtable+0x40 to update the UI. 0x009E1E20 361 UIButton__draw_text_label ui_events Draws button text label with color based on state. Normal(0)=gray D7D7D7, Pressed(1)=white with shadow, Hover(2)=golden C7A796. Disabled state uses gray text 6F6F6F with lighter shadow E2E2E2. Uses font size 0xC. 0x009E1F90 282 CMapContainer__render_background_tiles game_core Renders background tiles for CMapContainer. Sets blend color to purple, looks up sprite handles from 3 maps (keys 0,1,2 for left/middle/right), draws left sprite at (0,0), tiles middle sprites, draws right sprite at right edge, then calls virtual render method. 0x009E20B0 3109 UIButton__load_all_state_textures ui_events Loads all button state textures: out_left, press_left, over_left, disable_left (keys 0-3 and disabled at 0x1A0), out_mid, press_mid, over_mid, disable_mid (keys 0-2 and 0x1AC). Uses basic_interface_btn_*.bmp filenames. 0x009E2CE0 34 UIControl__on_move_and_invalidate ui_framework Handles UI control move event. Calls move handler, then invokes virtual invalidate method at vtable+0xD4 with param 0. 0x009E2D10 119 UIButton__set_text_and_resize ui_events Sets button text and auto-resizes. If text is empty, reverts to default size. If text set, measures text width (font 0xC) and expands width if text+8 exceeds current. Updates visibility and text position. 0x009E2D90 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances. 0x009E2FA0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances. 0x009E31B0 128 UIButton__render_background_sprite ui_events Renders button background sprite based on state. If a custom override sprite is active, renders it. Otherwise looks up state sprite from map (checked=1 override) and draws at (0,0). 0x009E3230 88 UIButton__toggle_checked_state ui_events Toggles checkbox checked state if not disabled. Plays click sound, toggles bool at offset 0x48, calls virtual update method, and notifies callback if registered. 0x009E3290 31 UIButton__check_and_close_dialog ui_events Checks if this button is the active dialog close button. Gets field 0x19C from UI manager; if it matches param_1, triggers dialog close. 0x009E32B0 78 std__tree_find_floor stl Red-black tree floor search: finds the last node whose key is <= the search key. Returns iterator to that node, or sentinel if all keys are greater. Used by UIButton to look up the highest state sprite index <= the current button state. 0x009E3300 130 UICheckbox__dtor game_core UICheckbox destructor. Sets vtable, if checked state (offset 0x15) is active, unregisters from UI manager and clears. Resets vtable to UIBase, calls UIBase dtor. 0x009E3390 154 UICheckbox__scalar_deleting_dtor game_core UICheckbox scalar deleting destructor. Same cleanup as dtor, then optionally frees the 0x84-byte object if bit 0 of param is set. 0x009E3430 39 UICheckbox__unregister_and_refresh game_core Unregisters checkbox from UI manager if registered (offset 0x15 non-zero). Clears registration, resets state, calls virtual refresh. 0x009E3460 36 UIControl__find_child_by_id ui_framework Searches linked list of child controls at offset 0x50 for a child matching the given ID. Returns true if found, false if end of list reached. 0x009E3490 58 UIControl__has_child_in_parent ui_framework Checks if a given child ID exists in the parent control's child list. Returns false if param_2 is 0 or parent (offset 0x80) is null. Delegates to find_child_by_id on parent. 0x009E3500 121 UIControl__attach_child_control ui_framework Attaches a child control. Searches child list to verify it's not already added. If not found, unregisters current, resizes to child dimensions+2, adds child, sets new registration, and refreshes. 0x009E3580 330 std__vector_0x24_emplace_with_realloc stl std::vector emplace with reallocation for 0x24-byte elements. Grows capacity by 1.5x (max 0x71C71C7 elements). Constructs new element at insert position, moves existing elements around it, replaces old buffer. 0x009E3700 333 std__vector_0x24_elem__reallocate_insert_009e3700 stl Reallocates a vector of 0x24-byte elements (containing STL strings) to insert a new element. Grows capacity using 1.5x strategy, copies/moves elements around the insertion point, and updates the vector pointers. 0x009E3880 208 std__vector_0x24_elem__uninitialized_move_range_009e3880 stl Move-constructs a range of 0x24-byte elements (each containing a 4-int header + STL string + 3 extra fields) from [param_1, param_2) into uninitialized memory at param_3. Transfers string ownership (nullifies source strings). 0x009E3950 150 std__vector_0x24_elem__default_construct_element_009e3950 stl Default-constructs a single 0x24-byte element in-place. Zeros out all fields including embedded STL string (sets capacity to 0xF for SSO). 0x009E39F0 103 std__vector_0x24_elem__copy_construct_element_009e39f0 stl Copy-constructs a 0x24-byte element at param_2 from source param_3. Copies the embedded STL string via STL_string_copy_construct, then copies 3 trailing fields (byte + 2 ints at offsets 0x18, 0x1C, 0x20). 0x009E3A60 798 CListBoxDialog__ctor_009e3a60 game_core Constructor for CListBoxDialog. Initializes base UI widget, sets vtable to PTR_FUN_0114c148, creates a child text/scroll component (0x200 bytes with vtable PTR_FUN_0114c054), copies display properties (colors, dimensions, flags) from the source param_2 object. 0x009E3D80 461 CListBoxItem__ctor_009e3d80 game_core Constructor for CListBoxItem (vtable PTR_FUN_0114c054). Initializes as a UI dialog child, sets up embedded STL string, default color (0x808080), flags, timestamps via _Xtime_get_ticks. Copies display properties from source param_2. 0x009E3F50 90 std__vector_0x24_elem__destroy_elements_009e3f50 stl Destroys all elements in a vector of 0x24-byte structs by iterating from begin to end and calling STL_string_dtor on each element's embedded string. 0x009E3FB0 197 std__vector_0x24_elem__clear_and_free_009e3fb0 stl Clears and frees a vector of 0x24-byte elements. Destroys each element's embedded STL string, then frees the backing buffer (with debug heap validation). Resets begin/end/capacity pointers to 0. 0x009E4080 141 CListBoxDialog__dtor_009e4080 game_core Destructor for CListBoxDialog. Sets vtable to PTR_FUN_0114c148, releases child component at offset 0x31 (calls virtual destructor), resets vtable to base PTR_FUN_0114875c, then destroys base class. 0x009E4110 110 CListBoxItem__dtor_009e4110 game_core Destructor for CListBoxItem (vtable PTR_FUN_0114c054). Clears the items vector via clear_and_free, destroys the embedded STL string, then destroys the UIComplexDialog base class. 0x009E4180 65 CListBoxItem__destroy_string_wrapper_009e4180 game_core Wrapper that destroys a single STL string with SEH frame setup. Simple cleanup helper. 0x009E41D0 165 CListBoxDialog__scalar_deleting_dtor_009e41d0 game_core Scalar deleting destructor for CListBoxDialog. Destroys child component at offset 0x31, destroys base class, then optionally frees memory (200 bytes) if param_2 bit 0 is set. 0x009E4280 134 CListBoxItem__scalar_deleting_dtor_009e4280 game_core Scalar deleting destructor for CListBoxItem. Sets vtable to PTR_FUN_0114c054, clears the items vector, destroys embedded string, destroys UIComplexDialog base, then optionally frees 0x200 bytes. 0x009E4330 152 CListBoxItem__update_text_display_009e4330 game_core Compares the current text (offset 0x65 string) with the cached text (offset 0x36 string). If different, updates the display: calls virtual method at vtable+0xD4 with the new text, sets color and shadow based on whether cached text is empty or not. 0x009E43D0 31 CListBoxDialog__reset_child_selection_009e43d0 game_core Resets the child list box item's selection state. Clears the selected flag (offset 0x190) and selection index (offset 0x18C), then calls the virtual invalidate/repaint method (vtable+0x98) on the child. 0x009E4410 463 CListBoxDialog__create_child_item_009e4410 game_core Creates a new CListBoxItem child widget (0x200 bytes, vtable PTR_FUN_0114c054) and assigns it to offset 0x9C. Initializes all fields including embedded string, colors, timestamp, flags. If param_4 is set, enables flag at offset 0x185. Calls layout/resize methods. 0x009E45E0 15 CListBoxItem__set_scroll_position_wrapper_009e45e0 game_core Simple wrapper that calls UITextWidget__set_scroll_position. Forwards scroll position to the underlying text widget. 0x009E45F0 108 CListBoxItem__draw_cursor_blink_009e45f0 game_core Draws the blinking text cursor. Calculates elapsed time since last cursor reset using _Xtime_get_ticks, divides into 500ms intervals. On even intervals (cursor visible), checks if cursor should be shown and draws it using the font at DAT_01133854 with the item's color (offset 0xA8). 0x009E4660 766 CListBoxItem__render_text_lines_009e4660 game_core Renders visible text lines in the list box item. Handles dirty flag reset, text alignment (left=default, right=2, center=6), selection highlighting, scrollbar interaction, word wrapping with link detection, shadow text rendering, and cursor positioning for the active/focused item. 0x009E4970 182 CListBoxItem__pixel_to_char_index_forward_009e4970 game_core Converts a pixel X offset to a character byte index within an STL string, scanning forward from the start. Uses CharNextExA for multi-byte character support and FUN_00a80580 for text width measurement. Returns the closest character boundary to the given pixel position. 0x009E4A30 229 CListBoxItem__pixel_to_char_index_reverse_009e4a30 game_core Converts a pixel X offset to a character byte index within an STL string, scanning backward from the end. Uses CharPrevExA for multi-byte character support. Returns byte offset from string start of the character closest to the given pixel distance from the end. 0x009E4B20 11 CListBoxItem__get_text_length_wrapper_009e4b20 game_core Simple wrapper that calls UIEditableTextWidget__get_text_length and returns the result. 0x009E4B50 12 UIControl__invalidate_from_root ui_framework Gets the root parent of the UI tree via CEffect__get_root_parent, then calls CEffect__invalidate_recursive to force a full repaint of the entire UI hierarchy. 0x009E4B60 17 CListBoxItem__on_focus_lost_009e4b60 game_core Focus lost handler for CListBoxItem. Calls UIEditBox__OnFocusLost then sets dirty flag at offset 0x1C8 to trigger redraw. 0x009E4B80 74 CListBoxItem__draw_border_009e4b80 game_core Draws the border of a CListBoxItem. If border thickness (offset 0x88) is positive, draws an inner border with the border color (offset 0x84) and fills the interior with the background color (offset 0x80). Otherwise just fills with the background color. 0x009E4BF0 131 CListBoxItem__handle_key_input_009e4bf0 game_core Handles keyboard input for the editable list box item. Processes: Backspace(8), Home(0x24), End(0x23), Left(0x25), Right(0x27), Delete(0x2E), Insert(0x2D), and Ctrl+A(0x41) for select-all. Checks for newline (0x0D0A) boundaries when moving left/right/deleting. Resets cursor blink timer on edit operations. 0x009E4F90 192 CListBoxItem__update_scrollbar_range_009e4f90 game_core Recalculates scrollbar range for the list box item. Computes visible line count from widget height and line spacing (offset 0x138), calculates max scroll offset, ensures cursor line is visible, updates scrollbar range/position via CUIScrollBar, and shows/hides scrollbar based on content overflow. 0x009E5050 2564 CListBoxItem__reflow_text_content_009e5050 game_core Reflows the text content of a CListBoxItem by splitting the full text into wrapped lines. Handles item link detection, selection state preservation, word wrapping with width measurement, and cursor position recalculation. Clears existing line vector and rebuilds from the source text. Updates selection markers if IME composition is active. 0x009E5A80 88 CListBoxDialog__resize_child_item_009e5a80 game_core Resizes the child CListBoxItem to fit within the dialog. Calls layout method, then sets the child's position and size based on the dialog's inner margins (offsets 0x8C, 0x90, 0x94, 0x98). 0x009E5AE0 57 CListBoxDialog__on_mouse_event_009e5ae0 game_core Mouse event handler for CListBoxDialog. If param_3==0 (mouse down) and a callback exists at offset 0xC4, calls the callback's virtual method at vtable+8. Then forwards the event to FUN_00a83660 for default processing. 0x009E5B20 447 CListBoxItem__on_event_handler_009e5b20 game_core Main event handler for CListBoxItem. Handles: mouse events (type 0 with Shift+click for newline insert), scroll events (types 7/9/10), keyboard (WM_KEYDOWN=0x100), character input (WM_CHAR=0x102 with numeric/decimal filtering modes 1/2), cursor up/down (types 0x12/0x13) with multi-byte character navigation and text alignment awareness, and IME events (0x10F). 0x009E6090 30 CListBoxDialog__set_text_alignment_009e6090 game_core Sets text alignment mode on the child CListBoxItem. Sets offset 0x6C on child (offset 0x9C), then calls virtual invalidate (vtable+0x98). 0x009E60B0 24 CListBoxItem__set_text_alignment_009e60b0 game_core Sets text alignment mode on this CListBoxItem (offset 0x6C), then calls virtual invalidate (vtable+0x98). 0x009E60D0 24 CListBoxDialog__set_background_color_009e60d0 game_core Sets the background color (offset 0x20) on this dialog, then calls virtual invalidate (vtable+0x98). 0x009E60F0 226 CListBoxDialog__set_child_text_and_color_009e60f0 game_core Sets the text and color on the child CListBoxItem (offset 0x9C). Compares new text with current cached/display text, updates display if changed. Updates the text color (offset 0x6B) and sets dirty flag for reflow. 0x009E61E0 222 CListBoxItem__set_text_and_color_009e61e0 game_core Sets text and color on this CListBoxItem. Compares new text with current cached/display text, calls virtual method at vtable+0xD4 if text changed, updates color via UITextWidget__set_color_and_shadow. Assigns new text string and color (offset 0x6B), marks dirty for reflow. 0x009E62C0 58 CListBoxDialog__set_scrollbar_visible_009e62c0 game_core Sets scrollbar visibility on the child CListBoxItem. Uses RTDynamicCast to get the concrete type, sets flag at offset 0x35, then calls virtual invalidate (vtable+0x98). 0x009E6300 17 CListBoxDialog__set_focus_to_child game_core Sets focus to the child CListBoxItem widget (offset 0x9C) by calling CUIWindowMgr__set_focus_window on it. 0x009E6320 35 CListBoxDialog__set_child_text_color_009e6320 game_core Sets text color on the child CListBoxItem (offset 0x9C). Updates both the color field (offset 0x188) and the current display color (offset 0xA8), then marks dirty (offset 0x1C8). 0x009E6350 29 CListBoxItem__set_text_color_009e6350 game_core Sets text color on this CListBoxItem. Updates color at offset 0x188 and 0xA8, marks dirty at offset 0x1C8. 0x009E6370 37 CListBoxDialog__set_child_shadow_color_009e6370 game_core Sets shadow color on the child CListBoxItem (offset 0x9C). Sets shadow color at field 99, enables shadow flag at field 100, then invalidates. 0x009E63A0 31 CListBoxItem__set_shadow_color_009e63a0 game_core Sets shadow color on this CListBoxItem. Sets shadow color at field 99, enables shadow flag at field 100, then calls virtual invalidate. 0x009E63C0 24 CListBoxDialog__set_border_color_009e63c0 game_core Sets border color (offset 0x21) on the dialog, then calls virtual invalidate (vtable+0x98). 0x009E63E0 24 CListBoxDialog__set_border_thickness_009e63e0 game_core Sets border thickness (offset 0x22) on the dialog, then calls virtual invalidate (vtable+0x98). 0x009E6400 48 CListBoxDialog__set_input_filter_mode_009e6400 game_core Sets the input filter mode (offset 0x1F8) on the child CListBoxItem. Uses RTDynamicCast to get the concrete type. Mode 0=all chars, 1=numbers only, 2=numbers+decimal. 0x009E6430 52 CListBoxDialog__set_child_border_thickness_009e6430 game_core Sets border thickness on the child CListBoxItem (offset 0x88 on child at offset 0x9C). Then refreshes the text display by calling virtual method at vtable+0xD4 with current display text. 0x009E6470 54 CListBoxDialog__set_margins_009e6470 game_core Sets the four margin values (left, top, right, bottom at offsets 0x23-0x26) on this dialog. Then calls virtual method at vtable+4 (resize/layout) with the current position. 0x009E64B0 23 CListBoxDialog__set_child_border_color_009e64b0 game_core Sets border color (offset 0x84) on the child CListBoxItem (at offset 0x9C on the dialog). 0x009E64D0 34 CListBoxDialog__refresh_child_text_display_009e64d0 game_core Refreshes the text display of the child CListBoxItem by calling virtual method at vtable+0xD4 on the child (offset 0x9C). Likely triggers text reflow. 0x009E6500 247 CListBoxItem__set_text_content_009e6500 game_core Sets text content on this CListBoxItem. Copies param_2 string into field at offset 0xD8. If this item has focus, updates the global text buffer and selection. Searches for specific delimiters in the text to configure button widget. Marks dirty for redraw. 0x009E6600 208 std__vector_0x24_elem__replace_buffer_009e6600 stl Replaces the internal buffer of a vector of 0x24-byte elements. Destroys all existing elements' strings, frees old buffer, then sets begin/end/capacity to the new buffer (param_2) with param_3 elements and param_4 capacity. 0x009E66E0 92 std__vector_0x24_destroy_range stl Destroys a range of 0x24-byte elements by calling STL_string_dtor on each. Iterates from param_1 to param_2 in 0x24 steps. 0x009E6740 10 thunk_to_std__Xlength_error_009e6740 stl Calls std::_Xlength_error with vector_too_long error message 0x009E6750 95 std__vector_0x24_allocate_elements stl Allocates memory for vector of 0x24-byte elements. Multiplies count by 0x24. Uses aligned allocation for large sizes. Max 0x71C71C7 elements before throwing bad_array_new_length. 0x009E67B0 61 deallocate stl STL allocator::deallocate. Frees memory, handling aligned blocks (>0xFFF bytes) specially. 0x009E67F0 67 std__tree_sentinel_dealloc_0x1c stl Deallocates tree sentinel node of 0x1C bytes if non-null. SEH protected. 0x009E6840 67 free_0x1c_node_at_offset4_009e6840 stl Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Used as a cleanup/destructor helper for tree map nodes. 0x009E6890 78 free_0x1c_node_at_offset4_009e6890 stl Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Cleanup helper for tree map nodes (variant with different SEH label). 0x009E68E0 78 free_0x1c_node_at_offset4_009e68e0 stl Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Cleanup helper for tree map nodes (variant with different SEH label). 0x009E6930 78 free_0x1c_node_at_offset4_009e6930 stl Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Cleanup helper for tree map nodes (variant with different SEH label). 0x009E6980 78 free_0x1c_node_at_offset4_009e6980 stl Frees a 0x1C-byte node stored at offset 4 of the struct, if non-null. Cleanup helper for tree map nodes (variant with different SEH label). 0x009E69D0 662 CUIWindow__dtor_save_position_009e69d0 game_core Destructor for a CUIWindow subclass that saves window position/size to a global std::map (DAT_01457098) keyed by window ID (offset 0xB). Saves both position (offsets 7,8) and size (offsets 5,6) into two separate maps (offsets 0xC and 0x14 of the global). Creates the global map if it doesn't exist. Then calls UIWindowBase__dtor. 0x009E6C70 125 CUIWindow__apply_skin_theme_009e6c70 game_core Applies the current skin/theme to this window. If a skin ID (offset 0xD4) is set, recalculates colors from sprites for both fill (offset 0xB8) and border (offset 0xBC). Then propagates the skin change to all child widgets by calling their virtual method at vtable+0xD0. 0x009E6CF0 101 CUIWindow__draw_background_and_border_009e6cf0 game_core Draws the window background and border. If skin-based coloring is enabled (offset 0xB6), draws an inner filled rect with fill color and an outer rect with border color using 1px inset. If bottom border height (offset 0xD0) is set, draws a tiled bottom border. 0x009E6D60 109 CUIWindow__set_skin_colors_009e6d60 game_core Sets skin color parameters for the window. Stores fill sprite (offset 0xC0), border sprite (offset 0xC8), tint colors (offset 0xC4, 0xCC), enables skin flag (offset 0xB6), and calculates actual colors from sprites via CSkinManager__get_color_from_sprite. 0x009E6DD0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances. 0x009E6FE0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances. 0x009E71F0 144 format_short_as_fixed_notation_009e71f0 game_core Formats a short value (param_4) as a fixed-notation number string. Casts *param_4 to int and calls charconv__format_fixed_notation with flags 0x10000000 for the formatting. 0x009E7280 29 init_format_params_from_short_009e7280 game_core Initializes a format parameter struct from a short value. Sets param_1[0]=0x10000000 (format flags) and param_1[1]=*param_2 (the short value cast to int). 0x009E72A0 49 CUIButton__set_display_mode_a_009e72a0 game_core Sets the display mode (offset 0x80) on a UI button. If mode is 1, sets size to 75x100; otherwise 24x24. Calls FUN_00a7b470 to apply the new size. 0x009E72E0 54 CUIButton__set_display_mode_b_009e72e0 game_core Sets the display mode (offset 0x80) on a UI button. If mode is 1, sets size to 75x100; otherwise 38x25. Calls FUN_00a7b470 to apply the new size. 0x009E7320 7 CUIItemSlot__this_adjust_0x90 game_core Thiscall adjuster thunk that adds 0x90 to the this pointer, used for multiple inheritance vtable dispatch to CUIItemSlot base class. 0x009E73E0 499 CUIItemSlot__render_009e73e0 game_core Renders a UI item slot. Draws the item sprite (offset 0x1A0) with optional tiling/stretching based on size mode (0x88==100 for exact fit). Draws an optional overlay sprite (offset 0x1A8) if enabled (offset 0x1A4). If quantity (offset 0xA0) is positive and display mode is 0, renders the quantity number as white text in the corner. 0x009E75E0 37 CUIItemSlot__on_click_009e75e0 game_core Click handler for item slot. If a callback is registered at offset 0x1D4, calls its virtual method at vtable+8 passing this slot as param. Otherwise falls through to UIControl__forward_mouse_up_009ef680 for default handling. 0x009E7610 312 CUIItemSlot__draw_tooltip_009e7610 game_core Draws an item tooltip when the mouse hovers over this slot. If tooltip is enabled (offset 0x84) and a sprite exists (offset 0x198), converts screen coords, truncates the name if max char limit (offset 0x128) is set, and calls FUN_00ad6510 to render the tooltip text. 0x009E7750 90 CUIItemSlot__on_double_click_009e7750 game_core Double-click handler for item slot. If enabled (offset 0x85), parses the item name string (offset 0xBC) as an integer. If positive, looks up the item via FUN_00a978d0 and calls its virtual method at vtable+0x94 with parameters for a use-item action. 0x009E77B0 191 CUIItemSlot__clear_item_info_009e77b0 game_core Clears all item information from this slot. Resets item description fields, clears the display string, releases sprite resources at offsets 0x68 and 0x6A (calling FUN_00af0be0 for cleanup), and invalidates for redraw. 0x009E7870 338 CUIItemSlot__set_item_by_id_009e7870 game_core Sets the item displayed in this slot by item ID. If ID is 0, clears the slot. Otherwise looks up item data via FUN_00ddd7b0; if found, calls FUN_009e79d0 directly. If not found, builds item info from CItemDesc and CItemDB, then calls FUN_009e79d0 with the constructed data. 0x009E79D0 779 CUIItemSlot__populate_from_item_data_009e79d0 game_core Populates the item slot display from item data struct (param_2). Parses item ID from string at offset 0x2C, copies description from CItemDB__build_item_tooltip_string, loads the item's sprite resource, and optionally loads a card/enchant overlay sprite. Calls invalidate after setup. 0x009E7CE0 114 CUIItemSlot__set_item_scale_009e7ce0 game_core Sets the item display scale (offset 0x22 as short). Calculates new width/height from the scale factor divided by a base constant. Uses different aspect ratios depending on display mode (offset 0x20): mode 1 uses a taller aspect ratio, other modes use a square ratio. 0x009E7D60 328 CUITabControl__ctor_009e7d60 game_core Constructor for CUITabControl (vtable PTR_FUN_0114c274). Initializes the base window via FUN_009ec430, creates two internal linked lists (0x18-byte nodes for tabs, 0x2C-byte nodes for tab content), initializes an embedded STL string, and inserts 3 default entries via FUN_009e1990. 0x009E7EB0 202 CUITabControl__dtor_009e7eb0 game_core Destructor for CUITabControl. Sets vtable to PTR_FUN_0114c274, destroys the embedded STL string, frees the 0x2C-byte linked list (tab content), releases a texture resource (offset 0x66), frees the 0x18-byte linked list (tabs), then destroys the base class. 0x009E7F80 226 CUITabControl__scalar_deleting_dtor_009e7f80 game_core Scalar deleting destructor for CUITabControl. Destroys all internal data, then optionally frees the 0x1C0-byte object if param_2 bit 0 is set. 0x009E8070 76 CUITabControl__get_tab_content_by_index_009e8070 game_core Looks up tab content by index from the internal map (at offset 400). Uses FUN_009e1200 to search by key, returns the value at offset 0x14 of the found node, or 0 if not found. 0x009E80C0 131 CUITabControl__render_009e80c0 game_core Renders the tab control. Clears background, looks up the sprite for the current tab state. If tab has a custom sprite (offset 0x84) uses it from offset 0x198, otherwise looks up from the internal map by index (offset 0x80). Draws the sprite and calls FUN_009eca30 for tab label rendering. 0x009E8150 503 CUITabControl__load_textures_from_map_009e8150 game_core Loads texture resources for the tab control from a string map. Loads 3 tab state textures (indices 0, 1, 2) from the internal string map via std__map_int_string__subscript and UIControl__load_texture_resource, replacing any previously loaded textures. Also loads a fourth texture from offset 0x1A4 into offset 0x198. 0x009E8350 216 CUITabControl__set_texture_paths_009e8350 game_core Sets texture file paths for the 3 tab states (normal, hover, pressed) plus a base string. Copies strings into the internal map at indices 0, 1, 2, and copies param_5 into the embedded string at offset 0x69. Then calls virtual methods to reload textures (vtable+0xD4) and invalidate (vtable+0x98). 0x009E8430 409 CUICheckBox__ctor_009e8430 game_core Constructor for CUICheckBox (vtable PTR_FUN_0114c358). Chains through UIBase, UIDialog, UIListDialog vtables during initialization. Creates two internal linked lists (0x18-byte and 0x2C-byte nodes), initializes embedded strings, sets initial state flags to 0. 0x009E85D0 33 CUICheckBox__release_child_component_009e85d0 game_core Releases the child component at offset 9 (field index). If non-null, calls its virtual destructor at vtable+0x10, passing a flag indicating whether it's a separate allocation. Sets the child pointer to 0. 0x009E8600 33 release_child_at_offset9_009e8600 game_core Releases child component at field index 9. Calls virtual destructor if non-null, then nullifies the pointer. Duplicate pattern of CUICheckBox__release_child_component. 0x009E8630 92 release_child_at_offset9_seh_009e8630 game_core Releases child component at field index 9 with SEH exception handling frame. Same pattern as release_child_at_offset9 but within a try block. 0x009E8690 92 release_child_at_offset9_seh_009e8690 game_core Releases child component at field index 9 with SEH exception handling frame. Same pattern as release_child_at_offset9 but within a try block (variant). 0x009E86F0 128 CUICheckBox__dtor_009e86f0 game_core Destructor for CUICheckBox (vtable PTR_FUN_0114c358). Releases child component at offset 0x53 (with embedded check at offset 0x4A), then calls UIListDialog__dtor for base class cleanup. 0x009E8770 188 CUIRadioButton__dtor_009e8770 game_core Destructor for CUIRadioButton (vtable PTR_FUN_0114c434). Releases child at offset 0x5D (embedded at 0x54), then sets vtable to PTR_FUN_0114c358 and releases child at offset 0x53 (embedded at 0x4A), then calls UIListDialog__dtor. 0x009E8830 152 CUICheckBox__scalar_deleting_dtor_009e8830 game_core Scalar deleting destructor for CUICheckBox. Destroys via dtor, then optionally frees 0x150 bytes if param_2 bit 0 set. 0x009E88D0 212 CUIRadioButton__scalar_deleting_dtor_009e88d0 game_core Scalar deleting destructor for CUIRadioButton. Destroys both child components, calls UIListDialog__dtor, then optionally frees 0x178 bytes. 0x009E89C0 1758 CUIRadioButton__initialize_checkbox_009e89c0 game_core Initializes the internal checkbox widget for this radio button. Allocates a 0x178-byte CUICheckBox subclass (vtable PTR_FUN_0114c434), sets it as child at offset 0x80, sizes it to 12x12, sets up click callback, loads 4 XOR-encrypted texture paths (checked/unchecked/hover states) from TLS, decrypts them, and applies as button labels. Sets checked state and adds as child widget. 0x009E90A0 123 CUIRadioButton__on_selected_009e90a0 game_core Selection handler for a radio button. Iterates all sibling controls in the parent container, uses RTDynamicCast to find other CUIRadioButton instances, and sets their checked state (offset 0x48 on child) based on whether they match this radio button. Then calls the registered callback at offset 0xAC if present. 0x009E9120 62 CUIRadioButton__set_checked_state_009e9120 game_core Sets the checked state (offset 0x48) on the internal checkbox child (offset 0x80). If param_3 is true and a listener is registered at child offset 0x53, notifies the listener. Invalidates the checkbox for redraw. 0x009E9160 15 CUICheckBox__set_text_labels_wrapper_009e9160 game_core Simple wrapper that calls UIButton__set_text_labels_009efb00 to set the checkbox text labels. 0x009E9170 22 CUIRadioButton__init_callback_vtable_009e9170 game_core Initializes a callback struct with vtable PTR_FUN_0114c510 and stores the radio button pointer from offset 4 of the source. 0x009E9190 68 CUIRadioButton__callback_scalar_deleting_dtor game_core Scalar deleting destructor for the radio button's 8-byte click callback object. Frees the allocation if param_2 is non-zero (indicating it was heap-allocated rather than embedded). 0x009E91E0 123 CUIRadioButton__on_click_callback_009e91e0 game_core Click callback invoked from the internal checkbox. Retrieves the parent radio button from offset 4, then performs the same radio group selection logic: iterates siblings via RTDynamicCast, sets checked state on all radio buttons in the group, and calls the registered callback. 0x009E9270 22 CUIRadioButton__init_callback_vtable_b_009e9270 game_core Initializes a callback struct with vtable PTR_FUN_0114c510 and stores reference from offset 4. Duplicate of init_callback_vtable variant. 0x009E9290 341 swap_polymorphic_child_at_offset9_009e9290 game_core Swaps the polymorphic child component at field index 9 between param_1 and param_2. Handles three cases: both external (simple pointer swap), both embedded (clone via vtable+4, destroy originals), or mixed. Uses virtual clone (vtable+4) and destroy (vtable+0x10) for embedded objects. 0x009E9430 119 CUIDragControl__begin_drag_009e9430 game_core Begins a drag operation on a UI control. Converts screen coordinates to client coordinates via FUN_00a7d870, stores as drag start position (offsets 0x9C, 0xA0). Records parent window position (offsets 0xA4, 0xA8) and resets drag delta (offsets 0xAC, 0xB0) to zero. 0x009E94B0 143 CUIDragControl__begin_drag_focused_009e94b0 game_core Begins a drag operation, but only if this control is the currently focused/captured control (checked via get_field_0x19c). First clears tooltip and calls parent virtual method at vtable+0x90, then sets up drag start coordinates same as begin_drag. 0x009E9540 367 CUIDragControl__on_drag_move_009e9540 game_core Handles drag movement. Only processes if this is the captured control. Converts mouse position, calculates grid-snapped delta from the drag start point, clamps to min/max bounds (offsets 0x84-0x90), and calls the drag callback (offset 0xF4) with the change delta if position changed. 0x009E96C0 202 CUIControl__load_and_set_texture_009e96c0 ui_framework Loads a texture resource from a string path (param_1+0x2D area) and sets it as the control's display texture (offset 0x20). Releases previous texture, resizes the control to match the texture dimensions (from offsets 0x114, 0x118), and adjusts position relative to the parent. 0x009E9790 64 UIControl__set_text_and_refresh ui_framework Sets text on a UI control. If source string differs from current text at offset 0x2D (using SSO), assigns the new string. Then calls virtual invalidate (vtable+0xD4) and refresh (vtable+0x98). 0x009E97D0 106 UIBase__scalar_deleting_dtor_0x94_009e97d0 game_core Scalar deleting destructor for a 0x94-byte UIBase-derived object. Sets vtable to UIBase, calls base destructor, then optionally frees 0x94 bytes. 0x009E9840 321 CTextPanel__add_child_widget_to_map_009e9840 ui_framework Adds a child widget to the text panel's widget map (offset 0xD8). Positions the widget with a vertical offset from the panel's current content height (offset 0xD4), adds it as a child via FUN_00a7a0a0, then inserts into the red-black tree map keyed by widget pointer, storing X,Y position. 0x009E9990 1072 CTextPanel__append_text_line_009e9990 ui_framework Appends a text line (STL string) to the text panel. Creates a CTextLayout to word-wrap the text within the available width, adds the result to the text vector (offset 0xC8), positions any embedded widgets in the widget map, updates content height (offset 0xD4), and reconfigures the scrollbar and margins on the child border panel (offset 0xC4). 0x009E9DD0 291 CTextPanel__clear_all_content_009e9dd0 ui_framework Clears all text content from the panel. Iterates the widget map (offset 0x36), detaching each child widget. Destroys all map nodes, clears the text line vector (offset 0x32/0x33), resets content height (offset 0x35), and reconfigures the scrollbar. 0x009E9F00 684 CTextPanel__create_children_009e9f00 ui_framework Creates the child components for the text panel. Allocates a 0x94-byte border panel (vtable PTR_FUN_0114c5a4) with white background and 3px margins as offset 0xC4, then creates a 0xF0-byte scroll container (UIInterfaceDialog vtable) as offset 0xC0 with a scroll callback. Adds both as children. 0x009EA280 63 CTextPanel__handle_scroll_event ui_framework Handles mouse wheel scroll events for the text panel. If the scroll container (offset 0xC0) has scrollable content and is not scrolled to the limit, scrolls locally via vtable+0x8C. Otherwise forwards the scroll event to the parent widget. 0x009EA2C0 316 CTextPanel__rebuild_text_layout_009ea2c0 ui_framework Rebuilds the text layout from scratch. Copies the current text vector (offset 0xC8) into a local, clears all content via clear_all_content, then re-appends each text line via append_text_line. Restores the scrollbar position, frees the temporary vector. 0x009EA400 381 CTextPanel__on_resize_009ea400 ui_framework Resize handler for the text panel. Resizes the scroll container and border panel children, saves current scrollbar position, clears all content, re-appends all text lines to reflow, then restores the scrollbar position. Frees temporary vector. 0x009EA580 275 CTextPanel__layout_child_widgets_009ea580 ui_framework Positions all child widgets in the text panel relative to the current scroll offset (param_2). Iterates the widget map (offset 0xD8), computes each widget's position with alignment adjustment (center=6, bottom=8), calls virtual move/visibility methods. Hides widgets that are scrolled out of view. 0x009EA6A0 76 CTextPanel__on_event_dispatch_009ea6a0 ui_framework Event dispatcher for the text panel. When event type is 0x62, dispatches sub-commands: 0x1B5=open URL, 0x1B6=scroll control message, 0x1D0=click target processing, 0x205=show item info, 0x21B=navigate to NPC. All events also forwarded to default handler FUN_00a83660. 0x009EA7A0 25 CTextPanel__set_alignment_mode_009ea7a0 ui_framework Sets text alignment mode (offset 0x80) and vertical alignment (offset 0x84) for the text panel. 0x009EA7C0 24 CTextPanel__set_background_color_009ea7c0 ui_framework Sets background color (offset 0x20) and invalidates for redraw. 0x009EA7E0 36 CTextPanel__set_border_color_009ea7e0 ui_framework Sets border color on the text panel (offset 0xAC) and also sets the background color (offset 0x20) on the child border panel (offset 0xC4), then invalidates. 0x009EA810 16 CTextPanel__set_bold_flag_009ea810 ui_framework Sets the bold text flag (offset 0x90) on the text panel. 0x009EA820 16 CTextPanel__set_font_size_009ea820 ui_framework Sets the font size (offset 0x94) for text rendering in the panel. 0x009EA830 16 UITextLabel__set_font_size ui_framework Sets the font size value at offset 0x8C for text rendering 0x009EA840 28 CTextPanel__set_font_by_name_009ea840 ui_framework Sets the font (offset 0x88) by looking up the font index from its name via CTextVertex__lookup_font_index_by_name. 0x009EA860 16 CTextPanel__set_line_spacing_009ea860 ui_framework Sets the line spacing (offset 0xA8) for the text panel. 0x009EA870 25 CTextPanel__set_shadow_params_009ea870 ui_framework Sets text shadow parameters: enabled flag (offset 0xA0) and shadow color (offset 0xA4). 0x009EA890 51 CTextPanel__set_border_padding_009ea890 ui_framework Sets the 4 border padding values (offsets 0x21-0x24) on the border panel, then invalidates for redraw. 0x009EA8D0 43 CTextPanel__set_content_margins_009ea8d0 ui_framework Sets the 4 content margin values (left=0xB0, top=0xB4, bottom=0xB8, right=0xBC) for the text panel content area. 0x009EA900 15 CTextPanel__set_button_labels_wrapper ui_framework Wrapper that delegates to UIScrollbar__set_button_labels to configure scrollbar button labels for this text panel. 0x009EA910 30 CTextPanel__set_text_interactable_flag_009ea910 ui_framework Sets the interactable/clickable text flag (offset 0x98) on the scroll container (offset 0x30), then invalidates for redraw. 0x009EA930 15 CTextPanel__resize_wrapper_009ea930 ui_framework Wrapper that delegates to CEffect__set_size_and_reload to resize the text panel. 0x009EA940 15 CTextPanel__setup_horizontal_scrollbar_009ea940 ui_framework Wrapper that calls UIScrollbar__setup_horizontal_thumb to configure horizontal scrollbar thumb. 0x009EA950 15 CTextPanel__setup_horizontal_scrollbar_single_009ea950 ui_framework Wrapper that calls UIScrollbar__setup_horizontal_thumb_single to configure a single-piece horizontal scrollbar. 0x009EA960 15 CTextPanel__set_scrollbar_background_009ea960 ui_framework Wrapper that calls UIScrollbar__set_background_texture to set the scrollbar background texture. 0x009EA970 25 CTextPanel__set_link_style_009ea970 ui_framework Sets the link style parameters: underline flag (offset 0x98) and link color (offset 0x9C). 0x009EA9A0 22 CTextPanel__init_scroll_callback_009ea9a0 ui_framework Initializes a scroll callback struct with vtable PTR_FUN_0114c680 and stores the text panel pointer from offset 4. 0x009EA9C0 68 CTextPanel__conditional_free_callback_009ea9c0 ui_framework Conditionally frees an 8-byte callback object if param_2 is non-zero. Scalar deleting destructor for the scroll callback. 0x009EAA10 290 CTextPanel__on_scroll_callback_009eaa10 ui_framework Scroll callback invoked when the scrollbar position changes. Retrieves the parent text panel from offset 4, then positions all child widgets relative to the new scroll offset using the same layout logic as layout_child_widgets (alignment, visibility clipping). 0x009EAB50 22 CTextPanel__init_scroll_callback_b_009eab50 ui_framework Copy constructor for scroll callback. Sets vtable to PTR_CTextPanel__init_scroll_callback and copies the parent pointer from offset 4. 0x009EAB80 322 CUIProgressBar__render_009eab80 game_core Renders a progress bar. Draws background sprite (offset 0x80) or clears to transparent. If a fill sprite (offset 0x84) exists, draws it clipped to the current progress percentage (offset 0xBC out of 100). Supports two fill modes: 0=horizontal fill from left, 1=vertical fill from bottom. 0x009EACD0 236 CUIProgressBar__load_textures_009eacd0 game_core Loads two texture resources for the progress bar: background texture (from offset 0x88 string, stored at 0x80) and fill/progress texture (from offset 0xA0 string, stored at 0x84). Releases previous textures. 0x009EADC0 95 CUIProgressBar__set_texture_paths_009eadc0 game_core Sets the background and fill texture path strings (offsets 0x22 and 0x28), then calls virtual reload textures (vtable+0xD4) and invalidate (vtable+0x98). 0x009EAE20 151 CUIToggleButton__on_click_009eae20 game_core Click handler for a toggle button. If not disabled (offset 0x21) and not already checked (offset 0x48), performs radio-button-like selection: iterates siblings via RTDynamicCast, sets checked state on matching toggle buttons, then calls the registered callback at offset 0x5D. 0x009EAEC0 103 std__map_0x1c__recursive_destroy_nodes_009eaec0 stl Recursively destroys all nodes in a red-black tree map with 0x1C-byte nodes. Traverses right subtree recursively, then walks left chain freeing each node. 0x009EAF30 103 std__map_0x1c__recursive_destroy_nodes_b_009eaf30 stl Recursively destroys all nodes in a red-black tree map with 0x1C-byte nodes. Same pattern as the other variant with a different SEH label. 0x009EAFA0 165 std__map_0x40__recursive_destroy_nodes_009eafa0 stl Recursively destroys all nodes in a red-black tree map with 0x40-byte nodes. Each node has a polymorphic child at offset 0xF (field index 15) that gets destroyed via virtual destructor before the node is freed. 0x009EB050 75 std__map_int__lower_bound_009eb050 stl Performs lower_bound search on an int-keyed std::map. Returns iterator struct in param_2 with: [0]=last visited node, [1]=direction flag, [2]=lower_bound result node. 0x009EB0A0 75 std__map_int__lower_bound_b_009eb0a0 stl Performs lower_bound search on an int-keyed std::map. Identical pattern to std__map_int__lower_bound (different instantiation). 0x009EB0F0 173 format_three_ints_as_fixed_notation_009eb0f0 game_core Formats three int values from param_4, param_5, param_6 as a fixed-notation string with format flags 0x10000000/4/8. Calls charconv__format_fixed_notation with 3 arguments. 0x009EB1A0 94 init_three_format_params_009eb1a0 game_core Initializes a format parameter array of 3 entries from param_2/3/4 values. Each entry has a format flag (0x10000000 series) and offset, plus the value from the corresponding param. 0x009EB200 230 CUIWindowPositionMgr__ctor_009eb200 ui_framework Constructor for CUIWindowPositionMgr (vtable PTR_FUN_0114c6f0). Creates 3 internal red-black tree maps: a 0x40-byte node map (for window config), and two 0x1C-byte node maps (for position and size caching). Initializes a CRITICAL_SECTION for thread safety. 0x009EB300 111 std__map_0x1c__destroy_all_and_free_sentinel_009eb300 stl Destroys all nodes in a 0x1C-byte node map by recursively freeing, then frees the sentinel node itself. 0x009EB380 111 std__map_0x1c__destroy_all_and_free_sentinel_b_009eb380 stl Destroys all nodes in a 0x1C-byte node map and frees the sentinel. Variant using destroy_nodes_b. 0x009EB400 76 std__map_0x40__destroy_all_and_free_sentinel_009eb400 stl Destroys all nodes in a 0x40-byte node map (with polymorphic children) and frees the sentinel node. 0x009EB460 65 std__map_0x1c__destroy_all_seh_wrapper_009eb460 stl SEH wrapper around std__map_0x1c__destroy_all_and_free_sentinel. Sets up exception frame before calling the destroy function. 0x009EB4B0 65 std__map_0x1c__destroy_all_seh_wrapper_b_009eb4b0 stl SEH wrapper around std__map_0x1c__destroy_all_and_free_sentinel_b. Sets up exception frame before calling the destroy function. 0x009EB500 87 std__map_0x40__destroy_all_seh_wrapper_009eb500 stl SEH wrapper around std__map_0x40__destroy_all_and_free_sentinel. Sets up exception frame before calling the destroy function. 0x009EB560 226 CUIWindowPositionMgr__dtor_009eb560 ui_framework Destructor for CUIWindowPositionMgr. Sets vtable, saves position data to UIInfo.lua via FUN_009ebf40 (writes temp file then renames), deletes the CRITICAL_SECTION, and destroys all 3 internal maps (two 0x1C-byte and one 0x40-byte node maps). 0x009EB650 30 scalar_deleting_dtor_4bytes game_core Trivial scalar deleting destructor for 4-byte object. If bit 0 of param is set, frees the 4-byte allocation. 0x009EB670 247 UIInfoManager__scalar_deleting_dtor game_core UIInfoManager scalar deleting destructor. Saves UI layout to file (UIInfo.lua), deletes critical section, destroys 3 map containers (0x1C-node and 0x40-node maps), optionally frees 0x34-byte object. 0x009EB770 366 UIInfoManager__create_dialog_from_template game_core Creates a UI dialog from a registered template by ID. Looks up template via lower_bound, calls factory function to create dialog, invokes virtual init (vtable+0xB4) and invalidate (vtable+0xD4). Checks bounds against screen, positions, and applies skin theme. 0x009EB920 1567 CUIWindowPositionMgr__load_from_lua_file_009eb920 ui_framework Loads UI window position data from a Lua save file (savedata/UIInfo.lua). Opens file, base64-decodes content, executes as Lua script, then iterates tree of window IDs calling GetWindowPos and GetWindowSize to populate position/size maps. 0x009EBF40 1169 UIInfoManager__save_to_file game_core Saves UIInfo data to savedata/UIInfo.temp file. Serializes TblPos (x,y per control) and TblSize (w,h per control) from map containers. Writes as formatted text via CFileStream. Renames temp to UIInfo.lua on success. Uses critical section for thread safety. 0x009EC3E0 75 std__tree_lower_bound_b stl std::_Tree lower_bound variant b. Traverses red-black tree comparing key at node offset+0x10 against search key. Returns iterator pointing to first element not less than key. 0x009EC430 1046 UIDialog__ctor ui_windows UIDialog constructor. Calls CEffect::ctor, sets UIBase then UIDialog vtable. Initializes strings (4 SSO strings at offsets 0x22-0x5E), tree map for state tracking (sentinel at offset 0x55), color fields (default white/gray), font size 0xC. Inserts keys 0,1,2 into state map. 0x009EC850 223 std__map_int_insert_or_find_c stl std::map insert-or-find variant c. Uses lower_bound to find position, allocates 0x18-byte node if key not found, inserts via Insert_node. Returns pointer to value at node+0x14. 0x009EC930 243 UILabel__auto_resize_to_text game_core Auto-resizes UILabel based on text content. If multiline mode (0x4F==1), measures text height and resizes vertically, computing Y offset based on alignment (0=top, 6=center, 8=bottom). Otherwise measures width, resizes horizontally with alignment (0=left, 6=center, 2=right). 0x009ECA30 660 UILabel__render_text game_core Renders UILabel text. Handles single-line and multiline modes. Supports shadow text (state 1 draws at +1,+1 offset), optional outline text. Colors determined by state: normal uses configured color, state 1 uses pressed color. Delegates to multiline renderer if mode flag is set. 0x009ECCD0 614 UILabel__render_text_multiline game_core Renders UILabel text in multiline mode. Similar to render_text but uses multiline text drawing functions (FUN_00a84590/FUN_00a86320). Handles shadow, outline, state-based colors, and disabled state. 0x009ECF60 162 UIControl__show_tooltip ui_framework Shows tooltip for a UI control. If has secondary tooltip (offset 0x188), positions at (0,-20) and draws. Otherwise positions at (-4,-6) and draws primary tooltip text. 0x009ED010 712 UILabel__update_text_layout game_core Updates UILabel text layout. Handles multiline word-wrap and single-line truncation. Copies processed text into display buffer, compares with original to detect changes, measures text dimensions, computes X/Y offsets based on alignment (left/center/right, top/center/bottom). Calls virtual refresh. 0x009ED2E0 30 UILabel__set_text_offset game_core Sets text rendering offset (x,y) at offsets 0x140/0x144 and triggers layout update. 0x009ED300 21 UILabel__set_multiline_mode game_core Sets multiline mode flag at offset 0x13C and triggers layout update. 0x009ED320 21 UILabel__set_auto_resize game_core Sets auto-resize flag at offset 0x138 and triggers layout update. 0x009ED340 21 UILabel__set_bold game_core Sets bold/weight flag at offset 0x150 and triggers layout update. 0x009ED360 116 UIDialog__set_state_colors ui_windows Sets 3 state colors in the dialog's state map (keys 0,1,2 for normal/pressed/hover) and sets background color at offset 0x57. Calls virtual refresh. 0x009ED3E0 21 UILabel__set_font_size game_core Sets font size at offset 0x14C and triggers layout update. 0x009ED400 35 UILabel__set_font_by_name game_core Sets font by name. Looks up font index from CTextVertex, stores at offset 0x148, triggers layout update. 0x009ED430 25 UILabel__set_outline game_core Sets text outline enabled flag (offset 0x168) and outline color (offset 0x16C). 0x009ED450 25 UILabel__set_shadow game_core Sets text shadow enabled flag (offset 0x160) and shadow color (offset 0x164). 0x009ED470 49 UILabel__set_text_and_relayout game_core Sets label text from a std::string source (with SSO handling) and triggers full text layout update. 0x009ED4B0 71 UIEditBox__dtor_009ed4b0 ui_events UIEditBox destructor. Sets vtable, then delegates to UIComplexDialog destructor for cleanup. 0x009ED500 99 UIEditBox__scalar_deleting_dtor ui_events UIEditBox scalar deleting destructor. Sets vtable, calls UIComplexDialog destructor, optionally frees 0x188-byte object. 0x009ED570 35 UIEditBox__render_cursor_if_focused ui_events Renders cursor blink in edit box only if this control has keyboard focus (checks against UI manager's focused field 0x1A0). 0x009ED5C0 180 UIEditBox__create_text_widget ui_events Creates the internal text widget for a UIEditBox. Allocates 0x188-byte object, constructs it, sets vtable, configures as single-line with cursor enabled. Sets size and adds as child control. 0x009ED680 74 UIControl__render_border_frame ui_framework Renders border frame around a UI control. If border thickness (offset 0x88) > 0, draws inner rectangle with border inset. Otherwise draws with default color. 0x009ED6F0 88 UIEditBox__on_resize ui_events Handles UIEditBox resize. Repositions the parent, then resizes and repositions the internal text widget using computed inner dimensions. 0x009ED750 57 UIControl__on_mouse_down_with_callback ui_framework Mouse down handler with callback. If button is 0 (left click) and callback is registered at offset 0xC4, invokes callback. Then delegates to base mouse handler. 0x009ED790 24 UIDialog__set_id_and_refresh ui_windows Sets the dialog ID at offset 0x20 and calls virtual refresh (vtable+0x98). 0x009ED7D0 43 UILabel__set_color_from_packed_rgb game_core Unpacks RGB from a 32-bit packed color (0x00BBGGRR format), extracts R/G/B channels, and calls UITextWidget::set_color_and_shadow with white shadow. 0x009ED800 24 UIDialog__set_state_and_refresh ui_windows Sets dialog state value at offset 0x21 and calls virtual refresh (vtable+0x98). 0x009ED820 24 UIDialog__set_flags_and_refresh ui_windows Sets dialog flags at offset 0x22 and calls virtual refresh (vtable+0x98). 0x009ED840 52 UIEditBox__set_max_length ui_events Sets max text length on the internal text widget (offset 0x88 of child at 0x9C). Then invalidates by getting display text and calling virtual update. 0x009ED880 54 UIDialog__set_padding_and_resize ui_windows Sets 4 padding values (left, top, right, bottom) at offsets 0x23-0x26 and triggers virtual resize with current width/height. 0x009ED8C0 23 UIEditBox__set_password_mode ui_events Sets password mode on the internal text widget. Stores char value at widget's offset 0x84 (0 = normal, non-zero = mask character). 0x009ED8E0 34 UIEditBox__invalidate_text_widget ui_events Invalidates the internal text widget of a UIEditBox by calling its virtual method at vtable+0xD4. 0x009ED910 84 UIImageControl__dtor game_core UIImageControl destructor. Sets vtable chain then delegates to UIImageControlBase::dtor for full cleanup. 0x009ED970 258 UIImageControlBase__dtor game_core UIImageControlBase destructor. Sets vtable, releases child control at offset 0x47 (calls its virtual release method), destroys 4 strings, releases 3 smart pointers (offsets 0x21-0x23), resets vtable to UIBase, calls CEffect::dtor. 0x009EDA80 71 UIImageControlBase__dtor_variant game_core UIImageControlBase destructor variant. Sets different vtable then delegates to UIImageControlBase::dtor. 0x009EDAD0 112 UIImageControl__scalar_deleting_dtor game_core UIImageControl scalar deleting destructor. Sets vtable chain, calls base dtor, optionally frees 0x120-byte object. 0x009EDB40 38 UIImageControlBase__scalar_deleting_dtor game_core UIImageControlBase scalar deleting destructor. Calls base dtor, optionally frees 0x120-byte object. 0x009EDB70 99 UIImageControlBase__scalar_deleting_dtor_variant game_core UIImageControlBase scalar deleting destructor variant. Sets vtable, calls base dtor, optionally frees 0x120-byte object. 0x009EDBE0 923 UIScrollbar__create_child_controls ui_events Creates 3 child controls for UIScrollbar: up button (offset 0x80), down button (offset 0x84), and thumb/track image (offset 0x88). Each is allocated as 0x120-byte UIImageControl, initialized with callbacks, and added as child. 0x009EE08D 287 CUIProgressBar__draw_tiled_progress_sprites game_core CUIProgressBar: draw tiled progress sprites 0x009EE1B0 45 UIScrollbar__on_click_track ui_events Handles click on scrollbar track. If click position is above thumb, scrolls backward. If below thumb+height, scrolls forward. 0x009EE1E0 31 UIControl__on_mouse_enter ui_framework Mouse enter handler. Sets this control as hover window in CUIWindowMgr and stores cursor type at offset 0x90. 0x009EE200 44 UIControl__on_mouse_leave ui_framework Mouse leave handler. If this is the focused UI element, clears hover in CUIWindowMgr. Stores cursor type at offset 0x90. 0x009EE230 62 UIScrollbar__on_value_changed_009ee230 ui_events Handles scrollbar value change. Checks if this is the active scrollbar (via get_field_0x19c), then if value differs from field 0x90, computes delta and calls callback at field 0x11c vtable offset 8. 0x009EE270 27 UIScrollbar__scroll_by_direction ui_events Scrolls the scrollbar by direction. If param > 0, scrolls forward; otherwise scrolls backward. Delegates to UIScrollbar__scroll_forward/backward. 0x009EE290 234 UIScrollbar__update_thumb_position_009ee290 ui_events Updates scrollbar thumb (slider) position. Two modes based on field 0x20 flag: proportional mode calculates thumb size from ratio, standard mode computes position from value/range ratio. Calls vtable methods to set size and position. 0x009EE380 69 UIScrollbar__on_resize_009ee380 ui_events Handles scrollbar resize. Repositions track element via vtable offset 0x10, recalculates available track area (total height minus top/bottom button heights) and stores in field 0xa4. 0x009EE3D0 310 UIScrollbar__set_button_textures_009ee3d0 ui_events Sets textures for scrollbar up/down buttons. Loads string resources for each button (fields 0x20/0x21), validates them, calls FUN_009efb00 to update display, and triggers layout recalc via vtable 0x98. 0x009EE510 171 UIScrollbar__set_thumb_texture_009ee510 ui_events Sets the scrollbar thumb/slider texture. Computes available track area, calculates thumb size proportionally, sets thumb size/position/visibility via vtable, then calls set_data and triggers layout. 0x009EE5C0 215 UIScrollbar__set_thumb_and_update_009ee5c0 ui_events Sets scrollbar thumb texture from string resource. Computes track area, loads texture string, validates it, updates thumb element (field 0x22) size/position/visibility, then triggers layout. 0x009EE6A0 22 UIControl__create_callback_a_009ee6a0 ui_framework Creates a callback object with vtable PTR_FUN_0114cb14 and stores the source object pointer from field +4. 0x009EE6C0 22 UIControl__create_callback_b_009ee6c0 ui_framework Creates a callback object with vtable PTR_FUN_0114cb30 and stores the source object pointer from field +4. 0x009EE6E0 22 UIControl__create_callback_c_009ee6e0 ui_framework Creates a callback object with vtable PTR_FUN_0114cb4c and stores the source object pointer from field +4. 0x009EE700 68 UIControl__conditional_delete_009ee700 ui_framework Conditional destructor helper. If param_2 is nonzero, frees the object (8 bytes) via operator delete. SEH protected. 0x009EE750 68 UIControl__conditional_delete_b_009ee750 ui_framework Conditional destructor helper. If param_2 is nonzero, frees the object (8 bytes) via operator delete. SEH protected. Variant B. 0x009EE7A0 68 UIControl__conditional_delete_c_009ee7a0 ui_framework Conditional destructor helper. If param_2 is nonzero, frees the object (8 bytes) via operator delete. SEH protected. Variant C. 0x009EE810 23 UIControl__forward_set_color_009ee810 ui_framework Forwards set_color call to the child control at field+4 via vtable offset 0xdc. 0x009EE860 22 UIControl__create_callback_a2_009ee860 ui_framework Creates a callback object with vtable PTR_FUN_0114cb14 and stores the source object pointer. Duplicate of 009ee6a0 pattern. 0x009EE880 22 UIControl__create_callback_b2_009ee880 ui_framework Creates a callback object with vtable PTR_FUN_0114cb30 and stores the source object pointer. Duplicate of 009ee6c0 pattern. 0x009EE8A0 22 UIControl__create_callback_c2 ui_framework Creates a callback object with vtable PTR_FUN_0114cb4c (same as callback_c pattern) and stores the source object pointer from field +4. Duplicate of 009ee6e0 for a different caller context. 0x009EE8F0 41 UIControl__set_state_009ee8f0 ui_framework Sets control state field 0x20. If state changes and field 0x21 (locked flag) is false, triggers layout refresh via vtable 0x98. 0x009EE920 9 thunk_to_virtual_method_offset_0x64_009ee920 game_core Calls virtual function at offset 0x64 (100 bytes) from object ptr 0x009EE930 63 UIControl__set_state_normal_009ee930 ui_framework Sets control state to Normal (1). If state changed and not locked, triggers layout refresh. Then if not locked, calls focus handler (FUN_00aa9b30). 0x009EE970 91 UIControl__set_state_pressed_009ee970 ui_framework Sets control state to Pressed (2). If changed and not locked, triggers layout. If this is the active control (checked via get_field_0x19c), and not locked and has callback at field 0x31*4, invokes it. Also calls FUN_00aa66c0. 0x009EEA00 107 UIControl__draw_tooltip_text_009eea00 ui_framework Draws tooltip text for a control. If callback at field 0xec exists, invokes it. If field 0x98 (has tooltip text) is set, calculates position offset and renders text from field 0x88 string via FUN_00ad6510. 0x009EEAD0 40 UIControl__forward_mouse_move_009eead0 ui_framework Forwards a mouse move event to child control at field 0x10. Adjusts coordinates by adding control's position offsets (fields 0x1c, 0x20) before calling child's vtable method at offset 0x28. 0x009EEB00 2589 UIFrame__draw_skinned_border_009eeb00 game_core Draws a skinned UI frame border. Loads texture name (or uses hardcoded default), then tiles border pieces (left/right/up/down edges plus corners: lu.bmp, ld.bmp, ru.bmp, rd.bmp) in a loop with 14px spacing. Finally fills center area with skin color at specified alpha. Uses CSkinManager__get_color_from_sprite for fill color. 0x009EF520 123 UIControl__load_texture_resource_009ef520 ui_framework Loads a texture resource for a UI control. Returns 0 if field 0x10 is empty. If param_2 is true, loads via FUN_00b01200+FUN_00aee770 (sprite path). Otherwise constructs string from param_1 and validates via FUN_00aeecc0. 0x009EF59B 54 UIControl__load_texture_fallback_009ef59b ui_framework Fallback path for texture loading. Constructs string from EDI register, validates via FUN_00aeecc0. Uses non-standard calling convention (mid-function entry point). 0x009EF5E0 12 UIControl__invalidate_from_root_009ef5e0 ui_framework Invalidates the UI control tree starting from the root parent. Calls get_root_parent() to find the topmost ancestor, then invalidate_recursive() to mark the entire tree for redraw. 0x009EF5F0 83 UIControl__hit_test_009ef5f0 ui_framework Hit test for UI control. Builds a RECT from control position (fields 0x1c, 0x20) and size (fields 0x14, 0x18), then uses WinAPI PtInRect to check if point (param_2, param_3) is inside. 0x009EF650 37 UIControl__forward_mouse_down_009ef650 ui_framework Forwards mouse down event to child control at field 0x10. Adjusts coordinates by control position (0x1c, 0x20) before calling vtable offset 0x68. 0x009EF680 37 UIControl__forward_mouse_up_009ef680 ui_framework Forwards mouse up event to child control at field 0x10. Adjusts coordinates by control position (0x1c, 0x20) before calling vtable offset 0x64 (100). 0x009EF6B0 37 UIControl__forward_mouse_wheel_009ef6b0 ui_framework Forwards mouse wheel event to child control at field 0x10. Adjusts coordinates by control position before calling vtable offset 0x7c. 0x009EF6E0 37 UIControl__forward_mouse_dblclick_009ef6e0 ui_framework Forwards mouse double-click event to child at field 0x10 via vtable offset 0x70. Adjusts coords by position. 0x009EF710 37 UIControl__forward_right_click_009ef710 ui_framework Forwards right-click event to child at field 0x10 via vtable offset 0x6c. Adjusts coords by position. 0x009EF740 37 UIControl__forward_right_dblclick_009ef740 ui_framework Forwards right double-click event to child at field 0x10 via vtable offset 0x78. Adjusts coords by position. 0x009EF770 40 UIControl__forward_drag_009ef770 ui_framework Forwards drag event to child at field 0x10 via vtable offset 0x88. Adjusts coords by position. 0x009EF7A0 40 UIControl__forward_drag_end_009ef7a0 ui_framework Forwards drag end event to child at field 0x10 via vtable offset 0x80. Adjusts coords by position. 0x009EF7D0 40 UIControl__forward_drag_start_009ef7d0 ui_framework Forwards drag start event to child at field 0x10 via vtable offset 0x84. Adjusts coords by position. 0x009EF800 23 UIControl__forward_key_event_009ef800 ui_framework Forwards key event to child at field 0x10 via vtable offset 0x8c. No coordinate adjustment. 0x009EF820 57 UIControl__propagate_color_to_children_009ef820 ui_framework Propagates color value to this control (vtable 0xd4) and all child controls in linked list at field 0x14. Iterates children calling their vtable offset 0xd0. 0x009EF860 152 UIButton__draw_background_009ef860 ui_events Draws button background. Sets magenta clear color, then resolves texture from map (field 0x80) based on button state. If field 0x84 (use direct texture) is set, uses field 0xf8 directly. Renders texture via FUN_00a7bb60 or FUN_00a7be30 depending on field 0xfc flag. 0x009EF900 503 UIButton__load_state_textures_009ef900 ui_events Loads textures for all button states (normal=0, hover=1, pressed=2) from a map using param_2 as key. Also loads a 4th texture from field 0x108. Each texture reference is stored via FUN_009e1aa0, with old references released via FUN_00af0be0. 0x009EFB00 216 UIButton__set_text_labels_009efb00 ui_events Sets text labels for button states. Params 2-4 are strings for states 0, 1, 2 (normal/hover/pressed). Param 5 is a string for the control itself (field 0x42). Each string is assigned via STL_lib_func_004fa8f0, then triggers visual update via vtable 0xd4 and layout via vtable 0x98. 0x009EFBE0 75 std__map_lower_bound_009efbe0 stl STL map lower_bound implementation. Traverses red-black tree from root (field +4) comparing keys. Returns iterator pointing to first element with key >= param_3. 0x009EFC30 728 UIButton__ctor_009efc30 ui_events UIButton constructor. Calls base UIControl ctor (FUN_00a79a90), sets vtable to PTR_FUN_0114af94, initializes state fields (0x20-0x25), creates internal map with 3 entries (keys 0,1,2) for button state textures, sets field 0x79 flag. Allocates 0x18 byte tree nodes for each map entry. 0x009EFF10 67 std__map_node_dtor_009eff10 stl Destructor for a map node. Frees the node memory (0x18 bytes) at field+4 via operator delete. SEH protected. 0x009EFF60 78 std__map_node_dtor_b_009eff60 stl Variant B of map node destructor. Frees 0x18 byte node at field+4 via operator delete. SEH protected. 0x009EFFB0 78 std__map_node_dtor_c_009effb0 stl Variant C of map node destructor. Frees 0x18 byte node at field+4 via operator delete. SEH protected. 0x009F0000 223 STL_map_insert_or_find_9f0000 stl STL map insert-or-find: inserts new 0x18-byte node with key if not found, returns value pointer 0x009F00E0 41 UIButton__set_state_009f00e0 ui_events Sets button state field 0x22. If changed and field 0x24 (locked) is false, triggers layout via vtable 0x98. 0x009F0110 148 UIButton__draw_background_map_009f0110 ui_events Draws button background from state texture map. Sets magenta clear, checks direct mode (0x90), resolves texture from map via STL_map_insert_or_find. Falls back to colored rectangles (white/gray) if texture is 0. Otherwise renders via FUN_00a7bb60. 0x009F01B0 56 UIButton__on_click_009f01b0 ui_events Button click handler. If not locked (field 0x90 == 0), calls focus handler FUN_00aa9b30, then invokes click callback at field 0xe4 if present (vtable offset 8). 0x009F01F0 31 UIButton__on_release_check_focus_009f01f0 ui_events Checks if this button is the active/focused control and calls FUN_00aa66c0 (release focus) if so. 0x009F0210 32 UIButton__invoke_callback_009f0210 ui_events Invokes the button callback at field 0xbc if not null. Passes this pointer via vtable offset 8. 0x009F0250 51 UIScrollbar__set_orientation_doubled ui_events Sets scrollbar orientation at offset 0x22 to param*2 (doubling for internal encoding). Skips if already in fixed mode (1). Refreshes if not locked (offset 0x24). 0x009F0290 42 UIScrollbar__set_orientation ui_events Sets scrollbar orientation at offset 0x22. Skips if already set to same value. Refreshes if not locked. 0x009F02C0 24 UIButton__set_locked_009f02c0 ui_events Sets button locked/disabled state (field 0x24) and triggers layout refresh via vtable 0x98. 0x009F02E0 644 UIButton__set_state_textures_direct_009f02e0 ui_events Sets button textures directly for all 3 states. Clears existing map entries, inserts new entries for keys 0/1/2 (normal/hover/pressed) with texture values from params. Sets field 0x23 to param_5 and triggers layout. 0x009F0570 517 std__tree_val__insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree and rebalances. 0x009F0840 81 UITextLabel__draw_text_009f0840 ui_framework Draws text label content. Calculates offset position (-8 vertical), then renders the text string from field 0x84 via FUN_00ad6510 with default color (0xffffffff) and alignment. 0x009F08A0 145 UITextLabel__load_icon_texture_009f08a0 ui_framework Loads icon texture for text label from field 0xa0 string resource. Stores result in field 0x80, releases old texture. Uses load_texture_resource helper. 0x009F0940 64 UITextLabel__set_text_009f0940 ui_framework Sets text label string. If param_2 differs from field 0x28 (the internal text string), copies it via STL_lib_func_004fa8f0. Then triggers visual update (vtable 0xd4 with 0) and layout refresh (vtable 0x98). 0x009F0A70 101 UITextLabel__on_double_click_or_tooltip_009f0a70 ui_framework Handles double-click on text label. If field 0xc0 (has tooltip) is 0, forwards to base class double-click. Otherwise draws tooltip text from field 0xb0 string at offset (-6,-4) via FUN_00ad6510. 0x009F0AE0 608 UITextLabel__recalculate_layout_009f0ae0 ui_framework Recalculates text label layout. Clears display string, applies text truncation if truncate flag (field 0x32/0xc8) is set. Measures text dimensions, applies horizontal alignment (field 0x33: 0=left, 2=right, 6=center) and vertical alignment (field 0x34: 0=top, 8=bottom, 6=center), stores offsets in fields 0x3d/0x3e, then triggers layout refresh. 0x009F0D40 30 UITextLabel__set_text_offset_009f0d40 ui_framework Sets text rendering offsets (fields 0xcc, 0xd0) and recalculates layout. 0x009F0D60 21 UITextLabel__set_truncate_flag_009f0d60 ui_framework Sets text truncation flag (field 0xc8 = 200) and recalculates layout. 0x009F0D80 21 UITextLabel__set_bold_flag_009f0d80 ui_framework Sets bold text flag (field 0xdc) and recalculates layout. 0x009F0DA0 24 UITextLabel__set_color_009f0da0 ui_framework Sets text color (field 0x38) and triggers layout refresh via vtable 0x98. 0x009F0DC0 21 UITextLabel__set_line_spacing_009f0dc0 ui_framework Sets line spacing (field 0xd8) and recalculates layout. 0x009F0DE0 35 UITextLabel__set_font_by_name_009f0de0 ui_framework Sets font by looking up font index from name via CTextVertex__lookup_font_index_by_name. Stores result in field 0xd4 and recalculates layout. 0x009F0E10 25 UITextLabel__set_shadow_009f0e10 ui_framework Sets text shadow flag (field 0xec) and shadow color (field 0xf0). 0x009F0E30 25 UITextLabel__set_outline_009f0e30 ui_framework Sets text outline flag (field 0xe4) and outline color (field 0xe8). 0x009F0E50 35 UITextLabel__assign_text_and_recalc_009f0e50 ui_framework Assigns text via STL string assign and recalculates layout. 0x009F0E80 24 UITextLabel__assign_text_no_recalc_009f0e80 ui_framework Assigns text via STL string assign without triggering layout recalculation. 0x009F0EA0 44 UIListBox__find_item_by_id_009f0ea0 ui_events Searches linked list at field 0x50 for an item whose field 0x2c matches param_2 (item ID). Returns item pointer or 0 if not found. 0x009F0ED0 47 UIListBox__find_item_by_data_009f0ed0 ui_events Searches linked list at field 0x50 for an item whose field 0x1c0 matches param_2 (user data). Returns item pointer or 0 if not found. 0x009F0F10 209 UIListBox__select_item_009f0f10 ui_events Selects a list box item. If param_2 is 0, deselects all items. Otherwise checks disabled flag (field 0x84), invokes selection filter callback at field 0xd4 if present, sets selection in field 0x80, updates all items' selected state via UIListItem__set_selected_state, and notifies via callback at field 0xac. 0x009F0FF0 244 UIListBox__select_item_by_data_009f0ff0 ui_events Selects a list box item by searching for one with matching field 0x1c0 data value. If found, performs same selection logic as select_item (deselect others, notify callback). If not found, selects null. 0x009F10F0 277 UIListBox__select_item_by_index_009f10f0 ui_events Selects a list box item by index. Returns 0 if index >= item count (field 0x54). Traverses linked list to find nth item, then performs standard selection logic. Returns 1 on success. 0x009F1210 260 UITextLabel__auto_resize_to_text_009f1210 ui_framework Auto-resizes text label to fit text content. Two modes based on field 0x4f: mode 1 (vertical) measures text width, resizes height, applies vertical alignment; mode 0 (horizontal) measures text height, resizes width+2, applies horizontal alignment. Uses FUN_00a80230/FUN_00a80580 for text measurement. 0x009F1600 40 UIListBox__on_item_click_009f1600 ui_events Handles click on a list box item. If not disabled (field 0x84 == 0), calls focus handler and then select_item if field 0x10 (parent) is set. 0x009F1630 31 UIListBox__on_item_release_009f1630 ui_events Handles item release in list box. Checks if this is active control and releases focus via FUN_00aa66c0. 0x009F1690 96 UIListItem__update_skin_colors_009f1690 ui_framework Updates list item skin colors. Resolves 3 colors from sprite names at fields 0x1d4, 0x1dc, 0x1e4 via CSkinManager__get_color_from_sprite, stores results in fields 0x1c8/0x1cc/0x1d0 (normal/selected/hover colors). Calls FUN_009e8150 to propagate. 0x009F16F0 72 UIListItem__set_selected_state_009f16f0 ui_framework Sets list item selected state. Calls UIControl__set_state, notifies scrollbar at field 0x70 (vtable 0x38), if selected (param_2) and callback at field 0x31 exists invokes it, triggers layout. 0x009F1740 94 UIListItem__set_grid_params_009f1740 ui_framework Sets list item grid/layout parameters. Stores 6 values to fields 0x75-0x7a (column/row info, spacing), sets flag 0x71=1, triggers visual update (vtable 0xd4) and layout refresh (vtable 0x98). 0x009F17A0 436 UIListItem__set_behavior_009f17a0 ui_framework Sets list item behavior. Stores param_2 in field 0xe4, allocates 0x20 byte buffer with "GetBeHaviorOfWindow" string, calls FUN_00afc9a0 with a global to register behavior. 0x009F1980 95 UIListBox__resize_content_area_009f1980 ui_events Resizes the list box content/scrollable area. Gets child container from field 0x10, adjusts height to match control or saved value (field 0xd8). Sets size via vtable, calls FUN_00aab0d0 and FUN_00a976c0 to update, then propagates offset delta to children via SpriteLayer__propagate_offset_to_children. 0x009F19E0 185 UIProgressBar__draw_bar_009f19e0 ui_framework Draws progress bar fill. Two modes: simple (field 0x80==0) draws single texture; 3-part mode draws left cap (field 0x84), tiling middle (field 0x88) repeating based on width, and right cap (field 0x8c). Each piece uses sprite width from field+0x114. 0x009F1AA0 335 UIProgressBar__load_textures_009f1aa0 ui_framework Loads progress bar textures. Always loads middle texture from field 0xa8 into field 0x88. If 3-part mode (field 0x80), also loads left cap from field 0x90 into field 0x84, and right cap from field 0xc0 into field 0x8c. Releases old textures. 0x009F1BF0 78 UIProgressBar__on_resize_009f1bf0 ui_framework Handles progress bar resize. Computes size delta, calls base resize (FUN_00a82eb0), then repositions two child controls at fields 0xe0 and 0xe4 by adjusting their x position by the delta. 0x009F1C40 133 UIProgressBar__set_3part_textures_009f1c40 ui_framework Enables 3-part mode (field 0x20=1) and sets texture names: left cap (field 0x24), middle tile (field 0x2a), right cap (field 0x30). Triggers visual update and layout refresh. 0x009F1CD0 71 UIProgressBar__set_single_texture_009f1cd0 ui_framework Sets single texture mode (field 0x20=0) with texture name in field 0x2a. Triggers visual update and layout refresh. 0x009F1D20 28 UIProgressBar__set_text_if_enabled_009f1d20 ui_framework Sets progress bar text if field 0xdc (show text flag) is nonzero. Delegates to UITextLabel__assign_text_and_recalc. 0x009F1D40 19 UIScrollbar__scroll_backward_009f1d40 ui_events Scrolls backward (decrements). Calls FUN_009f2530 with current value (0x9c) minus step size (0x98). 0x009F1D60 19 UIScrollbar__scroll_forward_009f1d60 ui_events Scrolls forward (increments). Calls FUN_009f2530 with current value (0x9c) plus step size (0x98). 0x009F1D80 89 UIScrollbar__pixel_to_value_009f1d80 ui_events Converts pixel position to scrollbar value. Returns ceil(max_value * pixel_pos / track_area). Returns 0 if track area (field 0xa4) is 0. 0x009F1DE0 913 UIScrollbar__create_child_controls_009f1de0 ui_events Creates scrollbar child controls if not already created. Creates 3 child controls at fields 0x80 (up button), 0x84 (down button), 0x88 (thumb/slider). Each is allocated (0x120 bytes), constructed via FUN_009bdf40 or FUN_00a79a90, given a callback, and parented. Thumb uses PTR_FUN_0114c95c vtable with extensive string fields init. 0x009F23B0 71 UIScrollbar__on_track_click_009f23b0 ui_events Handles click on scrollbar track area. If clicked above thumb position, scrolls backward by step size. If clicked below thumb (position + height), scrolls forward by step size. 0x009F2400 31 UIScrollbar__on_thumb_drag_start_009f2400 ui_events Handles thumb drag start. Grabs focus and stores initial Y position (param_3) in field 0x90. 0x009F2420 44 UIScrollbar__on_thumb_drag_end_009f2420 ui_events Handles thumb drag end. Releases focus if this is active control, stores final Y position in field 0x90. 0x009F2450 93 UIScrollbar__draw_tooltip_009f2450 ui_events Draws scrollbar tooltip text. If field 0xa8 (has tooltip) is nonzero, renders text from field 0x98 string at offset (0, -20) via FUN_00ad6510. 0x009F24B0 62 UIScrollbar__on_thumb_drag_move_009f24b0 ui_events Handles thumb drag movement. If this is active scrollbar and Y changed from stored position (field 0x90), computes delta and invokes scroll callback at field 0x11c. 0x009F2500 39 UIScrollbar__on_wheel_scroll_009f2500 ui_events Handles mouse wheel scroll. If param_2 < 1 (scroll down), adds step size to current value. Otherwise subtracts step size. Calls FUN_009f2530 to apply. 0x009F2530 135 UIScrollbar__set_value_009f2530 ui_events Sets scrollbar value, clamped to [0, max_value (field 0x28)]. If not locked (field 0x2a==0), stores in field 0x27. Calls vtable 0x38 with enabled state, vtable 0xd8 to update thumb position, notifies value change callback at field 0x3b, triggers layout. 0x009F25C0 234 UIScrollbar__update_horizontal_thumb_009f25c0 ui_events Updates horizontal scrollbar thumb position. Similar to vertical version but uses width fields and positions along X axis. Two modes: proportional calculates thumb width from ratio, standard computes position from value. 0x009F26B0 335 UIScrollbar__load_track_textures_009f26b0 ui_events Loads scrollbar track textures. Loads middle texture from field 0xc8 into field 0x88. If 3-part mode (field 0x80), also loads top texture from field 0xb0 into field 0x84, bottom texture from field 0xe0 into field 0x8c. 0x009F2800 145 UIScrollbar__load_thumb_texture_009f2800 ui_events Loads scrollbar thumb/grip texture from field 0xac into field 0x8c. Releases old texture reference. 0x009F28A0 69 UIScrollbar__on_resize_update_layout ui_events Handles scrollbar resize. Moves parent, repositions down button to bottom, calculates available track area as total height minus both button heights. 0x009F28F0 310 UIScrollbar__set_button_labels ui_events Sets text labels on scrollbar up/down buttons. Loads textures from provided string params, resizes buttons, sets text labels, and triggers visibility refresh. 0x009F2A30 17 UIScrollbar__disable_and_hide_009f2a30 ui_events Disables scrollbar by setting flag 0xa9=1 and calling vtable 0x38 with 0 (hide/disable). 0x009F2A50 52 UIScrollbar__set_smooth_scroll_009f2a50 ui_events Sets smooth scrolling flag (field 0xaa) on scrollbar and propagates to all 3 child controls: up button (0x80+0xfc), down button (0x84+0xfc), thumb (0x88+0x94). 0x009F2A90 133 UIScrollbar__set_3part_track_textures_009f2a90 ui_events Enables 3-part track mode (field 0x20=1) and sets 3 texture names for track: top (field 0x2c), middle (field 0x32), bottom (field 0x38). Triggers visual update and layout. 0x009F2B20 71 UIScrollbar__set_single_track_texture_009f2b20 ui_events Sets single track texture mode (field 0x20=0) with texture name in field 0x32. Triggers visual update and layout. 0x009F2B70 68 UIScrollbar__set_max_value_009f2b70 ui_events Sets scrollbar maximum value (field 0x24, min 1). Clamps visible range (field 0x25) to not exceed max. Computes scrollable range (field 0x28 = max - visible). Triggers layout. 0x009F2BC0 24 UIScrollbar__set_max_clamped_009f2bc0 ui_events Sets scrollbar maximum value, but forces to 0 if disabled flag (field 0xa9) is set. Stores in field 0x28. 0x009F2BE0 279 UIScrollbar__setup_horizontal_thumb_009f2be0 ui_events Sets up horizontal scrollbar thumb. Computes track area (width minus button widths), calculates thumb size from visible/total ratio, positions and sizes thumb control. Sets 3-part texture mode on thumb with params 2-4 as textures. Triggers layout. 0x009F2D00 267 UIScrollbar__setup_horizontal_thumb_single_009f2d00 ui_events Sets up horizontal scrollbar thumb with single texture. Computes track area, validates texture string, sizes/positions thumb control, sets single texture mode with param_2. Triggers layout. 0x009F2E10 44 UIScrollbar__set_thumb_tooltip_text_009f2e10 ui_events Sets tooltip text on the scrollbar thumb control. Assigns string to thumb's field 0x98 from field 0x88. 0x009F2E40 64 UIScrollbar__set_background_texture_009f2e40 ui_events Sets scrollbar background texture name (field 0x2b). Triggers visual update and layout. 0x009F2E80 50 UIScrollbar__set_visible_range_009f2e80 ui_events Sets scrollbar visible range (field 0x25), clamped to not exceed max value (field 0x24). Recomputes scrollable range (field 0x28 = max - visible). Triggers layout. 0x009F2EC0 45 UIScrollbar__snap_to_step_009f2ec0 ui_events Snaps scrollbar value to nearest step boundary. If adjusted value (param_2 - remainder + current) differs from current value, calls set_value. 0x009F2EF0 22 UIScrollbar__create_callback_up_009f2ef0 ui_events Creates callback for scrollbar up button with vtable PTR_FUN_0114cb68. 0x009F2F10 22 UIScrollbar__create_callback_down_009f2f10 ui_events Creates callback for scrollbar down button with vtable PTR_FUN_0114cb84. 0x009F2F30 22 UIScrollbar__create_callback_thumb_009f2f30 ui_events Creates callback for scrollbar thumb with vtable PTR_FUN_0114cba0. 0x009F2F50 68 UIScrollbar__scalar_deleting_dtor_up_009f2f50 ui_events Scalar deleting destructor for scrollbar up-button callback. Frees 8 bytes if flag set. 0x009F2FA0 68 UIScrollbar__scalar_deleting_dtor_down_009f2fa0 ui_events Scalar deleting destructor for scrollbar down-button callback. Frees 8 bytes if flag set. 0x009F2FF0 68 UIScrollbar__scalar_deleting_dtor_thumb_009f2ff0 ui_events Scalar deleting destructor for scrollbar thumb callback. Frees 8 bytes if flag set. 0x009F3080 23 UIScrollbar__forward_set_color_009f3080 ui_events Forwards set_color to the scrollbar's parent control at field+4 via vtable 0xdc. 0x009F30D0 22 UIScrollbar__create_callback_up2_009f30d0 ui_events Creates callback with vtable PTR_FUN_0114cb68 for scrollbar up button. Variant 2. 0x009F30F0 22 UIScrollbar__create_callback_down2_009f30f0 ui_events Creates callback with vtable PTR_FUN_0114cb84 for scrollbar down button. Variant 2. 0x009F3110 22 UIScrollbar__create_callback_thumb2_009f3110 ui_events Creates callback with vtable PTR_FUN_0114cba0 for scrollbar thumb. Variant 2. 0x009F3160 66 UIWindow__reset_to_default_size_009f3160 ui_events Resets UI window to default size (690x470) at position (0,0). Clears fields 0x2d (2 bytes) and sets field 0x35 flag. Calls resize and reposition via vtable methods 0x3c and 0x40. 0x009F31B0 13770 UIWindow__ctor_009f31b0 ui_events UIWindow: ctor 009f31b0 0x009F6780 38 UIWindow__scalar_deleting_dtor_009f6780 ui_events UIWindow scalar deleting destructor. Calls base class destructor, then frees 0x108 bytes if deletion flag (bit 1) is set. Returns this pointer. 0x009F67B0 34 memcpy_range_a_009f67b0 stl Copies memory range [param_1, param_2) to destination param_3. Returns pointer past last written byte. Used for vector relocation. 0x009F67E0 34 memcpy_range_b_009f67e0 stl Copies memory range [param_1, param_2) to destination param_3. Returns pointer past last written byte. Variant B for different vector type. 0x009F6810 103 std__tree__destroy_nodes_recursive_009f6810 stl Recursively destroys red-black tree nodes. For each non-nil node, recursively destroys right subtree (field[2]), then frees node (0x18 bytes) and advances to next (field[0]). Continues until hitting nil sentinel (field+0xd != 0). 0x009F6880 418 std__vector_int__reallocate_009f6880 stl std::vector reallocation. Grows to max(param_2, 1.5x current capacity). Allocates new buffer, zero-fills new elements, copies existing data, frees old buffer. Throws length_error if > 0x3fffffff elements. 0x009F6A30 418 std__vector_int__reallocate_b_009f6a30 stl std::vector reallocation variant B. Same logic as 009f6880 but for a different vector instance/type. Grows capacity, allocates, copies, and frees old buffer. 0x009F6C40 28 _Zero_range<> stl STL _Zero_range: fills a memory range with zeros using element-sized strides 0x009F6C60 28 _Zero_range<> stl STL _Zero_range: fills a memory range with zeros using element-sized strides 0x009F6C80 85 std__rotate_int_ptr_009f6c80 stl std::rotate implementation for int pointers. Rotates range [param_2, param_4) around pivot param_3. Handles edge cases where pivot equals begin or end. Returns new pivot position. 0x009F6CE0 85 std__rotate_int_ptr_b_009f6ce0 stl std::rotate variant B for int pointers. Same logic as 009f6c80. 0x009F6D40 444 UIComboBox__ctor_009f6d40 game_core UIComboBox constructor. Calls base UIControl ctor, sets vtable PTR_FUN_0114dffc, initializes selection/items fields, creates map (0x2c byte nodes) at field 0x24, linked list (0x10 byte nodes) at field 0x35. Initializes selected index to -1 (field 0x37). 0x009F6F00 447 UIComboBox__ctor_large_009f6f00 game_core UIComboBox constructor variant with larger node allocation (0x100 bytes vs 0x10). Sets vtable PTR_FUN_0114e184. Otherwise same structure as 009f6d40. 0x009F70C0 291 UIListView__ctor game_core UIListView constructor. Calls base UIControl ctor, sets vtable PTR_UIListView_0114d630. Creates RB-tree map (0x18 byte nodes) at field 0x22, linked list (0xc byte nodes) at field 0x24. Initializes counter/state fields 0x26-0x2c, default selection index -1. 0x009F71F0 250 UIEditBox__ctor_009f71f0 ui_events UIEditBox constructor. Calls base ctor, sets vtable PTR_FUN_0114cc98. Initializes text fields, cursor position, max length (100), various editing flags. Calls CItemInfoMgr__clear_tree_and_free_alt for internal tree setup. 0x009F72F0 133 UISlider__ctor_009f72f0 game_core UISlider constructor. Simple ctor: calls base UIControl, sets vtable PTR_FUN_0114dcdc, initializes 3 fields (0x20-0x22) to 0. 0x009F7380 151 UICheckBox__ctor_009f7380 game_core UICheckBox constructor. Calls base ctor, sets vtable PTR_UIWindow__scalar_deleting_dtor_0114ce5c. Initializes state (field 0x20=0), and two other fields (0x2b, 0x35) to 0. 0x009F7420 191 UITabControl__ctor_009f7420 ui_events UITabControl constructor. Extends CUITabControl__ctor, sets vtable PTR_FUN_0114cd78. Initializes colors (0xffffff normal, 0xffffff selected, 0xcecece disabled), layout params, tab count/state fields. 0x009F74E0 393 UIComboBox__dtor_009f74e0 game_core UIComboBox destructor. Destroys selection/item callbacks (fields 0x4d, 0x43), frees linked list nodes at field 0x35, destroys map internal storage, frees string at field 0x26, releases 4 texture references (fields 0x20-0x23), calls base dtor. 0x009F7670 348 UIComboBox__dtor_large_009f7670 game_core UIComboBox destructor for large variant. Same cleanup as 009f74e0 but also destroys hash table (CHashTable__dtor) and uses different node destructor (FUN_009f7dd0). 0x009F77D0 67 std__map_node_free_009f77d0 stl Frees a 0x18 byte map node at field+4 via operator delete. SEH protected. 0x009F7820 33 UIControl__destroy_callback_a_009f7820 ui_framework Destroys callback object at field[9]. Calls destructor via vtable offset 0x10, then nulls the field. Checks self-reference to avoid double-free. 0x009F7850 33 UIControl__destroy_callback_b_009f7850 ui_framework Destroys callback object at field[9]. Same pattern as 009f7820. 0x009F7880 33 UIControl__destroy_callback_c_009f7880 ui_framework Destroys callback object at field[9]. Same pattern as 009f7820. 0x009F78B0 33 UIControl__destroy_callback_d_009f78b0 ui_framework Destroys callback object at field[9]. Same pattern as 009f7820. 0x009F78E0 33 UIControl__destroy_callback_e_009f78e0 ui_framework Destroys callback object at field[9]. Same pattern as 009f7820. 0x009F7910 111 std__map__destroy_all_nodes_009f7910 stl Destroys entire std::map. Iterates tree from root, recursively destroys child subtrees via std__tree__destroy_nodes_recursive, frees each node (0x18 bytes), then frees the sentinel node. 0x009F7990 78 std__map_node_dtor_variant_a_009f7990 stl Map node destructor variant. Frees 0x18 byte node at field+4. SEH protected. 0x009F79E0 78 std__map_node_dtor_variant_b_009f79e0 stl Map node destructor variant B. Frees 0x18 byte node at field+4. SEH protected. 0x009F7A30 92 UIControl__destroy_callback_seh_a ui_framework Destroys callback object at field[9] with SEH protection. Calls virtual destroy method via vtable offset 0x10 if non-null, then nulls the pointer. Variant A. 0x009F7A90 92 UIControl__destroy_callback_seh_b ui_framework Destroys callback object at field[9] with SEH protection. Same pattern as variant A. Variant B. 0x009F7AF0 92 UIControl__destroy_callback_seh_c ui_framework Destroys callback object at field[9] with SEH protection. Same pattern as variant A. Variant C. 0x009F7B50 92 UIControl__destroy_callback_seh_d ui_framework Destroys callback object at field[9] with SEH protection. Same pattern as variant A. Variant D. 0x009F7BB0 92 UIControl__destroy_callback_seh_e ui_framework Destroys callback object at field[9] with SEH protection. Same pattern as variant A. Variant E. 0x009F7C10 103 std__forward_list_destroy_0xc_nodes stl Destroys all nodes in a forward_list with 0xC-byte nodes. Zeros the tail pointer, walks and frees each node, then frees the header. 0x009F7C80 103 std__forward_list_destroy_0x10_nodes stl Destroys all nodes in a forward_list with 0x10-byte nodes. Zeros the tail pointer, walks and frees each node, then frees the header. 0x009F7CF0 65 std__map_destroy_wrapper_009f7cf0 stl Wrapper that calls std::map destroy_all_nodes to fully clear a map. SEH protected. 0x009F7D40 129 std__vector_ptr_deallocate_a stl Deallocates std::vector pointer buffer. Handles aligned deallocation for buffers >0xFFF bytes. Zeros begin/end/capacity pointers. 0x009F7DD0 129 std__vector_ptr_deallocate_b stl Deallocates std::vector pointer buffer (variant b). Same pattern as vector_ptr_deallocate_a. 0x009F7E60 71 UITabControl__dtor_009f7e60 ui_events UITabControl destructor. Sets vtable, delegates to UIControlBase::dtor. 0x009F7EB0 181 UIListView__dtor game_core UIListView destructor. Sets vtable, destroys forward_list of 0xC-byte nodes at offset 0x24, destroys map, resets vtable to UIBase, calls CEffect::dtor. 0x009F7F70 231 UIComboBox__dtor game_core UIComboBox destructor. Sets vtable, releases callback at offset 0x75, releases 2 smart pointers (0x6A, 0x68), destroys 3 strings, resets vtable to UIBase, calls CEffect::dtor. 0x009F8060 84 UIPanel__dtor game_core UIPanel destructor. Sets vtable chain, resets to UIBase, calls CEffect::dtor. 0x009F80C0 84 UIFrame__dtor game_core UIFrame destructor. Sets vtable chain, resets to UIBase, calls CEffect::dtor. 0x009F8120 97 UIFrameEx__dtor game_core UIFrameEx destructor. Sets 3-level vtable chain, resets to UIBase, calls CEffect::dtor. 0x009F8190 71 UIListViewEx__dtor game_core UIListViewEx destructor. Sets vtable, delegates to UIListView::dtor. 0x009F81E0 71 UITreeView__dtor ui_events UITreeView destructor. Sets vtable, delegates to UIListView::dtor. 0x009F8230 71 UIGridView__dtor game_core UIGridView destructor. Sets vtable, delegates to UIListView::dtor. 0x009F8280 97 UIWindowEx__dtor game_core UIWindowEx destructor. Sets 3-level vtable chain (WindowEx->Window->UIBase), calls CEffect::dtor. 0x009F82F0 97 UIWindowExVariantA__dtor game_core UIWindowExVariantA destructor. Sets 3-level vtable chain, calls CEffect::dtor. 0x009F8360 97 UIWindowExVariantB__dtor game_core UIWindowExVariantB destructor. Sets 3-level vtable chain, calls CEffect::dtor. 0x009F83D0 97 UIWindowExVariantC__dtor game_core UIWindowExVariantC destructor. Sets 3-level vtable chain, calls CEffect::dtor. 0x009F8440 84 UIWindow__dtor ui_events UIWindow destructor. Sets 2-level vtable chain (Window->UIBase), calls CEffect::dtor. 0x009F84A0 185 UIWindowWithCallbacks__dtor game_core UIWindow destructor with callback cleanup. Sets vtable, releases 2 std::any callbacks at offsets 0x35 and 0x2B, resets to UIBase, calls CEffect::dtor. 0x009F8560 71 UITabControlWindow__dtor ui_events UITabControlWindow destructor. Sets vtable, delegates to CUITabControl::dtor. 0x009F85B0 71 UIControlWindow__dtor ui_framework UIControlWindow destructor. Sets vtable, delegates to UIControlBase::dtor. 0x009F8600 97 UIFrameWindow__dtor game_core UIFrameWindow destructor. Sets 3-level vtable chain (FrameWindow->Frame->UIBase), calls CEffect::dtor. 0x009F8670 71 UIListViewWindow__dtor_009f8670 game_core UIListViewWindow destructor. Sets vtable, delegates to UIListView::dtor. 0x009F86C0 84 UIListViewWindowEx__dtor game_core UIListViewWindowEx destructor. Sets 2-level vtable chain, delegates to UIListView::dtor. 0x009F8720 84 UIListViewWindowExB__dtor game_core UIListViewWindowExB destructor. Sets 2-level vtable chain, delegates to UIListView::dtor. 0x009F8780 164 std__any_clone_and_swap_a stl Clones a std::any callback from source (offset 0x24) into destination. Creates local copy via virtual clone, then swaps into target callback object. 0x009F8830 164 std__any_clone_and_swap_b stl Clones a std::any callback from source (offset 0x24) into destination (variant b). Same pattern as clone_and_swap_a. 0x009F88E0 263 std__map_int_insert_or_find_d stl std::map insert-or-find variant d. Same pattern as other insert_or_find functions. Returns pointer to value field. 0x009F89F0 38 UIComboBoxSmall__scalar_deleting_dtor game_core UIComboBoxSmall scalar deleting destructor. Calls dtor, optionally frees 0x138-byte object. 0x009F8A20 38 UIComboBoxLarge__scalar_deleting_dtor game_core UIComboBoxLarge scalar deleting destructor. Calls large dtor variant, optionally frees 0x138-byte object. 0x009F8A50 99 UITabControl__scalar_deleting_dtor ui_events UITabControl scalar deleting destructor. Sets vtable, calls UIControlBase dtor, optionally frees 0xF0-byte object. 0x009F8AC0 38 UIListView__scalar_deleting_dtor_009f8ac0 game_core UIListView scalar deleting destructor. Calls dtor, optionally frees 0xB8-byte object. 0x009F8AF0 38 UIComboBox__scalar_deleting_dtor game_core UIComboBox scalar deleting destructor. Calls dtor, optionally frees 0x1D8-byte object. 0x009F8B20 112 UIPanel__scalar_deleting_dtor_009f8b20 game_core UIPanel scalar deleting destructor. Sets vtable chain, calls CEffect::dtor, optionally frees 0x94-byte object. 0x009F8B90 112 UIFrame__scalar_deleting_dtor game_core UIFrame scalar deleting destructor. Sets vtable chain, calls CEffect::dtor, optionally frees 0x8C-byte object. 0x009F8C00 125 UIFrameEx__scalar_deleting_dtor game_core UIFrameEx scalar deleting destructor. Sets 3-level vtable chain, calls CEffect::dtor, optionally frees 0x8C-byte object. 0x009F8C80 99 UIListViewEx__scalar_deleting_dtor game_core UIListViewEx scalar deleting destructor. Sets vtable, calls UIListView::dtor, optionally frees 0xB8-byte object. 0x009F8CF0 99 UITreeView__scalar_deleting_dtor ui_events UITreeView scalar deleting destructor. Sets vtable, calls UIListView::dtor, optionally frees 0xB8-byte object. 0x009F8D60 99 UIGridView__scalar_deleting_dtor game_core UIGridView scalar deleting destructor. Sets vtable, calls UIListView::dtor, optionally frees 0xB8-byte object. 0x009F8DD0 125 UIWindowEx__scalar_deleting_dtor game_core UIWindowEx scalar deleting destructor. Sets 3-level vtable chain, calls CEffect::dtor, optionally frees 0x8C-byte object. 0x009F8E50 125 UIWindowExVariantA__scalar_deleting_dtor game_core UIWindowExVariantA scalar deleting destructor. Sets 3-level vtable chain, calls CEffect::dtor, optionally frees 0x8C-byte object. 0x009F8ED0 125 UIWindowExVariantB__scalar_deleting_dtor game_core UIWindowExVariantB scalar deleting destructor. Sets 3-level vtable chain (VariantB->Window->UIBase), calls CEffect::dtor, optionally frees 0x8C-byte object. 0x009F8F50 125 UIWindowExVariantC__scalar_deleting_dtor game_core UIWindowExVariantC scalar deleting destructor. Sets 3-level vtable chain (VariantC->Window->UIBase), calls CEffect::dtor, optionally frees 0x8C-byte object. 0x009F8FD0 112 UIWindow__scalar_deleting_dtor_009f8fd0 ui_events Scalar deleting destructor for a UIWindow subclass. Sets 2 vtable pointers (hierarchy teardown), calls base destructor FUN_00a79e90, and optionally frees 0x8c bytes of memory. 0x009F9040 209 UIWindowWithCallbacks__scalar_deleting_dtor game_core UIWindowWithCallbacks scalar deleting destructor. Sets vtable, releases 2 std::any callbacks at offsets 0x35 and 0x2B, resets to UIBase, calls CEffect::dtor, optionally frees memory. 0x009F9120 99 UITabControlWindow__scalar_deleting_dtor ui_events UITabControlWindow scalar deleting destructor. Sets vtable, calls CUITabControl::dtor, optionally frees object memory. 0x009F9190 99 UIControlWindow__scalar_deleting_dtor ui_framework UIControlWindow scalar deleting destructor. Sets vtable, calls UIControlBase::dtor, optionally frees object memory. 0x009F9200 125 UIFrameWindow__scalar_deleting_dtor game_core UIFrameWindow scalar deleting destructor. Sets 3-level vtable chain (FrameWindow->Frame->UIBase), calls CEffect::dtor, optionally frees 0x8C-byte object. 0x009F9280 99 UIListViewWindow__scalar_deleting_dtor_009f9280 game_core UIListViewWindow scalar deleting destructor. Sets vtable, calls UIListView::dtor, optionally frees 0xB8-byte object. 0x009F92F0 112 UIListViewWindowEx__scalar_deleting_dtor game_core UIListViewWindowEx scalar deleting destructor. Sets 2-level vtable chain (WindowEx->ListViewWindow), calls UIListView::dtor, optionally frees 0xB8-byte object. 0x009F9360 112 UIListViewWindowExB__scalar_deleting_dtor game_core UIListViewWindowExB scalar deleting destructor. Sets 2-level vtable chain (WindowExB->ListViewWindow), calls UIListView::dtor, optionally frees object memory. 0x009F93D0 405 UIWindow__create_child_window_009f93d0 ui_events Factory function that allocates a 0xf0-byte UITabControl child window. Calls UIButton__ctor base constructor, sets UITabControl vtable, initializes fields 0x3a-0x3b to 0, sets size from parent offsets 0xb4/0xb8, configures button state textures from parent 0x80-0x8c, creates two child components via UIComponent__create_from_stream, and adds to parent's child list. 0x009F9570 415 UIWindow__create_child_window_009f9570 ui_events Factory function that allocates a 0xf8-byte UIWindow subclass. Calls UIButton__ctor base constructor, sets vtable, initializes 3 extra fields (0x3a-0x3c to 0), sets size from parent 0xb4/0xb8, configures button state textures, creates two child components via UIComponent__create_from_stream, and adds to parent child list. 0x009F9710 355 UIEditBox__factory_create_009f9710 ui_events Factory function that allocates a 0x108-byte UIEditBox-like window. Calls UIWindowBase__ctor, sets initial vtable, initializes text color (0xffffff), background color (0xcecece), alignment fields, flags, then sets final vtable and zeroes out 11 extra fields (0x36-0x40). Returns new object or NULL. 0x009F9890 85 UIList__clear_all_items_009f9890 game_core Clears all items from a UIList. Iterates the item pointer array from offset 0xc8 to 0xcc, calling CEffect__remove_child_from_list(item, 1) to destroy each item, then resets the end pointer to start and sets selected index (0xdc) to -1. 0x009F98F0 85 UIList__clear_all_items_009f98f0 game_core Clears all items from a UIList. Iterates the item pointer array from offset 0xc8 to 0xcc, calling CEffect__remove_child_from_list(item, 1) to destroy each item, then resets the end pointer to start and sets selected index (0xdc) to -1. 0x009F9950 36 UIWindow__set_size_and_position_009f9950 ui_events Sets window position (params 4,5 stored at offsets 0xb4, 0xb8) and calls CEffect__set_size_and_reload with size parameters (params 2,3). 0x009F9980 36 UIWindow__set_size_and_position_009f9980 ui_events Sets window position (params 4,5 stored at offsets 0xb4, 0xb8) and calls CEffect__set_size_and_reload with size parameters (params 2,3). 0x009F99B0 218 UIPanel__factory_create_009f99b0 game_core Factory function that allocates a 0x94-byte UIPanel. Calls CEffect base ctor, sets UIBase vtable then UIPanel vtable, initializes flag at 0x1f to 1, zeroes 5 fields (0x20-0x24), sets size to 70x50, sets minimum height to 200 via vtable, finalizes with CEffect__add_child_to_list_end. 0x009F9A90 69 UIList__get_selected_item_009f9a90 game_core Gets the currently selected item from a UIList. Reads selected index from offset 0xdc, validates it against count at 0xd8, traverses the linked list from head (offset 0xd4) by index steps, returns pointer to item data (node+8). Sets result valid flag accordingly. 0x009F9AE0 69 UIList__get_selected_item_009f9ae0 game_core Gets the currently selected item from a UIList. Reads selected index from offset 0xdc, validates it against count at 0xd8, traverses the linked list from head (offset 0xd4) by index steps, returns pointer to item data (node+8). Sets result valid flag accordingly. 0x009F9B40 193 UIWindow__create_embedded_child_009f9b40 ui_events Creates and attaches an embedded child window (0xf0 bytes) to parent at offset 0xb0. Calls UIInterfaceDialog__ctor, sets visibility via vtable, creates stream component via UIComponent__swap_callback, finalizes with CEffect__add_child_to_list_end. 0x009F9C10 193 UIWindow__create_embedded_child_009f9c10 ui_events Creates and attaches an embedded child window (0xf0 bytes) to parent at offset 0xb0. Calls UIInterfaceDialog__ctor, sets visibility via vtable, creates stream component via UIComponent__swap_callback, finalizes with CEffect__add_child_to_list_end. 0x009F9CE0 767 UIWindow__init_editbox_and_label_009f9ce0 ui_events Initializes a text edit box (0x1d8 bytes via UIEditBox__ctor) stored at param+0xe8 with max length 100 and line mode, plus a text label (0xfc bytes) at param+0xec. Sets font size 12, bold, color 0xc89682, white text. Decrypts XOR-encrypted resource strings for setup. 0x009F9FE0 6172 UIWindow__create_widgets_from_resource ui_events Creates UI widgets from decrypted resource data. 6.1K bytes. Called by UIWindow__setup_with_decrypted_resource variants. Builds combo boxes, edit boxes, text labels, scrollbars, buttons, list items, item slots. Configures font, color, text properties for each widget. 0x009FB800 2175 UIWindow__init_buttons_editbox_labels_009fb800 ui_events Complex UI initialization: creates two button controls (0xb8 each at offsets 0x80, 0x84) with XOR-decrypted BMP resources, a text edit box (0x1d8 at offset 0x88) with 100 char limit, and two text labels (0xfc each at offsets 0x8c, 0x90) with font size 12, bold, grey/brown colors. Uses xor_decrypt_buffer for all string resources. 0x009FC080 3411 UIWindow__init_complex_panel_009fc080 ui_events Complex panel initialization: creates two image windows (0xb8 each at offsets 0x80, 0x84) sized 0x1d6x0x179, a button (0xd8 at offset 0x88) sized 0x4c x 0x14, two scrollable text windows (0x1f0 each). Decrypts multiple XOR-encrypted resource strings for BMP paths. Sets up 4 text streams via FUN_009e8350. Links image windows to scroll windows. 0x009FCDE0 451 UIWindow__setup_with_decrypted_resource_009fcde0 ui_events Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x29 bytes) and loads it as a BMP via UIControl__load_bmp_resource. 0x009FCFB0 451 UIWindow__setup_with_decrypted_resource_009fcfb0 ui_events Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x29 bytes) and loads it as a BMP via UIControl__load_bmp_resource. 0x009FD180 435 UIWindow__setup_with_decrypted_resource_009fd180 ui_events Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x28 bytes) and loads it as a BMP via UIControl__load_bmp_resource. 0x009FD340 2286 EnchantUI__setup_socket_button_panel_009fd340 ui_windows Sets up an enchant UI socket button panel. Calls FUN_009ff700 for base init, positions child at 0x3b,1. Creates 4 button BMP strings (EnchantUI_btn_socket_out.bmp, _over.bmp, _select.bmp) and calls FUN_009efb00 to create the button. Configures a text label: font size 12, bold, color 0x965532, magenta outline (0xffff00ff), size 39x13, with hardcoded string references. 0x009FDC30 2286 EnchantUI__setup_socket_button_panel_009fdc30 ui_windows Sets up an enchant UI socket button panel (variant). Nearly identical to 009fd340 - calls FUN_009ff700, positions child, creates socket button BMPs (EnchantUI_btn_socket_out/over/select.bmp), configures text label with font 12, bold, color 0x965532, magenta outline. Different vtable pointer (PTR_FUN_0114e298). 0x009FE520 2286 EnchantUI__setup_socket_button_panel_009fe520 ui_windows Sets up an enchant UI socket button panel (variant 3). Calls FUN_009ff700 for base init, positions child at 3,1. Creates socket button BMPs, configures text label with font 12, bold, color 0x965532, magenta outline. Uses PTR_FUN_0114e2b4 vtable. 0x009FEE10 2286 EnchantUI__setup_socket_button_panel_009fee10 ui_windows Sets up an enchant UI socket button panel (variant 4). Calls FUN_009ff700 for base init, positions child at 3,1. Creates socket button BMPs, configures text label with font 12, bold, color 0x965532, magenta outline. Uses PTR_FUN_0114e2d0 vtable. 0x009FF700 4474 EnchantUI__init_base_panel_009ff700 ui_windows Base initialization for EnchantUI panels. Allocates a 0x178-byte window via FUN_009bdf40, sets vtable, sets size 44x44. Creates a text edit box (0x1d8 at offset 0x84) with 100 char limit. Creates a label (0xe0 at offset 0x88) sized 39x96 with font 12 bold 0x965532 magenta outline. Decrypts 4 XOR-encrypted BMP strings for button creation via FUN_009efb00. Also decrypts strings for tooltip display via FUN_009ea900/FUN_009ea940/FUN_009ea960. 0x00A00880 1218 UIWindow__init_editbox_button_label_00a00880 ui_events Creates a text edit box (0x1d8 at offset 0xe8) with 100 char limit, a small image button (0xb8 at offset 0xec) sized 12x12 with XOR-decrypted BMP, and a text label (0xfc at offset 0xf0) sized 152x12 with font 12 bold grey (0x959595) colors. Decrypts resource strings for both BMP and font setup. 0x00A00D50 3443 EnchantUI__init_complex_panel_00a00d50 ui_windows Complex EnchantUI panel initialization (3443 bytes). Creates and configures multiple child UI elements. 0x00A01AD0 451 UIWindow__setup_with_decrypted_resource_00a01ad0 ui_events Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x29 bytes) and loads it as a BMP via UIControl__load_bmp_resource. 0x00A01CA0 451 UIWindow__setup_with_decrypted_resource_00a01ca0 ui_events Calls UIWindow__create_widgets_from_resource with params, then decrypts a XOR-encrypted resource string (0x29 bytes) and loads it as a BMP via UIControl__load_bmp_resource. 0x00A01E90 63 UIWindow__delegate_action_to_child_00a01e90 ui_events Checks child window at offset 0xb0: if not locked (flag 0x2a==0) and has pending items (0x25 < 0x24), calls vtable method 0x8c on child. Otherwise delegates to parent at offset 0x10 via vtable 0x8c. 0x00A01ED0 63 UIWindow__delegate_action_to_child_00a01ed0 ui_events Checks child window at offset 0xb0: if not locked (flag 0x2a==0) and has pending items (0x25 < 0x24), calls vtable method 0x8c on child. Otherwise delegates to parent at offset 0x10 via vtable 0x8c. 0x00A01F10 65 UIList__set_selected_highlight_00a01f10 game_core Iterates all items in a UIList (offset 0xc8 to 0xcc), calling vtable method 0xdc on each with a boolean indicating whether the item matches param_2 (the selected item). Used to highlight the selected item and unhighlight others. 0x00A01F60 65 UIList__set_selected_highlight_00a01f60 game_core Iterates all items in a UIList (offset 0xc8 to 0xcc), calling vtable method 0xdc on each with a boolean indicating whether the item matches param_2 (the selected item). Used to highlight the selected item and unhighlight others. 0x00A01FB0 259 UIList__rebuild_item_views_00a01fb0 game_core Rebuilds item views for a UIList. Clears existing child items, calculates needed row count from height/row_height, allocates new view slots, creates child windows via UIWindow__create_child_window for each, then calls UIScrollbar layout functions. 0x00A020C0 259 UIList__rebuild_item_views_00a020c0 game_core Rebuilds item views for a UIList variant. Same logic as 00a01fb0 but uses UIWindow__create_child_window_009f9570 for child creation and a different vector reallocator for array growth. 0x00A021D0 196 UIWindow__bind_callback_and_notify_00a021d0 ui_events Binds a callback object from the stack parameter, clones it via vtable call, passes to swap_polymorphic_child at this+0x150 for event registration, then releases the clone and original callback objects via their Release vtable methods. 0x00A022A0 522 UIButton__load_textures_from_map_00a022a0 ui_events Loads 4 button state textures (normal=0, hover=1, pressed=2, disabled from offset 0x98) from a string map using std__map_int_string__subscript and UIControl__load_texture_resource. Stores texture handles at offsets 0x80, 0x84, 0x88, 0x8c. Releases old textures. Updates all child items with new textures via FUN_009f02e0. 0x00A024B0 522 UIButton__load_textures_from_map_00a024b0 ui_events Loads 4 button state textures (normal=0, hover=1, pressed=2, disabled from offset 0x98) from a string map. Same pattern as 00a022a0 - stores at offsets 0x80-0x8c, releases old textures, updates children. 0x00A026C0 115 UIList__update_data_and_rebuild_00a026c0 game_core Updates list data via FUN_00a82eb0, rebuilds views via FUN_00a01fb0, syncs child window content, recalculates layout with scroll offset (0xd8 * row_height + 0xc0), calls FUN_009f2530 to set scroll position, sets dirty flag at 0xe1. 0x00A02740 115 UIList__update_data_and_rebuild_00a02740 game_core Updates list data via FUN_00a82eb0, rebuilds views via FUN_00a020c0, syncs child window content, recalculates layout with scroll offset, calls FUN_009f2530 to set scroll position, sets dirty flag at 0xe1. 0x00A027C0 498 UIList__update_visible_items_00a027c0 game_core Updates visible items in a scrollable UIList based on scroll position (param_2). Handles item recycling by shifting view indices. For each visible row, binds data from the linked list (offset 0xd4) to the child view, sets selection highlight via vtable 0xd8, positions the view, and shows it. Hides off-screen items. Uses callback at 0x134 to configure each item. 0x00A029C0 498 UIListView__update_visible_items game_core Updates visible items in a UIListView based on scroll position. Calculates first visible item index from scroll offset / item height. Rotates item pool if needed. For each visible slot, assigns data from linked list, calls selection callback (vtable+0xD8), positions item, and shows. Hides items beyond visible range. 0x00A02BC0 218 UIList__on_item_clicked_00a02bc0 game_core Handles item click in a UIList. If not disabled (0xc4), unhighlights all items except clicked one via vtable 0xd8, highlights the clicked item. Uses __RTDynamicCast to get item index from offset 0x94, updates selected index at 0xdc, and invokes click callback at 0x10c with the selected data from the linked list. 0x00A02CA0 218 UIList__on_item_clicked_00a02ca0 game_core Handles item click in a UIList variant. Same logic as 00a02bc0 - unhighlights others, highlights clicked, dynamic casts to get index, updates selection, invokes callback. Uses different RTTI type (PTR_PTR_01364f74). 0x00A02D80 16 UIWindow__set_child_ptr_00a02d80 ui_events Simple setter: stores param_2 at this+0xb0 (child window pointer). 0x00A02D90 216 UIButton__set_state_strings_and_reload_00a02d90 ui_events Sets 4 button state BMP strings (normal=0, hover=1, pressed=2, disabled at this+0x98) into the internal string map via std__map_int_string__subscript. Calls vtable 0xd4(0) to reload textures and vtable 0x98 to refresh display. 0x00A02E70 216 UIButton__set_state_strings_and_reload_00a02e70 ui_events Sets 4 button state BMP strings (normal=0, hover=1, pressed=2, disabled at this+0x98) into the internal string map. Calls vtable 0xd4(0) to reload and 0x98 to refresh. Same as 00a02d90. 0x00A02F50 22 callback_functor__init_vtable_00a02f50 stl Initializes a callback functor: sets vtable to PTR_FUN_0114e35c and copies target pointer from this+4 into param_2[1]. 0x00A02F70 22 callback_functor__init_vtable_00a02f70 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A02F90 22 callback_functor__init_vtable_00a02f90 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A02FB0 22 callback_functor__init_vtable_00a02fb0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A02FD0 22 callback_functor__init_vtable_00a02fd0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A02FF0 22 callback_functor__init_vtable_00a02ff0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03010 22 callback_functor__init_vtable_00a03010 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03030 22 callback_functor__init_vtable_00a03030 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03050 22 callback_functor__init_vtable_00a03050 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03070 22 callback_functor__init_vtable_00a03070 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03090 22 callback_functor__init_vtable_00a03090 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A030B0 22 callback_functor__init_vtable_00a030b0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A030D0 22 callback_functor__init_vtable_00a030d0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A030F0 22 callback_functor__init_vtable_00a030f0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03110 22 callback_functor__init_vtable_00a03110 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03130 22 callback_functor__init_vtable_00a03130 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03150 22 callback_functor__init_vtable_00a03150 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03170 68 conditional_free_8bytes_00a03170 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via FUN_00e6227f (operator delete). 0x00A031C0 68 conditional_free_8bytes_00a031c0 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03210 68 conditional_free_8bytes_00a03210 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03260 68 conditional_free_8bytes_00a03260 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A032B0 68 conditional_free_8bytes_00a032b0 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03300 68 conditional_free_8bytes_00a03300 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03350 68 conditional_free_8bytes_00a03350 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A033A0 68 conditional_free_8bytes_00a033a0 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A033F0 68 conditional_free_8bytes_00a033f0 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03440 68 conditional_free_8bytes_00a03440 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03490 68 conditional_free_8bytes_00a03490 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A034E0 68 conditional_free_8bytes_00a034e0 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03530 68 conditional_free_8bytes_00a03530 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03580 68 conditional_free_8bytes_00a03580 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A035D0 68 conditional_free_8bytes_00a035d0 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03620 68 conditional_free_8bytes_00a03620 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A03670 68 conditional_free_8bytes_00a03670 stl If param_2 is nonzero, frees 8 bytes of memory at param_1 via operator delete. 0x00A036C0 23 delegate_to_child_fn_00a036c0 game_core Delegate: calls EnchantUI__update_enchant_buttons with *param_1 (dereferenced pointer) and param_2. 0x00A036E0 23 delegate_to_child_fn_00a036e0 game_core Delegate: calls a child function with *param_1 and param_2. 0x00A03710 65 UIList__highlight_item_in_parent_00a03710 game_core Dereferences param_2 to get target item, then iterates all items in the parent list (this+4) calling vtable 0xdc on each with a match boolean. Used to highlight a specific item across the parent's list. 0x00A03760 65 UIList__highlight_item_in_parent_00a03760 game_core Dereferences param_2 to get target item, iterates parent list items calling vtable 0xdc on each with match boolean. 0x00A037B0 20 delegate_update_visible_items_00a037b0 game_core Delegate: calls UIList__update_visible_items_00a027c0 on *param_1 (dereferenced pointer). 0x00A037D0 20 delegate_update_visible_items_00a037d0 game_core Delegate: calls UIList__update_visible_items on *param_1. 0x00A037F0 20 delegate_get_child_and_check_flags_00a037f0 game_core Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). 0x00A03810 20 delegate_get_child_and_check_flags_00a03810 game_core Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). 0x00A03830 20 delegate_get_child_and_check_flags_00a03830 game_core Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). 0x00A03850 20 delegate_get_child_and_check_flags_00a03850 game_core Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). 0x00A03870 20 delegate_get_child_and_check_flags_00a03870 game_core Delegate: calls UIWindow__get_child_and_check_flags on *param_1 (dereferenced pointer). 0x00A03890 216 UIListView__on_item_click_handler_a game_core Handles item click in UIListView. Deselects all other items, selects clicked item (vtable+0xD8). If selection changed, uses RTDynamicCast to get item interface, updates selected index, and invokes selection change callback. 0x00A03970 216 UIListView__on_item_click_handler_b game_core Handles item click in UIListView variant b. Same logic as handler_a but casts to a different type via RTDynamicCast. 0x00A03A50 26 UIListView__delegate_item_selection game_core Delegates item selection to the parent list view. Calls virtual method at vtable+0xD8 with item pointer and param. 0x00A03A70 23 delegate_to_child_fn_00a03a70 game_core Delegate: calls EnchantUI__populate_item_slot with *param_1 (dereferenced pointer) and param_2. 0x00A03BB0 3 identity_passthrough_00a03bb0 crt Returns parameter unchanged; identity function stub 0x00A03BC0 3 identity_passthrough_00a03bc0 crt Identity function that returns its parameter unchanged 0x00A03BD0 517 STL_Tree_val__Insert_node stl MSVC STL std::_Tree_val::_Insert_node. Inserts a node into a red-black tree (std::set/map). Handles tree rotation and rebalancing after insertion. 0x00A03DE0 22 callback_functor__init_vtable_00a03de0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03E00 22 callback_functor__init_vtable_00a03e00 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03E20 22 callback_functor__init_vtable_00a03e20 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03E40 22 callback_functor__init_vtable_00a03e40 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03E60 22 callback_functor__init_vtable_00a03e60 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03E80 22 callback_functor__init_vtable_00a03e80 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03EA0 22 callback_functor__init_vtable_00a03ea0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03EC0 22 callback_functor__init_vtable_00a03ec0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03EE0 22 callback_functor__init_vtable_00a03ee0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03F00 22 callback_functor__init_vtable_00a03f00 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03F20 22 callback_functor__init_vtable_00a03f20 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03F40 22 callback_functor__init_vtable_00a03f40 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03F60 22 callback_functor__init_vtable_00a03f60 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03F80 22 callback_functor__init_vtable_00a03f80 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03FA0 22 callback_functor__init_vtable_00a03fa0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03FC0 22 callback_functor__init_vtable_00a03fc0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A03FE0 22 callback_functor__init_vtable_00a03fe0 stl Callback functor initializer: sets vtable and copies target pointer from this+4. 0x00A04000 341 callback_object__swap_00a04000 game_core Swaps callback objects between two holders (at field offset 9). Handles both heap-allocated and inline-stored callback objects. Uses vtable clone method to copy inline objects during swap, releases old objects properly. 0x00A04160 341 callback_object__swap_00a04160 game_core Swaps callback objects between two holders (at field offset 9). Same pattern as 00a04000. 0x00A043D0 10 thunk_to_std__Xlength_error_00a043d0 stl Calls std::_Xlength_error with vector_too_long message 0x00A043E0 10 thunk_to_std__Xlength_error_00a043e0 stl Calls std::_Xlength_error with vector_too_long message string 0x00A043F0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A04430 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A04470 300 uint64_to_decimal_string_00a04470 game_core Converts a 64-bit unsigned integer (param_2:param_3) to a decimal string. Writes digits in reverse into the buffer ending at param_1. Uses division by 10^9 for the high part and repeated /10 for digit extraction. Returns pointer to start of string. 0x00A045A0 157 uint64_to_std_string_00a045a0 game_core Converts a 64-bit unsigned integer to an std::string. Calls uint64_to_decimal_string_00a04470 to format into a stack buffer, then initializes param_1 as an empty std::string and assigns the decimal characters. 0x00A04640 99 pair_string_dtor_00a04640 game_core Destructor for a pair of std::string objects. Calls STL_string_dtor twice to destroy both strings. 0x00A046B0 99 pair_string_dtor_00a046b0 game_core Destructor for a pair of std::string objects. Calls STL_string_dtor twice to destroy both strings. 0x00A04720 67 conditional_free_12bytes_00a04720 stl If this+4 is nonzero, frees 0xc bytes via operator delete. 0x00A04770 67 conditional_free_16bytes_00a04770 stl If this+4 is nonzero, frees 0x10 bytes via operator delete. 0x00A047C0 78 conditional_free_12bytes_00a047c0 stl If this+4 is nonzero, frees 0xc bytes via operator delete. 0x00A04810 78 conditional_free_16bytes_00a04810 stl If this+4 is nonzero, frees 0x10 bytes via operator delete. 0x00A04860 148 EnchantUI__init_manager_singleton_00a04860 ui_windows Initializes EnchantUI manager. Sets vtable, creates singleton Ench tree (0x38 bytes via Ench__tree_0067ff60) if not already created, registers with Ench manager via Ench__mgr_00682960, then calls CUIWindow base destructor to save position. 0x00A04900 263 std__map_int__subscript_or_insert_00a04900 stl std::map subscript operator. Searches the RB-tree for key *param_2. If found, returns pointer to value. If not found, allocates a 0x18-byte node, inserts it into the tree, and returns pointer to the value field (node+5). Throws on overflow (0xaaaaaaa max). 0x00A04A10 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A04A70 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A04AD0 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A04B30 274 UIList__add_item_pair_00a04b30 game_core Adds an item (0x10-byte node with 8-byte payload from param_2) to the end of the UIList linked list (offset 0xd4). Increments count (0xd8). If param_3 is set, recalculates layout, updates scrollbar, and sets dirty flag. Returns new item index. Throws std::_Xlength_error if count exceeds 0xfffffff. 0x00A04C50 274 UIList__add_shop_item_00a04c50 game_core Adds a CShopItem (0x100-byte node via copy construct) to the UIList linked list. Increments count, optionally recalculates layout/scrollbar. Returns new item index. Max count 0xffffff. 0x00A04D70 226 EnchantUI__on_socket_selected_00a04d70 ui_windows Handles socket selection in EnchantUI. Gets selected item index from list at offset 0x98, traverses linked list to get data, ensures Ench tree singleton exists, gets pointer offset, calls Ench__mgr_00683c20 with item params and equipment slot info. 0x00A04E60 162 EnchantUI__request_enchant_00a04e60 ui_windows Requests enchant operation. Ensures Ench tree singleton, gets equipment pointer and slot info, calls Ench__mgr_00683d10 to send enchant request. 0x00A04F10 152 EnchantUI__request_reset_00a04f10 ui_windows Requests enchant reset. Ensures Ench tree singleton, gets equipment pointer and slot info, calls Ench__mgr_00683e00 to send reset request. 0x00A04FB0 295 EnchantUI__confirm_or_select_action_00a04fb0 ui_windows Handles enchant confirm/select. If flag 0xb8 is set, calls Ench__mgr_00683ff0. Otherwise gets selected item from list, calls Ench__mgr_006863f0, then Ench__mgr_00683ef0 with the selected socket data. 0x00A050E0 162 EnchantUI__request_perfect_upgrade_enchant ui_windows Sends a perfect upgrade enchant request to the server. Ensures CEnchantMgr singleton exists, gets equipment pointer and slot info via CUIItemSlot__this_adjust_0x90, then calls CEnchantMgr__send_perfect_upgrade_enchant_packet with account/character IDs, equipment slot, and enchant slot. Previously misnamed as request_close. 0x00A05190 73 UIWindow__forward_to_parent_views_00a05190 ui_events Dynamic casts parent (offset 0x10) to a specific UI type, then calls vtable method 0xec on both child windows at offsets 0x80 and 0x84 of the cast result, passing param_2. 0x00A051E0 160 UIList__clear_all_data_and_reset_00a051e0 game_core Clears all data from UIList linked list (0xd4). Frees all 0x10-byte nodes, resets head/tail pointers, sets count to 0, selected index to -1, recalculates scrollbar, sets dirty flag. 0x00A05290 218 EnchantUI__find_available_slot_00a05290 ui_windows Finds first available enchant slot. Gets equipment info from offset 0xa4, copies CShopItem data, iterates slot indices checking which are empty (value 0 in aiStack_f0 array). Returns first empty slot index, or -1 if all slots are filled. 0x00A053E0 114 EnchantUI__find_enchant_data_by_id_00a053e0 ui_windows Searches an RB-tree (at offset 0xa4+0x60) for enchant data by ID (param_3). Performs standard RB-tree upper_bound search. Returns pointer to data (node+6) if found with matching or lower key, sets valid flag. Returns invalid if equipment data is null or key not found. 0x00A05470 455 EnchantUI__on_enchant_slot_select ui_windows Handles enchant slot selection. Hides all child windows, resets text to '0', finds enchant data by ID, reads slot index from string field, looks up and navigates to the enchant list window. 0x00A05640 543 EnchantUI__on_enchant_slot_select_extended ui_windows Extended enchant slot selection handler. Similar to on_enchant_slot_select but handles two-level navigation: first finds slot data, then reads sub-index to navigate deeper into enchant hierarchy. 0x00A05860 259 EnchantUI__populate_item_slot ui_windows Populates an item slot in the enchant UI. Clears existing data, loads item info (class/level), populates slot from item data, builds tooltip string, assigns to text label, and calls virtual enable/disable (vtable+0xE0). 0x00A05970 538 EnchantUI__update_enchant_buttons ui_windows Updates enchant UI button states for both enchant containers (offsets 0x3A, 0x3B) and the confirm button (0x3C). For each container's two slots (0x80, 0x84), calls button event handler and optionally resizes based on enchant data. 0x00A05B90 329 EnchantUI__update_item_slot_display ui_windows Updates item slot display with enchant count. Populates slot from item data, formats count string if positive, shows/hides count label, builds tooltip, assigns text. 0x00A05CF0 253 EnchantUI__create_item_slot_grid ui_windows Creates an 8-item slot grid (4 columns x 2 rows). Each slot is factory-created as a UI window, positioned at column*0x4A, row*0x34. Slots are added to a linked list at offset 0x90. Calls button handler after creation. 0x00A05E20 81 EnchantUI__enable_both_child_views ui_windows Enables both child listbox views at offsets 0x80 and 0x84. Finds items via UIListBox__find_item_by_data, sets enabled flag (0x21) to 1, and refreshes display via vtable 0x98. 0x00A05E80 132 EnchantUI__refresh_all_button_states_00a05e80 ui_windows Calls FUN_00a05cf0 for cleanup, then traverses the RB-tree at offset 0x88 (in-order), setting each node's child window (node[5]+0x80) enabled flag to 1 and refreshing via vtable 0x98. 0x00A05F10 153 EnchantUI__refresh_buttons_and_list_00a05f10 ui_windows Same as 00a05e80 but also sets list at offset 0x98 field 0x31 to 1 and calls its vtable 0x98 to refresh. 0x00A05FB0 153 EnchantUI__refresh_buttons_and_list_00a05fb0 ui_windows Same as 00a05f10 - refreshes all button states via RB-tree traversal, then refreshes list control. 0x00A06050 50 EnchantUI__disable_scroll_and_select_tab ui_windows Disables child 0x84 (clears flag 0x7c), hides scrollbar, then calls vtable 0xb4(0) on child 0x80 to select tab index 0. 0x00A06090 50 EnchantUI__disable_scroll_and_select_tab_00a06090 ui_windows Disables child 0x84, hides scrollbar, calls vtable 0xb4(1) on child 0x80 to select tab index 1. 0x00A060D0 50 EnchantUI__disable_scroll_and_select_tab_00a060d0 ui_windows Disables child 0x84, hides scrollbar, calls vtable 0xb4(2) on child 0x80 to select tab index 2. 0x00A06110 50 EnchantUI__disable_scroll_and_select_tab_00a06110 ui_windows Disables child 0x84, hides scrollbar, calls vtable 0xb4(3) on child 0x80 to select tab index 3. 0x00A06170 30 EnchantUI__cleanup_and_refresh_list_00a06170 ui_windows Calls FUN_00a05cf0 for cleanup, then sets list (offset 0x98) field 0x31 to 1 and calls vtable 0x98 to refresh. 0x00A06190 45 EnchantUI__on_mouse_move ui_windows Mouse move handler for EnchantUI. Performs hit test, and if cursor is over the control, calls prepare_render_context to update display. 0x00A061C0 33 EnchantUI__delegate_to_child_vtable70 ui_windows Delegates a virtual call (vtable+0x70) to the child control at offset 0xe8. Used for forwarding UI events in EnchantUI. 0x00A061F0 33 EnchantUI__delegate_to_child_vtable70_00a061f0 ui_windows Delegates a virtual call (vtable+0x70) to the child control at offset 0xe8. Duplicate of 00a061c0 for a different context. 0x00A06220 36 EnchantUI__delegate_to_child_vtable80 ui_windows Delegates a virtual call (vtable+0x80) to the child control at offset 0xe8. 0x00A06250 60 EnchantUI__delegate_mouse_to_child ui_windows Performs hit test, then delegates mouse event to child window at offset 0x84 with coordinates adjusted relative to the child's position. 0x00A06290 36 EnchantUI__delegate_to_child_vtable80_00a06290 ui_windows Delegates a virtual call (vtable+0x80) to the child control at offset 0xe8. Duplicate of 00a06220. 0x00A062C0 52 EnchantUI__dynamic_dispatch_to_child ui_windows Uses RTDynamicCast to get a typed child control from offset 0x10, then calls vtable+0xe8 on it with data from param_2+0x2c. 0x00A06300 74 EnchantUI__sync_scrollbar_state ui_windows Synchronizes scrollbar state: sets max value (item_count * row_height + header), visible range, current scroll position, and marks the list as needing redraw. 0x00A06350 462 EnchantUI__on_item_deselected ui_windows Handles item deselection in EnchantUI. Clears list data, disables all linked list items (vtable 0x38 with 0), resets count to "0", refreshes child 0x28, then toggles a listbox item's enabled state based on vtable 0xe0 result. 0x00A06520 384 EnchantUI__on_item_deselected_variant ui_windows Variant of item deselection handler. Disables linked list items, resets count label to "0", refreshes child 0x28, clears list data, then calls vtable 0xe0. 0x00A066A0 73 EnchantUI__handle_item_drop ui_windows Handles item drop/selection in EnchantUI. Calls button event handler to reset state, then if param_4 != 0, validates via populate_slot_items and stores coordinates (x, y, item) before calling vtable 0xe4. 0x00A066F0 163 EnchantUI__handle_dual_panel_item_drop ui_windows Handles item drop on both panels (children 0x80 and 0x84). For each panel, resets via button event handler, validates via populate_slot_items, and stores drop coordinates before calling vtable 0xe4. 0x00A067A0 39 EnchantUI__forward_event_to_children ui_windows Forwards an event (param_2) to both child controls at offsets 0x80 and 0x84 via vtable 0xec. 0x00A067D0 47 EnchantUI__toggle_listbox_item_enabled ui_windows Finds a listbox item by data and toggles its enabled state (XOR with 1), then refreshes the item display via vtable 0x98. 0x00A06800 482 EnchantUI__reset_all_slots_and_list ui_windows Resets all enchant UI state. Disables all slot items in the RB-tree (vtable 0x38 with 0), clears linked list items, resets the item list, zeros the count label, refreshes child 0x28, and notifies parent with -1 via vtable 0xec. 0x00A069F0 86 EnchantUI__set_tab_selected_style ui_windows Sets the visual style for a selected/deselected tab. Stores selection state at offset 0x48, sets font size (selected=0x644031, deselected=0xb6752e), toggles bold, and rebuilds text layout. 0x00A06A50 165 EnchantUI__adjust_child_positions ui_windows Adjusts child control positions by +/-1 pixel based on param_2 (expand/collapse toggle). Moves three children at offsets 0xe8, 0xec, 0xf0. Checks field 0x88 to avoid double-adjusting. Calls set_orientation at end. 0x00A06B00 221 EnchantUI__select_tab_by_id ui_windows Selects a tab by ID. Iterates the RB-tree at offset 0x22, comparing each node's key to param_2. Matching tab gets bold font + larger size, others get normal. Calls vtable 0xe4 after selection change. 0x00A06BE0 63 EnchantUI__set_enabled_with_color ui_windows Sets enabled/disabled state on child at 0xe8 (flag 0x86) and changes text label color: enabled=0xaaaaaa (gray), disabled=0xc89682 (muted red). 0x00A06C20 30 EnchantUI__set_child_enabled ui_windows Sets the enabled flag (offset 0x21) on child control at 0x80, then refreshes via vtable 0x98. 0x00A06C40 827 EnchantUI__load_enchant_data_and_populate_items ui_windows Loads enchant data by uint64 key via CEnchantMgr. For each eligible item, checks equip status, base level, refine level, and enchant flag. Adds qualifying items to the enchant item list and syncs the scrollbar. 0x00A06F80 380 EnchantUI__populate_available_enchants ui_windows Finds available enchant slot, loads enchant data, iterates enchant options. For each option, checks expiration time and material costs (quantity owned vs required). Adds to list with availability flag. Syncs scrollbar after populating. 0x00A07100 472 EnchantUI__populate_enchant_options ui_windows Populates enchant option details for a specific slot. Finds the enchant slot by item level in an RB-tree, builds linked list of option IDs, adds each as an item pair to the list control, syncs scrollbar, and updates the main window. 0x00A072E0 345 EnchantUI__validate_enchant_requirements ui_windows Validates enchant requirements for the selected item. Updates main window display, then checks if the item has all required enchant slots filled (up to 4). Returns true if all requirements met, false if any slot is empty. 0x00A07440 412 EnchantUI__populate_enchant_list_by_grade ui_windows Populates enchant list filtered by grade. Looks up enchant data by selected ID, finds matching grade entry, iterates enchant options checking expiration and material costs. Adds items with availability flags. Syncs scrollbar on success. 0x00A075E0 510 EnchantUI__populate_enchant_options_by_slot ui_windows Populates enchant options filtered by slot index. Looks up enchant data, finds slot by atoi of item string, searches RB-tree for matching entry. Builds option list, adds items, syncs scrollbar, and updates main window with selected info. 0x00A077E0 226 EnchantUI__display_item_info ui_windows Displays item info in the EnchantUI. Creates CItemDesc from item ID, populates slot data, builds tooltip string, and sets it on a text label. 0x00A078D0 271 EnchantUI__display_item_detail_panel ui_windows Displays item detail on a text panel in EnchantUI. Creates CItemDesc, populates slot data, copies item name string, clears panel, then appends tooltip text. 0x00A079E0 448 EnchantUI__populate_slot_items ui_windows Populates the enchant slot grid items. For each slot in the RB-tree (up to 4), loads item data, builds name/tooltip, and sets visibility. Returns true if any slots were populated, false if param_2 has no data. 0x00A07BA0 519 EnchantUI__display_material_requirement ui_windows Displays a material requirement row. Shows item icon, owned quantity vs required count. Colors text red (0x5a3ce6) if insufficient, white (0xf0f0f0) if sufficient. Enables/disables the row's child control accordingly. 0x00A07DB0 328 EnchantUI__update_selected_item_info ui_windows Updates the selected item's info display. Populates item data, shows base level requirement if > 0, enables/disables confirm button, and sets tooltip text on a label. 0x00A07F00 528 EnchantUI__update_material_list ui_windows Updates the material requirements list for the selected enchant. Iterates slot list, shows/hides each row, calls display_material_requirement for visible ones. Sets cost text, checks expiration and material availability to enable/disable confirm button. 0x00A08110 118 EnchantUI__is_enchant_mgr_idle ui_windows Gets or creates the CEnchantMgr singleton, then returns true if field 0x30 is zero (manager is idle/not busy). Not a destructor despite original name. 0x00A08190 78 std__map_lower_bound stl std::map/set RB-tree lower_bound implementation. Searches for key >= *param_3 in the tree rooted at *param_1. Stores result iterator in *param_2. Returns sentinel node if not found. 0x00A081E0 78 std__map_lower_bound_00a081e0 stl std::map/set RB-tree lower_bound implementation (duplicate). Searches for key >= *param_3 in the tree rooted at *param_1. Stores result iterator in *param_2. 0x00A08230 34 memcpy_range_to_dest_00a08230 stl Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past end of copied data. 0x00A08260 418 std__vector_int_resize_and_copy stl Resizes std::vector to param_2 elements. Allocates new buffer with 1.5x growth, zero-fills new elements, copies old data, frees old buffer. Max 0x3FFFFFFF elements. 0x00A08440 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A08460 85 std__rotate_int_ptr stl std::rotate for int pointers. Rotates range [first, middle, last) using 3 reverse operations. Handles degenerate cases (first==middle, middle==last). Returns iterator to new position of old first element. 0x00A084C0 444 UIListCtrl__ctor ui_framework UIListCtrl constructor. Calls CEffect::ctor, sets UIBase then UIListCtrl vtable. Initializes 4 smart pointer fields (0x20-0x23), tree map with 0x2C-byte nodes (sentinel at 0x24), string at 0x26, vectors, linked list of columns (0x35), selection index (-1). Creates row tracking structures. 0x00A08680 348 UIListCtrl__dtor ui_framework UIListCtrl destructor. Releases 2 callbacks (offsets 0x4D, 0x43), frees helper data, frees vector buffer, destroys string at 0x26, recursively destroys tree map with string nodes at 0x24, releases 4 smart pointers (0x20-0x23), resets vtable to UIBase, calls CEffect::dtor. 0x00A087E0 33 std__any_release_callback_f stl Releases std::any callback at offset 9 (variant f, no SEH). Calls virtual destroy if non-null, zeroes pointer. 0x00A08810 33 std__any_release_callback_g stl Releases std::any callback at offset 9 (variant g, no SEH). Calls virtual destroy if non-null, zeroes pointer. 0x00A08840 92 UIListCtrlA__release_inner_object_00a08840 ui_framework Releases the inner object at offset 0x24 (field[9]) by calling its Release virtual method (vtable+0x10), then nulls the pointer. 0x00A088A0 92 UIListCtrlB__release_inner_object_00a088a0 ui_framework Releases the inner object at offset 0x24 (field[9]) by calling its Release virtual method (vtable+0x10), then nulls the pointer. Variant B. 0x00A08900 129 UIListCtrl__free_vector_buffer_00a08900 ui_framework Frees the underlying heap buffer of an STL vector (fields 0/1/2). Computes allocation size from capacity-begin, handles debug heap bookkeeping, then zeros begin/end/capacity pointers. 0x00A08990 175 UIListCtrl__dtor_00a08990 ui_framework Destructor for a UIListCtrl-derived class. Sets vtable to PTR_FUN_0114efe8, releases delegate at field 0x3d, destroys STL string member, frees additional buffer at field 0x20, then chains to base class destructor FUN_00a79e90. 0x00A08A40 164 UIListCtrl__clone_from_source_00a08a40 ui_framework Creates a clone from a source object. If source has a factory at offset 0x24, calls its virtual clone method, then forwards result to FUN_00a0e630 for initialization. 0x00A08AF0 38 UIListCtrl__scalar_deleting_dtor_00a08af0 ui_framework Scalar deleting destructor for UIListCtrl (size 0x138). Calls the destructor, then conditionally frees the 0x138-byte allocation. 0x00A08B20 199 UIListCtrl__vdtor_00a08b20 ui_framework Virtual deleting destructor for UIListCtrl-derived class (size 0xF8). Destroys delegate, STL string, buffer, chains to base destructor, then conditionally frees 0xF8-byte object. 0x00A08BF0 353 UIListCtrl__create_and_init_item_00a08bf0 ui_framework Allocates a new 0xF8-byte list item via FUN_00a0ebf0, sets its position from param_1 offsets 0xB4/0xB8, calls virtual setup (vtable+0x38) with visible=false, sets foreground colors from 0x80-0x8C, registers two delegate callbacks (PTR_FUN_0114f344 and PTR_FUN_0114f360), then finalizes via FUN_00a7a080. 0x00A08D60 115 UIListCtrl__alloc_and_init_item_00a08d60 ui_framework Allocates a 0xEC-byte block and constructs a list item via FUN_00a0eaf0. Returns null if allocation fails. 0x00A08DE0 85 UIListCtrl__clear_all_items_00a08de0 ui_framework Iterates vector of list item pointers (offsets 0xC8-0xCC) calling FUN_00a82e50 on each to destroy them, then resets end pointer to begin and sets selected index (0xDC) to -1. 0x00A08E40 36 UIListCtrl__set_item_dimensions_00a08e40 ui_framework Stores item width (param_4) and height (param_5) at offsets 0xB4 and 0xB8, then calls FUN_00a7b470 with position params 2 and 3. 0x00A08E70 92 UIListCtrl__init_and_show_00a08e70 ui_framework Initializes the list control display. Sets flags at offsets 0xB4 and 0xD4, calls virtual methods for size (300x0x134), position (0,0), layout, and refresh. Sets up scroll bar via FUN_009e6d60 with 3 columns, marks field 0xD0 = 1. 0x00A08ED0 69 UIListCtrl__get_selected_item_00a08ed0 ui_framework Returns the currently selected item from the linked list at offset 0xD4. Uses selected index (0xDC) to traverse the list, returning a pointer to the item data (node+8). Sets success flag in output param. 0x00A08F20 525 UIListCtrl__create_scrollbar_item_00a08f20 ui_framework Allocates and initializes a new 0xF0-byte scrollbar item for the list. Sets up vtable chain (PTR_FUN_0114875c -> PTR_FUN_01148c84), initializes multiple fields, registers a callback delegate (PTR_FUN_0114f328), links to list's item vector at offset 0xC8, then finalizes layout. 0x00A09130 14475 UIListCtrl__static_layout_init ui_framework Static layout initialization for UIListCtrl widget. 14K bytes. Sets up list items, tab controls, labels, scrollbars, buttons, and delegates with visual configuration. No callers (registered as callback/vtable). 0x00A0C9C0 1181 UIListCtrl__init_label_controls_00a0c9c0 ui_framework Initializes two label controls (at offsets 0xE8 and 0xEC) for the list. Each is a 0xFC-byte UIControl allocated and constructed via FUN_009be1a0. Sets position, alignment, font, encrypted text (via xor_decrypt_buffer), foreground/background colors to white (0xFFFFFF). First label at position (0x2C,0xC), second at (0xD8,0xC). 0x00A0CE70 63 UIListCtrl__scroll_next_page_00a0ce70 ui_framework Scrolls to the next page in the list. Checks if list is not fully scrolled (field 0x2A == 0 and items remain), then calls virtual scroll method (vtable+0x8C) on the main control (offset 0xB0) or the parent control (offset 0x10). 0x00A0CEB0 65 UIListCtrl__notify_items_selected_00a0ceb0 ui_framework Iterates all items in the vector (0xC8-0xCC) and calls each item's virtual method at vtable+0xDC with a boolean indicating whether that item matches param_2. 0x00A0CF00 603 UIListCtrl__rebuild_items_00a0cf00 ui_framework Rebuilds the list items when dimensions change. Clears existing items, calculates required item count from total height / item height, allocates items via vector resize or memset, creates each 0xF8-byte item with delegates (PTR_FUN_0114f344, PTR_FUN_0114f360), then refreshes scrollbar display. 0x00A0D160 522 UIListCtrl__load_textures_00a0d160 ui_framework Loads 4 textures from a map (using subscript indices 0,1,2 and a string at offset 0x98) via FUN_009ef520. Stores them at offsets 0x80, 0x84, 0x88, 0x8C. Releases old textures via FUN_00af0be0 when replacing. Then sets colors on all child items via FUN_009f02e0. 0x00A0D370 115 UIListCtrl__set_data_and_refresh_00a0d370 ui_framework Sets data content and refreshes the list display. Calls FUN_00a82eb0 with given params, rebuilds items, updates scrollbar position based on current index * item height + offset, refreshes total scroll range, updates scrollbar thumb position, and marks dirty flag at 0xE1. 0x00A0D3F0 498 UIListCtrl__layout_visible_items_00a0d3f0 ui_framework Lays out visible list items based on scroll position. Calculates which items are visible from scroll offset / item height, rearranges item order if scrolled, applies data from linked list to each visible item via delegates, sets position and visibility, marks non-visible items as hidden with index -1. 0x00A0D5F0 218 UIListCtrl__on_item_selected_00a0d5f0 ui_framework Handles item selection in the list. If not disabled (flag at 0xC4), deselects all items except the clicked one by calling vtable+0xD8 with false/true. Uses RTDynamicCast to verify item type, stores selected index at 0xDC, then notifies selection callback at 0x10C with the selected data from the linked list. 0x00A0D6D0 216 UIListCtrl__set_textures_and_refresh_00a0d6d0 ui_framework Sets 4 texture strings via map subscript (indices 0,1,2 + this+0x98) from the given string parameters. If any differ from current, updates the stored string. Then calls virtual methods at vtable+0xD4 (with 0) and vtable+0x98 to refresh display. 0x00A0D7B0 22 UIListCtrl__make_delegate_f1bc_00a0d7b0 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f1bc and stores this pointer from offset 0x4. 0x00A0D7D0 22 UIListCtrl__make_delegate_f1d8_00a0d7d0 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f1d8 and stores this pointer from offset 0x4. 0x00A0D7F0 22 UIListCtrl__make_delegate_f1f4_00a0d7f0 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f1f4 and stores this pointer from offset 0x4. 0x00A0D810 22 UIListCtrl__make_delegate_f344_00a0d810 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f344 and stores this pointer from offset 0x4. 0x00A0D830 22 UIListCtrl__make_delegate_f328_00a0d830 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f328 and stores this pointer from offset 0x4. 0x00A0D850 22 UIListCtrl__make_delegate_f210_00a0d850 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f210 and stores this pointer from offset 0x4. 0x00A0D870 22 UIListCtrl__make_delegate_f22c_00a0d870 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f22c and stores this pointer from offset 0x4. 0x00A0D890 22 UIListCtrl__make_delegate_f248_00a0d890 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f248 and stores this pointer from offset 0x4. 0x00A0D8B0 22 UIListCtrl__make_delegate_f360_00a0d8b0 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f360 and stores this pointer from offset 0x4. 0x00A0D8D0 22 UIListCtrl__make_delegate_f264_00a0d8d0 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f264 and stores this pointer from offset 0x4. 0x00A0D8F0 22 UIListCtrl__make_delegate_f280_00a0d8f0 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f280 and stores this pointer from offset 0x4. 0x00A0D910 22 UIListCtrl__make_delegate_f29c_00a0d910 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f29c and stores this pointer from offset 0x4. 0x00A0D930 22 UIListCtrl__make_delegate_f2b8_00a0d930 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f2b8 and stores this pointer from offset 0x4. 0x00A0D950 22 UIListCtrl__make_delegate_f2d4_00a0d950 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f2d4 and stores this pointer from offset 0x4. 0x00A0D970 22 UIListCtrl__make_delegate_f2f0_00a0d970 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f2f0 and stores this pointer from offset 0x4. 0x00A0D990 22 UIListCtrl__make_delegate_f30c_00a0d990 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f30c and stores this pointer from offset 0x4. 0x00A0D9B0 22 UIListCtrl__make_delegate_f1a0_00a0d9b0 ui_framework Delegate initializer: sets vtable to PTR_FUN_0114f1a0 and stores this pointer from offset 0x4. 0x00A0D9D0 68 delegate_scalar_deleting_dtor_00a0d9d0 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DA20 68 delegate_scalar_deleting_dtor_00a0da20 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DA70 68 delegate_scalar_deleting_dtor_00a0da70 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DAC0 68 delegate_scalar_deleting_dtor_00a0dac0 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DB10 68 delegate_scalar_deleting_dtor_00a0db10 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DB60 68 delegate_scalar_deleting_dtor_00a0db60 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DBB0 68 delegate_scalar_deleting_dtor_00a0dbb0 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DC00 68 delegate_scalar_deleting_dtor_00a0dc00 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DC50 68 delegate_scalar_deleting_dtor_00a0dc50 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DCA0 68 scalar_deleting_dtor_8bytes_a game_core Trivial scalar deleting destructor for 8-byte object. If param is non-zero, frees the allocation. 0x00A0DCF0 68 scalar_deleting_dtor_8bytes_b game_core Trivial scalar deleting destructor for 8-byte object (variant b). 0x00A0DD40 68 delegate_scalar_deleting_dtor_00a0dd40 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DD90 68 delegate_scalar_deleting_dtor_00a0dd90 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DDE0 68 delegate_scalar_deleting_dtor_00a0dde0 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DE30 68 delegate_scalar_deleting_dtor_00a0de30 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DE80 68 delegate_scalar_deleting_dtor_00a0de80 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DED0 68 delegate_scalar_deleting_dtor_00a0ded0 stl Scalar deleting destructor for 8-byte delegate object. Conditionally frees the allocation if param_2 is nonzero. 0x00A0DF30 23 UIListCtrl__delegate_null_stub_00a0df30 ui_framework Delegate callback thunk: dereferences first param and calls null_stub_00a0ef20 (a no-op) with it and param_2. 0x00A0DF50 23 UIListCtrl__delegate_forward_00a0df50 ui_framework Delegate callback thunk: dereferences first param and calls FUN_00a0ef30 with it and param_2. 0x00A0DF70 65 UIListCtrl__delegate_notify_items_00a0df70 ui_framework Delegate callback: iterates all items in the parent list (via this+4 -> items vector at 0xC8-0xCC) and calls each item's vtable+0xDC with boolean (param_2 == item). Used for selection notification. 0x00A0DFC0 20 UIListCtrl__delegate_layout_00a0dfc0 ui_framework Delegate callback thunk: dereferences first param and forwards to UIListCtrl__layout_visible_items_00a0d3f0. 0x00A0DFE0 20 UIListCtrl__delegate_forward2_00a0dfe0 ui_framework Delegate callback thunk: dereferences first param and forwards to FUN_00a0f570. 0x00A0E020 216 UIListCtrl__delegate_on_item_selected_00a0e020 ui_framework Delegate callback for item selection. Dereferences this+4 to get parent list, then performs full selection logic: deselects all other items, selects clicked item, uses RTDynamicCast to verify type, stores selected index, notifies selection callback at 0x10C. 0x00A0E160 25 UIListCtrl__delegate_forward_virtual_00a0e160 ui_framework Delegate callback: calls vtable+0x44 on the parent control (this+4) with dereferenced params. Used for forwarding coordinate/position events. 0x00A0E2A0 3 identity_passthrough_00a0e2a0 crt Returns parameter unchanged; identity function stub 0x00A0E2B0 22 UIListCtrl__make_delegate_f1bc_copy_00a0e2b0 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f1bc and stores this pointer from offset 0x4. 0x00A0E2D0 22 UIListCtrl__make_delegate_f1d8_copy_00a0e2d0 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f1d8 and stores this pointer from offset 0x4. 0x00A0E2F0 22 UIListCtrl__make_delegate_f1f4_copy_00a0e2f0 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f1f4 and stores this pointer from offset 0x4. 0x00A0E310 22 UIListCtrl__make_delegate_f344_copy_00a0e310 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f344 and stores this pointer from offset 0x4. 0x00A0E330 22 UIListCtrl__make_delegate_f328_copy_00a0e330 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f328 and stores this pointer from offset 0x4. 0x00A0E350 22 UIListCtrl__make_delegate_f210_copy_00a0e350 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f210 and stores this pointer from offset 0x4. 0x00A0E370 22 UIListCtrl__make_delegate_f22c_copy_00a0e370 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f22c and stores this pointer from offset 0x4. 0x00A0E390 22 UIListCtrl__make_delegate_f248_copy_00a0e390 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f248 and stores this pointer from offset 0x4. 0x00A0E3B0 22 UIListCtrl__make_delegate_f360_copy_00a0e3b0 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f360 and stores this pointer from offset 0x4. 0x00A0E3D0 22 UIListCtrl__make_delegate_f264_copy_00a0e3d0 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f264 and stores this pointer from offset 0x4. 0x00A0E3F0 22 UIListCtrl__make_delegate_f280_copy_00a0e3f0 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f280 and stores this pointer from offset 0x4. 0x00A0E410 22 UIListCtrl__make_delegate_f29c_copy_00a0e410 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f29c and stores this pointer from offset 0x4. 0x00A0E430 22 UIListCtrl__make_delegate_f2b8_copy_00a0e430 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f2b8 and stores this pointer from offset 0x4. 0x00A0E450 22 UIListCtrl__make_delegate_f2d4_copy_00a0e450 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f2d4 and stores this pointer from offset 0x4. 0x00A0E470 22 UIListCtrl__make_delegate_f2f0_copy_00a0e470 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f2f0 and stores this pointer from offset 0x4. 0x00A0E490 22 UIListCtrl__make_delegate_f30c_copy_00a0e490 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f30c and stores this pointer from offset 0x4. 0x00A0E4B0 22 UIListCtrl__make_delegate_f1a0_copy_00a0e4b0 ui_framework Delegate initializer copy: sets vtable to PTR_UIListCtrl__make_delegate_f1a0 and stores this pointer from offset 0x4. 0x00A0E4D0 341 delegate_swap_inner_objects_00a0e4d0 game_core Swaps the inner object (field[9]) between two delegate holders. Handles three cases: both external (simple pointer swap), one/both internal (clone via vtable+4, then release old via vtable+0x10). Used for move/swap semantics on delegate containers. 0x00A0E630 341 delegate_swap_inner_objects_00a0e630 game_core Swaps the inner object (field[9]) between two delegate holders. Identical logic to 00a0e4d0 - handles external pointer swap and internal clone+release cases. Variant B for a different delegate type. 0x00A0E790 341 delegate_swap_inner_objects_00a0e790 game_core Swaps the inner object (field[9]) between two delegate holders. Identical logic to 00a0e4d0/00a0e630 - handles external pointer swap and internal clone+release cases. Variant C for a third delegate type. 0x00A0EA00 10 thunk_to_std__Xlength_error_00a0ea00 stl Thunk calling std::_Xlength_error with vector_too_long message 0x00A0EA10 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A0EA50 103 std__list_string__compare_equal_00a0ea50 stl Compares two STL list objects for equality. First checks if sizes match, then iterates both lists in parallel comparing each string element using std::char_traits::eq. Returns true if all elements match. 0x00A0EAC0 37 std__list_string__swap_00a0eac0 stl Swaps two STL list objects by exchanging their head pointer (field 0) and size (field 1). Simple 2-field swap, no deep copy needed. 0x00A0EAF0 242 UIListItem__ctor_00a0eaf0 ui_framework Constructor for UIListItem (size 0xEC). Calls UIWindowBase__ctor, sets vtable to PTR_FUN_0114b07c then PTR_FUN_0114f6fc. Initializes colors (text=0xFFFFFF, disabled=0xCECECE), alignment fields, flags, and selection index to -1. 0x00A0EBF0 124 UIListItemButton__ctor_00a0ebf0 ui_framework Constructor for UIListItemButton (size 0xF8), derived from UIButton. Calls UIButton__ctor_009efc30, sets vtable to PTR_FUN_0114f614, zeroes 4 additional fields at offsets 0xE8-0xF4. 0x00A0EC70 153 UIListItem__dtor_00a0ec70 ui_framework Destructor for UIListItem. Sets vtable to PTR_FUN_0114f6fc, ensures singleton CDataTable at DAT_0138d260 exists (allocates 0x1FC if needed), resets ItemBonus UI callback to 0, then chains to CUIWindow__dtor_save_position_009e69d0. 0x00A0ED10 71 UIListItemButton__dtor_00a0ed10 ui_framework Destructor for UIListItemButton. Sets vtable to PTR_FUN_0114f614, then chains to FUN_009da310 (UIButton destructor). 0x00A0ED60 177 UIListItem__scalar_deleting_dtor_00a0ed60 ui_framework Scalar deleting destructor for UIListItem (size 0xEC). Calls UIListItem__dtor, then conditionally frees the 0xEC-byte allocation. 0x00A0EE20 99 UIListItemButton__scalar_deleting_dtor_00a0ee20 ui_framework Scalar deleting destructor for UIListItemButton (size 0xF8). Calls UIListItemButton__dtor, then conditionally frees the 0xF8-byte allocation. 0x00A0EF20 3 null_stub_00a0ef20 crt Empty function stub with no implementation, just returns immediately 0x00A0EF30 444 UIListItem__render_text_with_color_00a0ef30 ui_framework Renders list item text with optional color formatting. If text is non-empty, sets label color, parses text using CFmt (delimiter 0x0110f644), handles color-coded segments (0x3c00ff for special text). Splits text into prefix/body/suffix parts and renders each via FUN_009f0e50. 0x00A0F0F0 183 UIListItem__draw_00a0f0f0 ui_framework Draw method for UIListItem. Calls base CUIWindow draw, loads texture from DAT_01130944, draws tiled background, then draws two border lines (bottom horizontal and left vertical) using item boundary color at offset 0xBC. 0x00A0F1B0 56 UIListItem__draw_separator_00a0f1b0 ui_framework Draws separator line for the list item. Uses color from offset 0xF0 (normal) or 0xF4 (selected/bit 0 of 0x94), fills background, then draws a vertical line at x=0x2C with the selected color. 0x00A0F1F0 126 UIListItem__init_data_table_00a0f1f0 ui_framework Ensures the singleton CDataTable at DAT_0138d260 exists (allocates 0x1FC bytes and constructs if null), then sets the ItemBonus UI callback to this list item. 0x00A0F280 104 UIListItem__adjust_child_positions_00a0f280 ui_framework Adjusts positions of child controls when the item moves. Updates position of self (vtable+4), inner control at field 0x39 (vtable+0x10), and two sub-controls at fields 0x36 and 0x37 by adding the delta (param_2, param_3) to their current positions. 0x00A0F2F0 124 UIListItem__load_separator_colors_00a0f2f0 ui_framework Loads separator line colors from a bitmap/texture. Reads pixel RGB at (2,2) for normal color (stored at 0xF0) and (2,10) for selected color (stored at 0xF4) via CColorPicker__GetPixelRGB. Colors packed as 0x00RRGGBB. 0x00A0F370 477 UIListItem__update_bonus_data_00a0f370 ui_framework Updates item bonus data. Stores item ID at offset 0xE8, creates a temporary STL list, ensures CDataTable singleton exists, calls ItemBonus__process_bonus_script to parse bonus text. Compares old and new bonus lists - if different, swaps them, refreshes scrollbar range, and marks dirty. Cleans up temp list on exit. 0x00A0F550 27 UIListItem__on_message_00a0f550 ui_framework Message handler for UIListItem. If message ID is 0x3C, calls update_bonus_data on the item bonus field (offset 0xE8). Returns 0. 0x00A0F570 37 UIListItem__on_item_changed_00a0f570 ui_framework Handles item change notification. If param_2 is non-null and its field at 0x2C differs from stored item ID (0xE8), calls update_bonus_data with the new item ID. 0x00A0F5B0 34 std__copy_memmove stl STL _Copy_memmove implementation. Copies contiguous range [first, last) to destination using memcpy. Returns pointer past end of copied data. Used by std::vector during reallocation. 0x00A0F5E0 418 std__vector_ptr__reallocate_and_grow_00a0f5e0 stl Reallocates an STL vector to at least param_2 elements. Computes new capacity (1.5x growth), allocates aligned buffer, memset-zeroes new elements, memcpy's old data, frees old buffer, updates begin/end/capacity pointers. Throws length_error or bad_alloc on overflow. 0x00A0F7C0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A0F7E0 85 std__rotate_ptrs_00a0f7e0 stl Rotates a range of pointers. Three swap operations: [first,mid), [mid,last). If first==mid, sets output=last; if mid==last, sets output=first. Otherwise performs three reverse operations and stores resulting midpoint. Used by STL algorithm std::rotate. 0x00A0F840 447 UITreeCtrl__ctor_00a0f840 ui_events Constructor for UITreeCtrl. Calls base FUN_00a79a90, sets vtable chain PTR_FUN_0114875c -> PTR_FUN_0114f7d8. Initializes 4 texture slots (0x80-0x8C=0), allocates 0x2C-byte tree root node (self-referencing linked list), STL string, vector fields, secondary 0x108-byte node, selected index=-1, and two delegate slots. 0x00A0FA00 348 UITreeCtrl__dtor_00a0fa00 ui_events Destructor for UITreeCtrl. Sets vtable to PTR_FUN_0114f7d8, releases two delegates (fields 0x4D and 0x43), cleans up tree data structures, destroys STL string, frees tree root node (0x2C bytes), releases 4 textures at offsets 0x80-0x8C, chains to base destructor FUN_00a79e90. 0x00A0FB60 33 UITreeCtrl__release_delegate_00a0fb60 ui_events Releases the delegate object at field[9] by calling its Release virtual method (vtable+0x10), then nulls the pointer. No SEH, simpler variant. 0x00A0FB90 92 UITreeCtrl__release_inner_delegate_00a0fb90 ui_events Releases the delegate object at field[9] by calling its Release virtual method (vtable+0x10), then nulls the pointer. With SEH frame, same logic as 00a0fb60. 0x00A0FBF0 168 UITreeCtrl__destroy_tree_nodes_00a0fbf0 ui_events Destroys all tree nodes in the linked list. Nulls the tail pointer, iterates nodes from head, destroying two STL strings per node and freeing each 0x108-byte node, then frees the sentinel node. 0x00A0FCA0 129 UITreeCtrl__free_vector_buffer_00a0fca0 ui_events Frees the underlying heap buffer of the tree item pointer vector (fields 0/1/2). Same STL vector cleanup pattern as UIListCtrl variant. 0x00A0FD30 164 UITreeCtrl__clone_from_source_00a0fd30 ui_events Creates a clone from a source object. If source has a factory at offset 0x24, calls its virtual clone method, then forwards result to FUN_00a16540 for initialization. 0x00A0FDE0 164 UITreeCtrl__clone_from_source_B_00a0fde0 ui_events Creates a clone from a source object. If source has a factory at offset 0x24, calls its virtual clone method, then forwards to GameSettings__swap_callback_objects. 0x00A0FE90 38 UITreeCtrl__scalar_deleting_dtor_00a0fe90 ui_events Scalar deleting destructor for UITreeCtrl (size 0x138). Calls UITreeCtrl__dtor, then conditionally frees the 0x138-byte allocation. 0x00A0FEC0 353 UITreeCtrl__create_and_init_item_00a0fec0 ui_events Allocates and initializes a new 0xF8-byte tree item. Calls FUN_00a16e10 constructor, sets dimensions from offsets 0xB4/0xB8, visibility=false, state textures, and registers two delegate callbacks (PTR_FUN_0114f9cc and PTR_FUN_0114f9e8). Finalizes via FUN_00a7a080. 0x00A10030 115 UITreeCtrl__alloc_and_init_item_00a10030 ui_events Allocates a 0x14C-byte block and constructs a tree item via FUN_00a16c50. Returns null if allocation fails. 0x00A100B0 85 UITreeCtrl__clear_all_items_00a100b0 ui_events Clears all tree items from the vector (0xC8-0xCC), calling FUN_00a82e50 on each to destroy them, resets end pointer to begin and sets selected index (0xDC) to -1. 0x00A10110 36 UITreeCtrl__set_item_dimensions_00a10110 ui_events Sets item width (param_4) and height (param_5) at offsets 0xB4/0xB8. Same pattern as UIListCtrl variant. 0x00A10140 66 UITreeCtrl__init_display ui_events Initializes tree control display. Clears flags at 0xB4/0xD4, sets enabled flag, sets size to 0x230 x 0x179, position to (0,0), then calls layout and refresh virtual methods. 0x00A10190 69 UITreeCtrl__get_selected_item_00a10190 ui_events Returns the currently selected tree item from the linked list at offset 0xD4. Uses selected index (0xDC) to traverse, returning pointer to item data (node+8). Sets success flag in output param. 0x00A101E0 525 UITreeCtrl__create_scrollbar_item_00a101e0 ui_events Creates and initializes a scrollbar item for the tree control. Allocates 0xF0-byte item, sets vtable chain, initializes fields, registers callback delegate (PTR_FUN_0114f9b0), links to item vector, finalizes layout. 0x00A103F0 17842 UITreeCtrl__static_layout_init ui_events Static layout initialization for UITreeCtrl widget. 17K bytes. Sets up text labels, scrollbars, list items, buttons, progress bars, and delegates. Creates tree control with full visual configuration. No callers (likely registered as callback/vtable). 0x00A149B0 1949 UITreeCtrl__init_child_controls_00a149b0 ui_events Initializes tree control child elements. Creates: (1) expand icon button (0xB8 bytes, 0x20x0x20, at position 9,0 with encrypted texture name), (2) item slot control (0x1D8 bytes, CItemInfoMgr-based, scale=100, at position 0xD,1), (3) name label (0xFC bytes at position 100,0xD with font/color setup), (4) description label (0xFC bytes at position 0xD7,0x1E). Uses XOR-encrypted strings for resource paths. 0x00A15160 63 UITreeCtrl__scroll_next_page_00a15160 ui_events Scrolls to the next page. Checks if tree is not fully scrolled and items remain, then calls virtual scroll method on main control or parent. 0x00A151A0 65 UITreeCtrl__notify_items_selected_00a151a0 ui_events Iterates all items in the vector (0xC8-0xCC) and calls each item's virtual method at vtable+0xDC with boolean indicating whether that item matches param_2. 0x00A151F0 603 UITreeCtrl__rebuild_items_00a151f0 ui_events Rebuilds the tree items when dimensions change. Clears existing items, calculates required count, allocates 0xF8-byte items via FUN_00a16e10 constructor, sets textures and registers delegates (PTR_FUN_0114f9cc, PTR_FUN_0114f9e8), refreshes scrollbar. 0x00A15450 111 UITreeCtrl__clone_wrapper_A_00a15450 ui_events Clone wrapper: calls UITreeCtrl__clone_from_source with stack params, releases temp delegate on cleanup. 0x00A154C0 111 UITreeCtrl__clone_wrapper_B_00a154c0 ui_events Clone wrapper variant B: calls UITreeCtrl__clone_from_source with stack params, releases temp delegate on cleanup. 0x00A15530 522 UITreeCtrl__load_textures_00a15530 ui_events Loads 4 textures for the tree control from map subscript indices 0,1,2 and string at 0x98. Stores at offsets 0x80-0x8C, releases old textures. Then sets button state textures on all child items via UIButton__set_state_textures_direct. 0x00A15740 115 UITreeCtrl__resize_and_rebuild ui_events Resizes the tree control surface, rebuilds all items via UITreeCtrl__rebuild_items, repositions scrollbar to match new height, recalculates scroll range based on item count * item height + padding, and marks dirty flag (0xE1). 0x00A157C0 498 UITreeCtrl__layout_visible_items_00a157c0 ui_events Lays out visible items in a UITreeCtrl. Rotates the item pointer array to align with the scroll offset, then iterates visible items setting their index, binding data via delegate callback, updating selection state, and positioning them vertically. 0x00A159C0 218 UITreeCtrl__on_item_selected_00a159c0 ui_events Handles item selection in UITreeCtrl. Deselects all other items, selects the clicked item, updates the selected index, and invokes the selection changed callback delegate if one is registered. 0x00A15AA0 216 UITreeCtrl__set_textures_and_refresh_00a15aa0 ui_events Sets texture strings for UITreeCtrl (3 textures by index 0/1/2 plus a name string), then triggers a virtual refresh and layout recalculation. 0x00A15B80 22 UITreeCtrl__make_delegate_f87c_00a15b80 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15BA0 22 UITreeCtrl__make_delegate_f898_00a15ba0 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15BC0 22 UITreeCtrl__make_delegate_f8b4_00a15bc0 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15BE0 22 UITreeCtrl__make_delegate_f9cc_00a15be0 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15C00 22 UITreeCtrl__make_delegate_f9b0_00a15c00 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15C20 22 UITreeCtrl__make_delegate_f8d0_00a15c20 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15C40 22 UITreeCtrl__make_delegate_f8ec_00a15c40 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15C60 22 UITreeCtrl__make_delegate_f908_00a15c60 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15C80 22 UITreeCtrl__make_delegate_f9e8_00a15c80 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15CA0 22 UITreeCtrl__make_delegate_f924_00a15ca0 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15CC0 22 UITreeCtrl__make_delegate_f940_00a15cc0 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15CE0 22 UITreeCtrl__make_delegate_f95c_00a15ce0 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A15D00 68 delegate_scalar_deleting_dtor_00a15d00 stl Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory. 0x00A15D50 68 delegate_scalar_deleting_dtor_00a15d50 stl Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory. 0x00A15DA0 68 delegate_scalar_deleting_dtor_00a15da0 stl Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory. 0x00A15DF0 68 delegate_scalar_deleting_dtor_00a15df0 stl Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory. 0x00A15E40 68 delegate_scalar_deleting_dtor_00a15e40 stl Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory. 0x00A15E90 68 delegate_scalar_deleting_dtor_00a15e90 stl Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory. 0x00A15EE0 68 delegate_scalar_deleting_dtor_00a15ee0 stl Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory. 0x00A15F30 68 scalar_deleting_dtor_8bytes_c game_core Trivial scalar deleting destructor for 8-byte object (variant c). 0x00A15F80 68 scalar_deleting_dtor_8bytes_d game_core Trivial scalar deleting destructor for 8-byte object (variant d). 0x00A15FD0 68 scalar_deleting_dtor_8bytes_e game_core Trivial scalar deleting destructor for 8-byte object (variant e). 0x00A16020 68 scalar_deleting_dtor_8bytes_f game_core Trivial scalar deleting destructor for 8-byte object (variant f). 0x00A16070 68 delegate_scalar_deleting_dtor_00a16070 stl Scalar deleting destructor for a delegate object. Calls destructor and optionally frees memory. 0x00A160C0 65 UITreeCtrl__delegate_notify_items_00a160c0 ui_events Delegate callback: iterates all tree items in parent (this+4) and calls each item's vtable+0xDC with boolean (param_2 == item). Used for selection notification. 0x00A16110 20 UITreeCtrl__delegate_layout_00a16110 ui_events Delegate callback thunk: dereferences first param and forwards to UITreeCtrl__layout_visible_items. 0x00A16140 23 UITreeCtrl__delegate_null_stub_00a16140 ui_events Delegate callback thunk: dereferences first param and calls null_stub_00a176a0 (a no-op). 0x00A16160 23 UITreeCtrl__delegate_forward_00a16160 ui_events Delegate callback thunk: dereferences first param and forwards to thunk_to_00a18660. 0x00A16180 216 UITreeCtrl__delegate_on_item_selected_00a16180 ui_events Delegate callback for tree item selection. Deselects all other items, selects clicked item, uses RTDynamicCast to verify type (PTR_PTR_01365c18), stores selected index, notifies selection callback at 0x10C. 0x00A16260 24 null_stub_00a16260 crt Empty stub function - does nothing and returns. 0x00A162B0 23 UITreeCtrl__make_delegate_f87c_copy_00a162b0 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A162D0 23 UITreeCtrl__make_delegate_f898_copy_00a162d0 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A163B0 3 identity_passthrough_00a163b0 crt Identity function that returns its parameter unchanged 0x00A163C0 22 UITreeCtrl__make_delegate_f8b4_copy_00a163c0 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A163E0 22 UITreeCtrl__make_delegate_f9cc_copy_00a163e0 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A16400 22 UITreeCtrl__make_delegate_f9b0_copy_00a16400 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A16420 22 UITreeCtrl__make_delegate_f8d0_copy_00a16420 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A16440 22 UITreeCtrl__make_delegate_f8ec_copy_00a16440 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A16460 22 UITreeCtrl__make_delegate_f908_copy_00a16460 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A16480 22 UITreeCtrl__make_delegate_f9e8_copy_00a16480 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A164A0 22 UITreeCtrl__make_delegate_f924_copy_00a164a0 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A164C0 22 UITreeCtrl__make_delegate_f940_copy_00a164c0 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A164E0 22 UITreeCtrl__make_delegate_f95c_copy_00a164e0 ui_events Copy constructor for a UITreeCtrl delegate functor. Copies vtable and callback pointer. 0x00A16500 22 UITreeCtrl__make_delegate_f978_00a16500 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A16520 22 UITreeCtrl__make_delegate_f994_00a16520 ui_events Creates a delegate functor for UITreeCtrl, storing a vtable and callback pointer. 0x00A16540 341 delegate_swap_inner_objects_00a16540 game_core Swaps the inner object (field[9]) between two delegate holders. Same pattern as 00a0e4d0/00a0e630/00a0e790. For UITreeCtrl delegate type. 0x00A166A0 341 delegate_swap_inner_objects_00a166a0 game_core Swaps the inner object (field[9]) between two delegate holders. Variant B for UITreeCtrl delegate type. 0x00A168C0 10 thunk_to_std__Xlength_error_00a168c0 stl Calls std::_Xlength_error with vector_too_long error message 0x00A168D0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A16910 21 thunk_to_fmt__parse_and_validate_format_spec game_core Thunk that forwards 3 params to fmt__parse_and_validate_format_spec. Used as a callback in charconv format descriptor arrays. 0x00A16930 142 UITreeCtrl__clear_node_list ui_events Clears a linked list of UITreeCtrl nodes (0x108 bytes each). Nulls the tail pointer, iterates from head destroying two STL strings per node and freeing each node. Does NOT free the sentinel node. 0x00A169C0 93 snprintf_wrapper_00a169c0 game_core Wrapper for formatted string output. Calls STL_lib_func_00507d00 to get buffer (0x18 capacity), then __stdio_common_vsnprintf_s to format text. Returns char count or -1 on error. 0x00A16A30 163 charconv__format_with_2_descriptors_00a16a30 encoding Builds a format descriptor array with 2 entries (packet handler callback + value) and calls charconv__format_fixed_notation. Used for numeric formatting with one value parameter. 0x00A16AE0 183 charconv__format_with_3_descriptors_00a16ae0 encoding Builds a format descriptor array with 3 entries (two values + handlers) and calls charconv__format_fixed_notation. Used for numeric formatting with two value parameters. 0x00A16BA0 62 charconv__build_single_descriptor_00a16ba0 encoding Builds a single format descriptor entry: type=0xD0000000, flags=0x10000008, value from param_3, callback=thunk_to_packet_handler. 0x00A16BE0 98 charconv__build_double_descriptor_00a16be0 encoding Builds two format descriptor entries. First: type=0xD0000000, flags=0x10000008, value + callback. Second: flags=0xD000000C, value=param_4, callback=thunk_to_packet_handler. 0x00A16C50 440 UITreeItem__ctor_00a16c50 game_core Constructor for UITreeItem (size 0x14C). Calls UIWindowBase__ctor, sets vtable PTR_FUN_0114b07c then PTR_FUN_0114fd8c. Initializes colors (text=0xFFFFFF, disabled=0xCECECE), many zero fields, and two STL strings (at offsets 0x11C and 0x134). 0x00A16E10 124 UITreeItemButton__ctor_00a16e10 game_core Constructor for UITreeItemButton (size 0xF8), derived from UIButton. Calls UIButton__ctor, sets vtable to PTR_FUN_0114fca4, zeroes 4 fields at offsets 0xE8-0xF4. 0x00A16E90 70 tree_node__free_raw_data_00a16e90 game_core Frees the raw data buffer (0x108 bytes) at offset 0x4 if non-null. Simple cleanup without destroying contained strings. 0x00A16EE0 140 tree_node__destroy_strings_and_free_00a16ee0 game_core If field at offset 0x4 is non-null, destroys the two STL strings within the 0x108-byte tree node data, then frees the 0x108-byte buffer. 0x00A16F70 99 std__pair_string_dtor stl Destroys a pair of two std::strings. SEH protected. 0x00A16FE0 110 CShopWindow__dtor game_core CShopWindow destructor. Sets vtable, destroys 2 strings, then calls CUIWindow::dtor_save_position. 0x00A17050 71 CShopTabControl__dtor game_core CShopTabControl destructor. Sets vtable, delegates to UIControlBase::dtor. 0x00A170A0 134 CShopWindow__scalar_deleting_dtor game_core CShopWindow scalar deleting destructor. Sets vtable, destroys 2 strings, calls base dtor, optionally frees 0x14C-byte object. 0x00A17130 99 CShopTabControl__scalar_deleting_dtor game_core CShopTabControl scalar deleting destructor. Sets vtable, calls UIControlBase dtor, optionally frees 0xF8-byte object. 0x00A171A0 318 CShopWindow__add_item_to_list game_core Adds an item to the shop list. Allocates 0x108-byte node, copy-constructs from shop item data, copies price/flag, appends to linked list. If param_3 is true, updates scrollbar max/visible range and triggers dirty flag. 0x00A172E0 58 CShopWindow__on_buy_button_click game_core Buy button click handler. Sends packet 0x35 to server (buy request), hides the buy confirmation dialog. 0x00A17320 242 CShopWindow__on_sell_button_click game_core Sell button click handler. If item has description, formats and sends sell packet 0x44 with item name. Sends packet 0x36 to server, hides sell confirmation dialog. 0x00A17420 268 CShopWindow__on_quantity_confirm game_core Quantity confirmation handler. Validates input is numeric, clamps to [0, max_stock]. Sends packet 0x33 with (base_index + quantity), then packet 0x34. Hides quantity dialog. Shows error dialog box if input is non-numeric. 0x00A17540 123 CShopWindow__clear_item_list game_core Clears all items from the shop list. Destroys all linked list nodes, resets head/tail to sentinel, zeroes count and selection. Updates scrollbar (max, visible, value) and sets dirty flag. 0x00A175C0 171 CShopWindow__on_item_double_click game_core Handles double-click on shop item. If shop is locked, sends packet 0x12. If item type is 1 with flag 1, sends packet 0x26 (direct buy). Otherwise opens inventory window (type 0xF) and triggers item details (0xD, 5). 0x00A17680 3 null_stub_00a17680 crt Empty function that immediately returns, no operation performed 0x00A17690 9 thunk_to_CShopWnd__update_item_info_display_00a18660_00a17690 ui_shop Single-call wrapper that delegates to FUN_00a18660 0x00A176A0 3 null_stub_00a176a0 crt Empty function body, returns immediately without side effects 0x00A176B0 9 thunk_to_CShopWnd__update_item_info_display_00a18660_00a176b0 ui_shop Thunk that calls FUN_00a18660 and returns 0x00A176C0 112 CShopWnd__apply_color_picker_to_parent_00a176c0 ui_shop Reads RGB color from CColorPicker at position (10,6) if flag at this+0x90 is set, then sends the packed RGB value to the parent via CEffect__notify_parent_event. If flag is clear, sends 0xFFFFFFFF (white/default). 0x00A17730 1169 CShopWnd__init_shop_item_lists_00a17730 ui_shop Initializes a shop window with two lists of 10 items each (buy/sell). Positions the window, formats price text, creates CShopItem entries, sets up scrollable item list controls, and configures button visibility based on item availability. 0x00A17BF0 33 CShopWnd__dispatch_vtable_0x70_00a17bf0 ui_shop Virtual dispatch thunk. Calls vtable method at offset 0x70 on the object at this+0xEC. 0x00A17C20 769 CShopWnd__validate_and_set_price_00a17c20 ui_shop Validates price input from an editable text widget. Checks if input is numeric, clamps to 0-1,000,000,000 range. If invalid shows error dialog, if over max shows warning and clamps to 1B. Formats the number and updates the price display widget. 0x00A17F30 36 CShopWnd__dispatch_vtable_0x80_00a17f30 ui_shop Virtual dispatch thunk. Calls vtable method at offset 0x80 on the object at this+0xEC. 0x00A17F60 74 CShopWnd__refresh_list_scroll_position_00a17f60 ui_shop Refreshes a list widget's scroll position. Calculates scroll offset from d8*b8+c0, updates scroll value at +0x18, sets scroll bar position from +0xB0+0x9C, and marks widget dirty (+0xE1=1). 0x00A17FB0 165 CShopWnd__on_message_00a17fb0 ui_shop Shop window message handler. Handles messages: 0x17 (refresh buy/sell item lists with prices), 0x26 (close/confirm shop), 0x32 (set item name text with optional quantity formatting), 0x33/0x34 (toggle buy/sell tab visibility and update button state). Falls through to UIWindow__handle_button_click for unhandled messages. 0x00A18660 731 CShopWnd__update_item_info_display_00a18660 ui_shop Updates the shop item info display when an item is selected. Enables/disables sub-controls based on item count > 0. Displays item name and tooltip text from CItemDB. If item has special flag (+0xFC), enables a specific mode and hides a control. 0x00A18940 76 CShopWnd__set_price_display_color_00a18940 ui_shop Converts an integer price to a 64-bit value via get_number_display_colors, then sets the text color on the price display widget. If color index is -1, resets to default selection; otherwise sets shadow color by index. 0x00A18990 270 CShopWnd__update_price_texts_00a18990 ui_shop Updates price text labels in the shop window. Selects between buy (this+0xEC/0xF0) or sell (this+0x100/0x104) prices based on a mode flag. Formats numbers and updates three text display widgets, plus sets the 64-bit price display value. 0x00A18AA0 140 CShopWnd__refresh_item_list_all_dirty_00a18aa0 ui_shop Marks all items in a shop list (buy or sell based on param_2) as dirty/needs-redraw. Iterates the linked list at +0xD4, sets each entry's flag at +0x104 to 1, then refreshes scroll position and triggers a repaint. 0x00A18B30 34 std__copy_range_to_buffer_00a18b30 stl Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the copied data in destination. 0x00A18B60 34 std__copy_range_to_buffer_00a18b60 stl Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the copied data in destination. 0x00A18B90 34 std__copy_range_to_buffer_00a18b90 stl Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the copied data in destination. 0x00A18BC0 452 std__vector_int_emplace_00a18bc0 stl STL vector emplace/insert at position. Allocates new buffer with 1.5x growth, copies element, splits existing data around insertion point, frees old buffer. Returns pointer to inserted element. 0x00A18D90 418 std__vector_int_resize_00a18d90 stl STL vector resize to param_2 elements. Zero-initializes new elements. Uses 1.5x growth strategy. Max size 0x3FFFFFFF elements (4-byte elements). 0x00A18F40 418 std__vector_ptr_resize_00a18f40 stl STL vector resize to param_2 elements. Zero-initializes new elements. Uses 1.5x growth strategy. Max size 0x3FFFFFFF elements. 0x00A192A0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A192C0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A192E0 85 std__rotate_int_ptrs_00a192e0 stl STL rotate implementation for int* iterators. Rotates range [param_2, param_4) around param_3. Uses swap_ranges. Returns new middle position. 0x00A19340 85 std__rotate_ptr_ptrs_00a19340 stl STL rotate implementation for pointer iterators. Rotates range [param_2, param_4) around param_3. Uses swap_ranges. Returns new middle position. 0x00A193A0 444 CListCtrl__ctor_00a193a0 ui_framework Constructor for a list control widget. Inherits from a base UI widget (via FUN_00a79a90). Sets up vtable pointers, initializes member fields including linked lists, STL string, item arrays, and selection state. Allocates sentinel nodes for two linked lists. 0x00A19560 444 CListCtrl__ctor_00a19560 ui_framework Constructor for a list control variant (vtable 0x0115064C). Same pattern as CListCtrl__ctor_00a193a0 but with different vtable and slightly different sentinel node size (0x2C). 0x00A19720 444 CListCtrl__ctor_00a19720 ui_framework Constructor for a list control variant (vtable 0x01150494). Same pattern with sentinel node size 0x24. 0x00A198E0 444 CListCtrl__ctor_00a198e0 ui_framework Constructor for a list control variant (vtable 0x011503B8). Same pattern with sentinel node size 0x20. 0x00A19AA0 444 CListCtrl__ctor_00a19aa0 ui_framework Constructor for a list control variant (vtable 0x0114FF6C). Same pattern with sentinel node size 0xC (minimal). 0x00A19C60 199 UIDialog__ctor_00a19c60 ui_windows Constructor for UIDialog. Inherits from UIBase (vtable 0x011489F0). Initializes dialog-specific fields: flags, STL string, two object pointers at +0x31*4 and +0x3B*4. 0x00A19D30 138 CItemOptionWnd__ctor_00a19d30 game_core Constructor for CItemOptionWnd. Calls parent ctor FUN_009bdf40, sets vtable to 0x0114C434, initializes flags at +0x120 and +0x14C, and an object pointer at +0x174. 0x00A19DC0 250 UIDialog__dtor_00a19dc0 ui_windows Destructor for UIDialog variant (vtable 0x01150200). Cleans up child widget at +0x8C, destroys two owned objects at +0xEC and +0xC4 via virtual delete, then calls UIBase dtor. 0x00A19EC0 250 UIDialog__dtor_00a19ec0 ui_windows Destructor for UIDialog variant (vtable 0x011502DC). Same cleanup pattern: destroys child widget at +0x8C, two owned objects at +0xEC and +0xC4 via virtual delete, then calls UIBase dtor. 0x00A19FC0 250 UIDialog__dtor_00a19fc0 ui_windows Destructor for UIDialog variant (vtable 0x01150124). Same pattern: cleans up child widget +0x8C, destroys owned objects at +0xEC and +0xC4, calls UIBase dtor. 0x00A1A0C0 250 UIDialog__dtor_00a1a0c0 ui_windows Destructor for UIDialog variant (vtable 0x01150048). Same pattern: cleans up child widget +0x8C, destroys owned objects at +0xEC and +0xC4, calls UIBase dtor. 0x00A1A1C0 348 CListCtrl__dtor_00a1a1c0 ui_framework Destructor for CListCtrl variant (vtable 0x01150570). Destroys two owned sub-objects at +0x134 and +0x10C, cleans up linked list items, string, sentinel nodes, frees 4 texture/bitmap objects, and calls UIBase dtor. 0x00A1A320 348 CListCtrl__dtor_00a1a320 ui_framework Destructor for CListCtrl variant (vtable 0x0115064C). Same cleanup pattern with linked list, sentinel nodes, and 4 bitmap objects. 0x00A1A480 348 CListCtrl__dtor_00a1a480 ui_framework Destructor for CListCtrl variant (vtable 0x01150494). Same cleanup pattern with linked list, sentinel nodes, and 4 bitmap objects. 0x00A1A5E0 348 CListCtrl__dtor_00a1a5e0 ui_framework Destructor for CListCtrl variant (vtable 0x011503B8). Same cleanup pattern with linked list, sentinel nodes, and 4 bitmap objects. 0x00A1A740 393 CListCtrl__dtor_00a1a740 ui_framework Destructor for CListCtrl variant (vtable 0x0114FF6C). Differs from others: manually walks and frees linked list nodes (0xC-byte items), then same cleanup pattern. 0x00A1A8D0 33 UIWidget__destroy_child_at_0x24_00a1a8d0 ui_framework Destroys a child widget stored at offset +0x24. Calls virtual destructor (vtable+0x10) with ownership flag, then NULLs the pointer. 0x00A1A900 33 UIWidget__destroy_child_at_0x24_00a1a900 ui_framework Destroys a child widget stored at offset +0x24. Calls virtual destructor (vtable+0x10) with ownership flag, then NULLs the pointer. 0x00A1A930 33 UIWidget__destroy_child_at_0x24_00a1a930 ui_framework Destroys a child widget stored at offset +0x24. Calls virtual destructor (vtable+0x10) with ownership flag, then NULLs the pointer. 0x00A1A960 33 UIWidget__destroy_child_at_0x24_00a1a960 ui_framework Destroys a child widget stored at offset +0x24. Calls virtual destructor (vtable+0x10) with ownership flag, then NULLs the pointer. 0x00A1A990 33 UIWidget__destroy_child_at_0x24_00a1a990 ui_framework Destroys a child widget stored at offset +0x24. Calls virtual destructor (vtable+0x10) with ownership flag, then NULLs the pointer. 0x00A1A9C0 92 UIWidget__destroy_child_seh_00a1a9c0 ui_framework SEH-wrapped version of child widget destruction at offset +0x24. Same logic but with structured exception handling frame. 0x00A1AA20 92 UIWidget__destroy_child_seh_00a1aa20 ui_framework SEH-wrapped version of child widget destruction at offset +0x24. Same logic but with structured exception handling frame. 0x00A1AA80 92 UIWidget__destroy_child_seh_00a1aa80 ui_framework SEH-wrapped version of child widget destruction at offset +0x24. 0x00A1AAE0 92 UIWidget__destroy_child_seh_00a1aae0 ui_framework SEH-wrapped version of child widget destruction at offset +0x24. 0x00A1AB40 92 UIWidget__destroy_child_seh_00a1ab40 ui_framework SEH-wrapped version of child widget destruction at offset +0x24. 0x00A1ABA0 152 CListCtrl__destroy_item_list_0x70_00a1aba0 ui_framework Destroys a linked list of 0x70-byte list items. Each node has two strings that get destroyed. Walks the list, frees each node, then frees the sentinel. 0x00A1AC40 134 CListCtrl__destroy_item_list_0x2c_00a1ac40 ui_framework Destroys a linked list of 0x2C-byte list items. Each node has one string that gets destroyed. Walks list, frees each node, then frees sentinel. 0x00A1ACD0 134 CListCtrl__destroy_item_list_0x24_00a1acd0 ui_framework Destroys a linked list of 0x24-byte list items. Each node has one string that gets destroyed. Walks list, frees each node, then frees sentinel. 0x00A1AD60 129 std__vector_free_buffer_00a1ad60 stl Frees the backing buffer of an STL vector. Handles aligned allocation cleanup for buffers > 0xFFF bytes. Zeros the begin/end/capacity pointers. 0x00A1ADF0 129 std__vector_free_buffer_00a1adf0 stl Frees the backing buffer of an STL vector. Handles aligned allocation cleanup for buffers > 0xFFF bytes. Zeros the begin/end/capacity pointers. 0x00A1AE80 71 UIInterfaceDialogEx__dtor game_core UIInterfaceDialogEx destructor. Sets vtable, delegates to UIInterfaceDialog::dtor. 0x00A1AED0 164 UIWidget__clone_child_object_00a1aed0 ui_framework Clones a child object from param_2's +0x24 pointer via its virtual clone method (vtable[0]). Swaps into this via std::any::swap, then destroys the temporary clone. 0x00A1AF80 164 UIWidget__clone_child_object_00a1af80 ui_framework Clones a child object from param_2's +0x24 pointer via its virtual clone method. Swaps into this via std::any::swap, then destroys the temporary clone. 0x00A1B030 164 UIWidget__clone_child_object_00a1b030 ui_framework Clones a child object from param_2's +0x24 pointer via its virtual clone method. Swaps into this via std::any::swap, then destroys the temporary clone. 0x00A1B0E0 164 UIWidget__clone_child_object_00a1b0e0 ui_framework Clones a child object from param_2's +0x24 pointer via its virtual clone method. Swaps into this via std::any::swap, then destroys the temporary clone. 0x00A1B190 164 UIWidget__clone_child_object_00a1b190 ui_framework Clones a child object from param_2's +0x24 pointer via its virtual clone method. Swaps into this via std::any::swap, then destroys the temporary clone. 0x00A1B240 274 UIDialog__scalar_deleting_dtor_00a1b240 ui_windows Scalar deleting destructor for UIDialog (vtable 0x01150200). Runs dtor then conditionally frees 0xF0-byte object if bit 0 of param_2 is set. 0x00A1B360 274 UIDialog__scalar_deleting_dtor_00a1b360 ui_windows Scalar deleting destructor for UIDialog (vtable 0x011502DC). Runs dtor then conditionally frees 0xF0-byte object. 0x00A1B480 274 UIDialog__scalar_deleting_dtor_00a1b480 ui_windows Scalar deleting destructor for UIDialog (vtable 0x01150124). Runs dtor then conditionally frees 0xF0-byte object. 0x00A1B5A0 274 UIDialog__scalar_deleting_dtor_00a1b5a0 ui_windows Scalar deleting destructor for UIDialog (vtable 0x01150048). Runs dtor then conditionally frees 0xF0-byte object. 0x00A1B6C0 38 CListCtrl__scalar_deleting_dtor_00a1b6c0 ui_framework Scalar deleting destructor for CListCtrl (0x138 bytes). Calls CListCtrl__dtor_00a1a1c0 then conditionally frees. 0x00A1B6F0 38 CListCtrl__scalar_deleting_dtor_00a1b6f0 ui_framework Scalar deleting destructor for CListCtrl variant. Calls dtor then conditionally frees. 0x00A1B720 38 CListCtrl__scalar_deleting_dtor_00a1b720 ui_framework Scalar deleting destructor for CListCtrl variant. Calls dtor then conditionally frees. 0x00A1B750 38 CListCtrl__scalar_deleting_dtor_00a1b750 ui_framework Scalar deleting destructor for CListCtrl variant. Calls dtor then conditionally frees. 0x00A1B780 38 CListCtrl__scalar_deleting_dtor_00a1b780 ui_framework Scalar deleting destructor for CListCtrl variant. Calls dtor then conditionally frees. 0x00A1B7B0 99 UIInterfaceDialog__scalar_deleting_dtor_00a1b7b0 game_core Scalar deleting destructor for UIInterfaceDialog variant (vtable 0x0114FE88). Calls UIInterfaceDialog dtor then conditionally frees 0xF0-byte object. 0x00A1B820 353 UIOptionWindow__create_subwindow_00a1b820 ui_windows Factory function that creates a UIComponent subwindow (0xF0 bytes). Sets up position/size from parent, creates child stream handlers for option slots, and adds it to the parent hierarchy. 0x00A1B990 353 UIOptionWindow__create_subwindow_00a1b990 ui_windows Factory function that creates a UIComponent subwindow variant (0xF0 bytes). Sets up position/size from parent, creates child stream handlers for option slots. 0x00A1BB00 353 UIOptionWindow__create_subwindow_00a1bb00 ui_windows Factory function that creates a UIComponent subwindow variant (0xF0 bytes). Sets up position/size from parent, creates child stream handlers for option slots. 0x00A1BC70 353 UIOptionWindow__create_subwindow_00a1bc70 ui_windows Factory function that creates a UIComponent subwindow variant (0xF0 bytes). Sets up position/size from parent, creates child stream handlers for option slots. 0x00A1BDE0 353 UIOptionWindow__create_subwindow_00a1bde0 ui_windows Factory function that creates a UIComponent subwindow variant (0xF0 bytes). Sets up position/size from parent, creates child stream handlers for option slots. 0x00A1BF50 115 UITextArea__create_00a1bf50 game_core Factory function that allocates a 0x100-byte UITextArea object and calls its constructor. 0x00A1BFD0 85 CListCtrl__clear_all_items_00a1bfd0 ui_framework Clears all items from a list control. Iterates the vector at +0xC8 to +0xCC, calls FUN_00a82e50(item, 1) to destroy each, then resets end pointer to begin and selection to -1. 0x00A1C030 85 CListCtrl__clear_all_items_00a1c030 ui_framework Clears all items from a list control variant. Same pattern as 00a1bfd0. 0x00A1C090 85 CListCtrl__clear_all_items_00a1c090 ui_framework Clears all items from a list control variant. Same pattern as 00a1bfd0. 0x00A1C0F0 85 CListCtrl__clear_all_items_00a1c0f0 ui_framework Clears all items from a list control variant. Same pattern as 00a1bfd0. 0x00A1C150 85 CListCtrl__clear_all_items_00a1c150 ui_framework Clears all items from a list control variant. Same pattern as 00a1bfd0. 0x00A1C1B0 2782 UIOptionWindow__init_controls_00a1c1b0 ui_windows Initializes the option window controls. Stores width/height/param4, creates UIComponent + UIDialog + CListCtrl sub-widgets. Uses XOR-encrypted strings for control names (decrypted at runtime). Sets up scrollbar, item list, and multiple text labels via encrypted resource strings. 0x00A1CC90 2782 UIOptionWindow__init_controls_00a1cc90 ui_windows Initializes option window controls variant. Same pattern as 00a1c1b0 with XOR-encrypted strings and sub-widget creation. 0x00A1D770 2782 UIOptionWindow__init_controls_00a1d770 ui_windows Initializes option window controls variant. Same pattern as 00a1c1b0 with XOR-encrypted strings and sub-widget creation. 0x00A1E250 2782 UIOptionWindow__init_controls_00a1e250 ui_windows Initializes option window controls variant. Same pattern as 00a1c1b0 with XOR-encrypted strings and sub-widget creation. 0x00A1ED30 36 UIWidget__set_size_and_position_00a1ed30 ui_framework Sets widget size (this+0xB4, this+0xB8) from params 4,5 and calls FUN_00a7b470 to set position from params 2,3. 0x00A1ED60 36 UIWidget__set_size_and_position_00a1ed60 ui_framework Sets widget size and position. Same pattern as 00a1ed30. 0x00A1ED90 36 UIWidget__set_size_and_position_00a1ed90 ui_framework Sets widget size and position. Same pattern as 00a1ed30. 0x00A1EDC0 36 UIWidget__set_size_and_position_00a1edc0 ui_framework Sets widget size and position. Same pattern as 00a1ed30. 0x00A1EDF0 36 UIWidget__set_size_and_position_00a1edf0 ui_framework Sets widget size and position. Same pattern as 00a1ed30. 0x00A1EE20 92 UIOptionWindow__init_window_layout_00a1ee20 ui_windows Initializes the option window layout. Sets flags, calls virtual methods to set size (400x350), position (0,0), activate/show, applies skin colors (0,0,3,1), and sets render mode to 3. 0x00A1EE80 189 UIOptionWindow__create_tab_page_00a1ee80 ui_windows Creates a tab page (0x84 bytes) for the option window. Sets its size (400x288), adds to parent hierarchy, then pushes it to the vector at this+0xE4/0xE8 (using emplace if full). 0x00A1EF40 80 UIOptionWindow__scroll_to_bottom_00a1ef40 ui_windows Scrolls an option window pane to the bottom. If a condition is met, calculates max scroll (height-1) and calls FUN_00aa27b0 to scroll the list control at +0x8C. 0x00A1EF90 80 UIOptionWindow__scroll_to_bottom_00a1ef90 ui_windows Scrolls an option window pane to the bottom. Same pattern as 00a1ef40. 0x00A1EFE0 80 UIOptionWindow__scroll_to_bottom_00a1efe0 ui_windows Scrolls an option window pane to the bottom. Same pattern as 00a1ef40. 0x00A1F030 80 UIOptionWindow__scroll_to_bottom_00a1f030 ui_windows Scrolls an option window pane to the bottom. Same pattern as 00a1ef40. 0x00A1F080 69 CListCtrl__get_selected_item_00a1f080 ui_framework Gets the currently selected item from the list control. Walks the linked list at +0xD4 by selection index (+0xDC). Returns item data pointer and valid flag in param_2. 0x00A1F0D0 69 CListCtrl__get_selected_item_00a1f0d0 ui_framework Gets the currently selected item from the list control. Same pattern as 00a1f080. 0x00A1F120 69 CListCtrl__get_selected_item_00a1f120 ui_framework Gets the currently selected item from the list control. Same pattern as 00a1f080. 0x00A1F170 69 CListCtrl__get_selected_item_00a1f170 ui_framework Gets the currently selected item from the list control. Same pattern as 00a1f080. 0x00A1F1C0 69 CListCtrl__get_selected_item_00a1f1c0 ui_framework Gets the currently selected item from the list control. Same pattern as 00a1f080. 0x00A1F210 193 UIOptionWindow__create_scrollbar_00a1f210 ui_windows Creates a scrollbar child widget (0xF0 bytes) using FUN_009be480. Stores at this+0xB0, sets hidden (flag 0), creates stream handler, and adds to parent hierarchy. 0x00A1F2E0 193 UIOptionWindow__create_scrollbar_00a1f2e0 ui_windows Creates a scrollbar child widget variant. Same pattern as 00a1f210. 0x00A1F3B0 193 UIOptionWindow__create_scrollbar_00a1f3b0 ui_windows Creates a scrollbar child widget variant. Same pattern as 00a1f210. 0x00A1F480 193 UIOptionWindow__create_scrollbar_00a1f480 ui_windows Creates a scrollbar child widget variant. Same pattern as 00a1f210. 0x00A1F550 193 UIOptionWindow__create_option_slot ui_windows Creates an option slot control (0xF0 bytes, UIInterfaceDialog). Sets invisible via vtable+0x38, registers OptionSlot callback for option changes, and adds as child to parent hierarchy. Stores at this+0xB0. 0x00A1F620 623 UIOptionWindow__create_child_widgets ui_windows Creates 6 child widgets for a UIOptionWindow section: UILabel at +0x80 (0x88 bytes, 400x36), UISlider at +0x84 (0xA4 bytes, 400x60), UIPanel at +0x88 (0x94 bytes, 400x36), UICheckBox at +0x8C (0x94 bytes, 400x60), UIProgressBar at +0x90 (0x9C bytes, 400x36), UIImage at +0x94 (0x94 bytes, 400x36). Each positioned vertically in sequence and added as child. 0x00A1F890 636 UIOptionWindow__create_description_label_00a1f890 ui_windows Creates a text label widget (0xFC bytes) for the option window description area. Positions at (0x9B, 0x10), sets size, font (XOR-encrypted name), line spacing 12, no bold, black color with white outline/shadow. Stores at this+0xE8. 0x00A1FB10 13033 UIOptionWindow__setup_option_pages_00a1fb10 ui_windows Large function (13033 bytes) that sets up all option pages for the settings/options window. SKIPPED decompilation due to size > 5000 bytes. 0x00A22E00 623 UIOptionWindow__create_all_controls_00a22e00 ui_windows Creates all child controls for the option window: UISprite (+0x80, 400x32), UIListBox (+0x84, 400x64), UIButton (+0x88), UIRadioButton (+0x8C), UIScrollPanel (+0x90), and UIDropdown (+0x94). Each is sized 400xW and positioned vertically. 0x00A23070 5276 UIOptionWindow__init_page_content_a_00a23070 ui_windows Option window page content initialization (5276 bytes). SKIPPED decompilation due to size > 5000 bytes. 0x00A24510 5326 UIOptionWindow__init_page_content_b_00a24510 ui_windows Option window page content initialization (5326 bytes). SKIPPED decompilation due to size > 5000 bytes. 0x00A259E0 5954 UIOptionWindow__init_page_content_c_00a259e0 ui_windows Option window page content initialization (5954 bytes). SKIPPED decompilation due to size > 5000 bytes. 0x00A27130 3015 UIOptionWindow__create_list_section ui_windows Creates a list-based option section: text label at +0x80 (0xFC bytes, XOR-encrypted title, bold, black with white outline/shadow), option dialog at +0x84 (0xF0 bytes) initialized via init_controls_00a1d770 with 4 XOR-encrypted button text labels, and optional list dialog at +0x88 (0x120 bytes) with stream callbacks for item selection and scrolling. Positioned at offset (9, 0x96). 0x00A27D00 5244 UIOptionWindow__init_page_content_d_00a27d00 ui_windows Option window page content initialization (5244 bytes). SKIPPED decompilation due to size > 5000 bytes. 0x00A29180 7484 UIOptionWindow__init_page_content_e_00a29180 ui_windows Option window page content initialization (7484 bytes). SKIPPED decompilation due to size > 5000 bytes. 0x00A2AEC0 5372 UIOptionWindow__init_page_content_f_00a2aec0 ui_windows Option window page content initialization (5372 bytes). SKIPPED decompilation due to size > 5000 bytes. 0x00A2C3C0 3006 UIOptionWindow__create_list_section_00a2c3c0 ui_windows Creates a list-based option section variant: text label at +0x80 (0xFC bytes, shorter title 0x4B wide, XOR-encrypted), option dialog at +0x84 (0xF0 bytes) initialized via init_controls_00a1e250 with 4 XOR-encrypted button labels, and optional list dialog at +0x88 (0x120 bytes). Same pattern as 00a27130 but with different init_controls call and positioned at (9, 0x6E). 0x00A2CF80 10486 UIOptionWindow__handle_message_00a2cf80 ui_windows Option window message handler (10486 bytes). SKIPPED decompilation due to size > 5000 bytes. 0x00A2F880 3083 UIOptionWindow__create_scrollbar_section ui_windows Creates a scrollbar-based option section: text label at +0x80 (0xFC bytes, XOR-encrypted title, bold, black with white outline/shadow), scrollbar at +0x84 (0xF0 bytes, UIInterfaceDialog) with max=0x80, visible range=0x80, XOR-encrypted button/background/thumb textures. Sets up scroll callback and positions at (0xB, 0x99). 0x00A30490 3034 UIOptionWindow__create_scrollbar_section_00a30490 ui_windows Creates a scrollbar-based option section variant: text label at +0x80 (0xFC bytes, XOR-encrypted 14-char title, bold, black with white outline/shadow), scrollbar at +0x84 (0xF0 bytes) with max=0x80, visible range=0x80, XOR-encrypted button/background/thumb textures. Same pattern as 00a2f880 but different TLS offsets and texture keys. Positioned at (0xB, 0x99). 0x00A31070 5340 UIOptionWindow__save_settings_00a31070 ui_windows Saves current option settings from UI controls to configuration (5340 bytes). SKIPPED decompilation due to size > 5000 bytes. 0x00A32550 3323 UIOptionWindow__create_listctrl_section ui_windows Creates a CListCtrl-based option section: list control at +0x80 (0x138 bytes, item size 0x183x0x1A, viewport 400x0x11E). Clones child objects for item/row templates, initializes 3 map columns (0,1,2) with empty strings, configures scrollbar with XOR-encrypted button labels, background texture, and horizontal thumb textures. Calls rebuild_visible_items and adds as child. 0x00A33250 4732 UIOptionWindow__create_main_controls ui_windows Creates the main controls for a UIOptionWindow variant: checkbox at +0xE8 (0x150 bytes), list dialog at +0xEC (0x120 bytes) with stream callback, dialog at +0xF0 (0x190 bytes) with label/font/colors, and text label at +0xF4 (0xFC bytes). Sets XOR-encrypted button textures for both list dialogs and configures label formatting (font, size 12, bold, black text with white shadow/outline). 0x00A345E0 63 OptionSlot__advance_next_00a345e0 game_core Advances to the next option in the slot. If the scrollbar at +0xB0 is not at max, calls vtable+0x8C on it. Otherwise calls vtable+0x8C on the parent at +0x10. 0x00A34620 63 OptionSlot__advance_next_00a34620 game_core Advances to the next option in the slot variant. Same pattern as 00a345e0. 0x00A34660 63 OptionSlot__advance_next_00a34660 game_core Advances to the next option in the slot variant. Same pattern as 00a345e0. 0x00A346A0 63 OptionSlot__advance_next_00a346a0 game_core Advances to the next option in the slot variant. Same pattern as 00a345e0. 0x00A346E0 63 OptionSlot__advance_next_00a346e0 game_core Advances to the next option in the slot variant. Same pattern as 00a345e0. 0x00A34720 65 CListCtrl__set_selected_highlight_00a34720 ui_framework Iterates all items in the list control vector (+0xC8 to +0xCC). For each item, calls vtable+0xDC with 1 if it matches param_2, 0 otherwise, to toggle selection highlight. 0x00A34770 65 CListCtrl__set_selected_highlight_00a34770 ui_framework Sets selection highlight on list control items. Same pattern as 00a34720. 0x00A347C0 65 CListCtrl__set_selected_highlight_00a347c0 ui_framework Sets selection highlight on list control items. Same pattern as 00a34720. 0x00A34810 65 CListCtrl__set_selected_highlight_00a34810 ui_framework Sets selection highlight on list control items. Same pattern as 00a34720. 0x00A34860 65 CListCtrl__set_selected_highlight_00a34860 ui_framework Sets selection highlight on list control items. Same pattern as 00a34720. 0x00A348B0 545 CListCtrl__rebuild_visible_items_00a348b0 ui_framework Rebuilds the visible item components in a list control. Clears existing items, calculates how many fit (height/item_height), resizes vector, creates UIComponent for each slot with button textures and stream handlers. Updates scroll range. 0x00A34AE0 545 CListCtrl__rebuild_visible_items_00a34ae0 ui_framework Rebuilds visible item components in a list control variant. Same pattern as 00a348b0. 0x00A34D10 545 CListCtrl__rebuild_visible_items_00a34d10 ui_framework Rebuilds visible item components in a list control variant. Same pattern as 00a348b0. 0x00A34F40 545 CListCtrl__rebuild_visible_items_00a34f40 ui_framework Rebuilds visible item components in a list control variant. Same pattern as 00a348b0. 0x00A35170 603 CListCtrl__rebuild_visible_items_00a35170 ui_framework Rebuilds visible item components in a list control variant (603 bytes). Slightly different size due to different item node layout. 0x00A353D0 196 CListCtrl__set_scroll_callback ui_framework Sets a scroll/update callback delegate on the list control. Creates a delegate object from the provided callback, swaps it into the list's callback slot at offset 0x128. 0x00A354A0 522 CListCtrl__load_item_textures ui_framework Loads item textures for the list control from a resource map. Loads 4 texture states (normal, hover, pressed, disabled) into fields 0x80-0x8c, releases old textures, then applies them to all child item buttons. 0x00A356B0 522 CListCtrl__load_item_textures_00a356b0 ui_framework Loads item textures for a list control variant. Same pattern as 00a354a0 - loads 4 texture states and applies to child buttons. 0x00A358C0 522 CListCtrl__load_item_textures_00a358c0 ui_framework Loads item textures for a list control variant. Same pattern as 00a354a0. 0x00A35AD0 522 CListCtrl__load_item_textures_00a35ad0 ui_framework Loads item textures for a list control variant. Same pattern as 00a354a0. 0x00A35CE0 522 CListCtrl__load_item_textures_00a35ce0 ui_framework Loads item textures for a list control variant. Same pattern as 00a354a0. 0x00A35EF0 115 CListCtrl__add_item_and_refresh_00a35ef0 ui_framework Adds an item to the list and refreshes the display. Calls FUN_00a82eb0 to add data, rebuilds visible items, updates parent size, sets scroll range/value, and marks dirty. 0x00A35F70 115 CListCtrl__add_item_and_refresh_00a35f70 ui_framework Adds an item to the list and refreshes. Same pattern as 00a35ef0. 0x00A35FF0 115 CListCtrl__add_item_and_refresh_00a35ff0 ui_framework Adds an item to the list and refreshes. Same pattern as 00a35ef0. 0x00A36070 115 CListCtrl__add_item_and_refresh_00a36070 ui_framework Adds an item to the list and refreshes. Same pattern as 00a35ef0. 0x00A360F0 115 CListCtrl__add_item_and_refresh_00a360f0 ui_framework Adds an item to the list and refreshes. Same pattern as 00a35ef0. 0x00A36170 498 CListCtrl__layout_visible_items_00a36170 ui_framework Lays out visible items in the list based on scroll position. Calculates which items are visible, rotates the item component array for reuse, assigns data to each visible slot via callback at +0x134, positions components, and hides offscreen ones. 0x00A36370 498 CListCtrl__layout_visible_items_00a36370 ui_framework Lays out visible items in the list based on scroll position. Same pattern as 00a36170. 0x00A36570 498 CListCtrl__layout_visible_items_00a36570 ui_framework Lays out visible items in the list based on scroll position. Same pattern as 00a36170. 0x00A36770 498 CListCtrl__layout_visible_items_00a36770 ui_framework Lays out visible items in the list based on scroll position. Same pattern as 00a36170. 0x00A36970 498 CListCtrl__layout_visible_items_00a36970 ui_framework Lays out visible items in the list based on scroll position. Same pattern as 00a36170. 0x00A36B70 83 UIDialog__notify_callbacks_00a36b70 ui_windows Notifies registered callbacks when dialog state changes. Calls callback at +0xEC with widget ID, and callback at +0xC4 with param_2. 0x00A36BD0 83 UIDialog__notify_callbacks_00a36bd0 ui_windows Notifies registered callbacks. Same pattern as 00a36b70. 0x00A36C30 83 CDialogBox__on_ok_button game_core OK button handler for dialog box. Hides modal window, invokes OK callback (offset 0xEC) with stored value (0x80), then invokes general callback (0xC4). 0x00A36C90 83 CDialogBox__on_cancel_button game_core Cancel button handler for dialog box. Same structure as OK handler: hides modal, invokes cancel callback (0xEC) with stored value, then general callback (0xC4). 0x00A36CF0 218 UIListView__on_item_click_handler_c game_core UIListView item click handler variant c. Same selection logic as handler_a/b but uses different RTDynamicCast target type. 0x00A36DD0 218 CListCtrl__on_item_clicked_00a36dd0 ui_framework Handles item click in list control. If not locked (+0xC4 flag), deselects all other items, selects the clicked one, updates selection index (+0xDC), and calls the selection callback at +0x10C with item data from the linked list. 0x00A36EB0 218 CListCtrl__on_item_clicked_00a36eb0 ui_framework Handles item click in list control variant. Same pattern as 00a36dd0. 0x00A36F90 218 CListCtrl__on_item_clicked_00a36f90 ui_framework Handles item click in list control variant. Same pattern as 00a36dd0. 0x00A37070 218 CListCtrl__on_item_clicked_00a37070 ui_framework Handles item click in list control variant. Same pattern as 00a36dd0. 0x00A37150 319 CListCtrl__create_header_row_00a37150 ui_framework Creates a header row component for the list control. Destroys existing header if present, adjusts position to make room, allocates a 0x120-byte object, sets position/size, text labels, and adds to parent hierarchy via stream handler. 0x00A37290 319 CListCtrl__create_header_row_00a37290 ui_framework Creates a header row for list control variant. Same pattern as 00a37150. 0x00A373D0 319 CListCtrl__create_header_row_00a373d0 ui_framework Creates a header row for list control variant. Same pattern as 00a37150. 0x00A37510 319 CListCtrl__create_header_row_00a37510 ui_framework Creates a header row for list control variant. Same pattern as 00a37150. 0x00A37650 216 CListCtrl__set_text_strings_00a37650 ui_framework Sets four text strings on a list control using map subscript access (keys 0,1,2 + the name string at +0x98). Calls vtable+0xD4 with 0 and vtable+0x98 to trigger repaint. 0x00A37730 22 OptionSlot__copy_ctor_00a37730 game_core Copy constructor for an OptionSlot callback object. Sets vtable to 0x01150878 and copies the parent pointer from source (+0x4). 0x00A37750 22 OptionSlot__copy_ctor_00a37750 game_core Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. 0x00A37770 22 OptionSlot__copy_ctor_00a37770 game_core Copy constructor for an OptionSlot callback variant. 0x00A37790 22 OptionSlot__copy_ctor_00a37790 game_core Copy constructor for an OptionSlot callback variant. 0x00A377B0 22 OptionSlot__copy_ctor_00a377b0 game_core Copy constructor for an OptionSlot callback variant. 0x00A377D0 22 OptionSlot__copy_ctor_00a377d0 game_core Copy constructor for an OptionSlot callback variant. 0x00A377F0 22 OptionSlot__copy_ctor_00a377f0 game_core Copy constructor for an OptionSlot callback variant. 0x00A37810 22 OptionSlot__copy_ctor_00a37810 game_core Copy constructor for an OptionSlot callback variant. 0x00A37830 22 OptionSlot__copy_ctor_00a37830 game_core Copy constructor for an OptionSlot callback variant. 0x00A37850 22 OptionSlot__copy_ctor_00a37850 game_core Copy constructor for an OptionSlot callback variant. 0x00A37870 22 OptionSlot__copy_ctor_00a37870 game_core Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. 0x00A37890 22 OptionSlot__copy_ctor_00a37890 game_core Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. 0x00A378B0 22 OptionSlot__copy_ctor_00a378b0 game_core Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. 0x00A378D0 22 OptionSlot__copy_ctor_00a378d0 game_core Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. 0x00A378F0 22 OptionSlot__copy_ctor_00a378f0 game_core Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. 0x00A37910 22 OptionSlot__copy_ctor_00a37910 game_core Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. 0x00A37930 22 OptionSlot__copy_ctor_00a37930 game_core Copy constructor for an OptionSlot callback variant. Sets vtable and copies parent pointer. 0x00A37950 22 OptionSlot__copy_ctor_00a37950 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37970 22 OptionSlot__copy_ctor_00a37970 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37990 22 OptionSlot__copy_ctor_00a37990 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A379B0 22 OptionSlot__copy_ctor_00a379b0 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A379D0 22 OptionSlot__copy_ctor_00a379d0 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A379F0 22 OptionSlot__copy_ctor_00a379f0 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37A10 22 OptionSlot__copy_ctor_00a37a10 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37A30 22 OptionSlot__copy_ctor_00a37a30 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37A50 22 OptionSlot__copy_ctor_00a37a50 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37A70 22 OptionSlot__copy_ctor_00a37a70 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37A90 22 OptionSlot__copy_ctor_00a37a90 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37AB0 22 OptionSlot__copy_ctor_00a37ab0 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37AD0 22 OptionSlot__copy_ctor_00a37ad0 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37AF0 22 OptionSlot__copy_ctor_00a37af0 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37B10 22 OptionSlot__copy_ctor_00a37b10 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37B30 22 OptionSlot__copy_ctor_00a37b30 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37B50 22 OptionSlot__copy_ctor_00a37b50 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37B70 22 OptionSlot__copy_ctor_00a37b70 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37B90 22 OptionSlot__copy_ctor_00a37b90 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. 0x00A37BB0 22 OptionSlot__copy_ctor_00a37bb0 game_core Signal slot copy constructor for options UI. Sets vtable pointer and copies context/owner pointer from source slot. Part of boost::signals2-style delegate framework used by game settings UI. 0x00A37BD0 22 OptionSlot__copy_ctor_00a37bd0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37BF0 22 OptionSlot__copy_ctor_00a37bf0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37C10 22 OptionSlot__copy_ctor_00a37c10 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37C30 22 OptionSlot__copy_ctor_00a37c30 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37C50 22 OptionSlot__copy_ctor_00a37c50 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37C70 22 OptionSlot__copy_ctor_00a37c70 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37C90 22 OptionSlot__copy_ctor_00a37c90 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37CB0 22 OptionSlot__copy_ctor_00a37cb0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37CD0 22 OptionSlot__copy_ctor_00a37cd0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37CF0 22 OptionSlot__copy_ctor_00a37cf0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37D10 22 OptionSlot__copy_ctor_00a37d10 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37D30 22 OptionSlot__copy_ctor_00a37d30 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37D50 22 OptionSlot__copy_ctor_00a37d50 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37D70 22 OptionSlot__copy_ctor_00a37d70 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37D90 22 OptionSlot__copy_ctor_00a37d90 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37DB0 22 OptionSlot__copy_ctor_00a37db0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37DD0 22 OptionSlot__copy_ctor_00a37dd0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37DF0 22 OptionSlot__copy_ctor_00a37df0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37E10 22 OptionSlot__copy_ctor_00a37e10 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37E30 22 OptionSlot__copy_ctor_00a37e30 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37E50 22 OptionSlot__copy_ctor_00a37e50 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37E70 22 OptionSlot__copy_ctor_00a37e70 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37E90 22 OptionSlot__copy_ctor_00a37e90 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37EB0 22 OptionSlot__copy_ctor_00a37eb0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37ED0 22 OptionSlot__copy_ctor_00a37ed0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37EF0 22 OptionSlot__copy_ctor_00a37ef0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37F10 22 OptionSlot__copy_ctor_00a37f10 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37F30 22 OptionSlot__copy_ctor_00a37f30 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37F50 22 OptionSlot__copy_ctor_00a37f50 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37F70 22 OptionSlot__copy_ctor_00a37f70 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37F90 22 OptionSlot__copy_ctor_00a37f90 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37FB0 22 OptionSlot__copy_ctor_00a37fb0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37FD0 22 OptionSlot__copy_ctor_00a37fd0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A37FF0 68 OptionSlot__scalar_deleting_dtor_00a37ff0 game_core Scalar deleting destructor for signal slot object. SEH frame, conditionally frees 8 bytes via operator_delete if param_2 flag is set. 0x00A38040 68 OptionSlot__scalar_deleting_dtor_00a38040 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38090 68 OptionSlot__scalar_deleting_dtor_00a38090 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A380E0 68 OptionSlot__scalar_deleting_dtor_00a380e0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38130 68 OptionSlot__scalar_deleting_dtor_00a38130 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38180 68 OptionSlot__scalar_deleting_dtor_00a38180 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A381D0 68 OptionSlot__scalar_deleting_dtor_00a381d0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38220 68 OptionSlot__scalar_deleting_dtor_00a38220 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38270 68 OptionSlot__scalar_deleting_dtor_00a38270 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A382C0 68 OptionSlot__scalar_deleting_dtor_00a382c0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38310 68 OptionSlot__scalar_deleting_dtor_00a38310 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38360 68 OptionSlot__scalar_deleting_dtor_00a38360 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A383B0 68 OptionSlot__scalar_deleting_dtor_00a383b0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38400 68 OptionSlot__scalar_deleting_dtor_00a38400 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38450 68 OptionSlot__scalar_deleting_dtor_00a38450 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A384A0 68 OptionSlot__scalar_deleting_dtor_00a384a0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A384F0 68 OptionSlot__scalar_deleting_dtor_00a384f0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38540 68 OptionSlot__scalar_deleting_dtor_00a38540 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38590 68 OptionSlot__scalar_deleting_dtor_00a38590 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A385E0 68 OptionSlot__scalar_deleting_dtor_00a385e0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38630 68 OptionSlot__scalar_deleting_dtor_00a38630 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38680 68 OptionSlot__scalar_deleting_dtor_00a38680 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A386D0 68 OptionSlot__scalar_deleting_dtor_00a386d0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38720 68 OptionSlot__scalar_deleting_dtor_00a38720 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38770 68 OptionSlot__scalar_deleting_dtor_00a38770 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A387C0 68 OptionSlot__scalar_deleting_dtor_00a387c0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38810 68 OptionSlot__scalar_deleting_dtor_00a38810 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38860 68 OptionSlot__scalar_deleting_dtor_00a38860 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A388B0 68 OptionSlot__scalar_deleting_dtor_00a388b0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38900 68 OptionSlot__scalar_deleting_dtor_00a38900 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38950 68 OptionSlot__scalar_deleting_dtor_00a38950 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A389A0 68 OptionSlot__scalar_deleting_dtor_00a389a0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A389F0 68 OptionSlot__scalar_deleting_dtor_00a389f0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38A40 68 OptionSlot__scalar_deleting_dtor_00a38a40 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38A90 68 OptionSlot__scalar_deleting_dtor_00a38a90 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38AE0 68 OptionSlot__scalar_deleting_dtor_00a38ae0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38B30 68 OptionSlot__scalar_deleting_dtor_00a38b30 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38B80 68 OptionSlot__scalar_deleting_dtor_00a38b80 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38BD0 68 OptionSlot__scalar_deleting_dtor_00a38bd0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38C20 68 OptionSlot__scalar_deleting_dtor_00a38c20 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38C70 68 OptionSlot__scalar_deleting_dtor_00a38c70 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38CC0 68 OptionSlot__scalar_deleting_dtor_00a38cc0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38D10 68 OptionSlot__scalar_deleting_dtor_00a38d10 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38D60 68 OptionSlot__scalar_deleting_dtor_00a38d60 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38DB0 68 OptionSlot__scalar_deleting_dtor_00a38db0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38E00 68 OptionSlot__scalar_deleting_dtor_00a38e00 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38E50 68 OptionSlot__scalar_deleting_dtor_00a38e50 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38EA0 68 OptionSlot__scalar_deleting_dtor_00a38ea0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38EF0 68 OptionSlot__scalar_deleting_dtor_00a38ef0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38F40 68 OptionSlot__scalar_deleting_dtor_00a38f40 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38F90 68 OptionSlot__scalar_deleting_dtor_00a38f90 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A38FE0 68 OptionSlot__scalar_deleting_dtor_00a38fe0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39030 68 OptionSlot__scalar_deleting_dtor_00a39030 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39080 68 OptionSlot__scalar_deleting_dtor_00a39080 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A390D0 68 OptionSlot__scalar_deleting_dtor_00a390d0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39120 68 OptionSlot__scalar_deleting_dtor_00a39120 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39170 68 OptionSlot__scalar_deleting_dtor_00a39170 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A391C0 68 OptionSlot__scalar_deleting_dtor_00a391c0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39210 68 OptionSlot__scalar_deleting_dtor_00a39210 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39260 68 OptionSlot__scalar_deleting_dtor_00a39260 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A392B0 68 OptionSlot__scalar_deleting_dtor_00a392b0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39300 68 OptionSlot__scalar_deleting_dtor_00a39300 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39350 68 OptionSlot__scalar_deleting_dtor_00a39350 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A393A0 68 OptionSlot__scalar_deleting_dtor_00a393a0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A393F0 68 OptionSlot__scalar_deleting_dtor_00a393f0 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39440 68 OptionSlot__scalar_deleting_dtor_00a39440 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A39490 68 scalar_deleting_dtor_8bytes_g game_core Trivial scalar deleting destructor for 8-byte object (variant g). 0x00A394E0 68 scalar_deleting_dtor_8bytes_h game_core Trivial scalar deleting destructor for 8-byte object (variant h). 0x00A39530 68 scalar_deleting_dtor_8bytes_i game_core Trivial scalar deleting destructor for 8-byte object (variant i). 0x00A39580 68 OptionSlot__scalar_deleting_dtor_00a39580 game_core Scalar deleting destructor for signal slot. SEH + conditional operator_delete(8 bytes). 0x00A395D0 20 OptionSlot__invoke_apply_setting_00a395d0 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. Part of options UI delegate system. 0x00A395F0 20 OptionSlot__invoke_apply_setting_00a395f0 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting function with RTDynamicCast. 0x00A39610 20 OptionSlot__invoke_apply_setting_00a39610 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. 0x00A39630 20 OptionSlot__invoke_set_priority_00a39630 game_core Signal slot invocation wrapper. Forwards *param_1 to set process priority via SetPriorityClass. 0x00A39650 20 OptionSlot__invoke_on_priority_radio_changed game_core Signal slot invocation wrapper. Forwards *param_1 to SettingsUI__on_priority_radio_changed. 0x00A39670 20 OptionSlot__invoke_apply_setting_00a39670 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. 0x00A396B0 21 OptionSlot__invoke_toggle_option_00a396b0 game_core Signal slot void invocation. Calls toggle_option which reads GameSettings state and toggles enabled flag. 0x00A396D0 23 OptionSlot__invoke_on_small_list_item_selected game_core Signal slot invocation. Forwards *param_1 and param_2 to SettingsUI__on_small_list_item_selected handler. 0x00A396F0 20 OptionSlot__invoke_update_display_00a396f0 game_core Signal slot invocation wrapper. Forwards *param_1 to update_display function that refreshes UI rendering. 0x00A39710 23 OptionSlot__invoke_render_item_text game_core Signal slot invocation. Forwards *param_1 and param_2 to UIListBox__render_item_text_at_offset0xc. 0x00A39740 20 OptionSlot__invoke_set_priority_00a39740 game_core Signal slot invocation wrapper. Forwards *param_1 to set process priority via SetPriorityClass. 0x00A39760 65 OptionSlot__invoke_set_selected_all_00a39760 game_core Signal slot invocation. Iterates all items in collection (offset 0xC8-0xCC), calls virtual method +0xDC (set_selected) on each based on match with param_2. 0x00A397B0 65 OptionSlot__invoke_set_selected_all_00a397b0 game_core Signal slot invocation. Iterates collection items calling virtual set_selected based on match. 0x00A39800 65 OptionSlot__invoke_set_selected_all_00a39800 game_core Signal slot invocation. Iterates collection items calling virtual set_selected based on match. 0x00A39850 65 OptionSlot__invoke_set_selected_all_00a39850 game_core Signal slot invocation. Iterates collection items calling virtual set_selected based on match. 0x00A398A0 65 OptionSlot__invoke_set_selected_all_00a398a0 game_core Signal slot invocation. Iterates collection items calling virtual set_selected based on match. 0x00A398F0 81 OptionSlot__invoke_show_window_clamped_00a398f0 game_core Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. 0x00A39950 81 OptionSlot__invoke_show_window_clamped_00a39950 game_core Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. 0x00A399B0 81 OptionSlot__invoke_show_window_clamped_00a399b0 game_core Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. 0x00A39A10 81 OptionSlot__invoke_show_window_clamped_00a39a10 game_core Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. 0x00A39A70 20 OptionSlot__invoke_layout_visible_items game_core Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. 0x00A39A90 20 OptionSlot__invoke_layout_visible_items_00a39a90 game_core Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. 0x00A39AB0 20 OptionSlot__invoke_layout_visible_items_00a39ab0 game_core Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. 0x00A39AD0 20 OptionSlot__invoke_layout_visible_items_00a39ad0 game_core Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. 0x00A39AF0 20 OptionSlot__invoke_layout_visible_items_00a39af0 game_core Signal slot invocation wrapper. Forwards *param_1 to CListCtrl__layout_visible_items. 0x00A39B10 23 OptionSlot__invoke_on_value_changed_00a39b10 game_core Signal slot invocation. Forwards *param_1 and param_2 to on_value_changed handler (null_stub target). 0x00A39B30 21 OptionSlot__invoke_toggle_option_00a39b30 game_core Signal slot void invocation. Calls toggle_option function. 0x00A39B50 81 OptionSlot__invoke_show_window_clamped game_core Signal slot invocation. Checks modal lock via CGameObject__hide_modal_window, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. 0x00A39BB0 81 OptionSlot__invoke_show_window_clamped_00a39bb0 game_core Signal slot invocation. Checks modal lock, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. 0x00A39C10 81 OptionSlot__invoke_show_window_clamped_00a39c10 game_core Signal slot invocation. Checks modal lock, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. 0x00A39C70 81 OptionSlot__invoke_show_window_clamped_00a39c70 game_core Signal slot invocation. Checks modal lock, computes clamped index range (0 to count-1), and calls CUIWindowMgr__add_or_show_window to display a window. 0x00A39CE0 20 OptionSlot__invoke_apply_setting_00a39ce0 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting via thunk. 0x00A39D20 21 OptionSlot__invoke_toggle_option_00a39d20 game_core Signal slot void invocation. Calls toggle_option function. 0x00A39D50 216 OptionSlot__invoke_tab_select_00a39d50 game_core Signal slot invocation. Exclusive tab selection: deselects all items except param_2, uses RTDynamicCast to validate item type, then updates linked list selection index and notifies observer. 0x00A39E30 216 OptionSlot__invoke_tab_select_00a39e30 game_core Signal slot invocation. Exclusive tab selection with RTDynamicCast, linked list update, and observer notification. 0x00A39F10 216 OptionSlot__invoke_tab_select_00a39f10 game_core Signal slot invocation. Exclusive tab selection with RTDynamicCast, linked list update, and observer notification. 0x00A39FF0 216 OptionSlot__invoke_tab_select_00a39ff0 game_core Signal slot invocation. Exclusive tab selection with RTDynamicCast, linked list update, and observer notification. 0x00A3A0D0 216 OptionSlot__invoke_tab_select_00a3a0d0 game_core Signal slot invocation. Exclusive tab selection with RTDynamicCast, linked list update, and observer notification. 0x00A3A1B0 85 OptionSlot__invoke_dual_dispatch_00a3a1b0 game_core Signal slot invocation. Dispatches to two signal handlers: first via offset 0xEC (secondary handler), then 0xC4 (primary handler). Both use virtual call at +8. 0x00A3A210 85 OptionSlot__invoke_dual_dispatch_00a3a210 game_core Signal slot dual dispatch. Calls both secondary (0xEC) and primary (0xC4) handlers. 0x00A3A270 85 OptionSlot__invoke_dual_dispatch_00a3a270 game_core Signal slot dual dispatch. Calls both secondary (0xEC) and primary (0xC4) handlers. 0x00A3A2D0 85 OptionSlot__invoke_dual_dispatch_00a3a2d0 game_core Signal slot dual dispatch. Calls both secondary (0xEC) and primary (0xC4) handlers. 0x00A3A330 23 OptionSlot__invoke_create_option_00a3a330 game_core Signal slot invocation. Forwards *param_1 and param_2 to create_option which reads GameSettings and creates option UI elements. 0x00A3A370 20 OptionSlot__invoke_apply_setting_00a3a370 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. 0x00A3A390 20 OptionSlot__invoke_apply_setting_00a3a390 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting with RTDynamicCast. 0x00A3A3B0 20 OptionSlot__invoke_apply_setting_00a3a3b0 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. 0x00A3A3D0 20 OptionSlot__invoke_set_priority_00a3a3d0 game_core Signal slot invocation wrapper. Forwards *param_1 to set process priority via SetPriorityClass. 0x00A3A3F0 20 OptionSlot__invoke_priority_radio_change game_core Signal slot invocation wrapper. Forwards *param_1 to SettingsUI::on_priority_radio_changed for priority radio button state changes. 0x00A3A410 20 OptionSlot__invoke_apply_setting_00a3a410 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting function. 0x00A3A430 20 SettingsUI__on_slider_change_callback ui_windows Callback for slider value change in settings UI. Dereferences pointer param and forwards to SettingsUI::notify_apply_button_update. 0x00A3A450 20 SettingsUI__on_checkbox_change_callback ui_windows Callback for checkbox state change in settings UI. Dereferences pointer param and forwards to SettingsUI::check_and_update_apply_button. 0x00A3A480 20 OptionSlot__invoke_apply_setting_00a3a480 game_core Signal slot invocation wrapper. Forwards *param_1 to apply_setting via thunk. 0x00A3A4C0 23 OptionSlot__invoke_set_value_00a3a4c0 game_core Signal slot invocation. Forwards *param_1 and param_2 to set_value function. 0x00A3A4E0 23 OptionSlot__invoke_set_value_00a3a4e0 game_core Signal slot invocation. Forwards *param_1 and param_2 to set_value function. 0x00A3A500 23 OptionSlot__invoke_set_skin_index_00a3a500 game_core Signal slot invocation. Forwards *param_1 and param_2 to set skin index via CSkinSelector. 0x00A3A520 23 OptionSlot__invoke_render_item_text_00a3a520 game_core Signal slot invocation. Forwards *param_1 and param_2 to UIListBox__render_item_text_at_offset8 for rendering list item text. 0x00A3A540 23 OptionSlot__invoke_render_item_text_00a3a540 game_core Signal slot invocation. Forwards *param_1 and param_2 to UIListBox__render_item_text_at_offset4 for rendering list item text. 0x00A3A560 23 OptionSlot__invoke_render_item_string game_core Signal slot invocation. Forwards *param_1 and param_2 to UIListBox__render_item_string_only for rendering list item strings. 0x00A3A9E0 3 identity_passthrough_00a3a9e0 crt Identity function that returns its parameter unchanged 0x00A3A9F0 3 identity_passthrough_00a3a9f0 crt Identity function that returns its parameter unchanged 0x00A3AA00 22 OptionSlot__copy_ctor_00a3aa00 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AA20 22 OptionSlot__copy_ctor_00a3aa20 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AA40 22 OptionSlot__copy_ctor_00a3aa40 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AA60 22 OptionSlot__copy_ctor_00a3aa60 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AA80 22 OptionSlot__copy_ctor_00a3aa80 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AAA0 22 OptionSlot__copy_ctor_00a3aaa0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AAC0 22 OptionSlot__copy_ctor_00a3aac0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AAE0 22 OptionSlot__copy_ctor_00a3aae0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AB00 22 OptionSlot__copy_ctor_00a3ab00 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AB20 22 OptionSlot__copy_ctor_00a3ab20 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AB40 22 OptionSlot__copy_ctor_00a3ab40 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AB60 22 OptionSlot__copy_ctor_00a3ab60 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AB80 22 OptionSlot__copy_ctor_00a3ab80 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3ABA0 22 OptionSlot__copy_ctor_00a3aba0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3ABC0 22 OptionSlot__copy_ctor_00a3abc0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3ABE0 22 OptionSlot__copy_ctor_00a3abe0 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AC00 22 OptionSlot__copy_ctor_00a3ac00 game_core Signal slot copy constructor for options UI. Sets vtable and copies context pointer. 0x00A3AC20 22 OptionSlot__copy_ctor_00a3ac20 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AC40 22 OptionSlot__copy_ctor_00a3ac40 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AC60 22 OptionSlot__copy_ctor_00a3ac60 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AC80 22 OptionSlot__copy_ctor_00a3ac80 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3ACA0 22 OptionSlot__copy_ctor_00a3aca0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3ACC0 22 OptionSlot__copy_ctor_00a3acc0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3ACE0 22 OptionSlot__copy_ctor_00a3ace0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AD00 22 OptionSlot__copy_ctor_00a3ad00 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AD20 22 OptionSlot__copy_ctor_00a3ad20 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AD40 22 OptionSlot__copy_ctor_00a3ad40 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AD60 22 OptionSlot__copy_ctor_00a3ad60 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AD80 22 OptionSlot__copy_ctor_00a3ad80 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3ADA0 22 OptionSlot__copy_ctor_00a3ada0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3ADC0 22 OptionSlot__copy_ctor_00a3adc0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3ADE0 22 OptionSlot__copy_ctor_00a3ade0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AE00 22 OptionSlot__copy_ctor_00a3ae00 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AE20 22 OptionSlot__copy_ctor_00a3ae20 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AE40 22 OptionSlot__copy_ctor_00a3ae40 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AE60 22 OptionSlot__copy_ctor_00a3ae60 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AE80 22 OptionSlot__copy_ctor_00a3ae80 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AEA0 22 OptionSlot__copy_ctor_00a3aea0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AEC0 22 OptionSlot__copy_ctor_00a3aec0 game_core Vtable copy constructor: sets vtable ptr to PTR_FUN_01150840 and copies member at offset+4 from source. Used by std::function or similar polymorphic wrapper. 0x00A3AEE0 22 OptionSlot__copy_ctor_00a3aee0 game_core Vtable copy constructor: sets vtable ptr to PTR_FUN_01150b6c and copies member at offset+4 from source. 0x00A3AF00 22 OptionSlot__copy_ctor_00a3af00 game_core Vtable copy constructor: sets vtable ptr to PTR_FUN_01150e7c and copies member at offset+4 from source. 0x00A3AF20 22 OptionSlot__copy_ctor_00a3af20 game_core Vtable copy constructor: sets vtable ptr to PTR_FUN_01150eb4 and copies member at offset+4 from source. 0x00A3AF40 22 OptionSlot__copy_ctor_00a3af40 game_core Vtable copy constructor: sets vtable ptr to PTR_FUN_01150e44 and copies member at offset+4 from source. 0x00A3AF60 22 OptionSlot__copy_ctor_00a3af60 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AF80 22 OptionSlot__copy_ctor_00a3af80 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AFA0 22 OptionSlot__copy_ctor_00a3afa0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AFC0 22 OptionSlot__copy_ctor_00a3afc0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3AFE0 22 OptionSlot__copy_ctor_00a3afe0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B000 22 OptionSlot__copy_ctor_00a3b000 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B020 22 OptionSlot__copy_ctor_00a3b020 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B040 22 OptionSlot__copy_ctor_00a3b040 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B060 22 OptionSlot__copy_ctor_00a3b060 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B080 22 OptionSlot__copy_ctor_00a3b080 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B0A0 22 OptionSlot__copy_ctor_00a3b0a0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B0C0 22 OptionSlot__copy_ctor_00a3b0c0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B0E0 22 OptionSlot__copy_ctor_00a3b0e0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B100 22 OptionSlot__copy_ctor_00a3b100 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B120 22 OptionSlot__copy_ctor_00a3b120 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B140 22 OptionSlot__copy_ctor_00a3b140 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B160 22 OptionSlot__copy_ctor_00a3b160 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B180 22 OptionSlot__copy_ctor_00a3b180 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B1A0 22 OptionSlot__copy_ctor_00a3b1a0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B1C0 22 OptionSlot__copy_ctor_00a3b1c0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B1E0 22 OptionSlot__copy_ctor_00a3b1e0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B200 22 OptionSlot__copy_ctor_00a3b200 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B220 22 OptionSlot__copy_ctor_00a3b220 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B240 22 OptionSlot__copy_ctor_00a3b240 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B260 22 OptionSlot__copy_ctor_00a3b260 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B280 22 OptionSlot__copy_ctor_00a3b280 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B2A0 22 OptionSlot__copy_ctor_00a3b2a0 game_core OptionSlot vtable copy constructor: sets vtable pointer and copies member at offset+4 from source object. 0x00A3B2C0 341 std__any__swap_00a3b2c0 stl Swaps two polymorphic wrapper objects (std::any or std::function). Uses SEH. If both store external pointers, swaps them directly. If either stores inline (SBO), uses virtual copy+destroy to safely exchange via temp buffer. 0x00A3B420 341 std__any__swap_00a3b420 stl Swaps two polymorphic wrapper objects. Uses SEH. Handles both inline (SBO) and heap-allocated storage with virtual copy+destroy. 0x00A3B580 341 std__any__swap_00a3b580 stl Swaps two polymorphic wrapper objects. Uses SEH. Handles both inline (SBO) and heap-allocated storage with virtual copy+destroy. 0x00A3B6E0 341 std__any__swap_00a3b6e0 stl Swaps two polymorphic wrapper objects. Uses SEH. Handles both inline (SBO) and heap-allocated storage with virtual copy+destroy. 0x00A3B840 341 std__any__swap_00a3b840 stl Swaps two polymorphic wrapper objects. Uses SEH. Handles both inline (SBO) and heap-allocated storage with virtual copy+destroy. 0x00A3BE00 10 thunk_to_std__Xlength_error_00a3be00 stl Calls std::_Xlength_error with vector_too_long message 0x00A3BE10 10 thunk_to_std__Xlength_error_00a3be10 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x00A3BE20 10 thunk_to_std__Xlength_error_00a3be20 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00A3BE30 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A3BE70 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A3BEB0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A3BEF0 103 std__vector__resize_int_00a3bef0 stl Resizes a vector of 4-byte elements (int/ptr). If new size is smaller, truncates. If larger, zero-fills new elements via memset. If exceeds capacity, calls reallocation helper. 0x00A3BF60 103 std__map__destroy_subtree_00a3bf60 stl Recursively destroys a red-black tree subtree. For each non-nil node, recursively destroys right child, then iteratively destroys left children. Frees each 0x18-byte node via operator delete. 0x00A3BFD0 516 std__map__find_insert_position_00a3bfd0 stl Finds the correct insertion position in a red-black tree (std::map) for a given key. Returns a result struct with: parent node, direction (left=1/right=0), and whether key already exists. Uses integer key comparison. Handles hint-based optimization and falls back to full tree traversal. 0x00A3C1E0 75 std__map__lower_bound_00a3c1e0 stl Performs lower_bound search in a red-black tree (std::map) for an integer key. Traverses the BST recording the last node where key <= node.key. Returns result struct with found node, direction flag, and boundary node. 0x00A3C230 128 linked_list__clear_with_two_strings_00a3c230 stl Clears a singly-linked list. For each 0x70-byte node, destroys two STL strings then frees the node. Resets list count to 0. 0x00A3C2B0 111 linked_list__clear_with_string_00a3c2b0 stl Clears a singly-linked list. For each 0x2c-byte node, destroys one STL string then frees the node. Resets list count to 0. 0x00A3C320 111 linked_list__clear_with_string_00a3c320 stl Clears a singly-linked list. For each 0x24-byte node, destroys one STL string then frees the node. Resets list count to 0. 0x00A3C390 176 UIWidget__ctor_00a3c390 ui_framework Constructor for a UI widget derived from UIBase. Calls UIBase ctor (FUN_00a79a90), sets multiple vtable pointers (UIBase, intermediate, final at PTR_FUN_01152844), sets visible flag=1, and zeroes out 6 data members at offsets 0x20-0x25. 0x00A3C440 94 UIComponent__ctor_00a3c440 ui_framework Constructor for a UI component. Calls base ctor FUN_009efc30, sets vtable to PTR_FUN_0115202c, initializes member at offset 0x3a to 0. 0x00A3C4A0 296 UITextArea__ctor_00a3c4a0 game_core Constructor for a UITextArea widget derived from UIWindowBase. Sets vtable to PTR_FUN_01152f64. Initializes default text color to 0xFFFFFF (white), background color to 0xCECECE (light gray), alignment=3, line spacing=1, and zeroes out scroll/selection members at offsets 0x36-0x3f. 0x00A3C5D0 176 UIContainer__ctor_00a3c5d0 game_core Constructor for a UI container widget derived from UIBase. Calls UIBase ctor, sets vtable to PTR_FUN_01152e80, sets visible flag=1, zeroes 6 data members at offsets 0x20-0x25. 0x00A3C680 166 UIPanel__ctor_00a3c680 game_core Constructor for a UI panel widget derived from UIBase. Sets vtable to PTR_FUN_011524b4, sets visible flag=1, zeroes 5 data members at offsets 0x20-0x24. 0x00A3C730 166 UIScrollPanel__ctor_00a3c730 game_core Constructor for a UI scroll panel widget derived from UIBase. Sets vtable to PTR_FUN_01152cb8, sets visible flag=1, zeroes 5 data members at offsets 0x20-0x24. 0x00A3C7E0 300 UIListBox__ctor_00a3c7e0 ui_events Constructor for UIListBox derived from UIBase. Sets vtable to PTR_FUN_01152a0c. Initializes two embedded string objects (offsets 0x5b-0x60 and 0x64-0x69), zeroes scroll/selection state, and initializes 4 members at offsets 0x20-0x23. Contains two sub-object initializations via FUN_00a3d0a0. 0x00A3C910 156 UISprite__ctor_00a3c910 game_core Constructor for UISprite derived from UIBase. Sets vtable to PTR_FUN_01152928. Initializes members: offset 0x20=0, 0x21=0, 0x22=-1, 0x23=-1 (sentinel values for sprite ID and frame). 0x00A3C9B0 166 UIImage__ctor_00a3c9b0 game_core Constructor for UIImage derived from UIBase. Sets vtable to PTR_FUN_01152760. Zeroes 5 members at offsets 0x20-0x24 (image handle, UV coords, etc). 0x00A3CA60 186 UIProgressBar__ctor_00a3ca60 ui_framework Constructor for UIProgressBar derived from UIBase. Sets vtable to PTR_FUN_0115267c. Zeroes 7 members at offsets 0x20-0x26 (current value, max value, fill color, etc). 0x00A3CB20 166 UICheckBox__ctor_00a3cb20 game_core Constructor for UICheckBox derived from UIBase. Sets vtable to PTR_FUN_01152598. Zeroes 5 members at offsets 0x20-0x24 (checked state, sprites, etc). 0x00A3CBD0 136 UILabel__ctor_00a3cbd0 game_core Constructor for UILabel derived from UIBase. Sets vtable to PTR_FUN_011522ec. Zeroes 2 members at offsets 0x20-0x21 (text ptr, color). 0x00A3CC60 206 UISlider__ctor_00a3cc60 game_core Constructor for UISlider derived from UIBase. Sets vtable to PTR_FUN_011523d0. Zeroes 9 members at offsets 0x20-0x28 (min, max, current value, orientation, etc). 0x00A3CD30 136 UIButton__ctor_00a3cd30 ui_events Constructor for UIButton derived from UIBase. Sets vtable to PTR_FUN_01152af0. Zeroes 2 members at offsets 0x20-0x21 (state, sprite handle). 0x00A3CDC0 136 UIRadioButton__ctor_00a3cdc0 game_core Constructor for UIRadioButton derived from UIBase. Sets vtable to PTR_FUN_01152bd4. Zeroes 2 members at offsets 0x20-0x21 (selected state, group ID). 0x00A3CE50 166 UIDropdown__ctor_00a3ce50 ui_events Constructor for UIDropdown derived from UIBase. Sets vtable to PTR_FUN_01152d9c. Zeroes 5 members at offsets 0x20-0x24 (selected index, items list, expanded state, etc). 0x00A3CF00 113 UIFrame__ctor_00a3cf00 game_core Constructor for UIFrame derived from UIBase. Sets vtable to PTR_FUN_011521fc. Zeroes 1 member at offset 0x20. 0x00A3CF80 134 UITimedButton__ctor_00a3cf80 game_core Constructor for UITimedButton derived from UIButton. Calls UIButton__ctor_009efc30. Sets vtable to PTR_FUN_01152114. Initializes 5 members: offsets 0x3a-0x3d=0, 0x3e=300 (default delay in ms). 0x00A3D010 138 UIListItem__copy_ctor_00a3d010 ui_framework Copy constructor for a UI list item structure. Copies header fields, two STL strings (via STL_string_copy_construct at offsets +2 and +0x14), and 16 dwords of data fields at offsets 0x8-0x13. 0x00A3D0A0 152 UIListData__ctor_00a3d0a0 game_core Constructor for a UI list data structure. Zeroes header fields, initializes two embedded STL strings (at offsets +2 and +0x14, with SSO buffer size 0xF), and zeroes a 0x30-byte data block via memset. 0x00A3D140 80 wrapper__string_dtor_00a3d140 game_core SEH wrapper that destroys a single STL string object. Sets up exception handling frame then calls STL_string_dtor. 0x00A3D190 67 free_node_0x70_00a3d190 stl Frees a 0x70-byte heap node if the pointer at offset+4 is non-null. Used as a deleter for linked list nodes containing two strings. 0x00A3D1E0 67 free_node_0x2c_00a3d1e0 stl Frees a 0x2c-byte heap node if the pointer at offset+4 is non-null. Used as a deleter for linked list nodes containing one string. 0x00A3D230 67 free_node_0x24_00a3d230 stl Frees a 0x24-byte heap node if the pointer at offset+4 is non-null. 0x00A3D280 67 free_node_0x18_00a3d280 stl Frees a 0x18-byte heap node if the pointer at offset+4 is non-null. 0x00A3D2D0 130 destroy_and_free_node_0x70_00a3d2d0 game_core Destroys a 0x70-byte node: if pointer at offset+4 is non-null, destroys two embedded STL strings then frees the 0x70-byte allocation. 0x00A3D360 116 destroy_and_free_node_0x2c_00a3d360 game_core Destroys a 0x2c-byte node: if pointer at offset+4 is non-null, destroys one embedded STL string then frees the 0x2c-byte allocation. 0x00A3D3E0 116 destroy_and_free_node_0x24_00a3d3e0 game_core Destroys a 0x24-byte node: if pointer at offset+4 is non-null, destroys one embedded STL string then frees the 0x24-byte allocation. 0x00A3D460 111 std__map__clear_and_destroy_00a3d460 stl Destroys an entire std::map. Iterates from leftmost node, recursively destroys right subtrees via std__map__destroy_subtree, then frees each 0x18-byte node. Finally frees the sentinel/header node. 0x00A3D4E0 78 free_node_0x18_alt_00a3d4e0 stl Frees a 0x18-byte heap node if the pointer at offset+4 is non-null. SEH-wrapped variant. 0x00A3D530 78 free_node_0x18_alt2_00a3d530 stl Frees a 0x18-byte heap node if the pointer at offset+4 is non-null. SEH-wrapped variant. 0x00A3D580 129 std__vector__dealloc_00a3d580 stl Deallocates a std::vector's internal buffer. Computes allocation size from capacity - begin, handles debug heap alignment (>0xFFF gets original ptr from -4 offset + 0x23 alignment). Zeroes all 3 vector pointers after free. 0x00A3D610 84 UIWidget__dtor_00a3d610 ui_framework Destructor for UIWidget (vtable PTR_FUN_01152844). Resets vtable to UIBase, calls UIBase dtor (FUN_00a79e90). 0x00A3D670 71 UIComponent__dtor_00a3d670 ui_framework Destructor for UIComponent (vtable PTR_FUN_0115202c). Calls base dtor FUN_009da310. 0x00A3D6C0 95 UITextArea__dtor_00a3d6c0 game_core Destructor for UITextArea (vtable PTR_FUN_01152f64). Deallocates vector data via std__vector__dealloc, then calls CUIWindow dtor to save position. 0x00A3D720 84 UIContainer__dtor_00a3d720 game_core Destructor for UIContainer (vtable PTR_FUN_01152e80). Resets vtable to UIBase, calls UIBase dtor (FUN_00a79e90). 0x00A3D780 78 UIBase__dtor_intermediate_00a3d780 game_core Intermediate destructor for UIBase hierarchy. Resets vtable to UIBase, calls UIBase dtor. 0x00A3D7D0 84 UIPanel__dtor_00a3d7d0 game_core Destructor for UIPanel (vtable PTR_FUN_011524b4). Resets vtable to UIBase, calls UIBase dtor. 0x00A3D830 84 UIScrollPanel__dtor_00a3d830 game_core Destructor for UIScrollPanel (vtable PTR_FUN_01152cb8). Resets vtable to UIBase, calls UIBase dtor. 0x00A3D890 221 UIListBox__dtor_00a3d890 ui_events Destructor for UIListBox (vtable PTR_FUN_01152a0c). Destroys 6 embedded STL strings in sequence, resets vtable to UIBase, calls UIBase dtor. 0x00A3D970 84 UISprite__dtor_00a3d970 game_core Destructor for UISprite (vtable PTR_FUN_01152928). Resets vtable to UIBase, calls UIBase dtor. 0x00A3D9D0 84 UIImage__dtor_00a3d9d0 game_core Destructor for UIImage (vtable PTR_FUN_01152760). Resets vtable to UIBase, calls UIBase dtor. 0x00A3DA30 84 UIProgressBar__dtor_00a3da30 ui_framework Destructor for UIProgressBar (vtable PTR_FUN_0115267c). Resets vtable to UIBase, calls UIBase dtor. 0x00A3DA90 84 UICheckBox__dtor_00a3da90 game_core Destructor for UICheckBox (vtable PTR_FUN_01152598). Resets vtable to UIBase, calls UIBase dtor. 0x00A3DAF0 84 UILabel__dtor_00a3daf0 game_core Destructor for UILabel (vtable PTR_FUN_011522ec). Resets vtable to UIBase, calls UIBase dtor. 0x00A3DB50 84 UISlider__dtor_00a3db50 game_core Destructor for UISlider (vtable PTR_FUN_011523d0). Resets vtable to UIBase, calls UIBase dtor. 0x00A3DBB0 84 UIButton__dtor_00a3dbb0 ui_events Destructor for UIButton (vtable PTR_FUN_01152af0). Resets vtable to UIBase, calls UIBase dtor. 0x00A3DC10 84 UIRadioButton__dtor_00a3dc10 game_core Destructor for UIRadioButton (vtable PTR_FUN_01152bd4). Resets vtable to UIBase, calls UIBase dtor. 0x00A3DC70 84 UIDropdown__dtor_00a3dc70 ui_events Destructor for UIDropdown (vtable PTR_FUN_01152d9c). Resets vtable to UIBase, calls UIBase dtor. 0x00A3DCD0 84 UIFrame__dtor_00a3dcd0 game_core Destructor for UIFrame (vtable PTR_FUN_011521fc). Resets vtable to UIBase, calls UIBase dtor. 0x00A3DD30 71 UITimedButton__dtor_00a3dd30 game_core Destructor for UITimedButton (vtable PTR_FUN_01152114). Calls UIControlBase dtor. 0x00A3DD80 78 UIBase__dtor_base_00a3dd80 game_core Base destructor that resets vtable to UIBase and calls UIBase dtor (FUN_00a79e90). Used for the most basic UIBase-derived class teardown. 0x00A3DDD0 108 UIListItem__assign_00a3ddd0 ui_framework Assignment operator for UIListItem. Copies header fields, assigns two STL strings (at offsets +2 and +0x14 with SSO check), and copies 16 dwords of data fields (offsets 0x8-0x13). 0x00A3DE40 112 UIWidget__scalar_deleting_dtor_00a3de40 ui_framework Scalar deleting destructor for UIWidget. Destroys the widget (UIBase dtor), then conditionally frees the 0x98-byte allocation if bit 0 of param is set. 0x00A3DEB0 99 UIComponent__scalar_deleting_dtor_00a3deb0 ui_framework Scalar deleting destructor for UIComponent. Destroys the component (UIControlBase dtor), then conditionally frees the 0xF0-byte allocation. 0x00A3DF20 119 UITextArea__scalar_deleting_dtor_00a3df20 game_core Scalar deleting destructor for UITextArea. Deallocates vector data, calls CUIWindow dtor, then conditionally frees the 0x100-byte allocation. 0x00A3DFA0 112 UISlider__scalar_deleting_dtor game_core UISlider scalar deleting destructor. Sets vtable chain, calls CEffect::dtor, optionally frees 0x98-byte object. 0x00A3E010 106 UILabel__scalar_deleting_dtor game_core UILabel scalar deleting destructor. Sets vtable to UIBase, calls CEffect::dtor, optionally frees 0x80-byte object. 0x00A3E080 112 UICheckBox__scalar_deleting_dtor game_core UICheckBox scalar deleting destructor. Sets vtable chain, calls CEffect::dtor, optionally frees 0x94-byte object. 0x00A3E0F0 112 UIProgressBar__scalar_deleting_dtor ui_framework UIProgressBar scalar deleting destructor. Sets vtable chain, calls CEffect::dtor, optionally frees 0x94-byte object. 0x00A3E160 245 UIListBox__scalar_deleting_dtor_00a3e160 ui_events Scalar deleting destructor for UIListBox. Destroys 6 STL strings, calls UIBase dtor, then conditionally frees 0x1A8-byte allocation. 0x00A3E260 112 UISprite__scalar_deleting_dtor_00a3e260 game_core Scalar deleting destructor for UISprite. Calls UIBase dtor, then conditionally frees 0x90-byte allocation. 0x00A3E2D0 112 UIImage__scalar_deleting_dtor_00a3e2d0 game_core Scalar deleting destructor for UIImage. Calls UIBase dtor, then conditionally frees 0x94-byte allocation. 0x00A3E340 112 UIProgressBar__scalar_deleting_dtor_00a3e340 ui_framework Scalar deleting destructor for UIProgressBar. Calls UIBase dtor, then conditionally frees 0x9C-byte allocation. 0x00A3E3B0 112 UICheckBox__scalar_deleting_dtor_00a3e3b0 game_core Scalar deleting destructor for UICheckBox. Calls UIBase dtor, then conditionally frees 0x94-byte allocation. 0x00A3E420 112 UILabel__scalar_deleting_dtor_00a3e420 game_core Scalar deleting destructor for UILabel. Calls UIBase dtor, then conditionally frees 0x88-byte allocation. 0x00A3E490 112 UISlider__scalar_deleting_dtor_00a3e490 game_core Scalar deleting destructor for UISlider. Calls UIBase dtor, then conditionally frees 0xA4-byte allocation. 0x00A3E500 112 UIButton__scalar_deleting_dtor_00a3e500 ui_events Scalar deleting destructor for UIButton. Calls UIBase dtor, then conditionally frees 0x88-byte allocation. 0x00A3E570 112 UIRadioButton__scalar_deleting_dtor_00a3e570 game_core Scalar deleting destructor for UIRadioButton. Calls UIBase dtor, then conditionally frees 0x88-byte allocation. 0x00A3E5E0 112 UIDropdown__scalar_deleting_dtor_00a3e5e0 ui_events Scalar deleting destructor for UIDropdown. Calls UIBase dtor, then conditionally frees 0x94-byte allocation. 0x00A3E650 112 UIFrame__scalar_deleting_dtor_00a3e650 game_core Scalar deleting destructor for UIFrame. Calls UIBase dtor, then conditionally frees 0x84-byte allocation. 0x00A3E6C0 99 UITimedButton__scalar_deleting_dtor_00a3e6c0 game_core Scalar deleting destructor for UITimedButton. Calls UIControlBase dtor, then conditionally frees 0x100-byte allocation. 0x00A3E730 106 UIBase__scalar_deleting_dtor_00a3e730 game_core Scalar deleting destructor for a basic UIBase-derived class. Calls UIBase dtor, then conditionally frees 0x80-byte allocation. 0x00A3E7A0 223 UIListBoxProxy__add_item_full_00a3e7a0 ui_events Adds a full UIListItem (0x70-byte node with 2 strings + data) to the listbox's internal linked list. Accessed via this->offset_0x8C. If param_3 is true, calls FUN_00a41fe0 to update scrollbar. Returns new item index (count-1). Throws _Xlength_error if list is full. 0x00A3E880 249 UIListBoxProxy__add_item_small_00a3e880 ui_events Adds a small item (0x2c-byte node with 3 ints + 1 string) to the listbox's internal linked list. Accessed via this->offset_0x8C. If param_3 is true, calls FUN_00a42060 to update scrollbar. Returns new item index. 0x00A3E980 241 UIListBoxProxy__add_item_medium_00a3e980 ui_events Adds a medium item (0x24-byte node with 1 int + 1 string) to the listbox's internal linked list. If param_3 is true, calls FUN_00a420e0 to update scrollbar. Returns new item index. 0x00A3EA80 223 UIListBoxProxy__add_item_string_00a3ea80 ui_events Adds a string-only item (0x20-byte node with 1 string) to the listbox's internal linked list. If param_3 is true, calls FUN_00a42160 to update scrollbar. Returns new item index. 0x00A3EB60 271 UIListBox__add_item_full_00a3eb60 ui_events Adds a full UIListItem (0x70-byte node) to the listbox's linked list at offset 0xD4. If param_3 is true, recalculates scrollbar max value (item_count * item_height + padding) and sets dirty flag. Returns new item index. 0x00A3EC70 297 UIListBox__add_item_small_00a3ec70 ui_events Adds a small item (0x2c-byte node: 3 ints + 1 string) to the listbox's linked list. If param_3 is true, updates scrollbar max value and sets dirty flag. Returns new item index. 0x00A3EDA0 288 UIListBox__add_item_medium ui_events Adds a medium item (0x24-byte node: 1 int + 1 string) to the listbox's linked list. If param_3 is true, updates scrollbar max value and sets dirty flag. Returns new item index. 0x00A3EED0 271 UIListBox__add_item_string ui_events Adds a string-only item (0x20-byte node) to the listbox's linked list. If param_3 is true, updates scrollbar max value and sets dirty flag. Returns new item index. 0x00A3EFE0 262 UIListBox__add_item_int ui_events Adds an int-only item (0xC-byte node with 1 int) to the listbox's linked list. If param_3 is true, updates scrollbar max value and sets dirty flag. Returns new item index. 0x00A3F100 99 SettingsUI__initialize_window ui_windows Initializes the settings UI window. Checks a condition via FUN_00a401c0, creates window with ID 0xC5F or 0xC60, dimensions 0x118x0x78. If window creation succeeds (not 0xBC), calls FUN_00a40900 and FUN_00a421e0 to set up content. 0x00A3F180 277 SettingsUI__apply_and_refresh ui_windows Applies all game settings changes and refreshes the settings UI. Creates settings window (0xC5E), notifies all child controls to save (vtable+0xD8), ensures GameSettings singleton exists, calls apply_all_options, notifies children to reload (vtable+0xDC), then syncs all checkboxes/labels. 0x00A3F2A0 128 SettingsUI__apply_single_option ui_windows Applies a single game option change. Ensures GameSettings singleton exists (allocates 0x58 bytes if needed), then calls GameSettings__apply_option_change_2 with the option ID from this->offset_0xF8. 0x00A3F320 52 SettingsUI__on_list_selection ui_windows Handles list selection in settings UI. If selected index > 0, gets UI window 0x13B and dispatches an event with the selected value. 0x00A3F360 107 SettingsUI__toggle_smooth_scroll ui_windows Toggles smooth scroll option (option ID 7). Inverts the param, sets scrollbar smooth scroll, updates the control at offset 0x88, saves to GameSettings, and if the value changed, sends notification event (0x5A) via global callback. 0x00A3F3D0 168 SettingsUI__on_bgm_volume_changed ui_windows Handles BGM volume slider change. Sets stream volume via CSoundMgr, reads back the volume value, sets BGM max volume, converts to string and updates scrollbar thumb tooltip text. 0x00A3F480 64 SettingsUI__toggle_option_0xb ui_windows Toggles game option 0xB. Inverts param, sets scrollbar smooth scroll, updates control at offset 0x98, and saves to GameSettings. 0x00A3F4C0 159 SettingsUI__on_sound_volume_changed ui_windows Handles sound effect volume slider change. Sets sound volume and 3D volume via CSoundMgr, reads config value at offset 0xe8, converts to string and updates scrollbar thumb tooltip text. 0x00A3F560 92 SettingsUI__toggle_option_0xf3 ui_windows Toggles game option 0xF3. Saves to GameSettings, sends effect notification (type=3 clear, type=1 with resource ID 0xDC7 or 0xDC8 based on toggle state). 0x00A3F5C0 92 SettingsUI__toggle_option_0xa5 ui_windows Toggles game option 0xA5. Saves to GameSettings, sends effect notification (type=3 clear, type=1 with resource ID 0x414 or 0x415 based on toggle state). 0x00A3F620 32 set_process_priority_class game_core Sets the process priority class. Stores the value in global DAT_0173a5c4, then calls SetPriorityClass on the current process handle. 0x00A3F640 94 SettingsUI__send_packet_option_toggle ui_windows Sends a network packet for a settings toggle. XORs param with 1, builds packet with header 0xB93 and toggle flag, calls packet assembly functions FUN_00c7d7d0 twice, then sends via FUN_00c7ce30. 0x00A3F6B0 20 SettingsUI__toggle_smooth_scroll_wrapper ui_windows Wrapper that calls SettingsUI__toggle_smooth_scroll_00a3f360. 0x00A3F6D0 66 SettingsUI__set_smooth_scroll_direct ui_windows Sets smooth scroll directly (without inverting). Updates scrollbar, control at offset 0x98, and saves inverted value to GameSettings option 0xB. 0x00A3F720 152 SettingsUI__toggle_invertible_option ui_windows Toggles an option that may be invertible. Ensures GameSettings singleton exists, checks if option type is invertible via GameSettings__is_invertible_type, XORs value if so, then applies via GameSettings__apply_option_change. 0x00A3F7C0 123 UIListBox__clear_full_items ui_events Clears all full items (0x70-byte nodes with 2 strings) from the listbox's linked list at offset 0xD4. Resets list to empty sentinel, count=0, selection=-1, updates scrollbar, and sets dirty flag. 0x00A3F840 123 UIListBox__clear_small_items ui_events Clears all small items (0x2c-byte nodes with 1 string) from the listbox's linked list. Resets list to empty, count=0, selection=-1, updates scrollbar, and sets dirty flag. 0x00A3F8C0 123 UIListBox__clear_medium_items ui_events Clears all medium items (0x24-byte nodes with 1 string) from the listbox's linked list. Resets list to empty, count=0, selection=-1, updates scrollbar, and sets dirty flag. 0x00A3F950 81 SettingsUI__on_full_list_item_selected ui_windows Handles selection of a full list item. Gets selected index from inner listbox, traverses linked list to find the item, copies it via UIListItem__assign, then calls FUN_00a427a0 to process the selection. 0x00A3F9B0 41 UIListBox__render_item_text_at_offset8 ui_events Renders list item text by extracting the STL string at node offset+8 (with SSO check) and assigning it to a UITextLabel. 0x00A3F9E0 171 SettingsUI__on_small_list_item_selected ui_windows Handles selection of a small list item. Gets selected index from inner listbox, traverses to find the item, copies 3 data fields + 1 string to this+0x184, then uses RTDynamicCast to get settings panel (0x271E) and calls FUN_00a421e0 to update UI. 0x00A3FA90 41 UIListBox__render_item_text_at_offset0xc ui_events Renders list item text by extracting the STL string at node offset+0xC (with SSO check) and assigning it to a UITextLabel. 0x00A3FAC0 81 SettingsUI__on_medium_list_item_selected ui_windows Handles selection of a medium list item. Gets selected index from inner listbox, traverses to find item, copies data field to this+0x8C, then calls FUN_00a42460 to process selection. 0x00A3FB20 41 UIListBox__render_item_text_at_offset4 ui_events Renders list item text by extracting the STL string at node offset+4 (with SSO check) and assigning it to a UITextLabel. 0x00A3FB50 66 SettingsUI__on_skin_selected ui_windows Handles skin selection from the settings list. Gets selected index (subtracts 1), updates CSkinSelector if changed, then calls FUN_00a8bb20 and FUN_00a966e0 to apply the new skin. 0x00A3FBA0 38 UIListBox__render_item_string_only ui_events Renders a string-only list item. Extracts the STL string at the node start (with SSO check) and assigns it to a UITextLabel. 0x00A3FBE0 68 UIListBox__get_item_by_index ui_events Gets a list item by index. Traverses the linked list at offset 0xD4 to the given index. Returns result struct: pointer to item data (at node+2) and found=1, or found=0 if index out of range. 0x00A3FC30 68 UIListBox__get_item_by_index_alt ui_events Gets a list item by index (alternate variant, same implementation). Traverses linked list to given index. Returns result struct: pointer to item data and found flag. 0x00A3FC80 68 UIListCtrl__get_item_at_index ui_framework Gets item data at a given index from UIListCtrl's linked list. Walks the list from head, skipping 'index' nodes. Returns optional-like struct: pointer to node data at offset+8, and validity flag (1=found, 0=out of range). 0x00A3FCD0 863 SettingsUI__get_user_hotkey_info_string ui_windows Builds a hotkey info string. Allocates "GetUserHotKeyInfo" string, calls FUN_00afc9a0 on a global. If CFmt check passes, also allocates "GetOriginalHotKeyInfo". Returns the resulting string in param_1 (std::string out-param). 0x00A40080 102 SettingsUI__check_settings_unchanged ui_windows Checks if UI settings have not changed from stored global values. Calls FUN_00a401c0 first; if that returns 0, compares UI control values at offsets 0x88/0x8c/0x94 against DAT_0173a8e0/e4/e8. Returns 0 if all match (unchanged), 1 if any differ. 0x00A40110 55 SettingsUI__validate_two_fields ui_windows Validates two UI input fields at offsets +0xf8 and +0x184 within the settings object using stub_00569da0 and stub_00569e60. Returns 0 if both pass validation, 1 otherwise. 0x00A401C0 114 SettingsUI__check_page_and_fields_valid ui_windows Checks if the settings page is valid: verifies offsets 0x88==0x8c in the sub-object at +0x80, validates two input fields (+0xf8, +0x184) via stub_00569da0/stub_00569e60, and compares a checkbox state against DAT_0173a8c0. Returns 0 if all pass, 1 otherwise. 0x00A40240 36 SettingsUI__is_tab_page_4_selected ui_windows Checks if tab page 4 (accessibility) is currently selected. Reads the selection value from the tab control at offset +0xf0. Returns 1 if page index == 4, 0 otherwise. Returns 0xffffff00 if the sub-object at +0x80 is null. 0x00A40270 3 null_stub_00a40270 crt Empty function body, returns immediately without action 0x00A40280 404 SettingsUI__apply_option_to_controls ui_windows Applies a game settings option to UI controls. Stores option ID at +0xf8, creates GameSettings singleton if needed, retrieves the option state, sets checkbox/radio button states, updates text label and tooltip from the option's string data. Uses GameSettings__is_invertible_type and GameSettings__get_option_state. 0x00A40430 75 SettingsUI__disable_option_0xf3_and_notify ui_windows Disables game option 0xF3 (sets to 0), plays notification sound (type 3 then type 1 with msg ID 0xDC8). Sends a UI notification after changing the setting. 0x00A40480 75 SettingsUI__enable_option_0xa5_and_notify ui_windows Enables game option 0xA5 (sets to 1), plays notification sound (type 3 then type 1 with msg ID 0x414). Sends a UI notification after changing the setting. 0x00A404F0 89 SettingsUI__send_packet_0xb93 ui_windows Constructs and sends a network packet with header 0xB93. Sets up local_14=0xB93, local_10=1, local_c=1, calls two packet construction functions, then sends via FUN_00c7ce30. 0x00A40560 876 SettingsUI__apply_audio_and_scroll_defaults_from_lua ui_windows Applies default audio and scroll settings from obfuscated Lua config strings. Decrypts TLS-cached config key strings via xor_decrypt_buffer, reads default int values via lua_get_default_option_value_int, then applies: BGM volume (on_bgm_volume_changed), smooth scroll toggle, sound volume (on_sound_volume_changed), and scrollbar smooth scroll state + GameSettings option 0xB. 0x00A40900 655 SettingsUI__on_settings_changed ui_windows Handles settings change events. If page/fields are valid (check_page_and_fields_valid returns nonzero), saves current state to globals DAT_0173a8xx (text rendering mode, font settings, etc.) for page type 1 or 2. If fields haven't changed, updates individual settings like DAT_0173a8e0 (render mode), DAT_0173a8e4 (font quality mapping), DAT_0173a8e8 (bold toggle). Triggers text render reinit and reflow as needed. 0x00A40C40 1236 SettingsUI__init_settings_dialog ui_windows Initializes the settings dialog window. Centers the window on screen, sets the title text from msg ID 0x946, populates 5 list box items (IDs 0-4) with localized strings from msg IDs 0x102E-0x107E. Iterates child control lists to trigger their init/refresh callbacks. 0x00A41120 151 SettingsUI__init_graphics_tab_labels ui_windows Initializes text labels for the graphics settings tab. Sets 3 labels using localized strings from msg IDs 0x1032, 0x1035, and 0x1036 via UITextLabel__assign_text_and_recalc. 0x00A411C0 151 SettingsUI__init_audio_tab_labels ui_windows Initializes text labels for the audio settings tab. Sets 3 labels using localized strings from msg IDs 0x1057, 0x1058, and 0x1059 via UITextLabel__assign_text_and_recalc. 0x00A41260 676 SettingsUI__init_font_tab_and_populate ui_windows Initializes the font settings tab. Sets header labels from msg IDs 0xC6D and 0xC6E, calls CRT_init_text_render_singleton, retrieves font info via stub_0056a0f0, populates the UI list item with font data (name string, metrics at various offsets), assigns current settings from DAT_0173a8c4/c8/cc, and copies current font settings to the working copy. 0x00A41510 79 SettingsUI__init_community_tab_header ui_windows Initializes the community/social settings tab header. Sets label text from msg ID 0x1001, initializes text render singleton, gets a value via stub_0056a230 and stores it as both the current and max value at offsets +0x88 and +0x8c. 0x00A41560 431 SettingsUI__init_accessibility_tab_labels ui_windows Initializes the accessibility settings tab labels. Sets 3 text labels from msg IDs 0x107D, 0x1033, and 0x1034. Also decrypts an obfuscated string using xor_decrypt_buffer (key 0xf96d9da5/0x03772763) and sets it as a non-recalculated text label, likely an anticheat or protected setting name. 0x00A41710 343 SettingsUI__init_gameplay_tab_labels ui_windows Initializes text labels for the gameplay settings tab. Sets 7 labels using localized strings from msg IDs 0x1039-0x103F. Alternates between recalc and no-recalc text assignment for the label pairs. 0x00A41870 151 SettingsUI__init_notification_tab_labels ui_windows Initializes text labels for the notification settings tab. Sets 3 labels from msg IDs 0xC40, 0x1038, and 0x1037 via UITextLabel__assign_text_and_recalc. 0x00A41910 582 SettingsUI__populate_font_list ui_windows Populates the font selection list in settings UI. First adds a header item from msg ID 0x5D9, then adds a default item from msg ID 0xC12. Iterates through CStringTable entries (font names) and adds each as a list box item. Finally calls FUN_00a42160 to update the scrollbar. 0x00A41B60 247 SettingsUI__init_chat_tab_labels ui_windows Initializes text labels for the chat settings tab. Sets 5 labels from msg IDs 0x5CD, 0x5D7, 0x1034, 0x5D8, and 0x1034 via UITextLabel__assign_text_and_recalc. 0x00A41CE0 151 SettingsUI__init_shortcut_tab_labels ui_windows Initializes text labels for the shortcut/keybind settings tab. Sets 3 labels from msg IDs 0x105A, 0x1033, and 0x1034 via UITextLabel__assign_text_and_recalc. 0x00A41DA0 57 SettingsUI__layout_child_controls_vertically ui_windows Iterates through linked list of child controls at offset +0x50, positioning each one vertically. Each control is set to y-position = cumulative height, then the child's height (offset +6*4=0x18) is added to the running total. 0x00A41DE0 45 SettingsUI__draw_if_visible ui_windows Draws the settings UI element if it passes hit testing. Calls UIControl__hit_test first, and if visible, calls UIWindow__draw_header_area to render the header. 0x00A41E10 26 SettingsUI__select_accessibility_tab ui_windows Selects the accessibility tab (item ID 4) in the settings list box. Finds and selects the list item via UIListBox__find_item_by_id and UIListBox__select_item. 0x00A41E30 27 SettingsUI__wrapper_toggle_option_0xf3 ui_windows Simple wrapper that calls SettingsUI__toggle_option_0xf3_00a3f560. Used as a callback handler for a UI button/event. 0x00A41E50 52 SettingsUI__check_and_update_apply_button ui_windows Checks if settings have changed and updates the apply button state. Looks up window ID 0x271E via FUN_00aa5f70, casts it via __RTDynamicCast, and if the cast succeeds calls FUN_00a421e0 to enable/disable the apply button based on whether settings differ from saved values. 0x00A41E90 27 SettingsUI__wrapper_toggle_option_0xa5 ui_windows Simple wrapper that calls SettingsUI__toggle_option_0xa5_00a3f5c0. Used as a callback handler for a UI button/event. 0x00A41EB0 120 SettingsUI__set_process_priority ui_windows Sets the process priority class based on which radio button is selected. Compares param_2 against three button IDs at offsets +0x84, +0x8c, +0x94. Sets priority to NORMAL_PRIORITY_CLASS (0x80/0x20) or IDLE_PRIORITY_CLASS (0x40) via SetPriorityClass on the current process. Stores selection in DAT_0173a5c4. 0x00A41F30 101 SettingsUI__on_priority_radio_changed ui_windows Handles priority radio button change event. Determines which radio is not selected (local_c = param_2 != offset +0x8c), constructs and sends packet 0xB93 with the selection state. 0x00A41FA0 52 SettingsUI__check_and_update_apply_button_alt ui_windows Alternative path to check and update the apply button. Same logic as SettingsUI__check_and_update_apply_button - looks up window 0x271E, casts via RTDynamicCast, calls FUN_00a421e0 if cast succeeds. 0x00A41FE0 128 SettingsUI__update_font_list_scrollbar ui_windows Updates the scrollbar for the font selection list. Calculates visible item count (min of total items and max visible), resizes the list if needed, then updates scrollbar max value, visible range, and current position. Marks the list as needing redraw. 0x00A42060 128 SettingsUI__update_font_detail_list_scrollbar ui_windows Updates scrollbar for the font detail/variant list. Same pattern as update_font_list_scrollbar: calculates visible count, resizes if needed, updates scrollbar max/range/value, marks for redraw. 0x00A420E0 128 SettingsUI__update_options_list_scrollbar ui_windows Updates scrollbar for the options list control. Same pattern: calculates visible items, resizes list, updates scrollbar max/visible range/position, marks for redraw. 0x00A42160 128 SettingsUI__update_generic_list_scrollbar ui_windows Updates scrollbar for a generic settings list. Calculates visible items from list count and max visible, resizes if needed, updates scrollbar max/range/value, and marks the list for redraw. 0x00A421E0 162 SettingsUI__update_apply_button_enabled_state ui_windows Updates the apply button enabled state based on whether settings have changed. Checks if the tab page index is 3 (font settings), then compares current UI values against stored globals (DAT_0173a8e0/e4/e8). Enables the apply button (+0xf8 control) with value 1 if changes detected, 0 if unchanged. 0x00A42290 453 SettingsUI__load_options_into_list ui_windows Loads game settings options into a list control. Creates GameSettings singleton if needed, loads option config entries for the given param_2, iterates the returned linked list and inserts each entry into the UI list at +0x80. Updates scrollbar, marks list as needing redraw, and calls SettingsUI__sync_all_checkboxes_and_labels to refresh the UI state. 0x00A42460 830 SettingsUI__populate_font_family_list ui_windows Populates the font family selection list. Clears the existing list at +0x84->0x8c, resets scrollbar. Retrieves font families from the text render system, creates linked list entries with font data (name strings, metrics). Updates font list scrollbar. Searches for the currently selected font and scrolls to it, triggering selection via FUN_00a36cf0. Cleans up temporary font data. 0x00A427A0 1069 SettingsUI__populate_font_style_list ui_windows Populates the font style/variant list for the selected font family. Clears existing list at +0x8c->0x8c, resets scrollbar. Retrieves font styles for the given family (via +0xfc), creates linked list entries with style info. Updates scrollbar. If no matching style found, falls back to default font from stub_0056a240 and uses stored DAT_0173a8cc. Scrolls to the matching style and selects it via CListCtrl__on_item_clicked. Cleans up temporary data. 0x00A42BD0 699 SettingsUI__populate_font_size_list ui_windows Populates the font size selection list. Clears existing list at +0x84->0x8c, resets scrollbar. Retrieves available font sizes via stub_0056a2a0, creates linked list entries with size values and names. Updates scrollbar. Finds the entry matching the current selection (+0x8c) and scrolls to it, triggering selection via CListCtrl__on_item_clicked. Cleans up temporary data. 0x00A42E90 301 SettingsUI__save_font_settings_to_globals ui_windows Saves font settings from the UI to global variables. Calls UIListItem__assign to update the display, copies font metrics. For page type 1 (font family): copies font name to DAT_0173a898, font metrics to DAT_0173a878-0173a894. For page type 2 (font style): copies style data to DAT_0173a8f4-0173a904. Always updates DAT_0173a8c4/c8/cc with current selection. 0x00A42FE0 9 thunk_to_SettingsUI__on_bgm_volume_changed ui_windows Wrapper that calls FUN_00a3f3d0 and returns 0x00A42FF0 9 thunk_to_SettingsUI__on_sound_volume_changed ui_windows Wrapper that calls FUN_00a3f4c0 and returns 0x00A43000 52 SettingsUI__notify_apply_button_update ui_windows Callback that triggers apply button state update. Finds the settings window (ID 0x271E) via CUIWindowMgr, dynamic casts to the settings UI type, and calls update_apply_button_enabled_state if valid. 0x00A43040 52 SettingsUI__notify_apply_button_update_alt ui_windows Alternative callback for apply button state update. Same logic as notify_apply_button_update: finds window 0x271E, casts, and calls update_apply_button_enabled_state. 0x00A43080 92 SettingsUI__scroll_to_and_select_font_item ui_windows Scrolls the font list to a specific item index and selects it. Sets scrollbar value based on item height * index, then iterates visible items to find the one matching param_2 and triggers FUN_00a36cf0 (selection callback). Returns 1 if found, 0 if not. 0x00A430E0 92 SettingsUI__scroll_to_and_click_list_item ui_windows Scrolls the list to a specific item index and triggers a click on it. Sets scrollbar value based on item height * index, iterates visible items to find the matching one, and calls CListCtrl__on_item_clicked. Returns 1 if found, 0 if not. 0x00A43140 92 SettingsUI__find_and_select_option_a_00a43140 ui_windows Searches through child elements by param_2 index, calls FUN_009f2530 to set computed value, then iterates vector at offset 0xC8 looking for matching option ID at +0x94. If found, calls FUN_00a36eb0 to select it. Uses indirect parent ptr at +0x8C. 0x00A431A0 92 SettingsUI__find_and_select_option_b_00a431a0 ui_windows Same pattern as 00a43140 but calls FUN_00a36f90 instead of FUN_00a36eb0 for the selected option. Uses indirect parent ptr at +0x8C. 0x00A43200 89 SettingsUI__find_and_apply_option_a_00a43200 ui_windows Iterates option vector at +0xC8, matches param_2 to option ID at +0x94. Calls FUN_00a36cf0 on match. Direct this-ptr usage (no indirection). Returns 1 if found, 0 otherwise. 0x00A43260 89 SettingsUI__find_and_apply_option_b_00a43260 ui_windows Iterates option vector at +0xC8, matches param_2 to option ID at +0x94. Calls FUN_00a36dd0 on match. Returns 1 if found, 0 otherwise. 0x00A432C0 89 SettingsUI__find_and_apply_option_c_00a432c0 ui_windows Iterates option vector at +0xC8, matches param_2 to option ID at +0x94. Calls FUN_00a36eb0 on match. Returns 1 if found, 0 otherwise. 0x00A43320 89 SettingsUI__find_and_apply_option_d_00a43320 ui_windows Iterates option vector at +0xC8, matches param_2 to option ID at +0x94. Calls FUN_00a36f90 on match. Returns 1 if found, 0 otherwise. 0x00A433D0 59 SettingsUI__invoke_vtable_and_refresh_00a433d0 ui_windows Calls virtual method at vtable+0x38 on object at +0xF4. Compares FUN_009f0ea0(3) result with param_2. Then refreshes via FUN_00a421e0. 0x00A43410 380 SettingsUI__update_option_labels_00a43410 ui_windows Iterates options in parent's vector (+0x80 -> +0xC8/0xCC), for each visible option (flag at +0x28), looks up option config via FUN_00a3c1e0 and FUN_00a3fcd0. Creates GameSettings singleton if needed. Updates option label text via GameSettings__get_option_ptr and STL string assignment. 0x00A43590 188 SettingsUI__sync_checkbox_from_option_00a43590 ui_windows Syncs checkbox widget state from game option value. Searches tabs in +0xE4 vector, for each tab iterates options in +0x80 vector to find matching option ID at +0xF8. Applies inverted state via GameSettings__is_invertible_type XOR GameSettings__get_option_state to checkbox at +0x48. Also updates all child linked list items via vtable+0xDC. 0x00A43700 81 SettingsUI__update_toggle_pair_00a43700 ui_windows Updates a pair of toggle UI widgets for option 0xA5. Gets option state, sets first widget at +0x84 checkbox, sets second widget at +0x8C to inverse. Calls virtual refresh on both. 0x00A43870 451 SettingsUI__init_sound_volume_and_toggles ui_windows Initializes sound volume scrollbars and game option toggles. Sets up two volume sliders: first for CSoundMgr volume (option 7), second for a global value at DAT_0138be7c+0xE8 (option 0xB). For each slider: sets range to 0x87, visible range from pixel conversion, current value from volume/global, tooltip text. For each option: reads GameSettings state (inverted), sets scrollbar smooth scroll and checkbox widgets at +0x88/+0x8C and +0x98/+0x9C respectively. 0x00A43A40 58 SettingsUI__clamp_and_set_value_a_00a43a40 ui_windows Clamps global DAT_0173a8e0 to max 2, then calls FUN_009f2b70(3) to set range and FUN_009f2530 with clamped value. Used for a settings slider/dropdown with 3 options (0,1,2). 0x00A43A80 58 SettingsUI__clamp_and_set_value_b_00a43a80 ui_windows Clamps global DAT_0173a8e4 to max 2, then calls FUN_009f2b70(3) to set range and FUN_009f2530 with clamped value. Used for a settings slider/dropdown with 3 options (0,1,2). 0x00A43BA0 71 SettingsUI__refresh_all_child_options_00a43ba0 ui_windows Refreshes all child option widgets. Iterates linked list at +0xDC offset calling vtable+0xDC on each node. Then iterates vector at +0xE4 calling FUN_00a43bf0 (sync all checkboxes) for each tab. 0x00A43BF0 127 SettingsUI__sync_all_checkboxes_and_labels_00a43bf0 ui_windows Iterates all options in parent's vector (+0x80->+0xC8/0xCC). For each visible option (+0x28!=0), syncs checkbox widget at +0xE8 by XORing GameSettings__is_invertible_type with GameSettings__get_option_state for the option at +0xF8. Then calls FUN_00a43410 to update labels. 0x00A43C70 432 SettingsUI__update_all_tab_option_labels_00a43c70 ui_windows Updates option labels for all tabs. Iterates tabs in +0xE4 vector, for each tab iterates options in +0x80 vector. Same GameSettings lookup pattern as FUN_00a43410 but operates across all tabs rather than single parent. 0x00A43E20 517 std__Tree_val__Insert_node_00a43e20 stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00A44030 141 SettingsUI__dtor_00a44030 ui_windows Destructor for SettingsUI. Sets vtable to PTR_FUN_01153054, releases timer/resource at +0x31 via vtable+0x10, resets vtable to PTR_FUN_0114875c, then calls base class dtor FUN_00a79e90. 0x00A440C0 165 SettingsUI__scalar_deleting_dtor_00a440c0 ui_windows Scalar deleting destructor for SettingsUI. Performs same cleanup as dtor, then conditionally frees memory (size 200 bytes) if param_2 & 1. 0x00A44170 115 UITextLabel__create_00a44170 ui_framework Factory function that allocates 0x120 bytes for a UITextLabel, calls FUN_00a477f0 (constructor) on it. Returns the new object or 0 on allocation failure. 0x00A441F0 66 UITextLabel__init_default_00a441f0 ui_framework Initializes a UITextLabel with default values. Clears fields at +0x2D and +0x35, sets size to 0xE7 x 0xBD via vtable+4, position to 0,0 via vtable+0x10, and triggers resize/redraw via vtable+0x3C and +0x40. 0x00A44240 12354 SettingsUI__main_setup_00a44240 ui_windows Large settings UI initialization function (12354 bytes). Too large to decompile in agent context. Likely the main setup/create method for the settings window, building all tabs and option controls. 0x00A47290 22 UITextLabel__init_vtable_a_00a47290 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_0115314c and copies parent field at +4. 0x00A472B0 22 UITextLabel__init_vtable_b_00a472b0 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_01153168 and copies parent field at +4. 0x00A472D0 22 UITextLabel__init_vtable_c_00a472d0 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_01153184 and copies parent field at +4. 0x00A472F0 22 UITextLabel__init_vtable_d_00a472f0 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_011531a0 and copies parent field at +4. 0x00A47310 22 UITextLabel__init_vtable_e_00a47310 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_011531bc and copies parent field at +4. 0x00A47330 22 UITextLabel__init_vtable_f_00a47330 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_011531d8 and copies parent field at +4. 0x00A47350 22 UITextLabel__init_vtable_g_00a47350 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_01153130 and copies parent field at +4. 0x00A47370 68 UITextLabel__conditional_delete_a_00a47370 ui_framework Conditional delete helper. If param_2 is non-zero, frees 8 bytes at this pointer. SEH-wrapped. 0x00A473C0 68 UITextLabel__conditional_delete_b_00a473c0 ui_framework Conditional delete helper. If param_2 is non-zero, frees 8 bytes at this pointer. SEH-wrapped. 0x00A47410 68 UITextLabel__conditional_delete_c_00a47410 ui_framework Conditional delete helper. If param_2 is non-zero, frees 8 bytes at this pointer. SEH-wrapped. 0x00A47460 68 UITextLabel__conditional_delete_d_00a47460 ui_framework Conditional delete helper. If param_2 is non-zero, frees 8 bytes at this pointer. SEH-wrapped. 0x00A474B0 68 UITextLabel__conditional_delete_e_00a474b0 ui_framework Conditional delete helper. If param_2 is non-zero, frees 8 bytes at this pointer. SEH-wrapped. 0x00A47500 68 UITextLabel__conditional_delete_f_00a47500 ui_framework Conditional delete helper. If param_2 is non-zero, frees 8 bytes at this pointer. SEH-wrapped. 0x00A47550 68 UITextLabel__conditional_delete_g_00a47550 ui_framework Conditional delete helper. If param_2 is non-zero, frees 8 bytes at this pointer. SEH-wrapped. 0x00A475E0 20 UITextLabel__delegate_select_a_00a475e0 ui_framework Delegate that calls FUN_00a47cd0 (set_selection_index) with the value pointed to by param_1. Used as callback. 0x00A47600 20 UITextLabel__delegate_select_b_00a47600 ui_framework Delegate that calls FUN_00a47cd0 (set_selection_index) with the value pointed to by param_1. Used as callback. 0x00A476A0 22 UITextLabel__init_vtable_h_00a476a0 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_0115314c and copies parent field at +4. 0x00A476C0 22 UITextLabel__init_vtable_i_00a476c0 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_01153168 and copies parent field at +4. 0x00A476E0 22 UITextLabel__init_vtable_j_00a476e0 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_01153184 and copies parent field at +4. 0x00A47700 22 UITextLabel__init_vtable_k_00a47700 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_011531a0 and copies parent field at +4. 0x00A47720 22 UITextLabel__init_vtable_l_00a47720 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_011531bc and copies parent field at +4. 0x00A47740 22 UITextLabel__init_vtable_m_00a47740 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_011531d8 and copies parent field at +4. 0x00A47760 22 UITextLabel__init_vtable_n_00a47760 ui_framework Vtable interface initializer. Sets vtable ptr to PTR_FUN_01153130 and copies parent field at +4. 0x00A477F0 349 UITextLabel__ctor_00a477f0 ui_framework Constructor for UITextLabel. Calls UIWindowBase__ctor(0) as base class, initializes vtable to PTR_FUN_01153444, sets default colors (0xFFFFFF text, 0xCECECE), empty string at +0x42, zero-inits fields 0x36-0x42. Object size 0x120 bytes. 0x00A47950 95 UITextLabel__dtor_00a47950 ui_framework Destructor for UITextLabel. Sets vtable to PTR_FUN_01153444, destroys STL string, then calls base class dtor FUN_009e69d0. 0x00A479B0 119 UITextLabel__scalar_deleting_dtor_00a479b0 ui_framework Scalar deleting destructor for UITextLabel. Sets vtable, destroys STL string, calls base dtor. Conditionally frees 0x120 bytes if param_2 & 1. 0x00A47A50 456 UITextLabel__submit_chat_message_00a47a50 ui_framework Builds and submits a chat message packet (opcode 0xBE2). Copies DAT_01733c3c to header, reads name from +0x100/+0x104 and text from editable widget via UIEditableTextWidget__get_display_text. Sends via FUN_00c7ce30. Also calls FUN_00a8cf20(0x2715) to play a sound effect. 0x00A47C40 130 UITextLabel__show_centered_and_load_data_00a47c40 ui_framework Shows the text label window centered on screen. Sets visible flag +0x35, centers using screen dimensions from DAT_01389638. Loads player name and text data from FUN_00ad6450() into fields +0x40 and +0x42 (STL string). 0x00A47CD0 50 UITextLabel__set_selection_index_00a47cd0 ui_framework Sets selection index. If param_2 matches field at +0xF4, sets +0x104 to 0. If param_2 matches +0xF8, sets +0x104 to 1. Used for toggle/radio selection between two options. 0x00A47D10 34 copy_range_to_buffer game_core Copies a range of memory [param_1, param_2) to destination param_3 using memcpy. Returns pointer to end of written data (param_3 + bytes copied). Used as a helper for vector/buffer operations. 0x00A47D40 418 STL_vector_int__resize_and_copy stl Resizes a std::vector to param_2 elements. Allocates new buffer with 1.5x growth factor (capped at 0x3FFFFFFF), copies existing data, zero-fills new elements, frees old buffer. Updates the vector's begin/end/capacity pointers. Throws length_error if size exceeds max. 0x00A47F20 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A47F40 85 STL_vector_int__rotate_ranges stl Rotates elements in a vector using three range swap operations. Handles edge cases where param_2==param_3 (just set result to param_4) or param_3==param_4 (just set result to param_2). Otherwise does three FUN_00e614e1 swaps and calculates the new midpoint. 0x00A47FA0 444 UIScrollableList__ctor ui_framework Constructor for UIScrollableList. Calls CEffect__ctor as base class, sets vtable to UIBase then UIScrollableList, initializes members: linked lists for items and nodes, string buffer (capacity 0xf), selection index to -1, various flags and counters to 0. Allocates sentinel nodes for two internal linked lists. 0x00A48160 348 UIScrollableList__dtor_00a48160 ui_framework Destructor for UIScrollableList (0x138 bytes). Sets vtable to PTR_FUN_01153520, releases two child widgets at +0x4D and +0x43 via vtable+0x10. Destroys linked list via FUN_00a48350, frees item vector via FUN_00a483e0, destroys STL string. Destroys 4 texture resources at +0x20-0x23. Calls base UIWindowBase dtor. 0x00A482C0 33 UIScrollableList__release_child_widget_00a482c0 ui_framework Releases child widget at field +9 (offset 0x24). If non-null, calls vtable+0x10 on it and nulls the pointer. 0x00A482F0 92 UIScrollableList__release_child_seh_00a482f0 ui_framework SEH-wrapped version of release_child_widget. Same logic: releases child at +9 via vtable+0x10 if non-null. 0x00A48350 134 UIScrollableList__destroy_linked_list_00a48350 ui_framework Destroys a singly-linked list. Walks list starting from *param_1, for each node: destroys STL string, frees 0x30-byte node. Finally frees the head sentinel node. 0x00A483E0 129 UIScrollableList__free_item_vector_00a483e0 ui_framework Frees the dynamic array/vector buffer at *param_1. Handles aligned allocation: checks for stored original pointer at -4 offset for large allocations (>0xFFF). Zeroes all three vector fields (begin, end, capacity). 0x00A48470 164 UIScrollableList__create_from_descriptor_00a48470 ui_framework Creates a UIScrollableList from a descriptor param_2. Optionally clones a UI stream object from param_2+0x24 first, then calls FUN_00a4d0c0 for initialization. Cleans up the stream clone on exit. 0x00A48520 38 UIScrollableList__scalar_deleting_dtor_00a48520 ui_framework Scalar deleting destructor for UIScrollableList. Calls FUN_00a48160 (dtor), then frees 0x138 bytes if param_2 & 1. 0x00A48550 353 UIScrollableList__create_item_widget_00a48550 ui_framework Creates a single item widget for the scrollable list. Allocates 0xF8 bytes, calls FUN_00a4d620 (UIListItem ctor). Sets size via FUN_00a7b470, visibility, colors via FUN_009f02e0. Registers two UI callbacks via UIComponent__create_from_stream. Calls FUN_00a7a080 to add to layout. 0x00A486C0 115 UIListItem__create_00a486c0 ui_framework Factory function that allocates 0x110 bytes and constructs a UIListItem via FUN_00a4d6a0. Returns pointer or 0 on allocation failure. 0x00A48740 85 UIScrollableList__clear_all_items_00a48740 ui_framework Clears all items from the scrollable list. Iterates the item vector at +0xC8/+0xCC, calls FUN_00a82e50 on each item to destroy it, resets vector end to begin, and sets selected index to -1. 0x00A487A0 36 UIScrollableList__set_dimensions_and_position_00a487a0 ui_framework Sets list item dimensions and position. Stores param_4/param_5 at +0xB4/+0xB8, then calls FUN_00a7b470(param_2, param_3) to set overall widget size. 0x00A487D0 59 UIScrollableList__init_default_00a487d0 ui_framework Initializes scrollable list with default size 0x159 x 0x1C7. Clears field at +0x2D, sets size via vtable+4, position to 0,0 via vtable+0x10, triggers layout via vtable+0x3C/+0x40. 0x00A48810 69 UIScrollableList__get_selected_item_00a48810 ui_framework Gets the currently selected item from the linked list. Walks linked list from offset +0xD4, advancing by selected index at +0xDC. Returns item data pointer (+2 from node) and success flag in param_2. 0x00A48860 525 UIScrollableList__init_dialog_container_00a48860 ui_framework Initializes the dialog container for the scrollable list. Allocates 0xF0-byte UIInterfaceDialog, sets up fields (visibility, flags, empty strings). Stores at +0xB0. Registers a UI callback via UIComponent__create_from_stream. Calls FUN_00a7a080 for layout. 0x00A48A70 2388 UIScrollableList__setup_text_labels_00a48a70 ui_framework Sets up two text label widgets for the scrollable list. Creates label at +0xE8 (size 0xE7 x 0x1D) and label at +0xEC (size 0x4E x 0x1D). Each label gets decrypted text via xor_decrypt_buffer, font size 12, white color 0xFFFFFF. Configures alignment, margins, and text strings. 0x00A493D0 11285 UIScrollableList__main_ctor_00a493d0 ui_framework Large constructor for UIScrollableList (11285 bytes). Too large to decompile in agent context. Initializes the full scrollable list control including all sub-widgets. 0x00A4C000 63 UIScrollableList__handle_scroll_event_00a4c000 ui_framework Handles scroll events for the list. If dialog at +0xB0 is not scrolled to end and has more content, calls vtable+0x8C to scroll it. Otherwise forwards to parent widget at +0x10. 0x00A4C040 65 UIScrollableList__set_active_item_00a4c040 ui_framework Sets the active/selected item in the list. Iterates all items in vector +0xC8, calls vtable+0xDC with true on the matching item and false on all others. 0x00A4C090 603 UIScrollableList__rebuild_visible_items_00a4c090 ui_framework Rebuilds the list of visible item widgets. Clears existing items, calculates how many fit based on height / item_height. Allocates widget vector, creates each item widget via FUN_00a4d620 with callbacks. Sets scroll range. 0x00A4C2F0 522 UIScrollableList__load_textures_00a4c2f0 ui_framework Loads 4 textures for the list control (normal, hover, pressed, background) from a map using keys 0-3. Each texture is loaded via UIControl__load_texture_resource and reference-counted. Applies textures to all existing list items via FUN_009f02e0. 0x00A4C500 115 UIScrollableList__resize_and_rebuild_00a4c500 ui_framework Resizes the scrollable list and rebuilds items. Calls FUN_00a82eb0 for size change, rebuilds visible items via FUN_00a4c090, resizes dialog container, updates scroll range and position. Sets dirty flag at +0xE1. 0x00A4C580 498 UIScrollableList__update_visible_range_00a4c580 ui_framework Updates which items are visible based on scroll position param_2. Calculates start index from scroll / item_height. For each visible slot, assigns data index, calls item bind callback at +0x134, sets selected state, positions item, and shows/hides items. Handles scroll direction optimization with FUN_00a47f40. 0x00A4C780 218 UIScrollableList__on_item_clicked_00a4c780 ui_framework Item click handler. If not in single-select mode (+0xC4), deselects all items then selects the clicked one. Uses __RTDynamicCast to verify item type. Stores selected index at +0xDC. Fires selection callback at +0x10C with the linked list node data. 0x00A4C860 216 UIScrollableList__set_texture_names_00a4c860 ui_framework Sets texture names for the list's item states. Copies 4 STL strings from params into the name map at keys 0-3 (normal, hover, pressed, background). Then calls vtable+0xD4(0) and vtable+0x98 to refresh. 0x00A4C940 22 UIScrollableList__init_vtable_a_00a4c940 ui_framework Initializes a vtable callback object. Sets vtable pointer and copies parent object reference from param_1+4. 0x00A4C960 22 UIScrollableList__init_vtable_b_00a4c960 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4C980 22 UIScrollableList__init_vtable_c_00a4c980 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4C9A0 22 UIScrollableList__init_vtable_d_00a4c9a0 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4C9C0 22 UIScrollableList__init_vtable_e_00a4c9c0 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4C9E0 22 UIScrollableList__init_vtable_f_00a4c9e0 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4CA00 22 UIScrollableList__init_vtable_g_00a4ca00 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4CA20 22 UIScrollableList__init_vtable_h_00a4ca20 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4CA40 22 UIScrollableList__init_vtable_i_00a4ca40 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4CA60 68 UIScrollableList__conditional_delete_a_00a4ca60 ui_framework Scalar deleting destructor for a callback delegate object. If param_2 is true, frees the 8-byte object memory. 0x00A4CAB0 68 UIScrollableList__conditional_delete_b_00a4cab0 ui_framework Scalar deleting destructor for a UIScrollableList delegate. Calls destructor and optionally frees memory. 0x00A4CB00 68 UIScrollableList__conditional_delete_c_00a4cb00 ui_framework Scalar deleting destructor for a UIScrollableList delegate. Calls destructor and optionally frees memory. 0x00A4CB50 68 UIScrollableList__conditional_delete_d_00a4cb50 ui_framework Scalar deleting destructor for a UIScrollableList delegate. Calls destructor and optionally frees memory. 0x00A4CBA0 68 UIScrollableList__conditional_delete_e_00a4cba0 ui_framework Scalar deleting destructor for a UIScrollableList delegate. Calls destructor and optionally frees memory. 0x00A4CBF0 68 UIScrollableList__conditional_delete_f_00a4cbf0 ui_framework Scalar deleting destructor for a UIScrollableList delegate. Calls destructor and optionally frees memory. 0x00A4CC40 68 UIScrollableList__conditional_delete_g_00a4cc40 ui_framework Scalar deleting destructor for a UIScrollableList delegate. Calls destructor and optionally frees memory. 0x00A4CC90 68 UIScrollableList__conditional_delete_h_00a4cc90 ui_framework Scalar deleting destructor for a UIScrollableList delegate. Calls destructor and optionally frees memory. 0x00A4CCE0 68 UIScrollableList__conditional_delete_i_00a4cce0 ui_framework Scalar deleting destructor for a UIScrollableList delegate. Calls destructor and optionally frees memory. 0x00A4CD60 65 UIScrollableList__delegate_set_active_item ui_framework Delegate callback for setting active item. Called from a callback context (param_1+4 = parent UIScrollableList). Iterates all items in vector +0xC8 and calls vtable+0xDC to select/deselect based on match with the clicked item from param_2. 0x00A4CDB0 20 UIScrollableList__delegate_scroll_changed ui_framework Delegate callback that forwards scroll position changes to UIScrollableList__update_visible_range. Called when the scrollbar value changes. 0x00A4CDD0 23 UIScrollableList__delegate_null_stub_00a4cdd0 ui_framework Delegate that forwards to null_stub_00a4e030 - effectively a no-op callback handler. 0x00A4CDF0 23 UIScrollableList__delegate_forward_00a4cdf0 ui_framework Delegate that forwards to UIListItem__bind_data_display to bind data to a list item widget for display. 0x00A4CE10 216 UIScrollableList__delegate_item_click_00a4ce10 ui_framework Delegate callback for item click events, called from callback context (param_1+4 = parent UIScrollableList). Deselects all items, selects clicked item, stores index at +0xDC, fires selection callback at +0x10C with linked list node data. Same logic as UIScrollableList__on_item_clicked but accessed via delegate. 0x00A4CF90 3 identity_passthrough_00a4cf90 crt Identity function that returns its parameter unchanged 0x00A4CFA0 22 UIScrollableList__init_vtable_j_00a4cfa0 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4CFC0 22 UIScrollableList__init_vtable_k_00a4cfc0 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4CFE0 22 UIScrollableList__init_vtable_l_00a4cfe0 ui_framework Initializes a vtable-based delegate functor for UIScrollableList. 0x00A4D000 22 UIScrollableList__init_vtable_m ui_framework Initializes a vtable callback object using the same vtable pointer as init_vtable_d (011536c0). Sets vtable and copies parent object reference. 0x00A4D020 22 UIListItem__init_vtable_a_00a4d020 ui_framework Initializes a vtable-based delegate functor for UIListItem. 0x00A4D040 22 UIListItem__init_vtable_b_00a4d040 ui_framework Initializes a vtable-based delegate functor for UIListItem. 0x00A4D060 22 UIListItem__init_vtable_c_00a4d060 ui_framework Initializes a vtable-based delegate functor for UIListItem. 0x00A4D080 22 UIListItem__init_vtable_d_00a4d080 ui_framework Initializes a vtable-based delegate functor for UIListItem. 0x00A4D0A0 22 UIListItem__init_vtable_e_00a4d0a0 ui_framework Initializes a vtable-based delegate functor for UIListItem. 0x00A4D0C0 341 std__any__swap_variant_00a4d0c0 stl Swaps the std::any-like variant at field[9] between two objects. If both hold external pointers, swaps directly. If one or both hold internal (in-situ) storage, uses clone (vtable+4) and destroy (vtable+0x10) to safely swap. 0x00A4D2B0 10 thunk_to_std__Xlength_error_00a4d2b0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00A4D2C0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A4D300 111 linked_list__clear_nodes_00a4d300 stl Clears all nodes from a circular doubly-linked list. Resets tail count to 0, walks from head, destroys STL string in each 0x30-byte node, frees node memory. 0x00A4D370 335 STL_wstring__insert_grow_00a4d370 stl STL wstring insert with grow. Grows the wstring buffer using 1.5x growth strategy (min 7 extra). Copies prefix, inserted data, and suffix using memcpy. Handles freeing old buffer for heap-allocated strings. Returns param_1. 0x00A4D4C0 222 linked_list__merge_sort_00a4d4c0 stl Merge sort for a circular doubly-linked list. Recursive divide-and-conquer: splits list in half, sorts each, merges by comparing field[9] (sort key). Used for sorting list items. 0x00A4D5A0 66 linked_list__find_by_string_00a4d5a0 stl linked_list: find by string 00a4d5a0 0x00A4D5F0 47 linked_list__advance_iterator_00a4d5f0 stl Advances a linked list iterator by param_3 steps. Positive = forward (follow node[0]), negative = backward (follow node[1]). Stores result in *param_1. 0x00A4D620 114 UIListItemButton__ctor_00a4d620 ui_framework Constructor for UIListItemButton (0xF8 bytes). Inherits from UIButton via UIButton__ctor_009efc30. Sets vtable to PTR_FUN_011538f4. Initializes fields: +0x3A=0, +0x3B=0, +0x3C=-1 (no selection). 0x00A4D6A0 313 UIListItemWindow__ctor_00a4d6a0 ui_framework Constructor for UIListItemWindow (0x110 bytes). Inherits from UIWindowBase. Sets vtable to PTR_FUN_011539dc, default colors (0xFFFFFF/0xCECECE), zero-inits fields 0x36-0x43. Has embedded STL string at +0x3D. 0x00A4D7E0 67 linked_list__free_sentinel_00a4d7e0 stl Frees the 0x30-byte sentinel node at field+4. SEH-wrapped. Only frees if non-null. 0x00A4D830 116 linked_list__destroy_sentinel_and_string_00a4d830 stl Destroys the sentinel node at field+4, including its embedded STL string. Frees the 0x30-byte node. SEH-wrapped. 0x00A4D8B0 126 linked_list__clear_all_nodes_00a4d8b0 stl Clears all nodes from a linked list. Resets head/count at field+8/+0xC to 0, walks from tail node, destroys STL string in each 0x28-byte node, frees memory. 0x00A4D930 68 STL_string__dtor_seh_wrapper_00a4d930 stl SEH-wrapped STL string destructor. Calls STL_string_dtor on param_1. 0x00A4D980 71 UIListItemButton__dtor_00a4d980 ui_framework Destructor for UIListItemButton. Sets vtable to PTR_FUN_011538f4, then calls UIControlBase__dtor. 0x00A4D9D0 95 UIListItemWindow__dtor_00a4d9d0 ui_framework Destructor for UIListItemWindow. Sets vtable to PTR_FUN_011539dc, destroys embedded STL string, calls CUIWindow__dtor_save_position. 0x00A4DA30 99 UIListItemButton__scalar_deleting_dtor_00a4da30 ui_framework Scalar deleting destructor for UIListItemButton (0xF8 bytes). Calls dtor then frees if param_2 & 1. 0x00A4DAA0 119 UIListItemWindow__scalar_deleting_dtor_00a4daa0 ui_framework Scalar deleting destructor for UIListItemWindow (0x110 bytes). Calls dtor, destroys STL string, then frees if param_2 & 1. 0x00A4DB20 352 UIScrollableList__add_item_00a4db20 ui_framework Adds a new item to the scrollable list. Allocates 0x30-byte node, copies data from param_2 (including STL strings at offsets 1-8 and sort key at 9). Links into circular list at +0xD4. If param_3, updates scroll range and position. Returns new item index. Max capacity 0x5555555. 0x00A4DCA0 750 UIScrollableList__search_and_select_00a4dca0 ui_framework Searches the list for text matching the edit widget content. Gets selected item's strings for highlight. Uses linked_list__find_by_string to search. If found, scrolls to item, selects it, updates highlight. If not found, shows a message box (0x1012). Uses format strings from DAT_01343de8/DAT_01343e00. 0x00A4DF90 123 UIScrollableList__clear_all_data_00a4df90 ui_framework Clears all data from the scrollable list. Destroys all linked list nodes, resets head pointers, clears count to 0, resets selected index to -1, updates scroll range and position. Sets dirty flag. 0x00A4E030 3 null_stub_00a4e030 crt Empty function stub with no implementation, just returns immediately 0x00A4E040 206 UIListItem__bind_data_display_00a4e040 ui_framework Binds data from linked list node to a list item for display. Calls several UI setup functions for text/color, formats a float value from param_2+0x20 using format string '%.4lf' and sets it as text. 0x00A4E110 109 UIScrollableList__draw_border_lines_00a4e110 ui_framework Draws border lines around the scrollable list. Calls FUN_00a7b430 for setup, then draws 4 colored lines (0xFFCEADA5) at top, left (x=0), middle (x=0xE8), and right edges using FUN_00a7bd60. 0x00A4E180 207 UIScrollableList__draw_grid_background_00a4e180 ui_framework Draws the grid background for the scrollable list. Fills background (0xFFFFFFFF), draws outline (0xFF808080), draws header bar at y=0x3C (0xFF99E5FF). Draws horizontal grid lines every 0x1E pixels and 3 vertical separator lines. 0x00A4E250 43 UIScrollableList__disable_both_scrollbars_00a4e250 ui_framework Disables and hides both scrollbar widgets by calling UIScrollbar__disable_and_hide(1) twice. 0x00A4E280 200 UIScrollableList__show_positioned_with_labels_00a4e280 ui_framework Shows the scrollable list window positioned relative to a parent window (FUN_00aa5f70 returns parent). Centers vertically if no parent. Sets 3 text labels using message strings 0x1017, 0x1018, 0x1019 via FUN_00b00f00. 0x00A4E360 74 UIScrollableList__refresh_scroll_range_00a4e360 ui_framework Refreshes the scroll range based on item count * item height + padding. Sets max value, visible range, and current scroll value. Marks dirty flag +0xE1. 0x00A4E3B0 124 UIScrollableList__rebind_item_at_index_00a4e3b0 ui_framework Re-binds data to the list item widget at given index. Finds the visible item widget matching param_2 index. Advances linked list iterator to that index, calls the bind callback at +0x134. Returns 1 on success, 0 on failure. 0x00A4E430 89 UIScrollableList__scroll_to_and_select_00a4e430 ui_framework Scrolls to the specified index and selects it. Sets scrollbar value to item_height * param_2. Finds the matching visible item and triggers on_item_clicked. Returns 1 if found, 0 if not. 0x00A4E490 56 UIScrollableList__handle_button_event_00a4e490 ui_framework Button event handler for scrollable list. If button ID is 0xB1, calls CListBoxDialog__apply_skin_to_child to re-skin. Always forwards to UIWindow__handle_button_click for default handling. 0x00A4E4D0 1772 UIItemList__populate_from_item_db_00a4e4d0 game_core Populates the item list from the item database. Stores item ID at +0x10C. Clears existing list data. Creates CItemDB singleton if needed. Looks up item by ID, iterates item tree nodes. For each item entry: copies strings, computes price using pow() with enchant level, creates list node with sort key. Calls refresh_scroll_range after population. 0x00A4EBC0 10 thunk_to_std__Xout_of_range_00a4ebc0 stl Thunk that calls std::_Xout_of_range with invalid_string_position error 0x00A4EBD0 1747 string_highlight_and_replace_00a4ebd0 game_core Searches for param_2 within param_1 string and highlights/replaces matches. Converts strings to wchar, does substring search. For each match found, calls FUN_00a4f2b0 to apply highlight formatting for prefix, match, and suffix segments. Converts result back to multibyte. Returns number of matches found. 0x00A4F2B0 227 STL_wstring__insert_at_00a4f2b0 stl STL wstring insert at position. Inserts param_4 wchars from param_3 at position param_2. If buffer has capacity, shifts existing content and copies in-place. If not, delegates to STL_wstring__insert_grow. Handles overlapping source ranges. 0x00A4F3A0 34 memcpy_range_to_dest_00a4f3a0 stl Copies memory from param_1 to param_3, size = param_2 - param_1. Returns end of copied data in param_3. 0x00A4F3D0 418 STL_vector__resize_and_copy_00a4f3d0 stl STL vector resize with 1.5x growth. Allocates new buffer, zero-fills new elements, copies old data via memcpy. Frees old buffer. Max capacity 0x3FFFFFFF. Uses aligned allocation for large buffers (>0xFFF). 0x00A4F5B0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A4F5D0 85 STL_vector__rotate_range_00a4f5d0 stl Rotates a range of vector elements. Three-way swap using FUN_00e614e1 to move block [param_2,param_3) before [param_3,param_4). Returns new position of the original first element. 0x00A4F630 444 UITreeView__ctor_00a4f630 ui_events Constructor for UITreeView (0x138 bytes). Inherits from UIWindowBase. Sets vtable to PTR_FUN_01153c44. Creates linked list sentinel (0x2C bytes) and node list (0x10 bytes). Initializes STL string at +0x26, selection=-1, various widget ptrs to null. 0x00A4F7F0 393 UITreeView__dtor_00a4f7f0 ui_events Destructor for UITreeView. Releases child widgets at +0x4D and +0x43 via vtable+0x10. Destroys node list, frees vector, destroys STL string, destroys texture map, releases 4 texture resources. Calls base UIWindowBase dtor. 0x00A4F980 33 UITreeView__release_child_widget_00a4f980 ui_events Releases child widget at field +9. If non-null, calls vtable+0x10 and nulls pointer. 0x00A4F9B0 92 UITreeView__release_child_seh_00a4f9b0 ui_events SEH-wrapped version of release_child_widget for UITreeView. Same logic as 00a4f980. 0x00A4FA10 103 UITreeView__destroy_node_list_00a4fa10 ui_events Destroys a singly-linked node list. Walks from head, frees each 0x10-byte node, then frees head. SEH-wrapped. 0x00A4FA80 129 UITreeView__free_item_vector_00a4fa80 ui_events Frees a vector buffer. Handles aligned allocation (checks -4 offset for large buffers). Zeroes begin/end/capacity pointers. SEH-wrapped. 0x00A4FB10 164 UITreeView__create_from_descriptor_00a4fb10 ui_events Creates a UITreeView from a descriptor. Optionally clones a UI stream from param_2+0x24, then calls std__any_swap_00a54a20 for initialization. 0x00A4FBC0 38 UITreeView__scalar_deleting_dtor_00a4fbc0 ui_events Scalar deleting destructor for UITreeView (0x138 bytes). Calls UITreeView__dtor then frees if param_2 & 1. 0x00A4FBF0 353 UITreeView__create_item_widget_00a4fbf0 ui_events Creates a single item widget for the tree view. Allocates 0xF8-byte UITextBoxC via ctor. Sets size, visibility=0, colors. Registers two UI callbacks. Adds to layout via FUN_00a7a080. 0x00A4FD60 115 UITextBoxB__create_00a4fd60 game_core Factory function that allocates 0xF4 bytes for UITextBoxB, constructs via UITextBoxB__ctor. Returns pointer or 0 on failure. 0x00A4FDE0 85 UITreeView__clear_all_items_00a4fde0 ui_events Clears all items from the tree view. Iterates item vector +0xC8, calls FUN_00a82e50 on each. Resets vector end=begin, selected=-1. 0x00A4FE40 36 UIScrollableList__set_scroll_params_and_init ui_framework Sets scroll parameters (param_4 and param_5 at offsets +0xB4 and +0xB8) and initializes the scrollable list by calling FUN_00a7b470 with param_2 and param_3. 0x00A4FE70 66 UIScrollableList__init_layout ui_framework Initializes the layout of a UIScrollableList. Clears flags at offset +0x2D, sets flag at +0x35 to 1, calls virtual functions to set size (0x156 x 0x19C), position (0,0), and perform resize/layout operations. 0x00A4FEC0 69 UIScrollableList__get_selected_item ui_framework Gets the currently selected item in the scrollable list. Uses the selection index at +0xDC to traverse the linked list at +0xD4. If index is valid (>=0 and < count at +0xD8), returns pointer to the item data (node+2) with success flag. Otherwise returns with success=false. 0x00A4FF10 193 QuestUI__create_scrollbar ui_windows Creates and initializes a scrollbar for the Quest UI. Allocates a new object via FUN_009be480, hides it initially (virtual call with 0), sets up a callback with QuestUI__init_vtable_d, and adds the scrollbar as a child control via CEffect__add_child_to_list_end. Stores the scrollbar pointer at offset +0xB0. 0x00A4FFE0 2433 QuestUI__init_header_panel_00a4ffe0 ui_windows Initializes the Quest UI header panel. Creates icon button (+0x80, 10x9), title label (+0x84, 50x12 with font), and text description panel (+0x88, UIFmtDialog with CTextPanel). Loads Renew_QuestUI/poring.bmp as icon. Sets fonts, colors, margins. Creates scrollbar with QuestUI arrow textures. 0x00A50970 3972 QuestUI__init_main_panel_00a50970 ui_windows Initializes the Quest UI main panel. Creates multi-resource dialog (+0xD8), title label with 'QUEST' text, checkable button (+0xEC, 0x120 bytes), tree view list (+0x9C). Sets titlebar textures (basic_interface_titlebar_left/mid/right.bmp). Configures scrollbar with QuestUI assets. 0x00A51900 1475 QuestUI__init_detail_panel_00a51900 ui_windows Initializes the Quest UI detail panel. Creates icon (+0xE8, 38x38 with QuestUI/questIocn.bmp), tooltip widget (+0xEC, 0x1D8 bytes with CItemInfoMgr), name label (+0xF0, 170x12), and description label (+0xF4, 170x12 with color 0xA0551D). 0x00A51ED0 4764 QuestUI__init_objectives_panel_00a51ed0 ui_windows Initializes the Quest UI objectives panel. Creates icon (+0x80), multiple text labels (+0x84 to +0x98) for quest name, description, progress, etc. Creates tree view (+0x9C) with scrollbar configured using QuestUI arrow textures. Sets texture names and scrollbar background. 0x00A53170 2175 QuestUI__init_rewards_panel_00a53170 ui_windows Initializes the Quest UI rewards panel. Creates text boxes (+0x80, +0x88 as UITextBoxA), separator lines (+0x84, +0x8C as image buttons with line.bmp texture), reward detail box (+0x90 as UITextBoxD), and a vertical scrollbar (+0x94). Configures scrollbar with QuestUI arrow and thumb textures. 0x00A53A00 63 QuestUI__scroll_step_or_forward ui_windows Handles a scroll step or forward action. Checks the child object at +0xB0: if its flag at +0xA8 is zero and its count (+0x94) is less than its max (+0x90), calls virtual function +0x8C on the child. Otherwise, calls the same virtual function on the parent at +0x10. Used as a scrollbar callback. 0x00A53A40 65 QuestUI__set_selection_highlight ui_windows Sets the selection highlight on visible list items. Iterates all items from +0xC8 to +0xCC, calling virtual function +0xDC on each with a boolean: true if the item matches param_2 (selected), false otherwise. 0x00A53A90 603 QuestUI__rebuild_visible_items_00a53a90 ui_windows Rebuilds the visible items array for the QuestUI list view. Removes all existing child items from the parent, clears the item vector (+0xC8/+0xCC), then calculates how many items fit based on the view height (+0x18) divided by item height (+0xB8). Creates UITextBoxC instances for each visible slot, sets their button textures from stored texture handles (+0x80 to +0x8C), registers click and tooltip callbacks, and adds them as children. Updates the scrollbar max value and visible range. 0x00A53CF0 522 QuestUI__load_textures_00a53cf0 ui_windows Loads texture resources for the QuestUI list view. Loads 4 textures from a string map (indices 0-2 from the map, index 3 from offset +0x98 string), storing texture handles at +0x80 to +0x8C. Releases old texture references before replacing. Then iterates all visible items (+0xC8 to +0xCC) and applies the new button state textures to each via UIButton__set_state_textures_direct. 0x00A53F00 115 QuestUI__resize_and_rebuild_00a53f00 ui_windows Handles resize for the QuestUI list view. Calls CEffect__resize_surface with new dimensions, rebuilds visible items, resizes the scrollbar height, recalculates scrollbar max value from item count * item height + header offset, sets visible range, restores scroll position, and marks layout as dirty (+0xE1=1). 0x00A53F80 498 QuestUI__update_visible_range_00a53f80 ui_windows Updates the visible range of items in the QuestUI list view based on scroll position (param_2). Calculates which items should be visible based on scroll offset divided by item height (+0xB8). Rotates the item array to reuse existing slots when scrolling. For each visible slot, updates the data index, calls the data binding callback (+0x134), sets selected state via vtable+0xD8, positions the item, and shows it. Hides items that scroll out of view. 0x00A54180 218 QuestUI__on_item_clicked_00a54180 ui_windows Handles item click in the QuestUI list view. If not locked (+0xC4==0), deselects all other items by calling vtable+0xD8 with 0, selects the clicked item with 1. If selection changed or first click, performs RTTI dynamic cast, stores the selected data index at +0xDC, and invokes the selection callback (+0x10C) with the item data from the linked list at +0xD4. 0x00A54260 216 QuestUI__set_texture_names_00a54260 ui_windows Sets texture names for the QuestUI list view. Stores 3 texture names into a string map (indices 0, 1, 2) and a 4th string into the scrollbar label field (+0x98). Then triggers a texture reload via vtable+0xD4 and layout refresh via vtable+0x98. 0x00A54340 22 QuestUI__init_vtable_c_00a54340 ui_windows Initializes a vtable callback object for QuestUI. Sets vtable pointer to PTR_01153e28 (init_vtable_c table) and copies context pointer from source +4. 0x00A54360 22 QuestUI__init_vtable_d_00a54360 ui_windows Initializes a vtable callback object for QuestUI. Sets vtable pointer to PTR_01153e0c (init_vtable_d table) and copies context pointer from source +4. 0x00A54380 22 QuestUI__init_vtable_e_00a54380 ui_windows Initializes a vtable callback object for QuestUI. Sets vtable pointer to PTR_01153dd4 (init_vtable_e table) and copies context pointer from source +4. 0x00A543A0 22 QuestUI__init_vtable_f_00a543a0 ui_windows Initializes a vtable callback object for QuestUI. Sets vtable pointer to PTR_01153d80 (init_vtable_f table) and copies context pointer from source +4. 0x00A543C0 22 QuestUI__create_vtable_callback_a ui_windows Creates a vtable callback object for QuestUI. Sets vtable pointer to PTR_FUN_01153db8 and copies the second dword from the source object. 0x00A543E0 22 QuestUI__create_vtable_callback_b ui_windows Creates a vtable callback object for QuestUI. Sets vtable pointer to PTR_FUN_01153e44 and copies the second dword from the source object. 0x00A54400 22 QuestUI__create_vtable_callback_c ui_windows Creates a vtable callback object for QuestUI. Sets vtable pointer to PTR_FUN_01153df0 and copies the second dword from the source object. 0x00A54420 22 QuestUI__create_vtable_callback_d ui_windows Creates a vtable callback object for QuestUI. Sets vtable pointer to PTR_FUN_01153d9c and copies the second dword from the source object. 0x00A54440 68 QuestUI__conditional_free_a ui_windows Conditional free for a QuestUI callback object. If param_2 is nonzero, frees the 8-byte object via FUN_00e6227f. Part of scalar deleting destructor pattern. 0x00A54490 68 QuestUI__conditional_free_b ui_windows Conditional free for a QuestUI callback object. If param_2 is nonzero, frees the 8-byte object. Part of scalar deleting destructor pattern. 0x00A544E0 68 QuestUI__conditional_free_c ui_windows Conditional free for a QuestUI callback object. If param_2 is nonzero, frees the 8-byte object. Part of scalar deleting destructor pattern. 0x00A54530 68 QuestUI__conditional_free_d ui_windows Conditional free for a QuestUI callback object. If param_2 is nonzero, frees the 8-byte object. Part of scalar deleting destructor pattern. 0x00A54580 68 QuestUI__conditional_free_e ui_windows Conditional free for a QuestUI callback object. If param_2 is nonzero, frees the 8-byte object. Part of scalar deleting destructor pattern. 0x00A545D0 68 QuestUI__conditional_free_f ui_windows Conditional free for a QuestUI callback object. If param_2 is nonzero, frees the 8-byte object. Part of scalar deleting destructor pattern. 0x00A54620 68 QuestUI__conditional_free_g ui_windows Conditional free for a QuestUI callback object. If param_2 is nonzero, frees the 8-byte object. Part of scalar deleting destructor pattern. 0x00A54670 68 QuestUI__conditional_free_h ui_windows Conditional free for a QuestUI callback object. If param_2 is nonzero, frees the 8-byte object. Part of scalar deleting destructor pattern. 0x00A546C0 65 QuestUI__highlight_selected_item ui_windows Highlights the selected item in the quest list. Dereferences param_2 to get the selected item pointer, then iterates all visible items in the list (offsets +0xC8 to +0xCC). For each item, calls virtual function at vtable+0xDC with true if it matches the selected item, false otherwise. 0x00A54710 20 QuestUI__wrapper_update_visible_range ui_windows Wrapper that calls QuestUI__update_visible_range_00a53f80 with the dereferenced first parameter. Used as a callback/delegate. 0x00A54740 23 QuestUI__wrapper_null_stub ui_windows Wrapper that calls null_stub_00a55710 with dereferenced first param and second param. Used as a delegate for an empty handler. 0x00A54760 20 QuestUI__wrapper_reposition_children ui_windows Wrapper that calls UIQuestWnd__reposition_children_00a55f20 with dereferenced first param. Used as a callback/delegate for layout updates. 0x00A54780 216 QuestUI__on_item_clicked ui_windows Handles item click in the quest list. Deselects all other items (calls vtable+0xD8 with 0), selects the clicked item (vtable+0xD8 with 1). If the selection changed or first click, dynamic casts to get the item's data index, stores it at +0xDC, and calls the item selection callback at +0x10C with the item data from the linked list. 0x00A54870 23 QuestUI__wrapper_setup_item_tooltip ui_windows Wrapper that calls UIQuestWnd__setup_item_tooltip_00a55720 with dereferenced first param and second param. Used as a delegate for tooltip display. 0x00A54910 3 identity_passthrough_00a54910 crt Returns input parameter unchanged; identity function 0x00A54920 22 QuestUI__create_vtable_callback_e ui_windows Creates a vtable callback object using QuestUI__init_vtable_c. Sets vtable pointer and copies context from source object. 0x00A54940 22 QuestUI__create_vtable_callback_f ui_windows Creates a vtable callback object using QuestUI__init_vtable_d. Sets vtable pointer and copies context from source object. 0x00A54960 22 QuestUI__create_vtable_callback_g ui_windows Creates a vtable callback object using QuestUI__init_vtable_e. Sets vtable pointer and copies context. 0x00A54980 22 QuestUI__create_vtable_callback_h ui_windows Creates a vtable callback object using QuestUI__init_vtable_f. Sets vtable pointer and copies context. 0x00A549A0 22 QuestUI__create_vtable_callback_i ui_windows Creates a vtable callback object referencing QuestUI__create_vtable_callback_a vtable. Sets vtable pointer and copies context. 0x00A549C0 22 QuestUI__create_vtable_callback_j ui_windows Creates a vtable callback object referencing QuestUI__create_vtable_callback_b vtable. Sets vtable pointer and copies context. 0x00A549E0 22 QuestUI__create_vtable_callback_k ui_windows Creates a vtable callback object referencing QuestUI__create_vtable_callback_c vtable. Sets vtable pointer and copies context. 0x00A54A00 22 QuestUI__create_vtable_callback_l ui_windows Creates a vtable callback object referencing QuestUI__create_vtable_callback_d vtable. Sets vtable pointer and copies context. 0x00A54A20 341 std__any_swap_00a54a20 stl Swaps two std::any-like objects. If both have external storage, swaps pointers directly. Otherwise uses virtual clone/destroy to handle local/remote storage correctly via vtable calls at offsets +4 (clone) and +0x10 (destroy). 0x00A54C00 10 thunk_to_std__Xlength_error_00a54c00 stl Forwards to std::_Xlength_error for vector allocation failure 0x00A54C10 62 deallocate stl STL allocator deallocate function. Frees memory for an array of elements (count * 4 bytes). Handles over-aligned allocations (>0xFFF bytes) by looking up the original allocation pointer at offset -4. 0x00A54C50 143 charconv__format_fixed_wrapper_00a54c50 encoding Wrapper around charconv__format_fixed_notation. Reads a value from param_4, sets format flag to 0x20000000, then calls charconv format with precision=1. 0x00A54CE0 28 charconv__init_format_spec_00a54ce0 encoding Initializes a charconv format spec structure. Clears first field, copies value from param_2, then sets format flag to 0x20000000. 0x00A54D00 133 UITextBoxA__ctor_00a54d00 game_core Constructor for UITextBoxA. Calls base class ctor FUN_00a79a90, sets vtable to PTR_FUN_01153e60, then initializes fields 0x20-0x22 to zero. Object size 0x8c. 0x00A54D90 262 UITextBoxB__ctor_00a54d90 game_core Constructor for UITextBoxB (window-based text box). Calls UIWindowBase__ctor, sets vtable to PTR_FUN_011541dc. Initializes text color to 0xffffff, highlight color to 0xcecece, line spacing=3, flags, and child UI fields 0x36-0x3c to zero. Object size 0xf4. 0x00A54EA0 124 UITextBoxC__ctor_00a54ea0 game_core Constructor for UITextBoxC. Calls base ctor FUN_009efc30, sets vtable to PTR_FUN_01153f3c, initializes fields 0x3a-0x3d to zero. Object size 0xf8. 0x00A54F20 193 UITextBoxD__ctor_00a54f20 game_core Constructor for UITextBoxD. Calls base ctor FUN_00a79a90, sets vtable to PTR_FUN_01154024, initializes fields 0x20-0x28 to zero. Object size 0xa4. 0x00A54FF0 163 UITextBoxE__ctor_00a54ff0 game_core Constructor for UITextBoxE. Calls base ctor FUN_00a79a90, sets vtable to PTR_FUN_01154100, initializes fields 0x20-0x25 to zero. Object size 0x98. 0x00A550A0 67 free_member_buffer_00a550a0 stl Frees a 0x10-byte buffer at this+4 if non-null, via FUN_00e6227f (operator delete). 0x00A550F0 78 free_member_buffer_alt_00a550f0 stl Frees a 0x10-byte buffer at this+4 if non-null (same pattern as free_member_buffer_00a550a0, different SEH setup). 0x00A55140 84 UITextBoxA__dtor_00a55140 game_core Destructor for UITextBoxA. Sets vtable chain PTR_FUN_01153e60 then PTR_FUN_0114875c, calls base dtor FUN_00a79e90. 0x00A551A0 71 UITextBoxB__dtor_00a551a0 game_core Destructor for UITextBoxB. Sets vtable to PTR_FUN_011541dc, calls base window dtor FUN_009e69d0. 0x00A551F0 71 UITextBoxC__dtor_00a551f0 game_core Destructor for UITextBoxC. Sets vtable to PTR_FUN_01153f3c, calls base dtor FUN_009da310. 0x00A55240 84 UITextBoxD__dtor_00a55240 game_core Destructor for UITextBoxD. Sets vtable chain PTR_FUN_01154024 then PTR_FUN_0114875c, calls base dtor FUN_00a79e90. 0x00A552A0 84 UITextBoxE__dtor_00a552a0 game_core Destructor for UITextBoxE. Sets vtable chain PTR_FUN_01154100 then PTR_FUN_0114875c, calls base dtor FUN_00a79e90. 0x00A55300 112 UITextBoxA__scalar_deleting_dtor_00a55300 game_core Scalar deleting destructor for UITextBoxA. Calls dtor chain, then frees 0x8c bytes if param_2 & 1. 0x00A55370 99 UITextBoxB__scalar_deleting_dtor_00a55370 game_core Scalar deleting destructor for UITextBoxB. Calls dtor, then frees 0xf4 bytes if param_2 & 1. 0x00A553E0 99 UITextBoxC__scalar_deleting_dtor_00a553e0 game_core Scalar deleting destructor for UITextBoxC. Calls dtor, then frees 0xf8 bytes if param_2 & 1. 0x00A55450 112 UITextBoxD__scalar_deleting_dtor_00a55450 game_core Scalar deleting destructor for UITextBoxD. Calls dtor chain, then frees 0xa4 bytes if param_2 & 1. 0x00A554C0 112 UITextBoxE__scalar_deleting_dtor_00a554c0 game_core Scalar deleting destructor for UITextBoxE. Calls dtor chain, then frees 0x98 bytes if param_2 & 1. 0x00A55530 274 UIQuestList__add_item_00a55530 game_core Adds an item to the quest list's linked list (at +0xd4). Allocates a 0x10-byte node, copies 8 bytes from param_2 (quest id + data). Increments count at +0xd8. If param_3 is true, recalculates scroll height and marks dirty. Throws Xlength_error if list at max (0xfffffff). 0x00A55710 3 null_stub_00a55710 crt Empty function that immediately returns, likely a placeholder or stub 0x00A55720 320 UIQuestWnd__setup_item_tooltip_00a55720 ui_windows Sets up item tooltip for quest window. Calls CItemInfoMgr__clear_tree_and_free_alt, CItemDesc__get_class_and_level, CItemDB__build_item_tooltip_string. Sets up tooltip text with item name and description using string ID 0xb6. 0x00A558B0 130 UIQuestWnd__set_initial_position_00a558b0 ui_windows Sets the initial position of the quest window. Looks up string ID 0xd48, sets window title. Tries to find saved position from UIManager (ID 0x2718), if found uses saved pos, otherwise centers on screen. 0x00A55950 309 UIQuestWnd__init_tabs_and_worldmap_00a55950 ui_windows Initializes quest window tabs and world map. Sets 3 tab labels from string IDs 0xd4c-0xd4e, enables scrollbar on tab panel, allocates+constructs CWorldMap, adds it as child with size 0x4b x 0x91, then shows the world map. 0x00A55A90 190 UIQuestWnd__set_tab_labels_00a55a90 ui_windows Sets tab labels and enables visibility for quest window's 3 tab panels (at +0x80, +0x88, +0x90). Sets visible flag at +0x79 for each, then sets label strings from msgstringtable IDs 0xd49, 0xd4a, 0xd4b. 0x00A55B50 18 UIQuestWnd__virtual_dispatch_00a55b50 ui_windows Virtual dispatch stub. Calls virtual method at vtable offset 0x8c on the child object at +0x94. 0x00A55B70 333 UIQuestWnd__refresh_quest_list_00a55b70 ui_windows Refreshes the quest list display. Gets quest data from the map tree at +0xe4, looks up quest ID +0xf0 in the global quest map (DAT_0138cf40), processes bulk packet data via CPacketSystem__bulk_processor, updates scrollbar dimensions and child heights, then adjusts scroll range. 0x00A55CC0 327 UIQuestWnd__load_quest_by_id_00a55cc0 ui_windows Loads and displays quest details by quest ID (param_2). Looks up quest in global map, processes bulk packet text lines, updates tab scrollbar visibility and child element heights, then adjusts total scroll range. 0x00A55E10 142 UIQuestWnd__update_scrollbar_h_00a55e10 ui_windows Updates horizontal scrollbar for quest window. Shows/hides scrollbar based on whether content exceeds visible area (+0x32 vs +0x33). Adjusts scrollbar position and recalculates max child content width, then sets scroll range via FUN_00a82eb0. 0x00A55EA0 126 UIQuestWnd__update_scrollbar_v_00a55ea0 ui_windows Updates vertical scrollbar for quest window detail panel (+0x9c). Shows/hides based on content count (+0x36). Adjusts scrollbar size based on item count * item height + padding. Recalculates max child content height and sets scroll range. 0x00A55F20 78 UIQuestWnd__reposition_children_00a55f20 ui_windows Repositions child elements in the quest window. Iterates linked list of children (+0x50), for each non-header child, moves it by -param_2 offset and stacks based on previous child's bottom edge. 0x00A55F70 217 UIQuestWnd__load_worldmap_data_00a55f70 ui_windows Loads world map data for quest window. If param_2 has a map name (string length > 0), copies it and calls CWorldMap__LoadMapData. Optionally sets display name from param_3 via CWorldMap__SetMapName. Calls the show method on the world map object. 0x00A56050 242 UIQuestWnd__select_quest_entry_00a56050 ui_windows Selects a quest entry by ID (param_2) in the quest window. Looks up quest in global map, sets display name and description text, calls CPacketManager handler for additional data, then calls FUN_00a56150 to populate the detail view. Stores selected quest ID at +0xf0. 0x00A56150 1292 UIQuestWnd__populate_quest_detail_00a56150 ui_windows Populates the quest detail view for a selected quest ID. Clears existing list items, looks up quest in global map, processes objectives and description lines, populates reward item list, loads world map data if available, then updates scrollbars and layout. 0x00A56660 34 memcpy_range_00a56660 stl Copies a memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past the end of destination. 0x00A56690 452 std__vector_int__emplace_grow_00a56690 stl std::vector growth/emplace helper. Reallocates with 1.5x growth, inserts a new element at param_2 position, copies existing elements around insertion point via memcpy. Handles aligned allocation for large buffers. Max capacity 0x3fffffff. 0x00A56860 115 UIQuestWnd__create_window_child_00a56860 ui_windows Factory function: allocates 0xec bytes and constructs a UIQuestWindowChild via FUN_00a586c0. Returns null if allocation fails. 0x00A568E0 66 UIQuestWnd__reset_window_layout_00a568e0 ui_windows Resets quest window layout. Clears flags, enables close button, sets window size to 0x156 x 0x19c, moves to origin (0,0), then auto-sizes and centers. 0x00A56930 189 UIQuestWnd__add_quest_tab_entry_00a56930 ui_windows Adds a new quest tab entry. Allocates 0x84 bytes, constructs via FUN_00a58640, adds as child at 300x150 size, then pushes to vector at +0x8c. Uses emplace_grow helper if vector is at capacity. 0x00A569F0 1790 UIQuestWnd__init_text_label_and_scrollbar_00a569f0 ui_windows Initializes the quest window's text label and scrollbar. Creates UITextEdit-like control (0xe0 bytes), configures font size 12, text color white, alignment, sets scrollbar sprites from 'Renew_QuestUI_bt_scrollbar_arrow' resources, adds as child at +0x80. 0x00A570F0 3572 UIQuestWnd__init_detail_panel_00a570f0 ui_windows Initializes the quest window detail panel. Creates title bar with left/mid/right BMP sprites (basic_interface_titlebar), creates description text labels, button controls, and multiple sub-panels for quest details. Stores controls at +0xd8 (text), +0xdc (image), +0xe0 (label), +0xe4 (panel), +0xe8 (description). 0x00A57EF0 1406 UIQuestWnd__init_tab_panels_00a57ef0 ui_windows Initializes the 3 quest tab panels with background images. Creates panel +0x80 (0x150x0x13e, bg_quest01.png), +0x84 (0x144x0x8a, bg_quest01.png), +0x88 (0xd0x0x5c, bg_quest02.png). Creates 3 tab entries via add_quest_tab_entry, then configures panel sizes and positions for list, content, and detail views with scrollbar heights. 0x00A58470 22 callback_functor_init_a_00a58470 stl Initializes a callback functor. Sets vtable to PTR_FUN_01154348 and copies the owner pointer from this+4. 0x00A58490 22 callback_functor_init_b_00a58490 stl Initializes a callback functor. Sets vtable to PTR_FUN_01154364 and copies the owner pointer from this+4. 0x00A584B0 68 callback_functor_scalar_deleting_dtor_a_00a584b0 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A58500 68 callback_functor_scalar_deleting_dtor_b_00a58500 stl Scalar deleting destructor for 8-byte callback functor (variant b). Frees if param_2 != 0. 0x00A58590 22 callback_functor_init_c_00a58590 stl Initializes a callback functor. Sets vtable to PTR_FUN_01154348 and copies the owner pointer from this+4. 0x00A585B0 22 callback_functor_init_d_00a585b0 stl Initializes a callback functor. Sets vtable to PTR_FUN_01154364 and copies the owner pointer from this+4. 0x00A585F0 10 thunk_to_std__Xlength_error_00a585f0 stl Calls std::_Xlength_error with vector_too_long message 0x00A58600 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A58640 113 UIQuestTabEntry__ctor_00a58640 game_core Constructor for UIQuestTabEntry. Calls base ctor FUN_00a79a90, sets vtable to PTR_FUN_01154380, initializes field +0x20 to zero. Object size 0x84. 0x00A586C0 242 UIQuestWindowChild__ctor_00a586c0 game_core Constructor for UIQuestWindowChild. Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01154538. Initializes text color to 0xffffff, highlight color to 0xcecece, line spacing=3, and child fields 0x36-0x3a to zero. Object size 0xec. 0x00A587C0 177 UIQuestWndEx__ctor ui_windows Constructor for UIQuestWndEx (extended quest window). Calls CEffect__ctor as base class, sets vtable first to UIBase then UIQuestWndEx, zeroes out 7 member fields at offsets +0x80 through +0x98. 0x00A58880 129 STL_vector_ptr__clear_and_free stl Clears and frees a std::vector of pointers. If the buffer is non-null, calculates the allocation size (capacity - begin, aligned to 4 bytes), frees it via FUN_00e6227f, and zeroes begin/end/capacity pointers. 0x00A58910 84 UIQuestTabEntry__dtor game_core Destructor for UIQuestTabEntry. Sets vtable to UIQuestTabEntry then UIBase, then calls CEffect__dtor to destroy the base class. 0x00A58970 71 UIQuestWindowChild__dtor_00a58970 game_core Destructor for UIQuestWindowChild. Sets vtable to PTR_FUN_01154538, calls base window dtor FUN_009e69d0. 0x00A589C0 108 UIQuestWndEx__dtor_00a589c0 ui_windows Destructor for UIQuestWndEx. Sets vtable to PTR_FUN_0115445c, calls cleanup FUN_00a58880, resets vtable to base UIBase, then calls base dtor FUN_00a79e90. 0x00A58A30 112 UIQuestTabEntry__scalar_deleting_dtor_00a58a30 game_core Scalar deleting destructor for UIQuestTabEntry. Sets vtable chain, calls base dtor, frees 0x84 bytes if param_2 & 1. 0x00A58AA0 99 UIQuestWindowChild__scalar_deleting_dtor_00a58aa0 game_core Scalar deleting destructor for UIQuestWindowChild. Sets vtable, calls base window dtor, frees 0xec bytes if param_2 & 1. 0x00A58B10 132 UIQuestWndEx__scalar_deleting_dtor_00a58b10 ui_windows Scalar deleting destructor for UIQuestWndEx. Sets vtable, calls cleanup and base dtors, frees 0x9c bytes if param_2 & 1. 0x00A58BE0 130 UIQuestWndEx__set_initial_position_00a58be0 ui_windows Sets initial position for UIQuestWndEx. Same pattern as UIQuestWnd: looks up string ID 0xd48 for title, checks UIManager ID 0x2718 for saved position, otherwise centers on screen. 0x00A58C70 145 UIQuestWndEx__init_worldmap_00a58c70 ui_windows Initializes the world map widget for UIQuestWndEx. Allocates 0xa4 bytes, constructs CWorldMap, adds as child at 0x4b x 0x91, initially hidden. Stores at +0x98. 0x00A58D10 225 UIQuestWndEx__load_worldmap_data_00a58d10 ui_windows Loads world map data for UIQuestWndEx. Same pattern as UIQuestWnd version: loads map from param_2 string via CWorldMap__LoadMapData, optionally sets display name from param_3, then shows the map widget at +0x98. 0x00A58E00 114 UIQuestWndEx__select_quest_entry_00a58e00 ui_windows Selects a quest entry by ID in UIQuestWndEx. Looks up quest in global map (DAT_0138cf40), sets name text, then calls FUN_00a58e80 to populate the detail view. 0x00A58E80 1085 UIQuestWndEx__populate_quest_detail_00a58e80 ui_windows Populates quest detail view for UIQuestWndEx. Clears tab entries, looks up quest by ID in global map, builds description from packet stream, iterates up to 3 tab objective sections (at +0xe0), sets each tab's text lines. Loads world map data if quest has a map, otherwise hides world map. 0x00A592C0 93 std__any_emplace_00a592c0 stl std::any emplace constructor. Sets vtable to PTR_FUN_01154878, stores value at [1], sets storage pointer at [9] to self (small object optimization). 0x00A59320 93 std__any_emplace_00a59320 stl std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable. 0x00A59380 93 std__any_emplace_00a59380 stl std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable. 0x00A593E0 93 std__any_emplace_00a593e0 stl std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable. 0x00A59440 93 std__any_emplace_00a59440 stl std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable. 0x00A594A0 93 std__any_emplace_00a594a0 stl std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable. 0x00A59500 93 std__any_emplace_00a59500 stl std::any emplace constructor variant. Same pattern as 00a592c0 with different vtable. 0x00A59560 34 memcpy_range_00a59560 stl Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past end of destination. 0x00A59590 34 memcpy_range_00a59590 stl Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past end of destination. Same pattern as 00a59560. 0x00A595C0 452 std__vector_int__emplace_grow_00a595c0 stl std::vector growth/emplace helper. Same pattern as 00a56690: reallocates with 1.5x growth, inserts element, copies existing data around insertion point. 0x00A59790 418 std__vector_int__resize_00a59790 stl std::vector resize. Allocates new buffer with 1.5x growth, zero-fills new elements, copies existing data, frees old buffer. Max capacity 0x3fffffff. 0x00A59970 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A59990 85 std__rotate_int_ptr_00a59990 stl std::rotate for int pointers. Rotates range [param_2, param_4) around pivot param_3. Uses FUN_00e614e1 for swapping sub-ranges. Returns iterator to new position of original first element. 0x00A599F0 444 UIDropdownList__ctor_00a599f0 ui_events Constructor for UIDropdownList. Calls base UIBase ctor, sets vtable to PTR_FUN_01154614. Initializes 4 sprite pointers (0x20-0x23), linked list at +0x24 (0x2c-byte nodes), string at +0x26, item list at +0x35, selection index at +0x37 to -1. Object size ~0x138. 0x00A59BB0 201 CListBoxDialogB__ctor_00a59bb0 game_core Constructor for CListBoxDialogB. Calls base UIBase ctor, sets vtable to PTR_CListBoxDialog. Initializes background color to 0xf7f7f7, alternate color to 0xc6c6c6, sets enabled flag and various zero fields. 0x00A59C80 393 UIDropdownList__dtor_00a59c80 ui_events Destructor for UIDropdownList. Destroys popup and dialog child objects, frees linked list nodes, clears item vector, destroys string, frees tree structure at +0x24, releases 4 sprite resources (0x20-0x23 via FUN_00af0be0), then calls base dtor. 0x00A59E10 33 std__any_reset_00a59e10 stl Resets/destroys a std::any object. If storage pointer at [9] is non-null, calls virtual destroy method at vtable+0x10, then sets [9] to null. 0x00A59E40 92 std__any_reset_seh_00a59e40 stl Resets/destroys a std::any object with SEH protection. Same as std__any_reset but wrapped in exception handler. 0x00A59EA0 129 std__vector_int__clear_and_free_00a59ea0 stl Clears and frees a std::vector. Frees the underlying buffer (handling aligned allocation), then zeros the begin/end/capacity pointers. 0x00A59F30 164 std__function_copy_construct_00a59f30 stl Copy constructor for std::function. Clones the callable from source (param_2+0x24) via virtual clone, then swaps into the destination via std__function_swap. 0x00A59FE0 40 xor_decrypt_stub_00a59fe0 security XOR decrypt stub. Decrypts 6-byte buffer with keys 0x79878559/0xe33f2ff7 if flag at +6 is set, then clears flag. 0x00A5A010 40 xor_decrypt_stub_00a5a010 security XOR decrypt stub. Decrypts 6-byte buffer with keys 0xeb61598f/0xc70319b5 if flag at +6 is set, then clears flag. 0x00A5A040 40 xor_decrypt_stub_00a5a040 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A070 40 xor_decrypt_stub_00a5a070 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A0A0 40 xor_decrypt_stub_00a5a0a0 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A0D0 40 xor_decrypt_stub_00a5a0d0 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A100 40 xor_decrypt_stub_00a5a100 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A130 40 xor_decrypt_stub_00a5a130 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A160 40 xor_decrypt_stub_00a5a160 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A190 40 xor_decrypt_stub_00a5a190 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A1C0 40 xor_decrypt_stub_00a5a1c0 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A1F0 40 xor_decrypt_stub_00a5a1f0 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A220 40 xor_decrypt_stub_00a5a220 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A250 40 xor_decrypt_stub_00a5a250 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A280 40 xor_decrypt_stub_00a5a280 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A2B0 40 xor_decrypt_stub_00a5a2b0 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A2E0 40 xor_decrypt_stub_00a5a2e0 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A310 40 xor_decrypt_stub_00a5a310 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A340 40 xor_decrypt_stub_00a5a340 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A370 40 xor_decrypt_stub_00a5a370 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A3A0 40 xor_decrypt_stub_00a5a3a0 security XOR decrypt stub. Decrypts 6-byte buffer if flag at +6 is set, then clears flag. 0x00A5A3D0 40 decrypt_xor_buffer_0x2f game_core Decrypts a 0x2F-byte XOR-encrypted buffer in place. Checks flag at offset +0x2F; if set, calls xor_decrypt_buffer with keys 0x9b1f95d7/0x0b874551, then clears the flag. Returns pointer to the buffer. 0x00A5A400 40 decrypt_xor_buffer_0x30 game_core Decrypts a 0x30-byte XOR-encrypted buffer in place. Checks flag at offset +0x30; if set, calls xor_decrypt_buffer with keys 0x15d1dbcf/0x136f2f99, then clears the flag. Returns pointer to the buffer. 0x00A5A430 40 decrypt_xor_buffer_0x30_00a5a430 game_core Decrypts a 0x30-byte XOR-encrypted buffer in place. Checks flag at offset +0x30; if set, calls xor_decrypt_buffer with keys 0x75573d41/0x674d9f39, then clears the flag. Returns pointer to the buffer. 0x00A5A460 40 decrypt_xor_buffer_0x30_00a5a460 game_core Decrypts a 0x30-byte XOR-encrypted buffer in place. Checks flag at offset +0x30; if set, calls xor_decrypt_buffer with keys 0x2bfdad51/0x6bdf334f, then clears the flag. Returns pointer to the buffer. 0x00A5A490 40 decrypt_xor_buffer_0x31 game_core Decrypts a 0x31-byte XOR-encrypted buffer in place. Checks flag at offset +0x31; if set, calls xor_decrypt_buffer with keys 0x21557d3d/0x659975c1, then clears the flag. Returns pointer to the buffer. 0x00A5A4C0 40 decrypt_xor_buffer_0x32 game_core Decrypts a 0x32-byte XOR-encrypted buffer in place. Checks flag at offset +0x32; if set, calls xor_decrypt_buffer with keys 0xa5755b7f/0x85e1f5a7, then clears the flag. Returns pointer to the buffer. 0x00A5A4F0 40 decrypt_xor_buffer_0x33 game_core Decrypts a 0x33-byte XOR-encrypted buffer in place. Checks flag at offset +0x33; if set, calls xor_decrypt_buffer with keys 0x9f93a527/0xad615301, then clears the flag. Returns pointer to the buffer. 0x00A5A520 40 decrypt_xor_buffer_0x34 game_core Decrypts a 0x34-byte XOR-encrypted buffer in place. Checks flag at offset +0x34; if set, calls xor_decrypt_buffer with keys 0xa1a77f59/0xbff5c517, then clears the flag. Returns pointer to the buffer. 0x00A5A550 204 tls_init_encrypted_string_00a5a550 security TLS static initializer for an encrypted string. Initializes encrypted bytes {0x0e, 0x18, 0x13, 0x8a, 0xaa, 0x01} in thread-local storage slot, registers atexit handler. Returns pointer to TLS data. Uses TSS guard pattern with bit flag at +0x97b4. 0x00A5A620 220 tls_init_encrypted_string_00a5a620 security TLS static initializer for a 0x30-byte encrypted string. Copies encrypted data from ROM to TLS slot at +0x97b8, registers atexit handler. 0x00A5A700 236 tls_init_encrypted_string_00a5a700 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern with bit flag check. 0x00A5A7F0 220 tls_init_encrypted_string_00a5a7f0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5A8D0 220 tls_init_encrypted_string_00a5a8d0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5A9B0 204 tls_init_encrypted_string_00a5a9b0 security TLS static initializer for a 6-byte encrypted string {0x46, 0x00, 0x91, 0xb0, 0x42, 0xbd}. TLS offset +0x9894. 0x00A5AA80 236 tls_init_encrypted_string_00a5aa80 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5AB70 222 tls_init_encrypted_string_00a5ab70 security TLS static initializer for a 0x2c-byte encrypted string. TLS offset +0x98d4. 0x00A5AC50 236 tls_init_encrypted_string_00a5ac50 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5AD40 236 tls_init_encrypted_string_00a5ad40 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5AE30 204 tls_init_encrypted_string_00a5ae30 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5AF00 236 tls_init_encrypted_string_00a5af00 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5AFF0 236 tls_init_encrypted_string_00a5aff0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B0E0 236 tls_init_encrypted_string_00a5b0e0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B1D0 236 tls_init_encrypted_string_00a5b1d0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B2C0 204 tls_init_encrypted_string_00a5b2c0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B390 236 tls_init_encrypted_string_00a5b390 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B480 236 tls_init_encrypted_string_00a5b480 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B570 236 tls_init_encrypted_string_00a5b570 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B660 236 tls_init_encrypted_string_00a5b660 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B750 204 tls_init_encrypted_string_00a5b750 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B820 236 tls_init_encrypted_string_00a5b820 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B910 222 tls_init_encrypted_string_00a5b910 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5B9F0 236 tls_init_encrypted_string_00a5b9f0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5BAE0 236 tls_init_encrypted_string_00a5bae0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5BBD0 222 tls_init_encrypted_string_00a5bbd0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5BCB0 220 tls_init_encrypted_string_00a5bcb0 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5BD90 220 tls_init_encrypted_string_00a5bd90 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5BE70 220 tls_init_encrypted_string_00a5be70 security TLS static initializer for an encrypted string buffer. Uses TSS guard pattern. 0x00A5BF50 38 UIDropdownList__scalar_deleting_dtor_00a5bf50 ui_events Scalar deleting destructor for UIDropdownList. Calls dtor, frees 0x138 bytes if param_2 & 1. 0x00A5BF80 353 UIDropdownList__create_tab_control_00a5bf80 ui_events Creates a UITabControl for the dropdown list. Allocates 0x110 bytes, constructs via UITabControl__ctor, sets size from +0xb4/+0xb8, configures button textures from +0x80-0x8c, registers two callback functors (PTR_FUN_01154958, PTR_FUN_01154974), adds as child. 0x00A5C0F0 115 UIDropdownList__create_textbox_00a5c0f0 ui_events Factory: allocates 0x128 bytes, constructs UITextBox via UITextBox__ctor_00a65af0. Returns null if allocation fails. 0x00A5C170 85 UIDropdownList__clear_items_00a5c170 ui_events Clears all items from the dropdown list. Iterates the item vector at +0xc8, calls CEffect__remove_child_from_list on each to destroy, resets end pointer to begin, sets selected index at +0xdc to -1. 0x00A5C1D0 36 UIDropdownList__set_sizes_00a5c1d0 ui_events Sets dropdown list dimensions. Stores param_4/param_5 (tab button width/height) at +0xb4/+0xb8, then calls CEffect__set_size_and_reload with param_2/param_3 to set the base control size. 0x00A5C200 100 UIDropdownList__reset_layout_00a5c200 ui_events Resets dropdown list window layout. Sets flags, close button visible, resizes to 0x17d x 0x1d2, centers on screen based on global screen dimensions, then auto-sizes. 0x00A5C270 189 UIDropdownList__add_tab_page_00a5c270 ui_events Adds a new tab page to the dropdown list. Allocates 0x88 bytes, constructs UITabPage (00a65a70), sizes to 0x157 x 0x18a, adds as child, pushes to tab page vector at +0xf0. 0x00A5C330 69 UIDropdownList__get_selected_item_00a5c330 ui_events Gets the currently selected item from the dropdown list. Traverses linked list at +0xd4 by index (+0xdc). Returns item data pointer in param_2[0] with success flag in param_2[1]. Returns false if index is -1 or out of range. 0x00A5C380 525 UIDropdownList__init_interface_dialog_00a5c380 ui_events Initializes the interface dialog child for the dropdown list. Allocates 0xf0 bytes, constructs UIInterfaceDialog with default settings (page counts, visibility flags), registers a callback functor (PTR_FUN_0115493c) via std::any swap, adds as child at +0xb0. 0x00A5C590 4794 UIDropdownList__init_controls_00a5c590 ui_events Initializes all child controls for the dropdown list UI. Large init function (4794 bytes) that creates buttons, text labels, scrollbars, and tab pages. 0x00A5D850 4205 UIDropdownList__init_child_dropdown ui_events Initializes a child UIDropdownList control at member offset +0x80. Creates the dropdown, sets dimensions (0x14a x 0x2e tab size, 0x157 x 0x18a overall), registers selection/tab change callback functors, configures 3 string map entries for tab labels, sets up scrollbar button/thumb/background textures from encrypted TLS strings, then calls rebuild_tab_controls and adds as child. 0x00A5E8C0 20424 UIDropdownList__render_00a5e8c0 ui_events UIDropdownList: render 00a5e8c0 0x00A638A0 63 UIDropdownList__on_tab_changed_00a638a0 ui_events Handles tab change event for dropdown list. If interface dialog (+0xb0) is not locked and current page < total pages, calls virtual navigate method. Otherwise delegates to parent control's navigate. 0x00A638E0 65 UIDropdownList__set_item_selected_00a638e0 ui_events Sets selection state on dropdown items. Iterates all items in vector at +0xc8, calls virtual method at vtable+0xdc on each, passing true if the item matches param_2, false otherwise. 0x00A63930 603 UIDropdownList__rebuild_tab_controls_00a63930 ui_events Rebuilds all tab controls for the dropdown list based on current item height and visible area. Destroys existing tab controls, calculates how many fit (height/item_height + 1), creates new UITabControl instances with button textures and callbacks, then sets scrollbar range. 0x00A63B90 111 UITreeCtrl__clone_wrapper ui_events Wrapper for cloning a UITreeCtrl. Calls UITreeCtrl__clone_from_source_B to perform the clone, then conditionally destroys the source object via virtual function at vtable+0x10 if a separate copy was made. 0x00A63C00 196 UITreeCtrl__swap_delegate ui_events Swaps the delegate/callback associated with a UITreeCtrl. If the source object exists, clones it into a local buffer. Calls delegate_swap_inner_objects to swap the callback at offset +0x88. Destroys both temporary and source objects if they were separately allocated. 0x00A63CD0 522 UITreeCtrl__load_state_textures ui_events Loads texture resources for a UITreeCtrl's different states (normal, hover, pressed, disabled). Uses std::map subscript to get texture names for indices 0-3 and the label texture at +0x98. For each texture, calls UIControl__load_texture_resource, increments ref count, swaps old texture pointer, and releases old one. Finally iterates visible child items and applies the textures via UIButton__set_state_textures_direct. 0x00A63EE0 115 UIDropdownList__resize_and_update_scroll_00a63ee0 ui_events Resizes the dropdown list and updates the scrollbar. Calls FUN_00a82eb0 to set control size, rebuilds tab controls, repositions the interface dialog child, then recalculates scrollbar max/visible range/value and marks dirty. 0x00A63F60 498 UIDropdownList__update_visible_items_00a63f60 ui_events Updates which items are visible in the dropdown list based on scroll position (param_2). Rotates the tab control pool to reuse controls, binds visible items to their data via the item formatter callback (+0x134), highlights the selected item, positions controls, and hides out-of-view controls. 0x00A64160 218 UIDropdownList__on_item_clicked_00a64160 ui_events Handles item click in the dropdown list. If not locked (+0xc4), deselects all other items, selects the clicked one. If selection changed or double-click mode disabled, stores new selection index at +0xdc, looks up the item data in the linked list, and calls the selection callback (+0x10c). 0x00A64240 216 UIDropdownList__set_button_textures_00a64240 ui_events Sets button textures for the dropdown list. Assigns 3 texture strings to map slots 0/1/2 via subscript, copies a label string to +0x26 member, then calls virtual refresh and show methods. 0x00A64320 22 callback_functor_init_00a64320 stl Initializes a callback functor. Sets vtable to PTR_FUN_0115477c and copies owner pointer from this+4. 0x00A64340 22 callback_functor_init_00a64340 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64360 22 callback_functor_init_00a64360 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64380 22 callback_functor_init_00a64380 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A643A0 22 callback_functor_init_00a643a0 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A643C0 22 callback_functor_init_00a643c0 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A643E0 22 callback_functor_init_00a643e0 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64400 22 callback_functor_init_00a64400 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64420 22 callback_functor_init_00a64420 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64440 22 callback_functor_init_00a64440 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64460 22 callback_functor_init_00a64460 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64480 22 callback_functor_init_00a64480 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A644A0 22 callback_functor_init_00a644a0 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A644C0 22 callback_functor_init_00a644c0 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A644E0 22 callback_functor_init_00a644e0 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64500 22 callback_functor_init_00a64500 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64520 22 callback_functor_init_00a64520 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64540 22 callback_functor_init_00a64540 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64560 22 callback_functor_init_00a64560 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64580 22 callback_functor_init_00a64580 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A645A0 22 callback_functor_init_00a645a0 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A645C0 22 callback_functor_init_00a645c0 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A645E0 22 callback_functor_init_00a645e0 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64600 22 callback_functor_init_00a64600 stl Initializes a callback functor. Sets vtable and copies owner pointer. 0x00A64620 68 callback_functor_scalar_deleting_dtor_00a64620 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A64670 68 callback_functor_scalar_deleting_dtor_00a64670 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A646C0 68 callback_functor_scalar_deleting_dtor_00a646c0 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A64710 68 callback_functor_scalar_deleting_dtor_00a64710 stl Scalar deleting destructor for a callback functor. Calls destructor and optionally frees memory. 0x00A64760 68 callback_functor_scalar_deleting_dtor_00a64760 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A647B0 68 callback_functor_scalar_deleting_dtor_00a647b0 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A64800 68 callback_functor_scalar_deleting_dtor_00a64800 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A64850 68 callback_functor_scalar_deleting_dtor_00a64850 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A648A0 68 callback_functor_scalar_deleting_dtor_00a648a0 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A648F0 68 callback_functor_scalar_deleting_dtor_00a648f0 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A64940 68 callback_functor_scalar_deleting_dtor_00a64940 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A64990 68 callback_functor_scalar_deleting_dtor_00a64990 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A649E0 68 callback_functor_scalar_deleting_dtor_00a649e0 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A64A30 68 callback_functor_scalar_deleting_dtor_00a64a30 stl Scalar deleting destructor for 8-byte callback functor. Frees if param_2 != 0. 0x00A64A80 68 scalar_deleting_dtor_00a64a80 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64AD0 68 scalar_deleting_dtor_00a64ad0 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64B20 68 scalar_deleting_dtor_00a64b20 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64B70 68 scalar_deleting_dtor_00a64b70 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64BC0 68 scalar_deleting_dtor_00a64bc0 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64C10 68 scalar_deleting_dtor_00a64c10 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64C60 68 scalar_deleting_dtor_00a64c60 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64CB0 68 scalar_deleting_dtor_00a64cb0 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64D00 68 scalar_deleting_dtor_00a64d00 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64D50 68 scalar_deleting_dtor_00a64d50 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A64DA0 20 wrapper_call_null_stub_00a64da0 game_core Wrapper that dereferences param_1 and calls null_stub_00a67fa0 with the value. 0x00A64DE0 65 UITabControl__notify_tab_selection ui_events Iterates through all tab children (vtable offsets 0xC8-0xCC), calling virtual method at vtable+0xDC with a bool indicating whether each tab matches the selected one from param_2. 0x00A64E30 20 UIQuestWnd__dropdown_update_callback ui_windows UIQuestWnd callback wrapper: dereferences param and forwards to UIDropdownList__update_visible_items. 0x00A64E50 23 UIQuestWnd__quest_double_click_callback ui_windows UIQuestWnd callback wrapper: dereferences param and forwards to UIQuestWnd__on_quest_double_click with selection data. 0x00A64E80 216 UITabControl__on_tab_selected ui_events Tab selection handler. Deselects all tabs via vtable+0xD8, selects the clicked one, then uses RTDynamicCast to get extended tab info. If valid, looks up linked list node by tab index and invokes callback at offset 0x10C with the node data. 0x00A64F60 23 UIQuestWnd__populate_detail_callback ui_windows UIQuestWnd callback wrapper: dereferences param and forwards to UIQuestWnd__populate_quest_detail with quest data. 0x00A64F90 21 UIQuestWnd__toggle_complete_callback ui_windows UIQuestWnd callback wrapper: forwards to UIQuestWnd__toggle_show_complete to toggle display of completed quests. 0x00A64FB0 21 UIQuestWnd__toggle_expanded_view_callback ui_windows UIQuestWnd callback wrapper: forwards to UIQuestWnd__toggle_quest_expanded_view to toggle the expanded/collapsed quest detail view. 0x00A64FE0 20 UIQuestWnd__packet_update_callback ui_windows UIQuestWnd callback wrapper: dereferences param and forwards to UIQuestWnd__on_packet_update for server packet handling. 0x00A65090 21 UIQuestWnd__send_action_callback ui_windows UIQuestWnd callback wrapper: forwards to UIQuestWnd__send_quest_action to send quest action to server. 0x00A65230 3 identity_passthrough_00a65230 crt Identity function that returns its parameter unchanged 0x00A65240 22 init_delegate_00a65240 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65260 22 init_delegate_00a65260 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65280 22 init_delegate_00a65280 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A652A0 22 init_delegate_00a652a0 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A652C0 22 init_delegate_00a652c0 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A652E0 22 init_delegate_00a652e0 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65300 22 init_delegate_00a65300 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65320 22 init_delegate_00a65320 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65340 22 init_delegate_00a65340 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65360 22 init_delegate_00a65360 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65380 22 init_delegate_00a65380 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A653A0 22 init_delegate_00a653a0 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A653C0 22 init_delegate_00a653c0 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A653E0 22 init_delegate_00a653e0 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65400 22 init_delegate_00a65400 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65420 22 init_delegate_00a65420 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65440 22 init_delegate_00a65440 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65460 22 init_delegate_00a65460 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65480 22 init_delegate_00a65480 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A654A0 22 init_delegate_00a654a0 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A654C0 22 init_delegate_00a654c0 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A654E0 22 init_delegate_00a654e0 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65500 22 init_delegate_00a65500 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65520 22 init_delegate_00a65520 game_core Initializes a delegate/functor: sets vtable pointer and captures context from this+4. 0x00A65540 341 std__function_swap_00a65540 stl Swaps two std::function objects. Uses small-buffer optimization: if both have external storage, swaps pointers directly. Otherwise, uses copy-construct + destroy pattern via vtable methods (clone at vtable+4, destroy at vtable+0x10). 0x00A65820 10 thunk_to_std__Xlength_error_00a65820 stl Forwards to std::_Xlength_error with vector_too_long error message 0x00A65830 10 thunk_to_std__Xlength_error_00a65830 stl Calls std::_Xlength_error with vector_too_long error message 0x00A65840 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A65880 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A658C0 155 format_string_fixed_notation_00a658c0 game_core Formats a string using fixed-point notation. Extracts the string buffer (handles SSO), sets up format options (0xC0000000 flags), then calls charconv__format_fixed_notation. 0x00A65960 75 compute_log2_wrapper_00a65960 game_core Wrapper that calls log2() on an integer parameter. Sets up SEH frame around the call. 0x00A659B0 181 UITabControl__ctor_00a659b0 ui_events Constructor for a UI tab control class. Calls parent constructor FUN_009efc30, sets vtable, then initializes member fields: zero-initializes offsets 0x3A-0x3D, sets 0x3E and 0x3F defaults (enable flags), clears remaining state. 0x00A65A70 123 UITabPage__ctor_00a65a70 ui_events Constructor for a UITabPage. Calls FUN_00a79a90 (UIBase-derived ctor), sets intermediate vtable, sets visibility flag at +0x1F to true, then sets final vtable and initializes page-specific fields (offset 0x20=0, 0x21=1). 0x00A65AF0 373 UITextBox__ctor_00a65af0 game_core Constructor for a UITextBox control. Calls UIWindowBase__ctor, sets vtable, initializes text colors (0xFFFFFF foreground, 0xCECECE secondary), alignment=3, enabled=1, zero-initializes text buffer fields. Includes embedded SSO string at offset 0x44 (capacity 0xF). 0x00A65C70 129 STL_vector_ptr__clear_and_free_00a65c70 stl Clears and frees a std::vector of pointers. Same pattern as STL_vector_ptr__clear_and_free: frees buffer, zeroes begin/end/capacity. Duplicate at different address for UITabControl context. 0x00A65D00 71 UITabControl__dtor ui_events Destructor for UITabControl. Sets vtable to UITabControl__scalar_deleting_dtor, then calls UIControlBase__dtor to destroy the base class. 0x00A65D50 84 UITabPage__dtor ui_events Destructor for UITabPage. Sets vtable to UITabPage then UIBase, then calls CEffect__dtor to destroy the base class. 0x00A65DB0 144 UITextBox__dtor_00a65db0 game_core Destructor for UITextBox. Sets vtable, destroys child windows (0x271A, 0x2719), destroys embedded string, cleans up text box state, and calls parent destructor. 0x00A65E40 99 UITabControl__scalar_deleting_dtor_00a65e40 ui_events Scalar deleting destructor for UITabControl (size 0x110). Sets vtable, calls parent dtor FUN_009da310, conditionally frees memory. 0x00A65EB0 112 UITabPage__scalar_deleting_dtor_00a65eb0 ui_events Scalar deleting destructor for UITabPage (size 0x88). Sets intermediate and base vtable, calls FUN_00a79e90 parent dtor, conditionally frees memory. 0x00A65F20 168 UITextBox__scalar_deleting_dtor_00a65f20 game_core Scalar deleting destructor for UITextBox (size 0x128). Runs destructor logic (destroy child windows, string, state), then conditionally frees memory. 0x00A65FD0 262 UIQuestList__add_entry_00a65fd0 game_core Adds an entry to the quest list (doubly-linked list at offset 0xD4). Allocates a 12-byte node, inserts at end. If param_3 is true, recalculates scroll bounds and marks dirty. Returns new index. Throws std::length_error if list is full (0x15555555). 0x00A66140 150 UIQuestWnd__send_quest_action_00a66140 ui_windows Sends a quest action. If quest type (offset 0xFC) is 2, calls CPacketSystem method and conditionally refreshes quest list. Otherwise, constructs packet 0x2B6 and sends it via the packet system. 0x00A661F0 57 UIQuestWnd__toggle_show_complete_00a661f0 ui_windows Toggles the "show completed quests" setting. Calls FUN_00a83300 with type 6, subtype 0xD5, and the toggle flag. Then notifies the quest window (ID 0xCC) via virtual method at vtable+0x38. 0x00A66230 66 UIQuestWnd__submit_search_text_00a66230 ui_windows Gets the search text from the editable text widget, measures its length (strlen), updates the text display, then refreshes the quest list via FUN_00a67290 with flag 0xF (all categories). 0x00A66280 67 UIQuestWnd__toggle_quest_expanded_view ui_windows Toggles the expanded/simple view state for an ongoing quest. Calls CQuestMgr__set_ongoing_quest_expanded_flag with the current quest ID and the toggle parameter, saves the simple view list, then notifies the quest window (ID 0xCC) via vtable+0x98 to refresh display. 0x00A662D0 160 UIQuestList__clear_all_entries_00a662d0 game_core Clears all entries from the quest list. Walks doubly-linked list at offset 0xD4, frees each 12-byte node, resets head/tail pointers, sets count to 0 and selected index to -1. Recalculates scroll bounds and marks dirty. 0x00A66370 66 UIQuestWnd__submit_search_text_b_00a66370 ui_windows Alternate search text submission handler. Gets display text, measures length, updates display, refreshes quest list with flag 0xF. 0x00A663C0 67 UIQuestWnd__find_quest_tab_by_id_00a663c0 ui_windows Searches the tab array (offset 0xF0..0xF4) for a tab whose ID at +0x84 matches param_2. Returns the value at +0x80 of the matching tab, or 0 if not found. 0x00A66410 163 UIQuestWnd__filter_quest_entry_00a66410 ui_windows Filters a quest entry against the current search criteria. Checks name via CPacketSystem method. If a text filter (offset 0x110) is active, searches both the quest display name and internal name via CFmt string find. Returns 1 if entry passes filter, 0 otherwise. 0x00A664C0 251 UIQuestWnd__on_quest_double_click_00a664c0 ui_windows Handles double-click on a quest entry. Selects the quest, performs RTDynamicCast to get appropriate window type (differs for type 2 vs other), and notifies the detail window to display quest info. Destroys the child window after action. 0x00A665C0 1559 UIQuestWnd__populate_quest_detail_00a665c0 ui_windows Populates quest detail view when a quest is selected. Stores quest type and ID, looks up quest data in the global quest map via _Find_lower_bound, formats reward text (fixed notation), sets quest description, title, objectives, and updates tab visibility and button state. Handles both type 2 (completed) and normal quest display paths. 0x00A66BE0 40 UIQuestWnd__set_quest_filter_context ui_windows Sets the quest filter context for the quest window. Calls a position/state setter, then stores param_3 at offset 0x10C (quest filter category) and param_2 at offset 0x108 (quest list reference). These values are used by other quest window methods to filter and display quests. 0x00A66C70 274 UIQuestWnd__set_button_text_00a66c70 ui_windows Loads a string resource (ID 0xD51) and assigns it to the button text at offset 0xF4+0x88. Handles SSO string buffer management. 0x00A66DA0 411 UIQuestWnd__init_quest_window_00a66da0 ui_windows Initializes the quest window. Destroys old window (0x2718), destroys window 0x8F, loads window title (string 0xD48), loads subtitle (string 0x7E3), checks if show-complete flag is set, assigns category bitmask to tab items (powers of 2), refreshes quest list with flag 0xF, and populates quest names from linked list via CPacketManager. 0x00A66F40 60 UIQuestBtn__on_mouse_down_00a66f40 game_core Mouse down handler for quest button. Calls UIButton__on_click, sets pressed flag (+0x41=1), updates scroll position (offset+1), and calls virtual redraw at vtable+0x98. 0x00A66F80 58 UIQuestBtn__on_mouse_up_00a66f80 game_core Mouse up handler for quest button. Calls UIButton__on_release_check_focus, clears pressed flag (+0x41=0), restores scroll position, and calls virtual redraw at vtable+0x98. 0x00A66FC0 38 UIQuestBtn__on_mouse_leave_00a66fc0 game_core Mouse leave handler for quest button. Clears pressed flag, restores scroll position, and calls virtual redraw. 0x00A66FF0 403 UIQuestWnd__find_and_select_quest_00a66ff0 ui_windows Finds a quest by ID (param_2) in the quest list. Iterates tab entries, searches linked list for matching quest ID. If found, scrolls to the entry and selects it. If not found, formats a "Not found Quest Info" error message and displays it in a message box. 0x00A67190 241 UIQuestWnd__on_quest_double_click_b_00a67190 ui_windows Alternate quest double-click handler. Same logic as on_quest_double_click: selects quest, dynamic casts to get detail window, and notifies. Differs slightly in context handling. 0x00A67290 2576 UIQuestWnd__refresh_quest_lists_00a67290 ui_windows Refreshes quest lists by category bitmask (param_2). Bit 1=active, 2=completed, 4=special type A, 8=special type B. For each category: clears the list, iterates the global quest map, filters entries via UIQuestWnd__filter_quest_entry, and adds matching quests. Recalculates scroll bounds and restores scroll position afterward. 0x00A67CA0 50 UIQuestWnd__set_active_color_00a67ca0 ui_windows Sets the active/inactive color for a quest element. Active=0xE47B2E (orange), inactive=0x955322 (dark brown). Calls FUN_009f0da0 to set color and FUN_009f0290 to set state. 0x00A67CE0 89 UIQuestList__scroll_to_and_select_00a67ce0 game_core Scrolls the quest list to the given index and selects it. Calculates scroll position from entry height (offset 0xB8) times index, then searches child items for one with matching index at +0x94. If found, calls FUN_00a64160 to visually select it. Returns 1 if found, 0 otherwise. 0x00A67D40 208 UIQuestWnd__on_button_action_00a67d40 ui_windows Handles button actions in quest window. Action type 6 subtype 0xD5: toggle show-complete checkbox and notify quest window. Action type 0x16: calls log2 and scroll update. Delegates to UIWindow__handle_button_click for other actions. 0x00A67E10 36 UIQuestWnd__on_quest_category_update ui_windows Handles a quest category update from packet data. If param_2 is non-null, reads the category/filter ID from offset 0x2C and stores it at offset 0x10C, then refreshes all quest lists to reflect the updated category. 0x00A67FA0 3 null_stub_00a67fa0 crt Empty function stub with no implementation, just returns immediately 0x00A67FC0 34 memcpy_range_00a67fc0 stl Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the end of copied data. 0x00A67FF0 34 memcpy_range_00a67ff0 stl Copies a memory range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the end of copied data. 0x00A68020 418 std__vector_reallocate_00a68020 stl std::vector reallocation with growth factor 1.5x. Allocates new buffer, zero-fills new elements, copies old data, frees old buffer. Throws length_error if param_2 > 0x3FFFFFFF. 0x00A681D0 418 std__vector_reallocate_00a681d0 stl std::vector reallocation with growth factor 1.5x. Allocates new buffer, zero-fills new elements, copies old data, frees old buffer. Throws length_error if param_2 > 0x3FFFFFFF. 0x00A683E0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A68400 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A68420 85 std__rotate_int_ptr_00a68420 stl Rotates elements in a range of int pointers. Handles trivial cases (first==mid, mid==last), otherwise performs 3 reverse operations to rotate. Returns pointer to new position of first element. 0x00A68480 85 std__rotate_int_ptr_00a68480 stl Rotates elements in a range of int pointers. Same as 00a68420 but different instantiation. 0x00A684E0 447 UIListBoxA__ctor_00a684e0 ui_events Constructor for a UI list box class (variant A). Calls UIBase-derived ctor, allocates sentinel node (0x2C bytes) for doubly-linked list, allocates hash table node (0x100 bytes), initializes embedded SSO string, zero-initializes member fields, sets selected index to -1. 0x00A686A0 444 UIListBoxB__ctor_00a686a0 ui_events Constructor for a UI list box class (variant B). Same pattern as UIListBoxA but with different vtable and smaller hash node (0x28 bytes). 0x00A68860 348 UIListBoxA__dtor_00a68860 ui_events Destructor for UIListBoxA. Sets vtable, destroys functors at offsets 0x4D and 0x43, destroys hash table, destroys list data, destroys SSO string, cleans up doubly-linked list sentinel, frees sprite pointers (offsets 0x20-0x23), then calls parent dtor. 0x00A689C0 348 UIListBoxB__dtor_00a689c0 ui_events Destructor for UIListBoxB. Same pattern as UIListBoxA dtor but with different vtable and different sub-destructors (FUN_00a68c40, FUN_00a68d60). 0x00A68B20 33 std__function_destroy_00a68b20 stl Destroys a std::function object stored at this+9. Calls the destroy method (vtable+0x10), passing whether storage is external. Nulls the pointer. 0x00A68B50 33 std__function_destroy_00a68b50 stl Destroys a std::function object stored at this+9. Same pattern as 00a68b20. 0x00A68B80 92 std__function_destroy_seh_00a68b80 stl Destroys a std::function with SEH frame. Same logic as std__function_destroy but wrapped in SEH. 0x00A68BE0 92 std__function_destroy_seh_00a68be0 stl Destroys a std::function with SEH frame. Same logic as std__function_destroy but wrapped in SEH. 0x00A68C40 134 UIListBoxB__destroy_linked_list_00a68c40 ui_events Destroys UIListBoxB's doubly-linked list. Walks forward chain, destroys string in each 0x28-byte node, frees node, then frees sentinel. 0x00A68CD0 129 std__vector_free_buffer_00a68cd0 stl Frees the std::vector internal buffer. Handles aligned allocation (>0xFFF) by looking up original pointer. Sets all three vector pointers (begin/end/capacity) to 0. 0x00A68D60 129 std__vector_free_buffer_00a68d60 stl Frees the std::vector internal buffer. Same as 00a68cd0 - different instantiation. 0x00A68DF0 71 UIListBoxScrollbar__dtor_00a68df0 ui_events Destructor for a list box scrollbar. Sets vtable, then calls FUN_009f7f70 (scrollbar base dtor). 0x00A68E40 164 UIListBoxA__copy_functor_00a68e40 ui_events Copies a functor from another UIListBoxA. If source has functor at offset 0x24, clones it via vtable method. Then calls FUN_00a6ef40 to complete copy. Cleans up temp functor storage. 0x00A68EF0 164 UIListBoxB__copy_functor_00a68ef0 ui_events Copies a functor from another UIListBoxB. Same pattern as UIListBoxA__copy_functor but calls FUN_00a6f0a0. 0x00A68FA0 38 UIListBoxA__scalar_deleting_dtor_00a68fa0 ui_events Scalar deleting destructor for UIListBoxA (size 0x138). Calls UIListBoxA__dtor, conditionally frees memory. 0x00A68FD0 38 UIListBoxB__scalar_deleting_dtor_00a68fd0 ui_events Scalar deleting destructor for UIListBoxB (size 0x138). Calls UIListBoxB__dtor, conditionally frees memory. 0x00A69000 99 UIListView__scalar_deleting_dtor game_core Scalar deleting destructor for UIListView. Sets vtable, calls FUN_009f7f70 to destroy base, and conditionally frees the 0x1D8-byte object if param_2 bit 0 is set. 0x00A69070 353 UIListView__create_item_button game_core Creates a button item for a UIListView. Allocates 0xF8-byte object via FUN_00a6f3f0, sets size from stored dimensions (+0xB4/+0xB8), hides it initially, applies state textures from the parent's normal/hover/pressed/disabled pointers (+0x80-0x8C). Sets up two delegate callbacks and adds the button as a child control. 0x00A691E0 353 UIListBox__create_item_widget_00a691e0 ui_events Creates a UI widget for a list box item. Allocates 0xF0 bytes, calls FUN_00a6f580 to initialize, sets position and button textures from source, registers two delegate callbacks via UIComponent__create_from_stream, and finishes setup via FUN_00a7a080. 0x00A69350 115 UIListBox__create_item_widget_b_00a69350 ui_events Creates a UI list box item widget (variant B). Allocates 0xF4 bytes, calls FUN_00a6f470 to construct. Returns pointer or 0 on failure. 0x00A693D0 85 UIListBox__clear_child_items_00a693d0 ui_events Clears all child items from the list box. Iterates child pointer array (0xC8..0xCC), calls FUN_00a82e50 to destroy each child with flag 1, resets end pointer to begin, and sets selected index to -1. 0x00A69430 85 UIListBox__clear_child_items_00a69430 ui_events Clears all child items from the list box. Same as 00a693d0 - different instantiation. 0x00A69490 36 UIListBox__set_item_dimensions_00a69490 ui_events Sets list box item dimensions. Stores param_4 and param_5 at offsets 0xB4 and 0xB8, then calls FUN_00a7b470 with param_2 and param_3. 0x00A694C0 36 UIListBox__set_item_dimensions_00a694c0 ui_events Sets list box item dimensions. Same as 00a69490 - different instantiation. 0x00A694F0 85 UITextBox__reset_layout_00a694f0 game_core Resets the text box layout. Clears flags at offset 0x2D, sets size to 387x283, position to 0,0, applies original size, invalidates, clears all skin colors, sets alignment mode to 3. 0x00A69550 69 UIListBox__get_selected_data_00a69550 ui_events Gets data for the currently selected list entry. Walks the linked list to the selected index (offset 0xDC), returns pointer to node data (+2) with success flag. Returns failure flag if index is invalid. 0x00A695A0 69 UIListBox__get_selected_data_00a695a0 ui_events Gets data for the currently selected list entry. Same as 00a69550 - different instantiation. 0x00A695F0 193 UIListBox__create_scrollbar_00a695f0 ui_events Creates the scrollbar for the list box. Allocates 0xF0 bytes, constructs a scrollbar widget via FUN_009be480, stores at offset 0xB0, hides it initially, registers a scroll callback delegate, then finishes setup via FUN_00a7a080. 0x00A696C0 193 UIListBox__create_scrollbar_b_00a696c0 ui_events Creates the scrollbar for the list box (variant B). Same pattern as 00a695f0 but with different delegate vtable. 0x00A69790 1565 UIListBox__create_child_widgets_00a69790 ui_events Creates child widgets for the list box: string dialog (0xB8 bytes with SSO strings), item slot (0x1D8 bytes with CItemInfoMgr), and text label (0xFC bytes). Configures text label with XOR-decrypted font name, line spacing, colors, and outline settings. Each widget is registered via FUN_00a7a080. 0x00A69DB0 12328 UIListBox__handle_input_event_00a69db0 ui_events Large input event handler for UIListBox (12328 bytes). Handles mouse/keyboard input for list selection, scrolling, and interaction. SKIPPED detailed analysis due to size. 0x00A6CDE0 636 UIListBox__create_text_label_00a6cde0 ui_events Creates a text label widget (0xFC bytes) for the list box at offset 0xE8. Sets size 148x34, position 11,0, truncate off, XOR-decrypted font name, line spacing 12, bold off, color 0, no outline/shadow. Finishes via FUN_00a7a080. 0x00A6D080 63 UIListBox__scroll_page_down_00a6d080 ui_events Scrolls the list box down by one page. Checks if scrollbar is enabled and has room to scroll. Calls virtual method at vtable+0x8C on scrollbar or parent. 0x00A6D0C0 63 UIListBox__scroll_page_down_00a6d0c0 ui_events Scrolls the list box down by one page. Same as 00a6d080 - different instantiation. 0x00A6D100 65 UIListBox__notify_selection_changed_00a6d100 ui_events Notifies all child items of a selection change. Iterates items (0xC8..0xCC), calls virtual method at vtable+0xDC on each with bool indicating if it matches the selected item. 0x00A6D150 65 UIListBox__notify_selection_changed_00a6d150 ui_events Notifies all child items of a selection change. Same as 00a6d100 - different instantiation. 0x00A6D1A0 603 UIListBoxA__rebuild_child_items_00a6d1a0 ui_events Rebuilds all child item widgets for UIListBoxA. Destroys existing children, calculates how many fit (height/itemHeight+1), allocates/creates new item widgets (0xF8 bytes each) with button textures and delegate callbacks, then updates scrollbar max value. 0x00A6D400 603 UIListBoxB__rebuild_child_items_00a6d400 ui_events Rebuilds all child item widgets for UIListBoxB. Same as UIListBoxA but creates 0xF0-byte items via FUN_00a6f580. 0x00A6D660 522 UIListBox__load_button_textures_00a6d660 ui_events Loads button state textures from a resource map. Loads 4 states (normal, hover, pressed, disabled) from map indices 0-2 plus one direct path. Each old texture is released via FUN_00af0be0. Updates all existing child items with the new textures. 0x00A6D870 522 UIListBox__load_button_textures_b_00a6d870 ui_events Loads button state textures (variant B). Same as 00a6d660. 0x00A6DA80 115 UIListBoxA__on_resize_00a6da80 ui_events Handles resize for UIListBoxA. Calls FUN_00a82eb0 to resize base, rebuilds child items, updates scrollbar range and position, marks dirty. 0x00A6DB00 115 UIListBoxB__on_resize_00a6db00 ui_events Handles resize for UIListBoxB. Same as UIListBoxA__on_resize but rebuilds B-type items. 0x00A6DB80 498 UIListBoxA__update_visible_items_00a6db80 ui_events Updates visible items after scroll. Calculates first visible index from scroll position, rotates the child item array to reuse widgets, then iterates visible items: sets data index, calls update callback, applies selection state, positions item, shows it. Hides items past the visible range. 0x00A6DD80 498 UIListBoxB__update_visible_items_00a6dd80 ui_events Updates visible items after scroll for UIListBoxB. Same logic as UIListBoxA variant. 0x00A6DF80 218 UIListBoxA__on_item_clicked_00a6df80 ui_events Handles click on a list item. Deselects all other items, selects clicked one. Uses RTDynamicCast to get extended item info, stores selected index, and calls selection callback at offset 0x10C with the linked list data for the selected entry. 0x00A6E060 218 UIListBoxB__on_item_clicked_00a6e060 ui_events Handles click on a list item for UIListBoxB. Same as UIListBoxA variant but different dynamic cast target. 0x00A6E140 216 UIListBox__set_texture_names_00a6e140 ui_events Sets texture names for the list box button states. Stores 4 string params (normal, hover, pressed, disabled) into map indices 0-2 plus the direct path. Calls virtual method to load textures and redraw. 0x00A6E220 216 UIListBox__set_texture_names_00a6e220 ui_events Sets texture names for the list box (variant B). Same as 00a6e140. 0x00A6E300 22 init_delegate_00a6e300 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E320 22 init_delegate_00a6e320 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E340 22 init_delegate_00a6e340 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E360 22 init_delegate_00a6e360 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E380 22 init_delegate_00a6e380 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E3A0 22 init_delegate_00a6e3a0 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E3C0 22 init_delegate_00a6e3c0 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E3E0 22 init_delegate_00a6e3e0 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E400 22 init_delegate_00a6e400 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E420 22 init_delegate_00a6e420 game_core Initializes a delegate functor by storing a vtable and callback pointer. 0x00A6E440 22 init_delegate_00a6e440 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6E460 22 init_delegate_00a6e460 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6E480 22 init_delegate_00a6e480 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6E4A0 22 init_delegate_00a6e4a0 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6E4C0 68 scalar_deleting_dtor_00a6e4c0 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E510 68 scalar_deleting_dtor_00a6e510 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E560 68 scalar_deleting_dtor_00a6e560 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E5B0 68 scalar_deleting_dtor_00a6e5b0 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E600 68 scalar_deleting_dtor_00a6e600 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E650 68 scalar_deleting_dtor_00a6e650 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E6A0 68 UIListView__conditional_free_a game_core Conditional free for a UIListView callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A6E6F0 68 UIListView__conditional_free_b game_core Conditional free for a UIListView callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A6E740 68 UIListView__conditional_free_c game_core Conditional free for a UIListView callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A6E790 68 scalar_deleting_dtor_00a6e790 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E7E0 68 scalar_deleting_dtor_00a6e7e0 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E830 68 scalar_deleting_dtor_00a6e830 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E880 68 scalar_deleting_dtor_00a6e880 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E8D0 68 scalar_deleting_dtor_00a6e8d0 game_core Scalar deleting destructor. If param_2 is nonzero, frees 8-byte object via operator delete. 0x00A6E930 23 ShopUI__delegate_populate_shop_item_list game_core Delegate wrapper: dereferences param_1 to get 'this' pointer, then calls ShopUI__populate_shop_item_list with it and param_2. 0x00A6E950 23 UIListView__delegate_set_text_from_item_data game_core Delegate wrapper: dereferences param_1 to get 'this' pointer, then calls UIListView__set_text_from_item_data with it and param_2. 0x00A6E970 65 notify_tabs_selected_00a6e970 game_core Iterates through all tab objects in a container (offsets 0xC8-0xCC), calling virtual method at vtable+0xDC with a boolean indicating whether each tab matches the selected one. 0x00A6E9C0 65 notify_tabs_selected_00a6e9c0 game_core Iterates through all tab objects in a container (offsets 0xC8-0xCC), calling virtual method at vtable+0xDC with a boolean indicating whether each tab matches the selected one. Duplicate of 00a6e970. 0x00A6EA10 20 UIListBoxA__delegate_update_visible_items ui_events Delegate wrapper: dereferences param_1 to get 'this' pointer, calls UIListBoxA__update_visible_items_00a6db80. 0x00A6EA30 20 UIListBoxB__delegate_update_visible_items ui_events Delegate wrapper: dereferences param_1 to get 'this' pointer, calls UIListBoxB__update_visible_items_00a6dd80. 0x00A6EA50 23 wrapper_forward_2arg_00a6ea50 game_core Delegate wrapper: dereferences param_1 and forwards with param_2 to null_stub_00a6fe10 (no-op). 0x00A6EA70 23 wrapper_forward_2arg_00a6ea70 game_core Delegate wrapper: dereferences param_1 and forwards with param_2 to UIListView__display_item_details. 0x00A6EA90 216 tab_select_handler_00a6ea90 game_core Tab selection handler for a UITabControl. When a tab is clicked (and control is not locked at offset 0xC4): deselects all other tabs via vtable+0xD8(0), selects the clicked tab via vtable+0xD8(1), performs RTDynamicCast to get tab index, stores selected index at offset 0xDC, and invokes a callback through a linked list at offset 0xD4. 0x00A6EB70 216 tab_select_handler_00a6eb70 game_core Tab selection handler for a UITabControl. Same logic as tab_select_handler_00a6ea90 but for a different tab control type (different RTTI cast target). Deselects other tabs, selects clicked tab, stores index, invokes callback. 0x00A6ED60 3 identity_passthrough_00a6ed60 crt Identity function that returns its parameter unchanged 0x00A6ED70 3 identity_passthrough_00a6ed70 crt Returns its parameter unchanged; identity function stub 0x00A6ED80 22 init_delegate_00a6ed80 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EDA0 22 init_delegate_00a6eda0 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EDC0 22 init_delegate_00a6edc0 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EDE0 22 init_delegate_00a6ede0 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EE00 22 init_delegate_00a6ee00 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EE20 22 init_delegate_00a6ee20 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EE40 22 init_delegate_00a6ee40 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EE60 22 init_delegate_00a6ee60 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EE80 22 init_delegate_00a6ee80 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EEA0 22 init_delegate_00a6eea0 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EEC0 22 init_delegate_00a6eec0 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EEE0 22 init_delegate_00a6eee0 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EF00 22 init_delegate_00a6ef00 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EF20 22 init_delegate_00a6ef20 game_core Initializes a delegate object: sets vtable pointer and copies the context pointer (offset +4) from source to destination. 0x00A6EF40 341 delegate__swap_polymorphic game_core Swaps two polymorphic delegate objects. Handles 4 cases: both non-local (simple pointer swap), both local (full clone+swap), one local/one remote (clone local to temp, move remote, clone temp to target). Uses virtual clone (vtable+4) and destroy (vtable+0x10) methods. The delegate's storage is at offset [9] in the param arrays. 0x00A6F0A0 341 delegate__swap_polymorphic_alt game_core Same logic as delegate__swap_polymorphic. Swaps two polymorphic delegate objects handling local/remote storage cases with virtual clone and destroy. Duplicate at different address. 0x00A6F2E0 10 thunk_to_std__Xlength_error_00a6f2e0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00A6F2F0 10 thunk_to_std__Xlength_error_00a6f2f0 stl Calls std::_Xlength_error with vector_too_long error message 0x00A6F300 62 std__allocator_deallocate_00a6f300 stl std::allocator::deallocate - frees memory allocated for elements. Multiplies count by 4 (sizeof uint/pointer). For large allocations (>0xFFF bytes), retrieves the original allocation pointer from offset -4 and adds alignment padding (0x23 bytes). 0x00A6F340 62 std__allocator_deallocate_00a6f340 stl std::allocator::deallocate - frees memory allocated for elements. Multiplies count by 4 (sizeof uint/pointer). For large allocations (>0xFFF bytes), retrieves the original allocation pointer from offset -4 and adds alignment padding (0x23 bytes). Duplicate of 00a6f300 for a different template instantiation. 0x00A6F380 111 linked_list__clear_with_string_dtor stl Clears a linked list, destroying each 0x28-byte node that contains a std::string. Zeroes the count, iterates the forward list, calls STL_string_dtor on each node's string, then frees each node. 0x00A6F3F0 114 UIListViewItem__ctor game_core Constructor for UIListViewItem. Calls UIButton__ctor as base class, sets custom vtable, zeroes three members at offsets +0x3A through +0x3C (label, icon, data pointers). 0x00A6F470 262 UIListViewWindow__ctor game_core Constructor for UIListViewWindow. Calls UIWindowBase__ctor as base, sets CUIWindow vtable, initializes colors (white 0xFFFFFF, grey 0xCECECE), layout params (spacing 3, columns 1), flags. Then sets own vtable, zeroes 7 members at offsets +0x36 through +0x3C including selection index to -1. 0x00A6F580 94 UIListViewToggleButton__ctor game_core Constructor for UIListViewToggleButton. Calls UIButton__ctor as base class, sets custom vtable, zeroes one member at offset +0x3A (toggle state). 0x00A6F5E0 67 linked_list_node__free_0x28 stl Frees a 0x28-byte linked list node. Checks if the node pointer at offset +4 is non-null before freeing. 0x00A6F630 116 linked_list_node__dtor_string_and_free stl Destroys a linked list node containing a std::string. First destroys the string (STL_string_dtor) if the node exists, then frees the 0x28-byte node. 0x00A6F6B0 68 STL_string_dtor_wrapper stl Simple wrapper around STL_string_dtor. Destroys a std::string object passed as parameter. 0x00A6F700 71 UIListViewItem__dtor game_core Destructor for UIListViewItem. Sets vtable pointer, then calls UIControlBase__dtor to destroy the base class. 0x00A6F750 71 UIListViewWindow__dtor game_core Destructor for UIListViewWindow. Sets vtable pointer, then calls CUIWindow__dtor_save_position to destroy the base window class and save window position. 0x00A6F7A0 71 UIListViewToggleButton__dtor game_core Destructor for UIListViewToggleButton. Sets vtable, then calls UIControlBase__dtor. 0x00A6F7F0 99 UIListViewItem__scalar_deleting_dtor game_core Scalar deleting destructor for UIListViewItem. Sets vtable, calls UIControlBase__dtor, and conditionally frees the 0xF8-byte object if param_2 bit 0 is set. 0x00A6F860 99 UIListViewWindow__scalar_deleting_dtor game_core Scalar deleting destructor for UIListViewWindow. Sets vtable, calls CUIWindow__dtor_save_position, and conditionally frees the 0xF4-byte object if param_2 bit 0 is set. 0x00A6F8D0 99 UIListViewToggleButton__scalar_deleting_dtor game_core Scalar deleting destructor for UIListViewToggleButton. Sets vtable, calls UIControlBase__dtor, and conditionally frees the 0xF0-byte object if param_2 bit 0 is set. 0x00A6F940 274 UIListView__add_shop_item game_core Adds a shop item to the UIListView's data linked list. Allocates 0x100-byte node, copies item data via CShopItem__copy_construct. Increments count at +0xD8. If param_3 is true, updates scrollbar max/range/position and marks for redraw. Returns the new item's index (count - 1). 0x00A6FA60 344 UIListView__add_string_item game_core Adds a string-based item to the UIListView's data linked list. Allocates 0x28-byte node, copies int fields and a std::string (move semantics - zeroes source). Increments count. If param_3 is true, updates scrollbar max/range/position and marks for redraw. Returns the new item's index. 0x00A6FBE0 276 UIListView__confirm_purchase_dialog game_core Shows a purchase confirmation dialog for the selected list item. Gets the selected item by index from the linked list at +0xDC->0xDC, reads item name string, formats it with FUN_00b00f00 (msg 0xF87), and shows a confirmation dialog (FUN_00a901e0). If user confirms (return 0xBB), sends a purchase request packet (type 0x145) with item data from +0xEC and +0xF0. 0x00A6FD00 123 UIListView__clear_shop_item_list game_core Clears the shop item list. Destroys all entries via CHashTable__destroy_all_entries, resets the sentinel node pointers, zeroes count and selection index (-1). Updates scrollbar to reflect empty list and marks for redraw. 0x00A6FD80 123 UIListView__clear_string_item_list game_core Clears the string item list. Destroys all nodes (including std::string dtors) via linked_list__clear_with_string_dtor, resets sentinel pointers, zeroes count and selection index (-1). Updates scrollbar and marks for redraw. 0x00A6FE10 3 null_stub_00a6fe10 crt Empty function that immediately returns, likely a placeholder or stub 0x00A6FE20 1400 UIListView__display_item_details game_core Displays detailed information for a shop item. Decrypts obfuscated format strings using xor_decrypt_buffer for different item states: both buy/sell prices exist (keys 0xb311fd95/0x31956551), only buy price (keys 0x61bdc391/0x393d9165), or only sell price (keys 0xc1b39315/0xed5143e7). Sets up the item name/price label, populates the item slot visual (CUIItemSlot__populate_from_item_data), and builds the tooltip from CItemDB. 0x00A703D0 517 ShopUI__init_dialog game_core Initializes the shop dialog UI. Centers the window on screen, marks two sub-lists as needing redraw. Sets the title label from msg ID 0xD38 and the buy button label from msg ID 0xBE5. 0x00A705F0 1004 ShopUI__populate_items_for_category game_core Populates shop items for a given category. Clears the existing string item list and shop item list. Stores category ID at +0xEC, looks up item info by parsing an atoi-converted string from FUN_00ddd5a0. Sets the item name label. Searches the item database singleton for matching items, copies each matching CShopItem into the list's data linked list. Updates scrollbar and shows the item detail panel. 0x00A709E0 420 ShopUI__populate_shop_item_list game_core Populates the shop UI's item list from a data source. Clears the existing shop item list, creates the item DB singleton if needed, looks up items via helper_0061ef60 using param_3's two fields. Iterates the result array, copying each 0xF8-byte CShopItem into the list's linked list at +0xE0. Updates scrollbar after populating. 0x00A70B90 41 UIListView__set_text_from_item_data game_core Sets a text label from item data at param_2. Reads the string at offset +8 (with SSO check at offset +0x1C), and assigns it via UITextLabel__assign_text_and_recalc. 0x00A70BC0 34 copy_range_to_buffer_00a70bc0 game_core Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns end of written data. Duplicate of copy_range_to_buffer. 0x00A70BF0 34 copy_range_to_buffer_00a70bf0 game_core Copies a range [param_1, param_2) to destination param_3 using memcpy. Returns end of written data. Duplicate of copy_range_to_buffer. 0x00A70C20 452 STL_vector_int__insert_and_grow stl Inserts an element into a std::vector at position param_2, growing if needed. Allocates new buffer with 1.5x growth factor, copies data before and after insertion point, places new value from param_3. Frees old buffer. Updates begin/end/capacity. Returns pointer to inserted element. 0x00A70DF0 118 std__map_int__destroy_tree stl Destroys a std::map tree structure. Iterates the tree's linked nodes (checking the sentinel flag at offset +0xD), recursively destroys child subtrees via FUN_00a70e70, frees each 0x18-byte node. Also frees the root sentinel node. 0x00A70E70 103 std__map_int__recursive_destroy_subtree stl Recursively destroys a subtree of a std::map. For each non-sentinel node (flag at +0xD is 0), recursively destroys the child subtree (offset +2), then frees the 0x18-byte node and advances to the next sibling. 0x00A70EE0 418 STL_vector_int__resize_and_copy_00a70ee0 stl Resizes a std::vector to param_2 elements with 1.5x growth. Copies existing data, zero-fills new elements. Duplicate of STL_vector_int__resize_and_copy at different address. 0x00A710C0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A710E0 85 STL_vector_int__rotate_ranges_00a710e0 stl Rotates elements in a vector using three swap operations. Duplicate of STL_vector_int__rotate_ranges. 0x00A71140 444 ShopListCtrl__ctor ui_shop Constructor for ShopListCtrl (shop list control similar to UIScrollableList). Calls CEffect__ctor, sets UIBase and own vtable, initializes linked lists, string buffer, selection index (-1), delegate slots, and various flags/counters to 0. 0x00A71300 348 ShopListCtrl__dtor ui_shop Destructor for ShopListCtrl. Destroys two delegate callbacks at offsets +0x4D and +0x43, calls FUN_00a71500 and FUN_00a715f0 to clean up data, destroys the string buffer, destroys the map tree at +0x24, releases 4 texture resources at +0x20 through +0x23 via FUN_00af0be0. Finally sets UIBase vtable and calls CEffect__dtor. 0x00A71460 33 delegate__destroy_if_not_local game_core Destroys a polymorphic delegate stored at offset [9] of param_1. If the delegate pointer is non-null, calls its virtual destroy (vtable+0x10) with flag indicating whether it's stored remotely (ptr != this). Zeroes the slot after destroying. 0x00A714A0 92 delegate__destroy_if_not_local_with_seh game_core Same as delegate__destroy_if_not_local but with SEH frame setup/teardown. Destroys a polymorphic delegate at offset [9], calling virtual destroy and zeroing the slot. 0x00A71500 145 ShopListCtrl__destroy_item_data_list ui_shop Destroys the shop item data linked list. Zeroes the count, iterates forward through the list, destroys each node's internal map tree (std__map_int__destroy_tree at offset +3), frees each 0x14-byte node, then frees the root sentinel. 0x00A715A0 66 std__map_int__destroy_tree_wrapper stl Simple wrapper around std__map_int__destroy_tree with SEH frame setup. Destroys a map tree structure. 0x00A715F0 129 STL_vector_ptr__clear_and_free_00a715f0 stl Clears and frees a std::vector of pointers. Frees the buffer, zeroes begin/end/capacity. Duplicate at different address for ShopListCtrl context. 0x00A71680 164 ShopListCtrl__copy_delegate_and_init ui_shop Copies a delegate callback from source (param_2+0x24) by cloning it into a local buffer, then calls FUN_00a76bf0 for initialization. Properly cleans up the temporary delegate clone after use. 0x00A71730 38 ShopListCtrl__scalar_deleting_dtor ui_shop Scalar deleting destructor for ShopListCtrl. Calls ShopListCtrl__dtor, then conditionally frees the 0x138-byte object if param_2 bit 0 is set. 0x00A71760 353 ShopListCtrl__create_item_button ui_shop Creates a button item for the ShopListCtrl. Allocates 0x100-byte object via FUN_00a77160, sets size from stored dimensions, hides initially, applies state textures. Sets up two delegate callbacks and adds as child control. Similar to UIListView__create_item_button. 0x00A718D0 115 ShopListCtrl__create_item_window ui_shop Creates a window item for the ShopListCtrl. Allocates 0x110-byte object and constructs it via FUN_00a77200. Returns 0 if allocation fails. 0x00A71950 85 ShopListCtrl__clear_visible_items ui_shop Clears all visible items from the ShopListCtrl. Iterates the visible items array (+0xC8 to +0xCC), calls FUN_00a82e50 on each with flag 1 to hide/recycle them. Resets the end pointer to begin and selection index to -1. 0x00A719B0 36 ShopListCtrl__set_scroll_params_and_resize ui_shop Sets scroll parameters (item width/height at +0xB4/+0xB8) and resizes the control via CEffect__set_size_and_reload. 0x00A719E0 82 ShopListCtrl__init_layout ui_shop Initializes the layout of a ShopListCtrl. Clears flags, sets size to 0x159 x 0x17B, positions at (0,0), performs resize/layout via virtual calls, and sets skin colors to all black/transparent. 0x00A71A40 183 ShopListCtrl__create_toggle_button ui_shop Creates a toggle button (0x84 bytes) for the ShopListCtrl via FUN_00a77350. Sets its size to 0x46 x 0x15, adds it as a child control, and pushes it into the vector at +0xEC/+0xF0 (growing if needed). 0x00A71B00 69 ShopListCtrl__get_selected_item ui_shop Gets the currently selected item from the ShopListCtrl. Same pattern as UIScrollableList__get_selected_item: traverses linked list at +0xD4 using index from +0xDC, returns item data with success flag. 0x00A71B50 525 ShopListCtrl__create_scrollbar_and_dialog ui_shop Creates the scrollbar and dialog panel for the ShopListCtrl. Allocates a 0xF0-byte UIInterfaceDialog object, initializes it with various flags (hidden initially), sets up a delegate callback, swaps it into the control's callback slot via std::any::swap. Adds the dialog as a child control. Stored at offset +0xB0. 0x00A71D60 824 ShopListCtrl__create_header_and_columns ui_shop Creates the header label and column headers for the ShopListCtrl. Creates a text label (0xFC bytes) at +0xE8 with size 0x2C x 0x15, empty text, truncation disabled, offset (6,6). Decrypts a font name via xor_decrypt_buffer (keys 0x79878559/0xe33f2ff7), sets it as the font. Configures line spacing 12, no bold, black text, no outline/shadow. Then creates 4 toggle button columns positioned at x-offsets 0x2C, 0x72, 0xB8, 0xFE. 0x00A720A0 14676 ShopListCtrl__static_layout_init ui_shop ShopListCtrl: static layout init 0x00A75A00 636 ShopListItemButton__create_text_label ui_shop Creates and configures a text label for a shop list item button. Allocates 0xFC-byte text label, sets size 0x3C x 0x15, positions at (5,0), initializes with empty text, no truncation, offset (6,6). Decrypts font name via xor_decrypt_buffer (keys 0x8d8dafab/0xd5a78db3), sets font, configures line spacing 12, no bold, black text, no outline/shadow. Adds as child at +0x80. 0x00A75C90 63 ShopListItemButton__on_click_forward ui_shop Handles click forwarding for a shop list item button. If the scrollbar at +0xB0 is not at its max and hasn't reached the limit, calls its scroll function (vtable+0x8C). Otherwise forwards the click to the parent at +0x10 if it exists. 0x00A75CD0 65 ShopListCtrl__highlight_selected_item ui_shop Highlights the selected item in the shop list. Iterates all visible items (+0xC8 to +0xCC), calling vtable+0xDC with true/false depending on whether each matches the selected item pointer. 0x00A75D20 603 ShopListCtrl__rebuild_visible_items ui_shop Rebuilds the visible item pool for the ShopListCtrl. Removes all existing child items, calculates how many visible items are needed based on control height / item height, creates new item buttons with textures and delegate callbacks. Updates scrollbar max/visible range. Reuses or grows the visible items vector as needed. 0x00A75F80 522 ShopListCtrl__load_state_textures ui_shop Loads texture resources for ShopListCtrl states (normal, hover, pressed, disabled). Same pattern as UITreeCtrl__load_state_textures: loads 4 textures from map indices 0-2 and +0x98, swaps with old textures, applies to all visible items. 0x00A76190 115 ShopListCtrl__on_resize ui_shop Handles resize of the ShopListCtrl. Calls CEffect__resize_surface, rebuilds visible items, resizes the scrollbar, and updates scrollbar max/range/position for the new dimensions. 0x00A76210 498 ShopListCtrl__update_visible_items ui_shop Updates the visible items in the ShopListCtrl based on scroll position param_2. Calculates which data items should be visible based on scroll offset / item height. Rotates the visible items array if items can be reused. For each visible slot, sets data index, calls the item content callback (+0x134), sets selection highlight, positions the item, and shows it. Hides any remaining empty slots. 0x00A76410 218 ShopListCtrl__on_item_clicked ui_shop Handles item click in the ShopListCtrl. Deselects all other visible items (vtable+0xD8 with 0), selects clicked item (vtable+0xD8 with 1). If selection changed, dynamic casts to get item's data index, stores it, and calls the selection callback at +0x10C with the item data from the linked list. 0x00A764F0 216 ShopListCtrl__set_texture_names ui_shop Sets the texture resource names for the ShopListCtrl's different states. Assigns 3 texture name strings to map entries at indices 0, 1, 2 (normal, hover, pressed), and assigns the 4th string to the internal string buffer at +0x26 if different. Calls vtable+0xD4 with 0 and vtable+0x98 to trigger texture reload. 0x00A765D0 22 ShopListCtrl__create_vtable_callback_a ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable pointer and copies context from +4. 0x00A765F0 22 ShopListCtrl__create_vtable_callback_b ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable pointer and copies context from +4. 0x00A76610 22 ShopListCtrl__create_vtable_callback_c ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable pointer and copies context from +4. 0x00A76630 22 ShopListCtrl__create_vtable_callback_d ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable pointer and copies context from +4. 0x00A76650 22 ShopListCtrl__create_vtable_callback_e ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable pointer and copies context from +4. 0x00A76670 22 ShopListCtrl__create_vtable_callback_f ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable pointer and copies context from +4. 0x00A76690 22 ShopListCtrl__create_vtable_callback_g ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable pointer and copies context from +4. 0x00A766B0 68 ShopListCtrl__conditional_free_a ui_shop Conditional free for a ShopListCtrl callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A76700 68 ShopListCtrl__conditional_free_b ui_shop Conditional free for a ShopListCtrl callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A76750 68 ShopListCtrl__conditional_free_c ui_shop Conditional free for a ShopListCtrl callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A767A0 68 ShopListCtrl__conditional_free_d ui_shop Conditional free for a ShopListCtrl callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A767F0 68 ShopListCtrl__conditional_free_e ui_shop Conditional free for a ShopListCtrl callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A76840 68 ShopListCtrl__conditional_free_f ui_shop Conditional free for a ShopListCtrl callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A76890 68 ShopListCtrl__conditional_free_g ui_shop Conditional free for a ShopListCtrl callback object. If param_2 is nonzero, frees the 8-byte object. 0x00A768F0 65 ShopListCtrl__highlight_selected_item_callback ui_shop Callback that highlights the selected item in the shop list. Dereferences param_2, iterates all visible items, calling vtable+0xDC with true/false for selection. 0x00A76940 20 ShopListCtrl__wrapper_update_visible_items ui_shop Wrapper callback that calls ShopListCtrl__update_visible_items with dereferenced first param. 0x00A76960 216 ShopListCtrl__on_item_clicked_callback ui_shop Callback that handles item click in the ShopListCtrl. Same logic as ShopListCtrl__on_item_clicked but accessed through param_1's context pointer at +4. 0x00A76A40 23 ShopListCtrl__wrapper_null_stub_a ui_shop Wrapper callback that calls null_stub_00a77b10 with dereferenced first param and second param. 0x00A76A60 23 ShopListCtrl__wrapper_update_item_display ui_shop Wrapper callback that calls UIListMenu__update_item_display with dereferenced first param and second param. Not a null stub. 0x00A76B00 3 identity_passthrough_00a76b00 crt Identity function that returns its parameter unchanged 0x00A76B10 22 ShopListCtrl__create_vtable_callback_h ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable to same pointer as callback_a and copies context from +4. 0x00A76B30 22 ShopListCtrl__create_vtable_callback_i ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable to same pointer as callback_b and copies context from +4. 0x00A76B50 22 ShopListCtrl__create_vtable_callback_j ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable to same pointer as callback_c and copies context from +4. 0x00A76B70 22 ShopListCtrl__create_vtable_callback_k ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable to same pointer as callback_d and copies context from +4. 0x00A76B90 22 ShopListCtrl__create_vtable_callback_l ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable to same pointer as callback_e and copies context from +4. 0x00A76BB0 22 ShopListCtrl__create_vtable_callback_m ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable to same pointer as callback_f and copies context from +4. 0x00A76BD0 22 ShopListCtrl__create_vtable_callback_n ui_shop Creates a vtable callback for ShopListCtrl. Sets vtable to same pointer as callback_g and copies context from +4. 0x00A76BF0 341 delegate__swap_polymorphic_shop game_core Swaps two polymorphic delegate objects for the shop system. Same logic as delegate__swap_polymorphic: handles local/remote storage cases with virtual clone and destroy. Used in ShopListCtrl context. 0x00A76DC0 10 thunk_to_std__Xlength_error_00a76dc0 stl Throws std::length_error for vector overflow condition 0x00A76DD0 10 thunk_to_std__Xlength_error_00a76dd0 stl Calls std::_Xlength_error with vector_too_long message, never returns 0x00A76DE0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A76E20 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A76E60 238 std__map__recursive_copy_tree stl Recursively copies a std::map tree. For each non-sentinel node, allocates a 0x18-byte node, copies key/value (offsets +4/+5), recursively copies left and right subtrees. Returns pointer to the root of the copied tree. 0x00A76F70 98 aligned_heap_free game_core Frees an aligned heap allocation. For allocations >= 0x1000 bytes, retrieves the original allocation pointer from -4 offset and validates alignment before freeing. For smaller allocations, frees directly. 0x00A76FE0 103 std__map__recursive_destroy_subtree_0x18 stl Recursively destroys a std::map subtree. For each non-sentinel node (flag at +0xD is 0), recursively destroys child subtree at offset +2, frees 0x18-byte node, advances to next sibling. Same pattern as std__map_int__recursive_destroy_subtree. 0x00A77050 123 ShopListCtrl__destroy_item_data_list_with_maps ui_shop Destroys a ShopListCtrl item data linked list. Same as ShopListCtrl__destroy_item_data_list: zeroes count, iterates list destroying each node's internal map tree, frees each 0x14-byte node and sentinel. 0x00A770D0 144 std__map__move_construct stl Move-constructs a std::map. Copies the comparator, allocates a sentinel node, then swaps the root pointer and count with the source map (effectively moving ownership). 0x00A77160 148 UIListMenuButton__ctor game_core Constructor for UIListMenuButton. Calls UIButton__ctor, sets vtable to UIListMenu__scalar_deleting_dtor, zeroes 6 members at offsets +0x3A through +0x3F. 0x00A77200 332 UIListMenuWindow__ctor game_core Constructor for UIListMenuWindow. Calls UIWindowBase__ctor, sets CUIWindow vtable, initializes colors/layout params (white, grey, spacing 3, 1 column). Then sets own vtable, zeroes 14 members at +0x36 through +0x43, with +0x43 = 7999 (z-order?). 0x00A77350 113 UIListMenuToggle__ctor game_core Constructor for UIListMenuToggle. Calls CEffect__ctor, sets UIBase then own vtable, zeroes one member at +0x20. 0x00A773D0 67 linked_list_node__free_0x14 stl Frees a 0x14-byte linked list node if the pointer at offset +4 is non-null. 0x00A77420 67 linked_list_node__free_0x18 stl Frees a 0x18-byte linked list node if the pointer at offset +4 is non-null. 0x00A77470 124 linked_list_node__dtor_map_and_free_0x14 stl Destroys a 0x14-byte linked list node containing a std::map tree at offset +0xC. First destroys the map tree, then frees the node. 0x00A77510 129 STL_vector_ptr__clear_and_free_00a77510 stl Clears and frees a std::vector of pointers. Frees the buffer, zeroes begin/end/capacity. Duplicate at different address for UIListMenu context. 0x00A775A0 178 STL_vector_map__clear_and_free stl Clears and frees a std::vector of std::map objects. Iterates each 8-byte element, calls std__map_int__destroy_tree on each, then frees the vector buffer and zeroes begin/end/capacity. 0x00A77660 81 destroy_internal_map_at_offset_4 game_core Destroys a std::map tree stored at offset +4 of the given object. Wrapper with SEH frame around std__map_int__destroy_tree. 0x00A776C0 95 UIListMenu__dtor game_core UIListMenu destructor. Sets vtable pointer, calls cleanup function FUN_00a77510, then calls UIControlBase dtor. 0x00A77720 71 UIListMenu__base_dtor game_core UIListMenu base class destructor. Sets vtable to CUIWindow vtable, then calls CUIWindow__dtor_save_position. 0x00A77770 84 UIListMenu__base2_dtor game_core UIListMenu base2 destructor. Resets vtable to UIBase, then calls FUN_00a79e90 cleanup. 0x00A777D0 119 UIListMenu__scalar_deleting_dtor game_core UIListMenu scalar deleting destructor. Runs dtor logic then conditionally frees memory (size 0x100) if bit 0 of param is set. 0x00A77850 99 UIListMenu__scalar_deleting_dtor2 game_core UIListMenu scalar deleting destructor for CUIWindow base. Calls CUIWindow__dtor_save_position then conditionally frees (size 0x110). 0x00A778C0 112 UIListMenu__scalar_deleting_dtor3 game_core UIListMenu scalar deleting destructor for UIBase. Resets vtable then conditionally frees (size 0x84). 0x00A77930 271 UIListMenu__add_item game_core Adds an item to UIListMenu's linked list at offset 0xD4. Allocates 0x14-byte node, increments count (0xD8). If param_3 is true, updates scrollbar max/visible/value. Max list size is 0xCCCCCCC. Returns new item index. 0x00A77A40 35 UIListMenu__check_msg_id_099d game_core Checks if message ID equals 0x99D (2461). If so, calls FUN_00b00f00 with 0x10EF. Returns 0 for other IDs. 0x00A77A80 123 UIListMenu__clear_all_items game_core Clears all items from UIListMenu. Destroys all nodes via FUN_00a77050, resets head pointers, zeroes count (0xD8), sets selected to -1 (0xDC). Updates scrollbar accordingly. 0x00A77B10 3 null_stub_00a77b10 crt Empty function stub with no implementation, only returns 0x00A77B20 448 UIListMenu__update_item_display game_core Updates UIListMenu item display. Converts item number to string, sets text label via UITextLabel__assign_text. Iterates through 4 map entries calling FUN_00a78a10 for each column value. 0x00A77CE0 239 UIListMenu__draw_header_row game_core Draws the header row of UIListMenu. Gets skin colors (indices 0 and 6), draws background fill and column separator lines at fixed x-positions (0x2C, 0x72, 0xB8, 0xFE). 0x00A77DD0 301 UIListMenu__draw_background_and_grid game_core Draws UIListMenu background and grid lines. Calls CUIWindow draw, gets skin colors, draws header area, content area, and column separator lines using fill_rect and draw_rect helpers. 0x00A77F10 86 UIListMenu__load_skin_colors game_core Loads skin colors for UIListMenu from CSkinManager. Stores background color (index 0) at offset 0xF8 and border color (index 6) at offset 0xFC. 0x00A77F70 514 UIListMenu__init_column_headers game_core Initializes UIListMenu column headers using message strings (IDs 0x109E-0x10A2, 0x10CF-0x10D1). Sets progress bar text and multiple text labels for column headers. Shows scrollbar if needed. 0x00A78190 45 UIListMenu__on_button_click game_core Handles button click for UIListMenu. If button ID is 0x3C (60), calls populate_from_skill_data with stored value at offset 0x10C (unless it's 7999). Otherwise delegates to UIWindow__handle_button_click. 0x00A781C0 2122 UIListMenu__populate_from_skill_data game_core Populates UIListMenu from skill data. Clears existing items, builds string "GetSkillDescript", calls Lua to get skill descriptions. Iterates through results adding list items with tree nodes. Sets scrollbar, updates text panel with description for msg ID 0x99D. Adjusts window height based on content. 0x00A78A10 210 UIListMenu__format_and_set_column_value game_core Formats a numeric value as a float divided by a global constant, formats to 3 decimal places, prepends a localized string (msg 0x710), and sets the result as a text label. 0x00A78AF0 1 stub_nop_00a78af0 game_core Single-byte stub function (size=1) 0x00A78B00 86 UISkillInfoWindow__ctor game_core UISkillInfoWindow constructor. Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01156894. 0x00A78B60 71 UISkillInfoWindow__dtor game_core UISkillInfoWindow destructor. Sets vtable pointer, then calls UIWindowBase__dtor. 0x00A78BB0 99 UISkillInfoWindow__scalar_deleting_dtor game_core UISkillInfoWindow scalar deleting destructor. Runs dtor then conditionally frees memory (size 0xB4). 0x00A78C40 413 UISkillInfoWindow__draw_camera_info game_core Draws camera debug info (range, rotation, latitude) on UISkillInfoWindow. Gets entity data, formats float values as strings, and draws them at positions (10,10), (10,25), (10,40). 0x00A78DE0 9 thunk_to_CEffect__notify_parent_of_state_change effect Thunk that jumps to CEffect__notify_parent_of_state_change (00a83660). 0x00A78DF0 153 std__vector_copy_range_ctor stl std::vector copy constructor from range [param_2, param_3). Allocates buffer, memcpy's source data. Element size determined by range difference. 0x00A78E90 103 UICallback__ctor_00a78e90 ui_events UI callback object constructor. Stores callback function pointer and context data. Sets vtable to PTR_FUN_01156a84, stores self-reference at offset 36. 0x00A78F00 103 UICallback__ctor_00a78f00 ui_events UI callback object constructor variant. Sets vtable to PTR_FUN_01156aa0, stores callback and context similarly to 00a78e90. 0x00A78F70 103 UICallback__ctor_00a78f70 ui_events UI callback object constructor variant. Sets vtable to PTR_FUN_01156abc, stores callback and context. 0x00A78FE0 103 UICallback__ctor_00a78fe0 ui_events UI callback object constructor variant. Sets vtable to PTR_FUN_01156ad8, stores callback and context. 0x00A79050 105 std__vector_destroy_range_3c stl Destroys elements in a vector range. Iterates from param_1 to param_2 in 0x3C-byte steps, calling string destructors for each element. 0x00A790C0 104 std__vector_destroy_range_1c stl Destroys elements in a vector range. Iterates from param_1 to param_2 in 0x1C-byte steps, calling destructors for each element. 0x00A79130 166 std__list_insert_node_00a79130 stl Inserts a new node into a std::list. Allocates 0xC-byte node, copies value from param_3. Links into doubly-linked list before param_2. Max size 0x15555555. 0x00A791E0 581 std__vector_emplace_grow_3c stl std::vector grow-and-emplace for 0x3C-byte elements. Calculates new capacity (1.5x growth), allocates new buffer, constructs new element, relocates existing elements, frees old buffer. Max 0x4444444 elements. 0x00A79430 464 std__vector_emplace_grow_1c stl std::vector grow-and-emplace for 0x1C-byte elements. 1.5x growth policy, max 0x9249249 elements. Allocates new buffer, constructs element, relocates existing data, frees old buffer. 0x00A79630 337 std__vector_emplace_grow_4 stl std::vector grow-and-emplace for 4-byte (pointer) elements. 1.5x growth, max 0x3FFFFFFF. Uses memcpy for relocation since elements are trivially copyable. 0x00A797A0 137 std__vector_relocate_elements_3c stl Relocates 0x3C-byte vector elements from [param_1,param_2) to destination at param_3 using move construction. Destroys leftover elements at destination end. 0x00A79830 117 std__element_copy_construct_3c stl Copy-constructs a 0x3C-byte element. Copies 3 scalar fields then copy-constructs two embedded strings (at offset 12 and 36). 0x00A798B0 103 std__element_copy_construct_1c stl Copy-constructs a 0x1C-byte element. Calls vector copy ctor for first sub-element, copies scalar at offset 0xC, then copies second sub-element at offset 0x10. 0x00A79920 152 std__vector_copy_ctor stl std::vector copy constructor. Initializes empty vector, allocates buffer matching source size, memcpy's all data from source. 0x00A799C0 204 std__element_move_construct_3c stl Move-constructs a 0x3C-byte element with two embedded strings. Copies scalar fields, moves string data by stealing internal buffer pointers, resets source strings to empty state (capacity 0xF). 0x00A79A90 314 CEffect__ctor effect CEffect constructor. Initializes base CActionQueue, sets vtable (PTR_FUN_011569a4). Initializes effect parameters: duration=600, alpha=0xFF, type=4. Gets timeGetTime for start time. Allocates 12-byte linked list sentinel node. Increments global effect counter. 0x00A79BD0 67 CEffect__free_node_buffer effect Frees the 12-byte node buffer at offset 4 if non-null. 0x00A79C20 78 CEffect__free_node_buffer2 effect Frees the 12-byte node buffer at offset 4 if non-null. Similar to CEffect__free_node_buffer but with different cleanup path. 0x00A79CC0 103 CEffect__destroy_linked_list effect Destroys all nodes in a singly-linked list. Clears tail pointer, walks the chain freeing each 12-byte node, then frees the sentinel node itself. 0x00A79D30 129 std__vector_free_buffer_00a79d30 stl Frees a std::vector's internal buffer and resets begin/end/capacity pointers to 0. Handles aligned allocation (4KB+ buffers have offset stored at ptr-4). 0x00A79DD0 86 std__element_destroy_1c stl Destroys a single 0x1C-byte element by calling two sub-object destructors. 0x00A79E30 87 std__element_destroy_3c stl Destroys a single 0x3C-byte element by calling two string destructors. 0x00A79E90 227 CEffect__dtor effect CEffect destructor. Sets vtable, calls virtual cleanup if not default stub. Deletes child effect via vtable call, clears pending list and window manager references. Frees two vector buffers. Destroys linked list nodes at offset 0x50. Calls CActionQueue destructor. 0x00A79F80 193 CEffect__compare_and_invoke_callback effect Compares two values and invokes a std::function callback. Returns 1 if callback was invoked, 0 if both params are zero. Chooses between two callbacks based on comparison result. Cleans up callback objects after invocation. 0x00A7A050 35 CEffect__scalar_deleting_dtor effect CEffect scalar deleting destructor. Calls CEffect__dtor, conditionally frees memory (size 0x7C). 0x00A7A080 27 CEffect__add_child_to_list_end effect Adds a child effect to end of parent's linked list at offset 0x50. Sets child's parent pointer at offset 0x10. 0x00A7A0A0 29 CEffect__add_child_to_list_front effect Adds a child effect to front of parent's linked list at offset 0x50. Sets child's parent pointer at offset 0x10. 0x00A7A0C0 1273 CEffect__render_sprite_quad effect Renders a sprite quad for an effect. Applies position offset from effect's x/y (0x1C/0x20). Allocates render mesh entry, calculates 4 vertex positions with optional rotation. Sets texture coordinates and color. Supports horizontal flip via flag at offset 0xC bit 0. Pushes to render queue vector at offset 0x60. 0x00A7A5C0 1124 CEffect__render_sprite_quad_with_rotation effect Renders a sprite quad with rotation animation. Walks parent chain to accumulate position offsets. Allocates mesh entry, computes rotated vertex positions using sin/cos, sets UV coordinates and per-vertex color. Adds to topmost parent's render queue. Supports texture atlas UV calculation. 0x00A7AA30 89 CEffect__process_recursive effect Recursively processes effects. If this effect is not the target, calls virtual function at vtable+0x94, then iterates through child effects at offset 0x14 recursively. 0x00A7AA90 179 CEffect__position_relative_to_target effect Positions this effect relative to a target effect. Accumulates parent chain offsets for both this and target. Clamps to screen bounds (DAT_01389638+0x28/0x2C). Calls virtual move at vtable+0x10. 0x00A7AB50 1881 CEffect__resolve_collision_direction effect Resolves collision direction between this effect and another. Computes bounding boxes from parent chain offsets + size. Tests overlap via FUN_00af64a0, then determines which direction (horizontal vs vertical) to push. Creates callback objects for horizontal/vertical push handlers and invokes the appropriate one based on overlap distances. 0x00A7B2B0 313 string_reverse_multibyte game_core Reverses a multibyte string character-by-character. Uses CharPrevExA with the system codepage (DAT_016d3a78) to walk backwards through the source string, appending each character to the result. Handles multi-byte characters correctly. Buffer limited to 256 chars. 0x00A7B3F0 50 CEffect__reset_alpha_recursive effect Resets alpha to 0 on this effect, calls virtual reset at vtable+0x98, then recursively resets all children in linked list at offset 0x14. 0x00A7B430 24 CEffect__notify_parent_event effect Notifies parent effect of an event. Calls parent's virtual function at vtable+0x2C with (0, param_2). Parent at offset 0x24. 0x00A7B450 25 CEffect__notify_parent_event_with_param effect Notifies parent effect of an event with additional parameter. Calls parent's virtual at vtable+0x2C with (param_3, param_2). 0x00A7B470 90 CEffect__set_size_and_reload effect Sets effect size and reloads. Destroys old surface (if any) at offset 0x24 via vtable call. Creates new surface via stub_00569e90 with given width/height. Stores dimensions at offset 0x14/0x18. Calls virtual reset, resize, bounds update, and redraw. 0x00A7B4D0 513 CEffect__create_text_widget effect Creates a text widget for the effect system. Builds packet stream from string param, creates UIWidget via operator new (0x200 bytes), sets text/layout via UIEditBox, compares display name vs internal name, adds widget to parent's child list at offset 0x50. 0x00A7B6E0 36 CEffect__cleanup_surface_and_children effect Cleans up effect surface and child references. Calls virtual cleanup at vtable+0x48, destroys child at offset 0x24 via vtable, zeros the pointer. Calls FUN_00a82dd0 for additional cleanup. 0x00A7B710 1000 CEffect__render_to_surface effect Renders effect to its surface. If first render (flag at 0x58==1), calls virtual init at vtable+0x50. Recursively processes child effects. Collects render primitives from self and children into a list, passes to surface rendering call. Handles clipping of source rect to surface bounds when flag at 0x79 is set. 0x00A7BB00 24 CEffect__request_cursor_update effect Requests cursor update by calling global renderer's method at vtable+0x18 with cursor type 0x12. 0x00A7BB20 59 CEffect__draw_stretched_sprite effect Draws a stretched sprite via the parent surface. Reads sprite dimensions from param_6 offsets 0x114/0x118/0x11C. Calls surface vtable+0x14 for stretched blit. 0x00A7BB60 71 CEffect__draw_sprite effect Draws a sprite via the parent surface. Sets transparency flag from param_4+0x110, reads dimensions from +0x114/+0x118/+0x11C. Calls surface vtable+0x10 for normal blit. 0x00A7BBB0 117 CEffect__draw_sprite_ext effect Extended sprite draw. Sets transparency from param_4+0x110. If param_6 is set, draws with zero offset and sprite dims. Otherwise draws with custom source rect params. Calls surface vtable+0x18. 0x00A7BC30 299 CEffect__draw_rect_border effect Draws a rectangle border (outline) on the effect surface. Draws 4 lines (top, left, right, bottom) using surface fill_rect at vtable+0x2C. Clamps coordinates to surface dimensions at offset 0x14/0x18. 0x00A7BD60 111 CEffect__fill_rect effect Fills a rectangle on the effect surface. Clamps coordinates to surface bounds (offset 0x14/0x18). Calls surface vtable+0x2C with rect and color. 0x00A7BDD0 95 CEffect__draw_tinted_sprite_stretched effect Draws a stretched sprite with tinting. Frees old tinted buffer if param_9 set, creates new tinted copy with param_2 color. Then draws stretched via surface vtable+0x14 using sprite data from param_7+0x114/0x118/0x120. 0x00A7BE30 89 CEffect__draw_tinted_sprite effect Draws a sprite with tinting. Frees old tinted buffer if param_7 set, creates new tinted copy. Draws via surface vtable+0x10 using sprite data from param_5+0x114/0x118/0x120. 0x00A7BE90 462 CEffect__draw_colored_number_text effect Draws number text with color coding based on magnitude. Colors: <10=yellow, <100=purple/red, <1K=yellow/red, <10K=cyan/blue, <100K=pink, <1M=green, <10M=red, <100M=blue, <1B=tan, >=1B=purple. Acquires GDI DC, sets 12pt font, draws text with shadow offset. 0x00A7C060 881 CEffect__draw_3d_border effect Draws a 3D-style border with 3-pixel wide edges. Draws outer border lines, inner highlight/shadow lines, and corner details using fill_rect. Creates a raised/sunken appearance. 0x00A7C3E0 142 CEffect__draw_3d_border_with_fill effect Draws a 3D border with interior fill. First fills the inner rect, then calls draw_3d_border for the raised border effect. 0x00A7C470 57 CEffect__flush_render_queue effect Flushes the effect's render queue. Iterates through mesh entries in vector at offset 0x5C-0x60, sends each to CRenderPipeline__classify_and_enqueue_mesh with flag 0x201. Resets vector size to empty. 0x00A7C4B0 41 CEffect__update_children_render effect Iterates through child effects in linked list at offset 0x50. For each non-null child, calls virtual function at vtable+0xCC to update rendering. 0x00A7C4E0 156 CEffect__draw_filled_triangle effect Draws a filled triangle using GDI. Acquires DC from surface, creates a polygon region from 3 points, fills with solid brush of specified color, then releases DC. 0x00A7C580 1170 CEffect__draw_animated_sprite_sheet effect Draws an animated sprite sheet. Gets skill sprite entry and detail entries, calculates bounding box across all frames. Scales to fit within param_6 x param_7 dimensions, centering as needed. Selects animation frame based on timeGetTime modulo param_8. Draws via surface vtable+0x34. 0x00A7CA20 105 find_color_code_in_string game_core Scans string for color codes (^XXXXXX format). Walks forward using CharNextExA with codepage. A color code starts with '^' and has 6 hex digits (validated via DAT_01311f60 lookup table). Returns pointer to first non-color-code character, or null if input is null. 0x00A7CA90 28 parse_text_with_default_color_codes game_core Parses text with default color code markers. Wrapper that calls parse_text_with_color_codes using global color code start/end markers at DAT_01345918/DAT_01345930. 0x00A7CAB0 3034 parse_text_with_color_codes game_core Parses text containing color codes into segments. Splits text at color code markers (param_2) and link markers (param_3). Each segment stored as a 0x3C-byte element with: display text, color code prefix, and link text. Results appended to vector at param_4. Uses FUN_00a7ef40 for color code processing. 0x00A7D690 28 parse_text_with_link_color_codes game_core Parses text with link-style color codes. Wrapper calling parse_text_with_color_codes with link markers at DAT_01345ae0/DAT_01345af8. 0x00A7D6B0 28 parse_text_with_chat_color_codes game_core Parses text with chat color codes. Wrapper calling parse_text_with_color_codes with chat markers at DAT_013458e8/DAT_01345900. 0x00A7D6D0 19 CEffect__get_root_parent effect Walks the parent chain (offset 0x10) to find the root effect (topmost parent with no parent). Returns the root. 0x00A7D6F0 107 CEffect__compute_alpha_transition effect Computes alpha transition value. Smoothly interpolates between current alpha (offset 0x40) and target alpha (offset 0x38) based on elapsed time (timeGetTime delta >> 4). Returns combined ARGB with alpha in high byte and 0xFFFFFF in low 24 bits. Clamps to [0, 0xFF]. 0x00A7D760 270 CEffect__measure_text_width effect Measures text width for the effect. Calls FUN_00a80580 to get base width, then checks for color codes. If color codes are found, measures them separately and adjusts width by subtracting color code overhead. 0x00A7D870 54 CEffect__accumulate_parent_offsets effect Accumulates position offsets from all parents. Adds this effect's x/y offsets (0x1C/0x20) plus all ancestors' offsets to the output coordinates. 0x00A7D8B0 52 CEffect__compute_local_from_screen effect Computes local coordinates from screen coordinates. Sums all parent offsets (excluding self), then subtracts from the given screen position. 0x00A7D8F0 322 get_number_display_colors game_core Returns foreground and shadow color pair based on number magnitude. Colors scale from yellow (<10) through purple, yellow, cyan, pink, green, red, blue, tan, to purple (>=1B). Output: param_1[0]=foreground, param_1[1]=shadow. 0x00A7DA40 1755 text_layout_word_wrap game_core Word-wraps text into lines. Walks string character by character using CharNextExA, measures each character's pixel width, and breaks into new lines when accumulated width exceeds the max. Handles newline chars and \\n escape sequences. Stores lines in a linked list, and per-line word offsets in a secondary list. Returns the lists via param_1. 0x00A7E120 3107 text_layout_word_wrap_with_color game_core Word-wraps text with color code support. Similar to text_layout_word_wrap but additionally handles ^XXXXXX color codes, ^b (bold), ^/b (end bold) tags. Preserves color state across line breaks by re-emitting color codes. If max width <=0, auto-measures from string. Uses linked lists for line storage. 0x00A7ED50 104 CEffect__find_next_visible_sibling effect Finds the next visible sibling after the given child in the linked list at offset 0x50. Walks forward from the matching child, calling virtual is_visible at vtable+0x14 on each. Returns 0 if none found. 0x00A7EDC0 375 strip_color_codes_from_string game_core Strips color codes (^XXXXXX) from a string. Iterates through string finding color codes via find_color_code_in_string, appends text between codes to result. Skips 7 chars for each color code found. 0x00A7EF40 1478 extract_and_remove_color_code_prefix game_core Extracts and removes color code prefix from a string. Finds start/end markers (DAT_01345948/DAT_01345960), splits text into prefix before markers and remainder after markers. Concatenates prefix + remainder into result. Used by parse_text_with_color_codes. 0x00A7F510 97 strip_item_link_markers game_core Strips item link markers from string. Wrapper calling strip_markers_from_string with item link start/end markers at DAT_01345978/DAT_01345990. 0x00A7F580 97 strip_default_color_markers game_core Strips default color markers from string. Wrapper calling strip_markers_from_string with default markers at DAT_01345918/DAT_01345930. 0x00A7F5F0 97 strip_url_link_markers game_core Strips URL link markers from string. Wrapper calling strip_markers_from_string with URL markers at DAT_01345b10/DAT_01345b28. 0x00A7F660 2027 strip_markers_from_string game_core Generic marker stripping. Finds start marker (param_3) in string, extracts text before it, then finds end marker (param_4) after it, extracts text after end marker, concatenates prefix + suffix. Repeats until no more markers found. Used by all strip_*_markers functions. 0x00A7FE50 97 strip_link_markers_variant game_core Strips link markers (variant). Wrapper calling strip_markers_from_string with link markers at DAT_01345ae0/DAT_01345af8. 0x00A7FEC0 97 strip_chat_markers game_core Strips chat markers from string. Wrapper calling strip_markers_from_string with chat markers at DAT_013458e8/DAT_01345900. 0x00A7FF30 116 CEffect__find_prev_visible_sibling effect Finds the previous visible sibling before the given child in the linked list at offset 0x50. Walks backward from the matching child, calling virtual is_visible at vtable+0x14 on each. Returns 0 if none found. 0x00A7FFB0 444 CEffect__build_text_render_mesh effect Builds a textured quad mesh for text rendering. Flushes bitmap font texture if needed. Allocates mesh entry, sets UV coordinates based on font texture dimensions. Sets 4 vertices with positions from offsets 5-8 (width, height, x, y). Gets color from virtual at vtable+0xA0. 0x00A80170 187 CEffect__measure_text_height effect Measures text height. Acquires GDI DC, sets font style, measures text with color codes. Returns height component. Returns 0 for null/empty text. 0x00A80230 267 CEffect__measure_text_width_per_char effect Measures text width character by character. Skips color code prefix, then iterates through each character using CharNextExA, measuring individually. Sums widths. Returns total width. 0x00A80340 228 CEffect__measure_text_size effect Measures text size (width and height) into param_2. Acquires GDI DC, sets font, measures with color codes. Returns {width, height} pair. Returns {0,0} for null/empty text. 0x00A80430 327 CEffect__measure_text_max_char_size effect Measures max character width and total height. Iterates per-character using CharNextExA, tracks maximum width and accumulates height. Skips color code prefix. Returns {maxWidth, totalHeight}. 0x00A80580 187 CEffect__measure_text_total_width effect Measures total text width. Acquires GDI DC, sets font, calls CTextVertex__measure_text_with_color_codes. Returns width. Returns 0 for null/empty text. 0x00A80640 566 CEffect__measure_text_with_markup effect Measures text width with full markup handling. Walks string character by character, skipping ^XXXXXX color codes, ^b/^/b bold tags, and \\n sequences. Measures each visible character's width via GDI. Returns cumulative pixel width. 0x00A80880 2943 CEffect__truncate_text_to_width effect Truncates a string to fit within a pixel width. Strips all markup (chat, item links, color codes, URL links). Measures cleaned text. If text fits, returns as-is. Otherwise converts to wide string, removes trailing characters (handling multi-byte correctly), measures again until it fits. Returns truncated string. 0x00A81400 1575 CEffect__truncate_text_to_width_multibyte effect Truncates text to width using multi-byte aware measurement. Similar to truncate_text_to_width but uses per-character measurement (FUN_00a80230). Strips all markup first. Removes characters from end using CharPrevExA until width fits. 0x00A81A30 60 CEffect__find_child_by_id_recursive effect Recursively searches for a child effect by ID. Returns this effect if param_2 matches ID at offset 0x74. Otherwise iterates through children at offset 0x50, recursing into each. 0x00A81A70 145 string_has_any_markup_markers game_core Checks if a string contains any markup markers (chat, item link, link variant, default color, map link, or URL). Returns true if any marker is found. 0x00A81B10 132 CEffect__hit_test_recursive effect Hit-tests a point against this effect and children. Checks if effect is visible (vtable+0x24) and active (offset 0x28). Tests if point is within bounds (offsets 5-8). Recursively tests children at offset 0x50, translating coordinates to local space. Returns deepest matching child, or this effect. 0x00A81BA0 134 parse_color_code_to_rgb game_core Parses a ^RRGGBB color code string into a packed RGB integer. Uses hex digit lookup table at DAT_013457e8 to convert each pair. Returns pointer past the 7-char code, or original pointer if not a color code. Stores RGB in *param_2. 0x00A81C30 29 CEffect__mark_needs_redraw effect Marks this effect as needing redraw (sets flag at offset 0x58 to 1). If parent exists and is surface-based (type flag 0x1E == 1), calls parent's virtual reset at vtable+0x98. 0x00A81C50 56 CEffect__invalidate_recursive effect Recursively invalidates this effect and all children. Sets flag at offset 0x58 to 1, calls virtual at vtable+0x9C. Iterates children at offset 0x50, recursing into each that has non-zero value at offset 0x28. 0x00A81C90 39 CEffect__is_ancestor effect Tests if param_2 is an ancestor of this effect. Walks parent chain at offset 0x10. Returns 1 if found, 0 if reached null without match. 0x00A81CC0 73 CEffect__is_descendant_or_self effect Tests if param_2 is this effect or any descendant. Returns 1 if param_2 == this, otherwise recursively checks children at offset 0x50. 0x00A81D10 41 rect_contains_point game_core Tests if a point (param_5, param_6) is strictly inside a rectangle defined by (param_1, param_2, param_3, param_4). Returns 1 if inside, 0 otherwise. 0x00A81D40 19 CEffect__set_position effect Sets effect position offsets. Stores x at offset 0x1C, y at offset 0x20. 0x00A81D60 16 CGameMode__reset_state game_core Wrapper that calls CGameMode__set_state(0) to reset the game mode state to zero. 0x00A81D70 70 CEffect__broadcast_event_4_to_children effect Broadcasts event type 4 (via vtable+0x94) to this effect and all direct children in linked list at offset 0x14. 0x00A81DC0 70 CEffect__broadcast_event_3_to_children effect Broadcasts event type 3 (via vtable+0x94) to this effect and all direct children in linked list at offset 0x14. 0x00A81E10 447 truncate_string_to_pixel_width game_core Truncates a string to fit within a pixel width. Uses multi-byte character iteration to count characters. Allocates new buffer, copies truncated portion. Caches result in global string DAT_01457264 (with thread-safe initialization). 0x00A81FD0 816 CEffect__split_text_into_lines_by_width effect Splits text into multiple lines based on pixel width limit. Iterates through string measuring character widths, breaking at CR characters. Pushes each line segment as a string into param_3 vector. Handles newline detection. 0x00A82310 1725 CEffect__split_text_with_color_and_links effect Splits text into lines with color code and link bracket handling. Handles CR/LF line breaks, ^XXXXXX color codes (subtracts their visual width from line width), and [link] brackets (checks if link fits within remaining width). Safety limit of 1000 lines. Pushes line strings to param_3 vector. 0x00A829D0 1015 CEffect__truncate_text_with_ellipsis effect Truncates text to fit pixel width, appending '...' ellipsis. Measures full text width and ellipsis width. If text fits, returns as-is. Otherwise iterates characters subtracting widths until truncated text + ellipsis fits. Caches result in global string DAT_01457248. 0x00A82DD0 93 CEffect__destroy_all_children effect Destroys all children in the effect's child list at offset 0x50. Calls each child's destructor via vtable[0] with param 1 (scalar delete). Then frees all linked list nodes, resets sentinel pointers, zeros child count at offset 0x54. 0x00A82E30 30 CEffect__destroy_or_detach_children effect Conditionally destroys or detaches children. If param_1 is true, calls destroy_all_children. Otherwise calls FUN_00a871b0 to detach without destroying. 0x00A82E50 92 CEffect__remove_child_from_list effect Removes a specific child from this effect's child list. Searches linked list at offset 0x50 for matching child pointer. If param_3 == 1, calls CUIWindowMgr__close_and_clear_window_ref. Unlinks node from doubly-linked list, decrements count at offset 0x54, frees 12-byte node. 0x00A82EB0 65 CEffect__resize_surface effect Resizes the effect's surface. Destroys old surface at offset 0x24. Creates new surface via stub_00569e90. Updates width/height at offsets 0x14/0x18. Calls virtual reset at vtable+0x98. 0x00A82F00 116 CEffect__send_network_packet_short effect Sends a short network packet (0x2A bytes) with 4 params. Only sends if network mode is 2. Packet header includes entity ID from offset 0x2C. Uses packet type 0x0384. 0x00A82F80 512 CEffect__send_network_packet_with_data effect Sends a large network packet (0x191 bytes) with detailed data structure. Checks permission via FUN_00a970e0 type 5. Copies 3 strings (max 100 chars each) from param_4, plus multiple scalar fields. Uses packet type 0x0385. 0x00A83180 379 CEffect__send_network_packet_dynamic effect Sends a dynamic-length network packet. Allocates buffer, copies variable-length data between param_2/param_3 with 6-byte header. Uses packet type 0x29. Returns total packet size. 0x00A83300 131 CEffect__send_network_packet_5params effect Sends network packet with 5 parameters (0x1E bytes). Only sends if global flag DAT_016f7144 is 0 and network mode is 2. Packet type 0x0391. 0x00A83390 170 CEffect__send_network_packet_with_string effect Sends network packet with 2 params and a string (max 100 chars). Packet type 0x038C, size 0x76 bytes. 0x00A83440 157 CEffect__send_network_packet_with_string2 effect Sends network packet with 1 param and a string (max 100 chars). Packet type 0x038B, size 0x72 bytes. 0x00A834E0 371 CEffect__send_children_text_to_network effect Collects text from all editable child widgets and sends in a network packet. Iterates children, checks for type 2 widgets (vtable+0xB8), reads text length and content. Builds packet with all text data concatenated. Packet type 0x0386, max 0x1000 bytes. 0x00A83660 80 CEffect__notify_parent_of_state_change effect Notifies parent of state change. If param_3==0, calls parent vtable+0x94 with event (this, 0). If param_3==1, calls parent vtable+0x94 with event (this, 1). Returns 0. 0x00A836C0 258 CEffect__apply_children_text_from_packet effect Applies text data from a network packet to editable child widgets. Iterates children, for type 2 widgets reads text length + data from packet, calls vtable+0xD4 to set text, then vtable+0x98 to refresh. Buffer size 260 bytes per text. 0x00A837D0 2033 CEffect__draw_multiline_text_with_links effect Draws multi-line text with link marker handling. Word-wraps text, parses color/link codes per line, and draws each line. Handles clickable link regions. 0x00A83FD0 906 CEffect__compute_skill_effect_sprite_bounds effect Computes scaled bounding box for skill effect sprites. Iterates skill detail entries via UISkillWnd__get_detail_entry, calculates scaled positions using float scale factors, and returns the bounding extents plus a fit scale factor in param_7. Returns 1 on success, 0 if any required data is missing. 0x00A84360 160 CEffect__draw_text_at_position effect Draws text at a given position on the effect surface. Acquires GDI DC, configures font style, sets text color, draws text with color codes at (param_2, param_3). Auto-measures string length if param_5==0. 0x00A84400 398 CEffect__draw_multiline_text_wrapped effect Draws multi-line text with word wrap and color support. Uses text_layout_word_wrap_with_color to break into lines, then draws each line via FUN_00a865e0. Returns total height (line count * param_8 + gaps). 0x00A84590 365 CEffect__draw_text_centered_per_char effect Draws text centered horizontally per-character. Measures max char width, then draws each character centered within that width. Advances y position by character height for vertical layout. 0x00A84700 189 CEffect__draw_text_with_background effect Draws text with a colored background rectangle. Sets background color and mode to OPAQUE (2), draws text, restores background mode to TRANSPARENT (1). 0x00A847C0 237 CEffect__draw_text_centered_in_width effect Draws text centered within a given width. If param_5 is non-zero, centers text horizontally using 0.5f multiplier. Otherwise draws at the given position. Acquires GDI DC, configures font, measures text width, calculates centered offset. 0x00A848B0 716 CEffect__draw_text_with_outline_multiline effect Draws multi-line text with 4-direction outline. Word-wraps, draws shadow in 4 offsets, then foreground. Similar to draw_text_with_outline but handles multiple lines. 0x00A84B80 676 CEffect__draw_text_with_shadow_multiline effect Draws multi-line text with drop shadow. For each color-code segment, draws shadow at (x+1,y+1) in black (color 0) if param_10 is set, then draws main text at (x,y) in foreground color. Handles ^XXXXXX color codes inline. Supports optional background color mode. 0x00A84E30 674 CEffect__draw_text_shadowed_multiline effect Draws multi-line text with drop shadow. Shadow at (x+1,y+1) in shadow color, then main text at (x,y). Handles word-wrap and multiple lines. 0x00A850E0 1586 CEffect__draw_text_multiline_with_background effect Draws multi-line text with colored background. Word-wraps text, sets OPAQUE background mode, draws each line. 0x00A85720 300 CEffect__draw_text_with_outline effect Draws text with 1-pixel outline (4 directions). Draws shadow text at offsets (-1,0), (+1,0), (0,-1), (0,+1) in shadow color, then main text at center in foreground color. Supports optional background color. 0x00A85850 2151 CEffect__draw_text_outlined_right_multiline effect Draws multi-line right-aligned text with 4-direction outline. Centers or right-aligns each line before applying outline effect. 0x00A860C0 312 CEffect__draw_text_centered_with_outline effect Draws centered text with outline. Centers text within param_5 width using DAT_010dc090 (0.5f), then draws 4-direction outline + center text. 0x00A86200 281 CEffect__draw_text_right_with_outline effect Draws right-aligned text with outline. Measures text width, subtracts from x position, then draws 4-direction outline + center text. 0x00A86320 279 CEffect__draw_text_offset_with_outline effect Draws text with outline, offset by measured height. Measures text, offsets x by measured height value, then draws 4-direction outline + center text. 0x00A86440 200 CEffect__draw_text_right_aligned_simple effect Draws right-aligned text (simple, no outline). Measures text width, subtracts from x position, draws single pass with given color. 0x00A86510 196 CEffect__draw_text_with_shadow effect Draws text with drop shadow. Shadow drawn at (x+1, y+1) in shadow color, then main text at (x, y) in foreground color. 0x00A865E0 976 CEffect__draw_single_line_with_color_codes effect Draws a single line of text with color code support. Parses ^XXXXXX color codes, applies colors on-the-fly, measures and draws each segment. Core drawing function used by multi-line variants. 0x00A869C0 192 CEffect__draw_text_with_left_shadow effect Draws text with a left-offset shadow. Draws foreground at (x,y), then shadow at (x-1,y) in second color. 0x00A86A80 32 UICallback__copy_from_source ui_events UICallback copy constructor. Sets vtable to PTR_FUN_01156a84, copies callback data from source at offsets 4-12. 0x00A86AA0 32 UICallback__copy_from_source_00a86aa0 ui_events UICallback copy constructor variant. Sets vtable pointer, copies callback data from source at offsets 4-12. 0x00A86AC0 32 UICallback__copy_from_source_00a86ac0 ui_events UICallback copy constructor variant. Sets vtable pointer, copies callback data from source at offsets 4-12. 0x00A86AE0 32 UICallback__copy_from_source_00a86ae0 ui_events UICallback copy constructor variant. Sets vtable pointer, copies callback data from source at offsets 4-12. 0x00A86B00 68 UICallback__conditional_free_16 ui_events UICallback conditional destructor. Frees 16-byte object if param_2 bit 0 is set. 0x00A86B50 68 UICallback__conditional_free_16_00a86b50 ui_events UICallback conditional destructor variant. Frees 16-byte object if param_2 bit 0 is set. 0x00A86BA0 68 UICallback__conditional_free_16_00a86ba0 ui_events UICallback conditional destructor variant. Frees 16-byte object if param_2 bit 0 is set. 0x00A86BF0 68 UICallback__conditional_free_16_00a86bf0 ui_events UICallback conditional destructor variant. Frees 16-byte object if param_2 bit 0 is set. 0x00A86C40 22 std__vector_destroy_range_3c_wrapper stl Wrapper that forwards to std__vector_destroy_range_3c with reordered parameters. 0x00A86C60 22 std__vector_destroy_range_1c_wrapper stl Wrapper that forwards to std__vector_destroy_range_1c with reordered parameters. 0x00A86C80 74 UICallback__move_to_left_of_target ui_events UICallback that moves an effect to the left of a target. Calculates position by accumulating parent offsets, subtracting effect width, and setting via virtual move at vtable+0x10. 0x00A86CD0 62 UICallback__move_to_right_of_target ui_events UICallback that moves an effect to the right of a target. Calculates position from target's right edge + parent offsets, calls virtual move. 0x00A86DD0 32 UICallback__copy_ctor_move_to_left ui_events Copy constructor for UICallback that positions to the left. Sets vtable to move_to_left_of_target vtable, copies callback data from source. 0x00A86DF0 32 UICallback__copy_ctor_move_to_right ui_events Copy constructor for UICallback that positions to the right. Sets vtable to move_to_right_of_target vtable, copies callback data from source. 0x00A86E10 32 UICallback__copy_ctor_move_left_of ui_events Copy constructor for UICallback that positions left-of. Sets vtable to move_left_of vtable, copies callback data from source. 0x00A86E30 32 UICallback__copy_ctor_move_right_of ui_events Copy constructor for UICallback that positions right-of. Sets vtable to move_right_of vtable, copies callback data from source. 0x00A86E90 174 std__vector_clear_and_free_1c_00a86e90 stl Clears and frees a std::vector with 0x1C-byte elements. Destroys all elements, frees buffer (handles aligned allocations), resets to empty. 0x00A86F50 176 std__vector_relocate_range_1c stl Relocates a range of 0x1C-byte elements. For each element, copy-constructs to new location (copies 2 sub-vectors + 1 scalar). Destroys leftover elements. 0x00A87000 174 std__vector_copy_range_1c stl Copies a range of 0x1C-byte elements (each containing 2 sub-vectors + 1 scalar at +0xC). Destroys leftover elements at end. 0x00A870B0 10 thunk_to_std__Xlength_error_00a870b0 stl Calls std::_Xlength_error with vector_too_long error message 0x00A870C0 10 thunk_to_std__Xlength_error_00a870c0 stl Forwards to std::_Xlength_error with vector_too_long message 0x00A870D0 10 thunk_to_std__Xlength_error_00a870d0 stl Wrapper calling std::_Xlength_error for vector allocation failure 0x00A870E0 92 std__vector_allocate_aligned_4byte stl Allocates aligned buffer for a std::vector of 4-byte elements. Multiplies count by 4. For >=4096 bytes uses 32-byte aligned allocation with stored original pointer. Max 0x40000000 elements. 0x00A87140 102 std__vector_allocate_aligned_1c stl Allocates aligned buffer for std::vector of 0x1C-byte elements. For >=4096 bytes uses 32-byte aligned allocation. Max 0x924924A elements. 0x00A871B0 107 CEffect__detach_all_children effect Detaches all children without destroying them. Walks child list, zeros parent pointer, unlinks from list, frees 12-byte nodes. Unlike destroy_all_children, does not call destructors. 0x00A87220 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00A87260 64 std__allocator_deallocate_3c stl Deallocates buffer for std::vector of 0x3C-byte elements. Handles aligned allocations (>=4096 bytes have stored original pointer at offset -4). 0x00A872B0 67 std__allocator_deallocate_1c stl Deallocates buffer for std::vector of 0x1C-byte elements. Handles aligned allocations (>=4096 bytes have stored original pointer at offset -4). 0x00A87300 423 CEffect__strip_color_codes_and_build_string effect Parses text with ^XXXXXX color codes and builds an output string with codes stripped. Walks input string, skips color code markers, and appends plain text segments to the output string param_1. Returns the built string. 0x00A874B0 108 std__deque_find_element stl Searches a std::deque for an element matching *param_2. Iterates from offset param_1[3] through param_1[3]+param_1[4] elements. Returns packed result with found flag in low byte. 0x00A87520 116 std__tree_copy_and_update_bounds stl Copies a std::tree (red-black tree) from source to destination. Copies all nodes via std__tree_copy_nodes_0x18, updates size, and recalculates leftmost/rightmost bounds. 0x00A875A0 34 std__uninitialized_copy_buffer stl Copies a contiguous memory range via memcpy. Copies from param_1 to param_3, length is (param_2 - param_1). Returns end pointer in destination. 0x00A875D0 34 std__uninitialized_copy_buffer_00a875d0 stl Copies a contiguous memory range via memcpy. Copies from param_1 to param_3, length is (param_2 - param_1). Returns end pointer in destination. 0x00A87600 34 memcpy_and_return_end_00a87600 stl Copies memory from param_1 to param_3 for (param_2 - param_1) bytes. Returns pointer past the end of the destination. 0x00A87630 452 std__vector_insert_and_grow_4byte stl STL vector insert-and-grow operation for 4-byte elements. Inserts a new element at given position, reallocating with 1.5x growth factor if capacity is exceeded. Copies existing elements around the insertion point. 0x00A87800 103 std__tree_destroy_nodes_20bytes stl Recursively destroys STL tree nodes of 0x14 (20) bytes each. Walks the linked list, recursively processes child at offset+8, then frees each node. Stops at sentinel node (byte 0xD != 0). 0x00A87870 103 std__tree_destroy_nodes_24bytes stl Recursively destroys STL tree nodes of 0x18 (24) bytes each. Walks the linked list, recursively processes child at offset+8, then frees each node. Stops at sentinel node (byte 0xD != 0). 0x00A878E0 128 std__tree_destroy_nodes_with_string_44bytes stl Recursively destroys STL tree nodes of 0x2C (44) bytes. For each node, recursively processes child at offset+8, destroys an embedded STL string, then frees the node. Stops at sentinel (byte 0xD != 0). 0x00A87960 103 std__tree_destroy_nodes_24bytes_00a87960 stl Recursively destroys STL tree nodes of 0x18 (24) bytes each. Identical pattern to other tree destroy functions. Stops at sentinel node. 0x00A879D0 103 std__tree_destroy_nodes_24bytes_00a879d0 stl Recursively destroys STL tree nodes of 0x18 (24) bytes each. Identical pattern to other tree destroy functions. Stops at sentinel node. 0x00A87A40 103 std__tree_destroy_nodes_24bytes_00a87a40 stl Recursively destroys STL tree nodes of 0x18 (24) bytes each. Identical pattern to other tree destroy functions. Stops at sentinel node. 0x00A87AB0 103 std__tree_destroy_nodes_68bytes stl Recursively destroys STL tree nodes of 0x44 (68) bytes each. Walks linked list, recursively processes child at offset+8, then frees each node. Stops at sentinel node. 0x00A87B20 99 _Find_last<> stl STL _Find_last. Searches backward through a range to find the last matching element. 0x00A87B90 75 std__tree_lower_bound_int_00a87b90 stl STL RB-tree lower_bound for integer keys. Walks tree comparing key at node+0x10 against search key. Returns iterator result (current, found-flag, bound-node). 0x00A87BE0 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00A87C30 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00A87C80 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00A87CD0 129 std__tree_lower_bound_by_string stl STL RB-tree lower_bound for string keys. Walks tree comparing STL string at node+0x10 against search string using std::char_traits::compare. Returns iterator result. 0x00A87D60 75 std__tree_lower_bound_int_00a87d60 stl STL RB-tree lower_bound for integer keys. Duplicate instance operating on a different tree. Same pattern as std__tree_lower_bound_int. 0x00A87DB0 75 std__tree_lower_bound_int stl STL std::_Tree lower_bound implementation for integer keys. Traverses BST comparing key at node+0x10 against search key. 0x00A87E00 56 _Fnv1a_append_value<> game_core STL FNV-1a hash append. XORs a value into the running hash and multiplies by the FNV prime. 0x00A87E40 58 fnv1a_hash_4bytes_00a87e40 game_core FNV-1a hash of 4 bytes. Seed=0x811c9dc5, prime=0x1000193. Used as hash function for unordered containers with 4-byte keys. 0x00A87E80 250 merge_sort_linked_list_by_field_4c game_core Merge sort for doubly-linked list. Sorts by comparing int field at node+0x4C (offset into node's data). Recursive split-and-merge with linked list pointer manipulation. 0x00A87F80 37 _Uninitialized_value_construct_n_> stl STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset. 0x00A87FB0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00A87FD0 519 std__unordered_map_emplace_00a87fd0 stl std::unordered_map emplace operation. Hashes key with FNV-1a, finds bucket via _Find_last, allocates new node if not found. Handles rehashing when load factor exceeded. Throws std::_Xlength_error if at max capacity. 0x00A881E0 97 fill<> stl STL std::fill for 4-byte pointer ranges. Uses unrolled 4-element loop for large ranges, then fills remainder one at a time. 0x00A88250 240 std__tree_emplace_24bytes stl STL tree emplace for nodes of 0x18 (24) bytes. Uses _Find_lower_bound to locate insertion point, allocates node, calls Insert_node. Returns iterator+bool pair. 0x00A88350 234 std__tree_emplace_20bytes stl STL tree emplace for nodes of 0x14 (20) bytes. Uses _Find_lower_bound to locate insertion point, allocates node, calls Insert_node. Returns iterator+bool pair. 0x00A88440 34 memcpy_range_to_dest_00a88440 stl Copies memory range [param_1, param_2) to param_3. Returns pointer past the end of copied data. 0x00A88470 31 fill_range_with_value game_core Fill range with value 0x00A88490 1833 CGameObject__ctor game_core CGameObject constructor. Initializes vtable (PTR_FUN_01156dc8), allocates numerous STL containers (trees, lists, maps) for game data. Sets default values for rendering params (opacity=0xAA, scale=1.0), state flags, and indices. Very large object (~0x4F320+ bytes). 0x00A88BC0 67 std__tree_free_node_12bytes stl STL tree node deallocator. Frees a 0xC (12) byte tree node if non-null. 0x00A88C10 67 std__tree_free_node_20bytes stl STL tree node deallocator. Frees a 0x14 (20) byte tree node if non-null. 0x00A88C60 67 std__tree_free_node_36bytes stl STL tree node deallocator. Frees a 0x24 (36) byte tree node if non-null. 0x00A88CB0 67 std__tree_free_node_12bytes_00a88cb0 stl STL tree node deallocator. Frees a 0xC (12) byte tree node if non-null. 0x00A88D00 67 std__tree_free_node_20bytes_00a88d00 stl STL tree node deallocator. Frees a 0x14 (20) byte tree node if non-null. 0x00A88D50 67 std__tree_free_node_24bytes stl STL tree node deallocator. Frees a 0x18 (24) byte tree node if non-null. 0x00A88DA0 67 std__tree_free_node_44bytes stl STL tree node deallocator. Frees a 0x2C (44) byte tree node if non-null. 0x00A88DF0 67 std__tree_free_node_24bytes_00a88df0 stl STL tree node deallocator. Frees a 0x18 (24) byte tree node if non-null. 0x00A88E40 67 std__tree_free_node_24bytes_00a88e40 stl STL tree node deallocator. Frees a 0x18 (24) byte tree node if non-null. 0x00A88E90 67 std__tree_free_node_24bytes_00a88e90 stl STL tree node deallocator. Frees a 0x18 (24) byte tree node if non-null. 0x00A88EE0 67 std__tree_free_node_68bytes stl STL tree node deallocator. Frees a 0x44 (68) byte tree node if non-null. 0x00A88F30 131 std__list_clear_and_free_12byte_nodes stl Clears a std::list with 0xC byte nodes. Calls vector deallocate, then iterates linked list freeing each node, then frees sentinel. 0x00A88FC0 125 std__vector_deallocate stl Deallocates std::vector internal buffer. Handles aligned allocation (>0xFFF bytes check backing pointer at buf[-4]). Resets begin/end/capacity to 0. 0x00A89050 78 std__list_free_sentinel_12bytes stl Frees a std::list sentinel node (0xC bytes) if non-null. Used in list destructor. 0x00A890A0 78 std__list_free_sentinel_20bytes stl Frees a std::list sentinel node (0x14 bytes) if non-null. Used in list destructor. 0x00A890F0 113 std__tree_node_destroy_with_string_36bytes stl Destroys a std::_Tree node (0x24 bytes) that contains an embedded std::string. Calls STL_string_dtor first, then frees the node. 0x00A89170 78 std__list_free_sentinel_12bytes_00a89170 stl Frees a std::list sentinel node (0xC bytes) if non-null. Duplicate instance for different container type. 0x00A891C0 111 std__tree_clear_and_destroy_24byte_nodes_a stl Clears a std::_Tree with 0x18 (24) byte nodes. Iterates all nodes calling std__tree_destroy_nodes_24bytes to recursively clean up, frees each node, then frees sentinel. 0x00A89240 111 std__tree_clear_and_destroy_24byte_nodes_b stl Clears a std::_Tree with 0x18 (24) byte nodes. Iterates all nodes calling std__tree_destroy_nodes_24bytes_00a87a40 to recursively clean up, frees each node, then frees sentinel. 0x00A892C0 111 std__tree_clear_and_destroy_68byte_nodes stl Clears a std::_Tree with 0x44 (68) byte nodes. Iterates all nodes calling std__tree_destroy_nodes_68bytes to recursively clean up, frees each node, then frees sentinel. 0x00A89340 76 std__tree_clear_and_destroy_44byte_nodes stl Clears a std::_Tree with 0x2C (44) byte nodes containing embedded strings. Calls std__tree_destroy_nodes_with_string_44bytes to recursively destroy children, then frees sentinel. 0x00A893A0 111 std__tree_clear_and_destroy_24byte_nodes_c stl Clears a std::_Tree with 0x18 byte nodes. Iterates all nodes calling FUN_00a87960 to clean up node data, frees each 0x18 node, then frees sentinel. 0x00A89420 111 std__tree_clear_and_destroy_24byte_nodes_d stl Clears a std::_Tree with 0x18 byte nodes. Iterates all nodes calling FUN_00a879d0 to clean up node data, frees each 0x18 node, then frees sentinel. 0x00A894A0 111 std__tree_clear_and_destroy_20byte_nodes stl Clears a std::_Tree with 0x14 byte nodes. Iterates all nodes calling FUN_00a87800 to clean up node data, frees each 0x14 node, then frees sentinel. 0x00A89520 78 std__list_free_sentinel_20bytes_00a89520 stl Frees a std::list sentinel node (0x14 bytes) if non-null. 0x00A89570 78 std__list_free_sentinel_24bytes stl Frees a std::list sentinel node (0x18 bytes) if non-null. 0x00A895C0 113 std__tree_node_destroy_with_string_44bytes stl Destroys a std::_Tree node (0x2C bytes) that contains an embedded std::string. Calls STL_string_dtor first, then frees the node. 0x00A89640 78 std__list_free_sentinel_24bytes_00a89640 stl Frees a std::list sentinel node (0x18 bytes) if non-null. 0x00A89690 78 std__list_free_sentinel_24bytes_00a89690 stl Frees a std::list sentinel node (0x18 bytes) if non-null. 0x00A896E0 78 std__list_free_sentinel_24bytes_00a896e0 stl Frees a std::list sentinel node (0x18 bytes) if non-null. 0x00A89730 78 std__list_free_sentinel_68bytes stl Frees a std::list sentinel node (0x44 bytes) if non-null. 0x00A89780 78 std__list_free_sentinel_20bytes_00a89780 stl Frees a std::list sentinel node (0x14 bytes) if non-null. 0x00A897D0 78 std__list_free_sentinel_24bytes_00a897d0 stl Frees a std::list sentinel node (0x18 bytes) if non-null. 0x00A89820 78 std__list_free_sentinel_44bytes stl Frees a std::list sentinel node (0x2C bytes) if non-null. 0x00A89870 78 std__list_free_sentinel_24bytes_00a89870 stl Frees a std::list sentinel node (0x18 bytes) if non-null. 0x00A898C0 78 std__list_free_sentinel_24bytes_00a898c0 stl Frees a std::list sentinel node (0x18 bytes) if non-null. 0x00A89910 78 std__list_free_sentinel_24bytes_00a89910 stl Frees a std::list sentinel node (0x18 bytes) if non-null. 0x00A89960 78 std__list_free_sentinel_68bytes_00a89960 stl Frees a std::list sentinel node (0x44 bytes) if non-null. 0x00A899B0 201 unordered_map_clear_and_destroy game_core Destroys an unordered_map/hash_map. Decrements size to 0, frees all bucket entries (0x10 byte nodes), deallocates bucket array (with aligned alloc support), then frees the 8-byte head node. 0x00A89A80 103 std__list_clear_and_free_12byte_nodes_00a89a80 stl Clears a std::list with 0xC (12) byte nodes. Walks linked list freeing each node, then frees sentinel. 0x00A89AF0 131 std__list_clear_and_free_36byte_string_nodes stl Clears a std::list with 0x24 (36) byte nodes that contain embedded std::strings. Destroys each string before freeing node, then frees sentinel. 0x00A89B80 103 std__list_clear_and_free_12byte_nodes_00a89b80 stl Clears a std::list with 0xC (12) byte nodes. Walks linked list freeing each node, then frees sentinel. 0x00A89BF0 65 std__tree_dtor_wrapper_24byte_a stl SEH wrapper around std::_Tree destructor for 24-byte nodes (variant a). 0x00A89C40 65 std__tree_dtor_wrapper_24byte_b stl SEH wrapper around std::_Tree destructor for 24-byte nodes (variant b). 0x00A89C90 65 std__tree_dtor_wrapper_68byte stl SEH wrapper around std::_Tree destructor for 68-byte nodes. 0x00A89CE0 87 std__tree_clear_and_destroy_44byte_nodes_00a89ce0 stl Clears a std::_Tree with 0x2C byte nodes. Recursively destroys child nodes then frees sentinel. 0x00A89D40 65 std__tree_dtor_wrapper_24byte_c stl SEH wrapper around std::_Tree destructor for 24-byte nodes (variant c). 0x00A89D90 65 std__tree_dtor_wrapper_24byte_d stl SEH wrapper around std::_Tree destructor for 24-byte nodes (variant d). 0x00A89DE0 65 std__string_dtor_wrapper stl SEH wrapper around STL_string_dtor. Used as cleanup handler in exception frames. 0x00A89E30 65 std__tree_dtor_wrapper_20byte stl SEH wrapper around std::_Tree destructor for 20-byte nodes. 0x00A89E80 65 unordered_map_dtor_wrapper game_core SEH wrapper around unordered_map_clear_and_destroy. Used as cleanup handler in exception frames. 0x00A89ED0 65 std__list_dtor_wrapper_12byte stl SEH wrapper around std__list_clear_and_free_12byte_nodes. 0x00A89F20 129 std__vector_deallocate_if_nonempty stl Deallocates a std::vector buffer if non-null. Handles aligned alloc (>0xFFF check). Resets begin/end/capacity to 0. 0x00A89FB0 177 std__vector_destroy_strings_and_deallocate stl Destroys a std::vector. Iterates elements calling STL_string_dtor for each 0x20-byte string, then deallocates vector buffer. 0x00A8A070 65 std__string_dtor_wrapper_00a8a070 stl SEH wrapper around STL_string_dtor. Duplicate cleanup handler for a different exception frame. 0x00A8A0C0 71 CGameObject__dtor game_core CGameObject destructor. Sets vtable to PTR_FUN_01156dd0, then delegates to UIWindowBase__dtor. 0x00A8A110 84 CGameObjectWindow__dtor game_core CGameObjectWindow destructor. Sets vtable chain (01156c18 then CUIPlainWindow vtable), delegates to UIWindowBase__dtor. 0x00A8A170 71 CGameObjectExtWindow__dtor game_core CGameObjectExtWindow destructor. Sets vtable to CUIExtendedWindow, delegates to UIWindow__dtor_8cbbc0. 0x00A8A1C0 1139 CGameObject__destroy_all_containers game_core CGameObject destructor body. Destroys CUIElement singleton, calls CUIWindowMgr__destroy_all_windows, frees tree node data at offset 0x13c64, then destroys all member containers in reverse order: lists, trees, vectors, unordered_maps, strings. Matches ctor at 00a88490. 0x00A8A640 86 CGameObject__rehash_or_clear_buckets game_core Rehashes or clears hash table buckets. If bucket count < capacity/8, calls FUN_00ab0aa0 to rehash. Otherwise calls FUN_00a871b0 and fills bucket pointers. 0x00A8A6C0 68 std__vector_string_dtor_wrapper stl SEH wrapper around std__vector_destroy_strings_and_deallocate. 0x00A8A710 223 std__tree_insert_or_find_24byte stl std::_Tree insert-or-find for 0x18 (24) byte nodes. Searches tree via FUN_00a87d60, inserts new node if key not found (throws at max 0xAAAAAAA). Returns pointer to value field (node+0x14). 0x00A8A7F0 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A8A850 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A8A8B0 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A8A910 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A8A970 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A8A9D0 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A8AA30 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A8AA90 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00A8AAF0 132 std__tree_iterator_increment stl std::_Tree in-order iterator increment (operator++). From current node, descends to leftmost of right subtree, or walks up to first unvisited ancestor. Used for BST in-order traversal. 0x00A8AB80 93 CGameObjectSmall__scalar_deleting_dtor game_core Scalar deleting destructor for small game object (0xE0 bytes). Calls UIWindow__dtor_8ca740, optionally frees this. 0x00A8ABE0 99 CGameObject__scalar_deleting_dtor game_core CGameObject scalar deleting destructor (0x10C bytes). Sets vtable to PTR_FUN_01156dd0, calls UIWindowBase__dtor, optionally frees this. 0x00A8AC50 112 CGameObjectWindow__scalar_deleting_dtor game_core CGameObjectWindow scalar deleting destructor (0xB4 bytes). Sets vtable to CUIPlainWindow, calls UIWindowBase__dtor, optionally frees this. 0x00A8ACC0 112 CGameObjectExtWindow__scalar_deleting_dtor game_core CGameObjectExtWindow scalar deleting destructor (0x168 bytes). Sets vtable to CUIExtendedWindow, calls UIWindow__dtor_8cbbc0, optionally frees this. 0x00A8AD30 38 CGameObject__full_scalar_deleting_dtor game_core CGameObject full scalar deleting destructor (0x4F2B0 bytes). Calls CGameObject__destroy_all_containers, optionally frees this. 0x00A8AD60 80 CGameObject__register_window_with_timer game_core Registers a window at this+0x4F250. Unregisters previous window if set, sets new window with flag=0x80 and timestamp from timeGetTime(), inserts into list at this+0x17C. 0x00A8ADB0 99 CGameObject__send_packet_0x202 game_core Builds and sends packet 0x0202. Copies 6 dwords from param into packet body, calls network send functions. 0x00A8AE20 252 CGameObject__tree_insert_int_pair game_core Inserts an int key-value pair into the std::_Tree at this+0x4F198. Traverses tree to find insertion point, allocates 0x18 node, stores key at node+0x10 and value at node+0x14. 0x00A8AF20 306 CGameObject__add_window_to_list_and_position game_core Adds a window to list at this+0x17C and another list at this+0x4F240. Creates CUIElement singleton if needed. For each list entry, calls CUIGrid__GetCellPosition and a virtual method (vtable+0x10) to set position. 0x00A8B060 58 CGameObject__add_unique_to_list_18c game_core Adds a value to the list at this+0x18C if not already present. Walks the list checking for duplicates before inserting. 0x00A8B0A0 407 CGameObject__select_server_by_name game_core Selects a server by name string. Searches server list at (this+0x1C8)->0xC0->0x11C for matching server name using std::_Traits_equal. If not found, appends name. Sets server index at +0x128 and calls virtual method +0x94 with command 0x27. 0x00A8B240 395 CGameObject__ensure_server_name_in_list game_core Ensures a server name exists in the server list at (this+0x1C8)->0xC0->0x11C. Searches for matching name; if already present, returns immediately. If not found, appends name to the list and clamps the current server index (at +0x128) to valid range. 0x00A8B3D0 1124 CGameObject__handle_whisper_message game_core Handles incoming whisper/PM messages. Checks guild/friend status via FUN_00dfa030/FUN_00df9690/FUN_00df9560. Dispatches chat message (type 0xE). Plays new message sound. Manages whisper window focus and server list. Returns 1 if message was processed. 0x00A8B840 390 CGameObject__tree_insert_string_with_value game_core Inserts a string key with an int value into std::_Tree at this+0x500. Allocates 0x2C node with copy-constructed string key. If key already exists, updates the value at node+0x28. 0x00A8B9D0 24 CGameObject__insert_to_window_list game_core Inserts a window pointer to the back of the window list at this+0x17C. 0x00A8B9F0 26 CGameObject__insert_to_window_list_front game_core Inserts a window pointer to the front of the window list at this+0x17C. 0x00A8BA10 58 CGameObject__process_all_windows_recursive game_core Iterates all windows in list at this+0x17C and calls CEffect__process_recursive on each with the given parameters. 0x00A8BA50 200 CGameObject__dispatch_command_to_active_window game_core Dispatches command (vtable+0x94 with params 0,1,0,0,0,0) to the active window. Checks this+0x1A0 first, then deque at this+0x1A8, then walks window list at this+0x17C checking IsVisible (vtable+8). 0x00A8BB20 222 CGameObject__apply_window_positions game_core Applies saved window positions from CUIWindowPositionMgr singleton (DAT_01457098). For each window in list at this+0x17C, looks up position by window type ID (offset +0x2C) in the position map. 0x00A8BC00 1008 CGameObject__process_key_input game_core Processes keyboard input. Maps scancode+flag combos (0xXX0001) to virtual key codes for message 0xE5 (IME). Detects modifier keys (Alt=0x12, Shift=0x10, Ctrl=0x11, Tab=9) via GetAsyncKeyState. Returns key combo type: 0=escape, 1=blocked, 2=modifier only, 3=Tab combo, 4=regular key. 0x00A8BFF0 117 CGameObject__close_window_by_type game_core Closes/toggles a window by type ID. Finds window via CUIWindowMgr__find_window_by_type. For certain types (0x16-0x19, 0x29, 0x2c, 0xa1, 0xae, 0xb2) sends command 0xB9; for others (0x84, 0xb5, 0xb8, 0xcb, 0x119, 0x146, 0x2728) sends 0xC9. 0x00A8C150 109 CGameObject__toggle_navigation_windows game_core Toggles navigation/minimap windows (type 0xBD). If param is 1, checks game option 0xFA state to show/hide. Otherwise hides. Calls virtual method at vtable+0x38 with show/hide flag. 0x00A8C1C0 62 CGameObject__find_active_chat_room game_core Searches the chat room tree at this+0x9C4 for a room with a non-zero value at node+0x14. Returns 1 (with the value in the upper bytes) if an active room is found, 0 otherwise. 0x00A8C200 176 CGameObject__clear_window_references game_core Clears multiple window pointer fields (0x19C, 0x1A0, 0x1B8, 0xA30, 0x4F1D4) if they match param_2 or if FUN_00a81c90 returns true (parent window check). 0x00A8C2B0 37 CGameObject__reset_all_window_alpha game_core Iterates all windows in list at this+0x17C and calls CEffect__reset_alpha_recursive on each to reset transparency. 0x00A8C2E0 33 CGameObject__destroy_object_at_478 game_core Destroys the object at this+0x478 by calling its scalar deleting destructor (vtable[0] with flag 1), then nulls the pointer. 0x00A8C310 404 CGameObject__flush_deque_and_tree game_core Flushes deque at this+0x1A8 and associated tree at this+0x170. For each deque entry, finds matching tree range, removes tree nodes, and destroys deque entries. Then destroys remaining tree entries. Complex cleanup routine. 0x00A8C4B0 194 CGameObject__add_to_deferred_list game_core Adds param_2 to deferred list at this+0x4F248. Calls FUN_00dff1a0 before and FUN_00dff150 after insertion. Throws if list is at max size 0x15555555. 0x00A8C580 261 CGameObject__move_windows_to_destroy_list game_core Moves all windows from list at this+0x4F240 to destroy list at this+0x184. Clears cached pointers (0x3D4, 0x3D8, 0x3DC, 0x1B8, 0x4F2AC) if they match moved windows. Frees and resets the source list. 0x00A8C690 185 CGameObject__clear_tree_at_4f190 game_core Clears tree at this+0x4F190. Frees 0x10-byte data at each node+0x14, then destroys tree nodes with cleanup callbacks. Resets tree state to empty. 0x00A8C750 45 CGameObject__hide_modal_window game_core Hides the modal window at this+0xA30 if it exists and has flag at +0x28 set. Calls UICheckbox__unregister_and_refresh and hides via vtable+0x38. Returns 1 if hidden. 0x00A8C780 11 CGameObject__open_window_0x2728 game_core Opens window type 0x2728 by calling FUN_00a8cf20 (the large window creation dispatcher). 0x00A8C790 167 CGameObject__screen_to_tile_coords game_core Converts screen coordinates (float) to tile coordinates (int). Uses tile size at this+0x118 and map dimensions at this+0x110, this+0x114. 0x00A8C840 264 CGameObject__create_chat_room game_core Creates a new chat room object (0x40 bytes). Limits to 5 rooms (this+0x9C8). Calls FUN_00ab22b0 to initialize at position. On failure shows error message 0x62A. Returns room pointer or 0. 0x00A8C960 188 CGameObject__get_or_create_single_chat_room game_core Gets or creates a singleton chat room at this+0x9D0. Only creates if null. Allocates 0x40 bytes, calls FUN_00ab1de0 constructor, FUN_00ab22b0 to init position. Returns room pointer. 0x00A8CA20 753 CGameObject__dispatch_escape_key game_core Handles ESC key press. Checks window priority chain: deque top -> ptr at 0x234 -> 0x314/0x318 (with map mode check) -> 0x1F8/0x1F0/0x1F4/0x214 -> 0x21C (sends 0x13) -> 0x20C/0x374/0x378/0x30C -> active window (0x1A0) -> focused (0x3D4) -> visible windows. Returns whether ESC was consumed. 0x00A8CD20 66 CGameObject__send_resize_to_visible_windows game_core Sends resize command (0x21) to all visible windows in list at this+0x17C. Checks IsVisible via vtable+8 before sending. 0x00A8CD70 112 CGameObject__remove_effect_from_tree game_core Removes an effect entry from the tree at this+0x194 by key. Only acts if game option 0x8D is enabled. Finds node via _Find_lower_bound, extracts and frees the 0x44-byte node. 0x00A8CDE0 97 CGameObject__unregister_window_by_id game_core Unregisters a window by ID from tree at this+0x28. Finds node via FUN_00a87b90, calls CUIWindowMgr__unregister_window with the stored value, extracts and frees 0x18-byte node. 0x00A8CE50 195 CGameObject__remove_tree_entry_by_string game_core Removes an entry from string-keyed tree at this+0x500 by string key. Finds node via FUN_00a87cd0 with string comparison, destroys embedded string, frees 0x2C-byte node. 0x00A8CF20 8943 CGameObject__open_or_toggle_window_by_type game_core Large window creation/toggle dispatcher. Takes a window type ID and opens, creates, or toggles the corresponding window. Called by CGameObject__open_window_0x2728 and likely many other entry points. (8943 bytes - too large to fully decompile in audit context.) 0x00A8F670 51 CGameObject__close_special_window_by_type game_core Closes special windows by type. For type 0x9C, unregisters this+0x404. For types 0x9D-0xBF, unregisters found window. For 0xB5, additionally calls FUN_00df3160. 0x00A8F720 84 CGameObject__remove_transient_window_from_list game_core Removes a window from the list at this+0x18, but only if it is not a persistent window type (checked via is_persistent_window_type). Persistent windows (certain UI types) are kept in the list. Unlinks and frees the 0xC-byte list node. 0x00A8F780 191 CGameObject__destroy_all_chat_rooms game_core Destroys all chat rooms. Iterates tree at this+0x9C4, destroys each room's 0x40-byte data via FUN_00ab1f20, clears tree. Also destroys singleton room at this+0x9D0. Resets count at this+0x9C8. 0x00A8F840 31 CGameObject__destroy_object_at_478_00a8f840 game_core Destroys object at this+0x478 via scalar deleting destructor (vtable[0] with flag 1), nulls pointer. Duplicate of 00a8c2e0. 0x00A8F860 194 CGameObject__remove_chat_room_by_id game_core Removes a chat room by ID. Searches tree at this+0x9C4, if found destroys 0x40-byte room data (handles singleton at 0x9D0), extracts and frees 0x18-byte tree node. If not in tree, checks singleton by ID match. 0x00A8F930 585 CGameObject__push_modal_window game_core Pushes a modal window onto the deque at this+0x1A8. If param is 0, returns 0xB9. Grows deque if needed. Waits in a loop checking for completion via this+4 and this+0x474 fields, or timer event 0x14. Unregisters windows on timeout. 0x00A8FB80 168 CGameObject__send_close_to_priority_window game_core Sends close command (0x13) to the highest-priority visible window. Checks priority pointers: 0x1F8, 0x1F0, 0x1F4, 0x214, 0x21C, 0x20C, 0x374, 0x1A0. Falls back to walking window list sending 0x13 to visible ones. 0x00A8FC30 108 create_tooltip_window_at_position game_core Creates a temporary tooltip window at position. Allocates via stub_00569e90, calls vtable+0x10 to init, vtable+0x30 to position, then destroys with vtable[0]. 0x00A8FCA0 130 CGameObject__attach_window_to_chain game_core Attaches a window (param_4) to a chain found via FUN_00a91c70 at (param_2, param_3). Accumulates parent offsets, calls FUN_00a82f80 to set position. If not root parent, calls vtable+0x28. 0x00A8FD30 128 CGameObject__update_active_window_focus game_core Updates active window focus. Gets cursor target from (this+0x1C8)->0xBC. Calls vtable+0x60 (OnFocusChange) on current active window at 0x1A0. Updates 0x1A0 to new target via vtable+0x18, calls vtable+0x5C (OnFocusGained). 0x00A8FDB0 872 CGameObject__show_progress_dialog game_core Shows a progress/loading dialog. Creates CUIMinimalWindow (0xB8 bytes), sizes to 0x118x0x30, centers on screen. Pushes onto deque at this+0x1A8 and runs modal loop checking for completion/timeout. Calls FUN_00a91120 on exit. 0x00A90130 172 CGameObject__destroy_and_clear_hash_map game_core Destroys all entries in hash map at this+0x4F290. For each entry with non-null data, calls scalar deleting destructor. Then either uses erase_range or manual cleanup depending on load factor. 0x00A901E0 998 CGameObject__show_dialog_box_extended game_core Shows an extended dialog box (UIWindowE, 0x120 bytes). Creates modal dialog with multiple params, pushes onto deque, runs modal loop. Returns 0xB9 on failure/block, 0xB8 on timeout, or result code on completion. 0x00A905D0 888 CGameObject__show_dialog_box_simple game_core Shows a simple dialog box (0x100 bytes). Creates modal dialog, pushes onto deque, runs modal loop. Similar to extended version but with fewer layout params. 0x00A90950 1019 CGameObject__dispatch_scancode_to_shortcut game_core Dispatches scancode+flag to shortcut window at this+0x1E8. Maps scancodes (0x10xxxx-0x34xxxx) to grid positions (col,row) and sends command 0x29. Only active when DAT_01737ab8 is set and DAT_01737ac0 is clear. 0x00A90D50 78 CGameObject__dispatch_vkey_to_shortcut game_core Dispatches virtual key code to shortcut window at this+0x1E8. Maps ASCII characters A-Z and punctuation to grid positions and sends command 0x29. Case-insensitive. 0x00A91120 188 CGameObject__find_and_focus_clickable_child game_core Searches window list at this+0x17C for a clickable child element. For each window with flag at +0x28, iterates child list at +0x50 checking vtable+0x14 (IsClickable). On found: calls vtable+0x18 (GetOwner), updates focus at this+0x1A0. 0x00A911E0 18 CGameObject__defocus_active_window game_core Defocuses the active window at this+0x1A0 by calling vtable+0x60 (OnFocusLost) with 0. 0x00A91200 483 CGameObject__get_hotkey_behavior game_core Gets hotkey behavior by calling Lua function 'GetBehaviorOfHotKey2' via FUN_00afc9a0 with key+modifier info. If Lua returns -1 and Shift is held, scans macro slots (DAT_01732ae8) for matching key binding. Returns behavior ID or -1. 0x00A913F0 7 get_field_0x19c_00a913f0 game_items Getter returning 4-byte field at offset 0x19c from param_1 0x00A91400 67 CGameObject__get_first_nonempty_window_slot game_core Returns the first non-null window pointer from slots at this+0x320 through this+0x338. Checks 7 consecutive pointers. 0x00A91450 74 CGameObject__peek_deque_top game_core Peeks at the top element of the deque at this+0x1A8 without removing it. Returns 0 if deque is empty. Uses circular buffer indexing with front offset and mask. 0x00A914A0 462 CGameObject__compute_window_snap_offsets game_core Computes snap offsets for window positioning. Uses CCollisionRect to detect overlaps between the window bounds and screen bounds, then checks against other windows in the tree at this+0x194 to find snap positions. Handles dependency chains. 0x00A91670 118 CGameObject__ensure_ui_element_and_add_child game_core Creates CUIElement singleton (DAT_0138d42c) if needed (0x34 bytes), then calls CUIElement__AddChild to add a child widget. 0x00A916F0 7 get_field_0x1a0_00a916f0 game_items Getter that returns 4-byte field at offset 0x1a0 from param_1 0x00A91730 310 CGameObject__find_window_by_session_id game_core Searches window list at this+0x4F240 for a window matching param_2 by session ID (at window+0xB8). Copies string fields during search. Returns window pointer or 0. 0x00A91870 50 CGameObject__find_window_by_field_104 game_core Searches window list at this+0x4F240 for a window where field at offset +0x104 equals param_2. Returns window pointer or 0. 0x00A918B0 97 CGameObject__get_visible_area_rect game_core Gets the visible area rectangle. param_2 gets {0, top, width, height-bottom_margin}. top comes from window type 0x133 if it exists, otherwise calculated from this+0x480. Uses DAT_0132913c for bottom margin. 0x00A91920 75 CGameObject__lookup_tree_4f190_by_key game_core Looks up a value in the tree at this+0x4F190 by integer key. Returns value at node+0x14 or 0 if not found. 0x00A91990 75 CGameObject__lookup_chat_room_by_id game_core Looks up a chat room by ID in tree at this+0x9C4. Returns value at node+0x14 or 0 if not found. 0x00A919E0 322 CGameObject__lookup_tree_500_by_string game_core Looks up a value in the string-keyed tree at this+0x500. Creates temp string from param, searches tree via FUN_00a87cd0 with string comparison. Returns value at node+0x28 or 0. 0x00A91B30 56 CGameObject__find_window_by_uid game_core Finds a window by unique ID (offset +0x74). Walks list at this+0x17C checking each window, also checks children via CEffect__find_child_by_id_recursive. Returns window pointer or 0. 0x00A91B70 43 accumulate_parent_offsets game_core Accumulates X and Y offsets from a chain of parent windows. Follows parent pointer at offset +0x10. Returns total offsets in param_2 (X) and param_3 (Y). 0x00A91BA0 110 compute_window_absolute_bounds game_core Computes absolute screen bounds for a window. Accumulates parent offsets (+0x1C, +0x20) for top-left, adds window size (+0x14, +0x18) for bottom-right. Returns (left, top, right, bottom). 0x00A91C10 64 CGameObject__get_all_window_type_ids game_core Fills array with window type IDs (field +0x2C) from all windows in list at this+0x17C. Returns total window count. 0x00A91C50 18 CGameObject__hide_main_window game_core Hides the main window at this+0x1C8 by calling vtable+0x38 with 0 (hide). 0x00A91C70 277 CGameObject__hit_test_windows game_core Hit-tests screen coordinates against windows. First checks window list (this+0x17C backwards) calling vtable+0xC8 (HitTest). Then checks tree at this+0x4F198. Tracks hover state at this+0x4F1A0/A4 and calls vtable+0xBC/0xC0 for mouse enter/leave. 0x00A91D90 22 CGameObject__is_guild_window_active game_core Checks if the guild window at this+0x30C is active (non-null with field +4 set). Returns 1 if active. 0x00A91DB0 201 CGameObject__restore_saved_windows game_core Restores previously saved windows on login. Matches windows in list 0x17C against saved list at this+0x50C, shows matching ones. If player state is map mode (0x254==1), triggers equip window. Opens windows from tree at this+0x4F198 via FUN_00a8cf20. 0x00A91E80 21 CGameObject__refresh_window_visibility_twice game_core Calls CUIWindowMgr__manage_window_visibility_state(4) twice to refresh window visibility. 0x00A91EA0 182 CGameObject__check_is_behavior_of_window game_core Checks if current hotkey triggers a window behavior by calling Lua function 'IsBeHaviorOfWindow' after getting hotkey behavior. 0x00A91F60 303 CGameObject__create_equip_windows_from_data game_core Creates equipment display windows from data. Iterates DAT_01732d70 entries, creates UIEquipWnd (0x138 bytes) for each valid entry, sizes to 0xAEx0x34, positions via grid, sends command 0x17 with data. 0x00A92090 736 load_shortcut_items_from_registry game_core Loads shortcut items from Windows registry. Reads 36 entries (SITEM_d_d_d and S_SKILL_USE_LEVEL_d_d_d) from HKLM under ShortcutItem path. Handles special '#' prefix for skill shortcuts. 0x00A92370 696 load_skill_use_levels_from_registry game_core Loads skill use levels from Windows registry (SkillUseLevelInfo). Reads levels for skill IDs 1-7998, 8000-8060, and 8200-8457 from HKLM. Validates with CSkillManager__IsLevelUseSkill before setting level. 0x00A92630 10650 CGameObject__init_window_positions_from_registry game_core Initializes default window positions from Windows registry. 10K bytes. Called by WinMain_game_entry. Reads saved window positions via RegQueryValueExA and registers window validators. 0x00A94FD0 1259 CGameObject__init_window_type_table game_core Initializes the window type table. Clears 0x2739 entries of 32 bytes each starting at this+0xA34, setting default state (show_flag=1). Then sets specific default flags for ~100+ known window types at specific offsets. 0x00A954C0 115 CGameObject__register_chat_room_in_tree game_core Registers a chat room in tree at this+0x9C4. Looks up by ID, only inserts if not found or node value is 0, and param_3 is non-null. Returns 1 if inserted. 0x00A95540 71 CGameObject__reorder_window_in_list_18 game_core Reorders a window type in list at this+0x18. Removes it first, then inserts at back for type 0xCB or at front for others. Uses FUN_00a96a60 to check if window type should be skipped. 0x00A95590 511 format_int_to_string game_core Formats an integer to a std::string. If param_3==0, uses _itoa. Otherwise uses sprintf with '% 10d' format and trims to param_3 characters from the right. 0x00A95790 1070 format_int_with_commas game_core Formats a 32-bit integer as a string with comma separators every 3 digits. param_3=1 enables comma formatting, param_4=1 adds '+' prefix for positive values. Handles negative numbers by taking absolute value, inserting commas, then prepending '-'. Removes leading comma if present. 0x00A95BC0 1220 format_int64_with_commas game_core Formats a 64-bit integer (param_2:param_3) as a string with comma separators. Uses %I64d sprintf format. Same comma insertion logic as format_int_with_commas. Handles negative values and optional '+' prefix for positives. 0x00A96090 1606 CGameObject__rebuild_window_list game_core Rebuilds the game window list from scratch. Clears the window list at 0x4f240, nulling tracked window pointers (0x3d4/3d8/3dc/1b8/4f2ac). Iterates equipment data to build a new list, creates UIEquipWnd instances for valid entries, and manages window z-ordering/focus state based on window type IDs (0xc=0xea, 0x52=0xfa). 0x00A966E0 37 CGameObject__invalidate_all_windows game_core Invalidates all windows in list at this+0x17C by calling CEffect__invalidate_recursive on each. 0x00A96710 31 CGameObject__send_refresh_to_window_444 game_core Sends refresh command (0x3C) to the window at this+0x444 if non-null. 0x00A96730 215 CGameObject__send_refresh_to_all_status_windows game_core Sends refresh command (0x3C) to all 7 status windows at this+0x320 through this+0x338 if non-null. 0x00A96810 31 CGameObject__send_refresh_to_window_464 game_core Sends refresh command (0x3C) to the window at this+0x464 if non-null. 0x00A96830 18 CGameObject__set_window_464_dirty_flag game_core Sets dirty flag (byte at +0xC8) to 1 on the window at this+0x464 if non-null. 0x00A96850 381 CGameObject__rebuild_effect_collision_tree game_core Rebuilds the effect/window collision tree at this+0x194. Clears existing 0x44-byte nodes, then for each visible window not in the destroy list (0x4F240), inserts into tree with collision rect bounds for snap/overlap detection. 0x00A969D0 70 CGameObject__invalidate_visible_windows_once game_core Invalidates visible windows once. Sets flag at this+0x4FC to prevent re-entry, then walks window list calling vtable+0xC (IsActive?) and CEffect__invalidate_recursive on active ones. 0x00A96A40 31 CGameObject__check_modal_has_child game_core Checks if the modal window at this+0xA30 has a visible child element. Returns result of UIControl__find_child_by_id if window exists and flag +0x28 is set. 0x00A96A60 124 is_persistent_window_type game_core Returns 1 if the window type ID is in the persistent/always-loaded set. Large switch covering ~130+ type IDs (0-0xFD, 0x102-0x258, 0x271B, 0x2730). These are windows that should not be dynamically destroyed. 0x00A96C60 328 CGameObject__find_window_by_map_id game_core Searches the window list at 0x4f240 for a window matching the given map ID (param_2). Copies window strings at offsets 0xc0 and 0xd8 while iterating. Returns 1 if found, 0 otherwise. 0x00A96DB0 35 is_first_visible_sibling game_core Returns 1 if param_1 is the first visible sibling (no previous visible sibling found by CEffect__find_prev_visible_sibling). 0x00A96DE0 123 CGameObject__dispatch_drag_to_target_window game_core Dispatches a drag item to the target window. Checks if drag source (this+0x72) and target (this+0x68) are valid, finds target in window list or tree at this+10, then calls vtable+0x94 with (iVar1, 0, 1, 0, 0, 0). 0x00A96E60 37 CGameObject__is_active_window_visible_popup game_core Returns 1 if the active window (this+0x1A0) is a visible popup (has parent != main window at 0x1C8 and has flag +0x28 set). 0x00A96E90 26 is_player_name_valid game_core Checks if a player name is valid by calling FUN_00df9d30. Returns true if result is non-zero. 0x00A96EB0 40 is_special_key game_core Returns 1 for special/modifier keys: Tab(9), Enter(0xD), Shift(0x10), Ctrl(0x11), Alt(0x12), CapsLock(0x14), Insert(0x2D), F1-F12(0x70-0x7B). 0x00A96F60 35 is_last_visible_sibling game_core Returns 1 if param_1 is the last visible sibling (no next visible sibling found by CEffect__find_next_visible_sibling). 0x00A96F90 84 CGameObject__check_if_restricted_window_type game_core Checks if a window type is restricted when this+0x4F288 is set. Returns 1 for types: 8, 10, 0x12, 0x28, 0x9B, 0xCB, 0xFB, 0x107, 0x113. 0x00A97070 42 CGameObject__has_any_drag_active game_core Returns 1 if any of the 4 drag state slots at this+0x4F260-0x4F26C are non-zero. 0x00A970A0 57 CGameObject__is_window_position_saved game_core Checks if a window position is saved in the position manager. Looks up param_2 in the map at (this+4) via std__map_int__lower_bound. Returns true if found. 0x00A970E0 69 CGameObject__get_window_type_flag game_core Gets a flag from the window type table. Index calculated as (param_2 + window_type * 8). param_2 range 0-7, window_type max 0x2738. Special case: type 3 returns 1 only when DAT_016f7144==0. 0x00A97130 200 is_window_type_enabled game_core Checks if a given window type ID is enabled based on configuration flags. Types 0x8b-0x8d are always enabled. Types 0x71/0x6c/0x78/0x67/0x73 are always enabled. Other types check boolean flags at various offsets (0xb0-0xb8) of the config structure. 0x00A97200 373 CGameObject__check_window_overlap_at_map_pos game_core Checks if any window in the window list overlaps with a map position. Converts the target map position to tile coordinates, then iterates windows checking their positions. Uses RTTI to handle two different window types differently. Returns 1 if overlap found, 0 otherwise. 0x00A97380 34 CGameObject__is_registered_window_loading game_core Returns 1 if the registered window at this+0x4F250 exists, has flag +0xB4 set, and field +0x30 is 0 (loading state). 0x00A973E0 44 should_filter_whisper_message game_core Returns 1 if whisper messages should be filtered. True when: DAT_01733590 is set and param is 0 (block incoming), or DAT_01733598 is set and param is non-zero (block outgoing). 0x00A97410 123 CGameObject__has_any_modal_window game_core Returns 1 if any modal/blocking window is active. Checks 14 different window pointer fields (0x284, 0x2cc-0x2ec, 0x3b4, 0x1f0, 0x1f4) for non-null values. 0x00A97490 114 CGameObject__send_close_to_focused_window game_core Sends close message (msg 0x14) to the currently focused window. Checks 0x3dc and 0x3b0 first for specific focused windows, then falls back to iterating the window list at 0x17c and sending close to any window that passes the check at vtable+8. 0x00A97510 112 CGameObject__bring_window_to_front game_core Moves a window to the front of the z-order. Finds the window in the list at 0x17c by matching param_2, removes it from its current position, and re-inserts it at the front. 0x00A97580 311 CGameObject__get_or_create_window game_core Gets or creates a window by type ID. Looks up in the map at offset 0x28. If not found, allocates and constructs a new UIWindow_915e00, sets its type ID to field 0x3d, sizes and positions it, inserts into the window list, and stores in the map. If size params are -1/-1, calculates default size from param_2. Shows the window via vtable+0x38. 0x00A976C0 307 CGameObject__focus_window_with_priority game_core Focuses a window with priority ordering. Checks that no blocking windows (types 0x116, 4, 199, 200) are active. Handles priority by window type (0xc->0xea, 0x52->0xfa) - finds and moves the priority-equivalent window before inserting the target window at the front of the list. 0x00A97800 203 CGameObject__bring_special_windows_to_front game_core Brings special windows to the front of the z-order. First moves the window at 0x4f258 to front, then finds any window with type ID 0x16b and moves it to the very front. Returns 1 if any window was moved. 0x00A978D0 38004 CGameObject__create_window_by_type game_core CGameObject: create window by type 0x00AA1350 1118 CUIWindowMgr__create_window_by_type ui_framework Creates a UI window by type ID. Calls Lua GetWindowInfo to get position/size data. Switch on type: 0x9c creates UIWindow_915530 (stored at 0x404), 0x9d creates FUN_00ba6000, 0x9f creates UIWindow_915980, 0xb5 creates UIWindow_915d10, 0xd1 creates FUN_00ba5560. Applies saved positions from timer data, adds to window list. For types 0x9f/0x9d/0xd4 sends message 0x22 with extra data. 0x00AA1800 2248 CUIWindowMgr__reset_all_window_state ui_framework Resets all window manager state. Walks the callback list, processing non-sentinel entries via UICallback__ctor. Then zeros out ~200 window pointer fields covering all game window types (inventory, equipment, chat, skill, status, etc.), clears the linked list at 0x50c, clears map data, and resets all tracking fields to 0. 0x00AA20D0 22 CGameObject__is_party_window_active game_core Checks if the party window at this+0x310 is active (non-null with field +4 set). Returns 1 if active. 0x00AA20F0 311 CUIWindowMgr__show_message_box ui_framework Shows a message box dialog. Limits to 6 concurrent message boxes (shows Win32 MessageBoxA error if exceeded). Allocates UIWindowE, initializes layout with provided parameters, inserts into window list. If param_11 flag set, pushes to modal stack at 0x9e8. Clears current focus state at 0x19c/0x1a0. 0x00AA2230 671 CUIWindowMgr__close_window_and_process_queue ui_framework Closes a window and processes the modal window queue. If param_2=0 returns 0xb9. Saves focus state to tree, clears focus. Pushes param_2 to the circular buffer deque at 0x1a8. Loops: pops windows from deque, hides and unregisters them. If a timer fires, closes all remaining queued windows. Returns 0xb8 on timeout or the stored return code. 0x00AA24D0 56 CGameObject__update_registered_window_position game_core Updates registered window position. Calls vtable+0x10 on the window at this+0x4F250 if it exists and has field +0xB4 set. 0x00AA2510 170 CUIWindowMgr__update_cell_positions ui_framework Iterates linked list at this+0x4f240, creates a CUIElement singleton (DAT_0138d42c) if needed, then calls GetCellPosition and a virtual method on each element to update cell positions. 0x00AA25C0 36 dispatch_shortcut_key_to_ui game_core Maps keyboard shortcut keys (0x20=space, 0x23=#, 0x46=F, 0x48=H, 0x6d=m) to UI window type IDs (0xFDA-0xFDE), creates a window descriptor with yellow color (0xFFFF00) and dispatches via FUN_00aa9100. 0x00AA26C0 145 CUIWindowMgr__render_all_windows ui_framework Renders all UI windows. Iterates three collections: (1) linked list at 0x17c calling virtual Render (vtable+0x4c), (2) tree at 0x9c4 calling FUN_00ab2e70 on items with non-null +0x14, (3) tree at 0x4f198 calling virtual Render on contained elements. 0x00AA2760 75 handle_open_navigation_window game_core Handles opening the navigation/warp window (type 0x271E). If not found, creates it via FUN_00a978d0. Checks a condition (FUN_00a40240) and either opens via FUN_00a8cf20 or calls FUN_00a41e10. 0x00AA27B0 585 CUIWindowMgr__add_or_show_window ui_framework Creates or shows a UI window at this+0xa30. Allocates UIBase-derived object if needed, sets position, calls SetSize, manages window z-order in linked list at 0x17c. Handles special window types 0xc and 0x52 by removing conflicting windows before inserting. 0x00AA2A00 496 CUIWindowMgr__create_achievement_window ui_framework Creates or shows the achievement window stored at this+0x4f2ac. Allocates 0x9c byte object via FUN_00ab49d0 if not already present, sets position to screen coords, sets a numeric ID 0x2728, inserts into window list at 0x17c, handles z-order with type-based conflict resolution, then shows. 0x00AA2BF0 66 CUIWindowMgr__invalidate_all_windows ui_framework Iterates all windows in the linked list at 0x17c. For each visible window (vtable+0x8 returns true), calls a method at vtable+0x94 with params (0,4,0,0,0,0) to trigger full invalidation/redraw. 0x00AA2C40 66 CUIWindowMgr__resize_all_windows ui_framework Iterates all windows in the linked list at 0x17c. For each visible window (vtable+0x8 returns true), calls a method at vtable+0x94 with params (0,3,0,0,0,0) to trigger resize/layout recalculation. 0x00AA2C90 117 CUIWindowMgr__unregister_window ui_framework Unregisters a window pointer from the window manager. Clears references at offsets 0x3d4, 0x3d8, 0x3dc, 0x1b8, and 0x4f2ac if they match the given window pointer. Then removes from the collection at 0x184. 0x00AA2D10 149 CUIWindowMgr__reorder_window_by_type ui_framework Reorders a window in the linked list based on its type field at +0x2c. Handles type 0xC (maps to z-order 0xEA) and type 0x52 (maps to z-order 0xFA). Removes existing window of the same z-order from the list and re-inserts the given window. 0x00AA2DB0 1704 CUIWindowMgr__handle_keyboard_input ui_framework Handles keyboard input for the window manager. Dispatches TAB (0x9) for focus cycling (with Shift+Tab support), Enter (0xD), ESC (0x1B) for closing windows/exit prompts, PageUp/PageDown (0x21/0x22) for scrolling, F keys for shortcuts, and various other keys. Uses GetAsyncKeyState for Ctrl/Shift modifiers. 0x00AA35F0 4061 CUIWindowMgr__handle_shortcut_command ui_framework Processes shortcut command IDs (param_2 must be 4/key-down). Maps command IDs (0x64-0x9F+) to window open/toggle/action. Checks battle mode restrictions via FUN_00b875e0 field flags. Handles hotbar slots (<0x2d), window toggles (skill, equip, inventory, party, guild, options, quest, etc.), chat commands starting with '/', and various UI panel toggles. 0x00AA4730 3691 CUIWindowMgr__process_mouse_input ui_framework Main mouse input processing for the window manager. Handles mouse move, click, drag for UI windows. Processes window focusing/z-order on click, dispatches virtual mouse handlers (OnMove, OnClick, OnDoubleClick, OnDrag, OnWheel), manages tooltip updates, cursor position tracking, and hit-testing across multiple window collections. 0x00AA55A0 22 send_chat_message_if_connected game_core Sends a chat message if the session pointer DAT_013495bc is non-null, delegating to FUN_00aa57e0 (chat message send handler). 0x00AA55C0 387 CUIWindowMgr__dispatch_key_event ui_framework Top-level keyboard event dispatcher. Sets input active flag at +0x25, checks if player exists and whether a modal window (0x9c) is open. Routes key events through FUN_00a8bc00 for basic processing, then to shortcut handler (FUN_00aa35f0) if not consumed. Handles focus mode filtering for text input fields (allows Tab, Enter, Shift, Ctrl, F keys to pass through). Falls through to FUN_00aa2db0 for remaining key handling. 0x00AA57E0 799 CUIWindowMgr__send_chat_line ui_framework Sends a chat line from the chat input buffer (indexed by param_1). Copies text from the string table at DAT_01733630. If DAT_0145785c is set, checks for banned words. Handles slash commands (starting with '/') by parsing command + args via FUN_00de1010. Otherwise sends as normal chat, with special routing for different chat modes: party (mode 2), guild (mode 1), battleground (mode 3). 0x00AA5B00 912 CUIWindowMgr__manage_window_visibility_state ui_framework Multi-phase window visibility manager using state machine at offset 0x508 (states 0/1/2). Phase 0: saves currently visible windows to backup list at 0x50c. Phase 1: hides non-essential windows, checks which should stay via FUN_00a96a60. Phase 2: restores windows from backup, re-shows them. Handles special cases for game session windows and minimap (0xBD with option 0xFA check). 0x00AA5E90 218 CUIWindowMgr__close_and_clear_window_ref ui_framework Closes a window and clears all references to it in the window manager. Nullifies stored pointers at offsets 0x19c, 0x1a0, 0x1b8, 0xa30, and 0x4f1d4 if they match the given window (or a child via FUN_00a81c90). Adds to close set and calls Hide (vtable+0x38 with 0). 0x00AA5F70 706 CUIWindowMgr__find_window_by_type ui_framework Looks up a window by its type ID. Has fast-path hardcoded lookups for common window types (1=main, 3, 0x1b, 0x1c, etc.) that directly return pointers from fixed offsets. For unknown types, falls back to a tree-based search. Window type 600 has special handling when DAT_016f7144 (battle mode) is set. Returns the window pointer or 0 if not found. 0x00AA6430 3 null_stub_00aa6430 crt Empty function stub with no implementation 0x00AA6440 133 CUIWindowMgr__notify_language_change ui_framework Notifies multiple windows of a language/locale change by sending event code 0x17 via their virtual ProcessMessage (vtable+0x94). Targets: windows at offsets 0x1d4, 0x1e8, window type 0x9f, and 0x4f260. 0x00AA64D0 379 CUIWindowMgr__notify_item_data_changed ui_framework Notifies windows of item data changes. Sends event 0x17 to the window at 0x2c8, then iterates the collection at 0x4f240 comparing item IDs (offset +0x2e from entries in the list, against param_2+4). When a matching entry is found, sends the event with param_2 data to that window. 0x00AA6650 103 CUIWindowMgr__flush_pending_windows ui_framework Processes and clears the pending window list at offset 0x18c. Calls Update (vtable+0x98) on each window in the list, then frees all list nodes and resets the list to empty. Clears count at offset 0x190 (400 decimal). 0x00AA66C0 11 CUIWindowMgr__clear_hover_window ui_framework Clears the hover/mouseover window pointer at offset 0x19c to null. 0x00AA66D0 1188 CUIWindowMgr__destroy_all_windows ui_framework Destroys all UI windows managed by the window manager. Iterates the window list at 0x17c, calling destructor (vtable+0x2c) and delete on each. Clears the tree collections at 0x9c4 and 0x4f198 (freeing associated 0x40 and 0x18 byte objects). Empties both linked lists at 0x17c and 0x184. Clears the grid collection at 0x4f240. 0x00AA6B80 1616 CUIWindowMgr__rebuild_window_layout ui_framework Rebuilds the entire window layout/state. Calls FUN_00aab260 for initial setup, then if main window (0x1c8) doesn't exist, delegates to destroy_all_windows. Otherwise hides popup at 0xa30, iterates all windows checking if they should be kept or destroyed based on type mapping tree. Destroys unneeded windows, clears the tree at 0x194, rebuilds the position/layout tree, and restores key window pointers. 0x00AA71E0 31 CUIWindowMgr__close_popup_window ui_framework Closes the popup window stored at offset 0x4f250. Unregisters it from the window manager and sets the pointer to null. 0x00AA7200 77 CUIWindowMgr__remove_from_pending_list ui_framework Removes a window (param_2) from the pending window list at offset 0x18c. Searches the linked list for a matching pointer, unlinks it, decrements count at offset 0x190, and frees the node. 0x00AA7250 341 CUIWindowMgr__destroy_single_window ui_framework Destroys a single window by pointer. Searches the linked list at 0x17c, removes layout data if option 0x8d is enabled, calls SpriteLayer__remove_child_by_id, then destructor (vtable+0x2c) and delete. Also checks the tree at 0x4f198 and destroys from there if found instead. 0x00AA73B0 696 CUIWindowMgr__render_all_visible_windows ui_framework Renders all visible UI windows. First renders floating windows from the tree at 0x4f198. Then iterates the main window list at 0x17c, for each visible window: calls Update, SetViewport, checks clip rect, renders filled background rect, calls main render, renders child overlays (scrollbar/skin), and post-render effects. Special handling for minimap (0xBD), main view (0x400 offset), and roulette window. 0x00AA7670 113 CUIWindowMgr__render_floating_windows ui_framework Renders floating/overlay windows stored in the tree at 0x4f198. For each entry, calls SetViewport (vtable+0xa4 with 0), then uses the skin renderer (vtable+0x30 from element[9]) to draw with position and alpha values from the window object. 0x00AA76F0 2466 CUIWindowMgr__render_minimap_ui ui_framework Renders the minimap UI elements. Handles dragging of minimap components (regions 1-6) based on mouse state. Draws minimap sprites using stub_005717a0 texture lookups and FUN_00ad5fa0 for rendering. Positions are calculated relative to screen quarter size (sVar4) and third size (sVar2). Components include the map frame, zoom controls, party markers, and navigation elements. 0x00AA80A0 98 CUIWindowMgr__center_loading_window ui_framework Centers the loading window (at offset 0x478) on screen. Gets screen dimensions via CRT_init_text_render_singleton and stub calls, calculates centered position based on window dimensions at 0x47c and 0x480, then calls SetRect on the window. Clears flag at 0x4fc. 0x00AA8110 26 close_window_unless_type_fb game_core Closes a window by type ID unless it is type 0xFB (251). For all other types, calls FUN_00a8cf20 to close. 0x00AA8130 778 CUIWindowMgr__build_save_packet ui_framework Builds a save/hotkey packet for the server. Constructs a byte vector with three TLV entries: header (type 25000/0x61A8 with no payload), a data block (type 0x61B2 with 4 bytes from this+0x64), and a terminator (type 0x61A9 with no payload). 0x00AA8440 544 build_window_state_save_packet game_core Builds a window state save packet. Constructs a byte vector with two TLV entries: header (type 26000/0x6590 with no payload) and terminator (type 0x6591 with no payload). Used for saving UI window positions/state to server. 0x00AA8660 786 CUIWindowMgr__build_window_layout_save_packet ui_framework Builds a save packet containing all window positions/layout data. Creates a byte vector with header (type 20000/0x4E20), then iterates all windows in the list at 0x17c. For each visible window with a valid type (<0x2739), calls GetSaveData (vtable+0xB0) and appends as TLV entry (type = windowType+0x4E84, payload = save data). Ends with terminator (type 0x4E21). 0x00AA8980 109 CUIWindowMgr__reset_ui_state_from_packet ui_framework Resets various UI state fields to zero and initializes two values from param_2. Clears offsets 0x5a4, 0x588, 0x568, 0x54c, 0x73c, 0x77c, 0x5bc, 0x5d0. Sets offset 0x758 from param_2[7] and offset 0x3c from param_2[6] (both single bytes). 0x00AA89F0 149 send_battleground_queue_packet game_core Sends a battleground queue network packet. Checks multiple conditions via FUN_00b875e0: field+0xc must be 2, and flags at +0xb2, +0xb0, +0xb8 must be set. Only sends for specific param values (0x13b, 0x141, 0x142). Constructs a 10-byte packet (header 0x039208AE) and sends via FUN_00b86880 with size 0x2a. 0x00AA8A90 130 send_battleground_action_packet game_core Sends a battleground action network packet. Same conditions as send_battleground_queue_packet but without the param value filter, and uses a different packet header (0x038D08AE). Sends via FUN_00b86880 with size 0x2a. 0x00AA8B20 266 CUIWindowMgr__parse_save_packet ui_framework Parses a save packet from a byte vector (param_2). Expects header type 25000 (0x61A8). Iterates TLV entries: type 0x61B2 copies payload to this+0x64, type 0x61A9 is the terminator. Returns 0xFFFFFFFF on empty/invalid packets, otherwise returns the byte offset consumed. 0x00AA8C30 219 parse_window_state_save_packet game_core Parses a window state save packet from a byte vector. Expects header type 26000 (0x6590). Iterates TLV entries until terminator type 0x6591 is found. Returns 0xFFFFFFFF on empty/invalid packets, otherwise returns byte offset consumed. 0x00AA8D10 537 CUIWindowMgr__parse_window_layout_packet ui_framework Parses a window layout save packet (header type 20000/0x4E20). For each TLV entry, extracts window type (entry type - 0x4E84, valid range 0-399), creates the window via FUN_00a978d0, copies layout data, and sends event 0x7B to restore saved position/size. Returns byte offset consumed or 0xFFFFFFFF on error. 0x00AA8F30 11 CUIWindowMgr__clear_tooltip_window ui_framework Clears the tooltip window pointer at offset 0x1b8 to null. 0x00AA8F50 114 CUIWindowMgr__scroll_to_bottom_all ui_framework Sends scroll-to-bottom event (0x15) to windows. If a specific chat window exists at 0x3dc or 0x3b0, sends directly to it. Otherwise iterates all visible windows in the main list and sends the event to each visible one. 0x00AA8FD0 298 CUIWindowMgr__save_window_position ui_framework Saves a window's position/size by type ID. Finds the window via find_window_by_type, then either updates an existing layout entry with position (x,y at +0x1c,+0x20) and size (w,h at +0x14,+0x18), or creates a new 16-byte layout record if the type is not yet tracked in the layout tree. 0x00AA9100 2342 CUIWindowMgr__dispatch_chat_message ui_framework Main chat message dispatcher. Handles multiple message types: type 1/0x13 for normal/party chat (with word-wrap, color, text formatting), type 2 for system messages, type 3 for server announcements (with FUN_00aaa310 call), type 4/5 for guild/whisper, type 6 for chat log save, type 7 for whisper window render, type 8/9 for notification window creation, type 0xA for close, type 0xE for creating tooltip/NPC dialog windows, type 0x9A for broadcasting to all NPC windows. 0x00AA9B00 35 send_close_dialog_to_session game_core Sends a close dialog command (0x124) to the game session object obtained via FUN_00ad6450. 0x00AA9B30 16 CUIWindowMgr__set_hover_window ui_framework Sets the hover/mouseover window pointer at offset 0x19c to the given value. 0x00AA9B40 115 CUIWindowMgr__set_focus_window ui_framework Sets the focused/active window at offset 0x1a0. Calls OnLoseFocus (vtable+0x60) on the previously focused window, then sets the new focus. If param_2 is non-null, gets the parent window via vtable+0x18 and calls OnGainFocus (vtable+0x5c). If null, clears focus pointer. 0x00AA9BC0 168 CUIWindowMgr__focus_next_child ui_framework Moves focus to the next focusable child widget within the currently focused window. Gets the parent container at offset +0x50 of the focused window's +0x10, iterates child list looking for the next child where IsTabStop (vtable+0x14) returns true. Calls OnLoseFocus/OnGainFocus as appropriate. If no next child found, clears focus to null. 0x00AA9C70 173 CUIWindowMgr__focus_prev_child ui_framework Moves focus to the previous focusable child widget (Shift+Tab). Iterates the child list backwards from the focused window's parent container, looking for IsTabStop==true. Calls OnLoseFocus/OnGainFocus as appropriate. 0x00AA9D20 158 CUIWindowMgr__focus_next_sibling ui_framework Moves focus to the next sibling window via FUN_00a7ed50 (Tab navigation). If the sibling has IsTabStop set, transfers focus. If no valid sibling found, clears focus. 0x00AA9DC0 158 CUIWindowMgr__focus_prev_sibling ui_framework Moves focus to the previous sibling window via FUN_00a7ff30 (Shift+Tab navigation). If the sibling has IsTabStop set, transfers focus. If no valid sibling found, clears focus. 0x00AA9E60 41 CUIWindowMgr__set_topmost_window ui_framework Sets the topmost/fullscreen window pointer at offset 0x4f1d4. If param_2 is non-null, walks up the parent chain (via +0x10) to find the root window and stores that. If null, clears the pointer. 0x00AA9E90 52 CUIWindowMgr__close_popup_if_active ui_framework Closes the popup window at 0x4f250 if it exists and has an active animation (offset +0xb4 != 0). Sets the window's done flag (+0x30 = 1), unregisters it, and clears the pointer. 0x00AA9ED0 150 CUIWindowMgr__set_loading_screen_size ui_framework Sets the loading screen dimensions. Stores width (param_2) at 0x47c and height (param_3) at 0x480. Calculates Y offset at 0x34 from height minus 0x38. Creates CUIElement singleton (DAT_0138d42c) if needed, then calls RemoveAllChildren on it. 0x00AA9F70 88 CUIWindowMgr__deactivate_chat_input ui_framework Deactivates chat input when the focused widget matches the main chat window's input fields. Checks if focused window (0x1a0) matches either input at (main_window+0xbc) or (main_window+0xc0). Sends clear text command via vtable+0xd4 to the appropriate field. 0x00AA9FD0 119 CUIWindowMgr__set_loading_texture ui_framework Sets or clears the loading screen texture at offset 0x478. If param_2 is 0, destroys the existing texture and clears pointer. If non-null and no texture exists, creates one via stub_00569f60 using dimensions from param_2+0x114/0x118. Then calls SetSource (vtable+0x20) with the texture data. 0x00AAA050 45 dispatch_emote_flag_command game_core Dispatches emote/country flag commands (0xD2-0xDA) to the server. Maps command IDs to flag name strings (ET_FLAG, ET_INDONESIA_FLAG, ET_PH_FLAG, ET_MY_FLAG, ET_SI_FLAG, ET_BR_FLAG, ET_INDIA_FLAG, etc.) based on current region setting DAT_016d3b10. Sends via session command 0x149. 0x00AAA280 70 CUIWindowMgr__toggle_minimap_visibility ui_framework Toggles visibility of all minimap windows (type 0xBD) in the main window list. Iterates all windows and calls Show/Hide (vtable+0x38) with param_2 on any window whose type field at +0x2c equals 0xBD. 0x00AAA2D0 53 CUIWindowMgr__show_hide_windows_by_type ui_framework Shows or hides all windows matching a given type ID. Iterates the window list at 0x17c and for each window whose type (field +0x2c) matches param_2, calls Show/Hide (vtable+0x38) with param_3. 0x00AAA310 2051 CUIWindowMgr__toggle_window_by_type ui_framework Toggles specific window types on/off with z-order management. Handles type 1 (main chat), 0xF (status window), 0x24 (equipment window with option 0x10E equipment info toggle), 0x2E (party window), 0x111, and 0x114 (special windows). Creates windows via FUN_00a978d0 if not yet open. Manages z-order conflicts for types 0xC and 0x52 by removing and re-inserting. 0x00AAAB20 609 CUIWindowMgr__update_grid_layout ui_framework Updates the grid layout for UI elements. Creates a CGridOverlay from screen dimensions and skill bar height, then iterates the collection at 0x4f240 to reposition each window using grid cell positions. Copies string properties and layout data from each element. Cleans up temporary list and grid overlay on completion. 0x00AAADA0 76 CUIWindowMgr__broadcast_timer_event ui_framework Broadcasts a timer/tick event (message type 2) to all visible windows. Iterates the window list, checks visibility via vtable+0x8, then sends ProcessMessage(0, 2, param_2, 0, 0, 0) to each visible window. 0x00AAADF0 34 scale_x_to_screen_width game_core Scales an X coordinate from 640-pixel reference resolution to the current screen width. Returns (screen_width * param_1) / 640. 0x00AAAE20 26 center_x_offset_from_640 game_core Returns param_1 plus the horizontal centering offset for a 640-wide UI on the current screen. Calculates (screen_width - 640) / 2 + param_1. 0x00AAAE40 26 center_y_offset_from_480 game_core Returns param_1 plus the vertical centering offset for a 480-tall UI on the current screen. Calculates (screen_height - 480) / 2 + param_1. 0x00AAAE60 168 CUIWindowMgr__dispatch_enter_key_to_focused ui_framework Dispatches an Enter key event (message 0x12) to the appropriate window. Checks a priority chain of window pointers (offsets 0x1f8, 0x1f0, 0x1f4, 0x214, 0x21c, 0x20c, 0x374, 0x1a0) for the first non-null. If none found, broadcasts to all visible windows in the main list. 0x00AAAF10 348 CUIWindowMgr__send_event_to_grid_window ui_framework Finds a window in the grid collection (0x4f240) by its secondary ID (field +0xb8) and sends it event 0x22 with params. Iterates grid windows, copying string data for comparison, and dispatches ProcessMessage(0, 6, 0x22, param_2, param_3, param_4) to the matching window. 0x00AAB070 29 sync_navigation_window_checkbox game_core Syncs the navigation window (type 0x271E) checkbox state if the window exists. Calls SettingsUI__sync_checkbox_from_option on the found window. 0x00AAB090 22 refresh_navigation_window_options game_core Refreshes all option states in the navigation window (type 0x271E) if it exists. 0x00AAB0B0 22 update_navigation_window_labels game_core Updates all tab option labels in the navigation window (type 0x271E) if it exists. 0x00AAB0D0 307 CUIWindowMgr__register_window_in_grid ui_framework Registers a window in the grid collection at 0x4f240. If the window is already registered (matching pointer found), returns early. If option 0x8D (window snap) is enabled, adds the window's position to the layout tree at 0x194 using CCollisionRect bounds. Creates a new tree node with 0x44-byte allocation for the layout data. 0x00AAB210 67 CUIWindowMgr__update_web_browser_overlays ui_framework Iterates the web browser window tree at offset 0x9c4, calling CWebBrowser__update_and_manage_cursor on each entry that has a non-null window pointer at +0x14. Stops early if the tree count at 0x9c8 becomes zero. 0x00AAB260 1592 CUIWindowMgr__build_window_reopen_list ui_framework Builds a list of windows that should be reopened after a mode change. Clears the reopen list at 0x4f280, then iterates all windows checking specific type IDs (8, 10, 11, 13, 0x25, 0x141, 0xCD, 0x86, 0x45/0x22) against their corresponding state flags. Also handles special types 0x10F, 0x11E, 0x271E, and 0x12D. Windows qualifying for reopen are added to the list. 0x00AAB8A0 62 CUIWindowMgr__check_and_send_close_event ui_framework Checks if the main window at 0x4f174 exists and DAT_016fc55c is false, then tests a condition via stub_005c45d0. If true, sends close event (message 6, subtype 0xCA) to the window. 0x00AAB8E0 57 CUIWindowMgr__broadcast_mouse_position ui_framework Broadcasts mouse position (param_2, param_3) to all windows in the main list via their OnMouseMove virtual method (vtable+0x74). Iterates backwards through the window list. 0x00AAB920 543 save_shortcut_items_to_registry game_core Saves all 36 shortcut bar items to the Windows registry. Creates a registry key under HKLM with path built from the service name + ShortcutItem. For each slot (0-35), writes the item name (SITEM_%d_%d_%d) and skill use level (S_SKILL_USE_LEVEL_%d_%d_%d) keyed by slot index, region (DAT_016d3b10), and server (DAT_01733588). 0x00AABB40 7583 save_window_positions_to_registry game_core Saves all window positions to Windows registry. 7.5K bytes. Called by WinMain_game_entry during shutdown. Writes positions via RegCreateKeyExA/RegSetValueExA for each window type. 0x00AAD8E0 752 CUIWindowMgr__open_or_find_npc_window ui_framework Opens or finds an NPC dialog window by name (param_2 = string). Searches the NPC window tree at 0x500, creates a new tree entry with 0x2c-byte node if not found. Sends event 0x30 to the window. The tree is keyed by the NPC name string. 0x00AADBE0 235 STL_vector_resize_fill_uint stl STL vector resize with fill. If param_2 <= current size, fills existing elements with param_3. Otherwise allocates new buffer of param_2*4 bytes, frees old, fills all elements with param_3. Max size check at 0x3FFFFFFF elements. 0x00AADCD0 704 std__tree_extract_and_rebalance_0x14 stl STL red-black tree node extraction and rebalancing. Removes a node from the tree, fixes parent/child pointers, and performs rotations to maintain red-black properties. Decrements node count. Uses 0x14-byte nodes with rotations via FUN_00ab04a0 and FUN_00ab07a0. 0x00AADF90 704 std__tree_extract_and_rebalance_0x18 stl STL red-black tree node extraction and rebalancing for 0x18-byte nodes. Same algorithm as the 0x14 variant but uses FUN_00ab0500 and FUN_00ab0800 for rotations. 0x00AAE250 704 std__tree_extract_and_rebalance_00aae250 stl STL red-black tree node extraction and rebalancing. Same algorithm as other variants, uses FUN_00ab0560 and FUN_00ab0860 for rotations. 0x00AAE510 704 std__tree_extract_and_rebalance_00aae510 stl STL red-black tree node extraction and rebalancing. Template instantiation variant. 0x00AAE7D0 704 std__tree_extract_and_rebalance_00aae7d0 stl STL red-black tree node extraction and rebalancing. Template instantiation variant. 0x00AAEA90 704 std__tree_extract_and_rebalance_00aaea90 stl STL red-black tree node extraction and rebalancing. Template instantiation variant. 0x00AAED50 704 std__tree_extract_and_rebalance_00aaed50 stl STL red-black tree node extraction and rebalancing. Template instantiation variant. 0x00AAF010 704 std__tree_extract_and_rebalance_00aaf010 stl STL red-black tree node extraction and rebalancing. Template instantiation variant. 0x00AAF2D0 426 std__unordered_map_rehash_00aaf2d0 stl Rehashes an unordered map/set. Resizes bucket array to next power of 2 >= param_2, recalculates bucket assignments using FNV-1a hash on 4-byte keys. Moves nodes between buckets by relinking the doubly-linked list. 0x00AAF480 418 circular_buffer_grow game_core Grows a circular buffer to accommodate param_2 more elements. Doubles capacity repeatedly until sufficient. Allocates new buffer, copies data preserving circular order (wrapping at the read pointer), zeros new space, frees old buffer. Buffer fields: +4=data, +8=capacity, +0xc=read_pos. 0x00AAF630 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AAF840 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AAFA50 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AAFC60 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AAFE70 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AB0080 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AB0290 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AB04A0 84 std__tree_rotate_left stl Left rotation for red-black tree. Rotates param_2 node left, promoting its right child. Updates parent, child, and root pointers. 0x00AB0500 84 std__tree_rotate_left_00ab0500 stl Left rotation for red-black tree. Identical code to std__tree_rotate_left but for a different tree instantiation. 0x00AB0560 84 std__tree_rotate_left_00ab0560 stl Left rotation for red-black tree. Identical code for another tree instantiation. 0x00AB05C0 84 std__tree_rotate_left_00ab05c0 stl Left rotation for red-black tree. Identical code for another tree instantiation. 0x00AB0620 84 std__tree_rotate_left_00ab0620 stl Left rotation for red-black tree. Identical code for another tree instantiation. 0x00AB0680 84 std__tree_rotate_left_00ab0680 stl Left rotation for red-black tree. Identical code for another tree instantiation. 0x00AB06E0 84 std__tree_rotate_left_00ab06e0 stl Left rotation for red-black tree. Identical code for another tree instantiation. 0x00AB0740 84 std__tree_rotate_left_00ab0740 stl Left rotation for red-black tree. Identical code for another tree instantiation. 0x00AB07A0 88 std__tree_rotate_right stl Right rotation for red-black tree. Rotates param_2 node right, promoting its left child. Updates parent, child, and root pointers. 0x00AB0800 88 std__tree_rotate_right_00ab0800 stl Right rotation for red-black tree. Template instantiation variant. 0x00AB0860 88 std__tree_rotate_right_00ab0860 stl Right rotation for red-black tree. Template instantiation variant. 0x00AB08C0 88 std__tree_rotate_right_00ab08c0 stl Right rotation for red-black tree. Template instantiation variant. 0x00AB0920 88 std__tree_rotate_right_00ab0920 stl Right rotation for red-black tree. Template instantiation variant. 0x00AB0980 88 std__tree_rotate_right_00ab0980 stl Right rotation for red-black tree. Template instantiation variant. 0x00AB09E0 88 std__tree_rotate_right_00ab09e0 stl Right rotation for red-black tree. Template instantiation variant. 0x00AB0A40 88 std__tree_rotate_right_00ab0a40 stl Right rotation for red-black tree. Template instantiation variant. 0x00AB0AA0 478 std__unordered_map_erase_range_00ab0aa0 stl Erases a range of elements [param_2, param_3) from an unordered map. Frees 0xc-byte nodes, decrements count, and updates bucket pointers. Uses FNV-1a hash to find correct buckets for relinking. 0x00AB0C80 10 thunk_to_std__Xlength_error_00ab0c80 stl Forwards to std::_Xlength_error for deque overflow handling 0x00AB0C90 10 thunk_to_std__Xlength_error_00ab0c90 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00AB0CA0 95 STL_aligned_alloc_0x18 stl Allocates param_1 * 0x18 bytes with 32-byte alignment for large allocations (>=0x1000 bytes). Returns the aligned pointer with the original allocation address stored at ptr-4. 0x00AB0D00 115 std__tree_clear_0x44_nodes stl Clears all nodes from an STL tree, freeing 0x44-byte nodes. Iterates from the leftmost node, calls FUN_00a87ab0 to clean up each node's key, frees the node memory, then resets the tree head to empty state. 0x00AB0D80 115 std__tree_clear_0x14_nodes stl Clears all nodes from an STL tree, freeing 0x14-byte nodes. Iterates from the leftmost node, calls FUN_00a87800 to clean up each node's key, frees the node memory, then resets the tree head to empty state. 0x00AB0E00 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AB0E40 286 std__tree_erase_range_by_key stl Erases a range of tree nodes matching a key value. Finds lower and upper bounds for the key, counts matching nodes, then either clears the entire tree (if range covers all) or removes individual nodes using tree extract+rebalance, freeing 0x14-byte nodes. 0x00AB0F60 95 std__list_remove_node stl Removes a node (param_3) from a doubly-linked list. Unlinks the node, decrements count at param_1+4, frees the 0xc-byte node. Writes the successor node's address to *param_2. 0x00AB0FD0 106 std__map_find_string stl Finds an exact match in a string-keyed std::map. Performs lower_bound lookup then verifies key equality via std::char_traits::compare. Returns iterator to found node, or end() if not found. 0x00AB1040 111 ensure_game_settings_singleton game_core Creates the GameSettings singleton (DAT_0145700c) if not yet initialized. Allocates 0x58 bytes and calls GameSettings__constructor. 0x00AB10B0 111 ensure_window_position_mgr_singleton game_core Creates the CUIWindowPositionMgr singleton (DAT_01457098) if not yet initialized. Allocates 0x34 bytes and calls CUIWindowPositionMgr__ctor. 0x00AB1120 38 CUIWindowMgr__is_chat_input_focused ui_framework Returns 1 if the currently focused window (0x1a0) is one of the main chat window's input fields (at main_window+0xBC or +0xC0), 0 otherwise. 0x00AB1150 165 std__list_push_back_int stl Pushes an integer value to the back of a doubly-linked list. Allocates a 0xc-byte node, sets the data field, links it at the end. Throws if list exceeds 0x15555555 elements. 0x00AB1200 28 CConnectionPointSink__ctor_simple ui_windows Constructor for a simple COM connection point sink. Sets vtable pointer to PTR_FUN_01158c24, clears ref count, stores param_2 as the connection target. 0x00AB1220 28 CConnectionPointSink__ctor_type_c04 ui_windows Constructor for COM connection point sink with vtable PTR_01158c04. 0x00AB1240 28 CConnectionPointSink__ctor_type_bb8 ui_windows Constructor for COM connection point sink with vtable PTR_01158bb8. 0x00AB1260 28 CConnectionPointSink__ctor_type_b38 ui_windows Constructor for COM connection point sink with vtable PTR_01158b38. 0x00AB1280 131 CConnectionPointSink__ctor_with_inner ui_windows Constructor for a COM connection point sink with an inner object. Sets vtable to PTR_FUN_01158b78, allocates an inner 0xc-byte COM object with vtable PTR_FUN_01158b38. Stores param_2 as the connection target in both outer and inner objects. 0x00AB1310 368 CWebBrowserEventSink__ctor ui_windows Constructor for a web browser event sink COM object. Creates a hierarchy of COM sink objects for handling browser events: inner sink (0xc bytes, vtable PTR_FUN_01158b38), wrapper (0x10 bytes, vtable PTR_FUN_01158b78), and three additional sinks (0xc bytes each with different vtables). Calls AddRef on the target connection point at param_3. 0x00AB14E0 232 CWebBrowserEventSink__dtor ui_windows Destructor for the web browser event sink COM object. Queries the connection point for unadvise, releases all child sink objects (vtables 5-7, and inner wrapper at 4), calls Release on the connection point. 0x00AB16A0 78 CWebBrowserEventSink__QueryInterface ui_windows IUnknown::QueryInterface for the web browser event sink. Compares the requested IID against a known GUID at DAT_011b0880. Only supports interface IDs 0x28 and 0x29 (IDispatch-related). Returns 0x80040104 (no interface) or 0x80040100 on mismatch. 0x00AB16F0 21 COM_stub_get_ids_of_names game_core IDispatch::GetIDsOfNames stub. Sets output to 0 and returns S_FALSE (1). 0x00AB1720 21 COM_stub_get_type_info game_core IDispatch::GetTypeInfo stub. Sets output to null and returns E_NOINTERFACE (0x80004002). 0x00AB1750 21 COM_stub_get_type_info_count game_core IDispatch::GetTypeInfoCount stub. Sets count to 0 and returns S_FALSE (1). 0x00AB1770 32 COM_connection_point_get_info game_core Returns connection point info: sets first DWORD to 0x14, second to 4, third to 0. Returns S_OK (0). 0x00AB17E0 23 COM_sink_get_inner_target game_core Returns the target object from the inner sink. Gets *(this+8)->8 and stores in param_2. Returns S_OK. 0x00AB1800 23 COM_sink_get_outer_target game_core Returns the target object from the outer sink wrapper. Gets *(this+0xc)->8 and stores in param_2. Returns S_OK. 0x00AB1820 62 COM_sink_get_connection_info game_core Fills connection info structure. Sets param_2 to this+8, param_3 to 0, and populates param_6 structure with outer target at +8, zeros at +4, +0xc, +0x10. Returns S_OK. 0x00AB1880 300 CWebBrowserEventSink__on_navigate ui_windows Handles web browser navigation events (event ID 0x111/BeforeNavigate2). Extracts the URL from the event args (BSTR/WCHAR), converts to multibyte via WideCharToMultiByte, builds a string, and calls FUN_00ab2d50 to process the URL. Sets navigation status to 0xB. 0x00AB19F0 92 CWebBrowserEventSink__advise_connection ui_windows Advises (connects) the event sink to a connection point. Queries the target for IConnectionPointContainer, then finds the correct connection point by IID and calls Advise to register this sink. 0x00AB1A80 17 COM_invoke_inner_vtable_0 game_core Invokes the first virtual method of the inner object at this+8. Indirect jump through the inner object's vtable[0]. 0x00AB1AA0 17 COM_invoke_inner_vtable_0_00ab1aa0 game_core COM thunk: invokes vtable[0] of inner object. Template variant. 0x00AB1AC0 17 COM_invoke_inner_vtable_0_00ab1ac0 game_core COM thunk: invokes vtable[0] of inner object. Template variant. 0x00AB1AE0 17 COM_invoke_inner_vtable_0_00ab1ae0 game_core COM thunk: invokes vtable[0] of inner object. Template variant. 0x00AB1B00 17 COM_invoke_inner_vtable_0_00ab1b00 game_core COM thunk: invokes vtable[0] of inner object. Template variant. 0x00AB1B20 303 CWebBrowserControl__QueryInterface ui_windows IUnknown::QueryInterface for the web browser control. Supports 6 different IIDs, returning different interface pointers from offsets +0x10 through +0x1c of the object. Returns E_NOINTERFACE (0x80004002) for unknown IIDs. 0x00AB1CB0 8 ret_one_00ab1cb0 crt Returns constant value 1 0x00AB1D70 5 ret_zero_00ab1d70 crt Returns constant zero value 0x00AB1DB0 21 COM_stub_invoke_return_1 game_core IDispatch::Invoke stub. Sets output param to 0 and returns S_FALSE (1). 0x00AB1DE0 246 CWebBrowser__ctor ui_windows Constructor for the CWebBrowser class. Initializes all fields to zero, gets screen dimensions via GetSystemMetrics. If option 0x10F (hardware cursor) is enabled, saves cursor state, disables the option, converts cursor coordinates, and repositions the cursor on screen. 0x00AB1EE0 57 BSTR_free_wrapper game_core Frees a BSTR string stored at *param_1 using SysFreeString. 0x00AB1F20 456 CWebBrowser__dtor ui_windows Destructor for CWebBrowser. Restores cursor state if hardware cursor was changed, hides system cursor. Unadvises the event sink from the connection point, releases the browser COM object, destroys the browser window, and restores the parent window. 0x00AB20F0 68 BSTR_free_wrapper_00ab20f0 game_core Frees a BSTR string stored at *param_1 using SysFreeString. Duplicate of BSTR_free_wrapper. 0x00AB2140 174 BSTR_array_scalar_deleting_dtor game_core Scalar deleting destructor for BSTR array elements. If flag bit 2 set, iterates array calling SysFreeString on each element. If flag bit 1 set, frees the memory. For single elements, just calls SysFreeString and optionally frees. 0x00AB21F0 104 CWebBrowser__address_bar_wndproc ui_windows Subclassed window procedure for the browser address bar. Intercepts Enter key (WM_KEYDOWN/0x100 with VK_RETURN/0xD) and sends WM_COMMAND with ID 1000 to navigate. Suppresses WM_KEYUP/WM_CHAR for Enter. Other messages pass through to the original wndproc. 0x00AB2260 79 CWebBrowser__check_resize ui_windows Checks if the browser window was resized by querying current width/height from the COM object. If dimensions differ from stored values (fields 0xD, 0xE), calls FUN_00ab3060 to handle the resize. 0x00AB22B0 373 CWebBrowser__create_browser_window ui_windows Creates the embedded web browser window. Uses CoCreateInstance to create an IWebBrowser2, registers the "ROWebBrowser" window class, creates a child window, sets up the OLE container, then creates the address bar (FUN_00ab27a0) and advises the event sink (FUN_00ab2ab0). 0x00AB2430 150 CWebBrowser__disconnect_events ui_windows Disconnects the event sink from the browser COM object. Queries for IConnectionPointContainer, unadvises, then destroys the event sink object. 0x00AB24D0 310 CWebBrowser__close_and_cleanup ui_windows Fully closes and cleans up the web browser. Hides cursor, disconnects events, releases OLE object, restores window styles, releases COM interface, destroys the browser window. Returns 1. 0x00AB2610 187 CWebBrowser__fix_fullscreen_window ui_windows Fixes the browser window when it enters fullscreen mode. Checks if the OLE control window size matches the expected dimensions, and if so resets the window styles and containment to prevent fullscreen. 0x00AB26D0 79 CWebBrowser__get_address_bar_height ui_windows Returns the height of the address bar (rebar control) + 4 pixels padding. Returns 0 if the rebar window doesn't exist or is not visible (flag at +0x18). 0x00AB2720 120 CWebBrowser__disable_hardware_cursor ui_windows Disables the hardware cursor option (0x10F) for the web browser. Saves current cursor position, converts from client to screen coordinates, sets the system cursor position, and marks the cursor state at +0x3c. 0x00AB27A0 420 CWebBrowser__create_address_bar ui_windows Creates the address bar toolbar. Creates a ReBarWindow32 control, inserts a COMBOBOX band for URL input, subclasses the combo's edit child with CWebBrowser__address_bar_wndproc. Stores rebar/combo handles, gets address bar height. 0x00AB2950 125 CWebBrowser__init_ole_container ui_windows Initializes the OLE container for the web browser. Allocates a 0x1c-byte container object via FUN_00ab3710, calls its initialization method, then activates the browser control via FUN_00ab3ae0. 0x00AB29D0 223 CWebBrowser__create_container_window ui_windows Creates the ROWebBrowser container window. Registers the window class, creates a child popup window, parents the OLE control inside it. 0x00AB2AB0 347 CWebBrowser__advise_and_activate ui_windows Creates the event sink, connects to the browser COM object, sets OLE containment, resizes to client area, and advises the connection point for navigation events. 0x00AB2C10 189 CWebBrowser__create_browser_frame ui_windows Creates IWebBrowser2 using CoCreateInstance with CLSCTX_LOCAL_SERVER. Sets up the OLE site, disables toolbar, address bar, and menu bar on the browser control. Handles COM error logging. 0x00AB2CD0 127 CWebBrowser__create_browser_inproc ui_windows Creates IWebBrowser2 using CoCreateInstance with CLSCTX_INPROC_SERVER. Simpler version that only sets up the OLE site. Handles COM error logging. 0x00AB2D50 284 CWebBrowser__navigate_to_url ui_windows Navigates the web browser to a URL string. Converts the multibyte URL to a wide string, creates a BSTR, calls IWebBrowser2::Navigate, shows the window, activates in-place, and updates the address bar text. Returns 1 on success, 0 on failure. 0x00AB2E70 442 CWebBrowser__update_and_manage_cursor ui_windows Updates the web browser window state and manages cursor visibility. Checks if browser window is visible, fixes fullscreen mode, handles resize, and toggles between game cursor (hidden) and system arrow cursor based on whether the mouse is over the game window or the browser window. 0x00AB3030 40 CWebBrowser__is_child_window ui_windows Checks if param_2 is the browser container window or a direct child of it. Returns 1 if match, 0 otherwise. 0x00AB3060 180 CWebBrowser__resize_browser ui_windows Resizes the browser to the given width and height. Adjusts for address bar height if visible. Stores actual content dimensions at fields 0xD and 0xE. Calls IWebBrowser2::put_Width and put_Height. Repositions the rebar toolbar. 0x00AB3120 257 CWebBrowser__toggle_address_bar ui_windows Toggles the address bar visibility on the web browser. Shows/hides the rebar control (field 10), adjusts the OLE control position for the address bar height, and resizes the browser content area to fill the remaining space. 0x00AB3230 173 CWebBrowser__update_cursor_visibility ui_windows Updates cursor visibility based on whether the mouse is over the game window or the browser. If over the game window (DAT_0173ad68), hides the system cursor. Otherwise shows the arrow cursor. Stores cursor state at offset +0x14. 0x00AB32E0 109 CWebBrowser__set_cursor_state ui_windows Sets the cursor visibility state for the web browser. If param_2 is 0, hides the cursor. If 1, shows the arrow cursor and enables hardware cursor processing. Stores state at +0x14. 0x00AB3350 105 CWebBrowser__restore_hardware_cursor ui_windows Restores the hardware cursor option (0x10F) when closing the web browser. Converts cursor position from screen to client coordinates, re-enables the game option, and activates the game window. 0x00AB33C0 683 ROWebBrowser__WndProc ui_windows Window procedure for ROWebBrowser windows. Handles WM_NCHITTEST/WM_CREATE (tracking active browser), WM_DESTROY (cleanup), WM_SIZE (resize browser), WM_CLOSE, WM_COMMAND with id 1000 (address bar navigate - reads URL, converts to wide, calls IWebBrowser2::Navigate), and filters F1/F11 key events. 0x00AB3710 66 CWebEventReceiver__ctor game_core Constructor for CWebEventReceiver. Sets vtable to PTR_FUN_01158d68, zeros all 6 fields, outputs debug string "CWebEventReceiver()". 0x00AB3760 72 COM_release_inner_ref_00ab3760 game_core Releases an inner COM object reference. Calls Release (vtable+0x8) on the inner object at *param_1 if non-null. 0x00AB37B0 72 COM_release_inner_ref_00ab37b0 game_core Releases an inner COM object reference. Identical to COM_release_inner_ref_00ab3760. 0x00AB3800 61 COM_release_inner_ref_00ab3800 game_core Releases an inner COM object reference via vtable+0x8. Slightly different calling convention variant. 0x00AB3850 61 COM_release_inner_ref_00ab3850 game_core Releases an inner COM object reference via vtable+0x8. Variant with different stack frame. 0x00AB38A0 66 CWebEventReceiver__dtor game_core Destructor for CWebEventReceiver. Resets vtable to PTR_FUN_01158d68, outputs debug string "~CWebEventReceiver()". 0x00AB38F0 21 COM_interlocked_add_ref game_core Thread-safe IUnknown::AddRef implementation. Atomically increments the reference count at this+4 using LOCK prefix. Returns the new count. 0x00AB3910 207 COM_find_and_advise_connection_point game_core Finds a connection point on a COM object by IID and advises (connects) a sink. Queries IConnectionPointContainer, finds the connection point by param_3 IID, then calls Advise with param_2 sink. Releases intermediaries. 0x00AB39E0 204 COM_find_and_unadvise_connection_point game_core Finds a connection point on a COM object by IID and unadvises (disconnects) by cookie. Queries IConnectionPointContainer, finds the connection point by param_2 IID, then calls Unadvise with param_3 cookie. 0x00AB3AE0 52 CWebEventReceiver__connect_to_object game_core Connects the web event receiver to a COM object. Stores the object at +8, the window handle at +0x18, calls AddRef, then advises the IOleObject connection point. Returns true on success. 0x00AB3B20 841 CWebEventReceiver__handle_event game_core Handles OLE events from the embedded web browser control. Event 0xFD: closes the browser, disconnects event sinks, destroys the window. Event 0x103: handles new window navigation by connecting child objects. Event 0x3FF/0x8001000A: handles key events (filters F1/F11/Esc). Event 0xFFFFFDA6: handles accelerator keys. 0x00AB3F30 99 CWebEventReceiver__QueryInterface game_core IUnknown::QueryInterface for CWebEventReceiver. Supports two IIDs (DAT_011af6e0 and DAT_011af750). Returns the this pointer and calls AddRef for matching IIDs, E_NOINTERFACE otherwise. 0x00AB3FA0 116 CWebEventReceiver__disconnect_all game_core Disconnects all event sinks from the web event receiver. Unadvises child object at +0x10, then the main OLE object at +8. Releases both COM objects and removes the browser window. 0x00AB4020 61 CWebEventReceiver__Release game_core IUnknown::Release for CWebEventReceiver. Atomically decrements refcount. When it reaches 0, resets vtable, logs destructor, and frees the 0x1c-byte object. 0x00AB4060 84 CMoviePlayer__ctor_base ui_windows Base constructor for CMoviePlayer. Calls CDialogWnd__on_resize_handler for parent initialization, then sets vtable to PTR_FUN_01158dc8. 0x00AB40C0 154 CMoviePlayer__ctor ui_windows Full constructor for CMoviePlayer. Calls CEffect__ctor(1) for base class, sets vtable to PTR_FUN_01158ea4, initializes fields (playing=0, volume=0, state=-1), then creates a CBinkPlayer instance at offset 0x1f*4. 0x00AB4160 71 CMoviePlayer__dtor_base ui_windows Base destructor for CMoviePlayer. Resets vtable to PTR_FUN_01158dc8, then calls UIBaseDialog__destructor_2 for parent cleanup. 0x00AB41B0 160 CMoviePlayer__dtor ui_windows Destructor for CMoviePlayer. Sets vtable, releases COM object via Release, closes and frees the CBinkPlayer, restores stream volume if saved, then calls CEffect__dtor for base cleanup. 0x00AB4250 99 CMoviePlayer__scalar_deleting_dtor_base ui_windows Scalar deleting destructor for CMoviePlayer base class (UITextDisplayWidget). Sets vtable to base vtable, calls UIBaseDialog__destructor_2, and conditionally frees the 0xB4-byte object. 0x00AB42C0 184 CMoviePlayer__scalar_deleting_dtor_full ui_windows Scalar deleting destructor for full CMoviePlayer (CEffect-derived). Sets vtable, releases COM object, closes/frees CBinkPlayer, restores sound volume, calls CEffect__dtor, and conditionally frees the 0x88-byte object. 0x00AB4390 198 CMoviePlayer__create_close_button ui_windows Creates a close button for the movie player. Allocates and constructs a UITextDisplayWidget, sets its size to 0x7F x 0x2B, positions it relative to params, assigns window type 0x209, and adds it as a child effect. 0x00AB4460 409 CMoviePlayer__render_text_overlay ui_windows Renders the text overlay on the movie player. Fills background with black, measures and draws a short text string (from DAT_01158f78) centered in the player area. Text color is 0xFFFFFF normally, 0x4EC7FF when state is 1 (playing). 0x00AB4600 125 CMoviePlayer__render_frame ui_windows Renders the movie player frame. Draws a black background, then if the BinkPlayer has a valid frame, scales it maintaining aspect ratio and draws the textured quad centered vertically. 0x00AB4680 69 CMoviePlayer__update_frame ui_windows Updates the movie player each tick. Calls CBinkPlayer__update_frame to advance the video, copies the frame to the render surface, triggers a redraw. If playback state is 2 (finished), opens the movie end dialog (window type 0x130). 0x00AB46D0 69 CMoviePlayer__handle_message ui_windows Message handler for CMoviePlayer. Handles: event 0x96 (open video file, create texture), 0x97 (pause/unpause via BinkPause), 0x9F (set volume via BinkSetVolume, save/mute stream), 0 with key 0x1B (trigger close dialog), 5 (show close confirmation), 6 (close on confirm). Forwards to CEffect__notify_parent_of_state_change. 0x00AB49D0 582 CUIAchievementWnd__ctor game_core Constructor for the CUIAchievementWnd (achievement window). 582 bytes. 0x00AB4C20 71 CUIAchievementWnd__dtor_base game_core Base destructor for CUIAchievementWnd. Sets vtable to CUIAchievementWnd vtable, then calls CEffect__dtor for base class cleanup. 0x00AB4C70 99 CUIAchievementWnd__scalar_deleting_dtor game_core Scalar deleting destructor for CUIAchievementWnd. Sets vtable, calls CEffect__dtor for base cleanup, and conditionally frees the 0x9C-byte object. 0x00AB4CE0 156 CUIAchievementWnd__on_create game_core OnCreate handler for CUIAchievementWnd. Sets up initial window state. 156 bytes. 0x00AB4D90 705 CUIAchievementWnd__render game_core Render function for the achievement notification window. Clears background (0xffff00ff), loads and draws a background sprite from an XOR-encrypted resource path, then renders achievement detail entries as sprite quads using skill tree node data. Iterates up to 2 detail slots per entry. Not a message handler -- this is the draw/paint callback. 0x00AB5070 278 UIScrollList__update_animation game_core Updates scroll list animation. Checks timer at offset 0x26 to trigger callback via FUN_00a8c780. Otherwise, uses skill window float value to calculate animated index position with timeGetTime-based progression. Supports repeat count at offset 0x21 and increments step counter at 0x25. 0x00AB51D0 186 singleton_init_flag_object game_core Singleton initializer. Allocates 0x14-byte flag object if global DAT_014a69b0 is null. Sets first byte to 1 (active flag), rest zeroed. Returns 1 if flag is set, otherwise frees the object and returns 0. 0x00AB52E0 36 CTimer__set_delay game_core Sets timer delay on object. Only acts if state (offset 0xc) < 2. Stores delay value at offset 0x8 and computes deadline (timeGetTime + delay) at offset 0x10. 0x00AB5310 241 STL_tree__copy_node_recursive stl Recursively copies a binary tree (STL red-black tree). Allocates 0x1C-byte nodes, copies key/color from source. Recursively copies left and right subtrees. Used by map/set copy constructors. 0x00AB5420 103 STL_tree__destroy_nodes_postorder stl Post-order recursive destruction of STL tree nodes. Traverses right subtree first, then frees current node (0x28 bytes each), continues with left child iteratively. Stops at sentinel nodes (byte 0xd != 0). 0x00AB5490 169 STL_tree__destroy_nodes_with_nested_map stl Post-order recursive destruction of tree nodes that contain nested maps. For each node: destroys right subtree recursively, then destroys nested map at node+0x14 via STL_map_destroy_subtree, frees the nested header (0x20 bytes), and frees the node itself (0x1C bytes). 0x00AB5540 75 STL_tree__lower_bound_by_int_key stl STL tree lower_bound search by integer key. Traverses binary search tree comparing key at node offset 0x10 against search key. Returns iterator struct with: found node, direction flag (0=right, 1=left), and closest >= node. 0x00AB5590 228 STL_vector__grow_ptr_array stl STL vector grow/reserve for pointer-sized (4-byte) elements. Computes new capacity as max(requested, old_capacity * 1.5), capped at 0x3FFFFFFF. Allocates new buffer, memsets new portion to 0, copies existing data, then replaces internal pointers. 0x00AB56A0 460 STL_vector__grow_36byte_elements stl STL vector grow/reserve for 0x24-byte (36 decimal) elements. Standard capacity growth (1.5x or requested size). Allocates aligned memory for large allocations. Initializes new elements via FUN_00abc860, copies existing via FUN_00abc900. 0x00AB5880 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00AB58A0 251 STL_tree__copy_ctor_with_fixup stl Copy constructor for an STL tree/map. Copies header, allocates 0x20-byte sentinel node, recursively copies all tree nodes via CRsmModel__copy_tree_node. Then fixes up leftmost and rightmost pointers by traversing to tree extremes. 0x00AB59A0 517 CRsmNode__ctor game_core CRsmNode constructor. Initializes vtable (PTR_FUN_011590e0), zeroes all fields. Sets up scale factors (offsets 7-9) to 1.0f. Allocates 0xC-byte linked list header for child nodes at offset 0x57. Sets render mode to 2, color to 0xFF0000 (red) at offset 0x55. Large structure (~0x170 bytes). 0x00AB5BB0 124 CRsmNodeEx__ctor game_core CRsmNodeEx constructor. Calls CRsmNode__ctor as base class, then overrides vtable to PTR_FUN_01159110. Adds 4 extra dword fields (0x5C-0x5F) initialized to zero. 0x00AB5C30 162 CRsmAnimNode__ctor game_core CRsmAnimNode constructor. Calls CRsmNode__ctor base, overrides vtable to PTR_FUN_01159140. Allocates 0xC-byte linked list at offset 0x5C. Initializes tick count timestamp at offset 0x62 via GetTickCount(). Adds animation timing fields. 0x00AB5CE0 256 CRsmPart__ctor game_core CRsmPart constructor. Sets vtable PTR_FUN_011590a4. Initializes embedded string (offsets 1-6, SSO with capacity 0xF). Allocates 0xC-byte tree header at offset 9. Sets transform data: scale 1.0 at offset 0x1B, position/rotation zeroed. Boolean at offset 0x22. 0x00AB5DE0 181 CRsmPartEx__ctor game_core CRsmPartEx constructor. Calls CRsmPart__ctor as base class, overrides vtable to PTR_FUN_011590b8. Adds 9 extra dword fields (0x23-0x2B) initialized to zero. 0x00AB5EA0 284 CRsmPartWithMaps__ctor game_core CRsmPartWithMaps constructor. Calls CRsmPart__ctor base, overrides vtable to PTR_FUN_011590cc. Adds extended fields (0x3B-0x47). Allocates two tree map headers: 0x1C-byte RB-tree at offset 0x44 and 0x28-byte RB-tree at offset 0x46. 0x00AB5FC0 67 STL_tree__free_header_12byte stl Frees a 0xC-byte STL tree/list header node if it exists (offset +4 non-null check). 0x00AB6010 67 STL_tree__free_header_40byte stl Frees a 0x28-byte (40 decimal) STL tree header node if it exists (offset +4 non-null check). 0x00AB6060 78 STL_tree__free_header_12byte_00ab6060 stl Frees a 0xC-byte STL tree/list header node if it exists. Similar to STL_tree__free_header_12byte but different calling convention. 0x00AB60B0 111 STL_tree__destroy_all_and_free_header stl Destroys all nodes in an STL tree via STL_tree__destroy_nodes_postorder (post-order traversal freeing 0x28-byte nodes), then frees the 0x28-byte tree header itself. 0x00AB6130 84 STL_map__destroy_subtree_and_free_header_20byte stl Destroys an STL map subtree via STL_map_destroy_subtree, then frees the 0x20-byte header node. Null-safe (checks offset+4 for existence). 0x00AB6190 78 STL_tree__free_header_40byte_00ab6190 stl Frees a 0x28-byte STL tree header if it exists. Variant with different stack cookie handling from STL_tree__free_header_40byte. 0x00AB61E0 78 STL_tree__free_header_40byte_00ab61e0 stl Frees a 0x28-byte STL tree header if it exists. Another variant of the 40-byte tree header deallocation. 0x00AB6230 103 linked_list__destroy_all_nodes_12byte stl Destroys all nodes in a singly-linked list. Zeroes the tail pointer, then iterates through the list freeing each 0xC-byte node. Finally frees the list header itself. 0x00AB62A0 65 STL_tree__destroy_wrapper stl Wrapper that calls STL_tree__destroy_all_and_free_header within an SEH frame. 0x00AB62F0 151 STL_vector__free_36byte_buffer stl Frees the backing buffer of an STL vector with 0x24-byte (36 decimal) elements. Handles aligned memory (>0xFFF bytes checks stored original pointer at buf[-4]). Zeroes the vector's begin/end/capacity pointers. 0x00AB6390 129 STL_vector__free_32byte_buffer stl Frees the backing buffer of an STL vector with 0x20-byte (32 decimal) elements. Handles aligned memory deallocation for large buffers. Zeroes begin/end/capacity pointers. 0x00AB6420 244 CRsmNode__dtor_body game_core CRsmNode destructor body. Sets vtable to CRsmNode. Iterates child list at offset 0x57, freeing 0xE8-byte child data at each node's [2]. Destroys the linked list nodes (0xC bytes each). Then clears and frees the list header. 0x00AB6520 110 CRsmNodeEx__dtor_body game_core CRsmNodeEx destructor body. Sets vtable to CRsmNodeEx. Destroys object at offset 0x5C via virtual call if non-null. Then chains to CRsmNode__dtor_body for base class cleanup. 0x00AB6590 258 CRsmAnimNode__dtor_body game_core CRsmAnimNode destructor body. Sets vtable to CRsmAnimNode. Iterates child list at offset 0x5C, calling virtual destructors on each child's data ([2]). Destroys linked list nodes, then chains to CRsmNode__dtor_body. 0x00AB66A0 279 CRsmPart__dtor_body game_core CRsmPart destructor body. Sets vtable to CRsmPart. Destroys child parts via virtual dtors from linked list at offset 9. Clears list, resets position data. Calls json cleanup, frees 36-byte vector, stub cleanup, then destroys list header and embedded string. 0x00AB67C0 148 CRsmPartEx__dtor_body game_core CRsmPartEx destructor body. Sets vtable to CRsmPartEx. Frees 0x10-byte and 0x14-byte vectors, then 32-byte vector buffer. Chains to CRsmPart__dtor_body for base cleanup. 0x00AB6860 214 CRsmPartWithMaps__dtor_body game_core CRsmPartWithMaps destructor body. Sets vtable to CRsmPartWithMaps. Destroys tree at offset 0x46 (40-byte header), destroys map-with-maps tree at offset 0x44 (0x1C header), frees three 0x14-byte vectors. Chains to CRsmPart__dtor_body. 0x00AB6940 65 STL_vector__free_32byte_wrapper stl Wrapper that calls STL_vector__free_32byte_buffer within an SEH frame. 0x00AB6990 38 CRsmNode__scalar_deleting_dtor game_core CRsmNode scalar deleting destructor. Calls CRsmNode__dtor_body, then frees 0x170 bytes if bit 0 of param is set. Virtual destructor entry point. 0x00AB69C0 134 CRsmNodeEx__scalar_deleting_dtor game_core CRsmNodeEx scalar deleting destructor. Sets vtable, destroys object at offset 0x5C via virtual call, chains to CRsmNode__dtor_body, then frees 0x180 bytes if bit 0 set. 0x00AB6A50 282 CRsmAnimNode__scalar_deleting_dtor game_core CRsmAnimNode scalar deleting destructor. Sets vtable, destroys child list at offset 0x5C with virtual dtors, chains to CRsmNode__dtor_body, then frees 400 bytes if bit 0 set. 0x00AB6B70 38 CRsmPart__scalar_deleting_dtor game_core CRsmPart scalar deleting destructor. Calls CRsmPart__dtor_body, then frees 0x8C bytes if bit 0 set. 0x00AB6BA0 172 CRsmPartEx__scalar_deleting_dtor game_core CRsmPartEx scalar deleting destructor. Sets vtable, frees vectors, chains to CRsmPart__dtor_body, then frees 0xB0 bytes if bit 0 set. 0x00AB6C50 238 CRsmPartWithMaps__scalar_deleting_dtor game_core CRsmPartWithMaps scalar deleting destructor. Destroys trees and vectors, chains to CRsmPart__dtor_body, then frees 0x120 bytes if bit 0 set. 0x00AB6D40 312 CRsmNode__transform_point_by_key game_core Transforms a 2D point (x,y in param_3/param_4) using a transform entry looked up by float key in the node's tree. Applies rotation (sin/cos at offset 0x24), scale (offsets 0x1C/0x20), and translation (offsets 0x14/0x18). Returns 1 if transform found, 0 if key not in tree. 0x00AB6E90 185 CRsmNodeEx__init_from_rsm_data game_core Initializes CRsmNodeEx from RSM file data. Copies animation speed (offset 0x14C) and frame count (0x15C). Allocates and constructs a CRsmPartEx child, links parent pointer, calls virtual load and update methods. 0x00AB6F50 236 CRsmAnimNode__init_from_rsm_data game_core Initializes CRsmAnimNode from RSM file data. Copies animation speed and frame count. Calculates frame duration as (frameCount * 1000) * (constant / fps). Uses CResourceManager__ForEachInList with a functor (vtable PTR_FUN_01159170). Calls virtual load and update. 0x00AB7050 927 CRsmPartEx__copy_from_rsm_part game_core Copies RSM part data into CRsmPartEx. Copies name string, texture ID references, alpha value, position/rotation/scale keyframes. Creates CRsmPartEx children for each child part in source, linking parent/root pointers. Resizes index buffer based on face count. 0x00AB73F0 942 CRsmPartWithMaps__copy_from_rsm_part game_core Copies RSM part data into CRsmPartWithMaps. Similar to CRsmPartEx version but copies 3x4 matrices (position, rotation, scale). If parent exists, computes inverse transform and multiplies. Copies face/vertex/texcoord vectors. Creates CRsmPartWithMaps children. Handles texture face indices. 0x00AB77A0 105 STL_vector__resize_32byte_elements stl Resizes an STL vector of 0x20-byte (32 decimal) elements. If new size < current, truncates. If new size > current but within capacity, extends via FUN_00abc8a0. Returns pointer to element at (new_end - param_2). 0x00AB7810 49 CRsmNode__test_ray_intersection game_core Tests if a ray intersects this CRsmNode's bounding box (AABB at offset 0x98). Only active when flag at offset 0x154 is set. On intersection hit, sets dirty/selected flag at offset 0x155. 0x00AB7860 15 CRsmNode__find_part_by_name_wrapper game_core Wrapper that calls CRsmPart__find_by_name_recursive on this node's root part. Thin forwarder. 0x00AB7870 49 CRsmNode__find_child_by_name game_core Searches child list at offset 0x170 for a part matching the given name. Iterates through linked list, calling CRsmPart__find_by_name_recursive on each child. Returns matching part pointer or 0. 0x00AB78B0 109 CRsmPart__find_by_name_recursive game_core Recursively searches for an RSM part by name. Compares this part's embedded string (offset 4, SSO) against param_2 using std::char_traits compare. If match, returns this. Otherwise recursively searches children in linked list at offset 0x24. 0x00AB7930 219 CRsmNodeEx__update_frame_tick game_core Updates animation frame based on tick count. Mode 1 = play once (clamps at end), Mode 2 = loop (wraps to 0). Uses speed (0x5A) and DAT_01114b8c as delta multiplier. Calls virtual set_frame (vfunc 0x14) with new frame value. Stores last tick at offset 0x5F. 0x00AB7A10 300 CRsmAnimNode__update_frame_tick game_core Updates animation frame for CRsmAnimNode using GetTickCount-based timing. Mode 1 = play once (clamps via FUN_00e62680), Mode 2 = loop (resets timestamp at 0x62 on wrap). Uses double-precision frame duration at offset 0x60. Calls virtual set_frame. 0x00AB7B50 227 CRsmNodeEx__render game_core CRsmNodeEx render method. Calls virtual update (vfunc 8) if dirty flag (0x25) set. Computes face winding from scale signs (offsets 7-9). Multiplies local 3x4 matrix (offset 0xD) with parent. Calls child part's render (vfunc 0xC). Handles alpha fade-in/fade-out (offsets 0x155-0x156). 0x00AB7C40 240 CRsmAnimNode__render game_core CRsmAnimNode render method. Similar to CRsmNodeEx render but iterates through child list at offset 0x5C, rendering each child part. Handles alpha fade on parent node (offsets 0x155-0x156) per child. 0x00AB7D40 1889 CRsmPartEx__render_triangles game_core CRsmPartEx triangle rendering. Multiplies transform matrix, projects vertices to screen via CRenderPipeline. Iterates face indices, performs backface culling and frustum clipping. Builds 32-byte vertex entries with position, depth, color, and UV. Applies vertex colors with ambient lighting. Enqueues mesh batches to render pipeline's circular buffer. 0x00AB84B0 2297 CRsmPartWithMaps__render_triangles game_core CRsmPartWithMaps triangle rendering. Similar to CRsmPartEx version but additionally transforms each vertex's UV through the node's transform map (via STL_tree__lower_bound_by_int_key). Applies rotation, scale, and translation to texture coordinates per face. Handles ambient lighting, backface culling, and frustum clipping. Enqueues to render pipeline. 0x00AB8DB0 605 CRsmNode__render_bounding_box game_core Renders RSM node bounding box as 6 quads (12 triangles). Projects 8 corner vertices (offset 0xD4, 0xC bytes each) to screen space. Uses DAT_01347e80 index table for face winding. Enqueues each quad to the render pipeline's line/debug queue (offset 0x74). Calls stub_00571790 for texture binding. 0x00AB9010 48 CRsmNode__set_animation_speed game_core Sets animation speed at offset 0x168. If non-zero, divides by DAT_010df4f0 (likely FPS normalization constant). Zero speed stored as-is. 0x00AB9040 20 CRsmNode__set_animation_speed_raw game_core Sets animation speed at offset 0x168 directly without FPS normalization. Raw value setter. 0x00AB9070 42 CRsmNode__set_frame_and_mark_dirty game_core Sets the current animation frame on the first child in the list at offset 0x170 via virtual call (vfunc 8). Sets dirty flag at offset 0x94 to 1 to trigger re-render. 0x00AB90A0 99 CRsmModel__set_frame_all_children game_sprites Sets animation frame on all children in the node list at offset 0x170. Scales the input frame by speed factor (0x178) divided by DAT_010db1e0. Iterates children calling virtual set_frame (vfunc 8). Sets dirty flag at 0x94. 0x00AB9120 238 CRsmPart__set_frame_with_interpolation game_core Sets frame on CRsmPart with keyframe interpolation. Copies identity matrix, then interpolates translation, rotation, and scale from keyframe arrays. Multiplies resulting matrices. Recursively sets frame on child parts through linked list at offset 0x24. 0x00AB9210 644 CRsmPartWithMaps__set_frame_with_morph game_core Sets frame on CRsmPartWithMaps with morph target support. Copies identity matrix, interpolates scale/rotation/position transforms. Clears and rebuilds transform map (offset 0x118) from template (0x110). For each map entry, interpolates morph keyframes at the current frame. Recursively applies to children. 0x00AB94A0 38 CRsmPart__set_two_sided_recursive game_core Recursively sets two-sided rendering flag (offset 0x88 = 1) on this part and all children via linked list at offset 0x24. 0x00AB94D0 373 CRsmModel__clone_child_parts game_sprites Clones all child parts from source list into this model's list at offset 0x15C. For each source part, allocates 0xE8 bytes, zeroes it, copies all 0x3A dwords from source. Creates 0xC-byte linked list nodes. Increments count at offset 0x160. 0x00AB9660 3776 CRsmModel__compute_bounding_box_and_normals game_sprites Computes RSM model's world-space bounding box and surface normals. Builds model transform from position, scale, and rotation. Transforms all 8 AABB corners to world space, tracking min/max. Computes center point, half-extents, and 3 normalized axis vectors (offsets 0xB0-0xD0). Iterates child parts computing per-part bounding boxes. Sets dirty flag. 0x00ABA520 3551 CRsmNode__compute_bounding_box_and_normals game_core Computes CRsmNode bounding box and normals. Similar to CRsmModel version but works on node's child list at 0x5C. Iterates parts via FUN_00abb300 to accumulate bounds. Transforms 8 AABB corners by node's local matrix. Computes normalized axis vectors. Sets ready flag at 0x25. 0x00ABB300 333 CRsmPart__compute_world_bounds_recursive game_core Recursively computes world-space bounds for an RSM part. Transforms each vertex by the part's local 3x4 matrix (offset 0x30). Updates min/max AABB in param_2 (6 floats: minX,minY,minZ,maxX,maxY,maxZ). Recurses into child parts. 0x00ABB450 1074 CRsmPart__compute_vertex_lighting game_core Computes per-vertex lighting for RSM part faces. For each face's 3 vertices: transforms vertex to world space via param_3 matrix + node offset, calls FUN_00ac09b0 to compute lighting contribution. Adds base vertex color (from offset 0x70) to computed light, clamped to 255. Stores 3 RGB values per face (0x24 bytes per face at offset 0x7C). 0x00ABB890 223 CRsmModel__rebuild_transform_matrix game_sprites Rebuilds the model's world transform matrix. Sets translation from offsets 0x28-0x30, applies view transform (scale from 0x1C-0x24), then rotation Y/X/Z from euler angles at 0x10-0x18 (converted deg to rad). Multiplies with local matrix at offset 4. Computes inverse at offset 0x34. Clears dirty flag at 0x94. 0x00ABBA60 55 CRsmNodeEx__compute_lighting game_core CRsmNodeEx compute lighting. Calls virtual update if dirty, then delegates to CRsmPart__compute_face_colors with the node's local matrix (offset 0xD) and animation speed (0x5B). 0x00ABBAA0 89 CRsmAnimNode__compute_lighting game_core CRsmAnimNode compute lighting. Calls virtual update if dirty. Iterates child list at offset 0x5C, calling CRsmPart__compute_face_colors for each child with the node's local matrix. 0x00ABBB00 1968 CRsmPart__compute_face_colors game_core Computes per-face vertex colors for an RSM part. Mode 0: flat color from parent node color. Mode 1: per-face normal lighting with diffuse+ambient, accounts for texture atlas smoothing. Mode 2: per-vertex normal lighting. After color computation, assigns texture UV coordinates per face vertex. Recursively processes child parts. Finally computes vertex lighting via CRsmPart__compute_vertex_lighting. 0x00ABC2B0 257 STL_vector__reallocate_16byte_elements stl Reallocates STL vector for 0x10-byte (16 decimal) elements. Frees old buffer (handles aligned memory), allocates new buffer with 1.5x growth. Sets begin/end/capacity pointers. 0x00ABC3C0 278 STL_vector__reallocate_20byte_elements stl Reallocates STL vector for 0x14-byte (20 decimal) elements. Frees old buffer (handles aligned memory), allocates new with 1.5x growth. Sets begin/end/capacity pointers. 0x00ABC4E0 32 CRsmAnimNode__init_functor game_core Initializes a functor object for CRsmAnimNode resource iteration. Sets vtable to PTR_FUN_01159170, copies 8-byte data and a dword from the source. 0x00ABC500 68 CRsmAnimNode__destroy_functor game_core Destroys CRsmAnimNode functor. Frees 0x10 bytes if param_2 is non-zero (scalar delete). 0x00ABC550 157 CRsmAnimNode__load_part_by_name game_core Loads an RSM part by name for CRsmAnimNode. Looks up resource via CResourceManager__FindByName. Allocates 0x120-byte CRsmPartWithMaps, constructs it, links parent pointer (offset 7), calls virtual load (vfunc 4), then pushes to child list via FUN_00abcb70. 0x00ABC600 1 stub_nop_00abc600 game_core Single-byte stub function (size=1) 0x00ABC610 3 identity_passthrough_00abc610 crt Returns input parameter unchanged; identity function stub 0x00ABC620 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00ABC830 32 CRsmAnimNode__init_functor_00abc830 game_core Initializes functor for resource iteration. Same as CRsmAnimNode__init_functor - copies vtable, 8-byte data, and dword from source. Duplicate at different address. 0x00ABC860 49 memset_36byte_elements game_core Zeroes param_2 elements of 0x24 bytes (36 decimal) each starting at param_1. Returns pointer past the last zeroed element. Used for vector initialization. 0x00ABC8A0 83 init_vertex_buffer_32byte_elements game_core Init vertex buffer 32byte elements 0x00ABC900 54 copy_vertex_buffer_36byte_elements game_core Copies 36-byte (9 dwords) vertex elements from source range to destination. Copies in 3 groups: 4 dwords + 4 dwords + 1 dword per element. Used for vertex buffer relocation. 0x00ABC940 10 thunk_to_std__Xlength_error_00abc940 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00ABC950 468 CVertexPool__allocate_32byte_vertices game_core Allocates 32-byte vertices from a pool. Searches free list for a buffer with enough capacity. If found, resizes it. Otherwise allocates a new vector with the requested capacity. Tracks total allocated count. Returns pointer to the allocated vertex range. 0x00ABCB30 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00ABCB70 165 linked_list__push_back stl Pushes an element to the back of a doubly-linked list. Allocates 0xC-byte node, stores data pointer at [2], increments count at [1]. Inserts before the sentinel. Throws length_error if list at max (0x15555555). 0x00ABCC20 149 STL_vector__resize_36byte_elements stl Resizes STL vector of 0x24-byte (36 decimal) elements. Truncates if smaller, grows with STL_vector__grow_36byte_elements if beyond capacity, or memsets new elements to zero if within capacity. 0x00ABCCC0 34 memcpy_range_to_dest_00abccc0 stl Copies memory range [param_1, param_2) to param_3 via memcpy. Returns end pointer (param_3 + size). Generic range copy utility. 0x00ABCCF0 34 memcpy_range_to_dest_00abccf0 stl Copies memory range [param_1, param_2) to param_3 via memcpy. Returns end pointer. Duplicate of memcpy_range_to_dest. 0x00ABCD20 34 memcpy_range_to_dest_00abcd20 stl Copies memory range [param_1, param_2) to param_3 via memcpy. Returns end pointer. Duplicate of memcpy_range_to_dest. 0x00ABCD50 276 STL_vector__insert_ptr_element stl Inserts a single pointer-sized element into an STL vector at position param_2. Allocates new buffer with 1.5x growth, copies before/after segments around insertion point. Returns pointer to inserted element. 0x00ABCE90 461 STL_vector__grow_12byte_elements stl Grows/reallocates STL vector for 0xC-byte (12 decimal) elements. Standard 1.5x capacity growth with aligned allocation for large buffers. Initializes new elements via FUN_00ac3b10, copies existing via memcpy. 0x00ABD070 450 STL_vector__grow_84byte_elements stl Grows STL vector for 0x54-byte (84 decimal) elements. Standard 1.5x capacity growth with aligned allocation. Initializes new elements via FUN_00ac3a70, copies existing via FUN_00ac3b40. 0x00ABD240 493 STL_vector__grow_156byte_elements stl Grows STL vector for 0x9C-byte (156 decimal) elements. Standard 1.5x capacity growth with aligned allocation. Initializes new elements via FUN_00ac3aa0, copies existing via FUN_00ac3ba0. 0x00ABD440 499 STL_vector__grow_56byte_elements stl Grows STL vector for 0x38-byte (56 decimal) elements. Standard 1.5x capacity growth with aligned allocation. Initializes new elements via FUN_00ac3ad0, copies existing via memcpy. 0x00ABD640 386 CParticleEmitter__ctor game_sprites CParticleEmitter constructor. Calls CParticleEmitterBase__ctor first, then overrides vtable to PTR_FUN_011591f8. Initializes extended particle fields: gravity, emission timing, lifetime, blending mode, alpha, and various flags. Sets defaults: speed=10.0, maxCount=3, lifetime=50, blendMode=2, alpha=1.0. 0x00ABD7D0 208 CParticleEmitterBase__ctor game_sprites CParticleEmitterBase constructor. Sets vtable to PTR_FUN_011591a4. Initializes base emitter properties: position/velocity zeroed, speed=10.0 (0x41200000), maxCount=3, lifetime=50, blendMode=2, alpha=1.0. Does NOT set derived class fields. 0x00ABD8A0 66 CParticle__init_defaults game_sprites Initializes particle structure defaults. Zeroes 4 groups of 3 floats (position, velocity, acceleration, etc. at offset 0x10). Zeroes tail fields (0x40-0x48). Sets color to opaque white (0xFFFF at offset 0x51, 0xFF at 0x50). 0x00ABD8F0 60 CParticleVertex__init_defaults game_sprites Initializes particle vertex structure. Zeroes 4 groups of 3 fields at 32-byte stride (offset 8). Zeroes fields at 0x84 and 0x94. Used for particle render vertex data. 0x00ABD930 110 CParticleGroup__ctor game_sprites CParticleGroup constructor. Zeroes all 6 dwords (24 bytes). Simple structure with no vtable. 0x00ABDA10 148 STL_vector__free_84byte_buffer stl Frees STL vector backing buffer for 0x54-byte (84 decimal) elements. Handles aligned memory (checks stored pointer at buf[-4] for large allocations). Zeroes begin/end/capacity. 0x00ABDAB0 153 STL_vector__free_156byte_buffer stl Frees STL vector backing buffer for 0x9C-byte (156 decimal) elements. Handles aligned memory deallocation. Zeroes begin/end/capacity. 0x00ABDB50 159 STL_vector__free_56byte_buffer stl Frees STL vector backing buffer for 0x38-byte (56 decimal) elements. Handles aligned memory deallocation. Zeroes begin/end/capacity. 0x00ABDC00 150 STL_vector__free_12byte_buffer stl Frees STL vector backing buffer for 0xC-byte (12 decimal) elements. Handles aligned memory deallocation. Zeroes begin/end/capacity. 0x00ABDCA0 116 CParticleEmitterBase__dtor_body game_sprites CParticleEmitterBase destructor body. Sets vtable back to base class, calls clear_textures and deallocates 4-byte vector, then frees 56-byte vector buffer. 0x00ABDD20 95 CParticleEmitterBase__dtor_cleanup game_sprites CParticleEmitterBase destructor cleanup variant. Same cleanup as dtor_body (clear_textures, deallocate 4-byte vector, free 56-byte buffer) but without setting vtable. Used as partial destructor path. 0x00ABDD80 220 CParticleEmitter__scalar_deleting_dtor game_sprites CParticleEmitter scalar deleting destructor. Frees 5 vectors (36-byte, 4-byte, 84-byte, 12-byte, 156-byte), then runs base destructor cleanup. Frees 0xAC bytes if bit 0 set. 0x00ABDE60 141 CParticleEmitterBase__scalar_deleting_dtor game_sprites CParticleEmitterBase scalar deleting destructor. Sets vtable, runs cleanup (clear_textures, deallocate 4-byte vector, free 56-byte buffer). Frees 100 bytes if bit 0 of param set. 0x00ABDEF0 7032 CParticleEmitter__init_and_update game_sprites Initializes and updates particle emitter. 7K bytes. Sets up particle vertices with defaults, loads animation frames from ACT file, calculates sqrt distances. No callers (likely virtual/callback). 0x00ABFB10 569 CLightmap__compute_lightmap_texels game_core Computes lightmap texels for a terrain surface. Iterates over grid cells (width*2 x height*2), checks if cell has valid height data. For cells above threshold, samples 5 neighbor directions via CWalkGrid__get_vertex_color_rgba to compute diffuse lighting. Normalizes RGB channels, stores to lightmap buffer (offset 0x1C, 12 bytes per texel). 0x00ABFD60 1028 CWalkGrid__check_cell_collision pathfinding Checks ray collision against a walk grid cell at (param_3, param_4). For each of 3 sub-cells (offsets 0x40, 0x48, 0x44), extracts 4 corner vertices (at stride 0x20), tests ray intersection via CRay__intersect_triangle_alt for two triangles. If intersection distance < param_5, marks cell as collided (offset 0x94 = 1). 0x00AC0180 127 CWalkGrid__world_to_cell pathfinding Converts world coordinates (param_2, param_3) to grid cell indices. Divides by cell size (offset 0x10), floors, and adds half grid dimensions (offsets 8, 0xC) to center the grid. 0x00AC0200 334 CParticleEmitterBase__resize_grid game_sprites Resizes the particle emitter's grid. Sets dimensions (offsets 2, 3). Resizes 84-byte particle vector to width*height elements (initializing new via CParticle__init_defaults). Resizes 12-byte vector to width*height*4 elements. Resets counters at offsets 0x16-0x17. 0x00AC0360 1580 CParticleEmitterBase__load_frames_from_act game_sprites Loads particle frames from ACT file data. Resizes 56-byte frame vector to frame count. For each 1024-frame block, reads frame data via CActFile__get_frame_data, computes UV coordinates in 256x256 texture atlas (8x8 sprites per frame). Creates texture via CTextureCache__create_text_surface and stores in pointer vector. Links textures to frames. 0x00AC09B0 209 CWalkGrid__get_cell_color pathfinding Gets cell color (RGB bytes) at world coordinates. Converts world X/Z to grid indices via floor division. Returns color from cell at offset 0x50-0x52 within the 0x54-byte cell structure. Out-of-bounds returns 0xFF,0xFF,0xFF (white). 0x00AC0A90 417 CWalkGrid__get_cell_quad_positions pathfinding Gets 4 corner world positions for a cell quad. Input is doubled indices (param_2/2, param_3/2 = actual cell). Computes XZ from cell size, Y initially 0. Calls C3dAttr__GetCellPtr for actual height data, fills param_4 with 4 vec3 corners. Returns 1 if valid. 0x00AC0C40 248 CWalkGrid__get_half_cell_quad_positions pathfinding Gets 4 corner positions for a half-cell quad (used for higher-resolution rendering). Uses half cell size (cellSize * 0.5). Similar to get_cell_quad_positions but at doubled resolution. Fills param_4 with 4 vec3 corners. 0x00AC0D40 237 CWalkGrid__get_cell_vertices_with_height pathfinding Gets cell vertices (4 corners, 12 floats each) from the 0x54-byte cell structure at offsets 0x40. Copies vertex positions from stride-0x20 source. Also fetches height data from parent's 0x14-byte height array at offset 0x11C. 0x00AC0E30 100 CWalkGrid__get_cell_heights_to_buffer pathfinding Reads height values from the parent's height data array (offset 0x11C in parent at offset 4). Writes 4 height floats at stride 0xC into param_2 buffer. Bounds-checked against grid dimensions. 0x00AC0EA0 353 CWalkGrid__get_height_range_for_region pathfinding Gets min/max height for a rectangular region of cells. param_2 is [x1, y1, x2, y2] bounds. Iterates all cells in region, reads 4 heights per cell (offsets 4, 0x24, 0x44, 0x64 in vertex data). Returns min in param_3, max in param_4. Out-of-bounds or empty returns 0,0. 0x00AC1010 241 CWalkGrid__get_cell_height_range pathfinding Gets min/max height for a single cell at (param_2, param_3). Reads 4 vertex heights at offsets 4, 0x24, 0x44, 0x64. Returns min in param_4, max in param_5. Out-of-bounds returns 0,0. 0x00AC1130 134 CWalkGrid__get_lightmap_color pathfinding Gets lightmap color for a cell vertex. Input doubled indices. Reads RGB floats from lightmap buffer (offset 0x70, 12 bytes per entry). Returns default 1.0, 1.0, 1.0 if out-of-bounds or no lightmap data. 0x00AC11D0 435 CWalkGrid__get_vertex_color_rgba pathfinding Gets RGBA vertex color for a cell corner. Uses doubled indices, selects one of 4 sub-quadrants based on parity of x/y. Reads from cell's vertex data at offset 0x8C (sub-offsets 0x28-0x37 for the 4 quadrants). Returns 0xFF for all channels if out-of-bounds or no data. 0x00AC1390 122 CWalkGrid__get_shadow_value pathfinding Gets shadow/ambient occlusion value for a cell. Maps cell indices to shadow grid (coarser resolution via offsets 0x88/0x8C). Clamps to grid bounds. Returns float from shadow array at offset 0x90. 0x00AC1410 20 CWalkGrid__ensure_loaded pathfinding Ensures walk grid data is loaded. If offset 0x14 is null, triggers virtual load (vfunc 0x4C) and rechecks. Returns the loaded data pointer. 0x00AC1430 214 CWalkGrid__update_animated_textures pathfinding Updates animated textures for walk grid surfaces. Iterates texture entries (0x24 bytes each, offset 0x9C-0xA0). Increments frame counter, wraps animation cycle. Builds texture filename via snprintf with frame index, loads via stub_005717a0. Updates rotation angle with wrap at 360 degrees. 0x00AC1540 90 CWalkGrid__cell_to_shadow_index pathfinding Converts cell indices to shadow grid index. Divides by cell-to-shadow ratio, clamps to shadow grid bounds, returns linear index into shadow array. 0x00AC15A0 287 CWalkGrid__render_ground_cells pathfinding Renders ground cells within a region (param_3 = [x1,y1,x2,y2]). Iterates cells, skips already-rendered (frame stamp at offset 0x4C). For each cell with sub-cell 0x40, calls render_water_cell_animated and render_ground_quad. Also renders sub-cells 0x48 and 0x44 via render_ground_quad. 0x00AC16D0 59 CWalkGrid__render_grid_overlay pathfinding Renders a grid overlay texture on a cell. Loads grid.tga texture, passes to CWalkGrid__render_textured_quad with predefined UV coordinates from DAT_01347eb0. 0x00AC1720 640 CWalkGrid__render_textured_quad pathfinding Renders a textured quad on a walk grid cell. Gets cell corners, interpolates positions for sub-cells based on parity. Projects 4 vertices to screen space, applies UV from texture and param_6 UV scale table. Enqueues as alpha-blended mesh (type 5/6). 0x00AC19A0 885 CWalkGrid__render_ground_cells_with_frustum pathfinding Renders ground cells with full frustum culling. For each cell in region, projects 4 vertices, performs screen-space frustum test (min/max X, Y, depth checks). Renders vertex data with UV, color (alpha=0x80), and texture. Processes sub-cells 0x48 and 0x44 via render_ground_quad_simple. 0x00AC1D30 2037 CWalkGrid__render_ground_quad pathfinding Renders a single ground quad. Projects 4 vertices to screen, performs frustum culling if param_3 set. Applies ambient lighting to vertex colors (DAT_016fda88/90). Handles shadow mapping option (0x77). If shadow enabled and DAT_01311ec4 set, enqueues to post-process queue. Otherwise renders as standard ground mesh (type 0x800) with optional lightmap (type 0x1000). 0x00AC2530 646 CWalkGrid__render_ground_quad_simple pathfinding Renders a ground quad without shadow or ambient color processing. Projects 4 vertices, performs frustum culling if param_3 set. Copies UV and color data directly from source vertices. Enqueues as ground mesh (type 0x800). 0x00AC27C0 952 CWalkGrid__render_water_cell pathfinding Renders a water cell with shadow and wave modulation. Gets shadow value, applies wave height via vec3_normalize with time-based offsets. Modifies vertex heights based on shadow. Projects vertices, checks backface via cross product. Colors based on light type (type 4 = custom RGB, else 0x90FFFFFF). Computes UV from 4x4 atlas position. Enqueues as alpha mesh. 0x00AC2B80 1154 CWalkGrid__render_water_cell_animated pathfinding Renders water cell with animated texture. Similar to render_water_cell but uses per-texture animation data from offset 0x9C array (wave speed, amplitude, phase). Applies animated wave height. Marks mesh for alpha blending. Uses texture from animated texture entry. 0x00AC3040 58 CParticleEmitterBase__clear_textures game_sprites Clears particle emitter textures. Resets end pointer to begin (offset 1 = 0). Iterates texture pointer vector (offsets 3-4) in reverse, calling virtual destructors on each texture object. Pops all entries. 0x00AC3090 57 CWalkGrid__set_lightmap_color pathfinding Sets lightmap color for a cell. Writes 3 floats (RGB) at offset 0x70 buffer, indexed by (width * param_3 * 2 + param_2) * 12 bytes. No-op if no lightmap buffer (offset 0x70 == 0x74). 0x00AC30D0 582 CWalkGrid__add_water_layer pathfinding Adds a water layer to the walk grid. If version flag (0x114) is set and version >= 8, copies bulk water data from file (counts at 0x148/0x14C, vertex/face arrays). Otherwise appends single water entry to 36-byte and dword vectors. Calls virtual update (vfunc 0x4C). Sets multi-layer flag (0x2A). 0x00AC3320 80 CWalkGrid__set_water_params pathfinding Sets water parameters. Stores: type (0x38), speed (0x48), wave height (0x3C), wave speed (0x40), angle (0x44, mod 360), animation type (0x4C). 0x00AC3380 640 CWalkGrid__render_effect_quad pathfinding Renders a textured effect quad on a walk grid cell. Same structure as render_textured_quad but with depth bias via DAT_0115926c and different UV handling. Projects 4 vertices, assigns UV from texture and param_6 table. Enqueues as alpha mesh. 0x00AC3610 646 CWalkGrid__render_cursor_cell pathfinding Renders a cursor/selection indicator on a walk grid cell. Computes half-cell positions with overlap margin. Gets height from C3dAttr__GetCellPtr. Sets fixed UV (0-1 range). Assigns uniform color (param_5). Enqueues as alpha-blended mesh with texture param_6. 0x00AC38B0 5 thunk_to_virtual_method_offset_0x4c_00ac38b0 game_core Calls virtual method at offset 0x4c in vtable of param_1 0x00AC38C0 162 STL_vector__reallocate_dword stl Reallocates STL vector for dword (4-byte) elements. Frees old buffer with aligned memory handling, allocates new with 1.5x growth. Standard vector reallocate pattern. 0x00AC3970 183 STL_vector__reallocate_36byte stl Reallocates STL vector for 0x24-byte (36 decimal) elements. Frees old buffer, allocates new with 1.5x growth. Uses std__vector_allocate_0x24 for aligned allocation. 0x00AC3A30 3 identity_passthrough_a30_00ac3a30 crt Identity function that returns its parameter unchanged 0x00AC3A40 3 identity_passthrough_00ac3a40 crt Identity function that returns its parameter unchanged 0x00AC3A50 3 identity_passthrough_00ac3a50 crt Identity function that returns its parameter unchanged 0x00AC3A60 3 identity_passthrough_00ac3a60 crt Identity function that returns its parameter unchanged 0x00AC3A70 39 init_particle_array game_core Init particle array, small utility function 0x00AC3AA0 42 init_particle_vertex_array game_core Init particle vertex array 0x00AC3AD0 55 memset_56byte_elements game_core Zeroes param_2 elements of 0x38 bytes (56 decimal) each. Returns pointer past last zeroed element. 0x00AC3B10 44 fill_12byte_elements game_core Fill 12byte elements 0x00AC3B40 81 copy_84byte_elements game_core Copies 84-byte (0x54, 21 dwords) elements from source range to destination buffer. Copies in 5 groups of 16 bytes + 4 trailing bytes per element. 0x00AC3BA0 49 copy_156byte_elements game_core Copies 156-byte (0x9C, 39 dwords) elements from source range to destination. Uses dword-by-dword copy loop. 0x00AC3BE0 10 thunk_to_std__Xlength_error_00ac3be0 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x00AC3BF0 10 thunk_to_std__Xlength_error_00ac3bf0 stl Calls std::_Xlength_error with vector_too_long error message 0x00AC3C00 10 thunk_to_std__Xlength_error_00ac3c00 stl Calls std::_Xlength_error with vector_too_long error message 0x00AC3C10 10 thunk_to_std__Xlength_error_00ac3c10 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00AC3C20 56 deallocate_aligned_84byte_buffer stl Deallocates aligned buffer sized for count * 0x54 bytes. Handles aligned allocation (retrieves original pointer from buf[-4] for large allocations). 0x00AC3C60 59 deallocate_aligned_156byte_buffer stl Deallocates aligned buffer sized for count * 0x9C bytes. Handles aligned allocation deallocation. 0x00AC3CA0 67 deallocate_aligned_56byte_buffer stl Deallocates aligned buffer sized for count * 0x38 bytes. Handles aligned allocation deallocation. 0x00AC3CF0 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AC3D30 9 ret_zero_00ac3d30 crt Sets parameter to zero and returns it 0x00AC3D50 60 CRsmFileData__ctor game_core CRsmFileData constructor. Zeroes first 5 dwords (pointers/counts) and memsets 0x118 bytes at offset 0x14 to zero. Simple data container initialization. 0x00AC3D90 128 CTrie__destroy hangul Destroys a CTrie structure. Frees compiled data at offset 4 (1 byte), recursively destroys child/sibling subtrees from root, frees root node (0xC bytes), then frees the 300-byte trie object itself. 0x00AC3E30 110 CTrie__clear hangul Clears a CTrie in place without freeing the outer object. Frees compiled data and recursively destroys all nodes in the tree. 0x00AC3EB0 260 CTrie__insert hangul Inserts a string (param_2, length param_3) into a trie. Creates root node on first insert. Traverses existing nodes matching characters, creating new 0xC-byte nodes as needed (byte 0=char, byte 1=terminal flag, offset 4=sibling, offset 8=child). Returns 1 if new word, 0 if duplicate. 0x00AC3FC0 35 CTrie__get_unique_prefix_length hangul Gets unique prefix length in the trie. Traverses child chain (offset 8) counting nodes that have no siblings (offset 4 == 0). Returns count of unique prefix characters. 0x00AC3FF0 49 CTrie__destroy_subtree hangul Recursively destroys a trie subtree. Post-order traversal: destroys child (offset 8), then sibling (offset 4), then frees this 0xC-byte node. 0x00AC4030 28 CTrie__count_sibling_chain hangul Counts the number of nodes in a sibling chain (linked via offset 4). Simple traversal counter. 0x00AC4050 2187 CHangulWordBreaker__segment_text hangul Korean word breaker. Segments input text (param_2, length param_3) into word break positions stored in param_4 (max param_5 breaks). Initializes dictionary/FST on first call, then processes each byte using character class tables, FST dictionary lookups, and hangul_should_break_word rules. param_6 flags control break behavior. Returns number of segments. 0x00AC48E0 307 CFst__match_string hangul Matches a string against a compiled finite state transducer (FST). Traverses the packed state table following transitions for each input byte. Handles compressed state encoding with branch/terminal flags. Returns longest match length (or 1000 for empty input). Used for Korean word segmentation. 0x00AC4A20 21 CBitfield__test_bit game_core Tests a bit in a bitfield array. Indexes by param_2 (byte index into dword array at offset 4), tests against param_3 bitmask. Returns true if any matching bits set. 0x00AC4A40 261 CHangulDictionary__init hangul Initializes the Hangul dictionary. Destroys existing trie if present, allocates new 300-byte CRsmFileData, loads dictionary from ftwrk.lex file via FUN_00ac4fa0. Copies 0x400 bytes of default table from DAT_013486a8. 0x00AC4B50 19 CHangulDictionary__copy_default_table hangul Copies 0x180 bytes (96 dwords) of default Hangul character classification table from DAT_01348528 into the destination buffer. 0x00AC4B70 137 CFst__compile_sibling_chain hangul Compiles a trie sibling chain into FST byte array at param_1's compiled buffer (offset 0x10). Writes character bytes and terminal flags. Recursively compiles child subtrees via CFst__compile_trie_node. 0x00AC4C00 23 hangul_is_jongseong_ieung game_core Checks if a Hangul jamo code is jongseong ieung (0x0E in high byte). Returns 1 if (param_1 & 0xFF00) == 0x0E00. 0x00AC4C20 51 CTrie__compile_to_fst hangul Compiles a trie into an FST (finite state transducer) byte array. Allocates buffer (node_count * 10), then calls CFst__compile_trie_node to build the packed state table. Stores compiled size at offset 3. 0x00AC4C60 188 CFst__lookup_word hangul Looks up a null-terminated string in the compiled FST. Traverses packed state transitions matching each byte. Returns 1 if found (terminal state reached), 0 otherwise. Uses 22-bit addresses for state pointers. 0x00AC4D20 18 hangul_get_char_class game_core Gets character classification for a Hangul byte. Returns the dword value from DAT_01348528 table indexed by param_1. 0x00AC4D40 331 CFst__compile_trie_node hangul Compiles a trie node and its children into FST packed byte format. Writes 3-byte state pointers for siblings, then character sequences for chains without branches. Handles terminal flags and recursive compilation. Core of the trie-to-FST compilation. 0x00AC4E90 15 CBitfield__get_value game_core Gets the full dword value from the bitfield array at index param_2. Returns *(param_1 + 4 + param_2 * 4). 0x00AC4EA0 256 hangul_should_break_word game_core Determines if Korean word segmentation should break between two characters. Uses character class bitfield lookups. Handles special cases: 0xDD (always break), space characters, various jamo class combinations. param_4 bit 1 flags alternate break rules. Complex Korean morpheme boundary detection. 0x00AC4FA0 447 CHangulDictionary__load_from_file hangul Loads Hangul dictionary from a .lex file. Opens via CFileStream, reads 0x118-byte header, validates word/node counts, allocates and reads FST data. Sets loaded flag at offset 0x128. Cleans up on failure. 0x00AC5160 176 CHangulDictionary__save_to_file hangul Saves Hangul dictionary to a file. Populates header fields from runtime data. Opens file with fopen("wb"), writes 0x118-byte header then FST data. Returns 1 on success, 0 on failure. 0x00AC5210 34 memcpy_range_to_dest_00ac5210 stl Copies a memory range by computing size from begin/end pointers and calling memcpy. 0x00AC5240 276 STL_vector__insert_ptr_element_00ac5240 stl Inserts a single pointer-sized element into an STL vector at a given position. Allocates new buffer with 1.5x growth via aligned_vector_alloc, copies segments before/after insertion point. Returns pointer to inserted element. 0x00AC5380 439 STL_vector__insert_8byte_element stl Inserts a single 8-byte (2x dword) element into an STL vector at a given position. Allocates new buffer with 1.5x growth, copies segments before/after insertion point using 8-byte pair copy helpers. Returns pointer to inserted element. 0x00AC5540 183 STL_tree__destroy_nodes_recursive_1c stl Recursively destroys all nodes in an STL tree with 0x1C-byte nodes. Each node has a linked list at offset+0x14 (0x0C-byte sub-nodes) which is also freed. Post-order traversal: recurse on right child (offset+8), free sub-list, free node, advance to left child (offset+0). 0x00AC5600 99 _Find_last<> stl STL _Find_last. Searches backward through a range to find the last matching element. 0x00AC5670 76 STL_tree__lower_bound_by_float_key stl STL tree lower_bound search using a float key. Walks the tree comparing float values at node offset+0x10. Returns iterator-like struct with last visited node, comparison result flag, and bound node pointer. 0x00AC56C0 288 insertion_sort_float_pair_array_00ac56c0 game_core Insertion sort on a contiguous array of float pairs (8 bytes per element: 2 floats). Sorts elements between param_1 and param_2 in ascending order by first float, using second float as tiebreaker. Not a map operation despite original name. 0x00AC57E0 350 STL_make_heap_float_pair stl STL make_heap for an array of float pairs (8 bytes each). Builds a max-heap using sift-down, comparing by first float then second float as tiebreaker. Standard heap construction algorithm. 0x00AC5940 292 STL_sort3_float_pair stl STL median-of-three sort for float pairs (8 bytes each). Sorts 3 elements pointed to by param_1, param_2, param_3 in ascending order by first float, second float as tiebreaker. Used as pivot selection in introsort. 0x00AC5A70 1137 STL_nth_element_float_pair stl STL nth_element / introsort partition for float pairs (8 bytes each). Partitions array around median-of-3 pivot, with Hoare-style bidirectional scanning. Returns partition bounds via param_1. Used for partial sorting of keyframe arrays. 0x00AC5EF0 321 STL_adjust_heap_float_pair stl STL heap adjust / sift-down for float pairs (8 bytes each). Moves element at param_2 down the heap to restore heap property. Used by pop_heap and sort_heap operations. Compares by first float, second as tiebreaker. 0x00AC6040 254 STL_introsort_float_pair stl STL introsort for float pairs (8 bytes each). Recursive quicksort with depth limit fallback to heap sort. When partition size drops below 0x101 bytes (~32 elements), falls back to insertion sort. Standard std::sort implementation. 0x00AC6140 113 STL_list__destroy_nodes_0c stl Destroys all nodes in an STL linked list with 0xC-byte nodes. Zeros the tail pointer, traverses the forward chain freeing each node, then frees the sentinel/head node. 0x00AC61C0 531 STL_unordered_map__emplace_float_key stl STL unordered_map emplace with float key. Computes FNV-1a hash of the float, checks if key exists via _Find_last. If not found, allocates new node, rehashes if load factor exceeded, inserts into bucket chain. Returns iterator and bool (true if inserted). 0x00AC63E0 97 fill<> stl STL std::fill for 4-byte pointer ranges. Uses unrolled 4-element loop for large ranges, then fills remainder one at a time. 0x00AC6450 145 STL_unordered_map__ctor stl STL unordered_map constructor. Allocates 0xC-byte sentinel node (self-referencing next/prev), initializes bucket array pointer, size, bucket count, and max load factor fields to zero. 0x00AC64F0 497 CBGMManager__ctor sound CBGMManager constructor. Sets vtable to CBGMManager's vftable, initializes 4 linked list sentinels (0xC-byte nodes), 1 tree sentinel (0x1C bytes), and an 84-byte sub-struct via struct_84byte_init_defaults. Configures various state fields and global indices. 0x00AC66F0 215 struct_84byte_init_defaults game_core Initializes an 84-byte (0x54) struct to default values. Zeroes all 21 dword fields except offset 0x44 (field 0x11) which is set to 1. Returns pointer to initialized struct. 0x00AC67D0 104 release_vfunc_interface_ptr_00ac67d0 game_core Releases a COM-like interface pointer stored at this+0x24 (offset 9). Calls the Release virtual function (vtable+0x10) and sets the pointer to NULL. NOT a vector resize. 0x00AC6840 67 STL_tree__free_header_12byte_00ac6840 stl Frees a 0x0C-byte (12 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation. 0x00AC6890 67 STL_tree__free_header_12byte_00ac6890 stl Frees a 0x0C-byte (12 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation. 0x00AC68E0 67 STL_tree__free_header_1c_byte_00ac68e0 stl Frees a 0x1C-byte (28 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation. 0x00AC6930 33 CTextObject__release_font game_core Releases a COM-style interface at this->field_0x24 (offset 9) by calling its virtual Release method (vtable+0x10), then nulls the pointer. 0x00AC6960 33 CTextObject__release_font_00ac6960 game_core Releases a COM-style interface at this->field_0x24 (offset 9) by calling its virtual Release method (vtable+0x10), then nulls the pointer. Duplicate instance at different address. 0x00AC6990 78 STL_tree__free_header_0c_byte_00ac6990 stl Frees a 0x0C-byte (12 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation. 0x00AC69E0 78 STL_tree__free_header_0c_byte_00ac69e0 stl Frees a 0x0C-byte (12 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation. 0x00AC6A30 76 STL_map__destroy_and_free_header_1c stl Destroys all nodes in an STL map and frees the header/sentinel node. 0x00AC6A90 110 CAnimation__destroy_tree_node_1c game_sprites Destructor for an animation-related tree node. First calls CAnimation__interpolate_position on the node's data (at offset+0x10), then frees the 0x1C-byte node. SEH-wrapped with scope guard. 0x00AC6B00 78 STL_tree__free_header_1c_byte_00ac6b00 stl Frees a 0x1C-byte (28 decimal) STL tree header node if it exists (checks offset+4). SEH-wrapped deallocation. 0x00AC6B50 92 CTextObject__release_font_with_seh game_core Releases a font resource held by CTextObject. If the font pointer at offset 0x24 is non-null, calls its release method (vfunc at offset 0x10 in vtable) with SEH protection, then nulls the pointer. 0x00AC6BB0 92 release_vtable_member_at_offset9 game_core Releases the object at this->field_0x24 (offset 9) by calling its virtual Release method (vtable+0x10), then nulls the pointer. 0x00AC6C10 103 linked_list_clear_and_free_00ac6c10 stl Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0. 0x00AC6C80 103 linked_list_clear_and_free_00ac6c80 stl Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0. 0x00AC6CF0 103 linked_list_clear_and_free_00ac6cf0 stl Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0. 0x00AC6D60 103 linked_list_clear_and_free_00ac6d60 stl Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0. 0x00AC6DD0 103 linked_list_clear_and_free_00ac6dd0 stl Clears a singly-linked list: walks the list from *param_1, frees each 12-byte node, then frees the sentinel. Sets tail count to 0. 0x00AC6E40 87 avl_tree_clear_and_free game_core Clears an AVL/BST tree by recursively freeing nodes via STL_tree__destroy_nodes_recursive_1c, then frees the root 28-byte block. 0x00AC6EA0 116 linked_list_clear_from_offset4 stl Clears a singly-linked list stored at param_1+4: walks all nodes, frees each 12-byte node, then frees the sentinel. 0x00AC6F20 129 vector_clear_and_free stl Clears and frees a vector's backing buffer. Computes allocation size from (end-begin) & ~3, handles large allocations (>0xfff) with debug header. Zeroes begin/end/capacity pointers. 0x00AC6FB0 545 CBGMManager__dtor sound Destructor for CBGMManager. Sets vtable to PTR_FUN_01159288, releases COM interface at offset 10, frees BGM entries array at offset 0x38 via CBGMInfo__release_all_entries, then clears multiple linked lists (offsets 0x3b, 0x36, 8, 6, 4, 2), an AVL tree (offset 0x39), and a vector. 0x00AC71E0 138 quadtree_node_recursive_free game_core Recursively frees 4 child nodes (quadtree children), each 0x7c bytes. After freeing children, clears the vector at the base of the node. 0x00AC7270 190 hash_map_clear game_core Clears a hash map. If count < bucket_count/8, removes entries one by one via hash_map_erase_range. Otherwise bulk-frees all linked list nodes, resets count to 0, and fills the bucket array with the sentinel pointer. 0x00AC7340 66 free_24byte_block stl Frees a 24-byte (0x18) heap block pointed to by *param_1, if non-null. 0x00AC7390 66 free_24byte_block_00ac7390 stl Frees a 24-byte (0x18) heap block pointed to by *param_1, if non-null. 0x00AC7400 38 CBGMManager__scalar_deleting_dtor sound Scalar deleting destructor for CBGMManager. Calls CBGMManager__dtor, then optionally frees the 0x100-byte object if bit 0 of param_2 is set. 0x00AC7430 47 CBGMManager__push_back_and_increment sound Appends a value to the vector at offset 0x38 (push_back). If at capacity, calls STL_vector__insert_ptr_element to grow. Atomically increments counter at offset 0x44 (LOCK prefix). 0x00AC7460 613 adjust_position_to_cell_boundary game_core Adjusts a 3D position (param_2) to snap to cell boundaries. Gets cell size from object at offset 0x30, uses fmod to calculate offset from cell center, and adjusts X/Z. If the resulting cell type is unwalkable (==1, via C3dAttr__GetCellType), retries adjustment on the original position. 0x00AC76D0 119 quadtree_node__set_bounds_and_update_children game_core Sets bounding box (7 floats from param_2) into the node at offsets 0x08-0x20. Then iterates 4 child nodes -- if child exists and obb_ray_intersection_test returns true for its bounds, calls quadtree_node__insert_object to update it. 0x00AC7750 120 quadtree_node__set_bounds_with_default_height game_core Sets bounding box from param_2 (6 floats) into node offsets 0x08-0x1C, sets max height (offset 0x20) to 0x497423f0 (large float). Then iterates 4 child nodes, if child exists and passes bounds check, updates it. 0x00AC77D0 490 quadtree_node__subdivide game_core Subdivides a quadtree node by creating 4 child nodes (0x7c bytes each via struct_84byte_init_defaults). Each child gets a quarter of the parent's bounding box. Sets parent pointer, computes midpoints for X and Z. Recursively subdivides children if depth (param_2) is not 5. Children stored at offsets 0x04, 0x08, 0x0C, 0x10. 0x00AC79C0 609 CBGMManager__initialize_quadtree_and_cells sound Initializes the BGM manager's spatial quadtree from map dimensions. Frees existing quadtree, computes world bounds from cell count and cell size, subdivides into quadtree nodes, inserts all BGM entries into the quadtree, converts world coords, and initializes cell-based lookup structures. 0x00AC7C30 26 quadtree_node__intersect_aabb_if_valid game_core Null-check wrapper: if param_1 is non-null, calls FUN_00ac7c50 (AABB ray intersection test). 0x00AC7C50 646 obb_ray_intersection_test game_core Performs an oriented bounding box (OBB) vs ray/AABB intersection test using slab method. param_2 is a 6-float AABB (min/max XYZ). Tests X, Y, Z axes separately, computing tmin/tmax overlap intervals. Returns 1 if intersection exists within the object's max distance (offset 0x20), 0 otherwise. 0x00AC7EE0 141 quadtree_node__copy_from_recursive game_core Recursively copies quadtree node data from param_3 into param_1. Copies bounds, vectors, and midpoints. Recurses into 4 children until depth reaches 5. Resets the counter at offset 0x44. 0x00AC7F70 254 quadtree_node__insert_object game_core Inserts an object (param_2) into a quadtree node. At leaf level (depth==5), inserts into the node's linked list. At internal nodes, tests each child's OBB intersection and recurses into matching children. Uses max list size of 0x15555555. 0x00AC8070 65 linked_list_clear_all_nodes stl Clears all nodes from a doubly-linked list. Walks from the first node, unlinks and frees each 12-byte node until it wraps back to the sentinel. Decrements the count. 0x00AC80C0 58 free_four_quadtree_root_nodes stl Frees the 4 quadtree root nodes stored at offsets 0x5C-0x68. For each non-null root, recursively frees all children via quadtree_node_recursive_free, then frees the 0x7C-byte root node itself. 0x00AC8100 77 quadtree_node__find_leaf_at_position game_core quadtree_node: find leaf at position 0x00AC8150 86 cell_index_to_world_coords game_core Converts cell grid indices (param_2, param_3) to world coordinates. Uses the map's cell count and cell size from the object at offset 0x30 to compute: world_x = (col - cols/2) * cellSize, world_y = (row - rows/2) * cellSize. 0x00AC81B0 110 world_coords_to_cell_float game_core Converts world coordinates (param_2, param_3) to floating-point cell indices. Uses map dimensions (cols at 0x110, rows at 0x114) and cell size (0x118) from the object at offset 0x30. Output is float cell coordinates (not integer). 0x00AC8220 58 CBGMManager__find_map_by_id sound Finds a map object in the linked list at offset 0x10 by matching ID at object+0x110. If param_2 matches the global current map ID (DAT_01733c3c), returns cached pointer at offset 0x2c directly. 0x00AC8260 47 CBGMManager__find_map_by_id_no_cache sound Finds a map object in the linked list at offset 0x10 by matching ID at object+0x110. Always walks the list (no cache shortcut). Returns the object pointer or 0 if not found. 0x00AC8290 183 CBGMManager__get_map_coordinates sound Gets map coordinate info for a given map ID. For the current map (DAT_01733c3c), returns global cached coordinates. Otherwise searches the map list, and if found, reads coordinates from the map's sub-object at offset 0x490 (fields 0xa0 and 0xa4). Returns a struct with two 64-bit values and a success flag. 0x00AC8350 47 CBGMManager__find_npc_by_id sound Finds an NPC object in the linked list at offset 0x18 by matching ID at object+0x17C. Returns the object pointer or 0 if not found. 0x00AC8380 92 CBGMManager__find_active_actor_by_gid sound Searches the linked list at offset 0x10 for an actor whose virtual method at vtable+0xA8 returns the given GID (param_2). Skips entries where byte at offset 0x314 is set (dead/inactive flag). Returns the actor object or 0. 0x00AC83E0 85 world_coords_to_cell_index game_core Converts world coordinates (float param_2, param_3) to integer cell grid indices. Divides by cell size, then adds half the map dimensions to center. Uses map data from offset 0x30. 0x00AC8440 47 CBGMManager__find_item_by_id sound Finds an item object in the linked list at offset 0x20 by matching ID at object+0x418. Returns the object pointer or 0 if not found. 0x00AC8470 117 CBGMManager__create_and_store_map_object sound Allocates a new 0x548-byte entity object via CPlayerEntity__ctor, stores it at offset 0x2C (current map cache), and pushes it into the linked list via STL_list_push_back_ptr. 0x00AC84F0 147 quadtree_node__insert_object_by_bounds game_core Inserts an object (param_2) into the quadtree based on its bounding box (offset 0x98). At leaf level (depth==5), appends to the node's vector and marks all ancestors as dirty (offset 0x44=1). At internal levels, tests intersection with each child's bounds via obb_obb_intersection_test and recurses. 0x00AC8590 141 quadtree_node__init_cell_ranges_recursive game_core Recursively initializes cell coordinate ranges for each quadtree node. Sets dirty flag (offset 0x44=1), stores a reference value at offset 0x68, converts node bounds to cell coordinates via FUN_00a8c790 at offsets 0x6C-0x78. Recurses into 4 children until depth 5. 0x00AC8620 141 quadtree_node__init_cell_ranges2_recursive game_core Recursively initializes alternate cell coordinate ranges for quadtree nodes. Sets dirty flag, stores ref at offset 0x54, converts bounds via FUN_00ac0180 into offsets 0x58-0x64. Recurses into 4 children until depth 5. 0x00AC86B0 147 quadtree_node__insert_object_by_bounds2 game_core Identical to quadtree_node__insert_object_by_bounds, inserts an object into the quadtree by testing bounding box intersection (offset 0x98) against children. At leaf level (depth==5), appends to vector and marks ancestors dirty. Uses FUN_00acad10 for intersection and calls quadtree_node__insert_object_by_bounds for child insertion. 0x00AC8750 743 CBGMManager__check_position_in_range sound Checks if a position (param_2 X, param_3 Z) is within range of any registered entity. First checks cell-based entries by iterating in a grid around the position. Then checks the actor linked list (offset 0x10) matching float at offset 0x110 to cell values. For the local player (DAT_016d44d0), handles warp portal mode (offset 0x70==1). Returns 1 if in range, 0 otherwise. 0x00AC8A40 349 CBGMManager__check_cell_has_matching_entry sound Checks if a specific cell (computed from param_2 coordinates using map dimensions) contains any entry matching a callback predicate. Looks up the cell in an AVL/map structure via FUN_00ac5670, skips dead entries, then invokes the callback on each entry in the cell's linked list. Returns true if any entry matches. 0x00AC8BA0 67 CBGMManager__is_local_player_in_list sound Checks if a specific float value (param_2) exists at offset 0x110 of any actor in the linked list (offset 0x10), and that actor's GID (via vtable+0xA8) matches DAT_016d44d0 (the local player GID). Returns 1 if found, 0 otherwise. 0x00AC8BF0 604 CBGMManager__background_load_rsm_models sound Background thread function for loading RSM (3D model) resources. Sets thread priority to ABOVE_NORMAL (2), sorts model data, then iterates entries loading bone textures via CRsmModel__LoadBoneTextures and creating CRsmNodeEx or CRsmAnimNode instances depending on model type (0x110). Configures each node with transform data and adds to the object vector. Atomically increments load counter. Yields via Sleep(0). 0x00AC8F60 219 quadtree_node__read_from_file_recursive game_core Recursively reads quadtree node data from a file stream. Reads 12 float values (bounds, extents, midpoints) via CFileStream__read_with_advance into offsets 0x14-0x40. Recurses into 4 children until depth 5. 0x00AC9040 835 CBGMManager__load_map_effects sound Loads map effects from a GND/RSW resource. Gets the model name, looks up the resource via FUN_00aee770. For each effect in the resource's linked list (offset 0x118), either creates an effect object (0x178 bytes via FUN_00e4a2b0) and adds to this manager's list, or plays it directly via FUN_00b24a50. Also handles a second effect list (offset 0x120) for light effects (0x170 bytes via FUN_00da1e30) if DAT_0173a924 is set. 0x00AC9390 41 compute_cell_linear_index game_core Computes a linear cell index from 2D coordinates: result = param_2[0] + cols * param_2[1], where cols comes from offset 0x110 of the map data at offset 0x30. 0x00AC93C0 253 CBGMManager__toggle_npc_chat_state sound Toggles NPC chat state using a callback predicate. If state flag (offset 0xF4) is 1 and callback returns false, clears the flag. If flag is 0 and callback returns true, builds a packet (0xBB0 header with local player GID from DAT_016d44d0, flags), sends it via FUN_00c7ce30, and sets the flag. 0x00AC94C0 2003 CBGMManager__load_map_and_models sound Main map loading function. Loads RSW resource by name, retrieves GND (ground) and GAT (attribute) resources. Creates the 3D attribute manager (0xAC bytes), sets cell size to 5, initializes lighting/camera globals. Iterates all map objects from the resource, sorts by distance to camera, loads close models immediately (creating CRsmNodeEx/CRsmAnimNode), queues far ones for background loading. Initializes quadtree, loads effects, spawns background thread for remaining RSM models, creates the secondary map object. Updates loading progress bar. 0x00AC9CA0 161 CBGMManager__unload_current_map sound Unloads the current map. Waits for background model loading thread, clears the deferred model list, frees quadtree, clears all entity lists and destroys render nodes. Destroys the 3D attribute manager (offset 0x28), releases cached resources. 0x00AC9D50 285 CBGMManager__try_toggle_npc_chat_with_range_check sound Checks if the local player is in the actor list, then creates a range-check predicate object (0x18 bytes with vtable PTR_FUN_0115938c) containing range, position, and parameters, and calls CBGMManager__toggle_npc_chat_state with it. 0x00AC9E70 146 CBGMManager__toggle_npc_chat_with_params sound Creates a predicate object (vtable PTR_FUN_011593a8) from two parameter values and calls CBGMManager__toggle_npc_chat_state with it. 0x00AC9F10 610 CBGMManager__update_frame sound Per-frame update for the BGM manager. Updates audio volumes if enabled. Processes newly loaded models from the background thread, inserting them into quadtree nodes. Cleans up dead/expired effect objects from the effect list (offset 8), removing them from actor list (offset 0x10) as well. Processes deferred item updates from the pending list (offset 0xD8). 0x00ACA200 175 CBGMManager__remove_actor_by_map_id sound Removes an actor from the manager by its map ID (matched at object+0x110). Cleans up associated quadtree entries via FUN_00aca670 and FUN_00aca7b0, removes from both the actor list (offset 0x10) and the effect list (offset 8) with virtual destructor call. Returns 1 if found and removed, 0 otherwise. 0x00ACA2B0 109 CBGMManager__remove_actor_by_pointer sound Removes an actor from the manager by its pointer (matched at node->data). Cleans up quadtree entries for the actor's map ID, removes from actor list (offset 0x10). Returns 1 if found and removed, 0 otherwise. 0x00ACA320 434 CBGMManager__clear_all_entity_lists sound Clears all entity lists: destroys effect objects (offset 8 list), clears actor list (offset 0x10), NPC list (offset 0x18), item list (offset 0x20). Also clears the pending list (offset 0xD8), the AVL tree (offset 0xE4), the extra linked list (offset 0xEC), and calls FUN_00b254c0 to clean up effects. 0x00ACA4E0 81 CBGMManager__remove_effect_by_pointer sound Removes an effect object from the effect list (offset 8) by matching the pointer. Calls the object's virtual destructor, unlinks and frees the list node. 0x00ACA540 144 CBGMManager__remove_npc_by_id sound Removes an NPC from the NPC list (offset 0x18) by matching ID at object+0x17C. Also removes the associated effect from the effect list (offset 8) with virtual destructor call. Returns 1 if found and removed, 0 otherwise. 0x00ACA5D0 145 quadtree_node__remove_object_recursive game_core Recursively removes an object (param_2) from the quadtree. At leaf level (depth==5), searches the node's vector for the matching pointer and removes it via memcpy shift. If found, marks all ancestor nodes as dirty (offset 0x44=1). At internal levels, recurses into all 4 non-null children. 0x00ACA670 318 CBGMManager__remove_from_cell_map sound Removes an entry (param_2) from the cell-indexed AVL tree (offset 0xE4). Traverses all cells in the tree, searches each cell's linked list for the matching entry. If param_3 is set and NPC chat state is active, checks if local player is affected and toggles NPC chat state. Frees the list node after removal. 0x00ACA7B0 230 CBGMManager__remove_from_extra_list sound Removes an entry (param_2) from the extra linked list (offset 0xEC) by matching the data value. If param_3 is set and NPC chat state is active, checks local player involvement and toggles NPC chat state. Frees the list node. 0x00ACA8A0 211 CBGMManager__remove_item_by_id sound Removes an item from the item list (offset 0x20) by matching ID at object+0x418. Calls the item's virtual method (vtable+8) with type 0x35, checks return from FUN_00cadcc0. If not deferred, removes effect and list node. If deferred, adds to pending list (offset 0xD8) via FUN_00acc590. Returns 1 if removed, 0 otherwise. 0x00ACA980 110 CBGMManager__dispatch_effect_update sound Dispatches an update to an effect in the effect list (offset 8) matching the given coordinates (param_3, param_4). Calls the effect's virtual method (vtable+8) with param_2 as type and additional parameters sign-extended to 64-bit. 0x00ACA9F0 409 CBGMManager__register_actor_at_position sound Registers an actor (param_2) at a position (param_3 float coords). First removes any existing entry from the cell map, then removes from the extra list. Computes the cell linear index, looks up or creates a cell entry in the AVL tree (offset 0xE4). Adds the actor to the cell's linked list and to the pending queue via FUN_00acc590. Finally calls CBGMManager__try_toggle_npc_chat_with_range_check. 0x00ACAB90 77 CBGMManager__register_actor_by_tile_coords sound Wrapper that converts tile coordinates to world coordinates via FUN_00cd36e0, then calls CBGMManager__register_actor_at_position. 0x00ACABE0 114 CBGMManager__move_actor_and_update sound Moves an actor (param_2) to new position (param_3). Removes from cell map (FUN_00aca670) and extra list (offset 0xEC), adds to pending queue via FUN_00acc590, and calls CBGMManager__try_toggle_npc_chat_with_range_check with the new position. 0x00ACAC60 171 CBGMManager__move_actor_by_tile_coords sound Wrapper that converts tile coordinates (param_3) to world coordinates, then performs the same actor move logic as CBGMManager__move_actor_and_update: removes from cell map, removes from extra list, adds to pending, and toggles NPC chat check. 0x00ACAD10 1762 obb_obb_intersection_test game_core Performs an OBB-OBB (oriented bounding box) intersection test using the Separating Axis Theorem. Tests all 15 separating axes: 3 axes of each OBB and 9 cross products. param_1 is the first OBB (3 extents + 3x3 rotation matrix), param_2 is the second OBB (AABB-style min/max XYZ). Returns 1 if overlapping, 0 if separated. 0x00ACB400 338 quadtree_node__update_height_bounds_recursive game_core Recursively updates height bounds for dirty quadtree nodes. At leaf level (depth==5), gets height range from terrain and objects, updates min/max Y, computes center and extents for the OBB, propagates changes up to parent nodes. At internal levels, recurses into dirty children only. 0x00ACB560 338 quadtree_node__update_height_bounds_recursive2 game_core Nearly identical to quadtree_node__update_height_bounds_recursive. Updates height bounds for dirty quadtree nodes. At leaf level, gets terrain height range, iterates objects for min/max Y, updates OBB extents/center, propagates to ancestors. Minor differences: no null check on objects in loop. 0x00ACB6C0 62 CBGMManager__wait_for_background_thread sound Waits for the background model loading thread to finish (INFINITE timeout), closes the thread handle, resets the deferred model list, and clears the pending load counter. 0x00ACB700 90 STL_vector__Change_array_00acb700 stl STL vector::_Change_array. Frees old buffer, then sets begin/end/capacity pointers to the new buffer. 0x00ACB760 22 npc_chat_predicate1__copy_ctor game_core Copy constructor for NPC chat predicate type 1 (vtable PTR_FUN_01159370). Copies vtable and data field from this to param_2. 0x00ACB780 22 npc_chat_predicate2__copy_ctor game_core Copy constructor for NPC chat predicate type 2 (vtable PTR_FUN_01159354). Copies vtable and data field from this to param_2. 0x00ACB7A0 22 npc_chat_predicate3__copy_ctor game_core Copy constructor for NPC chat predicate type 3 (vtable PTR_FUN_011593c4). Copies vtable and data field from this to param_2. 0x00ACB7C0 130 range_check_predicate__clone game_core Clone method for the range check predicate (vtable PTR_FUN_0115938c). Allocates 0x18 bytes, copies vtable and 5 data fields (range, position coords, etc.) from the source object. 0x00ACB850 38 npc_chat_predicate4__copy_ctor game_core Copy constructor for NPC chat predicate type 4 (vtable PTR_FUN_011593a8). Copies vtable and 3 data fields. 0x00ACB880 68 predicate_scalar_deleting_dtor_8byte game_core Scalar deleting destructor for an 8-byte predicate object. Frees the object if param_2 is non-zero. 0x00ACB8D0 68 predicate_scalar_deleting_dtor_8byte_00acb8d0 game_core Scalar deleting destructor for an 8-byte predicate object. Frees the object if param_2 is non-zero. 0x00ACB920 68 predicate_scalar_deleting_dtor_8byte_00acb920 game_core Scalar deleting destructor for an 8-byte predicate object. Frees the object if param_2 is non-zero. 0x00ACB970 68 predicate_scalar_deleting_dtor_24byte game_core Scalar deleting destructor for a 24-byte (0x18) predicate object. Frees the object if param_2 is non-zero. 0x00ACB9C0 68 predicate_scalar_deleting_dtor_16byte game_core Scalar deleting destructor for a 16-byte (0x10) predicate object. Frees the object if param_2 is non-zero. 0x00ACBA30 72 npc_chat_predicate__check_local_player game_core Predicate callback: checks if the float at param_2[0] matches any actor's offset 0x110 in the parent manager's actor list, and that actor's GID (vtable+0xA8) matches the local player GID (DAT_016d44d0). Returns 1 if found, 0 otherwise. 0x00ACBAE0 652 hash_map_rehash game_core Rehashes a hash map to a new bucket count. Rounds up to the next power-of-2, allocates new bucket array, frees old array if needed. Reinserts all existing entries using FNV-1a hash on the 4-byte key. Handles collisions by relinking nodes within the same bucket chain. Updates bucket count and mask. 0x00ACBDC0 1 stub_nop_00acbdc0 game_core Single-byte stub function (size=1) 0x00ACBDD0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00ACBFE0 22 npc_chat_predicate1__move_ctor game_core Move/copy constructor for NPC chat predicate type 1. Sets vtable and copies data field. 0x00ACC000 22 npc_chat_predicate2__move_ctor game_core Move/copy constructor for NPC chat predicate type 2. Sets vtable and copies data field. 0x00ACC020 22 npc_chat_predicate3__move_ctor game_core Move/copy constructor for NPC chat predicate type 3. Sets vtable and copies data field. 0x00ACC050 38 npc_chat_predicate4__move_ctor game_core Move/copy constructor for NPC chat predicate type 4. Sets vtable and copies 3 data fields. 0x00ACC080 197 vector_reallocate_and_copy stl Reallocates a vector to hold param_2 elements. Allocates new buffer via FUN_00acc430, copies existing data via memcpy, frees old buffer (handling large allocation debug headers), and updates begin/end/capacity pointers. 0x00ACC1C0 44 copy_8byte_pairs_00acc1c0 game_core Copy 8byte pairs 00acc1c0 0x00ACC1F0 45 relocate_8byte_pairs_00acc1f0 game_core Relocates pairs of 4-byte values (8 bytes each) from [param_1, param_2) to an offset destination (param_3 as relative offset from param_1). 0x00ACC220 485 hash_map_erase_range game_core Erases a range of elements [param_2, param_3) from a hash map. Computes bucket index using FNV-1a hash on the 4-byte key. Unlinks and frees each 12-byte list node, updating bucket pointers and element count. Returns the iterator past the erased range. 0x00ACC410 10 thunk_to_std__Xlength_error_00acc410 stl Throws std::length_error for vector allocation failure 0x00ACC420 10 thunk_to_std__Xlength_error_00acc420 stl Calls std::_Xlength_error with vector_too_long error message 0x00ACC430 92 aligned_vector_alloc game_core Allocates memory for a vector of param_1 elements (4 bytes each). For small allocations (<0x1000 bytes), returns a direct heap allocation. For large allocations, allocates extra 35 bytes, aligns to 32-byte boundary, and stores the original pointer at offset -4. Throws bad_array_new_length if count >= 0x40000000. 0x00ACC490 126 convert_cell_to_world_via_tile game_core Converts cell coordinates to world coordinates via an intermediate tile step. Adds 0.5 to both cell coords, converts to tile coords via FUN_00cd5230, then converts tiles to world via FUN_00cd36e0. Uses FUN_00ad6450 for coordinate system setup. 0x00ACC510 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00ACC550 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00ACC590 165 linked_list_push_back stl Appends a value (*param_2) to a doubly-linked list (param_1). Allocates a 12-byte node, inserts it before the sentinel. Increments the list count. Throws _Xlength_error if list is at max size (0x15555555). 0x00ACC640 419 snprintf_to_buffer_with_tracking game_core Formats a string using CFmt__func_00582f60 (printf-like) into a buffer. Tracks position and remaining capacity. Returns a pair: (new buffer position, total bytes written including overflow). 0x00ACC7F0 1185 CInputMgr__ctor game_core Constructor for CInputMgr (input manager). Sets vtable to PTR_FUN_011593e4, initializes linked list, strings, and other fields. Gets current keyboard layout via GetKeyboardLayout(0), detects user language via GetUserDefaultLangID and sets locale string (german, english, italian, portuguese, turkish). If DAT_016d3b10 is 0xF, sets code page to 0x4EA (Korean). 0x00ACCCD0 91 CInputMgrEx__ctor_base game_core Constructor for CInputMgrEx (base init). Calls CInputMgr__ctor then overrides vtable to PTR_FUN_01159468. Clears an additional byte flag at offset 0xB8. 0x00ACCD30 450 CInputMgrEx__ctor_with_keybinds game_core Constructor for CInputMgrEx with keyboard binding initialization. Calls CInputMgr__ctor, overrides vtable to PTR_FUN_01159410, allocates a 12-byte doubly-linked list sentinel. Initializes a 256-entry key binding table (offset 0x30, 4 bytes per VK code) from a hardcoded mapping string "11441443331111111132331233111121..." that maps virtual key codes (0-9, A-Z, punctuation) to action categories. Sets special Korean key mappings at specific offsets. 0x00ACCF00 100 CInputMgrEx__ctor_with_flag game_core Constructor for CInputMgrEx variant. Calls CInputMgr__ctor, sets vtable to PTR_FUN_0115943c, then queries FUN_00ac4a40 to set a boolean flag at offset 0xB8. 0x00ACCF70 67 free_12byte_list_sentinel stl Frees the 12-byte linked list sentinel node at offset 4, if non-null. 0x00ACCFC0 78 free_12byte_list_sentinel_00accfc0 stl Frees the 12-byte linked list sentinel node at offset 4, if non-null. 0x00ACD010 102 clear_singly_linked_list_from_offset game_core Clears a singly-linked list stored at offsets 4/8/C. Nulls the tail pointers, then walks and frees each 12-byte node. 0x00ACD080 75 CFmt__reset_and_advance fmtlib Resets a format buffer object (sets vtable to PTR_FUN_01159564). Updates write position by adding the bytes-written count. Resets the count. If the buffer pointer matches the internal buffer, sets capacity to 256 and adjusts the total size. 0x00ACD0D0 103 linked_list_clear_and_free_00acd0d0 stl Clears a singly-linked list: walks from *param_1, frees each 12-byte node, then frees the sentinel. 0x00ACD140 144 CInputMgr__dtor game_core Destructor for CInputMgr. Sets vtable to base PTR_FUN_011593e4, then destroys 4 STL strings, an STL container, and the linked list (via SpriteAction__clear_list_a_and_free). 0x00ACD1D0 38 CInputMgr__scalar_deleting_dtor game_core Scalar deleting destructor for CInputMgr. Calls CInputMgr__dtor, then optionally frees the 0xB8-byte object. 0x00ACD200 93 CInputMgrEx__scalar_deleting_dtor game_core Scalar deleting destructor for CInputMgrEx. Calls CInputMgr__dtor, then optionally frees the 0xBC-byte object. 0x00ACD260 160 CInputMgrEx__scalar_deleting_dtor_with_keybinds game_core Scalar deleting destructor for CInputMgrEx (with keybinds). Clears and frees the linked list at offset 0xB8, then calls CInputMgr__dtor. Optionally frees the 0x4C4-byte object. 0x00ACD300 93 CInputMgrEx__scalar_deleting_dtor_flagvar game_core Scalar deleting destructor for the CInputMgrEx variant with flag. Calls CInputMgr__dtor, then optionally frees the 0xBC-byte object. 0x00ACD360 145 CInputMgr__insert_text game_core Inserts text (param_2 C-string) into the input field. Deletes the current selection first via FUN_00acd700, then inserts the text at the cursor position, updates the cursor and selection offsets. If the active chat window matches, updates its display via CFmt__func_00599730. 0x00ACD400 145 CInputMgr__insert_text_00acd400 game_core Identical to CInputMgr__insert_text. Inserts a C-string into the input field, deleting selection first, then updates cursor and display. 0x00ACD4F0 79 CInputMgrEx__process_pending_keyaction game_core Processes a pending key action from the keybind list (offset 0xB8). Reads the key code from the list tail, checks if the key's action type (from the binding table at offset 0xC0) is less than 4. If so, calls FUN_00acf6a0 to dispatch the action. 0x00ACD540 126 CInputMgr__paste_from_clipboard game_core Pastes text from the Windows clipboard into the input field. Checks that the active window is not a specific UI type (0x116 or 0x80). Opens clipboard, gets CF_TEXT data, locks the global memory, and calls CInputMgr__insert_text. Cleans up clipboard handles. 0x00ACD5C0 210 CInputMgr__copy_selection_to_clipboard game_core Copies the current text selection to the Windows clipboard. Computes selection range from offsets 0x50 and 0x54. If password mode (offset 0x8C), copies asterisks instead. Opens clipboard, allocates global memory (GMEM_MOVEABLE), copies selected text, null-terminates, sets as CF_TEXT clipboard data. 0x00ACD6A0 16 CInputMgr__cut_selection game_core Cuts the current selection: copies it to clipboard via CInputMgr__copy_selection_to_clipboard, then deletes the selection via FUN_00acd700. 0x00ACD6B0 72 CInputMgr__move_cursor_back game_core Moves the cursor position (offset 0x50) back by one character. Uses CharPrevExA with the current code page (offset 0x90) to handle multi-byte characters correctly. Clamps at 0. 0x00ACD700 192 CInputMgr__delete_selection game_core Deletes the text between cursor (offset 0x50) and selection anchor (offset 0x54). Computes the selection range, shifts remaining text down via memcpy, updates the string length (offset 0x44), and resets both cursor positions to the start of the selection. Notifies the active chat window if applicable. 0x00ACD840 99 CInputMgr__get_string_entry_as_multibyte game_core Retrieves a string entry by index (param_2) from a table and converts it from wide char to multi-byte using WideCharToMultiByte with the current code page (offset 0x90). Returns a pointer to a global 256-byte buffer. Returns empty string constant if index is out of bounds. 0x00ACD8B0 142 get_charset_from_lang_id game_core Maps a language ID (LANGID, lower 10 bits) to a Windows charset value. Returns charset codes like 0xB2 (Arabic), 0xCC (Russian), 0xA1 (Greek), 0x80 (ShiftJIS), 0x81 (Hangul), 0xDE (Thai), 0xA2 (Turkish), 0xBA (Baltic), 0xA3 (Korean), 0xEE (EastEurope), etc. Handles special sub-language for Chinese (traditional vs simplified). 0x00ACD9B0 126 charset_to_codepage game_core Converts a Windows charset value to a code page number. Maps: 0x80->932(ShiftJIS), 0x81->949(Korean), 0x86->936(GBK), 0x88->950(Big5), 0xA1->1253(Greek), 0xA2->1254(Turkish), 0xA3->1258(Vietnamese/Korean), 0xB1->1255(Hebrew), 0xB2->1256(Arabic), 0xBA->1257(Baltic), 0xCC->1251(Cyrillic), 0xDE->874(Thai), 0xEE->1250(CentralEurope). Default: 1252(Western). 0x00ACDAE0 134 lang_id_to_codepage game_core Converts a language ID to a code page by first calling get_charset_from_lang_id, then charset_to_codepage. Combines both steps. 0x00ACDC10 253 CInputMgr__update_candidate_list game_core Updates the IME candidate list. Gets the IME context, queries ImmGetCandidateListW for the required buffer size, ensures the internal buffer is large enough, then retrieves the candidate list. Stores candidate count (capped at 9), page start, and selection index. Releases IME context. 0x00ACDD20 727 CInputMgr__update_composition_string game_core Updates the IME composition string. Gets the composition string via ImmGetCompositionStringW (GCS_COMPSTR=8), converts from wide char to multi-byte, stores in the composition buffer (offset 0x70). Formats a display string combining the current text and composition using snprintf_to_buffer_with_tracking. Notifies the active chat window. 0x00ACE000 134 CInputMgr__update_composition_and_trim_suffix game_core Updates the composition string via FUN_00acdd20, then checks if the last 2 bytes of the composition match a specific suffix (DAT_010d96f4). If so, trims those 2 bytes off. This handles removing trailing IME markers. 0x00ACE0F0 371 CInputMgr__commit_composition_result game_core Commits the IME composition result into the text field. Gets the result string via ImmGetCompositionStringW (GCS_RESULTSTR=0x800), converts from wide char to multi-byte. Deletes the current selection, inserts the result text at the cursor position, updates cursor/selection offsets, and notifies the active chat window. 0x00ACE280 146 CInputMgrEx__build_keybind_string game_core Builds a string representation of the current keybind state from the pending key list (offset 0xB8). Iterates all keys in the list, maps each to its category (from binding table at 0xC0), collects the 2-byte display codes for categories 0-3 into a 9-byte buffer. Returns the STL string at offset 0x58. 0x00ACE360 84 CInputMgr__get_charset_hex_string game_core Returns a hex string representation of the current charset. If DAT_016d3b08 is set, gets the charset from either the current keyboard layout (offset 0x8E) or alternate layout (offset 0xB4) depending on param_2, formats it as "%02x". Otherwise returns an empty string. 0x00ACE3C0 94 CInputMgr__update_display_text game_core Updates the display text from the internal text buffer. If param_2 differs from the internal string pointer, re-assigns the STL string content. If composition text (offset 0x70) is non-empty, inserts it at the cursor position (offset 0x50). 0x00ACE420 23 CInputMgr__get_cursor_and_selection game_core Gets cursor and selection positions. Writes selection anchor (offset 0x54) to param_2 and cursor position (offset 0x50) to param_3. 0x00ACE440 47 CInputMgr__get_selection_range_sorted game_core Gets the selection range sorted (start, end). Writes the smaller of cursor/anchor to param_2, the larger to param_3. 0x00ACE470 26 advance_char_with_codepage game_core Advances to the next character in a string using CharNextExA with the global code page (DAT_016d3a78). 0x00ACE490 26 advance_char_with_codepage_00ace490 game_core Advances to the next character in a string using CharNextExA with the global code page (DAT_016d3a78). 0x00ACE4B0 16 CInputMgr__set_password_mode game_core Sets the password mode flag at offset 0x8C. When enabled, clipboard copy shows asterisks instead of actual text. 0x00ACE4C0 77 CInputMgr__move_cursor_forward game_core Moves the cursor position (offset 0x50) forward by one character. Uses CharNextExA with the current code page (offset 0x90) to handle multi-byte characters. Clamps at the string length. 0x00ACE510 208 CInputMgr__resolve_localized_path game_core Resolves a localized file path by prepending the locale prefix string (offset 0x9C). Skips localization for certain language codes (0, 2, 0x14). Checks if the localized file exists via CFileSystem or the resource manager, and returns the localized path if found, otherwise returns the original path. 0x00ACE5E0 61 CInputMgr__move_cursor_forward_by_n game_core Moves the cursor forward by param_2 bytes, clamped to the string length. If Shift is not held (GetKeyState(VK_SHIFT)), also moves the selection anchor to match. 0x00ACE620 58 CInputMgr__move_cursor_back_by_n game_core Moves the cursor back by param_2 bytes, clamped to 0. If Shift is not held (GetKeyState(VK_SHIFT)), also moves the selection anchor to match. 0x00ACE660 215 CInputMgr__handle_char_input game_core Handles a character input (WM_CHAR). For backspace (8), deletes selection or moves cursor back and deletes. Ignores Tab(9), LF(10), Enter(13), Escape(27). For printable chars (>=0x20), deletes any selection, inserts the character at the cursor position, updates cursor offset, and notifies the chat window. 0x00ACE760 210 CInputMgr__handle_char_input_rtl game_core Handles character input for right-to-left (RTL) text. Similar to CInputMgr__handle_char_input but with RTL-specific handling. For ASCII printable (0x20-0x7F), clears a flag at 0xB8 and uses CInputMgr__insert_text. For non-ASCII (>=0x80), sets the flag and inserts directly. 0x00ACE880 697 CInputMgr__handle_key_down game_core Handles WM_KEYDOWN messages. Without modifiers: Home(0x24)->cursor start, End(0x23)->cursor end, Left(0x25)->move cursor back (with special notification for UI), Right(0x27)->move cursor forward, Delete(0x2E)->delete forward. With Ctrl: A->select all, C->copy, V->paste, X->cut. With Shift: extends selection for Home/End/Left/Right, Insert(0x2D)->paste, Delete(0x2E)->cut. 0x00ACEBC0 143 CInputMgr__handle_key_down_rtl game_core Handles WM_KEYDOWN for RTL (right-to-left) mode. If the RTL flag (offset 0xB8) is clear, delegates to CInputMgr__handle_key_down. Otherwise handles keys with swapped Home/End behavior (Home->end of text, End->start) for RTL text direction. Same Ctrl/Shift modifier handling as LTR version. 0x00ACEEB0 74 notify_active_chat_window game_core Notifies the active chat window to update its display if the conditions are met: param_1 is non-zero, DAT_014576a4 is set, DAT_01457848 has an active chat (offset 0xBC), and the window ID matches. Calls CFmt__func_00599730. 0x00ACEF00 927 CInputMgr__handle_ime_message game_core Handles IME-related Windows messages. WM_IME_STARTCOMPOSITION(0x10D): clears composition. WM_IME_ENDCOMPOSITION(0x10E): ends composition, clears string. WM_IME_COMPOSITION(0x10F): handles composition string changes (GCS_COMPATTR=0x80, GCS_RESULTSTR=0x800). WM_INPUTLANGCHANGE(0x51): updates keyboard layout and code page. WM_IME_NOTIFY(0x282): updates candidate list on open/change events. Sets param_6 to 1 if handled, 0 otherwise. 0x00ACF2A0 136 CInputMgr__clear_all_text game_core Clears all text in the input manager. Notifies IME to cancel composition (ImmNotifyIME NI_COMPOSITIONSTR=0x15, CPS_CANCEL=4). Clears the main text buffer (offset 0x34), display string (offset 0x58), composition buffer (offset 0x70), and resets cursor/selection positions and candidate list count. 0x00ACF340 590 CInputMgrEx__handle_keybind_input game_core Handles keyboard input for the keybind system. For backspace (8): adjusts the pending key list count. For other keys: finds and replaces any existing key in the same category (from the binding table at offset 0xC0), then dispatches via FUN_00acf6a0. Manages the doubly-linked key list at offset 0xB8. 0x00ACF590 77 CInputMgr__set_cursor_and_selection game_core Sets the cursor position (offset 0x50) and selection anchor (offset 0x54) to the given values, clamping both to [0, string_length]. param_2 is the anchor, param_3 is the cursor. 0x00ACF5E0 107 doubly_linked_list_clear game_core Clears a doubly-linked list. Walks and frees all 12-byte nodes, resets sentinel to point to itself, sets count to 0. 0x00ACF650 78 CFmt__flush_buffer_state fmtlib Flushes a format buffer state. If the current write count equals the buffer capacity, advances the total position, computes remaining available space, and if the internal buffer pointer matches the secondary buffer, resets capacity to 256 and adjusts the size limit. Resets the write count to 0. 0x00ACF6A0 165 keybind_list_push_back_byte game_core Appends a single byte value (*param_2) to a doubly-linked list (param_1). Allocates a 12-byte node, stores the byte at offset 8 of the node. Used for the keybind pending key list. 0x00ACF750 29 memcpy_backward_by_offset stl Copies memory from [param_1, param_2) backward to a destination computed as param_3 - (param_2 - param_1). Used for shifting data in buffer insertions. 0x00ACF770 296 _Guess_median_unchecked_> game_core STL _Guess_median_unchecked for introsort. Selects median-of-three pivot from first, middle, and last elements. 0x00ACF8A0 379 _Partition_by_median_guess_unchecked_> game_core STL _Partition_by_median_guess_unchecked. Partitions a range around a median-of-three pivot for introsort. 0x00ACFA20 140 _Pop_heap_hole_by_index_> game_core STL _Pop_heap_hole_by_index. Moves a value down the heap from a given position, restoring heap property. 0x00ACFAB0 472 std__sort_uint_introsort stl STL introsort implementation for uint arrays. Uses quicksort with median-of-three pivot selection, falls back to heapsort when recursion depth limit is reached, and uses insertion sort for small partitions (<=32 elements). Standard std::sort algorithm. 0x00ACFC90 69 vector_assign_from_range stl Assigns a vector's contents from a memory range [param_2, param_3). If the vector's capacity is too small, grows it. Copies data via memcpy and updates the end pointer. 0x00ACFCF0 664 get_or_init_clientinfo_key_string game_core Thread-safe lazy initialization of a global string (DAT_016d4288). On first call, tries to read from a file (PTR_DAT_01348f58). If file open fails, decrypts a hardcoded XOR-encrypted key (0x21 bytes with key 0xC5A50B6B/0xBDADDD87). Returns a pointer to the resulting string. Used for clientinfo/service type identification. 0x00ACFF90 3656 initialize_service_type_paths game_core Initializes service-type-specific file paths and configuration. Based on DAT_016d3b10 (service type), decrypts and assigns multiple XOR-encrypted path strings to global pointers (PTR_DAT_01348f58/70/74/78/7C/80/88). Handles different regions (type 0=KR, 1=JP, 2=US, 3=TW, default=other). Sets up key config paths, loads initial settings, and configures locale-specific flags. Gets system time for randomization seed. 0x00AD0E10 280 initialize_service_type_paths_alt game_core Alternative service type path initialization. For service type 0 (Korean), calls FUN_00ad1c90. For unknown service types, decrypts an XOR-encrypted error/path string. Then calls FUN_00ad1780 for further initialization. 0x00AD0F60 742 load_loading_screen_filenames game_core Loads loading screen filenames. Determines the number of screens based on service type (DAT_016d3b10): KR=7, JP/KR_alt=12, TW=4, CN/TH=8, PH=9, default=1. Decrypts a format string template, generates filenames like "loading%02d.jpg", checks if each file exists in the resource system, and adds valid filenames to the global vector (DAT_016d3b70). 0x00AD1270 1295 load_loading_screen_config_file game_core Loads a loading screen configuration file using CSVParser. Clears existing loading screen entries (DAT_016d3b6c vector), parses the config file, and populates the vector. If no entries were loaded from the file, falls back to load_loading_screen_filenames. 0x00AD1780 1035 initialize_input_managers_and_codepages game_core Lazy-initializes four global singleton input managers: CInputMgr, CInputMgrEx (with keybinds), CInputMgrEx (with flag), CInputMgrEx (base). Then sets up code page and language-specific configuration based on service type (DAT_016d3b10): sets DAT_016d3a78 (codepage), DAT_016d3b07 (language mode), DAT_016d3b08 (charset flag), DAT_016d3b0c (input manager pointer). For unknown service types, shows an error messagebox with a decrypted string. 0x00AD1BE0 39 is_value_in_vector_a game_core Searches global vector A (DAT_016d3b54 to DAT_016d3b58) for param_1. Returns 1 if found, 0 if not found. 0x00AD1C10 3 ret_zero_00ad1c10 crt Returns zero; likely a stub or disabled feature 0x00AD1C20 39 is_value_in_vector_b game_core Searches global vector B (DAT_016d3b60 to DAT_016d3b64) for param_1. Returns 1 if found, 0 if not found. 0x00AD1C50 28 stub_noop_with_security_check game_core No-op function stub with security cookie check. Does nothing. 0x00AD1C70 28 stub_noop_with_security_check_00ad1c70 game_core No-op function stub with security cookie check. Does nothing. 0x00AD1C90 484 initialize_korean_service_paths game_core Initialize korean service paths 0x00AD2A00 10371 parse_xml_config_data game_core Parses XML configuration data. 10K bytes. Processes XML nodes (find child/sibling by name, extract text content), compares strings, decrypts embedded data. No callers (likely registered as callback). 0x00AD5290 58 set_fullscreen_flags_by_service_type game_core Sets fullscreen-related flags (DAT_016d3b05 and DAT_016d3b06) from the given parameters, but only for specific service types (KR=0, PH=6, BR=10, US=12, Gravity=2). Other service types are ignored. 0x00AD52D0 219 CEffectPlayer__ctor effect Constructor for CEffectPlayer (0x58 bytes). Sets vtable to PTR_FUN_01159794, initializes an STL string (offset 0x38), sets various fields: play count to 1, state to -1, loop flag to 1, clears timing/status fields. Stamps two timeGetTime timestamps. 0x00AD53C0 74 CEffectPlayer__dtor effect Destructor for CEffectPlayer. Sets vtable to PTR_FUN_01159794, then destroys the STL string member. 0x00AD5410 99 CEffectPlayer__scalar_deleting_dtor effect Scalar deleting destructor for CEffectPlayer. Calls CEffectPlayer__dtor, then optionally frees the 0x58-byte object. 0x00AD5480 151 render_fps_counter_overlay game_render Renders the FPS counter overlay text. Only draws when DAT_01737ab8==1 (debug mode) and DAT_01737ac0!=1. Computes a position near the bottom-right of the screen, loads the FPS text resource, and draws it via FUN_00ad5fa0 with transparency (0xEEFFFFFF). 0x00AD5520 1298 render_animated_cursor game_render Renders the animated cursor sprite. Loads cursors.act and cursors.spr resources, computes the current animation frame based on time and cursor state (param_1->offset 0x50). Calculates sprite positions using the action/frame data, creates textured quads with UV coordinates, and submits them to the render pipeline (flag 0x205). Handles different animation speeds for different cursor states. 0x00AD5A70 1315 render_sprite_action_frame game_render Renders a sprite action frame at a given position (param_1, param_2) using ACT (param_3) and SPR (param_4) resources. Supports rotation via param_8 (angle). For each layer in the frame, looks up the sprite data, computes UV coordinates, creates a textured quad with position/rotation, and enqueues it via CRenderPipeline__classify_and_enqueue_mesh. param_9 is the color, param_10 is the render flags. 0x00AD5FA0 884 render_textured_quad_2d game_render Renders a 2D textured quad (billboard/UI element). Takes a rectangle (param_1 as 4 ints: left, top, right, bottom), optional rotation angle (param_2), Z-depth (param_3), color (param_4), texture (param_5), and UV coordinates (param_6-9). Computes perspective correction, optionally applies rotation via sin/cos, sets up vertex positions and UVs, and enqueues the mesh with flag 0x201. 0x00AD6320 52 show_error_messagebox_from_string game_core Shows an error MessageBox from an STL string. Extracts the C-string pointer (handles SSO), initializes text rendering singleton, releases DirectDraw surface, then calls MessageBoxA with "Error" title. 0x00AD6360 36 show_error_messagebox game_core Shows an error MessageBox with param_1 as C-string text and param_2 as the message box type flags. Initializes text rendering, releases DirectDraw, shows MessageBoxA with "Error" title. 0x00AD6390 82 show_error_messagebox_int game_core Shows an error MessageBox with an integer value formatted as a string (using wsprintfA with format from DAT_011597b4). Shows MessageBoxA with "Error" title and type 0 (MB_OK). 0x00AD63F0 89 sanitize_filename_chars game_core Sanitizes a filename string (STL string param_1) by replacing invalid characters (\\/:'*?"<>\|) with underscores ('_'). Operates in-place on the string buffer. 0x00AD6450 13 get_field4_if_mode1 game_core Returns the value at offset 4 if offset 0x58 equals 1 (mode 1), otherwise returns 0. 0x00AD6460 13 get_field4_if_mode0 game_core Returns the value at offset 4 if offset 0x58 equals 0 (mode 0), otherwise returns 0. 0x00AD64B0 39 CToolTipMgr__hide_tooltip ui_windows Hides the current tooltip by unregistering its window (offset 0x1C) from CUIWindowMgr, nulling the pointer, and stamping the hide time via timeGetTime. 0x00AD64E0 44 CToolTipMgr__is_target_map ui_windows Checks if the given param_2 matches the target map ID. Only valid when mode==1 (offset 0x58) and field 4 is non-zero. Calls FUN_00cf0320 and compares param_2 to the value at offset 0x70 of the result. 0x00AD6510 440 CToolTipMgr__show_tooltip ui_windows Shows a tooltip with text (param_2) at position (param_3, param_4) with color (param_5). If param_7 is set, processes the text through FUN_00dff1f0 (encoding conversion). Creates the tooltip dialog widget (0xCC bytes) if it doesn't exist, configures size, text content (split by '#' delimiter), text color (byte-swapped), and positions it clamped to screen bounds. 0x00AD6740 93 render_screen_fade_in_effect game_render Renders a screen fade-in effect. On first call (offset 0x10 != 0), records start time and calls CAntiCheat__get_hwid_a, then clears the flag. Over the next 255ms, draws a full-screen black rectangle with decreasing alpha (0xFF down to 0x00) to create a fade-in effect. 0x00AD67A0 47 CToolTipMgr__auto_hide_expired_tooltip ui_windows Automatically hides the tooltip if more than 100ms have elapsed since it was shown (offset 0x20 timestamp). Unregisters the tooltip window and nulls the pointer. 0x00AD67D0 3 null_stub_00ad67d0 crt Empty function stub with no implementation 0x00AD67E0 62 CGameMode__on_quit game_core Handles game quit. Clears a flag on the sub-object at offset 1 (field 0x14=0). For India service type (0xB), opens the Ragnarok India website via ShellExecuteA. Clears the game mode object pointer. 0x00AD6820 317 CGameMode__load_and_play_video game_core Loads and plays a video/intro sequence. Sets mode type (offset 0x58/0x5C), copies filename strings. In a loop while *this is non-zero and app isn't closing: creates either a 0x6F7C-byte player (FUN_00d8c6a0, mode 0) or a 0x670-byte player (FUN_00ccd880, mode 1), calls open/play/close virtual methods, then destroys the player. 0x00AD6960 223 play_screen_fade_out_with_logo game_core Plays a screen fade-out effect. Calls CAntiCheat__get_hwid_b, records start time. Over 255ms, renders increasing alpha black overlay. If param_1 is set, also renders the "rag_logo.bmp" at the bottom-right corner during the fade. Processes DirectDraw present/flip each frame. 0x00AD6A40 2745 CGameMode__take_screenshot game_core Takes a screenshot. Gets local time, draws date/time overlay text (with special Korean number encoding for service type 0), creates the screenshot directory if needed, builds a filename like "ScreenShot/charname/screenshot_NNNN.jpg", captures the screen via the render device's virtual method (vtable+0x4C), notifies the chat window about the saved screenshot. Auto-increments the global screenshot counter (DAT_016d42b4). 0x00AD7500 214 CGameMode__handle_message game_core Handles game mode messages. Message 2: saves hotkeys to registry, cleans up game state, opens India website for service type 0xB, clears the global flag. Message 0x44: sets a flag at offset 0x2C, stores the provided string (param_3) into an STL string. Returns 0. 0x00AD75E0 61 CGameMode__set_state game_core Sets the game mode state (offset 0x50) to param_2 if it changed. Clears sub-state (offset 0x54), timestamps the change via timeGetTime, and dispatches a message (type 0xF) with the new state via CUIWindowMgr__dispatch_chat_message. 0x00AD7620 47 CGameMode__set_next_map_name game_core Sets the next map name for a map change. Clears a flag on the sub-object at offset 4 (field 0x14=0), copies the map name string (param_3) to offset 0x30, and stores param_2 at offset 0x5C. 0x00AD7650 34 memcpy_range_to_dest_00ad7650 stl Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past the end of the copied data. 0x00AD7680 34 memcpy_range_to_dest_00ad7680 stl Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past the end of the copied data. 0x00AD76B0 34 memcpy_range_to_dest_00ad76b0 stl Copies memory range [param_1, param_2) to param_3 via memcpy. Returns pointer past the end of the copied data. 0x00AD76E0 452 vector_insert_and_grow stl Inserts an element at position param_2 in a vector, growing its capacity using 1.5x growth strategy. Allocates new buffer (with alignment for large allocs), copies elements before/after the insertion point, inserts the new value from param_3, frees old buffer, and updates begin/end/capacity pointers. 0x00AD78B0 103 rb_tree_free_nodes_recursive game_core Recursively frees red-black tree nodes (24 bytes each). Traverses left child (offset 8), then walks right siblings via offset 0, freeing each node. Stops when reaching a sentinel node (byte at offset 0xD is non-zero). 0x00AD7920 128 rb_tree_free_nodes_with_string_data game_core Recursively frees red-black tree nodes (44 bytes each) that contain STL string data. Destroys the string via STL_string_dtor before freeing each node. Same traversal pattern as rb_tree_free_nodes_recursive. 0x00AD79A0 75 rb_tree_lower_bound_int game_core Performs a lower_bound search in a red-black tree keyed by integer (at node offset 0x10). Returns an iterator struct (param_2) with the found node, a flag indicating if key matched, and the closest node. Standard std::map::lower_bound implementation. 0x00AD79F0 129 rb_tree_lower_bound_string game_core Performs a lower_bound search in a red-black tree keyed by STL string (at node offset 0x10). Compares keys using std::_Traits_compare (lexicographic). Returns an iterator struct (param_2) with the found node, match flag, and closest node. 0x00AD7A80 75 pathfind_heap_push_up game_core Heap sift-up for pathfinding priority queue. Inserts element at param_2 position, bubbling up by comparing field at offset 0x10 (cost). Array at param_1 with element size 4 bytes (pointer array). 0x00AD7AD0 406 STL_vector_16byte_reallocate_and_fill stl STL vector reallocation for 16-byte elements (0x10 stride). Grows capacity by 1.5x, copies existing data, fills new slots. Used by pathfinding waypoint vector. 0x00AD7C70 499 STL_vector_28byte_reallocate_and_fill stl STL vector reallocation for 28-byte (0x1c) elements. Grows capacity by 1.5x, copies existing data via memcpy, fills new slots. Used by pathfinding node array. 0x00AD7E70 248 CPathFinder__init_tree_containers pathfinding Initializes pathfinder tree containers at offsets 0x1078 and 0x1090. Allocates 0x2C and 0x18 byte sentinel nodes for two red-black trees. Zeroes out associated vectors and flags. 0x00AD7F70 110 CPathFinder__init_six_fields pathfinding Initializes a 6-field (24-byte) structure to all zeroes. Returns pointer to the initialized struct. Used for pathfinding state initialization. 0x00AD7FE0 67 free_18byte_node stl Frees a 0x18-byte allocated node if the pointer at offset +4 is non-null. SEH-protected free operation. 0x00AD8030 67 free_2C_byte_node stl Frees a 0x2C-byte allocated node if the pointer at offset +4 is non-null. SEH-protected free operation. 0x00AD8080 111 rbtree_18byte_destroy_nodes game_core Destroys all nodes in a red-black tree with 0x18-byte nodes. Traverses linked list from root, calls cleanup function on each node's data (offset+8), then frees each 0x18-byte node. 0x00AD8100 76 rbtree_2C_byte_destroy_all game_core Destroys all nodes in a red-black tree with 0x2C-byte nodes. Calls recursive cleanup then frees the sentinel node. 0x00AD8160 78 free_18byte_node_seh stl SEH-wrapped free of 0x18-byte node. Checks if pointer at offset+4 is non-null before freeing. Variant of free_18byte_node. 0x00AD81B0 113 free_2C_node_with_string_dtor stl Frees a 0x2C-byte node that contains a string. First destroys the embedded STL string, then frees the 0x2C-byte allocation if non-null. 0x00AD8230 78 free_18byte_node_seh_v2 stl SEH-wrapped free of 0x18-byte node, variant. Frees allocation at offset+4 if non-null. Nearly identical to free_18byte_node_seh. 0x00AD8280 78 free_2C_byte_node_seh stl SEH-wrapped free of 0x2C-byte node. Frees allocation at offset+4 if non-null. 0x00AD82D0 65 rbtree_18byte_destroy_wrapper game_core SEH-wrapped call to rbtree_18byte_destroy_nodes. Wrapper for destroying all nodes in the 0x18-byte red-black tree. 0x00AD8320 87 rbtree_2C_byte_destroy_all_seh game_core SEH-wrapped destruction of all nodes in 0x2C-byte red-black tree. Calls recursive cleanup then frees sentinel. Variant of rbtree_2C_byte_destroy_all. 0x00AD8380 65 STL_string_dtor_seh_wrapper stl SEH-wrapped STL string destructor. Calls STL_string_dtor within structured exception handling frame. 0x00AD83D0 129 STL_vector_4byte_free stl Frees the backing storage of an STL vector with 4-byte (int/pointer) elements. Handles aligned allocation (>0x1000 bytes uses offset pointer at [-4]). Zeroes all three vector fields after free. 0x00AD8460 129 STL_vector_16byte_free stl Frees the backing storage of an STL vector with 16-byte elements. Computes allocation size via capacity mask (& 0xFFFFFFF0). Handles aligned allocation for large blocks. Zeroes all three vector fields. 0x00AD84F0 159 STL_vector_28byte_free stl Frees the backing storage of an STL vector with 28-byte (0x1C) elements. Computes capacity via division by 0x1C then multiplies back. Handles aligned allocation. Zeroes all three vector fields. 0x00AD85A0 326 CPathFinder__dtor pathfinding CPathFinder destructor. Cleans up movement data, calls virtual destructors on tracked objects, destroys the open set tree and node pool, frees all three vectors (4-byte, 16-byte, 28-byte), then destroys and frees the main 0x2C-byte tree sentinel. 0x00AD86F0 65 STL_vector_4byte_free_seh stl SEH-wrapped call to STL_vector_4byte_free. Frees 4-byte element vector storage within exception handling frame. 0x00AD8740 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00AD87A0 333 CPathFinder__build_path_result pathfinding Builds the final path result from a linked list of path nodes. Counts nodes, resizes the result vector if needed, copies waypoint coordinates (x, y, direction) in reverse order into the vector. Computes movement timing with distance-based interpolation and direction flags. 0x00AD88F0 1066 CPathFinder__find_path_astar pathfinding A* pathfinding implementation. Takes start/goal coordinates, expands neighbors in 8 directions (cardinal cost 10, diagonal cost 14), uses min-heap priority queue sorted by estimated total cost (offset 0x10). Checks walkability via FUN_00ad9550 and collision via FUN_00ad9610. Returns 1 on success (path found), 0 on failure. Builds result path via CPathFinder__build_path_result. 0x00AD8D20 66 CPathFinder__get_waypoint_at_index pathfinding Gets waypoint data at a given index from the path result vector (16-byte elements). Copies the first two fields (x, y coords) to output params. Returns 1 on success, 0 if index out of bounds or empty. 0x00AD8D70 26 CPathFinder__get_last_waypoint_direction pathfinding Gets the direction field from the last waypoint in the path result vector. Reads the last 4 bytes of the last 16-byte element (offset -4 from end). 0x00AD8D90 23 CPathFinder__get_last_waypoint_timestamp pathfinding Gets the timestamp/timing field from the last waypoint in the path result vector. Returns the second-to-last field of the last 16-byte element, or -1 if empty. 0x00AD8DD0 321 CPathFinder__allocate_node pathfinding Allocates a pathfinding node from the node pool. If dynamic allocation is enabled (flag at offset 0x1080), uses a resizable 0x1C-byte vector; otherwise uses a fixed inline array of 149 (0x95) nodes at offset +0x10. Returns pointer to the next available node slot, incrementing the count at offset +0xC. 0x00AD8F20 257 CPathFinder__get_position_at_time pathfinding Gets interpolated position along the path at a given timestamp. Searches through waypoint segments to find which segment contains the timestamp, outputs direction and interpolated x/y float coordinates. Returns segment index, 0 if before first segment, -1 if past end or empty. 0x00AD9030 646 CPathFinder__get_or_create_node pathfinding Gets or creates a pathfinding node for a given (x,y) cell. Looks up position in the node map (red-black tree keyed by linearized coordinate). If found, returns existing node. If not found, allocates a new node from the pool, initializes it with coordinates and cost=0, inserts into the tree, and returns it. Returns NULL if pool is exhausted. 0x00AD92C0 467 CPathFinder__get_interpolated_position pathfinding Interpolates position along the path at a given time value. Searches path segments for the time range containing the query time, then linearly interpolates x/y coordinates within that segment. Returns segment index, stores direction from halfway point of segment. Handles first segment specially using stored origin position. Returns -1 if past end. 0x00AD94A0 96 CPathFinder__calc_arrival_time pathfinding Calculates arrival time for a path segment. Computes Euclidean distance between start position (stored in param_2 fields) and next waypoint, converts to time units, and adds to base time param_1. 0x00AD9550 158 CPathFinder__is_cell_walkable pathfinding Checks if a cell at (param_4, param_5) is walkable for pathfinding. Validates bounds against map dimensions (offsets 0x110, 0x114), gets cell via C3dAttr__GetCellPtr, rejects type 1 (unwalkable) and type 5 (unless direction is diagonal=0xC). For diagonal moves, also checks both intermediate cardinal cells for walkability. 0x00AD95F0 9 get_byte_and_equality_check_00ad95f0 game_core Returns byte at offset 1 and equality comparison of param with itself 0x00AD9600 11 thunk_C3dAttr__IsCellWalkable game_core Thunk/wrapper that directly calls C3dAttr__IsCellWalkable and returns. 0x00AD9610 322 CPathFinder__try_expand_neighbor pathfinding Tries to expand a neighbor cell during A* search. Gets or creates a node for (param_4, param_5), computes g-cost = parent cost + step cost (param_3), h-cost = Manhattan distance * 10 to goal. If node is new (status 0), sets it up and pushes to open set. If node exists with higher g-cost, updates it and re-heapifies. Direction stored in field[6]. Returns 1 on success, 0 if node allocation fails. 0x00AD9760 87 CPathFinder__open_set_push pathfinding Pushes a node pointer onto the open set (min-heap priority queue). If the vector is full, reallocates via FUN_00ad76e0. After appending, calls pathfind_heap_push_up to maintain heap ordering by cost field (offset 0x10). 0x00AD9840 181 CPathFinder__reset_search_state pathfinding Resets the pathfinder search state for a new search. Clears the node map (red-black tree at offset 0x1090) by traversing and freeing all 0x18-byte nodes. Clears the open set vector (offsets 0x1098/0x109C). Also resets the waypoint result vector (0x1084/0x1088). 0x00AD9900 11 STL_vector_clear_by_reset_end stl Clears an STL vector by resetting the end pointer to the begin pointer. Does not free memory, just marks as empty. 0x00AD9910 8 CPathFinder__reset_node_pool_index pathfinding Resets the pathfinder node pool allocation index (field 0x0C / offset 3) to zero, effectively resetting the pool for a new search. 0x00AD9920 12 CPathFinder__set_map_pointer pathfinding Sets the map/attribute data pointer (field 0) of the pathfinder object. 0x00AD9930 13 CPathFinder__set_node_pool_index pathfinding Sets the pathfinder node pool allocation index (field 0x0C). Used to track how many nodes have been allocated from the pool. 0x00AD9940 17 CPathFinder__set_start_x pathfinding Sets the pathfinder start X coordinate at offset 0x10. 0x00AD9960 17 CPathFinder__set_start_y pathfinding Sets the pathfinder start Y coordinate at offset 0x14. 0x00AD9980 504 C3dAttr__load_or_get_cached pathfinding Loads or retrieves a cached C3dAttr map attribute object by filename string. Looks up the filename in a string-keyed red-black tree (map cache). If found, returns existing. If not, allocates a new C3dAttr (0x128 bytes), constructs it, inserts into cache tree, loads map data via virtual call at vtable+0x14, and stores pointer. Returns 1 on success, 0 on allocation failure. 0x00AD9B80 704 rbtree_erase_and_rebalance game_core Red-black tree node removal with rebalancing. Handles all cases: node with two children (swap with successor), node with one or zero children. Performs red-black tree fixup rotations and color flips after removal. Updates parent/child pointers and tree min/max. Decrements node count. Returns pointer to the removed node for deallocation. 0x00AD9E40 3 identity_passthrough_00ad9e40 crt Returns input parameter unchanged; identity function 0x00AD9E50 3 identity_passthrough_00ad9e50 crt Identity function that returns its parameter unchanged 0x00AD9E60 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00ADA070 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00ADA280 84 rbtree_rotate_left game_core Red-black tree left rotation. Rotates param_2 node left by promoting its right child. Updates parent pointers and tree root if necessary. 0x00ADA2E0 88 rbtree_rotate_right game_core Red-black tree right rotation. Rotates param_2 node right by promoting its left child. Updates parent pointers and tree root if necessary. 0x00ADA340 55 fill_16byte_elements_zero game_core Fill 16byte elements zero 0x00ADA380 55 fill_28byte_elements_zero game_core Fills param_2 consecutive 28-byte (0x1C) elements with zeroes via memset starting at param_1. Returns pointer past the last filled element. 0x00ADA3C0 36 copy_16byte_elements game_core Copies 16-byte elements from [param_1, param_2) to destination at param_3 offset. Copies 4 DWORDs per element manually. 0x00ADA3F0 10 thunk_to_std__Xlength_error_00ada3f0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00ADA400 10 thunk_to_std__Xlength_error_00ada400 stl Calls std::_Xlength_error with vector_too_long error message 0x00ADA410 10 thunk_to_std__Xlength_error_00ada410 stl Calls std::_Xlength_error with vector_too_long message 0x00ADA420 62 STL_allocator_deallocate_4byte stl STL allocator deallocate for 4-byte elements. Computes total size as count*4, handles over-aligned allocations (>=0x1000 bytes) by retrieving original pointer from [-4] offset. 0x00ADA460 58 free_aligned_16byte_array stl Frees an aligned allocation of 16-byte elements. For allocations >= 0x1000 bytes, retrieves the original pointer from [-4] offset. Validates alignment offset before freeing. 0x00ADA4A0 67 free_aligned_28byte_array stl Frees an aligned allocation of 28-byte (0x1C) elements. For allocations >= 0x1000 bytes, retrieves the original pointer from [-4] offset. Validates alignment offset before freeing. 0x00ADA4F0 139 CQuadTreeNode__ctor pathfinding CQuadTreeNode constructor. Sets vtable pointer to PTR_FUN_011598e0, allocates a 0x0C-byte circular linked list sentinel for children/objects, initializes 4 child pointers (fields 5-8) and bounds fields (9-10) to zero. 0x00ADA580 67 CQuadTreeNode__free_list_sentinel pathfinding Frees the 0x0C-byte linked list sentinel node at field offset+4 if non-null. SEH-protected. Used by CQuadTreeNode cleanup. 0x00ADA5D0 78 CQuadTreeNode__free_list_sentinel_seh pathfinding SEH-wrapped variant that frees the 0x0C-byte linked list sentinel node at field offset+4 if non-null. Used by CQuadTreeNode cleanup. 0x00ADA620 103 CQuadTreeNode__destroy_linked_list pathfinding Destroys all nodes in a CQuadTreeNode's linked list of 0x0C-byte nodes. Clears tail pointer, traverses and frees each node, then frees the sentinel/head node. 0x00ADA690 134 CQuadTreeNode__dtor pathfinding CQuadTreeNode destructor. Resets vtable, calls cleanup to free contained objects and child nodes, then destroys the linked list of 0x0C-byte nodes at field[9]. 0x00ADA720 35 CQuadTreeNode__scalar_deleting_dtor pathfinding CQuadTreeNode scalar deleting destructor. Calls CQuadTreeNode__dtor then conditionally frees the 0x2C-byte object memory if bit 0 of param_2 is set. 0x00ADA750 251 CQuadTreeNode__insert_object pathfinding Inserts an object into a quad tree leaf node. Traverses child nodes by comparing object position (param_2 float coordinates) against midpoints to find the correct leaf. At the leaf, allocates a 0x0C-byte list node, stores the object pointer, and links it into the leaf's doubly-linked list. Increments the node's object count at field[0x28]. Throws if list exceeds max size. 0x00ADA850 145 CQuadTreeNode__clear_objects_and_children pathfinding Clears all objects from a quad tree node. Frees 0x28-byte object data for each list entry, then frees all 0x0C-byte list nodes and adjusts count. Destroys 4 child quad tree nodes via virtual destructors (offset 0x14-0x20), setting pointers to null. 0x00ADA8F0 238 CQuadTreeNode__find_object_at pathfinding Finds an object at given (x,y) float coordinates in the quad tree. For leaf nodes, searches the object list for entries whose bounding box contains the point, returns the one with the highest z+height value. For internal nodes, recursively searches the best quadrant first, then tries other quadrants if not found. Returns object pointer or NULL. 0x00ADA9E0 63 CQuadTreeNode__get_quadrant_index pathfinding Determines which quadrant (0-3) a point falls in based on the node's midpoints. 0=top-left, 1=top-right, 2=bottom-right, 3=bottom-left. Uses field[0x0C]/2 as x midpoint, field[0x10]/2 as y midpoint. 0x00ADAA20 56 CQuadTreeObj__contains_point pathfinding Tests if a 2D point (param_2, param_3) is within the axis-aligned bounding box defined by this object. Checks field[0]<=x= the search param_2. Returns 0 if nil node or key is less. 0x00AE16E0 137 move_range_of_3C_elements game_core Moves a range of 0x3C-byte elements from [param_1, param_2) to destination starting at param_3. Constructs each new element via FUN_00ae1910 (move constructor), then destroys any remaining trailing elements at the destination. 0x00AE1770 117 construct_3C_element_from_source game_core Copy-constructs a 0x3C-byte element. Copies the first field, copy-constructs embedded STL string at field+1, copies two int fields (7,8), copy-constructs second embedded STL string at field+9. 0x00AE17F0 125 CTownEntry__move_construct_with_vector game_core Move-constructs a town entry. Copy-constructs the STL string, then moves the vector data (offsets 0x18-0x20) by copying pointers and zeroing the source. Returns this pointer. 0x00AE1870 157 CTownInfoMgr__ctor_00ae1870 game_map CTownInfoMgr constructor. Sets vtable to PTR_FUN_01159c1c, allocates 0x34-byte red-black tree sentinel, initializes a vector triplet (begin/end/capacity) to zero, sets state flag at offset+4 to 1. 0x00AE1910 204 CTownEntry__move_ctor game_core Move constructor for a 0x3C-byte town entry element. Copies all fields, moves two embedded STL strings (at offsets +0x14 and +0x24) by taking ownership of the buffer pointer and resetting the source to empty (SSO size=0xF, length=0). 0x00AE19E0 120 CTownEntry__copy_ctor game_core Copy constructor for a 0x3C-byte town entry element. Copies the first field, deep-copies two embedded STL strings via STL_string_copy_construct, copies two int fields (7,8). 0x00AE1A60 145 CTownEntry__ctor_from_params game_core Constructs a town entry from parameters. Sets ID field, copy-constructs two STL strings from stack args, copies two int fields, then destroys the temp source strings. 0x00AE1B00 179 CTownEntry__default_ctor game_core Default constructor for a town entry. Initializes ID to -1, two STL strings to empty (SSO mode), and coordinate fields to -1. 0x00AE1BC0 67 free_34byte_sentinel stl Frees a 0x34-byte red-black tree sentinel node if the pointer at offset+4 is non-null. 0x00AE1C20 76 rbtree_34byte_destroy_and_free_sentinel game_core Destroys all nodes in a 0x34-byte red-black tree recursively, then frees the sentinel. 0x00AE1C80 129 free_34byte_node_with_town_cleanup stl Frees a 0x34-byte tree node containing town vector data and an STL string. Clears the town vector, destroys the string, then frees the 0x34-byte node. 0x00AE1D10 78 free_34byte_sentinel_seh stl SEH-wrapped free of 0x34-byte sentinel node. Frees allocation at offset+4 if non-null. 0x00AE1D80 87 rbtree_34byte_destroy_and_free_seh game_core SEH-wrapped destruction of 0x34-byte red-black tree. Recursively destroys all nodes and frees sentinel. 0x00AE1DE0 86 CTownInfoMgr__clear_and_destroy_entry game_map Clears a town info entry by destroying its town vector and STL string. 0x00AE1E50 125 CTownInfoMgr__dtor_00ae1e50 game_map CTownInfoMgr destructor. Resets vtable, clears the town vector, destroys the 0x34-byte red-black tree, frees sentinel. 0x00AE1ED0 148 CTownInfoMgr__scalar_deleting_dtor game_map CTownInfoMgr scalar deleting destructor. Clears town vector, destroys tree, frees sentinel, conditionally frees the 0x1C-byte object. 0x00AE1F70 1985 CTownInfoMgr__add_town_entry game_map Adds a town entry to the CTownInfoMgr. On first call, initializes global town type icon BMP paths (Store, Weaponshop, ArmorShops, Smithy, Guide) and text strings. Looks up the town key in the string-keyed red-black tree. If found, appends to existing vector. If not found, creates a new tree node with the town name key, inserts it, and adds the entry to its vector. 0x00AE2740 254 CTownInfoMgr__init_singleton game_map Initializes the CTownInfoMgr singleton. Allocates 0x1c bytes, sets vtable, creates linked list sentinel node (0x34 bytes). Stores instance in global DAT_016d4304. Returns 1 if init succeeded, 0 if failed or already exists. 0x00AE2840 27 CTownInfoMgr__destroy_singleton game_map Destroys the CTownInfoMgr singleton. Calls virtual destructor on DAT_016d4304 with deleteFlag=1, then nulls the global pointer. 0x00AE2860 550 CTownInfoMgr__load_towninfo_lua game_map Loads town info from Lua script "System_Towninfo_lub". Registers the AddTownInfo callback, executes the script. On error, shows MessageBox with CTownInfoMgr caption. Returns 1 on success, 0 on failure. 0x00AE2A90 230 CTownInfoMgr__format_string game_map Formats a string using vsprintf into a 2048-byte buffer, then constructs an STL string from the result. Returns the formatted STL string in param_1. 0x00AE2B80 22 CTownInfoMgr__destroy_range_adapter game_map Thiscall adapter that calls destroy_range_of_3C_elements with reordered parameters. Used as a callback for vector cleanup operations in CTownInfoMgr. Passes param_2 as start, param_3 as end, and this (param_1) as the allocator context. 0x00AE2BA0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AE2DB0 172 CTownInfoMgr__clear_town_vector game_map Clears a vector of 0x3c-byte TownInfo records. Calls FUN_00ae1290 to process elements, then frees the backing array and zeroes the vector pointers (begin/end/capacity). 0x00AE2E70 10 thunk_to_std__Xlength_error_00ae2e70 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x00AE2E80 100 CTownInfoMgr__alloc_town_array game_map Allocates an aligned array for 0x3c-byte TownInfo records. Multiplies count by 0x3c, handles aligned allocation for blocks >= 0x1000 bytes. Throws bad_array_new_length if count >= 0x4444445. 0x00AE2EF0 64 CTownInfoMgr__free_town_array game_map Frees an array of 0x3c-byte TownInfo records. Handles aligned deallocation for blocks >= 0x1000 bytes by reading the original allocation pointer at offset -4. 0x00AE2F40 934 CTownInfoMgr__lookup_town_by_name game_map Looks up a town info record by name string. Strips duplicate characters from input, searches a sorted tree structure using string comparison. If found, copies the 0x3c-byte record (including two STL strings at offsets +1 and +9) into param_2. Returns param_2. 0x00AE32F0 161 CTownInfoMgr__push_back_town_record game_map Pushes a 0x3c-byte TownInfo record onto a vector. Copies the record including two STL strings (at offsets +1 and +9) and scalar fields (at offsets +7 and +8). Calls grow function if at capacity. 0x00AE33A0 683 CTownInfoMgr__lua_AddTownInfo game_map Lua callback for AddTownInfo. Reads town info fields from the Lua stack (3 integers, 2 booleans, 2 strings), constructs a TownInfo record and stores it. Returns 2 (number of Lua return values). 0x00AE3650 143 CTownInfoMgr__destroy_list_0x80_nodes game_map Destroys a linked list of 0x80-byte nodes. Each node contains 3 STL strings that are destructed before freeing the 0x80-byte node memory. Zeroes the list count. 0x00AE36E0 111 CTownInfoMgr__destroy_list_0x38_nodes game_map Destroys a linked list of 0x38-byte nodes. Each node contains 1 STL string that is destructed before freeing the node. Zeroes the list count. 0x00AE3750 111 CTownInfoMgr__destroy_list_0x28_nodes game_map Destroys a linked list of 0x28-byte nodes. Each node contains 1 STL string that is destructed before freeing the node. Zeroes the list count. 0x00AE37C0 140 CTownInfoMgr__destroy_list_0x54_nodes game_map Destroys a linked list of 0x54-byte nodes. Each node contains 3 STL strings that are destructed before freeing the 0x54-byte node memory. Zeroes the list count. 0x00AE3850 111 CTownInfoMgr__destroy_list_0x34_nodes game_map Destroys a linked list of 0x34-byte nodes. Each node contains 1 STL string that is destructed before freeing the node. Zeroes the list count. 0x00AE38C0 626 CTownInfoMgr__ctor game_map CTownInfoMgr constructor. Initializes 5 STL strings (at offsets 0, 6, 0xc, 0x12, 0x1d), 8 linked list sentinels of various node sizes (0x38, 0x80, 0x28, 0x54, 0x34, 0x2c, 0x20, 0x44), and a vector. Calls FUN_00ae4740 to load initial data. 0x00AE3B40 67 CTownInfoMgr__free_0x54_member game_map Frees a 0x54-byte member buffer if non-null. Simple deallocation helper for CTownInfoMgr cleanup. 0x00AE3B90 145 CTownInfoMgr__destroy_0x80_member game_map Destroys a 0x80-byte member node containing 3 STL strings. Destructs each string, then frees the 0x80-byte buffer. Part of CTownInfoMgr cleanup. 0x00AE3C30 142 CTownInfoMgr__destroy_0x54_member game_map Destroys a 0x54-byte member node containing 3 STL strings. Destructs each string, then frees the 0x54-byte buffer. Part of CTownInfoMgr cleanup. 0x00AE3CC0 73 CTownInfoMgr__destroy_0x28_list_and_sentinel game_map Destroys the 0x28-byte linked list including all nodes and the sentinel node itself. Calls destroy_list_0x28_nodes then frees the sentinel. 0x00AE3D10 73 CTownInfoMgr__destroy_0x54_list_and_sentinel game_map Destroys the 0x54-byte linked list including all nodes and the sentinel node itself. Calls destroy_list_0x54_nodes then frees the sentinel. 0x00AE3D60 73 CTownInfoMgr__destroy_0x34_list_and_sentinel game_map Destroys the 0x34-byte linked list including all nodes and the sentinel node itself. Calls destroy_list_0x34_nodes then frees the sentinel. 0x00AE3DB0 388 CTownInfoMgr__dtor game_map CTownInfoMgr destructor. Destroys Lua state, then destroys all 8 linked lists (0x44, 0x20, 0x2c, 0x34, 0x54, 0x28, 0x80, 0x38 node sizes), frees their sentinels, and destructs 5 STL strings. 0x00AE3F40 81 CTownInfoMgr__add_unique_to_id_vector game_map Adds an ID to the vector at offset +0x114 if not already present. Linear search for duplicates. Uses STL vector realloc if at capacity. 0x00AE3FA0 272 CTownInfoMgr__add_npc_to_list game_map Adds an NPC to the 0x80-byte linked list at offset +0xDC. Copies NPC data from param_2, increments count at +0xE0. Notifies the game via virtual call if a game object exists. Throws list_too_long if at max capacity (0x1FFFFFF). 0x00AE40C0 249 CTownInfoMgr__add_warp_to_list game_map Adds a warp portal to the 0x54-byte linked list at offset +0xEC. Copies warp data including 3 STL strings from param_2. Increments count at +0xF0. Calls FUN_00a96730 to notify. Throws list_too_long at max capacity. 0x00AE41C0 107 CTownInfoMgr__update_npc_field game_map Updates a field on an NPC node in the 0x80-byte list. Searches by matching fields at offsets +2 and +3 (ID pair). Sets field at +0xE and updates string data via map find/insert. 0x00AE4230 13 CTownInfoMgr__clear_id_vector game_map Clears the ID vector by resetting the end pointer to the begin pointer at offset +0x114/+0x118. Does not free memory. 0x00AE4240 40 CTownInfoMgr__clear_npc_list game_map Clears the NPC linked list at offset +0xDC. Destroys all 0x80-byte nodes, resets sentinel to point to itself, zeroes the count at +0xE0. 0x00AE4270 77 CTownInfoMgr__remove_from_id_vector game_map Removes an ID from the vector at offset +0x114. Linear search, then memcpy to shift remaining elements down. Decrements end pointer by 4. 0x00AE42C0 183 CTownInfoMgr__remove_warp_from_list game_map Removes a warp portal from the 0x28-byte linked list at offset +0xE4. Searches by matching fields at offsets +2 and +3. Unlinks node from doubly-linked list, destroys string, frees 0x28 bytes. Decrements count at +0xE8. Calls FUN_00a96730 to notify. 0x00AE4380 95 CTownInfoMgr__find_npc_id_by_name game_map Finds an NPC ID by name string. Iterates the 0x80-byte NPC linked list at offset +0xDC, comparing the string at offset +4 in each node. Returns the ID at offset +2 if found, or -1 (0xFFFFFFFF) if not. 0x00AE43E0 19 CTownInfoMgr__get_id_at_index game_map Returns the ID at the given index in the ID vector at offset +0x114. Direct array index (param_2 * 4). 0x00AE4400 656 CTownInfoMgr__get_npc_data_by_id game_map Gets NPC data by ID from the 0x80-byte linked list. Iterates the list at +0xDC, matches by field at offset +2. Copies the full NPC record (0x78 bytes of data) into param_2. Returns zeroed record if not found. 0x00AE4690 47 CTownInfoMgr__count_warps_for_id game_map Counts warp portals for a given ID in the 0x28-byte linked list at offset +0xE4. Iterates all nodes, incrementing count when field at offset +3 matches param_2. 0x00AE46C0 16 CTownInfoMgr__get_id_vector_count game_map Returns the number of elements in the ID vector at offset +0x114. Computed as (end - begin) >> 2. 0x00AE46D0 99 CTownInfoMgr__save_and_reset_state game_map Saves 5 state fields from offsets +0xA8 through +0xB8, calls reset_all_data, then restores the saved fields. Used to reload data while preserving current UI state. 0x00AE4740 685 CTownInfoMgr__reset_all_data game_map Resets all CTownInfoMgr data to initial state. Zeroes numerous fields (coordinates, flags, state at offsets +0x60-0xD0), clears 5 strings, destroys and resets all 8 linked lists and 3 tree structures, clears ID vector. Calls virtual method to notify game of reset. 0x00AE49F0 47 CTownInfoMgr__has_warp_with_zero_subtype game_map Checks if there is a warp portal in the 0x28-byte list at +0xE4 with field +2 matching param_2 and field +3 == 0 (subtype zero). Returns 1 if found, 0 otherwise. 0x00AE4A20 477 CTownInfoMgr__compute_npc_weights game_map Computes weight percentages for all NPCs. Sums field +0x1D across all nodes in the NPC list, then calculates each NPC's percentage (field +0x1D * 100.0 / total). Inserts results into the tree at +0xFC keyed by NPC field +0xE, copying string data. 0x00AE4C00 157 CTownInfoMgr__remove_npc_by_gid game_map Removes an NPC by GID (field +3) from the 0x80-byte linked list. Calls virtual method on game actor to notify (param 0), then unlinks and destroys the node. Calls FUN_00a96730 to notify UI. Returns 1 if removed, 0 if not found. 0x00AE4CA0 139 CTownInfoMgr__remove_npc_by_name game_map Removes an NPC by name string from the 0x80-byte linked list. Compares string at offset +4 in each node. Calls unlink_and_destroy_npc_node and FUN_00a96730 to notify. Returns 1 if removed, 0 if not found. 0x00AE4D30 542 CTownInfoMgr__set_map_name_for_id game_map Sets the map name string for NPCs and warps matching a given map ID. If param_2 matches current map at +0xD0, updates the main string. Also updates matching NPC nodes in the 0x80 list and warp nodes in the 0x54 list if their name strings match. Calls FUN_00a91400 to refresh UI. 0x00AE4F50 117 CTownInfoMgr__update_npc_position_and_visibility game_map Updates NPC position (x,y,dir as shorts at offsets +0xD, +0xA, +0xB) and visibility flag (offset +0x1E) for the NPC matching param_4 GID. Then recounts visible NPCs and stores at +0x68. Calls FUN_00a96730 to notify UI. 0x00AE4FD0 92 CTownInfoMgr__set_npc_visibility_by_id game_map Sets the visibility flag (offset +0x1E) for an NPC by its ID (field +2). Then recounts visible NPCs and stores at +0x68. Calls FUN_00a96730 to notify UI. 0x00AE5030 33 CTownInfoMgr__set_current_map_id game_map Sets the current map ID at offset +0xD0. Also sets flag at +0xB4 to 1 if param_2 equals the global DAT_01733c40, otherwise 0. 0x00AE5060 42 CTownInfoMgr__recount_visible_npcs game_map Recounts visible NPCs by iterating the 0x80-byte NPC list and counting nodes where field +0x1E is non-zero. Stores result at offset +0x68. 0x00AE5090 173 CTownInfoMgr__update_service_node game_map Updates a service node in the 0x38-byte linked list at +0xD4. Finds node by matching field +3 with param_3, then updates fields: +2 (type), +3 (id), string at +4, and scalars at +10/+11/+12/+13. 0x00AE5140 152 CTownInfoMgr__unlink_and_destroy_npc_node game_map Unlinks an NPC node from the doubly-linked list and destroys it. Saves the next pointer, updates prev/next links, decrements the list count at +4, destructs 3 STL strings, frees the 0x80-byte node, and returns the saved next pointer via param_2. 0x00AE51E0 435 vector_0xc__insert_realloc stl STL vector insert with reallocation for 0xc-byte elements. Grows capacity by 1.5x, moves elements around insertion point, constructs the new element. Frees old buffer. 0x00AE53C0 162 vector_0xc__move_range stl Moves a range of 0xc-byte (3 dword) elements from [param_1, param_2) to param_3 by copying fields and zeroing originals. Used during vector reallocation. 0x00AE54B0 248 CTownInfoMgr__copy_tips_vector game_map Copies the tips vector from the manager into param_2. Calls load_guild_tips if data not yet loaded (flag at offset 0). Allocates new vector and copy-constructs each 0xc-byte element. 0x00AE55B0 1201 CTownInfoMgr__load_guild_tips game_map Loads guild tip strings from GuildTip.txt. Tries filesystem (GRF) first via CFileStream, falls back to fopen. Parses lines split by '#' (section separator) and '\\n' (line separator) into a vector of vector of strings. Sets loaded flag at offset 0. 0x00AE5A70 36 vector_0xc__destruct_range stl vector_0xc: destruct range 0x00AE5AA0 174 vector_0xc__clear_and_free stl Clears a vector of 0xc-byte elements. Destructs each element, then frees the backing memory with aligned deallocation. Zeroes the vector pointers. 0x00AE5B60 10 thunk_to_std__Xlength_error_00ae5b60 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00AE5B70 95 alloc_0xc_array game_core Allocates an aligned array for 0xc-byte elements. Multiplies count by 12, handles aligned allocation for blocks >= 0x1000 bytes. Throws bad_array_new_length if count >= 0x15555556. 0x00AE5BD0 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AE5C10 438 STL_vector_4byte_insert_realloc_00ae5c10 stl STL vector insert with reallocation for 4-byte (int/pointer) elements. Grows capacity by 1.5x, copies elements around insertion point, frees old buffer. Updates vector begin/end/capacity pointers. 0x00AE5DD0 82 vector_int__ctor stl Default constructor for a vector of ints. Zeroes begin, end, and capacity pointers. 0x00AE5E30 26 CTownInfoMgr__get_lowercase_value game_map Calls str_to_lowercase_inplace on param_2, stores the result in param_1, and returns param_1. Used to get a lowercase-converted value from the manager. 0x00AE5E50 129 vector_int__clear_and_free stl Clears and frees a vector of 4-byte (int/pointer) elements. Handles aligned deallocation for large buffers (>= 0x1000). Zeroes vector pointers. 0x00AE5EE0 65 vector_int__dtor stl Destructor for vector of ints. Calls vector_int__clear_and_free to release memory. 0x00AE5F30 275 CTownInfoMgr__autocomplete_search game_map Autocomplete search entry point. If keywords don't fully match (search_keywords_match returns false), performs full string search via perform_string_search and updates the search text. Always returns 1. 0x00AE6050 3158 CTownInfoMgr__perform_string_search game_map Performs navigation/minimap string search. Lowercases input, looks for substrings matching global patterns (DAT_0134ac4c/64). Converts between multibyte and wide-char to do substring matching. Updates the search input string with corrected/autocompleted text. Large function handling Korean/multibyte character search with CharNextExA. 0x00AE6CB0 101 CTownInfoMgr__add_trimmed_keyword game_map Trims whitespace from param_2, lowercases it via str_to_lowercase_inplace, then pushes the pointer into the vector at offset +4. Used to add search keywords. 0x00AE6D20 20 CTownInfoMgr__is_search_incomplete game_map Returns true if search_keywords_match returns false (i.e., the current search is incomplete/not matching). Negation wrapper. 0x00AE6D40 485 CTownInfoMgr__search_keywords_match game_map Checks if all search keywords match the input string. Lowercases the input, then for each keyword in the vector, checks via strncmp if the keyword matches at the current position. Advances through the string using CharNextExA for multibyte support. Returns 1 if all keywords matched, 0 if not. 0x00AE6F30 303 CTownInfoMgr__load_keywords_from_file game_map Loads search keywords from a text file. Uses CSVParser__load_text_file_lines to read file, trims whitespace from each line, lowercases it, and adds non-empty lines as keyword pointers to the vector at offset +4. 0x00AE7060 107 str_to_lowercase_inplace game_core Converts a string to lowercase in-place. Uses isupper + manual offset for ASCII, CharNextExA for multibyte character advancement (codepage from DAT_016d3a78). Returns the input pointer. 0x00AE70D0 36 copy_dword_range game_core Copy dword range, small utility function 0x00AE7100 36 copy_dword_range_with_offset game_core Copies a range of dwords from [param_1, param_2) to param_3 using offset-based addressing. Forward copy loop. 0x00AE7130 10 thunk_to_std__Xlength_error_00ae7130 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00AE7140 368 STL_wstring_append stl STL wstring append. Appends param_3 wide characters from param_2. If capacity is sufficient, copies in-place. Otherwise allocates new buffer (1.5x growth), copies old data + new data, frees old buffer. 0x00AE72C0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AE7300 152 STL_wstring_substr stl STL wstring substr. Extracts substring starting at param_3 with length param_4 into param_2. Throws out_of_range if start exceeds string length. 0x00AE73A0 170 TownNpcInfo__ctor game_core Constructor for TownNpcInfo struct (0x48 bytes). Initializes STL string at offset 0, fields at offsets +6 through +0x11. Sets default values: enabled flag at +0x24=1, ID at +0x3C=-1. 0x00AE7450 178 TownWarpInfo__ctor game_core Constructor for TownWarpInfo struct (0x4C bytes). Initializes 4 scalar fields, STL string at offset +3, enabled flag at +0x24=1, and multiple zero fields. 0x00AE7510 65 TownNpcInfo__dtor game_core Destructor for TownNpcInfo. Destructs the STL string member. 0x00AE7560 87 TownWarpInfo__dtor game_core Destructor for TownWarpInfo. Frees the 16-byte vector buffer and destructs the STL string member. 0x00AE75C0 157 CTownInfoMgr__copy_npc_to_output game_map Copies NPC info from internal format to output struct. Copies string via STL_lib_func_004fa8f0, copies scalar fields including type (+7), ID (+6/+8), and sets enabled flag at +0x17. 0x00AE7660 173 CTownInfoMgr__copy_warp_to_output game_map Copies warp portal info from internal format to output struct. Copies scalars, string via STL, converts float to short for coordinates. Sets enabled flag at +0x17. 0x00AE7710 72 CTownInfoMgr__get_tip_at_index game_map Returns pointer to tip entry at given index. Loads tips from file if not yet loaded (flag at offset 0). Bounds-checks against vector size, returns first entry if out of range. 0x00AE7760 1197 CTownInfoMgr__load_tip_of_the_day game_map Loads tip-of-the-day strings from tipOfTheday.txt (or localized variants). Tries GRF filesystem via CFileStream first, falls back to fopen. Parses lines split by '#' (section separator) and newlines into a vector of vector of strings (0xc-byte elements of 0x18-byte string vectors). 0x00AE7C30 226 precision_sleep_microseconds game_core Precision sleep using QueryPerformanceCounter. Accumulates microseconds, sleeps when > 1000us accumulated. Measures actual sleep time and compensates for drift. Uses global frequency (DAT_0134b4d0) and state (DAT_016d5678/567c/5680). 0x00AE7D30 88 CBinkPlayer__handle_key_input sound Handles keyboard input during Bink video playback. Key 0x67 ('g') seeks to frame 1500 and sets flag. Key 0x52 ('R') sets result=0. Any other key stops playback. Returns 0 if playing, 1 if not active. 0x00AE7D90 29 CBinkPlayer__close_handle_only sound Closes only the Bink video handle via _BinkClose_4 and zeroes the handle pointer. Does not close the CFileStream wrapper (unlike CBinkPlayer__close). Returns 1. 0x00AE7DE0 560 CBinkPlayer__play_opening_video sound Plays the opening Bink video (openning.bik). Reads BINKMODE from registry, opens video with DirectSound, runs message pump loop with precision sleep timing. On completion or WM_QUIT, closes video and writes BINKMODE back to registry. 0x00AE8010 18 CBinkPlayer__pause sound Pauses or unpauses Bink video playback via _BinkPause_8. 0x00AE8030 99 CBinkPlayer__read_binkmode_from_registry sound Reads BINKMODE registry value from HKLM into member at offset +0xC. Uses REG_DWORD (type 4). Returns 1. 0x00AE80A0 101 CBinkPlayer__write_binkmode_to_registry sound Writes BINKMODE registry value to HKLM from member at offset +0xC. Creates key if needed. Uses REG_DWORD. Returns 1. 0x00AE8110 110 make_time32_from_components game_core Converts date/time components (year, month, day, hour, min, sec, DST flag) to __time32_t via _mktime32. Adjusts year by -1900 and month by -1 for tm struct format. 0x00AE8180 14 trivial_assign_dword game_core Trivial thiscall setter: assigns param_2 to *this and returns this pointer. 0x00AE8190 9 ret_zero_00ae8190 crt Sets param to zero and returns it; initializes/clears a pointer 0x00AE81A0 3 null_stub_00ae81a0 crt Empty function stub with no operation, just returns immediately 0x00AE81B0 145 CTime__decompose_to_shorts game_core Decomposes a time32_t into an array of 8 shorts: [year, month, day, hour, minute, second, 0, 0]. Adds 1900 to year, adds 1 to month for 1-based format. 0x00AE8250 48 CTime__add_offset game_core Adds an offset to the stored time. param_2=days, param_3=hours, param_4=minutes. Converts to local time, adds offsets, then recomputes via mktime32. 0x00AE8280 42 CTime__is_before game_core Returns true if this time is before param_2 (difftime < 0). 0x00AE82B0 54 CTime__is_in_past game_core Returns true if this time is in the past (before current system time). 0x00AE82F0 14 CTime__get_day game_core Returns the day of month (tm_mday) from the stored time. 0x00AE8300 14 CTime__get_hour game_core Returns the hour (tm_hour, 0-23) from the stored time. 0x00AE8310 14 CTime__get_minute game_core Returns the minute (tm_min, 0-59) from the stored time. 0x00AE8320 15 CTime__get_month game_core Returns the month (1-12) from the stored time. Adds 1 to tm_mon (which is 0-11). 0x00AE8330 27 CTime__set_to_current_time game_core Sets the stored time to the current system time via _time32. 0x00AE8350 13 CTime__get_second game_core Returns the second (tm_sec, 0-59) from the stored time. 0x00AE8360 68 CTime__get_year_month_day_hour game_core Decomposes time into 4 separate short pointers: year (+1900), month (+1), day, hour. 0x00AE83B0 19 CTime__get_year game_core Returns the year (tm_year + 1900) from the stored time. 0x00AE83D0 114 CTime__set_from_date_and_hour game_core Sets time from year/month/day/hour short components. Zeroes seconds and minutes. Adjusts year by -1900 and month by -1 for tm struct format. DST set to 0. 0x00AE8450 12 CTime__set_raw game_core Sets the raw time32_t value directly from param_2. 0x00AE8460 21 CDesCipher__generate_subkeys security Generates DES subkeys by calling FUN_00ae92f0 with the key. Returns the this pointer. 0x00AE8490 3 null_stub_00ae8490 crt Empty function body, returns immediately 0x00AE84A0 686 CDesCipher__encrypt_buffer security Encrypts a buffer using DES with byte-level obfuscation. Processes 8-byte blocks. First 20 blocks always encrypted; after that, encrypts every param_6-th block. Non-encrypted blocks get byte shuffling with a substitution table (switch on specific byte values). Stores output size in param_5. 0x00AE8870 569 CDesCipher__encrypt_single_pass security Single-pass DES encryption on a buffer. Copies input to output, then processes 8-byte blocks through the DES Feistel network using subkeys from offset +0x78. Uses expansion (DAT_01159fc0), S-boxes (DAT_0115a010), and P-box (DAT_01159ff0) permutations. Max 20 iterations. 0x00AE8AB0 511 CDesCipher__decrypt_buffer security Decrypts a buffer using DES with byte-level deobfuscation. Inverse of encrypt_buffer. Processes 8-byte blocks, first 20 always decrypted, then every param_6-th. Non-decrypted blocks get reverse byte shuffling. Computes padded output size in param_5. 0x00AE8E70 420 des_encrypt_block game_core DES block encryption. Performs initial permutation (FUN_00ae9260), then param_1 rounds of the Feistel network using subkeys from param_2 (in reverse order: 0xF-i). Each round: expansion, XOR with subkey, S-box substitution, P-box permutation. Final swap and inverse permutation (FUN_00ae91d0). 0x00AE9020 419 des_decrypt_block game_core DES block decryption. Same as encrypt but uses subkeys in forward order (i instead of 0xF-i). Performs initial permutation, Feistel rounds, final swap and inverse permutation. 0x00AE91D0 138 des_inverse_initial_permutation game_core DES inverse initial permutation (IP^-1). Applies the 64-bit IP^-1 table (DAT_01159f08) to the 8-byte block in param_1. Bit-level permutation. 0x00AE9260 138 des_initial_permutation game_core DES initial permutation (IP). Applies the 64-bit IP table (DAT_01159ec8) to the 8-byte block in param_1. Bit-level permutation. 0x00AE92F0 575 des_key_schedule game_core DES key schedule. Takes 8-byte key from param_2, applies PC-1 permutation (DAT_01159f58/f74), then generates 16 round subkeys by rotating left halves and applying PC-2 (DAT_01159f90). Stores 16x8-byte subkeys starting at param_1. 0x00AE9530 67 free_0x10_member stl Frees a 0x10-byte buffer at offset +4 if non-null. 0x00AE9580 78 free_0x10_member_with_seh stl Frees a 0x10-byte buffer at offset +4 if non-null. Wrapped in SEH frame. 0x00AE95D0 103 destroy_0x10_linked_list game_core Destroys a linked list of 0x10-byte nodes. Zeroes the count, then walks the list freeing each node. Finally frees the sentinel node. 0x00AE9640 151 vector_0x120__clear_and_free stl Clears and frees a vector of 0x120-byte elements. Handles aligned deallocation for large buffers. Zeroes vector pointers. 0x00AE96E0 225 CTimerMgr__destroy_all_timers game_core Destroys all timers in the manager. First iterates the 0x10-byte linked list calling virtual destructors on objects at offsets +2 and +3. Then destroys and frees all list nodes, resets sentinel. Finally destroys a second list the same way. 0x00AE97D0 119 CTimerMgr__dtor game_core CTimerMgr destructor. Sets vtable, deletes critical section at offset +0xF, destroys internal collections, frees the 0x120-byte vector. 0x00AE9850 100 CSomeMgr__base_dtor game_core Base destructor for a manager class. Sets vtable to PTR_FUN_0115a214, calls FUN_00aeca50 for cleanup, calls STL_lib_func_004f9590, then sets vtable to base class scalar_deleting_destructor. 0x00AE98C0 143 CTimerMgr__scalar_deleting_dtor game_core CTimerMgr scalar deleting destructor. Destroys critical section, internal collections, frees 0x120 vector. If param_2 & 1, also frees the 0x148-byte object itself. 0x00AE9950 121 CSomeMgr__scalar_deleting_dtor game_core Scalar deleting destructor for 0x40-byte manager class. Calls FUN_00aeca50 cleanup, sets base vtable. If param_2 & 1, frees the 0x40-byte object. 0x00AE99D0 543 CGrfMgr__create_and_add_entry file Creates a new GRF entry pair (0x148-byte timer manager + 0x40-byte sub-manager), links them into the 0x10-byte linked list at param_1. Initializes critical section, vtables. Calls FUN_00aebdb0 to process the new entry. Throws list_too_long if at max. 0x00AE9BF0 43 CGrfMgr__load_file file Loads a file, first trying disk (load_file_from_disk), then GRF archive (load_file_from_grf) if disk fails. 0x00AE9EE0 241 load_file_from_disk game_core Loads a file from disk. Opens with CreateFileA, gets size via GetFileSizeEx, allocates with VirtualAlloc, reads with ReadFile. Checks file extension against a specific pattern. Returns allocated buffer or NULL on failure. 0x00AE9FE0 255 CGrfMgr__load_file_from_grf file Loads a file from a GRF archive. Iterates GRF entries in the linked list, calls FUN_00aeba30 to find the file. Allocates buffer via VirtualAlloc, extracts via FUN_00aeb710. Returns buffer or NULL. 0x00AEA0E0 163 CGrfMgr__file_exists file Checks if a file exists in GRF archives or on disk. If param_3==0, searches GRF entries first via FUN_00aeba30. Always checks disk via FindFirstFileA. Returns 1 if found, 0 if not. 0x00AEA190 84 file_exists_on_disk game_core Checks if a file exists on disk using FindFirstFileA. Returns 1 if found, 0 if not. 0x00AEA1F0 3 null_stub_00aea1f0 crt Empty function stub with no operation, just returns immediately 0x00AEA1F3 513 CGrfMgr__find_best_grf_data file Iterates all GRF entries, extracts file listing data from each, and keeps the best (largest) version in a byte vector. If found, applies the data to all GRF entries via FUN_00aec9f0. 0x00AEA400 23 virtual_free_buffer game_core Frees a VirtualAlloc'd buffer using VirtualFree with MEM_RELEASE. 0x00AEA430 288 CProcessHelper__init security Initializes the process helper. On NT-class systems, loads kernel32.dll and gets Toolhelp32 API addresses (CreateToolhelp32Snapshot, Module32First/Next, Process32First/Next). On older systems, loads psapi.dll for EnumProcessModules/GetModuleFileNameExA. Sets debug privilege if needed. 0x00AEA550 84 CProcessHelper__dtor security CProcessHelper destructor. Frees the loaded DLL (kernel32 or psapi) and revokes debug privilege if on older OS. 0x00AEA5C0 416 crypto_decrypt_with_md5_key game_core Decrypts data using Windows CryptoAPI with MD5 hash of key. Acquires context, creates MD5 hash (CALG_MD5=0x8003) from param_1/param_2, derives RC4 key (CALG_RC4=0x6801), decrypts param_3 into param_4. Throws on any API failure. 0x00AEA780 147 delete_hack_tool_files game_core Deletes known hack tool files: nconfig.ini, ffindhack.exe, gfindhack.exe, removenp.exe, cfindhack.exe. Checks access before unlinking. 0x00AEA820 193 set_debug_privilege game_core Enables or disables SeDebugPrivilege. Loads advapi32.dll, calls OpenProcessToken, LookupPrivilegeValue for SeDebugPrivilege, then AdjustTokenPrivileges. param_1: 1=enable, 0=disable. Returns true on success. 0x00AEA8F0 217 CProcessHelper__enum_processes security Enumerates processes using Toolhelp32 API (Process32First/Next). Takes a snapshot (TH32CS_SNAPPROCESS=8), iterates all processes calling param_3 callback for each with the process name and param_4 userdata. 0x00AEA9D0 509 CProcessHelper__enum_modules_for_pid security Enumerates modules for a specific PID. On Toolhelp32 systems, uses Module32First/Next. On PSAPI systems, uses EnumProcessModules + OpenProcess. Calls param_3 callback for each module handle with param_4 userdata. 0x00AEABD0 244 CProcessHelper__enum_modules_psapi security Enumerates modules for a PID using PSAPI (EnumProcessModules). Opens process with PROCESS_QUERY_INFORMATION\|PROCESS_VM_READ, dynamically grows buffer, calls param_3 callback for each module handle. 0x00AEACD0 95 load_dll_and_get_procs game_core Generic DLL loader helper. Loads param_2 DLL, then resolves param_3 function pointers from varargs (pairs of: output_ptr, proc_name). Returns 1 if all resolved, 0 and frees library on failure. 0x00AEAD30 220 CProcessHelper__find_module_by_id security Finds a specific module by ID in Toolhelp32 snapshot. Creates TH32CS_SNAPMODULE snapshot, iterates with Module32First/Next, copies module data to param_4 when field matches param_3. Returns 1 if found, 0 if not. 0x00AEAE10 575 get_global_process_helper game_core Gets the global process helper singleton. Thread-safe initialization (once-flag). Loads kernel32/psapi DLLs, resolves API functions, sets debug privilege. Registers atexit cleanup. Returns pointer to global function table or NULL on failure. 0x00AEB050 135 is_win9x_platform game_core Checks if running on Windows 9x (VER_PLATFORM_WIN32_WINDOWS = 1). Uses GetVersionExA. Returns true for Win95/98/ME, false for NT-class systems. 0x00AEB0E0 157 decrypt_and_execute_script game_core Decrypts encrypted data using crypto_decrypt_with_md5_key with a formatted key string, then feeds each decrypted byte to CInputMgr__handle_char_input. 0x00AEB220 268 CProcessHelper__init_no_privilege security Initializes the process helper without setting debug privilege. Same API loading logic as CProcessHelper__init but skips the privilege call. 0x00AEB3A0 325 resolve_short_path_to_long_name game_core Resolves a short 8.3 path to a long filename path. Handles UNC paths (\\\\server\\share), drive letters (C:), and relative paths. Uses FindFirstFileA to get the long filename for each path component. Returns param_2 on success, NULL on failure. 0x00AEB500 484 vector_0x120__resize_with_fill stl Resizes a vector of 0x120-byte elements. Allocates new buffer (1.5x growth), fills new elements via FUN_00aeca10, moves existing elements, frees old buffer. Max 0xe38e38 elements. 0x00AEB6F0 22 swap_nibbles game_core Swaps the high and low nibbles of a byte. (param_1 >> 4) \| (param_1 << 4). Used in GRF file processing. 0x00AEB710 798 CGrfEntry__extract_file file Extracts a file from a GRF archive entry. Reads compressed data from the GRF file, then based on file flags: (1) encrypted+compressed: uses PacketCrypto__decrypt_and_verify, (2) DES encrypted: derives key from filename, uses CDesCipher, (3) DES+cycle encrypted: similar but with digit-count-based cycle parameter. Decompresses if needed via zlib. Uses scoped lock for thread safety. 0x00AEBA30 167 CGrfEntry__find_file_record file Binary searches the GRF file table (vector of 0x120-byte records at offsets +0x24/+0x28) for a file by name. Uses FUN_00aecee0/00aece80 as comparison functions. Copies the 0x120-byte record to param_3 if found. Returns 1 if found, 0 if not. 0x00AEBAE0 280 CGrfEntry__read_file_table_data file Reads file table data from a GRF archive. Handles 3 GRF format versions (0x100, 0x200, 0x300) with different header layouts. Reads compressed data, resizes the byte vector, copies data, and optionally extracts version info. 0x00AEBC00 55 CGrfEntry__reset_state file Resets GRF entry state. Sets end pointer = begin pointer for file table, zeroes fields at offsets +8 through +0x20, resets byte vector end to begin. 0x00AEBC40 76 is_des_encrypted_extension game_core Checks if a filename has a DES-encrypted extension. Gets the extension via strrchr('.'), then compares case-insensitively against a list of known extensions (4 entries at DAT_0134b730). Returns 1 if matched. 0x00AEBC90 135 build_des_key_from_filename game_core Builds an 8-byte DES key from a filename. Extracts the basename (after last \\ or /). Sets byte 0 = 0x6E ('n'), byte 7 = 0x6B ('k'). Copies up to 6 bytes of filename into bytes 1-6, wrapping if shorter than 6. 0x00AEBD20 70 swap_nibbles_buffer_str game_core Swaps nibbles for each byte in a string. Processes strlen(param_2) bytes from param_2 into param_1. Each byte gets high/low nibble swap. 0x00AEBD70 53 swap_nibbles_buffer_len game_core Swaps nibbles for each byte in a buffer of known length. Processes param_3 bytes from offset param_2 into param_1. 0x00AEBDB0 667 CGrfEntry__parse_header_and_load file Parses GRF archive header and loads file table. Reads magic bytes (0x2E offset), validates against two known signatures (XOR-encrypted). Extracts file count, offsets. Dispatches to version-specific file table parsers (v1/v2/v3). Resets state on failure. 0x00AEC050 967 CGrfEntry__parse_v1_file_table file Parses GRF v1 (0x100) file table. Reads raw file entries with DES decryption and nibble swapping. Each entry has: compressed size, uncompressed size, flags, filename. Builds 0x120-byte records in the file table vector. Sorts after loading. 0x00AEC420 498 CGrfEntry__parse_v2_file_table file Parses GRF v2 (0x200) file table. Reads 8-byte header (compressed/uncompressed sizes), decompresses with zlib, then parses entries sequentially. Each entry: null-terminated name + 0x11 bytes of metadata. Sorts after loading. 0x00AEC620 509 CGrfEntry__parse_v3_file_table file Parses GRF v3 (0x300) file table. Reads 12-byte header (compressed size, uncompressed size, entry count), decompresses, parses entries with null-terminated names + 0x16 bytes metadata (extra 4 bytes vs v2). Sorts after loading. 0x00AEC820 451 CGrfEntry__read_raw_file_table file Reads the raw file table data from a GRF archive. Handles v2 and v3 format differences. Reads compressed data, decompresses with zlib, extracts version info. Returns version byte (masked to low byte) or 0xFF on failure. 0x00AEC9F0 27 thunk_PacketCrypto_init game_core Thunk to PacketCrypto__init_thunk_00659b60. Passes all 4 parameters through. 0x00AECA10 59 init_0x120_elements game_core Init 0x120 elements, small utility function 0x00AECA50 74 CMemMappedFile__close file Closes a memory-mapped file. UnmapViewOfFile if mapped, CloseHandle for mapping and file handles. Zeroes all handle pointers. 0x00AECAA0 103 CMemMappedFile__init file Initializes CMemMappedFile members. Gets system allocation granularity via GetSystemInfo, sets view size to 0x20000000 (512MB), computes alignment mask. Zeroes all file/mapping handles and state. 0x00AECB10 151 CMemMappedFile__open file Opens a file for memory-mapped reading. CreateFileA with read-only shared access, GetFileSizeEx, CreateFileMappingA with PAGE_READONLY. Returns 1 on success, 0 on failure. 0x00AECBB0 425 CMemMappedFile__read_at_offset file Reads data at a given file offset via memory-mapped view. Checks if offset falls within current mapped view; if not, unmaps and remaps. Aligns offset to allocation granularity. Falls back to ReadFile if mapping fails (halves view size on failure). Returns pointer into mapped view or read buffer. 0x00AECD60 128 vector_0x120__resize stl Resizes a vector of 0x120-byte elements. Shrinks by adjusting end pointer, grows by initializing new elements or calling resize_with_fill if beyond capacity. 0x00AECDE0 21 CGrfFileRecord__set_name file Sets the name of a GRF file record by calling FUN_00aecf90 with param_2. Returns this pointer. 0x00AECE00 17 CGrfFileRecord__set_empty_name file Sets the name of a GRF file record to an empty string (DAT_010d4ee8). Returns this pointer. 0x00AECE20 85 CGrfFileRecord__compare_names file Compares two GRF file record names byte-by-byte. First compares the initial dword, then does a byte-by-byte strcmp-like comparison. Returns 1 if equal, 0 if different. 0x00AECE80 85 CGrfFileRecord__compare_not_equal file Compares two GRF file records for inequality. First compares hash dwords, then does byte-by-byte name comparison. Returns non-zero if not equal (for use as binary search comparator with 'not less' semantics). 0x00AECEE0 83 CGrfFileRecord__compare_less_than file Less-than comparison for GRF file records. First compares hash dwords, then byte-by-byte name comparison. Returns 1 if this < param_2 (for binary search / sort). 0x00AECF40 78 CGrfFileRecord__compute_hash file Computes DJB2 hash (seed=0x1505, multiply by 33) of the file record name string. Stores hash in the first dword (offset 0) of the record. 0x00AECF90 101 CGrfFileRecord__set_name_and_hash file Sets the file record name from param_2. Copies string to offset +4, lowercases it via _strlwr, then computes and stores DJB2 hash at offset 0. 0x00AED000 45 CRegistry__create_key game_core Creates a registry key via RegCreateKeyExA with KEY_ALL_ACCESS. Returns true on success. 0x00AED030 32 CRegistry__open_key game_core Opens a registry key via RegOpenKeyExA with KEY_ALL_ACCESS. Returns true on success. 0x00AED050 55 CRegistry__query_value_check_type game_core Queries a registry value and checks if its type matches param_3. Returns true only if query succeeds AND type matches. 0x00AED090 44 CRegistry__query_value_size game_core Queries the size of a registry value without reading the data. Stores size in param_3. Returns 1 on success, 0 on failure. 0x00AED0C0 45 CRegistry__set_value game_core Sets a registry value via RegSetValueExA. Parameters: value name, type, data, size. Returns true on success. 0x00AED0F0 133 CTreeMap__scalar_deleting_dtor game_core Scalar deleting destructor for a tree map class (0x24 bytes). Sets vtable, destroys tree at offset +7, frees sentinel node. If param_2 & 1, frees the object itself. 0x00AED180 34 memcpy_range_to_dst_00aed180 stl Copies a byte range [param_1, param_2) to destination param_3 using memcpy. Returns pointer past last written byte in destination. 0x00AED1B0 238 std__tree_0x18__deep_copy_node stl Deep copies a tree node (0x18 bytes each). Allocates new node, copies key (offsets +4,+5), sets color/links. Recursively copies left (offset 0) and right (offset 2) children. Returns the copy of the leftmost leaf node. 0x00AED2C0 452 STL_vector_4byte_insert_realloc_00aed2c0 stl STL vector insert with reallocation for 4-byte elements. Grows capacity by 1.5x, copies elements around insertion point via memcpy, frees old buffer. Max 0x3FFFFFFF elements. 0x00AED490 118 std__tree_0x18__destroy_all_nodes stl Destroys all nodes in a tree (0x18-byte nodes). Walks the leftmost chain, recursively destroying right subtrees, freeing each 0x18-byte node. Finally frees the sentinel. 0x00AED510 103 std__tree_0x18__recursive_destroy_a stl Recursively destroys 0x18-byte tree nodes. Walks left chain (offset 0), recursively destroys right subtrees (offset 2), frees each node. 0x00AED580 103 std__tree_0x18__recursive_destroy_b stl Recursively destroys 0x18-byte tree nodes (variant B). Same structure as variant A - walks left, destroys right subtrees, frees nodes. 0x00AED5F0 103 std__tree_0x18__recursive_destroy_c stl Recursively destroys 0x18-byte tree nodes (variant C). Same structure - walks left, destroys right subtrees, frees nodes. 0x00AED660 86 std__tree_0x18__lower_bound stl Binary search tree lower_bound using CGrfFileRecord__compare_less_than. Traverses the tree, tracking the last node where key was not less. Returns iterator struct with {current, found_flag, bound_node}. 0x00AED6C0 114 std__tree_0x18__lower_bound_str stl Binary search tree lower_bound using direct string comparison. Compares node name at offset +4 with param_3 string byte-by-byte. Returns iterator struct with {current, found_flag, bound_node}. 0x00AED740 475 vector_8byte__resize_with_trees stl Resizes a vector of 8-byte elements (each containing a tree). Allocates new buffer (1.5x growth), initializes new elements, moves existing ones. Destroys old tree nodes before freeing old buffer. Max 0x1FFFFFFF elements. 0x00AED920 234 std__tree_0x18__copy_ctor stl Copy constructor for a tree with 0x18-byte nodes. Allocates sentinel node, deep copies all nodes from param_2's tree, then finds and sets min/max pointers. 0x00AEDA10 33 CTokenizer__ctor game_core CTokenizer constructor. Sets vtable, zeroes member at +1, sets empty name via CGrfFileRecord__set_name. 0x00AEDA40 415 CGrfEntry__ctor file CGrfEntry constructor. Allocates tree sentinel (0x18 bytes), allocates secondary tree sentinel (0x40 bytes), zeroes all state fields (file handles, sizes, offsets, vectors). Initializes critical section for thread safety. 0x00AEDBE0 67 free_0x18_sentinel_a stl Frees a 0x18-byte sentinel node at offset +4 if non-null. 0x00AEDC30 67 free_0x18_sentinel_b stl Frees a 0x18-byte sentinel node at offset +4 if non-null. Identical to free_0x18_sentinel_a. 0x00AEDC90 111 std__tree_0x18__destroy_all_and_sentinel stl Destroys all nodes in a 0x18-byte tree and frees the sentinel. Recursively destroys right subtrees using std__tree_0x18__recursive_destroy_b, walks left chain freeing nodes, finally frees sentinel. 0x00AEDD30 78 free_0x18_sentinel_with_seh_a stl Frees a 0x18-byte sentinel node at offset +4 if non-null. Wrapped in SEH frame (variant A). 0x00AEDD80 78 free_0x18_sentinel_with_seh_b stl Frees a 0x18-byte sentinel node at offset +4 if non-null. Wrapped in SEH frame (variant B). 0x00AEDDD0 78 free_0x18_sentinel_with_seh_c stl Frees a 0x18-byte sentinel node at offset +4 if non-null. Wrapped in SEH frame (variant C). 0x00AEDE20 78 free_0x18_sentinel_with_seh_d stl Frees a 0x18-byte sentinel node at offset +4 if non-null. Wrapped in SEH frame (variant D). 0x00AEDE70 91 STL_vector_of_trees__destroy_all stl Destroys all tree structures in a vector. Iterates from begin to end (stride=8), calling std__tree_0x18__destroy_all_nodes on each element. 0x00AEDED0 65 std__tree_0x18__destroy_wrapper stl Wrapper to destroy a std::tree with 0x18-byte nodes including the sentinel node. 0x00AEDF20 129 STL_vector_int_deallocate_00aedf20 stl Deallocates an STL vector<int> buffer (duplicate instance). Same as STL_vector_int_deallocate. 0x00AEDFB0 178 STL_vector_of_trees__destroy_all_and_free stl Destroys all tree structures in a vector and frees the vector buffer. Iterates elements (stride=8), destroys each tree's nodes, then deallocates the underlying buffer with aligned-free support. 0x00AEE070 381 CResourceMgr__dtor file Destructor for CResourceMgr. For each GRF tree: iterates all entries calling their cleanup method (+0x18) and deleting objects (+0x0), then clears the tree. Deletes the CriticalSection, frees vectors of trees, the name map at 0x44, additional vectors, and the root tree. 0x00AEE1F0 64 CScopedCriticalSection__dtor game_core Destructor for CScopedCriticalSection (RAII lock guard). Sets vtable and calls LeaveCriticalSection on the stored LPCRITICAL_SECTION at field[1]. 0x00AEE240 108 CTreeMap__dtor game_core Destructor for CTreeMap. Sets vtable, recursively destroys all nodes in the tree at field+7 via stub_005edbd0, then frees the 0x28-byte sentinel node. 0x00AEE2B0 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00AEE310 580 CResourceMgr__report_load_failure file Reports a resource file loading failure. Checks if the file has a non-.xxx extension, then enters critical section, checks if the path is already in the failure tree (case-insensitive compare). If new failure, inserts a new 0x28-byte tree node with the path. Dispatches three chat messages: 'Resource File Loading fail', the resource key, and the file path. Limit of 0x6666666 entries. 0x00AEE560 89 CScopedCriticalSection__scalar_deleting_dtor game_core Scalar deleting destructor for CScopedCriticalSection. Sets vtable, calls LeaveCriticalSection, optionally frees the 8-byte object if flag bit 0 is set. 0x00AEE5C0 31 get_file_extension game_core Returns a pointer to the file extension (after the dot) from a filename string. Uses strrchr to find the last '.'. Returns extension+1 if found, 0 if no dot present. 0x00AEE5E0 196 CResourceMgr__lookup_resource_by_name file Looks up a resource by name string in the tree at field[0]. Uses std::tree lower_bound with string comparison. Returns the resource value at node+0x14 if found, or 0xffffffff with an error sprintf if not found (ResourceError: %s is Undefined). 0x00AEE6B0 182 CResourceMgr__find_in_grf_by_index file Finds a resource in a specific GRF file by index. Sets up the GRF file record name, performs tree lower_bound search in the GRF tree at vector[param_2]. Returns the resource value at node+0x14 if found, 0 if not found. 0x00AEE770 1350 CResourceMgr__load_resource_by_path file Loads a resource by raw path string (int param). Enters critical section, normalizes path to lowercase, looks up resource type by extension. If found in GRF tree cache, updates access time and returns. Otherwise loads from GRF file, sets name/hash/type/access time, inserts into tree. On load failure, checks for map path and reports error. 0x00AEECC0 1724 CResourceMgr__load_resource_by_string file Loads a resource by STL string path. Same logic as load_resource_by_path but accepts std::string. Enters critical section, normalizes, looks up type, checks cache, loads from GRF, inserts into tree, reports failures. 0x00AEF390 4 get_field_offset_0x14_00aef390 game_items Returns input parameter plus 0x14 offset, likely pointer arithmetic 0x00AEF3A0 341 CResourceMgr__get_path_without_extension file Extracts the path without the file extension. Appends '.xxx' suffix, calls resolve_alias_path, then finds '.xxx' via strstr and returns the substring before it. 0x00AEF500 714 CResourceMgr__resolve_alias_path file Resolves an alias path by looking up in the alias map at offset 0x44. If the path is found, returns the mapped alternative path. If not found, tries stripping '@xxx' version suffixes (searching backwards for '@' then removing 3 chars) and looking up again. Returns the resolved path string. 0x00AEF7D0 364 CResourceMgr__resource_exists_by_cstr file Checks if a resource exists by C string path. Normalizes to lowercase, looks up resource type, builds full path, checks GRF tree cache (updating access time if found). Falls back to CFileSystem__file_exists_check for disk files. Returns 1 if exists, 0 otherwise. 0x00AEF940 400 CResourceMgr__resource_exists_by_string file Checks if a resource exists by STL string path. Same logic as resource_exists_by_cstr but accepts std::string parameter. Normalizes, checks GRF cache, falls back to filesystem check. 0x00AEFAD0 8 increment_field_offset_0x4_00aefad0 game_core Increments a 32-bit integer field at offset +4 from param_1 0x00AEFAE0 528 CResourceMgr__build_full_path file Builds a full resource path by combining a filename (param_2) with a base path prefix (param_3). If the filename already starts with the prefix (strncmp match), returns the filename as-is. Otherwise concatenates prefix + filename via STL string concatenation. 0x00AEFCF0 73 show_resource_not_found_error game_core Shows a 'ResourceError: Can't find file' error message box with the given filename via lua_util_sprintf and show_error_messagebox. 0x00AEFD40 99 show_resource_not_found_error_safe game_core Safe version of show_resource_not_found_error. Uses memset+stub_00602b00 for buffer initialization instead of lua_util_sprintf. Shows same 'ResourceError: Can't find file' message. 0x00AEFDB0 35 CResourceMgr__flush_pending_resources file Flushes pending resource objects. Iterates the pending list between offsets 0x90 and 0x94, calling each resource's virtual method at vtable+8 (likely a finalize/commit operation). 0x00AEFDE0 111 CResourceMgr__dump_resource_names_to_file file Opens a file and writes all resource names from the tree containers. Iterates through the vector of trees at offset 0x20, walking each tree's nodes and printing the string at node+0x14 using fprintf. 0x00AEFE50 1626 CResourceMgr__load_res_name_table file Loads ResNameTable.txt, reads the entire file into memory, parses line-by-line. Lines starting with '#' separate key/value pairs which are inserted into the resource tree (offset 0x44). Uses CFileStream to open/read/close the file. 0x00AF04B0 456 CResourceMgr__add_resource_entry file Adds a resource entry to the manager. Looks up the name in the tree using lower_bound; if not found, allocates a 0x18-byte node and inserts it. Then appends param_4 and param_3 to vectors at offsets 0x18 and 0x0C respectively. Adjusts the tree vector at offset 0x20 to match the new size. 0x00AF0680 198 CResourceMgr__release_all_unused_resources file Releases all unused resources. Resets the active list pointer (offset 0x94 = 0x90), then iterates all resource trees at offset 0x20. For each tree node, calls the release vtable method at vtable+0x18, then destructs the resource object via vtable[0]. Finally destroys and reinitializes each tree. 0x00AF0750 44 string_tolower_inplace game_core Converts a null-terminated string to lowercase in-place using a lookup table at PTR_DAT_0134b750 (likely tolower table). Returns the original string pointer. 0x00AF0780 182 CResourceMgr__remove_resource_by_name file Removes a resource from the manager by name. Searches the active list (offset 0x90-0x94) for the resource, removes it from the active list via memcpy. Then looks up the resource in the appropriate tree (using field at offset 0x0C of the resource), calls its release method (vtable+0x18), destructs it, and erases the node from the tree. 0x00AF0840 198 CResourceMgr__release_all_unused_resources_00af0840 file Identical to CResourceMgr__release_all_unused_resources at 00af0680. Releases all unused resources by resetting active list, iterating all trees, calling release+destruct on each node, then reinitializing each tree. Likely a duplicate or variant for a different call context. 0x00AF0910 254 CResourceMgr__expire_timed_out_resources file Expires resources that have timed out. Gets current time via timeGetTime(), compares elapsed time against each resource's timeout. Resources with refcount==0 (field+4) and elapsed time > threshold (field+8) are removed from the active list, released via vtable, destructed, and erased from the tree. 0x00AF0A10 206 CResourceMgr__release_resources_by_type file Releases all unused resources of a specific type. Calls CResourceMgr__lookup_resource_by_name to get the type index, then iterates that type's tree. Resources with refcount==0 (field+4) are removed from the active list, released via vtable, destructed, and erased from the tree. 0x00AF0AE0 246 CResourceMgr__release_all_unreferenced file Releases all unreferenced resources regardless of timeout. Similar to expire_timed_out but does NOT check elapsed time, only checks refcount==0 (field+4). Calls timeGetTime() but doesn't use the result for filtering. Iterates all trees and removes/destructs unreferenced resources. 0x00AF0BE0 21 CResource__release_ref game_core Decrements the reference count (offset+4) and updates the last-access timestamp (offset+8) with timeGetTime(). Called when a resource is no longer being used by a consumer. 0x00AF0C00 37 CResource__init game_core Initializes a resource entry. Sets the name/hash via CGrfFileRecord__set_name_and_hash, stores the resource type at offset 0x0C, and records the creation timestamp at offset 0x08 via timeGetTime(). 0x00AF0C30 14 CResource__touch_timestamp game_core Updates the resource's last-access timestamp (offset+8) to the current time via timeGetTime(). Used to keep a resource alive in the cache. 0x00AF0C40 93 std__tree_0x18__destroy_range stl Destroys a range of tree containers from param_1 to param_2. Each element is 8 bytes (tree root + count). Calls std__tree_0x18__destroy_all_nodes on each tree in the range. 0x00AF0CA0 704 std__tree_0x18__erase_node stl Red-black tree node erasure with rebalancing. Removes param_2 from the tree rooted at param_1. Handles the standard RB-tree cases: node with two children (swap with successor), node with one child, and leaf. Performs rotations and color fixes to maintain RB-tree invariants. Decrements tree size. Returns the erased node pointer. 0x00AF0F60 1 stub_nop_00af0f60 game_core Single-byte stub function (size=1) 0x00AF0F70 3 identity_passthrough_00af0f70 crt Identity function that returns its parameter unchanged 0x00AF0F80 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AF1190 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00AF13A0 84 std__tree_0x18__rotate_left stl Red-black tree left rotation. Rotates the subtree rooted at param_2 to the left. The right child of param_2 becomes the new root of the subtree. Updates parent/child pointers including the tree root if necessary. 0x00AF1400 88 std__tree_0x18__rotate_right stl Red-black tree right rotation. Rotates the subtree rooted at param_2 to the right. The left child of param_2 becomes the new root of the subtree. Updates parent/child pointers including the tree root if necessary. 0x00AF1460 153 std__tree_0x18__init_n_empty_trees stl Initializes N empty 0x18-byte tree sentinel nodes. For each tree, allocates a 0x18-byte header node, sets left/right/parent to self (empty tree sentinel), and sets color flags to 0x0101. Returns pointer past the last initialized pair. 0x00AF1500 120 std__tree_0x18__copy_range stl Copy-constructs a range of 8-byte tree objects from param_1 to param_2. Iterates 8 bytes at a time, calling std__tree_0x18__copy_ctor for each element. 0x00AF1580 10 thunk_to_std__Xlength_error_00af1580 stl Calls std::_Xlength_error with vector_too_long error message 0x00AF1590 10 thunk_to_std__Xlength_error_00af1590 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x00AF15A0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AF15E0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AF1620 587 CResourceMgr__get_instance file Singleton accessor for the global CResourceMgr instance at DAT_016d56c8. On first call, allocates and initializes the entire resource manager structure: tree sentinel, vectors for resource types/names/active list, and a CriticalSection for thread safety. Registers an atexit cleanup handler. Returns pointer to the singleton. 0x00AF1870 39 STL_vector_push_back_4byte stl Pushes a 4-byte value onto a vector. If capacity is available, copies the value directly and increments the end pointer. Otherwise calls the reallocation path. 0x00AF18A0 14 trivial_assign_4byte game_core Trivial 4-byte assignment: *param_1 = param_2. Returns param_1. Likely a compiler-generated copy helper. 0x00AF18B0 288 regex__match_chars_with_collation game_core Regex character matching with locale collation support. Compares characters from two ranges [param_1,param_2) and [param_3,param_4), converting each character via STL collation (STL_lib_func_00505660) before comparing. Returns updated position in the first range if match succeeds, or the original param_1 on mismatch. 0x00AF19D0 71 regex__match_chars_exact game_core regex: match chars exact 0x00AF1A20 125 regex__match_chars_icase game_core regex: match chars icase 0x00AF1AA0 440 regex__match_chars_with_flags game_core Generic regex character matching dispatcher based on flags (param_6). Flag 0x100: case-insensitive match via tolower. Flag 0x800: collation-based match via STL_lib_func_00505660. Default: exact byte comparison. Compares ranges [param_1,param_2) against [param_3,param_4). 0x00AF1C60 34 memcpy_range_00af1c60 stl Copies a range [param_1, param_2) to destination param_3 via memcpy. Returns pointer past the end of the copied data in the destination buffer. 0x00AF1C90 279 vector_8byte__emplace_with_realloc stl Inserts an 8-byte element pair into a vector at position param_2, reallocating if needed. Uses 1.5x growth factor. Copies/moves existing elements around the insertion point. Calls FID_conflict__Change_array to finalize the reallocation. 0x00AF1DD0 574 regex__format_ecma_replacement game_core ECMAScript-style regex replacement formatter. Processes replacement string [param_4,param_5) with $-escapes: $$ = literal $, $` = prefix, $' = suffix, $& = full match, $N/$NN = capture group N. Outputs characters via STL_lib_func_00502be0. Stores result iterator in param_1. 0x00AF2010 288 regex__format_sed_replacement game_core sed-style regex replacement formatter. Processes replacement string [param_4,param_5) with: & = full match, \\N = capture group N, \\ followed by non-digit = literal character. Outputs via STL_lib_func_00502be0. 0x00AF2130 79 regex__throw_error game_core Throws a regex error. Sets up an error code via trivial_assign_4byte, then chains through several identity/passthrough functions before triggering a software interrupt (int 3 / swi(3)). Used as an error reporting path in regex operations. 0x00AF2180 127 thread_proc__close_window_by_title game_core Thread procedure that closes a window by its title. Calls FUN_00af3150, then finds a window by title via FindWindowA (using param_1[1] as the window name) and sends WM_CLOSE (0x10) via SendMessageA. Calls _Cnd_do_broadcast_at_thread_exit and frees the 8-byte parameter block. 0x00AF2200 102 regex__skip_charset_match game_core regex: skip charset match 0x00AF2270 411 regex__execute_match game_core Executes a regex match against the input. Sets up match state including capture group storage, iteration limits (10M max, 1K complexity), and flags. Calls regex_match_node to perform the actual NFA/DFA matching. If param_2 (match results) is provided, populates capture groups with matched ranges and flags. Returns 1 on match, 0 on no match. 0x00AF2410 849 regex__replace_all game_core Regex replace operation (global). Repeatedly matches the regex against the input and applies the replacement format string. Supports both ECMAScript ($-escapes) and sed (\\-escapes, &) replacement formats based on flags. Flag 0x800 controls whether non-matched portions are copied. Flag 0x400 selects sed format. Flag 0x1000 = first match only. Handles zero-length matches by advancing one character. 0x00AF2770 456 regex__search_impl game_core Core regex search implementation. Sets up the NFA state machine from the compiled regex (param_4) and attempts to match starting from param_1 to param_2. If no match at the start position, uses regex_skip_to_match to find possible match positions and retries. Populates match result in param_3. Returns 1 on success, 0 on failure. 0x00AF2940 287 STL_vector_8byte__resize_grow stl Resizes an 8-byte element vector to param_2 elements, growing with 1.5x factor. Allocates new aligned buffer, zero-fills new elements, copies existing data via memcpy, frees old buffer. Max 0x1FFFFFFF elements. 0x00AF2A90 457 STL_vector_12byte__resize_grow stl Resizes a 12-byte element vector (likely std::vector) to param_2 elements, growing with 1.5x factor. Allocates aligned buffer (32-byte alignment for >=0x1000), default-constructs new elements, moves existing data, frees old buffer. Max 0x15555555 elements. 0x00AF2C60 148 chrono__get_time_with_duration game_core Gets high-resolution time and adds a duration. Queries the high-res timer in nanoseconds, then adds the duration from param_2 (seconds * 1e9). Clamps to INT64_MAX on overflow. Returns the result time in param_1 as a 64-bit value. 0x00AF2D00 183 chrono__steady_clock_to_timespec game_core Converts a steady_clock time point to a timespec structure. Gets current ticks via _Xtime_get_ticks, multiplies by 100, adds the duration from param_2. Divides by 1e9 to get seconds, remainder is nanoseconds. Handles overflow by clamping. Returns whether the time was in the future. 0x00AF2DC0 93 crt__snprintf_s_wrapper crt Wrapper around __stdio_common_vsnprintf_s. Calls STL_lib_func_00507d00 to set up the buffer (0x20 size), then formats the string. Returns the number of characters written, or -1 on error. 0x00AF2E30 34 find_char_in_range game_core Searches for a specific character value in the range [param_1, param_2). Compares each byte against the integer value at *param_3. Returns when found or when the range is exhausted. 0x00AF2E60 183 charconv__build_format_descriptor_00af2e60 encoding Builds a format descriptor structure for floating-point to string conversion. Populates the descriptor with format flags (0x80000000, 0x20000008, 0xC000000C), the double value from param_4, precision from param_5, and width from param_6. Then calls charconv__format_fixed_notation. 0x00AF2F20 8 identity_passthrough_f20_00af2f20 crt Returns input parameter unchanged; identity function stub 0x00AF2F30 11 call_sleep_then_exit game_core Simple wrapper that calls sleep_then_exit_process. Used as an indirect call target for the delayed exit path. 0x00AF2F40 123 charconv__init_format_descriptor_00af2f40 encoding Initializes a format descriptor for floating-point formatting. Sets up format flags (0x80000000 for type, 0x20000000 for precision, 0xC0000000 for width), copies the double value (8 bytes), precision, and width fields from the input parameters. Returns the initialized descriptor. 0x00AF2FC0 8 identity_passthrough_00af2fc0 crt Returns input parameter unchanged; identity function stub 0x00AF2FD0 45 regex__replace_all_wrapper game_core Thin wrapper around regex__replace_all. Forwards all parameters and copies the result iterator to param_1. 0x00AF3000 334 regex__replace_string game_core High-level regex replace on a std::string. Takes an input string (param_2), compiles the replacement pattern (param_4 as C-string), and calls regex__replace_all to produce the result string in param_1. Handles SSO (small string optimization) for the input. Cleans up the temporary pattern string. 0x00AF3150 454 chrono__sleep_until_ns game_core Sleeps until the specified absolute nanosecond timestamp. Adds a duration from param_1 to the current high-res timer, then enters a polling loop: queries the performance counter, converts to nanoseconds, and if the target time hasn't been reached, converts the remaining time to a timespec and calls _Thrd_sleep. Handles the 10MHz perf counter fast path (multiply by 100). 0x00AF3320 338 chrono__sleep_until_ns_abs game_core Sleeps until an absolute nanosecond timestamp given directly in param_1. Polling loop: queries perf counter, converts to nanoseconds (fast path for 10MHz frequency), compares against target. If not yet reached, converts remaining duration to timespec and calls _Thrd_sleep. Similar to chrono__sleep_until_ns but takes the absolute target directly. 0x00AF3480 219 STL_vector_4byte__copy_ctor stl Copy constructor for a vector-like structure (5 fields). Copies field[0] directly, allocates memory for the data buffer, memcpy's the existing elements, and copies field[4]. The data buffer uses 4-byte aligned elements. Returns the constructed object. 0x00AF3560 408 regex__init_match_state game_core Initializes the regex NFA match state structure. Zeros out all tracking fields (positions, counters, flags), stores the input string pointers, the compiled regex reference, and match flags. Sets up the capture group tracking vector sized to the regex's group count. Returns the initialized state object. 0x00AF3700 203 regex__match_state_copy_ctor game_core Copy constructor for the regex match state. Copies the 4-byte vector (via STL_vector_4byte__copy_ctor), then copies the 8-byte capture group vector by allocating new aligned memory and memcpy'ing the data. 0x00AF37D0 497 std__basic_ofstream__ctor_open stl Constructor for std::basic_ofstream that opens a file. Initializes the ostream and streambuf base classes, opens the file via std::_Fiopen with write mode (\|2), sets up buffer pointers via get_stream_buffer_pointers, checks locale codec for conversion needs. Sets failbit if the file cannot be opened. 0x00AF39D0 111 STL_wstring__move_ctor stl Move constructor for std::wstring (basic_string). Transfers the internal buffer (4 dwords of SSO data + size + capacity) from param_2 to param_1, then resets param_2 to an empty string (size=0, capacity=7, first wchar=0). 0x00AF3A50 67 STL_wstring__ctor_from_wchar_ptr stl Constructs a std::wstring from a null-terminated wchar_t* pointer. Initializes with empty state (size=0, capacity=7), calculates the string length via wcslen-equivalent loop, then calls STL_wstring_assign to copy the data. Returns the constructed string. 0x00AF3AA0 80 regex__match_state_dtor_inner game_core Inner destructor for regex match state. Deallocates the 4-byte element vector at param_1+4 using STL_vector_dealloc_4byte_elements. 0x00AF3AF0 167 regex__match_state_dtor game_core Full destructor for a regex match state. Deallocates multiple internal vectors: 8-byte element vectors (capture groups), 4-byte element vectors (flags/counters), in sequence. Called during regex match cleanup. 0x00AF3BA0 99 regex__partial_state_dtor game_core Partial destructor for regex state. Deallocates an 8-byte vector and a 4-byte vector. Simpler than regex__match_state_dtor, used for partial/intermediate states. 0x00AF3C20 190 std__basic_ofstream__dtor stl Destructor for std::basic_ofstream. Resets vtable pointers, flushes the streambuf if it has pending writes, destroys the streambuf and ostream base classes. Handles the complex MSVC layout with offset-to-top adjustments. 0x00AF3CE0 68 STL_vector_12byte__dealloc_wrapper stl Wrapper that deallocates a 12-byte element vector. Simply calls FUN_00af3d80 to perform the actual deallocation. 0x00AF3D80 150 STL_vector_12byte__dealloc stl Deallocates a 12-byte element vector's buffer. Computes the total allocation size from (capacity - begin) / 12 * 12, handles aligned deallocation (32-byte alignment for blocks >= 0x1000), frees the memory, and zeros the begin/end/capacity pointers. 0x00AF3E30 117 STL_vector_4byte__copy_assign stl Copy assignment for a 5-field vector structure. Copies field[0], reallocates the data buffer if capacity is insufficient via STL_lib_func_004f6780, memcpy's the elements, and updates end pointer and field[4]. Returns the assigned object. 0x00AF3EB0 106 regex__match_state_copy_assign game_core Copy assignment for regex match state. Copies the first vector via STL_vector_4byte__copy_assign, then copies the 8-byte capture group vector at offset 0x14, reallocating if the capacity is too small. 0x00AF3F20 3 identity_passthrough_00af3f20 crt Returns input parameter unchanged; dereferences pointer and returns value 0x00AF3F30 18 sleep_then_exit_process game_core Sleeps for a duration specified by the first dword of param_1 (via chrono__sleep_until_ns), then calls ExitProcess(1) to terminate the process. Used as a delayed forced shutdown handler. 0x00AF3F50 199 std__basic_ofstream__vbase_dtor stl Complete (vbase) destructor for std::basic_ofstream. Destroys streambuf, ostream, and the basic_ios virtual base. Called when the ofstream is the most-derived class being destroyed. 0x00AF4020 41 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls destructor and optionally frees memory based on flag. 0x00AF4050 379 convert_string_via_widechar game_core Converts a string through an intermediate wide character representation. First converts the input to wstring via multibyte_to_widechar_string, then converts back to multibyte using codepage 0xFDE9 (UTF-7) via widechar_to_multibyte_string. Returns the converted std::string in param_1, or an empty string if the intermediate wstring is null. 0x00AF41D0 401 replace_escape_sequences_in_string game_core Replaces escape sequences in an STL string: \r -> CR, \n -> LF, \" -> double-quote. Searches for backslash+char pairs and replaces with single characters. 0x00AF4370 427 format_bytes_as_hex_string game_core Converts a byte array (param_2) to a hex string using sprintf "0x%02x" format. Each subsequent byte is appended with " 0x%02x" separator. Returns std::string in param_1. 0x00AF4520 177 copy_string_to_clipboard game_core Copies an STL string to the Windows clipboard. Allocates global memory with GMEM_MOVEABLE\|GMEM_ZEROINIT, copies string data, then opens clipboard, empties it, sets CF_TEXT data, and closes. Returns 1 on success, 0 on failure. 0x00AF45E0 2066 recursive_delete_directory game_core Recursively deletes a directory. Uses FindFirstFile/FindNextFile to enumerate entries, skipping "." and "..". Files are chmod'd to writable then unlinked. Subdirectories are recursively processed. Finally calls _rmdir on the root directory. Uses linked lists to track files and subdirs. 0x00AF4E00 331 format_byte_size_human_readable game_core Formats a byte count into human-readable string with units (Bytes, KB, MB, GB, TB). Divides by 1024 repeatedly until value fits, then formats with "%.f" notation. 0x00AF4F50 296 generate_diamond_grid_positions game_core Generates a diamond/rhombus-shaped grid of 2D positions centered on param_2 with radius param_3. For each row y in [-radius, radius], generates columns from -cols to +cols where cols = radius - abs(y). Returns vector of (x,y) float pairs. 0x00AF5080 1158 find_files_in_directory game_core Finds files in a directory matching a path+wildcard pattern. param_2 is the search path, param_3 is the wildcard. Builds an STL list (param_1) of matching filenames, skipping "." and ".." entries. Uses FindFirstFile/FindNextFile Win32 API. 0x00AF5510 1117 find_files_in_directory_to_vector game_core Like find_files_in_directory but returns results in a std::vector instead of std::list. Uses FindFirstFile/FindNextFile, skips "." and "..". param_1 is vector output, param_2 is path, param_3 is wildcard. 0x00AF5970 306 read_line_and_process game_core Reads a line from istream into a 1024-char buffer using getline, converts to std::string, then passes to processing function at 00af7680. 0x00AF5AB0 1568 parse_numeric_string_strip_non_digits game_core Parses a numeric string by stripping non-digit characters (commas, dots, spaces). If input is shorter than 4 chars, uses atoi directly. Otherwise filters out non-digit/non-minus chars and converts the cleaned numeric string to int via atoi. Handles up to 9 digits. 0x00AF60E0 86 format_int64_to_buffer game_core Formats a 64-bit integer using "%I64d" format string into a temporary buffer, then copies to output buffer (param_3) up to param_4 bytes. Returns param_3. 0x00AF6140 83 format_int32_to_buffer game_core Formats a 32-bit integer using a format string into a temporary buffer, then copies to output buffer (param_2) up to param_3 bytes. Returns param_2. 0x00AF61A0 293 generate_square_grid_positions game_core Generates a square grid of 2D positions centered on param_2 with radius param_3. Creates (2*radius+1)^2 positions in a full square pattern. Returns vector of (x,y) float pairs in param_1. 0x00AF62D0 213 format_string_vsnprintf game_core Printf-style string formatter. Uses vsnprintf with a 4096-byte stack buffer to format the string, then constructs an std::string from the result. Returns the formatted string in param_1. 0x00AF63B0 239 format_guid_to_string game_core Formats a GUID structure to string. Uses format "{08X-04hX-04hX-02hhX02hhX-...}" with or without braces based on param_3 flag. param_2 points to the 16-byte GUID structure. 0x00AF64A0 47 check_rect_overlap game_core Tests if two axis-aligned rectangles overlap. Checks all 4 boundary conditions: rect1.right > rect2.left, rect1.left < rect2.right, rect1.bottom > rect2.top, rect1.top < rect2.bottom. Returns 1 if overlapping, 0 otherwise. 0x00AF64D0 171 check_string_contains_korean_utf8 game_core Checks if an STL string contains Korean characters encoded in UTF-8. Scans for 3-byte UTF-8 sequences where the decoded codepoint falls in range 0xAC00-0xD7A3 (Korean Hangul syllables). Returns 1 if found, 0 otherwise. 0x00AF6580 977 load_lua_script_from_file game_core Loads and parses a Lua script file. Opens the file via CFileStream, loads with luaL_loadbuffer. If initial open fails and param_3 is true, tries replacing extension with ".lua" via regex and retries. Returns 1 on success, 0 on failure. 0x00AF6960 1124 create_directory_recursive game_core Creates directories recursively for a given path. Splits the path by backslash separator, creates each intermediate directory using _mkdir if it doesn't exist (checked via _access). Returns 1 on success, 0 if any mkdir fails. 0x00AF6DD0 208 string_vector_to_lowercase game_core Converts all strings in a vector of std::strings to lowercase. Iterates each string in the vector (stride 0x18 per element), converting uppercase ASCII chars to lowercase by adding 0x20. 0x00AF6EA0 616 create_unique_file_path game_core Creates a unique file path by splitting the input path into drive/dir/name/ext components, then checking if the path exists. If it does, appends incrementing numbers until a non-existing path is found. Creates the directory structure and writes the file via ofstream. 0x00AF7110 91 string_to_lowercase game_core Converts a single STL string to lowercase in-place. Iterates each character, using isupper() to check and adding 0x20 to convert uppercase ASCII to lowercase. Skips null/control characters. 0x00AF7170 208 string_vector_to_uppercase game_core Converts all strings in a vector of std::strings to uppercase. Iterates each string (stride 0x18), converting lowercase ASCII chars to uppercase by subtracting 0x20. 0x00AF7240 252 show_messagebox_with_background_task game_core Shows a MessageBox while running a background task. Allocates a 4-byte context, spawns a thread via _beginthreadex, displays MessageBox(param_1=text, param_2=title), then detaches the thread. Used for non-blocking operations with user notification. 0x00AF7340 262 show_messagebox_with_background_task_ex game_core Extended version of show_messagebox_with_background_task. Allocates 8-byte context with two parameters, spawns thread via _beginthreadex, shows MessageBox, detaches thread. param_3 provides additional context data. 0x00AF7450 346 multibyte_to_widechar_string game_core Converts a multibyte std::string to a wide std::wstring using Win32 MultiByteToWideChar. param_2 is the code page (e.g. CP_ACP). Uses SysAllocStringLen for temporary BSTR buffer. Returns empty wstring on failure. 0x00AF75B0 94 format_guid_to_buffer game_core Formats a GUID structure to a char buffer (param_1) with size param_2. Uses same format as format_guid_to_string. param_4 controls whether braces are included. Calls snprintf_wrapper directly. 0x00AF7610 104 parse_guid_from_string game_core Parses a GUID from a string into a 16-byte GUID structure. Uses sscanf-style parsing with format "%8X-%4hX-%4hX-%2hhX%2hhX-%2hhX%2hhX%2hhX%2hhX%2hhX%2hhX". param_4 controls whether braces are expected. Returns 1 if all 11 fields parsed, 0 otherwise. 0x00AF7680 1051 split_string_by_whitespace game_core Splits an STL string by whitespace into a vector of strings. Uses iswspace() to detect separators. Handles "//" as a comment marker (stops processing). Accumulates chars into a 1024-byte buffer, pushes completed tokens to the output vector. State machine: 1=reading token, 2=skipping whitespace. 0x00AF7AA0 244 get_encrypted_string_by_index game_core Returns an encrypted/obfuscated string by index. Uses XOR decryption (xor_decrypt_buffer) with per-case keys stored in TLS. Supports indices 0-5, 7-9, 11 for predefined encrypted strings. Default case converts the index to a decimal string. Strings are lazily decrypted on first access and cached in TLS. 0x00AF82D0 51 strrchr_impl game_core Custom strrchr implementation. Finds the last occurrence of param_2 in string param_1 by scanning forward to find the end, then scanning backward. Returns pointer to last match or NULL if not found. 0x00AF8310 157 parse_guid_from_std_string game_core Parses a GUID from an STL string. Wraps parse_guid_from_string, passing the string buffer and length. param_3 controls brace expectation. On failure, returns a default GUID from a global constant. 0x00AF83B0 886 bytes_to_hex_string game_core Converts a byte buffer (param_2, length param_3) to a hex string. Uses lookup table "0123456789ABCDEF" or "0123456789abcdef" based on param_4 (uppercase flag). Each byte becomes 2 hex chars. Pre-allocates string capacity for param_3*2 chars. 0x00AF8730 118 format_number_with_commas game_core Formats a number string with comma separators every 3 digits. Copies digits from param_1 to param_3, inserting commas at appropriate positions. Handles negative numbers (preserves leading minus). param_4 is the output buffer size limit. 0x00AF87B0 379 convert_codepage_string game_core Converts a string between code pages. First converts param_2 from source codepage 0xFDE9 (UTF-8) to wide string via multibyte_to_widechar_string, then converts the wide string to param_3 target code page via widechar_to_multibyte. Returns empty string on failure. 0x00AF8930 447 widechar_to_multibyte_string game_core Converts a wide string (std::wstring) to a multibyte string using Win32 WideCharToMultiByte. param_2 is the target code page. Allocates temporary buffer, converts, constructs std::string result. Returns empty string on failure. 0x00AF8B80 90 STL_vector__Change_array_00af8b80 stl STL vector::_Change_array. Frees old buffer, then sets begin/end/capacity pointers to the new buffer. 0x00AF8BE0 162 STL_vector_float_pair_reallocate stl Reallocates a vector of float pairs (8 bytes each). Frees old buffer, allocates new one with capacity param_2 * 8 bytes, updates begin/end/capacity pointers. Used by generate_diamond_grid_positions and generate_square_grid_positions. 0x00AF8C90 226 regex_match_single_char game_core Regex engine: matches a single character against a character class/set. Handles case-insensitive matching, collation elements, and bitmap-based character sets. Returns 1 if matched, advances position pointer. 0x00AF8D80 602 regex_match_repeat game_core Regex engine: handles repetition/quantifier matching (*, +, {n,m}). Iterates through alternatives, trying to match the repeated sub-expression. Manages backtracking state with position vectors. Handles greedy vs non-greedy modes. 0x00AF8FE0 607 regex_match_bounded_repeat game_core Regex engine: handles bounded repetition matching ({n,m} quantifiers). Manages minimum count (param_2+0x14) and maximum count (param_2+0x18). param_3 controls greedy/lazy behavior. Handles group capture state for backreferences. 0x00AF9240 414 regex_match_alternative game_core Regex engine: handles alternation (\| operator) and recursive sub-expression matching. Manages capture group state, backtracking, and the regex match stack. Delegates to regex_match_bounded_repeat for counted repetition. 0x00AF93F0 1 stub_nop_00af93f0 game_core Single-byte stub function (size=1) 0x00AF9400 1 stub_nop_00af9400 game_core Single-byte stub function (size=1) 0x00AF9410 3 identity_passthrough_00af9410 crt Returns parameter unchanged; identity function stub 0x00AF9490 1478 regex_match_node game_core Core regex NFA matching engine. Processes regex nodes by type: anchors (^/$), word boundaries, character classes, any-char (.), string literals, lookahead/lookbehind, capture groups, backreferences, alternation, repetition. Walks the NFA node chain recursively. Implements complexity limits (max_calls, max_complexity). 0x00AF9A60 189 STL_vector_8byte_grow stl Grows a vector of 8-byte elements. Allocates new buffer via FUN_00afa090, moves existing elements, frees old buffer, updates begin/end/capacity pointers. 0x00AF9B50 125 STL_vector_12byte_resize stl Resizes a vector of 12-byte elements. Shrinks by updating end pointer, or grows by either calling default-construct fill or reallocating. Element stride is 0xC (12 bytes). 0x00AF9BD0 543 regex_skip_to_match game_core Regex engine: scans forward through input to find positions where a regex node can potentially match. Used for optimization before full NFA match. Handles different node types: newline anchors, character classes, any-char, string sequences, alternation, repetition. 0x00AF9E30 129 STL_vector_8byte_dealloc stl Deallocates a vector of 8-byte elements. Frees the buffer using aligned deallocation (handles >0xFFF alignment), zeroes begin/end/capacity pointers. 0x00AF9EC0 51 zero_fill_8byte_elements game_core Fills param_2 count of 8-byte elements with zeros starting at param_1. Returns pointer past the filled region. No-op if param_2 is 0. 0x00AF9F00 45 default_construct_12byte_elements game_core Default construct 12byte elements 0x00AF9F30 47 move_12byte_elements game_core Moves/copies 12-byte elements from [param_1, param_2) to destination at param_3. Copies 8 bytes + 4 bytes per element. 0x00AF9F60 10 thunk_to_std__Xlength_error_00af9f60 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00AF9F70 10 thunk_to_std__Xlength_error_00af9f70 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00AF9F80 100 parse_hex_color_string_00af9f80 game_core Parses a hex color string (e.g. "0xFF0000") to integer. Skips "0x" prefix, then converts hex chars right-to-left. Supports 0-9, A-F, a-f. Returns the parsed integer value. 0x00AFA030 92 STL_aligned_alloc_8byte_array stl Allocates aligned memory for an array of param_1 elements of 8 bytes each. Uses aligned allocation (32-byte aligned) for allocations >= 0x1000 bytes. Throws bad_array_new_length if count >= 0x20000000. 0x00AFA090 92 STL_aligned_alloc_8byte_array_00afa090 stl Identical to STL_aligned_alloc_8byte_array, allocates aligned memory for an array of param_1 8-byte elements. Duplicate code at different address. 0x00AFA0F0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AFA130 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AFA170 717 unescape_backslash_string game_core Processes an STL string removing backslash escape sequences. Double backslash (\\) becomes single backslash. Other characters are copied as-is. Returns new unescaped string in param_1. 0x00AFA440 43 sscanf_wrapper game_core Wrapper around __stdio_common_vsscanf. Calls with the common mode flags and passes variadic args. Used for sscanf-style parsing (e.g. GUID parsing). 0x00AFA470 129 xml_node_ctor game_core Constructs an XML node (0x2C bytes). Initializes type field, zeroes child/sibling/next pointers, initializes embedded SSO string (capacity 0xF), and two counter fields. 0x00AFA500 84 xml_node_cleanup game_core Cleans up an XML node by freeing children via xml_node_free_children, then destroying the embedded string via STL_string_dtor. 0x00AFA560 43 xml_node_set_child game_core Sets a child node on an XML node. If child slot (offset 0x28) is null, sets it directly. Otherwise sets the sibling (offset 0x24) of the existing child. If both occupied, calls xml_node_append_sibling to walk the chain. 0x00AFA590 35 xml_node_append_sibling game_core Appends a sibling node to an XML node. Walks the sibling chain (offset 0x24) until finding the end, then links param_2 as the new last sibling. 0x00AFA5C0 33 xml_node_destroy game_core Destroys an XML node. Frees child nodes recursively via xml_node_free_children, then frees the node's buffer at offset 0x2C if allocated. 0x00AFA5F0 184 xml_node_free_children game_core Recursively frees XML node children and siblings. Recursively processes sibling at offset 0x24 and child at offset 0x28, destroying string data and freeing each 0x2C-byte node. 0x00AFA6B0 86 xml_node_find_child_by_name game_core Finds a child XML node by tag name. First checks the child at offset 0x28 against param_2 using strcmp. If no match, delegates to xml_node_find_sibling_by_name to search siblings. 0x00AFA710 84 xml_node_find_sibling_by_name game_core Searches sibling XML nodes (linked via offset 0x24) for one matching the given tag name. Walks the sibling chain comparing names via strcmp. Returns matching node or NULL. 0x00AFA770 448 xml_node_extract_text_content game_core Extracts text content from an XML node. Walks through the content between open and close tags, handling child element substitution, HTML entity decoding (& entities), and skipping CR/LF. Builds the text into the node's string at offset 0xC. Returns pointer to node+3 (the string field). 0x00AFA940 258 html_decode_entity game_core Decodes HTML entities: < -> '<', > -> '>', & -> '&'. Returns the decoded character as a single-char string. Returns empty string for unknown entities. 0x00AFAA50 49 xml_extract_tag_name game_core Extracts the tag name from an XML element. Scans from param_1 until whitespace, '>', '/', or end of buffer (param_2). Null-terminates at the found position and returns param_1. 0x00AFAA90 610 xml_parse_element game_core Recursive XML parser. Parses XML elements from a byte buffer. Handles opening tags (creates child nodes), closing tags (matches against current node name), processing instructions ('=end args. Calls with pcall, retrieves return values by format. On error, shows MessageBox with Lua error string. 0x00AFCD90 921 lua_call_method lua Calls a Lua method (table.function). Similar to lua_call_function but pushes both the table name and method name onto the Lua stack before calling. Uses same format string convention for args/returns. 0x00AFD1D0 98 show_formatted_messagebox game_core Shows a formatted MessageBox. Formats the message using vsnprintf into a 500-byte buffer, then calls MessageBoxA with param_2 as the title and the formatted string as text. 0x00AFD240 85 lua_get_global_bool lua Gets a global Lua variable as bool. Pushes global by name, checks if type is boolean (1), retrieves value via lua_toboolean, pops stack. Returns false if state is null or type mismatch. 0x00AFD2A0 102 lua_get_global_int lua Gets a global Lua variable as integer. Pushes global by name, checks if type is number, retrieves value via lua_tonumber and converts to int. Returns -1 on type mismatch, 0 if state is null. 0x00AFD310 379 lua_get_global_string lua Gets a global Lua variable as string. Pushes global by name, checks if type is string, retrieves value via lua_tostring, constructs std::string result. Returns empty string on null state or type mismatch. 0x00AFD490 57 lua_check_global_is_table lua Checks if a global Lua variable is a table. Pushes global by name, gets type. Returns 1 if type is 5 (LUA_TTABLE), 0 otherwise. 0x00AFD4D0 848 lua_get_table_as_sorted_list lua Reads a Lua table field and returns its entries as a sorted linked list of integer values. Gets the field from Lua state, iterates with lua_next collecting integer values into a linked list, then merge-sorts the list before returning. 0x00AFD830 432 lua_call_table_function lua Calls a function from a Lua table. Gets the global table, checks if type is 5 (table), builds format string based on arg type (0=d, 1=s, 2=l), then calls internal function dispatch. Returns result value or -1 on failure. 0x00AFD9E0 517 lua_call_table_function_get_string lua Calls a Lua table function by field name and returns the string result. Builds the Lua function name from a type parameter (d/s/l suffix), calls lua_table_field_dispatch, and copies the returned C string into an STL string. 0x00AFDBF0 104 lua_set_and_call_table_field lua Sets a field in a Lua table and calls it. Pushes number or string value (based on param_2: 0=number, 1=string), sets the table field, then checks if result is a table (type 5). Returns 1 if table, 0 otherwise. 0x00AFDC60 255 lua_table_field_dispatch lua Dispatches a Lua table field access based on a format string. First char is key type (d=number, s=string) to push and get from table. Second char is return type (d=int, s=string, l=double) to retrieve from the result. Used by lua_call_table_function and lua_call_table_function_get_string. 0x00AFDD60 67 lua_load_and_execute_file lua Loads a Lua buffer and executes it. Calls luaL_loadbuffer then lua_pcall. Returns 1 on success, 0 on failure or if the Lua state is null. 0x00AFDDB0 26 lua_close_state_inline lua Inline version of lua_close_state. Calls lua_close if state is non-null, then zeroes the pointer. 0x00AFDDD0 54 lua_reset_and_init_state lua Resets and reinitializes a Lua state. Closes the existing state if active, creates a new one with luaL_newstate, registers base libraries, and registers the game's global Lua functions. 0x00AFDE10 67 lua_create_new_thread lua Creates a new Lua thread (coroutine) from the existing state. If no state exists, creates a new one first. Stores the thread reference in param_2. Returns the thread pointer or 0 on failure. 0x00AFDE60 1611 CDataTableMgr__load_data_file datatable Loads a data file by name. Checks if the file exists (in GRF or filesystem depending on param_3 flag), tries alternate paths with prefix substitution if not found. Opens via CFileStream, reads entire content, validates JSON structure (checking for parsing errors), shows a messagebox on error. Returns 1 on success, 0 on failure. 0x00AFE4B0 800 CLua__register_global_functions game_core Registers global Lua callback functions with the Lua state. Registers handlers for: TraceValue, SetSubChatWndList, SetSubChatWndOption, c_SetCmdOnOffList, c_GetCmdOnOffValue, c_AddSkillList, c_AddNeedSkillList, c_ChangeDirectoryOfDatas, SetEmitterInfo, SetMagicFloorInfo, SetEvilsPawInfo, SetOtherEffectInfo, SetAnimatedEmitterInfo, SetEZ2STRInfo, SetWindEffectInfo, AddEntryQueue, add_ingredient, add_ingredient_lapine_upgrade_box, add_cashshop_banner/banner2, add_checkAttendance_banner, plus skill flags SKFLAG_NOREDUCT and SKFLAG_DISABLE_FIXEDCASTING_REDU. 0x00AFE7D0 989 lua_callback__change_data_directory lua Lua callback for c_ChangeDirectoryOfDatas. Retrieves directory paths from Lua arguments, builds source and destination path strings, checks if files need to be moved using _access, creates the destination directory recursively if needed, then renames (moves) the file. Returns 0 to Lua. 0x00AFEBB0 22 std__destroy_range_0x30_wrapper stl Thin wrapper that calls std__destroy_range_0x30_elements to destroy a range of 0x30-byte elements. 0x00AFEBD0 126 lua_callback__set_rgb_color lua Lua callback that reads 3 color components (R,G,B) from Lua arguments at indices 1,2,3, packs them into a single 24-bit RGB integer ((B<<16)\|(G<<8)\|R), adds an offset from DAT_010d9df0, and pushes the result back to Lua. Returns 1 (one return value). 0x00AFEC50 44 copy_8byte_elements_forward game_core Copy 8byte elements forward 0x00AFEC80 45 move_8byte_elements_by_offset game_core Moves 8-byte elements from [param_1, param_2) to destination at param_3 using an offset calculation. Each element is 2x4 bytes. Computes the offset between source start and destination, then copies element-by-element using that offset. 0x00AFECB0 10 thunk_to_std__Xlength_error_00afecb0 stl Calls std::_Xlength_error with vector_too_long error message 0x00AFECC0 10 thunk_to_std__Xlength_error_00afecc0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00AFECD0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AFED10 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00AFED50 161 lua_callback__add_need_skill_list lua Lua callback for c_AddNeedSkillList. Reads 3 Lua args: skill ID, required skill ID, and required skill level. Validates all 3 are not -1, looks up the skill entry by ID via FUN_00e16510, and appends the (required_skill, required_level) pair to the skill's prerequisite list (offset 0x3C vector). 0x00AFEE00 327 lua_callback__add_skill_list lua Lua callback for c_AddSkillList. Reads 6 args: skill ID, group, name string, max level, skill type, and flags. Constructs a CSkillEntry struct with these values and registers it with CSkillMgr. Compares the name against "empty" (0x6D65="em") to skip empty entries. Returns 1 to Lua. 0x00AFEF50 201 lua_callback__get_cmd_onoff_value lua Lua callback for c_GetCmdOnOffValue. Reads a setting name from Lua arg 1, ensures the global GameSettings singleton exists (allocates 0x58 bytes if null), queries the setting value. If the result type is 3, pushes the raw double value; otherwise pushes boolean (0 or 1). Returns 1 to Lua. 0x00AFF020 282 lua_callback__set_cmd_onoff_list lua Lua callback for c_SetCmdOnOffList. Reads a setting name (arg 1) and a boolean value (arg 2) from Lua. Ensures GameSettings singleton exists. Gets the option config value for the name. Special-handles option 0xE5 by storing to DAT_01737a8c. Appends the (name, value) pair to the global settings vector at DAT_01737918. Returns 0. 0x00AFF140 1261 lua_callback__set_sub_chat_wnd_list lua Lua callback for SetSubChatWndList. Reads window name (arg 1), option name (arg 2), and 4 numeric parameters (args 3-6). Checks if max chat window count (10) reached. Determines if it's an "On" type window vs other. Finds or creates the entry in a std::map keyed by integer, assigns the display parameters. Pushes the window index back to Lua. Returns 1. 0x00AFF630 424 lua_callback__set_sub_chat_wnd_option lua Lua callback for SetSubChatWndOption. Reads window name (arg 1), window index (arg 2), option index (arg 3), and value (arg 4). Looks up the chat window entry in the appropriate map ("On" vs other). Sets a boolean option flag at offset 0x2B + option_index in the entry. Returns 1. 0x00AFF7E0 266 lua_callback__trace_value lua Lua callback for TraceValue. Reads a string from Lua arg 1, shows it in a MessageBox with title "Lua error". Used for debugging/tracing Lua script values. Returns 1. 0x00AFF8F0 529 lua_callback__add_cashshop_banner2 lua Lua callback for add_cashshop_banner2. Reads image path (arg 1) and link URL (arg 2) as strings. Finds the cash shop window (type 0x13E) via CUIWindowMgr, then adds a banner line to the text log with the image and URL strings. Returns 0. 0x00AFFB10 529 lua_callback__add_cashshop_banner lua Lua callback for add_cashshop_banner. Reads image path (arg 1) and link URL (arg 2) as strings. Finds the cash shop window (type 0x13E) via CUIWindowMgr, then adds a banner line to the text log with the image and URL strings. Returns 0. Nearly identical to add_cashshop_banner2. 0x00AFFD30 560 lua_callback__add_check_attendance_banner lua Lua callback for add_checkAttendance_banner. Reads image path (arg 1), URL (arg 2), and two integer parameters (args 3,4). Finds the attendance window (type 0x148), creates banner strings, and calls UICharListWnd__AddCharSlot to add the attendance banner entry. Returns 0. 0x00AFFF60 82 lua_callback__add_ingredient lua Lua callback for add_ingredient. Reads item ID (arg 1) and amount (arg 2). Finds the crafting window (type 0x122) and calls stub_00601bc0 to add the ingredient. Returns 0. 0x00AFFFC0 62 lua_callback__add_ingredient_lapine lua Lua callback for add_ingredient_lapine_upgrade_box. Reads item ID from Lua arg 1, finds the lapine upgrade window (UIWindowMgr type 0x12E), and calls CSearchShopWnd__add_item_to_search_list to add the ingredient item. Returns 0. 0x00B00050 99 _Find_last<> stl STL _Find_last. Searches backward through a range to find the last matching element. 0x00B000C0 111 linked_list_0x24__clear_all stl Clears a singly-linked list of 0x24-byte nodes. Sets the count to 0, then walks the list freeing each node. Each node contains a string (destroyed via STL_string_dtor) and a next pointer at offset 0. Frees each 0x24-byte node. 0x00B00130 540 unordered_map__insert_or_assign game_core Inserts a key-value pair into an unordered_map (hash map). First tries to find the key via _Find_last. If found, returns the existing iterator. Otherwise allocates a new 0x24-byte node, copies the key and value string, inserts into the hash bucket chain. Handles rehashing if the load factor exceeds the threshold. Returns the iterator and a bool indicating insertion. 0x00B00350 15 CMessageStringTable__get_string_by_id game_core Returns a message string pointer by ID from the global string table array PTR_s_MSI_DO_YOU_AGREE_0115aa88. Simple array index lookup. IDs start at MSI_DO_YOU_AGREE. 0x00B00360 97 fill<> stl STL std::fill for 4-byte pointer ranges. Uses unrolled 4-element loop for large ranges, then fills remainder one at a time. 0x00B003D0 97 CMessageStringTable__find_id_by_name game_core Looks up a message string ID by its name string. Iterates through the global string table (up to 0x125A entries), doing strcmp on each entry. Returns the matching index, or 0x125A if not found. 0x00B00440 31 fill_4byte_range game_core Fill 4byte range, small utility function 0x00B00460 67 free_0x24_node stl Frees a 0x24-byte node pointed to by param_1+4 if it's not null. Used for cleanup of hash map or linked list nodes. 0x00B004B0 102 unordered_map__dtor game_core Destructor for an unordered_map. Deallocates the bucket array via FUN_00b00520, then clears the linked list of nodes via linked_list_0x24__clear_all and frees the sentinel node. 0x00B00520 125 STL_vector_4byte__dealloc_aligned stl Deallocates a 4-byte element vector with aligned memory handling. Computes buffer size, handles 32-byte alignment for blocks >= 0x1000, frees the memory, and zeros the begin/end/capacity pointers. 0x00B005B0 116 hash_node_0x24__dtor game_core Destructor for a single 0x24-byte hash node. If the node at param_1+4 is not null, destroys its string member via STL_string_dtor, then frees the 0x24-byte node. 0x00B00630 73 linked_list_0x24__clear_and_free_sentinel stl Clears all nodes in a 0x24-byte linked list and frees the sentinel node. Calls linked_list_0x24__clear_all to destroy all data nodes, then frees the sentinel/header node (0x24 bytes). 0x00B00680 68 hash_node_string__dtor_wrapper game_core Wrapper that destroys a string member in a hash node. Simply calls STL_string_dtor on the param. 0x00B006D0 75 unordered_map__clear game_core Clears an unordered_map. If the map is not empty (element count != 0), clears all linked list nodes, resets the sentinel to point to itself, sets count to 0, and fills all bucket pointers with the sentinel address. 0x00B00720 90 global_message_string_map__clear game_core Clears the global message string hash map at DAT_016d5784. If element count (DAT_016d5788) is not 0, clears all nodes, resets sentinel, sets count to 0, and fills bucket array with sentinel pointer. 0x00B00780 133 CMessageStringTable__find_id_by_std_string game_core Same as CMessageStringTable__find_id_by_name but takes a std::string (handles SSO: if capacity > 0xF, dereferences the heap pointer). Returns 0x125A if the string is empty or null. Otherwise does linear search through the global string table. 0x00B00810 117 CMessageStringTable__find_id_by_cstr game_core Same as CMessageStringTable__find_id_by_name but with null/empty string checks. Returns 0x125A if param_1 is null or empty string. Otherwise linear search through the table. 0x00B00890 114 CMessageStringTable__decode_string game_core Decodes/decrypts a message string in-place. If DAT_016d3b10 is set, returns immediately (already decoded). For each character: applies a transformation involving subtraction from 0xDB (-0x25), special handling for certain ranges (letters get shifted, hex digits get shifted). This is a simple substitution cipher for the message string table. 0x00B00910 181 CMessageStringTable__register_custom_entry game_core Registers a custom message string entry into the hash map. Takes a vector of strings (at least 2 elements): element[0] is the message ID name (looked up in the global string table), and the last element is the replacement text. If the ID is found (< 0x125A), inserts the (id, text) pair into the unordered_map. 0x00B009D0 1126 CMessageStringTable__process_csv_rows game_core Processes CSV rows for message string table loading. For each 0x18-byte row entry in param_2, copies the string and applies character replacements (replacing specific escape sequences like tab, newline, backslash etc. via CFmt__func_0058ac60). If the string is empty, inserts "NO MSG" as placeholder. Appends processed strings to the output vector param_1. 0x00B00E40 115 CMessageStringTable__reload game_core Reloads the message string table. Clears the global hash map (DAT_016d5784), then parses msgstringtable.csv using CSVParser with CMessageStringTable__process_csv_rows as the row processor and CMessageStringTable__register_custom_entry as the entry callback. 0x00B00EC0 47 CMessageStringTable__is_restricted_msg_id game_core Checks if a message ID is restricted/special. When DAT_016d3b10 is 0 (undecoded state), returns 1 for specific IDs: 0x2C8C7D through 0x2C8C82 (with gap at 0x2C8C81). These are likely protected/system message IDs that should not be modified. 0x00B00F00 682 CMessageStringTable__get_message_text game_core Gets the display text for a message ID. If ID > 0x1259, returns "NO_MSG %d". Looks up the ID in the hash map. If found and starting with '/', returns the raw string. Otherwise, if DAT_016d3b08 is set, applies charset encoding (prefixing with hex charset ID) and caches in a global 0x125A-element string array (lazily initialized via atexit). Returns the processed string pointer. 0x00B011B0 66 CMessageStringTable__get_raw_text game_core Gets the raw (unprocessed) text for a message ID from the hash map. Looks up the ID, returns the string at offset 0xC in the node. Returns "empty" string if not found or if the node equals the sentinel. 0x00B01200 2383 CMessageStringTable__load_and_process game_core Complex message string table loading function. Loads message strings from the CSV, processes them with charset encoding and replacement rules, and populates the global string table arrays and hash map. 0x00B01B50 235 STL_vector_4byte__resize_fill stl Resizes a 4-byte element vector to param_2 elements, filling with param_3. If new size <= current, fills existing elements. Otherwise allocates new aligned buffer, frees old, and fills all elements with the given value. Max 0x3FFFFFFF elements. 0x00B01C40 362 unordered_map__rehash game_core Rehashes an unordered_map to the specified bucket count. Rounds up to the next power of 2. Resizes the bucket array, then reinserts all elements by walking the linked list and re-computing bucket indices. Handles node relinking when elements move between or within buckets. 0x00B01DB0 103 std__tree_0x20__recursive_destroy_00b01db0 stl Recursively destroys all nodes in a 0x20-byte RB-tree. For each non-sentinel node, recursively destroys the right subtree, then frees the current node (0x20 bytes), and moves to the left child. Iterative on left, recursive on right. 0x00B01E20 75 std__tree_0x20__lower_bound stl Finds the lower_bound position for a key in a 0x20-byte node RB-tree. Walks the tree comparing the key at node+0x10 against *param_3. Returns an iterator structure with the node pointer, comparison flag, and bound position. 0x00B01E70 124 std__tree_0x20__ctor stl Constructor for a 0x20-byte node RB-tree. Allocates a 0x20-byte sentinel node, initializes it (left=right=parent=self, color flags 0x0101), sets element count to 0. Then calls FUN_00b02260 for additional initialization. Returns the constructed tree. 0x00B01EF0 67 free_0x20_node stl Frees a single 0x20-byte node pointed to by param_1+4 if it's not null. 0x00B01F40 111 std__tree_0x20__destroy_all_and_sentinel stl Destroys all nodes in a 0x20-byte RB-tree and frees the sentinel. Iterates from the first element, recursively destroying right subtrees and freeing each 0x20-byte node. Finally frees the sentinel node itself. 0x00B01FC0 78 free_0x20_node_00b01fc0 stl Frees a single 0x20-byte node at param_1+4 if not null. Identical to free_0x20_node but in a different context. 0x00B02010 78 free_0x20_node_00b02010 stl Frees a single 0x20-byte node at param_1+4 if not null. Another instance of the same pattern. 0x00B02060 65 std__tree_0x20__destroy_all_wrapper stl Wrapper that calls std__tree_0x20__destroy_all_and_sentinel to destroy and deallocate all nodes in a 0x20-byte RB-tree. 0x00B020B0 77 std__tree_0x20__destroy_all_wrapper2 stl Another wrapper that calls std__tree_0x20__destroy_all_and_sentinel. Used from a different destruction context. 0x00B02100 264 std__tree_0x20__insert_key_value stl Inserts a key-value pair into a 0x20-byte node RB-tree (std::map). Uses lower_bound to find insertion position. If the key doesn't exist, allocates a 0x20-byte node, stores the key at offset 0x10, an 8-byte value at offsets 0x14-0x18, and a 4-byte value at offset 0x1C. Calls Insert_node for RB-tree balancing. 0x00B02210 69 std__tree_0x20__find_value_by_key stl Looks up a value in a 0x20-byte node RB-tree by key. Uses lower_bound to find the node. If found and key matches, returns the value at offset 0x1C. Returns 0 if not found. 0x00B02260 48 CJobNameTable__init_from_static_data game_core Initializes a job name lookup table from static data at DAT_00b02294. Inserts 0x6D0 (1744) entries into a 0x20-byte RB-tree, each with a 4-field structure (key + 8-byte value + 4-byte value). This maps job IDs to their properties. 0x00B033B5 1 stub_nop_00b033b5 game_core Single-byte stub function (size=1) 0x00B03436 1 stub_nop_00b03436 game_core Single-byte stub function (size=1) 0x00B0595C 1 stub_nop_00b0595c game_core Single-byte stub function (size=1) 0x00B07CDF 1 stub_nop_00b07cdf game_core Single-byte stub function (size=1) 0x00B0846C 1 stub_nop_00b0846c game_core Single-byte stub function (size=1) 0x00B08AD0 1 stub_nop_00b08ad0 game_core Single-byte stub function (size=1) 0x00B09E50 119 CJobNameTable__lookup_job_info game_core Looks up job info from the 0x20-byte RB-tree by job ID. Returns a result pair: if found and value at offset 0x14 is -1, returns (0, value_at_0x18). If value >= 0, returns (1, value). If not found, returns (-1, 4). 0x00B09ED0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00B0A0E0 1120 CCipher__init_key_schedule security Initializes the AES/Rijndael cipher with a given key and block size. Validates key length (16/24/32 bytes) and block length (16/24/32 bytes), computes the number of rounds (10/12/14), converts the user key into big-endian 32-bit words, generates the full encryption key schedule via Rijndael key expansion (using S-box and rcon), copies to decryption key schedule in reverse order, and applies inverse MixColumns to inner decryption round keys. Constructor-like initialization (sets vtable). 0x00B0A550 172 CCipher__reset_state security Resets a cipher object's internal state. Sets the vtable pointer (PTR_FUN_01180994), then zeros out multiple internal buffers: two 0x1E0-byte blocks (round keys/state), and five 0x20-byte blocks (IV, counter, etc). Total object size is approximately 0x474 bytes. 0x00B0A600 38 CCipher__scalar_deleting_dtor security Scalar deleting destructor for the cipher object. Calls CCipher__reset_state to clear sensitive data, then frees the 0x474-byte object if the flag bit is set. 0x00B0A630 313 CCipher__encrypt_ecb security ECB mode block cipher encryption. Validates the cipher is initialized and data is a multiple of the block size. Processes data block-by-block using CCipher__encrypt_single_block, writing results to a local 128-byte buffer, then copies to the output. Throws CRijndael exception if not initialized or data size is not block-aligned. Resets cipher state after completion. 0x00B0A770 313 CCipher__decrypt_ecb security ECB mode block cipher decryption. Same structure as CCipher__encrypt_ecb but uses CCipher__decrypt_single_block instead. Validates initialization and block size alignment, processes blocks into local buffer, copies result, and resets state. Throws CRijndael exception on error. 0x00B0A8B0 384 CCipher__process_encrypt security Block cipher encryption dispatch with 3 modes via param_5. Mode 0 (default): ECB - raw block encrypt. Mode 1: encrypt each input block, XOR result with IV, save input as next IV (non-standard chaining). Mode 2: decrypt IV into output, XOR with input block, save input as next IV (non-standard chaining). Validates initialization and block alignment. Block size at offset 0x3CC, IV at offset 0x3F4. 0x00B0AA40 759 CCipher__encrypt_single_block security Encrypts a single block using the cipher's round keys. Core block cipher encryption operation. 0x00B0AD40 919 CCipher__encrypt_block_128bit security Encrypts a single 128-bit (16-byte) block using AES/Rijndael. This is the optimized path called by CCipher__encrypt_single_block when block size is 0x10. Takes 16-byte input, XORs with initial round key, performs round_count-1 rounds of SubBytes+ShiftRows+MixColumns+AddRoundKey using T-tables, then final round with S-box substitution and AddRoundKey. Writes 16-byte output. 0x00B0B0E0 916 CCipher__expand_decrypt_key security Expands the decryption key into round keys for the cipher. Generates the inverse key schedule for decryption. 0x00B0B480 390 CCipher__process_decrypt security Main decrypt dispatch for block cipher. Supports 3 modes via param_5: mode 1 = CBC decrypt (XOR plaintext with IV, decrypt, save ciphertext as next IV), mode 2 = variant CBC decrypt, mode 0/default = ECB decrypt. Block size at offset 0x3CC, IV at offset 0x3F4. 0x00B0B610 756 CCipher__decrypt_single_block security Decrypts a single block using the cipher's inverse round keys. Core block cipher decryption operation. 0x00B0B910 1118 CCipher__set_key security Sets the encryption/decryption key for the cipher object. Validates key length, expands both encrypt and decrypt round keys, and initializes the cipher state including block size and IV. 0x00B0BD70 88 CCipher__xor_blocks security XORs two byte blocks together for cipher block chaining. XORs param_2[i] ^= (param_3 offset)[i] for block_size bytes (at offset 0x3CC in the cipher object). Throws if the cipher is not initialized. 0x00B0BDD0 35 store_uint32_le security Stores a 32-bit integer in little-endian byte order to the destination buffer. 0x00B0BE00 19 store_uint16_le security Stores a 16-bit integer in little-endian byte order to the destination buffer. 0x00B0BE20 134 crypto__galois_field_mix_column game_core Performs a Galois field column mixing operation for block cipher (likely AES MixColumns or similar). Applies GF(2^8) addition and multiplication operations on 4-byte column data. Uses crypto_gf_add and crypto_gf_add_one helper functions. 0x00B0BEB0 742 crypto_sbox_cipher_round game_core Custom S-box based block cipher round function. Operates on 16-uint state (param_2), applying S-box lookups from DAT_0134d4b0, XOR operations, and bit rotations controlled by values at DAT_01353a58. Result XORed with original data written to param_1 (4 uints). 0x00B0C1A0 245 crypto_sbox_cipher_variant game_core Variant S-box cipher. Copies 16 uints from param_2 to local state, applies nested S-box lookups from DAT_0134d0b0 with rotation schedule from DAT_01353a48. Iterates 8 rounds. Final output XORed with original input into param_1. 0x00B0C2A0 248 crypto_hash_finalize game_core Hash finalization/padding function. Packs remaining bytes into 16-uint block, adds padding bit, appends 64-bit message length, then calls FUN_00b0de90 (RIPEMD-160 compress) for final processing. Standard Merkle-Damgard padding. 0x00B0C3A0 35 crypto_hash_init_iv game_core Initializes hash state with IV constants: 0x66452a01, 0xebcdab79, 0x98badafe, 0x10365476. These are modified MD5-like initial values used by the custom hash algorithm. 0x00B0C3D0 44 crypto_get_uint32 game_core Simple getter that reads and returns a uint32 value from the pointer param_1. 0x00B0C400 52 crypto_byte_swap_64bit game_core Byte-swap/endian conversion for a 64-bit value stored as 2 uints. Interleaves bytes from param_1[0] and param_1[1] to produce a big-endian uint result. 0x00B0C440 83 crypto_gf_lookup_init game_core Initializes Galois field lookup table at DAT_016f6f08 (256 entries). Table maps byte values using GF(256) arithmetic with stride 4. Lazy initialization (DAT_01353a68 flag). Returns table lookup for input byte. 0x00B0C4A0 23 crypto_gf_add game_core GF(256) addition helper. Adds two bytes and performs lookup via crypto_gf_lookup_init. 0x00B0C4C0 25 crypto_gf_add_one game_core GF(256) addition with offset. Adds 1 to param_1, adds param_2, then performs GF lookup via crypto_gf_lookup_init. 0x00B0C4E0 438 crypto_block_decrypt_8byte game_core 8-byte block cipher decryption. Uses S-box tables at DAT_016f6d08 and DAT_016f6e08 for substitution and XOR operations. Iterates through key schedule rounds in reverse (param_2 contains round count and subkeys). Output to param_3. 0x00B0C6A0 420 crypto_block_encrypt_8byte game_core 8-byte block cipher encryption. Forward direction of the block cipher. Uses S-box tables at DAT_016f6d08 and DAT_016f6e08. Iterates through key schedule rounds forward. Output bytes mixed via add/xor operations. 0x00B0C850 1276 crypto_block_key_schedule game_core Generates key schedule for the 8-byte block cipher. Takes 8-byte key (param_1), 8-byte IV (param_2), round count (param_3), mode flag (param_4). Rotates key/IV bytes by 3/2 bits per round, mixes with S-box table DAT_016f6d08. Output schedule to param_5. 0x00B0CD90 1243 cast5_decrypt_block security CAST-128 (CAST5) block decryption. Operates on 8-byte block. Uses 4 S-boxes at DAT_01180998/01180d98/01181198/01181598. 16 rounds with alternating +/-/^ key mixing and variable left rotations. param_1 = expanded key (32 subkeys + 32 rotation amounts). 0x00B0D270 1255 cast5_encrypt_block security CAST-128 (CAST5) block encryption. Forward direction. Same S-boxes and structure as cast5_decrypt_block but rounds applied in forward order. 12 or 16 rounds depending on key length (param_1[0x20]). 0x00B0D760 904 cast5_key_schedule security CAST-128 key schedule generation. Expands key bytes into 16 subkeys and 16 rotation amounts at param_1. Uses auxiliary S-boxes at DAT_01181998/01181d98/01182198/01182598. Sets round count (12 or 16) at param_1[0x20] based on key length. 0x00B0DE90 3041 ripemd160_compress game_core RIPEMD-160 compression function. Processes 16-word message block (param_2) into 4-word state (param_1). Uses constants 0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0x50a28be6, 0x5c4dd124, 0x6d703ef3. Five rounds of 16 operations each with different boolean functions. 0x00B0EA80 3207 aria_encrypt_block security ARIA block cipher encryption. 128-bit block. Uses S-boxes at DAT_016f5b18/016f5f18/016f6318/016f6718 for round transformations and DAT_016f5918/016f5a18 for final round substitution. Round keys from PTR_DAT_013510e4. 12 rounds for 128-bit key. 0x00B0F710 3207 aria_decrypt_block security ARIA block cipher decryption. 128-bit block. Uses same S-boxes as aria_encrypt_block. Decryption round keys from PTR_DAT_013510e0. 12 rounds for 128-bit key, final round uses byte-level S-box substitution. 0x00B103A0 3275 aria_key_expansion security ARIA key expansion. Initializes S-boxes (lazy init via DAT_016f5910), then expands key (param_1) of size param_2 bits into encryption round keys (PTR_DAT_013510e0) and decryption round keys (PTR_DAT_013510e4). Supports 128/192/256-bit keys. 0x00B11070 120 misty1_fi_function security MISTY1 FI function (Feistel round function). Takes 32-bit input and subkey. Uses crypto_gf_add and crypto_gf_add_one for S-box substitution and mixing. Returns 32-bit transformed output. 0x00B110F0 124 misty1_decrypt_block security MISTY1 block decryption. 64-bit block. Reads two 32-bit words, XORs with final whitening keys, iterates FI rounds in reverse using subkeys from DAT_016f6cd4 downward. Writes decrypted result to param_2. 0x00B11170 151 misty1_encrypt_block security MISTY1 block encryption. 64-bit block. Reads two 32-bit words, XORs with whitening keys, iterates FI rounds forward using subkeys from DAT_016f6cb8. Writes encrypted 8-byte result to param_2. 0x00B11210 461 misty1_key_schedule security MISTY1 key expansion. Takes 8-byte key, generates 8 rounds of subkeys stored at DAT_016f6cb8-016f6cd4. Also derives 4 whitening keys (DAT_016f5914, DAT_016f6cf8, DAT_016f6cfc, DAT_016f6d00). Uses GF operations for key mixing. 0x00B113E0 76 skipjack_g_permutation security Skipjack G permutation. Uses F-table at DAT_01353108 and lookup table at DAT_01353188. Takes 16-bit input and returns permuted 16-bit result. Core component of Skipjack cipher rounds. 0x00B11430 107 skipjack_rule_a security Skipjack Rule A round function. Applies subkey mixing with XOR/AND/OR operations on 32-bit data word using 8 subkeys from param_1. Round counter param_3 selects subkey and controls even/odd behavior. 0x00B114A0 107 skipjack_rule_b security Skipjack Rule B round function (inverse of Rule A). Applies subkey mixing in reverse direction for decryption. Uses same subkey structure as skipjack_rule_a. 0x00B11510 313 skipjack_round_pair security Skipjack combined round pair. Applies 3 G-permutations and subkey mixing operations in sequence. Uses F-table at DAT_01353108 and DAT_01353188. Returns 32-bit result combining upper and lower halves. 0x00B11650 796 sha1_compress security SHA-1 compression function. Takes 20-byte state (param_1), message schedule word count (param_2), outputs 5 uint state (param_3). 80 rounds in 4 groups of 20 with constants 0x5a827998, 0x6ef9eba1, 0x7f1cbcdc, 0xaa62d1d6. Message expansion via XOR of prior words. 0x00B11970 79 sha1_derive_subkey security Derives a specific 32-bit subkey from SHA-1 hash. Calls sha1_compress with param_2/5 as schedule count, then returns the (param_2 % 5)th word of the resulting 5-word hash state. 0x00B119C0 175 aria_init_sbox_tables security Initializes ARIA S-box and related lookup tables. Generates 256-entry S-box (DAT_016f5918), inverse S-box (DAT_016f5a18), and 4 diffusion tables (DAT_016f5b18, DAT_016f5f18, DAT_016f6318, DAT_016f6718) using affine transformations from DAT_013510b0/c0/d0. 0x00B11A70 80 rc4_multi_init security Initializes RC4-variant cipher with multiple S-box instances. Sets up two 1024-byte key schedules (at offsets +8 and +0x408) via rc4_key_schedule_init. Initializes counter and state fields to zero. Returns 0 on success, -1 on null input. 0x00B11AC0 181 rc4_multi_generate_byte security RC4-variant PRNG byte generation. Uses multi-S-box state (4 interleaved 256-byte tables). Swaps S-box entries, advances counters with carry logic across 4 sub-tables. Returns pseudorandom byte. State wraps when counter reaches 4. 0x00B11B80 236 rc4_key_schedule_init security RC4-variant key schedule initialization. Initializes param_4 interleaved 256-byte S-boxes (param_1) with identity permutation, then applies key-scheduling algorithm (KSA) using key (param_2) of length param_3. 8 passes per sub-table with staggered offsets. 0x00B11C70 1081 multi2_decrypt_block security MULTI2 block cipher decryption. 64-bit block (4 x 16-bit words). 8 rounds processing 4 sub-blocks using S-box table at DAT_016d5910 with bit-selected lookups. Key schedule from param_2 traversed in reverse (offset 0xC0 down to 0). 0x00B120B0 1081 multi2_encrypt_block security MULTI2 block cipher encryption. 64-bit block (4 x 16-bit words). 8 rounds processing 4 sub-blocks using S-box table at DAT_016d5910 with bit-selected lookups. Key schedule from param_2 traversed forward. 0x00B124F0 884 multi2_init_sbox_table security Initializes MULTI2 S-box lookup table at DAT_016d5910 (65536 entries). Constructs table from 8 smaller 64-entry S-boxes (DAT_0134cc90 through DAT_0134d010) using bit-extraction controlled by 48 parameters at DAT_01353988-01353a44. 0x00B12870 209 multi2_key_schedule security MULTI2 key schedule generation. Initializes S-box table, copies 16-byte key (8+8 halves) from param_1, then performs 32 rounds of multi2_encrypt_block for each half to derive 0xC0 bytes of round subkeys into param_2. 0x00B12950 412 skipjack_encrypt_block security Skipjack block cipher encryption. 64-bit block (2 x 32-bit words). 8 rounds using skipjack_round_pair with 16 subkeys from param_1 (8 for each half). Uses Rule A/B mixing with G-permutations. 0x00B12AF0 257 skipjack_encrypt_extended security Extended Skipjack encryption with more rounds. Uses skipjack_rule_a and skipjack_round_pair alternately for 10 round pairs. Takes key schedule (param_1), input block (param_2), output block (param_3). 0x00B12C00 23 skipjack_clear_key_state security Clears 128-byte (0x80) Skipjack key state buffer to zero using memset. 0x00B12C20 921 skipjack_key_schedule security Skipjack key expansion. Takes 16-byte key (param_2, 4 uints), byte-swaps into 8 x 16-bit subkeys (param_1[0..7]), then derives 24 additional subkeys (param_1[8..31]) using G-permutation and F-table lookups. Stores low 9 bits and high 7 bits separately. 0x00B12FC0 1235 crypto_feistel_network_recursive game_core Recursive Feistel network implementation. Base case (param_3==2) applies 4 S-box lookups. Recursive case splits data in half, applies XOR mixing with S-box output at each level. Uses SIMD-style 64-byte block XOR for large inputs. Part of a larger stream cipher. 0x00B134A0 582 snow2_keystream_generate security SNOW 2.0 keystream generator. Uses LFSR with 512-entry S-box table (param_1). Generates 128 keystream words per call into param_3. Two outer passes with 64 inner rounds each. Feedback via 9-bit right rotation and S-box lookups. 0x00B136F0 114 snow2_encrypt_stream security SNOW 2.0 stream cipher encrypt/decrypt. XORs param_3 words at param_2 with keystream. Automatically generates new keystream block (1024 words) via snow2_keystream_generate when buffer exhausted. 0x00B13770 114 snow2_decrypt_stream security SNOW 2.0 stream cipher decrypt. Identical to snow2_encrypt_stream (symmetric cipher). XORs param_3 words at param_2 with keystream from state at param_1. 0x00B137F0 418 snow2_key_setup security SNOW 2.0 key setup. Derives S-box table (510 words), mixing keys, and initial state from SHA-1 hash of key material (param_2). Multiple sha1_compress calls with different indices to fill different key regions. 0x00B139A0 436 snow2_key_setup_with_init security SNOW 2.0 key setup with state initialization. Same as snow2_key_setup but also initializes keystream counter (param_1+0xc94=0) and buffer index (param_1+0x1c98=0x400, forces regeneration on first use). 0x00B13B60 48 snow2_generate_block security Forces generation of a new SNOW 2.0 keystream block. Calls snow2_keystream_generate, resets buffer index to 0, increments counter. 0x00B13B90 27 snow2_set_counter security Sets SNOW 2.0 keystream counter to param_2. Also sets buffer index to 0x400 to force regeneration on next use. 0x00B13BB0 259 tiger_hash security Tiger hash function. Computes 192-bit hash. Initializes state with IV (0x89abcdef, 0x01234567, 0x76543210, 0xfedcba98, 0xc3b2e187, 0xf096a5b4). Processes 64-byte blocks via tiger_compress (FUN_00b13cc0). Standard Merkle-Damgard padding with 0x01 pad byte. 0x00B13CC0 3355 tiger_compress security Tiger hash compression function. Processes 64-byte block (16 uints from param_1) into 6-word state (param_2). 3 passes with different multipliers (5/7/9). Uses 4 Tiger S-box tables at DAT_01351108-01352908. Includes key schedule mixing between passes. 0x00B149E0 1109 crypto_format_preserving_decrypt game_core Format-preserving decryption using recursive Feistel network. Splits data in half, applies 4 rounds of crypto_feistel_network_recursive with different subkey indices (from param_2). XOR mixing between halves in each round. Returns 0 on success, -1 on null input. 0x00B14E40 1013 crypto_format_preserving_encrypt game_core Format-preserving encryption using recursive Feistel network. Splits data in half, applies 4 rounds of crypto_feistel_network_recursive with subkey indices (0, param_2[2], param_2[3], param_2[4]). XOR mixing between halves. Returns 0 on success, -1 on null input. 0x00B15240 627 crypto_permutation_table_init game_core Initializes permutation table for format-preserving cipher. Creates param_4^2 permutation tables (256 bytes each) at param_3+0x14. Uses RC4-variant key schedule for initial permutation, then shuffles using PRNG bytes. Stores dimensions and subkey indices in param_3 header. 0x00B15510 177 crypto_singleton_init game_core Singleton initialization for crypto module. Allocates 16-byte control block at DAT_016f7114 with first byte = 1 (enabled). Thread-safe with SEH. Returns 1 if crypto available, 0 otherwise. 0x00B155D0 31 crypto_singleton_destroy game_core Destroys crypto singleton. Frees 16-byte control block at DAT_016f7114 and sets pointer to null. 0x00B155F0 5 ret_zero_00b155f0 crt Returns zero constant; likely error/false stub or initialization function 0x00B15670 22 crypto_check_available game_core Checks if crypto module is available. Sets *param_1 to 1 if crypto_singleton_init succeeds, 0 otherwise. Returns param_1. 0x00B15690 54 crypto_shutdown_wrapper game_core SEH-wrapped crypto shutdown. Calls crypto_singleton_destroy with structured exception handling. 0x00B156E0 179 crypto_singleton_init_secondary game_core Secondary crypto singleton initialization at DAT_016f7118. Allocates 1-byte flag, calls crypto_singleton_init to verify availability. If available, sets flag=1. On failure, destroys primary singleton and frees secondary. Returns 1 on success, 0 on failure. 0x00B157B0 39 crypto_singleton_destroy_secondary game_core Destroys secondary crypto singleton. Calls crypto_singleton_destroy, frees 1-byte flag at DAT_016f7118, sets pointer to null. 0x00B157E0 121 CryptoMap__delete_subtree security Deletes a subtree of crypto map nodes. Walks linked list starting at param_3, recursively deletes child subtrees, frees 0xA8-byte nodes. Stops when sentinel node (byte 0xD=1) is reached. 0x00B15860 75 CryptoMap__lower_bound security Performs lower_bound search on a red-black tree (crypto map). Traverses tree comparing keys (int at node+0x10). Returns iterator (node pointer, found flag, parent) in param_2. 0x00B158B0 248 CryptoMap__insert_or_find security Inserts a key into crypto map or finds existing entry. Uses lower_bound to check for duplicates. If not found, allocates 0xA8-byte node, initializes via move-construct, and calls Insert_node. Returns iterator and inserted flag in param_2. 0x00B159B0 476 CryptoMapEntry__move_ctor security Move constructor for crypto map entry (0xA8 bytes). Copies header fields and 6 string-like members (each 24 bytes with size/capacity at offsets +16/+20). Steals string buffers from source and resets source to empty (size=0, capacity=0xF). 0x00B15B90 239 CryptoMapEntry__default_ctor security Default constructor for crypto map entry. Initializes 6 string-like members to empty state (size=0, capacity=0xF, null-terminated) with SEH. 0x00B15C80 414 CryptoManager__ctor security Constructor for CryptoManager object. Initializes vectors, allocates 3 red-black tree sentinel nodes (0x20, 0xA8, 0xA8 bytes), sets initial values. Clears existing tree data and vectors. Sets enabled flag and multiple sentinel indices to -1. 0x00B15E20 70 CryptoMapNode__delete_with_seh security Deletes a crypto map node (0xA8 bytes) with SEH. Checks if node pointer at param_1+4 is non-null before freeing. 0x00B15E70 79 CryptoMap__dtor_tree_and_sentinel security Destructor that deletes crypto map tree and frees sentinel node (0xA8 bytes). Calls CryptoMap__delete_subtree on root, then frees sentinel. 0x00B15ED0 107 CryptoMapEntry__dtor_with_strings security Destroys crypto map entry: calls string destructor for 6 string members, then frees the 0xA8-byte node. Checks for non-null pointer before freeing. 0x00B15F40 81 CryptoMapNode__free_if_nonnull security Frees a crypto map node (0xA8 bytes) if the pointer at param_1+4 is non-null. SEH-wrapped. 0x00B15FA0 90 CryptoMap__dtor_tree_and_free security Deletes crypto map tree and frees sentinel. Calls CryptoMap__delete_subtree then frees 0xA8-byte sentinel node. SEH-wrapped. 0x00B16000 147 CryptoMapEntry__dtor_6strings security Destroys 6 string members of a crypto map entry by calling STL_string_dtor 6 times in reverse order. SEH-wrapped with descending exception state (5 to 0). 0x00B160A0 147 CryptoMapEntry__dtor_6strings_00b160a0 security Duplicate of CryptoMapEntry__dtor_6strings. Destroys 6 string members by calling STL_string_dtor 6 times. SEH-wrapped. 0x00B16140 202 CryptoManager__dtor security Destructor for CryptoManager. Deletes 3 tree structures (at offsets +0x24, +0x1C, +0x14), frees sentinel nodes (0xA8, 0xA8, 0x20 bytes), then calls parent destructor (CFmt__func_0058c230). SEH-wrapped. 0x00B16210 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00B16270 704 rbtree_erase_and_rebalance_00b16270 game_core Red-black tree node erasure with rebalancing. Handles node removal, successor substitution, and red-black tree property restoration via rotations and recoloring. Standard RB-tree delete fixup algorithm. Updates min/max pointers. Decrements count. 0x00B16530 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00B16740 84 rbtree_rotate_left_00b16740 game_core Red-black tree left rotation around param_2 node. Standard left rotation: right child becomes parent, adjusts pointers and parent links. 0x00B167A0 88 rbtree_rotate_right_00b167a0 game_core Red-black tree right rotation around param_2 node. Standard right rotation: left child becomes parent, adjusts pointers and parent links. 0x00B16800 10 thunk_to_std__Xout_of_range_00b16800 stl Throws std::out_of_range exception for invalid vector subscript 0x00B16810 611 CryptoManager__process_pending_entries security Processes pending crypto entries from tree at offset +0x24 into active tree at +0x1C. Iterates up to 10 entries, copies each via move constructor, inserts into active map. If only 1 entry remains, clears pending tree entirely. Frees processed entries. 0x00B16A80 72 CryptoManager__clear_both_maps security Clears both crypto maps (at offsets +0x1C and +0x24). Deletes all tree nodes, resets sentinel self-references, sets counts to 0. 0x00B16AD0 177 CryptoManager__remove_entry_by_key security Removes a crypto entry by integer key from both maps (+0x1C and +0x24). Uses lower_bound search to find entry, then erases and frees the node if found in either map. 0x00B16B90 320 CryptoMap__erase_range_by_key security Erases a range of entries from crypto map by key range. Finds lower and upper bounds via tree traversal, counts entries in range, then erases them. If range covers entire tree, clears all at once. 0x00B16CD0 19 CryptoMap__erase_range_wrapper security Simple wrapper that calls CryptoMap__erase_range_by_key with parameters from stack. 0x00B16CF0 2237 CryptoManager__add_service_entry security Adds a service entry to the CryptoManager. Takes multiple parameters including strings, timestamps, and service indices. Looks up channel by index, constructs formatted time/level strings, builds item descriptions from resource string IDs (0x658+, 0x6AF+). Returns result pointer. 0x00B175B0 617 CPartyAlarmMgr__process_party_member_update game_core Processes a party member update for the party alarm system. Takes 12 parameters describing the party member state. If warp select window (0xA9) exists, checks map filter and either directly processes the alarm or adds a crypto service entry. If no warp window, checks filter criteria (base level range, job class, specific skill). On match, plays party_alarm.wav and displays a yellow chat message (MSI 0x6D9). 0x00B17820 886 CPartyAlarmMgr__notify_party_alarm game_core Processes party alarm notifications for multiple party members. Iterates param_3 members from param_2 array (each 12 ints = 48 bytes). For each member: builds service entry via CryptoManager__add_service_entry, inserts into CryptoMap at +0x1C. Stores last member ID at +0x30. If param_4 is 0, calls CryptoManager__process_pending_entries after each. If param_4 is 1, adds a sentinel entry (member ID + 1, flag=1) at the end to mark completion. 0x00B17BA0 147 CryptoManager__check_service_filter security Checks if a service entry passes filter criteria. Validates against 3 filter values at param_1+0x38/0x3C/0x40 (range check, equality check, and list membership). Returns 1 if entry passes filter, 0 otherwise. 0x00B17C40 89 CryptoManager__reset_maps security Resets CryptoManager state. Sets flag at +0x2C=1, sentinel at +0x30=-1, counter to 0. Clears both crypto maps (at offsets +0x1C and +0x24) by deleting all tree nodes and resetting sentinels. 0x00B17CA0 1381 CPartyAlarmMgr__load_map_filter_from_lua game_core Loads party alarm map filter data from Lua. Calls lua_check_global_is_table("map_list"), then iterates regions via queryRegionInfo (collecting region names into vectors). For each region, queries queryMapInfo to get individual map entries (name + coordinates). Builds a vector of map entries and inserts into the party alarm manager's sorted tree at offset +0x14. Used to populate the map-based filtering for party alarm notifications. 0x00B18210 25 CryptoManager__set_filter_values security Sets 3 filter values at offsets +0x38, +0x3C, +0x40 of the CryptoManager object. 0x00B18230 503 CPartyAlarmMgr__process_pending_alarms game_core Processes pending party alarm entries from the queue, applying filters and dispatching notifications. 0x00B18430 34 memcpy_range_to_dest_00b18430 stl Copies memory range [param_1, param_2) to param_3. Returns pointer past end of destination. Essentially memcpy with range semantics. 0x00B18460 452 CPartyAlarmMgr__vector_insert game_core std::vector insert/push_back for CPartyAlarmMgr. Grows the vector buffer (1.5x strategy), copies elements before and after the insertion point, places the new element. SEH-protected with old buffer cleanup. 0x00B18630 103 tree_0x18_delete_subtree game_core Recursively deletes a subtree of 0x18-byte tree nodes. Walks linked list, recursively deletes right children, frees each node. Stops at sentinel (byte 0xD=1). SEH-wrapped. 0x00B186A0 183 CEffectMgr__recursive_destroy_tree_with_lists effect Recursively destroys a 0x1C-byte node RB-tree where each node contains a linked list of 0xC-byte elements at offset+5. For each node: recursively handles right subtree, clears the inner linked list (freeing 0xC-byte nodes), frees the list sentinel, then frees the 0x1C-byte tree node. 0x00B18760 131 std__tree_0x20__recursive_destroy_with_vector_cleanup stl Recursively destroys a 0x20-byte node RB-tree, with additional cleanup of a vector member via CEffectManager__deallocate_vector on each node before freeing. Used for effect-related tree structures. 0x00B187F0 75 tree_0x18_lower_bound game_core Performs lower_bound search on 0x18-byte node tree. Traverses comparing keys at node+0x10. Returns iterator (node, found flag, parent) in param_2. Same algorithm as CryptoMap__lower_bound. 0x00B18840 75 CEffectMgr__tree_lower_bound effect Lower bound search in the effect manager's RB-tree. Same structure as std__tree_0x20__lower_bound, walks the tree comparing key at node+0x10 against the search key. 0x00B18890 75 CEffectMgr__tree_lower_bound_00b18890 effect Duplicate of CEffectMgr__tree_lower_bound. RB-tree lower bound search for effect type lookup. 0x00B188E0 113 linked_list_0xc_destroy stl Destroys a singly-linked list of 0xC-byte nodes. Zeroes the count via the tail pointer, walks the list freeing each node, then frees the head node. SEH-wrapped. 0x00B18960 81 CEffect__vtable_init_00b18960 effect CEffect subclass vtable initializer. Sets base CEffect vtable then overwrites with specific effect subclass vtable (PTR_CEffect__scalar_deleting_dtor_vtbl_01182fd4). SEH frame setup/teardown. Each CEffect subclass has its own vtable init function. 0x00B189C0 81 CEffect__vtable_init_00b189c0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable (01183 0a0). Part of the CEffect class hierarchy. 0x00B18A20 81 CEffect__vtable_init_00b18a20 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable (01182de8). 0x00B18A80 81 CEffect__vtable_init_00b18a80 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable (01182fb0). 0x00B18AE0 81 CEffect__vtable_init_00b18ae0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable (01182f50). 0x00B18B40 81 CEffect__vtable_init_00b18b40 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18BA0 81 CEffect__vtable_init_00b18ba0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18C00 81 CEffect__vtable_init_00b18c00 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18C60 81 CEffect__vtable_init_00b18c60 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18CC0 81 CEffect__vtable_init_00b18cc0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18D20 81 CEffect__vtable_init_00b18d20 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18D80 81 CEffect__vtable_init_00b18d80 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18DE0 81 CEffect__vtable_init_00b18de0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18E40 81 CEffect__vtable_init_00b18e40 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18EA0 81 CEffect__vtable_init_00b18ea0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18F00 81 CEffect__vtable_init_00b18f00 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18F60 81 CEffect__vtable_init_00b18f60 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B18FC0 81 CEffect__vtable_init_00b18fc0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19020 81 CEffect__vtable_init_00b19020 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19080 81 CEffect__vtable_init_00b19080 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B190E0 81 CEffect__vtable_init_00b190e0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19140 81 CEffect__vtable_init_00b19140 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B191A0 81 CEffect__vtable_init_00b191a0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19200 81 CEffect__vtable_init_00b19200 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19260 81 CEffect__vtable_init_00b19260 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B192C0 81 CEffect__vtable_init_00b192c0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19320 81 CEffect__vtable_init_00b19320 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19380 81 CEffect__vtable_init_00b19380 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B193E0 81 CEffect__vtable_init_00b193e0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19440 81 CEffect__vtable_init_00b19440 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B194A0 81 CEffect__vtable_init_00b194a0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19500 81 CEffect__vtable_init_00b19500 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19560 81 CEffect__vtable_init_00b19560 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B195C0 81 CEffect__vtable_init_00b195c0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19620 81 CEffect__vtable_init_00b19620 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19680 81 CEffect__vtable_init_00b19680 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B196E0 81 CEffect__vtable_init_00b196e0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19740 81 CEffect__vtable_init_00b19740 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B197A0 81 CEffect__vtable_init_00b197a0 effect CEffect subclass vtable initializer. Sets CEffect vtable pointer to subclass-specific vtable. 0x00B19800 81 CEffect__base_ctor_00b19800 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19860 81 CEffect__base_ctor_00b19860 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B198C0 81 CEffect__base_ctor_00b198c0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19920 81 CEffect__base_ctor_00b19920 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19980 81 CEffect__base_ctor_00b19980 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B199E0 81 CEffect__base_ctor_00b199e0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19A40 81 CEffect__base_ctor_00b19a40 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19AA0 81 CEffect__base_ctor_00b19aa0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19B00 81 CEffect__base_ctor_00b19b00 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19B60 81 CEffect__base_ctor_00b19b60 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19BC0 81 CEffect__base_ctor_00b19bc0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19C20 81 CEffect__base_ctor_00b19c20 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19C80 81 CEffect__base_ctor_00b19c80 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19CE0 81 CEffect__base_ctor_00b19ce0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19D40 81 CEffect__base_ctor_00b19d40 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19DA0 81 CEffect__base_ctor_00b19da0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19E00 81 CEffect__base_ctor_00b19e00 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19E60 81 CEffect__base_ctor_00b19e60 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19EC0 81 CEffect__base_ctor_00b19ec0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19F20 81 CEffect__base_ctor_00b19f20 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19F80 81 CEffect__base_ctor_00b19f80 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B19FE0 81 CEffect__base_ctor_00b19fe0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A040 81 CEffect__base_ctor_00b1a040 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A0A0 81 CEffect__base_ctor_00b1a0a0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A100 81 CEffect__base_ctor_00b1a100 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A160 81 CEffect__base_ctor_00b1a160 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A1C0 81 CEffect__base_ctor_00b1a1c0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A220 81 CEffect__base_ctor_00b1a220 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A280 81 CEffect__base_ctor_00b1a280 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A2E0 81 CEffect__base_ctor_00b1a2e0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A340 81 CEffect__base_ctor_00b1a340 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable chain: base CEffect vtable then derived subclass vtable. Returns this pointer. 0x00B1A3A0 81 CEffect__base_ctor effect Base constructor for a CEffect-derived class. Sets up the vtable pointer chain: first to PTR__scalar_deleting_destructor__01182ca8 (base), then to PTR_CEffect__scalar_deleting_dtor_vtbl_01183124 (derived). Returns the constructed object. 0x00B1A400 81 CEffect__base_ctor_00b1a400 effect CEffect-derived class constructor. Sets vtable to PTR_CEffect__scalar_deleting_dtor_vtbl_01182f08. 0x00B1A460 81 CEffect__base_ctor_00b1a460 effect CEffect-derived class constructor. Sets vtable first to base PTR__scalar_deleting_destructor__01182ca8, then to derived PTR_CEffect__scalar_deleting_dtor_vtbl_01182efc. 0x00B1A4C0 81 CEffect__base_ctor_00b1a4c0 effect CEffect-derived class constructor. Sets vtable first to base PTR__scalar_deleting_destructor__01182ca8, then to derived PTR_CEffect__scalar_deleting_dtor_vtbl_01183130. 0x00B1A520 81 CEffect__base_ctor_00b1a520 effect CEffect-derived class constructor. Sets vtable first to base PTR__scalar_deleting_destructor__01182ca8, then to derived PTR_CEffect__scalar_deleting_dtor_vtbl_01182d70. 0x00B1A580 81 CEffect__base_ctor_00b1a580 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182e0c). Returns this pointer. 0x00B1A5E0 81 CEffect__base_ctor_00b1a5e0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182d7c). Returns this pointer. 0x00B1A640 81 CEffect__base_ctor_00b1a640 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182ee4). Returns this pointer. 0x00B1A6A0 81 CEffect__base_ctor_00b1a6a0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182e30). Returns this pointer. 0x00B1A700 81 CEffect__base_ctor_00b1a700 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182f74). Returns this pointer. 0x00B1A760 81 CEffect__base_ctor_00b1a760 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182dac). Returns this pointer. 0x00B1A7C0 81 CEffect__base_ctor_00b1a7c0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182ef0). Returns this pointer. 0x00B1A820 81 CEffect__base_ctor_00b1a820 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182e78). Returns this pointer. 0x00B1A880 81 CEffect__base_ctor_00b1a880 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01183100). Returns this pointer. 0x00B1A8E0 81 CEffect__base_ctor_00b1a8e0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182f14). Returns this pointer. 0x00B1A940 81 CEffect__base_ctor_00b1a940 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182d40). Returns this pointer. 0x00B1A9A0 81 CEffect__base_ctor_00b1a9a0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01183154). Returns this pointer. 0x00B1AA00 81 CEffect__base_ctor_00b1aa00 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182f2c). Returns this pointer. 0x00B1AA60 81 CEffect__base_ctor_00b1aa60 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182e18). Returns this pointer. 0x00B1AAC0 81 CEffect__base_ctor_00b1aac0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182f8c). Returns this pointer. 0x00B1AB20 81 CEffect__base_ctor_00b1ab20 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01182e60). Returns this pointer. 0x00B1AB80 81 CEffect__base_ctor_00b1ab80 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (0118316c). Returns this pointer. 0x00B1ABE0 81 CEffect__base_ctor_00b1abe0 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (011830dc). Returns this pointer. 0x00B1AC40 81 CEffect__base_ctor_00b1ac40 effect CEffect-derived subclass base constructor. Sets up SEH frame, initializes vtable pointer chain: first base CEffect vtable (01182ca8), then derived subclass vtable (01183178). Returns this pointer. 0x00B1ACA0 272 CEffMgr__ctor game_core CEffMgr (Effect Manager) constructor. Sets vtable to CEffMgr vtable (011829d0). Allocates 4 std::map/set sentinel nodes (sizes 0x18, 0x1C, 0x0C, 0x20) for effect tracking containers. Calls EffectManager__main_dispatch_handler to check availability and sets enabled flag at offset +4. 0x00B1ADB0 72 CEffect__base_dtor effect Base destructor for a CEffect-derived class. Resets vtable pointer chain in reverse order: first to the derived vtable, then back to the base CEffect vtable. 0x00B1AE00 72 CEffect__base_dtor_00b1ae00 effect Base destructor for a CEffect-derived class. Resets vtable pointer chain in reverse order: first to derived vtable (011830a0), then back to base CEffect vtable (01182ca8). SEH frame setup/teardown. 0x00B1AE50 72 CEffect__base_dtor_00b1ae50 effect Base destructor for a CEffect-derived class. Resets vtable pointer chain in reverse order: first to derived vtable (01182de8), then back to base CEffect vtable (01182ca8). SEH frame setup/teardown. 0x00B1AEA0 72 CEffect__base_dtor_00b1aea0 effect Base destructor for a CEffect-derived class. Resets vtable pointer chain in reverse order: first to derived vtable (01182fb0), then back to base CEffect vtable (01182ca8). SEH frame setup/teardown. 0x00B1AEF0 72 CEffect__base_dtor_00b1aef0 effect Base destructor for a CEffect-derived class. Resets vtable pointer chain in reverse order: first to derived vtable (01182f50), then back to base CEffect vtable (01182ca8). SEH frame setup/teardown. 0x00B1AF40 72 CEffect__base_dtor_00b1af40 effect Base destructor for a CEffect-derived class. Resets vtable pointer chain in reverse order: first to derived vtable (01182ddc), then back to base CEffect vtable (01182ca8). SEH frame setup/teardown. 0x00B1AF90 72 CEffect_subclass__dtor_00b1af90 effect Effect subclass destructor. Sets class vtable PTR_FUN_011830d0, then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1AFE0 72 CEffect_subclass__dtor_00b1afe0 effect Effect subclass destructor. Sets class vtable PTR_FUN_011830c4, then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B030 72 CEffect_subclass__dtor_00b1b030 effect Effect subclass destructor. Sets class vtable PTR_FUN_01182f38, then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B080 72 CEffect_subclass__dtor_00b1b080 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B0D0 72 CEffect_subclass__dtor_00b1b0d0 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B120 72 CEffect_subclass__dtor_00b1b120 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B170 72 CEffect_subclass__dtor_00b1b170 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B1C0 72 CEffect_subclass__dtor_00b1b1c0 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B210 72 CEffect_subclass__dtor_00b1b210 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B260 72 CEffect_subclass__dtor_00b1b260 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B2B0 72 CEffect_subclass__dtor_00b1b2b0 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B300 72 CEffect_subclass__dtor_00b1b300 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B350 72 CEffect_subclass__dtor_00b1b350 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B3A0 72 CEffect_subclass__dtor_00b1b3a0 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B3F0 72 CEffect_subclass__dtor_00b1b3f0 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B440 72 CEffect_subclass__dtor_00b1b440 effect Effect subclass destructor. Sets class-specific vtable then base vtable PTR__scalar_deleting_destructor__01182ca8. 0x00B1B490 72 CEffect_subclass__dtor_00b1b490 effect Effect subclass destructor. Sets class-specific vtable (011830b8) then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B4E0 72 CEffect_subclass__dtor_00b1b4e0 effect Effect subclass destructor. Sets class-specific vtable (01183088) then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B530 72 CEffect_subclass__dtor_00b1b530 effect Effect subclass destructor. Sets class-specific vtable (01182fe0) then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B580 72 CEffect_subclass__dtor_00b1b580 effect Effect subclass destructor. Sets class-specific vtable (01182d34) then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B5D0 72 CEffect_subclass__dtor_00b1b5d0 effect Effect subclass destructor. Sets class-specific vtable (011830e8) then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B620 72 CEffect_subclass__dtor_00b1b620 effect Effect subclass destructor. Sets class-specific vtable (01182cf8) then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B670 72 CEffect_subclass__dtor_00b1b670 effect Effect subclass destructor. Sets class-specific vtable (01182d64) then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B6C0 72 CEffect_subclass__dtor_00b1b6c0 effect Effect subclass destructor. Sets class-specific vtable (01183040) then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B710 72 CEffect_subclass__dtor_00b1b710 effect Effect subclass destructor. Sets class-specific vtable (0118304c) then base vtable PTR__scalar_deleting_destructor__01182ca8. SEH frame setup/teardown. 0x00B1B760 72 CEffect_subclass__dtor_00b1b760 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (01182f44), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1B7B0 72 CEffect_subclass__dtor_00b1b7b0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1B800 72 CEffect_subclass__dtor_00b1b800 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1B850 72 CEffect_subclass__dtor_00b1b850 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1B8A0 72 CEffect_subclass__dtor_00b1b8a0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (0118313c), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1B8F0 72 CEffect_subclass__dtor_00b1b8f0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1B940 72 CEffect_subclass__dtor_00b1b940 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1B990 72 CEffect_subclass__dtor_00b1b990 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1B9E0 72 CEffect_subclass__dtor_00b1b9e0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BA30 72 CEffect_subclass__dtor_00b1ba30 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (011830f4), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1BA80 72 CEffect_subclass__dtor_00b1ba80 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BAD0 72 CEffect_subclass__dtor_00b1bad0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BB20 72 CEffect_subclass__dtor_00b1bb20 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BB70 72 CEffect_subclass__dtor_00b1bb70 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BBC0 72 CEffect_subclass__dtor_00b1bbc0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BC10 72 CEffect_subclass__dtor_00b1bc10 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (01182ecc), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1BC60 72 CEffect_subclass__dtor_00b1bc60 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BCB0 72 CEffect_subclass__dtor_00b1bcb0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BD00 72 CEffect_subclass__dtor_00b1bd00 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BD50 72 CEffect_subclass__dtor_00b1bd50 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BDA0 72 CEffect_subclass__dtor_00b1bda0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BDF0 72 CEffect_subclass__dtor_00b1bdf0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (01182ce0), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1BE40 72 CEffect_subclass__dtor_00b1be40 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (01182ec0), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1BE90 72 CEffect_subclass__dtor_00b1be90 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BEE0 72 CEffect_subclass__dtor_00b1bee0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BF30 72 CEffect_subclass__dtor_00b1bf30 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BF80 72 CEffect_subclass__dtor_00b1bf80 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1BFD0 72 CEffect_subclass__dtor_00b1bfd0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C020 72 CEffect_subclass__dtor_00b1c020 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C070 72 CEffect_subclass__dtor_00b1c070 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (01183034), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1C0C0 72 CEffect_subclass__dtor_00b1c0c0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C110 72 CEffect_subclass__dtor_00b1c110 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C160 72 CEffect_subclass__dtor_00b1c160 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C1B0 72 CEffect_subclass__dtor_00b1c1b0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C200 72 CEffect_subclass__dtor_00b1c200 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (01182e90), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1C250 72 CEffect_subclass__dtor_00b1c250 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C2A0 72 CEffect_subclass__dtor_00b1c2a0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C2F0 72 CEffect_subclass__dtor_00b1c2f0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C340 72 CEffect_subclass__dtor_00b1c340 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C390 72 CEffect_subclass__dtor_00b1c390 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C3E0 72 CEffect_subclass__dtor_00b1c3e0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C430 72 CEffect_subclass__dtor_00b1c430 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (01182f5c), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1C480 72 CEffect_subclass__dtor_00b1c480 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C4D0 72 CEffect_subclass__dtor_00b1c4d0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C520 72 CEffect_subclass__dtor_00b1c520 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C570 72 CEffect_subclass__dtor_00b1c570 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C5C0 72 CEffect_subclass__dtor_00b1c5c0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C610 72 CEffect_subclass__dtor_00b1c610 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C660 72 CEffect_subclass__dtor_00b1c660 effect CEffect subclass destructor. Sets vtable to CEffect-derived class, then chains to base scalar_deleting_destructor vtable. SEH frame for exception safety. 0x00B1C6B0 72 CEffect_subclass__dtor_00b1c6b0 effect CEffect subclass destructor. Sets vtable to CEffect-derived class (01183130), then chains to base scalar_deleting_destructor vtable (01182ca8). SEH frame for exception safety. 0x00B1C700 72 CEffect_subclass__dtor_00b1c700 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182d70), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1C750 72 CEffect_subclass__dtor_00b1c750 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182e0c), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1C7A0 72 CEffect_subclass__dtor_00b1c7a0 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182d7c), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1C7F0 72 CEffect_subclass__dtor_00b1c7f0 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182ee4), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1C840 72 CEffect_subclass__dtor_00b1c840 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182e30), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1C890 72 CEffect_subclass__dtor_00b1c890 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182f74), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1C8E0 72 CEffect_subclass__dtor_00b1c8e0 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182dac), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1C930 72 CEffect_subclass__dtor_00b1c930 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182ef0), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1C980 72 CEffect_subclass__dtor_00b1c980 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182e78), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1C9D0 72 CEffect_subclass__dtor_00b1c9d0 effect CEffect subclass destructor. Resets vtable to subclass vtable (01183100), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CA20 72 CEffect_subclass__dtor_00b1ca20 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182f14), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CA70 72 CEffect_subclass__dtor_00b1ca70 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182d40), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CAC0 72 CEffect_subclass__dtor_00b1cac0 effect CEffect subclass destructor. Resets vtable to subclass vtable (01183154), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CB10 72 CEffect_subclass__dtor_00b1cb10 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182f2c), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CB60 72 CEffect_subclass__dtor_00b1cb60 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182e18), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CBB0 72 CEffect_subclass__dtor_00b1cbb0 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182f8c), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CC00 72 CEffect_subclass__dtor_00b1cc00 effect CEffect subclass destructor. Resets vtable to subclass vtable (01182e60), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CC50 72 CEffect_subclass__dtor_00b1cc50 effect CEffect subclass destructor. Resets vtable to subclass vtable (0118316c), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CCA0 72 CEffect_subclass__dtor_00b1cca0 effect CEffect subclass destructor. Resets vtable to subclass vtable (011830dc), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CCF0 72 CEffect_subclass__dtor_00b1ccf0 effect CEffect subclass destructor. Resets vtable to subclass vtable (01183178), then to base class vtable (01182ca8) for proper destruction chain. 0x00B1CD40 67 CEffectManager__free_node_0xc_member effect Frees member at param_1+4 (0xc-byte node) if non-null. SEH protected. 0x00B1CD90 67 CEffectManager__free_node_0x18_member effect Frees member at param_1+4 (0x18-byte node) if non-null. SEH protected. 0x00B1CDE0 67 CEffectManager__free_node_0x1c_member effect Frees member at param_1+4 (0x1c-byte node) if non-null. SEH protected. 0x00B1CE30 67 CEffectManager__free_node_0x20_member effect Frees member at param_1+4 (0x20-byte node) if non-null. SEH protected. 0x00B1CE80 78 CEffectManager__free_0xc_node_at_offset4 effect Frees 0xc-byte node at param_1+4 if non-null. Slight variant of free_node pattern with different stack cookie handling. 0x00B1CED0 111 CEffectManager__clear_rb_tree_and_free_nodes effect Iterates red-black tree rooted at *param_1, calls erase function on each key, frees each 0x18-byte tree node, then frees the sentinel node. Checks node+0xd for is-nil flag. 0x00B1CF50 76 CEffectManager__destroy_map_0x1c effect Destroys a std::map-like container. Calls cleanup on all nodes via FUN_00b186a0, then frees the 0x1c-byte sentinel node. 0x00B1CFB0 76 CEffectManager__destroy_map_0x20 effect Destroys a std::map-like container. Calls cleanup on all nodes via FUN_00b18760, then frees the 0x20-byte sentinel node. 0x00B1D010 78 CEffectManager__free_0x18_node_if_exists_00b1d010 effect Conditionally frees 0x18-byte allocation at param_1+4 if non-null. SEH protected. 0x00B1D060 110 CEffectManager__cleanup_subtree_and_free_0x1c effect Cleans up subtree member: if param_1[1] non-null, calls FUN_00b188e0 on child, then frees the 0x1c-byte node. 0x00B1D0D0 116 CEffectManager__cleanup_and_free_0x20_node effect If member at param_1+4 is non-null, calls FUN_00b1d490 to deallocate vector content, then frees the 0x20-byte node. 0x00B1D150 78 CEffectManager__free_0x18_node_if_exists_00b1d150 effect Conditionally frees 0x18-byte allocation at param_1+4 if non-null. SEH protected. 0x00B1D1A0 78 CEffectManager__free_0x1c_node_if_exists effect Conditionally frees 0x1c-byte allocation at param_1+4 if non-null. SEH protected. 0x00B1D1F0 78 CEffectManager__free_0x20_node_if_exists effect Conditionally frees 0x20-byte allocation at param_1+4 if non-null. SEH protected. 0x00B1D240 103 CEffectManager__free_linked_list_0xc effect Frees entire singly-linked list. Iterates from head (*param_1), zeroes tail counter, frees each 0xc-byte node, then frees the sentinel. 0x00B1D2B0 65 CEffectManager__clear_rb_tree_wrapper effect Wrapper that calls CEffectManager__clear_rb_tree_and_free_nodes. SEH protected. 0x00B1D300 87 CEffectManager__destroy_map_0x1c_variant effect Destroys a std::map container. Calls cleanup on all nodes via FUN_00b186a0, then frees the 0x1c-byte sentinel. 0x00B1D360 87 CEffectManager__destroy_map_0x20_variant effect Destroys a std::map container. Calls cleanup on all nodes via FUN_00b18760, then frees the 0x20-byte sentinel. 0x00B1D3C0 116 CEffectManager__free_linked_list_at_offset4 effect Frees entire singly-linked list starting from *(param_1+4). Zeroes tail counter, frees each 0xc-byte node, then frees sentinel. 0x00B1D440 68 CEffectManager__deallocate_vector_wrapper effect Wrapper that calls FUN_00b1d490 (vector deallocation) on param_1. SEH protected. 0x00B1D490 129 CEffectManager__deallocate_vector effect Deallocates a std::vector buffer. Checks alignment for debug heap (>0xfff threshold), validates padding bytes, then frees memory. Zeroes the 3 vector fields (begin, end, capacity). 0x00B1D530 241 CEffectManager__dtor_cleanup_containers effect Complex destructor cleanup. Sets vtable PTR_FUN_011829d0, destroys multiple containers: calls FUN_00b255b0, cleans up map at offset+8, frees linked list at offset+6, cleans up map at offset+4, and clears rb-tree via FUN_00b1ced0. 0x00B1D630 71 CEffectBase__dtor_set_vtable_and_cleanup effect Effect base destructor. Sets vtable to PTR_LAB_01182a64, then calls FUN_00b4dd10 for base class cleanup. 0x00B1D680 95 CEffGroundGrow__dtor_chain game_core CEffGroundGrow destructor chain. Sets vtable PTR_LAB_011829d8, calls CEffGroundGrow__dtor, then FUN_00b4dd10 for base cleanup. 0x00B1D6E0 210 CEffectWithDualLists__dtor effect Destructor for effect class with two linked lists at offsets 0x34 and 0x36. Sets vtable PTR_LAB_01182af0, frees both linked lists (0xc-byte nodes each), then calls FUN_00b4dd10 for base cleanup. 0x00B1D7C0 71 CEffectBase__dtor_variant_vtable_01182b7c effect Effect base destructor variant. Sets vtable to PTR_LAB_01182b7c, then calls FUN_00b4dd10 for base class cleanup. 0x00B1D810 83 CEffectManager__free_linked_list_from_offset4 effect Frees singly-linked list starting at *(param_1+4). Walks forward pointers, frees each 0xc-byte node. Does not free sentinel. 0x00B1D870 265 CEffectManager__rb_tree_insert_effect_entry effect Inserts an entry into a red-black tree (std::map). Searches for the key from param_2, and if not found or key is less, creates a new 0x1c-byte node with embedded key, linked list sentinel (0xc bytes), and calls Insert_node to place it in the tree. Returns pointer to data at node+0x14. 0x00B1D980 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00B1D9E0 236 CEffectFactory__get_or_init_factory_table effect Thread-local singleton initializer for the effect factory table. On first call, copies 0x44 bytes of factory function pointers from global data (5 vtable arrays) into TLS at offset 0xb268, sets initialized flag at TLS+0xb2ac, registers atexit cleanup FUN_0109a7c0. Returns pointer to the TLS factory table. 0x00B1DAD0 120 create_CEffectMachine game_core Factory function: allocates 0xd8 bytes via operator_new(nothrow), calls CEffectMachine__ctor to construct. Returns new object or 0 on allocation failure. 0x00B1DB50 120 create_CEffectAcidifiedZone game_core Factory function: allocates 0xf0 bytes, calls CEffectAcidifiedZone__ctor. Returns new object or 0. 0x00B1DBD0 120 create_CEffectParticle game_core Factory function: allocates 0x1a4 bytes, calls CEffectParticle__update (likely misnamed ctor). Returns new object or 0. 0x00B1DC50 120 create_CEffectAstralStrike game_core Factory function: allocates 0xe4 bytes, calls CEffectAstralStrike__ctor. Returns new object or 0. 0x00B1DCD0 120 create_CEffectProjectile game_core Factory function: allocates 0xf4 bytes, calls CEffectProjectile__ctor. Returns new object or 0. 0x00B1DD50 120 create_CEffectAura game_core Factory function: allocates 0xd8 bytes, calls CEffectAura__ctor. Returns new object or 0. 0x00B1DDD0 120 create_CEffectTimedSprite game_core Factory function: allocates 0xe8 bytes, calls CEffectTimedSprite__ctor. Returns new object or 0. 0x00B1DE50 120 create_CEffectGround game_core Factory function: allocates 0xe8 bytes, calls CEffectGround__ctor. Returns new object or 0. 0x00B1DED0 120 create_CEffectBeam game_core Factory function: allocates 0x100 bytes, calls CEffectBeam__scalar_dtor (likely misnamed ctor). Returns new object or 0. 0x00B1DF50 120 create_CEffectAuraField game_core Factory function: allocates 0xdc bytes, calls CEffectAuraField__ctor. Returns new object or 0 on allocation failure. 0x00B1DFD0 120 create_CEffDragonKnight game_core Factory function: allocates 0xcc bytes, calls CEffDragonKnight__ctor. Returns new object or 0. 0x00B1E050 120 create_CEffDragonKnightCharge game_core Factory function: allocates 0x194 bytes, calls CEffDragonKnightCharge__ctor. Returns new object or 0 on allocation failure. 0x00B1E0D0 120 create_CEffDragonKnightHit game_core Factory function: allocates 0xd4 bytes, calls CEffDragonKnightHit__ctor. Returns new object or 0 on allocation failure. 0x00B1E150 120 create_CEffectAuraCherryBlossom game_core Factory function: allocates 0x198 bytes, calls CEffectAuraCherryBlossom__ctor. Returns new object or 0 on allocation failure. 0x00B1E1D0 177 create_CUIWorldMap game_core Factory function: allocates 0xf8 bytes, memsets to 0, calls CUIWorldMap__ctor, sets vtable PTR_LAB_01182c08, and zeroes fields at offsets 0x3a and 0x3b. Returns new object or 0. 0x00B1E290 120 create_CEffHyperNovice_spell game_core Factory function: allocates 0xd4 bytes, calls CEffHyperNovice__dtor_spell (likely misnamed ctor). Returns new object or 0. 0x00B1E310 120 create_CEffectOrbit game_core Factory function: allocates 300 (0x12c) bytes, calls CEffectOrbit__ctor_006fb9a0 to construct a CEffectOrbit object. Returns new object or 0 on allocation failure. 0x00B1E390 120 create_CEffectCamera game_core Factory function: allocates 0xe8 bytes, calls CEffectCamera__dtor (likely misnamed ctor). Returns new object or 0. 0x00B1E410 120 create_CEffectParticle_small game_core Factory function: allocates 0xd8 bytes, calls CEffectParticle__ctor_006fd760 to construct a smaller CEffectParticle variant (0xd8 vs 0x1a4). Returns new object or 0 on allocation failure. 0x00B1E490 120 create_CEffCompetentia game_core Factory function: allocates 0xd8 bytes, calls CEffCompetentia__ctor. Returns new object or 0. 0x00B1E510 120 create_CEffectPocket game_core Factory function: allocates 0xd0 bytes, calls CEffectPocket__ctor. Returns new object or 0. 0x00B1E590 120 create_CEffectArrowProjectile game_core Factory function: allocates 0xd0 bytes, calls CEffectArrowProjectile__ctor. Returns new object or 0. 0x00B1E610 120 create_CEffectCurseCube game_core Factory function: allocates 0xe8 bytes, calls CEffectCurseCube__ctor. Returns new object or 0. 0x00B1E690 120 create_CEffectNipelheim game_core Factory function: allocates 0xdc bytes, calls CEffectNipelheim__render_particle (likely misnamed ctor). Returns new object or 0. 0x00B1E710 120 create_CEffectDancingKnife game_core Factory function: allocates 0xe8 bytes, calls CEffectDancingKnife__scalar_deleting_dtor (likely misnamed ctor). Returns new object or 0. 0x00B1E790 120 create_CEffectNameplate game_core Factory function: allocates 0x108 bytes, calls CEffectNameplate__ctor. Returns new object or 0 on allocation failure. 0x00B1E810 120 create_CEffNavMapEff game_core Factory function: allocates 0xdc bytes, calls CEffNavMapEff__ctor. Returns new object or 0 on allocation failure. 0x00B1E890 120 create_CEffectParticleEmitter game_core Factory function: allocates 0x18c bytes, calls CEffectParticleEmitter__ctor. Returns new object or 0 on allocation failure. 0x00B1E910 120 create_CEffectOrbit_variant game_core Factory function: allocates 0xe0 bytes, calls CEffectOrbit__ctor_00b50d10 (smaller variant, 0xe0 vs 0x12c). Returns new object or 0 on allocation failure. 0x00B1E990 120 create_CEffectEternalSlash game_core Factory function: allocates 0xd8 bytes, calls CEffectEternalSlash__clear_particles (likely misnamed ctor). Returns new object or 0. 0x00B1EA10 120 create_CEffectEternalSlashCount game_core Factory function: allocates 0xd0 bytes, calls CEffectEternalSlashCount__ctor. Returns new object or 0. 0x00B1EA90 120 create_CEffEvilLand game_core Factory function: allocates 0xd8 bytes, calls CEffEvilLand__ctor. Returns new object or 0. 0x00B1EB10 120 create_CEffEZ2StrData game_core Factory function: allocates 0x100 bytes, calls CEffEZ2StrData__ctor. Returns new object or 0. 0x00B1EB90 120 create_CEffectEternalSlashCount_variant game_core Factory function: allocates 0xdc bytes, calls CEffectEternalSlashCount__check_and_clear_render (likely misnamed ctor). Returns new object or 0. 0x00B1EC10 120 create_CEffectFloralFlareroad game_core Factory function: allocates 0xdc bytes, calls CEffectFloralFlareroad__check_and_clear_render (likely misnamed ctor). Returns new object or 0. 0x00B1EC90 120 create_CFootprintPng game_core Factory function: allocates 0x128 bytes, calls CFootprintPng__ctor. Returns new object or 0 on allocation failure. 0x00B1ED10 120 create_CFootprintStr game_core Factory function: allocates 0x178 bytes, calls CFootprintStr__ctor. Returns new object or 0. 0x00B1ED90 120 create_CEffRingBlue game_core Factory function: allocates 0xf0 bytes, calls CEffRingBlue__ctor. Returns new object or 0. 0x00B1EE10 120 create_CFootprintMgr game_core Factory function: allocates 0xf0 bytes, calls CFootprintMgr__ctor. Returns new object or 0. 0x00B1EE90 120 create_CShadowDecal game_core Factory function: allocates 0xdc bytes, calls CShadowDecal__ctor. Returns new object or 0. 0x00B1EF10 120 create_CEffShinkiro game_core Factory function: allocates 0xe4 bytes, calls CEffShinkiro__dtor (likely misnamed ctor). Returns new object or 0. 0x00B1EF90 120 create_CGaleStorm game_core Factory function: allocates 0xe0 bytes, calls CGaleStorm__ctor. Returns new object or 0. 0x00B1F010 173 create_CEffectAura_negative game_core Factory function: allocates 0xd8 bytes, calls CEffectAura__ctor_00b4dae0 with id=-1, sets own vtable PTR_LAB_01182a64, initializes fields (offset 0x35 = -20.0f). Returns new CEffectAura subclass or 0. 0x00B1F0C0 120 create_CProjectile game_core Factory function: allocates 0x138 bytes, calls CProjectile__ctor. Returns new object or 0. 0x00B1F140 120 create_CEffectBeamRing game_core Factory function: allocates 0x12c bytes, calls CEffectBeamRing__ctor. Returns new object or 0 on allocation failure. 0x00B1F1C0 120 create_CWavEffect game_core Factory function: allocates 0x11c bytes, calls CWavEffect__ctor. Returns new object or 0. 0x00B1F240 120 create_CEffectThunderPlasma game_core Factory function: allocates 0xf0 bytes, calls CEffectThunderPlasma__ctor. Returns new object or 0. 0x00B1F2C0 120 create_CEffHyperNovice_extended game_core Factory function: allocates 0xec bytes, calls CEffHyperNovice__ctor_extended. Returns new object or 0. 0x00B1F340 120 create_CEffectAuraBeam game_core Factory function: allocates 0xfc bytes, calls CEffectAuraBeam__ctor. Returns new object or 0 on allocation failure. 0x00B1F3C0 120 create_CEffectAuraRing game_core Factory function: allocates 0xd8 bytes, calls CEffectAuraRing__ctor. Returns new object or 0 on allocation failure. 0x00B1F440 120 create_CEffectSparkle game_core Factory function: allocates 0xfc bytes, calls CEffectSparkle__ctor. Returns new object or 0 on allocation failure. 0x00B1F4C0 120 create_CEffectBeamRing2 game_core Factory function: allocates 0x198 bytes, calls CEffectBeamRing2__ctor. Returns new object or 0 on allocation failure. 0x00B1F540 120 create_CEffectBeamRing3 game_core Factory function: allocates 0x198 bytes, calls CEffectBeamRing3__ctor. Returns new object or 0 on allocation failure. 0x00B1F5C0 120 create_CEffectThunder game_core Factory function: allocates 0xe4 bytes, calls CEffectThunder__ctor. Returns new object or 0 on allocation failure. 0x00B1F640 120 create_CEffectAuraTrail game_core Factory function: allocates 0x114 bytes, calls CEffectAuraTrail__ctor. Returns new object or 0 on allocation failure. 0x00B1F6C0 120 create_CEffectAura_variant game_core Factory function: allocates 0x104 bytes, calls CEffectAura__variant_ctor. Returns new object or 0 on allocation failure. 0x00B1F740 197 create_CEffectAura_grid_variant game_core Factory function: allocates 0xe0 bytes, calls CEffectAura__ctor_00b4dae0 with id=-1, sets vtable PTR_LAB_011829d8, initializes fields (offset 0x36 = 12 for grid height). Returns new CEffectAura subclass or 0. 0x00B1F810 120 create_CEffectCloudKill game_core Factory function: allocates 0xfc bytes, calls CEffectCloudKill__clear_particles (likely misnamed ctor). Returns new object or 0. 0x00B1F890 120 create_CEffNyangGrass game_core Factory function: allocates 0xdc bytes, calls CEffNyangGrass__ctor_with_grid. Returns new object or 0. 0x00B1F910 120 create_CEffectPetitio game_core Factory function: allocates 0xd8 bytes, calls CEffectPetitio__check_and_clear_render (likely misnamed ctor). Returns new object or 0. 0x00B1F990 120 create_CEffectPneumaticusProcella game_core Factory function: allocates 0xdc bytes, calls CEffectPneumaticusProcella__ctor. Returns new object or 0. 0x00B1FA10 120 create_CEffGroundGrow game_core Factory function: allocates 0xe8 bytes, calls CEffGroundGrow__ctor. Returns new object or 0. 0x00B1FA90 120 create_CEffectSecondFalth game_core Factory function: allocates 0xd4 bytes, calls CEffectSecondFalth__ctor. Returns new object or 0. 0x00B1FB10 120 create_CEffectSpiralStrike game_core Factory function: allocates 0xf0 bytes, calls CEffectSpiralStrike__ctor. Returns new object or 0. 0x00B1FB90 120 create_CEffectCresciveBolt game_core Factory function: allocates 0xf4 bytes, calls CEffectCresciveBolt__ctor. Returns new object or 0. 0x00B1FC10 120 create_CEffectRichsCoin game_core Factory function: allocates 0xe8 bytes, calls CEffectRichsCoin__ctor. Returns new object or 0. 0x00B1FC90 120 create_CEffectMobProjectile game_core Factory function: allocates 0xd8 bytes, calls CEffectMobProjectile__ctor. Returns new object or 0. 0x00B1FD10 120 create_CEffectSpiralOrb game_core Factory function: allocates 0xe0 bytes, calls CEffectSpiralOrb__ctor. Returns new object or 0. 0x00B1FD90 120 create_CEffectTornado game_core Factory function: allocates 0x104 bytes, calls CEffectTornado__ctor. Returns new object or 0. 0x00B1FE10 120 create_CEffectSavageImpact game_core Factory function: allocates 0xdc bytes, calls CEffectSavageImpact__ctor. Returns new object or 0. 0x00B1FE90 120 create_CEffectNyangGrass game_core Factory function: allocates 0xd8 bytes, calls CEffectNyangGrass__ctor. Returns new object or 0. 0x00B1FF10 120 create_CEffectServantWeapon game_core Factory function: allocates 0x144 bytes, calls CEffectServantWeapon ctor (misnamed as __dtor in callee) to construct the large CEffectServantWeapon variant. Returns new object or 0 on allocation failure. 0x00B1FF90 120 create_CEffectServantWeapon_small game_core Factory function: allocates 0xdc bytes, calls CEffectServantWeapon__ctor to construct the small CEffectServantWeapon variant (0xdc vs 0x144 for the large variant). Returns new object or 0 on allocation failure. 0x00B20010 120 create_CEffectGroundSkill game_core Factory function: allocates 0xd8 bytes, calls CEffectGroundSkill__render (likely misnamed ctor). Returns new object or 0. 0x00B20090 120 create_CEffectShadowExceed game_core Factory function: allocates 0xdc bytes, calls CEffectShadowExceed__render (likely misnamed ctor). Returns new object or 0. 0x00B20110 240 create_CEffectAuraDualList game_core Factory function: allocates 0xe0 bytes, calls CEffectAura base ctor with type 0x9a3, sets vtable 01182af0, initializes two linked list sentinels at offsets 0x34 and 0x36. Returns new object or 0. 0x00B20200 120 create_CEffectSoulCollect game_core Factory function: allocates 0xD4 bytes, calls CEffectSoulCollect__ctor_00729400 to construct a CEffectSoulCollect object. Returns new object or 0 on allocation failure. 0x00B20280 120 create_CEffectGroundHit game_core Factory function: allocates 0xDC bytes, calls CEffectGroundHit__ctor. Returns new object or 0. 0x00B20300 120 create_CEffectSoulCollect_linked_list game_core Factory function: allocates 0xD4 bytes, calls CEffectSoulCollect__ctor_linked_list to construct a CEffectSoulCollect variant with linked list initialization. Returns new object or 0 on allocation failure. 0x00B20380 120 create_CEffectStarEmperorBoom game_core Factory function: allocates 0xD4 bytes, calls CEffectStarEmperorBoom__ctor to construct a CEffectStarEmperorBoom object. Returns new object or 0 on allocation failure. 0x00B20400 279 create_CEffectAuraScaled game_core Factory function: allocates 0x100 bytes, calls CEffectAura base ctor with type 0x964, sets vtable 01182b7c, initializes 14 fields including scale=1.0f at offset 0x3b and mode=0x100 at offset 0x3f. Returns new object or 0. 0x00B20520 120 create_CEffectSoulStrike game_core Factory function: allocates 0xD8 bytes, calls CEffectSoulStrike__ctor. Returns new object or 0. 0x00B205A0 120 create_CEffectSkillAura game_core Factory function: allocates 0xD8 bytes, calls CEffectSkillAura__ctor to construct a CEffectSkillAura object. Returns new object or 0 on allocation failure. 0x00B20620 120 create_CEffectRingBlueSmall game_core Factory function: allocates 0xE0 bytes, calls CEffectRingBlueSmall__ctor. Returns new object or 0. 0x00B206A0 120 create_CEffectStarEmperorBook game_core Factory function: allocates 0xE4 bytes, calls CEffectStarEmperorBook__ctor to construct a CEffectStarEmperorBook object (note: Book, not Boom). Returns new object or 0 on allocation failure. 0x00B20720 120 create_CEffectDirectionalProjectile game_core Factory function: allocates 0xD8 bytes, calls CEffectDirectionalProjectile__ctor to construct a CEffectDirectionalProjectile object. Returns new object or 0 on allocation failure. 0x00B207A0 120 create_CEffectStormCannon game_core Factory function: allocates 0x100 bytes, calls CEffectStormCannon__ctor_0072cdc0 to construct a CEffectStormCannon object. Returns new object or 0 on allocation failure. 0x00B20820 120 create_CEffectSkillAuraLarge game_core Factory function: allocates 0xFC bytes, calls CEffectSkillAura__ctor_00b7b340 (larger variant). Returns new object or 0. 0x00B208A0 120 create_CEffectTetraVortex game_core Factory function: allocates 0xD4 bytes, calls CEffectTetraVortex__ctor to construct a CEffectTetraVortex object (first/base variant). Returns new object or 0 on allocation failure. 0x00B20920 120 create_CEffectSingleProjectile game_core Factory function: allocates 0xD0 bytes, calls CEffectSingleProjectile__ctor to construct a CEffectSingleProjectile object. Returns new object or 0 on allocation failure. 0x00B209A0 120 create_CEffectTetraVortexB game_core Factory function: allocates 0xD8 bytes, calls CEffectTetraVortexB__ctor to construct a CEffectTetraVortexB object (second variant). Returns new object or 0 on allocation failure. 0x00B20A20 120 create_CEffectTetraVortexC game_core Factory function: allocates 0xE0 bytes, calls CEffectTetraVortexC__ctor to construct a CEffectTetraVortexC object (third variant). Returns new object or 0 on allocation failure. 0x00B20AA0 120 create_CEffectOrbit_00b20aa0 game_core Factory function: allocates 0x104 bytes, calls CEffectOrbit__ctor. Returns new object or 0. 0x00B20B20 334 create_CEffectWithXorDecryptedName game_core Factory function: allocates 0xFC bytes, XOR-decrypts a string (key 0x118d157f/0x2f8b0f37, 0x44 bytes) from effect factory table, builds std::string, then constructs CDerivedExceptionA with that name. Returns new object or 0. 0x00B20C70 120 create_CTriangleShotEffect game_core Factory function: allocates 0x100 bytes, calls CTriangleShotEffect__ctor. Returns new object or 0. 0x00B20CF0 120 create_CEffectGroundAura game_core Factory function: allocates 0xD8 bytes, calls CEffectGroundAura__ctor to construct a CEffectGroundAura object. Returns new object or 0 on allocation failure. 0x00B20D70 120 CProjectileEffect__create game_core Factory function: allocates 0xD8 bytes, calls CProjectileEffect__constructor to construct a projectile effect. Returns new object or 0 on allocation failure. 0x00B20DF0 120 create_CEffectWarningPlane game_core Factory function: allocates 0xE0 bytes, calls CEffectWarningPlane__ctor to construct a CEffectWarningPlane object. Returns new object or 0 on allocation failure. 0x00B20E70 504 CDerivedExceptionB__create_with_tls_xor_decrypt game_core Factory: allocates 0xFC bytes. Uses TLS to access thread-local encrypted data (0x3B bytes at TLS offset 0xb2b4). On first access, copies encrypted data from global DAT_01183300/01183320/01183330 and registers atexit cleanup. Decrypts with XOR keys 0xdeb998f/0x39ff7fb5, builds std::string, constructs CDerivedExceptionB. 0x00B21070 120 CParticleEffect__create game_sprites Factory function: allocates 0x138 bytes, calls CParticleEffect__constructor. Returns new object or 0 on allocation failure. 0x00B210F0 120 CUINavigator__create game_core Factory function: allocates 0x110 bytes, calls CUINavigator__ctor to construct a UI navigator. Returns new object or 0 on allocation failure. 0x00B21170 97 CEffect__scalar_deleting_dtor_vtbl_01182fd4 effect Scalar deleting destructor for CEffect subclass (vtable 01182fd4). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B211E0 97 CEffect__scalar_deleting_dtor_vtbl_011830a0 effect Scalar deleting destructor for CEffect subclass (vtable 011830a0). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21250 97 CEffect__scalar_deleting_dtor_vtbl_01182de8 effect Scalar deleting destructor for CEffect subclass (vtable 01182de8). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B212C0 97 CEffect__scalar_deleting_dtor_vtbl_01182fb0 effect Scalar deleting destructor for CEffect subclass (vtable 01182fb0). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21330 97 CEffect__scalar_deleting_dtor_vtbl_01182f50 effect Scalar deleting destructor for CEffect subclass (vtable 01182f50). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B213A0 97 CEffect__scalar_deleting_dtor_vtbl_01182ddc effect Scalar deleting destructor for CEffect subclass (vtable 01182ddc). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21410 97 CEffect__scalar_deleting_dtor_vtbl_011830d0 effect Scalar deleting destructor for CEffect subclass (vtable 011830d0). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21480 97 CEffect__scalar_deleting_dtor_vtbl_011830c4 effect Scalar deleting destructor for CEffect subclass (vtable 011830c4). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B214F0 97 CEffect__scalar_deleting_dtor_vtbl_01182f38 effect Scalar deleting destructor for CEffect subclass (vtable 01182f38). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21560 97 CEffect__scalar_deleting_dtor_vtbl_01182d94 effect Scalar deleting destructor for CEffect subclass (vtable 01182d94). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B215D0 97 CEffect__scalar_deleting_dtor_vtbl_01183118 effect Scalar deleting destructor for CEffect subclass (vtable 01183118). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21640 97 CEffect__scalar_deleting_dtor_vtbl_01182fa4 effect Scalar deleting destructor for CEffect subclass (vtable 01182fa4). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B216B0 97 CEffect__scalar_deleting_dtor_vtbl_01182f98 effect Scalar deleting destructor for CEffect subclass (vtable 01182f98). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21720 97 CEffect__scalar_deleting_dtor_vtbl_01182da0 effect Scalar deleting destructor for CEffect subclass (vtable 01182da0). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21790 97 CEffect__scalar_deleting_dtor_vtbl_01183160 effect Scalar deleting destructor for CEffect subclass (vtable 01183160). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21800 97 CEffect__scalar_deleting_dtor_vtbl_01182fbc effect Scalar deleting destructor for CEffect subclass (vtable 01182fbc). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21870 97 CEffect__scalar_deleting_dtor_vtbl_01182e9c effect Scalar deleting destructor for CEffect subclass (vtable 01182e9c). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B218E0 97 CEffect__scalar_deleting_dtor_vtbl_01182df4 effect Scalar deleting destructor for CEffect subclass (vtable 01182df4). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21950 97 CEffect__scalar_deleting_dtor_vtbl_01182dc4 effect Scalar deleting destructor for CEffect subclass (vtable 01182dc4). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B219C0 97 CEffect__scalar_deleting_dtor_vtbl_01182ff8 effect Scalar deleting destructor for CEffect subclass (vtable 01182ff8). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21A30 97 CEffect__scalar_deleting_dtor_vtbl_01183058 effect Scalar deleting destructor for CEffect subclass (vtable 01183058). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21AA0 97 CEffect__scalar_deleting_dtor_vtbl_01182f80 effect Scalar deleting destructor for CEffect subclass (vtable 01182f80). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21B10 97 CEffect__scalar_deleting_dtor_vtbl_011830b8 effect Scalar deleting destructor for CEffect subclass (vtable 011830b8). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21B80 97 CEffect__scalar_deleting_dtor_vtbl_01183088 effect Scalar deleting destructor for CEffect subclass (vtable 01183088). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21BF0 97 CEffect__scalar_deleting_dtor_vtbl_01182fe0 effect Scalar deleting destructor for CEffect subclass (vtable 01182fe0). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21C60 97 CEffect__scalar_deleting_dtor_vtbl_01182d34 effect Scalar deleting destructor for CEffect subclass (vtable 01182d34). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21CD0 97 CEffect__scalar_deleting_dtor_vtbl_011830e8 effect Scalar deleting destructor for CEffect subclass (vtable 011830e8). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21D40 97 CEffect__scalar_deleting_dtor_vtbl_01182cf8 effect Scalar deleting destructor for CEffect subclass (vtable 01182cf8). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21DB0 97 CEffect__scalar_deleting_dtor_vtbl_01182d64 effect Scalar deleting destructor for CEffect subclass (vtable 01182d64). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21E20 97 CEffect__scalar_deleting_dtor_vtbl_01183040 effect Scalar deleting destructor for CEffect subclass (vtable 01183040). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21E90 97 CEffect__scalar_deleting_dtor_vtbl_0118304c effect Scalar deleting destructor for CEffect subclass (vtable 0118304c). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21F00 97 CEffect__scalar_deleting_dtor_vtbl_01182f44 effect Scalar deleting destructor for CEffect subclass (vtable 01182f44). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21F70 97 CEffect__scalar_deleting_dtor_vtbl_01182db8 effect Scalar deleting destructor for CEffect subclass (vtable 01182db8). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B21FE0 97 CEffect__scalar_deleting_dtor_vtbl_01182e84 effect Scalar deleting destructor for CEffect subclass (vtable 01182e84). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22050 97 CEffect__scalar_deleting_dtor_vtbl_01182fc8 effect Scalar deleting destructor for CEffect subclass (vtable 01182fc8). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B220C0 97 CEffect__scalar_deleting_dtor_vtbl_0118313c effect Scalar deleting destructor for CEffect subclass (vtable 0118313c). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22130 97 CEffect__scalar_deleting_dtor_vtbl_01183148 effect Scalar deleting destructor for CEffect subclass (vtable 01183148). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B221A0 97 CEffect__scalar_deleting_dtor_vtbl_01182dd0 effect Scalar deleting destructor for CEffect subclass (vtable 01182dd0). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22210 97 CEffect__scalar_deleting_dtor_vtbl_01183094 effect Scalar deleting destructor for CEffect subclass (vtable 01183094). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22280 97 CEffect__scalar_deleting_dtor_vtbl_011830ac effect Scalar deleting destructor for CEffect subclass (vtable 011830ac). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B222F0 97 CEffect__scalar_deleting_dtor_vtbl_011830f4 effect Scalar deleting destructor for CEffect subclass (vtable 011830f4). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22360 97 CEffect__scalar_deleting_dtor_vtbl_01183070 effect Scalar deleting destructor for CEffect subclass (vtable 01183070). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B223D0 97 CEffect__scalar_deleting_dtor_vtbl_01182ed8 effect Scalar deleting destructor for CEffect subclass (vtable 01182ed8). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22440 97 CEffect__scalar_deleting_dtor_vtbl_01183064 effect Scalar deleting destructor for CEffect subclass (vtable 01183064). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B224B0 97 CEffect__scalar_deleting_dtor_vtbl_01182e54 effect Scalar deleting destructor for CEffect subclass (vtable 01182e54). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22520 97 CEffect__scalar_deleting_dtor_vtbl_01183004 effect Scalar deleting destructor for CEffect subclass (vtable 01183004). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22590 97 CEffect__scalar_deleting_dtor_vtbl_01182ecc effect Scalar deleting destructor for CEffect subclass (vtable 01182ecc). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22600 97 CEffect__scalar_deleting_dtor_vtbl_0118310c effect Scalar deleting destructor for CEffect subclass (vtable 0118310c). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22670 97 CEffect__scalar_deleting_dtor_vtbl_01182d04 effect Scalar deleting destructor for CEffect subclass (vtable 01182d04). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B226E0 97 CEffect__scalar_deleting_dtor_vtbl_01182d10 effect Scalar deleting destructor for CEffect subclass (vtable 01182d10). Resets vtable to base CEffect, optionally frees memory via operator_delete. Standard MSVC destructor pattern with SEH. 0x00B22750 97 CEffect__scalar_deleting_dtor_vtbl_01182cc8 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B227C0 97 CEffect__scalar_deleting_dtor_vtbl_01182cd4 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22830 97 CEffect__scalar_deleting_dtor_vtbl_01182ce0 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B228A0 97 CEffect__scalar_deleting_dtor_vtbl_01182ec0 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22910 97 CEffect__scalar_deleting_dtor_vtbl_01182d28 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22980 97 CEffect__scalar_deleting_dtor_vtbl_01182d1c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B229F0 97 CEffect__scalar_deleting_dtor_vtbl_01182e24 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22A60 97 CEffect__scalar_deleting_dtor_vtbl_01182eb4 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22AD0 97 CEffect__scalar_deleting_dtor_vtbl_01182e6c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22B40 97 CEffect__scalar_deleting_dtor_vtbl_01183028 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22BB0 97 CEffect__scalar_deleting_dtor_vtbl_01183034 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22C20 97 CEffect__scalar_deleting_dtor_vtbl_01182e3c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22C90 97 CEffect__scalar_deleting_dtor_vtbl_0118307c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22D00 97 CEffect__scalar_deleting_dtor_vtbl_01182ea8 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22D70 97 CEffect__scalar_deleting_dtor_vtbl_01182e00 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22DE0 97 CEffect__scalar_deleting_dtor_vtbl_01182e90 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22E50 97 CEffect__scalar_deleting_dtor_vtbl_01182e48 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22EC0 97 CEffect__scalar_deleting_dtor_vtbl_01182d4c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22F30 97 CEffect__scalar_deleting_dtor_vtbl_01182d58 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B22FA0 97 CEffect__scalar_deleting_dtor_vtbl_01182fec effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23010 97 CEffect__scalar_deleting_dtor_vtbl_01182d88 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23080 97 CEffect__scalar_deleting_dtor_vtbl_01182f68 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B230F0 97 CEffect__scalar_deleting_dtor_vtbl_01182f5c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23160 97 CEffect__scalar_deleting_dtor_vtbl_01182f20 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B231D0 97 CEffect__scalar_deleting_dtor_vtbl_0118301c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23240 97 CEffect__scalar_deleting_dtor_vtbl_01183010 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B232B0 97 CEffect__scalar_deleting_dtor_vtbl_01183124 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23320 97 CEffect__scalar_deleting_dtor_vtbl_01182cec effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23390 97 CEffect__scalar_deleting_dtor_vtbl_01182f08 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23400 97 CEffect__scalar_deleting_dtor_vtbl_01182efc effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23470 97 CEffect__scalar_deleting_dtor_vtbl_01183130 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B234E0 97 CEffect__scalar_deleting_dtor_vtbl_01182d70 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23550 97 CEffect__scalar_deleting_dtor_vtbl_01182e0c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B235C0 97 CEffect__scalar_deleting_dtor_vtbl_01182d7c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23630 97 CEffect__scalar_deleting_dtor_vtbl_01182ee4 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B236A0 97 CEffect__scalar_deleting_dtor_vtbl_01182e30 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23710 97 CEffect__scalar_deleting_dtor_vtbl_01182f74 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23780 97 CEffect__scalar_deleting_dtor_vtbl_01182dac effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B237F0 97 CEffect__scalar_deleting_dtor_vtbl_01182ef0 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23860 97 CEffect__scalar_deleting_dtor_vtbl_01182e78 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B238D0 97 CEffect__scalar_deleting_dtor_vtbl_01183100 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23940 97 CEffect__scalar_deleting_dtor_vtbl_01182f14 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B239B0 97 CEffect__scalar_deleting_dtor_vtbl_01182d40 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23A20 97 CEffect__scalar_deleting_dtor_vtbl_01183154 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23A90 97 CEffect__scalar_deleting_dtor_vtbl_01182f2c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23B00 97 CEffect__scalar_deleting_dtor_vtbl_01182e18 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23B70 97 CEffect__scalar_deleting_dtor_vtbl_01182f8c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23BE0 97 CEffect__scalar_deleting_dtor_vtbl_01182e60 effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23C50 97 CEffect__scalar_deleting_dtor_vtbl_0118316c effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23CC0 97 CEffect__scalar_deleting_dtor_vtbl_011830dc effect CEffect subclass scalar deleting destructor. Resets vtable to base CEffect, conditionally frees memory via operator_delete. 0x00B23D30 97 CEffect__scalar_deleting_dtor_vtbl_01183178 effect Scalar deleting destructor for a CEffect-derived class using vtable at 0x01183178. Sets two vtable pointers then optionally frees memory. The second vtable (0x01182CA8) is the base class vtable. 0x00B23DA0 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls destructor and optionally frees memory based on flag. 0x00B23DD0 93 CUIWorldMap__scalar_deleting_dtor game_core Scalar deleting destructor for CUIWorldMap. Calls CUIWorldMap__dtor, then conditionally frees 0xF8 bytes. param_2 bit 0 = free memory. 0x00B23E30 262 CEffMgr__scalar_deleting_dtor game_core Scalar deleting destructor for CEffMgr. Sets vtable PTR_011829d0, calls CEffectMgr__destroy_and_clear_all for cleanup, then destroys two RB-trees (0x20-byte and 0x1C-byte nodes) at offsets +0x18 and +0x20, traverses and frees linked lists at offsets +0x24/+0x30 (0xC-byte nodes each), calls CEffectManager__clear_rb_tree_and_free_nodes for base cleanup. Conditionally frees 0x28 bytes if param_2 bit 0 is set. 0x00B23F40 99 CEffBase__scalar_deleting_dtor game_core Scalar deleting destructor for an effect base class. Sets vtable PTR_LAB_01182a64, calls FUN_00b4dd10 for base cleanup. Conditionally frees 0xD8 bytes. param_2 bit 0 = free memory. 0x00B23FB0 119 CEffGroundGrow__scalar_deleting_dtor game_core Scalar deleting destructor for CEffGroundGrow. Sets vtable PTR_LAB_011829d8, calls CEffGroundGrow__dtor and FUN_00b4dd10 for base cleanup. Conditionally frees 0xE0 bytes. 0x00B24030 234 CEffListContainer__scalar_deleting_dtor game_core Scalar deleting destructor for an effect class with two linked lists. Sets vtable PTR_LAB_01182af0, traverses and frees linked lists at offsets +0xD8 and +0xD0 (0xC byte nodes each). Calls FUN_00b4dd10 for base cleanup. Conditionally frees 0xE0 bytes. 0x00B24120 99 CEffExtended__scalar_deleting_dtor game_core Scalar deleting destructor for extended effect class. Sets vtable PTR_LAB_01182b7c, calls FUN_00b4dd10 for base cleanup. Conditionally frees 0x100 bytes. 0x00B24190 398 CEffectManager__register_effect_by_type effect Registers an effect entry in the effect manager's RB-tree. First inserts into the RB-tree via CEffectManager__rb_tree_insert_effect_entry, then calls FUN_00b3bda0 for validation. Checks effect type against specific IDs (0x3CE, 0x401, 0x40F, 0x431, 0x432, 0x584, 0x927). If matched, looks up or creates a node in another tree (FUN_00b18890), allocates 0x20-byte nodes, and appends effect entries to a vector at node offset +0x14/+0x18. 0x00B24320 307 CEffectManager__transfer_effect_entries effect Transfers effect entries from a secondary tree (looked up by param_2) to the main effect list (at this+0x18). Iterates the source's linked list, allocating 0xC-byte nodes and copying the effect pointer (offset +8). After transfer, clears the source list and frees its nodes. Checks list_too_long limit (0x15555555). 0x00B24460 279 CEffectManager__remove_effect_by_id effect Removes an effect from the manager by looking up its ID (via FUN_00b25750). Gets the effect type from offset +0x20 (effect[8]), looks up the effect type in the secondary tree, then traverses the linked list removing nodes that match the effect pointer. Frees removed 0xC-byte nodes. 0x00B24580 279 CEffectManager__remove_effect_conditional effect Conditionally removes an effect from the manager. Only processes if param_2 is non-null and param_3 == 1. Gets effect type from param_2[8], looks up in secondary tree, and removes matching nodes from the linked list. Same removal logic as remove_effect_by_id. 0x00B246A0 295 CEffectManager__remove_effect_by_coords effect Removes an effect found by coordinates. Validates param_2 > 0 and param_3 > 0, then looks up via FUN_00b257c0. If found, gets effect type from offset +0x20, looks up in secondary tree, and removes matching nodes. Same linked list removal pattern as other remove methods. 0x00B247D0 372 CEffectManager__register_effect_entry effect Registers an effect entry variant (no RB-tree insert upfront). Checks effect type (param_2[1]) against IDs: 0x3CE, 0x401, 0x40F, 0x431, 0x432, 0x584, 0x927. If matched, looks up or creates a node in the secondary tree, allocates 0x20-byte entry, and appends effect pointer to vector. Similar to register_effect_by_type but without the initial RB-tree insert call. 0x00B24950 77 CEffectManager__get_effect_factory_by_type effect Looks up an effect type in the tree (tree_0x18_lower_bound). If found, calls the factory function (vtable[1]) from the first entry in the node's linked list. Returns the new effect object or 0 if type not found. 0x00B249A0 104 CEffectManager__destroy_all_active_effects effect Destroys all active effects in the main effect list (this+0x18). Iterates through the doubly-linked list, calls vtable[5] (update/finalize) and vtable[0x1E] (scalar deleting dtor with flag=1) on each effect. Then clears and frees all 0xC-byte list nodes, resetting the list to empty. 0x00B24A50 508 CEffectManager__create_effect effect Main effect creation function. Takes 10 params: this, entity_id, effect_type, x/y/z coords, param_7, sound_id, param_9 (reuse flag), duration. Has a large switch table of valid effect IDs (0x23, 0x24, 0x3C, 0x72, 0x89, 0x8A, etc.). For types 0x3D2/0x3D3/0x430, checks if effect ID 200 already exists. Looks up factory by type in the RB-tree, calls it to create the effect, sets position/coords, calls init vtable methods, and registers via CEffectManager__register_effect_by_type. 0x00B24DE0 439 CEffectManager__create_ground_effect effect Creates a ground effect (type 200/0xC8). Checks if param_2 is valid entity and param_4 == 0. Calls FUN_00caac80 for validation, then checks param_3 flag. If effect already exists with persistent flag, reuses it. Otherwise creates new via factory lookup for type 200. Sets position from entity coords (offset +0x10/+0x18). After creation, allocates 0x20-byte color data, calls vtable[0xB] and sets color to (0x50, 0x50, 0xFF). 0x00B24FA0 373 CEffectManager__init_singleton effect Initializes the CEffectManager singleton stored at global DAT_016f7124. Allocates 0x28 bytes, sets vtable to PTR_CEffMgr__dtor_011829d0. Creates 4 internal data structures: (1) tree at offset +8 (0x18-byte sentinel), (2) tree at offset +0x10 (0x1C-byte sentinel), (3) linked list at offset +0x18 (0xC-byte sentinel), (4) tree at offset +0x20 (0x20-byte sentinel). Calls FUN_00b25890 (huge function - effect type registration). If registration fails, destroys the singleton and returns 0. Returns 1 on success. 0x00B25120 279 CEffectManager__remove_effect_by_id_and_type effect Removes an effect by looking up by ID (FUN_00b25750), then by type. Gets effect type from offset +0x20, looks up type in secondary tree, removes matching nodes. Same removal pattern as remove_effect_by_id. Duplicate of that function with same logic flow. 0x00B25240 295 CEffectMgr__remove_effect_by_type_id_and_subid effect Removes an effect found by type, ID, and sub-ID. Validates param_2 > 0 and param_3 > 0, looks up via find_effect_by_type_id_and_subid. If found, pushes to pending-removal list, gets effect type from offset +0x20, looks up in secondary RB-tree, and removes matching nodes. Same linked list removal pattern as other remove methods. 0x00B253A0 279 CEffectMgr__remove_effect_conditional effect Conditionally removes an effect from the manager. Only processes if param_2 is non-null. Pushes to pending-removal list. If param_3 flag is 1, also removes from the RB-tree by effect type, cleaning up matching nodes from the effect type's linked list. Same removal pattern as other CEffectMgr remove methods. 0x00B254C0 225 CEffectMgr__clear_all effect Clears all effects from the manager. Transfers all effect entries, destroys the RB-trees (effect type tree and effect data tree with vector cleanup), releases all effect objects via vtable calls (stop + delete), clears the linked list of effects, and resets all counters to 0. 0x00B255B0 370 CEffectMgr__destroy_and_clear_all effect Full destruction of the effect manager's contents. First walks the effect tree at offset 0x08, calling virtual destructors on each effect's associated object (offset+5). Then destroys all tree nodes. Then calls CEffectMgr__clear_all-equivalent logic to clean up the remaining trees, linked lists, and pending effects. 0x00B25730 27 CEffectMgr__destroy_global_instance effect Destroys the global CEffectMgr singleton at DAT_016f7124. Calls the virtual destructor with flag 1 (scalar delete), then nulls the global pointer. 0x00B25750 98 CEffectMgr__find_effect_by_type_and_id effect Finds an effect by type (param_2) and ID (param_3). Looks up the type in the effect RB-tree, then walks the linked list of effects for that type. Returns the effect whose field at offset +4 matches param_3, or 0 if not found. 0x00B257C0 106 CEffectMgr__find_effect_by_type_id_and_subid effect Finds an effect by type (param_2), sub-ID at offset 0xC4 (param_3), and ID at offset +4 (param_4). Looks up type in the RB-tree, walks the linked list, returns the effect matching both criteria, or 0 if not found. 0x00B25830 90 EffectMap__lookup_by_key_and_index effect Looks up a key in the effect tree map using lower_bound, then indexes into the associated vector at param_3. Returns the element at that index, or 0 if key not found or index out of bounds. 0x00B25890 84891 EffectManager__main_dispatch_handler game_core EffectManager: main dispatch handler 0x00B3A430 255 EffectMap__insert_if_not_exists effect Inserts a key-value pair into the effect tree map if the key doesn't already exist. Allocates a 0x18-byte node, sets key and value. Returns 1 if inserted, 0 if key already present. Aborts if map is at max capacity (0xaaaaaaa). 0x00B3A530 23 EffectMap__contains_key effect Boolean wrapper that checks if a key exists in the effect map by delegating to the lookup function. Returns true if found, false otherwise. 0x00B3A560 163 is_ground_effect_with_state_check game_core Checks if an effect ID is a ground-type effect. Returns 1 for known ground effect IDs (0x23, 0x24, 0x3c, 0x72, 0x89, 0x8a, 0x9a-0xa4, 0x127-0x128, 0x14e, 0x152, etc.) and for IDs in the 60000+ range. Also checks a state condition for IDs 0x3d2/0x3d3 via lookup function. 0x00B3A7A0 125 is_ground_effect_id game_core Returns 1 if the given effect ID belongs to the set of known ground effect IDs. Pure lookup with no state checks - uses same ID table as is_ground_effect_with_state_check but without the conditional logic. 0x00B3A9C0 543 EffectTool__check_lua_files_exist game_core Checks if Lua effect tool data files exist by calling lua IsExistValue on "effect_version" and "emitterInfo" keys. Returns true if either data source is available for the effect tool system. 0x00B3ABE0 72 EffectMap__find_key effect Performs a lower_bound search in the effect tree map for the given key. Returns a boolean indicating whether the key was found (node exists and key matches). 0x00B3AC30 758 EffectTool__load_from_lua game_core Loads effect tool data from Lua files. Reads "Lua Files/EffectTool/" path, constructs packet stream, checks if lua files exist. Gets effect_version via lua GetValue. Dispatches to v1 loader (version 0 or 1) or v2 loader (version 2). Only runs if this+0x24 is set. 0x00B3AF30 262 EffectManager__remove_expired_effects game_core Iterates all effect entries in the tree map. For each entry, checks each linked effect node via CEffectAura__check_and_remove_expired (expiry check). Expired effects are unlinked from the list and freed. Remaining effects are processed via CEffectAura__update_and_render. 0x00B3B040 84 EffectManager__update_all_effects game_core Iterates all effect entries in the tree map and calls CEffectAura__try_render on each linked effect node. Only runs if ret_one_00e3d090 check passes (likely a global enable flag). 0x00B3B0A0 402 EffectTool__load_v1_from_lua game_core Loads effect tool v1 data from Lua. Calls "ReadEmitterInfoz ver 1.0" and "ReadEffectInfoz" Lua functions to populate emitter and effect data from Lua files. 0x00B3B240 1237 EffectTool__load_v2_from_lua game_core Loads effect tool v2 data from Lua. Calls multiple Lua functions: ReadEmitterInfoz, ReadMagicFloorInfoz, ReadEvilsPawInfoz, and additional info loaders for the v2 effect system format. 0x00B3B720 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00B3B930 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00B3BB40 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00B3BD50 10 thunk_to_std__Xlength_error_00b3bd50 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00B3BD60 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B3BDA0 165 linked_list_push_back_00b3bda0 stl Pushes a value onto the back of a doubly-linked list. Allocates a 0xC-byte node, sets data from param_2, links at tail. Throws std::length_error if list is at max capacity (0x15555555). 0x00B3BE50 123 calc_angle_from_2d_vector game_core Calculates angle from a 2D direction vector (param_2, param_3). Computes magnitude via sqrt, then uses acos to get angle. Returns angle in degrees, adjusted for negative y (reflected). 0x00B3BED0 252 calc_screen_angle_between_entities game_core Calculates the screen-space angle between two entity positions. Projects both world positions to 2D screen coords via CRenderPipeline, then computes the angle of the vector between them using acos. 0x00B3BFD0 492 EffectTool__get_clean_filename game_core Gets and cleans the effect filename. Calls virtual function to get raw name, strips the portion after '@' character (removing up to 4 chars), then finds and truncates at extension separator. Returns cleaned filename string. 0x00B3C1C0 384 EffectTool__build_lua_effect_path game_core Builds the Lua effect file path from packet stream data. Constructs path, appends "_Effect" suffix, and removes extension marker character. Used to locate Lua effect definition files. 0x00B3C350 63 get_entity_object_by_id game_core Gets an entity object pointer by its ID. If ID matches the current entity (DAT_01733c3c), returns the object directly from the current entity's data. Otherwise searches via map lookup and item lookup as fallback. 0x00B3C390 161 get_current_player_world_position game_core Gets the current player's 3D world position (x, y, z). If the entity object exists, copies position from offsets 0x10/0x14/0x18. Otherwise calculates from tile coords and interpolated terrain height. 0x00B3C440 110 random_value_in_range game_core Generates a random value in a scaled range. If param_1 == param_2, returns comparison flags. Otherwise scales both params, computes absolute range, and returns rand() % range. 0x00B3C4B0 570 EffectTool__build_lua_emitter_path game_core Builds the Lua emitter file path from packet stream data. Processes directory separator, appends suffix, and strips extension marker. Used to construct paths for emitter data Lua files. 0x00B3C6F0 384 EffectTool__build_emitter_info_path game_core Builds emitter info path from packet stream data. Appends "_emitterInfo" suffix to the path and strips extension marker. Returns the constructed path string. 0x00B3C880 235 generate_random_point_around_center game_core Generates a random 2D point around a center position (param_2, param_3). Uses polar coordinates: random angle [0, 2*PI] and random sqrt(radius) for uniform disk distribution. Returns (x, y) offset from center. 0x00B3C970 265 std__regex_match stl STL std::regex_match implementation. Initializes regex match context from compiled regex pattern and input string, then performs full match. Returns match result. Cleans up temporary vectors on exit. 0x00B3CA80 280 std__regex_search stl STL std::regex_search implementation. Performs a partial regex search on a string. Initializes regex match context, searches for first occurrence, cleans up. Returns 0 if regex is null. 0x00B3CBA0 668 CEffect__ctor_00b3cba0 effect CEffect constructor. Sets vtable ptr to PTR_FUN_0118337c. Initializes ~0x3FF8 byte structure: two STL strings (offsets 0x3F60, 0x3F78), resource ref (0x2BC), large zeroed arrays (0x2C4-0x3C44 and 0x3D4C-0x3F4C). Sets default scale to 1.0f and color to 0xFFFFFFFF. 0x00B3CE40 60 CEffect__release_resource_if_set effect Releases a resource reference if the pointer at this[0] is non-null. Simple null-check guard around CResource::release_ref. 0x00B3CE90 129 CEffect__dtor_00b3ce90 effect CEffect destructor. Sets vtable, destroys two STL strings, releases resource ref at offset 0x2BC if non-null, then calls parent destructor. 0x00B3CF20 153 CEffect__scalar_deleting_dtor_00b3cf20 effect CEffect scalar deleting destructor. Runs CEffect destructor logic (vtable, strings, resource release, parent dtor), then frees 0x3FF8 bytes if param_2 bit 0 is set. 0x00B3CFC0 101 CEffect__clear_resource_ref effect Clears and releases the resource reference stored at offset 700 (0x2BC) of the CEffect object. Sets the field to 0 before releasing. 0x00B3D030 1074 CEffect__resolve_effect_filepath effect Resolves effect file path with regex versioning. Compiles regex pattern matching whitespace+str, searches for version suffix in the path. If found and resource exists, uses versioned path; otherwise falls back to original path. 0x00B3D470 201 CEffect__build_rotation_matrix effect Builds a rotation matrix from the effect's rotation angles. Copies global 4x4 matrix from DAT_01312438, then applies Z, X, Y rotations from offsets 0x3FA4, 0x3FA8, 0x3FAC (degrees converted to radians). 0x00B3D540 425 CEffect__reset_to_defaults effect Resets the CEffect object to default state. Releases resource ref at offset 700, calls FUN_00b3f990 for cleanup, zeroes keyframe arrays (0x200 + 0x3A00 bytes), resets all fields to defaults (scale=1.0, color=0xFFFFFFFF, etc.). 0x00B3D6F0 125 CEffect__init_animation_from_resource effect Initializes animation data from the loaded resource. Sets animation pointer to resource+0x110, copies keyframe count. Adjusts count for non-looping animations. Zeroes keyframe index and layer state arrays. 0x00B3D7A0 556 CEffect__load_resource_by_name effect Loads an effect resource file by name string. Uses CResourceMgr to load, increments ref count, releases old resource. Stores filename and directory path in STL strings at offsets 0x3F60 and 0x3F78. Calls init_animation_from_resource. 0x00B3D9D0 132 CEffect__load_resource_with_option effect Loads effect resource with optional path transformation. Checks GameSettings option 0xE5; if disabled, loads directly. If enabled, resolves versioned path via regex before loading. Delegates to load_resource_by_name. 0x00B3DA60 1425 CEffect__tick_animation effect Main effect animation tick. Returns 0 if no resource loaded. Handles delay countdown, frame timing, loop/repeat logic. For each animation layer: advances keyframes, applies transform data (position, rotation, scale, color) with multiple blend modes (direct copy, additive, clamped, wrapped, ping-pong). Increments frame counter and handles fade timing. 0x00B3E010 338 CEffect__update_screen_position effect Updates the effect's screen position. Projects 3D world position (this+0x24) to 2D screen coords via CRenderPipeline. Stores at offsets 0x3F4C/50/54. Special handling for UI-attached effects (types 0x205, 0x225): positions relative to window or screen center. 0x00B3E170 120 CEffect__render_active_layers effect Iterates effect animation layers starting from index 1. For each active layer (dirty flag set in 0x3CCC array), calls FUN_00b3e270 to render the layer. Skips if no resource or 3fbd flag not set. 0x00B3E1F0 120 CEffect__render_active_layers_alt effect Iterates effect animation layers starting from index 1. For each active layer (dirty flag set), calls FUN_00b3e6e0 (alternate render path). Same structure as render_active_layers but different render function. 0x00B3E270 1132 CEffect__render_layer_3d effect Renders a 3D effect layer. Allocates mesh entry, builds quad from layer params (UV, position offsets). Rotates by layer angle, applies view transform with scale/flip. Gets frame texture from animation clip. Projects 4 vertices from world to screen with depth, applies perspective correction, sets vertex colors (ARGB). Submits to render queue. 0x00B3E6E0 2411 CEffect__render_layer_2d_screen effect Renders a 2D screen-space effect layer. Projects center to screen, applies rotation via sin/cos, scales quad vertices in screen space. Handles scale flags (0x3FE8/E9 for flip). Applies global rotation from angles 0x3FA4/A8/AC if set. Adds position offsets (0x3FD8/DC, 0x3FEC/F0). Gets texture, sets UV/color, submits to render queue. 0x00B3F050 1269 CEffect__render_layer_ground effect Renders an effect layer on the ground plane. Like render_layer_3d but applies -90 degree X rotation to lie flat, snaps Y to terrain height via C3dAttr::GetInterpolatedHeightBarycentric. Clamps height change to prevent large jumps (0x3FD4 stores last height). 0x00B3F550 120 CEffect__render_ground_layers effect Iterates effect animation layers starting from index 1. For each active layer, calls render_layer_ground. Same structure as render_active_layers but uses ground render path. 0x00B3F5D0 92 CEffect__fast_forward_animation effect Fast-forwards the effect animation by calling tick_animation repeatedly. Number of ticks = animation speed * param_2. Passes (0, -80.0f, 0) as position params each tick. 0x00B3F630 789 CEffectLayer__ctor effect CEffectLayer constructor. Sets vtable to PTR_FUN_011833ac. Initializes 4 quad vertices (billboard corners at -1,1,1 pattern), default color 0xFF00FF, blend modes (src=5, dst=2), 4x4 identity-like matrix from global. Sets render callback to FUN_00b40210. 0x00B3F950 7 CEffectLayer__dtor_base effect CEffectLayer base destructor body. Sets vtable pointer to CEffectLayer vtable (PTR_011833ac). Called from derived class destructors (e.g., CEffectLayerEx__dtor) to reset vtable to base class. 0x00B3F960 39 CEffectLayer__scalar_deleting_dtor effect CEffectLayer scalar deleting destructor. Sets vtable, optionally frees 700 bytes if param_2 bit 0 is set. 0x00B3F990 602 CEffectLayer__reset_to_defaults effect Resets CEffectLayer to default state. Sets default color 0xFF00FF, scale 1.0, blend modes (5,2), initializes 4x4 matrix from global, resets all vertex positions to billboard corners, clears position/rotation offsets, sets render callback. 0x00B3FC10 112 CEffectLayer__set_quad_color_and_uv effect Sets quad vertex colors and UV coordinates. Packs ARGB color from offsets 0x3C/3E/40/44 and sets it on all 4 vertices. Sets UV coordinates from params for the quad corners. 0x00B3FC80 93 CEffectLayer__init_default_quad_vertices effect Initializes the 4 quad vertex positions to default billboard corners: (-1,1,1), (1,1,1), (-1,-1,1), (1,-1,1). Each vertex stored as 3 floats at stride 8. 0x00B3FCE0 40 CEffectLayer__render_from_struct effect Wrapper that unpacks a render parameter struct and delegates to CEffectLayer::render_mesh. Extracts flag, params, and two byte flags from the struct. 0x00B3FD10 1001 CEffectLayer__render_mesh effect Main render function for CEffectLayer. Copies vertex data with color/UV, sets up world transform matrix (identity + translation + camera rotation), projects 4 vertices to screen via CRenderPipeline. Handles perspective correction. Sets blend modes and submits to render pipeline. Bails early if depth < 0. 0x00B40120 49 CEffectLayer__set_rgb_color effect Sets RGB color components on the effect layer. Each param is a short; -1 means leave unchanged. Stores at offsets 0x3C (R), 0x3E (G), 0x40 (B). 0x00B40160 35 CEffectLayer__set_texture_by_id effect Sets texture on the effect layer by resource ID. Calls texture loading stub with ID and stores result at offset 0x18. 0x00B40190 110 CEffectLayer__set_texture_by_name effect Sets texture on the effect layer from a string name. Gets STL string data pointer, calls texture loading stub, stores at offset 0x18. Destroys temporary string. 0x00B40200 16 CEffectLayer__set_render_flag effect Sets a render flag byte at offset 0x104 of the effect layer. 0x00B40210 22 CEffectLayer__default_render_callback effect Default render callback for CEffectLayer. Simply delegates to CRenderPipeline::classify_and_enqueue_mesh. Used as the default function pointer at offset 0x2B8. 0x00B40230 103 tree_destroy_nodes_recursive game_core Recursively destroys all nodes in a binary tree. For each non-sentinel node, recurses into left child (node[2]), then follows right pointer (node[0]), freeing each 0x18-byte node. 0x00B402A0 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00B402F0 163 EffectTree__init game_core Initializes an effect tree structure. Allocates 0x18-byte sentinel node (self-referential head), clears all child flag bytes (offset 0x14), sets count to 0. 0x00B403A0 67 EffectTree__free_sentinel game_core Frees the tree sentinel node stored at field+4 (0x18 bytes). Null-checks before freeing. 0x00B403F0 111 EffectTree__destroy_all game_core Destroys all nodes in the effect tree structure. Iterates from sentinel's prev pointer, recursively destroys children, frees each node (0x18 bytes), then frees the sentinel itself. 0x00B40470 78 EffectTree__free_sentinel_00b40470 game_core Frees the tree sentinel node at field+4 (0x18 bytes). Null-checks before freeing. Duplicate of EffectTree__free_sentinel. 0x00B404C0 78 EffectTree__free_sentinel_00b404c0 game_core Frees the tree sentinel node at field+4 (0x18 bytes). Null-checks before freeing. Duplicate of EffectTree__free_sentinel. 0x00B40510 65 EffectTree__destroy_wrapper game_core Simple wrapper that calls EffectTree__destroy_all to destroy the entire tree structure. 0x00B40560 160 EffectTree__clear_and_destroy game_core Clears all nodes from the tree, resets sentinel to self-referential state, zeroes count and processed count, then calls destroy to free sentinel. 0x00B40600 220 EffectIdSet__find_or_insert game_core Finds or inserts an effect ID in the tree set. Uses lower_bound to check existence, inserts new 0x18-byte node if not found. Returns pointer to the processed flag byte (offset 0x14 of the node). Aborts at max capacity 0xAAAAAAA. 0x00B406E0 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00B40740 88 EffectIdSet__get_next_unprocessed game_core Gets the next unprocessed effect ID from the tree. Iterates nodes until finding one with flag==0 (at node offset 0x14). Marks it as processed (flag=1), increments processed count. Returns 0 if all processed or count exceeded. 0x00B407A0 74 EffectTree__clear_nodes game_core Clears all nodes from the effect tree. Iterates and frees all non-sentinel nodes, resets sentinel to self-referential, zeroes node count and processed count. 0x00B407F0 83 EffectIdSet__unmark_processed game_core Unmarks a specific effect ID as processed. Finds the ID via lower_bound, if its flag is 1 (processed), sets to 0 and decrements processed count. 0x00B40850 49 EffectIdSet__reset_all_flags game_core Resets all processed flags in the tree to 0. Iterates every node and clears the flag byte at offset 0x14. Resets processed count to 0. 0x00B40890 72 EffectIdSet__get_processed_flag game_core Gets the processed flag for a specific effect ID. Looks up the ID via lower_bound, returns the flag byte if found, 0 if not in the set. 0x00B408E0 48 EffectIdSet__mark_all_processed game_core Marks all effect IDs in the tree set as processed. Iterates every node and sets flag byte (offset 0x14) to 1. Sets processed count equal to total count. 0x00B40910 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00B40B20 64 EffectIdSet__insert_unprocessed game_core Inserts an effect ID into the set with flag=0 (unprocessed). Only inserts if the ID is not already present in the tree. 0x00B40B60 314 CEffectLayerEx__ctor effect CEffectLayerEx constructor. Extends CEffectLayer with additional fields for animation tree rendering. Sets vtable to PTR_FUN_011833b8. Initializes animation data, entity reference, position offsets. Total size ~0x2F8 bytes. 0x00B40CA0 71 CEffectLayerEx__dtor effect CEffectLayerEx destructor. Sets vtable to derived class, then calls parent CEffectLayer destructor. 0x00B40CF0 99 CEffectLayerEx__scalar_deleting_dtor effect CEffectLayerEx scalar deleting destructor. Sets vtable, calls parent dtor, optionally frees 0x2F8 bytes. 0x00B40D60 33 CEffectLayerEx__apply_entity_speed_modifier effect Looks up the attached entity by ID (offset 0x2F4) and applies a speed modifier from status effects. Does NOT update position despite old name. 0x00B40D90 149 CEffectLayerEx__reset_to_defaults effect Resets CEffectLayerEx to defaults. Calls parent reset, then zeroes all extended fields: animation data, entity ID, position offsets, loop mode. 0x00B40E30 250 CEffectLayerEx__advance_frame effect Advances the animation frame for the extended effect layer. Gets total frame count from animation tree, handles timing divisor. Mode 0 = loop, mode 1 = play once then stop (-1.0), mode 2 = clamp to last frame. Mode 3 = disabled. 0x00B40F30 3625 CEffectLayerEx__render effect Renders the extended effect layer with multi-sprite animation tree support. Gets animation tree node, iterates detail entries. For each: loads texture, sets UV/color, builds transform matrix (scale, rotation, translation), projects vertices to screen. Handles entity attachment offsets, alpha blending, and perspective correction. Submits to render pipeline. 0x00B41D60 58 CEffectLayerEx__load_animation_tree effect Loads an animation tree resource by path. Releases previous resource if set. Stores at offset 0x2E4, increments ref count. 0x00B41DA0 58 CEffectLayerEx__load_sprite_data effect Loads a sprite data resource by path. Releases previous resource if set. Stores at offset 0x2E0, increments ref count. 0x00B41DE0 181 CEffectAuraParticle__ctor effect CEffectAuraParticle constructor. Inherits from CEffectAura with 0x10 particle count. Sets vtable PTR_LAB_011833c8, initializes 8 fields for particle/beam data. Sets particle count to 40. 0x00B41EA0 110 CEffectAuraParticle__dtor effect CEffectAuraParticle destructor. Sets vtable, calls CEffectAura dtor for two sub-components, then calls base dtor. 0x00B41F10 134 CEffectAuraParticle__scalar_deleting_dtor effect CEffectAuraParticle scalar deleting destructor. Runs dtor logic, optionally frees 0xEC bytes. 0x00B41FA0 229 CEffectAuraParticle__init_beam_sprites effect Creates 10 beam sprites evenly spaced at 36-degree intervals (360/10). Each gets alpha_down texture, initial radius, height, and opacity params. Stores in sprite vector at 0xCC/D0. 0x00B42090 466 CEffectAuraParticle__init_particles effect Creates random particles (10 or 20 based on graphics option 0xE5). Each particle gets random angle (0-360), radius, speed, angular velocity, size, fade rate. Uses alpha_center texture. Stores in particle vector at 0xD8/DC. 0x00B42270 110 CEffectAuraParticle__clear_sprites effect Clears both beam sprite vector (0xCC/D0) and particle sprite vector (0xD8/DC). Calls destroy on each element, resets end pointers to start. 0x00B422E0 795 CEffectAuraParticle__init_beams_and_particles effect Initializes both beam sprites (10 at 36-degree intervals with alpha_down texture) and particle sprites (10 or 20 based on graphics setting 0xE5 with alpha_center texture). Also projects the aura center to screen coords. This is the setup/init function, not a render function. 0x00B42610 103 CEffectAuraParticle__update_beam_fade effect Updates beam sprite fade animation. Advances alpha value, calculates fade direction reversal at bounds. Clamps alpha between 0 and max fade value. 0x00B42680 146 CEffectAuraParticle__update_particle effect Updates a particle sprite each frame. Advances angle, position by speed, size by growth rate, and alpha by fade rate. Clamps alpha between 0 and max. Reverses fade direction at bounds. 0x00B42720 326 CEffectAuraParticle__update_all_sprites effect Updates all beam and particle sprites. For beams: advances alpha/fade. For particles: advances angle, position, size, and alpha. Increments frame counter (0xE8) for each sprite. 0x00B42870 495 CEffectAuraParticle__render_beam_sprite effect Renders a single beam sprite as a billboarded quad. Uses precomputed sin/cos lookup tables at angle 0xC4 to position vertices around the aura center. Sets ARGB color, UV coords, depth. Submits to render pipeline. 0x00B42A60 477 CEffectAuraParticle__render_particle_sprite effect Renders a single particle sprite as a ground-plane quad. Calculates positions using sin/cos from two angle ranges, places vertices at center +/- offset. Sets ARGB color, UV coords, submits to render pipeline. 0x00B42C40 1025 CEffectAuraField__render_beam_and_particle_quads effect Renders all beam and particle sprites as screen-space quads. For beam sprites: uses sin/cos lookup tables to position billboarded quads around the aura center. For particle sprites: places quads on the ground plane using angle-based offsets. Sets ARGB color, UV coords, depth, and submits each to the render pipeline. 0x00B43050 126 CEffectAuraField__ctor effect CEffectAuraField constructor. Inherits from CEffectAura with -1 (infinite) particle count. Sets vtable PTR_LAB_0118346c. Initializes field radius to 5.0 and zeroes other fields. 0x00B430D0 95 CEffectAuraField__dtor effect CEffectAuraField destructor. Sets vtable, calls CEffectAura dtor and base dtor. 0x00B43130 119 CEffectAuraField__scalar_deleting_dtor effect CEffectAuraField scalar deleting destructor. Runs dtor logic, optionally frees 0xDC bytes. 0x00B431B0 510 CEffectAuraField__setup_texture_by_type effect Sets up texture for field sprite based on effect type (field+4). Types 0x3E0-0x3E3 use formatted effect names, 0x3EF uses 'effect/makibishi.bmp'. Also sets sprite size and blend mode for makibishi. 0x00B433E0 63 CEffectAuraField__recycle_all_sprites effect Recycles all field effect sprites back to the pool. Iterates vector at 0xD0/D4, calls recycle_effect_to_pool on each, resets vector end to start. 0x00B43420 237 CEffectAuraField__create_grid_sprites effect Creates a grid of effect sprites centered on the entity position. Gets entity's field radius (0x42C), creates sprites for each tile in a radius x radius grid. Each gets torch_violet08 texture, white color, alpha 0xFF. 0x00B43520 531 CEffectAuraField__update_sprite_transforms effect Updates all field sprite transforms. For each sprite in vector 0xD0/D4: copies base position, calculates world position using grid offset and cell size (0xCC), gets interpolated terrain height, builds rotation+scale matrix (camera X rotation + PI/2 + scale), stores as 3x4 transform matrix at sprite+0x1C8. Increments frame counter. 0x00B43740 465 CEffectAuraField__update_single_sprite_transform effect Updates a single field sprite's world position and transform matrix. Calculates position from grid offset * cell size, gets interpolated terrain height, builds rotation+scale matrix (camera X rotation + PI/2 + scale), stores as 3x4 transform at sprite+0x1C8. Does NOT create sprites despite old name. 0x00B43920 95 CEffectAuraField__render_all_sprites effect Renders all field effect sprites. Iterates sprite vector at 0xD0/D4, sets up texture for each via setup_texture_by_type, then calls render_mesh with default parameters. 0x00B43980 69 CEffectAuraField__render_single_sprite effect Renders a single field sprite if non-null. Sets up texture by type then calls render_mesh with default parameters. 0x00B439D0 151 CEffectAuraCherryBlossom__ctor effect CEffectAuraCherryBlossom constructor. Inherits from CEffectAura with 0x3F5 particle count. Sets vtable PTR_LAB_01183580. Initializes 16x3 float arrays to zero for petal tracking. Size 0x198 bytes. 0x00B43A70 95 CEffectAuraCherryBlossom__dtor effect CEffectAuraCherryBlossom destructor. Sets vtable, calls CEffectAura dtor and base dtor. 0x00B43AD0 119 CEffectAuraCherryBlossom__scalar_deleting_dtor effect CEffectAuraCherryBlossom scalar deleting destructor. Frees 0x198 bytes. 0x00B43B50 63 CEffectAuraCherryBlossom__recycle_sprites effect Recycles all cherry blossom petal sprites back to the pool. Iterates vector at 0x18C/190, recycles each, resets end pointer. 0x00B43B90 317 CEffectAuraCherryBlossom__create_petals effect Creates 16 cherry blossom petal sprites in a 4x4 grid. Each gets cherry_circle texture, random height (0-100), and 4 random angles (0-360). Sets rotation speed 0.15, size 0.55. Stores in petal vector. 0x00B43CE0 1085 CEffectAuraCherryBlossom__update_petals effect Updates cherry blossom petal positions, rotations, and wind effects each frame. 0x00B44120 991 CEffectAuraCherryBlossom__update_single_petal_transform effect Updates a single cherry blossom petal's position, wind animation, alpha, and transform matrix. Handles petal lifecycle: respawns at random height when fallen below threshold, applies wind drift via sin/cos lookup, fades alpha near ground. Builds rotation+scale+translation matrix for rendering. Does NOT render - just updates transform data. 0x00B44500 121 CEffectAuraCherryBlossom__render_all effect Renders all cherry blossom petal sprites. Each sprite is rendered twice (two passes) for visual density. 0x00B44580 75 CEffectAuraCherryBlossom__render_single_petal effect Renders a single cherry blossom petal sprite twice (two render passes) if non-null. 0x00B445D0 137 CEffectAura3DModel__ctor effect CEffectAura3DModel constructor. Inherits from CEffectAura with 0xD particle count. Sets vtable PTR_LAB_01183628. Initializes 4 fields for 3D model tracking. Sets particle count to 9999 (long-lived). 0x00B44660 141 CEffectAura3DModel__dtor effect CEffectAura3DModel destructor. If field 0x36 (3D model ptr) is set, calls stop and destroy on it. Then calls CEffectAura dtor and base dtor. 0x00B446F0 165 CEffectAura3DModel__scalar_deleting_dtor effect CEffectAura3DModel scalar deleting destructor. Destroys 3D model if set, then calls parent dtors. Frees 0xDC bytes. 0x00B447A0 178 CEffectAura3DModel__create_nameplate effect Creates a nameplate effect for the 3D model aura. Allocates CEffectNameplate, sets owner ID and target entity, copies position, sets effect type, and starts the effect. 0x00B44860 219 CEffectAura3DModel__create_ring_sprite effect Creates a ring sprite for the 3D model aura. Allocates from pool, sets ring_blue texture, configures size (40), angle, radius (30), height (50), and position params. Adds to sprite vector. 0x00B44940 63 CEffectAura3DModel__recycle_sprites effect Recycles all sprites in the vector at 0xCC/D0 back to the effect pool. Resets end pointer to start. 0x00B44980 47 CEffectAura3DModel__destroy_nameplate effect Destroys the nameplate at offset 0xD8. Calls stop and delete on the nameplate via virtual functions, then nulls the pointer. 0x00B44AC4 249 CEffectAura3DModel__init_ring_sprites_and_nameplate effect CEffectAura3DModel: init ring sprites and nameplate 0x00B44BE0 484 CEffectAura3DModel__update effect Updates all 3D model sprites in the vector (0xCC/D0). For each sprite: applies rotation decay, computes fade-out rate, builds translation+rotation matrix, updates transform at offset 0x1C8. Calls child update via vtable if present at 0xD8. 0x00B44DD0 415 CEffectAura3DModel__update_single_sprite effect Updates a single 3D model sprite. Computes rotation decay, fade-out rate, builds translation+rotation matrix, writes transform to sprite at offset 0x1C8. Called per-sprite from the main update loop or externally. 0x00B44F70 247 CEffectAura3DModel__render_model effect Renders all 3D model sprites. Iterates vector 0xCC/D0, sets up vertex positions from sprite data, and calls CEffectLayer::render_mesh for each. Calls child render via vtable+0x10 if present at 0xD8. 0x00B45080 190 CEffectAura__render_single_mesh_common effect Sets up 4 vertex positions (0x1F8-0x260) from sprite scale/rotation data and calls CEffectLayer::render_mesh with default parameters. Common render helper for single mesh rendering. 0x00B45140 182 CEffectAuraParticle__ctor_00b45140 effect CEffectAuraParticle constructor. Calls CEffectAura base ctor with type 0xE. Sets vtable PTR_LAB_011836b8. Initializes 5 fields, allocates a linked list node (0xC bytes) for particle tracking. Sets particle count=100 and param 0x38=0x50. 0x00B45200 161 CEffectAuraParticle__dtor_00b45200 effect CEffectAuraParticle destructor. Sets vtable PTR_LAB_011836b8, walks and frees the linked list at offset 0x36, then calls CEffectAura dtor chain. 0x00B452B0 185 CEffectAuraParticle__scalar_deleting_dtor_00b452b0 effect CEffectAuraParticle scalar deleting destructor. Runs dtor logic (frees linked list, calls base dtors), then conditionally frees 0xE8 bytes of the object. 0x00B45370 284 CEffectAura__create_beam_sprites_common effect Creates 10 beam sprites from the effect pool. Each sprite gets position offset, rotation/fade params, blue color (0x20,0xB0,0xE8), and alpha_down texture. Pushes to vector 0xCC/D0. 0x00B45490 522 CEffectAura__create_particle_sprite_common_00b45490 effect Creates a single particle sprite with random angle (0-360). Allocates from NyangGrass pool, loads sprite data and animation tree, sets initial parameters (scale, fade, etc), inserts into linked list at 0xD8. Throws if list exceeds max. 0x00B456A0 151 CEffectAura__recycle_all_sprites_common effect Recycles all sprites from both containers back to the effect pool. Clears vector 0xCC/D0 and walks+frees linked list at 0xD8 (including list nodes). Resets list count to 0. 0x00B457C0 282 CEffectAura__update_particles_common effect Updates a single particle's rotation, fade, and transform. Computes rotation from angular velocity, calculates fade-out when lifetime expires, clamps alpha to [0, max], builds rotation matrix, writes transform at 0x1C8. 0x00B458E0 1504 CEffectAuraBeam__update_and_create_sprites effect Main update+create loop for CEffectAuraBeam. Creates new particle sprites (if bit 0 of field 0x28 is clear), then updates all beam sprites in vector 0xCC/D0 (rotation, fade, transform), then updates/recycles particle sprites in linked list 0xD8 (position along beam, lifetime management). 0x00B45ED0 516 CEffectAuraBeam__update_single_particle effect Updates a single particle sprite's position along its beam path. Computes 3D position from rotation matrix and beam radius, applies fade-out logic, clamps alpha. Called per-particle from the beam's update loop. 0x00B460E0 333 CEffectAuraBeam__render_single_beam_sprite effect Renders a single beam sprite. Calculates vertex positions from sin/cos lookup tables based on sprite index, applies scale, sets up UV coords (quartered texture), then calls CEffectLayer::render_from_struct. 0x00B46230 404 CEffectAuraBeam__render_all_sprites effect Renders all beam and particle sprites. Iterates vector 0xCC/D0 to render beam sprites (with sin/cos vertex positioning and quartered UV), then iterates linked list 0xD8 to render particle sprites via CEffectLayerEx::render. 0x00B463D0 17 CEffectAura__render_layer_ex_wrapper effect Simple wrapper that calls CEffectLayerEx::render with param=1 (render enabled). 0x00B463F0 173 CEffectAuraBeam__ctor effect CEffectAuraBeam constructor. Inherits from CEffectAura with -1 particle count. Sets vtable PTR_LAB_01183744. Initializes 2x3 float arrays and 6 additional fields. Size 0xFC bytes. 0x00B464A0 110 CEffectAuraBeam__dtor effect CEffectAuraBeam destructor. Sets vtable, calls CEffectAura dtor for two sub-components and base dtor. 0x00B46510 134 CEffectAuraBeam__scalar_deleting_dtor effect CEffectAuraBeam scalar deleting destructor. Runs dtor logic, frees 0xFC bytes. 0x00B465A0 93 CEffectAuraBeam__set_blend_mode_all effect Sets blend destination mode (0x2AC) on all sprites in both beam vectors (0xE4/E8 and 0xF0/F4). Skips if param is -1. 0x00B46600 114 CEffectAuraBeam__set_color_all effect Sets RGB color on all sprites in both beam vectors (0xE4/E8 and 0xF0/F4) by calling CEffectLayer::set_rgb_color for each. 0x00B46680 872 CEffectAuraBeam__create_bubble_sprites effect Creates 22 bubble sprites per angular layer (up to 3 layers at angles 180/270/540). Each sprite gets W_bubble_NNN texture and color based on effect ID (0x3D2=red, 0x3FE=green, 0x4CA=purple, 0x8E3=dark). Sets initial radius, fade, angular velocity. Pushes to vector 0xE4/E8. 0x00B469F0 356 CEffectAuraBeam__create_ring_sprites effect Creates ring-type beam effect sprites (2 per angular step of 180 degrees). Allocates from pool, sets cir0002 or emp_shock texture based on param, assigns color based on effect ID (0x3D2/0x3FE/0x4CA/0x8E3). Pushes to vector 0xF0/F4. 0x00B46B60 429 CEffectAuraBeam__update_beam_sprite_transform effect Updates a single beam sprite's vertex transform. Calculates radius from angular velocity and sin/cos tables, positions vertices at computed 3D coordinates, copies previous frame's position data for interpolation. Does not render. 0x00B46D10 110 CEffectAuraBeam__recycle_all_sprites effect Recycles all sprites from both beam vectors (0xE4/E8 and 0xF0/F4) back to the effect pool. 0x00B46DD0 291 CEffectAuraBeam__update_sprite_lifecycle effect Updates a single sprite's lifecycle: decrements size over time, adjusts alpha based on remaining lifetime. When size drops below threshold, enters fade-out mode. Builds scale+transform matrix from sin/cos lookups and writes to sprite transform at 0x1C8. 0x00B46F00 812 CEffectAuraBeam__update_and_render effect Updates and renders both beam vector groups. For vector 0xE4/E8: sets position from parent, runs lifecycle update (size/alpha decay, transform). For vector 0xF0/F4: sets position from parent, rotates angle by 3 degrees, applies camera-relative Y rotation and scale transform. Increments frame counter for all sprites. 0x00B47230 412 CEffectAuraBeam__update_single_ring_sprite effect Updates a single ring sprite's transform. Rotates angle by 3 degrees per frame, applies camera-relative Y rotation (X rotation fixed at ~pi/4), builds scale+rotation matrix, writes composite transform to sprite at 0x1C8. 0x00B473D0 238 CEffectAura__render_bubble_sprite effect Renders a bubble sprite. Generates texture name from frame counter mod 27 (W_bubble_01-27.tga cycle). Sets UV coords based on sprite Y position, then renders via render_from_struct. 0x00B474C0 363 CEffectAura__update_and_render_bubbles effect Updates and renders all bubble sprites. Iterates vector 0xE4/E8: renders each with W_bubble texture (cycling through 27 frames), UV coords from sprite Y position. Then iterates vector 0xF0/F4: renders each with default mesh params. 0x00B47630 55 CEffectAura__render_default_mesh effect Simple wrapper that calls CEffectLayer::render_mesh with default parameters (no rotation, scale 1.0, perspective enabled). 0x00B47670 116 CEffectAuraRing__ctor effect CEffectAuraRing constructor. Inherits from CEffectAura with -1 particle count. Sets vtable PTR_LAB_01183820. Initializes 3 fields. Size 0xD8 bytes. 0x00B476F0 95 CEffectAuraRing__dtor effect CEffectAuraRing destructor. Sets vtable, calls CEffectAura dtor and base dtor. 0x00B47750 119 CEffectAuraRing__scalar_deleting_dtor effect CEffectAuraRing scalar deleting destructor. Frees 0xD8 bytes. 0x00B477D0 52 CEffectAuraRing__set_blend_mode_all effect Sets blend destination mode on all ring sprites in vector 0xCC/D0. 0x00B47810 64 CEffectAuraRing__set_color_all effect Sets RGB color on all ring sprites in vector 0xCC/D0. 0x00B47850 569 CEffectAuraRing__create_ring_sprites effect Creates ring sprites (2 per angular step, 4 steps spaced 20 degrees apart starting from 0). Each gets random initial angle, emp_shock texture, and color based on effect ID (0x3D3/0x3FF/0x4CB/0x8E4). Initial alpha=200, size=10.0. Pushes to vector 0xCC/D0. 0x00B47A90 63 CEffectAuraRing__recycle_sprites effect Recycles all ring sprites from vector 0xCC/D0 back to the pool. 0x00B47AF0 668 CEffectAuraRing__update_all_sprites effect Updates all ring sprites in vector 0xCC/D0. For each sprite: positions at parent origin, applies exponential size decay. When size reaches threshold, decrements alpha by 3; at alpha=0 resets with new random angle. Builds Y-rotation + scale + Y-offset transform matrix and writes to 0x1C8. 0x00B47D90 565 CEffectAuraRing__update_single_ring_sprite effect Updates a single ring sprite's transform. Applies exponential size decay, resets on alpha depletion with new random angle. Builds composite matrix: Y-rotation (camera-relative) * scale * Y-translation-offset, writes to sprite transform at 0x1C8. 0x00B47FD0 79 CEffectAuraRing__render_all_sprites effect Renders all ring sprites from vector 0xCC/D0 via render_mesh with default params. 0x00B48020 55 CEffectAura__render_default_mesh_00b48020 effect Renders a single sprite with default mesh parameters. Duplicate of render_default_mesh. 0x00B48060 448 CEffectAuraRing__update_sprite_transform effect Updates a single ring sprite's transform matrix. Builds Y-rotation (camera-relative) * scale * Y-offset composite transform from sprite angle, size, and height offset. Writes to 0x1C8. No rendering. 0x00B48220 221 CEffectAuraTrail__ctor effect CEffectAuraTrail constructor. Calls CEffectAura base ctor with type 0x401. Sets vtable PTR_LAB_01183944. Initializes 4x3 float arrays (two sets of 2x3) and 6 additional fields. Object size 0x114 bytes. 0x00B48300 110 CEffectAuraTrail__dtor effect CEffectAuraTrail destructor. Sets vtable PTR_LAB_01183944, calls CEffectAura dtor chain. 0x00B48370 134 CEffectAuraTrail__scalar_deleting_dtor effect CEffectAuraTrail scalar deleting destructor. Frees 0x114 bytes. 0x00B48400 1143 CEffectAuraTrail__create_main_trails effect Creates 6 main trail sprites from hero textures (hero_011, hero_001, hero_021, hero_002, hero_031, plus one more). Each gets alpha=255, initial size=30.0, default quad vertices. Pushes to vector 0xFC/100. 0x00B48880 381 CEffectAuraTrail__create_secondary_trails effect Creates secondary trail sprites (4 groups of 21 sprites each). Uses cloud11 texture, random initial angle, random orbit radius (80-100). Color is (255,100,100). Param 0=close radius, 1=far radius. Pushes to vector 0x108/10C. 0x00B48A00 842 compute_circular_spray_vertices game_core Computes 4 vertex positions in a circular pattern around a center point for a spray/fountain effect. Uses sine/cosine lookup tables (DAT_01388af0/DAT_01387fa8) with angular offsets of 0x5a (90 degrees). Applies decay factor from field 0x20 iteratively across all segments. Stores resulting XYZ positions at offsets 0x1f8-0x260 in the effect object. 0x00B48D50 110 CEffectAuraTrail__recycle_all_sprites effect Recycles all trail sprites from both vectors (0xFC/100 and 0x108/10C) back to the pool. 0x00B48DC0 28 CEffectAuraTrail__init_and_create_trails effect Initializes the trail effect. Calls FUN_00b48400 for first trail set, then FUN_00b48880 twice for additional trail groups. 0x00B48DE0 129 CEffectAuraTrail__configure_sprite effect Configures a single trail sprite. Sets render type to 5, copies position from parent, sets size, angle, speed, alpha, blend modes (src=5, dst=7), resets quad vertices and frame counter. 0x00B48E70 170 CEffectAuraTrail__configure_all_sprites effect Configures all trail sprites in vector 0xFC/100. Applies the same settings as configure_sprite to each element. 0x00B48F30 1033 CEffectAuraTrail__update_all_trails effect Updates all trail sprites in vectors 0xFC and 0x108. For first vector: updates position from parent, computes rotation angle based on direction type (6 cases with 360-degree wrap), builds rotation Z + X + scale matrix and stores as transform. For second vector: increments speed with cap at 180, oscillates alpha on tick%300 cycle, computes orbital billboard positions using sin/cos LUTs, stores previous/current frame positions for trail interpolation. 0x00B493A0 293 CEffectAuraTrail__compute_single_trail_transform effect Computes rotation transform matrix for a single trail sprite. Calculates angle based on direction type (6 cases), wraps to 0-360 range, builds rotation Z + tilt X + scale matrix, stores resulting 3x4 transform matrix into sprite. 0x00B49530 547 CEffectAuraTrail__update_trail_sprite_position effect Updates a single trail sprite's orbital position. Increments speed (cap 180), oscillates alpha on tick%300, computes billboard quad corners using sin/cos LUTs for angle and elevation, stores previous/current positions for trail interpolation, updates parent's tracking positions. 0x00B49760 234 CEffectAuraTrail__render_all effect Renders all trail sprites. Iterates first vector (0xFC) calling render_mesh for each non-null sprite. Iterates second vector (0x108) computing UV coords from frame index for texture animation strip, then calling render_from_struct. 0x00B49850 59 CEffectAura__render_sprite_if_valid effect Renders a single sprite with null check. Calls render_mesh with default parameters if param is non-zero. 0x00B49890 122 CEffectAura__render_sprite_with_frame_uv effect Renders a sprite with UV coordinates derived from frame counter. Sets V coords to (frame-1)/total and frame/total for animation strip texture sampling. 0x00B49910 191 CEffectAura__ctor_00b49910 effect Constructor for CEffectAura variant. Calls parent init with type 0x11, sets vtable, initializes position/scale/animation fields. Sets default radius (0x41877777 ~16.9), frame limit 15, and initial tick offset 30. 0x00B499D0 110 CEffectAura__common_dtor_00b499d0 effect Destructor for CEffectAura variant (vtable 01183a3c). Sets vtable, calls CEffectAura__dtor to clean up sprites, then calls dtor_base to destroy the base effect object. 0x00B49A40 134 CEffectAura__common_scalar_deleting_dtor_00b49a40 effect Scalar deleting destructor for CEffectAura variant. Calls destructor chain (vtable set, dtor, dtor_base), then frees memory (0xF0 bytes) if deletion flag bit 0 is set. 0x00B49AD0 248 CEffectAura__common_create_ring_sprites effect Creates 10 ring sprites for the common aura effect. Allocates from pool with type 0x201, sets each sprite's direction index (0-9), angle offset from LUT, radius from height calculation, uses effect_ring_yellow.tga texture. Pushes each to vector at offset 0xD0. 0x00B49BD0 251 CEffectAura__common_create_sprites effect Creates sprites for the common aura effect in a grid pattern. Outer loop: elevation from -90 to ~55 in steps of 36. Inner loop: azimuth 0 to ~325 in steps of 36. Allocates type 1 sprites, sets radius from height, uses texture at 01183ac4. Pushes to vector at offset 0xDC. 0x00B49CD0 110 CEffectAura__common_recycle_all_sprites effect Recycles all sprites from both aura vectors. Iterates vector at 0xCC-0xD0 and vector at 0xD8-0xDC, calling recycle_effect_to_pool on each sprite, then resets end pointers to start (clears both vectors). 0x00B49D40 265 CEffectAura__common_recreate_sprites effect Recreates all common aura sprites. First recycles existing sprites from both vectors (calls common_recycle_sprites twice), then creates new sprites in the grid pattern (elevation -90 to ~55, azimuth 0 to ~325 in steps of 36). Allocates type 1 sprites from pool with radius from height calculation. 0x00B49E60 453 CEffectAura__common_update_all_sprites effect Updates all common aura sprites each frame. For first vector (0xCC): updates radius with acceleration, clamps to max, builds rotation X matrix, applies alpha from parent, stores transform. For second vector (0xD8): increments radius and position. After processing, handles alpha fade-out when tick reaches threshold, decrementing alpha per-frame and clamping to 0-255. 0x00B4A030 193 CEffectAura__common_update_single_sprite effect Updates a single common aura sprite's scale, position and transform. Applies radius acceleration with clamping, builds rotation X matrix, copies alpha from parent (offset 0xEC), stores resulting 3x4 transform matrix into sprite. 0x00B4A100 65 CEffectAura__update_sprite_position_and_alpha effect Updates a single aura sprite's position and alpha. Increments radius by acceleration, adds speed to position offset, copies alpha value from parent's 0xEC field into sprite's 0x44 field. Simple per-frame update without matrix computation. 0x00B4A150 546 CEffectAura__variant_render_all_sprites effect Renders all variant aura sprites. For first vector (0xCC): computes quad vertex positions from sin/cos LUTs based on angle, renders with UV tiling (4 frames, modulo). For second vector (0xD8): calls variant_update_and_render for position, then renders with UV from frame/elevation index and texture strip coords. 0x00B4A380 321 CEffectAura__variant_render_single_sprite effect Renders a single variant aura sprite. Computes billboard quad corners from sin/cos LUTs at the sprite's angle, calculates UV tiling coordinates (4-frame modulo), then calls render_from_struct to draw. 0x00B4A4D0 179 CEffectAura__variant_render_sprites effect Renders a variant aura sprite with UV animation. Calls variant_compute_vertex_positions for the 3D transform, then builds UV coords from frame/elevation indices divided by atlas dimensions, calls render_from_struct to draw. 0x00B4A590 1095 CEffectAura__variant_compute_vertex_positions effect Computes 3D vertex positions for a variant aura sprite. Uses vec3_dot_product for 4 corners, builds 4 rotation matrices (X/Y combinations for current and next frame), applies scale factor, stores resulting 12 vertex coordinates (4 corners x 3 components) into sprite offsets 0x1F8-0x260. 0x00B4A9E0 205 CEffectAura__variant_ctor effect Constructor for CEffectAura variant (vtable 01183adc). Calls parent init with type 0x400, initializes two 3-element vectors to zero (offsets 0x33-0x3B), sets 5 fields (0x3C-0x40) to value 2 as default blend/render parameters. 0x00B4AAB0 95 CEffectAura__variant_dtor effect Destructor for CEffectAura variant (vtable 01183adc). Sets vtable, calls CEffectAura__dtor to release sprites, then calls dtor_base to destroy base effect. 0x00B4AB10 119 CEffectAura__variant_scalar_deleting_dtor effect Scalar deleting destructor for CEffectAura variant. Calls destructor chain (vtable 01183adc, dtor, dtor_base), then frees memory (0x104 bytes) if deletion flag bit 0 is set. 0x00B4AB90 518 CEffectAura__variant_create_and_init effect Creates and initializes all hero aura effect particles. Two passes: first creates 6 layers x 21 particles with additive blend (dst=6), second creates 6 layers x 21 with src=5/dst=7 blend. Each particle gets orbital angle from layer*60 degrees, uses effect_hero_005.tga texture, radius=10, scale=14, alpha=255, elevation=60. 0x00B4ADA0 499 CEffectAura__variant_update_single_particle effect Updates a single variant aura particle's orbital position. Computes billboard quad corners using sin/cos LUTs based on speed-adjusted angle and elevation. For particles after first frame, copies previous frame positions for trail interpolation. Updates parent's tracking positions for next particle in chain. 0x00B4AFA0 63 CEffectRing__clear_all_particles effect Iterates through particle vector (offset 0xe4-0xe8), calls FUN_00b82fd0 (particle destroy) on each, then resets end pointer to start (clears the vector). 0x00B4B020 114 CEffectRing__init_single_particle effect Initializes a single particle for the ring effect. Sets type=5, copies position from owner, transfers various effect params (color, scale angles), sets blend modes 5/7, calls sub-init, resets tick counter to 0. 0x00B4B0A0 138 CEffectRing__init_all_particles effect Iterates through all particles in vector (0xe4-0xe8) and initializes each one with ring effect parameters - type=5, position, color, scale, blend modes 5/7, then resets tick counter. 0x00B4B140 787 CEffectRing__update_all_particles effect Updates all ring effect particles each frame. For each particle: updates rotation angle with wrap at 360, oscillates alpha (0-255) based on tick%600, computes rotation matrix from camera, calculates billboard corner positions using sin/cos lookup tables, stores transform matrix and previous frame positions for interpolation. Increments tick counter. 0x00B4B460 721 CEffectRing__update_single_particle effect Updates a single ring effect particle. Increments rotation angle (wraps at 360), oscillates alpha based on tick%600, builds camera rotation matrix, computes billboard quad corner positions using sin/cos LUTs for the particle's angle and elevation, stores transform matrix and previous positions for interpolation. 0x00B4B740 180 CEffectRing__setup_texture_coords_all effect Iterates through all particles and sets up texture animation coordinates. For particles with positive frame count and below threshold, sets blend mode to 6 and computes UV coords from frame index / total frames. Uses DAT_010e22dc as the texture atlas dimension. 0x00B4B800 138 CEffectRing__setup_texture_coords_single effect Sets up texture animation coordinates for a single ring particle. If frame count > 0, sets blend mode to 6, computes UV coords from frame-1 and frame divided by texture atlas dimension. 0x00B4B890 151 CEffectRingBlue__ctor effect Constructor for CEffectRingBlue (subclass of CEffectAura). Calls parent init with size 0xF7, sets vtable to 01183b7c, initializes 6 transform matrix slots (offsets 0x33-0x3b) to zero. 0x00B4B930 95 CEffectRingBlue__dtor effect Destructor for CEffectRingBlue. Sets vtable to 01183b7c, calls CEffectAura destructor, then calls cleanup function FUN_00b4dd10. 0x00B4B990 119 CEffectRingBlue__scalar_deleting_dtor effect Scalar deleting destructor for CEffectRingBlue. Sets vtable, calls CEffectAura dtor + cleanup, then frees memory (size 0xF0) if flag bit 0 is set. 0x00B4BA10 408 CEffectRingBlue__update_single_particle effect Updates a single blue ring particle. Computes orbital position using sin/cos LUTs based on angle and elevation. For frame counts 1-20, calculates billboard quad corners and stores previous/current positions for interpolation. Special case: if frame==20, uses raw angle offset. Updates owner's tracking positions. 0x00B4BBB0 63 CEffectRingBlue__clear_all_particles effect Destroys all particles in the blue ring effect's vector (0xe4-0xe8), calling particle destroy on each, then resets end pointer to start. 0x00B4BBF0 672 CEffectRingBlue__create_particles effect Creates all particles for the blue ring effect. Generates 22 particles x 4 layers using effect_ring_blue.tga texture. Each particle gets orbital position calculated from sin/cos LUTs, with initial offset based on layer index (90 degrees apart). Sets radius=120, initial alpha=70, elevation=89. Stores billboard quad corners and previous positions for interpolation. 0x00B4BE90 536 CEffectRingBlue__reset_single_particle effect Resets/reinitializes a single blue ring particle. Sets alpha=70, rotation speed=360, radius=120, elevation=89, computes initial angle offset from layer index. Calculates billboard positions using sin/cos LUTs. Initializes tick counter and previous frame positions. 0x00B4C0C0 560 CEffectRingBlue__update_all_particles effect Updates all blue ring particles each frame. Copies position from owner, handles lifecycle phases: fade-in (tick 200-290 using LUT), sustain, fade-out (tick 800+ decrementing radius). Computes rotation+scale matrix for each particle. For type 3/frame 21, stops at tick 1000. Increments tick counter. 0x00B4C2F0 461 CEffectRingBlue__update_single_particle_matrix effect Computes transform matrix for a single blue ring particle. Handles lifecycle phases: 0-200 = invisible, 200-290 = fade-in via LUT, 290-800 = sustain, 800+ = fade-out. Builds combined rotation Y + scale matrix for billboard rendering. Early exit if particle is type 3/frame 21 with tick >= 1000. 0x00B4C4C0 160 CEffectRingBlue__setup_texture_coords_all effect Iterates through all blue ring particles and sets texture animation UV coordinates. For non-null particles with positive frame count, computes UV from frame/atlas dimension. Sets blend flag 0x100 (no wrapping). Uses DAT_010e22dc as atlas dimension. 0x00B4C560 118 CEffectRingBlue__setup_texture_coords_single effect Sets texture animation UV coordinates for a single blue ring particle. Computes UV from frame index / atlas dimension. Sets blend flag 0x100 (no wrapping). 0x00B4C5E0 133 CEffectRingBlueSmall__ctor effect Constructor for CEffectRingBlueSmall (variant of blue ring). Calls parent init with size -1 (no alloc), sets vtable to 01183c0c. Initializes scale=1.0 at offset 0x33, clears flags at 0x34-0x37. 0x00B4C670 95 CEffectRingBlueSmall__dtor effect Destructor for CEffectRingBlueSmall. Sets vtable to 01183c0c, calls CEffectAura dtor, then calls cleanup function. 0x00B4C6D0 119 CEffectRingBlueSmall__scalar_deleting_dtor effect Scalar deleting destructor for CEffectRingBlueSmall. Sets vtable, calls CEffectAura dtor + cleanup, frees memory (size 0xE0) if flag bit 0 is set. 0x00B4C750 63 CEffectSquareRange__clear_all_particles effect Clears all particles in the square range effect. Iterates vector at offset 0xd4-0xd8, destroys each particle, resets end pointer to start. 0x00B4C790 203 CEffectSquareRange__create_particle effect Creates a single particle for the square range indicator effect. Allocates particle, sets alpha=255 white color, loads effect_SquareRange.tga texture. Scales by range*factor. Special case for skill 0x3DF: sets duration=300, color grey, blend mode 6. Pushes to particle vector. 0x00B4C860 51 CEffectSquareRange__apply_skill_overrides effect Applies skill-specific overrides for the square range effect. For skill 0x3DF: sets duration=300, grey color (0x5c,0x5c,0x5c), and blend mode 6. 0x00B4C8E0 326 CEffectSquareRange__update_all_particles effect Updates all square range particles. Copies position from owner. If range changed (dirty flag at 0xd0), updates particle scale. Builds rotation X matrix (pi/4 tilt) combined with uniform XY scale, stores as particle transform matrix. Increments tick counter. 0x00B4CA30 260 CEffectSquareRange__update_single_particle effect Updates a single square range particle transform matrix. If range dirty flag set, updates scale from owner range * factor. Builds rotation X (pi/4) * uniform XY scale matrix and stores as particle transform. 0x00B4CB40 83 CEffectSquareRange__setup_texture_coords_all effect Sets up texture coordinates for all square range particles. For each non-null particle, calls texture setup with UV range [0,1] and a single-frame texture flag. 0x00B4CBA0 59 CEffectSquareRange__setup_texture_coords_single effect Sets up texture coordinates for a single square range particle. Sets UV range [0,1] full texture with single-frame flag. 0x00B4CBE0 188 CEffectTrail__ctor effect Constructor for CEffectTrail. Calls parent init with size 0x12, sets vtable to 01183cb0, allocates a linked list node (size 0xC) for trail segments. Initializes 10 transform matrix slots to zero. Sets max trail segments to 50 (offset 0x0B). 0x00B4CCA0 146 CEffectTrail__dtor effect Destructor for CEffectTrail. Sets vtable to 01183cb0, walks the linked list of trail segments freeing each node (size 0xC), then frees the list head. Calls parent cleanup. 0x00B4CD40 170 CEffectTrail__scalar_deleting_dtor effect Scalar deleting destructor for CEffectTrail. Frees linked list of trail segments, calls parent cleanup, frees self (size 0x14C) if flag bit 0 set. 0x00B4CDF0 1032 CEffectTrail__create_trail_particles effect Creates 10 trail particles with randomized parameters. Each gets random angle (0-360), random size (50-100), random velocity (-60 to -150), random elevation. Builds rotation Y matrix for initial direction. Computes 3D spawn position from rotation. Stores velocity/acceleration/gravity parameters. Adds particles to linked list. Sets alpha=255. 0x00B4D200 103 CEffectTrail__clear_all_trail_segments effect Clears all trail segments. Destroys each particle in the linked list, then frees all linked list nodes (size 0xC each), resets list to empty state with count=0. 0x00B4D290 597 CEffectTrail__update_all_particles effect Updates all trail particles each frame. For each particle in the linked list: accumulates velocity + acceleration, applies rotation matrix to get directional offset, adds owner position as base, checks ground height via C3dAttr and dampens vertical velocity if below ground. Increments tick and updates size. 0x00B4D4F0 546 CEffectTrail__update_single_particle effect Updates a single trail particle. Accumulates velocity and acceleration, applies Y-rotation matrix for directional movement. Adds base position from owner, checks ground collision via C3dAttr__GetInterpolatedHeight, dampens bounce if below terrain. Updates position, size, and velocity state. 0x00B4D720 39 CEffectTrail__render_all_particles effect Renders all trail particles by iterating the linked list and calling a render function with billboard mode 1 for each particle. 0x00B4D750 17 CEffectTrail__render_single_particle effect Renders a single trail particle with billboard mode 1. 0x00B4D770 574 STL_vector_effect_insert_grow stl STL vector insert with reallocation for effect structs (element size 0x24). Computes new capacity (1.5x growth), allocates new buffer, copies elements before/after insertion point using move semantics, inserts new element, frees old buffer. Updates vector pointers (begin, end, capacity). 0x00B4D9B0 205 STL_vector_effect_move_range stl Moves a range of effect structs (size 0x24 each, containing 3 ints + std::string + 2 more ints) from source to destination buffer. Performs element-wise move with string move semantics (transfers pointer, resets source). 0x00B4DA80 94 STL_vector_effect_copy_construct_element stl Copy-constructs a single effect element (3 plain fields + an std::string) into a destination slot. Uses SEH for exception safety. 0x00B4DAE0 242 CEffectAura__ctor_00b4dae0 effect Constructor for CEffectAura base class. Sets vtable to 01183d70, stores size parameter, initializes position/rotation/scale fields to zero, sets default duration=60, mode=1, render flag=0x82. Initializes effect list pointers and state flags to zero. 0x00B4DBE0 91 STL_vector_effect_destroy_elements stl Destroys all elements in a vector of effect structs (element size 0x24). Iterates from begin to end, calling std::string destructor on each element's string member. 0x00B4DC40 198 STL_vector_effect_clear_and_free stl Clears and frees a vector of effect structs. Destroys each element's std::string, then frees the backing buffer (with aligned allocation support for buffers > 0xFFF). Resets all three vector pointers to null. 0x00B4DD10 77 CEffectAura__dtor_base effect Base destructor for CEffectAura. Sets vtable to 01183d70, then clears and frees the effect element vector. 0x00B4DD60 68 STL_string_dtor_wrapper_00b4dd60 stl Thin SEH wrapper around std::string destructor. Sets up exception handler, calls STL_string_dtor, restores FS chain. 0x00B4DDB0 19 CEffectAura__compare_id effect Compares two effect aura objects by their ID field at offset +4. Returns true if they have the same ID. 0x00B4DDD0 105 CEffectAura__scalar_deleting_dtor effect Scalar deleting destructor for CEffectAura base class. Sets vtable, clears effect vector, frees self (size 0xCC) if flag bit 0 set. 0x00B4DE40 328 CEffectAura__add_effect_entry effect Adds an effect entry to the aura's effect list. Takes an ID, texture path string, and two extra params. Builds a struct (ID, param1, param2, texture path as std::string) and pushes it to the vector at offset 0xB4. Falls through to STL_vector_effect_insert_grow if vector is at capacity. 0x00B4DF90 36 CEffectAura__check_and_remove_expired effect Checks if this aura effect has expired by calling virtual method at vtable+0x18. If expired (returns false), calls removal function with param 0. Returns 1 if removed, 0 if still active. 0x00B4DFC0 278 CEffectAura__remove_effect_by_id effect Removes all effect entries matching the given ID from the effect list vector at offset 0xB4. For each match, shifts remaining elements down (with std::string move), destroys the last element's string, and decrements the vector end pointer by 0x24. 0x00B4E0E0 100 CEffectAura__check_visibility effect Checks if this aura effect should be visible. Returns 1 (invisible) if entity doesn't exist, has no render object, is the local player (when not force-rendered), or fails a stealth/invisibility check. Otherwise delegates to another visibility check. 0x00B4E170 47 CEffectAura__set_effect_param_by_id effect Finds the effect entry with the given ID in the effect list (offset 0xB4) and updates its param1 field (at entry offset +4) with the given value. 0x00B4E1A0 229 CEffectAura__execute_effect_entries effect Executes effect entries matching the current frame index. For type 0 effects with valid string data, plays a 3D sound via CSoundMgr__play_sound_from_resource using the effect's texture path and position offset from camera. For type 1 effects, triggers a game mode virtual call with param 0x7A. 0x00B4E290 57 CEffectAura__try_render effect Attempts to render the aura effect. Only renders if effects are enabled in game settings (option 8) or force-render flag is set. Checks virtual visibility method, then dispatches to virtual render method if not already rendering. 0x00B4E2D0 187 CEffectAura__init_with_id effect Initializes the aura with an entity ID. Stores the ID at offset +4, then calls Lua function "IsForceRenderEffect" to check if this effect should always render regardless of settings. 0x00B4E390 13 CEffectAura__set_owner_id effect Sets the owner entity ID for this aura effect at offset 0x20. 0x00B4E3A0 52 CEffectAura__set_target_entity effect Sets the target entity for the aura effect. Looks up entity by ID, stores the ID at offset 0x24 and copies the entity's 3D position (offsets 0x10-0x18) to the aura's target position (0x14-0x1C). 0x00B4E3E0 292 CEffectAura__update_and_render effect Main update+render tick for the aura. Fetches target entity position, calls virtual update method. If not paused, executes effect entries matching current frame (type 0: plays 3D sound via CSoundMgr, type 1: triggers game mode virtual call with 0x7A). Calls virtual post-render method, increments frame counter. 0x00B4E510 106 CEffectAura__update_distance_visibility effect Computes distance from effect position to current player world position. Sets visibility flag (offset 0x34) to true if distance exceeds the threshold at offset 0x38 (i.e., too far away to render). 0x00B4E580 93 STL_vector_effect_destroy_range stl Destroys a range of effect elements (size 0x24 each) by calling std::string destructor on each element's string member. SEH protected. 0x00B4E5E0 10 thunk_to_std__Xlength_error_00b4e5e0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00B4E5F0 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B4E630 103 CEffectAura__is_within_range effect Returns true if the player is within the effect's distance threshold (offset 0x38). Computes 3D distance from effect position to current player world position. 0x00B4E6A0 26 CEffectAura__is_owner_alive effect Checks if the aura's owner entity still exists. Returns 0 if owner ID is set but entity lookup fails (owner removed), 1 otherwise. 0x00B4E6C0 10 CEffectAura__is_duration_reached effect Returns true (low byte) if the aura's frame counter (offset 0x28) has reached or exceeded its duration limit (offset 0x2c, default 60). The upper 3 bytes return the frame counter >> 8, typically ignored by callers. Used by 24+ CEffect subclasses as a lifetime check. 0x00B4E6D0 209 CEffectElectric__ctor effect Constructor for CEffectElectric (electric/lightning effect). Calls CEffectAura base ctor, sets vtable to 01183e10. Initializes 6 vertex positions (2 groups of 3) and 4 additional state fields to zero. 0x00B4E7B0 95 CEffectElectric__dtor effect Destructor for CEffectElectric. Sets vtable to 01183e10, calls CEffectAura dtor + CEffectAura base dtor. 0x00B4E810 119 CEffectElectric__scalar_deleting_dtor effect Scalar deleting destructor for CEffectElectric. Size 0x110 bytes. Sets vtable, calls both dtors, frees memory if flag set. 0x00B4E890 389 CEffectElectric__create_lightning_particles effect Creates lightning effect particles. Generates 4 layers x 20 segments x 4 sub-particles using effect_elec1.tga texture. Each segment gets radius 0.1, random Y rotation offset. Builds a height table with decaying values from 9.0 down. Particles stored in vector at offset 0x104. 0x00B4EA20 911 CEffectElectric__update_single_particle effect Updates a single lightning particle. For the first segment (index 0): computes jittered vertex positions from base offsets using sin/cos LUTs, determines facing angle from delta positions. For segments 1-18: computes cylindrical positions around the axis using facing angle, updates billboard quad corners and previous frame positions for interpolation. 0x00B4EDB0 63 CEffectElectric__clear_all_particles effect Clears all lightning effect particles. Iterates vector at offset 0x104-0x108, destroys each particle, resets end pointer. 0x00B4EDF0 143 compute_facing_angle_from_delta game_core Computes facing angle (0-360 degrees as short) from 2D delta (dx, dz). Uses atan2-like approach with sin LUT comparison. Normalizes delta by magnitude, searches cos table for match, adjusts for quadrant. Stores result at output pointer. 0x00B4EE90 164 CEffectElectric__update_tick effect Updates the electric effect tick counter. At ticks 20-23, creates new lightning particles at angles 0 and 180 degrees. At tick 25, plays a 3D sound effect via CSoundMgr__play_sound_from_resource positioned relative to the camera. Increments tick counter. 0x00B4EF50 1376 CEffectElectric__update_all_particles effect Updates all electric/lightning particles. Handles tick-based creation of new lightning at ticks 20-23, plays 3D sound at tick 25. For each particle: grows size, fades alpha, adds random jitter during initial ticks. Computes camera rotation matrix, builds jittered vertex positions for the first sub-particle, then calculates billboard quad positions for segments 1-18 along the lightning arc. 0x00B4F4B0 1145 CEffectElectric__update_single_particle_full effect Full update for a single lightning particle including size growth, alpha fade, random jitter during initial phase, camera rotation matrix computation, vertex jitter for first sub-particle, and billboard quad positions along the lightning arc for segments 1-18. 0x00B4F930 238 CEffectElectric__setup_texture_coords_all effect Sets up texture coordinates for all lightning particles. For valid particles (segments 1-18, sub-particle > 0): temporarily reduces alpha by segment*5, sets blue-tinted color (r=seg*6, g=seg*6, b=255), computes UV from segment/atlas dimension. Restores original alpha after rendering. 0x00B4FA20 197 CEffectElectric__setup_texture_coords_single effect Sets texture coordinates for a single lightning particle. For segments 1-18 with sub-particle > 0: temporarily adjusts alpha, applies blue-tinted color gradient, computes UV from segment/atlas. Restores original alpha. 0x00B4FAF0 668 CEffectParticleEmitter__ctor effect Constructor for CEffectParticleEmitter. Calls CEffectAura base ctor with size 0x3CE, sets vtable to 01183ec8. Initializes spawn shape vertices (12 floats for box/cylinder bounds), various emitter params (gravity, sizes, angles, speeds), default color (255,255,255,255). Allocates texture path string "prt_flame" and initializes particle tree structure. 0x00B4FD90 125 CEffectParticleEmitter__dtor effect Destructor for CEffectParticleEmitter. Sets vtable to 01183ec8, destroys particle tree, calls CEffectAura dtor, destroys texture path string, calls CEffectAura base dtor. 0x00B4FE10 149 CEffectParticleEmitter__scalar_deleting_dtor effect Scalar deleting destructor for CEffectParticleEmitter. Size 0x18C bytes. Full destructor chain then optional free. 0x00B4FEB0 138 CEffectParticleEmitter__compute_spawn_count effect Computes how many particles to spawn this frame. Uses random_value_in_range for spawn rate, multiplied by speed factor. Accumulates fractional remainder between frames to ensure accurate particle counts over time. 0x00B4FF40 205 CEffectParticleEmitter__spawn_particles effect Spawns new particles based on computed spawn count. For each particle to spawn: gets next unprocessed ID from the effect pool, calls virtual init method. If loop mode is on (0x5b==1), forces alpha to the emitter's stored value. 0x00B50010 64 CEffectParticleEmitter__clear_all_particles effect Clears all particles in the emitter. Destroys each particle in the vector (offset 0x170-0x174), then clears the effect tree node structure. 0x00B50050 134 CEffectParticleEmitter__create_initial_particles effect Creates the initial batch of particles (count from offset 0x55). For each: allocates particle, sets scale, calls virtual init method, runs particle setup function, pushes to particle vector at offset 0x5C. 0x00B500E0 455 CEffectParticleEmitter__init_particle effect Initializes a single particle with emitter parameters. Copies owner position, sets texture, randomizes lifetime, size, velocity (x/y/z) from min/max ranges. Sets initial gravity-affected velocity direction, resets alpha and tick counter. Optionally sets blend modes if configured. 0x00B502B0 179 CEffectParticleEmitter__update_existing_particles effect Updates all existing particles. If looping with zero spawn rate, calls reset function. For each particle: calls virtual update method, checks lifetime expiry (recycles if lifetime reached, zero lifetime, or loop mode), forces alpha on loop mode particles. 0x00B50390 257 CEffectParticleEmitter__tick_spawn_and_update effect Main per-frame tick for the emitter. If not paused: computes spawn count, spawns new particles (with loop-mode alpha override). Then iterates all existing particles and calls virtual per-particle update method. 0x00B504A0 819 CEffectParticleEmitter__update_single_particle effect Updates a single emitter particle. Sets RGB color, handles alpha fade in/out based on lifetime. Applies velocity with speed factor and acceleration/gravity. Builds transform matrix - either fixed rotation (XYZ Euler) with scale, or camera-facing billboard with rotation X + scale. Stores resulting 3x4 transform matrix on the particle. 0x00B507E0 111 CEffectParticleEmitter__setup_texture_coords_all effect Sets up texture/render parameters for all emitter particles. For each non-null particle: copies billboard mode flag, wrap mode, and UV coordinate data from global defaults at 01183f60. 0x00B50850 85 CEffectParticleEmitter__setup_texture_coords_single effect Sets texture/render parameters for a single emitter particle. Copies billboard mode flag, wrap mode, and UV data from global defaults. 0x00B508B0 943 CEffectParticleEmitter__update_single_particle_full effect Full update for a single emitter particle including position copy, lifetime check, and all physics/transform logic. If particle expired and not in loop/immortal mode, recycles it back to pool. Otherwise: applies color, alpha fade, velocity+gravity, and builds billboard or fixed-rotation transform matrix. Increments tick counter. 0x00B50C60 40 CEffectParticleEmitter__set_particle_count effect Sets the initial particle count (offset 0x55) and rebuilds the emitter if the count changed. Calls virtual clear and create methods to recreate particle pool. 0x00B50C90 80 CEffectParticleEmitter__set_speed_factor effect Sets the speed multiplier factor (offset 0x158) for the emitter. If changed, propagates the new speed factor to all existing particles' speed field (offset 0xC0). 0x00B50CE0 47 CEffectParticleEmitter__update_distance_check effect Checks distance to player and sets visibility/pause flags. If within range: clears out-of-range flag and pause flag. If out of range: sets pause flag, and if no persistent particles remain, also sets visibility flag to hidden. 0x00B50D10 136 CEffectOrbit__ctor_00b50d10 effect Constructor for CEffectOrbit (orbiting particle effect). Calls CEffectAura base ctor, sets vtable to 01183f74. Initializes orbit state: mode=0, orbit count=2, and 3 additional state fields to zero. 0x00B50DA0 95 CEffectOrbit__dtor_00b50da0 effect Destructor for CEffectOrbit. Sets vtable to 01183f74, calls CEffectAura dtor then CEffectAura base dtor. 0x00B50E00 119 CEffectOrbit__scalar_deleting_dtor_00b50e00 effect Scalar deleting destructor for CEffectOrbit. Size 0xE0 bytes. Full dtor chain then optional free. 0x00B50E80 63 CEffectOrbit__clear_all_particles effect Clears all orbit effect particles. Iterates vector at 0xd4-0xd8, destroys each, resets end pointer. 0x00B50EC0 595 CEffectOrbit__create_particles effect Creates orbiting particles. For each orbit slot (count from 0xCC): creates sub-particles (count from 0xD0) with random angle, random elevation index (0-2), and evenly-distributed initial rotation offset. Selects texture based on skill ID: FireOrb (0x2DF), WaterOrb (0x2E1), StoneOrb (0x2E2), LightningOrb (0x2E0), fog1 (0x3ED). Special color for skill 0xE4 (blue/black). Default texture is effect_thunder_center. Sets size, speed, height offset parameters. 0x00B51120 279 CEffectOrbit__apply_skill_texture effect Applies skill-specific texture and size to an orbit particle. Skill 0x2DF=FireOrb (size 2.3), 0x2E1=WaterOrb (size 1.3), 0x2E2=StoneOrb (size 2.3), 0x2E0=LightningOrb (size 2.3), 0x3ED=fog1 (size 6.0, special params). Skill 0xE4=blue/black color per sub-particle index. 0x00B51250 668 CEffectOrbit__update_all_particles_00b51250 effect Updates all orbiting particles. For each: copies owner position, fades in alpha over 200 ticks, advances rotation angle by speed. Builds combined camera rotation + X rotation (pi) + scale + translation matrix, where translation uses sin/cos of angle for circular orbit path with height bobbing. First sub-particle gets extra size oscillation. Increments tick counter. 0x00B514F0 605 CEffectOrbit__update_single_particle effect Updates a single orbit particle. Fades in alpha over 200 ticks, advances rotation angle. Builds camera rotation + X rotation (pi) + uniform scale matrix. Computes orbital position from sin/cos of angle with height bobbing. First sub-particle gets extra size oscillation. Stores combined transform matrix on particle. 0x00B51750 83 CEffectOrbit__setup_texture_coords_all effect Sets up texture coordinates for all orbit particles. Calls render mesh with UV [0,1] and billboard flag for each non-null particle. 0x00B517B0 59 CEffectOrbit__setup_texture_coords_single effect Sets texture coordinates for a single orbit particle. Calls render mesh with UV [0,1] and billboard flag. 0x00B517F0 29 CEffectOrbit__set_orbit_count effect Sets the number of orbital slots (offset 0x33). If changed, calls virtual create method to rebuild particles. 0x00B51810 310 CEffectNameplate__ctor effect Constructor for CEffectNameplate (floating name/text above entities). Calls CEffectAura base ctor, sets vtable to 01184080. Initializes font path string (12 chars from DAT_0118410c). Sets various display flags and state fields to zero. 0x00B51950 95 CEffectNameplate__dtor effect Destructor for CEffectNameplate. Sets vtable to 01184080, destroys font path string, calls CEffectAura base dtor. 0x00B519B0 119 CEffectNameplate__scalar_deleting_dtor effect Scalar deleting destructor for CEffectNameplate. Size 0x108 bytes. Destroys font string, base dtor, optional free. 0x00B51A30 43 CEffectNameplate__set_position_offset effect Sets the nameplate position offset (X, Y) at large offsets 0x3FEC and 0x3FF0 within the attached render object (offset 0xCC). Used to position the nameplate relative to the character. 0x00B51A60 600 CEffectNameplate__compute_screen_position effect Computes the 3D screen position for the nameplate. Checks visibility conditions (force render or distance check), gets owner entity, computes font height and character-specific offset. Projects 3D position through view and inverse projection matrices to get final screen-space position. Returns 1 if visible and position computed, 0 otherwise. 0x00B51CD0 65 CEffectNameplate__get_render_position effect Gets the nameplate render position (3 floats) from the attached render object at offset 0x3FC0. If no render object, returns zero vector. 0x00B51D60 620 CEffectNameplate__get_height_offset_for_skill effect Gets the vertical height offset for positioning a nameplate based on skill ID and effect name. Has hardcoded offsets for specific skills (0x4C3, 0x40B/C, 0x43E, etc.). Also checks effect name for "strangelights", "superstar", "ljosalfar" keywords. For custom headgear effects (ID > 0x9B5), calls Lua "GetHatEfPosX" to get additional offset. 0x00B52060 441 CEffectNameplate__get_vertical_offset_for_skill effect Gets the vertical position offset for a nameplate based on skill ID and entity state. For custom headgears (ID > 0x9B5), checks Lua "IsIgnoredRidingState_Include_Att..." and "GetHatEfPos". Checks riding state via entity flags. Returns combined offset subtracting 7 as base. 0x00B528D0 1 stub_nop_00b528d0 game_core Single-byte stub function (size=1) 0x00B52980 900 CEffectNameplate__init_render_layer effect Initializes the render layer for the nameplate effect. Allocates effect layer, handles shrink state via Lua "IsAdjustSizeWhenShrinkState" and "IsAdjustPositionWhenShrinkState". Configures rendering flags based on a large switch of skill IDs. For custom headgear IDs, queries Lua "IsAttachedToHead". Stores camera angle and calls virtual init method. 0x00B531E0 136 CEffectNameplate__setup_effect_resources effect Sets up effect resources (textures/sounds) based on skill ID. Contains a massive switch for skills 0xCC-0xD3 and 0x426 that add specific effect entries. For skills in range 0x44D-0x976, uses a jump table. For custom headgear IDs (> 0x9B4), queries Lua "IsRenderBeforeCharacter" for render ordering. 0x00B534A0 283 CEffectAura__add_eleven_effect_entries effect CEffectAura: add eleven effect entries 0x00B56210 32 CEffectNameplate__check_skill_has_custom_render effect Checks if the skill ID (0x425-0x976 range) has a custom render configuration. Uses a byte lookup table to dispatch to specific handler cases. Returns a bool-like value indicating custom render status. 0x00B56D30 79 CEffect__load_effect_resource_by_skill_id effect Loads effect resources (STR/sprite files) for a given skill ID. For IDs 0x0D-0x976, uses a massive jump table to load skill-specific effect files. For custom headgear IDs (> 0x9B4), queries Lua "GetHatEfResName" and loads the returned resource name. Each case typically constructs a std::string path and calls CEffect__load_resource_by_name. 0x00B5757D 33 CEffect__load_su_grooming_resource effect Jump table case that loads the su_grooming/su_grooming.str effect resource. 0x00B5759E 33 CEffect__load_su_chattering_resource effect Jump table case that loads the su_chattering/su_chattering.str effect resource. 0x00B575BF 33 CEffect__load_su_nyanggrass_resource effect Jump table case that loads the su_nyanggrass/su_nyanggrass.str effect resource. 0x00B575E0 33 CEffect__load_su_hiss_resource effect Jump table case that loads the su_hiss/su_hiss.str effect resource. 0x00B57601 33 CEffect__load_su_powerofflock_resource effect Jump table case that loads the su_powerofflock/su_powerofflock.str effect resource. 0x00B57622 33 CEffect__load_su_svg_spirit_resource effect Jump table case that loads the su_svg_spirit/su_svg_spirit.str effect resource. 0x00B63866 204 CEffect__load_resource_and_check_hat effect Loads effect resource by name. For custom headgear IDs (> 0x9B4), also queries Lua "GetHatEfResName" for an additional resource name and loads that as well if present. 0x00B65EE0 600 CEffectNameplate__update_all effect Main per-frame update for the nameplate effect. Updates camera rotation tracking, copies owner position to render layer, computes screen position and ticks animation. For skill 0x851, plays periodic sound effect (ABC_ABYSS_SQUARE) every 64 ticks. Handles head-tracking: gets entity's render offset and applies scaled position. Stores entity scale factors for rendering. 0x00B66140 72 CEffectNameplate__update_single_tick effect Updates a single render layer tick. Computes screen position; if invisible and not skill 0x584, offsets Y by -80 to hide. Otherwise animates normally at origin. 0x00B66188 39 CEffect__tick_animation_at_origin effect Ticks the effect animation at the origin position (0,0,0). 0x00B662C0 154 CEffectNameplate__render_with_flash effect Renders the nameplate effect with optional screen flash. For specific skill IDs (0x647, 0x907-0x90F), adds a white flash overlay that increments at 0x2000000 per tick (max 0xAA000000 alpha). For skills 0x95B-0x95F, flash increments faster at 0x10000000. Renders with additive blending, then calls main layer render. 0x00B663D0 138 CEffectNameplate__update_camera_rotation effect Updates the camera rotation tracking for the nameplate effect. If camera angle has changed since last frame, computes the delta and adds it to the render object's rotation offset (0x3FA4), wrapping to [0, 360) range. 0x00B66460 22 CEffectNameplate__set_layer_blend_mode effect Sets the blend mode (offset 0x2B8) on the render object at offset 0xCC. 0x00B66480 30 CEffectNameplate__set_layer_scale effect Sets the scale value (offset 0x3FB4) on the render object, if it exists. 0x00B664A0 62 CEffectNameplate__init_with_skill_id effect Initializes the nameplate effect with a skill ID. Calls base CEffectAura__init_with_id, then for specific skill IDs (0x3F4, 0x40A-0x447 subset, and all custom headgear IDs > 0x9B4) sets the force-render flag at offset 0xC8. 0x00B66540 111 CEffectNameplate__set_render_position_3d effect Sets the 3D render position (3 floats at offsets 0x3FC0-0x3FC8) on the render object. If flag param is 1, also enables auto-positioning flag (0x3FBC) and stores the additional parameter at 0x3FB8. 0x00B665B0 19 CEffectNameplate__set_animation_type effect Sets the animation type (offset 0x1C) on the render object. 0x00B665D0 27 CEffectNameplate__set_layer_count effect Sets the layer count (offset 0x3F9C) on the render object to (param - 1). 0x00B665F0 26 CEffectNameplate__set_anim_speed effect Sets the animation speed (offset 0x3F98) on the render object. 0x00B66610 30 CEffectNameplate__set_rotation_offset effect Sets the rotation angle offset (offset 0x3FA4) on the render object. 0x00B66630 30 CEffectNameplate__set_render_param effect Sets a render parameter (offset 0x3FB0) on the render object. 0x00B66650 33 CEffectNameplate__fast_forward effect Fast-forwards the nameplate animation by the given amount if a render object exists. 0x00B66680 26 CEffectNameplate__set_anim_frame effect Sets the current animation frame (offset 0x3FA0) on the render object. 0x00B666A0 65 CEffectNameplate__change_texture effect Changes the nameplate's texture/font path. Computes string length, updates the font path string, recycles the current render object back to pool, then calls virtual create to rebuild with new texture. 0x00B666F0 151 CEffectRingBlue2__ctor effect Constructor for CEffectRingBlue2 (variant blue ring effect). Calls CEffectAura base ctor, sets vtable to 01196310. Initializes 6 vertex slots and 3 state fields to zero. 0x00B66790 95 CEffectRingBlue2__dtor effect Destructor for CEffectRingBlue2. Sets vtable to 01196310, calls CEffectAura dtor then base dtor. 0x00B667F0 119 CEffectRingBlue2__scalar_deleting_dtor effect Scalar deleting destructor for CEffectRingBlue2. Size 0xF0 bytes. 0x00B66870 555 CEffectRingBlue2__create_particles effect Creates particles for the blue ring 2 effect. Generates 21 particles x 4 layers using effect_ring_blue.tga. Two configurations (param 0 vs 1) with different sizes (4.5-5.5 vs 5.5-6.5), elevation angles, and radii per layer. Sets blue color (100,100,255). Initializes billboard quad vertices. 0x00B66AA0 433 CEffectRingBlue2__update_single_particle effect Updates a single blue ring 2 particle. Computes orbital radius from sin/cos LUTs based on angle, applies fade-in during first 91 ticks. Calculates billboard quad corners using elevation angle and rotation. Stores previous/current positions for interpolation. 0x00B66C60 63 CEffectRingBlue2__clear_all_particles effect Clears all blue ring 2 particles by recycling each to the effect pool, then resets the vector. 0x00B66CA0 124 CEffectRingBlue2__init_effect effect Initializes the blue ring 2 effect. Sets duration to 400, plays a sound billboard, then creates two sets of ring particles (configuration 0 and 1). 0x00B66D30 603 CEffectRingBlue2__update_all_particles effect Updates all blue ring 2 particles. Each frame: oscillates radius via cos table, fades alpha in (0-20 ticks, +5/tick, max 180) then out (111+ ticks, -1/tick). Computes orbital positions using sin/cos LUTs. Updates billboard quad corners and previous positions. Increments tick counter. 0x00B66F90 577 CEffectRingBlue2__update_single_particle_full effect Full update for a single blue ring 2 particle including radius oscillation, alpha fade in/out, orbital position calculation, and billboard quad update. Similar to the batch update but for a single particle. 0x00B671E0 164 CEffectRingBlue2__setup_texture_coords_all effect Sets up texture UV coordinates for all blue ring 2 particles. For each with positive frame count: computes UV from frame/atlas dimension with blend flag 0x100. 0x00B67290 122 CEffectRingBlue2__setup_texture_coords_single effect Sets texture UV coordinates for a single blue ring 2 particle. Computes UV from frame/atlas dimension with blend flag 0x100. 0x00B67310 253 CEffectBeamRing__ctor effect Constructor for CEffectBeamRing (ring beam/laser effect). Calls CEffectAura base ctor, sets vtable to 011963b4. Initializes 6 vertex positions, 6 beam direction fields, and 9 additional state fields all to zero. 0x00B67410 125 CEffectBeamRing__dtor effect Destructor for CEffectBeamRing. Sets vtable, calls CEffectAura dtor then base dtor. 0x00B67490 149 CEffectBeamRing__scalar_deleting_dtor effect Scalar deleting destructor for CEffectBeamRing. Calls full dtor chain, optional free. 0x00B67530 919 CEffectBeamRing__create_particles effect Creates particles for the beam ring effect with multiple configurations based on init parameter. 0x00B678F0 1006 CEffectBeamRing__create_ring_particles effect Creates ring-layer particles for the beam ring effect. Allocates 21 particles per layer using effect_ring_white/alpha_down/ring_blue textures. Multiple configurations (0-8) control texture, color, radius, and rotation speed. Each particle gets randomized angle offset and drift values. 0x00B67D10 616 CEffectBeamRing__create_orbit_particles effect Creates orbit-layer particles for the beam ring effect. Allocates 21 particles per orbit band using different textures and colors per configuration (0, 1, 2, 5). Elevation angle decreases per band for stacked ring appearance. 0x00B67F90 868 CEffectBeamRing__setup_texture_coords_all effect Sets up texture coordinates for all beam ring particles with UV animation. 0x00B68300 481 CEffectBeamRing__setup_texture_coords_single effect Sets texture coordinates for a single beam ring particle. 0x00B684F0 465 CEffectBeamRing__compute_particle_orbit effect Computes orbital position for a single beam ring particle using sin/cos LUTs. Calculates radius with oscillation factor, applies elevation angle and rotation to determine 3D billboard quad corners. Stores previous positions for interpolation. 0x00B686D0 157 CEffectBeamRing__clear_all_particles effect Clears all beam ring particles by recycling to pool and resetting vector. 0x00B68830 1989 CEffectAuraManager__create_effect_by_id effect Factory method that creates the appropriate CEffectAura subclass based on effect ID. Routes to CEffectRing, CEffectRingBlue, CEffectSquareRange, CEffectTrail, CEffectElectric, CEffectOrbit, CEffectNameplate, CEffectParticleEmitter, CEffectRingBlue2, or CEffectBeamRing constructors. 0x00B69060 246 CEffectBeamRing__update_single_pok_particle effect Updates a single pok-textured beam ring particle per frame. Adjusts rotation speed (offset 0x50), fades alpha in during first 11 ticks (+15/tick) then out (-3/tick). Swaps between pok1 and pok3 textures at specific frame intervals based on particle index. Applies vertical drift. 0x00B69160 1504 CEffectBeamRing__update_all_particles effect Main per-frame update for CEffectBeamRing. First calls create_effect_by_id for phased particle creation. Then iterates 3 particle vectors: (1) ring particles with alpha fade and orbital position via sin/cos LUTs, (2) orbit particles with similar but different angle formula, (3) pok particles with rotation/texture swap/drift. Increments tick counters. 0x00B69740 529 CEffectBeamRing__update_single_ring_particle effect Updates a single ring-layer particle for CEffectBeamRing. Computes alpha fade-in (first 16 ticks, +5/tick, max 180) then fade-out (-2/tick). Calculates orbital position using sin/cos LUTs with angle based on particle index and layer. Updates billboard quad corners and previous positions. 0x00B69960 529 CEffectBeamRing__update_single_orbit_particle effect Updates a single orbit-layer particle for CEffectBeamRing. Same alpha fade pattern as ring particles but uses a different angle formula (index*0x11+tick)*2 for the oscillation component. Stores positions at offset 0xe4-0xf8 (orbit vector) vs 0xcc-0xe0 (ring vector). 0x00B69B80 59 CEffectBeamRing__render_single_mesh_particle effect Renders a single mesh-type particle for CEffectBeamRing by calling CEffectLayer__render_mesh with default UV (0,0 to 1,1) and blend mode 1. Only renders if particle pointer is non-null. 0x00B69BC0 354 CEffectBeamRing__render_all_particles effect Renders all CEffectBeamRing particles across 3 vectors. Ring and orbit particles use UV-based rendering (CEffectLayer__render_from_struct with frame-based UV coords and blend flag 0x100). Pok particles use mesh rendering (CEffectLayer__render_mesh). 0x00B69D30 122 CEffectBeamRing__render_single_uv_particle effect Renders a single UV-animated particle for CEffectBeamRing. Computes texture UV coordinates from particle frame index divided by atlas dimension, applies blend flag 0x100, and calls CEffectLayer__render_from_struct. 0x00B69DB0 122 CEffectBeamRing__render_single_uv_particle_alt effect Renders a single UV-animated particle (alternate version). Identical to render_single_uv_particle but used as a standalone callback for a different particle vector. Same UV calculation from frame/atlas and blend flag 0x100. 0x00B69E30 613 CEffectBeamRing__rotate_vertices_by_camera effect Rotates a 4-vertex quad by camera yaw and pitch angles. Reads camera rotation from the global mode1 object (offsets 0x2c and 0x30). Applies two sequential rotations using sin/cos LUTs to transform the 12-float vertex array (4 vertices x 3 components). 0x00B6A0A0 173 CEffectSparkle__ctor effect Constructor for CEffectSparkle (sparkle/pikapika effect). Calls CEffectAura base ctor with duration 200, sets vtable to 0119649c. Initializes 6 vertex positions and 6 additional state fields to zero. 0x00B6A150 110 CEffectSparkle__dtor effect Destructor for CEffectSparkle. Sets vtable to 0119649c, calls CEffectAura dtor chain then base dtor. 0x00B6A1C0 134 CEffectSparkle__scalar_deleting_dtor effect Scalar deleting destructor for CEffectSparkle. Size 0xFC bytes. Sets vtable, calls full dtor chain, optionally frees memory. 0x00B6A250 114 CEffectSparkle__set_all_particles_color effect Sets RGB color on all CEffectSparkle particles across both particle vectors (offsets 0xe4-0xe8 and 0xf0-0xf4). Iterates each vector and calls CEffectLayer__set_rgb_color with the given R, G, B values. 0x00B6A2D0 578 CEffectSparkle__set_all_particles_texture effect Sets texture on all CEffectSparkle particles across both vectors by name string. For each particle, copies the texture name string (with SSO handling for strings > 15 chars) and calls CEffectLayer__set_texture_by_name. Cleans up the string copy after use. 0x00B6A520 703 CEffectSparkle__create_ring_particles effect Creates ring-layer particles for CEffectSparkle. Allocates 22 particles per band (type 0xd) with effect_ring_blue texture, blue color (100,100,255). Creates 3 bands with decreasing elevation angles (0x37, 0x32, 0x2d) and rotation offsets 0x5a apart. Computes initial orbital positions using sin/cos LUTs. 0x00B6A7E0 214 CEffectSparkle__create_sparkle_particles effect Creates sparkle-layer particles for CEffectSparkle. Allocates 2 particles (type 0xd) with pikapika2 texture, alpha=200, size=9.0. Particles are placed 180 degrees apart (angle offsets 0x16 and 0x2c) with elevation offsets 0xb4 apart. 0x00B6A8C0 401 CEffectSparkle__update_single_particle effect Updates a single CEffectSparkle particle's orbital position. Computes radius from sin LUT (no oscillation unlike BeamRing), calculates 3D position using sin/cos of elevation and rotation angles, updates billboard quad corners and previous positions for interpolation. 0x00B6AA60 110 CEffectSparkle__clear_all_particles effect Clears all CEffectSparkle particles by recycling each to the effect pool, then resets both particle vectors (offsets 0xe4-0xe8 and 0xf0-0xf4). 0x00B6AAD0 216 CEffectSparkle__init_effect effect Initializes the CEffectSparkle effect. Creates 2 sparkle particles (pikapika2 texture, alpha=200, size=9.0, 180 degrees apart), then calls create_ring_particles to add the ring layer with blue ring particles across 3 bands. 0x00B6ABD0 184 CEffectSparkle__update_rotation_matrix effect Updates the Y-rotation matrix for a single CEffectSparkle particle. Accumulates rotation angle (offset 0xc4) based on particle layer index and a time delta, then computes a Y-axis rotation matrix (via CMatrix__init_rotation_y) and stores it to the particle transform at offset 0x1c8. 0x00B6AC90 629 CEffectSparkle__update_all_particles effect Updates all CEffectSparkle particles per frame. For sparkle particles (vector at 0xe4): computes Z-rotation + X-tilt matrices, applies oscillating scale based on sin LUT, multiplies matrices, and stores the 3x4 transform at offset 0x1c8. For ring particles (vector at 0xf0): accumulates rotation angle and computes Y-rotation matrix. Increments tick counters on all particles. 0x00B6AF10 327 CEffectAuraManager__update_effect_transform effect Updates the transform matrix for an aura effect. Applies Z-axis rotation based on field 0xC4, wraps angle at 360 degrees with +3 step, computes scale from sin table, and builds final 3x4 transform matrix (rotation * scale) stored at offset 0x1C8. 0x00B6B060 122 CEffectAuraManager__render_layer_effect effect Renders a single aura layer effect. Checks particle count (offset 0xC), computes UV range from frame count / texture atlas size, and calls CEffectLayer__render_from_struct to draw the effect. 0x00B6B0E0 234 CEffectAuraManager__render_all_particle_effects effect Renders all active aura particle effects. Iterates two particle lists (offsets 0xE4 and 0xF0), rendering mesh billboards for the first list and layer effects with UV animation for the second list. 0x00B6B1D0 59 CEffectBeamRing2__render_single_particle effect Renders a single beam ring 2 particle if non-null via billboard mesh render with default white/full-scale parameters. 0x00B6B210 151 CEffectBeamRing2__ctor effect Constructor for CEffectBeamRing2. Calls CEffectAura base ctor, initializes vertex and state fields. 0x00B6B2B0 95 CEffectBeamRing2__dtor effect Destructor for CEffectBeamRing2. Calls CEffectAura dtor chain. 0x00B6B310 119 CEffectBeamRing2__scalar_deleting_dtor effect Scalar deleting destructor for CEffectBeamRing2. 0x00B6B390 63 CEffectBeamRing2__clear_all_particles effect Clears all beam ring 2 particles by recycling to pool. 0x00B6B3D0 333 CEffectBeamRing2__create_particles effect Creates particles for the beam ring 2 effect. 0x00B6B530 1069 CEffectBeamRing2__update_all_particles effect Updates all beam ring 2 particles each frame. 0x00B6B960 975 CEffectBeamRing2__update_single_particle effect Updates a single beam ring 2 particle with position and billboard calculations. 0x00B6BD30 121 CEffectBeamRing2__render_all_particles effect Renders all beam ring 2 particles. Iterates the particle list (offset 0x18C to 0x190) and calls billboard render twice per non-null particle. 0x00B6BDB0 75 CEffectBeamRing2__render_particle effect Renders a single beam ring 2 particle if non-null. Calls billboard mesh render twice with default white/full-scale parameters. 0x00B6BE00 151 CEffectBeamRing3__ctor effect Constructor for CEffectBeamRing3 variant. Calls CEffectAura base ctor, sets vtable, initializes state. 0x00B6BEA0 95 CEffectBeamRing3__dtor effect Destructor for CEffectBeamRing3. 0x00B6BF00 119 CEffectBeamRing3__scalar_deleting_dtor effect Scalar deleting destructor for CEffectBeamRing3. 0x00B6BF80 42 CEffectBeamRing3__clear_all_particles effect Clears all beam ring 3 particles. 0x00B6BFB0 317 CEffectBeamRing3__create_particles effect Creates particles for the beam ring 3 effect. 0x00B6C100 1085 CEffectBeamRing3__update_all_particles effect Updates all beam ring 3 particles each frame with orbital position and billboard calculations. 0x00B6C540 991 CEffectBeamRing3__update_single_particle effect Updates a single beam ring 3 particle with position and billboard calculations. Handles particle lifecycle: when lifetime expires, reinitializes with random angles (0-360). Otherwise interpolates orbital position using sin/cos tables, adjusting alpha fade. Builds final transform by composing rotation_x (with pi initial tilt), translation, and scale matrices. 0x00B6C920 121 CEffectBeamRing3__render_all_particles effect Renders all beam ring 3 particles. Iterates particle list (offset 0x18C to 0x190) and calls billboard render twice per non-null particle. 0x00B6C9A0 75 CEffectBeamRing3__render_single_particle effect Renders a single beam ring 3 particle if non-null. Calls billboard mesh render twice with default white/full-scale parameters. 0x00B6C9F0 150 CEffectThunder__ctor effect Constructor for CEffectThunder. Calls base class ctor with -1, sets vtable to 0x0119668C, and zeroes out 6 fields (offsets 0xCC-0xE0) used for particle lists. 0x00B6CA90 110 CEffectThunder__dtor effect Destructor for CEffectThunder. Sets vtable, calls CEffectAura::dtor twice (for two particle list layers), then calls base class cleanup. 0x00B6CB00 134 CEffectThunder__scalar_deleting_dtor effect Scalar deleting destructor for CEffectThunder. Calls dtor chain, then conditionally frees memory (0xE4 bytes) if flag bit 0 is set. 0x00B6CB90 532 CEffectThunder__init_outer_particles effect Initializes outer ring particles for thunder effect. Creates 0x50 particles per row across 4 rows (320 total). Each particle uses effect_white02.bmp texture with random angles. Colors vary by effect type: 0x4AD=blue/purple, 0x4AE=green/cyan, 0x4AF=orange/red, default=grey. 0x00B6CDB0 237 CEffectThunder__init_center_particles effect Initializes center column particles for thunder effect. Creates 4 particles using effect_thunder_center.bmp. Scale=3.5, alpha=1. Colors match effect type: 0x4AD=blue, 0x4AE=green, 0x4AF=orange. Stores in second particle list (offset 0xD0). 0x00B6CEA0 323 CEffectThunder__update_particle_position effect Updates a thunder particle's 3D position using spherical coordinates. Computes position from scale, angle indices into sin/cos tables. Sets vertex positions and UV coordinates differently based on height direction (param_1+0x58). 0x00B6CFF0 110 CEffectThunder__release_all_particles effect Releases all particles in both particle lists: center column particles (vector at 0xCC) and outer ring particles (vector at 0xD8). Calls recycle_effect_to_pool for each, then resets list sizes to empty. 0x00B6D060 255 CEffectThunder__init_center_and_outer_particles effect Initializes center column particles (4 thunder_center.bmp) then calls init_outer_particles twice with different height params (0 and 1) for upward and downward particle rings. 0x00B6D160 84 CEffectThunder__has_visible_particles effect Checks if any particle in either list (outer or center) has alpha > 0. Returns 1 if any visible particle found, 0 if all particles are fully faded out. 0x00B6D1C0 1077 CEffectThunder__update_all_particles effect Updates all thunder effect particles each frame. For outer particles: updates world position, fades alpha in/out based on frame count (fade in < 300 frames, fade out after), rotates angle by +2 per frame, builds transform matrix. For center particles: grows scale up to threshold, fades out after 500 frames, updates position via spherical coords. 0x00B6D600 432 CEffectThunder__update_center_particle effect Updates a single center thunder particle. Grows scale until threshold, fades alpha after 500 frames, advances rotation angle with random jitter, computes 3D position via spherical coordinates using sin/cos lookup tables. 0x00B6D7B0 472 CEffectThunder__update_outer_particle_transform effect Updates transform matrix for a single outer thunder particle. Fades alpha in (< 300 frames) or out (>= 300 frames). Advances rotation angle by 2 degrees per frame. Builds final transform from rotation_x, scale, and translation matrices. 0x00B6D990 161 CEffectThunder__render_all_particles effect Renders all thunder effect particles from both lists (outer 0xCC-0xD0, center 0xD8-0xDC). Calls billboard render for each non-null particle. 0x00B6DA40 59 CEffectThunder__render_outer_particle effect Renders a single outer thunder particle if non-null via billboard render with default white/full-scale params. 0x00B6DA80 59 CEffectThunder__render_center_particle effect Renders a single center thunder particle if non-null via billboard render with default white/full-scale params. 0x00B6DAC0 195 CEffectFirePillar__ctor effect Constructor for CEffectFirePillar. Calls base class ctor with type 0x28A, sets vtable to 0x0119671C. Initializes 3 particle lists (2x3 vector fields + 9 additional fields zeroed). 0x00B6DB90 125 CEffectFirePillar__dtor effect Destructor for CEffectFirePillar. Sets vtable, calls CEffectAura::dtor three times (for three particle list layers), then calls base class cleanup. 0x00B6DC10 149 CEffectFirePillar__scalar_deleting_dtor effect Scalar deleting destructor for CEffectFirePillar. Calls dtor chain (3 aura dtors + base cleanup), then conditionally frees 0x108 bytes if flag bit 0 set. 0x00B6DCB0 228 CEffectFirePillar__init_mjin_particle effect Creates a fire pillar particle. param_2=0 uses effect_mjin2.tga (alpha=200, y=-0.5), param_2=1 uses effect_mjin.tga (alpha=50, y=-0.4). Scale=30. Adds to particle list at offset 0xE8. 0x00B6DDA0 200 CEffectFirePillar__init_spark_particles effect Creates 2 spark particles at 180-degree offsets using effect_pikapika2.bmp. Scale=46, alpha=25, y=-1.0. Stored in particle list at offset 0xF4. 0x00B6DE70 287 CEffectFirePillar__init_ring_particles effect Creates ring particles for fire pillar effect using effect_ring_blue.tga. Creates 0x16 (22) particles per layer across multiple layers with decreasing angle offsets and 90-degree rotation steps. Stored in list at offset 0x100. 0x00B6DF90 401 CEffectFirePillar__update_ring_segment effect Updates a single ring segment particle for fire pillar. Computes position using sin/cos tables for angular placement. Links segments by copying previous segment's position as start vertex of current segment. Ring-type rendering (type=3). 0x00B6E130 157 CEffectFirePillar__release_all_particles effect Releases all particles in three lists: mjin particles (0xE4-0xE8), spark particles (0xF0-0xF4), and ring particles (0xFC-0x100). Resets each list size to empty. 0x00B6E1D0 479 CEffectFirePillar__init_all_particles effect Initializes all fire pillar particles: creates 2 mjin particles (inner+outer layer), 2 spark particles at 180-degree offsets, and multiple ring layers using effect_ring_blue.tga with decreasing scale per layer. 0x00B6E3C0 1327 CEffectFirePillar__update_all_particles effect Updates all fire pillar particles each frame. Updates mjin particles (world pos + type-specific update), spark particles (4-vertex quad positions via sin/cos at 90-degree offsets with rotation), and ring particles (angular animation + segment linking). All particles get rotation_y transform from camera. 0x00B6E8F0 635 CEffectFirePillar__update_mjin_particle effect Updates a single mjin (magic circle) particle for fire pillar. Advances rotation angle, computes 4 vertex positions at 90-degree offsets using sin/cos lookup tables with scale factor. Applies camera rotation_y transform matrix. 0x00B6EB70 588 CEffectFirePillar__update_spark_particle effect Updates a single spark particle for fire pillar. Advances angle by 3 per frame, computes 4 vertex positions at 90-degree offsets using sin/cos tables with scale modulation. Applies camera rotation_y transform. 0x00B6EDC0 587 CEffectFirePillar__update_ring_particle effect Updates a single ring particle for fire pillar. Advances rotation, applies camera rotation_y, computes segment positions via sin/cos with radius and height. Links consecutive segments by copying previous segment's end position. 0x00B6F010 334 CEffectFirePillar__render_all_particles effect Renders all fire pillar particles across 3 lists. Mjin particles use additive blend (mode 6). Spark particles render normally. Ring particles use additive blend with UV tiling based on segment index. 0x00B6F160 69 CEffectFirePillar__render_mjin_particle effect Renders a single mjin particle with additive blend mode (0x2AC=6) via billboard render. 0x00B6F1B0 59 CEffectFirePillar__render_spark_particle effect Renders a single spark particle via billboard render with default parameters. 0x00B6F1F0 132 CEffectFirePillar__render_ring_particle effect Renders a single ring segment particle with additive blend (mode 6) and UV tiling. UV coordinates computed from segment index divided by total ring segments. 0x00B6F280 151 CEffectMeteorStorm__ctor effect Constructor for CEffectMeteorStorm. Calls base ctor with type 0x129, sets vtable to 0x011967D0. Allocates 0xA00 (2560) particle slots zeroed (3 fields each), plus 3 additional fields. Object size ~0x96D8 bytes. 0x00B6F320 95 CEffectMeteorStorm__dtor effect Destructor for CEffectMeteorStorm. Sets vtable, calls CEffectAura::dtor for particle list cleanup, then base class cleanup. 0x00B6F380 119 CEffectMeteorStorm__scalar_deleting_dtor effect Scalar deleting destructor for CEffectMeteorStorm. Calls dtor, conditionally frees 0x96D8 bytes if flag bit 0 set. 0x00B6F400 615 CEffectMeteorStorm__init_particles effect Initializes meteor storm particles. Creates 0xA0 (160) particles per layer across 4 layers (640 total). Each particle gets random initial delay, scale, angles. Colors randomly chosen from 5 palettes (red/blue/green/yellow/magenta). Initializes trail data arrays at large offsets. 0x00B6F6C0 40 set_random_meteor_color game_core Sets a random color from 5 meteor color palettes: red(FF,46,46), blue(46,46,FF), green(46,FF,46), yellow(5A,FF,FF), magenta(FF,46,FF). Used for meteor storm particle coloring. 0x00B6F770 63 CEffectMeteorStorm__release_all_particles effect Releases all meteor storm particles from the particle list at offset 0x96CC. Resets list size to empty. 0x00B6F7D0 903 CEffectMeteorStorm__update_all_particles effect Updates all meteor storm particles. Each particle has 2 phases: phase 0 = falling down (decreasing Y), phase 1 = dispersing outward with decreasing scale. Manages trail history (shifts position buffer every 3 frames). Cycles explosion sprite animation. Resets particle after 2000 frames with new random angle/scale. 0x00B6FB60 818 CEffectMeteorStorm__update_single_particle effect Updates a single meteor particle. Phase 0: falling with Y deceleration. Phase 1: dispersing outward via sin/cos with shrinking scale. Manages trail shift every 3 frames. Resets after 2000 frames. 0x00B6FEA0 857 CEffectMeteorStorm__render_all_particles effect Renders all meteor storm particles. Each visible particle renders 2 layers: computes 4 vertex quad from rotation angle, applies camera transform, selects explosion texture (pok1/pok2/pok3) based on animation frame, uses subtractive blend mode (2) with alpha halved for inner explosion. 0x00B70200 822 CEffectMeteorStorm__render_single_particle effect Renders a single meteor particle with 2 layers. Computes quad vertices from rotation, applies camera transform, selects explosion texture (pok1/pok2/pok3), uses subtractive blend mode. 0x00B70540 613 apply_camera_rotation_to_quad game_core Applies camera rotation to a 4-vertex quad. First rotates around X axis (based on camera pitch), then around Y axis (based on camera yaw). Uses sin/cos lookup tables at DAT_01387fa8/DAT_01388af0. 0x00B707B0 151 CEffectWaterBall__ctor effect Constructor for CEffectWaterBall. Calls base ctor with type 0x19A, sets vtable to 0x01196874. Initializes 2 particle list vector fields (2x3 + 3 extra fields zeroed). Object size 0xF0. 0x00B70850 95 CEffectWaterBall__dtor effect Destructor for CEffectWaterBall. Sets vtable, calls CEffectAura::dtor for particle list cleanup, then base class cleanup. 0x00B708B0 119 CEffectWaterBall__scalar_deleting_dtor effect Scalar deleting destructor for CEffectWaterBall. Calls dtor, conditionally frees 0xF0 bytes if flag bit 0 set. 0x00B70930 248 CEffectWaterBall__init_particles effect Initializes water ball particles. Creates 0x15 (21) particles per row across 7 rows (147 total). Uses effect_alpha_center.tga texture. Scale=50, angle offset from camera yaw. Stored in list at offset 0xE8. 0x00B70A30 539 CEffectWaterBall__update_particle_strip effect Updates a single water ball particle strip. Computes vertex positions on a sphere using angular offsets and sin/cos tables. Links consecutive strip segments. Colors vary by row (0-6): blue, teal, cyan, green, red, purple, magenta. 0x00B70CB0 63 CEffectWaterBall__release_all_particles effect Releases all water ball particles from list at offset 0xE4. Resets list size to empty. 0x00B70CF0 255 CEffectWaterBall__init_particles_with_duration effect Initializes water ball particles (same as init_particles) but also sets duration field at offset 0x2C to 300 frames. Creates 21 particles per row across 7 rows using effect_alpha_center.tga. 0x00B70E00 793 CEffectWaterBall__update_all_particles effect Updates all water ball particles. Sets world position, fades alpha in (<0xB5 frames) then out (>0xB5), caps at 0xFA. Advances rotation angle. Applies camera rotation_y transform. Computes sphere strip vertex positions via sin/cos. Colors by row index (7 rainbow colors). 0x00B71180 720 CEffectWaterBall__update_single_particle effect Updates a single water ball particle. Fades alpha in/out, advances rotation, applies camera rotation_y, computes sphere strip positions, sets rainbow color by row index. 0x00B714C0 164 CEffectWaterBall__render_all_particles effect Renders all water ball particles. For each non-null particle with segment index > 0, renders with UV tiling based on segment position. 0x00B71570 122 CEffectWaterBall__render_single_particle effect Renders a single water ball particle with UV tiling based on segment index. 0x00B715F0 151 CEffectIceWall__ctor effect Constructor for CEffectIceWall. Calls base ctor with type 800 (0x320), sets vtable to 0x01196918. Initializes 2 particle list vectors (2x3 + 3 extra fields zeroed). Object size 0xF0. 0x00B71690 95 CEffectIceWall__dtor effect Destructor for CEffectIceWall. Sets vtable, calls CEffectAura::dtor then base dtor. 0x00B716F0 119 CEffectIceWall__scalar_deleting_dtor effect Scalar deleting destructor for CEffectIceWall. Calls dtor, conditionally frees 0xF0 bytes. 0x00B71770 456 CEffectIceWall__init_particles effect Initializes ice wall particles. Creates 0x16 (22) segments per ring at 4 angular offsets (90-degree steps). Each ring has random radius (0.6-1.6), random start delay (60-100 frames). Uses effect_ring_red.tga texture. Type=3 (strip rendering). 0x00B71940 573 CEffectIceWall__update_ring_segment effect Updates a single ice wall ring segment. Computes vertex positions using orbital parameters. Applies ease-in for first 100 frames using sine lookup table. Links consecutive segments by copying previous end position as current start. 0x00B71B80 63 CEffectIceWall__release_all_particles effect Releases all ice wall particles from list at offset 0xE4. Resets list size to empty. 0x00B71BF0 676 CEffectIceWall__update_single_segment effect Updates a single ice wall segment with dissipation. Advances rotation angle (wraps at max). After frame 125, shrinks radius and fades alpha. Computes orbital vertex positions and links consecutive segments. 0x00B71EA0 732 CEffectIceWall__update_all_particles effect Updates all ice wall particles. Sets world positions, advances rotation, handles ease-in/dissipation phases. Computes orbital ring vertex positions and links segments. Increments frame counter. 0x00B72180 189 CEffectIceWall__render_single_particle effect Renders a single ice wall particle. If segment index > 0, chooses blend mode based on height flag: additive (6) with dim color for ground level, subtractive (2) with brighter color for elevated. Renders with UV tiling. 0x00B72240 234 CEffectIceWall__render_all_particles effect Renders all ice wall particles. For each non-null particle with segment index > 0, renders with blend mode and color based on height flag. 0x00B72330 253 CEffectStormGust__ctor effect Constructor for CEffectStormGust. Calls base ctor with -1, sets vtable to 0x011969B8. Initializes member fields including boolean flag, 2 particle list vectors (2x3), and 6 additional fields zeroed. Object size 0x11C. 0x00B72430 110 CEffectStormGust__dtor effect Destructor for CEffectStormGust. Sets vtable, calls CEffectAura::dtor twice (2 particle lists), then base dtor. 0x00B724A0 134 CEffectStormGust__scalar_deleting_dtor effect Scalar deleting destructor for CEffectStormGust. Calls dtor chain, conditionally frees 0x11C bytes. 0x00B72530 250 CEffectStormGust__init_snow_particles effect Initializes storm gust snow/ice particles. Creates 10 particles per group across 2 groups. Uses effect_storm2.tga texture, blue color (50,50,255). Scale=2.0 with spiral parameters. 0x00B72630 289 CEffectStormGust__init_cloud_particles effect Initializes storm gust cloud/tornado particles. Creates 0x15 (21) particles per layer across 4 angular offsets (90-degree steps). Uses effect_cloud11.tga. Scale decreases per layer. Stored in list at offset 0x114. 0x00B72760 110 CEffectStormGust__release_all_particles effect Releases all storm gust particles from both lists (snow at 0x104 and cloud at 0x110). Resets list sizes. 0x00B727D0 524 CEffectStormGust__init_all_particles effect Initializes all storm gust particles: first creates 2 groups of 10 snow particles (storm2.tga, blue), then creates 4 layers of 21 tornado particles (cloud11.tga). 0x00B729F0 1495 CEffectStormGust__update_all_particles effect Updates all storm gust particles. Snow particles: spiral motion with fade in/out, builds rotation_z + rotation_x + scale + translation transform matrix. Cloud/tornado particles: advance rotation by 5 per frame, expand radius over time, compute strip positions linking segments. Alpha fades in then out after frame 50. 0x00B72FD0 638 CEffectStormGust__update_snow_particle effect Updates a single storm gust snow particle. Spiral motion with fade in/out based on parent frame counter. Builds transform from rotation_z, rotation_x (fixed tilt), scale, and Y translation. 0x00B73250 650 CEffectStormGust__update_cloud_particle effect Updates a single storm gust cloud/tornado particle. Advances rotation, expands radius, computes strip vertex positions via sin/cos. Fades alpha in first 13 frames, grows scale, then fades out after frame 50. 0x00B734E0 230 CEffectStormGust__render_all_particles effect Renders all storm gust particles. Snow particles render as billboards. Cloud/tornado particles render as strips with UV tiling based on segment index. 0x00B735D0 59 CEffectStormGust__render_snow_particle effect Renders a single storm gust snow particle as a billboard. 0x00B73610 118 CEffectStormGust__render_cloud_particle effect Renders a single storm gust cloud/tornado particle as a strip with UV tiling. 0x00B73690 419 CEffectStormGust__update_cloud_segment effect Updates a single cloud/tornado strip segment for storm gust. Computes vertex positions via sin/cos lookup tables and links consecutive segments. Similar to ice wall segment update. 0x00B73840 136 CEffectSpiralOrb__ctor effect Constructor for CEffectSpiralOrb. Calls base ctor with -1, sets vtable to 0x01196A58. Initializes 5 member fields zeroed. Object size 0xE0. 0x00B738D0 95 CEffectSpiralOrb__dtor effect Destructor for CEffectSpiralOrb. Sets vtable, calls CEffectAura::dtor then base dtor. 0x00B73930 119 CEffectSpiralOrb__scalar_deleting_dtor effect Scalar deleting destructor for CEffectSpiralOrb. Calls dtor, conditionally frees 0xE0 bytes. 0x00B739B0 63 CEffectSpiralOrb__release_all_particles effect Releases all spiral orb particles from list at offset 0xD4. Resets list size. 0x00B739F0 206 CEffectSpiralOrb__init_particles effect Initializes 4 spiral orb particles. Each uses pink/magenta color (255,200,255), additive blend mode (6), scale=2.5, orbit radius=13, rotation speed=0.4. Stored in list at offset 0xD8. 0x00B73AD0 844 CEffectSpiralOrb__update_all_particles effect Updates all spiral orb particles. First particle (index 0) advances rotation and optionally rotates the attached entity. Trail particles (index 1+) inherit and decrement alpha with delayed angles. Computes orbital position via sin/cos. Builds transform: rotation_x (camera pitch) + rotation_y + scale + translation. 0x00B73E20 750 CEffectSpiralOrb__update_single_particle effect Updates a single spiral orb particle. First particle rotates and optionally spins entity. Trail particles inherit alpha/angle with offsets. Computes orbital position and builds transform matrix from camera rotation_x, rotation_y, scale, and translation. 0x00B74110 83 CEffectSpiralOrb__render_all_particles effect Renders all spiral orb particles as billboards from list at offset 0xD4. 0x00B74170 59 CEffectSpiralOrb__render_single_particle effect Renders a single spiral orb particle as a billboard. 0x00B741B0 199 CEffectTornado__ctor effect Constructor for CEffectTornado. Calls base ctor with -1, sets vtable to 0x01196B08. Initializes boolean flag, 2 particle list vectors (2x3), and 3 additional fields. Object size 0x104. 0x00B74280 95 CEffectTornado__dtor effect Destructor for CEffectTornado. Sets vtable, calls CEffectAura::dtor then base dtor. 0x00B742E0 119 CEffectTornado__scalar_deleting_dtor effect Scalar deleting destructor for CEffectTornado. Calls dtor, conditionally frees 0x104 bytes. 0x00B74360 63 CEffectTornado__release_all_particles effect Releases all tornado particles from list at offset 0xF8. Resets list size. 0x00B743A0 379 CEffectTornado__init_particles effect Initializes tornado particles. Creates 0x15 (21) particles per layer across 4 layers (90-degree steps). Uses effect_cloud11.tga. For effect 0x3DA: grey (50,50,50) additive blend. For effect 1000: blue (100,100,255) with bigger scale. Stored at offset 0xFC. 0x00B74520 93 CEffectTornado__set_particle_color effect Sets tornado particle color based on effect type. Effect 0x3DA: grey additive. Effect 1000: blue with extra scale. Called per-particle during update. 0x00B74590 726 CEffectTornado__update_all_particles effect Updates all tornado particles. Advances rotation by 5 per frame, expands radius. Computes strip vertex positions via sin/cos. Fades alpha in first 13 frames, grows scale, fades out after frame 50. Links consecutive strip segments. 0x00B74870 656 CEffectTornado__update_single_particle effect Updates a single tornado particle strip segment. Advances rotation, expands radius, computes vertex positions, links segments. Fades alpha in/out over time. 0x00B74B00 160 CEffectTornado__render_all_particles effect Renders all tornado particles as strips with UV tiling based on segment index. 0x00B74BA0 118 CEffectTornado__render_single_particle effect Renders a single tornado particle strip with UV tiling based on segment index. 0x00B74C20 425 CEffectTornado__update_strip_segment effect Updates a single tornado strip segment. Computes vertex positions via sin/cos lookup, links consecutive segments for strip rendering. 0x00B74DD0 151 CEffectMagicRing__ctor effect Constructor for CEffectMagicRing. Calls base ctor with -1, sets vtable to 0x01196B94. Initializes 2 particle list vectors (2x3 + 3 extra fields). Object size 0xF0. 0x00B74E70 95 CEffectMagicRing__dtor effect Destructor for CEffectMagicRing. Sets vtable, calls CEffectAura::dtor then base dtor. 0x00B74ED0 119 CEffectMagicRing__scalar_deleting_dtor effect Scalar deleting destructor for CEffectMagicRing. Calls dtor, conditionally frees 0xF0 bytes. 0x00B74F50 538 CEffectMagicRing__init_ring_layer effect Initializes one layer of magic ring particles. Creates 0x15 (21) particles per row across 4 rows using given texture. Colors vary by spell type: 0xC=yellow, 0x156=pink, 0x1B9=blue, 0x1C6/0x33A=grey, 0x234=pink, 0x38F=green. Some types set delayed start times per particle. 0x00B75170 251 CEffectMagicRing__init_all_particles effect Initializes all magic ring particles by creating 2 ring layers. Texture and initial alpha vary by spell type: fire=yellow, cold=blue, poison=green, earth=red, dark=black, etc. 0x00B75270 63 CEffectMagicRing__release_all_particles effect Releases all magic ring particles from list at offset 0xE4. Resets list size. 0x00B752B0 475 CEffectMagicRing__init_with_sound effect Initializes magic ring with sound effect. Plays EF_BeginSpell.wav, creates 2 ring layers with textures based on spell type, sets effect duration (56 for fire/wind, 1000 for cold, 60 for others). 0x00B754F0 162 CEffectMagicRing__set_color_by_spell effect Sets particle color based on spell type. 0xC=yellow(FF,FF,AA), 0x156/0x234=pink(FF,59,B6), 0x1B9=blue(64,64,FF), 0x1C6/0x33A=grey(32,32,32), 0x38F=green(64,FF,64). 0x00B755A0 248 CEffectMagicRing__setup_particle_by_spell effect Configures particle parameters based on spell type. Sets orbital speed (0x168), scale (4.1), angle (80). For cold spell 0x156: adds staggered alpha. Others set delayed start with decreasing radius per row. 0x00B756B0 682 CEffectMagicRing__update_all_particles effect Updates all magic ring particles. Decreases angle, grows scale, fades alpha in then out. Computes ring vertex positions via sin/cos with orbital modulation. Links consecutive strip segments. Different row timing for layers <2 vs >=2. 0x00B75960 585 CEffectMagicRing__update_single_particle effect Updates a single magic ring particle. Shrinks orbital angle, grows scale, fades alpha. Computes ring vertex positions with orbital modulation. Links strip segments. 0x00B75BB0 191 CEffectMagicRing__render_all_particles effect Renders all magic ring particles. For dark spells (0x1C6, 0x33A), uses additive blend mode 6. Renders as strips with UV tiling. 0x00B75C70 151 CEffectMagicRing__render_single_particle effect Renders a single magic ring particle. Dark spells use additive blend. Renders as strip with UV tiling. 0x00B75D10 116 CEffectNyangGrass__ctor effect Constructor for CEffectNyangGrass (grass/nature ground effect). Calls base ctor with -1, sets vtable to 0x01196C3C. Initializes 3 member fields zeroed. Object size 0xD8. 0x00B75D90 95 CEffectNyangGrass__dtor effect Destructor for CEffectNyangGrass. Sets vtable, calls CEffGroundGrow::dtor then base dtor. 0x00B75DF0 119 CEffectNyangGrass__scalar_deleting_dtor effect Scalar deleting destructor for CEffectNyangGrass. Calls dtor, conditionally frees 0xD8 bytes. 0x00B75E70 63 CEffectNyangGrass__release_all_particles effect Releases all nyang grass particles from list at offset 0xCC. Resets list size. 0x00B75EB0 363 CEffectNyangGrass__init_particles effect Initializes 50 nyang grass particles. For type 0x3EA: loads sprite/animation data, sets random scale (22-28), random orbital radius (2-4 * base), random angles. Duration=300, alpha=250, additive blend. 0x00B76020 251 CEffectNyangGrass__init_single_particle effect Initializes a single nyang grass particle for type 0x3EA. Loads sprite/animation data, sets random scale, orbital radius, angles. Alpha=250, additive blend mode. 0x00B76130 336 CEffectNyangGrass__update_all_particles effect Updates all nyang grass particles. Fades alpha, updates velocity (gravity + orbital drift), builds translation transform matrix from accumulated position. 0x00B76280 265 CEffectNyangGrass__update_single_particle effect Updates a single nyang grass particle. Fades alpha by -3 per frame, applies gravity to Y velocity, drifts in XZ based on angle. Builds translation transform. 0x00B76390 45 CEffectNyangGrass__render_all_particles effect Renders all nyang grass particles using sprite-based rendering (CEffectLayerEx). 0x00B763C0 27 CEffectNyangGrass__render_single_particle effect Renders a single nyang grass particle using sprite-based rendering. 0x00B763E0 126 CEffectGroundHit__ctor effect Constructor for CEffectGroundHit. Calls base ctor with type 0x2C, sets vtable to 0x01196CF4. Initializes 4 member fields (first=1, rest=0). Object size 0xDC. 0x00B76460 95 CEffectGroundHit__dtor effect Destructor for CEffectGroundHit. Sets vtable, calls CEffGroundGrow::dtor then base dtor. 0x00B764C0 119 CEffectGroundHit__scalar_deleting_dtor effect Scalar deleting destructor for CEffectGroundHit. Calls dtor, conditionally frees 0xDC bytes. 0x00B76540 63 CEffectGroundHit__release_all_particles effect Releases all ground hit particles from list at offset 0xD0. Resets list size. 0x00B76580 111 CEffectGroundHit__init_particles effect Initializes 4 ground hit particles from sprite pool. Stored in list at offset 0xD4. 0x00B765F0 287 CEffectGroundHit__init_single_particle effect Initializes a single ground hit particle. Loads sprite/animation data, scale=1.5, speed=0.75, alpha=255. Random elevation (75-105 degrees) and random yaw (0-360). Applies rotation_x then rotation_y transform. 0x00B76720 837 CEffectGroundHit__update_all_particles effect Updates all ground hit particles. For first 50 frames: moves using matrix-derived velocity, advances rotation, fades alpha after frame 34. After frame 50: resets particle with new random direction and speed. Builds translation transform from accumulated position. 0x00B76A70 770 CEffectGroundHit__update_single_particle effect Updates a single ground hit particle. Moves along computed trajectory for 50 frames with alpha fade. Resets with new sprite/animation and random direction after 50 frames. 0x00B76D80 56 CEffectGroundHit__render_all_particles effect Renders all ground hit particles. Only renders particles with index below the active count threshold (offset 0xCC). 0x00B76DC0 40 CEffectGroundHit__render_single_particle effect Renders a single ground hit particle if index below active count threshold. 0x00B76DF0 151 CEffectFireIvy__ctor effect Constructor for CEffectFireIvy (fire ivy/vine effect). Calls base ctor with type 0x198, sets vtable to 0x01196DA8. Initializes 2 particle list vectors + 3 extra fields. Object size 0xF0. 0x00B76E90 95 CEffectFireIvy__dtor effect Destructor for CEffectFireIvy. Sets vtable, calls CEffectAura::dtor then base dtor. 0x00B76EF0 119 CEffectFireIvy__scalar_deleting_dtor effect Scalar deleting destructor for CEffectFireIvy. Calls dtor, conditionally frees 0xF0 bytes. 0x00B76F70 458 CEffectFireIvy__init_particles effect Initializes fire ivy particles. Creates 0x15 (21) particles per layer across 4 layers with 45-degree rotation offsets. Uses effect_fire_ivy.bmp texture, pink color (FF,59,B6). Random radius (3-13), random start delay. Scale=5.0, y=-10. 0x00B77140 511 CEffectFireIvy__update_strip_segment effect Updates a single fire ivy strip segment. Computes vertex positions using sin/cos for angular placement and radius. Vertices are offset by the fire ivy's orbital parameters. Links consecutive segments. 0x00B77340 63 CEffectFireIvy__release_all_particles effect Releases all fire ivy particles from list at offset 0xE4. Resets list size. 0x00B77380 594 CEffectFireIvy__init_all_with_sound effect Initializes all fire ivy particles with multiple layers (5 angular offsets x 4 sub-layers x 21 segments) and plays EF_Blessing.wav sound effect. Duration=200. 0x00B775F0 718 CEffectFireIvy__update_all_particles effect Updates all fire ivy particles. Fades alpha in then out, grows scale, advances orbital rotation. Computes ivy strip vertex positions using orbital sin/cos. Links consecutive strip segments. 0x00B778C0 634 CEffectFireIvy__update_single_particle effect Updates a single fire ivy particle. Fades alpha in/out, grows scale, advances rotation. Computes strip vertex positions and links segments. 0x00B77B40 173 CEffectFireIvy__render_all_particles effect Renders all fire ivy particles. Only renders particles with positive frame counter and segment index > 0. Renders as strips with UV tiling. 0x00B77BF0 131 CEffectFireIvy__render_single_particle effect Renders a single fire ivy particle as a strip with UV tiling. Only renders if frame counter > 0 and segment index > 0. 0x00B77C80 151 CEffectIvyVine__ctor effect Constructor for CEffectIvyVine (blue/fire ivy vine effect). Calls base ctor with -1, sets vtable to 0x01196E60. Initializes 2 particle list vectors + 3 extra fields. Object size 0xF0. 0x00B77D20 95 CEffectIvyVine__dtor effect Destructor for CEffectIvyVine. Sets vtable, calls CEffectAura::dtor then base dtor. 0x00B77D80 119 CEffectIvyVine__scalar_deleting_dtor effect Scalar deleting destructor for CEffectIvyVine. Calls dtor, conditionally frees 0xF0 bytes. 0x00B77E00 477 CEffectIvyVine__init_particles effect Initializes ivy vine particles. Creates 21 per layer across 4 layers with 45-degree offsets. For type 0x15A: blue_ivy.bmp with blue color (FF,64,64). For type 0x18A: fire_ivy.bmp with red color (FF,64,100). Scale=14, alpha=100. 0x00B77FE0 497 CEffectIvyVine__update_strip_segment effect Updates a single ivy vine strip segment. Computes vertex positions using orbital sin/cos. Links consecutive segments for strip rendering. 0x00B781E0 63 CEffectIvyVine__release_all_particles effect Releases all ivy vine particles from list at offset 0xE4. Resets list size. 0x00B78220 501 CEffectIvyVine__init_all_particles effect Initializes all ivy vine particles with 5 angular offsets (9 degrees apart) x 4 sub-layers x 21 segments. Blue ivy (0x15A) or fire ivy (0x18A) textures with corresponding colors. 0x00B78430 68 CEffectIvyVine__update_all_particles effect Updates all ivy vine particles. Sets world position, calls per-particle update, increments frame counter. 0x00B78480 655 CEffectIvyVine__update_single_particle effect Updates a single ivy vine particle. Advances rotation, applies camera rotation_y. Computes strip vertex positions via orbital sin/cos. Links consecutive segments. 0x00B78710 164 CEffectIvyVine__render_all_particles effect Renders all ivy vine particles as strips with UV tiling based on segment index. 0x00B787C0 122 CEffectIvyVine__render_single_particle effect Renders a single ivy vine particle as a strip with UV tiling. 0x00B78840 116 CEffectSoulStrike__ctor effect Constructor for CEffectSoulStrike. Calls base ctor with -1, sets vtable to 0x01196F00. Initializes 3 member fields zeroed. Object size 0xD8. 0x00B788C0 95 CEffectSoulStrike__dtor effect Destructor for CEffectSoulStrike. Sets vtable, calls CEffGroundGrow::dtor then base dtor. 0x00B78920 119 CEffectSoulStrike__scalar_deleting_dtor effect Scalar deleting destructor for CEffectSoulStrike. Calls dtor, conditionally frees 0xD8 bytes. 0x00B789A0 342 CEffectSoulStrike__compute_world_position effect Computes world position for soul strike effect. Transforms effect local position through entity's model matrix, then applies view matrix to get screen-space coordinates. Stores result at particle offsets 0x24/0x28/0x2C. 0x00B78B00 63 CEffectSoulStrike__release_all_particles effect Releases all soul strike particles from list at offset 0xCC. Resets list size. 0x00B78B40 126 CEffectSoulStrike__init_particles effect Initializes soul strike particle. Allocates sprite from pool (type 0x200), sets up particle properties via init helper, stores entity ID at offset 0x2F4. Adds to list at offset 0xD0. 0x00B78BC0 1985 CEffectSoulStrike__init_single_particle effect Initializes a single soul strike particle with sprite/animation data based on effect type. Huge switch covering 40+ effect types loading different sprite/animation resources. Some types use XOR-encrypted file paths (type 0x98B). Sets scaling, speed, animation loop modes per type. 0x00B79520 245 CEffectSoulStrike__is_active effect Checks if the soul strike effect is still active. For type 0x3DE checks frame comparison. For buff effects (0x46A-0x4BD, 0x561, etc.) checks if entity owner is alive. Default: checks if any particle's lifetime is within range. 0x00B79780 286 CEffectSoulStrike__update_all_particles effect Updates all soul strike particles. Position computation varies widely by effect type: ground effects use direct position, entity-attached effects compute height from entity, some use special offsets for mounted characters, etc. 0x00B79C40 50 CEffectSoulStrike__render_all_particles effect Renders all soul strike particles. Only renders particles with positive frame counter. Uses sprite-based rendering. 0x00B79C80 157 CEffectStar__ctor effect Constructor for CEffectStar. Calls base ctor with type 0x3B1, sets vtable to 0x01197CC4. Initializes 4 particle list vectors (4x3) + 4 extra fields. Object size 0x10C. 0x00B79D20 95 CEffectStar__dtor effect Destructor for CEffectStar. Sets vtable, calls CEffectAura::dtor then base dtor. 0x00B79D80 119 CEffectStar__scalar_deleting_dtor effect Scalar deleting destructor for CEffectStar. Calls dtor, conditionally frees 0x10C bytes. 0x00B79E00 195 CEffectStar__advance_texture_frame effect Advances star texture animation. Every 14 frames, increments texture index (max 7) and loads next frame texture (effect\\star_%02d.bmp). 0x00B79ED0 63 CEffectStar__release_all_particles effect Releases all star particles from list at offset 0x100. Resets list size. 0x00B79F10 142 CEffectStar__init_particles effect Initializes star particles. Creates 4 particles per group across 0x41 (65) groups (260 total). Each calls per-particle init helper. Stored in list at offset 0x104. 0x00B79FA0 440 CEffectStar__init_single_particle effect Initializes a single star particle. Resets frame counter, alpha=0, randomizes 4 angles (0-360), random lifetime (300-500), random scale offset, random base angle. Uses effect\\star01.bmp texture. Sets random XZ position with random sign flipping. 0x00B7A170 68 CEffectStar__update_all_particles effect Updates all star particles. Sets world position, calls per-particle update, increments frame counter. 0x00B7A1C0 887 CEffectStar__update_single_particle effect Updates a single star particle. Advances texture animation every 14 frames. Fades alpha in for first 80 frames then out after lifetime. Interpolates angles, accumulates XZ drift from sin/cos lookup. Resets when alpha reaches 0. Builds rotation_x + scale transform matrix. 0x00B7A540 83 CEffectStar__render_all_particles effect Renders all star particles as billboards from list at offset 0x100. 0x00B7A5A0 59 CEffectStar__render_single_particle effect Renders a single star particle as a billboard. 0x00B7A5E0 55 CEffectStar__update_alpha_lifecycle effect Updates star particle alpha lifecycle. Increases alpha by 3 for first 80 frames, holds, then decreases after lifetime exceeded. Resets particle when alpha drops to 0. 0x00B7A620 315 CEffectStar__update_particle_drift effect Updates star particle drift position. Interpolates 2 angle pairs, accumulates XZ offset from sin/cos lookup. Adds parent world position to compute final coordinates. 0x00B7A760 92 CEffectStar__update_particle_scale effect Updates star particle scale using sinusoidal oscillation based on base angle. Advances base angle by 1 per frame (wrapping at 360). 0x00B7A7C0 250 CEffectStar__build_transform_matrix effect Builds star particle transform matrix from camera rotation_x and particle scale. Composes rotation_x with uniform scale, stores result in particle transform at offset 0x1C8. 0x00B7A8C0 116 CEffectFrostNova__ctor effect Constructor for CEffectFrostNova. Calls base ctor with type 0x59, sets vtable to 0x01197D78. Initializes 3 fields zeroed. Object size 0xD8. 0x00B7A940 95 CEffectFrostNova__dtor effect Destructor for CEffectFrostNova. Sets vtable, calls CEffectAura::dtor then base dtor. 0x00B7A9A0 119 CEffectFrostNova__scalar_deleting_dtor effect Scalar deleting destructor for CEffectFrostNova. Calls dtor, conditionally frees 0xD8 bytes. 0x00B7AA20 63 CEffectFrostNova__release_all_particles effect Releases all frost nova particles from list at offset 0xCC. Resets list size. 0x00B7AA60 481 CEffectFrostNova__init_particles effect Initializes 2 frost nova ice particles (if effect option 0xE5 is disabled). Uses effect_ice.tga, alpha=250, random direction (3-28 radius), Y=20. Random scale (400-500). Applies rotation_x/rotation_y transform. 0x00B7AC50 336 CEffectFrostNova__init_single_particle effect Initializes a single frost nova ice particle. Sets texture (effect_ice.tga), alpha=250, random direction, scale, rotation transform. 0x00B7ADB0 615 CEffectFrostNova__update_all_particles effect Updates all frost nova ice particles. Computes velocity from transform matrix (resets at frame 3), accumulates position, builds scale+translation transform. Fades alpha based on lifetime midpoint. 0x00B7B020 539 CEffectFrostNova__update_single_particle effect Updates a single frost nova particle. Computes velocity from transform matrix, accumulates position, builds scale+translation transform. Fades alpha based on lifetime. 0x00B7B240 83 CEffectFrostNova__render_all_particles effect Renders all frost nova particles as billboards from list at offset 0xCC. 0x00B7B2A0 59 CEffectFrostNova__render_single_particle effect Renders a single frost nova particle as a billboard. 0x00B7B2E0 85 CEffectFrostNova__update_alpha effect Updates frost nova particle alpha based on parent frame counter. When halfway through effect lifetime, computes fade rate. Clamps alpha to 0-254 range. 0x00B7B340 173 CEffectSkillAura__ctor_00b7b340 effect Constructor for CEffectSkillAura. Calls base ctor with -1, sets vtable to 0x01197E14. Initializes 2 particle list vectors (2x3) + 6 extra fields. Object size 0xFC. 0x00B7B3F0 110 CEffectSkillAura__dtor_00b7b3f0 effect Destructor for CEffectSkillAura. Sets vtable, calls CEffectAura::dtor twice (2 particle lists) then base dtor. 0x00B7B460 134 CEffectSkillAura__scalar_deleting_dtor_00b7b460 effect Scalar deleting destructor for CEffectSkillAura. Calls dtor chain, conditionally frees 0xFC bytes. 0x00B7B4F0 426 CEffectSkillAura__init_storm_particles effect Initializes 10 storm aura particles. Uses effect_storm2.tga, colors vary by skill: 0x1B3=red, 0x1CB=dark blue, 0x1CC=cyan, 0x1CD=pink, 0x1D0=element-based (fire=cyan, shadow=dark), 0x1D1=green, 0x4C7=light blue. Scale=2.0, radius=40. 0x00B7B6C0 515 CEffectSkillAura__init_cloud_layer effect Initializes cloud layer for skill aura. Creates 21 particles per row across 4 angular offsets. Uses effect_cloud11.tga. Layer param determines inner (0) or outer (1) ring with different scale/radius. Stored in list at offset 0xF4. 0x00B7B8D0 842 CEffectSkillAura__compute_storm_vertices effect Computes 4 vertex positions for a storm aura particle. Uses iterative radius reduction based on segment index. Places vertices at 90-degree angular offsets on a horizontal plane at computed height. Optimized inner loop with 8x unrolling for radius computation. 0x00B7BC20 110 CEffectSkillAura__release_all_particles effect Releases all skill aura particles from both lists (storm at 0xE4 and cloud at 0xF0). Resets list sizes. 0x00B7BC90 148 CEffectSkillAura__init_all_particles effect Initializes all skill aura particles based on skill type. Creates storm particles + 2 cloud layers for most skills. Some skills (0x1D0) create 2 storm layers. Sets duration: 100 for most, 60 for 0x4C7, 1000 for 0x1D1. 0x00B7BE30 133 CEffectOrbit__set_color_by_skill_id effect Sets RGB color via FUN_00b40120 based on skill ID (param_2). Skill 0x1b3=blue, 0x1cb=mauve, 0x1cc=white, 0x1cd=light blue, 0x1d0=conditional white/red, 0x1d1=green, 0x4c7=yellow-white. 0x00B7BF70 1109 CEffectOrbit__update_all_particles effect Updates all orbit particles in two lists (inner at +0xe4 and outer at +0xf0). Inner particles: copies position, adjusts alpha with fade, random rotation decrement, builds rotation matrix. Outer particles: grow radius to max 180, compute spiral position using sin/cos tables, set velocity vectors, apply height offset. 0x00B7C3D0 111 CEffectOrbit__update_rotation_angle effect Updates rotation angle at offset +0x4c based on skill ID. Increments by different rates depending on skill type. Wraps angle at 360 degrees. 0x00B7C440 276 CEffectOrbit__update_inner_particle effect Updates a single inner orbit particle. Adjusts alpha based on tick count, applies random rotation decrement, computes rotation matrix via CMatrix__init_rotation_y, and stores it in the particle's transform at +0x1c8. 0x00B7C560 609 CEffectOrbit__update_outer_particle effect Updates a single outer orbit particle. Grows radius to max 180, adjusts spiral angle, computes position using sin/cos lookup tables, sets previous and current position vectors, adjusts height based on alpha/size evolution. 0x00B7C7D0 298 CEffectOrbit__render_all_particles effect Renders all orbit particles. Inner particles rendered with blend mode 6 (or 2 for certain skills), outer particles rendered with graduated alpha based on segment index using FUN_00b3fce0. 0x00B7C990 105 CEffectOrbit__render_inner_particle effect Renders a single inner orbit particle. Sets blend mode to 6 for most skills, 2 for default. Special handling for skill 0x1d0: renders at 1/3 alpha with mode 6 when param is 0, mode 2 otherwise. 0x00B7CA90 122 CEffectOrbit__render_outer_particle effect Renders a single outer orbit particle as a graduated alpha trail. Uses segment count at +0xc to compute alpha gradient for the trail segments. Calls FUN_00b3fce0 for the actual rendering. 0x00B7CB10 206 CEffectOrbit__ctor effect Constructor for CEffectOrbit. Calls base class init (FUN_00b4dae0), sets vtable to PTR_LAB_01197ed4, initializes fields: particle count=0, max=0, active=1, blend=4, and zeros out position/state fields at offsets 0x33-0x40. 0x00B7CBE0 95 CEffectOrbit__dtor effect Destructor for CEffectOrbit. Restores vtable, calls CEffectAura__dtor for aura cleanup, then FUN_00b4dd10 for base class cleanup. 0x00B7CC40 119 CEffectOrbit__scalar_deleting_dtor effect Scalar deleting destructor for CEffectOrbit. Calls dtor then optionally frees memory (size 0x104) if bit 0 of param is set. 0x00B7CCC0 63 CEffectOrbit__clear_outer_particle_list effect Clears the outer particle list at +0xf8/+0xfc. Iterates through particles calling FUN_00b82fd0 (free particle) on each, then resets the list end pointer to start. 0x00B7CD00 44 CEffectOrbit__get_orbit_angle_offset effect Returns angle offset for orbit particles. Only non-zero for skill 0x3d5: computes (360 / segment_count) * particle_index as the angular offset. 0x00B7CD30 915 CEffectOrbit__init_particles_by_skill effect Initializes orbit particles based on skill ID. Creates particles in a grid (d4 x d8), loading different textures and configuring color/size/position per skill: 0x12a=green leaf, 0x134=white snow, 0x12b/0x21d/0x392=colored orbs, 0x265/0x266/0x267/0x268=coins, 0x3d5/0x3d6=spirit spheres, 0x3dd=elemental orbs (water/stone/fire/lightning). Each particle gets added to outer particle list. 0x00B7D300 175 CEffectOrbit__init_leaf_particle effect Initializes a leaf-type orbit particle (skill 0x12a). Sets lifetime=300, height=30.0, loads green texture, scale=1.5, green color (0x87,0xFF,0x87), radius=sin(radius)/something, alpha=255, blend=6, positions relative to orbit center. 0x00B7D3B0 163 CEffectOrbit__init_snow_particle effect Initializes a snow-type orbit particle. Sets lifetime=300, height=1.0, scale=1.5, white color, radius computed from sin table, alpha=255, blend=6. 0x00B7D460 98 CEffectOrbit__init_elemental_orb_particle effect Initializes an elemental orb particle (skill 0x3dd). Sets lifetime=200, scale=2.0, initial angle=330, radius=1.5, alpha=255, positions relative to orbit center with height offset. 0x00B7D4D0 292 CEffectOrbit__init_colored_orb_particle effect Initializes a colored orb particle with element-based coloring. Lifetime=300, height=30.0, scale=1.5, blend=6. Color selected by param_3: 1=red, 2=orange, 3=green, 4=yellow, 5=blue, 6=white. 0x00B7D600 158 CEffectOrbit__init_white_orbit_particle effect Initializes a white orbit particle (skill 0x134). Sets lifetime=300, height=10.0, loads white texture, scale=1.0, white color, fixed radius=2.0, alpha=255, blend=6. 0x00B7D6A0 202 CEffectOrbit__init_spirit_sphere_particle effect Initializes a spirit sphere particle (skill 0x3d5). Sets lifetime=200, height=1.0, loads sphere texture, scale=3.0, purple color (0xFF,0xC8,0xFF), initial angle=330, radius=1.5, alpha=255, blend=6. Stores initial position if this is the first particle. 0x00B7D770 155 CEffectOrbit__init_coin_particle effect Initializes a coin orbit particle (skill 0x3d6). Loads coin_a texture, sets lifetime=200, height=10.0, scale=2.5, orange color (0xFF,0xC8,0x00), initial angle=330, radius=2.0, alpha=255, blend=6. 0x00B7D810 146 CEffectOrbit__init_generic_orbit_particle effect Initializes a generic orbit particle with standard settings. Lifetime=200, height=1.0, scale=2.0, purple color (0xFF,0xC8,0xFF), initial angle=330, radius=3.0, alpha=255, blend=6. Used by multiple skill types (coins, orbs). 0x00B7D930 767 CEffectOrbit__reinit_particle_by_skill effect Reinitializes a single orbit particle based on skill ID. Similar to init_particles_by_skill but operates on a single existing particle. Routes to specific init functions based on skill type (leaf, snow, coin, spirit sphere, elemental orb, etc.). 0x00B7DE70 1081 CEffectOrbit__update_orbit_particles_list effect Updates orbit particle positions for the outer list (+0xf8). For each particle: advances angle, applies velocity via sin/cos tables, computes height bob using cos lookup, builds transform matrix (rotation_x * rotation_y * scale * translation), stores result. For skill 0x3d5 first particle, also updates entity rotation angle. 0x00B7E2B0 943 CEffectOrbit__update_single_orbit_particle effect Updates a single orbit particle's position and transform. Similar to update_orbit_particles_list but for one particle. Handles angle increment, velocity via sin/cos, height bob, and builds full transform matrix (rotation_x * rotation_y * scale * translation). For skill 0x3d5 first particle, updates entity rotation. 0x00B7E660 83 CEffectOrbit__render_orbit_particles_list effect Renders all particles in the outer list (+0xf8) by calling FUN_00b3fd10 for each non-null particle with billboard rendering (type=1). 0x00B7E6C0 59 CEffectOrbit__render_single_orbit_particle effect Renders a single orbit particle if non-null. Calls FUN_00b3fd10 with billboard rendering (type=1). 0x00B7E700 254 CEffectOrbit__compute_particle_trajectory effect Computes trajectory parameters for an orbit particle. Calculates direction vector from target to start position, computes angle via atan2, adds angular offset for skill 0x3d5 (multi-sphere), computes distance via sqrt, and determines max tick count based on step size and distance. 0x00B7E800 87 CEffectOrbit__update_entity_rotation_for_spirit effect Updates the entity's rotation angle for spirit sphere effect (skill 0x3d5). Only acts on first particle (index 0,0). Increments entity's angle at +0x4c and wraps at 360. 0x00B7E860 86 CEffectOrbit__set_segment_count_by_skill effect Sets the orbit segment count (+0xd4) based on skill ID. Skill 0x3d5: 8 segments, 0x3d6: 10 segments, 0x3dd: reads from entity object at +0x3d0 and sets column count to 1. 0x00B7E8C0 151 CEffectRing__ctor effect Constructor for CEffectRing. Calls base class init, sets vtable to PTR_LAB_01198128, zeros out 6 fields at +0x33 in pairs, plus 3 more at +0x39. 0x00B7E960 95 CEffectRing__dtor effect Destructor for CEffectRing. Restores vtable, calls CEffectAura__dtor for cleanup, then FUN_00b4dd10 for base cleanup. 0x00B7E9C0 119 CEffectRing__scalar_deleting_dtor effect Scalar deleting destructor for CEffectRing. Calls dtor, optionally frees memory (size 0xf0) if bit 0 of param set. 0x00B7EA40 571 CEffectRing__init_ring_particles effect Initializes ring particles in a circular pattern. Creates 22 particles per 90-degree arc (4 arcs = 88 total). Each particle gets radius, angle offset, scale, and texture based on skill ID. Textures: white/blue/red/green/yellow/purple/brown ring textures. Skill 0x376 special: blue ring with color set. Calls FUN_00b3fc80 to init rendering data. 0x00B7EE80 63 CEffectRing__clear_particle_list effect Clears the ring particle list at +0xe4/+0xe8. Iterates through particles calling FUN_00b82fd0 (free particle), then resets list end to start. 0x00B7EF30 319 CEffectRing__init_particle_params_by_skill effect Sets ring particle parameters based on skill ID. Configures radius (0xc0), starting angle (0x4c), max angle (0x50=360), alpha (0x44=1), angular velocity (0xc4), and scale (0x20) per skill type. Skill 0xdf: smaller radius (15.0), others default to radius 25.0. 0x00B7F090 194 CEffectRing__load_texture_by_skill effect Loads ring effect texture based on skill ID. Maps skill IDs to ring textures: 0xdf/0xee/0x3a6=white, 0xe1/0x3a8=red, 0xec/0x376=blue, 0xed=green, 0x105/0x107/0x3a9=yellow, 0x305=purple, 0x3aa=brown. 0x00B7F1C0 767 CEffectRing__update_ring_particles effect Updates all ring particles. For each: copies center position, grows scale over time, shrinks radius toward min (30 or 40), advances rotation angle, adjusts alpha (grow for first 11 ticks, then fade). Computes spiral position using sin/cos lookup tables, sets velocity vectors for trail rendering. 0x00B7F816 126 CEffectLayer__render_multiple_entries_from_array effect CEffectLayer: render multiple entries from array 0x00B7F860 132 CEffectRing__render_ring_particle effect Renders a single ring particle with graduated alpha trail. Sets blend mode to 6, computes alpha gradient based on segment count at +0xc, renders via FUN_00b3fce0. 0x00B7F8F0 170 CEffectRing__update_particle_alpha effect Updates ring particle alpha based on skill type and tick count. Growth rates vary by skill: 0xdf=8/20, 0x105-0xee=2/20, 0x107/0x305=2/10, 0x376-0x3aa=5/20. For first 10 ticks, alpha increases by growth rate; after 10, decreases by fade rate. 0x00B7F9C0 103 CEffectParticle__set_texture_path effect Sets the texture path string for a particle effect. Copies the STL string parameter into the object's texture path field at +0x134 using STL_lib_func_004fa8f0. Handles small string optimization (SSO) buffer. 0x00B7FA30 170 effect_command_handler_beam effect Handles effect commands for beam-type effects. Parses command ID from stream, looks up effect via EffectMap. Commands: 0=destroy, 1-5=set 3D vectors (position/rotation/scale/etc), 6=set RGBA color (clamped 0-255), 7-9=set 2D params, 10=set texture path, 11=set blend mode, 12-13=set integer params, 14=set render mode, 0x2b=set boolean flag. 0x00B7FFC0 170 effect_command_handler_beam_extended effect Extended effect command handler for beam effects. Same as beam handler but adds extra commands: 0x2d=set boolean at +0x15d, 0x2e=set 3D vector at +0x58, 0x33=set boolean at +0x5b, 0x34=set 2D params at +0x47/0x48. 0x00B804E0 108 effect_command_handler_type_040f effect Effect command handler for type 0x40F effects. Parses index and command from stream. Commands: 0=destroy, 8=set int at +0x37, 0xB=set int at +0x36, 0x2C=set 3D position vector at +0x39. 0x00B80640 108 effect_command_handler_type_0401 effect Effect command handler for type 0x401 effects. Parses index and command from stream. Commands: 0=destroy, 0x10=set float at +0x11, 0x11-0x14=set various params, 0x15-0x29=set indexed params, 0x2A=set float at +0x12. 0x00B807E0 123 effect_command_handler_generic effect Generic effect command handler. Reads key and index from stream, looks up effect via EffectMap. Same command set as 0x401 handler but with dynamic key/index from stream parameters. 0x00B808AC 40 CEffectLua__set_scale_from_lua_number effect Lua 5.1 internal: CEffectLua set scale from lua number 0x00B80990 166 effect_command_handler_type_0927 effect Effect command handler for type 0x927 effects. Extensive command set: 0=destroy, 4=set position, 6=set RGBA bytes, 8=set float at +0x35, 10=set texture path, 0xB-0x15=set various floats/ints, 0x2E=set 2D vector at +0x3A, 0x35=set short at +0x33. 0x00B80CD0 34 memcpy_range_to_dest_00b80cd0 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data in destination. 0x00B80D00 34 memcpy_range_to_dest_00b80d00 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data. Identical to memcpy_range_to_dest at different address. 0x00B80D30 34 memcpy_range_to_dest_00b80d30 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data. Identical to memcpy_range_to_dest at different address. 0x00B80D60 34 memcpy_range_to_dest_00b80d60 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data. 0x00B80D90 452 std__vector_int__insert_and_grow stl STL vector insert with reallocation. Allocates new buffer (1.5x growth), copies element at insertion point, copies data before and after insertion point, frees old buffer. Handles aligned allocation for sizes >= 0x1000. 0x00B80F60 37 _Uninitialized_value_construct_n_> stl STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset. 0x00B80F90 37 _Uninitialized_value_construct_n_> stl STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset. 0x00B80FC0 37 _Uninitialized_value_construct_n_> stl STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset. 0x00B80FF0 37 _Uninitialized_value_construct_n_> stl STL _Uninitialized_value_construct_n. Zero-initializes a range of elements using memset. 0x00B81020 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00B81040 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00B81060 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00B81080 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00B810A0 34 memcpy_range_to_dest_00b810a0 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data. 0x00B810D0 34 memcpy_range_to_dest_00b810d0 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data. 0x00B81100 34 memcpy_range_to_dest_00b81100 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data. 0x00B81130 34 memcpy_range_to_dest_00b81130 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past the copied data. 0x00B81160 117 CEffectPool__ctor effect Constructor for CEffectPool. Sets vtable to PTR_FUN_011981fc, zeros out capacity fields, calls FUN_00b820e0 for initialization and sets active flag if successful. 0x00B811E0 181 CEffectPool__dtor_variant_A effect Destructor variant A for CEffectPool. Iterates through pool entries using indexed lookup (entry_base + offset), calls each entry's virtual destructor (vfunc[0] with flag=1). Then calls FUN_00b814e0 for final cleanup. Restores base vtable. 0x00B812A0 181 CEffectPool__dtor_variant_B effect Destructor variant B for CEffectPool. Same pattern as variant A but sets different vtable (PTR_FUN_01198244) and calls FUN_00b815b0 for cleanup instead. 0x00B81360 181 CEffectPool__dtor_variant_C effect Destructor variant C for CEffectPool. Same destruction pattern but vtable PTR_FUN_01198214, cleanup via FUN_00b81680. 0x00B81420 181 CEffectPool__dtor_variant_D effect Destructor variant D for CEffectPool. Same destruction pattern but vtable PTR_FUN_01198224, cleanup via FUN_00b81750. 0x00B814E0 201 CEffectDeque__free_all_blocks effect Frees all deque storage blocks. Decrements count to 0, frees each block (16 bytes each), frees the block pointer array (aligned free for > 0xFFF), then frees the deque header (8 bytes). 0x00B815B0 201 CEffectDeque__free_all_blocks_00b815b0 effect Frees all deque storage blocks. Identical to CEffectDeque__free_all_blocks at different address. 0x00B81680 201 CEffectDeque__free_all_blocks_00b81680 effect Frees all deque storage blocks. Identical to CEffectDeque__free_all_blocks at different address. 0x00B81750 201 CEffectDeque__free_all_blocks_00b81750 effect Frees all deque storage blocks. Identical to CEffectDeque__free_all_blocks at different address. 0x00B81820 129 std__vector_ptr__free_buffer stl Frees the buffer of a vector. Handles aligned deallocation for buffers > 0xFFF bytes. Zeros out start/end/capacity pointers after freeing. 0x00B818B0 115 CEffectPool__dtor_simple effect Simple destructor for CEffectPool. Sets vtable, iterates entries in vector at +0x2/+0x3 calling virtual destructor on each, then frees the vector buffer. 0x00B81940 191 CEffectPool__scalar_deleting_dtor_A effect Scalar deleting destructor variant A for CEffectPool. Destroys all entries, frees deque blocks, optionally frees self (size 0x18). 0x00B81A00 191 CEffectPool__scalar_deleting_dtor_B effect Scalar deleting destructor variant B for CEffectPool. Same pattern as variant A but uses different vtable and cleanup path. 0x00B81AC0 191 CEffectPool__scalar_deleting_dtor_C effect Scalar deleting destructor variant C for CEffectPool. Same pattern as A/B but vtable 01198214. 0x00B81B80 191 CEffectPool__scalar_deleting_dtor_D effect Scalar deleting destructor variant D for CEffectPool. Same pattern as A/B but vtable 01198224. 0x00B81C40 138 CEffectPool__scalar_deleting_dtor_simple effect Simple scalar deleting destructor for CEffectPool. Destroys entries via vector iteration, frees vector buffer, optionally frees self (size 0x14). 0x00B81CD0 36 `scalar_deleting_destructor' other Compiler-generated scalar deleting destructor. Calls destructor and optionally frees memory based on flag. 0x00B81D00 233 CEffectPool__alloc_or_recycle_CEffect effect Allocates or recycles a CEffect from the pool. If pool is empty, allocates new CEffect (size 0x3FF8). If pool has entries, pops from deque and calls CEffect__reset_to_defaults to reinitialize. Returns the effect pointer. 0x00B81DF0 233 CEffectPool__alloc_or_recycle_CEffNyangGrass effect Allocates or recycles a CEffNyangGrass from the pool. If pool empty, allocates new (size 0x328). If recycling, calls CEffNyangGrass__destroy_all_particles to reset. 0x00B81EE0 233 CEffectPool__alloc_or_recycle_CEffectLayer effect Allocates or recycles a CEffectLayer from the pool. If pool empty, allocates new (size 700). If recycling, calls CEffectLayer__reset_to_defaults. 0x00B81FD0 233 CEffectPool__alloc_or_recycle_CEffectLayerEx effect Allocates or recycles a CEffectLayerEx from the pool. If pool empty, allocates new (size 0x2F8) via CEffectLayerEx__ctor. If recycling, calls CEffectLayerEx__reset_to_defaults to reinitialize. 0x00B820C0 21 CEffectMemoryMgr__call_pool_vfunc effect Calls virtual function at offset 4 (second vtable entry) on the pool at the given index. Used to invoke pool-specific operations through the pool array. 0x00B820E0 781 CEffectMemoryMgr__init_pools effect Initializes the 4 effect memory pools. Creates pool entries with different vtables for CEffect, CEffNyangGrass, CEffectLayer, and type D effects. Each pool has a deque-based free list with header (8 bytes). Shows MessageBox error if pool sequence is incorrect. Returns 1 on success. 0x00B823F0 215 CEffectMemoryMgr__get_or_create_singleton effect Gets or creates the singleton CEffectMemoryMgr instance at DAT_016f7140. Creates new pool (size 0x14), initializes pools. If initialization fails, destroys and nulls the singleton. Returns 1 if singleton is valid, 0 otherwise. 0x00B824D0 39 CEffectMemoryMgr__destroy_all_pools effect Destroys all pools in the memory manager's vector. Iterates through pool pointers at +0x8/+0xc, calling each pool's virtual destructor with flag=1. 0x00B82500 27 CEffectMemoryMgr__destroy_singleton effect Destroys the CEffectMemoryMgr singleton at DAT_016f7140. Calls virtual destructor with flag=1, then nulls the global pointer. 0x00B82520 132 CEffectDeque__push_back_A effect Pushes an element onto the back of deque variant A. If the current block is full (4 elements per block), calls grow to allocate more blocks. Allocates new block (16 bytes) if needed, stores value, increments count. 0x00B825B0 132 CEffectDeque__push_back_B effect Pushes an element onto the back of deque variant B. Same logic as push_back_A but uses different grow function. 0x00B82640 132 CEffectDeque__push_back_C effect Pushes an element onto the back of deque variant C. Same logic as push_back_A/B but uses different grow function. 0x00B826D0 132 CEffectDeque__push_back_D effect Pushes an element onto the back of deque variant D. Same logic as push_back_A/B/C but uses different grow function. 0x00B82760 24 CEffectMemoryMgr__recycle_to_pool effect Returns an effect to the specified pool for recycling. Calls vfunc[2] (push_back) on the pool at the given index, passing the effect pointer. 0x00B82780 418 CEffectDeque__grow_A effect Grows the deque block array for variant A. Doubles capacity (min 8), allocates new array, copies existing blocks preserving circular layout, frees old array. Each block holds 4 pointers (16 bytes). 0x00B82930 418 CEffectDeque__grow_B effect Grows the deque block array for variant B. Identical logic to grow_A at different address. 0x00B82AE0 418 CEffectDeque__grow_C effect Grows the deque block array for variant C. Identical logic to grow_A at different address. 0x00B82C90 418 CEffectDeque__grow_D effect Grows the deque block array for variant D. Identical logic to grow_A at different address. 0x00B82E40 10 thunk_to_std__Xlength_error_00b82e40 stl Thunk that calls std::_Xlength_error for deque length overflow 0x00B82E50 10 thunk_to_std__Xlength_error_00b82e50 stl Calls std::_Xlength_error with deque length error message 0x00B82E60 10 thunk_to_std__Xlength_error_00b82e60 stl Throws deque length error exception 0x00B82E70 10 thunk_to_std__Xlength_error_00b82e70 stl Thunk that calls std::_Xlength_error for deque length overflow 0x00B82E80 10 thunk_to_std__Xlength_error_00b82e80 stl Calls std::_Xlength_error with vector_too_long error message 0x00B82E90 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B82ED0 60 alloc_effect_layer_from_pool game_core Allocates an effect layer (pool index 2) from the memory manager. Sets pool type=2 at +0x2b0, copies position from param_1 (3 floats at +0x24/0x28/0x2c), sets effect type at +0x1c. 0x00B82F10 60 alloc_effect_type_D_from_pool game_core Allocates an effect type D (pool index 3) from the memory manager. Sets pool type=3 at +0x2b0, copies position and effect type. 0x00B82F50 60 alloc_CEffect_from_pool game_core Allocates a CEffect (pool index 0) from the memory manager. Sets pool type=0 at +0x2b0, copies position and effect type. 0x00B82F90 60 alloc_CEffNyangGrass_from_pool game_core Allocates a CEffNyangGrass (pool index 1) from the memory manager. Sets pool type=1 at +0x2b0, copies position and effect type. 0x00B82FD0 39 recycle_effect_to_pool game_core Recycles an effect back to its pool. Calls the effect's cleanup virtual function (vfunc[1]), then returns it to the appropriate pool based on pool type stored at offset +0x2b0 (0xac * 4). 0x00B83000 102 EffectMap__clear_entries_range effect Clears effect map entries in a range. Iterates from param_1 to param_2 in 0x10-byte strides, copying +0x4 to +0x8 and calling STL_lib_func_004f9500 for cleanup. 0x00B83070 568 EffectMap__insert_entry_and_grow effect Inserts an entry into the effect map with reallocation. Each entry is 0x108 bytes (0x42 dwords). Allocates new buffer with 1.5x growth, copies entry at insertion point, copies data before and after, frees old buffer. 0x00B832B0 440 EffectMap__resize_vector_16byte effect Resizes a vector of 16-byte entries. Allocates new buffer with 1.5x growth, copies existing entries, fills new entries with param_3 value. Used for effect map sub-vectors. 0x00B83470 140 EffectMap__copy_entries_range effect Copies a range of effect map entries (0x108 bytes each = 0x42 dwords) from source to destination. Iterates entry by entry, copying 0x42 dwords per entry. 0x00B83500 59 std__vector_assign_range stl Assigns a range [param_2, param_3) to the vector. Reallocates if needed, copies data via memcpy, updates end pointer. 0x00B83540 727 EffectMap__ctor effect Constructor for EffectMap. Initializes vector storage, creates 10 sub-entries via _eh_vector_constructor_iterator_, sets up default rendering parameters (identity matrix, blend modes), initializes to 0xC47 (3143) 16-byte entries with zeros. Uses timeGetTime for creation timestamp. Sets sentinel bytes at specific offsets. 0x00B83820 242 EffectMap__reset effect Resets the EffectMap to initial state. Clears all entry data, zeros out 16000 bytes of lookup table, resets counters. Zeros sub-entries and sets sentinel values. Sets ID to -1. 0x00B83920 173 EffectMap__copy_sub_entry effect Copies a sub-entry from source to destination. Copies first byte, allocates buffer for vector data, memcpy's the vector content. 0x00B83A40 144 EffectMap__free_16byte_vector effect Frees the 16-byte entry vector. Clears entries via EffectMap__clear_entries_range, frees buffer (aligned free for >0xFFF), zeros pointers. 0x00B83AE0 162 EffectMap__free_108byte_vector effect Frees the 0x108-byte entry vector. Destroys entries via FUN_00b873b0, frees buffer (aligned free for >0xFFF), zeros pointers. 0x00B83B90 155 EffectMap__dtor effect Destructor for EffectMap. Closes file handle at +0x1DC (if open, flushes log if mode is 0x1F), destroys 10 sub-entries via _eh_vector_destructor_iterator_, frees 16-byte vector. 0x00B83C30 123 EffectMap__sub_entry_ctor effect Constructor for an EffectMap sub-entry. Initializes the 16-byte vector via reset_entries_from_backup, zeros 16000 bytes of lookup table at +0x128, clears the 108-byte entry vector. Sets counter at +0x10 and +0x124 to 0. 0x00B83CB0 80 EffectMap__clear_single_entry effect Clears a single 16-byte entry. Copies +0x4 to +0x8 (resets end to start), then calls STL cleanup function. 0x00B83D50 51 EffectMap__check_effect_type_match effect Checks if an effect's type at +0x38 matches a filter condition. For filter=2: matches type 0, 0xD, 1, or 2. For other filters: matches against global DAT_016d3b14. Returns 1 if matched. 0x00B83D90 123 EffectMap__update_effect_timer effect Updates an effect's timer. If DAT_016f7144 is 0, just increments tick count. Otherwise uses timeGetTime, increments ticks and accumulates elapsed time. When accumulated time exceeds limit at +0xa4, transitions to state 6 (completed). Returns 0 when effect finishes, 1 otherwise. 0x00B83E10 38 EffectMap__reset_timer_if_not_looping effect Resets effect timer fields if not in looping states (3 or 8). Clears flag at +0x1e4, tick count at +0x1c, and accumulated time at +0x20. 0x00B83E40 113 EffectMap__xor_decrypt_data effect XOR-decrypts data in-place. Derives key from fields at +0x2c (>>5) and +0x30 (>>3). For each dword in the buffer, XORs with (key_base + counter) * key_mul. Updates counter at +0x1e8 and stores computed values at +0x1ec/0x1f0. 0x00B83EC0 86 EffectMap__reset_entries_from_backup effect Resets effect entries from backup. Sets ID to -1, copies 0x108-byte entries from backup range to main range (overwriting), destroys remaining old entries, updates end pointer. 0x00B83F20 57 EffectMap__close_file_handle effect Closes the effect file handle at +0x1DC. If mode is 0x1F, flushes log via FUN_00b857e0 before closing. Sets handle to 0. 0x00B83F60 367 EffectMap__read_header_and_index effect Reads effect file header and index table. Seeks to offset 100, reads 12-byte header with magic 0x52414705 or 0x51404605, reads up to 26 10-byte index entries (id + 2 offsets). Then calls FUN_00b84930/FUN_00b84e40 to parse content. Returns true on success. 0x00B840D0 559 EffectMap__open_and_parse_file effect Opens and parses an effect file. Mode 0x1F: opens for appending, stores data offset 0x174. Mode 0x20: opens for reading, reads header + index table with magic check, parses effect data. Cleans up on failure. Returns 1 on success, 0 on failure. 0x00B84300 59 EffectMap__get_entry_by_index effect Returns pointer to an effect entry by index. Each entry is 0x108 bytes. Returns 0 if index is out of bounds, otherwise returns pointer to entry data (+4 past start). 0x00B84340 89 EffectMap__get_duration_as_hms effect Converts effect duration at +0xa4 (milliseconds) to hours:minutes:seconds packed into a uint. Returns (hours << 0) \| (minutes << 8) \| (seconds << 16). 0x00B843A0 82 EffectMap__find_sub_entry_index effect Finds the index of a sub-entry by ID. First checks if ID matches at expected position (direct index). If not, linear searches all 26 sub-entries (10 bytes each at +0xd2). Returns index or -1 if not found. 0x00B84400 182 EffectMap__get_last_chunk_offset effect Calculates the file offset of the last data chunk. Reads chunks sequentially from start offset (+0x1e0), each chunk is 10-byte header + variable data (size in local_14). Reads (chunk_count - 1) chunks to find the last one's position. Returns the last chunk's data size field. 0x00B844C0 169 EffectMap__get_time_scale_by_speed effect Returns a time scale multiplier based on effect speed value at +0x24. Maps several float constants to different scale values. Returns 1.0 as default for unrecognized speed. 0x00B84570 169 EffectMap__get_frame_rate_by_speed effect Returns a frame rate value based on effect speed at +0x24. Maps speed constants to different frame rates. Returns 1.0 as default. 0x00B84620 169 EffectMap__get_speed_index effect Returns an integer speed index (1-7) based on the effect speed float at +0x24. Returns 0 for unrecognized speed values. 0x00B846D0 168 EffectMap__reset_header_preserve_config effect Resets effect header data while preserving configuration fields at +0xb0 to +0xcc. Saves config, zeros 0x84 bytes starting at +0x2c, restores config, sets magic numbers (0x52414705), resets file state to -1/0/0. 0x00B84780 69 check_filename_ends_with_rrf game_core Checks if a filename string ends with ".rrf" extension. Returns 1 if it does, 0 otherwise. Walks to end of string then checks last 4 chars. 0x00B847D0 119 EffectMap__should_play_effect effect Determines if an effect should be played. Always plays 0x8AE. For other IDs, looks up in a tree map. For specific IDs (0x109, 0x8D, 0x8E, 0x97, 0x17F, 0x2DC, 0xBDE), returns the flag at +0xb6. Others return 1 (always play). 0x00B84870 185 EffectMap__find_entry_by_rrf_name effect Searches for an effect entry by its .rrf filename. Formats search name as "%s.rrf", then iterates through entries (0x108 bytes each) comparing the name at +4. Returns 1 if found, 0 otherwise. 0x00B84930 396 EffectMap__read_sub_entry_data effect Reads sub-entry data from the effect file. Looks up sub-entry by index (1-25), allocates buffer for the data, seeks to file offset, reads data, and XOR decrypts it. Initializes output vector (param_2) to empty. 0x00B84AC0 147 EffectMap__read_sub_entry_to_buffer effect Reads sub-entry data into a provided buffer. Calls read_sub_entry_data to get the data, then memcpy's it to param_2. Returns the size copied, or 0 if param_2 is null. 0x00B84B60 721 EffectMap__scan_replay_rrf_files effect Scans current directory for replay .rrf files. Uses FindFirstFile/FindNextFile with "Replay/*.rrf" pattern. For each .rrf file, creates a 0x108-byte entry with the filename and optional numeric ID (parsed from last 4 chars if filename is exactly 23 chars). Adds entries to the effect map vector. 0x00B84E40 821 EffectMap__parse_header_from_data effect Parses effect header from binary data stream. Expects magic 0x3B6, then reads tagged chunks (0x3B7=end, 0x3C0=header, 0x3C1-0x3CD=various field blocks). Each chunk: 2-byte tag + 4-byte size + data. Copies data to appropriate field offsets. For 0x3C0, also reads duration from last file chunk if header changed. 0x00B851E0 364 EffectMap__prepare_replay_filename effect Prepares a replay filename. Scans existing .rrf files first. If no custom name, auto-generates "Replay/RagnarokReplay_%04d.rrf" with next available number. If custom name set with overwrite flag, checks for duplicates. Otherwise prefixes with "Replay/" path. Returns 1 on success, -2 if duplicate found. 0x00B85350 364 EffectMap__read_next_data_chunk effect Reads the next data chunk from the effect file during playback. Checks state (must be 7 or forced). Reads 10-byte chunk header, validates sequence number and timestamp against current playback position. Reads chunk payload, XOR-decrypts it, advances file offset. Returns true if chunk was read. 0x00B854C0 179 EffectMap__should_record_effect effect Determines if an effect should be recorded in replay. Returns false if DAT_016f7144 is 0, or for IDs 0x10F, 0x1FE, 0xC9, 0x11E, 0x244. For IDs 0xC3/0xC2/0xC4/0xC7/0xC0, checks config flags at +0xb1-0xb8. Otherwise returns true. 0x00B85580 38 EffectMap__reset_file_offset_to_first effect Resets the file read offset (+0x1e0) to the first sub-entry's data offset. Clears flag at +0x1e4, looks up sub-entry index 1 to get its file offset. 0x00B855B0 274 EffectMap__write_sub_entry_from_vector effect Writes sub-entry data from a vector to the effect file. If param_4 is 0xE (new entry), registers the sub-entry in the index table. XOR-encrypts the data using the same key derivation as xor_decrypt_data, then fwrite's to the file at the stored offset. 0x00B856D0 259 EffectMap__write_sub_entry_from_buffer effect Writes sub-entry data from a raw buffer to the effect file. Similar to write_sub_entry_from_vector but takes raw pointer + size. XOR-encrypts and fwrite's. Returns 1 on success, 0 on failure. 0x00B857E0 570 EffectMap__flush_write_data effect Flushes pending write data to the effect file. Mode 0xB: final flush - builds header data via FUN_00b85a20, writes sub-entry, writes 100-byte file header + 12-byte effect header. Mode 0xC: periodic flush every 1200 writes, writes alternate magic 0x51404605 + index table. Mode 0xD: immediate flush of header + index. Returns 1 on success. 0x00B85A20 2579 EffectMap__serialize_header_to_chunks effect Serializes the EffectMap header fields into a vector of tagged binary chunks for writing to the .rrf replay file. Builds chunks: 0x3B6 (6-byte start marker), 0x3C1-0x3C3 (4-byte int fields from offsets 0x34-0x3C), 0x3C4 (64-byte 4x4 matrix from 0x40), 0x3C5 (20-byte data from 0x80), 0x3C6-0x3C7 (4-byte ints from 0x94/0x98), 0x3C8-0x3CD (4-byte fields via helper), 0x3C0 (4-byte magic copy from 0xCE), 0x3B7 (6-byte end marker). Each chunk has 2-byte tag + 4-byte size + payload. 0x00B86440 183 EffectMap__set_entry_data_at_index effect Sets data on a 16-byte entry at the given index. Validates index < 0xC47 and entry is active. Resizes the entry's sub-vector to the specified size if needed, then assigns the data range. 0x00B86500 350 EffectMap__write_game_state_snapshot effect Writes a game state snapshot to the replay file. Captures data from 2 static memory offsets (0x99B4, 0x1D64 from game object), plus serialized lists for effect IDs 0x10F, 0x235, 0x29D, and optionally character header data if DAT_01738254 is set. Each piece is written as a 0x29-type effect data chunk. 0x00B86660 535 EffectMap__write_effect_data_chunk effect Writes an effect data chunk to the replay file. Checks if effect should be recorded (by ID), allocates buffer with 10-byte header + payload. Sets tick count and timestamp in header based on mode (0x2A=relative, 0x2B=offset). XOR-encrypts payload, fwrite's to file, advances write offset and chunk counter. 0x00B86880 512 EffectMap__write_raw_effect_chunk effect Writes a raw effect data chunk (from buffer, not vector). Same recording logic as write_effect_data_chunk but takes raw pointer + size. Checks effect ID against play list, XOR-encrypts, writes to file. 0x00B86A80 46 EffectMap__init_write_sub_entry_1 effect Initializes writing for sub-entry index 1 if flag at +0x1e4 is 0. Sets sub-entry ID=1, size=0, and offset to current write position (+0x1e0). Returns 1. 0x00B86AB0 25 EffectMap__set_max_entries effect Sets the maximum number of entries at +0x10. Returns 0 if param is 0, otherwise stores the value and returns 1. 0x00B86AD0 20 EffectMap__update_duration_from_time effect Updates the effect duration at +0xa4 by computing (timeGetTime - start_time). Start time is at +0x14. 0x00B86AF0 83 EffectMap__set_filename effect Sets the filename at +0x14 (260-byte buffer). Checks that param is non-null and flag at +0x118 is set. Clears buffer, copies the filename string. Returns pointer to the buffer or null on failure. 0x00B86B50 1400 CReplayManager__open_replay_file game_core Opens a replay (.rrf) file for either reading (mode 0x20) or writing (mode 0x1f). For reading: opens file, seeks to offset 100, reads 12-byte header, validates magic (0x52414705 or 0x51404605), reads up to 27 sub-entry descriptors (10 bytes each), then calls EffectMap__read_sub_entry_data. For writing: generates auto-numbered filename (Replay_RagnarokReplay_%04d.rrf) or uses user-specified name, opens for write with stride 0x174. Returns 1 on success, 0 on failure. 0x00B870D0 62 EffectMap__set_current_entry_index effect Sets the current entry index (stored at *param_1). Clamps to [0, entry_count-1]. Returns 1 on success, 0 if param_2 < 0. 0x00B87110 170 EffectMap__set_header_data effect Sets the full effect header data. Copies 4x4 matrix (param_4, 16 dwords at +0x40), 5 floats (param_5 at +0x80), 4 params at +0x94, position at +0x34, key pair at +0x2c/+0x30, sets magic 0x52414705. Returns 0 if either matrix param is null. 0x00B871C0 122 EffectMap__increase_speed effect Increases the effect playback speed by one step. Maps current speed float to next higher tier: 0.5->1.0, 1.0->2.0, 2.0->4.0, 4.0/5.0->4.0 (capped). 0x00B87240 122 EffectMap__decrease_speed effect Decreases the effect playback speed by one step. Maps current speed float to next lower tier: 0.5/1.0->0.25, 2.0->0.5, 4.0->1.0, 5.0->2.0. 0x00B872C0 36 EffectMap__restart_playback effect Restarts effect playback from current tick position. Only acts if not in looping states (3 or 8). Copies tick count to entry index, sets both start and current timestamps to timeGetTime. 0x00B872F0 112 EffectMap__set_playback_state effect Sets the playback state at +0xc. State 4->1, state 5->6. States 1-8 set directly. Updates global DAT_016f7144 flag: cleared for states 1-2, set to 1 for states 6-8 (recording/playback modes). 0x00B87360 43 EffectMap__set_config_data effect Sets configuration data at +0xb0. Clears the buffer first, then copies param_3 bytes from param_2. Returns 1. 0x00B87390 22 EffectMap__clear_entries_range_wrapper effect Wrapper that calls EffectMap__clear_entries_range with swapped parameter order. 0x00B873B0 57 EffectMap__zero_entries_range effect EffectMap: zero entries range 0x00B873F0 3 identity_passthrough_00b873f0 crt Returns its parameter unchanged; identity function stub 0x00B87400 145 EffectMap__fill_entries_with_copy effect Fills a range of 16-byte entries by copying from a template. Creates param_3 copies starting at param_2 offset, then clears any excess entries. 0x00B874A0 145 EffectMap__copy_entries_range_16byte effect Copies 16-byte entries from source range [param_2, param_3) to destination param_4. Clears any trailing entries after the copy. 0x00B87540 10 thunk_to_std__Xlength_error_00b87540 stl Throws std::length_error for vector size overflow 0x00B87550 10 thunk_to_std__Xlength_error_00b87550 stl Calls std::_Xlength_error with vector_too_long error message 0x00B87560 58 free_aligned_16byte_buffer stl Frees a buffer of 16-byte entries. Handles aligned deallocation for sizes > 0xFFF by reading the original pointer from -4 offset. 0x00B875A0 59 free_aligned_108byte_buffer stl Frees a buffer of 0x108-byte entries. Handles aligned deallocation for sizes > 0xFFF. 0x00B875E0 153 get_global_EffectMap_instance game_core Gets the global EffectMap singleton at DAT_016f7150. Thread-safe lazy initialization with DAT_016f734c guard. Creates EffectMap and registers atexit cleanup on first call. 0x00B87680 336 get_global_EffectMap_secondary game_core Gets a secondary global EffectMap singleton at DAT_016f7350. Thread-safe lazy init with DAT_016fb2f8 guard. Simpler initialization than primary: directly sets fields, zeros 16000-byte lookup, registers atexit cleanup. 0x00B877D0 34 memcpy_range_to_dest_00b877d0 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past copied data. 0x00B87800 34 memcpy_range_to_dest_00b87800 stl Copies a memory range [param_1, param_2) to param_3 destination. Returns pointer past copied data. 0x00B87830 276 std__vector_int__insert_and_grow_00b87830 stl STL vector insert with reallocation. 1.5x growth, copies at insertion point, uses STL_allocate_4byte_elements for allocation. 0x00B87970 452 std__vector_int__insert_and_grow_00b87970 stl STL vector insert with reallocation. 1.5x growth, aligned alloc for >0xFFF. Copies at insertion point, frees old buffer. 0x00B87B40 264 std__vector_byte__insert_and_grow stl STL vector insert with reallocation. 1.5x growth, inserts single byte at position, copies before/after data. Uses STL_aligned_heap_alloc and SpriteAction__swap_buffer for buffer management. 0x00B87C70 276 std__vector_int__insert_and_grow_00b87c70 stl STL vector insert with reallocation. 1.5x growth, uses STL_allocate_4byte_elements and FID_conflict__Change_array for buffer management. 0x00B87DB0 574 std__vector_12byte__insert_and_grow stl STL vector of 12-byte elements insert with reallocation. 1.5x growth (max 0x15555555), copies 12-byte entries using copy_12byte_entries_range, resets old entries to (-1,0,0) before freeing. 0x00B88000 135 copy_12byte_entries_range game_core Copies a range of 12-byte (0xC) entries from source to destination. Each entry is 8 bytes + 4 bytes. Returns pointer past last destination entry. 0x00B88090 26 init_3field_struct game_core Initializes a 3-field structure. Sets fields [0], [1], [2] to the 3 parameters. Returns param_1. 0x00B880D0 231 CReplayManager__ctor game_core Constructor for CReplayManager. Zeros out all 19 fields, sets field[9] to 50000 (max replay entries). 0x00B881F0 129 std__vector_4byte__free_buffer_00b881f0 stl Frees a vector buffer (4-byte aligned elements). Handles aligned deallocation for >0xFFF, zeros pointers. 0x00B88280 129 std__vector_4byte__free_buffer_00b88280 stl Frees a vector buffer (4-byte aligned elements). Identical pattern at different address. 0x00B88310 129 std__vector_8byte__free_buffer stl Frees a vector buffer (8-byte aligned elements). Handles aligned deallocation for >0xFFF, zeros pointers. 0x00B883A0 162 std__vector_40byte__free_buffer stl Frees a vector buffer of 0x28-byte (40-byte) elements. Calls FUN_00b8a640 to destroy entries first, then aligned free for >0xFFF. 0x00B88450 185 std__vector_12byte__free_buffer stl Frees a vector buffer of 12-byte elements. Resets each entry to (-1, 0, 0) before freeing. Handles aligned deallocation. 0x00B88530 323 CReplayManager__dtor game_core Destructor for CReplayManager. Resets counters, clears 12-byte entries, destroys child objects, resets map nodes (freeing 0x68 objects), then frees all vector buffers (8-byte, 8-byte, 12-byte, 4-byte, 4-byte). 0x00B88680 28 copy_3field_struct game_core Copies a 3-field (12-byte) structure from source to destination. Returns destination pointer. 0x00B886A0 55 CReplayManager__add_to_vector_A game_core Adds an element to vector A (at +0x4/+0x8). Returns 0 if element is null. Grows vector if needed via FUN_00b87970. 0x00B886E0 58 CReplayManager__add_to_vector_B game_core Adds an element to vector B (at +0x10/+0x14). Returns 0 if element is null. Grows via std__vector_int__insert_and_grow_00b87830. 0x00B88720 132 CReplayManager__find_entity_in_nodes game_core Searches for an entity by ID across map nodes. Only searches for IDs > 9999. Iterates through node list, checking by object (bit 0), entry (bit 4), or child (bit 8) based on param_3 flags. Returns pointer to found entity or 0. 0x00B887D0 37 CReplayManager__get_from_vector_by_index game_core Gets an element from the first vector by index. Returns 0 if empty or index out of bounds. 0x00B88800 56 CReplayManager__find_by_string_cstr game_core Searches for a map entry by comparing string via CMapEntry__compare_string_cstr. Returns the entry pointer or 0 if not found. 0x00B88840 108 CReplayManager__get_entry_by_id_or_index game_core Gets an entry from vector at +0xc. If param_3 is nonzero, searches by ID via CMapEntry__compare_id. Otherwise treats param_2 as direct array index. Returns 0 if not found/out of bounds. 0x00B888B0 57 CReplayManager__find_entry_by_name game_core Searches for an entry by name in the vector at +0xc. Uses CMapEntry__compare_name. Returns entry pointer or 0 if not found. 0x00B888F0 21 CReplayManager__get_bounds game_core Copies the 2D bounds from +0x1c and +0x20 into the output param_2 array (2 values). 0x00B88920 4 get_field_0x18_00b88920 game_items Getter that returns 4-byte field at offset 0x18 from parameter 0x00B88930 205 CReplayManager__reset game_core Resets the CReplayManager to initial state. Resets counters, clears 12-byte entry list to (-1,0,0), destroys all child objects via virtual destructors, resets map nodes (freeing 0x68 byte objects), resets all vector end pointers to start. 0x00B88A00 84 CReplayManager__reset_partial game_core Partial reset of CReplayManager. Resets counters at +0x18-0x24, max entries to 50000, clears 12-byte entry list, resets some vector pointers. Does not destroy child objects. 0x00B88AB0 1573 CMapNode__execute_search_query game_map Executes a map search query by parsing the input string, splitting it by spaces into tokens, then dispatching to the appropriate search method based on the parsed search type. Type 2 calls CMapNode__collect_search_results, type 3 parses two numeric range parameters and calls CMapNode__collect_entries_in_range, type 4 calls CMapNode__search_entries_by_exact_name, default calls CMapNode__search_all_types. Results are accumulated into the output vector. Returns 1 if results found, 0 otherwise. 0x00B890E0 214 CReplayManager__collect_children_by_type game_core Collects child entries matching a given type (param_2) into an output vector (param_3). Iterates all nodes, checking each node's children and also the extra entry list at +0x3/+0x4. Compares type via get_field_0x7c. Returns true if any matches found. 0x00B891C0 1310 CMapNode__parse_search_command game_map Parses a search command string to determine the search type and extract parameters. Uses CMessageStringTable entries 0x912-0x915 as prefix patterns. Returns: 1 if no match (simple search), 2 if matches msg 0x915 (keyword search), 3 if matches msg 0x912+0x913 with range delimiters (range search with min/max extracted via atoi), 4 if matches literal "map/" prefix (name search). For type 3, clears existing results and pushes the two range bound strings. 0x00B896E0 604 CMapNode__search_first_matching_entry game_map Searches through a list of entries by exact name match. For each entry in the input list, calls CMapNode__search_entries_by_exact_name. Returns the value from the first matching result's field offset 4 (second dword), or 0 if no match found. Cleans up allocated 40-byte result entries before returning. 0x00B89940 37 CMapNode__set_3_params game_map Sets 3 parameters at +0x18/+0x1c/+0x20. Returns 0 if param_2 is 0, otherwise stores all 3 values and returns 1. 0x00B89970 9 std__vector_4byte__size stl Returns the number of elements in a vector of 4-byte elements. Computes (end - begin) / 4. 0x00B89990 1645 CMapNode__find_shortest_path game_map Finds the shortest path through map node connections using a breadth-first/Dijkstra-like algorithm. Clears existing path data, then iteratively explores connections checking type codes (0xCA=one-way-A, 0xCB=one-way-B, 0xCC/0xCD=bidirectional with filtering). Tracks cumulative cost in 12-byte entries (parent_idx, node_ptr, cost). Updates minimum cost path when destination node (field 6) is reached. Max 100 iterations. Outputs path as reversed node pointer list. Resets field 88 and cost (50000) on completion. 0x00B8A000 1501 CMapNode__find_shortest_path_from_current game_map Variant of find_shortest_path that starts from the current node (pre-marks it via vtable call at offset 0x20, sets flag 40 to 1). Same Dijkstra-like graph traversal with connection type filtering (0xCA-0xCD). Explores neighbor nodes, accumulates costs, and tracks minimum-cost path to destination. Differs from find_shortest_path by also checking unvisited neighbors (field_88==0) during expansion. Max 100 iterations. Returns path cost or 0 if no path found. 0x00B8A5E0 90 STL_vector__Change_array_00b8a5e0 stl STL vector::_Change_array. Frees old buffer, then sets begin/end/capacity pointers to the new buffer. 0x00B8A640 162 destroy_40byte_entry_range game_core Destroys a range of 40-byte (0x28) entries. Each entry has: ID=-1, 2 fields zeroed, SSO string at +4 (dtor'd), fields reset. Handles STL small string optimization (SSO) buffer. 0x00B8A6F0 47 reset_12byte_entry_range game_core Reset 12byte entry range 0x00B8A720 100 CReplayManager__reset_all_children_field88 game_core Iterates all nodes and their children, setting field 0x88 to -1 on each child entry via CMapEntry__set_field_88. 0x00B8A790 123 pathfind_check_cell_passability game_core Checks if a cell is passable for pathfinding. Gets cell type via vtable call (offset 8). For types 0xCC/0xCD, checks param flags. For 0xCA/0xCB, checks direction (param_4==2 for CA, param_4==1 for CB). Falls through to field checks for other types. 0x00B8A810 114 pathfind_evaluate_node_cost game_core Evaluates cost of a pathfinding node. Compares field 0x18 with a value from get_field_0x7c. If param_4 set, uses direct cost from offset+8. Otherwise iterates through a vector (0x40..0x44) looking for matching nodes and accumulates costs. Updates minimum cost at field 0x24 and stores best index in param_3. 0x00B8A890 203 pathfind_build_open_list game_core Builds the open list for pathfinding. Iterates through elements at offset 0x0C..0x10, creates 12-byte entries (cost=-1, node_id, flag=1) and appends them to vector at offset 0x2C..0x30. Returns total count of open list entries. 0x00B8A960 10 thunk_to_std__Xlength_error_00b8a960 stl Throws std::length_error for vector size violation 0x00B8A970 10 thunk_to_std__Xlength_error_00b8a970 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00B8A980 10 thunk_to_std__Xlength_error_00b8a980 stl Calls std::_Xlength_error with vector_too_long message, never returns 0x00B8A990 92 STL_allocate_4byte_elements stl STL vector allocator for 4-byte elements. Multiplies count by 4, allocates via operator new. For allocations >= 0x1000 bytes, adds 0x23 alignment overhead. Throws bad_array_new_length if count >= 0x40000000. 0x00B8A9F0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B8AA30 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B8AA70 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B8AAB0 44 STL_vector_push_back_24byte stl Push back a 24-byte element (0x18) to an STL vector. If capacity available, copies via string copy construct and advances end pointer. Otherwise calls vector insert to grow. 0x00B8AAE0 358 STL_vector_assign_8byte_pairs stl Assigns a range of 8-byte pair elements to an STL vector. If new count <= current count, overwrites in place. Otherwise reallocates with 1.5x growth strategy. Copies existing elements and appends new ones. Frees old buffer if needed. 0x00B8AC50 29 memcpy_backward_offset stl Copies memory range [param_1..param_2) to a destination computed by subtracting the range size from param_3. Used for backward element relocation in containers. 0x00B8AC70 29 memcpy_backward_offset_00b8ac70 stl Copies memory range [param_1..param_2) to a destination computed by subtracting the range size from param_3. Identical to memcpy_backward_offset, duplicate at different address. 0x00B8AC90 34 memcpy_forward_return_end stl Copies memory range [param_1..param_2) to param_3. Returns pointer to end of destination (param_3 + copied size). Used for forward element relocation in containers. 0x00B8ACC0 144 pathfind_reset_node_array game_core Resets an array of 40-byte pathfinding nodes. For each node, sets fields 0-3 to -1/0/-1/-1, clears the embedded string (at offset 0x10), resets field 0x20 to 0, then calls STL string destructor. Iterates from param_1 to param_2 in 40-byte steps. 0x00B8AD50 452 STL_vector_insert_single_4byte_00b8ad50 stl Inserts a single 4-byte element into an STL vector at the given position. Reallocates with 1.5x growth, copies elements before/after insertion point, frees old buffer. Returns pointer to inserted element. 0x00B8AF20 333 STL_vector_insert_single_8byte_00b8af20 stl Inserts a single 8-byte element into an STL vector at the given position. Reallocates with 1.5x growth, copies 8-byte pair elements before/after insertion point, frees old buffer. Returns pointer to inserted element. 0x00B8B090 550 STL_vector_insert_single_40byte stl Inserts a single 40-byte (0x28) element into an STL vector. Reallocates with 1.5x growth, relocates elements via pathfind node copy helpers, resets and frees old nodes. Max element count 0x6666666. Returns pointer to inserted element. 0x00B8B2C0 563 STL_vector_insert_single_24byte_wstr stl Inserts a single 24-byte (0x18) element containing a wstring into an STL vector. Reallocates with 1.5x growth, moves elements via wstring-aware copy, destroys old wstrings. Returns pointer to inserted element. 0x00B8B500 296 _Guess_median_unchecked_> game_core STL _Guess_median_unchecked for introsort. Selects median-of-three pivot from first, middle, and last elements. 0x00B8B630 296 _Guess_median_unchecked_> game_core STL _Guess_median_unchecked for introsort. Selects median-of-three pivot from first, middle, and last elements. 0x00B8B760 379 _Partition_by_median_guess_unchecked_> game_core STL _Partition_by_median_guess_unchecked. Partitions a range around a median-of-three pivot for introsort. 0x00B8B8E0 379 _Partition_by_median_guess_unchecked_> game_core STL _Partition_by_median_guess_unchecked. Partitions a range around a median-of-three pivot for introsort. 0x00B8BA60 140 _Pop_heap_hole_by_index_> game_core STL _Pop_heap_hole_by_index. Moves a value down the heap from a given position, restoring heap property. 0x00B8BAF0 140 _Pop_heap_hole_by_index_> game_core STL _Pop_heap_hole_by_index. Moves a value down the heap from a given position, restoring heap property. 0x00B8BB80 472 std__sort_uint_introsort_00b8bb80 stl STL introsort implementation for uint arrays. Uses quicksort with median-of-three partitioning, falls back to heapsort when recursion depth exceeded, and insertion sort for small ranges (<= 32 elements). Recursive with 3/4 depth reduction per level. 0x00B8BD60 472 std__sort_uint_introsort_00b8bd60 stl Duplicate STL introsort implementation for uint arrays (identical to std__sort_uint_introsort). Uses quicksort with median-of-three, heapsort fallback, and insertion sort for small ranges. 0x00B8BF40 176 STL_move_range_24byte_wstr stl Move-copies a range of 24-byte elements (containing wstrings) from [param_1..param_2) to param_3. Each element: 4 DWORDs + 8-byte wstring. Source wstrings are invalidated (set to empty with capacity 7). Returns pointer past last destination element. 0x00B8BFF0 102 pathfind_copy_node_40byte game_core Copies a 40-byte pathfinding node from param_3 to param_2. Copies 4 DWORD fields directly, then uses STL string copy construct for the embedded string at offset 0x10. 0x00B8C060 66 STL_move_construct_24byte_wstr stl Move-constructs a single 24-byte element with embedded wstring. Copies 4 DWORDs + 8-byte wstring data from param_3 to param_2, then invalidates source wstring (capacity=7, length=0). 0x00B8C0B0 325 find_element_by_string_name game_core Searches a vector of pointers for an element whose embedded string (at offset 0x10) matches the given C string param_1. Constructs a temporary STL string for comparison using std::_Traits_equal. Returns the matching element pointer, or 0 if not found. 0x00B8C200 173 STL_vector_copy_construct_8byte stl Copy constructor for an STL vector of 8-byte elements. Allocates exact-fit buffer, copies all 8-byte pairs from source vector to destination. Returns pointer to constructed vector. 0x00B8C2B0 275 CMapObject__ctor_with_params game_core Constructor for a map object with full parameters. Sets vtable at PTR_FUN_01198390, calls base init (FUN_00b8c870), stores param strings via STL string assign, sets numeric fields for position/type/flags. Initializes counter field at 0x22 to 0. 0x00B8C3D0 322 CMapObject__ctor_from_interface game_core Constructor for a map object from an interface pointer (param_3). Calls vtable methods on the interface to get type, strings, position data. Uses same base init as CMapObject__ctor_with_params. Stores additional params (param_4..param_6) at offsets 0x1F-0x21. 0x00B8C520 182 CMapObject__ctor_default game_core Default constructor for CMapObject. Calls base init, sets vtable, initializes type field to 200 (0xC8), zeroes position/flag fields 0x1F-0x21, sets field 0x22 to -1. 0x00B8C5E0 304 CMapNode__ctor game_map Constructor for a map node object. Initializes two embedded STL strings (at offsets 0x08 and 0x20), zeroes several fields (0x44-0x64), assigns type at offset 0, param_7 at offset 4, stores string params, and numeric fields at offsets 0x38 and 0x3C. 0x00B8C710 342 CMapEntry__ctor game_map Constructor for a CMapEntry with vtable PTR_FUN_01198340. Initializes two embedded STL strings (offsets 0x10 and 0x28), zeroes many fields (0x44-0x7C), sets type/id fields, assigns optional string params, and position data at offsets 0x44-0x48. 0x00B8C870 273 CMapEntry__base_init game_map Base initialization for CMapEntry. Sets vtable to PTR_FUN_01198340, initializes two embedded STL strings (offsets 0x10/0x28), zeroes all numeric fields (0x44-0x7C), sets field 0x04=-1, field 0x08=0x65, field 0x0C=0. Used as base init by multiple constructors. 0x00B8CA40 129 STL_vector_clear_4byte stl Clears and deallocates an STL vector of 4-byte elements. Frees the buffer (with alignment handling for large allocations), then zeroes the begin/end/capacity pointers. 0x00B8CAD0 175 STL_vector_clear_24byte_wstr stl Clears and deallocates an STL vector of 24-byte (0x18) elements containing wstrings. Destroys each wstring via STL_wstring_dtor, then frees the buffer and zeroes begin/end/capacity pointers. 0x00B8CB90 123 CMapObject__reset game_core Resets a CMapObject to default state. Restores vtable, sets type to 200, clears field 0x1F, trims vector if needed, calls cleanup helpers FUN_00b90600 and FUN_00b8cd60. 0x00B8CC10 336 CMapNode__reset game_map Resets a CMapNode to default state. Clears strings, resets ID to 0x1389, zeroes numeric fields. Iterates three vectors of object pointers (offsets 0x44/0x50/0x5C) calling each object's destructor via vtable[0], then resets those vectors. Finally clears helper vectors and destroys embedded strings. 0x00B8CD60 205 CMapEntry__reset game_map Resets a CMapEntry to default state. Restores vtable, sets field 0x04=-1, field 0x08=0x65, field 0x0C=-1. Clears embedded strings, zeroes position fields. Trims vector at offset 0x4C, calls helper cleanup, then destroys strings. 0x00B8CE30 3 null_stub_00b8ce30 crt Empty function stub with no operation, just returns immediately 0x00B8CE40 180 CMapEntry__copy_assign game_map Copy assignment for CMapEntry. Copies numeric fields at 0x08/0x0C, two embedded strings (0x10/0x28) via STL assign, position fields (0x44/0x48), flag fields (0x7C/0x80/0x84), and two 8-byte-pair vectors (0x4C/0x8C). 0x00B8CF00 99 CMapObject__copy_assign game_core Copy assignment for CMapObject. Copies numeric fields at 0x08/0x0C, embedded string at 0x10 via STL assign, position fields (0x44/0x48), type at 0x40, and an 8-byte-pair vector at 0x4C. 0x00B8CF70 18 CMapEntry__compare_id game_map Compares the entry's ID field (offset 0x04) against the value pointed to by param_2. Returns true if they match. 0x00B8CF90 33 CMapEntry__compare_position game_map Compares the entry's position (offsets 0x44 and 0x48) against a 2D coordinate pair pointed to by param_2. Returns true if both X and Y match. 0x00B8CFC0 257 CMapEntry__compare_full game_map Full equality comparison of two CMapEntry objects. Checks position (0x44/0x48), flags (0x80/0x84), then compares embedded strings at offsets via object pointers at 0x40 and 0x7C using byte-by-byte strcmp. Returns true only if all fields and strings match. 0x00B8D0D0 283 CMapEntry__compare_name game_map Compares the entry's embedded string at offset 0x10 against a C string param_2. Creates a temporary STL string from param_2, compares with std::_Traits_equal. Returns true if names match, or returns stack address if param_2 is null. 0x00B8D1F0 49 CMapEntry__compare_string_field game_map Compares the entry's string at offset 0x08 against an STL string from param_2 using std::_Traits_equal. Both strings handle SSO (small string optimization) with 0xF threshold. 0x00B8D230 52 CMapEntry__compare_string_with_entry game_map Compares the embedded strings at offset 0x08 between two CMapEntry objects using std::_Traits_equal. Both handle SSO with 0xF capacity threshold. 0x00B8D270 70 CMapEntry__compare_string_cstr game_map Compares the entry's embedded string at offset 0x08 against a raw C string (byte*) using byte-by-byte comparison. Returns true if strings match. 0x00B8D2C0 18 CMapObject__compare_id game_core Compares the object's ID field (offset 0x04) against the value pointed to by param_2. Returns true if they match. 0x00B8D2E0 33 CMapObject__compare_position game_core Compares the object's position (offsets 0x44 and 0x48) against a 2D coordinate pair pointed to by param_2. Returns true if both X and Y match. 0x00B8D310 113 CMapObject__compare_position_and_name game_core Compares position (0x44/0x48) and embedded string via object pointer at 0x40 between two CMapObject instances. Returns true only if positions match AND string comparison succeeds. 0x00B8D390 283 CMapObject__compare_name game_core Compares the object's embedded string at offset 0x10 against a C string param_2. Creates temp STL string, uses std::_Traits_equal. Returns true if names match, or stack address if param_2 is null. Identical pattern to CMapEntry__compare_name. 0x00B8D4B0 44 CMapEntry__contains_substr_stlstr game_map Checks if the entry's name string at offset 0x10 contains the substring from an STL string param_2. Uses strstr. Returns true if substring found. 0x00B8D4E0 35 CMapEntry__contains_substr_cstr game_map Checks if the entry's name string at offset 0x10 contains the C string param_2 as a substring. Uses strstr. Returns true if substring found. 0x00B8D510 44 CMapEntry__contains_substr_field8_stlstr game_map Checks if the entry's string at offset 0x08 contains the substring from an STL string param_2. Uses strstr. Returns true if substring found. 0x00B8D540 35 CMapEntry__contains_substr_field8_cstr game_map Checks if the entry's string at offset 0x08 contains the C string param_2 as a substring. Uses strstr. Returns true if substring found. 0x00B8D570 44 CMapObject__contains_substr_stlstr game_core Checks if the object's name string at offset 0x10 contains the substring from an STL string param_2. Uses strstr. Returns true if substring found. 0x00B8D5A0 35 CMapObject__contains_substr_cstr game_core Checks if the object's name string at offset 0x10 contains the C string param_2 as a substring. Uses strstr. Returns true if found. 0x00B8D5D0 81 CMapEntry__sort_compare_name_less game_map Sort comparator: returns true if this entry's name (offset 0x10) is lexicographically less than param_2's name (offset 0x10). Used for sorting CMapEntry arrays by name. 0x00B8D630 81 CMapEntry__sort_compare_field8_less game_map Sort comparator: returns true if this entry's string at offset 0x08 is lexicographically less than param_2's string at offset 0x08. 0x00B8D690 81 CMapObject__sort_compare_name_less game_core Sort comparator: returns true if this object's name (offset 0x10) is lexicographically less than param_2's name (offset 0x10). Used for sorting CMapObject arrays. 0x00B8D6F0 85 CMapEntry__strcmp_name_forward game_map String comparison: compares this entry's name (offset 0x10) vs param_2's name (offset 0x10). Returns positive if this > param_2, negative if less. Byte-by-byte with SSO handling. 0x00B8D750 85 CMapEntry__strcmp_name_reverse game_map String comparison: compares param_2's name (offset 0x10) vs this entry's name (offset 0x10) - reverse order. Returns positive if param_2 > this. Used for reverse sorting. 0x00B8D7B0 81 CMapEntry__sort_compare_field8_reverse game_map Sort comparator: compares param_2's string at offset 0x08 vs this entry's string (reverse order). Returns true if param_2 < this. Used for reverse sorting by field 0x08. 0x00B8D810 85 CMapEntry__strcmp_name_reverse_gt game_map String comparison with reversed operand order for entry name at offset 0x10. Compares param_2 vs this, returns >0 result. Variant comparator for sorting. 0x00B8D870 81 CMapObject__sort_compare_name_less_00b8d870 game_core Sort comparator duplicate: returns true if this object's name (offset 0x10) is lexicographically less than param_2's. Identical to CMapObject__sort_compare_name_less. 0x00B8D8D0 150 CMapObject__scalar_deleting_dtor game_core Scalar deleting destructor for CMapObject. Resets vtable, clears type to 200, trims vectors, resets the base CMapEntry, then frees the 0x98-byte object if bit 0 of param_2 is set. 0x00B8D970 35 CMapEntry__scalar_deleting_dtor game_map Scalar deleting destructor for CMapEntry. Calls CMapEntry__reset to clean up, then frees the 0x7C-byte object if bit 0 of param_2 is set. 0x00B8D9A0 58 CMapNode__add_child_to_vector48 game_map Adds a child pointer to the vector at offset 0x48. Returns 0 if param_2 is null, 1 on success. Uses push_back if capacity available, otherwise inserts with reallocation. 0x00B8D9E0 58 CMapNode__add_child_to_vector60 game_map Adds a child pointer to the vector at offset 0x60. Returns 0 if param_2 is null, 1 on success. Similar pattern to add_child_to_vector48. 0x00B8DA20 58 CMapNode__add_child_to_vector54 game_map Adds a child pointer to the vector at offset 0x54. Returns 0 if param_2 is null, 1 on success. Similar pattern to other add_child methods. 0x00B8DA60 62 CMapEntry__push_back_pair_vector90 game_map Pushes an 8-byte pair element onto the vector at offset 0x90. If capacity available, copies directly; otherwise inserts with reallocation. 0x00B8DAA0 53 CMapEntry__push_back_pair_vector50 game_map Pushes an 8-byte pair element onto the vector at offset 0x50. If capacity available, copies directly; otherwise inserts with reallocation. 0x00B8DAE0 53 CMapObject__push_back_pair_vector50 game_core Pushes an 8-byte pair element onto the CMapObject's vector at offset 0x50. If capacity available, copies directly; otherwise inserts with reallocation. 0x00B8DB20 18 CMapEntry__get_field_8c game_map Getter: copies the value at offset 0x8C into the output pointer param_2. 0x00B8DB40 15 CMapEntry__get_field_4c game_map Getter: copies the value at offset 0x4C into the output pointer param_2. 0x00B8DB50 15 CMapObject__get_field_4c game_core Getter: copies the value at offset 0x4C into the output pointer param_2. 0x00B8DB60 73 CMapEntry__find_by_flags_in_vector8c game_map Searches the pair vector at offset 0x8C for an entry whose fields at 0x80 and 0x84 match param_2 and param_3. Returns the found entry pointer or 0. 0x00B8DBB0 74 CMapEntry__find_by_vtable_position_4c game_map Searches the pair vector at offset 0x4C for an object whose vtable method at offset 0x1C returns a position matching (param_2, param_3). Returns the found object pointer or 0. 0x00B8DC00 74 CMapObject__find_by_vtable_position_4c game_core Searches the pair vector at offset 0x4C for an object whose vtable method at offset 0x1C returns a position matching (param_2, param_3). Returns the found object pointer or 0. Same pattern as CMapEntry version. 0x00B8DC50 62 CMapEntry__find_by_flags_in_vector4c game_map Searches the pair vector at offset 0x4C for an entry whose fields at 0x80 and 0x84 match param_2 and param_3. Returns the found entry pointer or 0. 0x00B8DC90 62 CMapObject__find_by_flags_in_vector4c game_core Searches the pair vector at offset 0x4C for an object whose fields at 0x80 and 0x84 match param_2 and param_3. Returns the found object pointer or 0. 0x00B8DCD0 13 CMapEntry__clear_vector90 game_map Clears the pair vector at offset 0x8C by resetting the end pointer (0x90) to the begin pointer (0x8C). Does not free memory. 0x00B8DD00 137 CMapNode__destroy_all_children game_map Destroys all children in three child vectors (offsets 0x44, 0x50, 0x5C). For each non-null child pointer, calls its destructor via vtable[0] with flag=1, then nulls the pointer. Resets each vector's end to begin. 0x00B8DD90 74 CMapEntry__erase_pair_from_vector90 game_map Erases an 8-byte pair element from the vector at offset 0x8C by shifting subsequent elements forward. Decrements end pointer by 8. param_2 points to the element address to erase. 0x00B8DDE0 59 CMapEntry__erase_pair_from_vector50 game_map Erases an 8-byte pair element from the vector at offset 0x4C by shifting subsequent elements forward. Decrements end pointer (0x50) by 8. 0x00B8DE20 59 CMapObject__erase_pair_from_vector50 game_core Erases an 8-byte pair element from the CMapObject's vector at offset 0x4C by shifting subsequent elements forward. Decrements end pointer (0x50) by 8. 0x00B8DE60 18 CMapEntry__get_field_90 game_map Getter: copies the value at offset 0x90 (end pointer of pair vector at 0x8C) into the output pointer param_2. 0x00B8DE80 15 CMapEntry__get_field_50 game_map Getter: copies the value at offset 0x50 (end pointer of pair vector at 0x4C) into the output pointer param_2. 0x00B8DE90 15 CMapObject__get_field_50 game_core Getter: copies the value at offset 0x50 (end pointer of pair vector at 0x4C) into the output pointer param_2. 0x00B8DEA0 4 get_field_0x4_00b8dea0 game_items Getter returning value at param+4 offset 0x00B8DEB0 7 get_field_0x88_00b8deb0 game_items Getter that returns 4-byte field at offset 0x88 from parameter 0x00B8DEC0 73 CMapEntry__get_pair_at_index_8c game_map Gets an 8-byte pair from the vector at offset 0x8C by index. Bounds-checks param_3 against vector size. Copies pair to param_2, or zeroes param_2 if out of bounds. 0x00B8DF20 4 get_field_0x3c_00b8df20 game_items Returns 4-byte field at offset 0x3c from param_1 0x00B8DF40 81 CMapNode__get_child_by_id_or_index game_map Gets a child object from vector at offset 0x5C. If param_3 is set, searches by ID (field 0x04 matching param_2). If param_3 is 0, treats param_2 as an index into the vector. Returns 0 if not found. 0x00B8DFA0 44 CMapNode__find_child_by_pointer game_map Searches the child vector at offset 0x5C for a pointer matching param_2. Returns the pointer if found, 0 otherwise. 0x00B8DFD0 56 CMapNode__find_child_by_position game_map Searches the child vector at offset 0x5C for an object whose position (0x44, 0x48) matches (param_2, param_3). Returns the found object pointer or 0. 0x00B8E010 817 CMapNode__find_duplicate_child game_map Searches child vector (0x5C) for a duplicate of a CMapObject being added. Constructs a temporary CMapObject from parameters, then iterates children comparing position, flags, and name strings. Returns the duplicate's address if found, 0 if not found. Cleans up temporary object regardless. 0x00B8E350 15 CMapNode__get_children_begin game_map Getter: copies the begin pointer of child vector (offset 0x5C) into param_2. 0x00B8E360 15 CMapNode__get_children_end game_map Getter: copies the end pointer of child vector (offset 0x60) into param_2. 0x00B8E380 81 CMapNode__get_entry_by_id_or_index game_map Gets an entry from the vector at offset 0x50. If param_3 set, searches by ID (field 0x04 matching param_2). Otherwise uses param_2 as direct index. Returns 0 if not found. 0x00B8E3E0 44 CMapNode__find_entry_by_pointer game_map Searches the entry vector at offset 0x50 for a pointer matching param_2. Returns the pointer if found, 0 otherwise. 0x00B8E410 22 CMapNode__find_entry_by_name game_map Searches the entry vector at offset 0x50 for an entry whose string name matches param_2. Delegates to find_element_by_string_name. 0x00B8E430 15 CMapNode__get_entries_begin game_map Getter: copies the begin pointer of entries vector (offset 0x50) into param_2. 0x00B8E440 15 CMapNode__get_entries_end game_map Getter: copies the end pointer of entries vector (offset 0x54) into param_2. 0x00B8E460 56 CMapNode__find_entry_by_vtable_type game_map Searches entries vector (0x50) for an entry whose vtable method at offset 0x0C returns a value matching param_2. Returns the found entry pointer or 0. 0x00B8E4A0 332 CMapNode__find_entry_by_vtable_string game_map Searches entries vector (0x50) for an entry whose vtable method at offset 0x18 returns a string matching param_2. Creates temp STL strings for comparison using _Traits_equal. Returns the found entry or 0. 0x00B8E620 12 CMapNode__get_description_ptr game_map Returns pointer to the string data at offset 0x20. Handles SSO: if capacity > 0xF, returns the heap pointer; otherwise returns the inline buffer address. 0x00B8E640 81 CMapNode__get_object_by_id_or_index game_map Gets an object from vector at offset 0x44. If param_3 set, searches by ID (field 0x04). Otherwise uses param_2 as direct index. Returns 0 if not found. 0x00B8E6A0 44 CMapNode__find_object_by_pointer game_map Searches the object vector at offset 0x44 for a pointer matching param_2. Returns the pointer if found, 0 otherwise. 0x00B8E6D0 22 CMapNode__find_object_by_name game_map Searches the object vector at offset 0x44 for an object whose string name matches param_2. Delegates to find_element_by_string_name. 0x00B8E6F0 56 CMapNode__find_object_by_position game_map Searches the object vector at offset 0x44 for an object whose position (0x44, 0x48) matches (param_2, param_3). Returns the object pointer or 0. 0x00B8E730 15 CMapNode__get_objects_begin game_map Getter: copies the begin pointer of objects vector (offset 0x44) into param_2. 0x00B8E740 15 CMapNode__get_objects_end game_map Getter: copies the end pointer of objects vector (offset 0x48) into param_2. 0x00B8E760 4 get_field_0x40_00b8e760 game_items Getter that returns byte from param_1 + 0x40 offset 0x00B8E770 88 CMapEntry__copy_construct_pair_vector game_map Copy-constructs a pair vector from the entry's pair vector at offset 0x4C. Uses STL_vector_copy_construct_8byte. Returns param_2. 0x00B8E7D0 21 CMapEntry__get_position game_map Gets the entry's 2D position. Copies X (offset 0x44) and Y (offset 0x48) into the output pair at param_2. 0x00B8E7F0 21 CMapObject__get_position game_core Gets the object's 2D position. Copies X (offset 0x44) and Y (offset 0x48) into the output pair at param_2. 0x00B8E810 12 CMapEntry__get_name_ptr game_map Returns pointer to the string data at offset 0x08. Handles SSO: if capacity > 0xF, returns the heap pointer; otherwise returns the inline buffer address. 0x00B8E820 4 get_field_0x18_00b8e820 game_items Getter returning 4-byte field at offset 0x18 from parameter 0x00B8E860 4 CMapObject__get_secondary_object_ptr game_core Returns the secondary object pointer from offset 0x7C. This is the same object referenced by CMapEntry__get_secondary_name_ptr to retrieve a secondary name string. 0x00B8E870 15 CMapEntry__get_secondary_name_ptr game_map Returns pointer to a secondary name string. Accesses object pointer at offset 0x7C, then gets string data at offset 0x08 of that object. Handles SSO. 0x00B8E880 27 CMapEntry__get_flags_80_84 game_map Gets the entry's flag pair. Copies values from offsets 0x80 and 0x84 into the output pair at param_2. 0x00B8E8E0 4 get_field_0x38_00b8e8e0 game_items Getter that returns field at offset 0x38 from parameter 0x00B8E920 70 CMapNode__search_all_types game_map Dispatches search across map node child types. Always calls search for entries (type 1). If param_1==2 or 0, also searches objects (type 2). If param_1==3 or 0, also searches children (type 3). 0x00B8E970 758 CMapNode__collect_search_results game_map Collects search results from a CMapNode into a result vector (param_3). For type 1 (entries matching name filter), adds self if name matches. For type 2, iterates objects vector (0x44) getting position and name. For type 3, iterates entries vector (0x50). Creates 40-byte result entries (type, ptr, x, y, name string). 0x00B8EC70 476 CMapNode__collect_entries_in_range game_map Collects entries from vector 0x50 whose position (via vtable[0x1C]) falls within range [param_2..param_3]. Creates 40-byte result entries with type, ptr, position, and name string. Appends to result vector at param_4. 0x00B8EE50 1697 CMapNode__search_entries_with_filter game_map Searches map node entries with a wide-string keyword filter. Converts search terms to Unicode, builds wstring search list. For the node itself, converts description to wstring, uses StrStrIW for case-insensitive substring matching. Collects matching entries from vector 0x50 into result vector. Uses MultiByteToWideChar for codepage conversion. 0x00B8F500 89 check_name_is_searchable game_core Checks if a name string is searchable. Compares against a reference string at DAT_011983dc. Returns 0 if name matches the reference OR contains a specific substring (DAT_011983e4). Returns 1 otherwise (name is valid for search). 0x00B8F560 1755 CMapNode__search_objects_with_filter game_map Searches map node objects (vector 0x50) with a wide-string keyword filter. Converts search terms and object names to Unicode, uses StrStrIW for case-insensitive matching. Collects matching objects with their positions into 40-byte result entries. Uses MultiByteToWideChar for codepage conversion. 0x00B8FC40 504 CMapNode__search_entries_by_exact_name game_map Searches entries vector (0x50) for entries whose vtable[0x18] string exactly matches param_2. Byte-by-byte string comparison. Collects matching entries with position and name into 40-byte result entries. 0x00B8FE40 1456 CMapNode__search_children_with_filter game_map Searches map node children (objects vector 0x44) with a wide-string keyword filter. Converts search terms and child names to Unicode, uses StrStrIW for case-insensitive matching. Collects matching children with their positions into 40-byte result entries. 0x00B903F0 13 CMapEntry__set_id game_map Setter: sets the entry's ID field at offset 0x04. 0x00B90400 16 CMapEntry__set_field_88 game_map Setter: sets the value at offset 0x88 in the entry. 0x00B90410 22 CMapNode__set_flag_40 game_map Sets field 0x40 of a CMapNode, but only if the node's ID (offset 0x04) equals 0x1389. This acts as a guard to only modify the root/default node. 0x00B90430 35 CMapEntry__set_position game_map Sets the entry's 2D position. Validates both X and Y >= 0, then stores at offsets 0x44 and 0x48. Returns 1 on success, 0 if invalid. 0x00B90460 13 CMapEntry__set_field_0c game_map Setter: sets the value at offset 0x0C in the entry. 0x00B90470 32 CMapEntry__set_type game_map Sets the entry's type field at offset 0x08. Validates that param_2 is in range [200..206]; if out of range, defaults to 200. 0x00B904A0 27 CMapEntry__try_set_id game_map Attempts to set the entry's ID at offset 0x04. Only succeeds if the current ID is -1 (uninitialized). Returns 1 on success, 0 if already assigned. 0x00B904C0 27 CMapObject__try_set_id game_core Attempts to set the object's ID at offset 0x04. Only succeeds if the current ID is -1 (uninitialized). Returns 1 on success, 0 if already assigned. 0x00B904E0 10 CMapNode__get_children_count game_map Returns the count of children in this CMapNode's child vector (offset 0x5C-0x60). Computes (end - begin) / 4 for the pointer array. 0x00B90540 39 CMapNode__sort_children_vector game_map Sorts the child vector at offset 0x5C using introsort (std::sort on uint*). Sorts child pointers as unsigned integers. 0x00B90570 39 CMapNode__sort_entries_vector game_map Sorts the entries vector at offset 0x50 using introsort. 0x00B905A0 39 CMapNode__sort_objects_vector game_map Sorts the objects vector at offset 0x44 using introsort. 0x00B905D0 36 STL_destroy_range_24byte_wstr stl STL template instantiation: STL destroy range 24byte wstr 0x00B90600 129 STL_vector_clear_8byte stl Clears and deallocates an STL vector of 8-byte elements. Frees the buffer (with alignment handling for large allocations), then zeroes the begin/end/capacity pointers. 0x00B90690 44 memcpy_8byte_pairs stl Memcpy 8byte pairs, small utility function 0x00B906C0 183 copy_range_40byte_nodes game_core Copies a range of 40-byte nodes from [param_2..param_3) to param_4. Each node has 4 DWORDs + embedded string (via STL_string_copy_construct). Resets remaining destination nodes. Returns pointer past last copied element. 0x00B90780 45 memcpy_8byte_pairs_offset stl Copies 8-byte pair elements from [param_1..param_2) to a destination computed by offset param_3 from param_1. Similar to memcpy but handles 8-byte stride. 0x00B907B0 181 copy_range_40byte_nodes_00b907b0 game_core Copies 40-byte nodes from [param_2..param_3) to param_4. Identical to copy_range_40byte_nodes at a different address. Each node has 4 DWORDs + string copy. Resets remaining destination nodes. 0x00B90870 10 thunk_to_std__Xlength_error_00b90870 stl Calls std::_Xlength_error with vector_too_long error message 0x00B90880 10 thunk_to_std__Xlength_error_00b90880 stl Thunk calling std::_Xlength_error with vector_too_long message 0x00B90890 10 thunk_to_std__Xlength_error_00b90890 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00B908A0 10 thunk_to_std__Xlength_error_00b908a0 stl Calls std::_Xlength_error with vector_too_long error message 0x00B908B0 92 STL_allocate_8byte_elements stl STL vector allocator for 8-byte elements. Multiplies count by 8, allocates via operator new. For allocations >= 0x1000 bytes, adds 0x23 alignment overhead. Throws bad_array_new_length if count >= 0x20000000. 0x00B90910 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B90950 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B90990 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B909D0 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00B90A10 145 STL_vector_push_back_40byte stl Push back a 40-byte (0x28) element to an STL vector. Copies 4 DWORDs + embedded string. If at capacity, calls STL_vector_insert_single_40byte to grow. 0x00B90AB0 54 STL_string_construct_from_range stl Constructs an STL string from a character range [param_2..param_3). Initializes string with SSO buffer (capacity 0xF), then assigns the range if non-empty. 0x00B90AF0 117 reset_range_44byte_elements game_core Resets a range of 44-byte (0x2C) elements. For each element, clears the embedded string at offset 0x0C (sets length to 0, null-terminates), then calls STL_string_dtor. Iterates from param_1 to param_2 in 0x2C steps. 0x00B90B70 327 CNavigator__vector_insert_single_44byte game_core Inserts a single 44-byte element into a CNavigator vector at a given position. Handles capacity growth (1.5x), memmove of existing elements, and copy construction. 0x00B90CF0 272 STL_vector_insert_single_8byte_00b90cf0 stl Inserts a single 8-byte element into an STL vector at the given position. Allocates with 1.5x growth using STL_allocate_8byte_elements, copies elements before/after, frees old buffer via FID_conflict. Returns pointer to inserted element. 0x00B90E20 327 CNavigator__vector_insert_single_44byte_00b90e20 game_core Inserts a single 44-byte element into a CNavigator vector at a given position. Duplicate of 00b90b70 (second instance for a different vector member). 0x00B90FA0 446 STL_vector_insert_single_16byte stl Inserts a single 16-byte element into an STL vector. Reallocates with 1.5x growth (max 0xFFFFFFF elements), copies 16-byte elements before/after insertion, frees old buffer. Returns pointer to inserted element. 0x00B91170 465 sort_median_of_three_40byte game_core Median-of-three pivot selection for sorting 40-byte elements. For small ranges (<41 elements), uses 3 samples. For larger ranges, uses 9 samples (ninther). Compares via CMapEntry__strcmp_name_forward and swaps via FUN_00b92470. 0x00B91350 519 insertion_sort_40byte_by_name game_core Insertion sort for an array of 40-byte elements sorted by name string. Uses CMapEntry__strcmp_name_forward for comparison. Copies temporary 40-byte entries including embedded strings (STL_string_copy_construct). Used as fallback for small partitions in introsort. 0x00B91560 2400 partition_40byte_by_name game_core Partition step for quicksorting 40-byte elements by name. Selects median pivot, partitions array into elements less than and greater than pivot. Uses CMapEntry__strcmp_name_forward for comparison and swaps 40-byte elements including embedded strings. Returns partition boundaries via param_1. 0x00B91EC0 394 heapsort_siftdown_40byte game_core Heap sift-down operation for 40-byte elements sorted by name. Sifts element at index param_2 down within a heap of param_3 elements. Uses CMapEntry__strcmp_name_forward for comparison. Copies 40-byte elements including embedded strings. Used for heapsort fallback in introsort. 0x00B92050 731 introsort_40byte_by_name game_core Introsort (std::sort) implementation for 40-byte elements sorted by name string. Uses quicksort with median-of-three partitioning, falls back to heapsort when recursion depth exceeded, and insertion sort for small ranges (<= 0x528 bytes / ~33 elements). Recursive with 3/4 depth reduction per level. 0x00B92330 117 CNavigator__copy_label_entry_44byte game_core Copies a 44-byte label entry from source to destination. Performs deep copy of embedded STL strings within the entry. 0x00B923B0 117 CNavigator__copy_label_entry_44byte_00b923b0 game_core Copies a 44-byte label entry from source to destination. Second instance for a different vector member. 0x00B92430 50 STL_vector_push_back_16byte_00b92430 stl Push back a 16-byte element to an STL vector. Copies 4 DWORDs. If at capacity, calls STL_vector_insert_single_16byte to grow. 0x00B92470 272 swap_40byte_elements game_core Swaps two 40-byte elements including embedded strings. Creates a temporary copy of param_1, copies param_2 to param_1 (with string assign), then copies temp to param_2. Used by sorting algorithms for 40-byte map entries. 0x00B92580 964 CNavigator__ctor game_core CNavigator constructor. Initializes base class via CReplayManager__ctor and CPathFinder__init_tree_containers. Zeroes many navigation fields, creates embedded STL strings, initializes 8 path strings via sprintf loop. Object is ~0x1348 bytes. 0x00B92950 170 CNavigatorLabel__ctor game_core CNavigatorLabel constructor. Initializes all label fields: embedded STL strings for display text, coordinates (x,y), type, flags. Allocates string buffers. 0x00B92A00 107 copy_40byte_search_result game_core Copy constructor for a 40-byte search result entry. Copies 4 DWORDs + embedded string at offset 0x10 via STL_string_copy_construct. 0x00B92A70 135 CNavigatorLabel__ctor_default game_core CNavigatorLabel default constructor. Initializes all fields to zero/empty defaults. Simpler than the parameterized ctor. 0x00B92B20 163 STL_vector_clear_44byte_labels stl Clears and deallocates an STL vector of 44-byte label elements. Resets each element's embedded strings, then frees the buffer and zeroes begin/end/capacity pointers. 0x00B92BD0 192 CTokenizer__dtor game_core Destructor for CTokenizer. Frees the 20-byte element vector at offset 0x11C (fields 0x47-0x49), then restores the vtable to PTR_CTokenizer__scalar_deleting_dtor_0111aabc. 0x00B92CA0 466 CNavigator__dtor game_core CNavigator destructor. Destroys all embedded vectors and STL strings via _eh_vector_destructor_iterator_. Cleans up navigation state, label arrays, and path data. 0x00B92E80 140 STL_vector_clear_16byte stl Clears and deallocates an STL vector of 16-byte elements. Frees the buffer (with alignment handling), zeroes begin/end/capacity pointers. 0x00B92F10 95 CNavigatorLabel__reset_and_dtor game_core Resets a CNavigatorLabel then destroys it. Clears string contents and frees allocations before running the destructor. 0x00B92F70 72 close_registry_key game_core Closes a Windows registry key handle stored in the object. If the handle is non-null, calls RegCloseKey, then zeroes the handle field. 0x00B92FC0 71 CNavigatorWindow__dtor game_core CNavigatorWindow destructor. Resets vtable pointer. Minimal cleanup as this is a simple wrapper. 0x00B93010 63 STL_vector_move_assign_12byte stl Move-assigns an STL vector (12 bytes: begin/end/capacity). Frees existing vector via STL helper, copies all 3 pointers from source, then zeroes source pointers. 0x00B93050 66 assign_40byte_search_result game_core Assigns a 40-byte search result entry from param_2 to param_1. Copies 4 DWORDs directly, then assigns the embedded string at offset 0x10 via STL_lib_func_004fa8f0. 0x00B930A0 99 CNavigatorWindow__scalar_deleting_dtor game_core CNavigatorWindow scalar deleting destructor. Calls CNavigatorWindow__dtor then optionally frees the object. 0x00B93110 1366 CNavigator__parse_coordinate_link game_core Parses a coordinate link from a navigation data buffer. Extracts map name, x/y coordinates, and link type. Builds internal route node representation. Large function (1366 bytes) with multiple string operations. 0x00B93670 639 parse_three_boolean_flags game_core Parses a string containing 3 boolean values separated by delimiters. Splits string at DAT_010dd840 separators, extracts 3 segments, converts each via atoi. Each must be 0 or 1. Stores results as bools in param_2/3/4. Returns 1 on success, 0 on invalid format. 0x00B938F0 682 parse_coordinate_pair game_core Parses a coordinate pair string "X#Y" into two integers. Splits at delimiter DAT_010dd840, converts via atoi, validates each < 501. Stores X in param_1[0], Y in param_1[1]. Sets both to -1 on failure. 0x00B93BA0 566 CNavigator__parse_packet_entry game_core Parses a single navigation packet entry. Extracts entry type, map ID, coordinates, and NPC reference data from the packet buffer. 0x00B93DE0 900 CNavigator__deserialize_map_object game_core Deserializes a map object from a navigation data buffer. Reconstructs the map node with name, position, connections, and child objects. 0x00B94170 719 CNavigator__lookup_entry_from_packet game_core Looks up a navigation entry from packet data. Searches the existing entry table and returns a match, or creates a new entry if not found. 0x00B94440 1092 CNavigator__serialize_map_entry game_core Serializes a map entry to a buffer for network transmission or file storage. Writes map ID, coordinates, type, and connection data. 0x00B94890 698 CNavigator__serialize_search_entry game_core Serializes a search result entry to a buffer. Includes the result type, map name, coordinates, and distance information. 0x00B94B50 829 CNavigator__serialize_map_object game_core Serializes a map object (node) to a buffer. Writes the object's name, position, type, and all child/connection references. 0x00B94E90 102 CNavigator__check_position_arrival game_core Checks if the player has arrived at the navigation position. Compares current x/y with target coordinates using a threshold. 0x00B94F00 422 CNavigator__check_if_at_destination game_core Checks if the player is at the final navigation destination. More comprehensive than check_position_arrival - also validates map ID and state flags. 0x00B950B0 418 CNavigator__reset_navigation_state game_core Resets the navigation state machine. Clears destination, waypoints, current route index, and all navigation flags. Resets 9+ fields to defaults. 0x00B95280 1870 CNavigator__start_navigation game_core Starts navigation to a target. Sets up the route, calculates waypoints, initializes the state machine, and begins the first navigation step. Large function (1870 bytes). 0x00B959D0 76 CNavigator__clear_label_results game_core Clears label result arrays. Resets the label vector size to 0 and frees associated string data. 0x00B95A20 164 CNavigator__rebuild_route_indices game_core Rebuilds route indices after route changes. Recalculates the index mapping between waypoints and the flat route array. 0x00B95AD0 28 CNavigator__clear_search_results game_core Clears search results vector. Resets size to 0 without freeing underlying buffer. 0x00B95B00 703 CNavigator__resolve_npc_display_info game_core Resolves NPC display information for the navigation UI. Looks up NPC name, sprite, and position from the map data tables. 0x00B95DC0 495 CNavigator__find_route_segment_match game_core Finds a matching route segment in the current route. Searches by name/coordinates and returns the segment index or -1 if not found. 0x00B95FB0 495 CNavigator__reorder_route_by_name game_core Reorders route entries by name. Sorts the route array alphabetically for display in the navigation list. 0x00B961A0 49 CNavigator__get_or_find_current_map game_core Gets the current map ID, looking it up if not cached. Returns the map entry for the player's current location. 0x00B961E0 42 get_player_cell_position game_core Gets the player's current cell position. Checks if mode1 field4 is available, calls FUN_00cd5510 to get X,Y. Returns 1 on success, 0 if player data unavailable. 0x00B96210 7 CNavigator__get_path_distance game_core Returns the path distance value at offset 0x114c. This field stores the Manhattan distance from current position to destination, set during navigation state reset and route calculation. 0x00B96220 273 CNavigator__get_search_result_at game_core Gets a search result at a given index. Validates bounds then returns the result entry from the search results vector. 0x00B96340 480 CNavigator__get_search_result_details game_core Gets detailed information for a search result. Returns extended data including map name, coordinates, NPC info, and route distance. 0x00B96520 7 CNavigator__is_navigation_active game_core Returns the navigation active flag at offset 0x115c. Set to 1 when navigation is started and active, 0 when reset or cleared. Checked by check_position_arrival before processing arrival. 0x00B96530 74 get_map_dimensions_by_id game_core Gets map dimensions for a given map ID. Returns (-1,-1) if param_2 is null. Otherwise looks up the map, gets fields 0x3C and 0x38 as width/height. 0x00B96580 60 CNavigator__resolve_result_map_id game_core Resolves the map ID for a given search result. Maps the result's internal reference to an actual map identifier. 0x00B965C0 42 CNavigator__get_result_type_cost game_core Gets the type/cost for a search result entry. Returns the transport cost or route weight for routing calculations. 0x00B965F0 794 STL_string_strip_trailing_char stl Processes an STL string by examining its last character. If the last char is '_', strips the trailing 2 characters (the underscore and whatever precedes it) and creates a new shorter string. Otherwise, moves the original string into the output. Returns a 24-byte string result in param_1. 0x00B96910 7 CNavigator__get_active_npc_index game_core Returns the active NPC index at offset 0x1160. Set during navigation start to indicate which NPC in the route list is currently being navigated to. Value of -1 (0xFFFFFFFF) means no active NPC. 0x00B96920 44 CNavigator__get_npc_at_index game_core Gets the NPC data at a given index in the current NPC list. Returns pointer to the NPC entry or null. 0x00B96980 132 CNavigator__get_destination_info game_core Gets destination info including map ID, coordinates, and NPC reference for the current navigation target. 0x00B96A10 199 CNavigator__get_destination_map_name game_core Gets the display name for the destination map. Looks up the map name string from the map data tables. 0x00B96AE0 132 CNavigator__get_active_target_info game_core Gets active navigation target info. Returns current destination map/coordinates/NPC for the active navigation. 0x00B96B70 5 get_field_0x18_00b96b70 game_items Getter returning 4-byte field at offset 0x18 from parameter 0x00B96B80 18 CNavigator__get_bounds_wrapper game_core Wrapper that returns navigation bounds by delegating to the internal bounds getter. 0x00B96BA0 865 CNavigator__full_reset game_core Performs a full reset of the CNavigator. Clears all navigation state, search results, labels, route data, NPC lists, and UI state. Resets 25+ fields. 0x00B96F10 12 CNavigator__reset_replay_state game_core Resets replay state. Clears the replay flag field to 0. 0x00B96F20 347 CNavigator__reset_state game_core Resets navigation state fields to defaults. Partial reset that preserves some configuration while clearing active navigation data. 0x00B97090 308 CNavigator__is_current_map game_core Checks if a given map name matches the current map. Compares the input string against the stored current map name. 0x00B971D0 7 CNavigator__get_destination_type game_core Returns the destination type at offset 0x10fc. Values: -1 = none, 0 = coordinate, 1 = map, 2 = NPC location, 3 = NPC reference, 6 = NPC alternate. Set during navigation setup and cleared on reset. 0x00B97200 503 CNavigator__try_navigate_to_target game_core Attempts to navigate to a target location. Validates the target, calculates a route, and starts navigation if a valid path exists. 0x00B97400 41 is_point_inside_rect game_core Checks if point (param_5, param_6) is inside rectangle defined by (param_1, param_4) to (param_3, param_2). Returns 1 if inside, 0 otherwise. 0x00B97430 153 CNavigator__calc_distances_to_npcs game_core Calculates distances from the current position to all NPCs in the NPC list. Stores results in the distance pair array. 0x00B974D0 629 CNavigator__parse_npc_list_from_buffer game_core Parses an NPC list from a data buffer. Extracts NPC entries with name, position, and type information. 0x00B97750 557 CNavigator__find_path_and_build_screen_coords game_core Finds a navigation path and converts waypoints to screen coordinates for minimap/UI display. 0x00B97980 514 CNavigator__show_npc_item_dialog game_core Shows an NPC item dialog for the selected navigation NPC. Displays available items or services at the NPC location. 0x00B97B90 575 CNavigator__navigate_or_warp game_core Navigates to a destination or warps if direct walking is not possible. Chooses between walking and kafra/teleport based on distance and available routes. 0x00B97DD0 177 CNavigator__map_to_screen_coords game_core Converts map coordinates to screen pixel coordinates for the navigation overlay. Applies the current zoom/scroll transform. 0x00B97E90 303 CNavigator__map_to_screen_with_resource_lookup game_core Converts map coordinates to screen coordinates and looks up the associated map resource texture for icon rendering. 0x00B97FC0 465 CNavigator__get_current_waypoint_label game_core Gets the display label for the current waypoint. Formats the waypoint name and distance for the navigation HUD. 0x00B981A0 289 CNavigator__get_arrival_label game_core Gets the arrival label text. Formats a message shown when the player reaches a waypoint or destination. 0x00B982D0 481 CNavigator__get_destination_label game_core Gets the destination label text. Formats the final destination name and distance for display. 0x00B984C0 355 CNavigator__get_map_display_name game_core Gets the display name for a given map. Looks up the localized/friendly map name from the map data tables. 0x00B98630 327 CNavigator__get_tooltip_label game_core Gets the tooltip label for a navigation element. Returns formatted hover text for map markers or route nodes. 0x00B98780 1510 CNavigator__show_navigation_result_message game_core Shows a navigation result message to the player. Displays success/failure/progress messages in the game chat or UI panel. Large function (1510 bytes) with many message format cases. 0x00B98E40 492 CNavigator__get_location_string game_core Gets a formatted location string for a map position. Combines map name and coordinates into a display string. 0x00B99030 1435 CNavigator__process_navigation_request game_core Processes a navigation request from the UI. Parses user input, validates the target, calculates routes, and initiates navigation. Main entry point for user-triggered navigation. 0x00B995D0 246 CNavigator__set_navigation_target game_core Sets the navigation target (destination map and coordinates). Updates internal state without starting navigation. 0x00B996D0 351 CNavigator__load_view_icon_from_registry game_core Loads the view icon preference from the Windows registry. Reads the saved icon state from HKCU\Software path. 0x00B99830 93 CNavigator__get_route_node_at_index game_core Gets the route node at a given index in the current route array. Returns the node data or null if out of bounds. 0x00B99890 841 CNavigator__render_navigation_path game_core Renders the navigation path on the minimap/world map. Draws lines between waypoints and highlights the current segment. 0x00B99BE0 248 CNavigator__render_destination_marker game_core Renders the destination marker on the minimap/world map. Draws an icon or pin at the navigation target location. 0x00B99CE0 5011 CNavigator__build_search_results game_core Builds navigation search results. 5K bytes. Serializes map entries into search result format, copies/inserts vector data, processes map flags and names. No callers (likely callback registered with navigation system). 0x00B9B080 2819 CNavigator__deserialize_state_from_packet game_core Deserializes full navigation state from a network packet. Rebuilds route, NPC list, labels, and UI state from packet data. Large function (2819 bytes). 0x00B9BBE0 985 CNavigator__try_navigate_to_npc game_core Attempts to navigate to a specific NPC. Finds the NPC in the map data, calculates a route, and starts navigation. 0x00B9BFC0 82 CNavigator__handle_navigation_complete game_core Handles navigation completion event. Called when the player reaches the final destination. Updates state flags and may trigger arrival UI. 0x00B9C020 166 calc_tile_scale_and_offset game_core Calculates tile scale factor and offset for map-to-screen coordinate conversion. Compares param_3 (width) vs param_4 (height): if height > width, scale = param_5/width and computes Y offset; if width > height, scale = param_5/height and computes X offset. Returns scale factor as float10. 0x00B9C0D0 541 CNavigator__serialize_npc_list_to_buffer game_core Serializes the NPC list to a buffer for network transmission. Writes each NPC entry's data in packet format. 0x00B9C2F0 398 CNavigator__send_navigation_packet game_core Sends a navigation packet to the server. Builds and transmits the packet containing current navigation state. 0x00B9C480 308 CNavigator__send_map_change_packet game_core Sends a map change packet to the server. Notifies the server that the player is changing maps during navigation. 0x00B9C5C0 233 CNavigator__setup_map_data game_core Sets up map data for a new map. Loads map-specific navigation info, NPC positions, and warp point data. 0x00B9C6B0 127 CNavigator__refresh_map_and_notify game_core Refreshes the map display and notifies dependent UI elements. Called after map data changes to update the minimap. 0x00B9C730 16 CNavigator__set_view_icon game_core Sets the navigation view icon ID. Stores the icon index for the current navigation display mode. 0x00B9C740 1283 CNavigator__add_multiline_text_labels game_core Adds multi-line text labels to the navigation display. Formats and positions text for route descriptions and NPC info panels. 0x00B9CC50 3074 CNavigator__build_npc_info_display game_core Builds the NPC info display panel. Constructs the UI layout with NPC name, services, items, and navigation options. Large function (3074 bytes). 0x00B9D860 750 CNavigator__find_reachable_npcs_on_map game_core Finds all reachable NPCs on a given map. Filters the NPC database by map ID and accessibility from the current position. 0x00B9DB50 121 CNavigator__select_npc_by_index game_core Selects an NPC by index from the current NPC list. Updates the active NPC selection and refreshes the info panel. 0x00B9DBD0 642 CNavigator__advance_route_node game_core Advances to the next route node in the navigation sequence. Updates the current waypoint index and recalculates the path display. 0x00B9DE60 730 CNavigator__build_route_groups game_core Builds route groups from the flat route array. Groups consecutive waypoints by map for the route overview display. 0x00B9E140 331 CNavigator__build_flat_route_groups game_core Builds a flat (ungrouped) route listing from the route data. Alternative to grouped display for simple route viewing. 0x00B9E290 747 CNavigator__set_destination_from_map_coords game_core Sets the navigation destination from map coordinates. Converts raw x/y + map to a full navigation target. 0x00B9E580 5146 CNavigator__build_map_tree_from_lua game_core Builds navigation map tree from Lua data files. 5.1K bytes. Called by load_navigation_lua_data_files. Creates CMapNode/CMapEntry/CMapObject hierarchy, manages replay data, processes map positions and child nodes. 0x00B9F9B0 38 CNavigator__set_navigation_mode game_core Sets the navigation mode (walking, kafra, teleport, etc.). Updates the transport preference for route calculation. 0x00B9F9E0 137 CNavigator__load_icon_sprites game_core Loads navigation icon sprites from resource files. Initializes the sprite data for map markers and route indicators. 0x00B9FA70 44 CNavigator__set_transport_flags game_core Sets transport flags for route calculation. Controls which transport methods (walk, kafra, airship) are considered. 0x00B9FAA0 261 CNavigator__get_npc_info_for_waypoint game_core Gets NPC info for a specific waypoint. Returns the NPC data associated with a route waypoint for display. 0x00B9FBB0 1845 CNavigator__rebuild_minimap_display game_core Rebuilds the minimap navigation display. Redraws all navigation elements including path, markers, and labels on the minimap. 0x00BA02F0 1406 CNavigator__build_info_panel_labels game_core Builds info panel labels for the navigation window. Creates formatted text entries for route details and destination info. 0x00BA0870 613 CNavigator__find_reachable_npcs_on_current_map game_core Finds all reachable NPCs on the player's current map. Convenience wrapper that passes the current map ID. 0x00BA0AE0 125 CNavigator__copy_current_to_saved game_core Copies current navigation position to saved state. Stores the current location for later comparison or restoration. 0x00BA0B60 199 CNavigator__update_saved_npc_position game_core Updates the saved NPC position. Refreshes the stored NPC coordinates after the NPC has moved or the map has changed. 0x00BA0C90 1063 CNavigator__find_route_to_target game_core Finds a complete route to the navigation target. Runs the pathfinding algorithm and builds the waypoint sequence. 0x00BA10C0 411 CNavigator__set_active_npc_and_refresh game_core Sets the active NPC and refreshes the display. Updates selection, recalculates distances, and refreshes the info panel. 0x00BA1260 60 CNavigator__init_pathfinder_from_game game_core Initializes the CNavigator's embedded pathfinder from the game's map connectivity graph. Copies map warp/connection data into the pathfinder. 0x00BA12A0 30 CNavigator__get_npc_count game_core Gets the number of NPCs in the current NPC list. Returns the vector size. 0x00BA12C0 16 CNavigator__get_waypoint_count game_core Gets the number of waypoints in the current route. Returns the route node count. 0x00BA12D0 93 CNavigator__on_arrival_at_destination game_core Handles arrival at the navigation destination. Triggers arrival effects, clears navigation state, and notifies the UI. 0x00BA1330 340 CNavigator__save_view_icon_to_registry game_core Saves the view icon preference to the Windows registry. Writes the current icon state to HKCU\Software path. 0x00BA1490 90 STL_vector__Change_array_00ba1490 stl STL vector::_Change_array. Frees old buffer, then sets begin/end/capacity pointers to the new buffer. 0x00BA14F0 124 CNavigator__replace_label_vector game_core Replaces the label vector contents. Swaps the existing labels with a new set, properly cleaning up old data. 0x00BA1570 22 CNavigator__destroy_label_range game_core Destroys a range of label entries. Calls destructors on labels in the specified index range. 0x00BA1590 191 CNavigator__copy_label_entries game_core Copies label entries from source to destination array. Performs deep copy including embedded STL strings. 0x00BA1650 36 copy_16byte_elements_00ba1650 game_core Copy 16byte elements 00ba1650 0x00BA1680 189 CNavigator__copy_label_entries_void game_core Copies label entries (void* variant). Same as copy_label_entries but with void pointer parameters for generic use. 0x00BA1740 10 thunk_to_std__Xlength_error_00ba1740 stl Calls std::_Xlength_error with vector_too_long message 0x00BA1750 92 alloc_label_buffer game_core Allocates buffer for label entries. Each entry is 0x2c (44) bytes. Validates count < 0x5d1745e to prevent overflow. Uses aligned allocation for buffers >= 0x1000 bytes. 0x00BA17B0 56 free_label_buffer stl Frees a label buffer. param_1 is buffer pointer, param_2 is element count. Each element is 0x2c bytes. Handles aligned deallocation for buffers >= 0x1000 bytes. 0x00BA17F0 48 CNavigator__push_back_distance_pair game_core Pushes a distance/NPC pair onto the distance results vector. Used during distance calculation to store NPC distances. 0x00BA1820 161 CNavigator__push_back_label_entry game_core Pushes a new label entry onto the label vector. Allocates space if needed and copy-constructs the entry. 0x00BA18D0 98 byte_vector__resize game_core Resizes a byte vector to param_2 bytes, filling new elements with *param_3. If shrinking, just moves end pointer. If growing within capacity, memsets new region. If growing beyond capacity, calls SpriteAction__grow_buffer_and_fill for reallocation. 0x00BA1940 221 STL_string__rfind stl STL string reverse find (rfind). Searches for param_2 (C string) starting from position param_3, searching backwards. Returns position of last match or 0xffffffff (npos) if not found. Uses 4-byte-at-a-time comparison for speed. 0x00BA1A20 103 rb_tree__destroy_nodes game_core Recursively destroys red-black tree nodes. Checks sentinel flag at byte offset 0xd. Recursively destroys right child (param_2[2]), then frees current node (0x18 bytes) and moves to left child (param_2[0]). Standard STL map/set tree destructor pattern. 0x00BA1A90 202 CNavDataMgr__ctor game_core Constructor for CNavDataMgr. Sets vtable, initializes 12 DWORDs to 0, allocates "ReadEntryQueueList" string buffer (0x20 bytes), and calls lua_call_function to register with Lua system. 0x00BA1B60 67 rb_tree__free_header_node game_core Frees the header/sentinel node of an RB-tree. Frees 0x18 byte node at offset +4 if non-null. 0x00BA1BB0 111 rb_tree__destroy_all game_core Destroys entire RB-tree. Iterates from root (*param_1 + 4), recursively destroys subtrees via rb_tree__destroy_nodes, then frees the sentinel node. Each node is 0x18 bytes. 0x00BA1C30 78 rb_tree__free_header_node_00ba1c30 game_core Frees the header/sentinel node of an RB-tree. Identical to rb_tree__free_header_node but with different stack cookie setup. Frees 0x18 byte node at offset +4. 0x00BA1C80 78 rb_tree__free_header_node_00ba1c80 game_core Frees the header/sentinel node of an RB-tree. Same pattern as other variants. Frees 0x18 byte node at offset +4. 0x00BA1D50 153 CNavDataMgr__dtor game_core Destructor for CNavDataMgr. Sets vtable, iterates all entries in the global tree (DAT_016fc660), frees 0x738-byte data blocks at offset +5 of each node. Traverses tree using in-order walk. Optionally frees self (0x3c bytes) if param_2 bit 0 set. 0x00BA1DF0 284 CNavDataMgr__get_or_create_instance game_core Gets or creates the singleton CNavDataMgr instance. If DAT_016fc65c is null, allocates 0x3c bytes, constructs with CNavDataMgr__ctor (sets vtable, inits Lua "ReadEntryQueueList"). Returns 1 if instance exists/created, 0 on allocation failure. 0x00BA1F10 104 send_navigation_teleport_packet game_core Sends navigation teleport network packet (type 0x8dd). Copies map name from param_1 (max 0x18 chars), sets param_2 flag. Calls packet send chain FUN_00c7d7d0 twice then FUN_00c7c970/FUN_00c7ce30. 0x00BA1F80 164 CNavNpc__send_npc_interaction_packet game_core Sends NPC interaction packet (type 0x8e0) for navigation. Copies NPC name from offset +4 of object at field 0x34, and map name from field 0x1c. Sets interaction mode from param_2. If mode is 2, clears flag at offset 0x38. Uses FUN_00c7d7d0/FUN_00c7c970/FUN_00c7ce30 for packet send. 0x00BA2030 108 send_navigation_warp_request_packet game_core Sends navigation warp request packet (type 0x8d7). Copies mode (param_1) and map name (param_2, max 0x17 chars). Uses FUN_00c7d7d0/FUN_00c7c970/FUN_00c7ce30 for packet send. 0x00BA20A0 103 CNavNpc__send_buy_ticket_packet game_core Sends buy ticket packet (type 0x8da) for navigation NPC. Copies NPC name from field 0x34+4. Only sends if NPC object pointer is non-null. 0x00BA2110 103 CNavNpc__send_cancel_packet game_core Sends cancel packet (type 0x90a) for navigation NPC. Copies NPC name from field 0x34+4. Only sends if NPC object pointer is non-null. 0x00BA2180 27 CNavDataMgr__destroy_instance game_core Destroys the CNavDataMgr singleton. Calls destructor via vtable (param 1 = delete self), then sets DAT_016fc65c to null. 0x00BA21A0 163 CNavDataMgr__reload_lua_entries game_core Reloads navigation data entries from Lua. Allocates "ReadEntryQueueList" string (0x20 bytes) and calls lua_call_function with DAT_01738010 to re-read the navigation entry list. 0x00BA2250 27 CNavNpc__set_source_data game_core Sets source/origin data for navigation NPC. Copies 6 fields (24 bytes: 4 ints + 8 byte pair) from param_2 to offsets 0x04-0x18 of the object. 0x00BA2270 27 CNavNpc__set_destination_data game_core Sets destination data for navigation NPC. Copies 6 fields (24 bytes) from param_2 to offsets 0x1c-0x30 of the object. 0x00BA2310 68 CNavNpc__handle_request_response game_core Handles NPC request response packets. Case 1: NPC accepted request - opens booking window (0xd1), copies NPC name, plays sound "se_btg_request_wav", shows chat message with NPC name + string 0x833. Cases 2-10,15: Error/status responses - shows dialog box with corresponding message string IDs (0x834-0x83d). 0x00BA23D2 270 CMercenary__display_mercenary_name_in_chat game_core CMercenary: display mercenary name in chat 0x00BA2660 541 CNavNpc__handle_booking_response game_core Handles NPC booking confirmation response. Case 1: booking confirmed (0x83e); Case 3: booking error (0x83f); Case 11: another error (0x840); Case 14: booking cancelled (0x841) - clears booking flag. After handling, builds chat message with NPC name + string 0x842 (white 0xff), clears NPC pointer (0x34=0). Closes related windows (0xd1, 0x9d). 0x00BA28B0 1 stub_nop_00ba28b0 game_core Single-byte stub function (size=1) 0x00BA28C0 1 stub_nop_00ba28c0 game_core Single-byte stub function (size=1) 0x00BA28D0 915 CNavNpc__handle_npc_info_response game_core Handles NPC info response packet. Sets booking flag (0x38=1). Finds or creates booking window (0xd1). If no NPC is currently selected (0x34=0), searches the global navigation tree (DAT_016fc660) for an NPC matching the packet name (param_2+2). Compares strings to find the matching data entry. Once found, calls FUN_00ba5ef0 with NPC data and opens window 0x9d. 0x00BA2C70 471 CNavNpc__handle_boarding_ready game_core Handles boarding ready notification. Copies NPC name and map from packet. Opens boarding window (0xd2), plays sound "se_btg_ready_wav". Shows chat message with NPC display name + string 0x843 in blue (0x4763ff). 0x00BA2E50 96 handle_nav_npc_error_dialog game_core Shows error dialog for navigation NPC. Code 3 -> string 0x83f, code 11 -> string 0x840. Other codes ignored. 0x00BA2EB0 65 handle_nav_npc_forward_sound game_core Plays forward navigation sound. If packet code is 1, plays "se_btg_forward_wav" sound effect. 0x00BA2F00 2052 CNavDataMgr__add_entry_from_lua game_core Adds a navigation data entry from Lua table. Reads 17 fields: ID (int), 2 names (strings), 5 coords/flags (ints), 4 bytes (transport flags), 2 ints, 5 strings (map names, sprite paths). Allocates 0x738-byte data block, fills all fields. Inserts into global RB-tree (DAT_016fc660) keyed by ID. Skips duplicates. 0x00BA3710 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00BA3920 106 UINavBookingWnd__ctor game_core Constructor for UINavBookingWnd (navigation booking window). Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01198974. Initializes fields 0x2d and 0x2e to 0 (scroll list and dialog). 0x00BA3990 71 UINavBookingWnd__dtor_inplace game_core In-place destructor for UINavBookingWnd. Sets vtable, calls UIWindowBase__dtor. Does not free self. 0x00BA39E0 99 UINavBookingWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UINavBookingWnd. Calls in-place dtor, then optionally frees 0xbc bytes if bit 0 of param_2 is set. 0x00BA3A50 2054 UINavBookingWnd__init_ui game_core Initializes UI for the navigation booking window. Creates UIColoredScrollListBase (0xec bytes) with scroll area, sets background color from pixel. Adds 9 list items from string IDs 0x844-0x84c. Creates close button dialog (CDialogWnd, 0x120 bytes) with btn_close textures (normal, hover, pressed). Sets up sizes and adds children to the window hierarchy. 0x00BA42B0 36 UINavBookingWnd__on_button_click game_core Handles button click in booking window. If button ID 6, subtype 0 (close button), opens window 0xd3. Returns 0. 0x00BA42E0 136 UINavInfoScrollList__ctor game_core Constructor for UINavInfoScrollList. Calls UIScrollListBase__ctor, sets vtable to PTR_FUN_01198a4c. Initializes fields 0x35, 0x36 to 0. Allocates and initializes a 0x2c-byte sentinel node for the linked list (self-referencing next/prev, flags 0x101). 0x00BA4370 126 UINavInfoScrollList__dtor_inplace game_core In-place destructor for UINavInfoScrollList. Sets vtable, clears linked list via STL_lib_func_00512380, frees sentinel node (0x2c bytes), calls UIFormattedWidgetBase__dtor. 0x00BA43F0 150 UINavInfoScrollList__scalar_deleting_dtor game_core Scalar deleting destructor for UINavInfoScrollList. Calls in-place dtor, optionally frees 0xdc bytes if param_2 bit 0 set. 0x00BA4490 512 UINavInfoScrollList__add_or_update_entry game_core Adds or updates an entry in the scroll list's RB-tree (field 0x35). Key is param_2 string, value is param_3. Does lower_bound lookup - if key exists, skips insert. Otherwise allocates new 0x2c-byte node, copies string, inserts into tree. If newly inserted, calls vtable 0xd8 to refresh display. 0x00BA46A0 208 UINavInfoScrollList__get_entry_value_by_index game_core Gets the value associated with a scroll list entry by index. Copies string from item array (offset 0x88 + param_2 * 0x18), looks up in RB-tree. Returns the stored value (offset 0x28 of tree node) or -1 if not found. 0x00BA47A0 126 UINavTimerWnd__ctor game_core Constructor for UINavTimerWnd (navigation timer window). Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01198b3c. Initializes timer duration (0x30=1000ms), elapsed (0x31=0), scroll list (0x32=0), and start time (0x33=0). 0x00BA4820 71 UINavTimerWnd__dtor_inplace game_core In-place destructor for UINavTimerWnd. Sets vtable, calls UIWindowBase__dtor. 0x00BA4870 99 UINavTimerWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UINavTimerWnd. Calls in-place dtor, optionally frees 0xd4 bytes. 0x00BA48E0 2719 UINavTimerWnd__init_ui game_core Initializes UI for the navigation timer window (300x250 px). Creates scroll list (UIColoredScrollListBase), adds NPC name header (string 0x84e), instruction items (strings 0x84f-0x853), close button, cancel button with btn_cancel textures, and editable text widget for search input. Centers window on screen. 0x00BA5390 195 UINavTimerWnd__render game_core Renders the timer window. Draws title bar (string 0x855), border. Calculates remaining seconds (20 - elapsed_seconds). If time <= 0, triggers button click via vtable. Formats countdown text using string 0x856 and displays it. 0x00BA5460 58 UINavTimerWnd__tick game_core Timer tick handler. Uses GetTickCount to measure elapsed time since start (field 0x33). If elapsed exceeds interval (field 0x30), accumulates into total elapsed (field 0x31), resets start time, and triggers refresh via vtable 0x98. 0x00BA54A0 183 UINavBoardingWnd__on_button_click game_core Handles button click in boarding confirmation window. Button 6, sub 0: sends NPC interaction mode 1 (accept), closes booking/boarding windows, shows confirmation chat message (string 0x854 in cyan 0x64ffff). Button 6, sub 1: sends interaction mode 2 (decline), closes windows. 0x00BA5560 179 UINavWaitingWnd__ctor game_core Constructor for UINavWaitingWnd (waiting/status window). Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01198c14. Initializes string field, scroll list pointers (0x33-0x35), and clears 0x30c bytes of display data at offset 0x38. 0x00BA5620 95 UINavWaitingWnd__dtor_inplace game_core In-place destructor for UINavWaitingWnd. Sets vtable, destroys string, calls UIWindowBase__dtor. 0x00BA5680 119 UINavWaitingWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UINavWaitingWnd. Calls in-place dtor, optionally frees 0x3ec bytes. 0x00BA5700 1860 UINavWaitingWnd__init_ui game_core Initializes UI for the navigation waiting/status window (280x120 px). Creates scroll list (UIColoredScrollListBase), cancel button with "cancel_waiting" textures, close button with btn_close textures. Centers on screen. Sets up two dialog buttons at fields 0x36 and 0x37. 0x00BA5EA0 78 UINavWaitingWnd__on_button_click game_core Handles button clicks in waiting window. Button 6, sub 0: sends buy ticket packet. Button 6, sub 1: closes booking window (0xd1). Returns 0. 0x00BA5EF0 269 UINavWaitingWnd__set_display_data game_core Sets display data for the waiting window. Copies NPC name string, stores two values at 0xcc and 0xd0. Formats three display strings using message templates 0x858, 0x859, 0x85a (NPC name, departure count, arrival count). Updates the scroll list with these strings if it exists. 0x00BA6000 187 UINavScheduleWnd__ctor game_core Constructor for UINavScheduleWnd (schedule display window). Calls UIWindowBase__ctor, sets vtable to PTR_FUN_01198d24. Initializes 20 fields to 0 (UI element pointers, state fields). 0x00BA60C0 71 UINavScheduleWnd__dtor_inplace game_core In-place destructor for UINavScheduleWnd. Sets vtable, calls UIWindowBase__dtor. 0x00BA6110 99 UINavScheduleWnd__scalar_deleting_dtor game_core Scalar deleting destructor for UINavScheduleWnd. Calls in-place dtor, optionally frees 0x104 bytes. 0x00BA6410 13 CUIBattleFieldWnd__get_queue_id game_core Returns the queue/battle ID (offset 0x94) from the sub-object at offset 0xFC of this UI window. Simple getter used to retrieve the current battlefield queue identifier. 0x00BA6420 3624 CUIBattleFieldWnd__init_ui_controls game_core Initializes all UI controls for the Battleground settings window. Creates: navigation scroll list (offset 0x3F) sized 0x82x0x10E with RGB color 0xF0, iterates DAT_016fc660 tree to populate entries. Creates 7 label widgets (offsets 0x31-0x37) using message strings 0x85B-0x861, and 7 editable text input widgets (offsets 0x38-0x3E). Creates 3 dialog buttons for apply modes (individual/party/guild) with _a/_b texture variants from battlefield sprite path. Creates a 4th summary dialog button (offset 0x30). All buttons use UIButtonWidget__set_texture_resolved with indices 0-2. 0x00BA7250 491 CUIBattleFieldWnd__draw_header game_core Draws the header area of the Battleground window. Renders slot background row, border/texture at 0x11, tiled bottom border. If a battlefield entry is selected (DAT_016fc65c+0x34), constructs sprite path from battlefield name and draws it at position (0x9D, 0x19). Finally draws message text 0x865 in gray (0xC0C0C0) with shadow at position (10, 0x17) with font size 0xC. 0x00BA7450 275 CUIBattleFieldWnd__on_command game_core Handles UI commands for the Battleground window. Command 0x22: opens/positions the window from a source param. Command 0x87: handles scroll list item selection, looks up battlefield entry in the DAT_016fc660 tree by index and updates display. Command 6 (button clicks): case 0=individual apply (checks 0x29C cooldown, shows msg 0x862 confirm, sends warp type 1), case 1=party apply (checks party lead 0x17E0, party member count, sends type 2), case 2=guild apply (checks guild level/members, sends type 4), case 3=opens map dialog 0xD3, case 4/0xC9=sends network packet. Shows error messages 0x86B-0x872 for various failure conditions. 0x00BA78A0 544 CUIBattleFieldWnd__update_detail_fields game_core Updates the 7 detail text fields for the currently selected battlefield entry. Sets DAT_016fc65c+0x34 to the selected entry. Iterates fields 0-6: field 0=map name (offset 0x108), field 1=description (offset 0x530), field 2=player count formatted via msg 0x866, field 3=reward type (msg 0x867/0x868/0x869/0x86A depending on type 1/2/3/other at offset 0x218), field 4-6=additional strings (offsets 0x224/0x328/0x42C). For each field, measures text width, resizes the widget, sets text, positions it right-aligned to the label, and refreshes display. 0x00BA7AE0 173 CUIBattleFieldWnd__show_apply_confirmation game_core Shows a confirmation dialog for applying to a battlefield. Formats the message as "{map_name} {param_text}" using the map name from offset 0x108 of the selected entry. Displays a Yes/No dialog box (type 2) with size 0x118x0x78. Returns true if user clicked Yes (result == 0xBB), false otherwise or if no entry is selected. 0x00BA7B90 56 CUIBattleFieldWnd__copy_rect_to_parent game_core Copies this widget's rectangle (fields at offsets 0x1C, 0x20, 0x14, 0x18) to the parent object at offset 0x100. Stores as (left, top, width, height) in the parent's 16-byte RECT structure. No-op if parent pointer is null. 0x00BA7BD0 20 CUIBattleFieldEntry__set_pair game_core Simple setter that stores two values into the first two fields of a BattleField entry structure. Used to initialize a key-value pair (e.g., ID and pointer). 0x00BA7C00 17 is_digit_char game_core Returns true if the character is an ASCII digit (0x30-0x39, '0'-'9'). Single character test utility. 0x00BA7C20 32 is_alpha_char game_core Returns 1 if the byte is an ASCII letter (A-Z: 0x41-0x5A, a-z: 0x61-0x7A), 0 otherwise. Single character alphabetic test. 0x00BA7C40 30 is_korean_lead_byte game_core Returns 1 if the byte is a Korean (EUC-KR/CP949) lead byte: >= 0xC0, == 0xA8, or == 0xB8. Returns 0 otherwise. Used to detect the start of a multi-byte Korean character sequence. 0x00BA7C60 14 is_space_char game_core Returns true if the character is a space (0x20). Simple single-character test. 0x00BA7C70 148 validate_alphanumeric_string game_core Validates that an STL string contains only alphanumeric characters (A-Z, a-z, 0-9). Iterates each byte, checking ranges: 0x41-0x5A (uppercase), 0x61-0x7A (lowercase via bVar1+0x9f < 0x1A), 0x30-0x39 (digits). Returns 1 if all characters valid, 0 if any invalid character found. Destroys the input string after checking. 0x00BA7D10 143 validate_korean_or_digit_string game_core Validates that an STL string contains only Korean characters or digits. Accepts bytes >= 0xC0 (Korean lead bytes), 0xA8, 0xB8 (specific Korean byte values), and 0x30-0x39 (digits). Returns 1 if all characters valid, 0 if any invalid character found. Used for validating Korean text input in battleground UI fields. Destroys the input string after checking. 0x00BA7DA0 128 string_contains_space game_core Checks if an STL string contains any space character (0x20). Iterates through each byte of the string. Returns 1 (true) if a space is found, 0 (false) if no spaces exist. Destroys the input string after checking. 0x00BA7E20 433 validate_battleground_name_input game_core Validates a battleground name input string. Returns error codes: 0xFFFFFFFE if empty, 0xFFFFFFF8 if too long (>= field+4 length), 0xFFFFFFC0 if first segment contains a space (name portion must not have spaces). If first segment passes, checks if remaining chars are all alphanumeric (A-Z,a-z,0-9) -> returns 2. If not alphanumeric, checks if they're Korean characters (>=0xC0, 0xA8, 0xB8) or digits -> returns 4. Returns 0xFFFFFFE0 if Korean validation also fails. Three-phase validation: empty/length, space check, charset detection. 0x00BA7FE0 109 CUIScheduledEvent__ctor game_core Constructor for a scheduled event UI object. Increments global counter DAT_0135d0a4, initializes base via FUN_00ba8930 with type=4, sets vtable to PTR_FUN_01198eb8. Takes 3 constructor params passed to base init. 0x00BA8050 72 CUIScheduledEvent__dtor game_core Destructor for CUIScheduledEvent. Sets vtable to PTR_FUN_01198eb8 then to base class PTR_FUN_0110c494. Standard two-phase C++ destructor pattern with SEH frame setup. 0x00BA80A0 97 CUIScheduledEvent__scalar_deleting_dtor game_core Scalar deleting destructor for CUIScheduledEvent. Sets vtable to PTR_FUN_01198eb8 then to base PTR_FUN_0110c494. If param_2 bit 0 is set, frees the 0x30-byte object via FUN_00e6227f. Standard MSVC scalar deleting destructor pattern. 0x00BA81B0 285 anticheat_gdi_hook_check security Anti-cheat check that detects GDI32.dll hooking. Loads GDI32.dll, gets address of TextOutW, and compares it to the import table entry. If they differ (function is hooked/detoured), proceeds to anti-cheat response. Also checks IsDebuggerPresent. If tampering detected and DAT_016d3b10==0, randomly selects a penalty action (rand%6): shows warning dialog (msg 0x359 or 800) and forces quit via CGameMode__on_quit. The randomization makes the anti-cheat response non-deterministic to complicate analysis. 0x00BA8380 116 CUITimerEvent__ctor game_core Constructor for a timer event UI object. Increments global counter DAT_0135d0a4, initializes base via FUN_00ba8930 with type=0, sets vtable to PTR_FUN_01198edc, and zeroes field 0xF (timer-specific flag). Takes 3 constructor params passed to base init. 0x00BA8400 135 CUITimerEvent__dtor game_core Destructor for CUITimerEvent. Sets vtable to PTR_FUN_01198edc, frees two optional 4-byte allocations at fields 0xC and 0xD (timer data pointers) via null_stub then FUN_00e6227f. Finally sets vtable to base class PTR_FUN_0110c494. 0x00BA8490 156 CUITimerEvent__scalar_deleting_dtor game_core Scalar deleting destructor for CUITimerEvent. Runs full destructor (frees timer data at fields 0xC/0xD), then if param_2 bit 0 is set, frees the 0x40-byte object. Standard MSVC pattern. 0x00BA8530 78 CUITimerEvent__advance_to_next_milestone game_core Advances the timer event to the next notification milestone. Uses a lookup table DAT_0135d070 (6 double entries, likely time thresholds in seconds). Compares remaining time (field 0x38) against each milestone. When a milestone with positive remaining time is found, converts to milliseconds (*1000) and stores as the next wakeup time at offset 0x18. Field 0x3C tracks current milestone index (0-5). 0x00BA8580 350 CUITimerEvent__init_timer game_core Initializes the timer event with start and end times. Allocates two 4-byte time_t values: field 0x30 stores start time (param_3), field 0x34 stores end time (param_2). Calculates remaining duration via difftime(end, start). If remaining < 3600 seconds (1 hour), calls advance_to_next_milestone for fine-grained notifications. If remaining is between 3600-7200 seconds, sets wakeup at (remaining-3600+600)*1000 ms to trigger near the 1-hour mark. 0x00BA86E0 43 CUITimerEvent__is_expired game_core Checks if the timer event has expired. Computes difftime(end_time, start_time). Returns 1 (true) if the difference is less than 1 second (expired), 0 otherwise. The result byte is in bit 0 of the return value. 0x00BA8710 495 CUITimerEvent__on_tick game_core Timer event tick handler. Recalculates remaining time from current tick divided by 10M (Windows FILETIME ticks to seconds). If remaining > 3599 seconds (>1 hour), formats hours/minutes message (msg 0x92D) and shows in chat. If remaining <= 3599 and milestone index < 6, formats full date/time notification (msg 0x92C with year/month/day/hour/minute/second via CTime) and shows in chat, then advances to next milestone. If all 6 milestones consumed, disables the event (field 0x24=0). 0x00BA8900 36 CUIEventNotice__scalar_deleting_dtor game_core Scalar deleting destructor for CUIEventNotice. Sets vtable to PTR_FUN_01198ee8. If param_2 bit 0 set, frees the 8-byte object. Minimal object with no owned resources to clean up. 0x00BA8930 78 CUIEventBase__init game_core Base initializer for UI event objects. Sets vtable to PTR_FUN_0110c494. Stores: type (field 2=param_5), start time (fields 4-5 from param_2), end time (fields 6-7 from param_3), event ID (field 8=param_4), sub-type (field 0xB=param_6). Initializes active flag (field 9=1) and counter (field 10=0). 0x00BA8990 140 CUIEventBase__check_trigger_time game_core Checks if the current time has reached the event's trigger time. Computes trigger_time = base_time + delay*10000 (converting ms to FILETIME 100ns ticks). Compares the 64-bit trigger timestamp against the current time param_2. Returns 1 if current_time >= trigger_time (event should fire), 0 if delay is zero/negative or trigger not yet reached. 0x00BA8A20 263 CUIEventBase__update_base_time game_core Updates the event's base time reference. If event type is 0, disables the event (field 0x24=0). If type is 2 (random interval), generates a random delay within the range [DAT_0135d0a8, DAT_0135d0ac] using a rejection sampling method, converts to milliseconds, and stores as the next trigger delay. Always updates the base time (fields 0x10-0x14) from param_2. 0x00BA8B30 128 CUICountdownEvent__ctor game_core Constructor for CUICountdownEvent. Increments global event counter DAT_0135d0a4, initializes base via CUIEventBase__init with type=0, sets vtable to PTR_FUN_01198ef0, calls ret_zero_00ae8190 for resource initialization, and zeroes field 0xF. 0x00BA8BB0 122 CUICountdownEvent__dtor game_core Destructor for CUICountdownEvent. Sets vtable to PTR_FUN_01198ef0, frees optional 4-byte timer data at field 0xC via null_stub+FUN_00e6227f, calls null_stub for secondary cleanup, then sets vtable to base PTR_FUN_0110c494. 0x00BA8C30 143 CUICountdownEvent__scalar_deleting_dtor game_core Scalar deleting destructor for CUICountdownEvent. Runs full destructor sequence (frees timer data, cleanup), then if param_2 bit 0 set, frees the 0x40-byte object. 0x00BA8CC0 78 CUICountdownEvent__advance_to_next_milestone game_core Advances the countdown event to the next notification milestone. Uses lookup table DAT_0135d308 (6 double entries for time thresholds). Same pattern as CUITimerEvent__advance_to_next_milestone but uses a different threshold table. Converts remaining time to milliseconds for the wakeup interval. 0x00BA8D10 212 CUICountdownEvent__init_countdown game_core Initializes the countdown event with a target time. Allocates a 4-byte time_t at field 0x30 for the current time reference. If the current hour > 5 (after 5 AM), computes countdown to midnight (next day at 0:00) using CTime__set_from_components_no_time with day+1. Calculates remaining seconds via difftime and calls advance_to_next_milestone to set up the first notification. 0x00BA8E00 82 CUICountdownEvent__on_tick game_core Countdown event tick handler. If milestone index < 6 and game mode is active, shows message 0x7E4 (likely "Server maintenance countdown") in chat with yellow color (0xFFFF), increments milestone index, and advances to next milestone. If all 6 milestones consumed, disables the event (field 0x24=0). 0x00BA8E60 117 CUIEventManager__ctor game_core Constructor for the UI event manager. Sets vtable to PTR_FUN_01198efc, initializes event count to 0, allocates a 12-byte linked list sentinel node (self-referential next/prev pointers), and sets active flag to 1 (field 0xC, stored as short). 0x00BA8EE0 67 CUIEventManager__dtor game_core Destructor for the UI event manager. Frees the 12-byte linked list sentinel node at field offset 4 if it's non-null. 0x00BA8F30 78 CUIEventManager__dtor_cleanup game_core Destructor cleanup for CUIEventManager. Frees the 12-byte linked list sentinel node at field 4 if non-null. Note: this is NOT the scalar deleting destructor (no delete-self logic). The true scalar deleting dtor is CUIEventManager__destroy_and_delete at 00ba90e0. 0x00BA8F80 103 CUIEventManager__free_linked_list game_core Frees all nodes in the event manager's linked list. Nullifies the tail pointer, walks the list from head freeing each 12-byte node, then frees the sentinel node itself. Does not invoke destructors on the contained event objects (just frees the list nodes). 0x00BA8FF0 227 CUIEventManager__destroy_all_events game_core In-place destructor for CUIEventManager. Sets vtable, iterates the event linked list and deletes each event via its virtual destructor. Clears and resets the list to empty (sentinel self-referential), zeros event count and active flag. Then frees remaining list nodes and the sentinel. Does NOT delete the manager object itself (that's the scalar deleting dtor's job). 0x00BA90E0 248 CUIEventManager__scalar_deleting_dtor game_core Scalar deleting destructor for CUIEventManager. Destroys all contained events by calling each event's virtual dtor (vtable[1] with delete=1), frees all linked list nodes, resets list to empty sentinel, zeroes event count and active flag, frees sentinel node. If param_2 bit 0 set, frees the 0x10-byte manager object. Standard MSVC scalar deleting destructor pattern. 0x00BA91F0 213 CUIEventManager__get_or_create_instance game_core Singleton getter for the global CUIEventManager. If DAT_016fda3c is null, allocates a new 0x10-byte CUIEventManager, initializes it (vtable, linked list sentinel, active flag). If initialization succeeds (active flag set), stores in global and returns 1. If init fails, destroys the object, nullifies global, returns 0. If already exists, returns 0 (already initialized). 0x00BA92D0 108 CUIEventManager__clear_all_events game_core Clears all events from the manager without destroying the manager itself. Iterates the linked list, calling each event's virtual destructor (vtable+4, param=1 to delete). Frees all list nodes, resets sentinel to self-referential, zeros event count and active flag byte at offset 0xD. 0x00BA9340 27 CUIEventManager__destroy_singleton game_core Destroys the singleton CUIEventManager instance. Calls the virtual destructor (with delete flag=1) on DAT_016fda3c and sets the global pointer to null. 0x00BA9360 44 CUIEventManager__find_event_by_id game_core Searches the event linked list for an event matching the given ID (field at offset 8 of the event object). Returns pointer to the event object if found, 0 if not found. Linear search through 12-byte list nodes where field 2 holds the event pointer. 0x00BA9390 44 CUIEventManager__find_event_by_counter game_core Searches the event linked list for an event matching the given counter value (field at offset 0x2C of the event object). Returns pointer to the event object if found, 0 if not found. Linear search through list nodes. 0x00BA93C0 108 CUIEventManager__remove_all_events game_core Removes and destroys all events from the manager. Same logic as clear_all_events: iterates list, calls each event's virtual destructor with delete, frees list nodes, resets sentinel to empty, zeros count and active flag. Standalone function (not thiscall on this). 0x00BA9430 165 CUIEventManager__create_and_add_event game_core Creates a new base event (0x30 bytes), initializes it with the current tick time (via _Xtime_get_ticks), the provided parameters, and a globally incrementing ID from DAT_0135d0a4. Adds the event to the manager's linked list via FUN_00ba9620. Returns the event pointer, or 0 if allocation failed. 0x00BA94E0 54 CUIEventManager__reactivate_event game_core Reactivates an existing event by updating its base time to the current tick (via _Xtime_get_ticks at offset 0x10) and re-adding it to the manager's list. Returns the event pointer, or 0 if input is null. 0x00BA9520 44 CUIEventManager__has_event_with_counter game_core Checks if any event in the linked list has a counter value (offset 0x2C) matching param_2. Returns 1 if found, 0 if not. Boolean version of find_event_by_counter. 0x00BA9550 149 CUIEventManager__process_events game_core Main event processing loop. Skips if paused (offset 0xD != 0). Iterates all events in the linked list. For each active event (field 9 != 0): gets current ticks, checks if trigger time reached via check_trigger_time. If triggered and not paused (offset 0x25 == 0), calls the event's virtual handler (vtable[0]). For inactive events (field 9 == 0), unlinks from list, frees the 12-byte node, and calls the event's virtual destructor to delete it. 0x00BA95F0 39 CUIEventManager__deactivate_events_by_counter game_core Deactivates all events matching a given counter value (offset 0x2C). Sets the active flag (offset 0x24) to 0 for each matching event. The events will be cleaned up on the next process_events pass. 0x00BA9620 165 CUIEventManager__add_event_to_list game_core Adds an event to the manager's linked list. Allocates a 12-byte list node, stores the event pointer at field 2, inserts at the front of the doubly-linked list (before the sentinel). Increments the event count (field 1). Throws std::length_error if count would exceed 0x15555555. 0x00BA96D0 150 CUINavigationHistory__ctor game_core Constructor for UI navigation history object. Sets vtable to PTR_FUN_01198f04, initializes 3 groups of fields (fields 2-10) to zero, and sets enabled flag (offset 4, byte) to 1. The 3 groups likely correspond to 3 vectors of 24-byte string entries (history lists). 0x00BA9770 214 CUINavigationHistory__dtor game_core Destructor for CUINavigationHistory. Sets vtable, then destroys 3 vectors of 24-byte string entries (at fields 2-3, 5-6, 8-9) by iterating each and calling STL_string_dtor on each 0x18-byte element. Finally calls CFmt__func_0058c230 three times to free the vector backing storage. 0x00BA9850 244 CUINavigationHistory__scalar_deleting_dtor game_core Scalar deleting destructor for CUINavigationHistory. Runs full destructor (destroys 3 vectors of string entries, frees backing storage). If param_2 bit 0 set, frees the 0x2C-byte object. 0x00BA9960 245 CUINavigationHistory__get_or_create_instance game_core Singleton getter for the global CUINavigationHistory instance (DAT_016fda40). If null, allocates 0x2C bytes, constructs the object inline (vtable, 3 empty vectors, enabled=1). Returns 1 if successfully created, 0 otherwise or if already exists. Destroys on initialization failure. 0x00BA9A60 111 CUINavigationHistory__clear_all_entries game_core Clears all entries from the 3 navigation history vectors. Iterates each vector (at offsets 8/C, 14/18, 20/24), calling STL_string_dtor on each 0x18-byte entry. Resets each vector's end pointer to its begin pointer (empty). 0x00BA9AD0 27 CUINavigationHistory__destroy_singleton game_core Destroys the singleton CUINavigationHistory instance. Calls the virtual destructor (with delete flag=1) on DAT_016fda40 and nullifies the global pointer. 0x00BA9AF0 1560 build_sprite_resource_path game_core Builds a sprite resource file path string. Looks up sprite name from global tables (DAT_017335a4/DAT_017335b0) based on param_4 (gender: 0=female, 1=male) and param_5 index. Converts job class and palette index to strings, then formats the path. Checks if resource exists via CResourceMgr and falls back to alternate format string if needed. Handles MEISTER_MADOGEAR sprite name replacement. 0x00BAA110 456 build_sprite_path_with_extension game_core Builds a sprite resource path string with a specific extension. Takes job class param_3, converts it to a string, then uses format_string_vsnprintf with a format string and extension from param_4 to produce the final path. Returns the result as an STL string in param_1. 0x00BAA2E0 907 build_body_sprite_path game_core Builds a body sprite resource path. Uses job class and palette parameters to construct sprite paths like "%s_body_costume_%d_%s_%s_%d_%d.pal" or "%s_body_%s_%s_%d.pal". Handles costume vs non-costume sprites based on FUN_00e3d300 boolean check. Computes palette index from FUN_00e2ee70 with offset 0xf6e. Handles MEISTER_MADOGEAR1/2 replacement for class 2 (param_6==2). 0x00BAA670 1176 build_head_sprite_path game_core Builds a head/headgear sprite resource path. Converts job class (param_5) and gender (param_4) parameters, gets head palette index via FUN_00e2ee70, and formats the path string. Handles costume variants (FUN_00e3d300 check) with different format strings. Uses CPacketStream__construct and get_boolean_status_string for path assembly. Falls back to standard format when no costume detected. 0x00BAAB10 1528 build_shield_sprite_path game_core Builds a shield sprite resource path. Validates shield ID (param_2, clamps to 10 for costume classes or 0xd/45 for normal). Looks up sprite name from global tables (DAT_017387c4 for male, DAT_017387d0 for female, or DAT_017335a4/DAT_017335b0). Checks resource existence via CResourceMgr and falls back to format_string_vsnprintf with alternate path. Uses get_boolean_status_string and CPacketStream__construct for final path. 0x00BAB110 1112 build_weapon_sprite_path game_core Builds a weapon sprite resource path. Validates weapon class ID (param_3) with range checks (0-30, 1000-3999, or 20021-31999 excluded, defaults to 0). Looks up sprite name based on costume class (FUN_00e3cff0) from DAT_017387c4/d0 or DAT_017335a4/b0 tables. Formats path string with gender suffix and weapon type via format_string_vsnprintf, get_boolean_status_string, and CPacketStream__construct. 0x00BAB570 92 seh_wrapper_get_sprite_name_by_index crt SEH-protected wrapper around CItem__get_sprite_name_by_index. Sets up/tears down structured exception handling frame around the call. Pass-through of both parameters (output string, index). 0x00BAB5D0 637 build_imf_resource_path game_core Builds an IMF (animation frame) resource path. Gets animation index via FUN_00e2ee70, converts job class (param_3) and gender (param_4) to strings, then formats with "%s_%s.imf" pattern via format_string_vsnprintf. Uses FUN_00ddd100 to convert the index to a string component. 0x00BAB850 1302 build_head_palette_path game_core Builds a head palette resource path. Checks costume status (FUN_00e3d300), gets palette index (FUN_00e2ee70 + 0xf6e offset), converts gender (param_4) to string. Formats path using format_string_vsnprintf with costume/normal format strings, get_boolean_status_string, and CPacketStream__construct. Handles MEISTER_MADOGEAR1/2 replacement for class 2 (param_6==2). 0x00BABD70 92 seh_wrapper_get_indexed_string crt SEH-protected wrapper around get_indexed_string_from_array. Sets up/tears down structured exception handling frame around the call. Pass-through of both parameters (output string, index). 0x00BABDD0 92 seh_wrapper_get_name_string_by_index crt SEH-protected wrapper around get_name_string_by_index. Sets up/tears down structured exception handling frame around the call. Pass-through of both parameters (output string, index). 0x00BABE30 92 seh_wrapper_get_description_string_by_index crt SEH-protected wrapper around get_description_string_by_index. Sets up/tears down structured exception handling frame around the call. Pass-through of both parameters (output string, index). 0x00BABE90 92 seh_wrapper_get_class_name_by_job_id crt SEH-protected wrapper around get_class_name_string_by_job_id. Sets up/tears down structured exception handling frame around the call. Pass-through of both parameters (output string, job ID). 0x00BABEF0 167 get_boolean_status_string game_core Constructs a 6-character STL string representing a boolean status. Calls FUN_00e3cff0 to check a condition. If true, copies DAT_0119913c (likely "true" or "ON" equivalent). If false, copies DAT_01199144 (likely "false" or "OFF" equivalent). Returns the constructed string in param_1. 0x00BABFA0 167 get_race_string_doram_or_human game_core Returns a 5-character STL string: "Doram" if is_special_equip_location returns true, "Human" otherwise. Used for race-based sprite path construction. 0x00BAC050 1811 build_robe_sprite_path game_core Builds a robe/garment sprite resource path. Returns empty string if param_5 (robe ID) < 1. Optionally transforms job class via FUN_00e130a0 if param_6 is true. Gets palette index via FUN_00e2ee70, converts gender and job class to strings, gets robe sprite name via lua_get_robe_sprite_name. Checks resource existence via CResourceMgr and formats path with alternate components if not found. 0x00BAC770 256 lua_get_robe_sprite_name lua Calls Lua function "ReqRobSprName" via the global Lua state (DAT_01738010) to get the robe/garment sprite name for a given parameter. Constructs and returns the result as an STL string. The Lua function returns a string which is copied into the output regardless of success/failure. 0x00BAC880 92 seh_wrapper_get_palette_string_by_index crt SEH-protected wrapper around get_palette_string_by_index. Sets up/tears down structured exception handling frame around the call. Pass-through of both parameters (output string, index). 0x00BAC8E0 1535 CEffect__build_resource_path_with_fallback effect Builds a resource path string from components (type, index, parameters). Checks if the resource exists via CResourceMgr, falls back to a default path if not found. Uses format_string_vsnprintf for path construction. 0x00BACEE0 1337 CEffect__build_resource_path_with_packet effect Builds a resource path string with packet stream construction. Handles two branches: param_6==-1 formats with 6 args including packet stream, otherwise uses FUN_00de3800 for extra formatting. Uses CPacketStream__construct and format_string_vsnprintf. 0x00BAD420 1288 CEffect__build_resource_path_simple effect Simpler resource path builder variant. When param_6==-1, builds path with 5 format args. Otherwise uses FUN_00de3800 and constructs via CPacketStream. Similar to build_resource_path_with_packet but with fewer string components. 0x00BAD940 1921 CEffectParticle__ctor_00bad940 effect Constructor for CEffectParticle. Sets vtable to PTR_FUN_01199158. Initializes large particle state structure (~0xFA18 bytes). Calls base class ctor FUN_00ca8730. Initializes position, rotation matrices, color (0xFF RGB), physics params, animation state, and 0x200 sub-particle entries via _vector_constructor_iterator_. 0x00BAE146 1 stub_nop_00bae146 game_core Single-byte stub function (size=1) 0x00BAE1F0 195 CEffectParticle__dtor_00bae1f0 effect Destructor for CEffectParticle. Sets vtable, calls virtual method 0x40 on field 0x50 with opcode 0x19, frees field 0x51 memory, deallocates 4 std::vectors, then calls base class dtor FUN_00ca8f90. 0x00BAE2C0 219 CEffectParticle__scalar_deleting_dtor_00bae2c0 effect Scalar deleting destructor for CEffectParticle. Calls the same cleanup as dtor (vtable set, virtual call, free, vector dealloc, base dtor). If param_2 & 1, frees the object memory (0xFA18 bytes). 0x00BAE3A0 116 CEffectParticle__advance_animation_frame effect Advances the particle animation frame counter. Checks frame interval (field 0x1E0 % 0x1E8). Increments frame index (0x3C). In loop mode (0x254!=0), wraps frame using modulo. In non-loop mode, returns 0 when reaching total frames, with special handling for flag 0x800. 0x00BAE460 73 CEffectParticle__get_rgb_color_values effect Gets RGB color values from the particle's data table at field 0x140. Reads color components from offsets 0x11C88, 0x11C8C, 0x11C90 if they are not -1, writing them to the output byte pointers. 0x00BAE4B0 143 compute_angle_from_2d_vector game_core Computes an angle (in degrees, 0-360) from a 2D direction vector using a cosine lookup table at DAT_01388af0. Iterates through 0-180 degree entries, handles Y-axis reflection for 180-360 range. Stores result in param_3. 0x00BAE540 129 compute_rotated_3d_position game_core Computes a 3D position by applying rotation (sin/cos with param_5/param_6) and scaling (param_2) to input params, then adds base offset from param_8. Stores result XYZ in param_7. 0x00BAE5D0 152 CEffectParticle__init_from_parent_position effect Initializes a particle from its parent object. Sets parent pointer (0x140), type (0x1D0), adds position offsets to 0x388/0x38C/0x390, copies parent position to both origin (0x37C) and current pos (0x10/0x14/0x18), resets state counter (0x13C). 0x00BAE670 338 CEffectParticle__copy_transform_to_particle_array effect Copies current transform state (position, matrices, colors, render params) from the main particle to each entry in the particle array at offset 0x6BC. Iterates through field 0x1F4 entries, each 0x8C bytes apart. Also computes packed ARGB color value. 0x00BAE7D0 199 CEffectParticle__update_particle_transform effect Updates particle transform state. Large function handling position, rotation, and rendering updates for the effect particle system. 0x00BB4820 1177 CEffectParticle__update_physics_and_color effect Updates particle physics and color per frame. Handles bullet-type timing (field 0x3E8='b'), velocity accumulation, position from parent, bounce/oscillation (flag 0x80), color channel clamping (0-255), random direction jitter (flag 0x08), and frame advance with loop support. 0x00BB4CC0 411 CEffectParticle__update_position_accumulate effect Simpler particle position update. Accumulates velocity into position, computes direction via vec3_normalize/cross_product, applies speed to 3D position relative to parent, advances frame counter with loop/terminate check. 0x00BB4F00 3626 CEffectParticle__update_weather_channels effect Complex particle update for weather-like effects with 4 channels. Processes camera angle for wind direction. Each channel has type-dependent behavior: 0x0E (pendulum swing), 0x0F (sinusoidal oscillation with decay), 0x10 (random jitter), 0x0B (brownian motion). Uses sin/cos lookup table at DAT_01387fa8. 0x00BB5D30 329 CEffectParticle__update_wave_pattern effect Particle update with wave/petal pattern. 4 segments rotating at different speeds. Uses sin lookup table (DAT_01387fa8) to modulate radius values per angle. Grows petal size over time with speed clamping. 0x00BB5E80 765 CEffectParticle__update_growth_and_wave effect Particle update combining growth and wave patterns. 4 channels, channel 3 is special (height-triggered). Radius grows/shrinks toward target with speed ramp. Once fully grown, switches to wave oscillation mode using sin table. Handles size limits and fade timing. 0x00BB63C0 497 CEffectParticle__update_growth_animation effect Particle update with growth animation. 4 channels with height-triggered channel 3. Radius grows toward target; once reached, marks as complete. Handles speed ramping, angle rotation, and boundary clamping. Similar to growth_and_wave but without oscillation mode. 0x00BB65C0 608 CEffectParticle__update_matrix_rotation effect Particle update with full 3D matrix rotation. Computes position via rotation matrices (init_rotation_x, set_rotation_y) applied to distance vector. Accumulates velocity, applies parent offset, and updates height with gravity-like clamping. Calls FUN_00bc5e00 for sub-updates and FUN_00be6fe0. 0x00BB6820 781 CEffectParticle__update_3d_rotation_with_velocity effect Particle update with 3D rotation and velocity accumulation. Applies rotation matrices (X,Y) from angles, transforms position through matrix with sign-flipped distance. Accumulates angular velocity into direction, limits height, handles flag 0x01 for deceleration. Advances frame with loop support. 0x00BB6B30 705 CEffectParticle__update_3d_rotation_simple effect Simpler variant of 3D rotation particle update. Similar to update_3d_rotation_with_velocity but without separate angular velocity channels. Matrix rotation with height clamping and deceleration flag support. 0x00BB6F30 1652 CEffectParticle__update_with_random_wind effect Particle update with multiple random perturbation modes. Flag 0x400: velocity-based movement. Flag 0x02: random wind drift (periodic XY jitter). Flag 0x04: random 3D direction change with rotation. Flag 0x08: small brownian direction jitter. Flag 0x100: cull by distance. Flag 0x20: camera-relative rotation. Calls advance_animation_frame. 0x00BB75B0 741 CEffectParticle__update_with_gravity_bounce effect Particle update with gravity and ground bounce. Applies matrix rotation to distance, adds lateral velocity (0x2EC). Checks ground height via C3dAttr__GetInterpolatedHeight; on ground hit, dampens velocity and plays coin sound effect (EF_Coin_X.wav) if type==1. Calls advance_animation_frame. 0x00BB78A0 1561 CEffectParticle__update_with_wind_and_jitter effect Particle update combining wind, jitter, and velocity modes. Uses saved origin position instead of parent live position. Same random perturbation flags as update_with_random_wind (0x02 wind, 0x04 direction change, 0x08 brownian, 0x20 camera-relative). Calls advance_animation_frame. 0x00BB7EC0 703 CEffectParticle__update_spiral_with_keyframes effect Particle update with spiral motion and keyframe support. Accumulates angular velocity, lateral drift, and height offset. Reads keyframe data from vectors at fields 0x258/0x264/0x270 to change velocity at specific frames. Uses Y-axis rotation matrix, then Z-rotation from accumulated angle. Calls advance_animation_frame. 0x00BB8180 706 CEffectParticle__update_axis_angle_orbit effect Particle update with axis-angle orbit rotation. Uses CMatrix__from_axis_angle_rotation_only on axis at field 0x290 with accumulated angle (0x314). Transforms orbit position through secondary matrix (0x190-0x1BC). Applies gravity-like damping on distance (700 - 0x2EC). Calls advance_animation_frame. 0x00BB8610 492 CEffectParticle__update_linear_velocity effect Simple particle update with linear velocity through matrix. Adds acceleration to distance, transforms through rotation matrix, positions relative to parent. Flag 0x01: stops velocity at specific frame. Flag 0x02: sets reverse velocity near end of life. No sub-particle or frame advance calls when flag 0x02 active. 0x00BB8A40 513 CEffectParticle__update_ribbon_quad effect Particle update computing a ribbon/quad strip. Calculates 4 corner positions using vec3_normalize/cross_product at current and next angle (0x30C + 0x330). Stores 4 vertices at 0x3B8-0x3E4 with height offset (0x364) and depth (0x318). Used for ribbon trail effects. 0x00BB8C50 2489 CEffectParticle__update_full_featured effect Most feature-rich particle update. Handles: keyframe parameter loading at start frame, velocity+acceleration, multiple movement modes (0x100 matrix-only, 0x400 velocity-based, default matrix+accumulate), rotation (0x200 camera, 0x40 camera-offset, default ZX), color channel animation with flag 0x800 for 254-clamp mode, flag 0x10 writes back to parent, flag 0x04 ground collision, flag 0x20 periodic damping, flag 0x02 UV scroll. 0x00BB9610 2443 CEffectParticle__update_full_featured_fixed_origin effect Same as update_full_featured but uses fixed origin position (0x37C/0x380/0x384) instead of reading parent each frame. Supports all the same flags: keyframe params, movement modes, rotation modes, color animation, ground collision, periodic damping, UV scroll, parent writeback. 0x00BB9FA0 449 CEffectParticle__update_radial_decay effect Updates 4 particle channels with radial decay pattern. Each channel grows radius toward target, then decays with scaling factor. Channel 3 has special random angle offset. Uses sin lookup table (DAT_01387fa8) for radius per angle slot. Marks slots as complete when capped. 0x00BBA1D0 1141 CEffectParticle__update_multi_ring_growth effect Updates multi-ring particle effect with camera angle tracking. Has two ring types (type 0x02 and default) with different radius targets per slot (10 slots each). Grows radii during first 20 frames, then decays. Type-dependent fade behavior at end of life with different decay rates. 0x00BBA650 387 CEffectParticle__update_expanding_ring effect Updates expanding ring effect with 4 channels. Ring radius grows then shrinks based on lifetime. Computes camera-relative angle using parent's rotation matrix (field 0x138). Stores sin/cos values for rendering. Supports speed clamping and angle-based orientation. 0x00BBA7E0 290 CEffectParticle__update_simple_rotation effect Simple 4-channel rotation update. Increments angle per frame (channels 0-1 by 1, channels 2-3 stay). Computes camera-relative angle from parent matrix. Scales sin/cos by offset factor. Grows radius (0x3EA) up to 40 in first frames. 0x00BBAA10 256 CEffectParticle__update_4channel_counter effect Simple 4-channel counter update. Computes camera angles for billboard orientation. For each active channel (at 0x3E8, 0x49C, 0x550, 0x604), increments frame counter and size counter (capped at 255). No position transform - just counters and camera angles. 0x00BBABC0 871 CEffectParticle__update_trail_cascade effect Trail cascade effect - propagates state from channel 0 to channels 1-3 every 6 frames. Channel 0 computes position with sin-wave height offset. Channels inherit previous channel's data with reduced size (-50). Also manages rotation angle, UV scroll, and camera orientation. 0x00BBAF30 318 CEffectParticle__update_pulse_ring effect Pulse ring effect with 4 channels. Each channel has grow phase (first 10 frames, +25 radius) then shrink phase (-5 per frame). UV rotation increments each frame. Special type (0x67 flag) adjusts starting height and angle rotation speed (5 deg/frame). Resets to base position when radius hits 0. 0x00BBB070 168 CEffectParticle__update_static_or_cached_pos effect Simple particle update that either follows parent position (flag 0x454==1) or uses cached position from fields 0x484/0x488/0x48C. Supports camera-relative rotation (flag 0x20). Calls sub-updates FUN_00bc5e00, FUN_00be6fe0, and advance_animation_frame. 0x00BBB120 746 CEffectParticle__update_trail_propagation effect Trail propagation effect. Camera angle tracking + 4-channel cascade. After frame 4, copies data from channel 2 to 3, channel 1 to 2, channel 0 to 1 (each with -25 size reduction). Channel 0 grows radius (+20) until reaching max, then shrinks (-10). Computes new trail head position with velocity offset. 0x00BBB410 1253 CEffectParticle__update_3d_oscillation effect 3D oscillation particle with sin/cos position lookup. Uses 3 oscillation pairs for XYZ. Applies mode-dependent UV rotation speed (modes 10-19 have orbital mechanics with height decay). Computes final position using sin table (DAT_01387fa8/DAT_01388af0) for circular motion with random UV offset. 0x00BBB9D0 353 CEffectParticle__update_4channel_grow_shrink effect 4-channel particle with grow/shrink lifecycle. Camera angle tracking. Each channel: grows size by 4/frame for first 21 frames, then shrinks by 2/frame after frame 50. Similar to 4channel_counter but with larger grow/shrink rates and fade timing. 0x00BBBB40 243 CEffectParticle__update_spinning_grow_shrink effect 4-channel spinning particle with grow/shrink. Camera angle tracking. Each channel: frame counter, UV rotation with acceleration for types >9, radius growing in first 11 frames (+12 or +20 based on type), then shrinking after frame 20 (-2 or -4). 0x00BBBC40 329 CEffectParticle__update_4channel_fast_grow effect 4-channel particle with fast grow/shrink. Camera angle tracking. Each channel: fast growth (+18/frame first 11 frames), then shrink (-15/frame after frame 20). Similar to other 4-channel variants but with aggressive size changes for burst effects. 0x00BBBD90 170 CEffectParticle__update_cached_position effect Particle update using cached/stored position. If channel 0 active, copies position from fields 0x484/0x488/0x48C to accumulator 0x388-0x390. Final position comes from accumulator, not parent. Supports camera-relative rotation (flag 0x20). Calls advance_animation_frame. 0x00BBBF00 379 CEffectParticle__update_firework_spark effect Firework spark effect. 4 channels with sparks that expand, fade, and respawn. Radius decays by scaling factor (DAT_01196714). When radius too large and size hits 0, spark respawns at random angle with new size (200 or 100). Height computed via sin wave. Channels deactivate after 300 frames. 0x00BBC080 2190 CEffectParticle__update_environment_particle effect Complex environment particle (rain/snow/leaves). Behavior varies by type field (0x17): type 0 = rain (falls, respawns at random XZ when hitting ground), type 1/3 = snow/petal, type 2 = firefly (slow drift), type 5/6/7/8 = ground effects. Special handling for 'ecl_fild01' map with wider spawn range. Uses C3dAttr__GetInterpolatedHeight for ground detection. 0x00BBC910 215 CEffectParticle__update_rotate_grow_fade effect 4-channel rotate/grow/fade particle. Camera angle tracking. Each channel: angle rotates +1/frame, grows rapidly (+25/frame) first 10 frames, then fades (-5/frame after 40 frames). Size clamped to 0-255 range. 0x00BBC9F0 305 CEffectParticle__update_bouncing_particle effect Bouncing particle effect. 4 channels with gravity simulation. Angle rotates +2/frame. Height accumulates velocity; when exceeding threshold, size decreases. On reaching 0 size, increments bounce counter (max 3), respawns at random XZ offset with new downward velocity. Grows size (+5) during first 60 frames. 0x00BBCB30 237 CEffectParticle__update_aura_pulse effect Aura pulse particle. Camera angle tracking. Single channel: grows size (+10/frame) for first 31 frames (capped at 255), then shrinks (-3/frame). UV wraps around at DAT_010df50c. Copies height value from 0x488 to 0x470 each frame. 0x00BBCC20 745 CEffectParticle__update_multi_mode_aura effect Multi-mode aura particle. Size behavior depends on type (0x454): types 1/3 grow then shrink over 300 frames, type 0x16 grows fast, type 0 grows slowly, type 0x14 grows medium, types 0x10-0x12 fixed 100, types 0x0A-0x0C fixed 150, etc. Angle rotation varies by type. UV scrolls based on type. Position offset from parent with height adjust. 0x00BBCF10 269 CEffectParticle__update_animated_sprite effect Animated sprite particle. Camera angle tracking. Advances sprite frame index (0x450) every N frames (6 or 8 based on type). Wraps frame to 0 when reaching total frame count (0x204). Size clamped to 0-255. Position set from parent with height from cached value (0x488). 0x00BBD020 517 CEffectParticle__update_ribbon_trail effect Ribbon trail particle with 4 channels. Each channel manages a trail history of UV positions. Frame 1 initializes 21 trail segments by shifting positions. Subsequent frames rotate UV values. Grows size in first 10 frames (+15 random), shrinks after frame 20. Trail height accumulates over time. 0x00BBD230 345 CEffectParticle__update_ribbon_trail_with_flags effect Ribbon trail variant with position+flag shifting. Similar to update_ribbon_trail but shifts both UV values and flag bytes simultaneously. Uses different height accumulation rate. Grows size randomly (+5-7) in first 26 frames, shrinks after. Trail segments shift including associated flag data. 0x00BBD390 238 CEffectParticle__update_animated_grow_fade effect Animated grow/fade particle. Camera angle tracking. Advances animation frame every 4 ticks. Size grows (+10/frame) for first 30 frames, then shrinks (-3/frame) after frame 80. Size clamped to 0-255. 0x00BBD480 219 CEffectParticle__update_uv_scroll_grow_fade effect UV scroll with grow/fade particle. Camera angle tracking. UV coordinate (0x41C) scrolls by 2.0/frame, wraps at DAT_010df50c. Size grows (+4/frame) for first 21 frames, then shrinks (-1/frame) after frame 100. 0x00BBD560 378 CEffectParticle__update_wave_ring_growth effect Wave ring growth particle with 4 channels. Each channel applies sin-modulated radius growth scaled by time-based factor. Angle wraps at 360. Grows size (+5/frame first 20 frames), shrinks after 111 frames. Uses sin lookup table for per-slot radius with growth/decay tracking per slot. 0x00BBD830 629 CEffectParticle__update_ring_growth_with_decay effect Ring growth with multiplicative decay. 4 channels, each with 10 radius slots growing toward targets (70-250 range). Grows in first 20 frames, then decays by subtraction. After frame 100, outer slots decay additionally. Scale factor multiplied by decay rate each frame. Conditionally follows parent position (type 0x454==1). 0x00BBDAB0 382 CEffectParticle__update_wave_petal_shrink effect Wave petal pattern with shrinking radius. 4 channels with sin-wave modulated petal positions. Radius decreases by 1/frame, floored at 10. Size grows when radius below threshold. Type 0x16 channels grow slower (+5) vs default (+10). Uses sin table for position with angle-offset per slot. Pattern similar to update_wave_pattern but with decay. 0x00BBDC30 465 CEffectParticle__update_spiral_wave_pattern effect Spiral wave pattern with speed variation. 4 channels with sin-wave modulated radial positions. Angle rotates 3 or 5 deg/frame based on acceleration parameter. Size decreases over time per channel type (2-8 rates). Petal count varies by type. Uses sin lookup table for per-slot modulation with accumulated phase. 0x00BBDF50 322 CEffectParticle__update_wave_petal_decay effect Wave petal pattern with decay and respawn. 4 channels with sin-wave petal positions. Radius decreases by 1/frame, floored at 10. When size reaches 0, respawns at initial position with 74-frame timer. Size grows +20 when radius below threshold. Uses sin table for modulated petal positions. 0x00BBE0A0 319 CEffectParticle__update_rotating_wave_petal effect Rotating wave petal with angle increment. 4 channels, each with angle rotating +1/frame and secondary angle +3/frame. Computes sin-based offset for height oscillation. Sin-wave modulated petal positions using lookup table. Follows parent position directly. 0x00BBE1E0 356 CEffectParticle__update_wave_petal_respawn effect Wave petal with threshold-based respawn. 4 channels. Size grows +10 when accumulator below threshold, shrinks -2 above it. On reaching 0 size, resets accumulator and timer to 74 frames. Sin-wave modulated petal positions with per-channel phase offset. 0x00BBE350 760 CEffectParticle__update_orbital_spiral effect Orbital spiral particle with multi-phase behavior. Phase 1 (<251 frames): radius grows. Phase 2 (>2599 frames): radius decays with speed reduction, type-dependent decay rate. Orbit position computed via sin/cos with growing/shrinking radius. Height oscillation via sin table. Camera-relative angle determines sprite direction (0 or 6). Type 2 uses double-angle for Z position. 0x00BBE650 317 CEffectParticle__update_ring_growth_descend effect Ring growth with descending height. 4 channels with per-slot radius growing toward target. Angle rotates +4/frame. Size grows (+8/frame first 31 frames, capped at 160). Height field decreases by constant each frame. Uses growth/completion flags per slot. Similar to other growth patterns but adds height decay. 0x00BBEAF0 646 CEffectParticle__update_multi_orbit_respawn effect Multi-orbit particle with respawn on threshold. 4 channels, each with 4 orbit sub-slots. Radius grows by constant, orbits grow. When radius hits threshold, orbit size decays. On reaching 0, respawns at random angle with random speed. Height offsets assigned per sub-slot index (0/4/8/12). Reads parent matrix rotation for height reference. 0x00BBED80 260 CEffectParticle__update_camera_facing_grow effect Camera-facing particle with size growth. 4 channels. Computes camera-relative angle from parent matrix. Stores sin/cos direction values scaled by offset. Size grows (+5/frame) during first 51 frames, capped at 120. 0x00BBEE90 776 CEffectParticle__update_multi_type_wave effect Multi-type wave particle with 4 channels and per-slot processing. Type 0/0x21: wave-modulated with time decay. Type 1/3: simple decay. Type 2: fast 4x-speed decay. Angle rotation varies by type (2-8/frame). Size grows (+2 to +5/frame) in first 16 frames, shrinks when past lifetime. Camera angle tracked for type 0x21. 20+ slots per channel. 0x00BBF230 253 CEffectParticle__update_position_trail effect Position trail particle. 4 channels. Each frame shifts trail history (position values + flag bytes) by one slot. New trail head written from current parent position. Size shrinks (-5/frame after 35 frames). Height field accumulates upward. Similar to ribbon trail but simpler - positions shift each frame rather than UV. 0x00BBF330 181 CEffectParticle__update_trail_shift effect Trail shift particle. 4 channels. Similar to position_trail but with different shift count (20 segments). Shifts both position values and flag bytes. Size shrinks (-5/frame after 35 frames). UV accumulates, triggers frame advance on overflow. No position recording - just shifting existing trail data. 0x00BBF3F0 300 CEffectParticle__update_grow_shrink_with_uv effect 4-channel grow/shrink with UV scroll and height accumulation. Size grows (+15 or +25 per frame for first 10 frames), shrinks (-7 after frame 25). Type 2 has extra angle rotation (+3/frame). UV scrolls at type-dependent speed. Height field accumulates. 0x00BBF520 542 CEffectParticle__update_oscillation_with_descent effect Oscillation particle descending over time. 3 oscillation pairs for XYZ. Height (0x488) decreases by radius each frame. Radius (0x324) decays by 2.0/frame. Position computed from sin-table scaled motion. Camera-relative rotation support (flag 0x20). Calls advance_animation_frame. 0x00BBF870 379 CEffectParticle__update_blink_with_sin_position effect Blink particle with sin-table position. Camera angle tracking. Size blinks: grows +4/frame until 255 then resets to 0 (phase toggle at 0x420). Position computed from 3 sin channels with XYZ offsets and a circular orbit component. Height offset from stored value. 0x00BBFAA0 443 CEffectParticle__update_entity_link_particle effect Entity-linked particle. Reads target entity position from field 0x3FC (entity ID) via CBGMManager lookup or direct pointer. Stores target XYZ at 0x490-0x498 with height offset. Size behavior varies by type: type 1 grow then shrink, type 2 slow grow with sin-wave radius, type 3 alternating size. Deactivates channel if entity not found. 0x00BBFC60 188 CEffectParticle__update_4channel_burst_fade effect 4-channel burst/fade particle. Size grows +10/frame (type 0) or +5/frame (type 1) during first 8 frames, capped at 80 or 40. After frame 8, rapid shrink (-30/frame). Channel deactivated when size hits 0. Follows parent position. 0x00BBFDD0 1015 CEffectParticle__update_quad_wing_pattern effect Quad wing/butterfly pattern particle. 4 channels, each with 3 oscillation pairs. Computes 4 wing tips using sin/cos lookup tables at different angles. Wing sizes decay. Negative wing offset triggers secondary position offset from additional sin lookup (scale DAT_010dc4f4). Camera angle tracking. 0x00BC01D0 285 CEffectParticle__update_delayed_ring_decay effect Delayed ring decay particle. 4 channels. Angle rotates +1/frame. After 250 frames, size shrinks. After 799 frames, radius decays. Per-slot values computed from sin lookup table scaled by radius, with delay ramp (0-200: zero, 200-291: growing, 291+: full). Type 1 has early size shrink. 0x00BC02F0 578 CEffectParticle__update_3axis_spiral_trail effect 3-axis spiral trail particle. 4 channels, each with 3 spiral sub-trails at different angle pairs. Position accumulates via sin/cos of trail angles scaled by speed. After frame 25, speed decays and 3 color/size values decrease. Uses both sin and cos tables for XYZ motion on each of 3 axes. 0x00BC06B0 312 CEffectParticle__update_rising_spiral effect Rising spiral particle. 4 channels. Position accumulates via sin/cos with upward motion using double-angle for height. Size grows (+2/frame first 26 frames), shrinks (-1 after 70 frames). Uses camera angle. Accumulation runs for first 91 frames only. 0x00BC07F0 501 CEffectParticle__update_oscillation_with_drift effect Oscillation with position drift. 4 channels. 3 oscillation pairs controlling XY radius. Size grows +5/frame first 29 frames, shrinks -2 after. When drift height goes negative, XZ drift accumulates from sin-scaled values. Drift height decreases by speed each frame. 0x00BC09F0 232 CEffectParticle__update_spray_particles effect Updates spray-type particle emitter state. Calculates camera-relative angles from the 3D scene camera (offsets 0x2C/0x30). Copies position from parent (offset 0x140). Iterates 4 particle slots (stride 0xB4 bytes starting at 0x3EA): if active, increments tick counter, decrements decay angle, adjusts particle size based on tick count and activation state (field 0x38). Size increases by 10 (or 5) in early ticks, shrinks by 10 after tick 65. 0x00BC0AE0 770 update_weather_snow_particles game_map Updates snow weather particle system. Retrieves camera position and updates snow fall offsets. Iterates through 4 particle slots, incrementing frame counter for active particles. Every 3 frames, rotates position history (shifts positions through 3 buffer slots). Applies sinusoidal wind drift using lookup tables at DAT_01388af0/DAT_01387fa8 (sine/cosine). Manages particle lifecycle: spawn phase (gravity fall), drift phase (wind + gravity with random jitter), and reset (reinitialize at camera position with random angle and speed). Particles reset after 2000 frames. 0x00BC0DF0 642 update_weather_fog_particles game_map Updates fog/cloud weather particle system. Copies camera position, iterates 3 particle slots. For mode 3 (dissipating), decreases density; otherwise increases density. Alpha fades in during first 10 frames, fades out when lifetime exceeded. Uses cosine lookup table for visual modulation. Different fade rates based on weather subtype (3=fast, 4=medium, 5=slow). Resets particle after alpha reaches 0 (either deactivate or restart). 0x00BC1080 1007 update_weather_shooting_star game_map Updates shooting star weather effect. Copies camera position. Manages single particle with trail history (4 levels of trail state shifting). Trail positions shift every frame with decaying alpha. Movement governed by state machine: state 0 = initial flight, state 4 = returning arc. Uses camera-relative offsets for trajectory. Resets heading angle and calls virtual function on completion. 0x00BC14F0 725 update_weather_cloud_layer game_map Updates cloud layer weather effect with two groups of 2 particles each. First group handles standard clouds, second group handles rotating clouds with an angle offset. Each particle fades in/out based on camera movement detection (resets lifetime if camera moves). Uses cosine table for opacity modulation based on distance/time. Frame counter capped at 29000. Second group additionally updates rotation angle based on speed. 0x00BC1910 391 CEffectParticle__update_radial_wave_particles effect Updates radial wave particles that expand outward with variable height. Iterates 4 particle slots (stride 0xB4). Each active particle: rotates by (index+3) degrees/tick. Size grows by 5 (max 180) during first 40 ticks, shrinks by 5 in last 40 ticks before duration end. Applies distance-based size reduction if camera distance > threshold. Updates height offsets for multiple radial segments (45-degree intervals using cos lookup table), with bounce detection that reverses direction when height reaches max radius. 0x00BC1AA0 162 CEffectParticle__update_directed_projectile effect Updates directed projectile particles. Iterates 4 particle slots (stride 0xB4 at offset 0x3F4). For active particles: increments tick counter. On first tick, computes direction angle from source position (0x10,0x18) to target (0x388,0x390) using compute_angle_from_2d_vector. Then advances position using speed (field 3) * sin/cos lookup tables (DAT_01388af0/DAT_01387fa8) accumulated into fields 0x1E/0x20. 0x00BC1B50 1058 update_weather_fireworks game_map Updates fireworks weather particle effect. Single particle slot with complex state machine. Finds target position from map node (CBGMManager lookup). Phase 1: launch toward target with angle offset (random L/R deviation). Phase 2 (frame 5+): homing toward target, adjusting angle. Phase 3 (state 10): fade out all 4 trail slots' alpha. Phase 4 (state 20): return to origin, homing back. Trail history shifts every 3 frames with alpha decay. Particle moves using sine/cosine of heading angle. 0x00BC1F80 877 update_weather_fireworks_alt game_map Updates alternate fireworks weather effect (similar to update_weather_fireworks but with different launch angle randomization). Single particle with target from CBGMManager. Phase 1: launch with random angle offset (25+random(21) degrees). Phase 2: track toward target with angle correction. Phase 3 (state 10): fade all trail slots. Trail history shifts every 3 frames with alpha scaling. Particle position updated by speed * sin/cos of heading. 0x00BC22F0 450 CEffectParticle__update_trailing_projectile effect Updates a trailing projectile particle with rotation and trail history. Active only when field 0x3E8==1. On first tick, computes direction angle to target. Size grows by 6 (max 60) during first 10 ticks with speed multiplied by DAT_01196714 (acceleration). After tick 10, size decreases by 3, speed multiplied by DAT_0119920c (deceleration). Deactivates when size < 0. Position advances via sin/cos lookup. Every 3 ticks, shifts trail positions backward through 4 history slots (stride 0xB4) with size decay factor DAT_0111a148. Rotation angle increments by 30 degrees per tick (wrapping at 360). 0x00BC24C0 449 CEffectParticle__update_large_trailing_projectile effect Updates a large trailing projectile particle. Same structure as update_trailing_projectile but with larger size parameters: grows by 25 (max 250) during first 10 ticks, shrinks by 5 after. Same acceleration/deceleration factors, same trail history shift every 3 ticks, same rotation increment of 30 degrees. Deactivates when size < 0. 0x00BC27B0 685 update_weather_rain_drop game_map Updates rain drop weather particle. Manages 2 wind angle slots that oscillate between target angles at variable speed. Applies wind drift using cosine table to X/Z positions. When Y exceeds ground level, respawns particle at random position near camera (300 unit spread in X and Z). Copies final position to display and trail positions. Calls CWeather__shift_trail_history and CEffectParticle__advance_animation_frame. Different wind strength based on state (0x450 flag). 0x00BC2A60 754 update_weather_leaf_fall game_map Updates falling leaf weather particle. Copies camera position and heading. Single particle with trail history (shifts at every 3rd frame, 4 levels). Heading decreases 15 degrees per frame. Alpha fades in quickly during first 6 frames, then fades out after frame 14. Movement uses speed * sin/cos of heading. First frame computes initial angle toward camera-relative target position. 0x00BC2D60 1256 update_weather_boomerang_leaf game_map Updates boomerang-style leaf weather particle (leaves that fly out, arc, and return). Trail history shifts conditionally based on flag (every 1 or 3 frames). Heading angle rotates -15 degrees/frame. Phase 0: fly outward, when distance threshold reached transitions to phase 1 (with random angle deviation if type 0x452). Phase 1: homing back toward camera. Phase 2: fade out. Y position rises then falls. Movement via speed * sin/cos of heading. 0x00BC3410 394 CEffectParticle__update_scattered_projectile effect Updates scattered projectile particles with random angle spread. Iterates 4 particle slots (stride 0xB4). On first tick: computes base direction angle to target, then adds random spread (field 0x67==1: +/-5 degrees, else +/-15 degrees). Size grows by 10 during first 10 ticks with acceleration (DAT_01196714), then shrinks by 5 with deceleration (DAT_0119920c). Deactivates when size < 0. Position advances via sin/cos of the spread-adjusted angle. 0x00BC35A0 376 CEffectParticle__update_spiral_orbit_particles effect Updates spiral orbiting particles. Gets camera angles for orientation. Copies position from parent (offset 0x140). Iterates 4 particle slots (stride 0xB4): radius grows by DAT_01114244 during first 10 ticks, then shrinks by DAT_010df490 after tick 170 (clamped to 0). Orbit angle increases with acceleration (tick/divisor), capped at 359. Computes 3D orbit position: Y-height from angle/factor-constant, X from cos(angle)*radius with sign flip, Z zeroed. Creates a widening spiral orbit around the parent entity. 0x00BC3720 819 update_weather_lightning_flash game_map Updates lightning flash weather effect. Manages 4 particle slots with 6 wind angle pairs each that oscillate. RGB color channels grow for first 10 frames, then fade after frame 30. Three position components move via cosine-table drift: upward (Y decreasing), horizontal wind, and optional diagonal movement. Position and brightness modulated by multiple independent angle oscillators. 0x00BC3C70 812 update_weather_screen_tint game_map Updates weather screen tint/overlay effect (used for night, fog, sandstorm, etc.). Manages gravity-based Y position descent. Controls screen tint intensity (field 0x324) with different ramp-up rates based on weather type (0=basic, 1=gentle, 2/3/4=intensity tiers, 10/11=special). After frame 30, increments frame-skip counter at different rates per type. After reaching threshold frame counts (30-100 depending on type), begins fading tint back to zero. Calls CWeather__shift_trail_history. 0x00BC3FA0 920 update_weather_spell_trail game_map Updates spell/magic trail weather particle. Trail history with 4 levels. Alpha fades in if type 0x452 is set. Heading rotates -15 degrees per frame. On first frame, computes angle toward cached position. Movement via speed * sin/cos of heading. Every 4th frame spawns a skill effect (0x1a0) via CEntity__create_skill_effect. 0x00BC4380 135 CEffectParticle__update_expanding_particles effect Updates expanding particle effect. Iterates 4 particle slots (stride 0xB4 at 0x3EA). For each active particle: increments tick, accumulates position offset (field 0x3F += field 0x9). During ticks 10-19: increases size by 15 normally, or 8 if game option 0xE5 is set and particle type is 0x18. After tick 19: decreases size by 5, clamping to 0. 0x00BC4410 467 update_weather_shooting_particle game_map Updates shooting/projectile weather particle. Manages 4 particle slots. Each particle: heading rotates -5 degrees per frame, first frame computes angle toward cached position with random +-30 degree deviation. Alpha fades in during first 10 frames (+15/frame), then fades out (-3/frame) until deactivated. Y position changes via gravity accumulator. Movement via speed * sin/cos of heading. 0x00BC45F0 317 CEffectParticle__update_pulsing_ring_particles effect Updates pulsing ring particles. Iterates 4 particle slots (stride 0xB4). Each active particle: rotates by (5-index) degrees/tick. Height oscillates using cosine lookup (tick*2 mapped to 360 degrees). Size decreases when past 67 ticks or marked as fading (field 0x16). For segments < 180 degrees, offset is based on tick+segment index; for segments >= 180, offset uses tick*3. Each segment's radial displacement is computed from base height * cos(segment_angle) * DAT_011190e0 * cos(phase). 0x00BC4730 948 update_weather_spiral_particle game_map Updates spiral weather particle effect. Trail history shifts every other frame. Heading rotates at different speeds (45 degrees for type 0xf, 10 degrees otherwise). On first frame, computes heading toward cached position. Movement based on speed ratio (frame/lifetime) with a cosine-based oscillation for Y offset. Different Y modulation scales per type (0x452). Alpha fades out after lifetime exceeded. 0x00BC4BF0 564 update_weather_rotating_ring game_map Updates rotating ring weather particle. 4 particle slots with 2 wind angle pairs each. Alpha fades in for first 50 frames, then fades out after lifetime. Wind angle oscillation for X/Z drift via cosine table. Heading angle increments by 1 per frame (wraps at 360). Rotation angle accumulates. Movement includes cosine-table-based drift for positional wobble. 0x00BC4E3A 1 stub_nop_00bc4e3a game_core Single-byte stub function (size=1) 0x00BC4E70 1483 update_weather_floating_bubbles game_map Updates floating bubble weather particles. 4 particle slots with 8 wind angle pairs and 4 independent position groups (main, secondary, tertiary, quaternary). Each group has Y that rises then respawns at random position when threshold reached. Position groups drift via cosine table wind angles. Random respawn spread differs based on flag (type 0 = +-22, type 1 = +-12). Optionally swaps X/Z on respawn when flag 0x29 is set. 0x00BC5440 314 CEffectParticle__update_multi_type_ring effect Updates multi-type ring particles with 3 behavior modes. Iterates 4 particle slots (stride 0xB4). Rotation +5 degrees/tick. Radius grows by 3 per tick. Mode 2: max radius 180, size fades after tick 50, height rises after tick 12 by DAT_010df4ec. Mode 1: max radius 120, size fades after tick 20 with faster decay (-2), height rises after tick 20. Mode 3: does not fade until tick 1400. Size growth during first 12 ticks: +1 for mode 2, +10 (max 250) for others. After tick 1400, all non-mode-3 particles lose size at -3/tick. 0x00BC5580 2176 update_weather_aurora game_map Updates aurora/northern lights weather effect. 4 particle slots with 8 wind angle oscillators each. Different behavior based on type (0x450): type 1 drifts only Y, others drift X/Y/Z. Alpha (0x45b) and RGB channels (0x45c-0x45e) ramp up independently capped at 120. Movement via cosine table with angle oscillators. Periodic flash events: when position nears center (abs < 30), randomly triggers a flash cycle that fades alpha down/up over ~120 frames. On alpha drop below threshold, resets position randomly. 0x00BC5E00 729 CWeather__update_tint_animation game_map Updates the weather tint animation state. Manages keyframe-based tint interpolation from arrays at fields 0x258/0x264/0x270. Two modes: mode 0 (simple) applies rate from field 0x328, mode 1 (keyframed) reads tint/limit values from arrays. Clamps tint between min (0x2d8) and max (0x2d4). Detects when animation frame range is exhausted and begins fade-out. Composes final ARGB color at field 0x1c0 from tint alpha + RGB channels (0x23c, 0x240, 0x244). Handles direction reversal when tint reaches bounds. 0x00BC60E0 825 CWeather__render_ground_overlay game_map Renders weather ground overlay as textured quads. Generates a ring of quads around the player position using sine/cosine lookup tables indexed by angle step (field 0x288). Each quad spans from inner radius (field 0x318 subtracted from 0x348) to outer radius (0x348). Builds vertex data with position, UV coords, and tint color (0x1c0). Submits 2 triangulated quads per step via CRenderPipeline__submit_renderable_object. Texture index from field 0x144. 0x00BC6420 421 CWeather__render_single_quad game_map Renders a single weather overlay quad. Computes 4 vertices from cross-product and normalized vectors using field 0x314 (angle). Scales by field 0x360 (radius). Sets up textured quad with position, UV coordinates (0.5 center, 0/1 edges), near-zero Z, and tint color (0x1c0). Submits to CRenderPipeline__submit_renderable_object. 0x00BC65D0 972 CWeather__render_dual_billboard game_map Renders two weather billboard quads (front and back faces). Computes vertex positions using field 0x314 (camera angle) with vec3_normalize and vec3_cross_product. Two quads share center vertices: front quad uses radius 0x360, back quad uses mirrored radius. UV mapping uses animated frame index (field 0x3c) to select texture from array at 0x144. Applies rotation transform via sin/cos of angle to position vertices relative to player. Submits both quads to CRenderPipeline. 0x00BC69A0 1210 CWeather__render_billboard_with_effects game_map Renders weather billboard with optional map effects. Builds two quads (front/back) using camera angle (field 0x314) normalized/cross-product vectors. Uses animated frame index and texture from 0x144 array. Supports additive blending mode (0x1c4/0x1c8). For type 'b' (0x62), also iterates effect map entries (DAT_014a6938) to render associated map node effects with CTimerBar rendering and flush pending meshes. 0x00BC6E60 1815 CWeather__render_colored_ring game_map Renders weather colored ring effect. Iterates 4 particle slots, generating ring segments using sine/cosine tables with 90-degree offsets per slot. Ring radius modulated by wind rotation angle. Selects different color tints based on weather type field (0x318): white, blue/red, green, purple etc. Submits colored quad strips via CWeather__submit_weather_quad and CWeather__submit_colored_quad_strip. 0x00BC7580 6258 CWeather__render_particle_quads game_map Renders weather particle quads. 6.2K bytes. Calls rotate_quad_vertices_by_angles and CWeather__submit_weather_quad to draw weather effects (rain, snow, etc). No callers (likely virtual/callback). 0x00BC8E00 965 CWeather__render_spiral_trail game_map Renders weather spiral trail effect with connected quad strips. Iterates 4 particle slots, generating up to 20 segments per slot at angle increments of heading/9. Each segment computes inner and outer positions using sine/cosine with offset angles per slot (90/270/180/450 degrees). Applies perpendicular displacement from wind angle. Submits colored quad strips connecting consecutive segments. 0x00BC91D0 744 CWeather__render_wave_trail game_map Renders weather wave/ribbon trail effect. Iterates 4 particle slots with up to 20 segments. Generates curved segments at angle increments of heading/20. Each segment has vertical offset based on perpendicular wind angle. Y displacement varies by weather type: type A gets +2.0 offset, type B gets +1.0. Submits connected colored quad strips for flowing ribbon appearance. 0x00BC94C0 786 CWeather__render_fire_ring_trail game_map Renders weather fire ring trail effect. Iterates 4 particle slots with up to 10 segments per slot. Generates ring segments at angle increments of heading/10. Applies perpendicular displacement from wind angle. Special handling for type 0x288: rotates displacement using rotation angle from field 0x554, adding sine/cosine modulated offsets. Submits colored quad strips for connected ring segments. 0x00BC97E0 2175 CWeather__render_3d_ground_overlay game_map Renders weather 3D ground overlay with world-to-screen projection. Iterates over particle layers (field 0x1f4 count), generating ring quads around the player. Applies full 4x3 transform matrix (fields 0x160-0x18c) to compute world positions from polar coordinates using inner/outer radii. Projects vertices via CRenderPipeline__project_world_to_screen_with_depth. Builds two quads (front/back) per segment with UV tiling and texture animation. Clips via stub_00569560. 0x00BCA060 2649 CWeather__render_3d_billboard_pair game_map Renders weather 3D billboard pair with world-to-screen projection. Builds 8 precomputed corner positions from radius fields (0x354, 0x360) applied as offsets in local axes. Projects 4 world positions per quad via CRenderPipeline__project_world_to_screen_with_depth. Generates front and back face quads with different UV orientations. Uses animated frame index for texture selection. Iterates 2 times for dual billboard output. 0x00BCAAC0 2107 CWeather__render_3d_ring_overlay game_map Renders weather 3D ring overlay with world-to-screen projection. Generates ring segments using angle step (0x288) with inner (0x2F4) and outer (0x2F8) radii. Applies 4x3 transform matrix to compute world-space vertex positions. Each segment produces front and back face quads with UV tiling. Projects all vertices via CRenderPipeline__project_world_to_screen_with_depth. Clips via stub_00569560 before submitting to render pipeline. 0x00BCB300 423 CWeather__render_single_quad_basic game_map Renders a basic single weather quad (identical to CWeather__render_single_quad). Computes 4 vertices from cross-product and normalized angle vectors using field 0x314. Scales by radius (0x360). Sets up textured quad with standard UV coords and tint color (0x1c0). Submits to CRenderPipeline with blend mode 1. 0x00BCB4B0 420 CWeather__render_shadow_billboard game_map Renders a weather shadow/ground projection billboard. Projects player position to screen space, then projects a point offset by -5.0 in Y (below ground). Builds a screen-aligned quad from the two projected points with 1.0 width offset. Uses semi-transparent color (0x9Cffffff/0x9Bffffff). Submits to CRenderPipeline with blend mode 5 (shadow/darken). 0x00BCB660 904 CWeather__render_sprite_overlay game_map Renders weather sprite overlay by projecting 3D positions to 2D screen space. Iterates particle layers, projects each position via CRenderPipeline__project_world_to_screen_2d, computes screen scale. Looks up sprite animation details from UISkillWnd tree node entries. Handles horizontal flip flag. Computes depth for Z-ordering. Submits sprite quads via submit_sprite_quad_to_render_queue with per-entry color/rotation properties. 0x00BCB9F0 2300 CWeather__render_flat_strip_quads game_map Renders a flat strip of 4 quads for weather effects. Transforms vertices through the object's matrix at offset 0x190, projects world coords to screen via CRenderPipeline__project_world_to_screen_with_depth, sets up vertex colors and texture coords, then submits to render pipeline. Type 3 uses random color and render mode 5, others use mode 1. Iterates 4 times building 3 vertices per triangle strip segment. 0x00BCC2F0 1640 CWeather__render_flat_strip_quads_simple game_map Simplified version of flat strip quad rendering for weather. Similar to CWeather__render_flat_strip_quads but without the type-3 random color branch. Always submits with render mode 1. Transforms vertices through object matrix, projects to screen, builds triangle strips with incrementing texture coords. 0x00BCC960 994 CWeather__render_segment_quads game_map Renders weather segment quads from pre-computed vertex data. Iterates over segments (count from offset 0x1F4), each consisting of two triangles formed from 3 projected vertices. Projects world positions via CRenderPipeline__project_world_to_screen_with_depth and submits each pair of triangles to the render pipeline. Vertex data stored at param_1+0x740 with stride 0x8C per segment. 0x00BCCD50 3076 CWeather__render_spherical_mesh_quads game_map Renders a spherical mesh of weather quads by iterating over latitude/longitude angles. Uses CMatrix__init_rotation_x and CMatrix__set_rotation_y to compute vertex positions on a sphere with radius from offset 0x348. Generates two triangles per grid cell and submits via CRenderPipeline__submit_renderable_object. UV coords advance with angular step computed from param_1+0x288 subdivisions. 0x00BCD960 1961 CWeather__render_billboard_quad game_map Renders a billboard-style weather quad with 6 vertices (two triangles). Computes 4 corner positions from the object's orientation matrix (offset 0x190) using scale values from offsets 0x354 and 0x360. Handles special flag bits at offset 0x1DC to modify vertex layout. Projects all vertices to screen and submits 2 render objects. Uses texture index from offset 0x144 and frame index at offset 0x3C. 0x00BCE110 574 CWeather__render_screen_aligned_quad game_map Renders a weather screen-aligned quad pair. Projects player position to 2D screen coords, then builds two quads offset by scale * radius (0x354, 0x360). Uses Z depth of 0.8 (0x3f4ccccd). Submits both quads with tint color (0x1c0) and animated texture from frame index (0x3c). Blend mode from field 0x1c4. 0x00BCE350 113 CEffectParticle__render_dispatch effect Main render dispatch for particle effects. Checks render conditions (ret_one_00e3d090 and should_render_ground_effect), then dispatches to type-specific renderers based on the effect type at offset 0x1D0. Handles ~170 effect types via a massive switch: types 0-1 and 2 use simple quad renderers, types 3/0x13 compute oriented quads from camera angles, type 0x14 projects to screen space, type 0x16 renders scaled 2D billboards, type 0x81 renders tendril tube segments, type 0xAC renders rotated ground quads. Most types delegate to dedicated CWeather/CEffect render functions. Submits geometry via CRenderPipeline__submit_renderable_object. 0x00BCFC00 625 CWeather__render_lightning_bolt_quads game_map Renders lightning bolt weather quads. Iterates 4 particle slots. For active particles with positive alpha, computes 4 vertex positions using base position offset by sine/cosine of wind angle at fixed angular intervals (from DAT_01388xxx lookup tables). Submits colored quad via CWeather__submit_weather_quad with blue-ish tint (R=60, G=60, B=255). 0x00BCFE80 2038 CWeather__render_weather_particles game_map Renders weather particles (rain, snow, etc.) as rotated quads. Iterates up to 4 particle slots at stride 0xB4 from offset 0x480. For each active particle (flag at -0x98 offset), processes 10 trail segments. Computes vertex positions using sin/cos lookup tables at DAT_01387fa8/DAT_01388af0 with rotation. Calls rotate_quad_vertices_by_angles and CWeather__submit_weather_quad with type-dependent colors. Types 0x06/0x07 use smaller angular steps, type 0x03 renders an extra half-alpha quad, types 0x05/0x06/0x07 add scaled secondary quads. 0x00BD0680 925 CWeather__render_double_spiral_trail game_map Renders double spiral trail weather effect. Iterates 4 particle slots with up to 20 segments. Generates two interleaved spiral strips per segment using sine/cosine at different elevation angles. Each strip pair offset by perpendicular wind angle. Submits two colored quad strips per step (one per spiral arm) via CWeather__submit_colored_quad_strip. 0x00BD0A20 668 CWeather__render_twisted_ribbon game_map Renders twisted ribbon weather trail effect. Iterates 4 particle slots with up to 20 segments. Generates ribbon geometry with an inner and outer edge: inner edge computed from scaled radius along heading sine/cosine, outer edge from scaled outer radius with perpendicular offset. Submits colored quad strips connecting consecutive segments. 0x00BD0CC0 1547 CWeather__render_aurora_particles_00bd0cc0 game_map Renders aurora-style weather particles as pairs of quads. Processes 4 particle slots at stride 0xB4. Each active particle generates 2 quads using angular offsets around a central direction (from offset 0x6A). Colors depend on particle type: green (type DAT_010dd080), white (DAT_010df4f0), green-only (DAT_010dc390), gray (DAT_010df490), red-shifted (DAT_010dd844), or cyan. Uses sin/cos lookup tables for vertex positions. 0x00BD12D0 2513 CWeather__render_star_particles game_map Renders star-shaped weather particles as multiple rotated quads. Processes 4 particle slots. For each active particle with positive lifetime, renders 8 quads: 4 forming a cross pattern and 4 forming an outer ring. Uses rotate_quad_vertices_by_angles for orientation. Lightning-type particles (flag at offset -6) use brighter color (0x1E). Generates additional quads with offset DAT_01114b8c for the outer ring, including negated positions for symmetry. 0x00BD1CB0 652 CWeather__render_colored_shooting_quads game_map Renders colored shooting particle weather quads. Iterates 4 particle slots. For active particles, selects color tint based on type field: blue-ish (1.0), green-ish (2.0), red-green (3.0), grey (5.0), or white (default). Builds quad from 4 stored position pairs with Y negation for depth illusion. Submits via CWeather__submit_weather_quad. 0x00BD1F40 2925 CWeather__render_hex_weather_effect game_map Renders hexagonal weather effects using 6-point vertex computation from sin/cos lookup tables at 60-degree intervals. Handles multiple weather types with distinct colors: type 0x01=orange(0x44,0x2A,0x1E), type 0x0A=blue(0xFF,0x32,0x32), type 0x0B=cyan(200,200,0x32), type 0x0C=red(0x32,0x32,0xFF), type 0x0D=white(0xFF,0xFF,0xFF), type 0x14/0x15=warm(0x28,0x28,0xFF). Renders two concentric hexagons - inner with animated scale and outer with modified colors. Special paths for types 0x14 and 0x15 use different base radii. 0x00BD2AB0 568 CWeather__render_multi_pass_ring_trail game_map Renders multi-pass ring trail weather effect. Iterates 4 particle slots, each with 10 rendering passes and segments per pass. Generates ring positions using sine/cosine with wind angle offset. Computes inner and outer edge positions per segment. Previous segment positions cached for quad strip connectivity. Submits colored quad strips via CWeather__submit_colored_quad_strip. 0x00BD2CF0 706 CWeather__render_cross_shaped_quad game_map Renders cross-shaped weather quad for 4 particle slots. Computes quad vertices using heading angle with perpendicular offsets at 90, -90, 270, and 180 degree rotations. Builds a diamond/cross shape from inner and outer radii at these angles. Submits white additive quad via CWeather__submit_weather_quad with full brightness (R=G=B=255). 0x00BD2FC0 2031 CWeather__render_leaf_particles game_map Renders leaf-shaped weather particles as oriented quads. Processes 4 particle slots (stride 0xB4). For each active particle, computes a quad from two angular offsets around a central direction, with separate front and back extents based on particle lifetime sign. Colors vary by particle sub-type: warm whites for types 0-2, cool blues for types 10-12, greens for types 20-22, fire/lava for types 30-38, and gray/white for types 125-127. Type 30+ use additive blending. Quads rendered at fixed Y=-6.0. 0x00BD37B0 915 CWeather__render_thin_line_particles game_map Renders thin line weather particles as two narrow quads per slot. Processes 4 particle slots (stride 0xB4). Each active particle generates a narrow quad (angular offset +/-3 degrees) at half alpha and a wider quad (angular offset +/-5 degrees) at full alpha with blue-white tint (R=0x82, G=0x82, B=0xFF). Vertex positions computed from sin/cos lookup tables centered on the particle's direction angle. 0x00BD3B50 576 CWeather__render_petal_ring game_map Renders petal/flower ring weather quads. Iterates 4 particle slots. For each active particle, generates 10 segments around a ring at 36-degree intervals. Each segment uses inner radius (scaled by 5.0) and outer radius from base, with positions in sine/cosine of heading + segment angle. Submits connected quads via CWeather__submit_weather_quad with yellow-green tint (R=230, G=255, B=230). 0x00BD3D90 1480 CWeather__render_colored_aurora_quads game_map Renders colored aurora weather quads with complex color selection based on two type parameters. Processes 4 particle slots. The first type (offset 0x1C from piVar7) selects primary color channel (R/G/B/RG/RB/GB/RGB/all), second type (offset 0x14) selects intensity (0x69/0x05/0x37/0x9B). Computes vertex positions from sin/cos tables with 0xB4 angular offset. Submits quads via CWeather__submit_weather_quad with additive or normal blending based on type. 0x00BD4360 1034 CWeather__render_generic_weather_effect game_map Renders generic weather effects with a large switch on weather sub-type at offset 0x452. Processes 4 particle slots. Handles ~30 different sub-types with varying colors: type 0=white 0xFF, type 1=warm(0xFA,0x96,0x96), type 2=red(0xFA,0x82,0x82), type 3=teal(100,200,200), type 4/7/0x17=pure white additive, type 8=green(0x87,0xFF,0x87), type 9=multi-sub-type, types 10-13=various pastels, type 0x12=half-alpha white, type 0x18=brown(0xCC,0x48,0x3F), type 0x19=lowered Y offset. Checks RSW map name for 'ecl_fild01' to cap alpha. Computes 4-vertex quad from sin/cos table at 90-degree increments. 0x00BD4E40 1118 CWeather__render_trail_weather_effect game_map Renders trail-type weather effects with distance-based fading. Processes 4 particle slots, each with 5 trail segments (stride 2). Computes quad vertices using variable angular spread based on shape type (0=90deg, 1=60deg, 2=130deg). Trail segments extend from the weather origin toward the camera, with alpha decreasing per segment. Colors based on sub-type at 0x452: type 0=gray(0x37), type 1=medium(0x69), type 2=dim(0x4B), type 3=mid(0x55). Uses distance-to-camera ratio for segment spacing. 0x00BD53E0 840 CWeather__render_directional_quad_particles game_map Renders directional quad weather particles using 4 angular vertex positions. Processes 4 slots. For each active particle, computes a quad from 4 angles spaced around the particle direction: direct, +90, +180, and +90 in opposite direction. Applies elevation tilt from a secondary angle parameter. Colors come directly from particle data (RGB at offsets -0x78, -0x74, -0x70). Submits via CWeather__submit_weather_quad. 0x00BD5730 3543 CWeather__render_multi_arm_weather_effect game_map Renders multi-arm weather effects with 3 arms per particle. Processes 4 particle slots. Each arm has independent direction and shape type. Computes 8-vertex hexagonal shape from sin/cos tables, applies rotation, then renders 4 quads (one per arm direction). Colors vary by pcVar6[0] type: type 0=blue(100,100,0xFF), type 1=dim(0x5A,0x5A,0x50), type 2=red(0xFF,100,100). Vertex wind direction swapping based on angle-to-camera. Uses render mode 2 (additive blending). Each arm has its own alpha and lifetime tracking. 0x00BD6510 1042 CWeather__render_shaped_weather_effect game_map Renders shaped weather effects with a large switch on sub-type at puVar4[2]. Processes 4 slots. Sub-types: 0/3=white additive, 1/6-9/11/13-30=various skip/special, 2=purple(0xFA,0x82,0x82), 4=white additive, 5=green(0x7D,0xFF,0x7D), 10=gray(0x96), 12=dark(0x32), 15=olive(0x33,0x99,0x99), 16=white additive with mode 3, 17=blue-tinted(0xFF,0xB4,0xB4), 18=half-alpha white, 0x12-0x14=colored with secondary quad. Type 3 and 0x11-0x1F add height offset DAT_01158b08. Uses variable angular spread per shape type. 0x00BD71B0 1875 CWeather__render_lightning_bolt_effect game_map Renders lightning bolt weather effects as segmented tubes. Processes 4 slots. Each bolt consists of up to 20 segments with randomized vertex offsets (jitter from rand()%11). Segment positions advance along the bolt direction using sin/cos tables. Each segment renders 4 faces of a tube cross-section (angular step 0x1E0 = 120 degrees in lookup table, 3 faces). Alpha fades by 15 per segment from initial. Lightning type uses random RGB color tinting. Computes segment direction via atan2-like lookup for perpendicular face orientation. 0x00BD7910 1898 CWeather__render_lightning_bolt_variant game_map Renders a variant lightning bolt effect similar to CWeather__render_lightning_bolt_effect but with different parameters. Uses rand()%7 for jitter (smaller than the %11 in the base version), different height offset, and reversed vertical direction. Type 3 (offset -0x86) uses fully random RGB colors, other types use segment-index-based coloring (index*6). Segments fade alpha by 5 per segment. Generates tubular geometry with 3 faces per segment cross-section. 0x00BD8080 1381 CWeather__render_expanding_ring_effect game_map Renders expanding ring weather effects. Processes 4 slots, each iterating 14 rings (from radius index 4 to 17). Ring radius grows based on distance-to-camera ratio, producing a spiral-like expanding pattern. Each ring is a quad computed from 4 angular vertices using variable angular spread per shape type. Type 0/3 use white additive blending, type 4 uses a frame-indexed texture from offset 0x204 with gray tint (0x96). Vertex elevation offset computed from camera height distance. 0x00BD85F0 633 CWeather__render_hex_ring_quads game_map Renders hexagonal ring weather quads. Iterates 4 particle slots. For each active particle, generates 5 segments at 72-degree intervals. Each segment connects inner position (base + ring offset) to outer position (base + direction offset). Color depends on type: red (type 13) or yellow-green (default). Submits quads via CWeather__submit_weather_quad. 0x00BD8870 779 CWeather__render_octagonal_trail_particles game_map Renders octagonal trail weather particles. Processes 4 slots. Each active particle generates 10 trail segments with octagonal vertex positions computed from sin/cos lookup tables at 45-degree intervals (8 vertices). Type 2 uses smaller Y-offset (DAT_01114248), others use DAT_01119404. First segment (index 10) uses gray tint (0x37), remaining segments use dim (0x05). Submits via CWeather__submit_weather_quad. 0x00BD8B80 1522 CWeather__render_diamond_weather_effect game_map Renders diamond-shaped 3D weather effects as a 6-quad polyhedron. Processes 4 particle slots. Computes 4 base vertices from rotation angle with width/height from offsets -0x88 and -0x84. Creates a pointed top (at height DAT_010e26f0 minus ground offset) and a flat bottom, forming 4 side triangular quads and 2 base quads. All faces are white (0xFF,0xFF,0xFF). Side quads use additive blending (mode 1), base quads use normal (mode 0) with half alpha. 0x00BD9180 1031 CWeather__render_magic_target_ground_effect game_map Renders magic target ground effect as a 7x7 grid of textured quads projected onto the walk grid. Uses texture 'effect_magic_target.tga'. Each cell is rotated around the weather origin direction. Renders two layers: an inner layer at base radius with 0xAA alpha and an outer layer at (radius + DAT_010df4ec) with 0x55 alpha. Converts world coordinates to cell indices via CGameMode__world_to_cell, then renders each quad via CWalkGrid__render_textured_quad with calculated UV coordinates. 0x00BD95A0 2578 CWeather__render_3d_sphere_weather_effect game_map Renders a 3D sphere weather effect composed of latitude/longitude quads. Iterates over angular grid cells with growing scale factor (pfVar7[0x1E]). Each cell generates a quad on the sphere surface using spherical coordinate math. Renders 3 concentric shells at different radii with type-dependent colors: type 3=blue(0xFF,100,0), type 2=blue-green(0xFF,0x9B,0), type 4=magenta(0xFF,0x96,0xFF), type 5=red(100,100,0xFF), default=green(0xCD,0xFF,0xCD). Inner shells use additive blending, outer shell may use normal blending for type 5. 0x00BD9FC0 3186 CWeather__render_multi_arm_hex_weather game_map Renders multi-arm hexagonal weather effects with 4 arms per particle. Each arm has its own direction angle and renders a hexagonal shape from 8 vertices at 45-degree intervals. Wind direction swapping based on angle-to-camera check. Takes color parameters (param_4/5/6) which default to white but can be set to red (0xFF,0x14,0x14) for type 1 particles. Applies render mode 2 (additive). Processes 4 particle slots with stride 0xB4. 0x00BDAC40 679 CWeather__render_bubble_ring_segments game_map Renders bubble ring weather segments. Iterates 4 particle slots with multiple ring layers (10 angular offsets at 72-degree spacing in cosine table). Each layer generates up to heading/10 segments. Computes inner and outer ring edge positions using cosine table offsets for varied radii. Submits quads via CWeather__submit_weather_quad with light blue tint (R=250, G=250, B=255). 0x00BDAEF0 1591 CWeather__render_pentagonal_cone_effect game_map Renders pentagonal cone weather effects. Processes 4 slots. Computes 5 vertices at 72-degree intervals around the particle direction, scaled by an animated radius. Creates a cone by connecting the 5 base vertices to a top point and also rendering the base as quads. Each side face has decreasing alpha (0xFA, 0xDC, 0xBE, 0x82, 0xA0) for a gradient effect. Uses particle color from offset -0x3C for the RGB channels. Top point height is base height minus particle size. 0x00BDB530 1821 CWeather__render_spiral_tube_effect game_map Renders spiral tube weather effects with exponential decay. Processes 4 slots. Each segment position is computed with cumulative decay factor (DAT_01115448^n), creating a spiral that narrows over time. Tube cross-section has 3 faces (120-degree steps). Colors depend on type: type 0=warm with fading index*30, type 1=green with index*22, type 2=red-warm with index*50, type 3+=gray with index*30+105. Type 3 also renders an inner tube at DAT_010dc390 scale with blue tinting (0,0,0xFF). Alpha fades by 10 per segment for the inner tube. 0x00BDBC50 1928 CWeather__render_decay_spiral_tube_effect game_map Renders decay spiral tube weather effects with exponential position accumulation. Similar to render_spiral_tube_effect but with different decay computation and up to 20 segments (100/5). Uses cumulative geometric series for segment positions. Tube cross-section has 3 faces. Colors depend on sub-type at pfVar7[-0x22]: type 2=warm(index*7+60), type 8=cold(-56), default=dim(index*7+10). Segments fade alpha by 5 per iteration. Direction computed via atan2-like lookup for perpendicular tube face orientation. 0x00BDC3E0 1927 CWeather__render_rotated_quad_weather game_map Renders rotated quad weather effects with varying vertex configurations. Processes 4 slots. Computes base quad from 4 angular positions at 90-degree steps, then applies optional rotation and elevation from secondary angle parameters. Types 2/8/9 use an alternate angular spacing. Color varies by sub-type: 0=orange(100,0x96,0xFF), 1=green(0xFA,0xFA,0x9B), 2=blue(0xFA,100,100), 3/8=red(0x32,0x32,0xFF), 4=blue(0xFF,0x32,0x32), 5=green(0x32,0xFF,0x32), 6=blue-additive(0xFA,100,100), 7=red-additive(5,5,0xFF), 9=dark gray(0x46). Applies position and tilt rotation offsets. 0x00BDCB70 1369 CWeather__render_aura_sphere_effect game_map Renders an aura sphere weather effect as two concentric hexagonal shapes. Only renders when particle is active (offset 0x3E8 == 1). Inner sphere uses alpha based on particle lifetime with gray tint (0xB4) and render mode 5 with matrix multiplication (CMatrix__multiply_3x4_552ca0). Outer sphere at full particle radius uses white (0xFF) and fixed alpha 0xFF with mode 0x101. Both shapes are hexagonal with 8 vertices computed from sin/cos tables at 45-degree intervals. Sets weather render type at offset 0x1C4. 0x00BDD0D0 662 CWeather__render_diamond_flash game_map Renders diamond-shaped flash weather effect. Iterates 4 particle slots. For active particles, computes a diamond vertex from heading + wind angle using sine/cosine tables. Submits two quads: one centered at origin pointing to the diamond vertex, and one offset +-0.5 in Y for a 3D flash illusion. RGB color from per-particle float fields (0x7/0x9/0xB). 0x00BDD370 1543 CWeather__render_beam_tube_effect game_map Renders a beam tube weather effect connecting two points (source at 0x478/0x47C/0x480 and target at 0x490/0x494/0x498). Computes direction vector and perpendicular cross-section. Interpolates position along the beam using cos-table factor based on frame counter at 0x3F4. Renders 2 concentric tubes (inner at base radius, outer at 2x radius) with 3-face cross-sections. Colors vary by type at 0x40C: type DAT_010dd080=orange(0,100,0x96), type DAT_010df4f0=purple(0xFF,0x59,0xB6), type DAT_010dc390=dim gray additive(0x32,0x32,0x32), default=cyan(0xFF,0xFF,0). Inner tube at full alpha, outer at 2x alpha. 0x00BDD980 573 CWeather__render_trail_with_gravity game_map Renders weather trail effect with gravity (Y offset of -3.0 per segment). Iterates 4 particle slots with up to 20 segments. Generates segments around heading angle with inner/outer radii. Each segment has fixed Y=-3.0 gravity offset. Submits colored quad strips via CWeather__submit_colored_quad_strip. Limited to 256 total particles across all slots. 0x00BDDBC0 2204 CWeather__render_falling_hex_particles game_map Renders falling hexagonal weather particles. Processes 4 slots. For each active particle, computes a hexagonal shape from 8 vertex positions at 45-degree intervals, then renders 4 quads (one per arm direction: base, arm1, arm2, arm3). Only renders when vertex Y position is <= 0 (below ground level). Alpha is computed from height using DAT_010e26f0 as ceiling. Type 2 particles use dimmer colors (0x9B), others use full white (0xFF). Height-based alpha fading for particles above ground threshold. 0x00BDE460 692 CWeather__render_octagon_quads game_map Renders octagonal weather quads. Iterates 4 particle slots. For each active particle, computes 4 vertex positions from radius at specific angles in the sine/cosine lookup table (offsets 0x4C, 0xB4, 0x11C, 0x184 = roughly evenly spaced around the circle). Rotates vertices by camera heading angles, adds base particle position, and submits white additive quad via CWeather__submit_weather_quad. 0x00BDE720 731 CWeather__render_simple_hex_particle game_map Renders simple hexagonal weather particles. Processes 4 slots. Each active particle is rendered as a single hexagonal quad from 8 vertex positions at 45-degree intervals. Only renders when Y position is <= 0. Colors depend on particle type at offset -0x3C: type 2=warm red(0x69,0x69,0xE1), type 3=dark gray(0x37), default=white(0xFF). Simpler than render_falling_hex_particles - only one quad per particle, no arms. 0x00BDEA00 590 CWeather__render_grid_quads game_map Renders weather grid of quads. Iterates 4 particle slots. For each active particle, generates a 6x6 grid of 30-unit quads from -150 to +150 in both axes, centered on particle position. Each quad placed at Y=-10.0 with vertices rotated by camera heading angles (0x3ec, 0x4a0). Color depends on type: white (0), blue (1), red (2/default), or yellow (3). Submits additive quads via CWeather__submit_weather_quad. 0x00BDEC50 1093 CWeather__render_shrinking_quad_particles game_map Renders shrinking quad weather particles that decrease in size per iteration. Processes 4 slots. For each active particle, renders 2 quads at different positions (base, +4 offset, +7 offset) with decreasing size. Color varies by particle type at offset -0x24: type 0=blue-dominant(0x46,0x46,0xFF), type 1=red(0xFF,0x46,0x46), type 2=green(0x46,0xFF,0x46), type 3=yellow(0xFF,0xFF,0x5A). Type 0 particles use these colors; others use white with reduced alpha (divide by iteration+1). Size decreases by DAT_010dc090 per step, then by DAT_01117e20. 0x00BDF0A0 922 CWeather__render_rainbow_spiral_effect game_map Renders a rainbow spiral weather effect as 7 concentric rings with different colors. Processes 4 slots. Each ring is rendered at a decreasing radius (scaled by cos of layer*DAT_01114238). Ring quads are generated by stepping through angular subdivisions (direction/20 per step, up to 20 segments). Colors cycle through rainbow: layer 0=blue(0xFF,0,0), 1=purple(0xFF,0x7E,0), 2=green(0xFF,0xFF,0), 3=yellow(0,0xFF,0), 4=red(0,0,0xFF), 5=pink(0x73,0x32,0xC8), 6=blue(0,0,0xFF). Uses CWeather__submit_custom_colored_quad_strip for rendering. 0x00BDF440 3019 CWeather__render_rain_particles game_map Renders rain weather particles. Iterates over 4+2 particle slots (stride 0xB4 bytes). For each active particle (flag==1, alpha>0), computes quad vertex positions using XOR-flipped coordinates, adjusts Y by global height offset. Submits 4 triangles per quad via CWeather__submit_weather_quad. Handles two sets of particles with different size/alpha logic based on a distance threshold (DAT_010dd24c). 0x00BE0010 1647 CWeather__render_rotated_weather_particles game_map Renders weather particles with rotation. Iterates 4 particle slots, for each active one computes rotated quad vertices using sin/cos of the particle's angle field. Selects color (white, green-ish, gray, or blue-tinted) based on a type field. Submits 4 quads per particle via CWeather__submit_weather_quad, with an extra 2 quads for type==0x50 (double-intensity). 0x00BE0680 782 CWeather__render_spiral_particles game_map Renders spiral/tornado-like weather particles. For each of 4 particle slots, subdivides the particle's angular range into 20 segments, computing positions along a spiral path using sin/cos tables. Each segment forms a quad strip submitted via CWeather__submit_weather_quad. Color varies by type: gray (type 99) or orange/red (default). 0x00BE0990 268 CWeather__trigger_weather_effect game_map Triggers a weather visual effect based on state flags. Checks if weather is active (offset 1000), then dispatches effect IDs (0x228, 0x22c, 0x4b5) via CEntity__create_skill_effect based on the weather type field at offset 0x450. Type 0 triggers 0x228 (on even frames), type 1 triggers 0x22c, type 'c' triggers 0x4b5. 0x00BE0B40 740 CWeather__render_aurora_particles game_map Renders aurora/northern-lights style weather particles. For each of 4 particle slots, computes 5 vertices at angular intervals using sin/cos lookup tables, forming a fan shape. The vertices are connected as a single quad submitted via CWeather__submit_weather_quad with green color (R=0x50, G=0xFF, B=0x50). 0x00BE0E30 800 CWeather__render_colored_arc_particles game_map Renders colored arc weather particles. For each of 4 particle slots, computes 5 arc vertices at angular offsets using sin/cos tables. Y position is elevated slightly. Color depends on a type byte: 0=red(0xFF,0x50,0x50), 1=green(0x50,0xFF,0x50), 2=white(0xFF,0xFF,0xFF), 3=gray(0x46,0x46,0x46). Submits the arc quad via CWeather__submit_weather_quad. 0x00BE1150 1318 CWeather__render_streamer_particles game_map Renders streamer/ribbon weather particles. For each of 4 particle groups (each with 10 sub-particles), computes vertex positions using angular offsets from the particle direction. Uses sin/cos lookup tables for positioning. Two rendering modes based on group index: group 0 uses alpha from offset 0x3ea, group 1 uses offset 0x49e. Alpha decays exponentially per sub-particle segment. Submits quads via CWeather__submit_weather_quad. 0x00BE1680 414 CWeather__render_ground_plane_particle game_map Renders a ground-plane weather particle (like a puddle or ground glow). If weather is active, creates a large quad (200x200 units) at Y=-10, rotated by particle angles via rotate_quad_vertices_by_angles. Color comes from the RGB value at offset 0x1C0. Submits the quad via CWeather__submit_weather_quad. 0x00BE1820 608 CWeather__render_vertical_beam_particles game_map Renders vertical beam weather particles. For each of 4 particle slots, renders 3 beam segments at slightly different angles. Segment 1 uses full radius with a shorter height, segments 0/2 use 80% radius with full height. Positions computed using sin/cos lookup tables. Alpha comes from the particle's alpha field. White color (0xFF,0xFF,0xFF). 0x00BE1A80 740 CWeather__render_pulsing_arc_particles game_map Renders pulsing arc weather particles. For each of 4 particle slots, computes 5 arc vertices using sin/cos at angular offsets of 45 degrees (0x2D). Type 1 particles use a pulsing opacity based on (frame/6)%4, with pink color (0xCD,0xCD,0xFF). Type 2 uses green (0,0xFF,0). All others use orange (0xC8,0xC8,0xFF). 0x00BE1D70 941 CWeather__render_falling_leaf_particles game_map Renders falling leaf weather particles. For each of 4 particle slots, constructs a pentagon-shaped quad using sin/cos LUT values scaled by particle radius, rotated by map angles. Offsets by particle position. If particle Y<=0, optionally triggers effect 0x1FA (splash) via CEntity__create_skill_effect if angle matches or map found. Renders with blue-ish color (0x7D,0x7D,0xFF). 0x00BE2190 2422 CWeather__render_multi_layer_particles game_map Renders multi-layer weather particles (e.g. snowflakes with 3 visual layers). For each of 4 particle slots, constructs a pentagon quad rotated by map angles, then offsets by 3 different position layers (offsets -8/-6, -2/0, +1/+3 from base). Each layer rendered only if Y<=0. Color varies by type: 0=red(0xFF,0x50,0x50), 1=yellow(0xFF,0xC8,0xC8), 2=purple(0xFF,0xA0,0xA0), 3=blue(0xFF,0x78,0x78), 4=crimson(0x28,0x28,0xFF). 0x00BE2B10 657 CWeather__render_3d_spiral_particles game_map Renders 3D spiral weather particles. For each of 4 particle slots, subdivides the angular range into 20 segments and computes 3D positions using spherical coordinates (vertical angle + horizontal angle from sin/cos LUT). Each segment forms a quad strip. Uses CWeather__submit_colored_quad_strip for rendering. 0x00BE2DB0 628 CWeather__render_magic_circle_particles game_map Renders magic circle weather particles with multiple color types (12 colors). For each of 4 particle slots, renders multiple stacked rings at increasing Y offsets. Each ring is a 4-vertex quad at angular offsets of 90 degrees (0x5A). Type 0-10 each have unique colors (brown, green-blue, green, red, blue, near-black, white, magenta, pink, dark olive, special). Type 11 renders a double-layer with white on top and blue underneath. 0x00BE34D0 354 CWeather__submit_rotated_quad_with_offset game_map Helper that constructs a quad from base position + width/height offsets, rotates it by the weather system's map angles, then submits via CWeather__submit_weather_quad. Used by various weather particle renderers to emit positioned, rotated quads. 0x00BE3640 341 CWeather__submit_rotated_flat_quad game_map Helper that constructs a flat quad from base position + width/height (Y=0 plane), rotates it by the weather system's map angles, then submits via CWeather__submit_weather_quad. Similar to submit_rotated_quad_with_offset but uses Y=0 for all vertices. 0x00BE37A0 938 CWeather__render_tilted_ribbon_particles game_map Renders tilted ribbon weather particles. For each of 4 particle slots, computes a ribbon shape from two radii (top/bottom scaled by a direction char) and applies both horizontal angle and vertical tilt angle via sin/cos. Color varies by type: 0=pink(0xE1,0xE1,0x50), 1=white(0xFF,0xFF,0xFF), 2=orange(0x41,0xB8,0xF0) with additive blend, default=yellow(0xC8,0xC8,0xFF). 0x00BE3B87 1 stub_nop_00be3b87 game_core WARNING (jumptable): Unable to track spacebase fully for stack 0x00BE4210 2628 CWeather__submit_weather_quad game_map Core weather quad submission function. Takes 4 world-space vertices (3 floats each), alpha, color (RGB), UV coords, and a render mode. Projects each vertex to screen space via CRenderPipeline__project_world_to_screen_with_depth. Packs color into ARGB int. Stores vertex data into a renderable slot array (stride 0x6C), then submits via CRenderPipeline__submit_renderable_object. Max 510 quads. Supports billboard mode (param_27==3) and perspective correction mode (param_27==2). 0x00BE4C60 2235 CWeather__submit_colored_quad_strip game_map Submits a colored quad strip segment for weather effects. Has an extensive color palette switch (40+ cases) based on the weather type at offset 0x318. Each case sets RGB and blend mode. Computes UV coordinates based on the strip segment index (0-99 range, or 100-102 for special). Projects 4 vertices and submits 2 triangles via CRenderPipeline__submit_renderable_object. Max 510 entries. 0x00BE5640 1378 CWeather__submit_custom_colored_quad_strip game_map Submits a custom-colored quad strip segment for weather effects. Similar to submit_colored_quad_strip but takes explicit RGB color bytes instead of using a type-based color palette. Computes UV coordinates from strip index, projects 4 vertices to screen space, and submits 2 triangles. Supports render pipeline color overrides. Max 510 entries. 0x00BE5BB0 1293 CWeather__render_double_shell_particles game_map Renders double-shell weather particles. For each of 4 particle slots, renders 2 concentric spherical shells. Each shell has vertices spaced 72 degrees apart (0x120 in LUT). Inner shell uses the particle radius, outer shell uses double radius or radius+offset depending on type. Color varies by type: white, pink/magenta, red, dark, or cyan. Submits quads via CWeather__submit_weather_quad. 0x00BE60C0 1235 CWeather__render_blade_particles game_map Renders blade/slash weather particles with 5 segments. For each of 4 particle slots, computes frame-animated Y heights and renders 5 blade segments with tapered endpoints (first and last segments narrower). Supports 3 visual modes: type 1 (dark, 0x37/0x37), type 10 (green, 0x37/0xFF), default (white, 0xFF/0xFF additive). Axes can be swapped based on a flag at pfVar3[-9]. Segment index modulates UV tiling. 0x00BE65A0 571 CWeather__render_3d_ribbon_particles game_map Renders 3D ribbon weather particles. For each of 4 particle slots, subdivides angular range into 21 segments. Computes ribbon positions using spherical coordinates (horizontal angle + vertical tilt). Each segment is a quad strip with both top and bottom vertices offset by the tilt angle. Uses CWeather__submit_colored_quad_strip for rendering. 0x00BE67E0 2007 CWeather__render_quad_petal_particles game_map Renders quad-petal weather particles (4 petals per particle). For each of 4 particle slots, constructs a pentagon quad shape rotated by map angles, then offsets by 4 different position layers (base, offset -8/-6, +1/+3, -5/-3). Each petal has its own alpha from the particle data. Color varies by type: 7=orange(0xFA,0x46,0x64), 8=green(0xFA,0xFA,0x0A), 10=white(0xFA,0xFA,0xFA), default=brown(0x46,0x78,0x64). 0x00BE6FC0 29 CWeather__handle_message_reset_texture game_map Handles a custom message dispatch for the weather system. If message_id==0x18 and wparam==0, resets the weather texture handle at offset 0x140 to null. Note: 0x18 is NOT WM_TIMER (which is 0x113); this is a custom weather message ID. 0x00BE6FE0 652 CWeather__shift_trail_history game_map Shifts the trail/motion history buffer down by one slot. Each slot is 0x8C bytes. For each slot from (count-1) down to 1, copies the previous slot data (position, transform matrix, colors, alpha) to current. Recalculates per-slot alpha fade and packed ARGB color. Then copies fresh data from the current object state (position, transforms, etc.) into slot 0. Used for particle trail rendering. 0x00BE7270 171 rotate_quad_y_by_angle game_core Rotates 4 quad vertex Y-coordinates by a given angle. For each of the 4 vertex pointers (param_1 through param_4), computes new Y = sin(angle)*Y + cos(angle)*Z using the sin/cos lookup tables at DAT_01388af0/DAT_01387fa8. Only modifies the Y component (offset +4). 0x00BE7320 583 rotate_quad_vertices_by_angles game_core Rotates 4 3D vertices (quad corners) by two angles using precomputed sin/cos tables. param_5 is X-axis rotation angle index, param_6 is Y-axis rotation angle index. Uses 360-entry lookup tables at DAT_01387fa8 (sin) and DAT_01388af0 (cos). 0x00BE7570 85 init_and_project_billboard_vertex game_core Initializes a billboard vertex structure (8 dwords: position, color=0xFF000000, UV) then calls CRenderPipeline__project_world_to_screen_with_depth to project from world to screen space. 0x00BE75D0 44 CEffect__check_trigger_special_effect effect Checks if an effect object should trigger a special sub-effect. Requires parent entity at offset 0x140, that entity's field at 0x138 to be non-null, and effect type (offset 0x1D0) == 5. If all conditions met, calls FUN_00cabde0. 0x00BE7600 17 CEffect__should_render_ground_effect effect Determines if a ground-level effect should be rendered. Checks game option 8 (ground effects) or a per-entity override flag. For map type 0xE8, validates map BGM data. Returns 1 if effect should render, 0 if not. Uses GameSettings__get_option_state and CBGMManager__find_map_by_id. 0x00BE7620 185 CEffect__update_rotation_and_fade effect Updates an effect's rotation angle (increments by 3 per tick, wraps at 360) and manages fade-out. Copies position from parent entity. When frame counter exceeds lifetime-25, decreases opacity by 8 per tick. Operates on two parallel emitter slots at offsets 0x3EA and 0x49E. 0x00BE76E0 315 CEffect__update_particle_trail_type1 effect Updates particle trail effect type 1. Copies position from parent entity (offset 0x140). For each active emitter slot (up to 4, stride 0x5A shorts), increments frame counter, rotates by +3 degrees/tick (wraps at 360), ramps up opacity (max 100) in first 30 frames, then fades out. Applies sinusoidal offset to particle positions using precomputed sin table. 0x00BE7820 330 CEffect__update_particle_trail_type2 effect Updates particle trail effect type 2. Similar structure to type 1 but with gravity-like vertical acceleration. Each emitter slot has a height field that accumulates acceleration (increases until negative, then resets with new parameters). Manages per-slot opacity with fade-in and automatic respawn when opacity drops to 0. 0x00BE7970 348 CEffect__update_particle_trail_type3 effect Updates particle trail effect type 3. Similar to type 1 but with +1 degree/tick rotation (vs +3) and opacity ramp up by 5 per frame (max 150, or 80 if game option 0xE5 is enabled). Uses GameSettings__get_option_state to check reduced particle option. Fades out after lifetime-46 frames. 0x00BE7AD0 354 CEffect__update_particle_trail_type4 effect Updates particle trail effect type 4. Combines gravity/bounce behavior (type 2) with sinusoidal particle offset. Emitter slots have height with acceleration, opacity fading, and automatic respawn with new initial conditions when opacity drops to 0 and within lifetime-30 frames. 0x00BE7C40 1961 CEffect__update_main_particle_state effect Main per-frame update for a particle effect. Applies sinusoidal offsets from 4 emitter slots, copies position from parent entity, interpolates velocity/position using transformation matrix. Handles random jitter (flag 0x2), random rotation (flag 0x4), random oscillation (flag 0x8), distance culling (flag 0x100), and ground attachment (flag 0x20). Returns 1 if particle is visible, 0 if culled. 0x00BE83F0 650 CEffect__update_multi_ring_effect effect Updates a multi-ring particle effect with camera-relative rotation. Reads camera angles from field4 to set rotation indices. Manages 4 emitter slots (stride 0x2D floats) with 10 scale bands per slot. First 20 frames: ramp up scale (70-250 range). After: fade out. Special handling for types 6/7 after 90 frames with accelerated fade on last band. 0x00BE8680 235 CEffect__update_rotating_ring_effect effect Updates a rotating ring effect with 4 emitter slots. Copies position from parent entity. For each active slot: increments frame counter, rotates ring orientation (by 6 or 3 degrees when frame counter is 0), and advances scale parameter every 4th frame. Wraps scale at the max frame count from offset 0x204. 0x00BE8770 86 CEffect__update_simple_frame_counters effect Simple frame counter update for a 4-slot effect. Copies position from parent entity, then for each active emitter slot (at offsets 0x3E8, 0x49C, 0x550, 0x604), increments the frame counter by 1. No additional logic, used for effects that only need timing. 0x00BE87D0 296 CEffect__update_vertical_orbit_effect effect Updates a vertically orbiting effect with camera angle tracking. Sets rotation from camera angles. For the first emitter slot: increments frame, advances a float parameter (wraps at a threshold), rotates angle by +1 deg/tick. Positions the effect offset from parent Y position using sin table for vertical bobbing. 0x00BE8900 985 CEffect__update_aura_swirl_effect effect Updates an aura/swirl effect with camera angle tracking. Manages 3 sinusoidal oscillation pairs that converge toward random targets. Controls animation frame based on type field (offset 0x450) for frame skipping. Computes 3D position offsets using sin/cos lookup tables with scaling. Has two rendering modes: scaled (type != 0) and unscaled. 0x00BE8CE0 990 CEffect__update_aura_pulse_effect effect Updates an aura pulse effect with camera tracking. Similar to aura_swirl but with opacity ramp (increases by 1 per frame up to 200 frames). Manages 4 sub-emitter slots with per-slot rotation, scale decay, and automatic respawn when scale drops below threshold. Uses sin/cos tables for oscillating position offsets. 0x00BE90C0 166 CEffect__update_flash_fade_emitters effect Updates 4 emitter slots with camera angle tracking. Each active slot: increments frame counter, ramps opacity by 13/frame (max 255) for first 16 frames, then fades by 3/frame after frame 20. Deactivates slot when opacity reaches 0. Used for flash/burst effects that quickly appear and fade. 0x00BE9170 313 CEffect__update_animation_frame_counters effect Updates animation frame and frame counters for 4 emitter slots. For each active slot: increments frame counter, advances animation frame by a constant, and wraps animation frame at max_frames (offset 0x204). Position is copied from parent entity. 0x00BE92B0 480 CEffect__update_animation_with_reverse effect Updates animation frames for 4 emitter slots with forward playback and reverse secondary animation. For each active slot: increments frame counter, advances animation frame (wraps at max), and decrements a secondary parameter that wraps back by adding a slot-specific value when going below 0. Position copied from parent entity. 0x00BE9490 202 CEffect__update_dual_decay_emitters effect Updates 4 emitter slots with opacity ramp-up and dual parameter decay. Each active slot: increments opacity by 2 (max 255), advances animation frame (wraps at max), and decrements two separate float parameters that wrap around using per-slot base values. Position copied from parent entity. 0x00BE9560 85 CEffect__update_simple_frame_counters_00be9560 effect Simple frame counter update for 4-slot effect (duplicate variant). Copies position from parent, increments frame counter for each active slot. Identical logic to CEffect__update_simple_frame_counters at 00be8770. 0x00BE95C0 200 CEffect__update_sprite_anim_with_fade effect Updates 4 emitter slots with camera angle tracking and sprite animation. Advances animation frame every 3 ticks. When animation reaches max_frames, wraps back and decreases opacity by 15. Clamps opacity to [0, 255]. Stride between slots is 0xB4 bytes. 0x00BE9690 311 CEffect__update_ground_aura_effect effect Updates a ground-level aura effect with camera tracking. For the first active slot: increments frame counter, ramps opacity (by 8 if type=0x1F, by 3 up to max 60 otherwise) in first 30 frames. Clamps opacity to [0, 255]. Advances a float parameter with wrapping. Copies position from parent and sets 3D offset from stored height value. 0x00BE97D0 461 CEffect__update_bouncing_scale_effect effect Updates a bouncing/scaling particle trail effect. Changes a scale parameter at frame intervals 0, 25, 50, 75 (mod 100). Manages 4 emitter slots with gravity bounce (height acceleration, respawn at opacity 0). Special handling for type 0x16 with reduced opacity ramp. Uses sinusoidal position offsets like other trail effects. 0x00BE99A0 248 CEffect__update_spinning_fade_emitters effect Updates 4 emitter slots with camera tracking and spinning motion. Each active slot: decreases rotation angle by 10 degrees/frame (wraps), randomizes angle on first frame, ramps up opacity by 10/frame for first 10 frames, then fades by 1/frame after frame 100. Deactivates slot when opacity reaches 0. 0x00BE9AA0 562 CEffect__update_expanding_ring_effect effect Updates an expanding ring/wave effect with 4 emitter slots. Generates 21 segments per ring with distance-based scaling (larger at edges, smaller at center). Opacity ramps up by 25/frame (max 250 or 125 with reduced effects option 0xE5). Fades by 10/frame after that, respawning with reduced scale when reaching 0. Uses cos table for radial accumulation offset. 0x00BE9CE0 434 CEffect__update_spiral_ribbon_effect effect Updates a spiral ribbon effect with 4 emitter slots. Copies position from parent with vertical offset. Rotates CW or CCW based on direction flag (+2 or -2 degrees). Fades opacity by 6/frame after frame 60. On first frame of each slot, shifts position history array for trail rendering. Has up to 21 trail segments per slot. 0x00BE9EA0 598 CEffect__update_homing_projectile_effect effect Updates a homing projectile effect with 4 emitter slots. Each slot tracks toward a target using distance check (via sqrtf). Has 3 phases: phase 0 (approaching, switches to phase 1 when close), phase 1 (orbiting with +9 deg/tick, transitions to phase 2 after 10 orbits), phase 2 (retreating with -3 deg/tick, fading after frame 300). Position offset computed from sin/cos tables with scaling. 0x00BEA100 275 CEffect__update_radial_burst_effect effect Updates a radial burst effect with camera tracking. 4 emitter slots: ramps opacity by 25/frame for first 10 frames (max 255). Computes radial offset using sin/cos from rotation angle and a scale factor. When a secondary parameter goes negative, wraps it. After ramp-up, fades opacity by 15/frame. Deactivates slot at opacity 0. 0x00BEA220 236 CEffect__update_delayed_ring_expansion effect Updates a delayed ring expansion effect with 4 emitter slots. Each slot: increments rotation and frame counter. After frame 124, starts fading opacity by 15/frame and decreasing scale. Generates 21 segments per ring where segment scale is 0 before frame 100, linearly interpolated between 100-116 using a lookup table, and full scale after frame 116. 0x00BEA310 398 CEffect__update_anim_with_secondary_accum effect Updates animation frames for 4 emitter slots with a secondary accumulator per slot. For each active slot: increments frame counter, advances primary animation frame (wraps at max), and advances a secondary float that accumulates a per-slot rate and wraps at a constant threshold. Position copied from parent entity. 0x00BEA4F0 1179 CEffect__update_wandering_orb_effect effect Updates a wandering orb/firefly effect with camera tracking. 4 emitter slots each with 2 oscillation pairs that approach random targets. Manages 10 angle parameters per slot (wrapped at 360). Ramps up segment opacity in first 10 frames, fades after 20. Applies 3D velocity using sin/cos from 3 angle parameters for position accumulation. 0x00BEA990 1163 CEffect__update_wandering_orb_slow effect Variant of wandering orb effect with slower timing. Same structure as update_wandering_orb_effect but ramps up opacity over first 50 frames (vs 10) and fades after frame 60 (vs 20). Target angle randomization uses full 0-360 range instead of restricted range. Same 3D velocity accumulation via sin/cos. 0x00BEAE20 497 CEffect__update_orbiting_particle_effect effect Updates an orbiting particle effect with camera tracking. 4 emitter slots: ramps up scale in first 10 frames, then fades scale after frame 90 (type 0) or frame 270 (non-zero type). Computes orbital position using sin/cos at 6x the frame modulo 60. Position is (distance*sin, -25, distance*cos) plus an accumulated rotation angle. Copies position from parent entity. 0x00BEB020 29 CEffect__copy_parent_pos_and_advance_anim effect Copies position from parent entity (offset 0x140) then calls CEffectParticle__advance_animation_frame. Minimal wrapper for effects that just need position tracking and animation. 0x00BEB040 748 CEffect__update_swirling_particle_system effect Updates a swirling particle system with 4 emitter slots. Each slot has 6 angle channels that chase random targets. Ramps scale up for first 30 frames (fast for type 2, slow otherwise), then fades near end of lifetime. Accumulates 3D velocity from 6 sin/cos channels. Calls FUN_00bc5e00, FUN_00be6fe0, and CEffectParticle__advance_animation_frame at the end. 0x00BEB330 175 CEffect__update_scale_ramp_with_anim effect Updates 4 emitter slots with scale ramp-up/fade-out and animation. Ramps scale up by 5/frame for first 50 frames (max 150), then fades scale near end of lifetime (lifetime-50). Calls FUN_00bc5e00, FUN_00be6fe0, and CEffectParticle__advance_animation_frame. 0x00BEB3E0 225 CEffect__update_rotating_sprite_emitters effect Updates 4 emitter slots with camera tracking and rotation. Each active slot: increments frame, advances rotation by 5 (wrapping at 100 triggers opacity decrease by 2). Clamps opacity to [0, 255]. Copies parent position to per-slot position fields including a stored height value. 0x00BEB4D0 1891 CEffect__update_multi_tendril_effect effect Updates a complex multi-tendril particle effect with 4 emitter slots. Each slot manages 8 oscillation pairs and 4 tendril arms. Each arm accumulates position using sin/cos offsets with gravity-like descent. When tendrils fall below threshold, they respawn with random offset (narrower for type 1). Arms are rotated by camera angle for screen alignment. Extensive use of random values for organic movement. 0x00BEBC40 61 CEffect__increment_active_slot_counters effect Increments frame counters for all active emitter slots (up to 4). Checks if slot is active (> 0 at slot flag offset) rather than == 1. No position copy, no other logic, just counter increments. 0x00BEBC80 1232 CEffect__render_ring_segments effect Renders ring-shaped effect by generating up to 21 segments per emitter slot (4 slots). Computes vertex positions on a ring using sin/cos tables with variable segment width. Renders each pair of adjacent segments via FUN_00be4c60. Ring scale and color vary by type (types 3-11 have different sizes and opacity multipliers). Checks reduced effects option for types 9 and 11. 0x00BEC150 634 CEffect__render_ring_segments_simple effect Renders ring segments for a simpler ring effect. Similar structure to CEffect__render_ring_segments but with fixed vertical offset (5.0) and uniform segment rendering. Generates up to 21 segments per emitter slot with sin/cos position computation and calls FUN_00be4c60 for each adjacent pair. 0x00BEC3D0 634 CEffect__render_ring_segments_simple_00bec3d0 effect Duplicate of CEffect__render_ring_segments_simple. Identical ring segment rendering with up to 21 segments per slot, sin/cos vertex computation, and FUN_00be4c60 quad rendering. Likely used for a different effect type that shares the same rendering code. 0x00BEC650 771 CEffect__render_ring_with_height_offset effect Renders ring segments with a per-type height offset. 4 emitter slots, 21 segments each. Height offset varies by type field: -2.0 for type 1, -1.0 for type 2, 0 otherwise. Some types also add a horizontal offset to vertex positions. Calls FUN_00be4c60 for quad rendering between adjacent segments. 0x00BEC960 1360 CEffect__render_skill_sprite_billboards effect Renders skill effect sprite billboards. For each emitter slot and sub-particle, projects world position to screen coordinates using CRenderPipeline__project_world_to_screen_2d. Retrieves sprite frames from skill tree data via UISkillWnd__get_skill_tree_node and UISkillWnd__get_detail_entry. Handles sprite flipping, per-type color tinting (type 0: custom color, type 1: blue), depth sorting, and edge expansion. Calls FUN_00cb39a0 for actual sprite rendering. 0x00BECEB0 655 CEffect__render_diamond_quad effect Renders a diamond-shaped quad effect for 4 emitter slots. Computes 4 vertex positions at 90-degree intervals around the rotation angle, with radius modulated by sin of a secondary angle. Copies Y position to all vertices. Calls FUN_00be4210 for rendering with full white color and additive blending flag based on scale parameter. 0x00BED140 837 CEffect__render_pulsing_diamond_quad effect Renders a pulsing diamond quad with oscillating opacity for 4 emitter slots. Similar to render_diamond_quad but computes per-frame opacity as a triangular wave (frame mod 256, mirrored). Renders twice per slot: once with forward opacity and once with inverse opacity, creating a pulsing/breathing visual effect. 0x00BED490 5224 CWeather__render_particle_quads_b game_map Renders weather particle quads (variant B). 5.2K bytes. Same pattern as CWeather__render_particle_quads - rotates quad vertices and submits to weather renderer. Uses rand for randomization. No callers (likely virtual/callback). 0x00BEE900 1660 CEffect__render_dual_rotating_quads effect Renders two rotating quads for the first emitter slot. First quad uses base scale, second quad uses modulated scale with sinusoidal variation. Both quads are computed as 4 vertices at 90-degree intervals, rotated by camera angles via rotate_quad_vertices_by_angles, then offset to effect position. Color varies by type: white (10), cyan (11), red (12), green (13), or default. 0x00BEEF80 1847 CEffect__render_star_with_trails effect Renders a star shape with trailing quads. First renders two layered quads (orange-tinted and blue-tinted) using fixed sin/cos lookup indices, rotated by camera angles. Then renders 4 trailing quad segments at different rotation offsets with per-segment color coding (R values: 105, 35, 75, 5 by index). Each trail segment uses computed sin/cos positions with vertical offset from scale parameter. 0x00BEF6C0 1722 CEffect__render_cross_shape_effect effect Renders a cross/plus shape for 4 emitter slots. Each slot generates 2 perpendicular line segments forming a cross. Vertex positions computed from sin/cos tables with angle offsets. Renders 4 quads total per slot (2 for highlight pass at 1/4 opacity, 2 for main pass at full opacity) via FUN_00be4210. Color varies by type: blue-purple (1), white (2), or red (default). Uses -6.0 as constant Y offset. 0x00BEFD80 654 CEffect__render_kite_shaped_quad effect Renders a kite-shaped quad for 4 emitter slots. Computes 4 vertices at different angle offsets (-90, -7/+7, +7/-7, +90 degrees based on direction) from the base rotation angle. Inner vertices use a larger radius, outer vertices use a smaller radius. Color is blue-purple (0x69, 0x69, 0xFF). Calls FUN_00be4210. 0x00BF0010 855 CEffect__render_radial_beam_slices effect Renders up to 6 radial beam slices per emitter slot (4 slots). Each slice is a quad at a radial position with vertices computed from base rotation and angular offsets. Slice positions accumulate along the slot's scale parameter. Color is blue-purple (0x69, 0x69, 0xFF). Calls FUN_00be4210 for each slice quad. 0x00BF0370 3744 CEffect__render_segmented_tendril_beams effect Renders segmented tendril beams for 4 emitter slots. Two passes per slot (7 segments each). Each segment advances along a curved path with progressive angle offsets at distance thresholds. Vertices are computed from sin/cos with the accumulated angle. First pass uses color (0x41, 0x41, 0xFF), second pass uses (0x23, 0x23, 0xFF). Calls FUN_00be4210 per segment. 0x00BF1210 484 CEffect__render_flat_blade_quad effect Renders a flat blade-shaped quad for 4 emitter slots. Two vertices at angle +/-5 degrees from rotation, two vertices at the center. Creates a thin blade/wedge shape. Color is pure blue (0, 0, 0xFF). Calls FUN_00be4210 with additive blending flag. 0x00BF1400 1632 CEffect__render_variable_shape_quad effect Renders variable-shaped quads for 4 emitter slots. Shape changes based on a type field (0=square 90deg, 1=60deg, 2=130deg apart). Renders two passes: base shape and modulated shape with sinusoidal scaling. Per-type coloring: white (types 0/3), green (0x13), blue+highlight (0x14), bright green (0x15). Rotates vertices by camera angles. 0x00BF1F00 1176 CEffect__render_tornado_helix effect Renders a tornado/helix effect for 4 emitter slots. Generates a rotating quad at the base, then renders 36 stacked helix segments (rotating by 45 degrees each with 2-unit vertical offset). Uses sinusoidal scale modulation. Color is blue-tinted (0x37, 0x37, 0xFF). Also calls FUN_00bf23a0 for an additional layer with darker color (0x19, 0x19, 0xFF). 0x00BF23A0 1060 CEffect__render_helix_layer effect Renders a single helix layer for a given emitter slot index. Similar to the tornado helix main renderer but with parameterized scale multiplier (param_4) and color (params 7-9). Generates 36 stacked segments rotating by 45 degrees each with 2-unit vertical offset. Used as a helper by CEffect__render_tornado_helix for secondary color layers. 0x00BF27D0 744 CEffect__render_ring_with_position_offset effect Renders ring segments with additional position offsets from stored vectors. 4 emitter slots, up to 21 segments each. Subtracts stored position offsets (0x478, 0x480) from vertex positions. Scale value stored at slot offset 0x53 is written to the effect's rendering state field (0x318). Calls FUN_00be4c60 for adjacent segment pairs. 0x00BF2AC0 2574 CEffect__render_tendril_tube_segments effect Renders complex tendril tube segments for 4 emitter slots. Uses random jitter arrays (7 entries each for X/Y/Z). For each pair of adjacent particles, computes tube cross-section vertices and angle from 2D vector between positions. Renders tube quads via FUN_00be4210 with per-type coloring. Stores endpoint positions in arrays for connecting tubes across emitter slots. Has stack cookie protection. 0x00BF34D0 1789 CEffect__render_dual_rotated_quad_pair effect Renders two rotated quads per emitter slot (4 slots). First quad uses small angle offsets (+/-2 degrees), second uses larger offsets (+/-8, +/-180-188 degrees). Both shapes are oriented by a secondary rotation angle. Per-type color schemes: type 0 = yellow/blue, type 1 = white/cyan, type 2 = blue/purple, type 3 = cyan/red. Calls FUN_00be4210 twice per slot. 0x00BF3BD0 1339 CEffect__render_octagonal_billboard effect Renders an octagonal billboard (8-vertex polygon approximation) for 4 emitter slots. Computes vertices using fixed sin/cos lookup offsets, rotates by camera angles, then offsets to effect position. Renders two passes: main shape with per-type color (white/gray/dark gray), and a scaled+offset version with near-black color for shadow/outline effect. 0x00BF4110 1304 CEffect__render_ring_with_inner_ring effect Renders a ring with an inner ring for 4 emitter slots. Two passes: outer ring (5 segments via FUN_00be4210 with 1/5 opacity for glow) and inner ring (5 segments via FUN_00be4c60 with scaled-down radius). Both rings use same rotation angle with different angular offsets. Color is near-black for outer glow, standard for inner ring. 0x00BF4630 2595 CEffect__render_wing_feather_quads effect Renders wing feather-shaped quads for 4 emitter slots. Each slot renders 5 quads: main shape, then 4 progressively offset feather segments at -20 degree angle intervals. Uses a shearing transform with scale parameters for perspective. Has stack cookie protection. Per-type color and variable UV coordinates. Calls FUN_00be4210 for each quad. 0x00BF5060 2177 CEffect__render_double_octagonal_billboard effect Renders two octagonal billboards per emitter slot (4 slots). First uses the slot's primary position, second uses secondary position offsets. Both shapes use 8-vertex polygon approximation rotated by camera angles. Per-type coloring with highlight pass: type 1 = highlight+red, type 2/3 = special vertex ordering, default = highlight+green. Calls FUN_00be4210 twice per position. 0x00BF58F0 962 CEffect__check_ground_collision_spawn_effect effect Checks if an effect's billboard has reached ground level (Y <= 0) and spawns a ground impact effect. Computes 8-vertex billboard rotated by camera, positions at effect location. If vertex Y drops to 0, before frame 300, and has secondary opacity > 0, spawns effect ID 0x352 (type 0) or 0x3A4 (type 1). Also checks map BGM data to conditionally trigger the impact. 0x00BF5D80 1008 CEffect__render_ground_sprite_billboard effect Renders a ground-attached sprite billboard. Copies position from parent entity, gets interpolated ground height via C3dAttr__GetInterpolatedHeight, projects to screen. Retrieves skill sprite data from skill tree node. Renders sprite with ARGB color where alpha is based on field 0x324. For map type 0x4D8, triggers a special sub-effect. Calls FUN_00cb39a0 for sprite rendering. 0x00BF6170 2393 CEffect__render_multi_layer_sprite_effect effect Renders a multi-layer sprite effect with 4 emitter slots. For each slot and sub-particle, projects to screen and renders up to 6 sprite layers: base sprite, expanded edge overlay (green or red per type 2), two offset layers from stored position deltas, and their expanded edge overlays. Uses UISkillWnd for sprite data. Extensive depth sorting with perspective correction. 0x00BF6AD0 1280 CEffect__render_colored_sprite_with_glow effect Renders sprites with color tinting and glow for 4 emitter slots. Projects world to screen, retrieves skill sprite frames. Applies RGB color via CEffectParticle__get_rgb_color_values with alpha from field 0x324. Renders two passes: main sprite (mode 5 or 0x101 based on slot flag) and expanded glow overlay (mode 5). Uses perspective depth correction for Z-ordering. 0x00BF6FD0 924 CEffect__render_arrow_shaped_quad effect Renders an arrow-shaped quad for 4 emitter slots. Computes a tapered shape: front edge is full radius, back edge is reduced by a fraction based on a secondary rotation parameter. Four vertices placed at 90-degree intervals but with asymmetric offsets for the arrowhead shape. Rotates by camera angles. Color is blue-purple (100, 100, 0xFF). Calls FUN_00be4210. 0x00BF7370 1513 CEffect__render_animated_quad_layers effect Renders 4 animated quad layers per emitter slot (4 slots). Each layer has different size and animation frame offset. Layer 1: standard quad. Layer 2: quad at same size but different plane. Layer 3: mirror with different height. Layer 4: smaller quad with different proportions. All use sin/cos from slot rotation angle with various scale multipliers. Animation frame cycles through 30-frame loops with offsets per layer. 0x00BF7960 2308 CEffect__render_multi_position_octagon effect Renders octagonal billboards at 4 different positions per emitter slot. Computes 8-vertex shape rotated by camera, then renders at primary position, secondary offsets (-8/-7/-6), and tertiary offsets (+1/+2/+3). Only renders when Y <= 0 (below camera). Opacity is distance-based with clamping. Color derived from stored byte fields scaled by a constant factor. Calls FUN_00be4210 for each position. 0x00BF8270 276 std__vector_dword_insert stl Inserts a single DWORD element into a vector at the given position. Grows the vector using 1.5x growth strategy (max 0x3FFFFFFF). Allocates new buffer, copies elements before and after insertion point, then swaps buffers. Returns pointer to inserted element. 0x00BF83B0 99 _Find_last<> stl STL _Find_last. Searches backward through a range to find the last matching element. 0x00BF8420 97 fill<> stl STL std::fill for 4-byte pointer ranges. Uses unrolled 4-element loop for large ranges, then fills remainder one at a time. 0x00BF8490 31 std__fill_dword_range stl STL template instantiation: std fill dword range 0x00BF84B0 577 CSkillEffectManager__ctor effect Constructor for CSkillEffectManager. Initializes base class via FUN_00ca8730, sets vtable to PTR_FUN_011992f8, initializes 20 effect slot arrays (0x14 entries of 0x50 dwords stride), constructs linked list node (0xC bytes), and sets up a large data region (0xD800 bytes at offset 0x107D) plus various state fields. Clears effect IDs to -1 and resets flags. 0x00BF8730 67 linked_list_node_dtor_0xC stl Destructor helper that frees a 0xC-byte linked list node at offset +4 if it is non-null. Uses SEH exception handling. 0x00BF8780 67 linked_list_node_dtor_0x10 stl Destructor helper that frees a 0x10-byte linked list node at offset +4 if it is non-null. Uses SEH exception handling. 0x00BF87D0 131 linked_list_destroy_all_nodes_00bf87d0 stl Destroys a linked list and all its nodes. First clears a vector via FUN_00bf8860, then walks the singly-linked list starting from the sentinel's forward pointer, freeing each 0x10-byte node. Finally frees the sentinel node itself. 0x00BF8860 125 std__vector_dword_deallocate stl Deallocates a DWORD vector's backing buffer. Computes allocation size, handles debug allocator prefix (subtracts 4 from pointer if size > 0xFFF), frees the memory, then zeros the begin/end/capacity pointers. Has SEH exception handling. 0x00BF88F0 78 linked_list_node_dtor_0xC_00bf88f0 stl Destructor helper that frees a 0xC-byte linked list node at offset +4 if non-null. Variant with SEH and explicit local_8 = 0xFFFFFFFF pattern. Passes param_1 as additional argument to free. 0x00BF8940 78 linked_list_node_dtor_0x10_00bf8940 stl Destructor helper that frees a 0x10-byte linked list node at offset +4 if non-null. Variant with SEH and explicit local_8 = 0xFFFFFFFF pattern. Passes param_1 as additional argument to free. 0x00BF8990 103 linked_list_free_all_0xC_nodes stl Frees all nodes in a singly-linked list with 0xC-byte nodes. Walks from sentinel forward pointer, frees each node, then frees sentinel. Zeroes tail pointer before walking. 0x00BF8A00 103 linked_list_free_all_0x10_nodes stl Frees all nodes in a singly-linked list with 0x10-byte nodes. Walks from sentinel forward pointer, frees each node, then frees sentinel. Zeroes tail pointer before walking. 0x00BF8A70 65 linked_list_destroy_wrapper stl SEH wrapper that calls linked_list_destroy_all_nodes_00bf87d0 to destroy the list. Thin wrapper with exception handling frame. 0x00BF8AC0 323 CSkillEffectManager__dtor effect Destructor for CSkillEffectManager. Sets vtable, iterates linked list calling virtual method at offset 0x38 on each node's data, disconnects and frees all list nodes, calls virtual method 0x8 on field 0x4E if present, releases resource reference, frees the linked list sentinel, then calls base class destructor FUN_00ca8f90. 0x00BF8C10 190 STL_unordered_set_string__clear stl Clears a std::unordered_set. If element count is below 1/8 of bucket count, uses range erase. Otherwise walks the linked list freeing all 0x10-byte nodes, resets head/tail pointers, zeroes count, and fills bucket array with sentinel pointer. 0x00BF8D00 353 STL_unordered_set_4byte__insert stl Inserts a 4-byte key into an unordered_set. Computes FNV-1a hash of 4 bytes. Calls _Find_last to check for existing element. If not found, allocates 0x10-byte node, checks load factor for rehash, and inserts. Returns pointer to the stored value (node + 0xC). 0x00BF8E70 73812 static_init_hashset_and_vector_data game_core Static init hashset and vector data 0x00C0AED0 363 CSkillEffectManager__scalar_deleting_dtor effect Scalar deleting destructor for CSkillEffectManager. Performs same cleanup as CSkillEffectManager__dtor (clear effects, free list nodes, release resources), then if param_2 bit 0 is set, frees the object memory (0x11CA8 bytes). 0x00C0B040 146 CSkillEffect__update_offertorium effect Updates the Offertorium skill effect. On first frame (field 0x178 == 0), plays sound effect/ab_offertorium.wav with distance attenuation from camera. Advances sprite animation with Y offset -80.0. Returns true if animation is still playing. 0x00C0B0E0 146 CSkillEffect__update_full_throttle effect Updates the Full Throttle skill effect. On first frame, plays effect/all_full_throttle.wav with distance attenuation from camera. Advances sprite animation with Y offset -80.0. Returns true if still playing. 0x00C0B180 146 CSkillEffect__update_angelus effect Updates the Angelus skill effect. On first frame, plays effect/EF_Angelus.wav with distance attenuation from camera. Advances sprite animation with Y offset -80.0. Returns true if still playing. 0x00C0B360 697 CSkillEffect__update_aspersio_effect effect Updates the Aspersio skill effect. On frame 70, plays priest aspersio sound. Every 5 frames between frames 60-140, spawns a sub-particle (type 7) with random angle, scale 1.5, and specific rotation/position offsets. Sets sub-particle lifetime to 30 frames. Returns 0 when effect reaches max lifetime, 1 otherwise while advancing sprite animation. 0x00C0B620 146 CSkillEffect__update_autocounter_effect effect Updates the Auto Counter skill effect. On frame 0, plays the knight autocounter sound effect. Then advances sprite animation each frame, returning true while animation continues. 0x00C0B6C0 351 CSkillEffect__init_ground_smoke_effect effect Initializes a ground smoke skill effect. Copies position from the source entity (offset 0x138). On frame 0, creates a sub-particle (type 5) with flags \|= 0x200. Sets particle lifetime to 125, Y offset to -10.0. Clamps scale params (0x13C, 0x140) to minimum 1.0. Randomly selects between two color modes (10% chance of dark vs normal). Initializes sprite animation with random variant (0-4). Copies transform to particle array. 0x00C0B820 230 CSkillEffect__init_ground_particle_type_e effect Initializes ground particle effect (type 0xE). On frame 0, creates a sub-particle with lifetime 250, scale 13.5, Y offset -10, angle 2.0, alpha 100. Allocates texture array and loads texture from DAT_01183ac4. Simple single-particle ground effect. 0x00C0B910 1106 CSkillEffect__init_bash_effect effect Initializes the Bash skill effect. Checks if reduced effects are enabled. On frame 0: plays EF_Bash.wav, creates a main particle (type 4) with alpha_down.tga texture, flags \|=1, lifetime 40, alpha 100. Then spawns 14-20 sub-particles (type 3) with alpha_center.tga, each with random angles, random radius (10-69), random scale (5-29), and random lifetime offsets. Reduced effect mode uses only 10 sub-particles. 0x00C0BD70 146 CSkillEffect__init_begin_spell_blue_ring effect Initializes begin-spell effect with blue ring visual. Copies position from source entity. On frame 0, plays EF_BeginSpell.wav sound and loads ring_blue.tga effect texture with type 2. 0x00C0BE10 146 CSkillEffect__init_begin_spell_yellow_ring_type1 effect Initializes begin-spell effect with yellow ring (type 1 variant). Copies position from source entity. On frame 0, plays EF_BeginSpell.wav sound and loads ring_yellow.tga effect texture with type 1. 0x00C0BEB0 146 CSkillEffect__init_begin_spell_green_magic effect Initializes begin-spell effect with green magic visual. Copies position from source entity. On frame 0, plays EF_BeginSpell.wav sound and loads Magic_Green.tga effect texture with type 0x21. 0x00C0BF50 146 CSkillEffect__init_begin_spell_yellow_ring_type0 effect Initializes begin-spell effect with yellow ring (type 0 variant). Copies position from source entity. On frame 0, plays EF_BeginSpell.wav sound and loads ring_yellow.tga effect texture with type 0. 0x00C0BFF0 164 CSkillEffect__init_begin_spell_double_white_ring effect Initializes begin-spell effect with double white ring visual. Copies position from source entity. On frame 0, plays EF_BeginSpell.wav and spawns two ring_white.tga effects at sizes 0x2D and 0x19. 0x00C0C0A0 146 CSkillEffect__init_begin_spell_violet effect Initializes begin-spell effect with violet magic visual. Copies position from source entity. On frame 0, plays EF_BeginSpell.wav sound and loads Magic_Violet.tga effect texture with type 0x21. 0x00C0C140 146 CSkillEffect__init_begin_spell_yellow_ring effect Initializes begin-spell effect with yellow ring visual. Copies position from source entity. On frame 0, plays EF_BeginSpell.wav sound and loads ring_yellow.tga effect texture with type 0x21. 0x00C0C1E0 164 CSkillEffect__init_begin_spell_double_yellow_ring effect Initializes begin-spell effect with double yellow ring visual. Copies position from source entity. On frame 0, plays EF_BeginSpell.wav sound and spawns two ring_yellow.tga effects at different sizes (0x2D and 0x19) via FUN_00c62b60. 0x00C0C290 164 CSkillEffect__init_begin_spell_double_yellow_ring_type1 effect Initializes begin-spell effect with double yellow ring (type 1 variant). Copies position from source entity. On frame 0, plays EF_BeginSpell.wav and spawns two ring_yellow.tga effects at sizes 0x2D and 0x19, both with type 1. 0x00C0C340 179 CSkillEffect__init_begin_spell_earthdrive effect Initializes begin-spell effect for Earth Drive skill. Copies position from source entity. On frame 0, plays EF_BeginSpell.wav. Uses reduced effects setting to choose between mineffect_new_earthdrive (reduced) or new_earthdrive_ring_brown (full) texture, both type 0x21. 0x00C0C400 146 CSkillEffect__update_benedictio_effect effect Updates the Benedictio skill effect. On frame 0, plays priest_benedictio.wav sound. Then advances the sprite animation each frame, returning true while it continues. 0x00C0C4B0 146 CSkillEffect__update_blast_mine_effect effect Updates the Blast Mine skill effect. On frame 20 (0x14), plays hunter_blastmine.wav sound with distance attenuation. Advances sprite animation each frame, returning true while animation continues. 0x00C0C550 1386 CSkillEffect__init_blessing_effect effect Initializes the Blessing skill effect. On frame 0: plays EF_Blessing.wav, creates main column particle (type 0xC) with blue color (0x20,0xB0,0xE8), alpha_down.tga texture. Every 3 frames (frames 0-9), spawns glow particles (type 5) at Y=-25. Every 4 frames, spawns floating sparkle particles (type 5) with random angles and scale. 0x00C0CAC0 2047 CSkillEffect__init_blitz_beat_effect effect Initializes the Blitz Beat skill effect. Plays blitzbeat_1st.wav on frame 5 and blitzbeat.wav on frame 30. On frame 0: spawns 10 feather particles (type 0x10) with ac_center2.tga texture, random angles, velocity, and size. After frame 35 and every 3 frames: spawns impact particles (type 0xD) with magic_green.tga at random positions around the entity. Tracks spawn count in DAT_016fdae8. 0x00C0D2C0 874 CSkillEffect__init_radial_fire_particles effect Initializes radial fire/explosion particles. On frame 0, spawns param_2 particles (type 8) evenly distributed at 90-degree intervals starting from -90. Each particle has lifetime 60, red color (0xFA,0x64,0x64), Y offset -10, random scale from entity facing angle. Sets initial velocity, growth rate, and color index 7. Used for AoE skills. 0x00C0D630 1065 CSkillEffect__init_aura_blade_green_particles effect Initializes green aura blade particles. On frame 0, creates 2 pairs of particles (type 0xF) positioned on opposite sides of the entity (front and side), facing perpendicular to entity direction. Each particle: lifetime 9999, magic_green.tga texture, radius 2.5, scale 15.0, alpha 180. Uses entity facing angle to compute rotation matrix. Permanent effect until cancelled. 0x00C0DA60 1167 CSkillEffect__init_aura_blade_violet_particles effect Initializes violet aura blade particles. Same structure as green aura blade but uses magic_violet.tga texture. Creates 2 pairs of particles (type 0xF) at larger offset (DAT_010df490 vs DAT_010dc4f4), with radius 5.0 (vs 2.5 for green), and alpha starts at 0 with growth to 180. Uses entity facing angle for rotation. Permanent effect (lifetime 9999). 0x00C0DEF0 903 CSkillEffect__init_expanding_ring_blue effect Initializes an expanding blue ring effect. Triggers on frame 0 and frame 5. Creates a spinning ring particle (type 0xD) with ring_blue.tga, angle offset based on frame number. On frame 0 also creates a pulsing column particle (type 0xC) with ring_yellow.tga and 20 sub-particles. Alpha decays over time based on frame. 0x00C0E280 873 CSkillEffect__update_magnum_break_effect effect Updates the Magnum Break skill effect. On frames 7 and 20: plays EF_MagnumBreak.wav, creates expanding ring particle (type 0xC) with ring_yellow.tga and scaling pulsation, plus a secondary expanding particle (type 0xE). Lifetime 300 frames max. Advances sprite animation each frame. 0x00C0E6F0 146 CSkillEffect__update_claymore_trap_effect effect Updates the Claymore Trap skill effect. On frame 0, plays hunter_claymoretrap.wav. Advances sprite animation each frame, returning true while animation continues. 0x00C0E790 134 CSkillEffect__init_cloaking_effect effect Initializes the Cloaking skill effect. On frame 0, plays assasin_cloaking.wav. Sets opacity to 50 (semi-transparent) with white color. Clears the active flag at offset 0xA4. 0x00C0E820 946 CSkillEffect__update_cold_bolt_scatter effect Updates Cold Bolt scatter particles. On frame 20 (unless reduced effects enabled), spawns 2-5 particles (type 6) scattered around the entity with random angles and positions. Each particle has random lifetime (40-70), random radius (50-100), random vertical velocity, scale 2.0, and color index 2. Advances sprite animation until frame 100. 0x00C0EBE0 1504 CSkillEffect__init_frost_diver_effect effect Initializes the Frost Diver skill effect. On frame 0, spawns ice shard particles (type 2) distributed in a ring (every ~1/3 of 360deg). Each shard has ice.tga texture, random angle and size. Copies rotation matrix to secondary transform. Also on frame 0 and 7, spawns smoke particles (type 0) with smoke.tga, random angle and vertical spread, lifetime 25. 0x00C0F1C0 146 CSkillEffect__update_concentration_effect effect Updates the Concentration skill effect. On frame 0, plays ac_concentration.wav. Advances sprite animation each frame. 0x00C0F260 513 CSkillEffect__update_periodic_sparkle_effect effect Updates a periodic sparkle effect that triggers every 130 frames. Creates a spinning particle (type 7) with lifetime 300, small scale (0.1-0.2), angle 2.0, radius 15.0, and scale 1.2. Particle positioned via rotation matrix from entity facing. Used for aura/buff visual indicators. 0x00C0F470 186 CSkillEffect__update_fire_pillar_effect effect Updates the Fire Pillar skill effect. On frame 30, plays wizard_fire_pillar_b.wav. On frame 35, triggers a secondary effect (0x7A) via the game manager virtual call. Advances sprite animation each frame. 0x00C0F530 146 CSkillEffect__update_cure_effect effect Updates the Cure skill effect. On frame 0, plays Acolyte_cure.wav. Advances sprite animation each frame. 0x00C0F5D0 260 CSkillEffect__init_curse_status_icon effect Initializes the Curse status icon effect. On frame 0, creates a billboard particle (type 0xF) with curse.bmp texture, permanent duration (9999). Scale 4.5, size 4.0, positioned above entity head. Simple status indicator that persists until removed. 0x00C0F6E0 249 CSkillEffect__init_dark_spark_ground_effect effect Initializes a dark ground spark effect. On frame 0, creates a ground particle (type 5) with flags \|=0x200. Y offset below entity, scale 0.8, black (G=0, B=0), fade at frame 60, lifetime 65. Uses textures from DAT_0119cd68/0119cd80. Ground-level dark burst. 0x00C0F7E0 1315 CSkillEffect__init_decrease_agility_effect effect Initializes Decrease Agility skill effect. On frame 0: plays EF_DecAgility.wav, creates a slow.bmp billboard particle (type 0) that descends, with alpha 180 and alpha decay. Every even frame: spawns additional floating particles (type 0x10) with ac_center2.tga at random angles around the entity, small radius, slow descent. Projects entity screen position for UI overlay. 0x00C0FD10 1133 CSkillEffect__init_detecting_fashasha_effect effect Initializes a detection/ground circle effect with fashasha.tga texture. param_2 selects sound: 0=detecting.wav, 2=benedictio.wav, 4=grand_cross.wav, 5=ANALYZE.wav. Also selects color: 4=red(0xFF,0x8C,0x8C), 5=purple(0xD2,0xFA,0xD2), 6=dark(0x0A,0x0A,0x0A), 7=magenta(0xFA,0xD2,0x8C), 8=blue(0x8C,0xFF,0x8C). Creates expanding circle particle (type 0xF) with scaling and Y offset. 0x00C10180 1312 CSkillEffect__update_detoxify_effect effect Updates the Detoxify skill effect. On frame 0, plays EF_Detoxication.wav. Spawns bubbling particles (type 5) every 5 frames (or every 15 frames in reduced effects mode) with random angles at radius 2-7, tilted 90 degrees. Random scale (30-60 or 80-90) and rising velocity. Color index 3. 0x00C106A0 394 CSkillEffect__init_generic_ground_burst effect Initializes a generic ground burst particle effect. On frame 0, creates a particle (type 5) positioned at the effect's target location (offset 0x180-0x188). Random tilt angle (75-105 degrees) and horizontal angle (0-360). Scale 0.75, Y offset -9, random radius (3-5). Lifetime from param_1+0x17C. Uses textures from DAT_01196d7c/01196d90. 0x00C10830 37 CSkillEffect__update_simple_sprite_anim_00c10830 effect Simplest skill effect update: just advances sprite animation each frame. No sound, no particles. Returns true while animation continues. 0x00C10860 1775 CSkillEffect__init_earth_spike_effect effect Initializes Earth Spike skill effect. param_2 selects variant: 0=stone(earthspike.wav, stone.bmp), 2=ice(EF_IceArrow.wav, ice.tga). Triggers effect 0x7A and sets render params (1.0, 0.24, 0.2). Creates a central pillar particle (type 9) with upward motion (Y=10), plus 7 surrounding spike particles at 60-degree intervals, each with random rotation and rising motion. Uses stone.bmp or ice.tga texture. 0x00C10F50 881 CSkillEffect__init_ice_wall_effect effect Initializes Ice Wall skill effect. On frame 0, plays wizard_icewall.wav. Creates 3 stone block particles (type 9, stone.bmp) with flags\|=1, positioned at offsets -2, 0, +2. Each block has random rotation, random size (300-340), random angle (0-360), random tilt (87-93 degrees), alpha 200. Lifetime 9999 (permanent until removed). 0x00C112D0 829 CSkillEffect__update_enchant_poison_effect effect Updates the Enchant Poison skill effect. Plays assasin_enchantpoison.wav on frames 0, 5, 11, 18, 26, 40. Every 3 frames, spawns green bubble particles (type 5) at random angles with random radius (2-7), tilted 90 degrees. Random scale (30-80) and rising velocity. Color index 3. 0x00C11610 1616 CSkillEffect__update_envenom_effect effect Updates the Envenom/Poison Attack skill effect. On frame 0 (param_2==0): plays enchantpoison.wav and EF_PoisonAttack.wav. param_2==1: spawns particles every 9 frames (slower rate). Default: spawns particles every 5 frames. All variants create green bubble particles (type 5) at random angles. Effect ID 0x304 uses special render flags (0x201). Color index 3. 0x00C11C60 1334 CSkillEffect__init_endure_effect effect Initializes the Endure skill effect. On frame 0: plays EF_Endure.wav, creates main aura particle (type 0, endure.tga) with flags\|=2, large size (150x150), Y offset -20, with scaling animation. Then for frames 0-49: spawns scattered particles (type 0, alpha_down.tga) each frame with random angle, random radius (100-140), and rising motion above entity head. 0x00C121A0 862 CSkillEffect__init_radial_cold_particles effect Initializes radial cold/ice particles. On frame 0, spawns 4 particles (type 8) evenly distributed at 90-degree intervals starting from -90. Each has lifetime 60, blue color (0x64,0x64,0xFA), Y offset -10, random scale from entity facing. Sets growth rate and color index 7. Same structure as init_radial_fire_particles but with blue/cold colors. 0x00C12500 1671 CSkillEffect__init_energy_coat_effect effect Initializes Energy Coat skill effect. On frame 0: creates a rotating ring particle (type 0xC, ring_yellow.tga) with elevation 90deg, radius 22.5, alpha 128. Also creates a glowing sphere particle (type 0xD, alpha_down.tga) with scaling. Spawns scattered sparkle particles (type 0x10, alpha_down.tga) every 5 frames (or 15 in reduced mode) at random angles with rising motion. 0x00C12B90 807 CSkillEffect__init_double_blue_ring_effect effect Initializes a double blue ring effect. On frame 0, creates two ring_blue.tga particles (type 0xD). First ring: descending motion (Y offset -10), large size with scaling. Second ring: ascending motion (Y offset +10), expanding with size growth. Both have lifetime 55 and alpha decay. Used for energy/magic barrier effects. 0x00C12EC0 518 CSkillEffect__update_fire_bolt_trail effect Updates a fire bolt trail effect. Computes direction vector from stored origin to entity position and normalizes it. Sets yellow/orange tint (200,200,0). Every 5 frames, allocates a new 0x518-byte particle emitter positioned along the trail path. Advances the origin position along the direction by half the total distance each step. Creates visual fire trail between caster and target. 0x00C130D0 988 CSkillEffect__update_heal_effect effect Updates the Heal skill effect. On frame 0: plays heal_effect.wav, creates expanding ring particle (type 0xD, alpha_down.tga) with lifetime 100, scale 4.5/4.5. Every 9 frames (if not reduced effects): spawns sparkle particles (type 7) at random angles with small scale (3.0), random rotation, and upward positioning via rotation matrix. 0x00C134B0 2254 CSkillEffect__update_fire_arrow_effect effect Updates the Fire Arrow skill effect. At frame 12, plays 'effect\\EF_FireArrow_%d.wav' sound and creates a particle effect type 0x10 with 6 texture frames (fire animation). Creates billboard particles with randomized direction angles and velocity. On every 4th frame, creates type 5 ember particles with randomized lifetime, direction, and scale. Also handles a secondary ring effect using 'effect\\ring_yellow.tga' with scaling decay. Copies source entity position each frame. 0x00C13D80 1930 CSkillEffect__update_fireball_projectile effect Updates the Fireball projectile skill effect. Plays 'effect\\EF_FireBall.wav' at frame 5. Creates 3 groups of 4 directional particle effects (type 5) at different angular offsets: group 0-3 with blue tint (0x9B,0x9B,0xFF), group 6-9 with green (0x9B,0xFF,0x9B), group 12-15 with red (0xFF,0x9B,0x9B). Each group has particles facing toward a target point using CSprite__set_facing_toward_point, with angle adjustments and speed based on distance. Loads sprite/act resources for the fire effect. 0x00C14510 690 CSkillEffect__init_fireball_explosion effect Initializes Fire Ball explosion effect. Triggers on frames 20, 24, 28, 32. Each trigger plays EF_FireBall.wav, creates a ground burst particle (type 5) with flags\|=0x120, Y offset -15, entity-facing rotation. First burst (frame 20) uses default color; subsequent bursts use orange (0xF6,0xC7,0x4C) with smaller alpha. Alpha varies by frame: 24=180, 28=130, 32=80. 0x00C147D0 1104 CSkillEffect__update_fire_pillar_effect_00c147d0 effect Updates the Fire Pillar skill effect. Creates particle type 5 at frame 0 with randomized direction (0-360 degrees), rotation, and scale. Positions particle along the entity's transformation matrix with randomized column offset (+2 to +15). Sets up size keyframe animation with 3 stages (40->120->200 width, 100->0->80 height). Loads sprite/act resources for the pillar effect. Particle has flag 0x84 (billboard + special mode). 0x00C14C20 187 CSkillEffect__update_random_sound_sprite_anim effect Updates a skill effect with random sound selection. On frame 0, picks a random sound via get_random_hit_sound_by_element(3) and plays it with distance attenuation. Advances sprite animation each frame. 0x00C14EA0 146 CSkillEffect__update_fire_pillar_a_effect effect Updates Fire Pillar variant A. On frame 75, plays wizard_fire_pillar_a.wav. Advances sprite animation each frame. 0x00C14F40 146 CSkillEffect__update_fire_pillar_b_effect effect Updates Fire Pillar variant B. On frame 0, plays wizard_fire_pillar_b.wav. Advances sprite animation each frame. 0x00C14FE0 407 CSkillEffect__init_concentric_ring_effect effect Initializes concentric ring effect with 3 rings. On frame 0, creates 3 ring particles (type 0xD) at different sizes (4,3,2 radius) and descending Y offsets (-3). Each ring has scaling and alpha based on its position. param_2 selects texture: 0=magic_red.tga (fire), 1=ring_white.tga (holy). Alpha decays based on frame. 0x00C15391 1 stub_nop_00c15391 game_core Single-byte stub function (size=1) 0x00C153A0 37 CSkillEffect__update_simple_sprite_anim_00c153a0 effect Simplest skill effect update: just advances sprite animation each frame. No sound, no particles. Returns true while animation continues. Duplicate of another simple sprite anim updater. 0x00C153D0 1458 CSkillEffect__update_flasher_trap_effect effect Updates the Flasher trap skill effect (Hunter trap). At frame 0, plays 'effect\\hunter_flasher.wav' and creates a central hex particle (type 0xF) with 'effect\\thunder_center.bmp' texture, plus 20 scattered spark particles (type 3) with randomized directions, sizes, and angular velocities. Central particle uses billboard mode with scale 20x20, fade at 200/8 rate. Sparks have random direction 0-360, random scale 20-60, random height 5-30 / 10.0. Projects entity position to screen coordinates. 0x00C15A10 146 CSkillEffect__update_freezing_trap effect Updates Freezing Trap skill effect. On first frame (0x178==0), plays sound "effect\\hunter_freezingtrap.wav" at effect position relative to camera. Advances sprite animation with Y offset -80.0. Returns whether animation is still playing. 0x00C15AB0 907 CSkillEffect__update_frost_diver_effect effect Updates the Frost Diver skill effect. At frame 0, plays 'effect\\EF_FrostDiver2.wav' and creates 8 ice shard particles (type 9). Each shard has random direction, randomized speed (1-3/10), random scale (100-350/10), and random size (200-500/10). Shards are oriented using rotation matrix copied to particle transform. Height starts at 30.0 with upward deceleration. Uses 'effect\\ice.tga' texture. Particles have flag 0x01 and lifetime of 40 frames with alpha fadeout starting 10 frames early. 0x00C15E40 1510 CSkillEffect__update_frost_projectile_trail effect Updates a frost projectile trail effect. Checks game settings option 0xE5 (effect quality). At frame 0, computes movement direction toward target using CSprite__set_facing_toward_point and builds rotation matrix. Moves effect along direction with deceleration. Each frame creates ice shard particles (type 9) with randomized direction, scale, and size. Uses 'effect\\ice.tga' texture. param_2==3 sets special particle type. Copies rotation matrix to particle transform. 0x00C16440 465 effect_id_to_cached_counter effect Looks up or creates a cached counter entry for an effect ID in a global unordered_map (DAT_016fdac0). Uses FNV-1a hash of the 4 byte ID. If the entry doesn't exist and the sentinel value matches DAT_016fdac4, returns 0. Otherwise finds or inserts a new node with counter initialized to 0. Returns the counter value from the node (offset 0xC). Handles rehashing when load factor exceeded. 0x00C16620 1283 CSkillEffect__update_glass_wall_effect effect Updates the Glass Wall (Safety Wall) skill effect. At frame 0, plays 'effect\\EF_GlassWall.wav' and creates two pairs of hex ring particles (type 0xF) with 'effect\\ring_blue.tga' texture. Pairs are placed at +1 and -1 positions along the entity's facing direction, one perpendicular and one parallel. Each ring has scale 3.0/2.6, size 40, angular speed 0.25, alpha fade rate 180/8. Advances sprite animation downward (-80 Y offset). 0x00C16B30 146 CSkillEffect__update_gloria effect Updates Gloria skill effect. On first frame (0x178==0), plays sound "effect\\priest_gloria.wav" at effect position relative to camera with volume 1.0. Advances sprite animation with Y offset -80.0. Returns whether animation is still playing. 0x00C16BD0 146 CSkillEffect__update_illusion_doping effect Updates Illusion Doping (GN) skill effect. On first frame (0x178==0), plays sound "effect\\gn_illusiondoping.wav" at effect position relative to camera. Advances sprite animation with Y offset -80.0. Returns whether animation is still playing. 0x00C16C70 1451 CSkillEffect__update_frost_diver_projectile effect Updates the Frost Diver projectile moving toward target. At frame 0, plays 'effect\\EF_FrostDiver.wav', computes direction matrix, and initializes velocity. Every 3rd frame, creates stone/ice shard particles (type 9) with randomized direction, scale (60-100/1000), size 10, and 6 trail segments. Uses 'effect\\stone.bmp' texture. Checks distance to target - sets arrival flag when close. Applies velocity offset each non-arrival frame. 0x00C17220 723 CSkillEffect__update_stone_curse_orbiting effect Updates Stone Curse orbiting stone particles. At frame 0, creates 3 orbiting stone particles (type 9) at 120-degree intervals around the target. Each stone has different starting position offsets (0/-12/6 X, -12/6/6 Z), fixed Y height 40. Scale 0.9, size 25, elevation angle 75 degrees. Rotation matrix copied to particle transform. Uses 'effect\\stone.bmp' texture. Particles have flag 0x201 (billboard + persistent) with 1000 frame lifetime. 0x00C17500 1250 CSkillEffect__update_adrenaline_rush_effect effect Updates the Adrenaline Rush skill effect. At frame 0, plays 'effect\\black_adrenalinerush_a.wav' and at frame 30 plays '_b.wav'. Sets 300 frame lifetime. Projects entity position to screen. Creates 20 scattered spark particles (type 3) with randomized parameters and 'EFFECT\\alpha_center.tga' texture. Also creates 4 rotating sprite particles (type 7) at 90-degree intervals around the target with decay animation. Loads sprite/act resources for the rush effect. 0x00C179F0 1690 CSkillEffect__update_heal_effect_00c179f0 effect Updates the Heal skill effect. At frame 0, creates 3 concentric rising ring particles (type 0xD) with increasing radius (2.5/3.5/4.5) and size (15/25/35), all with blue-green tint (0x20,0xB0,0xE8). Uses 'effect\\alpha_down.tga' texture. Each ring fades in at different speeds. Plays '_heal_effect.wav' sound. On every even frame, creates a floating sprite particle (type 7) with random direction, upward velocity (-1.2), and loads healing sprite/act resources. 0x00C18090 1011 CSkillEffect__update_earth_spike_effect effect Updates the Earth Spike skill effect. At frame 0, plays 'effect\\wizard_earthspike.wav' and triggers screen shake (type 0x7A). Increases lifetime by 50 frames. Creates a 5x5 grid (spacing 5, from -10 to +10) of stone spike particles (type 9) at ground level. Each spike has randomized lifetime, direction, scale (300-350/1000), size (1-60/10 + base), and elevation angle (80-100 degrees). Particles use 'effect\\stone.bmp' texture with upward initial velocity and gravity deceleration. 0x00C18490 2296 CSkillEffect__update_jupitel_thunder_effect effect Updates the Jupitel Thunder skill effect. At frame 0, creates a central ring particle (type 0xD) facing the target direction with 'effect\\ring_blue.tga'. If effects not reduced (option 0xE5), creates 2 forward-facing flame particles (type 5) and 2 backward-facing trail particles (type 6) with randomized positions, scales, and lifetimes. Flame particles positioned 4-7 units along transformation matrix column. Trail particles have angular decay and direction-based rotation. All load fire sprite/act resources. 0x00C18D90 1078 CSkillEffect__init_hit2_effect effect Initializes Hit2 skill effect. Projects world position to screen, plays EF_hit2.wav sound, creates particle effects with lens1/lens2 textures in a loop. Randomizes particle rotation, scale, speed, and lifetime. param_2 controls color override (0x78,0x78 when nonzero). 0x00C191D0 1960 CSkillEffect__init_hit3_effect effect Initializes Hit3 skill effect. Plays EF_hit3.wav, creates two lens2 ring particles (type 0xd) with rotation from world-to-screen angle, plus 8 scattered sprite particles (type 5) using act/spr resources. Each scattered particle has randomized rotation, speed, scale, and lifetime. 0x00C19980 1592 CSkillEffect__init_hit4_effect effect Initializes Hit4 skill effect. Projects position to screen, plays EF_hit4.wav, creates lens2 ring particle plus scattered sprite particles (same structure as hit3 but with different particle counts and parameters). Uses act/spr resources for sprite-based particles. 0x00C19FC0 755 CSkillEffect__init_hit5_effect effect Initializes Hit5 skill effect. Plays EF_hit5.wav, creates 2 particles with lens2 texture, each with random starting rotation offset. Particles have 17 frame lifetime, rotating with scale fade. Uses random angular offset between the two particles (90 degrees apart). 0x00C1A2C0 755 CSkillEffect__init_hit6_effect effect Initializes Hit6 skill effect. Plays EF_hit6.wav, creates 2 rotating particles with lens2 texture (same structure as hit5 but different scale/fade parameters). Particles have smaller initial scale (10 vs 20) and different alpha fade values. 0x00C1A5C0 2375 CSkillEffect__init_hit7_effect effect Initializes Hit7 skill effect. Creates ring_blue ring particle (type 0xd) with rotation, plus 2 scattered sprite particles (type 5) with act/spr resources and small color (20,20,20). Then creates 2 additional falling particles (type 6) with gravity and rotation. Larger scale than other hit effects. 0x00C1AF10 1404 CSkillEffect__init_ice_arrow_effect effect Initializes Ice Arrow skill effect. On frame 12, plays random EF_IceArrow_1/2/3.wav sound and multiplies duration by 10. Creates directional ice arrow particles (icearrow.tga) with calculated angle toward target, plus ring_blue ring particles on impact. Uses direction angle calculation for projectile orientation. 0x00C1B490 881 CSkillEffect__init_ice_wall_effect_00c1b490 effect Initializes Ice Wall skill effect. Plays wizard_icewall.wav, sets duration to 9999 (persistent). Creates 3 ice particles (type 9) at different heights (-2, 0, 2) with random rotation, scale fade, and ice.tga texture. Particles copy rotation matrix and have tall vertical positioning. 0x00C1B810 146 CSkillEffect__update_impositio_manus effect Updates Impositio Manus skill effect. On frame 60 (0x178==0x3c), plays sound "effect\\priest_impositio.wav" at effect position relative to camera. Advances sprite animation with Y offset -80.0. Returns whether animation is still playing. 0x00C1B8B0 1296 CSkillEffect__init_increase_agi_dex_effect effect Initializes Increase AGI+DEX buff effect. Projects position to screen, plays EF_IncAgiDex.wav, creates upward-rising particle with dex_agi_up.bmp texture. On even frames, creates additional scattered particles (type 0x10) with ac_center2.tga texture and randomized speed/rotation. 0x00C1BDC0 1296 CSkillEffect__init_increase_agility_effect effect Initializes Increase Agility buff effect. Projects position to screen, plays EF_IncAgility.wav, creates upward-rising particle with agi_up.bmp texture. On even frames, creates additional scattered particles (type 0x10) with ac_center2.tga texture. Very similar structure to AGI+DEX effect but with different sound and texture. 0x00C1C2D0 4807 CSkillEffect__init_effect_sound_and_resource effect Initializes skill effect by mapping effect ID to sound/animation resource path. Massive switch on effect ID (0x0a-0x421+) mapping to WAV file names like ArrowShot, Firewall, StoneCurse, Lightning, Meteor, etc. Some effects have min/full quality variants based on GameSettings option 0xe5. Loads the resource via CResourceMgr and stores sprite/act pointers for animation playback. 0x00C1DC70 87 CSkillEffect__init_sprite_animation_frames effect Initializes skill effect sprite animation frame state. Resets frame counter (0x119f4) and timer (0x178) to 0. Reads total frame count from animation resource (0x7f0->0x8). If animation has no looping (0x7f0->0x18==0), decrements max frame by 1. Clears all per-frame flags array (0x11a7c onwards) to 0. 0x00C1DCD0 146 CSkillEffect__update_envenom effect Updates Envenom (Thief) skill effect. On first frame, plays "effect\\thief_invenom.wav". Advances sprite animation with Y offset -80.0. 0x00C1DD70 252 CSkillEffect__update_kyrie_eleison effect Updates Kyrie Eleison skill effect with two-part sound. On frame 0, plays "effect\\priest_kyrie_eleison_b.wav". On frame 15, plays "effect\\priest_kyrie_eleison_a.wav". Advances sprite animation with Y offset -80.0. 0x00C1DE70 311 CSkillEffect__create_particle_effect effect Creates a new particle effect (CEffectParticle) and attaches it to the skill effect's linked list at field 0x1a4. Allocates 0xFA18 bytes for the particle, calls CEffectParticle__ctor, initializes position from parent, inserts into the linked list, and registers with the global effect map. Returns pointer to new particle or 0 on failure. 0x00C1DFB0 146 CSkillEffect__update_lex_aeterna effect Updates Lex Aeterna skill effect. On frame 15 (0x178==0xf), plays "effect\\priest_lexaeterna.wav". Advances sprite animation with Y offset -80.0. 0x00C1E050 567 CSkillEffect__update_lex_divina_effect effect Updates Lex Divina skill effect per frame. Plays priest_lexdivina.wav at frames 0, 20, 35, 60, and 70 for a multi-hit sound pattern. Advances sprite animation with Y offset -80.0 and returns whether animation is complete. 0x00C1E290 517 CSkillEffect__init_kings_grace_effect effect Initializes King's Grace (LG) skill effect. Creates 4 particles (type 0xab) at 90-degree intervals (0, 90, 180, 270 degrees) around the caster. Each particle uses lg_kings_grace.tga texture, has a vertical offset of -8.0, and scale of 8.0. Particles persist for the skill duration. 0x00C1E4A0 37 CSkillEffect__update_generic_sprite effect Updates a generic skill effect by simply advancing its sprite animation with Y offset -80.0 and no sound. Returns whether animation is still playing. 0x00C1E4D0 84 CSkillEffect__load_sprite_resource effect Loads a sprite resource for the skill effect. Gets CResourceMgr instance, loads resource by path string (param_2), stores handle at field 0x7ec. Increments reference count. Sets animation data pointer (0x7f0) to resource + 0x110. Reads total frame count and adjusts for non-looping animations (decrements by 1 if loop flag at offset 0x18 is 0). 0x00C1E530 1025 CSkillEffect__init_lock_on_effect effect Initializes Lock On targeting effect. Creates two billboard particles (type 0xf, flag 0x800) with LockOn128.tga texture. First particle at rotation 0, second at rotation 45 degrees. Both have scale 30x30, fade to -1, and color (20, 250, 150) with fade to (-15). Adjusts Y position to ground height. 0x00C1E940 155 CSkillEffect__update_meteor_storm effect Updates Meteor Storm skill effect with multiple impact sounds. On frame 0, plays "effect\\wizard_meteo.wav". On frame 10, plays "effect\\hunter_blastmine.wav". On frames 20,50,80,100,130,140,180,200, plays "effect\\wizard_meteo.wav" again. Periodically triggers screen shake (every 50 frames between 50-300). Advances sprite animation with Y offset -80.0. 0x00C1EB90 146 CSkillEffect__update_magnificat effect Updates Magnificat skill effect. On first frame, plays "effect\\priest_magnificat.wav". Advances sprite animation with Y offset -80.0. 0x00C1EC30 1111 CSkillEffect__init_magnum_break_effect effect Initializes Magnum Break skill effect. Plays EF_MagnumBreak.wav. Creates expanding ring_yellow ring particle (type 0xc, flag 0x200), plus a secondary expanding particle (type 0xe), then a third ring_yellow ring with 30-frame lifetime. All rings expand outward from caster position with scale fade. 0x00C1F090 146 CSkillEffect__update_magnus_exorcismus effect Updates Magnus Exorcismus skill effect. On first frame, plays "effect\\priest_magnus.wav" with volume 1.0. Advances sprite animation with Y offset -80.0. 0x00C1F130 765 CSkillEffect__update_spawn_sub_effect effect Updates a skill effect that periodically spawns sub-effects. Sets entity color (blending with target entity color if target has overlay). On first frame or every 5th frame, allocates a new 0x510-byte effect object and initializes it via FUN_00da0e60. Special handling for effect type 0x1e (every frame), and for certain job IDs (0, 6, 10, 11, 13). Grows the sub-effect vector. 0x00C1F430 549 CSkillEffect__update_spawn_sub_effect_variant effect Updates a skill effect that spawns sub-effects on first frame only (frame 0 or 0x270e reset). Similar to update_spawn_sub_effect but uses 0x518-byte allocation and FUN_00da17a0 constructor. Sets entity color with blending if target has overlay. Grows sub-effect vector. 0x00C1F660 520 CSkillEffect__update_ground_effect_spawner effect Updates a ground-targeted skill effect that spawns sub-effects. Uses entity at offset 0x138 (target entity) instead of 0x4e (source). Spawns 0x518-byte sub-effects via FUN_00da1470. On first frame or every 5th frame (or type 0x1e every frame). Blends color with target entity overlay. Grows sub-effect vector. 0x00C1F870 729 CSkillEffect__update_spawn_job_dependent_effect effect Updates a skill effect that spawns sub-effects based on job type. Checks effective job ID via CEntity__get_effective_job_id and FUN_00dfbce0 to decide between 0x458-byte (FUN_00da1270) or 0x518-byte (FUN_00da17a0) sub-effects. For Angelus (0x29), spawns every 20th frame; otherwise every 20th frame. Handles color blending with target overlay. 0x00C1FB50 462 CSkillEffect__update_maximize_power_effect effect Updates Maximize Power (Blacksmith) skill effect. Plays circle sound at frame 0, sword sound at frames 40 and 47, and a third sword sound at frame 65. Advances sprite animation with Y offset -80.0. Returns whether animation is complete. 0x00C1FD20 185 CSkillEffect__update_meteor_single effect Updates single meteor impact effect. On frame 0, plays "effect\\wizard_meteor.wav". On frame 40, triggers screen shake via virtual function 0x18 with param 0x7a. Advances sprite animation with Y offset -80.0. 0x00C1FDE0 146 CSkillEffect__update_mvp_effect effect Updates MVP announcement effect. On first frame, plays "effect\\st_mvp.wav". Advances sprite animation with Y offset -80.0. 0x00C1FE80 960 CSkillEffect__init_napalm_beat_effect effect Initializes Napalm Beat skill effect. Projects position to screen, plays EF_NapalmBeat.wav on first frame. Creates particles every 5 frames for the first 15 frames, each with randomized direction and speed. Uses 8-frame animated texture sequence. Particles scatter outward with gravity and alpha fade. 0x00C20240 45 CSkillEffect__dispatch_effect_by_id effect Main skill effect dispatcher. Large switch on effect ID (field 0x168 - 300). Routes to specific initialization/update functions for 70+ effect types including: Apocalypse (300), magic rings, heals, teleport, portal, waterfall variants, AOE sprites, explosions, Valentine models, rotating rings, etc. Most cases initialize particle effects and play sound on first frame. Returns 1 to continue or 0 to end effect. 0x00C35160 644 CSkillEffect__init_stone_curse_effect effect Initializes Stone Curse skill effect. On first frame, plays "effect\\black_overthrust.wav" and "effect\\EF_StoneCurse.wav". Creates particle effect type 4 with lifetime 40. Configures ring overlay with angle step 10.0, inner/outer radius 10.0, and radius 7.0. Computes fade rate from radius and lifetime. Loads "effect\\alpha_center.tga" texture. Projects entity position to screen space. 0x00C353F0 379 CSkillEffect__init_party_effect effect Initializes a party visual effect. Copies position from source entity (offset 0x138). If frame is 9998 (0x270e), resets to 0. Creates effect type 0xf (15) via FUN_00c1de70, sets duration to 9999, configures scale (4.0), color (R=50, G=253, B=50), loads effect_party_tga texture. Adjusts Y position using terrain height interpolation minus an offset. 0x00C35570 146 CSkillEffect__update_weapon_perfection effect Updates the Weapon Perfection skill effect. On frame 0, plays "effect_black_weapon_perfection_w" sound relative to player position. Advances sprite animation with Y offset -80.0 via advance_sprite_animation. 0x00C35610 2464 CSkillEffect__update_ring_yellow_particles effect Complex skill effect that spawns yellow ring particles at periodic intervals (every 20 frames). Creates an initial ring effect (type 0xd) with rotation based on source entity direction, then spawns 4+4 particles (types 5 and 6) at random positions around the effect origin. Each particle gets randomized lifetime (6-30 frames), scale, rotation speed, and color fade. Uses effect_ring_yellow_tga texture. Part of a buff/area effect visual. 0x00C35FB0 186 CSkillEffect__init_single_particle_effect effect Initializes a single particle effect (type 5) on frame 0. Sets duration from param, scale 1.5, billboard mode 2, enables flag 0x200, disables alpha. Loads color/texture from global data at 0x0119c9b4/0x0119c9cc. 0x00C36070 146 CSkillEffect__update_poison_react effect Updates the Assassin Poison React skill effect. On frame 0, plays "effect_assasin_poisonreact_wav" sound relative to player position. Advances sprite animation with Y offset -80.0 via advance_sprite_animation. 0x00C36110 1047 CSkillEffect__update_blue_ring_expand effect Updates an expanding blue ring skill effect. On frame 0, creates two concentric ring effects (type 0xd) with blue ring texture (effect_ring_blue_tga), different scales (3.5/4.0 and 4.0/5.0), both with height 36.0 and angle fade 128. Every 14 frames spawns additional blue ring particles (type 0xc) with rotation and fade properties. Used for buff/aura visualization. 0x00C36530 318 CSkillEffect__create_alpha_down_ring effect Creates a ring effect (type 0xd) with alpha_down texture. Takes scale (param_2) and duration (param_3). Configures ring with scale 4.5, initial size 10.0, alpha fade from 90.0, and angle increment based on duration/total frames. Uses effect_alpha_down_tga texture. Called by concentration and similar buff effects. 0x00C36670 152 CSkillEffect__update_concentration effect Updates the Concentration buff skill effect. Copies position from source entity. On frame 30 (0x1e), plays concentration sound and creates an alpha_down ring with scale ~1.95 and 30-frame duration. Advances sprite animation with Y offset -80.0 via advance_sprite_animation. 0x00C36710 1002 CSkillEffect__update_awaken_particles effect Updates an awakening/buff effect with golden particles. On frame 0, calls vtable method to set color (0x7f alpha, 250 fade) and creates alpha_down ring. At frame 18, triggers screen flash (0x7a). Between frames 13-109 (every 4th frame), spawns particle effects (type 0x10, 40 frames) with random Y rotation, random distance (2-8 units), 90-degree X tilt, randomized speed/size, yellow color (R=240, G=240, B=120), using effect_ac_center2_tga. After frame 150, resets color to normal. Returns 0 to signal completion or 1 to continue. 0x00C36B00 1055 CSkillEffect__update_awaken_red_particles effect Updates an awakening/buff effect with red particles. Similar to update_awaken_particles but with red color (R=240, G=0, B=0) instead of yellow. On frame 0, sets entity color (0x7f alpha, 250 fade to 120 R/120 G). At frame 18, triggers screen flash and plays concentration sound. Spawns red center particles between frames 13-109. After frame 150, resets entity color to normal. 0x00C36F20 152 CSkillEffect__update_concentration_aura effect Updates a concentration aura skill effect. Copies position from source entity. On frame 0, plays concentration sound and creates alpha_down ring with scale 2.0 and 50-frame duration. Advances sprite animation with Y offset -80.0 via advance_sprite_animation. 0x00C36FC0 1263 CSkillEffect__advance_sprite_animation effect Core sprite animation advancement for skill effects. Manages frame-based animation state across multiple animation layers/tracks. Projects effect position to billboard coordinates with configurable offset (param_2=X, param_3=Y, param_4=Z). Iterates through animation tracks in the sprite data (offset 0x7f0), advancing keyframe indices and interpolating properties (position, scale, rotation, color, UV). Handles 5 different interpolation modes: (1) additive, (2) clamped increment, (3) wrapping increment, (4) wrapping decrement, (5) ping-pong. Returns 0 when all tracks are complete, 1 while animating. 0x00C374D0 253 CSkillEffect__update_provoke effect Updates the Swordman Provoke skill effect. Plays "effect_swordman_provoke_wav" sound at frames 5 and 30, positioned relative to the player. Delegates to advance_sprite_animation for frame-based rendering. 0x00C375D0 171 CSkillEffect__update_quagmire effect Updates the Wizard Quagmire skill effect. On frame 0, has 1/12 chance to play "effect_wizard_quagmire_wav" sound relative to player position (with Y offset -100.0). Delegates to advance_sprite_animation for rendering. 0x00C37880 146 CSkillEffect__update_priest_recovery effect Updates the Priest Recovery skill effect. On frame 0, plays "effect_priest_recovery_wav" sound relative to player position. Delegates to advance_sprite_animation for frame-based rendering. 0x00C37920 146 CSkillEffect__update_refine_failed effect Updates the Blacksmith Refine Failed effect. On frame 5, plays "effect_bs_refinefailed_wav" sound relative to player position. Delegates to advance_sprite_animation for rendering. 0x00C379C0 146 CSkillEffect__update_refine_success effect Updates the Blacksmith Refine Success effect. On frame 15, plays "effect_bs_refinesuccess_wav" sound relative to player position. Delegates to advance_sprite_animation for rendering. 0x00C37A60 674 CSkillEffect__update_remove_trap effect Updates the Hunter Remove Trap skill effect. On frame 0 or 7, spawns 12 particle effects (type 7, 50 frames each) with random Y rotation (0-360 degrees), slight size variation, upward velocity, and randomized speed. Plays "effect_hunter_removetrap_wav" sound on frame 0. Each particle is configured with color/texture data and added to the effect manager. 0x00C37D10 170 CSkillEffect__render_sprite_layers effect Renders the sprite animation layers for a skill effect. Checks if rendering is enabled (ret_one check and FUN_00c734b0 visibility check). Iterates through animation layers starting from index 1, and for each active layer (flag set in 0x119fc array), calls render_sprite_quad to submit the layer's quad geometry for rendering. Tracks rendered layer count for draw ordering. 0x00C37DC0 1423 CSkillEffect__render_sprite_quad effect Renders a single sprite animation quad for a skill effect layer. Projects the entity's world position to screen coordinates, calculates screen-space scale. Builds a 4-vertex textured quad from the animation frame data, handling UV coordinate ordering based on flip state. Applies rotation (sin/cos from animation angle), translation, and scaling. Retrieves the correct frame texture via CAniClip__GetFrameTexture. Computes UV scaling based on texture atlas dimensions. Assembles vertex colors (ARGB) and submits the quad to the render pipeline (type 5 = alpha-blended sprite). 0x00C38350 253 CSkillEffect__update_weapon_repair effect Updates the Weapon Repair skill effect. Plays "effect_black_weapon_repair_a_wav" sound at frames 20 and 55. Delegates to advance_sprite_animation for frame rendering. 0x00C38450 146 CSkillEffect__update_resurrection effect Updates the Priest Resurrection skill effect. On frame 0, plays "effect_priest_resurrection_wav" sound relative to player position. Delegates to advance_sprite_animation for rendering. 0x00C384F0 539 CSkillEffect__spawn_periodic_yellow_rings effect Spawns yellow ring effects periodically (every 25 frames). Creates ring effect (type 0xd) with 60-frame duration, scale parameters, rotation increment, and yellow ring texture. First ring (frame 0) has longer duration and no rotation delta. Subsequent rings have rotation wobble. Uses effect_ring_yellow_tga. 0x00C38710 146 CSkillEffect__update_rk_luxanima effect Updates the Rune Knight Lux Anima skill effect. On frame 0, plays "effect_rk_luxanima_wav" sound relative to player position. Delegates to advance_sprite_animation for rendering. 0x00C38A30 146 CSkillEffect__update_sanctuary effect Updates the Priest Sanctuary skill effect. On frame 0, plays "effect_priest_sanctuary_wav" sound relative to player position. Delegates to advance_sprite_animation for rendering. 0x00C38AD0 679 CSkillEffect__update_sand_particle_effect effect Spawns sand/dust particle effects every other frame for the first 60 frames. Projects entity position to screen coordinates, then creates particle (type 0) with randomized lifetime, scale (260-560), Y rotation (130-145 degrees), size 30.0, random X position (-500 to 140), random Y position (-240 to -190), random emitter delay (10-20). Uses effect_sand1_bmp texture. Part of a ground/earth-type skill visual. 0x00C38D80 86 CSkillEffect__dispatch_render_by_type effect Dispatches skill effect rendering based on effect type ID (param_2, range 14-143). Uses a jump table at 0x00c39148 indexed by a lookup table at 0x00c3915e to call the appropriate render function for each effect type. Only dispatches when param_3 is exactly 0. 0x00C39460 713 CSkillEffect__update_shadow_sprite_orbiting effect Updates an orbiting shadow sprite effect. Copies position from source entity, projects to screen. Every other frame, calculates an orbital position using sin/cos at an angle that increases with frame count. Spawns two particle sprites (type 5, 20 frames each): one with the main effect sprite at Y=-20 and one with Shadow.spr at Y=0. Each gets scale, alpha fade, and velocity parameters. Used for skills with circling visual elements. 0x00C39730 1929 CSkillEffect__update_sight_rasher effect Updates the Wizard Sight Rasher skill effect. On frame 0, sets entity color overlay (0x6d type, alpha 22) and plays "effect_wizard_sightrasher_wav" sound. Every 5 frames for the first 20 frames, spawns two rings of 8 particles each radiating outward. First ring uses effect sprites with 3D velocity, second ring uses Shadow.spr. Particles have decreasing lifetime as animation progresses. At frame 10, spawns a yellow ring particle (type 0xc) at 90-degree tilt with fade properties. 0x00C39EC0 1184 CSkillEffect__update_signum_crucis effect Updates the Signum Crucis skill effect. Projects entity to screen coordinates. At frame 30, plays both "effect_EF_Signum_wav" and "effect_EF_Bash_wav" sounds, creates an expanding alpha_down ring effect (type 4, 40 frames, flag 0x1, Y offset -40, size 100), then spawns 20 rotating particles (type 3, 35 frames each) with random Y rotation (0-360), random angular speed, random radius (15-40), random size (30-90), and random vertical scale. Particles use EFFECT_alpha_center_tga texture. Delegates to advance_sprite_animation for base rendering. 0x00C3A360 146 CSkillEffect__update_skid_trap effect Updates the Hunter Skid Trap skill effect. On frame 0, plays "effect_hunter_skidtrap_wav" sound relative to player. Delegates to advance_sprite_animation. 0x00C3A400 829 CSkillEffect__update_poison_attack_particles effect Updates the Poison Attack skill effect with scattered particles. Every 5 frames, plays "effect_EF_PoisonAttack_wav" on frame 0, then spawns a particle (type 5, 40 frames) with random Y rotation (0-360), random distance (2-8), 90-degree X tilt, randomized scale and speed, fading alpha. Uses sprite data from 0x01114b58. 0x00C3A740 469 CSkillEffect__init_rising_particle_burst effect Initializes a burst of rising particles on frame 0. Copies position from source entity. Spawns 2-5 particles (type 5, random count) with random X tilt (75-105 degrees), random Y rotation (0-360), Y velocity -9, scale 0.75, randomized speed (3-6). Particles have 2/3 duration fade. Uses sprite from 0x01196d7c. 0x00C3A920 786 CSkillEffect__update_timed_sprite_spawn effect Spawns sprite particles at timed intervals (every 160+ ticks from vtable timer). Copies position from audio listener entity. Creates 2 particles (type 0x15, 320 frames) at player position, with random Y rotation (0-360), 90-degree X tilt, random distance offset (-300 to 0), random Y offset (-240 to -190), random emitter delay (10-20). Speed -0.5, scale 1.5, 4/5 duration fade. Uses sprites from 0x0119c600. 0x00C3AC40 146 CSkillEffect__update_elemental_shield effect Updates the Sorcerer Elemental Shield skill effect. On frame 0, plays "effect_so_elemental_shield_wav" sound relative to player position. Delegates to advance_sprite_animation. 0x00C3AF00 984 CSkillEffect__init_sonic_blow_ring effect Initializes the Assassin Sonic Blow skill ring effect. On frame 0, plays "effect_assasin_sonicblow_wav" sound, then creates a ring effect (type 0xd, 12 frames) oriented by entity direction. Calculates ring position with offset, applies random position jitter, sets scale (7.0 width, 4.0 height), size 3.5, and loads effect_magic_red_tga texture. Ring has 0.4 initial alpha with fade-out. 0x00C3B2E0 976 CSkillEffect__update_soul_strike effect Updates the Soul Strike skill effect. Hit count varies by skill level (1-7 hits) with different angular spacing (360/180/90/60/45/30/25 degrees). Every 11 frames starting from frame 5, plays "effect_EF_SoulStrike_wav" sound and spawns a projectile particle (type 8, 40 frames) at Y=-10, with facing angle from entity direction (negated), scale 1.0, scale fade 3.5/-2.0, angular speed 2.75. Level-dependent sprite selection (param_2 determines sprite variant). 0x00C3B730 674 CSkillEffect__update_fireball_hit effect Updates the Fire Ball hit effect. On frames 0, 4, 8, and 12, plays "effect_EF_FireBall_wav" sound and creates a sprite particle (type 5, 15 frames) with flag 0x120 (billboard + additive blend), Y offset -15, facing angle from entity direction (negated), speed decay per frame. Brightness varies by hit frame (0=max, 4=180, 8=130, 12=80). Each hit triggers a vtable call to apply damage. 0x00C3B9E0 703 CSkillEffect__update_smoke_trail_particles effect Updates a smoke/trail particle effect that spawns every 10 frames. Copies position from source entity. Creates particle (type 7, 300 frames) with small scale, slight rotation wobble, Y rotation 2.0, angular growth 8.0 with negative increment, scale 1.2. Positions particle offset from entity with a constant displacement. Uses vector push_back to add size (95.0), growth rate (-0.15), and fade params. Remaining duration decreases with each spawn. Uses standard effect sprites. 0x00C3BCA0 146 CSkillEffect__update_venom_splasher effect Updates the Assassin Venom Splasher skill effect. On frame 10, plays "effect_assasin_venomsplasher_wav" sound relative to player position. Delegates to advance_sprite_animation. 0x00C3BD40 1618 CSkillEffect__update_water_pond_effect effect Updates a water/pond area skill effect with multiple periodic components. On frame 0, creates 8 pond water billboard effects (type 0xf, 130 frames) evenly spaced in a circle (45-degree increments), each with size 5.5, scale 2.7, and pond_water_bmp texture. Every 10 frames, spawns 8 alpha_down fade rings around the area at the same positions with 90-degree Z tilt. Every 20 frames, spawns a centered horizontal ring particle (type 0xc, 25 frames) with alpha_center_tga texture at 90-degree X tilt. 0x00C3C3A0 146 CSkillEffect__update_spring_trap effect Updates the Hunter Spring Trap skill effect. On frame 0, plays "effect_hunter_springtrap_wav" sound relative to player position. Delegates to advance_sprite_animation. 0x00C3C440 146 CSkillEffect__update_sr_flash_combo effect Updates the Sura Flash Combo skill effect. On frame 0, plays "effect_sr_flashcombo_wav" sound relative to player position. Delegates to advance_sprite_animation. 0x00C3C4E0 765 CSkillEffect__init_status_icon_grid effect Initializes a grid of status effect icons on the screen. On frame 0 (or after a reset/flag change), iterates through active status effects in a linked list, creates a billboard particle (type 0, flag 0x201, mode 4) for each unique status icon. Positions icons in a grid layout starting from the top-left corner, wrapping to new rows when exceeding screen width. Each icon has 16.0 scale, 99999999 frame duration, and uses the status effect's texture plus white02_bmp overlay. Deduplicates by tracking already-displayed effect IDs (up to 100). Resets when a special frame marker (0x5f5e0fe) is reached. 0x00C3C7E0 1116 CSkillEffect__update_steal effect Updates the Steal skill effect. On frame 0, plays "effect_EF_Steal_wav" sound and spawns 10 particles (type 6) with random Y rotation (0-360), random X tilt (-50 to 50), random distance (4-8 units), randomized scale (50-100), rotation speed (60-150), and alpha fade (100-200). Each particle has 2/3 duration fade. Uses sprite from 0x01183d38. 0x00C3CC40 37 CSkillEffect__update_simple_sprite_anim effect Simplest skill effect update - just delegates to advance_sprite_animation with Y offset -80.0 and no additional logic. Used as a generic handler for effects that need only sprite playback. 0x00C3CC70 894 CSkillEffect__update_storm_gust effect Updates the Wizard Storm Gust skill effect. On frame 0, plays "effect_wizard_stormgust_wav" sound. If effects are not minimized (option 0xe5), every 29 frames between frames 31-150 spawns 2 ice shard particles (type 9, remaining duration). Each shard has flag 0x1, random Y rotation for position, random distance (3-28), Y=20, random size (400-500), scale 20.0. Ice shards rotate at random angles (0-360) and 100-degree X tilt, with 3D matrix copies for orientation. Uses effect_ice_tga texture. Scale 1.5 with no fade, brightness 250. 0x00C3CFF0 146 CSkillEffect__update_suffragium effect Updates the Priest Suffragium skill effect. On frame 0, plays "effect_priest_suffragium_wav" sound relative to player position. Delegates to advance_sprite_animation. 0x00C3D090 104 CSkillEffect__update_screen_flash_effect effect Updates a screen flash/shake effect. On frame 0, calls FUN_00c18d90(1) to trigger a screen effect. On frames 3, 7, and 9, triggers screen flash (vtable call 0x7a with white flash). Delegates to advance_sprite_animation. 0x00C3D100 139 CSkillEffect__update_position_override_effect effect Updates a skill effect that temporarily moves the source entity to a different position. Saves the entity's current position (from offset 0x138+0x10/14/18) to local storage (offset 0x18c), replaces it with the override position (offset 0x180), runs advance_sprite_animation, then restores the original position. This allows an effect to render at a target location while the entity stays in place. 0x00C3D190 759 CSkillEffect__update_alpha_center_burst effect Spawns a burst of 20 rotating alpha_center particles on frame 0 and triggers a color reset on frame 35. Projects entity to screen coordinates. Each particle (type 3, 40 frames) has random Y rotation (0-360), random angular growth (10-70), random radius (5-30), random size (20-60), random vertical scale (20-50), brightness fade to 200. At frame 35, calls vtable method to set entity color to state 0x3f (normal). Uses EFFECT_alpha_center_tga texture. 0x00C3D620 505 CSkillEffect__update_ground_particle_spray effect Spawns sprite particles every 5 frames that spray upward from ground level. Creates particle (type 5, 10 frames) with random Y rotation (0-360), 90-degree X tilt, randomized scale (20-40), scale 0.8, angular growth 3.0, brightness 70, 4/5 duration fade. Adjusts Y position using terrain height interpolation. Uses sprite data from 0x01114b58. 0x00C3D820 605 CSkillEffect__update_magic_circle_ground effect Updates a ground magic circle effect. On frame 0, creates a billboard particle (type 0xf) with MagicCircle_bmp texture, 90-degree Y rotation, size 30.0, scale 30.0 with -1.0 shrink rate, no rotation animation. On subsequent frames, checks a linked reference entity and at threshold frame counts (300, 500, 1000, 1500, 2000) modifies the circle's draw order and rotation speed (forward/backward), then clears the reference. Adjusts Y to terrain height. 0x00C3DBF0 146 CSkillEffect__update_thunderstorm effect Updates the Magician Thunderstorm skill effect. On frame 0, plays "effect_magician_thunderstorm_wav" sound relative to player position. Delegates to advance_sprite_animation. 0x00C3DC90 465 CSkillEffect__init_lockon_target_circle effect Initializes a lock-on targeting circle effect on the ground. Copies position from source entity. On frame 0 or reset (frame 9998), creates a billboard particle (type 0xf, 9999 frames) with LockOn128_tga texture, 90-degree Y rotation, rotating at 4.5 speed, scale 4.0. Color varies by effect subtype (offset 0x174): type 11 = blue (R=0,G=250,B=0), others = red scaling with (10-type)*25 for G and B channels. Adjusts Y position to terrain height. 0x00C3DE70 274 CSkillEffect__init_configurable_sprite_particle effect Initializes a configurable sprite particle on frame 0. Creates particle (type 5) with flag 0x200 (no depth write), duration from param, Y offset -10. Scale and billboard mode are read from the effect's custom parameters (offsets 0x13c and 0x140), with defaults of 1.0 if not set. Uses sprite data from 0x0119c590. 0x00C3DF90 1839 CSkillEffect__update_bash_shockwave effect Updates a Bash-like shockwave skill effect. At frame 37, plays "effect_EF_Bash_wav" sound. On frame 0, creates an expanding alpha_down ring (type 4, 20 frames, flag 0x1, size 370, Y offset -40, brightness fade 130). Also spawns 5 (frame 0) or 20 (other frames) rotating alpha_center particles (type 3, 20 frames) at the entity's position with random rotation, angular growth, radius, and brightness. On frame 0, particles orbit outward (size 350-380, speed -150 to -180); on other frames, particles converge inward with smaller size (50-70). At frame 50, creates a ring_liner billboard (type 0xf, 30 frames) at 90-degree Y rotation with scale growth 1.5 and alpha fade. 0x00C3E6C0 156 CSkillEffect__update_two_hand_quicken effect Updates the Knight Two-Hand Quicken buff effect. On frame 0, sets duration to 9999 and plays "effect_knight_twohandquicken_wav" sound relative to player position. Delegates to advance_sprite_animation. 0x00C3E760 448 CSkillEffect__update_periodic_particle_spray effect Spawns sprite particles every 5 frames with upward spray. Creates particle (type 5, 10 frames) with random Y rotation (0-360), 90-degree X tilt, randomized scale (20-40), scale 0.8, angular growth 3.0, brightness 70, 4/5 duration fade. Same as ground_particle_spray but without terrain height adjustment. Uses sprite data from 0x01114b58. 0x00C3E920 146 CSkillEffect__update_poison_react_alt effect Alternative Assassin Poison React skill effect update. On frame 0, plays "effect_assasin_poisonreact_wav" sound relative to player position. Delegates to advance_sprite_animation. Identical behavior to update_poison_react but at a different address, likely used by a different effect ID. 0x00C3E9C0 1102 CSkillEffect__update_yellow_ring_with_sparkles effect Updates a skill effect with periodic yellow rings and sparkle particles. Every 20 frames, spawns a horizontal yellow ring (type 0xc) at 90-degree X tilt with size 2.0, radius 22.5, scale 10.0, flag 0x200, brightness 200, and RING_YELLOW_TGA texture. Every other frame, spawns a sparkle particle (type 7, 40 frames) with random distance (1-3 units), random Y rotation (0-360), rotation speed 2.0, random scale, 2/3 duration fade. Uses standard effect sprites. 0x00C3EE10 1578 CSkillEffect__update_blue_ring_aura_with_sparkles effect Updates a blue ring aura with sparkle particles (looping at frame 145). On frame 0 or reset (frame 145), creates a large expanding alpha_down ring (type 0xc, 158 frames, flag 0x1, size 15, Y offset -1). Every 28 frames (up to frame 117), spawns a smaller blue ring (type 0xc, 80 frames) at 90-degree X tilt with size 14, fade-out, scale 4.0. Also pushes size (20.0) and growth (0) to vectors. Every 10 frames, spawns a sparkle particle (type 7, 130 frames) with random distance (3-5), random Y rotation (0-360), rotation speed 2.0, random scale. Uses effect_ring_blue_tga and standard effect sprites. 0x00C3F440 862 CSkillEffect__init_waterball_projectile effect Initializes a Water Ball projectile effect on frame 0. Plays "effect_wizard_waterball_chulung" sound, creates a sprite projectile (type 8, 40 frames) at Y=-10. Calculates facing angle from entity direction (negated), sets speed per frame, scale fade 3.5/-2.0, scale 0.75, 12-frame hold. Positions projectile at unit distance from entity origin with direction-based orientation. Uses water ball sprite data from 0x0119cc04. 0x00C3F7A0 1067 CSkillEffect__init_waterball_splash effect Initializes the Water Ball splash/hit effect on frame 0. Plays "effect_wizard_waterball_chulung" sound. Creates 3 effect elements: (1) a blue ring (type 0xc, 30 frames) at 90-degree X tilt with scale 12.0, fade 1.75, flag 0x200; (2) an ice crystal (type 0xe, 30 frames) with angular speed 3.0, fade 1.15; (3) another blue ring (type 0xc, 20 frames) at 90-degree X tilt with scale 12.0. All use effect_ring_blue_tga or effect_ice_tga textures. 0x00C3FBD0 558 CSkillEffect__init_water_out_billboard effect Initializes a water splash billboard effect on frame 0. Plays "effect_wizard_waterball_chulung" sound. Creates a billboard (type 0xf) with flag 0x40+0x100 (ground-projected + additive), scale 3.5, flag 0x2 on 0x1c4, alpha enabled, billboard mode 5, Y offset -5.0. Loads 3 animation frame textures: water_out_a_bmp, water_out_b_bmp, water_out_c_bmp. Duration from param. Has negative scale decay per frame for shrinking effect. 0x00C3FE00 37 CSkillEffect__update_simple_sprite_no_offset effect Simplest skill effect - delegates to advance_sprite_animation with zero offset (no Y displacement). Used for effects that render at exact entity position. 0x00C3FE30 1563 CSkillEffect__init_shockwave_trap effect Initializes the Hunter Shockwave Trap effect on frame 0. Plays "effect_hunter_shockwavetrap_wav" sound. Creates two expanding billboards: (1) type 0xf with flag 0x40+0x400, scale 3.5, facing from entity direction, Y offset -5, brightness 170, texture depends on param_2 (thunder_center_bmp or twirl_soft_bmp); (2) type 0xf with flag 0x40+0x400+0x100, alpha enabled, scale 4.5, billboard mode 1. Second billboard has 6 animation textures: either thunder_ball_a through _f or alternating twirl_soft/thunder_ball variants depending on param_2. 0x00C40450 1072 CSkillEffect__update_thunder_plasma_effect effect Updates a thunder/plasma skill effect. Copies position from source entity. Every 20 frames, spawns a flash billboard (type 0xf, 10 frames) with flag 0x40, scale growth 2.5, UV scroll, 1-frame delay. Uses thunder_pang_bmp or pokjuk_d_bmp depending on param_2. At frame 10, spawns the main plasma billboard (type 0xf, 300 frames) with flag 0x40+0x100, alpha enabled, scale 7.5, billboard mode 1. Uses 5-frame animated textures: either thunder_plazma_blast_a/b + thunder_ball_d/e/f, or alternating twirl_soft/thunder_ball variants. 0x00C40880 235 STL_vector_dword__resize_fill stl STL vector resize with fill value. If new size <= current size, fills existing elements. Otherwise, allocates a new buffer of param_2 DWORDs, frees the old buffer, sets begin/end/capacity pointers, and fills all elements with param_3. Handles aligned allocation for buffers >= 0x1000 bytes. 0x00C40970 426 STL_unordered_set__rehash stl STL unordered_set rehash operation. Calculates new bucket count as next power of 2 >= param_2, resizes the bucket array via STL_vector_dword__resize_fill. Then re-inserts all elements by computing FNV-1a hash of each 4-byte key, distributing nodes into new bucket chains. Handles node reordering when hash collisions occur in new bucket layout. Uses SEH for exception safety. 0x00C40B20 95 STL_unordered_set__insert_node stl Inserts a node into an unordered_set bucket chain. Links the new node (param_4) before the existing node (param_3) in the doubly-linked list. Updates bucket head/tail pointers based on whether the bucket was empty, the node replaces the head, or appends to the tail. Increments element count. Returns pointer to inserted node. 0x00C40B80 132 _Rehash_for_1 game_core STL hash table _Rehash_for_1. Ensures at least one bucket, reallocating and rehashing if necessary. 0x00C40C10 478 STL_unordered_set__erase_range stl Erases a range of elements [param_2, param_3) from an unordered_set. Iterates through nodes, computing FNV-1a hash for each to find bucket, frees node memory (16 bytes each), decrements element count, and updates bucket head/tail pointers. Handles cross-bucket erasure by processing complete bucket chains. Uses SEH for exception safety. 0x00C40DF0 115 STL_list__erase_range stl Erases a range of elements [param_3, param_4) from a doubly-linked list. Unlinks the range from the list, then iterates through and frees each node (12 bytes). Decrements element count for each removed node. Writes the end iterator to param_2. Uses SEH for exception safety. 0x00C40E70 545 CSkillEffect__init_3d_projectile_effect effect Initializes a 3D projectile skill effect (type 0x62) on frame 0. Copies position from source entity. Creates a 3D effect with mode 5 flag, duration from param, loads texture from param_2. Sets up projectile parameters: scale 0, no initial movement, size 5.0, random initial angle (0-360). Computes facing angle from source position to target position (offset 0x180), adding 90-degree offset with wrapping. Initializes 4 sub-effect slots (at offsets 0x3e8, 0x49c, 0x550, 0x604) to inactive state. 0x00C410A0 474 CSkillEffect__init_4ring_orbit_effect effect Initializes a 4-ring orbital effect (type 0x6a) on frames 0 and 4. Creates a 3D effect with mode 5, scale 4.0, loads texture from param_2. Sets up 4 orbital ring sub-effects spaced 90 degrees apart (0x5a = 90-degree increments), each with initial radius 8.0, angular range 360, scale 10.0, growth 10.0, and height 22 units. Initializes the offset data arrays (7 entries per sub-orbit) to zero for each of the 4 orbits. 0x00C41280 413 CSkillEffect__init_4ring_billboard_orbit effect Initializes a 4-ring billboard orbital effect (type 0x69) on frame 0. Creates a 3D effect with mode 0x201, scale 100.0, loads texture from param_2. Sets up 4 orbital ring sub-effects spaced 45 degrees apart with initial radius 8.0, angular range 360, scale 20.0. Initializes all sub-orbit data arrays to zero. 0x00C41420 68 CSkillEffect__init_double_ring_effect effect Initializes a double ring effect on frame 0. Copies position from source entity. Calls FUN_00c62b60 twice: first with effect_ring_white_tga (45-degree count, 22 spacing) and then effect_ring_yellow_tga (25-degree count, 22 spacing). Used for buff/aura skill visuals with concentric rings. 0x00C41470 532 CSkillEffect__init_multi_orbit_configurable effect Initializes a configurable multi-orbit effect (type 0x59) on frame 0. Creates a 3D effect with mode 5, duration from param, loads texture from param_2. Sets up 4 orbital ring sub-effects spaced at 90-degree increments. Orbit behavior varies by param_4 type: types 2,3,6 start at Y=0 with size 2.0, others start at Y=-24 with size 2.0. Angle multiplier varies by param_4 (type 3 uses 7x, others use 22x param_3). Random initial angle (0-360) per orbit, Y offset -12.0. Initializes all sub-orbit data arrays. 0x00C41690 3392 CSkillEffect__init_4ring_orbit_two_phase effect Initializes a 4-ring orbital effect with two phases (type 0x6b) at frames 1 and 2. Each phase creates a 3D effect with mode 5, duration from param, loads texture from param_2. Phase 1 (frame 1): first orbit at scale 2.5, angle 53, angular range 360, start 270 deg; second at scale 5.25, angle 60, start 60 deg; third at scale 7.5, angle 55, start 90 deg; fourth at scale 10.2, angle 50, start 180 deg. Phase 2 (frame 2): similar but with slightly different scales (~2.7, 5.3, 7.7, 10.2) and angles (~52, 59, 54, 49). All orbits have 7 sub-entries initialized to zero. 0x00C423D0 464 CSkillEffect__init_fullbuster_effect effect Initializes the Full Buster / ice effect (type 0x47) on frame 0. Copies position from source entity, adjusts Y position downward. Creates a 3D effect with flag 0x200, duration from param. Loads 2 textures: effect_fullb_tga and white02_bmp. Sets up first sub-effect slot with initial Y=0. If param_2 is 0, size is 65.0 with no movement flag. Otherwise, size decreases by (param_2 * 10) and movement is enabled. Initializes 4 sub-effect slots (0x3e8-0x604) to inactive, then activates the first. 0x00C425A0 1435 CSkillEffect__init_multi_layer_ground_particle effect Initializes a multi-layer ground particle effect (type 0x5a). Creates particle with texture from param_2. Configures 2+2 layers (0xb4 bytes each) with different parameters based on param_3 (0, 10, 11, 20, 21). Layers have different rotation speeds, scales, and display types. Used for various ground-targeted skills like Safety Wall variants. 0x00C42B40 823 CSkillEffect__init_skill_icon_particle effect Initializes a floating skill icon particle effect (type 0x44). Loads texture from param_2 or generates skill icon path from random skill IDs (when param_3 > 0) or specific skill ID 0x8ed (when param_4 == 2). Configures a single visible layer with scale and positioning. Creates at specified frame (param_3 offset). 0x00C42E80 1443 CSkillEffect__init_soul_letters_effect effect Initializes Soul Link letter effect (type 0x44). At frame 1, loads soul_l/u/o/s textures (spelling "soul" or similar) and creates 4 letter layers rising upward with staggered timing. At frame 21, loads soul_k/n/i/l textures for a second set of letters. Each layer has independent scale and animation parameters. 0x00C43430 1887 CSkillEffect__init_asura_strike_effect effect Initializes Asura Strike (Guillotine Fist) effect. Plays EF_BeginSpell.wav with white ring ground effects. At frame 1, loads asura1/2/3 textures (or asura11/12/13 for param_2 variant) as 3-layer expanding particles. At frame 21, loads asura4/5/6 (or asura14/15/16) for second wave. Minimum duration enforced at 350 frames. 0x00C43B90 1792 CSkillEffect__init_firewall_ground_effect effect Initializes Fire Wall ground effect (type 0x76). Plays EF_FireWall.wav, loads texture from param_2. Configures 4 layers of fire particles at different rotation speeds (0x13b, 0x13b, 0x13b, 0x168 degrees), heights (25, 22, 19, 30), and scales. Each layer has its own animation timing and sub-particle arrays. 0x00C44290 1710 CSkillEffect__init_ground_aoe_particle_00c44290 effect Initializes a ground AoE particle effect. Uses type 0x19 (or 0x17 for param_3=='!'). Loads texture from param_2, enforces min duration 70. Creates 4 layers with rotation (0x13b, 0x13b, 0x13b, 0x168), various heights, and sub-particle arrays. Similar structure to firewall but with different particle type and rotation speeds. param_3 controls rotation speed variant. 0x00C44940 559 CSkillEffect__init_simple_floating_particle effect Initializes a simple floating particle effect (type 0x83). Creates single texture particle from param_2 with one visible layer. Scale 24.0, basic animation parameters. Used for simple floating icon effects that stay attached to an entity. 0x00C44B70 164 CSkillEffect__init_blue_ring_ground_effect effect Initializes blue ring ground effect. On first frame, plays "effect\\EF_BeginSpell.wav" with Y=-100 offset. Creates two multi-ring ground effects using "effect\\ring_blue.tga": one at angle 45 and one at angle 25, both with 5 rings. 0x00C44C20 1062 CSkillEffect__init_waterfall_column_effect effect Initializes waterfall-style column particle effect (type 0x4f). Loads 3 textures based on param_4: waterfall11/12/13 (type 0), waterfall31/32/33 (type 1), or alpha_down (type 10). Creates multiple layers with staggered Y positions forming a vertical column. Each layer has 10 sub-frames of animation with ascending positions. param_3 controls height variants. 0x00C45050 426 CSkillEffect__init_orbiting_particle effect Initializes an orbiting particle effect (type 0x72). Creates single particle from texture param_2 with random rotation angles. Scale 1.6, height -12.0. Used for effects that orbit around entity with randomized starting angle and delay. 0x00C45200 702 CSkillEffect__init_aura_circle_particle effect Initializes an aura/circle particle effect (type 0x27). Creates single particle from texture param_2. param_3 controls variant: types 2-4 have different scales, rotation speeds, and heights. Types 10-12 use fixed rotation 0x168. Height -2.0, random starting rotation. Used for buff/aura visual circles around entities. 0x00C454C0 750 CSkillEffect__init_spinning_ground_particle effect Initializes a spinning ground particle (type 0x32). Single layer with rotation speed 0x13b degrees, random start rotation, height varies randomly. Used for ground-targeted spinning effects. Stores param_3 type in field 0x318. 0x00C457B0 992 CSkillEffect__init_rotating_ring_particle effect Initializes a rotating ring particle effect (type 0x40). Single layer particle that rotates at various speeds based on param_3 (0-4). param_3==0: quality-dependent height (option 0xe5), rotation speed 30, range 0x360. param_3==1/3: height 16, rotation 120, range 0x758. param_3==2: height 32, rotation 30, range 29999. param_3==4: similar to 1 but with additional random delay. Scale 2.5x2.5 for most variants. 0x00C45B90 1096 CSkillEffect__init_floating_sprite_particle effect Initializes a floating sprite particle effect (type 0x2f). Loads texture based on param_3: type 5 picks random from 3 textures, type 2 picks melody_a/b, type 8 picks from spell_01-08 bitmaps. Configures scale (varies by type), position anchored to entity, random starting rotation. Supports multiple sub-layers for type 2 (melody notes). Type 7 uses special display mode 7, type 9 uses display mode 9. 0x00C45FE0 673 CSkillEffect__init_scatter_sprite_particle effect Initializes scatter sprite particles (type 0x31). Creates 2-3 particles (2 for param_3==1, 3 for param_3==0) with random start delay. param_3==0: random scale 0-5, position at entity height. param_3==1: larger random scale with multiplier, position offset below entity. Particles anchor to entity position with rotation speed 45 degrees. 0x00C46290 374 CSkillEffect__init_rain_drop_particle effect Initializes rain drop particle effect (type 0x33). On first frame, creates particle with lifetime from parent (0x17c). Sets initial position to entity position with slight Y offset. Configures weather tint to 250.0 (0x437a0000). Loads sprite/act resources. Sets rendering mode 4. Initializes 4 trail slots as inactive. Calls CEffectParticle__copy_transform_to_particle_array. 0x00C46410 1100 CSkillEffect__init_directional_scatter_particle effect Initializes directional scatter particles (type 0x30). Creates 4 particles with different movement patterns based on param_3: type 0 uses random direction/offset, types 1-2 use mirrored diagonal movement (first 2 vs last 2), types 3-4 use axis-aligned movement with first pair active only. Each variant stores type in field 0x3fc. 0x00C46860 2158 CSkillEffect__init_expanding_4layer_particle effect Initializes a 4-layer expanding particle effect (type 0xa9). Creates during first 4 frames. Each layer has rotation speed 0x168, random starting angle, scale based on frame*2 + offset (varies per layer). All 4 layers use same texture with sub-particle arrays zeroed. Used for multi-ring expanding aura effects around entities. 0x00C470D0 673 CSkillEffect__init_small_orbiting_particle effect Initializes a small orbiting particle effect (type 0x24). Single layer with rotation speed 0x168, height 15.0, random start angle, random rotation offset. Scale ~2.6, rotation speed 80. Stores param_3 type in field 0x318. Similar to expanding_4layer but simpler with 1 active layer plus sub-particle arrays. 0x00C47380 562 CSkillEffect__init_homing_sprite_particle effect Initializes a homing sprite particle effect (type 0x7f). Single particle with scale 1.0, positioned at entity with negative height offset from field 0x13c. Has 4 sub-layers (0x49c, 0x550, 0x604) all active. Random start rotation, display mode 2. Used for tracking/homing projectile visuals. 0x00C475C0 372 CSkillEffect__init_expanding_circle_effect effect Initializes expanding circle particle effect. On frame 100, creates particle type 0x4A with blend mode 5. Loads texture from param_2. Configures single particle slot at entity position with Y offset -5.0. Sets radius to 8.0, heading to 360 degrees (full circle), and alpha to 0 (fades in). 0x00C47740 585 CSkillEffect__init_slash_trail_effect effect Initializes slash trail effect (type 0x37, flag 0x200) at frame 40. Creates 4 particles with slash01.tga texture. Each particle gets direction angle computed from entity to target position. param_2 controls forward/backward Y offset distribution. Scale 100, lifetime 1. Used for melee slash visual trails. 0x00C47990 1147 CSkillEffect__init_line_projectile_effect effect Initializes line projectile effect (type 0x38, flag 0x201). Creates 4 particles with line3.tga (param_2<10) or line3y.tga (yellow variant). Each particle has randomized scale, position offset, and speed based on param_2 type ranges (0-9, 10-19, 20+). Direction angle computed from entity to target. Used for arrow/bolt trail effects. 0x00C47E10 337 CSkillEffect__init_shockwave_ring_effect effect Initializes shockwave ring particle effect (type 0x36). On first frame, creates particle with blend mode 5. Loads "effect\\shockwave_c.bmp" texture. Configures 4 particle slots at 90-degree intervals (0,90,180,270) with base angle from param_2. Each slot starts with radius 100.0, heading at its base angle, and alpha 0. Y position offset from terrain height. 0x00C47F70 818 CSkillEffect__init_directional_sprite_effect effect Initializes directional sprite-based effect (type 0x2e). Plays sound on first frame for param_2==0. Loads texture/act resources based on param_2 (0: specific sprite with action 2, 1-2: different sprites with action 6, 12-13: additional variants). Computes direction angle from entity to target, determines facing quadrant (0-3), copies transform. Sets flag 0x200 for sprite rendering. 0x00C482B0 1275 CSkillEffect__init_orbiting_element_balls effect Initializes orbiting elemental ball particles (type 0x20). Creates 1-5 balls based on field 0x180 (clamped to 1-5). Each ball has 6 random rotation angles, height -15, random starting position angle. param_2 controls variants: type 1 uses small scale (1.3), types 3-4 use density-based spacing, types 10+ use specific elemental textures (fire_1, lightning_1, water_1, stone_1, RL_richs_coin). Default uses thunder_center.bmp. 0x00C48820 1130 CSkillEffect__init_buff_scatter_particle effect Initializes buff scatter particle effect. Projects position to screen, plays EF_IncAgility.wav (or alternate for param_2==3). On even frames, creates scattered particles (type 0x10) with ac_center2.tga texture. param_2 controls particle parameters: types <2 have smaller speed/scale, types >=2 have larger values. Creates particles with randomized rotation, speed, and direction. Similar to increase_agility but more configurable. 0x00C48C90 575 CSkillEffect__init_aurora_particle_ring effect Initializes aurora particle ring effect (type 0x81). On first frame, creates particle with blend mode 5. Loads texture from param_2. Initializes 3 particle slots (at 0xB4 stride) with: alpha 30, radius 0, speed increasing by 1.0 per slot, heading at 25-degree intervals. Positions initialized to entity position with Y offset -10.0. param_3 stored as type flag at offset 0x450. 0x00C48ED0 1067 CSkillEffect__init_stacked_rotating_particle effect Initializes stacked rotating particle effect (type 0x84). Creates 4 layers with staggered start delays (-20 apart). Each layer has height 10.0, random rotation angles, and stores param_3 type. At frame 0 (or 99999998 reset), creates first set; at frame 10, creates second set. Used for multi-layer rotating buff indicators. Duration supports 99999999 for infinite display. 0x00C49300 2903 CSkillEffect__init_weather_particle_effect effect Initializes weather/environmental particle effect (type 0x21). Creates 4 particles with textures based on param_2: type 3 uses fog1/2/3.tga, types 9/15 use star01-06.bmp (6 textures), others use cloud4/1/2.tga. Each particle gets random position offset, scale, and rotation. param_2 controls spawn area and behavior: type 0 spawns at height -152, type 2/5 spawn at offset from entity, type 3 uses map ground height, types 9/15 spawn in wider area. Special handling for ecl_fild01 map (wider spawn range). 0x00C49E60 954 CSkillEffect__init_snow_projectile_effect effect Initializes snow/ice projectile effect (type 0x86). Creates 4 particles with E9_snow/snow01/snow02/snow03 textures. Each particle starts at target position with computed direction angle offset by 160+random(41) degrees. Random scale, random starting rotation. Used for ice/snow attack projectile effects that scatter from target location. 0x00C4A220 894 CSkillEffect__init_wedding_petal_effect effect Initializes wedding/petal particle effect (type 0x4e). Plays wedding.wav for param_3==0. Creates 4 particles with texture from param_2, each at 45-degree rotation intervals. Random height offset, random position scatter (-50 to +50), random Y position above entity. Random scale with multiplier. Used for flower petal / confetti visual effects. 0x00C4A5A0 166 CSkillEffect__init_red_ring_ground_effect effect Initializes red ring ground effect. On first frame, plays "effect\\EF_BeginSpell.wav" and creates two multi-ring ground effects using param_2 (texture path): one at angle 45 and one at angle 25, both with 3 rings. 0x00C4A650 1646 CSkillEffect__init_4layer_rotating_ground_effect effect Initializes 4-layer rotating ground particle effect (type 0x18). Creates particle with texture from param_2. Layer 1: rotation 0x168, height 40, start angle 0xb4, scale 8.0. Layer 2: rotation 0x168, height 39, start angle 0x10e, scale ~7.9. Layer 3: rotation 0x168, height 38, start angle 0, scale ~7.8. Layer 4: rotation 0x168, height 37, start angle 0x5a, scale ~7.7. All layers have sub-particle arrays zeroed. 0x00C4ACC0 180 CSkillEffect__init_begin_spell_effect effect Initializes a spell begin effect. Copies position from source entity at offset 0x138. If not on sub-map (0x178==0), plays BeginSpell.wav sound relative to camera, then creates two black ring ground effects (sizes 0x2d and 0x19). 0x00C4AD80 374 CSkillEffect__init_entity_aura_effect effect Initializes an entity aura/overlay effect (type 0x33). Creates an effect object, loads ACT resource, sets up particle with position offset below entity. Configures scale (0x318=1.2), clears multiple particle layer flags (0x49c, 0x550, 0x604). Copies entity transform to particle array. 0x00C4AF00 1165 CSkillEffect__init_super_nova_particles effect Initializes super nova particle effect (type 99/0x63). Loads 5 super textures (super1-5.bmp). For each particle (up to param_2 count), randomizes: Y offset (0-9), scale (0-4), angle (0-359), additional height layers. Each particle gets stride of 0xB4 bytes. Uses param_3 to set particle sub-type flag. 0x00C4B390 1899 CSkillEffect__init_ground_aoe_particle effect Initializes a ground AOE particle effect (type 0x52). Loads a single texture from param_2. Large switch on param_3 (0x01-0x22) to configure: particle scale, Y offset, rotation mode, visual type. Some modes use entity's custom range (0x13c). Mode 0x16 queries skill tree for radius calculation. Sets random initial angle, position, and height offset. 0x00C4BB00 3112 CSkillEffect__init_torch_particle_effect effect Initializes torch/flame particle effects (type 0x80). Loads different texture sets based on param_2: 0=dust01-09 (9 frames), 1=torch_red01-13 (13 frames), 2=torch_green01-13, 3=torch_violet01-13, 4=lord_stick_a-h + plazma_a-c + blast (11 frames). Configures particle scale from entity range or default, sets Y offset, rotation speed, and particle color type. 0x00C4C730 273 CSkillEffect__init_sprite_act_effect effect Massive sprite/ACT effect initializer with 80+ cases. Creates effect object (type 5), configures based on param_2: loads SPR/ACT files, plays sounds (blood_lust, firehit, itempokjuk), sets animation modes (billboard, looping). Handles hit effects, weapon impacts, elemental attacks, homunculus skills, and various visual overlays. Uses directional calculation for projectile-type effects (cases 8, 0x1c). Some cases set gravity offset, RGB tint, or random animation frames. 0x00C4E3F0 822 CSkillEffect__init_electric_chain_particles effect Initializes electric chain particle effect (type 0x66). Loads elec1.tga texture. Creates 4 particle chains (stride 0xB4) between source and target positions. For each chain: computes angle to target, randomizes scale and speed, initializes 3 sub-segments of 10 floats each (zeroed). Sets initial velocity to 20.0 units. Uses param_2 as chain count/type. 0x00C4E730 955 CSkillEffect__init_radial_electric_effect effect Initializes a radial electric effect (type 0x65) with guard condition 0x178 < 4. Loads elec1.tga, creates 4 particle slots (stride 0xB4). Each slot gets angle offset (sVar6 * 45 + param_3), random scale, initial position from entity. Clears 2 sub-segment arrays of 10 entries per slot. Sets particle rotation speed to 3. 0x00C4EAF0 936 CSkillEffect__init_radial_electric_effect_alt effect Initializes a radial electric effect variant (type 0x65) with guard condition 0x178 in range [0xB, 0xE]. Same structure as radial electric effect but activates only for specific sub-map values. Loads elec1.tga, 4 particle slots, rotation speed 0. Nearly identical to init_radial_electric_effect. 0x00C4EEA0 936 CSkillEffect__init_radial_electric_effect_alt2 effect Initializes a radial electric effect variant (type 0x65) with guard condition 0x178 in range [0x14, 0x17]. Same structure as other radial electric variants. Loads elec1.tga, 4 particle slots, rotation speed 0. Activates for a different sub-map value range than the other variants. 0x00C4F250 1024 CSkillEffect__init_multi_projectile_effect effect Initializes a multi-projectile sprite effect (type 8). Creates 4 projectiles at angles -90, -30, 30, 90 degrees. Each projectile: calculates distance and facing to target (0x180/0x188), computes travel speed, sets up parabolic arc (height velocity + gravity), applies rotation matrix for sprite orientation. Random RGB tint (160-240 range) and random scale. Loads SPR/ACT resources, sets animation mode 7. 0x00C4F650 1115 CSkillEffect__init_multi_projectile_colored effect Initializes colored multi-projectile sprite effects (type 8). Creates 4 projectiles at angles -90 to 90. Similar to init_multi_projectile_effect but adds color variant selection based on param_2: 0=random R/B + full G, 1=warm white (200-255), 2=dark (20-120). Each projectile gets parabolic trajectory, random scale, and direction-based rotation. 0x00C4FAB0 1900 CSkillEffect__init_portal_ring_effect_00c4fab0 effect Initializes a portal ring visual effect (type 0x3C). Plays EF_Portal.wav sound. Loads ring_blue.tga texture. Sets up 4 concentric ring layers with different scales and rotation speeds: layer 0 (scale 3.7, angle incr 90), layer 1 (scale 3.4, angle incr 90), layer 2 (scale 3.6, angle incr 10), layer 3 (scale 3.7, angle incr 5). All layers have 1400-frame lifetime and random initial angle. 0x00C50220 1888 CSkillEffect__init_teleport_ring_effect effect Initializes a teleportation ring effect (type 0x3C). Plays EF_Teleportation.wav. Loads custom texture from param_2. Sets up 4 ring layers with decreasing lifetimes (60 frames). Layer 0: expanding ring, layer 1: contracting ring at 45 deg offset, layer 2: fast expanding ring, layer 3: slow inner ring. All rings have 360-degree full rotation and varying scale speeds. 0x00C50980 1192 CSkillEffect__init_directed_torch_red_effect effect Initializes a directed red torch flame effect (type 0x85). Loads torch_red01-13 textures (13 frames). Configures a single particle with scale 12.0, positioned at Y offset. Computes facing angle from source to target position (0x180/0x188) + 180 degrees. Stores target coordinates and random initial rotation. param_2 sets particle sub-type. 0x00C50E30 647 CSkillEffect__init_heal_sparkle_effect effect Initializes a heal sparkle visual effect (type 0x3A). Plays heal_effect.wav sound relative to camera. Loads pikapika2.bmp texture. Creates a single particle with scale 10.0, small growth rate (0x414=0.02), random initial angle, and position at entity with Y offset. Activates only the first particle layer, clears remaining 3 layers. 0x00C510C0 1246 CSkillEffect__init_4layer_ring_effect effect Initializes a 4-layer concentric ring effect (type 0x6C). Loads texture from param_2. param_3 sets initial scale (0x318). Has two ring configuration modes (param_4=0 or 1) that vary ring sizes, angle increments, and rotation speeds for each of the 4 layers. Each layer has 7 sub-segments cleared to zero. All layers use 315-degree rotation range. 0x00C515A0 414 CSkillEffect__init_ground_indicator_particle effect Initializes a ground indicator particle effect (type 0x43). Loads texture from param_2. param_3 toggles between two modes: mode 0 (no initial scale, small size) or mode 1 (scale=100.0, larger size). Sets initial facing angle from target X position, and a slow growth rate (-0.05). Creates one active particle layer with position tilt angle of 150. 0x00C51740 864 CSkillEffect__init_expanding_ring_4slot effect Initializes a 4-slot expanding ring effect (type 0x42). Loads texture from param_2. Creates 4 ring slots with progressive offsets. param_3 selects ring behavior: modes 1/11 use wider spacing, modes 2/12/13 use tight spacing, mode 10 uses different height offset. Each slot stores source and target positions. Target position is computed as offset from source based on mode. 0x00C51AA0 722 CSkillEffect__init_spiral_ring_effect effect Initializes a spiral ring particle effect (type 0x71). Loads texture from param_2. Creates 4 ring slots with decreasing scale (6.0 to 4.0), each with radius 15.0, random initial angle, and 50-degree tilt. Scale 4.0 as base. Clears 3 sub-segment arrays per slot (7 entries each). Used for upward spiral visual effects. 0x00C51D80 451 CSkillEffect__init_flat_ring_rotation_effect effect Initializes a flat rotating ring effect (type 0x25). param_2 selects texture: 0=ring_yellow.tga, 1=ring_black.tga. Creates 2 ring slots with 90-degree separation, billboard render mode (flags 1\|5). Each slot has radius 60.0, scale 24.0, height 3.2, and no additional offset. Scale=1.0. Clears layers 2 and 3. 0x00C51F50 1054 CSkillEffect__init_grand_cross_ring_effect effect Initializes a Grand Cross ring effect (type 0x22). Plays cru_grand_cross.wav. param_3 selects texture: 0=ring_white.tga (scale 1.0), 1=ring_black.tga (scale 12.0). Creates all 4 ring layers with identical parameters: 90-degree rotation per frame, radius 120.0, scale ~19.85, tilt 90. Uses param_2 as initial angle offset. Layers are at compass directions (0, 90, 180, 270). 0x00C52370 288 CSkillEffect__init_magic_target_effect effect Initializes a magic targeting ground effect (type 0x70). Loads magic_target.tga texture. Simple single-layer particle with no rotation. Clears all 4 particle layers, then activates only layer 0 with initial angle 0. Used as a ground targeting reticle for magic skills. 0x00C52490 575 CSkillEffect__init_aoe_sprite_effect effect Initializes an AOE sprite effect (type 0x54) for skills like safety wall. Guard condition allows sub-map values 0-9. param_2 selects variant: 0 loads one pair of SPR/ACT, 1+ loads another. Mode 2 uses a fixed initial speed, others calculate speed from (10 - submap_value) * 3. Sets billboard rendering (0x200 flag), animation mode 2, scale 1.5. Copies entity transform to particle array. 0x00C526D0 1614 CSkillEffect__init_glass_wall_ring_effect effect Initializes Glass Wall ring effect (type 0x3C). Plays EF_GlassWall.wav. Creates 3 ring layers with scale 10.0. Layer 0: full rotation, radius 34.0, tilt 90. Layer 1: full rotation, radius 37.0, tilt 90. Layer 2: full rotation, radius 40.0, tilt 90. Long lifetime (5500 frames). Calls advance_sprite_animation at end. 0x00C52D20 5873 CSkillEffect__dispatch_particle_creation effect Dispatches skill particle effect creation. 5.8K bytes. Calls CSkillEffect__create_particle_effect with various configs, uses rand for randomization, runs anti-cheat sweep. No callers (likely virtual/callback). 0x00C54420 841 CSkillEffect__init_ice_stone_explosion_effect effect Initializes ice/stone explosion effect (type 0x75). Creates a grid of 5x5 positions with 4 debris objects each (100 total). Each debris: random angle, random elevation (60-100), random scale (300-349/1000). First 2 use stone.bmp, last 2 use ice.tga. Each has parabolic trajectory, rotation matrix from random angles, 240-frame lifetime with 10-frame fade. 0x00C54770 582 CSkillEffect__init_vertical_column_effect effect Initializes a vertical column/pillar particle effect (type 0x58). Billboard mode (flags 1\|5). Loads texture from param_2, height varies by param_4: 1=101.0, 2=102.0, 3=111.0 (with random Y drift), 4=113.0, 10=114.0. Sets single active particle with downward fall speed (-5.0 default, random for mode 3). Uses param_3 as initial frame counter. 0x00C549C0 542 CSkillEffect__init_maximize_power_effect effect Initializes Maximize Power skill effect (type 0x3D). Plays black_maximize_power_sword.wav. Loads 2 textures: param_2 and a01.bmp. Scale 11.0. Single active particle with radius 10.0, scale 1.0, and mode flag 1. Clears other 3 layers. 0x00C54BE0 625 CSkillEffect__init_kyrie_guard_effect effect Initializes Kyrie Eleison guard visual effect. Copies position from linked entity, creates effect type 0x3D with 2 textures (effect_kyrie_guard_wav, effect_guardK2_tga). Plays sound effect. Sets particle scale/rotation/fade parameters. param_3 selects effect variant (2/3/4/5 for different visual modes). 0x00C54E60 1164 CSkillEffect__init_super_novice_effect effect Initializes Super Novice angel/star effect. Creates effect type 0x23 with 5 textures (super1-5.bmp). Sets up multiple particle layers with random angles (0-360), speeds, and fall rates. param_2 controls particle count, param_3 is variant flag passed to each particle. 0x00C552F0 373 CSkillEffect__init_single_texture_aura effect Initializes a single-texture aura effect. Creates effect type 0x68 with flags 0x201 and 1 texture. Sets up a single active particle with scale 8.0, rotation period 0xB4 (180 degrees). Simple static aura around entity. 0x00C55470 5317 CSkillEffect__dispatch_particle_creation_b effect Second skill particle effect creation dispatcher. 5.3K bytes. Same pattern as CSkillEffect__dispatch_particle_creation - creates particle effects with randomization. No callers (likely virtual/callback). 0x00C56940 2780 CSkillEffect__init_heal_particle_effect effect Initializes heal/recovery particle effect with rising sparkle particles. Creates effect type 0x3C with rotating particles and optional secondary particle layer (type 0x3B with pok1/pok3 textures for splash variant). param_3=0: large heal with 60-frame duration, param_3=1: small heal with 30 frames and random size variation. Plays heal_effect.wav sound. Uses two concentric particle rings at offsets 0x3E8 and 0x49C. 0x00C57420 1026 CSkillEffect__init_pok_splash_effect effect Initializes pok/splash particle effect (skill impact visuals). Creates effect type 0x3B with 2 textures (pok1.tga, pok3.tga). Activates when frame counter is divisible by 4. Sets up 4 particles (0xB4 stride) with random positions around entity. param_3 controls variant: 0/2=small spread, 1/3=large spread with different color indices (0xB vs 0x12). 0x00C57830 1132 CSkillEffect__init_rotating_ring_effect effect Initializes a rotating ring particle effect. Creates effect type 0x6E with rotating particles (rotation=360deg), scale 12.0, target position passed as params. Sets up two concentric ring layers with color value 0x21 for all particle slots. Duration based on entity timer minus 25 frames. 0x00C57CA0 1538 CSkillEffect__init_white_particle_burst effect Initializes white particle burst effect (white02.bmp). Creates effect type 100 with 1 texture. param_2 controls intensity: 1=2 iterations (light burst), 3=5 iterations (heavy burst). Each particle has random upward velocity, angle offset from 125-245 degrees, random 360-degree rotation, and size variation. Includes trail buffer with color interpolation. 0x00C582B0 1020 CSkillEffect__init_white_rising_particles effect Initializes white rising particle effect (white02.bmp). Activates when entity frame counter is 6-9. Creates effect type 100 with 4 particles rising from entity position. Each particle has random upward velocity (0-30), angle 125-245 deg, random rotation, size 3-8. param_2=3 uses different fade speed. Trail buffer for smooth animation. 0x00C586B0 1275 CSkillEffect__init_directional_particle_burst effect Initializes directional particle burst using white02.bmp. Creates effect type 100 with particles aimed toward a target position (from offsets 0x180-0x188). Computes angle from entity to target, randomizes +-60 degrees spread. param_2=3: deeper upward velocity range (-25 to -46) with slower fade; default: shallower range (-15 to -40) with faster fade. 4 particles per effect with trail buffers. 0x00C58BB0 964 CSkillEffect__init_white_sparkle_particles effect Initializes white sparkle particle effect (white02.bmp, effect type 0x46). Activates when entity frame counter < 4. Creates billboard particles with OR'd flags (1\|5). 4 particles with random upward velocity, 125-176 deg angle range, random 360-deg rotation, size 3-10. Uses trail buffer for particle history. param_2 variant stored per particle. 0x00C58F80 851 CSkillEffect__init_white_projectile_effect effect Initializes white projectile particle effect (white01/white03.bmp). Creates effect type 0x2B with particles aimed at target position (0x180-0x188). param_2 controls variant: 2=slow downward with color 2, 3=fast downward (-70 to -100) with random color 3-5, 4=medium with white03 texture, default=fast downward with color 0. 4 particles with random 360-degree angles and scale 12. 0x00C592E0 430 CSkillEffect__init_magic_green_ring effect Initializes green magic ring effect (magic_green.tga). Creates effect type 0x4B with scale 9.0. Activates only on frame 5. Sets up 4 particles evenly spaced at 90-degree intervals (0x5A = 90 degrees each), with param_2 as angle offset. Each particle has scale 2.0 and distance 1.0. Also checks sprite animation advance when param_2 == 0. 0x00C59490 384 CSkillEffect__init_magic_blue_ring effect Initializes blue magic ring effect (magic_blue.tga). Creates effect type 0x4B with scale 4.0. Sets up 4 particles evenly spaced at 90-degree intervals with param_2 as angle offset. Each particle has size 2.0, scale 1.5, and distance 1.0. Always created regardless of frame counter (unlike green variant). 0x00C59610 839 CSkillEffect__init_fire_arrow_3d_effect effect Initializes fire arrow 3D particle effect (effect type 0x7C). Plays random EF_FireArrow sound (1-3) when frame is 12-15. Creates 3D mesh effect with random size (2-4 * scale factor), random scale (22-27 / divisor), position offset by random angle from entity. Sets 4 random rotation angles. Loads mesh/material via FUN_00cc2e00/FUN_00cbf930. Calls virtual method to select animation variant. 0x00C59960 530 CSkillEffect__init_alpha_center_target_effect effect Initializes alpha center targeting effect (alpha_center.tga). Creates effect type 0x26 on frame 0 only. Sets up single particle with fade rate 0.2, scale growing at 2.0 speed. Stores entity position as source, looks up target entity by ID (either local player or by find_map_by_id). If target not found, deactivates particle. Small variant with 0x3E4CCCCD scale. 0x00C59B80 530 CSkillEffect__init_alpha_center_target_large effect Initializes large alpha center targeting effect (alpha_center.tga). Creates effect type 0x26 on frame 0 only. Same as small variant but with scale 0x3F333333 (0.7) and growth rate 3.0. Resolves target entity position the same way - by player ID or entity lookup. 0x00C59DA0 558 CSkillEffect__init_cloud_target_effect effect Initializes cloud targeting effect (cloud11.tga). Creates effect type 0x26 on frame 0. Sets up particle with initial angle 45 degrees, fade rate 0.4. param_2=2 applies additional scale factor. Resolves target entity position by ID. Cloud/smoke visual connecting entity to target. 0x00C59FD0 1403 CSkillEffect__init_triple_ring_aura effect Initializes triple ring aura effect. Creates effect type 0x17 with 3 concentric ring layers. Special frame handling: resets to 0 if frame is 0x5F5E0FE (100M-2), sets duration to 99999999 (permanent). Ring 1: rotation 315deg, scale 15.0, size 3.9. Ring 2: rotation 315deg, scale 13.0, angle offset 90deg, size 4.1. Ring 3: rotation 315deg, scale 11.0, angle offset 180deg, size 4.3. param_3=1 increases base scale to 7.0. 0x00C5A550 525 CSkillEffect__init_dual_layer_aura effect Initializes dual layer aura effect. Creates effect type 0x1C with flags 0xD. Same permanent frame handling (0x5F5E0FE reset). param_3 controls scale: 0=4.0, 1=15.0, 2=17.0, 3=18.0 with different size factor. Two active layers with angle offsets 0 and 180 degrees, both at elevation 200. Vertical movement at -1.0 speed. 0x00C5A760 2947 CSkillEffect__init_elemental_aura_effect effect Initializes elemental aura effect with multiple variants. Creates effect type 0x1D with billboard flags. Same permanent frame handling. Selects texture based on param_2: 0=freezing_circle, 1-2=whitelight (2 has extra scale 7.0), 3=ghost. Multiple visual modes (1-8): 1/4=medium sparkle, 3=ghost scatter (random +-8 offset), 5/7/8=whitelight with special flags, 6=wide scatter (+-17 offset). Sets random rotation angles and height values per particle. 4 particles per effect. 0x00C5B2F0 642 CSkillEffect__init_random_sphere_particles effect Initializes random sphere particle effect. Creates effect type 0x51 with 2 textures on frame 0. 4 particles with random 360-degree angles in 3 axes, angle range 40deg, size 1.0, height 10.0. Random 50/50 chance of two color variants: (105,105,255) or (55,55,225). Scale speed 1-2 random. 0x00C5B580 815 CSkillEffect__init_radial_fan_effect effect Initializes radial fan particle effect. Creates effect type 0x29 on frame 0. 4 particles spaced at 90-degree intervals (0x5A each), rotating 360deg, scale 120.0. Staggered start delay (30-frame intervals). param_3 controls base scale: 0/1=standard, 2=7.0 scale, 3=6.0 scale. param_3=1 uses wider angle range (70deg vs 50deg). Trail buffer history for each particle. 0x00C5B8B0 132 CSkillEffect__play_sage_magic_rod_sound effect Plays Sage Magic Rod skill sound effect (sage_magic_rod.wav) on frame 0. Calculates 3D distance from entity to camera for volume attenuation. No visual effect created - sound only. 0x00C5B940 843 CSkillEffect__init_perimeter_attack_effect effect Initializes perimeter/expanding ring attack effect. Plays permeter_attack.wav at frame 20, EF_MagnumBreak.wav at frame 30. Creates effect type 0x49 with expanding rings on frames 25-55 (every 3rd frame, max 10 rings). Each ring set has particles evenly distributed, with size/radius expanding over time. Stores ring count at offset 0x170. 0x00C5BC90 280 CSkillEffect__spawn_periodic_particle_emitter_a effect Spawns periodic particle emitter variant A. Sets color to (155,155,255) with full alpha, and scale to (155,255,155). Every 20 frames (or on frame 9998), allocates 0x510 bytes for a new particle emitter, calls virtual init method with bounding box parameters, then adds to emitter list. Simple light/aura emitter. 0x00C5BDB0 280 CSkillEffect__spawn_periodic_particle_emitter_b effect Spawns periodic particle emitter variant B. Sets color to (225,225,255) with full alpha, and scale to (225,255,225). Every 10 frames (or on frame 9998), allocates 0x510 bytes for a new particle emitter. Same structure as variant A but brighter color and faster spawn rate. 0x00C5BED0 1403 CSkillEffect__init_triple_ring_aura_variant effect Initializes triple ring aura variant. Creates effect type 0x17 with billboard flags on frame 0. Three concentric ring layers with rotation 315deg. Ring 1: scale 15.0, angle 50 + 55, size ~12.9. Ring 2: scale 13.0, angle offset 90deg, size ~13.1. Ring 3: scale 11.0, angle offset 180deg, size ~13.3. Similar to init_triple_ring_aura but with variant timing (period=1). 0x00C5C450 595 CSkillEffect__init_ground_circle_effect effect Initializes ground circle effect. Creates effect type 0x1A on frame 0. param_3 controls scale: 4/14=111.0, 5=112.0, default=110.0. Size varies: 2/3=40.0, 4 uses stored value from offset 0x13C if >0 else 40.0, default=30.0. Rotation mode varies by param_3: 0/2=no rotation with elevation 200, fade -0.5; 5/14=no rotation with elevation 250; others=rotation 358deg with elevation 50, fade -0.4. 0x00C5C6B0 923 CSkillEffect__init_orbiting_spheres_effect effect Initializes orbiting spheres effect. Creates effect type 0x1B on frame 0. Sets up 4 particles with random 360-degree rotation angles in multiple axes. Height offset computed from param_3 * 2 with sign flip. Each sphere has fade 0.15 and scale 1.0. param_4=2 sets flag for reverse orbit direction. 0x00C5CA50 430 CSkillEffect__init_dual_layer_circle_aura effect Initializes dual layer circle aura. Creates effect type 0x1C with billboard flags on frame 0. Base scale 4.0. Two layers with size 46.0 each. Layer 1 at angle 0, layer 2 at angle 180. Both at elevation 25 with vertical movement at -1.0. Simple symmetric aura ring effect. 0x00C5CC00 669 CSkillEffect__init_3d_mesh_periodic_effect effect Initializes 3D mesh periodic effect (type 0x28). Same permanent frame handling (0x5F5E0FE). Spawns on even frames only, stops after frame 199. Random scale (2-4 * factor), random size (35-40 / divisor). Position scattered +-150 around entity X/Z, height offset below. Loads mesh materials, selects random animation variant (0-2), copies transform to particle array. 0x00C5CEA0 520 CSkillEffect__init_3d_mesh_sprite_effect effect Initializes 3D mesh sprite effect (type 0x33, flag 0x200). On frame 0. param_2=2: loads small mesh (100.0 bound), 12 subdivisions, no smoothing, buffer 0x800; default: loads large mesh (200.0 bound), 4 subdivisions, height offset applied. Copies entity position as source. Uses mesh loading via FUN_00cc2e00/FUN_00cbf930. 0x00C5D0B0 730 CSkillEffect__init_thunder_center_splash effect Initializes thunder center splash effect (thunder_center.bmp). Creates effect type 0x3B on frame 0. 4 particles scattered +-4 around entity position with random downward velocity (-10 to 0). Random size (0-15 * factor + 0.3). Color index 10. Random rotation speeds for trail animation. 0x00C5D390 430 CSkillEffect__init_poison_fog_effect effect Initializes poison fog/cloud effect. Creates effect type 0x48 with 0x200 flag (permanent frame handling). param_2=0: uses poison_f.bmp texture; other: uses white02.bmp. Single particle with size 30.0, positioned slightly below entity. Stores variant in effect field 0x45A. 0x00C5D540 720 CSkillEffect__init_falling_column_effect effect Initializes falling column particle effect (type 0x57). On frame 0. Single particle falling from above, with 3 secondary layers all active. param_3 controls size and variant: 0=size 12, height -115; 4=size 14, random height; default=size 8, height -80. param_3 1-3 set color variants 9 with different sub-indices. Color index 7 by default. 0x00C5D810 856 CSkillEffect__init_impact_splash_at_target effect Initializes impact splash effect at target position (from offsets 0x180-0x188). Creates effect type 0x3B on frame 0 with 2 textures. param_3 selects texture pair: 0=pok1/pok3 (color 0xB), 1=thunder_ball 2/3 (color 1), 2=meteo_comet b/c (color 7). 4 particles scattered +-4 around target with random rotation speeds. 0x00C5DB70 848 CSkillEffect__init_multi_orbit_particle_effect effect Initializes multi-orbit particle effect (type 0x73). Activates on frame 30. 4 particles with 3 orbit layers each (offsets +0, +0x30, +0x60). Each orbit has random 360-degree initial angle and 180-degree speed variation, with radius 230.0. Scale 1.0 with random size from 0-5 range. Random orbit speed multiplier (1-3). 0x00C5DEC0 882 CSkillEffect__init_pok_timed_splash_effect effect Initializes timed pok splash effect (pok1.tga, pok3.tga). Activates within a frame window controlled by param_3: variant 2 starts at frame 40 and ends at 120, others start at 0 and end at 80. Only triggers every 4th frame. Creates type 0x3B with 2 textures and 4 scattered particles. param_3 selects color variant: 0=0xB, 1/2=1, 3=0xD. 0x00C5E240 755 CSkillEffect__init_directional_scatter_effect effect Initializes directional scatter particle effect. Creates effect type 0x5E on a specific frame (param_4: 0=frame 35, 1=frame 0). Particles scatter in a 90-degree cone from param_3 direction using sin/cos lookup tables. 4 particles with random upward velocity (0-10), scale grows gradually (0.03 rate). Uses height offset -4.0 and random 360-degree rotation on each axis. 0x00C5E540 506 CSkillEffect__init_ground_marker_effect effect Initializes ground marker effect. Creates effect type 0x5F on frame 35 only. Single particle with size 22.0, positioned at entity's XZ coordinates. Height offset below entity. Random 360-degree initial rotation, rotation period 135 degrees. Color variant 2. Marks ground position for skill targeting. 0x00C5E740 1277 CSkillEffect__init_3d_scatter_particle_effect effect Initializes a 3D scatter particle effect (type 0x60). Has 2 modes based on param_3: Mode 0 (submap 0x23): single particle with random radius, random scale, negative frame counter, random Y offset, sinusoidal XZ drift using sin/cos LUTs, 4 random rotation angles. Mode 1 (submap 0): 4 particles with similar randomized properties and larger scale range. 0x00C5EC40 857 CSkillEffect__init_camera_sparkle_effect effect Initializes a camera-relative sparkle effect (type 0x34). Positions at camera instead of entity. Loads 3 textures: pok1.tga, pok3.tga, pok2.tga. Creates 4 particle slots with: negative frame offset (-300 to -350), random initial angle, copies camera position to 4 position buffers per slot. Random animation phase (0-4), random scale multiplied by angle, random facing angles. 0x00C5EFA0 100 CSkillEffect__play_sound_at_frame_300 effect Plays a sound effect at frame 300. If frame exceeds 2300, resets to 299. Simple frame-triggered sound playback with frame clamping. 0x00C5F010 4656 CSkillEffect__init_magic_ring_phased_effect effect Initializes a multi-phase magic ring effect. Phase 0 (submap 0): creates type 0x3C ring with magic_violet (or ring_red for param_2=3). 3 layers, full rotation, long lifetime. Phase 1 (submap 1): creates type 0x3F ring with blue or red texture, 3 layers with progressive height offsets. Phase 2 (submap 2): creates type 0x3E cloud effect with cloud11.tga, 4 layers with scaling sub-segments. 0x00C60240 3232 CSkillEffect__init_magic_ring_phased_alt effect Initializes an alternate multi-phase magic ring effect. Phase 0: creates type 0x3C ring with magic_violet/ring_red, 3 layers with scale 80.0. param_2=1 gets infinite lifetime (0xFFFF), others 1400 frames. Phase 2: creates type 0x3E cloud effect with cloud11.tga, 4 layers at different heights. Very similar to init_magic_ring_phased_effect but with different layer parameters. 0x00C60EE0 1003 CSkillEffect__init_cloud_ring_4slot effect Initializes a cloud ring effect (type 0x3E) with 4 slots. Loads cloud11.tga. param_2 selects mode: 0=expanding with random scale, 1=stacked with progressive offsets, 2=contracting rings, 3=tight contracting. Each slot gets 90-degree angle separation, random tilt (80-100), and 7 sub-segments initialized to 1.0. Used for cloud/smoke ground effects. 0x00C612D0 710 CSkillEffect__init_expanding_ring_4slot_alt effect Initializes an expanding ring effect (type 0x29) with 4 slots. Loads texture from param_2. Scale 5.0. When param_3=0: creates 4 ring slots with frame offset 200, full rotation, radius 120.0, progressive scale (6.0 + slot*1.0), decreasing tilt (83 down to 80). Each slot has 7 sub-segments cleared. Lifetime mode 1 (single cycle). 0x00C615A0 652 CSkillEffect__init_falling_particle_effect effect Initializes a falling particle effect (type 0x2B) with 4 slots. Loads texture from param_2. Each particle: positioned at target location with Y offset, negative frame counter for stagger (-18 to -48), scale 12.0, fall speed 1.0, random facing and rotation angles. param_4 selects particle sub-type (1=6, 7=7, 8=8, 9=9, default=2). Uses param_3 as angle parameter. 0x00C61830 585 CSkillEffect__init_falling_projectile_to_target effect Initializes falling projectile effect aimed at target position (0x180-0x188). Creates effect type 0x2B on frame 0. 4 particles with random downward velocity (-18 to -48), size 12.0, orbit speed 1.5. Random 360-degree angles, speed 3.5. Height offset applied to entity position. Color flag 1. 0x00C61A80 450 CSkillEffect__init_camera_angle_beam_effect effect Initializes beam effect aligned to camera angle. Creates effect type 0x5D on frame 0 with 1 texture. Reads camera rotation angle from field 0xD0+0x30, inverts it (360-angle). Sets particle size 50.0, rotation period 180deg. Single active particle aimed in camera view direction. 0x00C61C50 1549 CSkillEffect__init_portal_ring_effect effect Initializes portal ring effect (ring_blue.tga). Plays EF_ReadyPortal.wav every 14 frames. Creates effect type 0x3F on frame 0 with scale 5.0. Sets up 3 concentric rotating rings (layers at offsets 0x3E8, 0x49C, 0x550) with different speeds and sizes. Color flags all set to 1 for full white trail history. Duration 100 frames. 0x00C62260 1373 CSkillEffect__init_white_ring_periodic_effect effect Initializes white ring periodic effect (ring_white.tga). Creates effect type 0x3F every 100 frames. Same triple-ring structure as portal ring but with scale 16.0 and white color. Rings rotate at same speed with different height offsets and trail colors all set to 1. 0x00C627C0 514 CSkillEffect__update_movement_trail_effect effect Updates movement trail effect based on entity displacement. Tracks entity position every N frames (12 for param_2=1, 7 otherwise). When position changes, computes direction angle via atan2 approximation using sin lookup table, adds 135-degree offset. param_2=1: spawns trail effect IDs 0x146/0x147. param_2=2 with speed threshold: spawns IDs 0x1BF/0x1C0. Resets counter when wrapping past 2*N. 0x00C629D0 389 CSkillEffect__init_magic_blue_ring_with_flag effect Initializes blue magic ring with color flag (magic_blue.tga). Creates effect type 0x4B on frame 0 with scale 4.0. 4 particles at 90-degree intervals with size 2.0, distance 1.0. Similar to init_magic_blue_ring but sets color flag to 1 for each particle and uses no scale speed. 0x00C62B60 1746 CSkillEffect__init_multi_ring_ground_effect effect Initializes multi-ring ground effect. Creates effect type 0x1E on frame 0 with minimum duration 56. param_4 controls base scale (1-6: 8-12, 15: 7, 20-23: 24-27, 31: 31, 42-50: 42-50). Sets up 5 concentric rings with different angle offsets (param_2+135, +90, +45, +0) and sizes. Trail buffers per ring. If duration < 61, applies stagger delay (-5 frames per ring). 0x00C63240 438 CSkillEffect__init_colored_fog_effect effect Initializes colored fog/aura effect (white02.bmp). Creates effect type 0xAC with 0x200 flag (permanent). Stores RGB color (param_3, param_4, param_5) in effect field 0x1C0 and variant byte (param_2) in field 0x45A. Single particle, height offset below entity. 0x00C63400 1107 CEffect__init_multi_ring_effect effect Initializes a multi-ring visual effect (type 0x79). Creates effect object, loads texture from param_2, sets up 4 particle layers with different sizes (13.0, 11.0, 9.0), angles (0x13b), and scaling. Copies position from offset 0x180-0x194. Initializes sub-particle arrays within each layer. Only creates if field 0x178 == 0. 0x00C63860 423 CEffect__init_scatter_particle_effect effect Initializes a scatter particle effect (type 0x78). Creates effect with no texture count (0x204=0). Sets up 4 particle layers at randomized Y-heights (rand()%5 offset from base). Each particle positioned at object XZ with varying Y. Uses param_2 as boolean flag stored in each particle's 0x450 field. 0x00C63A10 842 CEffect__init_blue_ring_effect effect Initializes a blue ring visual effect (type 0x79). Loads "effect_ring_blue.tga" texture. Creates 3 ring layers with decreasing sizes and increasing rotation angles (0, 90, 180 degrees). Each ring has angle 0x13b, scale based on layer index. Stores lifetime 99 in each layer. Only creates if field 0x178 == 0. 0x00C63D60 727 CEffect__init_directional_particle_effect effect Initializes a directional particle effect (type 0x7a). Loads texture from param_2. Sets up 4 particles with behavior determined by param_3 (0-5): types 0/1=large scale (25.0), types 2/3=small scale (6.0), types 4/5=large with type 3 flag. Even/odd param_3 controls horizontal flip. Particles positioned at object XYZ. 0x00C64040 671 CEffect__init_random_scatter_effect effect Initializes a random scatter effect (type 0x7d). Loads texture from param_2. Creates 4 particles with randomized scale (rand()%11 * multiplier + offset) and random speed (rand()%21). Particles positioned at object XYZ with Y offset. param_3 controls horizontal flip (0 or 1). Stores type flag 1 in each particle. 0x00C642E0 686 CEffect__init_spread_particle_effect effect Initializes a spread particle effect (type 0x7e). Creates 4 particles with scale 20.0. Position offset based on field 0x178 (0-4): 0=center, 1=+X offset, 2=-X offset, 3=+Z offset, 4=-Z offset. Random Y offset (rand()%5) and random rotation (rand()%360). Max 5 instances (0x178 < 5). 0x00C64590 561 CEffect__init_basic_particle_effect effect Initializes a basic particle effect (type 0x77). Loads texture from param_2. Creates 4 particles at object XYZ with randomized Y height (rand()%5), scale 20.0. Simple particle setup with sequential indices and 0.8 speed. No special flags or type modifiers. 0x00C647D0 527 CEffect__init_dual_layer_effect effect Initializes a dual-layer visual effect (type 0x4c). Loads texture from param_2. Sets up only 2 particle layers (not the usual 4). Both layers have size 10.0, scale 2.0, negative Y speed (-8.0), and alpha 200. No rotation. Field 0x604 and 0x550 disabled. Scale factor 4.0 at offset 0x318. 0x00C649E0 690 CEffect__init_3d_rotating_effect effect Initializes a 3D rotating visual effect (type 0x28). Has special 99999998 reset logic. Only creates on even frame counts and frame < 300. Random size (2-3x multiplier), random rotation on all 4 axes (0-360 each), random XZ position offset (0-300 range centered). Sets bounding box to 200.0. Plays random animation (0-2) with action 0x24. 0x00C64CA0 16 CEffect__set_field_460 effect Simple setter: stores param_2 into this->field_0x460. 0x00C64CB0 793 CEffect__init_shield_boomerang_effect effect Initializes shield boomerang visual effect (type 0x74). Plays "effect_cru_shield_boomerang.wav" sound on first frame. Creates effect at frames 0, 3, 6, 9, 12. Single particle with scale 5.0, random rotation (0-360), moves in sine/cosine direction. Enables 4 particle layers (0x3e8, 0x49c, 0x550, 0x604). 0x00C64FD0 801 CEffect__init_shield_boomerang_projectile effect Initializes shield boomerang projectile effect (type 0x2a). Plays "effect_cru_shield_boomerang.wav" sound. Calculates distance to target (0x180-0x188) using sqrt. Creates single projectile with scale 7.0, alpha 255, speed 2.0. Computes Y velocity based on distance ratio. Enables 4 particle layers. Only on frame 0. 0x00C65300 37 check_effect_enabled game_core Checks if an effect is enabled by calling FUN_00c36fc0 with (0,0,0). Returns true if result is non-zero. 0x00C65330 519 CEffect__init_purple_slash_effect effect Initializes purple slash visual effect (type 0x5c). Loads "effect_purpleslash.tga" texture. Creates 4 particles with scale 20.0, randomized Y height (rand()%5), negative start frame (-28 + rand()%6). param_2 stored as rotation angle. Speed 0.8 per particle. 0x00C65540 728 CEffect__init_sonic_wave_effect effect Initializes sonic wave visual effect (type 0x56). If param_2==1, loads 4 textures: sonic_wave1-4.tga. Otherwise loads single purpleslash.tga. Creates 4 particles with scale 20.0, randomized Y, negative start frame. param_2 stored as type flag in each particle's 0x451 field. Copies target position from 0x180-0x188. 0x00C65820 687 CEffect__init_rotating_3d_particle effect Initializes a rotating 3D particle effect (type 0x6d). Sets render flags with bitwise OR (1\|5). Single particle with scale 2.5, random rotation on all 4 axes (0-360). Stores target Y in 0x424 field. Computes initial position using trigonometric lookups. Only creates if field 0x178 == 0. 0x00C65AD0 1190 CEffect__init_orbiting_particle_effect effect Initializes orbiting particle effect (type 0x6f). Creates 2 particles (loop to 0x168) each with random scale (rand()%11) and random rotation on 8 axes (0-360 each). Particles orbit around target position (0x180-0x188). Size 0.07 base. param_3: 2=scale 4.0, 3=random scale 1-3, else 0. 0x00C65F80 615 CEffect__init_spinning_slash_effect effect Initializes spinning slash effect (type 0x5b). Creates 4 particles with negative random start frame (0-20), random scale (rand()%11), size 5.0, negative Y speed (-10.0). Rotation based on param_3 + 45-degree increments. Random lifetime (180+rand()%91). Speed 3-5 (random). 0x00C661F0 619 CEffect__init_expanding_slash_effect effect Initializes expanding slash effect (type 0x4d). Similar to spinning slash but with larger scale (14.0) and negative Y speed (-14.0). param_4==1 sets global scale to 10.0, else 4.0. Creates 4 particles with random rotation, alpha 100, lifetime 180+rand()%91. Speed 3-5 random. Rotation offset by param_3 + 45-degree increments. 0x00C66460 582 CEffect__init_ground_circle_effect effect Initializes ground circle effect (type 0x67). Single particle with size 40.0 (or 14.0 if param_3==10), scale 2.0, random rotation, Y speed 50.0 (or 70.0), XZ speed 5.0. param_3 controls subtype: 10=smaller with flag 1, 2=flag 10, other=flag 0. Stores 10 in field 0x450. 0x00C666B0 1490 CEffect__init_elemental_summon_effect effect Initializes elemental summon effect (type 0x55). param_2 selects subtype (0-4=different elements, 10=special, 11=special). Loads different model+texture pairs per subtype. At frame 0x41 and 0x42, creates blue ring sub-effects (type 0x4b) with "effect_ring_blue.tga". Plays animation action 0x10 via vtable. Some subtypes use render flag 0x200. 0x00C66C90 715 CEffect__init_blue_ivy_projectile effect Initializes blue ivy projectile effect (type 0x61). Loads "effect_blue_ivy.bmp" texture. Calculates distance to target using sqrt. Scale based on field 0x174 * multiplier + offset. Speed 2.0 with Y velocity computed from distance ratio. Start frame -15. Alpha 5. Enables 4 particle layers. 0x00C66F60 839 CEffect__init_blue_ivy_projectile_with_sound effect Initializes blue ivy projectile with sound effect (type 0x2a). Same as init_blue_ivy_projectile but plays a positional sound via CSoundMgr__play_sound_from_resource on creation. Uses "effect_blue_ivy.bmp" texture. Calculates distance to target, sets Y velocity from ratio. Start frame -15, alpha 5, speed 2.0. Enables 4 particle layers. 0x00C672B0 483 CEffect__init_falling_particle_effect effect Initializes falling particle effect (type 0x2c). Creates 4 particles with negative start frame (-10 to -34), scale -10.0 (falling), Y speed 3.0. Random rotation on two axes (0-360). Speed 0.7. Subtracts height offset from Y position. param_3 stored as type flag, 0x18 stored as sub-flag per particle. 0x00C674A0 735 CEffect__init_thunder_center_effect effect Initializes thunder center effect (type 0x2d). Loads "effect_thunder_center.bmp" texture. Creates 4 particles at target position (0x180-0x188) with random start frame (-40 to -30), random scale (rand()%16 * 0.4 + 0.1). Two random speed components for X/Z drift. Type flag 2 stored per particle. 0x00C67780 483 CEffect__init_falling_particle_effect_variant effect Variant of falling particle effect (type 0x2c). Similar to init_falling_particle_effect but with different parameters: start frame -20 to -29, scale -10.0, Y speed 2.0, speed 1.0. Stores 0x10 as sub-flag (vs 0x18 in the other variant). param_3 stored as type flag. 0x00C67970 1210 CEffect__init_teleportation_ring_effect effect Initializes teleportation ring effect (type 0x39). Plays "effect_EF_Teleportation.wav" sound. Creates 6 ring layers with graduated sizes based on param_3 multiplied by 60-degree increments. Each ring has different angle, rotation speed, and alpha values. Scale factor 4.0. Zeroes sub-particle arrays. Stores ring size as char in field 0x451. 0x00C67E30 976 CEffect__init_alpha_center_projectile effect Initializes alpha center projectile effect (type 0x45). Loads "effect_alpha_center.tga". Calculates angle and distance to target. Creates 4 particles with random start frame (-45 to -25), random XZ offset (0-100 range), random speed. Uses sin/cos lookup tables for directional movement. Max 4 instances (field 0x178 < 4). Speed multiplier 2.0. 0x00C68200 1014 CEffect__init_alpha_center_multi_projectile effect Initializes alpha center multi-projectile effect (type 0x45). Loads "effect_alpha_center.tga". Similar to init_alpha_center_projectile but allows up to 9 instances and has wider random start frame range (-30 to -140). Randomized size and Y speed. Speed multiplier 3.0. 0x00C68600 1257 CEffect__init_cloud_projectile_with_hits effect Initializes cloud projectile effect (type 0x45) with hit sounds. Loads "effect_cloud11.tga". Creates particles on first 2 frames. At frames 10, 20, 30 plays hit sounds ("EF_hit2.wav" and "EF_hit4.wav"). Uses angle computation and sin/cos positioning like other projectiles. Size 0.25 base, random Y speed. 0x00C68AF0 43 CEffect__trigger_global_effect_0xa5 effect Triggers a global effect (ID 0xa5) via the global vtable on first frame. Passes param_2 as the subtype parameter. Only fires when field 0x178 == 0. 0x00C68B20 1017 CEffect__init_arrow_projectile_effect effect Initializes arrow/projectile effect (type 0x35). param_3 controls subtype: 0=medium speed, 1=with level, 2=slow large, 3=slow with lifetime 330, 10/11=delayed start at frame 5/10. Calculates distance to target and sets speed accordingly. Scale varies: 2=2.0, 3=4.0, else=3.0. Alpha 255. Enables 4 particle layers. Computes travel duration from distance/speed ratio. 0x00C68F20 1057 CEffect__init_ambient_3d_object_effect effect Initializes ambient 3D object effect (type 0x7b). Uses player position (from get_field4_if_mode1). param_2 selects texture: 0/1=specific textures, 2=random from 3 options. Creates 4 particles with random XZ offset (-80 to +80), height from terrain interpolation. Random scale (rand()%11 * 0.1 + 2.0), random rotation on 4+1 axes. Type flag 7. 0x00C69350 713 CEffect__init_concentric_ring_effect effect Initializes concentric ring effect (type 0x1f). Creates 4 ring layers with 90-degree rotation spacing, size 25.0, angle 360 degrees. Sets bounding box to 99.0. Each layer has incrementing scale offset. param_3 stored as subtype in field 0x3ec. Zeroes all sub-particle arrays. Alpha 80. 0x00C69620 740 CEffect__init_concentric_ring_effect_variant effect Variant of concentric ring effect (type 0x1f). Similar to init_concentric_ring_effect but param_3==2 uses smaller size (15.0) and different alpha (70). param_3==3 sets extra scale 17.0 at 0x318. Each ring has 90-degree spacing, angle 360, zeroed sub-particles. param_3 stored as subtype. 0x00C69910 493 CEffect__init_valentine_model_effect effect Initializes valentine model effect (type 5). Plays "effect_vallentine.wav" sound. param_2 selects model: 2/3/4=different models with varying render flags. Default loads generic model with action 0x10. Type 4 sets render flag 0x200. Sets animation speed 2 and copy transform. Uses 0x1DC render flag 0x200. 0x00C69B00 1752 CEffect__init_heal_cloud_effect effect Initializes heal cloud effect (type 0x3e). Loads "effect_cloud11.tga". Creates multi-layer ring effect with 4 layers: size 8.0 with angle 90, size 8.0 with angle 70, size 8.0 with angle 50, size 8.0 with angle 30. Each layer has different sub-particle sizes (3.0, 2.5, 2.0, 1.5). Plays "heal_effect.wav" sound. Scale 4.0. 0x00C6A1E0 4603 CEffect__init_warp_portal_effect effect Initializes warp portal effect. Very large function with multiple phases: frame 0=creates alpha_down particle effect (type 0xc) with lifetime 99999999, frame 1=creates 4-ring type 0x41 effect with param_3-dependent scale, frame 2=second ring set. Has 99999998 reset logic. Also spawns secondary particle effects (type 7) every 10 frames with random positioning and rotation. 0x00C6B3E0 917 CEffect__init_waterfall_effect effect Initializes waterfall visual effect (type 0x4f). Loads 3 waterfall textures (waterfall11-13 or waterfall31-33 based on param_5). Creates particles with decreasing sizes (80, 67, 54...) that terminate when size < 29. Each particle has alpha 80 and param_3 stored as type. param_4 controls scale offset (0=+36, 1=+18). Fills speed arrays with graduated values. 0x00C6B780 1979 CEffect__init_water_splash_effect effect Initializes water splash effect (type 0x50). Randomly selects between "effect_waterp1.tga" or "effect_freeze_a_small.bmp" texture. Creates 4 particles with randomized 3D velocity, random rotation on 4 axes. param_2=axis swap flag (1=swap X/Z), param_3=spread control (0=wide +-22, 1=narrow +-11). Scale 0.05, scale factor 4.0. Type flag 2. 0x00C6BF40 1873 CEffect__init_whitelight_particle_effect effect Initializes whitelight particle effect (type 0x82). Loads "effect_whitelight.tga". Creates 4 particles with randomized 3D velocity, random rotation on 4 axes. param_2: 0=random spread, 1=centered with only first particle active, 2=extra speed flag. Has 99999998 reset logic. Scale 0.15, size 2.4. Render flags 1\|5. 0x00C6C6A0 1223 CEffect__init_directional_trail_effect effect Initializes directional trail effect (type 0xaa). Created every 10 frames for first 30 frames. Creates 4 particles with random scale, angle computed toward target. Each particle gets random rotation offsets clamped to 0-360. param_3==3 uses wider random scale range. Velocity based on XZ offset to target. Type flag stored from param_3. 0x00C6CB70 624 CEffect__init_ground_aura_effect effect Initializes ground aura effect (type 0x93). Single particle with param_3-dependent scale: 1/2=21.0 with type 6/7, else=13.0 with type 5. Zeroes sub-particle arrays. Alpha 0 initially. Only on frame 0. 0x00C6CDE0 1238 CEffect__init_bubble_ring_effect effect Initializes bubble ring effect (type 0x9e). Loads 27 animated textures "effect_W_bubble_01-27.tga". Creates 5 concentric rings with graduated sizes (30, 29, 28, 27, 27) and angles (180, 270, 0, 45, 90). param_2 offsets each ring's alpha. param_4==1 sets global scale 4.0. Min lifetime 100. Alpha 80 per ring. 0x00C6D2C0 1484 CEffect__init_bubble_ring_effect_variant effect Variant of bubble ring effect (type 0x90). Loads either 27 "W_bubble" textures (param_4<2) or 29 "W_A_top" textures (param_4=2/3). Creates 5 concentric rings like init_bubble_ring_effect but with slightly larger scale (4.1). param_4==1/3 sets global scale. Min lifetime 100. Short lifetimes get staggered start frames (-5 increments). 0x00C6D890 1325 CEffect__init_spell_circle_effect effect Initializes spell circle effect (type 0x95). Plays "effect_EF_BeginSpell.wav". param_4==10 loads 4 "YBfire" textures, else loads 27 "W_bubble" textures. Creates 5 concentric rings with size 23.0, angles (180, 270, 0, 90), varying alpha (75, 63, 52, 40). Min lifetime 120. param_4 stored as subtype. Scale 4.3. 0x00C6DDC0 1213 CEffect__init_severe_rainstorm_effect effect Initializes severe rainstorm effect (type 0xad). Plays "effect_EF_BeginSpell.wav". Loads 9 animated "new_severerainstorm" textures. Creates 5 concentric rings with size 20.0, angles (0, 90, 180, 270). param_5 used as scale for all rings. Min lifetime 120. param_4 stored as subtype. Alpha values 60, 55, 65, 70. 0x00C6E280 68 CEffect__init_dual_bubble_ring_effect effect Wrapper that creates two bubble ring effects with different alpha offsets (45 and 25). Calls init_bubble_ring_effect_variant twice with param_4=0. Only on first frame. 0x00C6E2D0 146 CEffect__init_ybfire_spell_effect effect Initializes YBfire spell effect. Plays "effect_EF_BeginSpell.wav" sound via CSoundMgr, then calls CSkillEffect__init_ground_aoe_particle with "effect_YBfire_01.bmp" texture and type 6. Only on first frame (field 0x178 == 0). 0x00C6E370 887 CEffect__init_animated_ground_effect effect Initializes animated ground effect (type 0x8f). param_3 selects texture set: 1=13 torch_red textures, 2=51 W_c textures, else=9 dust textures. Single particle with alpha 200, random rotation. param_3==2 uses custom scale/angle from fields 0x13c/0x140. Otherwise scale 18.0. Y speed -2.0. 0x00C6E6F0 497 CEffect__init_dual_texture_ground_effect effect Initializes dual-texture ground effect (type 0x94). Loads 2 textures from param_2 and param_3. Single particle with custom scale from field 0x13c (min 2.0, else 20.0). Rotation from field 0x140 (clamped 0-360, default 45). Random rotation angle, Y speed -2.0. 0x00C6E8F0 498 CEffect__init_hovering_particle_effect effect Initializes hovering particle effect (type 0x9c). Single particle with scale 6.0, alpha 120, lifetime angle 45. Positioned at object XYZ with Y offset. Random rotation (0-360). param_3 stored as subtype in field 0x451. 0x00C6EAF0 817 CEffect__init_line_beam_effect effect Initializes line beam effect (type 0x38). Loads "effect_line3.tga" (param_2<10) or "effect_line3y.tga" (param_2>=10). Creates 4 particles with scale 100.0. param_2%10 controls Y direction: 0=downward, 1=upward. Random size and speed. Angle computed toward target. Type flag varies (30-32 for param_2<10). 0x00C6EE30 862 CEffect__init_line_beam_effect_extended effect Extended line beam effect (type 0x38, render flag 0x201). Loads texture from param_3. Creates 4 particles with scale 100.0, random size, and angle toward target. Type flags vary by param_2 range: 10-19=types 10-12, 20-29=types 33-35, 30-39=types 36-38. Randomized height and speed. 0x00C6F190 787 CEffect__init_yellow_line_beam_effect effect Initializes yellow line beam effect (type 0x38, render flag 0x201). Loads "effect_line3y.tga". Creates 4 particles with scale 100.0. Similar to init_line_beam_effect but with render flag 0x201 and type flags 0-2 (random). Angle computed toward target. 0x00C6F4B0 608 CEffect__init_directional_line_beam effect Initializes directional line beam effect (type 0x38, render flag 0x201). Loads texture from param_3. Creates 4 particles with scale 100.0. Direction controlled by param_2 (LSB: 0=positive, 1=negative Y). Type flags 125-127 (random). Angle computed toward target. Only creates if param_3 is non-null. 0x00C6F710 444 CEffect__init_wide_beam_effect effect Initializes wide beam effect (type 0x9a). Single particle with scale 100.0, Y speed 50.0, size 5.0, height 80.0. Angle computed toward target. param_2 stored as type flag. Loads texture from param_3. 0x00C6F8D0 830 CEffect__init_multi_orb_effect effect Initializes multiple orbiting 3D objects (type 0x8a). Creates 1-5 orbs based on field 0x180 (clamped to 1-5). Each orb has random rotation on 6 axes, random angular offset, Y speed -15.0, scale 1.5. Loads 2 textures (second texture conditional on param_2==10). param_2 stored as type flag. Orbs spaced 72 degrees apart. 0x00C6FC10 885 CEffect__init_multi_thunder_orb_effect effect Initializes multiple thunder orbs (type 0x91). Creates 1-5 orbs based on field 0x180 (clamped 1-5). Loads "effect_thunder_center.bmp" and "effect_freeze_a.bmp" textures. Each orb has random rotation, Y speed -15.0, scale 1.0. Sub-particles per orb: staggered start frames (-20 increments), random rotation, alpha 200, size 3.0. 0x00C6FF90 1346 CEffect__init_skill_ring_effect effect Initializes skill ring effect (type 0x8b). Creates 5 concentric rings with param_4-dependent sizes: 2=25/24/23/22, 22=15/14/13/12, else=20/19/18/17. Scale 4.1, alpha 80 per ring. param_2 offsets each ring's alpha by 45-degree increments. Min lifetime 56. Short lifetimes get staggered start frames (-5 increments). Zeroes sub-particle arrays. 0x00C704E0 1035 CEffect__init_staggered_ring_effect effect Initializes staggered ring effect (type 0x84). Creates rings on frames 0 and 10 with render flags 1\|5. Each set has 4 particles with staggered start frames (-20 increments), random rotation, size 10.0, alpha 100, radius 10.0. param_3 stored as float in each particle. Scale 1.0. 0x00C708F0 134 CEffect__play_cloaking_sound effect Plays assassin cloaking sound effect ("effect_assasin_cloaking.wav") on first frame, then calls fade function with parameters (50, 0, 0, 0). Clears field 0xa4 (visibility flag). 0x00C70980 449 CEffect__init_expanding_circle_type_a3 effect Initializes expanding circle effect (type 0xa3). Creates 4 particles with scale 50.0, alpha 255. Rotation based on frame index * 4 + particle index, spaced at 30-degree intervals. Y speed -5.0. Max 3 instances (field 0x178 < 3). 0x00C70B50 466 CEffect__init_expanding_circle_type_a4 effect Initializes expanding circle effect (type 0xa4). Like type 0xa3 but with scale 100.0, size 15.0, alpha 255. Rotation spaced at 30 degrees with frame-based offset. Y speed -5.0. Max 3 instances. 0x00C70D30 468 CEffect__init_expanding_circle_type_a5 effect Initializes expanding circle effect (type 0xa5). Like type 0xa4 but starts with scale 0 and grows. Size 15.0, alpha 0. Rotation spaced at 30 degrees. Y speed -5.0. Zeroes field 0x424. Max 3 instances. 0x00C70F10 420 CEffect__init_expanding_circle_type_a2 effect Initializes expanding circle effect (type 0xa2). Scale 100.0, alpha 255. Rotation spaced at 30 degrees with frame-based offset. Y speed -5.0. Max 3 instances. Similar to type 0xa4 but no size field set. 0x00C710C0 922 CEffect__init_sparkle_particle_effect effect Initializes sparkle particle effect (type 0x10). Projects world position to screen coordinates. Creates particle with random rotation, distance 3-9, lifetime 50. Random color tint (255 or 140 per RGB channel). Loads "effect_ac_center2.tga" texture. Uses X rotation of -90 degrees. Bounding box 200.0, size 0.015. Fade-in at last 20 frames. Even frames only. 0x00C71460 1014 CEffect__init_meteor_impact_effect effect Initializes meteor/tetravortex impact effect (type 0x8c). Plays "wizard_meteo.wav" at frame 0, plus secondary "blastmine" or "tetravortex" sounds at frames 10/20/50/80. Creates effect every 25 frames (up to frame 80). param_2==4 loads 8 "tv_1-8" textures with element-specific type flags (0x3ca-0x3cd). Custom scale from field 0x13c (default 30.0). Alpha 200. Random rotation. 0x00C719E0 636 CEffect__init_ground_marker_effect effect Initializes ground marker effect (type 0xa0). Single particle with param_3-dependent scale: 30/31=36.0 with type 19/21, else=5.0 with type 2. Positioned at object XYZ. Lifetime angle 135. Alpha 0. Random rotation. param_3 stored as type in field 0x454. 0x00C71C60 576 CEffect__init_orbiting_model_effect effect Initializes orbiting model effect (type 0xa7). Loads different models based on param_2 (9/10=one set, 20=another). Creates 4 particles orbiting at distance 2.0 using sin/cos positioning with 45-degree spacing per frame. Y offset -5.0, speed 0.3. param_2 selects type flag (0/1/4). Max 2 instances. Render flag 0x200. 0x00C71EA0 755 CEffect__init_directional_model_attack effect Initializes directional model attack effect (type 5). Creates on even frames (0,2,4,6). Computes rotation toward target using angle calculation, applies rotation matrix. Selects animation action (0/2/4/6) based on direction angle quadrant. Render flag 0x100 (0x200 on frame 0). Lifetime 20. Speed computed from target distance. Scale 1.0. 0x00C721A0 1978 CSkillEffect__init_fireball_phased_mesh_a effect Initializes fireball phased mesh effect variant A. Plays EF_FireBall.wav on frame 5. Creates 3D mesh effect (type 5) in 3 phases based on frame: 0-3=warm red (55,55,255), 6-9=medium red (30,30,255), 12-15=hot red (5,5,255). Each phase calculates Y-axis rotation from entity angle, applies matrix transform. Duration scales by frame offset. Uses 0x120 render flags. 0x00C72960 1978 CSkillEffect__init_fireball_phased_mesh_b effect Initializes fireball phased mesh effect variant B. Same structure as variant A but with different colors: phase 1=(155,155,255), phase 2=(130,130,255), phase 3=(105,105,255). Blue-tinted fireball variant. Plays EF_FireBall.wav on frame 5. 0x00C73120 853 CSkillEffect__init_directional_mesh_effect effect Initializes directional mesh effect (type 5) with direction-based animation selection. Activates on even frames 0-6. Computes angle from entity to target, adjusts by camera rotation. Selects animation based on angle quadrant: 0-89=anim 0, 90-179=anim 6, 180-269=anim 4, 270-359=anim 2. Frame 0 gets 0x200 flag (scale override). Green-tinted (105,255,105). Duration based on frame offset. 0x00C73480 37 check_skill_sprite_animation game_core Checks skill sprite animation state by calling CSkillEffect__advance_sprite_animation with (0, -80.0, 0). Returns true if animation is still playing. 0x00C734B0 246 CEffect__check_should_render_effect effect Checks whether this effect should be rendered. Checks game setting option 8 and field 0x11c98. For effect ID 0xe8 (special map effect), checks BGM map, model loading, and other conditions. For other effects, checks if the attached object has a model loaded and is visible. Returns 0 to skip rendering, 1 to render. 0x00C735B0 1424 CSkillEffect__init_3layer_persistent_ring effect Initializes a 3-layer persistent ring effect (type 0x3C). Loads texture from param_2. Scale 16.0. Layer 0: radius 74.0, scale 1.3, tilt 90, 3080-frame lifetime. Layer 1: radius 77.0, scale 1.0, tilt 90. Layer 2: radius 80.0, scale 0.7, tilt 90. All layers have full 360-degree rotation and random initial angles. Long-lived ground effect. 0x00C73B40 164 CEffect__init_white_ring_spell_effect effect Initializes white ring spell effect. Plays "effect_EF_BeginSpell.wav" with Y offset -100. Creates two ring effects via FUN_00c62b60 using "effect_ring_white.tga" with alphas 45 and 25, subtype 15. Only on first frame. 0x00C73BF0 1250 CSkillEffect__init_heal_sparkle_multi effect Initializes multi-particle heal sparkle effect (type 0x3B). Mode 0: plays heal_effect.wav at -40.0 height. Mode 1: plays different sound at -80.0 height. Creates 4 particles every 4th submap frame. Loads pok1/pok3 textures (or custom for mode 2). Particles scattered randomly around entity with random scale, rise speed, and rotation. Mode 2 uses larger scatter radius. Sets brightness/growth mode per param_3. 0x00C740E0 682 CSkillEffect__init_bubble_trail_effect effect Initializes a bubble trail effect (type 0x92). Loads 13 W_bubble textures (even numbered 02-28). Creates 4 particle slots with staggered frame offsets (-8 increments). Each bubble: computes facing angle to target +195 degrees, radius 30.0, 315-degree rotation range. Bubbles decrease in scale and tilt along trail. param_3=1 adds Y offset. Loads ac_center2.tga. 0x00C74390 952 CSkillEffect__init_screen_projectile_effect effect Initializes a screen-space projectile effect (type 0x10). Projects entity world position to screen coordinates. Creates one particle per odd submap frame. Random angle, random distance (3-9), -90 degree X rotation. Slow fade (0.015), random scale (30-89/40). Height 200.0 with 20-frame fade-in. param_2 selects color: 2=random blue tint, else=random green tint. Loads ac_center2.tga. 0x00C74750 1033 CSkillEffect__init_entity_facing_electric_effect effect Initializes an entity-facing electric chain effect (type 0x87). Loads elec1.tga. Creates 4 chains with progressive timing offsets. Each chain faces the entity's rotation direction minus 30 degrees. Random scale, initial position at entity with Y offset. Clears 3 sub-segment arrays per chain. Uses param_3 as chain lifecycle parameter. 0x00C74B60 95 CEffect__dispatch_effect_type_0x6d effect Dispatches an effect via vtable call with type 0x6d (109) and subtype 0xa4 (164). Calls vtable[2] with extensive parameters, then calls FUN_00cadd60 with (0xa4, 0, 0, 0). Does not return. 0x00C74BD0 540 CSkillEffect__init_dual_layer_billboard_effect effect Initializes a dual-layer billboard particle effect (type 0xA1). Billboard render mode (flags 1\|5). Loads texture from param_2. Scale varies by param_3: 1=15.0, 2=17.0, 3=18.0, default=4.0. Creates 2 active layers with same scale, tilt angle 0 and 180, same initial angle 200, and slow shrink rate (-1.0). param_3=3 uses larger height value. 0x00C74DF0 599 CSkillEffect__init_spherical_scatter_effect effect Initializes a spherical scatter particle effect (type 0x9F). Loads texture from param_2. Creates 4 particles scattered on a sphere using sin/cos LUTs for XZ positioning. Each particle: random negative frame offset (stagger), scale 4.0, random azimuth and elevation angles, fall speed -5.0, growth rate 0.5. Uses param_3 as sub-type flag. 0x00C75050 1411 CSkillEffect__init_ring_scatter_multi_mode effect Initializes a multi-mode ring scatter effect (type 0x89). Scale varies by param_3 (1-3=fixed, 10=random 4-8, 11=5.0, 12=random 4/40/41). Creates 4 slots with 90-degree separation. Mode 11: tight radius with staggered timing. Mode 12: large radius with random timing. Default: radius 120.0 with random distance. Each slot gets random circular XZ offset, random scale, and 7 sub-segments cleared. Stores delta to target in slot 3. 0x00C755E0 1236 CSkillEffect__init_ring_scatter_with_direction effect Initializes a ring scatter effect with direction delta (type 0x89). Very similar to init_ring_scatter_multi_mode but stores direction vector (target - source) in each slot's extra position buffer (0x490/0x494/0x498). Scale varies by param_3, modes 10/11 have special behavior. 4 slots with 90-degree separation, progressive offsets. Used for directional ring effects. 0x00C75AC0 605 CSkillEffect__init_periodic_scatter_particles effect Initializes periodic scatter particles (type 0x9D). Fires every 10th submap frame (0x178 % 10 == 0), up to submap 1000. Creates 4 particles with random radius, random scale, random rotation angle, random height offset (-80 to -59), random XZ speed (0-32), random sub-type (0-2). Used for ongoing environmental scatter effects. 0x00C75D20 1400 CSkillEffect__init_periodic_white_ring_3layer effect Initializes periodic 3-layer white ring effect (type 0x3F). Fires every 100th submap frame. Loads ring_white.tga. Scale varies by param_2 (1=8.0, 2=6.0, default=4.0). 3 layers with progressive height offsets (-10, -20), full rotation, 100-frame lifetime. Sub-segments initialized to 1. Stores mode 4 in layer 3 extra field. 0x00C762A0 1406 CSkillEffect__init_periodic_white_ring_scaled effect Initializes periodic white ring effect with scale from param_2 (type 0x3F). Fires every 100th submap frame. Very similar to init_periodic_white_ring_3layer but uses (float)(int)param_2 as initial scale. 3 layers with same structure. param_2=0x1D sets mode 5 in layer 3 extra, else mode 1. 0x00C76820 958 CSkillEffect__init_dual_orbit_particle_effect effect Initializes a dual-orbit particle effect (type 0xA6). Creates two particle systems: inner orbit (scale 6.0, tilt 205, fade rate 0.01) and outer orbit (scale 10.5, tilt 255, fade rate 0.015, growth 1.0). Each has 4 slots with angle offsets based on submap phase (submap*4 + slot)*45. Guard condition submap < 2. Fall speed -5.0 for both orbits. 0x00C76BE0 1663 CSkillEffect__init_lightning_bolt_particle effect Initializes a lightning bolt particle effect (type 0x9B). Fires every 10th submap frame, max submap 30. Computes facing angle to target, stores direction delta. Creates single particle with random radius, random scale, 4 control points with random angle offsets (base angle +/- 45 degrees), amplitude 180.0. All angles clamped to 0-360 range. Uses param_3 as sub-type. 0x00C77260 922 CSkillEffect__init_snow_particle_effect effect Initializes snow particle effect (type 0x3B). Creates 4 particles every 8th submap frame, up to submap 100. Loads E9_snow03.tga and E9_snow02.tga. Particles scatter randomly around entity (radius 0-40, random angle). Random scale, random depth offset (0-30 below entity). param_3 sets brightness mode: 0=11, 1/2=1, 3=13. 0x00C77600 679 CSkillEffect__init_directional_bubble_wave effect Initializes directional bubble wave effect (type 0x92). Fires at submap frames 0, 20, 40. Loads texture from param_2. Creates 4 slots with staggered frame offsets. Each computes facing angle to target +195 degrees. param_3 selects radius: 0=larger (6.0), else smaller (5.0). Decreasing tilt and scale along slots. 0x00C778B0 705 CSkillEffect__init_rotating_3d_particle effect Initializes a rotating 3D particle effect (type 0x97). Billboard mode (flags 1\|5). Single particle with scale 2.5, Y target from param source. 4 random rotation angles (0-359), speed 5.0, sinusoidal drift using trig LUTs. Stores param_3 as sub-type. Position offset computed from sin/cos tables with negation. 0x00C77B80 374 CSkillEffect__init_skill_sprite_with_entity_data effect Initializes a skill sprite effect (type 0xA8) that reads entity data. For skill ID 0x4D8: loads specific SPR/ACT, sets animation mode 8, billboard 0x209 flags. Copies entity fields 0x128 and 0x12C to effect extra data. Adjusts opacity (255 or 70) based on entity flag at 0x130. Resets submap counter on last frame. 0x00C77D00 580 CSkillEffect__init_orbital_particle_sprite effect Initializes orbital particle sprite effect (type 0x98). Guard submap < 10. Creates 4 orbital slots with scale 0.3, size 2.0. Each slot has 6 random rotation angles (0-359) and 6 random drift angles. Stores param_2 as sub-type. Loads SPR/ACT resource, sets animation mode 8 with billboard rendering (0x200 flag). Copies transform to particle array. 0x00C77F50 2786 CSkillEffect__init_ground_sprite_scatter effect Initializes ground-level sprite scatter effect (type 0x99). param_2 controls many variants (0-15) with different sprites, scales, and spawn patterns. Creates particles at ground height (uses C3dAttr__GetInterpolatedHeight). Loads different sprite/act resources per variant (types 2-8 each load unique textures, type 9 uses star sprites, types 13-14 use special resources). Particles scatter around entity position with sin/cos table positioning. 0x00C78A40 1771 CSkillEffect__init_buff_with_scattered_particles effect Initializes buff effect with scattered particles. On first frame, plays EF_IncAgility (param_2==1) or EF_DecAgility (param_2==0) and creates main particle with texture from param_3 (SSO string). Calculates texture dimensions for scale. On even frames, creates secondary scattered particles (type 0x10) with ac_center2.tga. param_2==1 gives green tint (0,255,255), param_2==0 gives red tint (255,0,0). 0x00C79130 615 CSkillEffect__init_stacked_height_particle effect Initializes stacked-height particle effect (type 0x8d). Creates 4 particles with texture from param_2, each at different heights (offset -14, -10, -5, 0 from entity Y). All particles have staggered start delays (-10 apart), rotation speed 215, scale 20, display mode 2. param_3 stored for variant control. Particles anchor at entity XZ position. 0x00C793A0 1152 CSkillEffect__init_cloud_projectile_effect effect Initializes cloud projectile effect (type 0x45) using cloud11.tga. Creates 4 particles during first 2 frames with direction toward target. Each particle has random starting delay, position offset, speed, and scale. Particles travel forward with randomized spread. Plays EF_hit2.wav at frame 10 and EF_hit4.wav at frame 20 for impact sounds. Saves start/current positions for interpolation. 0x00C79820 1122 CSkillEffect__init_cloud_projectile_large effect Initializes large cloud projectile effect (type 0x45). Very similar to init_cloud_projectile_effect but with larger spread, higher speed (100 vs variable), and different scale parameters. Creates 4 particles during first 2 frames targeting enemy position. Plays EF_hit2.wav at frame 10 and EF_hit4.wav at frame 20. 0x00C79C90 56 dispatch_effect_type_0x38f game_core Dispatches effect type 0x38f (911) via FUN_00cadd60 with params (0x38f, 0, 0, 0). Does not return. 0x00C79CD0 573 CSkillEffect__init_rotating_4ring_particle effect Initializes 4-ring rotating particle effect (type 0x1f). Creates 4 particles from texture param_2, each at 90-degree intervals (0, 90, 180, 270). All have rotation speed 0x168, height 25, speed 80. Each ring has 21 sub-particles (0x15) zeroed out. Scale offset randomly between 2-3. Uses custom float conversion via FUN_00e628c0. 0x00C79F10 598 CSkillEffect__init_anchored_sprite_particle effect Initializes anchored sprite particle effect (type 0x88). Creates single particle from texture param_2 positioned at entity location. Scale 1.0, rotation speed 45, random initial speed offset. Particle anchors to entity XYZ position. Display mode 0, movement mode 1, display variant 1. Used for simple attached sprite effects. 0x00C7A170 2586 CSkillEffect__init_freeze_particle_system effect Initializes a freeze/water particle effect system. Creates particle effect type 0x96 (150), loads either waterp1.tga or freeze_a_small.bmp randomly. Sets up 4 particles (0x2d0/0xb4=4) with randomized positions, velocities, angles, and sin/cos rotation transforms. Copies position from linked object at +0x138. 0x00C7AB90 718 CSkillEffect__init_water_effect effect Initializes a water skill effect (type 0x8E/142). Loads 4 sets of water textures: W_C_water (30 frames), W_B_water (30 frames), W_bubble (27 frames), W_A_water (30 frames) = 117 total texture slots. Sets initial water height and direction angle. Creates particle effect from linked object position at +0x138. 0x00C7AE60 104 std__destroy_range_0x30_elements_00c7ae60 stl Destroys a range of 0x30-byte elements by calling STL_string_dtor twice per element (two std::string members per 0x30-byte struct). Iterates from param_1 to param_2. 0x00C7AED0 551 std__vector_0x30__emplace_with_grow stl STL vector emplace/insert with reallocation for elements of size 0x30 (48 bytes). Grows capacity by 1.5x. Allocates new buffer, copy-constructs the new element at the insertion point, moves existing elements around it, then destroys and deallocates the old buffer. Returns pointer to newly inserted element. 0x00C7B100 137 std__copy_range_0x30_elements stl Copies a range of 0x30-byte elements from [param_1, param_2) into destination starting at param_3. Calls FUN_00c7b2f0 to copy each element. Destroys remaining destination elements after copy via std__destroy_range_0x30_elements. 0x00C7B190 97 std__copy_construct_0x30_element stl Copy-constructs a 0x30-byte element containing two std::string members at offsets 0x00 and 0x18 from source param_3. Uses SEH for exception safety. 0x00C7B200 225 CEffectConfig__ctor effect Constructor for CEffectConfig structure. Initializes all fields to zero/defaults. Sets initial value to 0x100, scale factors to 1.0 (0x3f800000) for X/Y/Z at offsets 0x14-0x1c and 0x38-0x40. Zero-initializes position, rotation, and other parameters. 0x00C7B2F0 184 CEffectConfig__copy_ctor effect Copy constructor for CEffectConfig. Copies two 24-byte blocks from source, each containing a 16-byte data section followed by an 8-byte SSO string. Moves the SSO strings (transfers ownership) by clearing source string buffers after copy. Uses SEH frame for exception safety. 0x00C7B3D0 166 STL_vector_0x30_clear_and_free stl Clears and frees a vector of 0x30-byte elements (CEffectConfig entries). Destroys each element via std__destroy_range, then frees the backing memory. Resets begin/end/capacity pointers to 0. 0x00C7B480 68 std__vector_0x30_clear_and_free_wrapper stl SEH wrapper around STL_vector_0x30_clear_and_free. Clears and frees the entire 0x30-byte element vector, not a single-element erase. 0x00C7B4D0 86 std__destroy_single_0x30_element stl Destroys a single 0x30-byte element by calling STL_string_dtor twice (for two std::string members). Uses SEH for exception safety. 0x00C7B530 444 CEffectConfigList__push_back effect Pushes a new CEffectConfig entry onto the vector. If at capacity, reallocates via FUN_00c7aed0. Otherwise copies two SSO strings from the input and increments the end pointer by 0x30 bytes. Uses SEH for exception safety during string construction. 0x00C7B6F0 147 CEffect__compute_perpendicular_direction effect Computes a perpendicular direction vector from the effect's orientation data at field 0x58. Uses vec3_normalize and vec3_cross_product to compute the perpendicular. Stores result in param_2 as (x, y, z) float triple. Used for effect positioning/orientation. 0x00C7B790 436 CEffectConfigList__trigger_map_effect effect Triggers a map-based visual effect based on param_2 type. Checks if existing effect is too recent (< 301 ticks). Maps param_2 to skill effect IDs: 0->0xe5, 1->0xe6, 2->0xe9, 3->0x203, 4->0x204, 5->0x250, 7->0x2b9, 8->0x2ba, 9->0x3b1, 10->0x415, 11->0x45b, 15->0x479. Creates the effect via CEntity__create_skill_effect on the player entity. 0x00C7B960 112 CEffect__dispatch_delayed_effect_0x14d effect Dispatches effect 0x14d (333) with 301-frame delay check. If attached object exists, checks if current frame - start frame >= 301 before dispatching. Sets param_1 object reference to player. Does not return after dispatch. 0x00C7B9E0 4 set_byte_to_one game_core Sets the byte at the given pointer to 1. Used as a flag/boolean setter. 0x00C7B9F0 78 CEffect__dispatch_effect_0x12d effect Dispatches effect 0x12d (301) immediately. Sets object reference to player entity. Does not return. 0x00C7BAA0 112 CEffect__dispatch_delayed_effect_0xa3 effect Dispatches effect 0xa3 (163) with 301-frame delay check. Same pattern as dispatch_delayed_effect_0x14d but with different effect ID. Sets player reference. Does not return after dispatch. 0x00C7BB20 112 CEffect__dispatch_delayed_effect_0xa2 effect Dispatches effect 0xa2 (162) with 301-frame delay check. Same pattern as other delayed dispatch functions. Sets player reference. Does not return after dispatch. 0x00C7BBB0 381 CEffectConfig__update_scale_animation effect Updates the scale animation state of an effect config. Handles three modes: mode 1 (shrinking toward zero), mode 2 (blinking at offset 0x58 with counter up to 1000), default (growing toward target scale). Computes final scale as 1.0 - (1.0 - base_scale) * (1.0 - anim_scale) for X/Y/Z. Also checks if the associated effect object is still alive. 0x00C7BD30 8 set_field_0x44_to_zero_00c7bd30 game_items Sets field at offset 0x44 to zero on passed object 0x00C7BD40 613 CEffectConfigList__check_map_effects effect Checks map name against effect config list entries and triggers corresponding map effects. Iterates through the config vector (0x30-byte entries). For matching map names, compares the effect type string: "snow" triggers effect 0xa2, "sakura" triggers 0xa3, "pokjuk" (fireworks) triggers 0x12d. Only triggers if option 8 (weather effects) is enabled in GameSettings. Throttles effect creation to every 300 ticks. 0x00C7C040 4 set_field_0x0_to_zero_00c7c040 game_items Sets first byte of param to 0; likely zeroing a flag or field 0x00C7C070 25 CEffect__extend_attached_object_lifetime effect Extends the attached object's lifetime by 300 frames. If field 0x44 (attached object ptr) is non-null, calls vtable[0x4c] (set lifetime) with current field 0x178 + 300. 0x00C7C0A0 22 std__destroy_range_wrapper stl Thin wrapper that calls std__destroy_range_0x30_elements_00c7ae60 with reordered parameters. 0x00C7C0C0 10 thunk_to_std__Xlength_error_00c7c0c0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00C7C0D0 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00C7C110 172 CNetSocket__ctor game_core Constructor for CNetSocket. Sets vtable, initializes socket FD to -1 (INVALID_SOCKET), field_18 (async flag) to 0, field_1c (send deadline) to 0. Initializes 3 CNetworkBuffer objects (recv, send, staging) and allocates 0xA000 bytes for each. Object size: 0x6c bytes. 0x00C7C1C0 189 CNetworkSession__ctor network Constructor for CNetworkSession (extends CNetSocket). Calls CNetSocket base init (vtable, 3 network buffers at 0xA000 each), then sets CNetworkSession vtable and initializes extra field at offset 0x6c to 0. Object size: 0x70 bytes. 0x00C7C280 105 CNetSocket__base_dtor game_core Base destructor for CNetSocket. Resets vtable to CNetSocket, then destroys 3 CNetworkBuffer objects in reverse order via CNetworkBuffer__dtor_safe. Called by both CNetSocket and CNetworkSession scalar deleting dtors. 0x00C7C2F0 126 CNetSocket__scalar_deleting_dtor game_core Scalar deleting destructor for CNetSocket. Resets vtable, destroys 3 CNetworkBuffer objects in reverse order. If param_2 bit 0 is set, frees the 0x6c-byte object allocation. Used as virtual dtor. 0x00C7C370 133 CNetworkSession__scalar_deleting_dtor network Scalar deleting destructor for CNetworkSession (extends CNetSocket). Resets vtable to CNetSocket base, destroys 3 CNetworkBuffer objects in reverse order. If param_2 bit 0 is set, frees the 0x70-byte object allocation (4 bytes larger than base CNetSocket). 0x00C7C400 161 verify_winsock_integrity game_core Anti-tamper check verifying Winsock function addresses haven't been hooked. Loads ws2_32.dll and compares GetProcAddress results for connect, closesocket, send(?), and select against the already-loaded module's addresses. Returns 1 if all match (no hooks detected), 0 if any function has been redirected. Used as part of anti-cheat/anti-bot detection. 0x00C7C4B0 19 winsock_cleanup game_core Cleans up Winsock: calls WSACleanup() and FreeLibrary on the loaded Winsock DLL handle stored in global DAT_016fdc88. 0x00C7C4D0 854 CNetSocket__connect_to_server game_core Establishes a TCP connection to a game server. Drains any pending receive buffer, resets send/receive buffers (0xA000 each), creates a non-blocking socket (AF_INET/SOCK_STREAM), resolves IP via inet_addr, sets port via htons, and calls connect(). Returns 1 on success or WSAEWOULDBLOCK (0x2733), 0 on failure. Stores server address info at this+8. 0x00C7C830 318 CNetSocket__disconnect game_core Disconnects the network socket. Calls closesocket() if socket is valid, resets socket handle to INVALID_SOCKET (-1), resets send/receive buffers (0xA000), clears connection state at +0x20. Inserts/updates a tree node with key=5 to track disconnect state in the UI navigation map. 0x00C7C970 79 get_job_sprite_count game_core Returns the number of sprites for a given job class ID. Special cases: job 0x2BF returns 12, job 0x2C0 returns 4. For other jobs, looks up the job info table and returns the sprite count (minimum 2). 0x00C7C9C0 13 get_socket_port game_core Returns the port value (2 bytes) from the structure pointed to by param_1. 0x00C7C9E0 35 CNetSocket__is_fixed_size_packet game_core Checks if a given packet ID is a fixed-size packet by looking up the packet table. Returns true if the packet type field equals 1 (fixed-size), false otherwise (variable-size). Used by CNetSocket__read_packet to determine how to read packet length. 0x00C7CA40 238 CNetSocket__recv_all_pending game_core Reads all pending data from the network socket into the receive buffer. Uses select() with zero timeout to poll for available data, then recv() into a 2048-byte temp buffer. Loops until no more data is available. On WSA errors other than WOULDBLOCK/INPROGRESS, disconnects. Returns 1 on success, 0 on disconnect. 0x00C7CB30 252 CNetSocket__flush_send_buffer game_core Flushes pending send buffer data to the socket. Checks if current time exceeds the send deadline at +0x1C, then uses select() to check socket writability, and send() to transmit data from the send buffer. Advances the buffer read position on successful send. Handles WSAEWOULDBLOCK/INPROGRESS gracefully. Returns 1 on success/would-block, 0 on fatal error (disconnects). 0x00C7CC30 37 CNetworkSession__is_socket_ready network Checks if the socket is ready for communication. Returns true if socket FD is -1 (not connected) or if both FUN_00c7ca40 and FUN_00c7cb30 return true (socket is readable/writable). 0x00C7CC60 47 CNetworkSession__update_connection_status network Updates connection status flag at field 0x20. If socket FD != -1, checks readability and writability. Sets field 0x20 to 0 if both pass (connected OK), 1 if either fails (connection error). 0x00C7CC90 75 CNetworkSession__read_from_buffer network Reads data from the network buffer. If param_3 is true (exact mode), reads exactly param_2 bytes and returns param_2 on success or 0 on failure. If param_3 is false (best-effort mode), reads up to param_2 bytes (clamped to available data) and returns actual bytes read. 0x00C7CCE0 198 CNetSocket__read_packet game_core Reads a complete packet from the receive buffer. Peeks the first 2 bytes to get the packet ID, then looks up the job/packet info. For fixed-size packets (type==1), uses get_job_sprite_count logic for size. For variable-size packets, reads bytes 2-3 as the length field (shifted right 16). Reads the full packet data and optionally outputs the packet size. Returns 1 on success, 0 if insufficient data. 0x00C7CDB0 14 CNetworkSession__alloc_recv_buffer network Allocates a single receive buffer of 0xa000 (40960) bytes via FUN_00c7f060. 0x00C7CDC0 44 CNetworkSession__alloc_triple_buffer network Allocates three 0xa000 (40960) byte buffers via FUN_00c7f060 calls. Used for triple-buffered network I/O. 0x00C7CDF0 57 CNetworkSession__send_data network Sends data over the network socket. If socket FD is -1, does nothing. If field 0x18 is set (async mode), just calls FUN_00c7f0e0. Otherwise calls FUN_00c7f0e0 followed by FUN_00c7cb30 (flush/wait). param_2=data, param_3=length. 0x00C7CE30 50 CNetworkSession__send_data_timed network Sends data with timing. Calls timeGetTime() first (for timing/latency tracking), then sends data via FUN_00c7f0e0 and flushes via FUN_00c7cb30. Only if socket FD != -1. 0x00C7CEC0 12 CNetworkSession__recv_data network Receives data from network socket by calling FUN_00c7f160. Wrapper for the receive operation. 0x00C7CED0 322 CNetSocket__set_batch_mode_and_flush game_core Sets the async/batch mode flag at +0x18 to param_2. If turning off batch mode (param_2=false), flushes all pending send buffer data by iterating: copies queued data to the socket send buffer, advances read position, and sends via select+send. Handles WSAEWOULDBLOCK/INPROGRESS gracefully. Disconnects on fatal send errors. 0x00C7D020 250 CNetSocket__init_winsock game_core Initializes Winsock (WSAStartup v1.1), loads ws2_32.dll, and resolves send/recv function pointers via GetProcAddress. Also performs an integrity check by loading ws2_32.dll a second time and comparing function addresses for connect, closesocket, send, and select to detect API hooking. Stores function pointers in globals. 0x00C7D7D0 293 CNetworkSession__get_singleton network Thread-safe singleton accessor for CNetworkSession. On first call, constructs the CNetSocket base (vtable, socket state, 3 network buffers at 0xA000 each), then upgrades vtable to CNetworkSession. Registers atexit cleanup handler. Returns pointer to global singleton at 0x016fdc98. 0x00C7D930 110 CNetSocket__free_send_buffer_chain game_core Frees a linked list of aligned send buffer blocks. Resets the count at param_2[1], then iterates the linked list starting at *param_2, freeing each block via operator_delete using the stored original allocation pointer at block[-1]. Validates alignment offset before freeing. 0x00C7D9B0 89 CNetSocket__free_aligned_buffer game_core Frees a single 32-byte-aligned buffer block. Reads the original allocation pointer at block[-4], validates the alignment offset is <= 31, then calls operator_delete with the original pointer. The buffer at this+4 was allocated with extra 0x23 bytes for alignment. 0x00C7DA10 100 CNetSocket__free_recv_buffer game_core Frees the receive buffer at this+4. Reads original allocation pointer from block[-4], validates alignment offset is <= 31, then calls operator_delete. Nearly identical to free_aligned_buffer but with different SEH handler. 0x00C7DA80 593 CNetSocket__encrypt_and_queue_packet game_core XOR-encrypts a packet and adds it to the send queue. Encryption key is derived from param_2 (2 ushorts XORed for length, second ushort used as XOR byte). Optimized: for data >= 64 bytes, does 64-byte blocks using 4-byte XOR; remainder done byte-by-byte. Pads remaining space (up to 0x1000 bytes) with random data. Allocates a 0x41000-byte aligned buffer, copies encrypted data, and inserts into a linked list. Max queue length is 0x3F03. 0x00C7DCE0 580 CNetSocket__encrypt_and_queue_packet_alt game_core Alternative XOR-encrypt and queue function, nearly identical to encrypt_and_queue_packet but uses a different list head (this+8/0xC instead of this+0/4). Same encryption: XOR with key byte from param_2[1], 64-byte optimized blocks, random padding to 0x1000, then allocates a 0x41000-byte aligned buffer and inserts into a linked list. Max queue 0x3F03. 0x00C7DF30 105 passthrough_copy_buffer game_core No-op encryption stub. Copies data from param_1 to a 1024-byte stack buffer, then copies it back unchanged. Sets *param_3 = param_2 (output size = input size). Always returns 0. Likely a placeholder/disabled encryption function. 0x00C7DFA0 64 CNetworkSession__flush_pending_packets network Flushes all pending packets from a linked list. Iterates the list at field [0], for each node: computes offset using magic value 0x40004, calls FUN_00c7df30 to send node data (at node+8) with flag=1. Continues until list wraps back to head. 0x00C7DFE0 66 CNetworkSession__flush_pending_packets_indirect network Similar to flush_pending_packets but accesses the list through an indirect pointer at field [8] and write pointer at field [0x10]. Iterates linked list nodes and sends each via FUN_00c7df30. 0x00C7E030 116 find_code_signature_pattern game_core Searches for a specific code signature pattern starting from param_1. Compares against global pattern at DAT_0135e600 (4+2 bytes). If the start matches, returns immediately. Otherwise scans forward byte-by-byte looking for the 6-byte pattern. Returns pointer to the match location + 1. 0x00C7E0B0 93 CNetworkSession__hook_send_function network Hooks a send function by following JMP chains, finding a signature pattern via FUN_00c7e030, then patching a CALL (0xE8) instruction at offset+6 and a JMP (0xE9) at offset+11. Uses VirtualProtect to make code writable. Stores hook entry point in field [0x10]. 0x00C7E110 151 CNetworkSession__init_packet_hooks network Initializes packet hooks for the network session. Resets two linked lists (at fields [0] and [8]) using FUN_00c7d930. Then hooks FUN_00c7df30 by following JMP chains, finding the code signature, and patching CALL+JMP instructions. Stores hook addresses. Uses VirtualProtect for code modification. 0x00C7E1B0 26 write_relative_call_instruction game_core Writes a relative CALL instruction (opcode 0xE8) at param_1 targeting param_2. Computes the relative offset as (target - (source + 5)) for standard x86 near call encoding. 0x00C7E1D0 20 write_relative_offset game_core Writes a 4-byte relative offset at param_1, computed as (target - source - 4). Used for patching relative jumps/calls where the opcode byte has already been written. 0x00C7E1F0 26 write_relative_jmp_instruction game_core Writes a relative JMP instruction (opcode 0xE9) at param_1 targeting param_2. Computes relative offset as (target - (source + 5)) for standard x86 near JMP encoding. 0x00C7E440 225 MD5__update security MD5 update function. Adds data to the hash state. Tracks bit count in state[0..1], buffers partial blocks at state+0x18, and processes complete 64-byte blocks via the MD5 transform function. Handles alignment of partial buffered data with new input. 0x00C7E530 351 MD5__finalize security MD5 finalize function. Appends padding (0x80 + zeros) to fill the block, appends the 8-byte bit length, processes the final block via MD5 transform, then extracts the 16-byte digest from the 4 state registers (A/B/C/D) into param_2 in little-endian byte order. 0x00C7E690 42 MD5__init security Initializes MD5 hash context. Sets bit count to 0 and initializes the standard MD5 initial hash values: 0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476. 0x00C7E6C0 1991 MD5__transform security MD5 block transform. Processes a single 64-byte (512-bit) block through all 4 rounds of MD5 (F/G/H/I rounds, 16 operations each = 64 total). Reads 16 dwords from the input block, applies the MD5 round constants and rotations, then adds the results to the running hash state at this+8/0xC/0x10/0x14. Handles unaligned input by copying to stack. 0x00C7EE90 206 CNetworkBuffer__init_with_size game_core Initializes a network buffer with a specified capacity. Zeros out the header fields (6 dwords), then resizes the underlying vector to the requested size, zero-filling if needed. Sets the data pointer to the start of the buffer (or null if empty). Used for send/receive buffers. 0x00C7EF60 96 CNetworkBuffer__init_empty game_core Initializes a network buffer to an empty state. Zeros the vector fields (base, end, capacity at offsets +0xC/+0x10/+0x14) and the data pointer at offset 0. No allocation is performed. 0x00C7EFC0 68 CNetworkBuffer__dtor_safe game_core SEH-safe destructor wrapper for network buffer. Calls STL_lib_func_004f9500 to free the buffer. Used by CNetworkSession cleanup. 0x00C7F010 58 CNetworkBuffer__read_bytes game_core Reads param_2 bytes from the network buffer into param_3. Buffer structure: [0]=data ptr, [4]=read offset, [8]=data size. Returns 0 if not enough data available. Advances read offset on success. Returns 1 on success. 0x00C7F050 7 CNetworkBuffer__get_available_bytes game_core Returns the number of available (unread) bytes in the network buffer. Computed as field[8] (write offset / data size) minus field[4] (read offset). 0x00C7F060 120 CNetworkBuffer__reset_with_size game_core Resets a network buffer and resizes to the specified capacity. Clears read/write offsets at +4/+8, resizes the internal vector to param_2 bytes (zero-filling new space), and sets the data pointer. Used to reset send/receive buffers to 0xA000 bytes. 0x00C7F0E0 122 CNetworkBuffer__append_data game_core Appends data to the network buffer. If the buffer doesn't have enough space, first tries to compact by moving unread data to the front (discarding already-read bytes). If still not enough, resizes to 2x the needed size. Copies param_2 bytes from param_3 to the write position and advances the write offset. 0x00C7F160 329 CNetworkBuffer__prepend_data game_core Prepends data to the front of the network buffer. Allocates a new buffer if needed, copies the new data first, then copies existing unread data after it. Resets the read offset to 0 and adjusts the write offset. Swaps the old and new buffer vectors and frees the old one. 0x00C7F2B0 47 CNetworkBuffer__peek_bytes game_core Peeks param_2 bytes from the network buffer into param_3 without advancing the read offset. Same as read_bytes but does not update field [4]. Returns 0 if not enough data, 1 on success. 0x00C7F2E0 39 CNetworkBuffer__skip_bytes game_core Skips param_2 bytes in the network buffer by advancing the read offset. Returns 0 (with high bytes cleared) if not enough data available. Returns 1 and advances offset on success. 0x00C7F310 94 CNetworkBuffer__resize game_core Resizes the network buffer to param_2 bytes. If shrinking, just moves the write pointer back. If growing within capacity, zero-fills the new space. If growing beyond capacity, calls std__vector_reallocate_and_fill to reallocate. 0x00C7F370 147 decrypt_packet_data_aria game_core Decrypts packet data using ARIA cipher. On first call, initializes ARIA key expansion with a hardcoded 32-byte key. Then decrypts param_1 into param_2 using aria_decrypt_block. The 16-byte input block is zero-padded for alignment. 0x00C7F450 36 CNetworkBuffer__scalar_deleting_dtor game_core Scalar deleting destructor for CNetworkBuffer (size 0x2c). Sets vtable to PTR_FUN_0119fa94. If bit 0 of param_2 is set, frees memory via FUN_00e6227f. 0x00C7F480 135 CPacketObfuscation__init_keys game_core Initializes packet obfuscation keys. Extracts nibbles from param_2 to compute key1 (stored at +4). Computes key2 (+8) as 0x343fd. Computes key3 (+0xc) by XOR-ing shuffled nibbles with param_3. The nibble extraction creates a deterministic key from the seed values. 0x00C7F530 55 get_frame_tick_count game_core Computes the number of frame ticks elapsed since the last call. Uses timeGetTime() divided by the frame interval (DAT_0171dd14). Returns 1 if frame tracking is disabled (DAT_01361654==0), otherwise returns actual elapsed ticks. 0x00C7F570 31 set_target_framerate game_core Sets the target framerate. Stores current time as baseline (DAT_0171dd10) and computes frame interval as 1000/param_1 milliseconds per frame (DAT_0171dd14). E.g., param_1=60 gives ~16ms per frame. 0x00C7F590 12 reset_frame_timer game_core Resets the frame timer baseline to the current time via timeGetTime(). Stored in global DAT_0171dd10. 0x00C7F5A0 6 ret_one_00c7f5a0 crt Returns constant value 1 0x00C7F5B0 51 copy_bytes_with_offset game_core Copies param_4 bytes from (param_1 + param_3) to param_2. Clears each destination byte to 0 before writing. Simple byte-by-byte copy with source offset. 0x00C7F5F0 29 memcpy_range_backward_a stl Copies memory range [param_1, param_2) to destination computed from param_3 minus range size. Uses memcpy. Size = param_2 - param_1. 0x00C7F610 29 memcpy_range_backward_b stl Copies memory range [param_1, param_2) to destination computed from param_3 minus range size. Identical to memcpy_range_backward_a, duplicated for different instantiation. 0x00C7F630 29 memcpy_range_backward_c stl Copies memory range [param_1, param_2) to destination computed from param_3 minus range size. Identical pattern, another template instantiation. 0x00C7F650 29 memcpy_range_backward_d stl Copies memory range [param_1, param_2) to destination computed from param_3 minus range size. Yet another template instantiation of the same pattern. 0x00C7F670 34 memcpy_range_forward_a stl Copies memory range [param_1, param_2) to destination param_3. Returns pointer past the end of copied data (param_3 + size). Uses memcpy. 0x00C7F6A0 34 memcpy_range_forward_b stl Copies memory range [param_1, param_2) to destination param_3. Returns pointer past end of copied data. Duplicate instantiation of memcpy_range_forward_a. 0x00C7F6D0 104 std__destroy_range_0x20_elements stl Destroys a range of 0x20-byte elements by calling STL_lib_func_004f9500 and STL_vector_2byte_free per element. Iterates from param_1 to param_2. Uses SEH. 0x00C7F740 105 std__destroy_range_0x28_elements stl Destroys a range of 0x28-byte elements by calling STL_vector_2byte_free and STL_lib_func_004f9500 per element (in reverse order vs 0x20 variant). Iterates from param_1 to param_2. Uses SEH. 0x00C7F7B0 146 std__vector_push_back_0x1c_move stl Pushes a 0x1c-byte element onto a vector by move-constructing it. Copies the first 4 dwords normally, then moves dwords 4-6 (zeroing the source). Advances the write pointer by 0x1c. Uses SEH for exception safety. 0x00C7F850 276 std__vector_int__emplace_with_grow stl STL vector emplace/insert with reallocation. Grows capacity by 1.5x (max 0x3FFFFFFF elements). Allocates new buffer, places new element at insertion point, copies existing elements around it, then replaces old buffer. Returns pointer to inserted element. 0x00C7F990 337 std__vector_int__emplace_with_grow_v2 stl STL vector emplace/insert with reallocation (variant 2). Grows capacity by 1.5x. Allocates via std__allocator_allocate_int_array, places new element, copies existing elements, frees old buffer (handles aligned allocations). Returns pointer to inserted element. 0x00C7FB00 452 std__vector_int__emplace_with_grow_v3 stl STL vector emplace/insert with reallocation (variant 3). Grows capacity by 1.5x (max 0x3FFFFFFF). Handles aligned allocation (0x23-byte overhead for 32-byte alignment). Places new element, copies existing elements, frees old aligned buffer. Returns pointer to inserted element. 0x00C7FCD0 337 STL_vector_0x2f8_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x2F8 (760 bytes). Grows capacity by 1.5x, constructs new element at insertion point, relocates existing elements to new buffer, frees old buffer. 0x00C7FE50 274 STL_vector_0x20_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x20 (32 bytes). Grows capacity by 1.5x, constructs new element at insertion point, relocates existing elements to new buffer, frees old buffer. 0x00C7FF90 482 STL_vector_0x38_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x38 (56 bytes). Elements have vtable (virtual dtor called during cleanup). Grows capacity by 1.5x, relocates elements, frees old buffer. 0x00C801A0 332 STL_vector_0x50_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x50 (80 bytes). Grows capacity by 1.5x, constructs new element at insertion point, relocates existing elements to new buffer, frees old buffer. 0x00C80320 551 STL_vector_0xc_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0xC (12 bytes). Elements contain sub-vectors (freed during cleanup). Grows capacity by 1.5x with aligned allocation for large buffers. 0x00C80550 334 STL_vector_0x3c_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x3C (60 bytes). Grows capacity by 1.5x, constructs new element at insertion point, relocates existing elements to new buffer, frees old buffer. 0x00C806D0 330 STL_vector_0x44_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x44 (68 bytes). Grows capacity by 1.5x, constructs new element at insertion point, relocates existing elements to new buffer, frees old buffer. 0x00C80850 324 STL_vector_0x4c_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x4C (76 bytes). Grows capacity by 1.5x, constructs new element at insertion point, relocates existing elements to new buffer, frees old buffer. 0x00C809C0 271 STL_vector_0x40_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x40 (64 bytes). Grows capacity by 1.5x, constructs new element at insertion point, relocates existing elements to new buffer, frees old buffer. 0x00C80B00 343 STL_vector_0x1c_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x1C (28 bytes). Grows capacity by 1.5x, constructs new element at insertion point, relocates existing elements to new buffer, frees old buffer. 0x00C80C90 334 STL_vector_0x124_emplace_reallocate stl STL vector emplace with reallocation for elements of size 0x124 (292 bytes). Grows capacity by 1.5x, constructs new element at insertion point, relocates existing elements to new buffer, frees old buffer. 0x00C80E10 275 STL_vector_ushort_emplace_reallocate stl STL vector emplace with reallocation for ushort (2-byte) elements. Grows capacity by 1.5x, copies new element value, relocates existing elements via memcpy to new buffer, frees old buffer. 0x00C80F40 128 STL_map_string_destroy_nodes stl Recursively destroys all nodes of an STL map with string values. Traverses right subtree, then frees each node (0x20 bytes) and its string data, following left child links. 0x00C80FC0 128 STL_map_wstring_destroy_nodes stl Recursively destroys all nodes of an STL map with wstring values. Traverses right subtree, then frees each node (0x20 bytes) and its wstring data (2-byte vector free), following left child links. 0x00C81040 16 memset_wrapper game_core Simple wrapper around memset. Fills param_1 buffer with param_2 byte value for param_3 bytes. 0x00C81050 163 STL_map_string_lower_bound stl STL map lower_bound for string keys. Binary search through red-black tree comparing char* key ranges. Returns iterator with found node and bound flag. 0x00C81100 160 STL_map_wstring_lower_bound stl STL map lower_bound for wstring (ushort) keys. Binary search through red-black tree comparing ushort* key ranges. Returns iterator with found node and bound flag. 0x00C811A0 296 sort_median_of_nine_uint game_core Median-of-nine pivot selection for introsort of uint arrays. For small ranges (<0x29 elements), uses median-of-three. For larger ranges, samples 9 evenly-spaced elements and sorts them to find a good pivot. 0x00C812D0 537 STL_vector_ushort_insert_range stl STL vector insert range for ushort (2-byte) elements. Inserts a range [param_3, param_4) at position param_2. If capacity is insufficient, reallocates with 1.5x growth. Uses memcpy for element relocation. 0x00C81590 34 memcpy_range_to_dest_00c81590 stl Copies a memory range [param_1, param_2) to destination param_3 via memcpy. Returns pointer to end of copied data in destination. 0x00C815C0 379 sort_partition_uint game_core Three-way partition for introsort of uint arrays. Uses median-of-nine pivot. Partitions elements into [less, equal, greater] groups. Returns partition bounds via param_1 output pair. 0x00C81740 140 heap_sift_down_uint stl Heap sift-down (adjust) operation for uint arrays. Moves element down the heap to restore min-heap property, then sifts up if needed. Used by heap sort. 0x00C817D0 225 STL_vector_ushort_resize_grow stl STL vector resize with growth for ushort (2-byte) elements. Allocates new buffer with 1.5x capacity growth, zero-fills new elements, copies existing data, then swaps buffers. 0x00C818E0 228 STL_vector_uint_resize_grow stl STL vector resize with growth for uint (4-byte) elements. Allocates new buffer with 1.5x capacity growth, zero-fills new elements, copies existing data, then swaps buffers. 0x00C819F0 266 STL_vector_0x3c_resize_grow stl STL vector resize with growth for elements of size 0x3C (60 bytes). Allocates new buffer with 1.5x capacity, fills new elements with provided value, copies existing data, swaps buffers. 0x00C81B30 262 STL_vector_0x44_resize_grow stl STL vector resize with growth for elements of size 0x44 (68 bytes). Allocates new buffer with 1.5x capacity, fills new elements with provided value, copies existing data, swaps buffers. 0x00C81C70 231 STL_vector_0x20_resize_grow stl STL vector resize with growth for elements of size 0x20 (32 bytes). Allocates new buffer with 1.5x capacity, fills new elements with provided value, copies existing data, swaps buffers. 0x00C81D90 262 STL_vector_0x50_resize_grow stl STL vector resize with growth for elements of size 0x50 (80 bytes). Allocates new buffer with 1.5x capacity, fills new elements with provided value, copies existing data, swaps buffers. 0x00C81ED0 257 STL_vector_0x4c_resize_grow stl STL vector resize with growth for elements of size 0x4C (76 bytes). Allocates new buffer with 1.5x capacity, fills new elements with provided value, copies existing data, swaps buffers. 0x00C82010 231 STL_vector_0x40_resize_grow stl STL vector resize with growth for elements of size 0x40 (64 bytes). Allocates new buffer with 1.5x capacity, fills new elements with provided value, copies existing data, swaps buffers. 0x00C82130 279 STL_vector_0x8_resize_grow stl STL vector resize with growth for elements of size 0x8 (8 bytes). Allocates new buffer with 1.5x capacity, fills new elements, copies existing data via memcpy, frees old aligned buffer. 0x00C82270 365 STL_vector_0x28_resize_grow stl STL vector resize with growth for elements of size 0x28 (40 bytes). Allocates new buffer with 1.5x capacity, fills new elements, copies existing data, destroys old elements, frees old aligned buffer. 0x00C82410 264 STL_vector_0x124_resize_grow stl STL vector resize with growth for elements of size 0x124 (292 bytes). Allocates new buffer with 1.5x capacity, fills new elements with provided value, copies existing data, swaps buffers. 0x00C82550 225 STL_vector_ushort_resize_zero_grow stl STL vector resize with zero-fill growth for ushort (2-byte) elements. Allocates new buffer with 1.5x capacity, zero-fills new elements, copies existing data, swaps buffers. 0x00C82660 503 STL_vector_0xc_resize_grow stl STL vector resize with growth for elements of size 0xC (12 bytes). Elements contain sub-structures. Allocates with aligned allocation, fills new elements, copies data, destroys old elements, frees old buffer. 0x00C82860 220 STL_vector_ushort_resize_fill_grow stl STL vector resize with fill for ushort (2-byte) elements. Allocates new buffer with 1.5x capacity, fills new elements with provided 2-byte value, copies existing data, swaps buffers. 0x00C82960 472 introsort_uint game_core Introsort implementation for uint arrays. Uses three-way partitioning with median-of-nine pivot selection. Falls back to heap sort when recursion depth exceeds threshold, and insertion sort for small partitions (<=32 elements). 0x00C82B40 129 STL_vector_0x2f8_uninitialized_copy stl Uninitialized copy for vector of 0x2F8-byte elements. Iterates source range [param_1, param_2) calling copy constructor for each element into destination buffer starting at param_3. 0x00C82BD0 123 STL_vector_0x38_uninitialized_copy stl Uninitialized copy for vector of 0x38-byte elements. Iterates source range [param_1, param_2) calling copy constructor for each element into destination buffer starting at param_3. 0x00C82C50 123 STL_vector_0x50_uninitialized_copy stl Uninitialized copy for vector of 0x50-byte elements. Iterates source range [param_1, param_2) calling copy constructor for each element into destination buffer starting at param_3. 0x00C82CD0 162 STL_vector_0xc_move_range stl Move range of 0xC-byte elements (3 dwords each). Moves elements from source to destination via dword copy with source zeroing (move semantics for internal vectors). 0x00C82D80 193 STL_vector_0x1c_move_range stl Move range of 0x1C-byte elements (7 dwords each). Copies first 4 dwords directly, then moves last 3 dwords (zeroing source) for move semantics on internal string/vector members. 0x00C82E50 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00C82E70 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00C82E90 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00C82EB0 28 _Zero_range<> stl STL _Zero_range. Zeroes a memory range using memset from first to last pointer. 0x00C82ED0 121 STL_vector_0x20_copy_construct_element stl Copy-constructs a 0x20-byte element into vector. Copies a sub-vector via STL copy ctor at offset 0, then copies scalar fields (byte, short, dword) at offsets 0x18-0x1C. 0x00C82F50 131 STL_vector_0x1c_move_construct_element stl Move-constructs a 0x1C-byte element. Copies first 4 dwords directly, then moves last 3 dwords (zeroing source) for internal vector/string move semantics. 0x00C82FE0 480 STL_vector_0x3c_emplace stl STL vector emplace for 0x3C-byte elements. If at capacity, calls emplace_reallocate. Otherwise constructs at end or shifts elements right to insert at position. Elements contain string pointers (char* and wchar_t*) that are deep-copied during shifts. 0x00C831C0 649 STL_vector_0x124_emplace stl STL vector emplace for 0x124-byte elements. If at capacity, calls emplace_reallocate. Otherwise constructs at end or shifts elements right. Elements contain multiple sub-structures with vectors and string pointers that need deep copy/move during shifts. 0x00C83450 47 std__ostream_endl stl std::endl for ostream. Widens newline character, puts it to stream, then flushes the stream buffer. 0x00C83480 40 crt_pow_precise_wrapper crt Wrapper around libm_sse2_pow_precise. Calls the precise SSE2 power function and returns the result as float10. 0x00C834B0 151 STL_vector_byte_ctor_sized_zero stl STL vector constructor with size. Initializes empty vector, allocates buffer of param_2 bytes, zero-fills it, and sets size. Used for byte arrays/buffers. 0x00C83550 176 STL_vector_ushort_copy_ctor stl STL vector copy constructor. Initializes empty vector, allocates buffer matching source size, copies source data via memcpy, updates size and capacity. 0x00C83600 214 STL_vector_uint_ctor_sized_fill stl STL vector constructor with size and fill value. Allocates buffer for param_2 elements, fills with value from *param_3 (or zero-fills if value is 0). 0x00C836E0 166 STL_vector_uint_ctor_sized_zero stl STL vector constructor with size, zero-initialized. Allocates buffer for param_2 dwords, zero-fills via memset. 0x00C83790 280 STL_vector_0x28_copy_ctor stl STL vector copy constructor for 0x28-byte elements. Each element has scalar fields and two sub-vectors (copied via std::vector copy ctor). Deep copies all elements from source. 0x00C838B0 159 STL_vector_0x28_ctor_sized stl STL vector constructor with sized allocation for 0x28-byte elements. Allocates buffer for param_2 elements, then fills with default values. 0x00C83950 176 STL_vector_ushort_copy_ctor_00c83950 stl STL vector copy constructor. Identical to STL_vector_ushort_copy_ctor but at a different address. Allocates and memcpy's source data. 0x00C83A00 162 STL_vector_ushort_ctor_sized_zero stl STL vector constructor with size, zero-initialized. Allocates buffer for param_2 ushort elements, zero-fills via memset. 0x00C83AB0 191 CStreamFile__ctor game_core CStreamFile constructor. Sets up vtable (initially base, then derived), initializes file stream fields to defaults. Mode 0x221 (read\|text), stream positions at 0xC and 0x10. 0x00C83B70 167 CIOStreamFile__ctor game_core CIOStreamFile constructor (read/write stream). Sets up vtable, initializes mode to 0x809, stream positions at 0x10 and 0x14. Derived from base stream class. 0x00C83C20 173 OLEStorage__ctor_with_file file OLEStorage constructor with file path parameter. Initializes CResourceManager (memory I/O buffer), CDocumentStream, zeroes internal state fields (0x488-0x49C), then opens the specified file via OLEStorage__open_file_ansi. Object size ~0x4A0 bytes. 0x00C83CD0 157 OLEStorage__ctor_default file OLEStorage default constructor. Initializes CResourceManager (memory I/O buffer), CDocumentStream, zeroes internal state fields (0x488-0x49C). No file is opened. Object size ~0x4A0 bytes. 0x00C83D70 178 STL_vector_0x28_move_construct_element stl Move-constructs a 0x28-byte element. Copies first 4 dwords (scalars), then moves two sets of 3 dwords (vector/string members) with source zeroing for move semantics. 0x00C83E30 117 STL_vector_0x28_default_construct_element stl Default-constructs a 0x28-byte element. Sets first dword and two sets of 3 dwords (internal vectors) to zero. 0x00C83EB0 112 STL_vector_0x28_init_element_with_data stl Initializes a 0x28-byte element with two scalar params and a sub-vector initialized via FUN_00c99900. 0x00C83F20 176 CTextStreamFile__ctor game_core CTextStreamFile constructor. Initializes base stream, sets vtable for text stream file, mode 0x201, stream positions at 6 and 10. Extra fields for text-specific state. 0x00C83FD0 292 CMemStreamBuf__ctor game_core CMemStreamBuf constructor. Initializes a memory-based stream buffer wrapping std::basic_iostream. Creates a basic_streambuf with custom vtable, initializes internal buffer state. Used for in-memory I/O. 0x00C84100 175 CBinaryStreamFile__ctor game_core CBinaryStreamFile constructor. Initializes base stream, sets vtable for binary stream file, mode 0x205, stream positions at 8 and 12. 0x00C841B0 175 CBaseStreamNode__copy_ctor game_core CBaseStreamNode copy constructor. Copies vtable, mode field, two sub-vectors (via copy ctors), scalar fields, and calls sub-object copy at offset 0x30. 0x00C84260 175 CBaseStreamNode__copy_ctor_00c84260 game_core CBaseStreamNode copy constructor (duplicate at different address). Same logic as CBaseStreamNode__copy_ctor - copies all fields and sub-objects from source. 0x00C84310 281 CBaseStreamNode__ctor_default game_core CBaseStreamNode default constructor. Sets vtable, zeroes all sub-vectors and scalar fields. Allocates and copies a 7-byte default string at offset 0xD. Mode set to 0x85. 0x00C84430 1135 CResourceEntry__copy_ctor game_core CResourceEntry copy constructor for a large 0x2F8-byte resource entry. Contains 8+ sub-nodes each with their own vtables, sub-vectors, and scalar fields. Deep copies all sub-objects including vectors, strings, and an 8-byte pair vector. 0x00C848A0 975 CResourceEntry__ctor_default game_core CResourceEntry default constructor for a 0x2F8-byte resource entry. Initializes 8 sub-nodes with different vtables and modes. Each sub-node is a stream node with vectors and scalar fields. Sets various default modes (0x201, 0x205, 0xFD, 0xBE, 0xBD, 0x203, 0x27E). 0x00C84C70 549 CResourceManager__ctor game_core CResourceManager constructor. Allocates a 0x200-byte buffer (zero-filled), initializes std::iostream with custom streambuf for memory-based I/O, initializes internal state fields at the end of the object. Large object (~0x330 bytes). 0x00C84EA0 199 CStreamNodeTypeD7__ctor game_core CStreamNodeTypeD7 default constructor. Initializes base stream node, sets derived vtable, mode 0xD7. Has 4 extra dwords at offsets 0x28-0x34 beyond base stream node fields. 0x00C84F70 190 CStreamNodeType200__ctor game_core CStreamNodeType200 default constructor. Initializes base stream node, sets derived vtable, mode 0x200. Has extra fields (dword, short) and stream positions at 0xE and 0x12. 0x00C85030 212 CStreamNodeTypeFF__ctor game_core CStreamNodeTypeFF default constructor. Initializes base stream node, sets derived vtable, mode 0xFF. Has many extra zero-initialized dwords. Stream positions at 2 and 6. 0x00C85110 223 CStreamNodeWithFont__copy_ctor game_core CStreamNodeWithFont copy constructor. Copies base stream node fields plus font-specific fields: short pairs, byte flags, and a sub-object at offset 0x38 via FUN_00c86c80. 0x00C851F0 223 CStreamNodeWithFont__copy_ctor_00c851f0 game_core CStreamNodeWithFont copy constructor (duplicate at different address). Same logic as CStreamNodeWithFont__copy_ctor. 0x00C852D0 301 CStreamNodeWithFont__ctor_default game_core CStreamNodeWithFont default constructor. Initializes base stream node, sets derived vtable, mode 0x31. Default font size 200/0x1907FFF, default font name 'Arial' (wchar_t). Flag at offset 0x10 set to 1. 0x00C85400 966 CResourceSubEntry__copy_ctor game_core CResourceSubEntry copy constructor. Very large sub-entry with 6+ sub-nodes, each containing its own vtable, vectors, and scalar fields. Deep copies all sub-objects including vectors and a ushort vector at the end. 0x00C857D0 867 CResourceSubEntry__ctor_default game_core CResourceSubEntry default constructor. Initializes 6 sub-nodes with different vtables and modes. Modes include 0x221, 0xBC, 0x4BC, 0x36, 0x207. Stream positions configured per sub-node. Total size ~0x170 bytes. 0x00C85B40 296 OLECompoundHeader__init game_core Initializes an OLE Compound Document header (magic 0xE11AB1A1E011CFD0). Sets version 3.003B, sector size 0x1000, FAT/DIFAT entries to 0xFFFFFFFE. Fills directory sector IDs with 0xFFFFFFFF. Generates two random values at end. 0x00C85C70 320 CStreamNodeType20B__ctor game_core CStreamNodeType20B default constructor. Initializes base stream node, mode 0x20B. Has extra uint vector and dword fields. Ensures vector has at least 1 element (resizes if needed). Stream positions at 0x10 and 0x14. 0x00C85DB0 179 CStreamNodeTypeFD__ctor game_core CStreamNodeTypeFD default constructor. Initializes base stream node, sets derived vtable for type 0xFD. Extra fields: dword at 0x28, short at 0x2C, dword at 0x30. Stream positions at 10 and 14. 0x00C85E70 122 CStreamElement__copy_ctor game_core CStreamElement copy constructor. Copies a ushort vector (at offset 0), a sub-vector (at offset 0xC), a byte flag (0x18), a short (0x1A), and a dword (0x1C). 0x00C85EF0 127 CStreamElement__ctor_default game_core CStreamElement default constructor. Zeroes 8 dwords, sets byte at offset 0x18 to 0xFF, zeroes remaining fields. Total size 0x20 bytes. 0x00C85F70 189 CStreamNodeTypeBE__ctor game_core CStreamNodeTypeBE default constructor. Initializes base stream node, mode 0xBE. Extra fields: 4 dwords and a short, all zeroed. Stream positions at 10 and 14. 0x00C86030 189 CStreamNodeTypeBD__ctor game_core CStreamNodeTypeBD default constructor. Initializes base stream node, mode 0xBD. Extra fields: 4 dwords and a short, all zeroed. Stream positions at 10 and 14. 0x00C860F0 184 CStreamNodeType203__ctor game_core CStreamNodeType203 default constructor. Initializes base stream node, mode 0x203. Extra fields: dword, short, and 8-byte value, all zeroed. Stream positions at 14 and 18. 0x00C861B0 155 OLEDirectoryEntry__init game_core Initializes an OLE Compound Document directory entry (0x7C bytes). Zeroes first 0x40 bytes (name), sets type to 0x101, sibling/child IDs to 0xFFFFFFFF, start sector to 0xFFFFFFFE. 0x00C86250 83 STL_vector_int_init_empty stl Initializes an empty STL vector by zeroing the 3 internal pointers (begin, end, capacity) at offsets 0xC, 0x10, 0x14. 0x00C862B0 179 CStreamNodeType27E__ctor game_core CStreamNodeType27E default constructor. Initializes base stream node, mode 0x27E. Extra fields: dword, short, dword. Stream positions at 10 and 14. 0x00C86370 131 CBaseStreamNode__base_ctor game_core CBaseStreamNode bare base constructor. Only initializes the vtable and base stream fields (10 dwords). No derived fields are set. 0x00C86400 197 CStreamNodeType208__copy_ctor game_core CStreamNodeType208 copy constructor. Copies base stream node fields, then copies extra short pairs and a dword at offset 0x34. Sets derived vtable. 0x00C864D0 197 CStreamNodeType208__copy_ctor_00c864d0 game_core CStreamNodeType208 copy constructor (duplicate at different address). Identical logic to CStreamNodeType208__copy_ctor. 0x00C865A0 185 CStreamNodeType208__ctor_default game_core CStreamNodeType208 default constructor. Initializes base stream node, mode 0x208. Extra fields zeroed except color at offset 0x2C (0xFF0000 = blue in ABGR). Stream positions at 0x10 and 0x14. 0x00C86660 276 CStreamNodeD7Container__move_ctor game_core CStreamNodeD7Container move constructor. Moves two vector members (0x38 and 0x2F8 element sizes) by stealing pointers, then copies a stream sub-node and moves a ushort vector. 0x00C86780 428 CStreamNodeD7Container__copy_ctor game_core CStreamNodeD7Container copy constructor. Deep copies two vectors (0x38 and 0x2F8 element sizes) via uninitialized_copy, then copies a stream sub-node (type D7) and a ushort vector. 0x00C86930 253 CStreamNodeD7Container__ctor_default game_core CStreamNodeD7Container default constructor. Initializes two empty vectors, a stream sub-node (mode 0xD7), and a ushort vector. Sets vtable for the sub-node. 0x00C86A30 206 CStreamNodeTypeFC__ctor game_core CStreamNodeTypeFC default constructor. Initializes base stream node, mode 0xFC. Extra fields: 5 dwords zeroed. Stream positions at 8 and 12. 0x00C86B00 188 CStreamNodeType4BC__ctor game_core CStreamNodeType4BC default constructor. Initializes base stream node, mode 0x4BC. Extra fields: 5 dwords zeroed. Stream positions at 8 and 12. 0x00C86BC0 188 CStreamNodeTypeBC__ctor game_core CStreamNodeTypeBC default constructor. Mode 0xBC. Extra fields: 5 dwords zeroed. Stream positions at 8 and 12. 0x00C86C80 169 CStringPair__copy_ctor game_core CStringPair copy constructor. Copies a wchar_t* string (offset 0) and a char* string (offset 4) by deep-copying via strlen+alloc+strcpy. Also copies a byte at offset 8. 0x00C86D40 192 CStreamNodeType207__ctor game_core CStreamNodeType207 default constructor. Mode 0x207. Extra fields: 3 dwords zeroed. Stream positions at 0 and 4. 0x00C86E00 225 CStreamNodeType293__copy_ctor game_core CStreamNodeType293 copy constructor. Copies base stream node, then extra short, byte, ushort vector, sub-vector, byte, short, and dword fields. 0x00C86EF0 225 CStreamNodeType293__copy_ctor_00c86ef0 game_core CStreamNodeType293 copy constructor (duplicate). Identical to CStreamNodeType293__copy_ctor. 0x00C86FE0 248 CStreamNodeType293__ctor_default game_core CStreamNodeType293 default constructor. Mode 0x293. Default color 0xFF008000 (green with alpha). Extra ushort and sub-vectors, byte fields. Stream positions at 2 and 6. 0x00C870E0 181 CStreamNodeType36__ctor game_core CStreamNodeType36 default constructor. Mode 0x36. Extra fields: 4 dwords zeroed. Stream positions at 0x10 and 0x14. 0x00C871A0 204 CStreamNodeType3D__ctor game_core CStreamNodeType3D default constructor. Mode 0x3D. Pixel format 120x120, color 0x24543B1F, size 0x38, flags 0x10000, DPI 600. Stream positions at 0x12 and 0x16. 0x00C87270 193 CStreamNodeType23E__ctor game_core CStreamNodeType23E default constructor. Mode 0x23E. Default ID 0x6B6, flags 0x400000. Stream positions at 0x12 and 0x16. 0x00C87340 704 CDocumentStream__ctor game_core CDocumentStream constructor. Initializes CIOStreamFile base, then constructs stream node type 3D, FC, FF sub-objects. Sets magic values (0x50600, 0x7CD19A0, 0xC0C9, 0x306) for document identification. Initializes hash/index sub-structure. 0x00C87600 813 CIOStreamNode__copy_ctor game_core CIOStreamNode copy constructor. Large compound node (0x124 bytes) with 4 sub-nodes (types 20B, 200, 23E, 0A), multiple vectors, and scalar fields. Deep copies all sub-objects. Moves two ushort vectors (steal pointers). 0x00C87930 856 CIOStreamNode__copy_ctor_00c87930 game_core CIOStreamNode copy constructor (variant). Same structure as CIOStreamNode__copy_ctor but copies a 0x50-element vector instead of moving ushort vectors at offset 0xB4. 0x00C87C90 682 CDocumentStream__ctor_variant game_core CDocumentStream constructor variant. Initializes CIOStreamFile, then constructs sub-nodes: type 20B, type 200, type 23E, type FF. Sets document magic values. Similar to CDocumentStream__ctor but with different sub-node type 200 instead of 3D. 0x00C87F40 215 CStreamNodeTypeE0__copy_ctor game_core CStreamNodeTypeE0 copy constructor. Copies base stream node, then short pairs, byte pairs, two dwords, and a short at offset 0x3C. 0x00C88020 215 CStreamNodeTypeE0__copy_ctor_00c88020 game_core CStreamNodeTypeE0 copy constructor (duplicate). Identical to CStreamNodeTypeE0__copy_ctor. 0x00C88100 198 CStreamNodeTypeE0__ctor_default game_core CStreamNodeTypeE0 default constructor. Mode 0xE0. Default color 0x20FFF5, short 0x20C0. Stream positions at 0x14 and 0x18. 0x00C881E0 167 CStreamNodeType0A__ctor game_core CStreamNodeType0A default constructor. Mode 0x0A. Minimal base node with stream positions at 0 and 4. 0x00C88290 67 STL_map_node_free_0x20 stl Frees a 0x20-byte STL map tree node allocated at offset 4 from param_1. 0x00C882E0 67 STL_map_node_free_0x20_00c882e0 stl Frees a 0x20-byte STL map tree node at offset 4 (duplicate at different address). 0x00C88340 71 STL_map_clear_and_dealloc stl Clears and deallocates an STL map. Calls node destruction function on the tree at offset 4 from param_1. 0x00C88400 76 STL_map_string_dtor stl STL map destructor. Destroys all string-keyed nodes recursively, then frees the sentinel node (0x20 bytes). 0x00C88460 76 STL_map_wstring_dtor stl STL map destructor. Destroys all wstring-keyed nodes recursively, then frees the sentinel node (0x20 bytes). 0x00C884C0 113 STL_map_string_node_destroy_and_free stl Destroys a single string map node. Frees string data, then frees the 0x20-byte node. 0x00C88540 113 STL_map_wstring_node_destroy_and_free stl Destroys a single wstring map node. Frees 2-byte vector data, then frees the 0x20-byte node. 0x00C885C0 78 STL_map_node_simple_free stl Simple map node free. Frees 0x20-byte node at offset 4 without destroying key/value data. 0x00C88610 78 STL_map_node_simple_free_00c88610 stl Simple map node free (duplicate). Frees 0x20-byte node at offset 4. 0x00C88850 91 STL_vector_0x1c_destroy_elements stl Destroys all elements in a vector of 0x1C-byte elements. Iterates from begin to end, calling destructor on each element's sub-map. 0x00C888E0 190 CMemStreamBuf__dtor game_core CMemStreamBuf destructor. Resets iostream vtables, flushes/frees internal buffer if allocated, destroys streambuf and iostream base classes. 0x00C889A0 87 STL_map_string_dtor_00c889a0 stl STL map destructor (duplicate). Destroys all nodes and frees sentinel. 0x00C88A00 87 STL_map_wstring_dtor_00c88a00 stl STL map destructor (duplicate). Destroys all nodes and frees sentinel. 0x00C88A60 65 STL_string_dtor_wrapper_00c88a60 stl STL string destructor wrapper. Calls string free function. 0x00C88AB0 65 STL_wstring_dtor_wrapper stl STL wstring destructor wrapper. Calls 2-byte string free function. 0x00C88B10 129 STL_vector_uint_dealloc stl STL vector deallocation. Frees aligned buffer if >0xFFF bytes, otherwise simple free. Zeroes all 3 pointers. 0x00C88C50 207 STL_vector_0x1c_dtor stl STL vector destructor for 0x1C-byte elements. Destroys each element's sub-map, then frees the aligned buffer. 0x00C88D20 180 STL_vector_0x124_dtor stl STL vector destructor for 0x124-byte elements. Destroys each element, then frees the aligned buffer. 0x00C88DE0 115 CBaseStreamNode__dtor_base game_core CBaseStreamNode base destructor. Destroys string data, resets vtable, deallocates int vector, destroys remaining string. 0x00C88E60 100 CBaseStreamNode__dtor_simple game_core CBaseStreamNode simple destructor. Resets vtable, deallocates int vector, destroys string. 0x00C88ED0 137 CDocumentStream__dtor_compound game_core CDocumentStream compound destructor. Destroys hash table (if allocated), 0x1C-element vector, 0x124-element vector (CIOStreamNode elements), CIOStreamNode sub-object, and CDocumentStream sub-object in order. 0x00C88F60 68 STL_map_clear_wrapper stl Wrapper to clear and deallocate an STL map at param_1. 0x00C88FB0 100 CBaseStreamNode__dtor_simple_00c88fb0 game_core CBaseStreamNode simple destructor (duplicate). Resets vtable, deallocates int vector, destroys string. 0x00C89020 86 CStreamNodeD7Container__dtor_sub game_core CStreamNodeD7Container sub-destructor. Destroys sub-object and string data. 0x00C89080 100 CStreamNodeType203__dtor game_core CStreamNodeType203 destructor. Resets vtable, deallocates int vector, destroys string. 0x00C890F0 153 CBaseStreamNode__dtor_with_strings game_core CBaseStreamNode destructor with string cleanup. Frees char* at offset 0x34 and wchar_t* at offset 0x30, then destroys base stream node (vtable, int vector, string). 0x00C89190 435 CResourceEntry__dtor game_core CResourceEntry destructor for the 0x2F8-byte resource entry. Destroys all 8+ sub-nodes in reverse order, each with their own vtable resets, vector deallocations, and string cleanups. 0x00C89350 65 STL_vector_CStreamNodeTypeFF_dealloc_wrapper stl Wrapper to clear and free a vector of CStreamNodeTypeFF elements. Delegates to std__vector_CStreamNodeTypeFF_clear_and_free. 0x00C893A0 180 CDocumentStream__dtor_sub game_core CDocumentStream sub-destructor. Destroys hash table, uint vector, sub-containers, and string data in order. 0x00C89460 115 CStreamNodeType20B__dtor game_core CStreamNodeType20B destructor. Destroys uint vector, resets vtable, deallocates int vector, destroys string. 0x00C894E0 100 CStreamNodeTypeD7__dtor game_core CStreamNodeTypeD7 destructor. Resets vtable, deallocates int vector, destroys string. 0x00C89550 139 CStreamNodeType200__dtor game_core CStreamNodeType200 destructor. Destroys two sub-containers, JSON data, resets vtable, deallocates int vector, destroys string. 0x00C895E0 153 CStreamNodeWithFont__dtor game_core CStreamNodeWithFont destructor. Frees char* and wchar_t* font strings at offsets 0x3C and 0x38, resets vtable, deallocates int vector, destroys string. 0x00C89680 399 CResourceSubEntry__dtor game_core CResourceSubEntry destructor. Destroys all 6 sub-nodes in reverse order, each resetting vtables and freeing vectors/strings. 0x00C89810 115 CStreamNodeType293__dtor game_core CStreamNodeType293 destructor. Destroys ushort vector, resets vtable, deallocates int vector, destroys string. 0x00C89890 100 CStreamNodeType208__dtor game_core CStreamNodeType208 destructor. Resets vtable, deallocates int vector, destroys string. 0x00C89900 86 CStreamElement__dtor game_core CStreamElement destructor. Destroys string data and wstring (2-byte) data. 0x00C89960 115 CStreamNodeType20B__dtor_full game_core CStreamNodeType20B full destructor. Destroys uint vector sub-data, resets vtable, deallocates int vector, destroys string. 0x00C899E0 115 CStreamNodeTypeFD__dtor game_core CStreamNodeTypeFD destructor. Destroys sub-data, resets vtable, deallocates int vector, destroys string. 0x00C89A60 100 CStreamNodeType4BC__dtor game_core CStreamNodeType4BC destructor. Resets vtable, deallocates int vector, destroys string. 0x00C89AD0 207 tree_node_recursive_destroy game_core Recursively destroys a tree of 0x18-byte nodes. For each node in the pointer vector at offset 0xC, recursively destroys children then frees the 0x18-byte node. Finally deallocates the pointer vector. 0x00C89BA0 100 CStreamNodeTypeBC__dtor game_core CStreamNodeTypeBC destructor. Resets vtable, deallocates int vector, destroys string. 0x00C89C10 93 CStreamNodeType0A__dtor game_core CStreamNodeType0A destructor. Resets vtable, deallocates int vector, destroys string. 0x00C89C70 100 CStreamNodeType27E__dtor game_core CStreamNodeType27E destructor. Resets vtable, deallocates int vector, destroys string. 0x00C89CE0 146 CStreamNodeTypeFF__dtor game_core CStreamNodeTypeFF destructor. Destroys sub-container, resets vtable, deallocates int vector, destroys string, destroys two additional sub-objects. 0x00C89D80 115 CStreamNodeTypeBD__dtor game_core CStreamNodeTypeBD destructor. Destroys sub-data, resets vtable, deallocates int vector, destroys string. 0x00C89E00 115 CStreamNodeTypeBE__dtor game_core CStreamNodeTypeBE destructor. Destroys string, resets vtable, deallocates int vector, destroys string. 0x00C89E80 115 CStreamNodeType36__dtor game_core CStreamNodeType36 destructor. Destroys string, resets vtable, deallocates int vector, destroys string. 0x00C89F00 49 CStringPair__dtor game_core CStringPair destructor. Frees the char* string at offset 4 and the wchar_t* string at offset 0. 0x00C89F40 115 CStreamNodeType207__dtor game_core CStreamNodeType207 destructor. Destroys wstring, resets vtable, deallocates int vector, destroys string. 0x00C89FC0 140 CStreamNodeTypeE0__dtor game_core CStreamNodeTypeE0 destructor. Destroys string, wstring data, resets vtable, deallocates int vector, destroys remaining string. 0x00C8A050 100 CStreamNodeType23E__dtor game_core CStreamNodeType23E destructor. Resets vtable, deallocates int vector, destroys string. 0x00C8A0C0 100 CStreamNodeType3D__dtor game_core CStreamNodeType3D destructor. Resets vtable, deallocates int vector, destroys string. 0x00C8A130 100 CStreamNodeTypeFC__dtor game_core CStreamNodeTypeFC destructor. Resets vtable, deallocates int vector, destroys string. 0x00C8A1A0 339 CIOStreamNode__dtor game_core CIOStreamNode destructor. Destroys 4 sub-nodes (types BE, 200, 20B, base) in reverse order, each resetting vtables and freeing vectors/strings. 0x00C8A300 333 CIOStreamNode__dtor_variant game_core CIOStreamNode destructor variant. Destroys sub-nodes 0A, 23E, 200, 20B, and base in reverse order with int vector deallocations. 0x00C8A450 100 CStreamNodeTypeFD__dtor_simple game_core CStreamNodeTypeFD simple destructor. Resets vtable, deallocates int vector, destroys string. 0x00C8A4C0 100 CStreamNodeType27E__dtor_simple game_core CStreamNodeType27E simple destructor. Resets vtable, deallocates int vector, destroys string. 0x00C8A530 95 STL_vector_0x1c_move_assign_element stl Move-assigns a 0x1C-byte element. Copies first 4 dwords, then clears and moves 3 dwords (internal vector/map) with source zeroing. 0x00C8A590 234 CBaseStreamNode__assign game_core CBaseStreamNode assignment operator. Copies stream data via memcpy helper, copies scalar fields, frees existing char 0x00C8A680 187 CStreamElement__assign game_core CStreamElement assignment operator. Copies byte, short, dword fields, then copies byte vector (with realloc if needed) and ushort vector. 0x00C8A740 142 CStreamElement__set_from_char_string game_core CStreamElement set from char* string. Resets element, clears ushort vector, resizes byte vector to match string length, copies string bytes. 0x00C8A7D0 89 CStreamElement__set_from_wchar_string game_core CStreamElement set from wchar_t* string. Resets element, clears byte vector, sets wchar mode flag, resizes ushort vector to match wstring length, copies wchar data. 0x00C8A830 195 CBaseStreamNode__copy_data game_core CBaseStreamNode copy data helper. Copies mode field, byte vector (with realloc), scalar fields, and int vector (with realloc) from source to this. 0x00C8A900 201 CStringPair__assign game_core CStringPair assignment operator. Frees existing strings, then deep-copies char* and wchar_t* strings from source. Copies byte flag at offset 8. 0x00C8A9D0 110 CStringPair__set_char_string game_core CStringPair set from char* string. Clears flag, frees existing strings, allocates and copies the char* string to offset 4. 0x00C8AA40 137 CStringPair__set_wchar_string game_core CStringPair set from wchar_t* string. Sets flag to 1, frees existing strings, allocates and copies the wchar_t* string to offset 0. 0x00C8AAD0 749 CIOStreamNode__move_assign game_core CIOStreamNode move assignment. Copies base stream data, short pairs, and dwords. Moves multiple internal vectors by stealing pointers (zeroing source). Handles sub-nodes at multiple offsets throughout the 0x124-byte structure. 0x00C8ADC0 394 CResourceSubEntry__assign game_core CResourceSubEntry assignment operator. Copies stream data for multiple sub-nodes, moves internal vectors, copies short/dword scalar fields. Handles the full ~0x170 byte sub-entry structure. 0x00C8AF50 29 json_value_write_to_stream game_core Writes a JSON value to an ostream. Handles 4 types: 0=char, 1=int, 2=double, 3=string. Dispatches based on type tag at *param_2. 0x00C8AFD0 105 STL_vector_ushort_compare stl Lexicographic comparison of two ushort vectors. Returns 1 if first > second, 0 otherwise. Compares element by element, shorter vector is 'less' if all elements match. 0x00C8B040 199 CMemStreamBuf__dtor_base game_core CMemStreamBuf base destructor. Resets iostream vtables, flushes/frees internal buffer if allocated, destroys streambuf, iostream, and basic_ios base classes. 0x00C8B110 41 CMemStreamBuf__scalar_deleting_dtor game_core CMemStreamBuf scalar deleting destructor. Calls base destructor, then optionally frees the 0xC0-byte object if flag bit 0 is set. 0x00C8B140 136 CBaseStreamNode__scalar_deleting_dtor game_core CBaseStreamNode scalar deleting destructor. Calls base dtor, optionally frees 0x40-byte object. 0x00C8B1D0 121 CStreamNodeType208__scalar_deleting_dtor game_core CStreamNodeType208 scalar deleting destructor. Calls dtor, optionally frees 0x38-byte object. 0x00C8B250 121 CStreamNodeTypeFD__scalar_deleting_dtor game_core CStreamNodeTypeFD scalar deleting destructor. Calls dtor, optionally frees 0x30-byte object. 0x00C8B2D0 121 CStreamNodeType27E__scalar_deleting_dtor game_core CStreamNodeType27E scalar deleting destructor. Calls dtor, optionally frees 0x30-byte object. 0x00C8B350 35 CStreamNodeType3C__scalar_deleting_dtor game_core CStreamNodeType3C scalar deleting destructor. Calls string-cleanup dtor, optionally frees 0x3C-byte object. 0x00C8B380 136 CStreamNodeType20B__scalar_deleting_dtor game_core CStreamNodeType20B scalar deleting destructor. Calls uint vector dtor, optionally frees 0x38-byte object. 0x00C8B410 121 CStreamNodeTypeD7__scalar_deleting_dtor game_core CStreamNodeTypeD7 scalar deleting destructor. Calls dtor, optionally frees 0x38-byte object. 0x00C8B490 35 CStreamNodeType200__scalar_deleting_dtor game_core CStreamNodeType200 scalar deleting destructor. Calls full dtor, optionally frees 0x50-byte object. 0x00C8B4C0 35 CStreamNodeWithFont__scalar_deleting_dtor game_core CStreamNodeWithFont scalar deleting destructor. Calls CStreamNodeWithFont__dtor, optionally frees 0x44-byte object. 0x00C8B4F0 38 CResourceSubEntry__scalar_deleting_dtor game_core CResourceSubEntry scalar deleting destructor. Calls full dtor, optionally frees 0x170-byte object. 0x00C8B520 136 CStreamNodeType293__scalar_deleting_dtor game_core CStreamNodeType293 scalar deleting destructor. Destroys ushort vector, resets vtable, deallocates int vector, destroys string. Optionally frees 0x44-byte object. 0x00C8B5B0 121 CUIWidget__scalar_deleting_dtor game_core Scalar deleting destructor for a CUIWidget-derived class (vtable at 0x0119fac8, size 0x34). Sets vtable, destroys child vector (4-byte elements), calls base destructor, then optionally frees the object if param_2 bit 0 is set. 0x00C8B630 136 CUIWidget_0x3C__scalar_deleting_dtor game_core Scalar deleting destructor for a CUIWidget subclass (vtable at 0x0119fac8, size 0x3C). Destroys 0x44-byte vector reserve, sets vtable, destroys child vector (4-byte elements), calls base destructor. Optionally frees object if param_2 bit 0 is set. 0x00C8B6C0 136 CUIWidget_0x3C__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for a CUIWidget subclass (vtable at 0x0119fac8, size 0x3C). Destroys 8-byte element vector, sets vtable, destroys child vector (4-byte elements), calls base destructor. Optionally frees object if param_2 bit 0 is set. 0x00C8B750 121 CUIWidget_0x40__scalar_deleting_dtor game_core Scalar deleting destructor for a CUIWidget subclass (vtable at 0x0119fac8, size 0x40). Sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8B7D0 167 CUITreeNode__recursive_dtor game_core Recursive destructor for a tree node (size 0x18). Iterates child pointer vector at +0xC, recursively destroys each non-null child, then frees the vector and optionally the node itself. Used for UI tree hierarchies. 0x00C8B880 121 CUIWidget_0x34__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for a CUIWidget subclass (vtable at 0x0119fac8, size 0x34). Sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8B900 114 CUIWidget_0x28__scalar_deleting_dtor game_core Scalar deleting destructor for a CUIWidget subclass (vtable at 0x0119fac8, size 0x28). Sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8B980 121 CUIWidget_0x38__scalar_deleting_dtor game_core Scalar deleting destructor for a CUIWidget subclass (vtable at 0x0119fac8, size 0x38). Sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BA00 136 CUIWidget_0x3C__scalar_deleting_dtor_v3 game_core Scalar deleting destructor for a CUIWidget subclass (vtable at 0x0119fac8, size 0x3C). Destroys 0x20-element vector, sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BA90 136 CUIWidget_0x3C__scalar_deleting_dtor_v4 game_core Scalar deleting destructor for a CUIWidget subclass (vtable at 0x0119fac8, size 0x3C). Calls base cleanup, sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BB20 136 CUIWidget_0x3C__scalar_deleting_dtor_v5 game_core Scalar deleting destructor for a CUIWidget subclass (vtable at 0x0119fac8, size 0x3C). Calls base cleanup, sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BBB0 136 CUIWidget_0x34__scalar_deleting_dtor_v3 game_core Scalar deleting destructor for a CUIWidget subclass (size 0x34). Destroys 2-byte element vector, sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BC40 161 CUIWidget_0x4C__scalar_deleting_dtor game_core Scalar deleting destructor for a CUIWidget subclass (size 0x4C). Destroys base, 2-byte vector, sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BCF0 121 CUIWidget_0x38__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for a CUIWidget subclass (size 0x38). Sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BD70 121 CUIWidget_0x3C__scalar_deleting_dtor_v6 game_core Scalar deleting destructor for a CUIWidget subclass (size 0x3C). Sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BDF0 121 CUIWidget_0x3C__scalar_deleting_dtor_v7 game_core Scalar deleting destructor for a CUIWidget subclass (size 0x3C). Sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BE70 121 CUIWidget_0x40__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for a CUIWidget subclass (size 0x40). Sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BEF0 121 CUIWidget_0x28__scalar_deleting_dtor_v2 game_core Scalar deleting destructor for a CUIWidget subclass (size 0x28). Sets vtable, destroys child vector, calls base destructor. Optionally frees if param_2 bit 0 set. 0x00C8BF70 110 CUISpreadsheet__add_next_sheet game_core Adds the next sheet to a UI spreadsheet/tab control. Calculates the next sheet number from the current sheet vector size at +0x494, formats the name as "Sheet%d", and calls the sheet loading function. Loops until successful (non-zero return). 0x00C8BFE0 1186 OLEStorage__add_stream_node_char file Adds a new stream node to the OLE storage container by char name. Searches existing nodes for duplicate names, creates CBaseStreamNode + CDocumentStream + CIOStreamNode. If param_3==-1, appends at end; otherwise inserts at specified position. Sets the char string pair name and clears flag bit 0x200. 0x00C8C490 1202 OLEStorage__add_stream_node_wchar file Adds a new stream node to the OLE storage container by wchar name. Identical to char variant but checks wchar string at offset 0x30 (flag bit 0x01 set). Creates CBaseStreamNode + CDocumentStream + CIOStreamNode. Supports insert-at-position or append modes. 0x00C8C950 210 ExcelWorkbook__compute_sheet_offsets file Computes the byte offset for each sheet in an Excel workbook. Starts from the total workbook header size, then iterates each sheet (0x3C stride at +0x3c8, data at +0x488 with 0x124 stride). For each sheet, sums 6 virtual function calls to get sub-section sizes, stores cumulative offset at sheet+0x28. 0x00C8CA30 845 ExcelWorkbook__compute_stream_offsets file Computes cumulative byte offsets for all streams in an Excel workbook. Iterates through IO stream nodes (0x124 stride), computing sizes via virtual dispatch. For each sheet's rows, calls ExcelCell__dispatch_compute_size for each cell record. Stores computed offsets at stream+0x70 entries and row data offsets at sheet+0x40/0x44. 0x00C8CD80 676 ExcelWorkbook__compute_sst_offsets file Computes SST (Shared String Table) offsets and pagination for Excel workbook serialization. Iterates records at 0x44, 0x40, 0x3c, and 0x3c strides, accumulating sizes. Divides total strings into groups of 10, resizing offset/size vectors. Handles BIFF record continuation splits at 0x2020 bytes. 0x00C8D030 217 ExcelWorkbook__compute_offsets_and_write file Computes sheet offsets (same as compute_sheet_offsets) then calls the write function. Iterates all sheets, calculates cumulative byte positions, then invokes the sheet data writer at 00c8ca30. 0x00C8D120 390 ExcelWorkbook__get_cell_or_expand file Gets a cell pointer for (row, col) in the workbook grid, expanding the grid if needed. Returns pointer to a 0x28-byte cell struct. If col >= current col count, expands all rows to the new column count. If row >= current row count, creates new rows. Bounds: row < 0x10000, col < 0x100. Returns 0 if out of bounds. 0x00C8D2B0 102 OLEReader__navigate_path_ansi game_core Navigates an OLE directory tree using an ANSI (multibyte) path string. Converts the ANSI string to wide characters (wchar_t) via mbstowcs, then delegates to the wide-character path navigation function. Frees the temporary wide string after use. 0x00C8D320 563 OLEReader__navigate_path_wide game_core Navigates an OLE compound document directory tree using a wide-character path. Saves current directory on a stack, handles special paths (".." for parent, "." for root). Splits path on backslash separators, looks up each component via OLEDirectoryNode__find_child_by_name. Returns 1 on success, 0xFFFFFFFE if path not found (restores previous directory). 0x00C8D560 100 ExcelWorkbook__reset_stream_state file Resets the workbook's stream reader state. Calls stream lib function, clears/sets basic_ios state, resets read position (this+4 = this+0), clears parse counters at +0xD4/+0xD8, sets buffer size to 0x200. Returns 1 if the name table at +0x74 is empty, 0 otherwise. 0x00C8D5D0 243 ExcelWorkbook__reset_full_state file Full reset of workbook state. Copies backup positions (+0x2F8 to +0x2FC, +0x304 to +0x308), frees all sheet data objects (0x7C each) from vector at +0x318, resets the vector, recursively destroys the tree root at +0x310, resets stream reader state, clears read position, and resets buffer to 0x200. 0x00C8D860 527 ExcelRecord__read_string_data game_core Reads string data from an Excel BIFF record. Handles both byte (ANSI) and wide (Unicode) strings based on a flag at offset 0x18. For byte strings, copies data into a byte buffer. For Unicode strings, resizes a wchar vector and converts. Supports multi-byte to wide-char conversion via mbstowcs/wcstombs. Returns the total record size consumed including header and any rich text/Asian phonetic extensions. 0x00C8DA70 157 OLEStorage__open_file_unicode file Opens an OLE compound document file given a Unicode filename. Converts the wide string to multibyte, opens the file via basic_filebuf, sets stream state on failure, clears state, then opens the OLE stream. Returns the result of OLEStorage__open_stream_unicode. 0x00C8DB10 103 OLEStorage__open_file_ansi_00c8db10 file Opens an OLE compound document file given an ANSI filename. Converts the char* to a wchar_t* via mbstowcs, then delegates to the Unicode version (FUN_00c8db80). Frees the temporary wide string buffer. 0x00C8DB80 662 OLEStorage__open_and_init file Opens an OLE compound document file (Unicode path) and fully initializes the storage. Opens the file stream, reads the OLE compound header, rebuilds sector allocation tables (FAT), updates the root directory entry, initializes the FAT sector array (0x80 entries), writes FAT sectors, creates a Root Entry directory entry, and sets up the initial stream tracking structure. Returns 1 on success. 0x00C8E150 329 OLEStorage__collect_chain_and_compute_size file Follows a FAT sector chain starting from param_2, collecting all sector indices into a vector. If param_3 is false, follows the regular FAT chain (offset 0x304); if true, follows the mini-FAT chain (offset 0x2F8). Returns the total byte size = sector_count * sector_size (regular=0x2F4, mini=0x2F0). 0x00C8E420 142 ExcelSheet__compute_total_record_size game_core Computes total serialized size for an Excel sheet by summing sizes from all record objects (via virtual size method at vtable+0x10). Iterates over records in two arrays (stride 0x38 and stride 0x2F8/cell records), plus a final record's size. Returns cumulative byte count. 0x00C8E4B0 719 ExcelSST__compute_continue_record_boundaries game_core Computes the CONTINUE record split boundaries for the Shared String Table (SST) in Excel BIFF format. Iterates over SST entries and calculates where to split based on the 0x2020 (8224 byte) BIFF record size limit. Handles both byte and Unicode strings differently (Unicode requires even alignment). Pushes split offsets into a vector for later use during serialization. 0x00C8E870 287 ExcelWorkbook__compute_total_size file Computes total serialized byte size for the entire Excel workbook. Sums sizes from the global records, multiple record arrays (strides 0x44, 0x40, 0x4C, 0x3C), plus individual record objects at specific offsets. Each record's size is obtained via virtual method at vtable+0x10. 0x00C8E990 75 ExcelWorkbook__compute_all_streams_size file Computes the total size of all streams in the workbook by summing sizes from 6 different record/stream objects via their virtual size methods, including the sheet data size from ExcelWorkbook__compute_all_sheets_size. 0x00C8E9E0 791 OLEStorage__remove_sectors_and_reindex file Removes specified sectors from the OLE FAT and reindexes all remaining sector references. Takes a sorted array of sector indices to remove. Updates directory entry start sectors, mini-FAT chain entries, and all FAT chain pointers to account for the removed sectors. Sorts the removal list, then shifts remaining entries down and adjusts all indices that reference sectors after the removed ones. 0x00C8ED00 131 OLEDirectoryEntry__decrement_indices_above game_core Recursively decrements directory entry indices that are above param_2 in the OLE directory tree. Adjusts sibling and child pointers (offsets 0x44, 0x48, 0x4C) and the parent count (offset 0x8). Recurses into all child entries. 0x00C8ED90 102 OLEStorage__open_stream_ansi_00c8ed90 file Opens an OLE stream by ANSI name. Converts the char* to a wchar_t* via mbstowcs, delegates to the Unicode version (FUN_00c8ee00), then frees the wide string buffer. Returns the result of the Unicode open. 0x00C8EE00 303 OLEStorage__open_stream_by_path file Opens an OLE stream by traversing the directory tree using a path. Pushes the current directory onto a stack, finds the matching directory entry, then recursively processes children: type 0x01 (storage) recurses, type 0x02 (stream) reads size. Pops the directory stack when done. Returns 1 on success, 0xFFFFFFFE if not found. 0x00C8EF30 187 OLEStorage__remove_directory_entry file Removes a directory entry from the OLE storage. Decrements indices in the tree that are above the removed entry's index, frees the directory entry object, shifts the directory entry array down, then removes the entry from the parent's child list and rebalances the tree. 0x00C8EFF0 1147 OLEStorage__remove_stream_by_index file Removes a stream from the OLE storage by its index in the stream arrays. Shifts entries in three parallel arrays (stride 0x3C for names, stride 0x124 for stream nodes, stride 0x1C for associated data) down by one to fill the gap. Copies both ANSI and Unicode name strings, clones sub-vectors, and calls destructors on the removed entry. Returns 1 on success, 0 if index out of bounds. 0x00C8F470 158 OLEStorage__find_and_remove_stream_by_ansi_name file Searches for a stream by ANSI name in the stream name array (stride 0x3C, byte-mode entries). Compares strings and if found, delegates to remove_stream_by_index to delete it. Returns the result of the removal. 0x00C8F510 164 OLEStorage__find_and_remove_stream_by_unicode_name file Searches for a stream by Unicode name in the stream name array (stride 0x124, wide-char entries). Compares wide strings and if found, delegates to remove_stream_by_index to delete it. Returns the result of the removal. 0x00C8F5C0 604 OLEStorage__list_child_stream_names file Lists child stream names under the current directory. Pushes the current directory, optionally navigates to a subdirectory, then iterates over all child entries collecting their wide-char names into a vector of wstring. Pops the directory stack when done. Returns 1 on success. 0x00C8F820 355 FlatFileStorage__delete_records_by_indices game_core Deletes multiple fixed-size records from a flat file storage by their indices. Reads all records except those in the deletion list into a temporary buffer, reopens the file for writing, writes back the retained records, then reopens in the original mode. Updates record count and file size. Returns 1 on success, 0 if not writable. 0x00C8F990 337 FlatFileStorage__delete_record_by_index game_core Deletes a single fixed-size record from a flat file by its index. Reads all records except the specified one into a buffer, reopens the file for writing, writes back the retained records, then reopens in original mode. Updates record count and file size. Returns 1 on success, 0 if not writable or index out of bounds. 0x00C8FAF0 68 ExcelGrid__clear_cell game_core Clears a cell in the Excel grid at (row, col). Zeros the cell data value and resets the current positions to their initial values (stride 0x28 per cell, 0xC per row). Returns 1 on success, 0 if row/col out of bounds. 0x00C8FB60 715 OLEStorage__allocate_new_sector file Allocates a new sector in the OLE FAT. Clears the FAT data, then depending on whether it is a regular sector (param_2=0) or a mini-sector (param_2!=0), finds a free slot (0xFFFFFFFF in the appropriate table) and inserts a new sector. Updates sector counts, adjusts indices after the insert, and extends the FAT chain with a ENDOFCHAIN (0xFFFFFFFD) marker. 0x00C8FE30 105 OLEStorage__get_stream_size_ansi file Gets the size of an OLE stream by ANSI name. Converts char* to wchar_t* via mbstowcs, calls the Unicode version, then frees the wide buffer. Returns the result. 0x00C8FEA0 115 OLEStorage__get_stream_size_unicode file Gets the size of an OLE stream by Unicode name. Compares the name against a root entry marker; if it matches, uses the root directory entry. Otherwise, searches the directory tree for the named entry. Writes the size (from offset 0x78 in the directory entry) into param_3. Returns 1 on success, 0xFFFFFFFC if not found. 0x00C8FF20 224 OLEStorage__find_directory_entry_by_id file Recursively searches the OLE directory tree for an entry with the given ID (param_2). Uses a stack-based depth-first search, pushing the current directory and recursing into children. Returns the matching directory tree node, or 0 if not found. 0x00C90000 128 OLEDirectoryNode__find_child_by_name game_core Searches a directory node's children for a child entry matching the given Unicode name. If the node has children (child SID != -1), iterates through all child pointers comparing their names. Returns the matching child node pointer, or 0 if not found. 0x00C90080 272 OLEStorage__navigate_to_path file Navigates to a directory entry by path. Pushes the current directory, handles absolute paths (starting with backslash) by resetting to root. Tokenizes the path, navigates subdirectories, then finds the final child by name. Restores the original directory on completion. Returns the found directory node or 0 if not found. 0x00C90190 1563 OLEStorage__remove_sectors_and_compact_FAT file Removes specified sectors and compacts the FAT. For regular sectors (param_3=0): reads stream chain data, removes specified sectors from the data, rewrites the chain, updates indices and directory entry sizes. For mini-sectors (param_3=1): copies the removal list, calls remove_sectors_and_reindex, then deletes records from the flat file. Both paths then compact unused trailing sectors from the FAT/mini-FAT, recursively calling themselves until no more sectors can be freed. 0x00C907B0 100 ExcelVariant__to_int game_core Converts an Excel variant value to integer. Type 1 (int): direct copy. Type 2 (double): truncates to int. Type 3 (string): calls atoi to parse, returns 0 for empty strings. Returns 1 on success, 0 for unknown types. 0x00C90820 61 ExcelVariant__to_double game_core Converts an Excel variant to double. Type 2 (double): direct copy. Type 1 (int): casts to double. Returns 1 on success, 0 for other types. 0x00C90860 58 ExcelVariant__to_ansi_string game_core Copies the ANSI string value from an Excel variant (type 3) into the output buffer. If the string pointers are equal (empty), writes a null terminator. Returns 1 on success, 0 if not type 3. 0x00C908A0 62 ExcelVariant__to_unicode_string game_core Copies the Unicode string value from an Excel variant (type 4) into the output buffer. If the string pointers are equal (empty), writes a null terminator. Returns 1 on success, 0 if not type 4. 0x00C908E0 39 OLEStorage__get_stream_ansi_name file Returns the ANSI name pointer for a stream at the given index. Checks if the stream is byte-mode (flag bit 0 == 0 at offset 0x38 in the 0x3C-stride array). Returns the name pointer at offset 0x34, or 0 if the stream is Unicode-mode. 0x00C90930 151 OLEStorage__collect_sector_chain file Collects a full sector chain into a vector starting from sector param_2. If param_4 is false, follows the regular FAT chain (offset 0x304); if true, follows the mini-FAT chain (offset 0x2F8). Pushes each sector index until ENDOFCHAIN (-2) is reached. 0x00C909D0 62 ExcelVariant__to_float10 game_core Converts an Excel variant to extended precision float. Type 2 (double): direct conversion. Type 1 (int): casts to float10. Returns 0.0 for other types. 0x00C90A10 58 excel_decode_rk_to_double game_core Decodes an Excel RK-encoded value to a double. The value is right-shifted by 2 bits and placed in the high 32 bits of a double. If bit 0 is set, the result is multiplied by 0.01 (percentage/currency scaling). This is the standard BIFF RK number encoding. 0x00C90A50 226 OLEStorage__allocate_free_sector_in_chain file Finds a free sector slot in the regular or mini FAT chain and marks it as ENDOFCHAIN (-2). For regular sectors (param_2=0), searches the FAT at offset 0x304 for a -1 entry; if none found, allocates a new sector first. For mini-sectors (param_2=1), searches the mini-FAT at offset 0x2F8 similarly. 0x00C90B40 49 ExcelVariant__coerce_to_int game_core Coerces an Excel variant to int without a success flag. Type 1 (int): returns directly. Type 2 (double): truncates. Type 3 (string): calls atoi if non-empty. Returns 0 for other types or empty strings. 0x00C90B80 41 excel_decode_rk_to_int game_core Decodes an Excel RK-encoded value to int. Right-shifts by 2 bits. If bit 0 is set, multiplies by the percentage scaling factor (0.01) and truncates. This is the integer variant of the RK decode. 0x00C90BB0 21 excel_extract_rk_high_dword game_core Extracts the high DWORD of a double from an RK-encoded 8-byte value, masking off the lower 2 flag bits (& 0xFFFFFFFC). 0x00C90BD0 14 excel_encode_int_to_rk game_core Encodes an integer into Excel RK format. Left-shifts by 2 and sets bit 1 (integer flag). This is the inverse of excel_decode_rk_to_int. 0x00C90BE0 58 OLEStorage__copy_stream_ansi_name file Copies the ANSI name of a stream at the given index into the output buffer. Checks that the stream is byte-mode (flag bit 0 == 0). Returns 1 on success, 0 if the stream is Unicode-mode. 0x00C90C20 61 OLEStorage__copy_stream_unicode_name file Copies the Unicode name of a stream at the given index into the output buffer. Checks that the stream is Unicode-mode (flag bit 0 == 1). Returns 1 on success, 0 if the stream is byte-mode. 0x00C90C60 60 OLEField__get_ansi_string game_core Copies ANSI string from OLE field data at column offset 0x3c8+0x34. Checks bit flag at +0x38. Uses row index * 0x3c stride. Returns 1 on success. 0x00C90CA0 63 OLEField__get_unicode_string game_core Copies Unicode (wide) string from OLE field data at column offset 0x3c8+0x30. Checks bit flag at +0x38 (must be set). Uses row index * 0x3c stride. Returns 1 on success. 0x00C90CE0 146 OLEField__extract_ansi_value game_core Extracts ANSI string value from an OLE field. Allocates buffer via STL_vector_byte_ctor_sized_zero, copies null-terminated string if type==3. Uses SEH for cleanup. 0x00C90DA0 4 get_field_0xc_00c90da0 game_items Getter returning field at offset 0xc from parameter 0x00C90DB0 4 get_field_0x8_00c90db0 game_items Getter returning 4-byte field at offset 0x8 from param_1 0x00C90DF0 39 OLEField__get_unicode_ptr game_core Returns pointer to Unicode string from OLE field at offset 0x3c8+0x30 if bit flag at +0x38 is set. Uses column index*0x3c stride. 0x00C90E40 149 OLEField__extract_unicode_value game_core Extracts Unicode (wide) string value from an OLE field. Allocates buffer via STL_vector_ushort_ctor_sized_zero, copies null-terminated wstring if type==4. Uses SEH for cleanup. 0x00C90EE0 28 OLERowTable__get_row_ptr game_core Returns pointer to row data at index param_2 in the row table. Row stride is 0x1c bytes. Base pointer at this+0x494. 0x00C90F00 170 OLERowTable__find_row_by_ansi_name game_core Searches row table for a row whose ANSI name (at offset 0x3c8+0x34) matches param_2. Iterates rows with stride 0x3c, compares strings byte-by-byte. Returns row pointer or 0. 0x00C90FB0 176 OLERowTable__find_row_by_unicode_name game_core Searches row table for a row whose Unicode name (at offset 0x3c8+0x30) matches param_2. Iterates rows with stride 0x3c, compares wide strings. Returns row pointer or 0. 0x00C91060 567 OLEStorage__adjust_indices_after_insert file Adjusts various indices in the OLE storage structure after rows are inserted. Updates column indices at +0x13c (109 entries), special indices at +0x120/+0x12c/+0x134, dynamic index array at +0x2f8, and directory entry indices at +0x318. Increments indices that are >= insertion points. 0x00C912A0 131 OLETreeNode__increment_indices_recursive game_core Recursively increments node indices in an OLE tree structure when a new entry is inserted before them. Updates indices at +8, +0x44, +0x48, +0x4c. Recurses through child nodes at +0xc. 0x00C91380 126 OLEStorage__insert_row_at_index file Inserts a row at the given index in the OLE storage. Shifts existing rows down by calling swap operations. Uses flag at +0xc bit 1 to check if storage is writable. Returns 1 on success. 0x00C91400 357 OLEStorage__build_directory_tree_node file Recursively builds a directory tree node for OLE compound document. Allocates 0x18-byte node, links parent/child references (offsets +0x44, +0x48, +0x4c), inserts children sorted by index at +8. Calls OLETreeNode__rebalance to finalize node. 0x00C91590 14 ole_is_mini_stream_sector game_core Tests if a sector ID refers to a mini-stream sector. Returns inverted bit 1 of (param>>1), effectively checking if it's NOT a regular sector. 0x00C915A0 12 ole_is_regular_sector game_core Tests if a sector ID refers to a regular sector. Returns bit 1 of (param>>1). 0x00C915B0 48 OLEStorage__set_sector_index file Sets a sector index value in either the mini-FAT (at +0x2f8, when param_4!=0) or regular FAT (at +0x304, when param_4==0). Index = param_2, value = param_3. 0x00C915E0 557 OLEStorage__open_file_ansi file Opens an OLE compound document file from ANSI path. Converts filename to wide string via mbstowcs, opens the stream, creates CDocumentStream, reads directory looking for 'Workbook' stream (Excel format). Copies filename to buffer at +0x4a0. 0x00C91810 1132 OLEStorage__read_sector_allocation_tables file Reads FAT (File Allocation Table) sectors, DIFAT sectors, and mini-FAT sectors from an OLE compound document stream. Reads raw bytes from seekable stream, packs 4 bytes into uint32 entries. Uses three separate sector tables at +0xbe/+0xc1 offsets. Sectors are 512 bytes each (0x200). 0x00C91C80 122 OLEStorage__validate_and_init_header file Validates OLE compound document header by checking magic bytes (0xE011CFD0 and 0xE11AB1A1), reads sector size from +0xbc, initializes sector count at +0x39 from file size / sector size. 0x00C91D00 411 OLEStorage__read_directory_entries file Reads OLE directory entries from the compound document. Allocates buffer for directory stream data, reads sectors via FAT chain, creates OLEDirectoryEntry objects (0x7c bytes each, 4 per 512-byte sector). Builds directory tree starting from root entry's child index at +0x4c. 0x00C91EA0 102 OLEStorage__find_stream_by_ansi_name file Finds an OLE stream by ANSI name. Converts the ANSI string to wide string via mbstowcs, then delegates to OLEStorage__find_stream_by_unicode_name. Frees the wide string buffer after. 0x00C91F10 226 OLEStorage__find_stream_by_unicode_name file Finds/opens an OLE stream by Unicode name. Pushes current directory entry onto stack, creates new OLEDirectoryEntry (0x7c bytes, type=1=storage), delegates to insert_directory_entry, then restores directory state and rebuilds FAT chain. 0x00C92000 300 OLEStorage__create_stream_by_ansi_name file Creates an OLE storage entry by ANSI name. Converts ANSI to wide string via mbstowcs, creates OLEDirectoryEntry (type=2=stream), delegates to insert_directory_entry. Restores directory state and rebuilds FAT chain. 0x00C92130 226 OLEStorage__create_stream_by_unicode_name file Creates an OLE storage entry by Unicode name. Creates OLEDirectoryEntry (type=2=stream), delegates to insert_directory_entry. Restores directory state and rebuilds FAT chain. 0x00C92220 656 OLEStorage__insert_directory_entry file Inserts a new directory entry into the OLE directory tree. Parses path (backslash = root), tokenizes name, finds sorted insertion position by comparing Unicode names (shorter names first, then lexicographic). Updates tree indices and rebuilds tree node linkage. 0x00C924B0 124 OLEStorage__move_row file Moves a row from one index to another by repeated adjacent swaps. Direction depends on whether src < dst or src > dst. Returns 1 on success, 0 if storage not writable or indices out of range. 0x00C92530 855 OLEStorage__reset_and_add_sheets file Resets OLE storage stream nodes and adds worksheet sheets. Clears/resizes 4 types of stream node vectors (0x44, 0x40, 0x4c, 0x3c stride). Then adds additional sheets by name 'Sheet_N'. Used when opening Excel workbook with multiple sheets. 0x00C92890 286 OLEStorage__open_stream_unicode file Opens an OLE stream by Unicode filename. Converts wide name to ANSI via wcstombs, calls low-level file open, then seeks to end to determine file size, calculates sector count. Returns 1 on success. 0x00C929B0 106 OLEStorage__open_compound_document_ansi file Opens an OLE compound document by ANSI filename. Converts to wide string via mbstowcs, delegates to OLEStorage__open_compound_document. Frees the wide string after. 0x00C92A20 656 OLEStorage__open_compound_document file Opens and initializes an OLE compound document from a Unicode file path. Clears existing data, opens stream, validates OLE header (magic 0xE011CFD0/0xE11AB1A1), reads FAT, reads directory entries, builds directory tree. Core initialization function for OLE file reading. 0x00C92CB0 231 OLEStorage__read_stream_to_ansi_string file Reads current OLE stream content and converts from Unicode to ANSI. Calls read_stream_data to get wide char buffer, then wcstombs to convert. Frees the wide buffer with proper alignment handling. 0x00C92DA0 537 OLEStorage__read_stream_data_unicode file Reads the current OLE stream data as Unicode wide chars into a vector buffer. Returns 1 on success. 0x00C92FC0 130 OLEStorage__get_current_path_ansi file Gets the current OLE directory path as an ANSI string. Allocates wide buffer, calls build_full_path to construct the Unicode path, converts to ANSI via wcstombs, frees the wide buffer. Returns 1 on success. 0x00C93050 662 OLEStorage__build_full_path file Builds full OLE path by traversing parent directory entries from current to root. Prepends backslash separators. Pushes/pops directory stack at +0x328. Removes the initial root entry name (first 0xb chars) from the result. 0x00C932F0 743 ExcelWriter__write_cells_to_stream game_core Writes all cells of an Excel spreadsheet to an output stream. Iterates rows and columns, outputs int (type 1) or double with precision 15 (type 2) directly. For string type 3: if param_4 is set, wraps strings in quotes (handling embedded quote escaping via memchr), otherwise outputs raw. Writes separator param_3 between columns and endl between rows. 0x00C935E0 304 BIFFRecord__parse_record_12byte_header file Parses a 12-byte BIFF record with header. Reads: 2-byte record type (+0x28), 2-byte field (+0x2a), 1-byte field (+0x2c), 1-byte field (+0x2d), 2-byte field (+0x2e), 4-byte size (+0x30). Then reads variable data into buffer and calls virtual handler at vtable+0x10. 0x00C93710 244 BIFFRecord__parse_record_16byte file Parses a 16-byte BIFF record. Reads: 2-byte record type, 2-byte field, 2-byte field, 2-byte field, 4-byte field, 4-byte field. Calls virtual handler at vtable+0x10. 0x00C93810 933 ExcelWorkbook__parse_BIFF_records file Main BIFF record parser loop for Excel workbook. Reads 2-byte record IDs (0x809 = BOF). Dispatches by sub-record type: type 5 calls FUN_00c96a90 (formula parser), type 0x10 creates CDocumentStream and parses sheet data via FUN_00c96eb0, others use generic record skip. Loops until end of data. 0x00C93BF0 137 BIFFRecord__parse_record_6byte file Parses a 6-byte BIFF record. Reads: 2-byte record type, 2-byte field, 2-byte field. Calls virtual handler at vtable+0x10. 0x00C93C80 126 OLEStorage__seek_and_read_sector file Seeks to a specific sector in the OLE file and reads its data. Sector offset = sector_size * param_2. Uses istream seekg + read. Returns 1 if read succeeded (no error flags). 0x00C93D00 159 BIFFRecord__parse_record_8byte file Parses an 8-byte BIFF record. Reads: 2-byte record type, 2-byte field, 2-byte field, 1-byte field, 1-byte field. Calls virtual handler at vtable+0x10. 0x00C93DA0 103 BIFFRecord__parse_record_with_string_data file Parses a BIFF record with a 4-byte uint32 field, two 1-byte fields, then variable-length string data via FUN_00c96480. Calls virtual handler at vtable+0x10. 0x00C93E10 198 ExcelWorkbook__dispatch_cell_record file Dispatches BIFF cell record types to their respective handlers. Record ID 6=Formula(0x6), 0xBD=MulRk, 0xBE=MulBlank, 0xFD=LabelSST, 0x201=Blank, 0x203=Number, 0x205=BoolErr, 0x27E=RK. Each type has its own vtable handler at specific offsets. 0x00C94180 162 BIFFRecord__parse_record_with_uint16_array file Parses a BIFF record with a 4-byte uint32 field followed by a variable-length array of uint16 values. Array count = (record_size - 4) / 2. Calls virtual handler at vtable+0x10. 0x00C94230 200 BIFFRecord__parse_record_14byte file Parses a 14-byte BIFF record. Reads: 4-byte uint32, 4-byte uint32, 2-byte uint16, 2-byte uint16, 2-byte uint16. Calls virtual handler at vtable+0x10. 0x00C94300 311 BIFFRecord__parse_record_with_uint32_array file Parses a BIFF record with a 2-byte header followed by variable-length array of (uint32, uint16, uint16) triples. Array count = (record_size - 2) / 8. Calls virtual handler at vtable+0x10. 0x00C94440 269 BIFFRecord__parse_record_14byte_with_string file Parses a BIFF record with 5 uint16 fields, 2 byte fields, then variable-length string data via FUN_00c96480. Calls virtual handler at vtable+0x10. 0x00C94550 655 BIFFRecord__parse_formula_record file Parses a BIFF formula record (type 6/0x206). Reads header: 2-byte row, 2-byte col, 2-byte XF index, 8-byte result value, 2-byte flags, 4-byte field, then variable formula data. After formula, dispatches sub-records: 0x221=Array, 0x36=Continue, 0xBC=ShrFmla, 0x4BC=ShrFmla2. Also handles 0x207=String record. 0x00C947E0 825 OLEHeader__parse_from_buffer game_core Parses OLE Compound Document header from raw buffer. Reads: 8-byte signature, 4-byte fields for minor/major version, byte order, sector size power, mini sector size power, total sectors, FAT sectors, first directory sector, first mini-FAT sector, DIFAT sectors, first DIFAT sector. Also reads 109 DIFAT entries and 2 computed power values. 0x00C94B20 288 BIFFRecord__parse_DBCELL_record file Parses a BIFF DBCELL record. Reads: 4-byte row offset, 4-byte field, 4-byte first row, 4-byte field. Calculates bitfield array size from row range, fills uint32 array from remaining record data. Calls virtual handler. 0x00C94C40 178 BIFFRecord__parse_record_10byte file Parses a 10-byte BIFF record. Reads: 2-byte record type, 2-byte field, 2-byte field, 4-byte uint32. Calls virtual handler at vtable+0x10. 0x00C94D00 203 BIFFString__parse_from_buffer game_core Parses a BIFF-format string from raw buffer. Reads 2-byte length, 1-byte flags (bit 3=has rich text, bit 2=has East Asian). If rich text, reads 2-byte run count. If East Asian, reads 4-byte extension size. Copies string data via FUN_00c8d860. Returns total bytes consumed. 0x00C94DD0 292 BIFFRecord__parse_MulBlank_record file Parses BIFF MulBlank record (0xBE). Reads row, first column, last column from header. Contains array of XF indices for blank cells spanning first_col to last_col. 0x00C94F00 324 BIFFRecord__parse_MulRk_record file Parses BIFF MulRk record (0xBD). Reads row, first column, last column. Contains array of (uint16 XF, uint32 RK value) pairs for multiple cells in one row. 0x00C95050 275 BIFFRecord__parse_Number_record file Parses BIFF Number record (0x203). Reads row, column, XF index, then 8-byte IEEE 754 double value (read as byte-swapped uint64). 0x00C95170 605 OLEDirectoryEntry__parse_from_buffer game_core Parses a 128-byte (0x80) OLE directory entry from raw buffer. Reads: 32 Unicode chars (name), 2-byte name size, 1-byte object type, 1-byte color flag, and multiple 8-byte timestamps/sector IDs (left sibling, right sibling, child, CLSID, state bits, creation time, modification time, start sector, stream size). 0x00C953D0 178 BIFFRecord__parse_RK_record file Parses BIFF RK record (0x27E). Reads row (2 bytes), column (2 bytes), XF index (2 bytes), and 4-byte RK value (encoded int or float). Calls virtual handler. 0x00C95490 415 BIFFRecord__read_record_header_and_data file Reads BIFF record header (2-byte type, 2-byte size) and copies record data into internal buffer. Handles CONTINUE records (type 0x3C) by appending their data to the previous record. Returns total bytes consumed including all CONTINUE records. 0x00C95630 281 BIFFRecord__parse_record_16byte_variant file Parses a 16-byte BIFF record variant. Reads 3 uint16 fields, 3 more uint16 fields, and 1 uint32 field. Calls virtual handler at vtable+0x10. 0x00C95750 1493 ExcelWorkbook__parse_sheet_records file Parses all records in a BIFF sheet stream. Loops reading record IDs: cell records (0x6, 0xBD, 0xBE, 0xFD, 0x201, 0x203, 0x205, 0x27E) are stored in a vector of CResourceEntry (0x2F8 bytes each). Record 0xD7 terminates. Record 0x208 creates CStreamNodeType208 objects. Other records are skipped. Pre-allocates 1000 entries and grows by 1000. 0x00C95FC0 660 ExcelSST__parse_shared_string_table game_core Parses BIFF Shared String Table (SST) record. Reads total string count and unique string count, then parses each string entry using BIFFString__parse_from_buffer. Handles SST continuation across record boundaries using stored offsets. Returns total bytes consumed. 0x00C96260 272 BIFFRecord__parse_BoolErr_record file Parses BIFF BoolErr record (0x205). Header: 2-byte row, 2-byte col, 1-byte bool/error flag, 1-byte type, 2-byte XF index. Variable data follows header. Calls virtual handler. 0x00C96370 272 BIFFRecord__parse_Blank_record file Parses BIFF Blank record (0x201). Same structure as BoolErr: 2-byte row, 2-byte col, 1-byte flags, 1-byte type, 2-byte XF index, variable data. Calls virtual handler. 0x00C96480 265 BIFFString__read_short_string game_core Reads a BIFF short string (1-byte length prefix). Flag byte determines encoding: 0=ANSI (allocates len+1 bytes), 1=Unicode (allocates (len+1)*2 bytes). Frees any existing string buffers at [0] and [1] before reading. Returns total bytes consumed. 0x00C96590 115 BIFFRecord__parse_uint16_array_raw file Reads a raw array of uint16 values from a BIFF record. Array size = record data size. Resizes output buffer and reads each uint16 from little-endian bytes. Calls virtual handler. 0x00C96610 130 BIFFRecord__parse_string_or_byte_pair file Parses a BIFF record that contains either a string or a byte pair. If the 2-byte type field is negative (>=0x8000), reads 2 raw bytes; otherwise parses a BIFF string. Calls virtual handler. 0x00C966A0 299 BIFFRecord__parse_Window2_record file Parses BIFF Window2 record. Reads 16 bytes: 2-byte type, 2-byte col, 1-byte flags, 1-byte type byte, 2-byte field, 2-byte field, 2-byte field, 2-byte field, 2-byte field. Calls virtual handler. 0x00C967D0 357 BIFFRecord__parse_record_18byte file Parses an 18-byte BIFF record. Reads 4 uint16 fields, then 4 more uint16 fields, then 1 uint16 field. Calls virtual handler. 0x00C96940 322 BIFFRecord__parse_record_18byte_with_uint32 file Parses an 18-byte BIFF record variant with uint32 at end. Reads 4 uint16 fields, 2 more uint16 fields, 1 uint16 field, then 1 uint32 field. Calls virtual handler. 0x00C96A90 1041 ExcelWorkbook__parse_global_records file Parses BIFF global (workbook) records until EOF (record 0x0A). Dispatches known types: 0x31=Font (CStreamNodeWithFont), 0x3D=Window1, 0x85=BoundSheet (CBaseStreamNode), 0xE0=XF (CStreamNodeTypeE0), 0xFC=SST, 0x293=Style (CStreamNodeType293), 0x809=BOF. Unknown records are skipped via read_record_header_and_data. 0x00C96EB0 885 ExcelWorkbook__parse_workbook_stream file Parses BIFF workbook stream records until EOF (0x0A). Dispatches: 0x200=Dimensions, 0x208=Row (creates CStreamNodeD7Container, recurses into parse_sheet_records), 0x20B=Index, 0x23E=Window2, 0x809=BOF. Row containers (0x208) are stored in a vector (0x50 stride), pre-allocated to 1000. Unknown records are skipped. 0x00C97230 278 BIFFRecord__parse_XF_record file Parses BIFF XF (Extended Format) record. Reads: 2-byte row, 2-byte col, 2-byte XF, 2 bytes, 2 bytes, 2 bytes, uint32, uint32, 2-byte field. 22 bytes total. Calls virtual handler. 0x00C97350 76 OLEStorage__read_uint16_and_uint32 file Reads a uint16 and uint32 from a raw buffer into the object. Used by OLE stream parsing to read small header fields. 0x00C973A0 639 OLEStorage__read_stream_chain_data file Reads data from an OLE stream by following the FAT/mini-FAT chain. If param_4=0 (mini-stream), follows mini-FAT at +0x304, reads mini-sectors from root directory entry data. If param_4=1 (regular), follows regular FAT at +0x2f8, seeks and reads each sector directly. Returns total bytes read. 0x00C97620 143 OLEStorage__read_named_stream_ansi file Reads a named stream from OLE storage using ANSI name. Converts name to wide string, finds the stream directory entry, resizes buffer, reads stream content. Returns status code. 0x00C976B0 105 OLEStorage__read_stream_content_ansi file Reads stream content by ANSI name. Converts to wide string via mbstowcs, calls read_stream_by_name, frees wide string. Returns status code. 0x00C97720 60 OLEStorage__find_and_read_stream file Finds a named stream in the OLE storage, resizes the buffer, and reads its content. Wrapper that combines find + resize + read operations. 0x00C97760 306 OLEStorage__read_stream_by_name file Reads an OLE stream by Unicode name into output buffer. If name matches root ('\\'), reads from root directory entry. Otherwise finds the stream by name, determines if mini-stream (size<0x1000) or regular, reads the FAT chain data, copies to output. 0x00C978A0 67 ole_read_uint16_array_from_buffer game_core Reads an array of uint16 values from a byte buffer at a given offset. Reads param_4 count of little-endian uint16 values from buffer[param_1+param_3] into output[param_2]. 0x00C978F0 33 BIFFRecord__compute_total_size_with_continue file Computes total record size including CONTINUE records. Calls virtual size method at vtable+0xc, adds 4 (header) + continues*4 for CONTINUE record overhead (every 0x2020 bytes). 0x00C97920 16 BIFFRecord__compute_total_size_simple file Computes simple total record size (no CONTINUE overhead). Calls virtual size method at vtable+0xc, adds 4 for the record header. 0x00C97930 161 ExcelCell__dispatch_compute_size game_core Dispatches compute-size to the appropriate cell record handler based on record type. Types: 6=Formula, 0xBD=MulRk, 0xBE=MulBlank, 0xFD=LabelSST, 0x201=Blank, 0x203=Number, 0x205=BoolErr, 0x27E=RK. Calls vtable+0x10 on the appropriate handler. Aborts on unknown type. 0x00C97AE0 248 ExcelWorkbook__compute_all_sheets_size file Computes total size for all Excel sheets (CStreamNodeD7Container array, 0x50 stride). For each sheet, sums sizes from CStreamNodeType208 objects (0x38 stride), cell records (0x2F8 stride via dispatch_compute_size), and the EOF marker. 0x00C97BE0 33 BIFFRecord__compute_size_with_continue_b file Computes BIFF record total size including CONTINUE record overhead. Same as compute_total_size_with_continue. 0x00C97C10 51 ExcelSST__compute_total_size game_core Computes SST record total size. Gets base data size from vtable+0xc, adds CONTINUE overhead for the string data portion (every 0x2020 bytes). Stores at param_1[6]. 0x00C97C50 16 BIFFRecord__compute_size_simple_b file Computes simple BIFF record total size (data + 4 byte header, no CONTINUE). Same as compute_total_size_simple. 0x00C97C60 150 BIFFFormula__compute_total_size game_core Computes formula record total size including sub-records (0x221=Array, 0x36=Continue, 0xBC=ShrFmla, 0x4BC=ShrFmla2) and optional 0x207=String record. Adds each sub-record's computed size. 0x00C97D00 33 BIFFRecord__compute_size_with_continue_c file Computes BIFF record total size with CONTINUE overhead. Variant instance for specific record type. 0x00C97D70 33 BIFFRecord__compute_size_with_continue_d file Computes BIFF record total size with CONTINUE overhead. Variant instance for specific record type. 0x00C97DA0 33 BIFFRecord__compute_size_with_continue_e file Computes BIFF record total size with CONTINUE overhead. Variant instance for specific record type. 0x00C97DE0 142 ExcelSheet__compute_total_size game_core Computes total size for a single Excel sheet. Sums CStreamNodeType208 objects (0x38 stride), cell records (0x2F8 stride via dispatch_compute_size), and the EOF record size. 0x00C97E70 33 BIFFRecord__compute_size_with_continue_f file Computes BIFF record total size with CONTINUE overhead. Variant instance for specific record type. 0x00C97EA0 33 BIFFRecord__compute_size_with_continue_g file Computes BIFF record total size with CONTINUE overhead. Variant instance for specific record type. 0x00C97ED0 33 BIFFRecord__compute_size_with_continue_h file Computes BIFF record total size with CONTINUE overhead. Variant instance for specific record type. 0x00C97F60 33 BIFFRecord__compute_size_with_continue_i file Computes BIFF record total size with CONTINUE overhead. Variant instance for specific record type. 0x00C97F90 16 BIFFRecord__compute_size_simple_c file Computes simple BIFF record total size (data + 4 byte header, no CONTINUE). Variant instance. 0x00C97FB0 75 ExcelWorkbook__compute_total_data_size file Computes total workbook data size by summing sizes of all major sections: global records, SST, sheet data (via compute_all_sheets_size), and other sections. Calls vtable+0x10 on each section object. 0x00C98000 102 OLEStorage__delete_stream_by_path_ansi file ANSI string wrapper for OLEStorage__delete_stream_by_path. Converts narrow char* path to wchar_t* via mbstowcs, then calls the Unicode version to delete the stream. 0x00C98070 104 OLEStorage__delete_stream_by_path file Deletes a stream from the OLE storage by its Unicode path. Navigates to the directory entry, verifies it has no children (returns -3 if it does), removes the entry, rebuilds sector allocation, updates directory, and rewrites FAT sectors. 0x00C980E0 102 OLEStorage__delete_and_truncate_stream_ansi file ANSI string wrapper for OLEStorage__delete_and_truncate_stream. Converts narrow char* path to wchar_t* via mbstowcs, then calls the Unicode version. 0x00C98150 214 OLEStorage__delete_and_truncate_stream file Deletes an OLE stream by Unicode path, first truncating its data. If stream is >= 0x1000 bytes, reassigns sector chain via write_SST_strings. Then zeros the stream size, rebuilds allocation, removes directory entry, and rewrites FAT/directory sectors. 0x00C98230 195 OLEPropertySet__add_char_string_entry game_core Adds a char string entry to the OLE property set. Iterates over directory entries (0x3c stride), compares ANSI strings to find duplicates. If not found, adds via CStringPair__set_char_string. Returns 0 if duplicate found, 1 if added. 0x00C98300 201 OLEPropertySet__add_wchar_string_entry game_core Adds a wchar_t string entry to the OLE property set. Iterates over directory entries (0x3c stride), compares Unicode strings to find duplicates. If not found, adds via CStringPair__set_wchar_string. Returns 0 if duplicate, 1 if added. 0x00C983D0 185 OLEPropertySet__add_indexed_char_string game_core Adds an ANSI string entry to the OLE property set with bounds checking. param_2 is an index; returns 0 if index >= entry count. Searches for duplicates before adding via CStringPair__set_char_string. 0x00C98490 199 OLEPropertySet__add_indexed_wchar_string game_core Adds a wchar_t string entry to the OLE property set with bounds checking. param_2 is an index; returns 0 if index >= entry count. Searches for duplicates before adding via CStringPair__set_wchar_string. 0x00C98560 248 OLEPropertySet__add_char_string_pair game_core Adds a pair of ANSI strings to the OLE property set. First finds param_2 in entries; if found, searches for param_3 among entries. Returns 0 if param_3 already exists, 1 if added. Returns 0 if param_2 not found. 0x00C98660 269 OLEPropertySet__add_wchar_string_pair game_core Adds a pair of wchar_t strings to the OLE property set. First finds param_2 in Unicode entries; if found, searches for param_3. Returns 0 if param_3 already exists, 1 if added. Returns 0 if param_2 not found. 0x00C98770 49 OLEStringPair__free_buffers game_core Frees two string buffers at param_1[0] and param_1[1], setting them to NULL after freeing. Used to clean up OLE string pair allocations. 0x00C987B0 117 ExcelCell__get_column_index game_core Gets the column index from an Excel cell record. Dispatches by record type: 6=Formula, 0xBD=MulRk, 0xBE=MulBlank, 0xFD=LabelSST, 0x201=Blank, 0x203=Number, 0x205=BoolErr, 0x27E=RK. Each type stores column at a different offset. Aborts on unknown type. 0x00C98940 917 ExcelWorkbook__write_to_ole_stream file Writes the entire Excel workbook to an OLE compound file stream. Computes total sizes for all sections and sheets, calculates stream offsets, writes BIFF record data, XF records, and each workbook section. Creates a "Workbook" stream entry in the OLE storage. 0x00C98CE0 407 ExcelWorkbook__save_to_file file Saves the Excel workbook to a file. Takes an ANSI filename, opens/initializes OLE storage, creates a "Workbook" directory entry, inserts it into the OLE directory tree, rebuilds sector allocation, then calls write_to_ole_stream to write all data. 0x00C98E80 324 OLEStorage__write_FAT_sectors file Writes all FAT sectors to the OLE storage file. Serializes FAT entries (sector allocation table), DIFAT entries (double-indirect FAT), and mini-FAT entries into 512-byte sector buffers and writes each via update_directory_entry. 0x00C98FD0 30 OLEStorage__rebuild_and_update_root file Rebuilds sector allocation and updates the root directory entry. Wrapper that calls rebuild_sector_allocation then update_directory_entry(0, buffer). 0x00C98FF0 161 OLEStorage__write_directory_entries file Serializes all OLE directory entries into a buffer (0x80 bytes per entry) and writes the buffer to the storage via write_SST_strings. Allocates buffer sized to sector boundaries, zeroes it, then fills with entry data via write_all_directory_entries. 0x00C990A0 320 CExcelVariant__set_uint game_core Sets a variant value from an unsigned integer. If value < 500,000,001, stores as type 1 (integer). Otherwise converts to string via sprintf and stores as type 3 (ANSI string) in a vector buffer. 0x00C991E0 23 CExcelVariant__set_double game_core Sets a variant value as type 2 (double/float). Stores the 8-byte double value at param_1+8. 0x00C99200 216 CExcelVariant__set_ansi_string game_core Sets a variant value as type 3 (ANSI string). Allocates a byte vector, copies the null-terminated char* string into it. Sets type to 0 (empty) if string is empty. 0x00C992E0 232 CExcelVariant__set_wchar_string game_core Sets a variant value as type 4 (Unicode string). Allocates a ushort vector, copies the null-terminated wchar_t* string into it. Sets type to 0 (empty) if string is empty. 0x00C993D0 23 CExcelVariant__set_double_b game_core Sets a variant value as type 2 (double/float). Identical to set_double, stores 8-byte double at param_1+8. Variant instance at different address. 0x00C993F0 320 CExcelVariant__set_uint_b game_core Sets a variant value from an unsigned integer. Same logic as set_uint: if < 500M stores as type 1, otherwise converts to string type 3. Variant instance at different address. 0x00C99530 216 CExcelVariant__set_ansi_string_b game_core Sets a variant value as type 3 (ANSI string). Same logic as set_ansi_string. Variant instance at different address. 0x00C99610 232 CExcelVariant__set_wchar_string_b game_core Sets a variant value as type 4 (Unicode string). Same logic as set_wchar_string. Variant instance at different address. 0x00C99700 221 OLEStorage__tokenize_path file Splits a Unicode path at the last backslash. Outputs directory portion to param_2 and filename portion to param_3. If no backslash found, directory is empty and filename is the full path (skipping leading backslash if present). 0x00C99840 172 OLEStorage__swap_sectors file Swaps the contents of two sectors in the OLE storage. Reads both sectors via seek_and_read_sector, then writes each to the other's position via update_directory_entry. Requires write access (flag 0x02). Returns 1 on success, 0 on failure. 0x00C998F0 3 identity_passthrough_00c998f0 crt Returns its parameter unchanged; simple identity function 0x00C99900 1929 ExcelWorkbook__load_cell_data file Loads cell data from BIFF sheet records into CExcelVariant grid. Iterates over all sheets and cell records (0x2F8 stride). Dispatches by record type: MulRk (0xBD) decodes RK values, LabelSST (0xFD) reads SST strings (ANSI or Unicode), Number (0x203) stores doubles, BoolErr (0x205) stores booleans, RK (0x27E) decodes RK values. Populates variant grid at row/column positions. 0x00C9A1A0 313 OLETreeNode__rebalance game_core Rebalances an OLE directory tree node. Sets left child SID (offset 0x44), right sibling SID (offset 0x48), and root/child SID (offset 0x4c) for directory entries in the tree. Initializes unlinked nodes with SID=0xFFFFFFFF (no child/sibling). Processes nodes from a vector of directory entry pointers. 0x00C9A2E0 5482 ExcelWorkbook__write_biff_record_data file Writes BIFF record data to Excel workbook stream. 5.4K bytes. Called by BIFFRecord__write_record_to_stream. Handles cell expansion, stream nodes, resource entries, string maps, and vector allocations for XLS file format output. 0x00C9B860 529 OLEStorage__build_row_table file Builds a row table for the OLE storage. Clears existing rows, reserves space, then iterates through storage entries (stride 0x124) building row descriptors. Each row descriptor is 0x1c bytes, pushed to a vector via emplace. Calls OLEStorage__save_to_file for each entry to populate data. 0x00C9BA80 293 OLEStorage__write_row_to_stream file Writes a row of data to the output stream. Seeks to the correct position via virtual call, writes multiple fields in little-endian (uint16 pairs at offsets 0x28/0x2a/0x2e, uint8 pair at 0x2c/0x2d, uint32 at 0x30, then a variable-length byte array from 0x34-0x38 range). Finishes with write_BIFF_record_with_continuations. 0x00C9BBB0 297 OLEStorage__write_row_fields file Writes row fields to the buffer. Serializes 4 uint16 fields (offsets 0x28, 0x2a, 0x2c, 0x2e) and 2 uint32 fields (offsets 0x30, 0x34) in little-endian byte order. Finishes with write_BIFF_record_with_continuations. 0x00C9BCE0 339 ExcelWorkbook__serialize_sheet_data file Serializes all data for a sheet. Iterates through sheet entries (stride 0x124), calling virtual serializers for header, sub-records, cell data, and footer sections. Accumulates total byte offset as return value. 0x00C9BE40 223 ExcelWorkbook__serialize_3_uint16_record file Serializes a BIFF record with 3 uint16 fields (at member offsets 0x28, 0x2a, 0x2c) to the output buffer. Seeks/resizes buffer via virtual call, writes fields in little-endian, then calls write_BIFF_record_with_continuations. 0x00C9BF20 212 OLEStorage__update_directory_entry file Updates an OLE directory entry on disk. Seeks to position (sector_size * index), writes the entry data, updates entry count and total size if index is at or beyond current count. Flushes and reopens the file stream. 0x00C9C000 241 ExcelWorkbook__serialize_3_uint16_plus_extra_record file Serializes a BIFF record with 3 uint16 fields (offsets 0x28, 0x2a, 0x2c) plus 2 extra bytes (offset 0x2e, 0x2f). Seeks/resizes buffer, writes in little-endian, then calls write_BIFF_record_with_continuations. 0x00C9C100 163 ExcelWorkbook__serialize_uint32_and_string_record file Serializes a BIFF record with 1 uint32 field (offset 0x28) + 2 single-byte fields + a string field via serialize_string_field. Then calls write_BIFF_record_with_continuations. 0x00C9C1B0 152 ExcelWorkbook__dispatch_record_serializer_by_type file Dispatches record serialization by BIFF record type code. Switch on type: 6=Formula, 0xbd=MulRk, 0xbe=MulBlank, 0xfd=LabelSST, 0x201=Blank, 0x203=Number, 0x205=BoolErr, 0x27e=RK. Each type accesses a different sub-object at varying offsets within the record structure. 0x00C9C400 238 ExcelWorkbook__serialize_uint32_and_uint16_array_record file Serializes a BIFF record with 1 uint32 field followed by a variable-length array of uint16 values from a vector. Writes count based on vector size, then each uint16 in little-endian. Calls write_BIFF_record_with_continuations. 0x00C9C4F0 267 ExcelWorkbook__serialize_2_uint32_3_uint16_record file Serializes a BIFF record with 2 uint32 fields + 3 uint16 fields to the output buffer in little-endian. Calls write_BIFF_record_with_continuations at end. 0x00C9C600 326 ExcelWorkbook__serialize_tuple_array_record file Serializes a BIFF record containing an array of (uint32, uint16, uint16) tuples from member vectors. Writes record type uint16, then iterates through entries writing each 8-byte tuple. Calls write_BIFF_record_with_continuations. 0x00C9C750 354 ExcelWorkbook__serialize_multi_field_with_string_record file Serializes a BIFF record with 5 uint16 fields + 4 single-byte fields + a string field via serialize_string_field. Calls write_BIFF_record_with_continuations at end. 0x00C9C8C0 565 ExcelWorkbook__serialize_complex_typed_record file Serializes a complex BIFF record: 3 uint16 fields, 8 raw bytes, 1 uint16, then a variable-length byte array from member vector. After writing data, dispatches to a type-specific sub-serializer based on a type code (0x36, 0xbc, 0x221, 0x4bc). Optionally writes an additional sub-record. Calls virtual finalize at end. 0x00C9CB00 633 OLEStorage__serialize_directory_entry_to_buffer file Serializes an OLE directory entry structure to a raw byte buffer in little-endian format. Copies 0x200+ bytes of fields including name (0x40 wchars), name length, type, color, SIDs (left/right/child), CLSID, state bits, timestamps, start sector, and size. 0x00C9CD80 254 ExcelWorkbook__serialize_4_uint32_and_array_record file Serializes a BIFF record with 4 uint32 fields followed by a variable-length array of uint32 values from a member vector. Writes fields in little-endian. Calls write_BIFF_record_with_continuations at end. 0x00C9CE80 244 ExcelWorkbook__serialize_3_uint16_1_uint32_record file Serializes a BIFF record header: 3 uint16 fields + 1 uint32 field to the output buffer in little-endian. Calls write_BIFF_record_with_continuations. 0x00C9CF80 237 ExcelWorkbook__serialize_string_data_field file Flushes a sector buffer to the output. Two modes based on flag bit 0: (0) writes narrow data - length uint16 + type byte + raw bytes; (1) writes wide data - length uint16 + type byte + wchar array via ole_write_wchar_array_to_buffer. Returns total bytes written (3 + data). 0x00C9D070 350 ExcelWorkbook__serialize_header_and_uint16_array_record file Serializes a BIFF record with 2 uint16 fields at beginning, 1 uint16 at variable offset (based on member field 5), then a variable-length array of uint16 values from a member vector. Calls write_BIFF_record_with_continuations. 0x00C9D1D0 357 ExcelWorkbook__serialize_header_and_tuple_array_record file Serializes a DIFAT-like table: 2 uint16 fields, 1 uint16 at variable offset, then an array of (uint16 + uint32) pairs from a member vector (stride 8). Calls write_BIFF_record_with_continuations. 0x00C9D340 263 ExcelWorkbook__serialize_3_uint16_1_uint64_record file Serializes a mini-FAT-like record: 3 uint16 fields + 1 uint64 field (written as 8 bytes from two uint32 members). Calls write_BIFF_record_with_continuations. 0x00C9D450 473 OLEStorage__serialize_single_directory_entry file Serializes a single OLE compound file directory entry (0x80 bytes) to a byte buffer. Writes: 32 wchar name chars, name size (uint16), type, color, left/right/child SIDs (uint32 each), CLSID, state bits, creation/modification timestamps, start sector, stream size. 0x00C9D630 244 ExcelWorkbook__serialize_3_uint16_1_uint32_record_v2 file Serializes a BIFF record with 3 uint16 fields + 1 uint32 field to the output buffer. Same pattern as write_header_to_buffer. Calls write_BIFF_record_with_continuations. 0x00C9D730 624 ExcelWorkbook__write_BIFF_record_with_continuations file Writes a BIFF record with CONTINUE records (type 0x3c) for data exceeding the max record size (0x2020 = 8224 bytes). Splits data at CONTINUE record boundaries, writing record type, size prefix, then data chunks. Handles both pre-split (via offset array) and raw data modes. 0x00C9D9A0 371 ExcelWorkbook__serialize_6_uint16_1_uint32_record file Serializes a BIFF record with 6 uint16 fields + 1 uint32 field to the output buffer. Calls write_BIFF_record_with_continuations at end. 0x00C9DB20 292 OLEStorage__serialize_storage_children file Serializes all child streams of an OLE storage entry. Iterates through two vectors: first (stride 0x38) for simple sub-records, second (stride 0x2f8) for complex typed records with type dispatch (same as dispatch_record_serializer_by_type). Ends with a final sub-record serialization. Returns total serialized bytes. 0x00C9DD50 288 ExcelWorkbook__write_global_records file Serializes workbook global records. Writes 2 uint32 fields, then iterates through sheet entries calling flush_sector_buffer for each, with optional vector byte inserts at specific offsets. Calls write_BIFF_record_with_continuations at end. 0x00C9DE70 276 ExcelWorkbook__write_sheet_records file Serializes sheet records. Writes 2 uint16 fields + 2 single-byte fields + 1 uint16 + 1 uint32, then copies a variable-length byte array from member vector. Calls write_BIFF_record_with_continuations. 0x00C9DF90 276 ExcelWorkbook__write_all_sheet_records file Serializes all sheet records (same structure as write_sheet_records). Writes 2 uint16 + 2 bytes + 1 uint16 + variable-length byte array. Calls write_BIFF_record_with_continuations. 0x00C9E0B0 171 ExcelWorkbook__serialize_string_field file Serializes a string field to a byte buffer. Writes length byte + type byte, then the string data. Supports both wide (wchar_t, type != 0) and narrow (char, type == 0) strings. Returns total bytes written (2 + string data length). 0x00C9E160 201 ExcelWorkbook__write_uint16_array_field file Writes an array of uint16 values from a vector to the output buffer. Iterates through the vector writing each uint16 in little-endian, then calls the BIFF record continuation handler. 0x00C9E230 202 ExcelWorkbook__write_cell_record file Serializes a BIFF cell record. Writes record type uint16, then conditionally: if type is negative, writes 2 raw bytes; otherwise calls flush_sector_buffer for the cell data. Calls write_BIFF_record_with_continuations at end. 0x00C9E300 399 ExcelWorkbook__write_row_record file Serializes a BIFF row record. Writes 8 uint16 fields (at offsets 0x28 through 0x36) to the output buffer in little-endian. Calls write_BIFF_record_with_continuations. 0x00C9E490 459 ExcelWorkbook__write_dimension_record file Serializes a BIFF dimension record. Writes 9 uint16 fields (at offsets 0x28 through 0x38) in little-endian to the output buffer. Calls write_BIFF_record_with_continuations. 0x00C9E660 404 ExcelWorkbook__write_format_record file Serializes a BIFF format record. Writes 7 uint16 fields + 1 uint32 field (18 bytes total) in little-endian to the output buffer. Calls write_BIFF_record_with_continuations. 0x00C9E800 373 ExcelWorkbook__serialize_workbook_globals file Serializes workbook global records. Calls virtual serializers for: header record, font records, multiple arrays of XF/format/style/palette records (strides 0x44, 0x40, 0x4c, 0x3c), SST record, and a final record. Returns total serialized bytes. 0x00C9E980 205 ExcelWorkbook__serialize_sheet_records file Serializes a sheet's records. Calls virtual serializers for header, cell index, row data, then iterates through cell records (stride 0x50), followed by footer and trailing records. Returns total serialized bytes. 0x00C9EA50 333 ExcelWorkbook__write_style_record file Serializes a BIFF style/XF record. Writes 3 uint16 fields + 4 raw bytes + 2 uint32 fields + 1 uint16 field (20 bytes total) in little-endian. Calls write_BIFF_record_with_continuations. 0x00C9EBA0 75 ExcelWorkbook__write_SST_header file Writes an SST header: 1 uint16 + 1 uint32 (6 bytes total) to the output buffer in little-endian. Contains the string count and unique string count for the Shared String Table. 0x00C9EBF0 1964 OLEStorage__write_stream_data_to_sectors file Writes stream data to OLE compound file sectors. Manages sector chain allocation: allocates new sectors if data grows, frees sectors if data shrinks, copies data to sectors in chunk size blocks. Handles both regular sectors (param_5 char==0, sector size from 0xbd) and mini-stream sectors (param_5 char!=0, sector size from 0xbc). 0x00C9F3A0 110 OLEStorage__add_stream_by_ansi_name file Adds a stream to the OLE storage by ANSI name. Converts the char* name to wchar_t via mbstowcs, then calls OLEStorage__write_stream_contents. The second param is dereferenced to get the stream data pointer. Frees the wide string after use. 0x00C9F410 108 OLEStorage__add_stream_by_ansi_name_direct file Adds a stream to the OLE storage by ANSI name (direct params). Converts char* name to wchar_t via mbstowcs, then calls OLEStorage__write_stream_contents with the data pointer directly. Frees the wide string after use. 0x00C9F480 23 OLEStorage__add_stream_by_wchar_name file Thin wrapper: adds a stream by wchar_t name. Dereferences param_2 to get stream data, then calls OLEStorage__write_stream_contents. 0x00C9F4A0 183 OLEStorage__write_stream_contents file Writes stream contents to the OLE compound file. Navigates to the target directory entry by path, determines if data should be in regular sectors (>=0x1000 bytes) or mini-stream (<0x1000 bytes), transitions between modes if needed, writes data via OLEStorage__write_stream_data_to_sectors, then rebuilds FAT, updates directory entry, and writes FAT sectors and directory entries to disk. 0x00C9F560 79 ole_write_wchar_array_to_buffer game_core Copies a wchar_t array to a byte buffer in little-endian format. Each wchar_t is written as 2 bytes at the destination starting from param_3 offset. Used for writing Unicode strings in OLE/BIFF records. 0x00C9F5B0 90 STL_vector__Change_array_00c9f5b0 stl Library function: std::vector::_Change_array for uint32/pointer elements. Frees old buffer, replaces with new buffer pointer, updates size and capacity. Several library signatures match it. 0x00C9F610 156 STL_vector_0x3c_change_array stl STL vector _Change_array for elements of size 0x3c (60 bytes). Frees old buffer (calling virtual destructors on each element via vfunc[0](0)), then sets new buffer pointers: begin, end (size*0x3c), capacity (capacity*0x3c). 0x00C9F6B0 147 STL_vector_0x2f8_change_array stl STL vector _Change_array for elements of size 0x2f8 (760 bytes). Frees old buffer (calling CResourceEntry__dtor on each element), then sets new buffer pointers: begin, end (size*0x2f8), capacity (capacity*0x2f8). 0x00C9F750 154 std__vector_0x44_Change_array stl std::vector::_Change_array for 0x44-byte elements with vtables. Destroys existing elements via virtual dtor, frees old buffer, replaces with new buffer/size/capacity pointers. 0x00C9F7F0 109 std__vector_0x20_Change_array stl std::vector::_Change_array for 0x20-byte elements. Calls std__destroy_range_0x20_elements, frees old buffer, replaces with new buffer/size/capacity. 0x00C9F860 146 std__vector_0x50_Change_array stl std::vector::_Change_array for 0x50-byte elements (CStreamNodeTypeFF). Calls CStreamNodeTypeFF__dtor on each, frees old buffer, replaces with new buffer/size/capacity. 0x00C9F900 134 std__vector_0x4c_Change_array stl std::vector::_Change_array for 0x4C-byte elements with vtables. Destroys via virtual dtor, frees old buffer, replaces with new buffer/size/capacity. 0x00C9F990 122 std__vector_0x40_Change_array stl std::vector::_Change_array for 0x40-byte elements with vtables. Destroys via virtual dtor, frees old buffer, replaces with new buffer/size/capacity. 0x00C9FA10 230 std__vector_0x1c_Change_array stl std::vector::_Change_array for 0x1C-byte elements with nested vectors. Destroys each element's nested vector via std__vector_0xc_nested_clear_and_free, frees old buffer, replaces with new buffer/size/capacity. Uses SEH. 0x00C9FB00 147 std__vector_0x124_Change_array stl std::vector::_Change_array for 0x124-byte elements (CIOStreamNode). Calls CIOStreamNode__dtor_variant on each, frees old buffer, replaces with new buffer/size/capacity. 0x00C9FBA0 90 STL_vector__Change_array_00c9fba0 stl std::vector::_Change_array (or uint/CHN*). Frees old 2-byte-element buffer, replaces with new buffer/size/capacity. Library function (VS2019). 0x00C9FC00 160 std__vector_ushort_reallocate stl std::vector reallocate/reserve. Frees old buffer, allocates new buffer via STL_wstring_allocate_buffer with 1.5x growth, updates begin/end/capacity pointers. 0x00C9FCB0 37 std__destroy_range_0x3c_vfunc stl STL template instantiation: std destroy range 0x3c vfunc 0x00C9FCE0 39 std__destroy_range_0x2f8_elements stl STL template instantiation: std destroy range 0x2f8 elements 0x00C9FD10 37 std__destroy_range_0x44_vfunc stl STL template instantiation: std destroy range 0x44 vfunc 0x00C9FD40 22 std__destroy_range_0x20_wrapper stl Thin wrapper that forwards to std__destroy_range_0x20_elements. Destroys range of 0x20-byte elements. 0x00C9FD60 37 std__destroy_range_0x38_vfunc stl STL template instantiation: std destroy range 0x38 vfunc 0x00C9FD90 36 std__destroy_range_0x50_elements stl STL template instantiation: std destroy range 0x50 elements 0x00C9FDC0 37 std__destroy_range_0x4c_vfunc stl STL template instantiation: std destroy range 0x4c vfunc 0x00C9FDF0 37 std__destroy_range_0x40_vfunc stl STL template instantiation: std destroy range 0x40 vfunc 0x00C9FE20 36 std__destroy_range_0xc_nested stl STL template instantiation: std destroy range 0xc nested 0x00C9FE50 36 std__destroy_range_0xc_ushort_vec stl STL template instantiation: std destroy range 0xc ushort vec 0x00C9FE80 22 std__destroy_range_0x28_wrapper stl Thin wrapper that forwards to std__destroy_range_0x28_elements. Destroys range of 0x28-byte elements. 0x00C9FEA0 93 std__destroy_range_0x1c_nested stl Destroys a range of 0x1C-byte elements with nested vectors. Calls std__vector_0xc_nested_clear_and_free on each element. Uses SEH. Element stride 0x1C. 0x00C9FF00 39 std__destroy_range_0x124_elements stl STL template instantiation: std destroy range 0x124 elements 0x00C9FF30 1 stub_nop_00c9ff30 game_core Single-byte stub function (size=1) 0x00C9FF40 1 stub_nop_00c9ff40 game_core Single-byte stub function (size=1) 0x00C9FF50 1 stub_nop_00c9ff50 game_core Single-byte stub function (size=1) 0x00C9FF60 1 stub_nop_00c9ff60 game_core Single-byte stub function (size=1) 0x00C9FF70 1 stub_nop_00c9ff70 game_core Single-byte stub function (size=1) 0x00C9FF80 1 stub_nop_00c9ff80 game_core Single-byte stub function (size=1) 0x00C9FF90 1 stub_nop_00c9ff90 game_core Single-byte stub function (size=1) 0x00C9FFA0 1 stub_nop_00c9ffa0 game_core Single-byte stub function (size=1) 0x00C9FFB0 1 stub_nop_00c9ffb0 game_core Single-byte stub function (size=1) 0x00C9FFC0 3 identity_passthrough_00c9ffc0 crt Returns input parameter unchanged; identity function stub 0x00C9FFD0 1 stub_nop_00c9ffd0 game_core Single-byte stub function (size=1) 0x00C9FFE0 1 stub_nop_00c9ffe0 game_core Single-byte stub function (size=1) 0x00C9FFF0 1 identity_return_ecx game_core Identity function that returns its input parameter unchanged 0x00CA0000 1 identity_return_ecx_00ca0000 game_core Identity function that returns its input parameter unchanged 0x00CA0010 517 Insert_node stl std::_Tree_val::_Insert_node - Inserts a node into a red-black tree (std::set/map). Handles tree rebalancing with rotations and color flips. Library function (VS2019). 0x00CA0220 517 Insert_node stl std::_Tree_val::_Insert_node - Duplicate instance. Inserts a node into a red-black tree (std::set/map). Handles tree rebalancing with rotations and color flips. Library function (VS2019). 0x00CA0430 146 STL_vector_0x2f8__reserve stl STL vector reserve for 0x2F8-byte elements. Allocates new buffer, copies existing elements via uninitialized_copy, then replaces old buffer. 0x00CA04F0 144 STL_vector_0x50__reserve stl STL vector reserve for 0x50-byte elements. Allocates new buffer, copies existing elements via uninitialized_copy, then replaces old buffer. 0x00CA05B0 146 STL_vector_0x1c__reserve stl STL vector reserve for 0x1C-byte elements. Allocates new 0x1C-element array, moves existing elements via STL_vector_0x1c_move_range, then replaces old buffer. 0x00CA0670 129 STL_vector_ushort_dealloc stl STL vector deallocation. Frees aligned buffer (handles >0xFFF aligned allocation) and zeroes all 3 vector pointers (begin, end, capacity). 0x00CA0700 129 STL_vector_uint_dealloc_00ca0700 stl STL vector deallocation (duplicate). Frees aligned buffer (handles >0xFFF aligned allocation) and zeroes all 3 vector pointers. 0x00CA0790 183 STL_vector_0x3c_dtor_with_vfunc stl STL vector destructor for 0x3C-byte elements with vtables. Calls virtual destructor (first vfunc) on each element, then frees the aligned buffer and zeroes pointers. 0x00CA0850 180 std__vector_CResourceEntry_clear_and_free stl Clears and frees a std::vector of CResourceEntry objects (element size 0x2F8). Calls CResourceEntry__dtor on each element before freeing the buffer. 0x00CA0910 181 std__vector_0x44_vfunc_clear_and_free stl Clears and frees a std::vector of objects with vtable (element size 0x44). Calls virtual destructor on each element before freeing the buffer. 0x00CA09D0 144 std__vector_0x20_clear_and_free stl Clears and frees a std::vector of 0x20-byte elements. Calls std__destroy_range_0x20_elements to destroy each element before freeing the buffer. 0x00CA0A70 185 std__vector_0x38_vfunc_clear_and_free stl Clears and frees a std::vector of objects with vtable (element size 0x38). Calls virtual destructor on each element before freeing the buffer. 0x00CA0B30 175 std__vector_CStreamNodeTypeFF_clear_and_free stl Clears and frees a std::vector of CStreamNodeTypeFF objects (element size 0x50). Calls CStreamNodeTypeFF__dtor on each element before freeing. 0x00CA0BF0 173 std__vector_0x4c_vfunc_clear_and_free stl Clears and frees a std::vector of objects with vtable (element size 0x4C). Calls virtual destructor on each element before freeing. 0x00CA0CB0 156 std__vector_0x40_vfunc_clear_and_free stl Clears and frees a std::vector of objects with vtable (element size 0x40). Calls virtual destructor on each element before freeing. 0x00CA0D60 129 std__vector_0x8_clear_and_free stl Clears and frees a std::vector of 8-byte POD elements. No element destructors needed, just frees the buffer. 0x00CA0DF0 174 std__vector_0xc_nested_clear_and_free stl Clears and frees a std::vector of 0xC-byte elements. Each element contains a nested vector (calls FUN_00ca0eb0 to destroy inner vectors). Frees the outer buffer after. 0x00CA0EB0 166 std__vector_0x28_clear_and_free stl Clears and frees a std::vector of 0x28-byte elements. Calls std__destroy_range_0x28_elements on range before freeing the buffer. 0x00CA0F60 114 std__uninitialized_fill_n_CBaseStreamNode stl Constructs an array of CBaseStreamNode objects (element size 0x3C) by calling CBaseStreamNode__ctor_default on each. Used by std::vector resize/fill operations. 0x00CA0FE0 114 std__uninitialized_fill_n_CStreamNodeWithFont stl Constructs an array of CStreamNodeWithFont objects (element size 0x44) by calling CStreamNodeWithFont__ctor_default on each. Used by std::vector resize/fill operations. 0x00CA1060 184 std__uninitialized_default_n_0x20_elements stl Default-initializes an array of 0x20-byte elements (8 DWORDs each) with zeroes and sets byte at offset 0x18 to 0xFF. Calls std__destroy_range_0x20_elements on overflow. Used by vector resize. 0x00CA1120 127 std__uninitialized_fill_n_CStreamNodeD7Container stl Constructs an array of CStreamNodeD7Container objects (element size 0x50). Zeroes memory then calls CStreamNodeD7Container__ctor_default on each. Used by std::vector resize. 0x00CA11A0 114 std__uninitialized_fill_n_CStreamNodeType293 stl Constructs an array of CStreamNodeType293 objects (element size 0x4C) by calling CStreamNodeType293__ctor_default on each. Used by std::vector resize. 0x00CA1220 114 std__uninitialized_fill_n_CStreamNodeTypeE0 stl Constructs an array of CStreamNodeTypeE0 objects (element size 0x40) by calling CStreamNodeTypeE0__ctor_default on each. Used by std::vector resize. 0x00CA12A0 36 std__uninitialized_fill_n_0x8_pod stl STL template instantiation: std uninitialized fill n 0x8 pod 0x00CA12D0 120 std__uninitialized_fill_n_0xc_with_nested_vector stl Constructs an array of 0xC-byte elements, each containing a nested vector. Calls STL_vector_0x28_copy_ctor for each element. Used by std::vector resize. 0x00CA1350 175 std__uninitialized_default_n_0x28_elements stl Default-initializes an array of 0x28-byte elements (10 DWORDs each) with zeroes. Calls std__destroy_range_0x28_elements on overflow. Used by vector resize. 0x00CA1400 117 std__uninitialized_fill_n_CDocumentStream stl Constructs an array of CDocumentStream objects (element size 0x124) by calling CDocumentStream__ctor_variant on each. Used by std::vector resize. 0x00CA1480 83 std__uninitialized_fill_n_short stl Fills an array of short values. If source value is 0, uses memset for efficiency. Otherwise copies source short to each element one-by-one. Returns pointer past last element. 0x00CA14E0 122 std__uninitialized_copy_CBaseStreamNode stl Copy-constructs a range of CBaseStreamNode objects (element size 0x3C) from source range to destination. Used by std::vector copy operations. 0x00CA1560 128 std__uninitialized_copy_CResourceEntry stl Copy-constructs a range of CResourceEntry objects (element size 0x2F8) from source range to destination. Used by std::vector copy operations. 0x00CA15E0 122 std__uninitialized_copy_CStreamNodeWithFont stl Copy-constructs a range of CStreamNodeWithFont objects (element size 0x44) from source range to destination. Used by std::vector copy operations. 0x00CA1660 199 std__uninitialized_copy_0x20_elements stl Copy-constructs a range of 0x20-byte elements from source to destination. Each element contains a ushort vector, another vector, and scalar fields (byte, short, DWORD). Calls destroy on overflow. 0x00CA1730 122 std__uninitialized_copy_CStreamNodeType208 stl Copy-constructs a range of CStreamNodeType208 objects (element size 0x38) from source to destination. Used by std::vector copy operations. 0x00CA17B0 122 std__uninitialized_move_CStreamNodeD7Container stl Move-constructs a range of CStreamNodeD7Container objects (element size 0x50) from source to destination. Used by std::vector move/reallocation operations. 0x00CA1830 122 std__uninitialized_copy_CStreamNodeType293 stl Copy-constructs a range of CStreamNodeType293 objects (element size 0x4C) from source to destination. Used by std::vector copy operations. 0x00CA18B0 122 std__uninitialized_copy_CStreamNodeTypeE0 stl Copy-constructs a range of CStreamNodeTypeE0 objects (element size 0x40) from source to destination. Used by std::vector copy operations. 0x00CA1930 128 std__uninitialized_copy_CIOStreamNode stl Copy-constructs a range of CIOStreamNode objects (element size 0x124) from source to destination. Used by std::vector copy operations. 0x00CA19B0 38 std__copy_range_short_pod stl POD memcpy for a range of short (2-byte) elements. Copies raw bytes from [param_1, param_2) to param_3 via memcpy. Returns pointer past the last copied short element. 0x00CA19E0 120 std__destroy_range_CBaseStreamNode_variant stl Destroys a range of CBaseStreamNode objects (element size 0x3C) using CBaseStreamNode__copy_ctor_00c84260 variant destructor. Used during vector reallocation cleanup. 0x00CA1A60 120 std__destroy_range_CStreamNodeWithFont_variant stl Destroys a range of CStreamNodeWithFont objects (element size 0x44) using variant destructor. Used during vector reallocation cleanup. 0x00CA1AE0 197 std__uninitialized_copy_0x20_elements_variant stl Copy-constructs a range of 0x20-byte elements (variant). Each element has a ushort vector, another vector, and scalar fields. Identical to std__uninitialized_copy_0x20_elements but different calling context. 0x00CA1BB0 120 std__destroy_range_CStreamNodeType293_variant stl Destroys a range of CStreamNodeType293 objects (element size 0x4C) using variant destructor. Used during vector reallocation cleanup. 0x00CA1C30 120 std__destroy_range_CStreamNodeTypeE0_variant stl Destroys a range of CStreamNodeTypeE0 objects (element size 0x40) using variant destructor. Used during vector reallocation cleanup. 0x00CA1CB0 45 std__copy_8byte_pod_range stl Copies a range of 8-byte POD elements (2 DWORDs each) from source to destination. Simple memcpy-like loop for trivially copyable types. 0x00CA1CE0 164 std__move_range_0xc_elements stl Move-constructs a range of 0xC-byte elements (3 DWORDs each, likely vector triplet: begin/end/capacity). Transfers ownership by copying then zeroing source. Used in vector reallocation. 0x00CA1D90 145 std__uninitialized_move_0x28_elements stl Move-constructs a range of 0x28-byte elements from source to destination. Calls STL_vector_0x28_move_construct_element on each, then destroys remaining elements. Used in vector reallocation. 0x00CA1E30 126 std__destroy_range_CIOStreamNode_variant stl Destroys a range of CIOStreamNode objects (element size 0x124) using variant destructor CIOStreamNode__copy_ctor_00c87930. Used during vector reallocation cleanup. 0x00CA1EB0 10 thunk_to_std__Xlength_error_00ca1eb0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00CA1EC0 10 thunk_to_std__Xlength_error_00ca1ec0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00CA1ED0 10 thunk_to_std__Xlength_error_00ca1ed0 stl Calls std::_Xlength_error with vector_too_long string constant 0x00CA1EE0 10 thunk_to_std__Xlength_error_00ca1ee0 stl Forwards to std::_Xlength_error with vector_too_long message 0x00CA1EF0 10 thunk_to_std__Xlength_error_00ca1ef0 stl Calls std::_Xlength_error with vector_too_long error message 0x00CA1F00 10 thunk_to_std__Xlength_error_00ca1f00 stl Wrapper that calls std::_Xlength_error for vector overflow 0x00CA1F10 10 thunk_to_std__Xlength_error_00ca1f10 stl Thunk that calls std::_Xlength_error for vector allocation failure 0x00CA1F20 10 thunk_to_std__Xlength_error_00ca1f20 stl Throws std::length_error for vector overflow condition 0x00CA1F30 10 thunk_to_std__Xlength_error_00ca1f30 stl Throws vector_too_long exception via std::_Xlength_error 0x00CA1F40 10 thunk_to_std__Xlength_error_00ca1f40 stl Calls std::_Xlength_error with vector_too_long message, never returns 0x00CA1F50 10 thunk_to_std__Xlength_error_00ca1f50 stl Throws vector_too_long exception via std::_Xlength_error 0x00CA1F60 10 thunk_to_std__Xlength_error_00ca1f60 stl Forwards to std::_Xlength_error with vector_too_long message 0x00CA1F70 10 thunk_to_std__Xlength_error_00ca1f70 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00CA1F80 10 thunk_to_std__Xlength_error_00ca1f80 stl Thunk calling std::_Xlength_error with vector_too_long message 0x00CA1F90 10 thunk_to_std__Xlength_error_00ca1f90 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00CA1FA0 10 thunk_to_std__Xlength_error_00ca1fa0 stl Calls std::_Xlength_error with vector_too_long message 0x00CA1FB0 10 thunk_to_std__Xlength_error_00ca1fb0 stl Wrapper that calls std::_Xlength_error for vector length overflow 0x00CA1FC0 91 std__allocator_allocate_short_array stl STL allocator for short arrays (element size 2). Validates count against max (0x80000000), allocates with aligned allocation for buffers > 0xFFF bytes. 0x00CA2020 92 std__allocator_allocate_int_array stl STL allocator for int/DWORD arrays (element size 4). Validates count, allocates with aligned allocation for large buffers. 0x00CA2080 100 std__allocator_allocate_0x3c_array stl STL allocator for CBaseStreamNode arrays (element size 0x3C). Validates count, allocates with aligned allocation for large buffers. 0x00CA20F0 95 std__allocator_allocate_0x2f8_array stl STL allocator for CResourceEntry arrays (element size 0x2F8). Validates count, allocates with aligned allocation for large buffers. 0x00CA2150 100 std__allocator_allocate_0x44_array stl STL allocator for CStreamNodeWithFont arrays (element size 0x44). Validates count, allocates with aligned allocation for large buffers. 0x00CA21C0 92 std__allocator_allocate_0x20_array stl STL allocator for 0x20-byte element arrays. Validates count, allocates with aligned allocation for large buffers. 0x00CA2220 102 std__allocator_allocate_0x38_array stl STL allocator for 0x38-byte element arrays (CStreamNodeType208). Validates count, allocates with aligned allocation for large buffers. 0x00CA2290 95 std__allocator_allocate_0x50_array stl STL allocator for CStreamNodeD7Container arrays (element size 0x50). Validates count, allocates with aligned allocation for large buffers. 0x00CA22F0 92 std__allocator_allocate_0x4c_array stl STL allocator for CStreamNodeType293 arrays (element size 0x4C). Validates count, allocates with aligned allocation for large buffers. 0x00CA2350 92 std__allocator_allocate_0x40_array stl STL allocator for CStreamNodeTypeE0 arrays (element size 0x40). Validates count, allocates with aligned allocation for large buffers. 0x00CA23B0 92 std__allocator_allocate_0x8_array stl STL allocator for 8-byte POD element arrays. Validates count, allocates with aligned allocation for large buffers. 0x00CA2410 95 std__allocator_allocate_0x28_array stl STL allocator for 0x28-byte element arrays. Validates count, allocates with aligned allocation for large buffers. 0x00CA2470 102 std__allocator_allocate_0x1c_array stl STL allocator for 0x1C-byte element arrays. Validates count, allocates with aligned allocation for large buffers. 0x00CA24E0 95 std__allocator_allocate_0x124_array stl STL allocator for CIOStreamNode arrays (element size 0x124). Validates count, allocates with aligned allocation for large buffers. 0x00CA2540 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00CA2580 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00CA25C0 64 std__allocator_deallocate_0x3c_array stl STL deallocator for 0x3C-byte element arrays (CBaseStreamNode). Computes total bytes, handles aligned deallocation for large buffers. 0x00CA2610 59 std__allocator_deallocate_0x2f8_array stl STL deallocator for 0x2F8-byte element arrays (CResourceEntry). Computes total bytes, handles aligned deallocation. 0x00CA2650 64 std__allocator_deallocate_0x44_array stl STL deallocator for 0x44-byte element arrays (CStreamNodeWithFont). Handles aligned deallocation. 0x00CA26A0 58 std__allocator_deallocate_0x20_array stl STL deallocator for 0x20-byte element arrays. Handles aligned deallocation. 0x00CA26E0 67 std__allocator_deallocate_0x38_array stl STL deallocator for 0x38-byte element arrays (CStreamNodeType208). Handles aligned deallocation. 0x00CA2730 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00CA2770 56 std__allocator_deallocate_0x4c_array stl STL deallocator for 0x4C-byte element arrays (CStreamNodeType293). Handles aligned deallocation. 0x00CA27B0 58 std__allocator_deallocate_0x40_array stl STL deallocator for 0x40-byte element arrays (CStreamNodeTypeE0). Handles aligned deallocation. 0x00CA27F0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00CA2830 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00CA2870 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00CA28B0 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00CA28F0 67 std__allocator_deallocate_0x1c_array stl STL deallocator for 0x1C-byte element arrays. Handles aligned deallocation. 0x00CA2940 59 std__allocator_deallocate_0x124_array stl STL deallocator for 0x124-byte element arrays (CIOStreamNode). Handles aligned deallocation. 0x00CA2980 107 std__vector_byte_insert stl Inserts a single byte into a std::vector at the given position. If capacity available and inserting at end, appends directly. Otherwise shifts elements right using memcpy and inserts. Grows via std__vector_byte__insert_with_grow if needed. 0x00CA29F0 515 std__vector_byte_insert_fill stl Inserts N copies of a byte value into std::vector at given position. Handles three cases: grow (reallocate), append at end, and insert in middle (shift existing elements). Uses 1.5x growth strategy. 0x00CA2C20 404 std__vector_0x1c_emplace stl Emplaces a 0x1C-byte element into a std::vector at given position. Handles grow, push_back, and mid-vector insert with element shifting. Element has nested vector at offset 0x10 (3 DWORDs). 0x00CA2DC0 366 std__basic_filebuf_open stl Opens a file for a std::basic_filebuf. Calls _Fiopen with filename, mode, and protection. Initializes stream buffer pointers, handles locale/codecvt facet. Sets stream state to failbit if already open or open fails. 0x00CA2F30 100 std__vector_ushort_resize stl Resizes a std::vector to the given count. Truncates if smaller, zero-fills new elements if larger. Grows via STL_vector_ushort_resize_grow if capacity exceeded. 0x00CA2FA0 89 std__vector_int_resize_fill stl Resizes a std::vector to given count with fill value. Truncates if smaller, fills new elements with given value if larger. Grows via STL_vector_int__resize_with_fill if needed. 0x00CA3000 103 std__vector_uint_resize stl Resizes a std::vector to given count. Truncates if smaller, zero-fills new elements if larger. Grows via STL_vector_uint_resize_grow if capacity exceeded. 0x00CA3070 106 std__vector_0x8_resize stl Resizes a std::vector of 8-byte POD elements (short + int). Truncates if smaller, zero-initializes new elements if larger. 0x00CA30E0 162 std__vector_0xc_nested_resize stl Resizes a std::vector of 0xC-byte elements (each containing a nested vector). If shrinking, destroys inner vectors of removed elements. If growing, constructs new elements with nested vector copy. 0x00CA3190 174 std__vector_CIOStreamNode_resize stl Resizes a std::vector of CIOStreamNode objects (element size 0x124). If shrinking, calls CIOStreamNode__dtor_variant on removed elements. If growing, constructs new via CDocumentStream ctor. 0x00CA3240 100 std__vector_ushort_resize_zero stl Resizes a std::vector to given count, zero-filling new elements. Variant that always uses zero as fill value. 0x00CA32B0 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00CA3300 242 std__map_uint_insert stl Inserts into std::map using lower_bound. Creates a new 0x18-byte RB-tree node if key not found. Returns iterator and insertion flag. 0x00CA3400 135 CEntryQueueTable__ctor game_core Constructs CEntryQueueTable. Sets vtable, initializes RB-tree map (sentinel node with self-referencing pointers), calls initialization function. 0x00CA3490 65 CEntryQueueTable__clear game_core Clears CEntryQueueTable by destroying all nodes in the internal RB-tree map. 0x00CA34E0 102 CEntryQueueTable__dtor game_core Destructor for CEntryQueueTable. Sets vtable, clears data, then destroys the RB-tree map. 0x00CA3550 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00CA35B0 123 CEntryQueueTable__scalar_deleting_dtor game_core Scalar deleting destructor for CEntryQueueTable. Calls dtor, then frees memory (0xC bytes) if flag bit 0 is set. 0x00CA3640 72 CEntryQueueTable__find_by_id game_core Looks up an entry in CEntryQueueTable by ID using lower_bound on the RB-tree. Returns value at offset 0x14 of the found node, or 0 if not found. 0x00CA3690 3 ret_one_00ca3690 crt Returns constant value 1 0x00CA36A0 165 CEntryQueueTable__load_from_bex game_core Loads CEntryQueueTable from BEX file. Clears existing data, allocates GameData (0x5A8 bytes), calls load_bex_file. Destroys GameData on success. Returns 1 on success, 0 on failure. 0x00CA3750 166 CEntryQueueTable__load_from_xls game_core Loads CEntryQueueTable from XLS file. Clears existing data, allocates GameData (0x5A8 bytes), calls parse_xls_rows. Destroys GameData on success. Returns 1 on success, 0 on failure. 0x00CA3800 1997 CEntryQueueTable__parse_xls_rows game_core Parses EntryQueue.xls rows into CEntryQueueTable. Opens OLE file, iterates rows starting from row 3. Each row populates a 0x738-byte entry with: ID, 7 string fields (name variants, sprite paths), numeric flags. Inserts into RB-tree map by ID. Shows MessageBox on duplicate key or load failure. 0x00CA3FD0 852 CEntryQueueTable__load_bex_file game_core Loads CEntryQueueTable from binary file EntryQueue.bex. Reads entry count, then for each entry reads fields via sequential ReadFile calls matching the XLS structure (0x738 bytes per entry). Inserts into RB-tree map. Shows MessageBox on file open failure. 0x00CA4330 122 CEntryQueueTable__free_all_entries game_core Traverses all nodes in CEntryQueueTable's RB-tree, freeing the 0x738-byte entry data for each node. Calls rb_tree erase_all to reset the tree structure after. 0x00CA43B0 96 CEntryQueueTable__insert_if_not_exists game_core Inserts a key-value pair into CEntryQueueTable's map only if the key doesn't already exist. Returns 0 if key was found (no insert), 1 if inserted. 0x00CA4410 1 rb_tree_free_entries_and_reset game_core Rb tree free entries and reset 0x00CA4430 1699 CEntryQueueTable__convert_xls_to_bex game_core Converts EntryQueue.xls to EntryQueue.bex binary format. Opens both XLS files (source + output), copies field data from map entries into the output sheet using OLE field setters. Deletes the XLS file and saves the BEX result. 0x00CA4AE0 115 rb_tree_uint__erase_all_and_reset game_core Erases all nodes from an RB-tree map with uint keys. Traverses in-order, recursively destroys subtrees, frees each 0x18-byte node, then resets sentinel pointers and size to 0. 0x00CA4B70 27 get_entry_queue_data_by_id game_core Global accessor for entry queue data. Checks if singleton exists, delegates to CEntryQueueTable__find_by_id. Returns 0 if singleton not initialized. 0x00CA4B90 203 init_entry_queue_table_singleton game_core Initializes the CEntryQueueTable singleton (DAT_0171dd18). Destroys existing instance, creates new one, loads data from BEX or XLS depending on DAT_0135e606 flag. Returns 1 on success. 0x00CA4C80 30 entry_queue_table_insert_if_not_exists game_core Global wrapper to insert into entry queue table singleton. Checks singleton exists, delegates to insert_if_not_exists. 0x00CA4CF0 40 CLuaHost__ctor game_core Constructs CLuaHost. Sets vtable, creates a new Lua state via luaL_newstate, stores in member at offset 4. Sets initialized flag at offset 8 to 1 if state creation succeeded. 0x00CA4D20 82 CLuaHost__dtor game_core Destructor for CLuaHost. Sets vtable, closes the Lua state if it exists via lua_close, zeroes the state pointer. 0x00CA4D80 103 CLuaHost__scalar_deleting_dtor game_core Scalar deleting destructor for CLuaHost. Calls dtor (closes lua state), then frees 0xC bytes if flag bit 0 is set. 0x00CA4DF0 18 CLuaHost__create_new_state game_core Creates a new Lua state for CLuaHost via luaL_newstate. Returns true if state was created successfully. 0x00CA4E10 28 CLuaHost__close_state game_core Closes the Lua state in CLuaHost if it exists. Zeroes the state pointer after closing. 0x00CA4E30 55 CLuaHost__copy_ctor game_core Copy constructor for CLuaHost. Sets vtable, creates a new Lua thread from source's state via lua_newthread (json__internal_00523230). Sets initialized flag. 0x00CA4E80 43 CLuaHost__scalar_deleting_dtor_noclose game_core Scalar deleting destructor for CLuaHost variant that doesn't close the lua state. Just sets vtable, zeroes member, and optionally frees 0xC bytes. 0x00CA4EB0 33 CLuaHost__clone_state game_core Clones a Lua state from another CLuaHost by creating a new thread via lua_newthread. Returns true if successful. 0x00CA4EE0 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00CA4F30 330 CTimerBar__ctor game_core Constructs a CTimerBar (casting/skill timer). Initializes RB-tree sentinel node (0x24 bytes), sets duration/start/delay parameters, initializes 24 color segments (0x20 bytes each, 0x300 total), and default color based on direction flag. 0x00CA5080 78 CTimerBar__free_tree_node game_core Frees the 0x24-byte RB-tree sentinel node of a CTimerBar if it exists. 0x00CA50D0 78 CTimerBar__free_tree_node_variant game_core Variant of CTimerBar tree node free. Frees the 0x24-byte RB-tree sentinel node if it exists. 0x00CA5120 95 CTimerBar__init_segments game_core Initializes CTimerBar color segments by calling segment setup function, then calls thunk for finalization. 0x00CA5180 767 CTimerBar__update_progress game_core Updates CTimerBar progress. Calculates elapsed time ratio using timeGetTime (or EffectMap timer). Determines current phase (0-7) based on progress thresholds, sets segment count (3-24). Handles timer extension at 60s boundary. Calculates visual position using tangent curve for smooth animation. 0x00CA5480 84 CTimerBar__calculate_tangent_position game_core Calculates tangent-based position for a timer bar segment. Uses tan(progress * constant) as denominator. Direction flag determines addition or subtraction. 0x00CA54E0 277 CTimerBar__insert_segment game_core Inserts a timer segment into CTimerBar's RB-tree. Creates 0x24-byte node with key, position, value, and direction flag. Uses lower_bound to find insertion point. 0x00CA5600 427 CTimerBar__set_progress_from_elapsed game_core Sets CTimerBar progress from elapsed/total ratio. Determines phase (0-7) based on progress thresholds, sets segment count (3-24). Reverses segment count if direction flag set. Normalizes progress within phase bounds. 0x00CA57B0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00CA59C0 115 rb_tree_0x24__erase_all_and_reset game_core Erases all nodes from an RB-tree with 0x24-byte nodes. Traverses in-order, recursively destroys subtrees, frees each node, resets sentinel. 0x00CA5A40 337 std__vector_int_emplace_reallocate stl Reallocates a std::vector to insert an element when capacity is exhausted. Uses 1.5x growth strategy. Copies elements before and after insertion point, frees old buffer. 0x00CA5BB0 134 rb_tree_0x34c__destroy_subtree game_core Recursively destroys a subtree of 0x34C-byte RB-tree nodes (CTimerBar entries). Calls CTimerBar__init_segments before freeing each node. 0x00CA5C40 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00CA5C90 223 CTimerBarMgr__reset game_core Resets CTimerBarMgr. Zeroes all fields, allocates fresh 0x34C-byte RB-tree sentinel, destroys all existing timer bar entries, resets tree to empty. Sets active flag to 1. 0x00CA5D70 70 CTimerBarMgr__free_sentinel_node game_core Frees the 0x34C-byte RB-tree sentinel node of CTimerBarMgr if it exists. 0x00CA5DC0 79 CTimerBarMgr__destroy_tree_and_sentinel game_core Destroys the entire RB-tree of CTimerBarMgr including all subtree nodes, then frees the 0x34C-byte sentinel node. 0x00CA5E20 119 CTimerBarMgr__cleanup_and_free game_core Cleans up CTimerBarMgr by calling init_segments on the sentinel, then freeing the 0x34C-byte sentinel node. 0x00CA5EA0 81 CTimerBarMgr__free_sentinel_node_variant game_core Variant of CTimerBarMgr free sentinel node. Frees 0x34C-byte RB-tree sentinel if it exists. 0x00CA5F00 90 CTimerBarMgr__destroy_tree_and_free game_core Destroys all RB-tree nodes and frees the 0x34C-byte sentinel for CTimerBarMgr. 0x00CA5F60 68 CTimerBar__deinit_segments game_core Deinitializes CTimerBar segments by calling init_segments wrapper. 0x00CA5FB0 183 CTimerBarMgr__dtor game_core Destructor for CTimerBarMgr. Copies state fields, destroys RB-tree, frees sentinel node, calls stub cleanup functions. 0x00CA6070 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00CA60D0 204 CTimerBarMgr__scalar_deleting_dtor game_core Scalar deleting destructor for CTimerBarMgr. Calls dtor logic, then frees 0x24 bytes if flag bit 0 is set. 0x00CA61A0 555 CTimerBarMgr__add_timer game_core Adds a timer bar entry to CTimerBarMgr. Removes existing entry with same key if found. Creates CTimerBar with given parameters, copies it into a new 0x34C RB-tree node, and inserts into tree. 0x00CA63D0 219 CRenderQueue__acquire_next_slot game_core Acquires the next slot in a circular render queue. If queue is full, grows the buffer. Allocates 0x28-byte entry if slot is empty. Returns pointer to the acquired slot. 0x00CA64B0 7 CTimerBarMgr__copy_field_0x10_to_0x14 game_core CTimerBarMgr helper that copies field at offset 0x10 to offset 0x14. Likely snapshots a timer state value (e.g., previous tick count). Called in context of CTimerBarMgr singleton. 0x00CA64C0 325 init_timer_bar_mgr_singleton game_core Initializes the CTimerBarMgr singleton (DAT_0171dd1c). Allocates 0x24-byte manager, creates 0x34C-byte RB-tree sentinel, resets tree. Returns 1 on success, 0 on failure (destroys on init fail). 0x00CA6610 28 destroy_timer_bar_mgr_singleton game_core Destroys the CTimerBarMgr singleton (DAT_0171dd1c). Calls scalar deleting dtor and nulls the global pointer. 0x00CA6630 57 CRenderQueue__flush_pending_meshes game_core Flushes pending meshes in a render queue. Iterates the pending mesh list, calls CRenderPipeline__classify_and_enqueue_mesh with type 0x201 for each, then resets the pending list. 0x00CA6670 57 CRenderQueue__flush_pending_meshes_variant game_core Variant of CRenderQueue flush. Iterates pending meshes at offset 4/8, enqueues each via CRenderPipeline__classify_and_enqueue_mesh with type 0x201, resets list. 0x00CA66B0 1328 CTimerBar__render_forward_direction game_core Renders a CTimerBar in forward direction (direction=0). Sets up 24 vertices for 8 segments in an octagonal pattern. For each phase, inserts segment control points. Updates progress positions from CTimerBar__update_progress. Offsets vertices by screen position and enqueues render command. 0x00CA6C00 764 CTimerBar__render_reverse_direction game_core Renders a CTimerBar in reverse direction (direction=1). Same octagonal 8-segment layout but with reversed vertex assignments. Updates progress per phase, copies vertex data to next segment when phases change, enqueues render command. 0x00CA6F20 241 CTimerBar__render_forward_with_offset game_core Renders a CTimerBar in forward direction with screen offset. Updates progress for current phase, applies position offsets (x+12+param, y+12+param), enqueues render command. Simplified version of render_forward_direction. 0x00CA70B0 704 rb_tree__extract_and_rebalance game_core RB-tree node extraction with rebalancing. Removes a node, fixes parent/child links, performs red-black tree rebalancing with rotations. Full implementation of std::_Tree::_Extract. Decrements tree size. 0x00CA7370 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00CA7580 84 rb_tree__rotate_left game_core RB-tree left rotation. Promotes right child, updates parent pointers, fixes tree root if needed. 0x00CA75E0 88 rb_tree__rotate_right game_core RB-tree right rotation. Promotes left child, updates parent pointers, fixes tree root if needed. 0x00CA7640 121 CReportStorage__ctor ui_windows Constructs CReportStorage. Sets vtable, creates 0x18-byte RB-tree sentinel node with self-referencing pointers. 0x00CA76C0 86 CReportStorage__dtor ui_windows Destructor for CReportStorage. Sets vtable, destroys tree and frees sentinel via CReportStorage__destroy_tree_and_sentinel. 0x00CA7720 111 CReportStorage__scalar_deleting_dtor ui_windows Scalar deleting destructor for CReportStorage. Calls dtor, then frees 0xC bytes if flag bit 0 set. 0x00CA7790 229 CReportStorage__insert_or_update ui_windows Inserts or updates an entry in CReportStorage's RB-tree map. If key not found, creates 0x18-byte node. Sets value at offset 0x14 regardless. 0x00CA7880 72 CReportStorage__find_by_id ui_windows Finds an entry in CReportStorage by ID using lower_bound. Returns value at offset 0x14 of found node, or 0 if not found. 0x00CA78D0 131 rb_tree_0x20__destroy_subtree game_core Recursively destroys an RB-tree subtree of 0x20-byte nodes. Calls CReportStorage__dtor on each node's data before freeing the node. 0x00CA7960 75 CReportManager__map_lower_bound_00ca7960 ui_windows Performs lower_bound search in CReportManager's RB-tree map. Traverses tree comparing keys at offset 0x10, returns iterator with node, found flag, and end sentinel. 0x00CA79B0 132 CReportManager__ctor ui_windows Constructs CReportManager. Sets vtable, creates 0x20-byte RB-tree sentinel node, sets initialized flag to 1. 0x00CA7A40 67 CReportManager__free_sentinel_node ui_windows Frees the 0x20-byte RB-tree sentinel node of CReportManager if it exists. 0x00CA7A90 76 CReportManager__destroy_tree_and_sentinel ui_windows Destroys all RB-tree nodes and frees the 0x20-byte sentinel for CReportManager. 0x00CA7AF0 116 CReportManager__cleanup_and_free ui_windows Cleans up CReportManager by calling CReportStorage dtor on sentinel data, then freeing the 0x20-byte sentinel node. 0x00CA7B70 78 CReportManager__free_sentinel_node_variant ui_windows Variant of CReportManager sentinel node free. Frees the 0x20-byte RB-tree sentinel if it exists. 0x00CA7BC0 87 CReportManager__destroy_tree_and_free ui_windows Destroys all RB-tree nodes and frees the 0x20-byte sentinel for CReportManager (variant). 0x00CA7C20 68 CReportStorage__deinit_wrapper ui_windows Wrapper that calls CReportStorage__dtor. Used as a cleanup callback. 0x00CA7C70 108 CReportManager__dtor ui_windows Destructor for CReportManager. Sets vtable, destroys RB-tree of 0x20-byte nodes, frees sentinel. 0x00CA7CE0 133 CReportManager__scalar_deleting_dtor ui_windows Scalar deleting destructor for CReportManager. Calls dtor, then frees 0x10 bytes if flag bit 0 set. 0x00CA7D70 253 CReportManager__add_report_entry ui_windows Adds a report entry to CReportManager. Creates outer map entry (CReportStorage) if needed, then calls CReportStorage__insert_or_update with the inner key-value pair. 0x00CA7E70 41 CReportManager__clear_all ui_windows Clears all entries in CReportManager. Destroys all subtree nodes, resets sentinel to empty state. 0x00CA7EA0 229 init_report_manager_singleton game_core Initializes the CReportManager singleton (DAT_0171dd20). Allocates 0x10-byte manager, creates RB-tree sentinel. Returns 1 on success, destroys and returns 0 on init failure. 0x00CA7F90 27 destroy_report_manager_singleton game_core Destroys the CReportManager singleton (DAT_0171dd20). Calls virtual destructor and nulls the global pointer. 0x00CA7FB0 80 CReportManager__find_nested_entry ui_windows Finds a nested entry in CReportManager. First looks up outer key, then delegates to CReportStorage__find_by_id for the inner key. Returns 0 if outer key not found. 0x00CA8000 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00CA8210 36 CReportConfig__scalar_deleting_dtor game_core Scalar deleting destructor for CReportConfig. Sets vtable, frees 0x10 bytes if flag bit 0 set. 0x00CA8240 103 rb_tree_0x20__destroy_subtree_plain game_core Recursively destroys an RB-tree subtree of plain 0x20-byte nodes (no element destructors). Just frees each node. 0x00CA82B0 36 linked_list_find_by_value stl Searches a doubly-linked list for a node whose field at offset 8 matches the given value. Returns found node or end sentinel. 0x00CA82E0 186 CSprite__ctor game_sprites Constructs CSprite. Calls CSprite__ctor_base, sets vtable to CSprite, creates linked list sentinel (0xC bytes), initializes animation state and rendering fields. 0x00CA83A0 606 CEntity__ctor game_entity Constructs CEntity (inherits CSprite). Calls CSprite__ctor_base, sets vtable to CEntity, initializes pathfinder (two 0x40-byte linked lists), four 0xC-byte linked lists, one 0x14-byte RB-tree, and calls CEntity__reset_all_state_fields. 0x00CA8600 43 CGameObject__ctor_base game_core Base constructor for CGameObject. Sets vtable, increments global object ID counter (64-bit), assigns unique ID to object at offsets 8/C. 0x00CA8630 247 CCursor__ctor game_core Constructs CCursor. Calls CSprite__ctor_base, sets vtable, loads cursors.spr and cursors.act resources, sets initial action to 3/2/0. 0x00CA8730 264 CSprite__ctor_base game_sprites Base CSprite constructor. Initializes CGameObject (with unique ID), sets CSprite vtable, initializes STL string for name, creates 0x20-byte RB-tree sentinel, loads NPC sprite and state. 0x00CA8840 67 CSprite__free_linked_list_node game_sprites Frees a 0xC-byte linked list sentinel node of CSprite if it exists. 0x00CA8890 67 CSprite__free_linked_list_node_variant game_sprites Variant of CSprite linked list node free. Frees 0xC-byte sentinel if exists. 0x00CA88E0 67 CEntity__free_pathfinder_node game_entity Frees a 0x40-byte pathfinder linked list sentinel node of CEntity if it exists. 0x00CA8930 78 CSprite__free_action_list_sentinel game_sprites Frees the 0xC-byte action list sentinel node of CSprite if it exists. 0x00CA8980 78 CSprite__free_linked_list_sentinel_alt game_sprites Alt variant of CSprite linked list sentinel free. Frees 0xC-byte sentinel if exists. 0x00CA89D0 78 CEntity__free_pathfinder_sentinel_alt game_entity Alt variant of CEntity pathfinder sentinel free. Frees 0x40-byte sentinel if exists. 0x00CA8A20 111 CSprite__destroy_rb_tree_and_sentinel game_sprites Destroys all nodes in CSprite's 0x20-byte RB-tree (action map) and frees the sentinel node. 0x00CA8AA0 103 linked_list_destroy_all_0xc stl Destroys all nodes in a singly-linked list with 0xC-byte nodes. Detaches head, walks the list freeing each node, then frees the sentinel. 0x00CA8B10 103 linked_list_destroy_all_0xc_variant stl Variant of linked list destroy for 0xC-byte nodes. Same logic as linked_list_destroy_all_0xc. 0x00CA8B80 103 linked_list_destroy_all_0x40 stl Destroys all nodes in a singly-linked list with 0x40-byte nodes. Detaches head, walks the list freeing each, then frees sentinel. 0x00CA8BF0 65 CSprite__destroy_rb_tree_wrapper game_sprites Wrapper that calls CSprite__destroy_rb_tree_and_sentinel to clean up the sprite's RB-tree. 0x00CA8C40 291 CSprite__dtor game_sprites Destructor for CSprite. Sets vtable, detaches all attached game objects (calls virtual method 0x40 with detach flag 0x18), destroys the linked list, clears child object references, calls cleanup. 0x00CA8D70 321 CEntity__dtor game_entity Destructor for CEntity. Sets vtable, cleans up UI/sub-objects, clears map info tree, destroys linked lists for paths (0xC, 0x40 nodes), clears pathfinder vector, then calls CSprite__dtor. 0x00CA8EC0 7 thunk_to_PTR_0119fe84_00ca8ec0 game_core Sets param to pointer to function at 0x0119fe84 0x00CA8EE0 86 CSprite__action_map_dtor game_sprites Destructor for CSprite's action map sub-object. Sets vtable to action map vtable, destroys the 0x20-byte RB-tree and sentinel. 0x00CA8F40 71 CCursor__dtor game_core Destructor for CCursor. Sets vtable, calls CSprite__dtor_base to release cursor sprite/act resources and clean up. 0x00CA8F90 165 CSprite__dtor_base game_sprites Base destructor for CSprite. Sets vtable, releases sprite/act resources, destroys action map RB-tree, destroys STL string name, resets to CGameObject vtable. 0x00CA9040 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00CA90A0 38 CSprite__scalar_deleting_dtor game_sprites Scalar deleting destructor for CSprite. Calls CSprite__dtor, frees 0x158 bytes if flag bit 0 set. 0x00CA90D0 345 CEntity__scalar_deleting_dtor game_entity Scalar deleting destructor for CEntity. Calls full CEntity dtor chain (UI cleanup, path lists, map info), then CSprite__dtor. Frees 0x410 bytes if flag bit 0 set. 0x00CA9230 36 CGameObject__scalar_deleting_dtor_00ca9230 game_core Scalar deleting destructor for CGameObject base. Sets vtable, frees 0x10 bytes if flag bit 0 set. 0x00CA9260 111 CSprite__action_map_scalar_deleting_dtor game_sprites Scalar deleting destructor for CSprite's action map. Sets vtable, destroys RB-tree+sentinel, frees 0xC bytes if flag bit 0 set. 0x00CA92D0 99 CCursor__scalar_deleting_dtor game_core Scalar deleting destructor for CCursor. Sets vtable, calls CSprite__dtor_base, frees 0x140 bytes if flag bit 0 set. 0x00CA9340 38 CSprite__base_scalar_deleting_dtor game_sprites Scalar deleting destructor for CSprite base variant. Calls CSprite__dtor_base, frees 0x138 bytes if flag bit 0 set. 0x00CA9370 93 CSkillEffectManager__scalar_deleting_dtor_00ca9370 effect Scalar deleting destructor for CSkillEffectManager. Calls CSkillEffectManager__dtor, frees 0x11CB8 bytes if flag bit 0 set. 0x00CA93D0 83 CSprite__accumulate_distance game_sprites Accumulates distance traveled by a sprite. Calculates 2D distance (X/Z) between current position and given point using sqrt, adds to running total at offset 0x240. 0x00CA9430 52 CEntity__adjust_sprite_offset_for_riding game_entity Adjusts sprite Y offset for riding/mount classes. Checks if entity type is 5 (pet/mount) and job ID is in riding class ranges (0x5248-0x5260 or 0x5817-0x588C), adds 4 to Y offset if so. 0x00CA9470 182 CSprite__calculate_velocity_vector game_sprites Calculates a 3D velocity vector from sprite position toward target point. Normalizes direction using sqrt of XZ then XYZ distance, scales by given speed. Outputs X/Y/Z components to float[3]. 0x00CA9530 71 CSprite__set_shadow_offset_from_direction game_sprites Sets shadow X/Z offset based on sprite direction angle and shadow distance. Uses normalize and cross product of the direction for perpendicular shadow placement. 0x00CA9580 142 calculate_direction_angle_2d game_core Calculates 2D direction angle in game degrees (0-360) from atan2 of X/Z delta. Converts from radians, wraps to [0, 360) range. 0x00CA9610 167 CSprite__set_facing_toward_point game_sprites Sets sprite facing direction toward a target XZ point. Calculates angle via atan2, converts to game degrees, stores at offset 0x4C. Skips if at same position. 0x00CA96C0 53 CSprite__calculate_distance_2d game_sprites Calculates 2D (XZ) distance from sprite to target point using sqrt. Result not stored (likely used by caller). 0x00CA9700 103 CSprite__calculate_distance_3d game_sprites Calculates 3D distance from sprite to target point (XYZ). Two-step sqrt: first XZ, then combined with Y. 0x00CA9770 1704 CSprite__build_sprite_render_params game_sprites Builds sprite render parameters for a single frame. Calculates screen position from world coords, applies perspective depth, handles mirror/flip flags, computes Z-order, applies alpha/color based on entity flags (transparency, quake effect), handles ground light sampling. Returns 0 if off-screen, 1 if visible. 0x00CA9E20 41 CEntity__has_shield_equipped game_entity Checks if entity has a shield equipped. Returns false for certain special job classes (via FUN_00e3d350), otherwise checks field 0x404 (shield slot) != 0. 0x00CA9E50 590 CSprite__render_shadow_quads game_sprites Renders 4 shadow quads around a sprite when entity has shadow flag (0x1000). Calculates shadow offset based on animation frame, fades alpha by distance (30 - frame), submits quads in 4 directions (left, right, up, down) to render queue. 0x00CAA0A0 321 CSprite__render_wave_distortion_effect game_sprites Renders a wave distortion effect on a sprite (flag 0x8). Oscillates vertices using sine table, creates expanding/contracting quad. Increments phase counter (wraps at 180), submits as render type 5. 0x00CAA1F0 232 CSprite__apply_random_vertex_jitter game_sprites Applies random vertex jitter to a sprite quad (flag 0x2000). Generates 4 random offsets scaled by perspective, adds to quad corner positions. Used for shaking/vibration effects. 0x00CAA2E0 482 CSprite__render_afterimage_trail game_sprites Renders afterimage/trail effect (flag 0x200). Draws 5 progressively larger/faded copies of the sprite at intervals, each with reducing alpha. Phase counter wraps at 200. Submits to render queue. 0x00CAA4D0 618 CEntity__play_idle_combat_animation game_entity Plays idle combat animation based on entity job class. Checks game option 0x6B first. Dispatches different action IDs (0x7D, 0x92, 0x93, 0x96, 0x97) based on weapon type: mount, magic classes, mech, special jobs. Uses weapon ID comparison with global weapon class IDs. 0x00CAA740 298 create_skill_effect_manager_by_type game_core Factory function that creates a CSkillEffectManager by type ID. Type 0x345: creates base manager (0x11CB0 bytes). Type 0x98C: creates extended manager (0x11CB8 bytes) with extra fields. Default: creates standard manager (0x11CA8 bytes). 0x00CAA870 296 CEntity__dispatch_effect_by_id game_entity Dispatches an effect by ID on an entity. For IDs < 0x9B5, directly calls CEntity__toggle_effect_by_id. For higher IDs, queries Lua function 'GetEffectType' to determine dispatch type: 0=toggle effect, 1=hat effect, 2=both, 3/4=effect with subtype. 0x00CAA9B0 471 CEntity__apply_hat_effect game_entity Applies a hat effect to an entity. Calls Lua "GetHatEffectID" to resolve the effect ID from (param_2 - 0x9B5). If effect ID is 0xFE, checks if entity is a specific type and toggles flag 0x10 at offset 0x438. Creates a persistent effect via CEffectManager__create_effect and marks it as attached (offset 0xC8 = 1). Falls through to FUN_00cadd60 if effect creation fails. 0x00CAABA0 111 CEntity__toggle_effect_by_id game_entity Toggles a visual effect on an entity. If param_3 is true, creates a new persistent effect (attached flag offset 0xC8 = 1) via CEffectManager. If param_3 is false, removes the effect by ID and type. Uses the entity's effect manager at offset 0x110. 0x00CAAC10 100 CEntity__toggle_effect_with_subtype game_entity Toggles an effect on entity with a sub-type parameter. If param_4 is true, creates an effect using CEffectManager with the sub-type as last param. If false, adds the effect via CEffectMgr__add_effect_and_register using a different registration path. Uses entity's effect manager at offset 0x110. 0x00CAAC80 843 CEntity__clear_all_status_effects game_entity Clears all status/visual effects from an entity. Sets flag at offset 0x2B8 to 0, then calls virtual method at vtable+8 (likely remove_effect) with effect IDs: 200, 0x3D0-0x3D3, 0x3FE-0x3FF, 0x4CA-0x4CB, 0x2F5, 0x370, 0x18D-0x18E, 0x16A, 0xC9-0xCA, and two global DAT values. These correspond to various RO status effects (body auras, shadows, etc). 0x00CAAFD0 77 CEntity__destroy_status_window game_entity Destroys the entity's status window UI. Checks if a global state is valid (FUN_00e1dfb0), then if the window pointer at offset 0x188 is non-null, unregisters it from CUIWindowMgr and sets the pointer to null. 0x00CAB020 292 CEntity__clear_attached_entity_slot game_entity Clears an attached entity reference slot on this entity. Checks 13 slots at offsets 0x37C-0x3AC; if any matches the given entity ID (param_2), sets that slot to 0. Slots likely represent attached entities like pets, homunculus, elemental, mercenary, etc. 0x00CAB150 36 CEntity__destroy_tooltip_window game_entity Destroys the entity's tooltip/info window. If the window handle at offset 0x18C is non-null, unregisters it from CUIWindowMgr and nulls the pointer. 0x00CAB180 1130 CEntity__render_with_aura_and_shadow game_entity CEntity: render with aura and shadow 0x00CAB610 290 CEntity__find_path_with_speed_adjust game_entity Finds a path for entity movement with speed adjustment. If global speed override (DAT_016f7144) is active, adjusts the speed parameter using EffectMap frame rate. Calls CPathFinder__find_path_astar, then checks if the last waypoint direction exceeds the param. If so, retries with 10/13 of the original speed (walking speed reduction). Stores final speed at offset 0x254. 0x00CAB740 170 calculate_direction_index_from_angle game_core Calculates a direction index from a floating-point angle. Gets the camera rotation from the global mode1 state, subtracts the input angle, and normalizes to [0, 360) range. If param_2 is 0, divides by standard angle increment. If param_2 is non-zero and angle is within a specific range, uses a different formula with offset for 8-direction mapping. 0x00CAB7F0 303 CEntity__get_direction_index game_entity Gets the direction index for this entity from an angle, with special handling for certain entity types. Gets camera rotation, subtracts param angle, normalizes to [0, 360). Checks entity job class via FUN_00cabfa0: if the entity is a boss/NPC type (job 46-999) with non-zero action state (offset 0x34), or if it's a rideable mount type (FUN_00e1dce0), uses a different angle division formula for 8-direction mapping. 0x00CAB920 111 calculate_raw_direction_from_angle game_core Simple direction calculation from angle. Gets camera rotation, subtracts input angle, normalizes to [0, 360), then divides by the standard angle increment to get a direction index. Returns 0 if global mode1 state is null. 0x00CAB990 18 CEntity__get_head_direction game_entity Gets the head direction of this entity. Returns 0 if the entity's sub-object at offset 0x108 is null, otherwise delegates to get_field_offset_0x14 to retrieve the head direction value. 0x00CAB9B0 7 CEntity__get_head_sprite_ptr game_entity Returns the head/sub-sprite object pointer at offset 0x108. Used by CEntity__get_head_direction to access head direction data. 0x00CAB9C0 293 CEntity__get_sprite_height_for_action game_entity Returns the sprite height (as a char value) based on the entity's current action type. Large switch statement mapping action IDs to heights: 0=0, 1=8, 2/0x2B/0x2C/etc=80('P'), 3=64('@'), 4=48('0'), 5/0x14/0x19=24, 9/0x12/etc=88('X'), 0xB=32(' '), 0xC/0x13/etc=40('('), 0xD=special (checks mount status), 0x10-0x51 range=96('`'), 0x4A/0x4B=104('h'). Action 0x1A has sub-cases for specific job IDs (0xFD1,0x1083,etc). 0x00CABC80 176 CEntity__get_body_direction_offset game_entity Calculates a body direction offset for the entity based on its type and state. Checks if entity is a specific mounted/special type, then if it's of a certain class (FUN_00dfa600). Returns +10 or -20 depending on offset 0x2CC flag for mounted entities, -40 or -30 for special class, and 0 or +30 for normal entities. 0x00CABD30 7 CEntity__get_shield_id game_entity Returns the shield equipment ID at offset 0x404. Returns 0 if no shield equipped. Used by CEntity__has_shield_equipped. 0x00CABD40 146 CEntity__find_skill_tree_node_by_name game_entity Searches the entity's skill tree for a node matching a specific skill name (at DAT_011a067c). Iterates through all tree nodes via UISkillWnd__get_tree_node_count and UISkillWnd__get_skill_tree_node, comparing each node's skill name string. Returns the index of the matching node, or (count - 2) if not found (and count != 1). 0x00CABDE0 127 CEntity__apply_speed_modifier_from_status game_entity Applies a movement speed modifier based on the entity's status flags. Only acts if flag 0x10 is set at offset 0xE8. Reads a multiplier byte at offset 0xF0 and uses a lookup table (DAT_01387FA8) to compute a scaling factor. Values above 0x10E result in a flat constant multiplier; otherwise uses a table-based formula with the byte value * 16 as offset. 0x00CABE60 56 get_body_part_offset_for_action game_core Returns a body part Y-offset value based on an action type index. Switch: 0=0, 1=8, 2=16(default), 3=32, 4=24. Used for sprite positioning during different character actions (idle, walk, sit, etc). 0x00CABF10 136 get_normalized_camera_angle game_core Computes the normalized camera-relative angle. Gets camera rotation from mode1 state (offset 0xD0->0x30 XOR'd with key), subtracts the input angle, then normalizes to [0, 360) range using modular arithmetic. Returns the result as an unsigned integer. 0x00CABFA0 1049 CEntity__get_effective_job_id game_entity Gets the effective job/class ID for the entity, accounting for class transformations. If param is -1, uses the entity's stored job ID at offset 0x25C. Checks various class transformation functions and returns mapped job IDs: baby classes (0x16), super novice variants (0x1A-0x1E), Taekwon ranks. For mounted/costume classes, remaps specific job IDs (e.g., 0xFC5->0xFCC, 0xFA8->0xFAE). Also handles Doram, Star Emperor, Soul Reaper class variants with special costume weapon IDs. Returns original job if no transformation applies. 0x00CAC730 35 get_costume_garment_id_by_type game_core Returns a costume garment sprite ID based on a type parameter. Type 1 returns 0x1104, type 2 returns 0x1105, otherwise returns the original param_2 unchanged. These are IDs for alternative garment costume sprites. 0x00CAC760 35 CEntity__get_garment_sprite_id game_entity Gets the garment/robe sprite ID for this entity. If the costume type at offset 0x404 is 1, returns 0x1104; if 2, returns 0x1105; otherwise returns the stored garment ID from offset 0x25C. 0x00CAC790 1390 CEntity__get_encrypted_sprite_path game_entity Returns an encrypted sprite file path based on gender (param_2: 1=male, 2=female) and job class ID (param_3). Uses XOR-encrypted string buffers stored in TLS for different class/gender combinations (job IDs 0x1101-0x1103 and others). Each path has separate encrypted data and decrypt-on-first-use pattern with xor_decrypt_buffer. The encrypted paths likely point to sprite resource files for different character classes. 0x00CACD00 99 CEntity__get_sprite_path game_entity Gets the sprite path for this entity. Delegates to CEntity__get_encrypted_sprite_path using the entity's gender (offset 0x404) and job ID (offset 0x25C). Returns the path string. 0x00CACD70 91 CEntity__get_weapon_type_for_job game_entity Determines the weapon display type for the entity based on its effective job ID. Returns 3 for certain classic jobs (Thief, Assassin, wedding), 5 for Doram classes and 4th jobs (0xFF0-0x1010, 0x10B6-0x10B9), and 0 for all other jobs. These likely control which weapon sprite set to use. 0x00CACE40 93 CEntity__compute_attack_speed_multiplier game_entity Computes the attack speed animation multiplier for the entity. If the entity has a valid status (offset 0x108 != 0) and a positive speed value (offset 0x64), gets a float value from UISkillWnd, clamps it to a minimum threshold (DAT_010dc098), and multiplies by the speed. Returns 1.0 if no valid status or zero speed. 0x00CACEA0 67 CEntity__get_scaled_skill_value game_entity Returns a scaled skill value based on a float from UISkillWnd. If the entity sub-object (offset 0x108) exists and param_3 is positive, gets a float value from UISkillWnd for param_2. Clamps the minimum to DAT_010dc098 and multiplies by param_3. Returns 1.0 if conditions are not met. 0x00CACEF0 41 CEntity__get_sub_entity_by_index game_entity Returns a pointer to a sub-entity structure by index. Index 0 returns offset 0x318, index 1 returns offset 0x348, otherwise returns null. These offsets likely correspond to equipment overlay or attachment sub-entities (e.g., head gear, shield). 0x00CACF20 189 resolve_skill_upgrade_chain game_core Resolves a skill ID through an upgrade chain. If in specific game mode (get_field_0x8134 == 1) and skill is 0x19B2 or 0x19B3 (Dragon Breath variants), checks if the player has higher-tier skills (0x19B4, 0x19B3) with required components via CSkillEffect__HasRequiredComponents. Returns the highest available upgrade in the chain, or the original ID if no upgrade available. 0x00CACFE0 1082 remap_job_id_by_class_type game_core Remaps a base job/weapon ID to a class-specific variant. Takes a job ID and class type, checks various class-type predicates (FUN_00df9830=3rd class, FUN_00df9770=expanded, FUN_00df97a0/d0/00=other variants, FUN_00df9740=baby, FUN_00df9a00=Doram, FUN_00df9a70=Star Emperor, FUN_00df98b0=Soul Reaper). Each base ID maps to a different variant per class type. Handles weapon sprite IDs (0xFD6, 0xFDC), mount IDs, and Doram/SE/SR specific classes. 0x00CAD420 81 CEntity__get_attached_entity_for_skill game_entity Gets the attached entity ID for a given skill ID. Skills 0x81, 0x17D, 0x14CE, 0x14D1, 0x1978 return the entity from slot 0x37C (pet/homunculus). Skills 0x8C3, 0x8C4 return from slot 0x380 (elemental). Returns 0 for unrecognized skills. 0x00CAD480 41 CEntity__get_sub_entity_by_index_b game_entity Returns a pointer to a sub-entity structure by index (variant B with different offsets). Index 0 returns offset 0x330, index 1 returns offset 0x360, otherwise returns null. Similar to get_sub_entity_by_index but at different struct offsets. 0x00CAD4B0 541 CEntity__get_mount_sprite_scale_x game_entity Calculates the X-axis sprite scale for mounted entities. Starts with base scale modified by status flag 0x10 at offset 0xE8 (speed modifier table). Then checks effective job ID to determine mount-specific scaling: mounted classes (0xFC4, 0xFCC, 0x100D-0x1010) use a smaller scale, dragon/mech mounts (0xFB6, 0xFF0-0xFFF, 0x10B6-0x10B9) use a standard mount scale. For rideable entities, checks the specific mount type at offset 0x4D4 (Peco=0, Gryphon=0xFA1, Dragon=0x105E) to apply different scales (0, double, or standard). 0x00CAD780 321 CEntity__get_mount_sprite_scale_y game_entity Calculates the Y-axis sprite scale for mounted entities. Similar logic to get_mount_sprite_scale_x but returns Y-specific scale values from different globals. Dragon/mech mounts return DAT_011425ec, mounted classes return a different Y scale, and normal entities return DAT_01117e28. 0x00CAD990 7 CEntity__get_sprite_resource_handle game_entity Returns the sprite resource handle at offset 0x104. This field stores the loaded .spr resource (e.g., cursors.spr or NPC sprite) set during init_cursor_sprites and init_npc_sprite_and_state. 0x00CAD9A0 64 CEntity__get_elapsed_time_seconds game_entity Returns the elapsed time in seconds since the entity's timestamp at offset 0x8C. Uses timeGetTime() to get current time, computes the delta, and converts from milliseconds to seconds by dividing by 1000.0. 0x00CAD9E0 214 CEntity__get_target_position game_entity Gets the 3D position of a target entity by ID. If target ID matches the player's own ID (DAT_01733c3c), returns the camera/player position. Otherwise searches for the entity via CBGMManager__find_map_by_id_no_cache. If found, copies its position. If not found, mirrors own position relative to player (extrapolation). Returns 1 if target was found, 0 otherwise. 0x00CADAC0 47 get_elemental_type_from_skill_id game_core Maps a skill ID to an elemental type index. Skill 0x26D returns 0 (fire/default), 0x28B returns 1 (water), 0x299 returns 2 (wind). Used for elemental spirit summoning skills. 0x00CADAF0 21 CEntity__get_weapon_attack_range game_entity Gets the weapon attack range for this entity. Returns -1 if the sub-object at offset 0x300 is null. Otherwise returns the value at sub-object offset 0xA0, which represents the equipped weapon's attack range. 0x00CADB10 21 CEntity__get_weapon_attack_range_b game_entity Gets the weapon attack range (variant B, offset 0xA4) for this entity. Returns -1 if sub-object at offset 0x300 is null. Otherwise returns value from sub-object offset 0xA4. Likely the secondary/left-hand weapon range. 0x00CADB70 11 CEntity__has_costume_garment game_entity Returns true if the entity has a costume garment equipped. Checks if the costume type field at offset 0x404 is non-zero. 0x00CADB80 55 is_summon_skill_id game_core Returns true if the given ID is a summon/companion skill. Matches IDs: 0x81 (Call Homunculus), 0x17D (Call Pet), 0x14CE, 0x14D1, 0x1978. These are skills that summon pets, homunculus, or similar companions. 0x00CADBC0 19 is_wedding_effect_id game_core Returns true if the given effect ID is 0xB4 (180), which is the wedding/marriage visual effect. 0x00CADBE0 54 CEntity__has_attached_effect_with_id game_entity Checks if the entity has an attached effect with a specific effect ID. Iterates through the linked list at offset 0x144, checking each node's effect object (node[2]) at its offset 0x168 for a match with param_2. Returns true if found. 0x00CADC20 24 CEntity__is_visible_and_active game_entity Returns true if the entity is both visible (offset 0xA0 != 0) and active (offset 0xA1 != 0). Both flags must be set for the entity to be considered visible and active. 0x00CADC40 55 CEntity__has_effect_object_in_list game_entity Checks if a specific effect object pointer exists in the entity's effect list. If the list count at offset 0x148 is non-zero, iterates the linked list at offset 0x144 comparing each node's data pointer (node[2]) to param_2. Returns true if found. 0x00CADC90 44 is_monster_or_npc_job_id game_core Returns true if the job ID falls within monster or NPC ranges. Matches: 0x3E9-0xF9E (standard monster IDs 1001-3998) or 0x4E35-0x7CFF (extended monster/NPC IDs 20021-31999). Returns false for player job IDs and other ranges. 0x00CADCC0 11 CEntity__has_guild_emblem game_entity Returns true if the entity has a guild emblem. Checks if the guild emblem ID at offset 0x2AC is non-zero. 0x00CADCF0 49 CEntity__update_timestamp_and_check_newer game_entity Updates the entity's timestamp at offsets 0x3EC (high) and 0x3E8 (low) with the given values. Returns 1 if the new timestamp is strictly newer than the previous one. Used for packet ordering to discard stale updates. 0x00CADD30 14 check_is_player_entity game_core Thin wrapper that calls FUN_00dfbce0 to check if the entity is a player type. Returns the result directly. 0x00CADD40 30 is_elemental_spirit_skill game_core Returns true if the skill ID is 0x8C3 or 0x8C4, which are elemental spirit skills (Summon Agni/Aqua). Returns false for all other IDs. 0x00CADD60 909 CEntity__create_skill_effect game_entity Creates a skill visual effect and attaches it to the entity. Manages an 8-entry history ring buffer (DAT_0171dd30-4C). Effect ID 0x7F sets a flag and shifts history. IDs 0-60000 are valid. Special cases: 0x345 uses helper_00611ed0, 0x98C creates a custom effect with vtable PTR_FUN_011a0050. Calls Lua 'IsForceRenderEffect' to check rendering. Sets up 3D vectors, creates a CSkillEffectManager, adds to the entity's linked effect list at offset 0x144. Returns the effect object pointer or null. 0x00CAE0F0 56 create_skill_effect_wrapper_a game_core Wrapper that calls CEntity__create_skill_effect with default parameters (0,0,0). Does not return as the callee handles flow. 0x00CAE160 54 create_skill_effect_wrapper_b game_core Wrapper that calls CEntity__create_skill_effect with default parameters (0,0,0). Identical to wrapper_a, likely a duplicate or from different callsite context. 0x00CAE1B0 506 CEntity__update_effect_set game_entity Updates the entity's persistent effect set (red-black tree at offset 0x3FC). If param_3 is false, removes the effect and disables it. If true, first disables all existing effects in the set, inserts the new effect ID into the tree (max 0xCCCCCCC entries), then re-enables all effects. Uses FUN_00caa870 to toggle effects on/off and FUN_00cc4900 for removal. 0x00CAE3B0 333 CEntity__spawn_skill_projectile game_entity Spawns a skill projectile entity (0x4F8 bytes). Allocates via operator_new, constructs via FUN_00da7700, sets target flag at offset 0x260, calls FUN_00cc2340 to init, then sets various properties via virtual methods (position, direction, etc). Creates a sub-entity (0x518 bytes) via FUN_00da17a0, copies position from param_4, sets initial color to white (0xFF at 0x98, 0xFFFF at 0x99). Adds to the global render list. 0x00CAE500 210 CEntity__spawn_death_effect game_entity Spawns the entity's death/destroy visual effect. Gets head/body directions, constructs the effect via FUN_00cd8740 with entity position. Copies the animation timer from param_1 offset 0x10C if positive. Looks for effect 0x946 in the entity's effect manager and inherits its source reference at offset 0x138->0x48. 0x00CAE5E0 94 CEntity__handle_entity_click_interaction game_entity Handles entity click/interaction. Only proceeds if game state is valid and target is not the local player. Gets the entity's account ID via virtual method, looks up resource via CResourceCache, then creates a chat bubble/interaction display via CGameMode. 0x00CAE640 325 CEntity__check_and_apply_guild_skill_effect game_entity Checks if a guild skill flag applies to this entity and creates the corresponding effect. Iterates through guild skill entries checking offsets 0x48/0x54. For each entry, compares the skill's entity reference. If matching and the entity doesn't already have effect 0xA0 (guild aura) attached, creates it via CEntity__create_skill_effect. 0x00CAE790 689 CEntity__dispatch_skill_effect_by_id game_entity Giant skill effect dispatcher. Routes skill IDs to appropriate effect creation functions based on the entity's job class. Three main paths: FUN_00cd8000 for ground-targeted skills (fire bolt, etc), FUN_00cdbc30 for projectile/area skills, and FUN_00cd8f30 for simple directional skills. Covers hundreds of RO skill IDs organized by ranges (3rd class skills 0x5000+, 4th class 0x5600+, etc). 0x00CAF030 23 CEntity__create_dialog_bubble game_entity Wrapper that creates a dialog bubble widget for this entity. Gets global game mode state and delegates to CGameMode__create_entity_dialog_bubble to create a UIDialogWithStrings widget at offset 0x18C. 0x00CAF050 282 CEntity__adjust_color_rgba game_entity Adjusts the entity's RGBA color values by delta amounts. Only applies if the entity is not locked (offset 0xA3 == 0). Adds the deltas (params 2-5) to the stored RGBA bytes at offsets 0x98-0x9B, clamping each component to [0, 255]. R at 0x9B, G at 0x9A, B at 0x99, A at 0x98. 0x00CAF170 229 CEntity__destroy_all_attached_effects game_entity Destroys all attached effects on this entity. Iterates the linked list at offset 0x144, calling each effect's virtual method at vtable+0x40 (destroy/cleanup with params 0x18). Then removes all nodes from the list, freeing each 0xC-byte node. Decrements the list count at offset 0x148 and zeros out counters at 0x14C and 0x150. 0x00CAF260 530 CEntity__cleanup_all_ui_and_sub_objects game_entity Comprehensive cleanup of all entity sub-objects and UI elements. Destroys sprite objects at 0x30C and 0x310 (calling their destructors). Unregisters UI windows at offsets 0x264, 0x268, 0x26C, 0x270, 0x274, 0x300. Iterates and destroys the list at 0x3B0 (calling vtable+8 with action 0x31). Destroys status window at 0x188 (also removes from entity list) and tooltip at 0x18C. 0x00CAF4F0 995 CEntity__reset_all_state_fields game_entity Resets all entity state fields to their initial values. Clears numerous fields: position, rotation, scale (set to 1.0), color, status flags, animation state, timers (set from timeGetTime), action IDs, equipment slots, stat values, guild info, etc. Essentially reinitializes the entity to a blank state. Sets initial action at offset 0x26 to -1, byte flag at offset 0xA4 to 1, and various timer offsets to current time minus offsets. 0x00CAF8F0 152 CEntity__init_cursor_sprites game_entity Initializes the entity's cursor/selection sprites. Zeroes interaction flag at offset 0x138, sets visible+active flags. Loads "cursors.spr" and "cursors.act" resources via CResourceMgr, storing handles at offsets 0x104 and 0x108 with reference counting. Calls virtual method at vtable+0x1C with params (3,2,0) to set initial animation state. 0x00CAF990 708 CEntity__init_npc_sprite_and_state game_entity Initializes an NPC entity's sprite and state. Zeros position, rotation, scale (set to 1.0), color (white, fully opaque). Loads NPC sprite/act files using the NPC name from FUN_00dde5c0 (format "NPC\\%s.spr"/"NPC\\%s.act"). Stores resource handles at 0x104/0x108 with ref counting. Clears numerous state fields, sets animation speed default at 0xC2 to 10, enables flag at 0xB4. Clears the linked list at 0x11C. 0x00CAFC60 184 CEntity__replace_attached_effect game_entity Replaces an attached effect on the entity. First removes all existing instances of the effect (by ID param_2) by repeatedly calling the remove virtual method until none remain. If param_3 is true, creates a new instance of the effect via CEffectManager__create_effect, then sets its position (vtable+0x20) and rotation (vtable+0x28) from the provided parameters. 0x00CAFD30 138 CEntity__update_sprite_animation game_entity Updates the entity's sprite animation frame. Copies current action to previous, calculates elapsed time since creation (offset 0x8C), divides by frame speed (offset 0x58) and modulates by frame count to get current frame index. If entity has a lifetime counter (offset 0x138), decrements it and sets invisible (offset 0xA0=0) when it reaches zero. Returns 1. 0x00CAFDD0 233 CEntity__generate_grayscale_palette game_entity Generates a grayscale palette from a color palette. Reads 256 color entries from offset 0x510, extracts RGB components from packed 16-bit color format (5 bits per channel), computes average gray value ((R+G+B)/3), and writes back as RGBA grayscale. Uses the stub_0056f7b0 function to apply the result back to the palette buffer. 0x00CAFEC0 27 CEntity__recalculate_frame_offset game_entity Recalculates the frame offset for the entity's animation. Calls virtual method at vtable+0x10 to get the action frame count for the current direction (param_1[0x13]), adds it to the base action index (offset 0x34) and stores result at offset 0x38. 0x00CAFEE0 24 CEntity__enable_special_movement_flag game_entity Sets a special movement flag at offset 0x9E to 1 if the entity's class mode at offset 0x2BC is 1 or 2. Likely enables special movement animations for mounted or transformed entities. 0x00CAFF00 794 CEntity__update_overhead_ui_positions game_entity Updates the screen positions of overhead UI elements (chat bubbles, name plates, HP bar, etc). Calculates a Y scale factor based on viewport height. Positions chat bubble (offset 0x264) with timeout check (5 seconds), name plate (offset 0x268), guild name (offset 0x26C), HP/SP bar (offset 0x270) with scroll range update, and title (offset 0x274). All positions are offset from the entity's screen coordinates (offsets 0xAC/0xB0) with the Y scale applied. 0x00CB0220 327 CEntity__update_idle_effects game_entity Updates idle/passive effects on the entity. Clears status effect flags when DAT_0173ad54 is positive and flag is 1. Checks entity class for special types: if is_specific_class returns true, sets the effect timer to 36000. Otherwise checks for two different idle animation states and creates skill effects 0x16 or 0x21 when cooldown timers expire. Increments the effect timer at offset 0x2D8 each frame. 0x00CB03E0 284 CEntity__update_hp_bar_display game_entity Updates the HP bar display for this entity. Only shows if game setting 0xD5 (show HP bars) is enabled and the entity has HP data at offset 0x300. Hides the bar if the entity is invisible, dead, or in BG mode 2. Otherwise shows it (virtual call at vtable+0x38), sets HP value if action state is 3, scales the bar position to screen coordinates, and positions it above the entity. 0x00CB0500 1418 CEntity__update_animation_state game_entity Complex animation state machine update for entities. Handles frame calculation, action transitions, and multi-frame animation sequences. Manages three animation modes: simple time-based frame cycling, scripted frame sequences (with forward/reverse playback and looping), and table-driven frame animations. Uses timeGetTime for frame timing. Handles action 0x2D (loading a special resource). Detects animation completion (offset 0x9D=1) and manages reverse playback (offset 0xFE). Extensive logic for combining body/head animations with proper frame clamping. 0x00CB0A90 62 CEntity__update_animation_frame_from_distance game_entity Updates the animation frame index based on distance traveled (offset 0x240). Multiplies distance by a constant and 4.0, divides by frame speed (offset 0x58), then modulates by frame count to get the current frame. Returns the cycle count (number of full animation loops completed). 0x00CB0AD0 1271 CEntity__play_animation_sounds game_entity Plays sounds associated with animation frames. Compares current frame (0x3C) with previous frame (0x44) and plays sounds for any new frames reached. Iterates through animation tree nodes, gets skill name strings, checks for sound file references (searches for ".wav" pattern). For forward animation, plays sounds from old frame to new. For wrapped/reverse animation, plays remaining frames then loops from start. Positions sounds in 3D relative to the camera. 0x00CB0FD0 2218 CEntity__update_movement_and_actions game_entity Main entity update tick handling movement, action states, and fade-out. Handles fade-out timer at offset 0x2DC (alpha decay). Large switch on action state (offset 0x1C): 0=idle (with random NPC idle animations), 1=walking (pathfinding position interpolation with direction calculation using atan2), 3=attack (calls virtual attack handler, handles monster/NPC death removal), 4=knockback (linear interpolation from current to target position), 5/7/0x2D=skill/emote actions, 8=dead (periodic warp check on party members), 0xD=sitting (with mount animation variants). Updates ground height via C3dAttr__GetInterpolatedHeight and applies position offsets. 0x00CB18E0 69 CEntity__update_fade_alpha game_entity Updates the entity's fade-out alpha value. If the fade timer at offset 0x2DC is set, checks if it has expired (returns 0 to signal removal). If still active, calculates remaining time / 2 as the alpha value (clamped to 255) and stores at offset 0x9B. Returns 1 to keep entity alive. 0x00CB1930 1806 CEntity__process_damage_queue game_entity Processes the entity's pending damage number queue (linked list at offset 0x2A8). For each expired entry, resolves attacker and target names (with '#' character stripping for anonymized names), formats damage messages using CMessageStringTable (msg IDs 0x644-0x648) based on whether the local player is attacker/target, and dispatches chat messages with color coding (0xFFFF for self-damage, 0xC8C8FF for observed damage). Removes processed entries from the linked list. 0x00CB2040 90 CEntity__send_map_click_command game_entity Sends a map click command to the game mode. Converts the entity's world position (X,Z at offsets 0x10, 0x18) to map coordinates via FUN_00cd5230, then dispatches command 0xC with the entity's ID (offset 0x110) and map coordinates to the global game mode handler. 0x00CB20B0 59 CEntity__render_sprite_if_visible game_entity Renders the entity's sprite if it is visible (offset 0xA0 != 0). Calls FUN_00cb35f0 with the view matrix and scale factor, then calls FUN_00cb20f0 for the full render pass with default parameters. 0x00CB20F0 1842 CEntity__render_sprite_full game_entity Full sprite rendering pipeline for entities. On special days (DAT_01737a88==1), loads alternate sprites based on day-of-month (cycles through 3 sprite sets). Transforms entity world position through view matrix, projects to screen coordinates. Iterates through all sprite layers in the animation frame, calling virtual render method for each layer. Handles aura rendering (flag 0x100 = fade gradient, 0x4000 = green tint, 0x40000 = red tint). Applies palette overrides and RSM object height offsets. Updates screen bounding box for UI positioning. 0x00CB2830 3396 CEntity__render_multi_layer_skill_sprite game_entity Renders a multi-layered skill effect sprite with up to 8 layers (0-7). Each layer loads different sprite/act resources based on the skill ID (param_3). Layer 0 uses the entity's base sprite, layers 1-3 load numbered variants with job class-specific paths, layer 4+ loads named effect sprites via a giant switch on skill IDs (0x1781-0x179E range - Kagerou/Oboro ninja skills). Handles sprite alignment offsets between layers and applies palette overrides. Projects to screen coordinates and calls the render pipeline for each visible layer. 0x00CB35F0 933 CEntity__render_shadow game_entity Renders the entity's ground shadow. Skips for entity 0x235 (specific NPC), or if not initialized or scale is zero. Loads "shadow.spr"/"shadow.act" resources, projects entity position to screen, computes shadow quad vertices with scale from the shadow sprite dimensions. Applies perspective correction for Z-depth and adds to the render queue. Shadow size scales with entity's Y scale factor (offset 0x54) and the passed param_3. 0x00CB39A0 1435 submit_sprite_quad_to_render_queue game_core Submits a textured sprite quad to the global render queue. Takes screen-space bounds (param_1), texture/palette data (param_2), render flags (param_3), rotation offsets (param_4/5), and rotation angle (param_6). Sets up 4 vertices with UV coordinates from sprite frame data, handles optional rotation via sin/cos for the rotation angle. Manages the render queue deque (grow if full). Applies perspective correction for Z-sorting and classifies the mesh for the render pipeline. Special case for texture ID 0xD77B adjusts UV mapping. 0x00CB3F40 89 submit_rotated_sprite_quad game_core Submits a rotated sprite quad to the render queue. Sets the rotation angle to 180 degrees, then calculates screen-space offsets from the center point (param_4, param_5) and delegates to submit_sprite_quad_to_render_queue. 0x00CB3FA0 77 CEntity__set_animation_speed game_entity Sets the entity's animation frame speed. Multiplies the input speed by a float value from UISkillWnd for the current action. If the global speed override (DAT_016f7144) is active, further scales by EffectMap__get_time_scale_by_speed. Only applies if the result exceeds a minimum threshold. Stores at offset 0x58. 0x00CB3FF0 53 send_action_to_entity game_core Sends an action command (0x1D) to an entity if the entity pointer is non-null. Calls the entity's virtual method at vtable+8 with action type 0x1D and the given param_1 as data. Used for requesting actions like attack, pick up, etc. 0x00CB4030 54 CEntity__find_attached_effect_by_id game_entity Searches the entity's attached effect list for an effect with a specific ID. Iterates the linked list at offset 0x144, checking each node's effect object (node[2]) at offset 0x168 for a match. Returns the effect object pointer, or 0 if not found. 0x00CB4070 129 CEntity__apply_costume_garment_change game_entity Applies a costume garment change to the entity. Copies the pending garment type from offset 0x408 to 0x404, clears pending. Resets visibility flags and action completion markers. Maps garment type 1 to sprite ID 0x1104, type 2 to 0x1105, otherwise uses stored garment ID from offset 0x25C. Calls virtual method at vtable+0x54 to load the new garment sprite, then vtable+0x80 to refresh. Sets idle state if not in attack action. 0x00CB4100 113 CEntity__dispatch_action_by_type game_entity Dispatches an entity action by type using a jump table. Validates the action type (param_2) is in range 0x17-0x9F with param_3 == 0, then uses an indexed jump table (at PTR_LAB_00cb4740) to call the appropriate handler. The jump table covers approximately 160 different action types for the entity system. 0x00CB42D9 34 skill_effect_setup_and_create effect Sets up stack parameters and delegates to CEntity__create_skill_effect. Mid-function entry point for skill effect creation. 0x00CB434E 26 skill_effect_store_xmm_and_create effect Stores XMM0 position data into output buffer then calls CEntity__create_skill_effect. Mid-function skill effect wrapper. 0x00CB4375 1 vtable_dispatch_0x50_mid_entry game_core Vtable dispatch 0x50 mid entry 0x00CB4800 406 CEntity__process_action_table_entry game_entity Processes an action table entry for the entity. Validates the entity is not the local player (DAT_01733c3c), is not invisible (bit1), not dead (bit6), and not in BG mode (bit14) before dispatching. Uses a jump table indexed by param_3 (range 0-0xA0) to handle specific action types. Falls through to CEntity__dispatch_action_by_type for unhandled cases. The jump table at PTR_LAB_00cbec04 covers entity state transitions, equipment changes, and visual effect triggers. 0x00CBF860 183 CEntity__handle_marker_placement game_entity Handles placement/visibility of ground marker entities. If param_3==1 and param_4==0: sets world position from param_5, calculates Y height via C3dAttr__GetInterpolatedHeight, makes visible (0xA0=1), clears lifetime. Sets color to red (0xFFFF0000) if param_7 or param_8 is non-zero, otherwise white. If param_3==2 and param_4==0: either sets lifetime from param_5/param_6, or hides the marker (0xA0=0) if both are zero. 0x00CBF920 3 null_stub_00cbf920 crt Empty function stub that immediately returns 0x00CBF930 58 CEntity__load_act_resource game_entity Loads an ACT (animation action) resource file for the entity. Releases the existing resource at offset 0x108 if present, then loads the new one via CResourceMgr__load_resource_by_path and increments its reference count. 0x00CBF970 362 CEntity__set_action_with_speed_calc game_entity Sets the entity's current action with full animation speed calculation. Validates action index against the ACT resource frame count (for type 7 entities). Calculates frame speed using UISkillWnd__get_float_value multiplied by optional EffectMap speed. Applies a secondary multiplier from offset 0x64. Clamps minimum to 1.0 or the EffectMap speed. Sets action (offset 0x34), resets frame counter (0x3C=0), clears animation completion flag (0x9D), and resets various sub-animation fields. 0x00CBFAE0 286 CEntity__set_action_simple game_entity Simplified version of set_action_with_speed_calc. Same animation speed calculation logic but without the initial ACT resource validation. Sets action index, resets frame counter and completion flag, and clears sub-animation fields. Does not reset offset 0x238 or 0x378. 0x00CBFC00 63 CEntity__set_color_rgba_direct game_entity Directly sets the entity's RGBA color components. Each parameter (-1 means skip/unchanged): param_2=R (offset 0x9B), param_3=G (offset 0x9A), param_4=B (offset 0x99), param_5=A (offset 0x98). Values are stored as bytes. 0x00CBFC40 6144 CPlayerEntity__apply_status_flag_effects game_entity Processes player entity status flags and applies visual effects. 6.1K bytes. Called by CPlayerEntity__initialize_local_player. Compares and extracts individual bit flags (bits 1-25), creates/destroys skill effects, updates status windows, triggers combat animations based on status changes. 0x00CC1490 225 CEntity__get_attack_animation_resource game_entity Gets the appropriate attack animation sprite resource based on action state. For param_2==0xF and param_3==3: cycles through attack animation frames (counter at 0xF7), loading alternate sprite resource (DAT_011a05BC) when counter > 19, resetting at 40. For param_3==0: handles special attack states (offset 0xFE values 1 or 3), cycling through 3 attack animation variants at different rates (counter at offset 0x100/0xFF). Loads resources from paths at DAT_011a054C, 011a0570, 011a0594. 0x00CC1580 99 CEntity__apply_body_rotation_from_status game_entity Applies body rotation offset based on the entity's status flag 0x40 at offset 0xE8. If the flag is set and the rotation index (offset 0xF4) is less than 37, looks up a rotation value from the table at DAT_01388110 and computes an angular offset. Wraps the value to [0, 360) range. Sets the result to param_2 output. 0x00CC15F0 323 CEntity__calculate_sway_offset game_entity Calculates a swaying/wobbling offset for entity rendering. Increments a rotation counter (offset 0xF8) by 2, wrapping at 360. Manages a sway magnitude counter (offset 0xFA) that increases when idle/walking or in special states, decreases in other action states. The sway is computed from a sine lookup table (DAT_01387FA8) combined with the magnitude, then scaled by camera perspective. Returns the sway amount as a screen-space offset. 0x00CC1740 195 CEntity__render_status_aura_overlays game_entity Renders additional sprite overlays based on entity status flags. Flag 0x100: renders a fade gradient overlay with color based on concentration level (offset 0xF4, 6 levels). Flag 0x4000: renders a green-tinted overlay (5,5,255). Flag 0x40000: renders a red-tinted overlay (255,5,5). Uses submit_sprite_quad_to_render_queue for the gradient and FUN_00cc1c40 for colored overlays. 0x00CC1810 218 CEntity__apply_size_modifier_from_status game_entity Applies sprite size modifiers based on entity status flags. Flag 0x10 at offset 0xE8: applies a growth modifier from a table lookup (offset 0xF0 as index into DAT_01387FA8), scaling up to 2x. Flag 0x400: applies a shrink modifier from a similar table (offset 0xF1), reducing to about 0.5x. Both use sine-based interpolation for smooth transitions. 0x00CC18F0 263 CEntity__apply_rotation_position_offset game_entity Applies a position offset based on the entity's rotation status (flag 0x40 at offset 0xE8). Computes an angular offset from the rotation table at DAT_01388110, then applies sine/cosine displacement to the X/Y screen coordinates (param_3/param_4). Uses different scale factors depending on param_2 (1 = large offset using DAT_01114248, >1 = smaller offset using DAT_010dd24C). 0x00CC1A00 210 CEntity__get_attack_animation_resource_b game_entity Variant B of get_attack_animation_resource. Same cycling logic through attack animation states (offsets 0xFE, 0xFF, 0x100, 0xF7) but loads from different resource paths (DAT_011a05E4, 011a0608, 011a062C, 011a0654). Used for different weapon/class attack animations. 0x00CC1AE0 311 CEntity__apply_sprite_stretch_from_status game_entity Applies vertical sprite stretching/squishing based on entity status flags. Flag 0x80: stretches sprite vertically using a table-based modifier at offset 0xF4 (phases: growing to max, then shrinking). Flag 0x20: applies a squeeze/shake effect with random jitter (uses rand() for phases 4-33), creating a wobble animation. Both modify the Y bounds passed via param_2/param_3. 0x00CC1C20 25 CEntity__set_palette_and_type game_entity Sets the entity's palette type byte at offset 0x305 and palette ID at offset 0x308. 0x00CC1C40 213 CEntity__render_colored_aura_overlay game_entity Renders a colored aura overlay on the entity. Uses the aura intensity byte at offset 0xF6 to compute the color: values 0-10 use direct intensity*15, values 11-20 use fixed intensity with color offset, values 21-50 use a fading formula. Combines with R/G/B params (param_3-5) into an ARGB color at param_2+0x18, then submits two sprite quads for the overlay effect. Only renders if intensity < 51. 0x00CC1D20 28 CEntity__update_max_hp_if_higher game_entity Updates the entity's max HP value at offset 0x3C8 only if the new value (param_2) is greater than the current value or if the current value is less than 1. Ensures max HP never decreases except when explicitly reset. 0x00CC1D40 230 CEntity__set_weapon_sprite game_entity Sets the entity's weapon sprite. Clears max HP tracking value at offset 0x3C8 (same field as update_max_hp_if_higher). If this is the local player (DAT_01733c3c), calls set_selection_index_by_slot to update the player's weapon display. Otherwise stores weapon ID by slot: param_3==0 at offset 0x3B8, ==1 at 0x3BC, ==2 at 0x3C0. If weapon ID > 0, loads the weapon sprite via vtable+0x54 and refreshes. If <= 0, loads either costume garment sprite (0x1104/0x1105) or the effective job sprite, then refreshes. 0x00CC1E30 63 CEntity__set_shield_sprite game_entity Sets the entity's shield/left-hand sprite. Clears flag at offset 0x3C8, stores shield ID at offset 0x3C4. If ID <= 0, resolves to the effective job ID instead. Calls vtable+0x54 to load the sprite and vtable+0x3C to refresh the current action state. 0x00CC1E70 26 CLightEffect__set_timer_delay game_core Sets a timer deadline for the light effect. Stores current time + param_2 (delay in ms) at offset 0xE4. 0x00CC1E90 16 CLightEffect__set_flag_c2 game_core Sets the byte flag at offset 0xC2 in the light effect object. Purpose likely controls a rendering or behavior mode. 0x00CC1EA0 242 CLightEffect__init_color_and_timing game_core Initializes a light effect's color channels and timing. Sets start and target RGBA values (offsets 0xB5-0xC0), rendering mode (0xC1=4), animation state (0xC5=0), duration (0xD0), and various control fields. If duration is non-zero, sets a timer deadline using timeGetTime + delay; otherwise zeros the timer. Enables the effect (0xE0=1). 0x00CC1FA0 174 CLightEffect__init_mode_and_timing game_core Initializes a light effect with mode, alpha, and timing parameters. Sets start/current alpha (0xB5-0xB6), mode (0xC1), extra params (0xC3-0xC4), step count (0xCC), duration (0xD0). Configures state flags. If duration is non-zero, sets a timer using timeGetTime. Enables the effect. 0x00CC2050 16 CEntity__set_field_2e4 game_entity Simple setter that stores a value at entity offset 0x2E4. 0x00CC2060 185 CEntity__set_shield_and_send_packet game_entity Sets the entity's shield ID (offset 0x2E8) and sends a packet if conditions are met. Checks against special job IDs (0x4F2D = Poring, 0x2D2 = Wedding/Xmas). For other jobs, checks if the entity is a player class (via FUN_00dfa600, thunk_to_00dfbce0, FUN_00e1dc00) before sending the shield display packet via CPacketStream. 0x00CC2120 193 CEntity__update_sprite_name game_entity Updates the entity's sprite name/path by computing it from the effective job ID and various entity properties. Calls virtual methods for getting render info, then FUN_00ddc1d0 to build the sprite name string, and assigns it to the entity's internal string if it differs from the current one. 0x00CC2200 56 CEntity__set_bounding_box game_entity Sets the 5-field bounding box or rectangle data at the beginning of the entity structure. Copies 5 values directly from parameters to the first 5 dwords. 0x00CC2240 250 CEntity__insert_or_update_map_entry game_entity Inserts or updates an entry in the entity's map (red-black tree at offset 0x11C). Uses tree_lower_bound to find the insertion point. If the key doesn't exist, allocates a new 0x20-byte node and inserts it. Sets the node's data fields (offset 0x18, 0x1C) from params. 0x00CC2340 570 CEntity__set_mounted_job_and_update_sprite game_entity Sets the entity's mounted/costume job ID (offset 0x25C) by mapping the input job ID to its mounted/riding variant. Contains a large switch mapping standard 4th jobs (0xFF0-0x1010), Doram classes, baby classes, etc. to their ride variants. After mapping, checks for costume override and calls the sprite load virtual function, then clears status effects and plays idle animation. 0x00CC26F0 129 CEntity__notify_minimap_position game_entity Notifies the minimap UI of the entity's position. Checks if the minimap option (0x77) is enabled and the minimap window is visible. Converts the entity's world position (offsets 0x10, 0x18) to cell coordinates via CGameMode__world_to_cell, then calls the minimap's update virtual method with the cell position and params. 0x00CC2780 57 CEntity__set_animation_speed_scaled game_entity Sets the entity's animation speed (offset 0x58) with optional effect map time scaling. If the global effect map flag is set, multiplies the speed by the effect map's time scale. Only applies if the final speed exceeds a global minimum threshold. 0x00CC27C0 75 CEntity__set_bone_transform game_entity Sets a bone transform (6 values / 24 bytes) for the entity. If param_3=0, writes to offset 0x318 (first bone slot). If param_3=1, writes to offset 0x348 (second bone slot). Copies all 6 dwords from the input array. 0x00CC2810 16 CEntity__set_hair_color game_entity Sets the entity's hair color at offset 0x2C8. 0x00CC2820 1255 CEntity__update_spatial_quad_tree game_entity Updates the entity's spatial representation in the quad tree for click-selection and visibility. Computes the entity's bounding box with a height offset based on job type (player, monster, NPC, homunculus, etc.). Ensures minimum dimensions based on a near-clip threshold. Creates a 0x28-byte quad tree entry with the bounding rect, entity ID, job ID, and type flags, then inserts it. Calls the entity's virtual update method at the end. 0x00CC2D50 75 CEntity__set_bone_offset game_entity Sets a bone offset (6 values / 24 bytes) for the entity. If param_3=0, writes to offset 0x330 (first bone offset slot). If param_3=1, writes to offset 0x360 (second bone offset slot). 0x00CC2DA0 19 CEntity__set_sex game_entity Sets the entity's sex/gender at offset 0x260. Masks to bit 0 only (0 or 1). 0x00CC2E00 58 CEntity__load_texture_resource game_entity Loads a texture resource by path. Releases the old resource reference at offset 0x104 if one exists, then loads the new resource via CResourceMgr and stores the pointer. Increments the reference count on the new resource. 0x00CC2E50 3533 CEntity__change_action_state game_entity Large entity action state machine. Changes entity action/animation state based on param_2 (action ID). Handles idle(0), walk(1), sit(3), dead(4), attack(7/9), casting(0x10-0x14), skill effects(0x15-0x19), emotion/pose states(0x1a-0x51). Sets animation parameters, creates skill effects, manages BGM registration, and updates timing via timeGetTime. param_3=1 means snap to stored position. 0x00CC3DC0 29 CEntity__set_scale_xy game_entity Sets entity scale X (offset 0xac) and Y (offset 0xb0) from float parameters. 0x00CC3DE0 36 CEntity__set_color_rgb game_entity Copies a 3-component vector (RGB color or 3D vector) from param_2 into entity fields at offsets 0x8c, 0x90, 0x94. 0x00CC3E10 58 CEntity__reset_attack_state game_entity Resets entity attack/interaction state. Clears target ID (offset 0x110 = -1), clears flags at 0x2b8 and 0xa4, sets a 510ms timer (0x1fe) at offset 0x2dc using timeGetTime. Ensures timer is never 0. 0x00CC3E50 453 CEntity__set_elemental_orbit_effect game_entity Sets elemental orbit visual effect on entity. Removes existing orbit effects (IDs 0x2e1-0x2e0, 0x2df), then creates a new orbit effect based on element type (1=fire/0x2e1, 2=water/0x2e2, 3=wind/0x2df, 4=earth/0x2e0, 5=generic/0xe4). Uses CEffectManager to create and CEffectOrbit to set orbit count from param_3. 0x00CC4015 96 CEntity__create_elemental_orbit_effect_fragment game_entity Code fragment (mid-function entry) that maps element IDs to effect IDs (1=0x2e1, 2=0x2e2, 3=0x2df, 4=0x2e0, else=0xe4) and calls CEntity__create_skill_effect. Part of the elemental orbit effect creation flow. 0x00CC40C0 16 CEntity__set_job_id game_entity Sets the entity's job/class ID at offset 0x404. 0x00CC40D0 260 CEntity__enter_dead_state game_entity Transitions entity to dead state (state 3). Saves previous state, sets action to 0x51 (death animation), marks entity as dead, updates name string using job ID and related info via FUN_00ddc1d0. Only acts if not already in state 3. 0x00CC41E0 36 CEntity__notify_emotion_to_ui game_entity Notifies the UI manager about an entity emotion. Gets the mode manager via get_field4_if_mode1, then dispatches message 0xd (emotion) with the entity's value at offset 0x110. 0x00CC4210 87 CBoundingBox__expand_to_include game_core Expands a bounding box (this) to include the extents of another box (param_2). Compares min/max values for each axis: if param_2's min is smaller, updates this->min; if param_2's max is larger, updates this->max. Operates on 4 float fields representing 2D bounding extents. 0x00CC4270 77 CEntity__update_screen_position game_entity Projects entity's 3D world position to 2D screen coordinates using CRenderPipeline__project_world_to_screen_2d, then calls the entity's virtual method at offset 0x18 with the resulting screen x,y. 0x00CC42C0 704 std__tree_erase_node stl STL red-black tree node erasure with rebalancing. Removes param_2 from the tree, performs rotations (left/right) to maintain RB-tree invariants, updates parent/child pointers, and decrements the tree size. Standard MSVC STL _Tree::_Erase_node implementation. 0x00CC4580 84 std__tree_rotate_left_00cc4580 stl STL red-black tree left rotation. Rotates param_2 node left: promotes right child, adjusts parent/child links, handles root case. Standard MSVC STL _Tree::_Lrotate implementation. 0x00CC45E0 88 std__tree_rotate_right_00cc45e0 stl STL red-black tree right rotation. Rotates param_2 node right: promotes left child, adjusts parent/child links, handles root case. Standard MSVC STL _Tree::_Rrotate implementation. 0x00CC4640 135 CEntity__update_npc_chat_position game_entity Updates NPC chat bubble position for the entity. Checks if entity has valid body parts (vtable+200 call) and is a valid job type, then dispatches to either CBGMManager__toggle_npc_chat_with_params (for local player) or CBGMManager__try_toggle_npc_chat_with_range_check (for other entities). 0x00CC46D0 554 CEntity__update_tetra_vortex_effect game_entity Updates Tetra Vortex skill effect on entity. param_2=element index, param_3=action (1=create, else=release), param_4=element type. Creates or releases elemental sprites (effect IDs 0x4ee-0x4f1) representing fire/water/wind/earth. Uses RTDynamicCast to check effect type, CEffectTetraVortex to manage element positions and orbit angles. 0x00CC4900 350 std__tree_erase_range stl STL tree range erase. Erases nodes in range [lower_bound, upper_bound) from a std::set/map tree. Iterates through nodes, calling std__tree_erase_node for each, then deallocates them. If erasing all, clears the tree directly via recursive destroy. Returns count of erased elements. 0x00CC4A60 95 std__list_erase_node_00cc4a60 stl STL list node erase. Unlinks a node from the doubly-linked list by updating prev/next pointers, decrements size, deallocates the node, and updates the output iterator to point to the next element. 0x00CC4AD0 165 std__list_push_back_4byte stl STL list push_back for 4-byte elements. Allocates a 12-byte node (prev+next+data), copies value from param_2, links it before the sentinel node. Throws std::length_error if size reaches 0x15555555. 0x00CC4B80 197 std__list_push_back_56byte stl STL list push_back for 56-byte elements (0x38 bytes data). Allocates a 64-byte node (0x40), copies 14 dwords from param_2, links before sentinel. Throws std::length_error if size reaches 0x3ffffff. 0x00CC4C50 95 CEntity__clear_elemental_spirit_effects game_entity Removes elemental spirit visual effects from entity. Maps spirit IDs (0x3ca=wind/0x2df, 0x3cb=fire/0x2e1, 0x3cc=earth/0x2e0, 0x3cd=water/0x2e2) to effect IDs and calls the entity's remove-effect virtual method (0x6d). Clears 6 spirit-related fields (offsets 0x56-0x5b). 0x00CC4D40 317 std__vector_insert_12byte_element stl STL vector insert for 12-byte elements. Grows the vector with 1.5x capacity strategy (max 0x15555555), copies the new element at the insertion point, relocates existing elements before and after. Returns pointer to inserted element. 0x00CC4EA0 478 CGrannyEntity__ctor game_core Constructor for CGrannyEntity (3D animated model entity). Calls CEntity__ctor, sets vtable, initializes 30 mesh arrays and control slots, copies name string, creates stub object (35x35), initializes a vector of 0x1324 (4900) 12-byte elements for mesh/bone data. 0x00CC5080 499 CGrannyModel__ctor_00cc5080 game_sprites Constructor for CGrannyModel (Granny 3D model wrapper). Calls CGameObject__ctor_base, loads model resource by path, instantiates Granny model, allocates mesh triangle data per mesh, gets system time for animation, reads texture names. Initializes rendering state arrays and Granny animation controls. 0x00CC5280 258 CGrannyEntity__dtor game_core Destructor for CGrannyEntity. Frees 20 Granny animation controls, destroys 30 mesh objects and their triangle data buffers, frees Granny model instance, destroys two sub-objects at offsets 0x104 and 0x36e, then chains to CEffectGround__dtor and CEntity__dtor. 0x00CC5390 179 CGrannyModel__dtor game_sprites Destructor for CGrannyModel. Frees Granny animation control, destroys 30 mesh objects and their triangle data, frees Granny model instance, chains to base class destructor. 0x00CC5450 289 CGrannyEntity__scalar_deleting_dtor game_core Scalar deleting destructor for CGrannyEntity. Frees 20 Granny controls, 30 meshes and triangle buffers, model instance, sub-objects, chains to CEffectGround and CEntity dtors. If param_2 & 1, deallocates the 0xdc8-byte object. 0x00CC5580 203 CGrannyModel__scalar_deleting_dtor_00cc5580 game_sprites Scalar deleting destructor for CGrannyModel. Frees Granny animation control, destroys 30 mesh objects and triangle data, frees model instance, chains to base dtor. If param_2 & 1, deallocates the 600-byte object. 0x00CC5660 236 CGrannyEntity__load_sub_model game_core Loads a sub-model (accessory/attachment) for a Granny entity. Calls virtual method to get resource path, loads resource via CResourceMgr, creates or resets the sub-object at offset 0x104. Returns pointer to the loaded sub-model. 0x00CC5750 78 CGrannyEntity__update_position_and_name game_core Updates entity position display. Gets mode manager, then calls position update function with entity's world position (offsets 0x10, 0x14, 0x18), a state field (offset 0x538), and the entity name string (offset 0x54c). 0x00CC57A0 108 CGrannyModel__destroy_meshes_and_instance game_sprites Frees all mesh data for a CGrannyModel. Frees Granny animation control, iterates through 30 mesh slots destroying mesh objects (0x28 bytes) and triangle data (0x20 bytes), then frees the Granny model instance. 0x00CC5810 411 CGrannyModel__reload_resource game_sprites Reloads a CGrannyModel's resource from its stored path. Clears all 30 mesh/bone data slots, reloads the resource via CResourceMgr, re-instantiates the Granny model, re-allocates mesh triangle data for each mesh, re-reads system time for animation, and re-reads texture names. 0x00CC59B0 334 CGrannyEntity__update_frame game_core Per-frame update for CGrannyEntity. Calls virtual update, processes idle effects, damage queue, and HP bar. Smoothly interpolates the entity's facing angle toward the target angle using angular difference clamped to 360 degrees, with a rotation speed constant. 0x00CC5B30 204 CGrannyEntity__advance_animation game_core Advances Granny animation for the entity. Gets system time, computes elapsed time (doubled for speed), accumulates into animation clock, calls SampleAndBuildPose. If control state is 2 and animation control has no duration left, resets to state 0 and re-reads textures. 0x00CC5C00 105 CGrannyModel__advance_animation game_sprites Advances Granny model animation. Gets system time, computes elapsed seconds (doubled), accumulates into animation clock, calls SampleAndBuildPose with the current model instance. Simpler version without control state management. 0x00CC5C70 251 CGrannyEntity__advance_animation_scaled game_core Advances Granny entity animation with speed scaling. If entity state is not 2, sets visibility flag. When visible and speed factor (offset 0x68) is valid, advances animation scaled by 1/speed_factor. Also handles animation control duration expiry like advance_animation. 0x00CC5D80 343 CGrannyEntity__render_with_lighting game_core Renders a CGrannyEntity with lighting applied. Advances animation, computes perpendicular direction for lighting, sets up light color (200,200,200 base with 128 alpha). Dispatches to either FUN_00cc68f0 (billboard render) or FUN_00cc7180 (standard render) based on state at offset 0x650/0x2e0. 0x00CC5EE0 1546 CGrannyModel__render_meshes game_sprites Renders all meshes of a CGrannyModel. Gets system time, advances animation, computes facing direction and terrain height for ground alignment. Sets up rotation matrices (X and Y) from facing angle, projects world to screen, iterates all meshes: gets render data, transforms vertices through matrices, projects to screen with depth, classifies and enqueues for rendering. 0x00CC64F0 880 CGrannyEntity__render_rigid_meshes game_core Renders rigid (non-skinned) meshes for a CGrannyEntity. Checks visibility, computes color with alpha, sets up rotation matrices from facing angle, projects to screen. Iterates meshes, gets rigid bone index, transforms vertices, projects to screen with depth, classifies for render pipeline. Handles skeleton setup for bounding box calculation. 0x00CC6870 115 CGrannyEntity__check_and_create_warg_effect game_core Checks if entity is job 0x49d (Warg/Wolf) and at mesh index 0x1c, if so creates skill effect 0x175 using position data from the mesh render buffer. XORs entity state flag with a constant for the effect parameter. 0x00CC68F0 2172 CGrannyEntity__render_billboard_meshes game_core Renders CGrannyEntity meshes in billboard mode (always facing camera). Sets up rotation matrices including Z-axis rotation from camera direction. Iterates all meshes, transforms and projects vertices, records vertex positions into the entity's position vector. Handles Warg special effect at mesh 0x1c. Loads sub-model for mesh index 1. 0x00CC7180 1987 CGrannyEntity__render_standard_meshes game_core Renders CGrannyEntity meshes in standard mode with lighting. Computes facing direction, terrain heights, rotation matrices, projects to screen. Iterates meshes: gets render data, transforms vertices with lighting color tint from param_3, projects to screen, stores mesh positions in position vector, saves per-mesh render state (render data ptr, index count, triangle count, transform matrices). Handles Warg effect and skeleton setup. 0x00CC7960 1001 CGrannyEntity__render_ground_shadow game_core Renders the ground shadow/footprint texture for a CGrannyEntity. Projects entity mesh vertex positions onto the ground grid, marks affected cells with shadow alpha (0x2f/0x5f), then renders a 5x5 textured quad grid around the entity position using CWalkGrid__render_textured_quad with UV coordinates computed from facing direction. 0x00CC7D50 156 CGrannyEntity__set_animation_state game_core Sets the animation state for a CGrannyEntity. Maps action IDs (0,8,0x18,0x20,0x28,0x30,0x40,0x50,0x58) to animation states (0-0xc). Frees all 20 existing Granny animation controls, resets animation clock to 0, reads new texture/animation via CRsmModel__ReadTextureNames for the new state. 0x00CC7ED0 544 CGrannyEntity__initialize_model_for_job game_core Initializes CGrannyEntity's 3D model based on job class. Loads model resource by path (offset 0x54c), instantiates Granny model, allocates mesh triangle data per mesh with system time for animation. Sets render mode: mode 1 for jobs 0x49d(Warg)/0x504, mode 2 for job 0x2d2, mode 0 otherwise. Warg gets special scale (30.0). 0x00CC80F0 117 std__vector_replace_buffer_12byte stl Replaces the internal buffer of a std::vector of 12-byte elements. Frees the old buffer (with alignment handling for buffers >= 0x1000 bytes), then sets data pointer, end pointer (data + count*12), and capacity pointer (data + capacity*12). 0x00CC8170 46 memcpy_12byte_elements stl Memcpy 12byte elements 0x00CC81A0 95 std__vector_allocate_12byte_buffer stl Allocates buffer for a vector of 12-byte elements. For small allocations (< 0x1000 bytes), allocates directly. For large allocations, adds 0x23 bytes overhead and aligns to 32-byte boundary, storing the original pointer at offset -4. Max capacity 0x15555555 elements. 0x00CC8200 44 CAnimationBlend__init game_sprites Initializes an animation blend structure. Sets blend target (param_2), clears current value to 0, sets speed to max(param_3, 1), and clears elapsed time to 0. 0x00CC8230 325 CEntity__process_attack_action game_entity Processes attack actions for an entity. Handles multi-hit attacks by scheduling damage events with timing. Determines attack type from param_3 data, finds target entity, faces toward target, sets action state. For special jobs (Dorams, Homunculus, etc.), applies special effect IDs (0x1b2, 0x974). Schedules multi-hit damage events with frame-based timing from DAT_0135ed10. 0x00CC8970 4415 CEntity__process_ground_skill_effect game_entity Processes ground-targeted skill visual effects. Large switch on skill ID: creates appropriate visual effects at the target ground position. Handles many skills including Fire Wall (0x1e3), Meteor Storm (0x301), Jack Frost (0x98f), Land Protector (0x306), various trap skills. Converts cell coordinates to world position, gets interpolated height, creates effects via CEffectManager or FUN_00cdfa00 with skill-specific timing and parameters. 0x00CC92B7 46 caseD_1eb game_core Switch case handler fragment within a larger dispatch function. 0x00CC944D 22 ground_skill_effect_fragment game_core Code fragment (mid-function entry point) that calls FUN_00cdfa00 to create a ground skill effect. Part of the ground skill effect processing flow, called from specific skill cases in the large switch. 0x00CC9463 49 caseD_2c6 game_core Switch case handler fragment within a larger dispatch function. 0x00CC94DA 49 caseD_2cd game_core Switch case handler fragment within a larger dispatch function. 0x00CC96C6 49 ground_skill_create_fire_pillar_fragment game_core Code fragment (mid-function entry point) that creates skill effect 0x317 (Fire Pillar). Part of the ground skill effect processing switch in CEntity__process_ground_skill_effect. 0x00CC9F20 1105 CEntity__process_damage_number_display game_entity Creates floating damage number effects on an entity. Splits damage value into individual digits (supports damage abbreviation mode 0x10b for K/M suffixes). Removes existing damage displays of the same type (0x16). Creates per-digit effect objects via FUN_00e4a550, positions them vertically, adds to entity's attached effect list. Handles large damage display (100M+) differently. 0x00CCA380 2105 CEntity__process_skill_action game_entity Processes a skill action on an entity. Large handler for skill effects triggered by combat. Handles various action types (4/5/6/8/9/0xd/0xe) with skill-specific logic. For type 5/0xe (projectile/targeted skills), creates timed events with duration. Manages facing direction, skill effects, sound effects for specific skills (ABR summons). Calls CEffect handlers for custom skill behavior, creates skill effect objects at target positions. 0x00CCC3F0 189 CEntity__clear_damage_number_effects game_entity Removes all attached damage number effects (type 0x16) from entity's effect list. Iterates through the linked list at offset 0x3b0, clears each effect with type 0x16 by detaching it, sending destroy message (0x18), removing from list, and unregistering from BGM manager. 0x00CCC4B0 339 CEntity__schedule_skill_projectile game_entity Schedules a skill projectile event on a target entity. Checks if skill should bypass (FUN_00ccc890), computes travel time from param_4, gets timing offset, builds event structure with skill ID, effect IDs, and duration. Dispatches event via target entity's virtual method. Handles null target for certain skills (0x992, 0x2e3, 0x13a6, 0x9ad). 0x00CCC6E0 259 CEntity__schedule_skill_impact game_entity Schedules a skill impact event on target entity. Similar to schedule_skill_projectile but uses action type 0x61 instead of 0x60, and doesn't look up custom effect/end IDs (uses -1). Handles null target for skills 0x992, 0x2e3. 0x00CCC7F0 156 CSkill__does_skill_override_action game_skills Checks if a skill ID overrides the normal action animation. Returns true for skills that have special animations: 0x8f, 0x107, 0x10f, 0x110, 0x111, 0x173, 0x8d5(if type==8), 0x90d, 0x916, 0x918, 0x919, 0x9d7, 0xa13, 0x1506. Falls back to CEffect handler check for unlisted skills. 0x00CCC890 204 CSkill__is_self_cast_skill game_skills Checks if a skill is a self-cast/buff skill that doesn't create projectile effects. Returns 1 for skills: 0xb, 0x2f, 0x111, 0x19d, 0x2dc, 0x8d2, 0x8ec, 0x903, 0x90d-0x9d7, 0xa10, 0xbbe-0xbbf, 0x13a2-0x13b6, 0x146e-0x14c4. Falls back to CEffect__invoke_handler_bool_c for unlisted skills. 0x00CCCA90 66 CSkill__has_custom_targeting_behavior game_skills Checks if a skill has custom targeting behavior (doesn't face target). Returns 1 for skills 0x1ea, 0x8d0, 0x8d1, 0xbc1. Falls back to CMapEventDispatch handler for other skills. 0x00CCCAF0 48 CEntity__set_attack_speed game_entity Sets entity attack animation speed. Clamps param_2 to DAT_0135f1e0 max value, divides by a constant to convert to float speed factor, stores in both offsets 0x64 and 0x68. 0x00CCCB20 147 CSkillEvent__move_construct game_core Move constructor for a skill event structure (28 bytes). Copies 7 dwords from source, moves the embedded string (offsets 5-6) by transferring ownership and resetting source to empty SSO state (capacity=15, length=0). 0x00CCCBC0 577 std__vector_insert_1c_element stl STL vector insert for 0x1c (28) byte elements. Grows with 1.5x capacity (max 0x9249249). Allocates aligned buffer for large sizes, copies new element at insert position, relocates before/after elements, frees old buffer. Returns pointer to inserted element. 0x00CCCE10 103 std__tree_destroy_nodes_24byte stl Recursively destroys all nodes in a red-black tree with 0x24-byte nodes. Post-order traversal: recurses into right child, then iterates left children, freeing each 0x24-byte node. 0x00CCCE80 103 std__tree_destroy_nodes_18byte stl Recursively destroys all nodes in a red-black tree with 0x18-byte nodes. Post-order traversal: recurses right, iterates left, frees 0x18 bytes per node. 0x00CCCEF0 103 std__tree_destroy_nodes_18byte_00cccef0 stl Recursively destroys all nodes in a red-black tree with 0x18-byte nodes. Same pattern as 00ccce80 - post-order traversal freeing 0x18 bytes per node. 0x00CCCF60 103 std__tree_destroy_nodes_1c_byte stl Recursively destroys all nodes in a red-black tree with 0x1c-byte nodes. Post-order traversal freeing 0x1c bytes per node. 0x00CCCFD0 103 std__tree_destroy_nodes_28byte stl Recursively destroys all nodes in a red-black tree with 0x28-byte nodes. Post-order traversal freeing 0x28 bytes per node. 0x00CCD040 103 std__tree_destroy_nodes_1c_byte_00ccd040 stl Recursively destroys all nodes in a red-black tree with 0x1c-byte nodes. Same pattern - post-order traversal freeing 0x1c bytes per node. 0x00CCD0B0 103 std__tree_destroy_nodes stl Recursively destroys nodes of an STL tree/map. Walks left subtree recursively, frees each node (size 0x20), continues to right sibling. Stops when sentinel (isNil flag at offset 0xd) is reached. 0x00CCD120 141 std__tree_destroy_string_nodes stl Recursively destroys nodes of an STL tree/map containing std::string values. Walks left subtree, destructs string, frees node (size 0x30), continues to right. Stops at sentinel node. 0x00CCD1B0 99 _Find_last<> stl STL _Find_last. Searches backward through a range to find the last matching element. 0x00CCD220 75 std__tree_lower_bound_00ccd220 stl STL tree lower_bound implementation. Searches BST for the first node whose key >= the search key. Returns iterator with node pointer, found flag, and parent. Uses comparison at node offset +0x10 (key field). 0x00CCD270 519 std__unordered_map_emplace_00ccd270 stl Inserts an element into an unordered_map. Computes FNV-1a hash of 4-byte key, looks up bucket. If found, returns existing iterator. Otherwise allocates new node, copies key, rehashes if load factor exceeded, links into bucket chain. Returns pair(iterator, bool). 0x00CCD480 97 fill<> stl STL std::fill for 4-byte pointer ranges. Uses unrolled 4-element loop for large ranges, then fills remainder one at a time. 0x00CCD4F0 389 CGameMode__send_shortcut_tree_entries game_core Iterates a std::map/set in-order from begin to end iterator. For each node, extracts a string at node offset +0x10 (handles SSO), dispatches it via CGameMode__dispatch_shortcut_command with opcode 0x12, then destroys the temp string. Game-specific function, not a standard library routine. 0x00CCD680 173 format_rgb_fixed_notation game_core Formats three float values (R,G,B from param_4/5/6) as fixed-point notation with 3 decimal places. Packs channel descriptors (type 0x10000000/0xb0000004/0x10000008) and calls charconv format_fixed_notation. 0x00CCD730 94 build_rgb_descriptor_array game_core Builds a 6-element array of RGB channel descriptors. Each channel has type (0x10000000, 0xb0000000, 0x10000000), offset (0, 4, 8), and float value from params. Used for color formatting. 0x00CCD790 31 std__fill_range_00ccd790 stl STL template instantiation: std fill range 00ccd790 0x00CCD7B0 202 SpriteActionNode__copy_ctor game_sprites Copy constructor for SpriteActionNode. Sets vtable to SpriteActionNode's, copy-constructs 6 std::string members from source (at offsets +0x4, +0x1c, +0x34, +0x4c, +0x64, +0x7c), then copies dword at +0x94 and byte at +0x98. 0x00CCD880 1742 CEffect3DPlayer__ctor effect Constructor for CEffect3DPlayer. Calls CEffectPlayer ctor as base, sets vtable, initializes 6+ std::string members, multiple STL tree/list/map containers (allocated as linked list sentinel nodes), vector of bucket pointers for hash maps, and sprite action manager. Large object (~0x19a dwords). Sets float 1.0f at offset 0x18a (scale). Initializes hash bucket arrays with default 0x10 capacity. 0x00CCDF50 148 CEffect3DPlayer__init_string_fields effect Initializes three std::string member fields at offsets +0x24, +0x3c, and +0x54 in CEffect3DPlayer sub-structure. Sets each to empty string with SSO buffer capacity 0xf. 0x00CCDFF0 84 CEffectItemDisplay__ctor effect Constructor for CEffectItemDisplay. Calls UIHyperlinkTextWidget base ctor, then sets vtable to CEffectItemDisplay's vtable at 011a0b18. The vtable's first entry is CEffectItemDisplay__scalar_deleting_dtor. 0x00CCE050 67 std__tree_free_sentinel_node_24 stl Frees the sentinel node (size 0x24) of an STL tree if it has been allocated (offset +4 != 0). Simple cleanup for tree header. 0x00CCE0A0 67 std__tree_free_sentinel_node_30 stl Frees the sentinel node (size 0x30) of an STL tree if it has been allocated (offset +4 != 0). Simple cleanup for tree header containing larger nodes. 0x00CCE0F0 131 std__list_destroy_and_free stl Destroys an STL list by first calling FUN_00cce180 (vector deallocate), then walking the linked list from head, freeing each node (size 0xc), and finally freeing the sentinel node itself (size 0xc). 0x00CCE180 125 std__vector_deallocate_aligned_buffer stl Deallocates the buffer of an STL vector. Computes buffer size from (end - begin) & ~3, handles aligned allocations (>0xfff bytes) by recovering original pointer from *(ptr-4). Zeros out begin/end/capacity pointers. 0x00CCE210 102 std__list_clear_nodes_0c stl Clears all nodes from an STL list (node size 0xc). Walks the linked list freeing each node, then resets the sentinel's next/prev pointers to null. Only runs if count (offset +4) is nonzero. 0x00CCE280 111 std__tree_destroy_and_free_24 stl Destroys an STL tree with node size 0x24. Recursively walks nodes via FUN_00ccce10 (destroys subtrees), then frees each node, and finally frees the sentinel node. Standard tree destructor pattern. 0x00CCE300 111 std__tree_destroy_and_free_18 stl Destroys an STL tree with node size 0x18. Recursively walks nodes via FUN_00ccce80, frees each node, then frees sentinel. Tree destructor for small-node trees. 0x00CCE380 111 std__tree_destroy_and_free_18b stl Destroys an STL tree with node size 0x18. Recursively walks nodes via FUN_00cccef0 (different value destructor than _18), frees each node, then frees sentinel. 0x00CCE400 111 std__tree_destroy_and_free_1c stl Destroys an STL tree with node size 0x1c. Recursively walks nodes via FUN_00cccf60, frees each node, then frees sentinel. 0x00CCE480 111 std__tree_destroy_and_free_28 stl Destroys an STL tree with node size 0x28. Recursively walks nodes via FUN_00cccfd0, frees each node, then frees sentinel. 0x00CCE500 111 std__tree_destroy_and_free_1c_b stl Destroys an STL tree with node size 0x1c. Recursively walks nodes via FUN_00ccd040 (different value destructor), frees each node, then frees sentinel. 0x00CCE580 111 std__tree_destroy_and_free_20 stl Destroys an STL tree with node size 0x20. Recursively walks nodes via std__tree_destroy_nodes, frees each node, then frees sentinel. 0x00CCE600 76 std__tree_destroy_string_and_free_00cce600 stl Destroys all string nodes in an std::tree (map/set) and frees the 0x30-byte root allocation. SEH-protected cleanup. 0x00CCE660 78 std__tree_free_sentinel_node_24b stl Frees the sentinel node (size 0x24) of an STL tree if allocated. Variant with different SEH frame setup than _24. 0x00CCE6B0 123 std__tree_node_string_dtor_and_free_30 stl Destructs a single STL tree node with a string value. If node exists (offset +4 != 0), destructs the std::string, then frees the node (size 0x30). 0x00CCE730 78 std__tree_free_sentinel_node_24c stl Frees the sentinel node (size 0x24) of an STL tree if allocated. Another variant of sentinel cleanup. 0x00CCE780 78 std__tree_free_sentinel_node_30b stl Frees the sentinel node (size 0x30) of an STL tree if allocated. Variant of sentinel cleanup for larger nodes. 0x00CCE7D0 65 std__tree_wrapper_destroy_18 stl Thin wrapper around std__tree_destroy_and_free_18. Sets up SEH frame and delegates to the actual tree destructor. 0x00CCE820 65 std__tree_wrapper_destroy_18b stl Thin wrapper around std__tree_destroy_and_free_18b. Sets up SEH frame and delegates to tree destructor for 0x18-byte nodes (variant b). 0x00CCE870 65 std__tree_wrapper_destroy_1c stl Thin wrapper around std__tree_destroy_and_free_1c. Sets up SEH frame and delegates to tree destructor for 0x1c-byte nodes. 0x00CCE8C0 65 std__tree_wrapper_destroy_28 stl Thin wrapper around std__tree_destroy_and_free_28. Sets up SEH frame and delegates to tree destructor for 0x28-byte nodes. 0x00CCE910 65 std__tree_wrapper_destroy_1c_b stl Thin wrapper around std__tree_destroy_and_free_1c_b. Sets up SEH frame and delegates to tree destructor variant b for 0x1c-byte nodes. 0x00CCE960 65 std__tree_wrapper_destroy_20 stl Thin wrapper around std__tree_destroy_and_free_20. Sets up SEH frame and delegates to tree destructor for 0x20-byte nodes. 0x00CCE9B0 87 std__tree_wrapper_destroy_string_30 stl Wrapper that destroys an STL tree with string-containing nodes (size 0x30). Calls std__tree_destroy_string_nodes then frees sentinel. 0x00CCEA10 80 std__tree_node_string_dtor_wrapper stl Wrapper that destructs a std::string stored at offset +4 within a tree node. SEH frame wrapper around STL_string_dtor. 0x00CCEA60 65 std__list_wrapper_destroy stl Thin wrapper around std__list_destroy_and_free. Sets up SEH frame and delegates to list destructor. 0x00CCEAB0 197 std__vector_destroy_strings_and_free stl Destroys a vector of elements containing std::strings (element size 0x24). Iterates from begin to end, calling STL_string_dtor on each element, then frees the vector buffer (handling aligned allocation recovery for >0xfff bytes), and zeros begin/end/capacity. 0x00CCEB80 880 CEffect3DPlayer__dtor effect Destructor for CEffect3DPlayer. Destroys all member containers in reverse construction order: linked lists, vectors, STL trees (string, 0x1c, 0x28, 0x20, 0x18 variants), 11+ std::string members, vector of strings, sprite action manager. Finally calls CEffectPlayer dtor as base class. 0x00CCEEF0 72 CEffect3DTextWidget__set_base_vtable effect Sets vtable pointers during destruction. First sets CEffect3DTextWidget vtable (011a0ce8), then falls back to base class vtable (0110c494). Called during destructor chain. 0x00CCEF40 114 std__linked_list_destroy_all_0c stl Destroys a singly-linked list by walking from head, freeing each node (size 0xc). Resets count to 0 first, then walks and frees each node, finally frees the sentinel/header node. 0x00CCEFC0 65 seh_string_dtor_wrapper game_core SEH-wrapped std::string destructor. Sets up SEH frame and calls STL_string_dtor on the parameter. 0x00CCF010 68 seh_string_dtor_wrapper_00ccf010 game_core SEH-wrapped std::string destructor variant. Sets up SEH frame and calls STL_string_dtor. 0x00CCF060 86 seh_two_string_dtor game_core SEH exception cleanup handler that destructs two std::string objects. Calls STL_string_dtor twice under SEH protection. 0x00CCF0C0 86 std__unordered_map_clear_00ccf0c0 stl Clears an unordered_map. If element count is non-zero, either erases elements one by one (if count < capacity/8) via FUN_00cef030, or rebuilds the bucket array via FUN_00cef2e0 and fill (if many elements). Handles load factor optimization. 0x00CCF140 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00CCF1A0 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00CCF200 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00CCF260 83 operator++ stl STL red-black tree iterator prefix increment (operator++). Advances to the in-order successor by traversing right subtree or walking up to parent. 0x00CCF2C0 93 CEffectPlayer__scalar_deleting_dtor_00ccf2c0 effect Scalar deleting destructor for CEffectPlayer (size 0x160). Calls FUN_00ca8c40 (actual dtor), then frees memory if param_2 & 1. 0x00CCF320 38 CEffect3DPlayer__scalar_deleting_dtor effect Scalar deleting destructor for CEffect3DPlayer (size 0x670). Calls CEffect3DPlayer__dtor, then frees memory if param_2 & 1. 0x00CCF350 97 CEffect3DTextWidget__scalar_deleting_dtor effect Scalar deleting destructor for CEffect3DTextWidget (size 0x30). Sets vtable to CEffect3DTextWidget then base class, frees if param_2 & 1. 0x00CCF3C0 93 CEffectBillboard__scalar_deleting_dtor effect Scalar deleting destructor for CEffectBillboard (size 0x1b8). Calls FUN_00e4a9b0 (billboard dtor), then frees memory if param_2 & 1. 0x00CCF420 93 CEffectItemDisplay__scalar_deleting_dtor effect Scalar deleting destructor for a UIItemDisplayWidget-based effect (size 0xc4). Calls UIItemDisplayWidget scalar dtor, then frees if param_2 & 1. 0x00CCF480 170 CEffect3DPlayer__list_push_back effect Pushes an integer value onto a linked list at offset +0x1a4 of CEffect3DPlayer. Allocates 0xc-byte node, stores value at node+8, links before sentinel's next. Increments count at +0x1a8. Throws if count reaches 0x15555555 (list too long). 0x00CCF530 111 check_weight_overload_warning game_core Checks if the player's weight exceeds 90% of max weight. Computes (weight * 100) / max_weight and checks if > 89. If over limit and param_1 is true, displays a chat message (message ID 0x133 = overweight warning). Returns 1 if overweight, 0 otherwise. 0x00CCF5A0 223 CEffect3DPlayer__send_pending_skill_packets effect Iterates through 6 skill slots (offsets +0x5ed..+0x5f2) and sends pending skill use packets. Maps slot index to skill sub-type: 0->0xd, 1->0xe, 2->0x12, 3->0x10, 4->0xf, 5->0x11. Packet ID 0xbb. Only sends if not in cutscene mode (offset +0x250 == 0). Decrements pending count per slot after send. 0x00CCF680 106 CEffect3DPlayer__handle_navigator_packet effect Handles navigator/NPC-related custom packet opcodes 900-0x392 for CEffect3DPlayer. 900/0x391: updates window with adjusted sub-type (0x29->0xb9, skips 0xae). 0x385: skill action. 0x386: applies children text. 0x387: stores value at +0x44. 0x388: parses two strings + 4 ints. 0x389: vtable method 0x18 x2. 0x38a: parses two strings. 0x38b: processes by sub-type 0x29/0xae. 0x38c: notifies window 0xcb. 0x38d: creates window. 0x38e: navigation request. 0x38f: NPC list from buffer. 0x390: destination from map coords. 0x392: close window. 0x00CCFBD0 63 find_path_wrapper game_core Wrapper for pathfinding. Returns 0 if param_7 (output path) is null. Otherwise calls CPathFinder__find_path_astar with max distance 0x96, max nodes 0xf, current timestamp, and source/destination coordinates. 0x00CCFC10 206 find_path_with_temp_buffer game_core Creates a temporary path buffer (local vector), calls CPathFinder__find_path_astar with max distance 0x96 and max nodes 0xf. Cleans up the temp buffer after pathfinding. Returns the pathfinding result. 0x00CCFCF0 124 CEffect3DPlayer__remove_and_dispatch_tree_entry effect Searches the tree at offset +0x65 for an entry with key matching param_2 (uint comparison). If found and key <= param_2 (and not sentinel), dispatches event 0x8c via vtable method 0x18 with the string value from param_3 and the tree node value. Then erases the node from tree and frees it (size 0x18). 0x00CCFD70 409 CEffect3DPlayer__update_entity_hp_tracking effect Updates HP tracking state for an entity. If game option 0x128 is enabled: checks if entity HP percentage (DAT_01733684) is below 101 and not already in hashmap. If entity is in tracking hashmap and matches current state, toggles hashmap entry and shows UI notification. If HP crosses above 99% threshold, removes entity from the unordered_map (FNV-1a hash of entity ID) by unlinking the node. 0x00CCFF10 132 backup_chat_log_file game_core Creates a backup of the chat log file. Checks if chat logging is enabled (DAT_01737b8c), gets file type 7, formats the filename from a global string at DAT_0135f6e8, appends ".bak" suffix, and closes the file handle. 0x00CCFFA0 346 CEffect3DPlayer__find_walkable_cell_nearby effect Tries to move destination (param_4/5) toward target (param_2/3) by 1 cell. Checks if the resulting cell is walkable using the ground map tile data (offset +0xcc->+0x30, tile types 1 and 5 are unwalkable). If not walkable, tries 8 adjacent cells from a direction lookup table. Returns once a walkable cell is found. 0x00CD0100 65 step_position_toward_target game_core Steps param_3 and param_4 position values toward param_1 and param_2 targets by param_5 increment per call. Used for smooth position interpolation. 0x00CD0150 428 CEffect3DPlayer__find_walkable_cell_projected effect Projects a position from source (param_4/5) toward destination (param_2/3) by param_8*5 units along the normalized direction vector. Converts to cell coordinates via FUN_00cd5230, then checks walkability. If not walkable, tries 8 adjacent cells from direction table. Same tile check as find_walkable_cell_nearby. 0x00CD0300 92 CEffect3DPlayer__erase_tree_entry_by_key effect Searches the tree at offset +0x1c4 for node with key matching param_2. If found, erases the node from the tree and frees it (size 0x28). Tree key comparison is unsigned int at node offset +0x10. 0x00CD0360 30 CEffect3DPlayer__check_target_entity_id effect Checks if the entity at offset +0x2d8 differs from param_2. Returns 1 if target entity ID is non-zero and != param_2, otherwise 0. Used to verify if the current target has changed. 0x00CD0380 1203 CEffect3DPlayer__render_all_markers_on_minimap effect Renders all map markers on the minimap. Iterates trees at +0x1b4, +0x1bc, +0x1f0 to render different marker types. For +0x1b4 (always rendered): calls FUN_00cd2be0 with type 2. For +0x1bc: only renders if not already in +0x1b4 tree. For +0x1f0: renders with type 4 including text and position data. Also renders search store marker from global DAT_01738220/01738224 with "basic_interface\\search_store_bm" texture. 0x00CD0840 343 CEffect3DPlayer__update_blinking_markers effect Updates blinking markers stored in tree at +0x1c4. First pass: removes expired markers (timeout after 15000ms if flag at node+7 is 0). Second pass: renders surviving markers with 500ms blink interval (renders only in first half of each second cycle). Uses timeGetTime for timing. Renders via FUN_00cd2be0 with type 1. 0x00CD09A0 390 CEffect3DPlayer__render_cursor_or_sprite effect Renders cursor or sprite action at the registered window position (DAT_01319ea4/a8). If action state at +0x308 is non-zero and no loading screen: For state 0x1d, updates registered window position. For state with resource path at +0x32c (+0x33c nonzero), loads .act and .spr files via CResourceMgr, renders sprite frame. Otherwise resets network state. 0x00CD0B30 340 CEffect3DPlayer__update_tooltip_display effect Updates and displays tooltip/info window at +0x41c. For tooltip types 0-4: creates or reuses window (type 0x4e), positions based on tooltip type (0: top-center, 1: top-center at screen top, 2: top-center at screen bottom-200, 3/4: centered). Updates text from string at +0x420, compares with cached value at DAT_0171f118. For types >=10 or -1, calls FUN_00cd1690 for alternative display. 0x00CD0DD0 1663 CEffect3DPlayer__render_minimap_overlay effect Renders the full minimap overlay when DAT_01457840 is set. Calculates viewport bounds from camera and screen dimensions. Renders minimap background texture, player arrow (map\\map_arrow.bmp). Iterates tree at DAT_01738260 to render/cull map pins (decrements lifetime, removes expired). Renders boss monster marker if +0x5cc flag is set (map\\bossmonster.bmp). Renders town/warp markers from +0x68 string data. Calls render_all_markers_on_minimap and update_blinking_markers for marker layers. 0x00CD1450 570 render_ground_marker_quad game_render Renders a textured quad marker on the ground at world position (param_1, param_2) with radius param_3 and color param_4. Grows the render pipeline deque if needed, sets up 4 vertices in a diamond/triangle pattern around center, applies perspective correction, and enqueues into the render pipeline with blend mode 0x201. 0x00CD1690 1430 CEffect3DPlayer__update_advanced_tooltip effect Handles advanced tooltip display modes (types 10-14 and -1/11). For type -1 with no text: closes all windows in the tooltip string tree at +0x5dc. For type -1 with text: removes matching entry from tree. For types 10-14: creates numbered windows (0xd8+), manages tooltip tree entries, positions windows by type (10: centered, 12: top-left, 13: top-center, 14: top-right, -1/11: restore windows). Compares text with DAT_0171f118 cache to avoid redundant updates. 0x00CD1C50 651 CEffect3DPlayer__render_map_coordinates_hud effect Renders the current map coordinates as sprite-based digits on the HUD. Gets X/Y from map object (offsets +0x494/+0x498). Loads number sprites from resource paths. Decomposes coordinates into individual digits (up to 4 digits, capped at 9999). Renders X coordinates with a ':' separator, then Y coordinates, positioned at bottom-right of screen. 0x00CD1EE0 1356 CEffect3DPlayer__render_timer_display effect Renders an elapsed timer display on screen. Computes elapsed time from DAT_01732de0 in days:hours:minutes:seconds format. Loads encrypted number sprite resource paths (XOR decrypted on first use). Renders digits centered at top of screen with ':' separators between time components. Also renders a loading animation if < 3 seconds elapsed. 0x00CD2430 1303 CEffect3DPlayer__render_countdown_timer effect Renders a countdown or count-up timer with multiple modes. Mode 0: count up with 5s auto-stop. Mode 1: elapsed since param_2 timestamp. Mode 2: remaining until param_2 timestamp. Mode 3: frame-based countdown (DAT_01732ddc/30). Uses same encrypted sprite resources as render_timer_display. Breaks time into d:h:m:s digits and renders centered at top of screen. 0x00CD2960 167 render_skill_loading_animation game_render Renders a skill loading animation sprite at center-top of screen. Loads sprite from resource paths at 011a0d28/011a0d40. Advances frame counter (DAT_017203f0) divided by 3. Only renders if current frame index is less than total sprite frame count. 0x00CD2A10 458 CEffect3DPlayer__render_combo_counter effect Renders a combo hit counter near the player character. Only renders if +0x408 is set and +0x414 (combo count) is nonzero. Caches digit decomposition in globals DAT_0135f708..714. Loads number sprites from 011a0d08/011a0d18. Renders digits at an offset from screen position (DAT_01319ea4/a8 + member offsets at +0x30/+0x34) with scale 2.0 and semi-transparent color. 0x00CD2BE0 2074 CEffect3DPlayer__render_minimap_marker effect Renders a single marker on the minimap at cell coordinates (param_3, param_4). Converts cell coords to minimap screen space using map dimensions and viewport bounds. Supports 7 render types: 0=textured marker, 1=ground highlight pair, 2=outlined dot, 3=large outlined rect, 4=textured with shadow offset, 5=textured with arrow tracking, 6=window notification + optional texture. Clamps markers to minimap bounds with edge indicators for off-screen targets. 0x00CD3400 74 CEffect3DPlayer__find_tree_value_by_key effect Searches the tree at offset +0x1ac for a node with key matching param_2 (uint). Returns the value at node offset +0x14 if found, 0 otherwise. Standard BST lookup. 0x00CD3450 32 broadcast_tree_strings_via_send game_core Broadcasts all string entries from a global tree (DAT_01389940 + 0x18) using std__tree_inorder_traverse_and_send with opcode 0x12. 0x00CD3470 93 seh_insert_string_wrapper game_core SEH-wrapped call to SpriteAction__insert_and_copy_string. Sets up SEH frame and delegates. 0x00CD34D0 139 get_entity_name_color game_core Determines the name display color for an entity based on its ID. Returns 0xffff (yellow) for party/guild members (via is_value_in_vector_b). Returns 0xf7b895 for entities passing can_entity_be_targeted. For entities in monster range (1001-3998) or pet range (20021-22991), returns 0xc3c3ff (light blue). For all others (players, NPCs outside those ranges), returns 0xffffff (white). 0x00CD3560 15 thunk_SpriteAction__serialize_tree_to_buffer game_core Thunk to SpriteAction__serialize_tree_to_buffer. Direct tail call. 0x00CD3570 15 thunk_SpriteAction__lookup_or_create_cached game_core Thunk to SpriteAction__lookup_or_create_cached. Direct tail call. 0x00CD3580 18 CGameMode__get_string_8104 game_core Returns pointer to the std::string buffer at offset +0x8104 in the game mode object. Handles SSO: returns direct pointer if capacity <= 0xf, otherwise dereferences the heap pointer. 0x00CD35A0 18 CGameMode__get_string_80ec game_core Returns pointer to the std::string buffer at offset +0x80ec in the game mode object. Handles SSO: returns direct pointer if capacity <= 0xf, otherwise dereferences the heap pointer. 0x00CD35C0 84 CEffect3DPlayer__get_tile_type_at effect Returns the tile type at cell coordinates (param_2, param_3). Accesses the ground map via offset +0xcc->+0x30. Validates coordinates are within map bounds (0 to width/height). Returns tile property at offset +0x10 within the 0x14-byte tile structure. Returns 1 (unwalkable) if out of bounds or tile data is null. 0x00CD3620 179 CEffect3DPlayer__cell_to_world_coords effect Converts cell coordinates (param_2, param_3) with sub-cell offset (param_4, param_5) to world coordinates (param_6, param_7). Uses map tile size from offset +0xcc->+0x30->+0x118 and map dimensions. Formula: world = (cell - mapDim * 0.5) * tileSize + subcell * tileSize * DAT_01116ea4. 0x00CD36E0 158 CEffect3DPlayer__cell_to_world_position effect Converts cell coordinates to world position using a fixed sub-cell offset from DAT_010e22d8. Simpler than cell_to_world_coords which takes explicit sub-cell parameters. Accesses map tile size via +0xcc->+0x30->+0x118 and map dimensions at +0x110/+0x114. 0x00CD3780 680 CPathfinder__find_nearest_walkable_cell pathfinding Finds the nearest walkable cell along the line from player position to target. Uses Bresenham-like line traversal, checking 9 offsets around each cell (from a direction table). For each candidate cell, validates it's within map bounds, checks cell type (not 1 or 5), and verifies accessibility via FUN_00cd74b0. When found, verifies path exists with find_path_with_temp_buffer. Returns 1 on success with updated coordinates. 0x00CD3A30 219 CEntity__get_display_name_for_state game_entity Returns entity's display name based on current state. If state is 2 (walking) or 0x18, retrieves name from state data at offset 0x31c. Otherwise returns the string at offset 0x344 if it exists, or NULL. 0x00CD3B10 888 CEmblem__load_emblem_from_cache game_core Loads a guild/party emblem from the temporary cache directory. Searches the emblem name list for a match, if not found opens the file from tmpEmblem directory, reads header (size + name) and bitmap data into the output buffer. Adds successfully loaded emblems to the name cache. 0x00CD3E90 459 CEntity__serialize_entity_data_short game_entity Serializes entity data into a short (0x3f byte) packet buffer. Packs entity ID, job ID, direction, head direction, shield, weapon type, hair style/color, body part info, equipment IDs, name string. Used for entity spawn/appearance packets for non-moving entities. 0x00CD4060 382 CGameMode__pick_cell_from_mouse game_core Picks the map cell under the mouse cursor. Computes a screen ray from mouse position, queries the quadtree for candidate cells, raycasts against terrain height for each cell to find the closest hit. Returns true if a valid cell was found, with coordinates in param_2/param_3. 0x00CD41E0 1550 CEntity__serialize_entity_spawn_packet game_entity Serializes entity data into a spawn packet buffer. For walking entities (state 1), creates packet 0x856 (0x4b bytes) with position interpolation from timeGetTime. For non-walking entities, creates packet 0x857 (0x45 bytes). Packs entity ID, job, equipment, stats, position (with sub-cell precision), direction, name string, and optional extended data (HP/body info). 0x00CD47F0 1616 CEntity__serialize_entity_move_packet game_entity Serializes entity data into a move/update packet with custom packet ID (param_3). For walking entities, creates larger packet (0x5a bytes) with interpolated position and weapon range data. For non-walking entities, creates 0x54 byte packet. Includes all equipment, stats, position (with sub-cell precision), direction, name, and optional extended data. 0x00CD4E40 595 CCharName__get_or_create_thread_local_name game_core Gets or creates a thread-local character name entry. Uses a global red-black tree keyed by thread handle. On first call per thread, initializes the global tree with atexit cleanup. Strips the '@' suffix and 3 chars before it from the name (guild/party tag removal), then formats the cleaned name into a 16-char buffer on the tree node. 0x00CD50A0 395 CGameMode__world_to_cell_with_subcell game_core Converts world coordinates (float) to cell coordinates (int) with sub-cell precision. Divides by cell size, adds map half-width/height offset, floors to get integer cell. Also computes sub-cell position (0-15 range) for fine-grained positioning within a cell. 0x00CD5230 181 CGameMode__world_to_cell game_core Converts world coordinates (float) to cell coordinates (int). Divides by cell size, adds half map dimension offset, floors result. Simpler version of world_to_cell_with_subcell without sub-cell precision output. 0x00CD52F0 467 CSkill__get_total_attack_range game_skills Calculates total attack range for a skill. If skill ID is 10000, returns 5 (special case). Otherwise looks up skill info, gets base range from skill entry, then calls Lua function "GetSkillAttackRange" to get bonus range, and subtracts the delta between base and Lua-returned range. Returns final computed range. 0x00CD54D0 27 CEffect3DPlayer__get_map_height_cells effect Returns the map height in cells. Reads from the map object chain via offset +0xcc->+0x30->+0x114. Previously misnamed as get_map_x_dimension. 0x00CD54F0 27 CEffect3DPlayer__get_map_width_cells effect Returns the map width in cells. Reads from the map object chain via offset +0xcc->+0x30->+0x110. Previously misnamed as get_map_y_dimension. 0x00CD5510 51 CGameMode__get_player_cell_position game_core Gets the local player's current cell coordinates by reading world position from the map object (offsets +0x10, +0x18) and converting to cell coords via CGameMode__world_to_cell. Output is integer cell X/Y, not world floats. 0x00CD5550 547 CEntity__get_location_string game_entity Builds a "Location: mapname (x, y)" string for the entity. Gets player position, converts to cell coordinates via CGameMode__world_to_cell, truncates map name to remove extension (last 4 chars), formats into output string param_2. 0x00CD5780 119 CEntityMap__contains_entity_id game_entity Checks if an entity ID exists in the entity hash map at offset 0x62c. Uses FNV-1a hash on the 4 bytes of the ID. Returns true if found, false otherwise. 0x00CD5800 164 CSkill__has_skill_description game_skills Checks if a skill has a valid description. Calls FUN_00ddd4e0 to look up skill description data; returns 1 if the description exists (non-null and has content), 0 otherwise. 0x00CD58B0 537 CGameMode__check_navigation_quest_available game_core Checks if navigation/quest system is available. Verifies no active instances at mode offsets 0x48/0x4c/0x54. Then tries multiple quest data IDs (0x1dc5, 0x1ab1, 0x18ac, 0x1895, 0x62de) in sequence until finding one with valid data. Returns 1 if any quest data found, 0 otherwise. 0x00CD5AD0 512 CGameMode__render_mouse_cursor_effects game_core Renders visual effects at the mouse cursor position. Computes screen ray from cursor, queries quadtree for visible cells. For each cell's objects, calls their render method with the cursor ray data. If entity has special rendering enabled (offset 0x116), also renders terrain overlay effects with height-adjusted parameters. 0x00CD5CD0 56 CGameMode__notify_minimap_mark game_core Sends a minimap mark notification. If the minimap object at offset 0xd4 exists, dispatches message type 2 with param_2 as the mark ID through the object's virtual method. 0x00CD5D10 373 CGameMode__read_name_balloon_registry game_core Reads the NameBaloon registry setting from Windows registry. Constructs the registry path from the global server name, opens HKEY_LOCAL_MACHINE key, reads the DWORD value, and sets game option 0x5c (name balloon display) based on the registry value. 0x00CD5E90 3621 CGameMode__initialize_map_session game_core Major initialization function when entering a new map. Clears all entity trees, effect lists, quadtree nodes. Rebuilds UI layout, initializes pathfinder, resets all game state counters/flags/timers. Reads NameBaloon registry setting. Handles map-specific features (Christmas map snow, Comodo night effects). Initializes Lua state for map scripts. Sends network keepalive, applies anti-cheat policy. Creates scheduled events for periodic updates. 0x00CD6CC0 261 CGameMode__create_periodic_timer_events game_core Creates two periodic timer events for the game session. First event fires every 60 seconds (60000ms, type 2). Second event fires every 5 seconds (5000ms, type 1) with an incrementing ID. Both are registered with CUIEventManager for periodic callbacks. 0x00CD6DD0 108 CGameMode__clear_all_entity_status_effects game_core Clears status effects and resets idle animation for the local entity, then optionally (if param_2==0) iterates all entities in the entity list and clears status effects for any entity that has an active status flag at offset 0x2b4. 0x00CD6E40 81 CGameMode__refresh_entity_grid_display game_core Refreshes the entity grid/minimap display. Calls the virtual reset method on the entity tracker at offset 0x2b4, sends event type 6/0x22 to the global UI handler, and sends grid window update with current map ID and coordinates. 0x00CD6EA0 93 CGameMode__is_cell_unwalkable game_core Checks if a map cell is unwalkable. Returns 0 if the cell is within bounds, has valid data, is not type 5 (water), and IS type 1 (wall/unwalkable). Returns 1 for walkable cells or out-of-bounds coordinates. 0x00CD6F00 630 CPathfinder__check_line_of_sight pathfinding Checks line of sight between two cell positions using Bresenham line algorithm. Traverses cells from (param_2,param_3) to (param_4,param_5), checking each cell type. Returns 0 if blocked by type 1 (wall) cells. If param_6 is set, also blocks on out-of-bounds or non-walkable cells. Returns 1 if the path is clear. 0x00CD7180 315 CSkill__check_skill_target_action_override game_skills Checks if a specific skill (param_1) with a given action type (param_2) should override normal targeting. Returns true for specific skill+action combinations: skill 8 with action 6/9, skill 0x16/0xa0 with action 4/5, skill 0x21 with action 9/1, skill 0x29 with action 0xb, etc. Used to determine if skills need special handling during targeting. 0x00CD73B0 55 check_chebyshev_distance_within_range game_core Checks if two positions are within Chebyshev distance (L-infinity / max norm) range. Returns 1 if both \|x1-x2\| <= range AND \|y1-y2\| <= range, i.e. the target is within a square area. This is NOT Manhattan distance (which would sum the axes). Used for attack/skill range checks in RO's tile-based system. 0x00CD73F0 93 CGameMode__is_cell_walkable game_core Checks if a map cell is walkable. Returns 1 if the cell is within bounds, has valid data, cell type is not 1 (wall) and not 5 (water/unwalkable). Returns 0 for walls, water, or out-of-bounds coordinates. 0x00CD7450 93 CGameMode__is_cell_blocked game_core Checks if a map cell is blocked. Returns 1 if the cell is unwalkable (type 1 or 5) or out of bounds, 0 if walkable. Inverse logic of is_cell_walkable. 0x00CD74B0 169 CGameMode__is_cell_occupied_by_entity game_core Checks if a map cell is occupied by a collidable entity. Iterates the entity tree at offset 0x19c, looking for entities at cell (param_2, param_3). If found, checks if the entity is a non-passable type via FUN_00df9710. Returns 1 if occupied by a blocking entity, 0 otherwise. 0x00CD7560 41 CEffect3DPlayer__list_contains_value effect Iterates the linked list at offset +0x1a4, checking if any entry has element[2] matching param_2. Returns 1 if found, 0 otherwise. Used as a membership test for entity/effect IDs in the list. 0x00CD7590 30 CEffect3DPlayer__check_special_id_pair effect Checks if param_1 == 0x45 and param_2 == 10000 (a hardcoded special case). Returns 1 if both match, 0 otherwise. Not a tile data accessor despite original name. 0x00CD75B0 238 CGameMode__can_move_to_cell game_core Checks if the player can move to the target cell (param_2, param_3). Validates bounds, checks the cell's walkability type (must not be 1=unwalkable or 5=cliff), ensures it's not the current cell, then attempts pathfinding and checks for entity occupancy. Returns 1 if the cell is reachable and unoccupied. 0x00CD76A0 200 CGameMode__create_linked_skill_effect game_core Creates a skill visual effect linked between a source and target entity. Looks up the effect by ID, creates it via CEffectManager with source/target entity references. For effect ID 0x21B, also creates a secondary effect (0x3D4). Sets optional duration parameter. Returns 1 on success. 0x00CD7768 46 CEffect3DPlayer__create_skill_effect_at effect Creates a skill visual effect at a position by delegating to CEntity__create_skill_effect. Called from FUN_00cd76a0 for effect spawning. 0x00CD7800 2013 CGameMode__setup_entity_sprite_and_nameplate game_core Sets up the complete visual representation for an entity: loads sprite action data, applies the sprite path/name, handles dead/sitting state variations, sets up the nameplate with proper coloring based on entity type (player/monster/NPC), level difference, and party membership. Handles special job IDs and guild titles. Applies name color based on PK mode and level range. 0x00CD8000 180 CGameMode__create_effect_at_position game_core Creates a visual effect at a given position. Allocates a 0x170-byte effect object via FUN_00e4a1a0, adds it to a vector, then calls its virtual init method with the position, entity reference, and optional parameters. 0x00CD80C0 173 CGameMode__create_ground_effect game_core Creates a ground-level visual effect. Allocates a 0x170-byte effect object, adds it to the effect vector, then calls its init with type 0x40 (ground effect) and position parameters. 0x00CD8170 1027 CGameMode__setup_secondary_entity_sprite game_core Sets up the secondary sprite (offset 0x2B0, e.g., homunculus/pet) for an entity. Similar to setup_entity_sprite_and_nameplate but uses the secondary sprite slot. Loads sprite action data, handles dead/sitting states, sets nameplate with entity name color. Used for entities that have a secondary visual representation. 0x00CD8580 201 CGameMode__create_3d_effect game_core Creates a 3D visual effect at a given position. Allocates a 0x138-byte effect object via FUN_00da0de0, adds it to the effect vector, then initializes it with type 0xE and the 3D position coordinates. 0x00CD8650 214 CGameMode__init_chat_log_file game_core Initializes the chat log file path. Creates a Chat directory if needed, then finds the next available Chat_NNN.txt filename by incrementing the counter until _access fails (file doesn't exist). Stores the path globally for later chat logging. 0x00CD8740 212 CGameMode__create_sprite_effect game_core Creates a sprite-based visual effect. Allocates a 0x140-byte object via FUN_00da1190, adds to the effect vector, sets position, loads act and texture resources, and configures animation properties (speed, type, frame). Returns the created effect object. 0x00CD8820 297 CGameMode__create_entity_chat_bubble game_core Creates a chat bubble widget for an entity. Checks various conditions: entity must exist, have no existing bubble (offset 0x188), entity ID must not be in a filter list, and the entity must not be a specific type (GM, etc.). Allocates a checkbox-style widget, initializes it with entity ID and message, inserts it into the window list, and links it to the entity. 0x00CD8950 692 CGameMode__create_ground_skill_effect game_core Creates a ground-targeted skill effect with sprite and sound. Looks up the skill format data (act/sprite paths), allocates a 0x1B8-byte effect object, links it to the game mode's effect list, then initializes it with the position, skill type (0x16), and visual parameters. Returns the created effect object or NULL. 0x00CD8C10 204 CGameMode__apply_fog_settings game_core Applies fog/atmosphere settings for a map. Looks up fog data by map ID, parses near distance, far distance, color (hex), and density from string fields via atof/parse_hex_color_string. Enables or disables the fog renderer based on whether data was found. Writes to global fog parameters (DAT_0138965C, 01389660, 01389650, 01389658). 0x00CD8CE0 277 CGameMode__create_entity_by_job_type game_core Factory function that creates the appropriate entity object based on job type. For player-class jobs (FUN_00dfbce0), creates a CSkillUnit (0x4F8 bytes). For specific entity types (FUN_00dfa600), creates a 0x440-byte entity. For job IDs >= 0x3E9 (monsters/NPCs), creates a 0x440-byte entity. Returns NULL for unknown types. 0x00CD8E00 168 CGameMode__create_granny_model_effect game_core Creates a Granny 3D model effect. Allocates a 600-byte object, constructs it via CGrannyModel__ctor, sets the 3D position (offsets 0x10-0x18) and an extra parameter (0x144), then adds it to the effect vector. 0x00CD8EB0 126 CGameMode__create_cursor_effect game_core Creates a cursor effect object (0x140 bytes). Stores the cursor pointer at offset 0xD4 of the game mode and adds it to the effect vector. 0x00CD8F30 172 CGameMode__create_particle_effect game_core Creates a particle effect object (0x140 bytes). Allocates via FUN_00e4a4d0, adds to the effect vector, then initializes with type 0xE and position/param parameters. 0x00CD8FE0 4877 CGameMode__show_entity_right_click_menu game_core Shows the right-click context menu for an entity. Handles multiple entity types (player, NPC, pet, homunculus, mercenary). Builds menu items like Trade, Party, Guild, Friend, Duel, etc. based on entity type and current game state. Checks various conditions like PK mode, guild membership, party status, and level restrictions. For NPCs, shows quest-related options. Includes C-code disassembly path for pets/homunculi/mercenaries. 0x00CDA2F0 648 CGameMode__create_sprite_effect_from_global_path game_core Creates a sprite effect using the global sprite path. Formats .spr and .act paths from a global string (DAT_0173a724), allocates a 0x1B8-byte effect object, initializes it with skill type 0x16 and the sprite data, then sets additional properties. Returns the created effect object. 0x00CDA580 4718 CGameMode__create_cursor_by_type game_core Factory function that creates a cursor/pointer effect by type ID (0-0x46). Maps cursor type IDs to sprite/act file paths and animation frames. Handles many cursor types including standard arrow, attack, skill targeting, NPC interaction, trade, warp, etc. Some types load sprites from string tables, others use hardcoded paths. Creates either a standard or billboard effect depending on the type. 0x00CDB910 510 CGameMode__set_target_entity_and_update_display game_core Sets the targeted entity (offset 0x2D8) and updates its visual display. If the target is the same or new, looks up the entity by ID. For the player character, updates the sprite. For NPCs, loads their sprite and sets the nameplate color to 0x95EFFF. For player entities, checks GM status. If the target changed from a previous target, marks as pending update (0x2C4=1). 0x00CDBB10 195 CGameMode__ensure_nameplate_widget game_core Ensures a nameplate widget exists at the given pointer. If the widget is null, creates a UIHyperlinkTextWidget (0xC0 bytes), either standard or hyperlink-enabled based on game option 0x5C. Sets its size to 8x8 and inserts it into the window list. 0x00CDBC30 88 CGameMode__create_mob_projectile_effect game_core Creates a mob projectile visual effect (effect ID 0x964). Passes source position and target entity ID to CEffectManager, then configures the projectile's texture and bullet appearance via CEffectMobProjectile__set_bullet_textures. 0x00CDBC90 540 CGameMode__create_damage_number_effect game_core Creates floating damage number effects. Clamps the damage value to 0-9999, splits it into individual digits, then creates one FUN_00da1db0 effect object per digit. Each digit gets positioned with an 8-pixel offset from the next. Links effects to the game mode's effect list and initializes with position, digit value, and skill type parameters. 0x00CDBEB0 3513 CGameMode__dispatch_skill_visual_effect game_core Massive dispatch function that maps skill IDs to visual effect IDs and plays associated sound effects. Contains a huge switch/case mapping hundreds of skill IDs (0x1F5-0x19605+) to effect IDs (0x26-0x982). Plays various sound effects (heal, blessing, storm, explosion, etc.) via CAntiCheat__full_sweep. Some skills remove existing effects before creating new ones. Handles 4th job skills, elemental skills, and special effects. Also handles a secondary effect ID (local_224) for skills that need two simultaneous effects. 0x00CDD240 265 CGameMode__create_entity_dialog_bubble game_core Creates a dialog widget for an entity (offset 0x18C). Similar to chat bubble but uses UIDialogWithStrings (0xD8 bytes). Checks various filter conditions before creating. Inserts the widget into the window list at back. 0x00CDD350 67 CGameMode__configure_nameplate_hyperlink game_core Configures the nameplate widget's hyperlink behavior. Checks if option 0x5C (hyperlink names) is enabled and if the entity has a guild (offset 0xA8). Dispatches to one of two configuration functions based on the result. 0x00CDD6B0 223 CGameMode__create_entity_by_sprite_type game_core Factory that creates the correct entity object based on job/sprite type. For player classes (FUN_00dfbce0), creates a CUIFrameBase (0x448 bytes). For sprites with Granny 3D models (strstr for model marker), creates a CGrannyEntity (0xDC8 bytes). For all others, creates a standard entity (0x440 bytes). Returns the created object or NULL. 0x00CDD7A0 679 CGameMode__cleanup_on_map_change game_core Performs cleanup when changing maps or disconnecting. Deactivates UI events, resets entity state, unloads the current map and releases resources (sprites, textures, effects). Saves shortcut items and nameplate settings to the registry. Saves camera positions, backs up chat log if enabled, clears all visual effects, and resets various subsystems. 0x00CDDA50 5010 CGameMode__on_map_change_init game_core Game mode map change initialization. Deserializes save data, status, equipment, hotkeys, quest data, party/guild data. Initializes map session, rebuilds window layout, loads BGM/models, creates data tables, timers. Massive init function called on map load/change. 0x00CDEDF0 145 CGameMode__handle_npc_proximity_event game_core Handles the NPC proximity check event. Updates the entity's position, then checks if the NPC dialog has timed out (60 seconds) or needs a keepalive packet (every 10 seconds). If timed out, resets the NPC state and opens a system message. If keepalive needed, sends packet 0xB1C. 0x00CDEE90 97 CGameMode__prompt_return_to_char_select game_core Shows a confirmation dialog to return to character select. Only triggers if param_2==0 and field 0x18==0, and no pending actions. Shows message text ID 1 in a 0x118x0x78 dialog box, then changes game state to 2 (char select). 0x00CDEF00 736 CGameMode__main_loop game_core Main game loop that runs continuously while the game state is active. Processes the game mode transition queue, checks for quit requests (with hash file integrity check and encrypted error message display), calls the game mode's update virtual method, and sleeps 1ms per iteration. If the game is exiting, calls CGameMode__on_quit and displays integrity check results. 0x00CDF1E0 2068 CGameMode__update_frame game_core Main per-frame update for the game mode. Handles: effect map timer updates, UI events, sprite action processing, network packets, auto-follow target movement, ambient sound playback with distance attenuation, anti-cheat verification (import checks, memory hashing, heartbeat), resource flushing, entity/effect updates, and rendering the full frame (quad tree, map, UI windows, tooltips, minimap coordinates, timers, cursor, combo counter, screen fade, overlays). Also processes keyboard shortcut actions (emotion/emote packets). 0x00CDFA00 234 CGameMode__create_effect_player game_core Creates an effect player object (0x160 bytes) with CSprite base and CEffectPlayer vtable. Initializes it with type 0xE and position/parameter data, adds it to the effect vector, and returns its 8-byte position data. 0x00CDFB00 311 CGameMode__use_skill_on_target game_core Sends a skill use request to the server. Checks weight limit (>89% shows a warning message 0x133). Depending on the attack mode (field 0x408): mode 0 sends a standard skill use (type 10), modes 2/4 send a ground-targeted skill use (type 0x29) with skill level and additional position data (type 0x5A). 0x00CDFC40 462 CGameMode__handle_attack_click_on_entity game_core Handles an attack click on an entity. Checks various conditions: attack lock state, auto-attack settings, shift key state, skill targeting mode (ground vs single target). Validates the target entity against WoE/PvP conditions and player type. If valid, sends the appropriate skill/attack command to the server. Ctrl+click toggles continuous attack mode. 0x00CDFE10 607 CGameMode__process_click_action game_core Processes a mouse click action on the game world. Handles state transitions: checks for vending window, determines if click was on an entity or ground, manages auto-follow, processes NPC interactions (type 3 = NPC, type 4 = warp). Dispatches to appropriate handlers (FUN_00ce2880 for entity actions, FUN_00ce18a0/FUN_00ce3d30 for ground actions). Returns the resulting action code. 0x00CE0070 411 CGameMode__update_auto_follow_target game_core Updates the auto-follow system to track a target entity. Checks if the target still exists (times out after 10 seconds if lost). Every 1 second, gets the target's cell position and sends a move or attack command. If not in combat mode, pathfinds to the target's position; otherwise, sends a direct follow command. 0x00CE0210 2415 CGameMode__handle_ground_click game_core Handles ground/cell click events in game mode. Processes: skill area targeting (type 0x11E window, packet 0xa6c), item placement on cells, guild/party map flag placement (Alt+click/Shift+Alt+click on minimap), skill casting on ground (homunculus/mercenary/elemental skills), pathfinding and movement (sends walk packet 0x11). Checks walkability, occupied cells, and validates cell coordinates before acting. 0x00CE0B80 1157 CGameMode__process_mouse_frame game_core Main per-frame mouse processing in game mode. Handles: crash report writing, UI mouse input processing, window rendering, tooltip auto-hide, camera control, entity right-click menus, cursor state changes, pathfinding requests, movement clicks, skill targeting, mouse cursor effect rendering. Updates mouse position tracking and checks cell walkability for cursor icon changes. 0x00CE1010 2177 CGameMode__update_target_nameplate game_core Updates the target entity nameplate display. Looks up target entity either by stored target ID (param_1[0x3d]) or by global DAT_0171f114 (mouseover GID). Creates/updates the nameplate widget with entity name, determines name color based on entity type (player/NPC/monster). Handles special cases like job ID 0x4F2D and guild title display. 0x00CE18A0 1478 CGameMode__handle_entity_click game_core Handles clicking on an entity (NPC/player/monster). Determines cursor mode (attack/skill/interact), processes guild/party map flag placement via Alt+click, homunculus/mercenary skill targeting on entities, regular attack/skill use on target. Updates target entity tracking and handles auto-attack continuation based on Shift key and options. 0x00CE1E70 295 CGameMode__update_cursor_target_position game_core Updates the cursor target position for rendering a target indicator. Resets target offsets (0x30/0x34), then calculates screen-relative position from the quad tree hit result. Filters out dead entities (type 4/3), NPCs based on game settings, and certain entity types. Converts the hit bounding box center to screen coordinates relative to the camera. 0x00CE1FA0 2195 CGameMode__update_skill_name_and_cooldown_widgets game_core Updates skill name label widget and cooldown timer widget for the current target. Creates UIBaseDialogWidget instances for skill name (offset 0x2B8) and cooldown label (offset 0x2BC). Resolves skill name by ID with special handling for IDs 10000/20000/0x4E21/40000 (XOR-encrypted strings in TLS). Also manages nameplate hyperlink setup for entities at offsets 0x2AC and 0x2B0. Expires timed widget at 0x5FC after 10 seconds. 0x00CE2840 49 CGameMode__periodic_window_flush game_core Periodically flushes pending windows every 1000ms. Checks the elapsed time since last flush (stored at offset 0x1E0), and if more than 1 second has passed, calls CUIWindowMgr__flush_pending_windows and updates the timestamp. 0x00CE2880 4897 CGameMode__handle_entity_click_00ce2880 game_core Handles left-click interactions on entities in game mode. Large switch on param_2[8] (interaction type: 0=ground/entity, 1=NPC, 2=skill target, 3=cancel, 4=warp/skill). For type 0, determines cursor state and attack/follow based on entity type (player/NPC/monster), skill mode, Shift/Ctrl keys, and homunculus/mercenary targeting. Manages pet interaction, party/guild command dispatch, and auto-attack lock. 0x00CE3D30 2085 CGameMode__handle_entity_hover_interaction game_core Handles entity hover interaction (mouseover without click). Determines cursor state based on entity type, skill mode, and modifier keys (Shift/Alt). Manages homunculus/mercenary skill targeting on hover, guild/party window command dispatch, and sets game mode state (attack cursor 5/11, etc.). Also handles weight overload check on Shift+hover for item pickup. 0x00CE4570 49 CGameMode__periodic_window_flush_00ce4570 game_core Identical to CGameMode__periodic_window_flush - periodically flushes pending windows every 1000ms. Likely a duplicate for a different game mode subclass. 0x00CE45B0 244 CGameMode__play_ambient_sounds game_core Plays ambient sound effects based on timer intervals. Iterates through the ambient sound array (stride 0x24, offsets 0x1E4-0x1E8). For each sound, checks if the timer has expired, calculates distance attenuation from the player to the sound source entity, and plays the sound via CSoundMgr__play_sound_from_resource. Resets the timer after playing. 0x00CE46B0 1243 CGameMode__handle_mouse_drag_camera game_core Handles mouse drag camera rotation. Processes right-click drag to rotate camera angle, adjusts 3D listener orientation for sound, manages camera zoom limits and settings persistence. 0x00CE4B90 11711 CGameMode__dispatch_shortcut_command game_core Main shortcut/hotkey command dispatcher for CGameMode. Huge switch on param_2 (command ID). Handles: movement clicks (0/0x32), chat commands (0x12/0x13), option toggles (7/0xB/0x71/0xF3/0xA5), navigation (0xD1/0xD2), skill use (0xB6/0xB7/0xE0-0xE6), screenshot (0x68), AI trace toggle (0xA2), emotion/effect sends, and many window open/close commands. Most cases delegate to virtual dispatch via param_1 vtable offset 0x18. 0x00CE7CE0 1247 CGameMode__handle_scroll_zoom game_core Handles scroll wheel zoom and keyboard camera adjustments. Processes mouse wheel zoom (Ctrl for distance, Shift for pitch), right-click drag camera rotation with angle clamping, and camera reset via key combos. Manages indoor/outdoor camera limits, 3D sound listener orientation, and map navigation interactions. 0x00CE81C0 179 CGameMode__add_effect_to_list game_core Adds an effect object to the game mode's effect linked list (at offset 0xCC). Allocates a 0xC-byte list node, increments the count, and inserts it before the sentinel node. 0x00CE8280 245 CGameMode__parse_char_server_info_packet game_core Parses a character server information packet. Extracts two variable-length strings from the packet data (server name and display name), copies them to internal string fields. Also copies 4 dwords of server metadata (offsets 0xE-0x1A) to fields at offsets 0x3F8-0x404. 0x00CE8380 88 CGameMode__dispatch_packet_to_window game_core Dispatches a packet to its target UI window. Maps packet type 0xB8 with window type 0x29 to type 0xB9. Finds the target window by type, then calls its virtual handler (offset 0x94) with the packet data fields. 0x00CE83E0 23 CGameMode__close_window_from_packet game_core Closes a UI window specified by the packet's window type field (offset 6). Delegates to close_window_unless_type_fb. 0x00CE8400 1414 CGameMode__handle_skill_action_packet game_core Processes an incoming skill action packet. Extracts skill parameters (8 int fields + 3 string fields + additional data) from the packet buffer at param_2. Copies data to the game mode object fields at +0x308-0x3C4. Looks up the UI window for the skill type, notifies it via virtual call. Handles skill target action overrides and item description lookups for certain skill types (0x24, 0x9F, etc.). 0x00CE8990 44 CGameMode__apply_packet_text_to_window game_core Finds a UI window by type (from packet offset 6) and applies text data from the packet to it via CEffect__apply_children_text_from_packet. 0x00CE89C0 19 CGameMode__set_field_110_from_packet game_core Simple setter that stores the packet's dword at offset 6 into game mode field 0x110. 0x00CE89E0 50 CGameMode__change_state_from_packet game_core Changes the game state from a packet. Calls the virtual state change method (offset 0x18) with 4 dwords from the packet (offsets 6, 10, 14, 18), then switches to state 0x47. 0x00CE8A20 78 CGameMode__set_two_strings_from_packet game_core Extracts two null-terminated strings from the packet (at offsets 6 and 0x1F) and assigns them to internal string fields via STL_lib_func_004fa8f0. 0x00CE8A70 157 CGameMode__handle_navigation_packet game_core Handles a navigation/map string packet. Extracts a null-terminated string from offset 6 of the packet, assigns it to an internal field, then calls CNavigator__process_navigation_request to initiate navigation. 0x00CE8B10 280 CGameMode__handle_npc_list_packet game_core Handles NPC list packet. Copies data into vector, parses via CNavigator__parse_npc_list_from_buffer, updates navigator minimap markers if window exists. 0x00CE8C30 142 CGameMode__handle_navigation_destination_packet game_core Handles a navigation destination packet. Extracts a map name string from offset 6 of the packet and assigns it to an internal string, then sets the navigation destination via CNavigator__set_destination_from_map_coords. 0x00CE8CC0 89 CGameMode__dispatch_extended_packet_to_window game_core Similar to dispatch_packet_to_window but with an extra field. Maps packet type 0xB8 with window type 0x29 to 0xB9. Calls the window's virtual handler with fields from offsets 0x1A, 10, 14, 18, and 22. 0x00CE8D20 55 CGameMode__dispatch_packet_to_navigator_window game_core Dispatches a packet to the navigator window (type 0xCB). If the window type matches 0xCB and the global navigator window pointer (DAT_014a67f4) exists, calls its virtual handler with packet fields from offsets 10, 14, and 18 (with offset 18 passed as pointer). 0x00CE8D60 92 CGameMode__set_window_title_from_packet game_core Sets a window title string from a packet. If the window type (offset 6) is 0x29 or 0xAE, extracts the null-terminated title string from offset 0xE and assigns it to an internal string field. 0x00CE8DC0 23 CGameMode__open_window_from_packet game_core Opens a UI window from a packet. Passes window type from packet offset 6 to CGameObject__create_window_by_type. 0x00CE8DE0 210 CGameMode__init_map_and_cursor game_core Initializes the map environment and cursor when entering a new map. Clears all entity lists, creates and stores the map object, loads map effects, resets state, creates a cursor effect (0x140 bytes), stores it at offset 0xD4, adds it to the effect vector, and copies the player entity's position to the camera/render object at offset 0xD0. 0x00CE8EC0 77 CGameMode__remove_effect_from_list game_core Removes an effect object from the game mode's effect linked list (at offset 0x1A4). Searches the list for a node matching param_2, unlinks it from the doubly-linked list, decrements the count (0x1A8), and frees the 0xC-byte node. 0x00CE8F10 169 CGameMode__write_replay_entity_spawn_chunk game_core Writes an entity spawn event to the replay file. Only active when the effect map is in recording mode (mode 2) and replay is enabled. Packs entity spawn data (ID, position, state fields) plus full entity data (0xDE bytes) into a replay chunk and writes it via EffectMap__write_raw_effect_chunk. 0x00CE8FC0 143 CGameMode__write_replay_special_event game_core Writes a special replay event (specifically for skill ID 0x45 with level 10000) to the replay file. Only active in recording mode (mode 2). Packs a 0x16-byte event header with coordinates and writes via EffectMap__write_raw_effect_chunk. Returns 1 if written, 0 otherwise. 0x00CE9050 906 CGameMode__build_status_change_packet_list game_core Builds a list of network packets for current status changes/buffs. Creates a header packet (ID 19000/0x4A38), then iterates the global status effect array (0x1C stride at DAT_014a6938). For each active effect, creates a packet (ID 0x4A43) containing effect type, remaining time (adjusted from absolute to relative), and 5 associated values. Ends with a footer packet (ID 0x4A39). 0x00CE93E0 2499 CGameMode__build_guild_emblem_packet_list game_core Builds a list of network packets for guild emblem data. Creates packets: 0x32C8 (header, 6 bytes), 0x32CB (serialized tree data), 0x32CA (guild emblem BMP from cache), 0x32CC (guild ID, 10 bytes), 0x32CD (guild emblem version, 10 bytes). Also iterates party member list to include their guild emblems. Ends with 0x32C9 (terminator). Returns vector of packet buffers via param_2. 0x00CE9DB0 781 CGameMode__build_hotkey_sync_packets game_core Builds a list of network packets for hotkey bar synchronization. Creates header packet (ID 14000/0x36B0), then a data packet (ID 0x36BB) containing the hotkey bar data from this+0x24C (4 bytes), then a footer packet (ID 0x36B1). Returns the packet vector. 0x00CEA0C0 1090 CGameMode__build_npc_chat_sync_packets game_core Builds a packet list for NPC chat/speech bubble synchronization. Creates header packet (ID 15000/0x3A98), then iterates all active chat bubbles from the linked list at this+0xCC+0x18. For each entity, creates a packet (ID 0xCF, 0x13 bytes) containing entity ID, job type, position (world-to-cell converted), name (extracted from the last token after space), and direction. Ends with footer packet (ID 0x3A99). 0x00CEA510 4001 CNetwork__serialize_entity_data_packets network Serializes entity data into network packets for replay/save. Iterates through entity list, building sub-packets (0xD6 for type 1 entities, 0xD9 otherwise) with serialized entity data. Also serializes equipment (0xC9), player appearance (0xDA), buff/debuff timers (0xCB), pet/homunculus (0xCC), and status effects (0x191). Wraps all in packet header 10000 and terminates with 0x2711. 0x00CEB4C0 1053 CNetwork__serialize_ground_item_packets network Serializes ground item data into network packets. Iterates through ground item list, computing screen coordinates from 3D positions using map dimensions. Builds sub-packets (0xCD) with item position data (screen x/y, type info). Wraps in header 17000, terminates with 0x4269. 0x00CEB8E0 288 CGameMode__write_replay_effect_data_chunk game_core Writes effect data to replay EffectMap. Only in recording mode (mode 2). Packs name strings and effect params into chunk, writes via EffectMap__write_raw_effect_chunk. 0x00CEBA00 427 CNetwork__parse_status_change_stream network Parses status change/buff data stream (header 19000, matching build_status_change_packet_list). Iterates sub-packets: 0x4A43 extracts status effect data (type, time remaining, 5 values) and stores in global buffer (DAT_014a6938). Also calls CTimerBarMgr__add_timer for timed effects. Sets DAT_0173ad3e=1 on completion. Terminates on 0x4A39. 0x00CEBBB0 593 CNetwork__parse_guild_emblem_data_stream network Parses guild emblem data stream (header 13000, matching build_guild_emblem_packet_list). Dispatches sub-packets: 0x32CA calls CNetwork__save_emblem_to_file (emblem BMP data), 0x32CB calls SpriteAction__parse_action_data (serialized tree), 0x32CC stores guild ID in local, 0x32CD sets guild emblem version via virtual call and stores in DAT_016d44a8. Terminates on 0x32C9. 0x00CEBE20 269 CNetwork__parse_hotkey_data_stream network Parses hotkey bar data stream (header 14000, matching build_hotkey_sync_packets). Reads sub-packets and copies hotkey data (0x36BB) into object at offset 0x24C. Terminates on sub-packet type 0x36B1. Returns -1 if empty or wrong header. 0x00CEBF30 453 CNetwork__parse_npc_chat_data_stream network Parses NPC chat/speech bubble data stream (header 15000, matching build_npc_chat_sync_packets). Processes sub-packet 0xCF by allocating 19-byte buffer and calling CNetwork__recv_npc_spawn_v1 for NPC spawn setup. Terminates on 0x3A99. Returns -1 if empty or wrong header. 0x00CEC100 1174 CNetwork__dispatch_entity_subpackets network Dispatches entity sub-packets from a stream (header 10000). Large switch on sub-packet type: 0xC9=equipment, 0xCA=inventory, 0xCB=debuffs, 0xCC=pet/homunculus, 0xCD=unknown, 0xD0/D2/D4/D5/D6/D7/D8/D9=various entity data, 0xDA=player appearance with string, 0x191=status effect. Terminates on 0x2711. 0x00CEC6A0 651 CNetwork__parse_ground_item_stream network Parses ground item stream (header 17000). Processes sub-packets: 0xCD copies 16 bytes and calls FUN_00d41250 for item placement, 0xCE copies 97 bytes and calls FUN_00d40730 for detailed item data. Terminates on 0x4269. Returns -1 if empty or wrong header. 0x00CEC930 177 CEntity__reset_network_state game_entity Resets entity network/state fields to defaults. Clears multiple fields: action IDs, timers, string buffers (via STL_lib_func), status flags. Sets some fields to -1 (0xFFFFFFFF) as sentinel values. Called during entity cleanup or respawn. 0x00CEC9F0 111 rotate_point_around_pivot game_core Rotates a 2D point (param_4, param_5) around a pivot (param_2, param_3). Uses cross product and normalize for sin/cos of rotation angle. Standard 2D rotation matrix: x' = (x-cx)*cos - (y-cy)*sin + cx, y' = (y-cy)*cos + (x-cx)*sin + cy. 0x00CECAB0 72 CNetwork__send_disconnect_request network Sends a disconnect/logout request to the server. Builds packet with type 0x7D, sends via CNetworkSession__send_data_timed, then resets network receive buffer and calls stub_005e7970. Only executes if DAT_016f7144 != 1 (not already disconnecting). 0x00CECB00 15 wrapper_parse_action_data game_core Simple wrapper that calls SpriteAction__parse_action_data. Forwards all parameters unchanged. 0x00CECB10 67 CEntity__set_name_color_from_entity game_entity Sets entity name color based on another entity's info. Reads entity ID from param_2+0x110, resolves effective job ID, then calls get_entity_name_color to determine the display color. Stores the color at param_1+0x90 and clears param_1+0x94. 0x00CECB60 47 set_global_screen_offset game_core Sets global screen offset values. If param_1 != -1, stores in DAT_0171f218. If param_2 != -1, stores in DAT_0171f21c. Used for camera/viewport adjustments. 0x00CECB90 615 CCamera__initialize_view_parameters game_render Initializes camera view parameters. Copies 3D position from map object to camera at offsets 0x20-0x28 and 0x38-0x40. Parses INI file values for zoom/angle via FUN_00de3410. Handles indoor/outdoor camera modes differently. Clamps pitch (DAT_0135f448) and yaw (DAT_0135f44c) to configured min/max ranges. Applies cutscene camera overrides if flag at +0x258 is set. 0x00CECE10 30 CEntity__set_action_info game_entity Sets entity action info. Stores param_2 at offset 0x308 and param_3 at offset 0x30C. Only writes if param_3 != -1 (sentinel check). 0x00CECE30 672 CNetwork__save_emblem_to_file network Saves guild/party emblem data to a temporary file. Extracts emblem name from stream, builds path as '{path}/tmpEmblem/{name}'. If file doesn't already exist (checked via CFileStream), writes raw emblem data to file via fopen/fwrite/fclose. Returns 1 on success, 0 if input stream is empty. 0x00CED0D0 181 generate_time_based_hex_token game_core Generates a time-based hexadecimal token string. Uses timeGetTime() XOR'd with shifted timeGetTime() to create randomness. Converts to hex via _ltoa, then copies into output buffer (param_1) in reverse order. param_2 controls token length (default 4). Null-terminates the result. 0x00CED190 200 CEntity__toggle_hashmap_entry game_entity Toggles an entity in a hash map. If param_3==1, emplaces param_2 into unordered_map. Otherwise, finds and removes param_2 from the hash map using FNV-1a hash on the 4-byte key. Manages bucket chain pointers during removal. 0x00CED260 115 CGame__update_entity_time_scales game_core Gets time scale from global EffectMap, applies to self via CEntity__set_animation_speed, then iterates all entities in list (at this+0xCC->0x10) applying the same time scale to each. 0x00CED2E0 79 CEntity__play_sound_at_position game_entity Plays a sound at a 3D position. Calls virtual function at vtable+8 on the sound object at param_1+0xD4, passing position (param_2, param_3) and distance param_4 with sign-extended 64-bit values. 0x00CED330 464 load_and_update_rsw_tooltip game_core Loads and updates an RSW (map resource) tooltip. Checks GameSettings option state, builds '.rsw' filename, searches for file in resource system, extracts string data, then calls ItemTooltipRenderer__update_tooltip with the result. 0x00CED520 326 CEntity__send_keepalive_tick game_entity Sends a keepalive tick packet (0x360) to the server. Rate-limited by DAT_0135f6d0 interval check using timeGetTime(). Includes current timestamp in packet. If network logging is enabled (DAT_0171f100), appends timestamp to a linked list for latency tracking. 0x00CED670 113 CGame__handle_effectmap_pause_resume game_core Handles EffectMap pause/resume based on game state. When param_2==1 and returning from pause (mode!=7), accumulates elapsed time into EffectMap timer offset. When entering pause (mode==7), records current time. If no pause time stored, restarts EffectMap playback. 0x00CED720 49 CGame__check_timer_elapsed game_core Checks if a specified time interval (param_2 ms) has elapsed since last check. Compares timeGetTime() against stored timestamp at offset 0x5E4. Updates timestamp and returns 1 if elapsed, 0 otherwise. 0x00CED760 445 CGame__append_chat_log_to_file game_core Appends a chat message string to a log file. Opens file at DAT_0171f220, reads existing content, reopens with write+create flags (0x1001), writes old content back, appends param_2 string and newline (DAT_0135f464). Increments counter at offset 0x5BC. Only writes if FUN_00dfa390(7) check passes. 0x00CED920 314 save_name_balloon_setting_to_registry game_core Saves the name balloon display setting to Windows registry. Builds registry key path from PTR_DAT_01348f80 + '\\NameBaloon' + player name. Creates key under HKEY_LOCAL_MACHINE, sets DWORD value based on GameSettings option 0x5C state. 0x00CEDA60 206 save_ragpath_to_registry game_core Saves the game installation path (RAGPATH) to Windows registry. Builds registry key path from PTR_DAT_01348f80, creates key under HKEY_LOCAL_MACHINE, writes DAT_0173ad78 (game directory path) as REG_SZ value named 'RAGPATH'. 0x00CEDB30 235 std__vector_uint__resize_fill stl Resizes a std::vector to param_2 elements, filling with param_3. If new size <= current, fills existing range. Otherwise allocates new buffer, frees old, fills all elements. 0x00CEDC20 704 std__tree_erase_node_uint_14 stl STL red-black tree erase operation for tree with node size 0x14. Removes node from tree, fixes parent/child pointers, performs red-black rebalancing (rotations + color flips). Decrements size counter. Standard MSVC _Tree::erase implementation. 0x00CEDEE0 704 std__tree_erase_node_uint_18 stl STL red-black tree erase operation for tree with node size 0x18. Same algorithm as std__tree_erase_node_uint_14 but for larger node type. Performs node removal + red-black rebalancing. 0x00CEE1A0 704 std__tree_erase_node_uint_1c stl STL red-black tree erase operation for tree with node size 0x1C. Same algorithm as other tree erase variants but for larger node type. 0x00CEE460 704 std__tree_erase_node_uint_20 stl STL red-black tree erase operation for tree with node size 0x20. Same algorithm as other tree erase variants but for largest node type. 0x00CEE720 426 std__unordered_map_rehash_00cee720 stl Rehashes an unordered_map by resizing the bucket array to next power-of-2 >= param_2. Relinks all nodes into new buckets based on FNV-1a hash of 4-byte key. Not a tree erase operation despite previous name. 0x00CEE8D0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00CEEAE0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00CEECF0 84 std__tree_rotate_left_14 stl STL red-black tree left rotation for tree variant with node offset 0x14. Moves right child up and current node down-left, fixing parent pointers and root if needed. 0x00CEED50 84 std__tree_rotate_left_18 stl STL red-black tree left rotation for tree variant with node offset 0x18. Same algorithm as std__tree_rotate_left_14. 0x00CEEDB0 84 std__tree_rotate_left_1c stl STL red-black tree left rotation for tree variant with node offset 0x1C. Same algorithm as std__tree_rotate_left_14. 0x00CEEE10 84 std__tree_rotate_left_20 stl STL red-black tree left rotation for tree variant with node offset 0x20. Same algorithm as std__tree_rotate_left_14. 0x00CEEE70 88 std__tree_rotate_right_14 stl STL red-black tree right rotation for tree variant with node offset 0x14. Moves left child up and current node down-right, fixing parent pointers and root if needed. 0x00CEEED0 88 std__tree_rotate_right_18 stl STL red-black tree right rotation for tree variant with node offset 0x18. 0x00CEEF30 88 std__tree_rotate_right_1c stl STL red-black tree right rotation for tree variant with node offset 0x1C. 0x00CEEF90 88 std__tree_rotate_right_20 stl STL red-black tree right rotation for tree variant with node offset 0x20. 0x00CEEFF0 64 std__copy_struct_array_1c stl Copies a range of 0x1C-byte structs from [param_1, param_2) to destination param_3 using memcpy. Returns pointer past the last copied element, aligned to 0x1C stride. 0x00CEF030 478 std__unordered_map_erase_range_00cef030 stl Erases a range [param_2, param_3) from an unordered_map. Iterates through buckets using FNV-1a hash on 4-byte keys, frees each 12-byte node, updates bucket pointers. Handles cross-bucket ranges and fixes chain links. 0x00CEF210 10 thunk_to_std__Xlength_error_00cef210 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00CEF220 95 std__allocate_hash_buckets_12 stl Allocates a hash bucket array and initializes sentinel pointers. 0x00CEF280 95 std__allocate_hash_buckets_30 stl Allocates an array for param_1 elements of size 0x30 (48 bytes each). Uses aligned allocation (32-byte alignment) for allocations >= 0x1000 bytes. Throws bad_array_new_length if count exceeds 0x5555555. 0x00CEF2E0 107 std__list_clear_12 stl Clears a std::list with 12-byte nodes. Zeroes the head's next pointer count, walks the forward-linked chain freeing each 0xC-byte node, then resets head/tail to self and size to 0. 0x00CEF350 67 std__free_aligned_buffer_1c stl Frees an aligned buffer containing param_2 elements of 0x1C bytes each. For allocations >= 0x1000 bytes, reads the original unaligned pointer from 4 bytes before the aligned address. Validates alignment offset before freeing. 0x00CEF3A0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00CEF3E0 52 std__vector_erase_shift_left stl Erases elements from a vector by shifting remaining data left via memcpy. Moves data from [param_4, end) to param_3 position and updates the vector's end pointer (offset +4). 0x00CEF420 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00CEF470 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00CEF4C0 99 std__tree_erase_single_node_20 stl Erases a single node from a red-black tree with 0x20-byte nodes. Advances iterator past the erased node, calls std__tree_erase_node_pair_20 for removal+rebalancing, frees the 0x20-byte node, and returns the next iterator. 0x00CEF530 44 std__vector_insert_and_update_iter stl Inserts elements into a vector using STL_vector_insert_range, then updates the output iterator (param_2) to account for possible reallocation by adjusting for base pointer change. 0x00CEF560 90 crt__vsprintf_s_wrapper crt Wrapper around vsprintf_s. Formats a string into a buffer with size checking. 0x00CEF5C0 67 std__free_node_18_variant_a stl Frees a single tree/list node of 0x18 bytes if the pointer at offset +4 is non-null. SEH-protected cleanup helper. 0x00CEF610 67 std__free_node_1c_variant_b stl Frees a single tree/list node of 0x1C bytes if the pointer at offset +4 is non-null. SEH-protected cleanup helper. 0x00CEF660 67 std__free_node_20_variant_c stl Frees a single tree/list node of 0x20 bytes if the pointer at offset +4 is non-null. SEH-protected cleanup helper. 0x00CEF6B0 78 std__free_node_18_variant_d stl Frees a single tree/list node of 0x18 bytes if the pointer at offset +4 is non-null. SEH-protected cleanup helper variant. 0x00CEF700 78 std__free_node_1c_variant_e stl Frees a single tree/list node of 0x1C bytes if the pointer at offset +4 is non-null. SEH-protected cleanup helper variant. 0x00CEF750 78 std__free_node_20_variant_f stl Frees a single tree/list node of 0x20 bytes if the pointer at offset +4 is non-null. SEH-protected cleanup helper variant. 0x00CEF7A0 78 std__free_node_18_variant_g stl Frees a single tree/list node of 0x18 bytes if the pointer at offset +4 is non-null. SEH-protected cleanup helper variant. 0x00CEF7F0 78 std__free_node_1c_variant_h stl Frees a single tree/list node of 0x1C bytes if the pointer at offset +4 is non-null. SEH-protected cleanup helper variant. 0x00CEF840 78 std__free_node_20_variant_i stl Frees a single tree/list node of 0x20 bytes if the pointer at offset +4 is non-null. SEH-protected cleanup helper variant. 0x00CEF890 234 std__map_find_or_insert_1c stl std::map::operator[] for map with 0x1C-byte tree nodes. Finds lower bound for key, inserts new default-constructed node if key not found (allocates 0x1C bytes), returns pointer to value at node+0x14. 0x00CEF980 235 std__map_find_or_insert_20 stl std::map::operator[] for map with 0x20-byte tree nodes. Finds lower bound for key, inserts new default-constructed node if key not found (allocates 0x20 bytes), returns pointer to value at node+0x14. 0x00CEFA70 83 operator++ stl STL _Tree_unchecked_const_iterator::operator++ for std::set/map of unsigned int. Traverses the red-black tree to find the next in-order node. Library function from Visual Studio 2019 Release. 0x00CEFAD0 83 operator++ stl STL _Tree_unchecked_const_iterator::operator++ for std::set/map of unsigned int. Identical to the copy at 00cefa70. Library function from Visual Studio 2019 Release. 0x00CEFB30 170 CGame__push_back_to_entity_list game_core Appends an entity ID (param_2) to the entity list at offset 0x604. Allocates 12-byte node, links into doubly-linked list. Throws std::_Xlength_error if list is at max size (0x15555555). 0x00CEFCA0 125 CNetwork__send_item_identify_request network Sends an item identify request packet (0x149) to the server. Checks if item ID is in identify blacklist first. Only sends if DAT_016d3b14 != 3 (not in identify mode). Packet contains item ID, action type 2, and a 10 param. 0x00CEFD20 292 CUINavMap__register_map_entry game_core Registers a map ID in the navigation map tree (DAT_0173a5e4). Checks if map exists via CMapInfoMgr, converts to nav category, then finds/inserts in tree. Initializes the two value fields to 0. 0x00CEFE50 19 clear_global_string_buffer game_core Clears a global string buffer by calling STL_lib_func_004fa8f0 with empty string and length 0. 0x00CEFE70 77 CGame__remove_from_entity_list game_core Removes an entity by ID (param_2) from the entity linked list at offset 0x604. Searches linearly, unlinks the 12-byte node from doubly-linked list, frees it, decrements count at 0x608. 0x00CEFEC0 256 write_timestamped_log_entry game_core Writes a timestamped log entry to a file. Formats the variable args via vsprintf, extracts filename from path (strips directory), opens file in append mode, writes: filename, line number, timestamp (YYYY-MM-DD HH:MM:SS.ms), and the formatted message. 0x00CEFFC0 169 CGame__get_or_create_tooltip_mgr_a game_core Gets or lazily creates tooltip manager A at offset 0x61C. On first call, allocates 0x84 bytes, calls TooltipMgr__constructor, sets size to 0x32, adds to window list. Returns the tooltip manager pointer. 0x00CF0070 18 CEntity__get_sso_string_ptr game_entity Returns pointer to SSO string data at entity offset 0x4DC. If string capacity > 15 (heap-allocated), returns the heap pointer; otherwise returns the inline buffer address. 0x00CF0090 433 CItem__format_display_name_with_slots game_items Formats an item's display name with card slot info. Reads item name from offset 0xE6 + index*0x33. If name is empty, uses CPacketSystem__bulk_processor to build name from item ID + slot counts. Appends slot display: either message 0x7EE (if min==max slots) or 'd/d' format showing current/max slots. 0x00CF0250 207 CGame__get_or_create_tooltip_mgr_b game_core Gets or lazily creates tooltip manager B at offset 0x620. Similar to variant A but sizes tooltip based on screen width calculation: (width * 0x82) / 0x1E0. Returns the tooltip manager pointer. 0x00CF0320 15 CGame__get_map_object game_core Returns a pointer from the map object at offset 0xCC+0x2C. Returns 0 if the object at 0xCC is null. 0x00CF0330 74 CGame__find_tree_node_by_key game_core Searches a red-black tree at offset 0x1F0 for a node matching the given key (param_2). Returns pointer to the value portion (node+0x14) if found, or NULL if not found. 0x00CF0380 603 CGame__format_buff_remaining_time game_core Formats the remaining time of a buff/status effect. Searches a global buff list for a matching buff ID, computes remaining time in hours/minutes/seconds using timeGetTime or server time, and builds a human-readable string using message table entries (0x6A1=hours, 0x70F=minutes, 0x710=seconds). Handles special case where buff ID 0x2A maps to 0x0C. 0x00CF05E0 200 CGame__get_string_from_vector_at_index game_core Gets a string from the vector at offset 0x84 by index. Each element is 0x18 bytes (STL string). Returns copy-constructed string if index is valid, otherwise returns empty string. 0x00CF06B0 17 CGame__get_camera_zoom_target game_core Returns the camera zoom target float value from the camera object at offset 0xD0+0x48. Returns 0.0 if the camera object is null. 0x00CF0720 278 display_timestamped_debug_message game_core Formats a timestamped debug message with HH:MM:SS.mmm prefix and displays it via the chat message system with color 0xFF. 0x00CF0840 29 null_stub_00cf0840 crt Empty stub function that does nothing and returns immediately. 0x00CF0860 73 debug_assert_format game_core Debug assertion formatter. Calls vsprintf_s to format a debug assertion message with file/line info. 0x00CF08B0 23 call_purecall_handler game_core Calls the CRT purecall handler. Triggered when a pure virtual function is called on a partially-constructed/destructed object. 0x00CF08D0 33 is_rune_skill_id game_core Checks if a skill ID is a Rune Knight skill (IDs 0x3DE-0x3E1, i.e., 990-993). Returns 1 if within range, 0 otherwise. 0x00CF0910 33 is_guillotine_skill_id game_core Checks if a skill ID is a Guillotine Cross skill (IDs 0x3E2-0x3E5, i.e., 994-997). Returns 1 if within range, 0 otherwise. 0x00CF0950 297 CGame__check_and_show_disconnect_dialog game_core Checks if the current game state requires showing a disconnect dialog. Looks up the current item by slot ID, sends a state change message, then displays a localized disconnect confirmation dialog box (message ID 0x291). 0x00CF0A80 57 is_entity_visible_on_map game_core Checks if an entity class ID is visible on the map. Returns 0 for wedding classes. Otherwise searches the global buff/entity list for a matching ID. Returns 1 if found, 0 if not. 0x00CF0AC0 101 is_any_trade_window_open game_core Checks if any trade-related window is currently open. Checks window types: 0x122, 0x12E, 0x15C, 0x2716, 0x169. Returns 1 if any is found, 0 if none. 0x00CF0B30 108 CGame__check_chat_command_blocked game_core Checks if a chat command is blocked. Returns 1 (blocked) if not in identify mode (DAT_016d3b14 != 3), not in mode 10 (DAT_016d3b10 != 10), and param_1 > 1. When blocked, displays message 0x31 in chat and clears the global string buffer. 0x00CF0BA0 516 write_timestamped_log_with_date_filename game_core Writes a timestamped log entry to a date-based log file (mylog_DATE.txt). Formats the message with vsprintf, generates a filename from the build date, then writes with full timestamp (year/month/day hour:min:sec.ms) and source file info. 0x00CF0DB0 127 display_formatted_blue_chat_message game_core Formats a variable-argument string and displays it as a blue-colored chat message (color 0x6E96FF) via CUIWindowMgr dispatch. 0x00CF0E30 467 CNetwork__send_chat_message_packet network Sends a chat message packet (type 0x1D5) to the server. Validates the message is non-empty, formats the player name prefix via snprintf_wrapper, validates item links via CItemLink__validate_and_parse_link (skips send if link is invalid). Builds the packet with header 0x1D5, message length, and message body. Uses stack allocation for small messages (<=0x400), heap for larger. Sends via CNetworkSession__send_data_timed. 0x00CF1060 71 CGame__capture_bgm_duration game_core Captures the current BGM track duration. If the EffectMap is in state 2, sets playback state to 1, updates duration from time, retrieves duration as HMS, closes the file handle, and returns the duration. Returns 0 if not in state 2. 0x00CF10B0 123 CGameMode__dispatch_message_handler game_core CGameMode: dispatch message handler 0x00CF7931 119 validate_string_and_open_window_or_dialog game_core Validates input string length. If < 24 chars, opens/toggles window type 0x35 and sets string. Otherwise shows dialog box with message 0x213. 0x00CFB702 218 CShop__send_npc_shop_purchase_list game_items Iterates NPC shop items, builds purchase list with item IDs and amounts, sends to server via CNetworkSession. Clears deal and inventory lists afterward. 0x00CFD3D5 96 CNetwork__send_job_sprite_count_packet network Sends packet 0xB19 containing job sprite count to the server via CNetworkSession. 0x00CFDF90 202 CGameMode__setup_item_display_with_identify game_core Sets up item display with identification. Toggles window type 0xF off, resets network state, looks up identified item name. Copies item fields (ID, type, name, identify flag, refine level) from param_3 to this+0x308..0x3B0. 0x00CFE060 214 CGameMode__setup_item_display_basic game_core Sets up basic item display info. Toggles window type 0xF off, resets network state, copies item ID/name/type fields from param_3 to this+0x308..0x3B0. Looks up identified item name via get_item_identified_name. 0x00CFE140 352 CGameMode__setup_item_display_extended game_core Sets up extended item display info with options array, timer data, and enchant info. Toggles window 0xF off, resets network state. Copies item properties including card slots (offsets 0x378-0x384), item options array (0x390+), enchant data (0x3b4-0x3b6), and 64-bit timer field (0x3C0-0x3C4) from param_3 to this+0x308..0x3C4. 0x00CFE2A0 198 CGameMode__setup_sprite_display_info game_core Sets up sprite display info for a named resource. Toggles window 0xF off, resets network state, looks up sprite resource name. Copies resource name string and sets sprite data fields at this+0x308..0x388. 0x00CFE370 264 CGameMode__register_or_update_tree_entry game_core Registers or updates an entry in the RB-tree at this+0xF0. Uses param_2 as the integer key. If the key already exists, updates its value (param_3). If not found, allocates a new 0x18-byte tree node and inserts it. Used for tracking item/entity state by ID. 0x00CFE480 65 CGame__notify_self_entity_update game_core Notifies the self-entity (player character) of an update. If DAT_01457b88 != 2 and param_2 matches local player ID, calls virtual method 0x40 on the entity's sub-object with message code 0x2C and flag 1. 0x00CFE4D0 62 CGame__broadcast_message_to_entity_list game_core Broadcasts a message to all entities in the entity list at offset 0x604. Iterates the doubly-linked list and calls each entity's virtual method 0x94 with message code 0x3C and param_2 as data. 0x00CFE510 2908 CGameMode__process_content_and_rebuild game_core Processes and rebuilds tooltip/info content for a game mode hover element. Determines what grid cell the mouse is over, queries Lua for state icon descriptions and time limits, manages a hyperlink text widget for display, formats item tooltip strings with descriptions, and positions the tooltip window relative to the grid. 0x00CFF070 625 CGameMode__format_and_display_content game_core Formats and displays tooltip content for a game mode. Creates or reuses a CTooltipWnd, builds a linked list of string entries from the input vector, and passes them to the tooltip widget for rendering with font size 0x14 and color 0xC. 0x00CFF300 516 CGameMode__write_trace_log_entry game_core Writes a trace log entry to EnterTraceLog_{date}.txt. Formats log line with timestamp (GetLocalTime), file name, and formatted message. Opens file in append mode. 0x00CFF510 998 CGameMode__append_data_to_log_file game_core Appends data to a log file with optional timestamp. Gets current directory, opens file at param_1, reads existing content if any, re-opens for write, writes old content plus new data string (param_2). If param_3 is non-zero, prepends HH:MM:SS:ms timestamp. 0x00CFF900 16 vtable_init_interface_a effect Initializes vtable pointer for interface A. Sets *param_1 to PTR_vtable_init_interface_a_011a20b0. 0x00CFF910 16 vtable_init_interface_b effect Initializes vtable pointer for interface B. Sets *param_1 to PTR_vtable_init_interface_b_011a20cc. 0x00CFF920 16 vtable_init_interface_c effect Initializes vtable pointer for interface C. Sets *param_1 to PTR_vtable_init_interface_c_011a20e8. 0x00CFF930 16 vtable_init_interface_d effect Initializes vtable pointer for interface D. Sets *param_1 to PTR_vtable_init_interface_d_011a1fb4. 0x00CFF940 16 vtable_init_interface_e effect Initializes vtable pointer for interface E. Sets *param_1 to PTR_vtable_init_interface_e_011a1fd0. 0x00CFF950 16 vtable_init_interface_f effect Initializes vtable pointer for interface F. Sets *param_1 to PTR_vtable_init_interface_f_011a1fec. 0x00CFF960 16 vtable_init_interface_g effect Initializes vtable pointer for interface G. Sets *param_1 to PTR_vtable_init_interface_g_011a2008. 0x00CFF970 16 vtable_init_interface_h effect Initializes a vtable pointer for a small interface/delegate object. 0x00CFF980 16 vtable_init_interface_i effect Initializes a vtable pointer for a small interface/delegate object. 0x00CFF990 16 vtable_init_interface_j effect Initializes a vtable pointer for a small interface/delegate object. 0x00CFF9A0 16 vtable_init_interface_k effect Initializes a vtable pointer for a small interface/delegate object. 0x00CFF9B0 16 vtable_init_interface_l effect Initializes a vtable pointer for a small interface/delegate object. 0x00CFF9C0 68 std__conditional_free_8_variant_a stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFA10 68 std__conditional_free_8_variant_b stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFA60 68 std__conditional_free_8_variant_c stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFAB0 68 std__conditional_free_8_variant_d stl Scalar deleting destructor variant d. Conditionally deletes this pointer (8 bytes) if param_2 is non-zero. Uses SEH frame. Same pattern as all std__conditional_free_8_variant_* functions. 0x00CFFB00 68 std__conditional_free_8_variant_e stl Scalar deleting destructor variant e. Conditionally deletes this pointer (8 bytes) if param_2 is non-zero. Uses SEH frame. Same pattern as all std__conditional_free_8_variant_* functions. 0x00CFFB50 68 std__conditional_free_8_variant_f stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFBA0 68 std__conditional_free_8_variant_g stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFBF0 68 std__conditional_free_8_variant_h stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFC40 68 std__conditional_free_8_variant_i stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFC90 68 std__conditional_free_8_variant_j stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFCE0 68 std__conditional_free_8_variant_k stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFD30 68 std__conditional_free_8_variant_l stl Scalar deleting destructor variant. Calls destructor, then conditionally frees the allocation. 0x00CFFE80 704 std__tree_erase_node_pair_14 stl STL red-black tree erase. Removes a node, rebalances with rotations, then deallocates. 0x00D00140 704 std__tree_erase_node_pair_20 stl STL red-black tree erase. Removes a node, rebalances with rotations, then deallocates. 0x00D004C0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D006D0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D008E0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D00AF0 84 std__tree_rotate_left_pair_14 stl STL red-black tree left rotation. Rotates a node left and updates parent/child pointers. 0x00D00B50 84 std__tree_rotate_left_pair_20 stl STL red-black tree left rotation. Rotates a node left and updates parent/child pointers. 0x00D00BB0 16 vtable_init_interface_m effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00BC0 16 vtable_init_interface_n effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00BD0 16 vtable_init_interface_o effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00BE0 16 vtable_init_interface_p effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00BF0 16 vtable_init_interface_q effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00C00 16 vtable_init_interface_r effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00C10 16 vtable_init_interface_s effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00C20 16 vtable_init_interface_t effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00C30 16 vtable_init_interface_u effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00C40 16 vtable_init_interface_v effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00C50 16 vtable_init_interface_w effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00C60 16 vtable_init_interface_x effect Initializes a vtable pointer for a small interface/delegate object. 0x00D00C70 88 std__tree_rotate_right_pair_14 stl STL red-black tree right rotation. Rotates a node right and updates parent/child pointers. 0x00D00CD0 88 std__tree_rotate_right_pair_20 stl STL red-black tree right rotation. Rotates a node right and updates parent/child pointers. 0x00D00DF0 206 std__tree_erase_range_uint stl Erases a range of nodes from a std::_Tree. If range covers the entire tree (begin to end), destroys all nodes and resets the tree. Otherwise iterates through the range, erasing each node individually via _Tree_unchecked_const_iterator::operator++ and tree erase. Frees each 0x20-byte node. 0x00D00ED0 67 std__tree_find_lower_bound_uint stl Searches a std::_Tree for a uint key using _Find_lower_bound. Returns the found node if the key matches, otherwise returns the head node (end iterator). 0x00D00F20 33 std__free_aligned_buffer_74 stl Frees an aligned memory buffer, retrieving the original allocation pointer. 0x00D00F50 159 crt_safe_memcpy crt Safe memory copy with size validation. Returns 0 on success, 0x16 (EINVAL) for null pointers, 0x22 (ERANGE) if source size exceeds destination. Zeros the destination on error. Similar to memcpy_s. 0x00D00FF0 358 std__vector_assign_range_8byte stl std::vector::assign for 8-byte (pair) elements. Replaces vector contents with range [param_2, param_3). If range fits in current capacity, overwrites elements. Otherwise reallocates with 1.5x growth, copies range. Frees old buffer with aligned deallocation support. 0x00D01160 34 std__short_memcpy_wrapper stl Thin wrapper around memcpy for copying a small fixed-size buffer. 0x00D01190 122 STL_vector_destroy_loop_0x158 stl Destructor loop for a vector of 0x158-byte records. Iterates from param_1 to param_2 in 0x158-byte steps, destroying two STL strings in each record via STL_string_dtor. Used during vector deallocation for extended entity/attendance records. 0x00D01210 508 std__list_insert_string_int_node_a stl Inserts a new 0x28-byte node into a std::list. Node contains: next/prev pointers (0x00-0x07), STL string with SSO (0x08-0x1B), string length/capacity (0x18-0x1F), an integer value (0x20), and a zero field (0x24). Copies string from param_3, integer from param_4. Links node at position param_2. Max list size 0x6666666. 0x00D01410 508 std__list_insert_string_int_node_b stl Inserts a new 0x28-byte node into a std::list (variant b). Identical structure to variant a - allocates node with STL string and integer value, links into doubly-linked list at insertion point. Separate instantiation for a different list type. 0x00D01610 570 CMailItem__vector_insert game_items std::vector::insert for 0x74-byte records containing an embedded STL string at offset 0x3C. Uses 1.5x growth strategy with max element count 0x234F72C. Copies existing elements around insertion point via vector_move_loop_records_0x74 and constructs the new element via record_0x74_copy_construct. Destroys old buffer elements via STL_string_dtor loop. 0x00D01850 573 CSoundEvent__vector_insert sound std::vector::insert for 0x24-byte records containing an embedded STL string. Uses 1.5x growth strategy with max count 0x71C71C7. Constructs new element via record_0x24_copy_construct. Moves existing elements via vector_move_loop_records_0x24. Destroys old buffer elements via STL_string_dtor loop. 0x00D01A90 552 CSkillRecord__vector_insert game_core std::vector::insert for compact 0xF-byte (15-byte) records with no complex fields. Uses 1.5x growth strategy with max count 0x11111111. Simple memcpy for the record data. Used for storing compact status effect entries. 0x00D01CC0 552 CInventoryItem__vector_insert game_items std::vector::insert for large 0x158-byte records. Uses 1.5x growth strategy with max count 0xBE82FA. Constructs via record_0x158_copy_construct, copies via helper functions, destroys old elements via STL_vector_destroy_loop_0x158. Used for extended entity/attendance data. 0x00D01EF0 103 std__tree_destroy_recursive stl Recursively destroys all nodes in a std::_Tree. For each non-sentinel node: recursively destroys the right subtree (node[2]), then follows the left pointer (node[0]) and frees each 0x20-byte node. Stops when reaching a sentinel node (node->is_nil == true at offset 0xD). 0x00D01F60 75 std__tree_lower_bound_a stl std::_Tree::lower_bound implementation. Traverses the tree from root, comparing key at node offset +0x10 against *param_3. Goes left if key >= target, right if key < target. Returns an iterator (node pointer + found flag + bound position). 0x00D01FB0 75 std__tree_lower_bound_b_00d01fb0 stl std::_Tree::lower_bound implementation (variant b). Identical to variant a - traverses tree comparing key at node+0x10 against target. Separate template instantiation for a different tree type. 0x00D02000 1689 insertion_sort_records_0x74 game_core Insertion sort for an array of 0x74-byte records sorted by a 0x18-byte name string at offset 0x21 (strcmp-style comparison). Records contain an embedded STL string at offset 0x3C that requires move semantics during element shifting. Iterates from second element to end, shifting larger elements right and inserting each record at its sorted position. 0x00D026B0 388 median_of_three_records_0x74 game_core Median-of-three pivot selection for introsort of 0x74-byte records. Compares three records (param_1, param_2, param_3) by name string at offset 0x21. Performs conditional swaps via record_0x74_move_construct and variant_record_0x74_copy_assign to ensure the median value ends up at param_2. Part of the std::sort partitioning scheme. 0x00D02840 1631 introsort_partition_records_0x74 game_core Introsort partition (Hoare-style) for an array of 0x74-byte records sorted by name at offset 0x21. Uses median-of-three pivot selection for large arrays (>= 0x29 elements) or ninther for very large arrays. Partitions elements around the pivot using bidirectional scanning and record swaps. Returns the partition boundary as a pair of pointers. 0x00D02EA0 675 heap_sift_down_records_0x74 stl Heap sift-down (percolate down) for a max-heap of 0x74-byte records sorted by name at offset 0x21. Starting from position param_2, compares parent with children and swaps the larger child up. Handles both internal nodes (with two children) and the last internal node (which may have only one child). Then sifts up from the final position to place the element from param_4. Part of heapsort for entity data. 0x00D03150 222 merge_sort_linked_list_by_key game_core Merge sort for a circular doubly-linked list. Recursively splits the list in half, sorts each half, then merges by comparing the integer key at node offset +0xC (node[3]). Performs in-place pointer relinking during merge (no allocation). Used internally to sort lists of equipment/item entries by numeric key. 0x00D03230 824 introsort_driver_records_0x74 game_core Introsort (std::sort) top-level driver for 0x74-byte records sorted by name at offset 0x21. Hybrid algorithm: uses quicksort (via introsort_partition_records_0x74) when recursion depth allows, falls back to heapsort (build heap + extract via heap_sift_down_records_0x74) when depth exceeded, and uses insertion_sort_records_0x74 for small subarrays (< 0xEF4 bytes / ~28 elements). 0x00D03570 123 vector_move_loop_records_0x74 stl Uninitialized move loop for 0x74-byte records during vector reallocation. Iterates from param_1 to param_2 in 0x74-byte steps, calling record_0x74_move_construct for each record into the destination buffer at param_3. Returns the final destination pointer. 0x00D035F0 208 vector_move_loop_records_0x24 stl Uninitialized move loop for 0x24-byte records during vector reallocation. Each record has 4 leading DWORDs, an SSO string (moved with source nullification), and 3 trailing DWORDs. Iterates from param_1 to param_2, advancing destination by 0x24 per element. Returns final destination pointer. 0x00D036C0 103 CSoundEvent__copy_construct sound Copy-constructs a 0x24-byte record at param_2 from source at param_3. Deep-copies the embedded STL string via STL_string_copy_construct, then copies 3 trailing DWORD fields at offsets 0x18, 0x1C, 0x20. Used as the element constructor during std::vector insertion for these records. 0x00D03730 533 std__unordered_map_insert_4byte_key stl std::unordered_map::insert for entries with a 4-byte key and 2-byte value. Computes FNV-1a hash on the key bytes. Uses _Find_last to check for existing entry (returns existing iterator if found). If inserting: allocates a new node, copies key+value, checks load factor and rehashes if needed (using ceil for bucket count), then links node into the bucket chain. Returns iterator + bool (true if inserted). 0x00D03950 212 std__list_append_string_int_node_a stl Appends a new 0x28-byte node to the end of a std::list (variant a). Node holds: prev/next pointers, STL string (deep-copied via STL_string_copy_construct from param_2), integer value (from *param_3), and a zero trailing field. Max list size 0x6666666. Returns pointer to the string portion (node+8). 0x00D03A30 212 std__list_append_string_int_node_b stl Appends a new 0x28-byte node to the end of a std::list (variant b). Identical to variant a - allocates node with deep-copied STL string and integer, links at end. Separate template instantiation for a different list type. 0x00D03B10 131 swap_records_0x74 game_core Three-way swap for 0x74-byte records. Move-constructs param_1 into a local temp buffer, copy-assigns param_2 into param_1, then copy-assigns temp into param_2. Destructs the temp's embedded STL string. Standard swap pattern used by the sorting algorithms for entity/item records. 0x00D03BA0 44 string_record_ctor game_core Constructs a small record with: first field zeroed, then an SSO STL string at offset 0x10 (capacity 0xF). Assigns string content from param_2 with length param_3 via STL_lib_func_004fa8f0. Returns the initialized object pointer. 0x00D03BD0 362 CKafraServiceInfoList__copy_construct game_core Deep copy constructor for a linked list of CKafraServiceInfo objects (0x340 bytes each). Iterates through the source list, allocating new nodes and calling CKafraServiceInfo__copy_construct for each. Creates a sentinel node as list head. Stores head in param_1[0], count in param_1[1]. Used when duplicating warp/teleport service data. 0x00D03D40 126 CWhisperMessage__copy_construct game_items Copy constructor for a 0x40-byte record containing two STL strings at offsets 0x00 and 0x18, plus 4 DWORD data fields at offsets 0x30-0x3C. Deep-copies both strings. Used for duplicating paired-string data records. 0x00D03DC0 136 trade_data_record_default_ctor game_core Default constructor for a trade data record. Sets first field to 1 (type/state flag). Initializes two empty SSO strings at offsets 0x0C and 0x24 (capacity 0xF each). Zeroes additional fields at offsets 0x34 and 0x4C. 0x00D03E50 226 CMailItem__move_construct game_items Move constructor for a 0x74-byte entity/item record. Copies all fixed fields (header, two 0x18-byte data blocks, trailing fields). Move-constructs the embedded STL string at offset 0x3C (transfers heap pointer, nullifies source to empty SSO state). Used during vector reallocation and sorting swaps. 0x00D03F40 187 CMailItem__copy_construct game_items Copy constructor for a 0x74-byte entity/item record. Copies all fixed fields identically to the move constructor, but deep-copies the embedded STL string at offset 0x3C via STL_string_copy_construct (preserving the source). Used when duplicating records without invalidating the original. 0x00D04000 201 CMailItem__default_ctor game_items Default constructor for a 0x74-byte entity/item record. Zero-initializes all fields: header bytes, two 0x18-byte data regions, sets up an empty SSO string at offset 0x3C (capacity 0xF), and zeroes trailing fields including the 2-byte field at 0x72 and a 0x10-byte block at 0x60. Creates a blank template record. 0x00D040D0 170 timed_hash_container_ctor game_core Constructor for a timed container object. Allocates a 0x28-byte self-referencing sentinel node for a circular doubly-linked list. Initializes: capacity=0x14, bucket_count=0xC, load_factor=2.0. Records creation timestamp via _Xtime_get_ticks(). Likely a hash map or timed cache structure. 0x00D04180 124 record_dword_3strings_copy_ctor game_core Copy constructor for a record containing 1 leading DWORD and 3 STL strings at offsets 0x04, 0x1C, 0x34. Deep-copies all three strings via STL_string_copy_construct with SEH exception safety. The strings likely represent name/label/description fields. 0x00D04200 148 record_3strings_default_ctor game_core Default constructor for a record containing 3 empty SSO STL strings at offsets 0x04, 0x1C, 0x34. Each string initialized with zero length, capacity 0xF, and null terminator. Creates a blank template for triple-string records. 0x00D042A0 67 ranking_record_default_ctor game_core Default constructor for a ranking/leaderboard record. Zero-initializes: 5 DWORD fields (0x00-0x10), a 0x21-byte region at offset 0x11 (likely a fixed-length character name buffer), and 2 DWORD fields at 0x34-0x38. 0x00D042F0 206 CEntitySpawnData__zero_init_ctor game_entity Default constructor that zero-initializes a ~0x7C byte record. Clears 28+ DWORD fields spanning offsets 0x04-0x78. No STL strings or complex types - pure POD initialization. Used as a blank template for data records. 0x00D043C0 147 CInventoryItem__copy_construct game_items Copy constructor for a 0x158-byte record. Bulk-copies 0x60 bytes of plain DWORD data fields (offsets 0x00-0x5F) including a 2-byte field at 0x5C, then deep-copies an embedded CShopItem object at offset 0x60 via CShopItem__copy_construct. Used for duplicating extended entity/attendance reward records. 0x00D04460 147 CNetwork__refine_data_record_copy_ctor network Copy constructor for a 0x158-byte refine/upgrade data record. Copies 0x60 bytes of plain DWORD fields, then deep-copies an embedded CShopItem at offset 0x60. Used when duplicating item refine data entries in vectors. 0x00D04500 67 CNetwork__packet_buffer_dtor_0xc_a network Destructor for a packet data buffer. Frees a 0xC-byte (12 bytes) heap allocation at this+4 if non-null. Uses SEH frame for exception safety. One of several similar buffer destructors varying only in allocation size. 0x00D04550 67 CNetwork__packet_buffer_dtor_0xc_b network Destructor for a packet data buffer. Frees a 0xC-byte heap allocation at this+4 if non-null. Identical to dtor_0xc_a. 0x00D045A0 67 CNetwork__packet_buffer_dtor_0xc_c network Destructor for a packet data buffer. Frees a 0xC-byte heap allocation at this+4 if non-null. Identical to dtor_0xc_a. 0x00D045F0 67 CNetwork__packet_buffer_dtor_0x24_a network Destructor for a packet data buffer. Frees a 0x24-byte (36 bytes) heap allocation at this+4 if non-null. 0x00D04640 67 CNetwork__packet_buffer_dtor_0x28_a network Destructor for a packet data buffer. Frees a 0x28-byte (40 bytes) heap allocation at this+4 if non-null. 0x00D04690 67 CNetwork__packet_buffer_dtor_0x24_b network Destructor for a packet data buffer. Frees a 0x24-byte (36 bytes) heap allocation at this+4 if non-null. 0x00D046E0 67 CNetwork__packet_buffer_dtor_0x20_a network Destructor for a packet data buffer. Frees a 0x20-byte (32 bytes) heap allocation at this+4 if non-null. 0x00D04730 67 CNetwork__packet_buffer_dtor_0x20_b network Destructor for a packet data buffer. Frees a 0x20-byte (32 bytes) heap allocation at this+4 if non-null. 0x00D04780 67 CNetwork__packet_buffer_dtor_0x18 network Destructor for a packet data buffer. Frees a 0x18-byte (24 bytes) heap allocation at this+4 if non-null. 0x00D047D0 67 CNetwork__packet_buffer_dtor_0x28_b network Destructor for a packet data buffer. Frees a 0x28-byte (40 bytes) heap allocation at this+4 if non-null. 0x00D04820 67 CNetwork__packet_buffer_dtor_0x1c network Destructor for a packet data buffer. Frees a 0x1c-byte (28 bytes) heap allocation at this+4 if non-null. Uses SEH frame for exception safety. 0x00D04870 78 variant_node_free_0xc_a stl Conditionally frees an 8-byte allocation. If param_2 is non-zero, calls operator delete on the object (this pointer). Used as a conditional deallocator for small 8-byte nodes/records. 0x00D048C0 78 variant_node_free_0xc_b stl Conditionally frees an 8-byte allocation. If param_2 is non-zero, calls operator delete on the object. Identical logic to variant_c, separate template instantiation. 0x00D04910 78 variant_node_free_0xc_c stl Conditionally frees an 8-byte allocation. If param_2 is non-zero, calls operator delete on the object. Identical logic to variant_c/d, separate template instantiation. 0x00D04960 130 variant_node_destroy_lists_and_free_0x24 stl Destroys two linked lists (0x340 byte nodes) then frees 0x24 byte allocation at offset+4. Cleanup for variant containing linked list data. 0x00D049F0 116 variant_node_destroy_string_and_free_0x38 stl Destroys an STL string member then frees 0x38 byte allocation at offset+4. Cleanup for variant containing string data. 0x00D04A70 116 variant_node_destroy_string_and_free_0x28 stl Destroys an STL string member then frees 0x28 byte allocation at offset+4. Cleanup for variant containing string data. 0x00D04AF0 113 variant_node_destroy_string_and_free_0x24 stl Destroys an STL string member then frees 0x24 byte allocation at offset+4. Cleanup for variant containing string data. 0x00D04B70 115 linked_list_destroy_all_nodes_0x340 stl Walks a linked list of 0x340-byte nodes. For each node, calls FUN_00ca5120 (node cleanup) then frees the node. Zeroes the list head/tail pointers. 0x00D04BF0 111 rb_tree_destroy_all_nodes_0x20 game_core Destroys all nodes in an RB-tree by traversing the left-child chain. Calls the key destructor for each node, frees 0x20-byte nodes, then frees the sentinel node. 0x00D04C70 78 variant_node_free_0x20_a stl Frees a variant node allocation of 0x20 bytes if node pointer at offset+4 is non-null. Uses SEH frame. 0x00D04CC0 78 variant_node_free_0x20_b stl Frees a variant node allocation of 0x20 bytes if node pointer at offset+4 is non-null. Uses SEH frame. Variant B. 0x00D04D10 78 variant_node_free_0x18 stl Frees a variant node allocation of 0x18 bytes if node pointer at offset+4 is non-null. 0x00D04D60 78 variant_node_free_0x28_a stl Frees a variant node allocation of 0x28 bytes if node pointer at offset+4 is non-null. 0x00D04DB0 78 variant_node_free_0x1c_b stl Frees a variant node allocation of 0x1c bytes if node pointer at offset+4 is non-null. Variant B. 0x00D04E00 78 variant_node_free_0x20_c stl Frees a variant node allocation of 0x20 bytes if node pointer at offset+4 is non-null. Variant C. 0x00D04E50 78 variant_node_free_0x20_d stl Frees a variant node allocation of 0x20 bytes if node pointer at offset+4 is non-null. Variant D. 0x00D04EA0 78 variant_node_free_0x18_b stl Frees a variant node allocation of 0x18 bytes if node pointer at offset+4 is non-null. Variant B. 0x00D04EF0 78 variant_node_free_0x28_b stl Frees a variant node allocation of 0x28 bytes if node pointer at offset+4 is non-null. Variant B. 0x00D04F40 78 variant_node_free_0x1c_c stl Frees a variant node allocation of 0x1c bytes if node pointer at offset+4 is non-null. Variant C. 0x00D04F90 91 vector_destroy_string_elements_0x74 stl Iterates through a vector of 0x74-byte elements, destroying STL string members in each element. 0x00D04FF0 90 vector_destroy_string_elements_0x24 stl Iterates through a vector of 0x24-byte elements, destroying STL string members in each element. 0x00D05070 131 linked_list_destroy_string_nodes_0x24 stl Destroys all nodes in a linked list. Each 0x24-byte node has an STL string that is destructed before the node is freed. Sentinel node is also freed. 0x00D05100 65 rb_tree_destroy_wrapper game_core Wrapper that calls rb_tree_destroy_all_nodes_0x20 within an SEH frame. 0x00D05150 154 vector_dealloc_0xf_stride stl Deallocates a vector's backing buffer with 0xf-byte stride elements. Handles debug memory alignment (checks for stored original pointer at -4 offset for allocations > 0xfff bytes). Zeroes the vector's begin/end/capacity pointers. 0x00D05200 87 destroy_two_linked_lists_0x340 game_core Destroys two linked lists of 0x340-byte nodes within an SEH frame. Used for cleaning up dual-list variant data. 0x00D05260 68 seh_string_dtor_wrapper_a game_core Wrapper that calls STL_string_dtor within an SEH frame. Variant A. 0x00D052B0 65 seh_string_dtor_wrapper_b game_core Wrapper that calls STL_string_dtor within an SEH frame. Variant B. 0x00D05300 68 seh_string_dtor_wrapper_c game_core Wrapper that calls STL_string_dtor within an SEH frame. Variant C. 0x00D05350 65 seh_string_dtor_wrapper_d game_core Wrapper that calls STL_string_dtor within an SEH frame. Variant D. 0x00D053A0 100 destroy_two_strings_seh game_core Destroys two STL strings sequentially within an SEH frame. Used as a cleanup handler for objects containing two string members. 0x00D05410 93 variant_record_assign_two_strings game_core Copy-assigns a record with two STL string fields (at offsets 0x00 and 0x18) plus 4 non-string fields (offsets 0x30-0x3c). Uses STL_lib_func_004fa8f0 for string assignment. 0x00D05470 243 CMailItem__copy_assign game_items Copy-assigns a 0x74-byte variant record. Copies raw byte fields (9 bytes at offset 0, 0x18 bytes at 0x9 and 0x21), move-assigns one STL string at offset 0x3c, then copies remaining scalar fields up to 0x72. 0x00D05570 248 CEntityRecord__copy_assign game_entity Copy-assigns a 0xb4-byte record containing 7 STL strings at offsets 0x04, 0x1c, 0x34, 0x4c, 0x64, 0x7c, 0x94 plus scalar fields at 0xac and 0xb0. First byte is a type flag. 0x00D05670 263 rb_tree_uint_to_uint_insert_or_find game_core RB-tree insert-or-find for a map. Walks the tree to find the key; if not found, allocates a 0x18-byte node and inserts via Insert_node. Returns pointer to the value field. 0x00D05780 278 rb_tree_uint_to_5ints_insert_or_find game_core RB-tree insert-or-find for a map. Walks the tree to find the key; if not found, allocates a 0x28-byte node (zeroed) and inserts via Insert_node. Returns pointer to the value struct. 0x00D058A0 264 rb_tree_uint_to_2ints_insert_or_find game_core RB-tree insert-or-find for a map. Allocates 0x1c-byte nodes. Similar pattern to other map insert functions in this file. 0x00D059B0 36 CDataMgr__scalar_deleting_dtor game_core Scalar deleting destructor for a data manager class. Sets vtable to 011a210c, optionally frees 0x30-byte object if flag bit 0 is set. 0x00D059E0 131 unpack_6byte_position_data game_core Unpacks 6 bytes of packed position data into 6 separate uint fields. Ragnarok Online position encoding: extracts X (10 bits), Y (10 bits), Dir (10 bits), Xsize (10 bits), Ysize (4 bits), unknown (4 bits) using bit shifts and masks. 0x00D05A70 1220 init_packet_id_to_msgstring_map game_core Initializes an RB-tree map of int keys (0-8) to message string IDs (0, 0x36b-0x36e, 0, 0x370-0x372). Creates the sentinel node and inserts 9 entries using lower_bound + Insert_node. Used for mapping packet/command types to localized message string IDs. 0x00D05F40 1220 init_bitmask_to_msgstring_map game_core Initializes an RB-tree map of power-of-2 keys (1,2,4,8,0x10,0x20,0x40,0x80,0x100) to message string IDs (0x373-0x37b). Similar to init_packet_id_to_msgstring_map but uses bitmask keys instead of sequential indices. 0x00D06410 260 normalize_job_class_id game_core Maps extended job class IDs (0xfa1-0x1103) back to base class indices (0-0x14, 0x17-0x19, or special codes like 0xfce, 0xfcf, 0xfd1, 0x107a, 0x10ff). Maps multiple job variants (e.g. baby, trans, 3rd job) to the same base class index. Used for job class normalization in skill/UI systems. 0x00D06760 901 init_ranking_type_map game_core Initializes an RB-tree map (0x20-byte nodes) of ranking type indices (0-3) to ranking display info: title strings ("BLACKSMITH RANK", "ALCHEMIST RANK", "TAEKWON RANK", "KILLER RANK") and RGB color values. Used for ranking leaderboard UI display. 0x00D06AF0 214 create_and_register_skill_entry game_core Creates a CSkillEntry from packet data (skill ID, level, type, flags, range params), gets the skill name and AP cost from CSkillManager, updates the skill range via CSkillMgr, and registers it. Sets global DAT_01737aa0=1 if skill ID is 0x150 (Falcon Assault). 0x00D06BD0 209 handle_map_change_notification game_core Handles a map change notification. Copies the map name string, records the action via CRecentActionTracker, retrieves game mode info, removes 3D effects, sets the town map name, processes chat commands for map transition, and updates friend list entries. 0x00D06CB0 887 handle_map_server_connect game_core Handles connection to map server after character selection. Records timestamps via _Xtime_get_ticks, clears sprite/action data, copies map name string, parses server IP via inet_ntoa and port, initializes network session. If not in replay mode: connects to char server, verifies connection, sends login packet (0x436) with session IDs and timestamp, or shows error dialog on failure. Updates UI with loading message (msgstring 0x7a). 0x00D07030 542 process_skill_list_packet game_core Processes a skill list packet (opcodes 0x10f, 0xb32, 0x235, 0x29d). Iterates through 0xf-byte skill entries in the packet, creates CSkillEntry objects, validates skill IDs (0-7999 or extended), gets skill names and AP costs from CSkillManager, then dispatches to the appropriate skill tree handler based on packet opcode. Creates CDataTable singleton if needed, then recalculates item bonus dirty flags. 0x00D07250 283 handle_single_skill_update game_core Handles a single skill update packet. Creates a CSkillEntry with the given skill ID, level, and attributes. Routes to the appropriate skill tree update function based on whether the skill ID is a homunculus skill, guild skill, or regular skill. Creates CDataTable singleton if needed, recalculates item bonus dirty flags. 0x00D07370 593 handle_npc_chat_message game_core Handles an NPC/overhead chat message. Parses the chat string to extract speaker name (before ':') and message text (after ':'). Converts color from network byte order to RGB. Looks up or creates tooltip for the NPC, dispatches the message to chat windows (types 3, 1, 0x13) via CUIWindowMgr. 0x00D075D0 325 spawn_or_update_npc_entity game_core Spawns or updates an NPC entity on the map. Converts the NPC GID to string via _itoa, looks up existing NPC via CBGMManager. If not found, allocates a 400-byte object, constructs it, and adds to the entity vector. Then calls the NPC's virtual method to set position, name, and attributes. 0x00D07720 31 is_wedding_class_id game_core Returns 1 if the job class ID is 0x28 (Wedding Groom) or 0x2a (Wedding Bride), 0 otherwise. Used to check if a character is in wedding costume. 0x00D07740 73 get_job_gender_override game_core Returns a gender override for specific job classes. Bard/Dancer variants (0x13, 0xfb4, 0xfca, 0xfe4, 0xfeb, 0x1008, 0x10a7) return 1 (male). Gypsy/Minstrel variants (0x14, 0xfb5, 0xfcb, 0xfe5, 0xfec, 0x1009, 0x10a8) return 0 (female). Other classes return param_2 (default gender). 0x00D07890 227 handle_entity_name_display game_core Handles displaying an entity's name/text. Builds a display string via get_random_monster_talk_line, compares it with a default string. If different, updates the entity's overhead display via vtable call and optionally dispatches to chat window (type 1) if game settings 0x72 and 0x94 are both disabled. 0x00D07980 23 dispatch_whisper_response_packet game_core Thin wrapper that extracts a byte at offset+2 (result type) and a dword at offset+3 (param) from a whisper response packet and forwards them to CNetwork__handle_whisper_response for processing. 0x00D079A0 1741 CNetwork__handle_whisper_response network Handles whisper message responses from the server. Switch on param_2: case 0 = successful whisper send (decrypts message, formats "[To name] : msg" or "[To name] >> msg", dispatches to chat UI and log), case 1/2/3 = error codes (player offline/blocked/etc, formats error messages with msg IDs 0x94/0x95/0x96), default = unknown error with extended formatting. Checks valid player name and map name for different display formats. 0x00D08080 92 handle_entity_position_update game_core Handles an entity position update packet. Checks if the entity ID at offset+2 is valid via validate_entity_id_for_interaction, then looks up the map entity via CBGMManager. If found, calls vtable method 8 to update position with coordinates from offsets +6 and +10. 0x00D080E0 34 dispatch_buyingstore_purchase_packet game_core Thin wrapper that extracts fields from a buying store purchase packet (item slot at +2, count at +4, timer at +10, buyer ID at +6, price at +14) and forwards to CNetwork__handle_buyingstore_purchase for processing. 0x00D08110 594 CNetwork__handle_buyingstore_purchase network Handles a buying store purchase event. Looks up the item by slot, creates a UI window (type 0x101), dispatches UI notification, formats a chat message with item name and count (msg ID 0xE7), notifies vending windows. Checks field 0x175C and plays steal sound effect if applicable. Handles shop window state transitions. 0x00D08380 3 null_stub_00d08380 crt Empty function that immediately returns, no operation performed 0x00D08390 565 CNetwork__handle_map_server_change network Handles a map server change packet. Extracts the new map name (from packet+0x1C as UTF-16) and server address (from packet+2 as UTF-16), converts to std::string, then calls handle_map_server_connect to initiate the server transition. 0x00D085D0 33 handle_raw_data_packet game_core Passes raw packet data (offset+4, length from short at offset+2 minus 4) to null_stub_0076c670 for processing. 0x00D08600 31 send_2byte_packet_a game_core Sends a 2-byte packet (just the opcode) via CNetworkSession. Gets the network session from FUN_00c7d7d0 first. 0x00D08620 31 send_2byte_packet_b game_core Sends a 2-byte packet (just the opcode) via CNetworkSession. Identical to send_2byte_packet_a, used for a different packet opcode. 0x00D08640 35 dispatch_vending_item_sold_packet game_core Thin wrapper that extracts fields from a vending item sold packet (target GID at +0x14, source at +2, count at +6, values at +8/+0xc/+0x10) and forwards to CNetwork__handle_vending_item_sold for processing. 0x00D08670 425 CNetwork__handle_vending_item_sold network Handles notification that an item was sold from the player's vending shop. Looks up item by ID string, gets item class/level info, creates UI window (type 0x102), dispatches UI notifications. Updates both shop windows (buyer and seller sides). Plays steal sound effect if sound enabled. Checks field 0x175C for shop state transition. 0x00D08820 202 handle_camera_info_packet game_core Handles camera info/debug packet. Type 1: toggles camera debug info display (window 0x121), shows "Camera Info On/Off" message. Otherwise: sets 3 camera parameters (floats at +3, +7, +0xb) into the camera object at param_1+0xd0 (offsets 0x4c, 0x48, 0x44). 0x00D08910 1428 CNetwork__main_packet_dispatch_loop network Main network packet receive and dispatch loop. Checks connection state, reads packets from the network socket, dispatches them via a jump table indexed by (packet_id - 0x73) for IDs in range 0x73-0xC44. Handles: hourly play-time warnings (encrypted TLS strings), replay recording (mode 2), replay playback (mode 7), and connection loss detection. The jump table at 0x00d14aa4 contains 0xBD2 entries covering all known packet handlers. 0x00D0C852 1 CNetwork__create_window_and_process_packet_loop network WARNING (jumptable): Unable to track spacebase fully for stack 0x00D0CB7F 1 CNetwork__parse_favorite_items_and_process_packets network WARNING (jumptable): Unable to track spacebase fully for stack 0x00D0E183 1 CNetwork__dispatch_chat_and_process_packets network WARNING (jumptable): Unable to track spacebase fully for stack 0x00D1460D 1 bad_instruction_halt game_core Invalid/misaligned code fragment - likely data misidentified as a call target 0x00D17AD0 274 schedule_timed_ui_event_type5 game_core Deactivates UI events with counter 5, then if DAT_013896c4 is set, calculates a timer interval (server time to target time in 100ns units, divided by 10000 for ms). If the interval is positive and non-zero, allocates a 0x30-byte timer event and reactivates it via CUIEventManager. 0x00D17BF0 274 schedule_timed_ui_event_type6 game_core Deactivates UI events with counter 6, queries quest visibility, then schedules a timer event similar to schedule_timed_ui_event_type5. Uses quest elapsed server time for the timer calculation. 0x00D17D10 18 show_no_packet_encryption_error game_core Displays an error messagebox with "No Packet Encryption" text. Likely called when the client detects the server doesn't support packet encryption. 0x00D17D30 1009 CNetwork__handle_connection_refused network Handles connection refused/disconnect reason packets. Disconnects the network socket, then switches on reason code (byte at param_2+2): 0=banned(msg 3), 1=server full(msg 4), 2=already logged in(msg 5), 3=outdated client(msg 0xF1), 4=banned(msg 0x108), 5=wrong version(msg 0x131), 9/10=service messages, 0xF=maintenance(msg 0x243), 0x6E/0x71/0x73=additional error codes. Default case formats a generic error. Shows dialog box and transitions to disconnected state. 0x00D18AB0 232 CReportManager__insert_or_update_entry ui_windows Inserts or updates an entry in the report manager's red-black tree (at offset 0x7FC0). Uses lower_bound to find the insertion point. If the key doesn't exist, allocates a new 0x18-byte node, inserts it. Sets the data field (offset 0x14) to param_3. 0x00D18BA0 35 update_entity_effect_param game_core Looks up a map entity by ID via CBGMManager. If found, calls FUN_00cc2050 with param_2 to update an effect parameter on the entity. 0x00D18BD0 318 CNetwork__recv_character_stats_update network Receives and stores character stat update packets. param_3=0: copies 0xFC bytes (63 dwords) to global player stats at DAT_01732ae8, plus additional fields at +0xFC through +0x109. param_3=1: copies to secondary stats buffer at DAT_01732be4. Notifies the player entity window via virtual call 0x8F with the stat delta. 0x00D18D10 580 CNetwork__apply_status_bitmask_effects network Applies visual effects based on status bitmask changes. Initializes two lazy maps on first call: bitmask-to-msgstring and packet-to-msgstring. Iterates the bitmask map, checking each bit against param_2. For each matching bit, calls handle_character_appearance_data to apply/remove the visual effect. Also checks a secondary map for specific status IDs. Skips status IDs 0x377/0x378/0x379. 0x00D18F60 158 CNetwork__send_equipment_card_data network Iterates the equipment card data map at this+0x1F0 and sends card information to the UI window (DAT_014a684c). For each entry with a non-zero card count (short at +0x1A), dispatches a virtual call 0x1E5 with card slot, card count, item type, and option values. 0x00D19000 906 CNetwork__insert_or_update_entity_record network Inserts or updates an entity record in a red-black tree map keyed by entity ID. If the key doesn't exist, allocates a new 0x218-byte node via CPacketManager__complex_handler and inserts it. Copies extensive entity data from param_3: 7 strings, multiple short/int fields covering stats, appearance, position etc. Total record size ~0x200 bytes with strings and vectors. 0x00D19390 514 CNetwork__recv_ranking_list_display network Handles received ranking list packet. Looks up ranking type by short at param_1+2 in a lazily-initialized ranking type map. Displays top 10 entries formatted as rank/name/points. Each entry is 0x18 bytes (name) + 4 bytes (points) at param_1+0xF4. Shows player's own ranking points at end. 0x00D195A0 48 dispatch_skill_entry_from_packet game_core Extracts skill entry fields from a packet buffer and forwards to create_and_register_skill_entry. Fields: skill ID (+2), level (+8), type (+4), flag (+0xe), range params (+10, +0xc, +0xf). 0x00D195D0 265 CNetwork__recv_quest_result_message_00d195d0 network Handles quest/item result message packet. Type 0 (short at +2): stores global data (DAT_01738258/5c/01733d28) and refreshes item display. Type 2: msgstring 0x998. Type 3: msgstring 0x9a1. Type 4: msgstring 0x9b9. Default: msgstring 0x996. Non-zero types display message in chat with color 0xFF. 0x00D196E0 236 CNetwork__recv_quest_result_message network Handles quest result message packet. Switches on result type (short at +2): type 0 stores quest data (DAT_01738258/5c/01733d28) and refreshes display. Type 1: msgstring 0x997. Type 3: msgstring 0x9b9. Default: msgstring 0x996. Non-zero types display the message in chat with color 0xFF. 0x00D197F0 231 CNetwork__recv_item_search_result_message network Handles item search/town info result packet. Type 0 (short at +10): stores data, toggles/creates window 0x113. Type 2: displays msgstring 0xbd7. Default: displays msgstring 0x996 error. 0x00D198F0 561 CNetwork__recv_skill_ranking_list network Processes skill/ranking list from packet. Iterates items checking skill IDs (guillotine/rune), builds ranking records with item names. Creates UI windows 0xA0 and 0xA1 to display results. 0x00D19B30 935 CNetwork__recv_character_flags_and_features network Receives character flags and feature unlocks. Extracts bit flags from dword at +4, stores each flag via CReportManager (IDs 7-0x14, 0x28-0x29). Checks job class for specific features (Guillotine Cross 0xFCF, Soul Reaper 0x1082, Hyper Novice 0x108F/0x1091/0x10CE). If feature flag 0x29 not set, shows msgstring 0x94D. Sends response packet 0x447. 0x00D19EF0 73 CNetwork__recv_entity_timer_effect network Handles entity timer effect packet. Looks up entity by ID (offset +2) via CBGMManager. If found, calls entity virtual method at vtable+8 with event type 0x52 and timer duration (offset +10, multiplied by 1000 for milliseconds). Applies a timed visual/status effect to the entity. 0x00D19F40 304 CNetwork__recv_skill_list_packet network Handles received skill list packet. Parses variable-length list: packet length at offset +2, each entry is 0xF bytes. Builds a vector of skill records, then calls process_skill_list_packet with the packet type (short at offset 0) and the accumulated vector. Cleans up the vector after processing. 0x00D1A070 48 dispatch_single_skill_update_from_packet game_core Broadcasts a message to all entities in the entity list at offset 0x604. Iterates the doubly-linked list and calls each entity's virtual method 0x94 with message code 0x3C and param_2 as data. 0x00D1A0A0 36 CGameMode__open_ui_window_by_command_type_00d1a0a0 game_core Opens a UI window based on command type byte. Type 0: checks window 0xFB, if not found sends packet 0x9AB. Type 1: closes window 0x10, opens 0x119. Type 2: opens 0x11C. Type 3: opens 0x11E. Type 9: opens 0x158. 0x00D1A1C0 94 handle_ranking_result_message game_core Displays a ranking result chat message. Formats a message string (msgstring IDs 0x385-0x386, 0x39e, 0x3b9) with kill/death counts from the packet, using different colors per ranking type (0: gray, 1: green, 2: red, 3: gray). Dispatches to chat window type 1. 0x00D1A330 484 CNetwork__recv_whisper_message_header network Receives whisper message header packet. Extracts sender name from param_1+0x21 (length from short at param_1+2), builds message buffer with sender/content, and delegates to CNetwork__process_whisper_message (FUN_00d1a520) for display and logging. 0x00D1A520 4462 CNetwork__process_whisper_message network Processes an incoming whisper message. Handles both sent and received whispers. Checks if sender is a valid player name, map name, or forbidden name. For valid whispers: displays in chat, handles item links, creates tooltip entries, manages chat log recording. For self-messages (sent whispers): prepends '[Friend]' tag. Supports XOR-decrypted packet comparison for server messages. 0x00D1B690 509 CNetwork__recv_buyingstore_item_list network Receives buying store item list from server. Iterates items (count at param_1+4), creating shop item entries. Each item is 8 bytes (item ID at +8, price at +0xC). Items are added to per-type linked lists indexed by short at param_1+6 (up to 11 types). Uses CItemInfoMgr for item lookups and CItemDesc for name resolution. 0x00D1B890 503 CNetwork__recv_map_change_with_replay network Handles map change packet with replay/BGM state management. Stops replay if playing (state 2->3), pauses if recording (state 7->8). Syncs server tick, extracts position from 3 packed bytes, builds RSW filename, sets next map name, flushes network socket. If ping logging enabled, writes server/IP/map/time to PingLog.txt and clears ping history list. 0x00D1BA90 392 CNetwork__recv_map_change_simple_00d1ba90 network Handles simple map change packet (no replay state management). Syncs server tick, extracts position from 3 packed bytes, builds RSW filename, sets next map name, flushes network socket. If ping logging enabled, writes server/IP/map/time to PingLog.txt and clears ping history list. Simpler variant of recv_map_change_with_replay. 0x00D1BC30 90 handle_emotion_expansion_buy_success game_core Handles successful emotion expansion purchase. Starts quest by ID from packet (+2) with optional parameter (+5 if flag at +4 is set). Displays success message via EMSG_EMOTION_EXPANTION_BUY_SUCCE callback, dispatches to chat, and schedules UI event type 5. 0x00D1BC90 104 handle_entity_body_state_change game_core Handles entity body/option state change packet. If entity ID matches local player (DAT_01733c3c), uses the player object directly; otherwise looks up via CBGMManager. Calls vtable method 8 with command 0xa0 and two short values from offsets +6 and +8. 0x00D1BD00 74 handle_emotion_expansion_error game_core Handles emotion expansion purchase failures. Displays error messages based on error code at offset+4: 0=not enough, 1=date fail, 2=already owned, 3=another fail, 4=not enough alt, 5=not yet sale time, default=unknown. Uses EMSG callback strings and dispatches to chat with red color (0xff). 0x00D1BE10 114 handle_shop_purchase_result game_core Handles shop purchase result packet. Type 0: if short at +2 is 0, deducts zeny and refreshes UI; otherwise constructs shop item and updates inventory. Types 1, 3, 4: display error messages via CUIWindowMgr. Clears shop processing flags. 0x00D1BFD0 115 handle_mail_send_result game_core Handles mail send result packet. Byte at offset+2: 0=success (clears chat, shows msgstring 0x38), 1=failure (clears chat, shows msgstring 0xdd). Messages displayed in red (0xff) via chat window type 1. 0x00D1C050 174 handle_trade_close_packet game_core Handles trade window close/cancel packet. If type 2: shows msgstring 0x9f5 dialog. Closes trade window (0x21) with command 6/0xc9. Resets trade state globals DAT_01738268/26c/270 to 0 and calls FUN_00dd8ca0. 0x00D1C100 304 CNetwork__recv_search_store_result network Handles search store (buying store) result packet. Case 0: success - dispatches chat message with msg 0x40 (yellow), opens search store window with item data. Case 1: shows msg 0x41 (red error). Case 2: shows msg 0x42 (red error). Sets field 0xfc to 0 and 0x3fc to 1 on success. 0x00D1C230 117 CNetwork__recv_item_composition_result network Handles item composition (combine) result. Gets message text from string table based on success/fail flag at offset+2. Message IDs 0x97 or 0x98. Displays result in green (0x32ff) chat message. 0x00D1C2B0 98 handle_party_invite_result game_core Handles party invite result packet. Types 0-2,4: display error messages (msgstrings 0x45-0x48). Type 3: opens party window (0x271b), shows member info. Type 5: formats player name with msgstring 0x6ac. Messages in red (0xff). 0x00D1C4E0 34 handle_party_invite_result_alt game_core Alternative party invite result handler. Same case structure as handle_party_invite_result but without the type 5 name format case. Type 3 passes 0 instead of packet fields to the party window. 0x00D1C640 2478 CNetwork__recv_mail_item_list network Processes mail item list packet. Handles two types (0 and 1): parses item entries with ID, type, amount, card slots, builds tooltip strings via CItemDB. Stores items into mail data vectors via CNetwork__recv_mail_data. Type 1 also triggers auction data recv and NPC dialog. Type 2/3: shows error messages (0x9EF, 0x718). 0x00D1CFF0 567 CNetwork__recv_barter_item_list network Processes barter/extended vending item list packet. Loops through items (0xB byte records), extracts item data, builds item info structs. Opens 3 UI windows (0xB1, 0xB2, 0xB3) and sends setup messages. Sets field 0x24C to 1 when complete. 0x00D1D230 48 CGameMode__reset_local_chat_buffer game_core CGameMode: reset local chat buffer 0x00D1D2F0 358 CNetwork__recv_vending_result network Handles vending operation result. Case 0: closes vending window (0x2D), refreshes item list in window 0x29, sets field 0x93 to 1. Case 1: closes shop windows (0x28, 0x2B, 0x2C), shows dialog box with msg 0xA4F. Case 3: closes all shop windows, shows error msg 0xC9D in red. 0x00D1D460 267 CNetwork__recv_auction_result_00d1d460 network Handles auction result packet. Parses result type from offset +2 and displays appropriate success/error messages via CUIWindowMgr chat dispatch. Updates auction-related UI windows and global state based on the operation result code. 0x00D1D570 30 CNetwork__recv_deal_status_notification network Handles deal status notification. Simple 30-byte function that reads a short value from the packet and dispatches it to the trade window. Minimal processing - just forwards the deal status code to the UI system. 0x00D1D690 1 CNetwork__handle_party_chat_message network CNetwork: handle party chat message 0x00D1D9D0 373 CNetwork__recv_character_rename network Processes character rename response. Extracts new name string from packet (offset 6 to 0x1E), sets it on the sprite via SpriteAction__set_node_string_field_0. If the renamed character ID matches the local player (DAT_01733648), updates the local display name and refreshes UI. 0x00D1DB50 798 CNetwork__recv_instance_map_change network Handles instance map change packet. Type 3: extracts map name from packet (offset 8-0x20), builds string, calls handle_map_change_notification with map ID from offset 4. Type 4: gets message text and calls handle_map_change_notification. Manages STL string construction/destruction for map name. 0x00D1DE70 307 CNetwork__recv_map_change_simple network Handles simple map change packet. Extracts map name string (offset 6-0x1E) and map ID (offset 2), then calls handle_map_change_notification. 0x00D1DFB0 1044 CNetwork__recv_player_spawn_data network Processes full player spawn/appearance data packet with 4 name strings (offsets 6-0x1E, 0x1E-0x36, 0x36-0x4E, 0x4E-0x66). Builds complete node data and inserts into sprite system via SpriteAction__insert_full_node_data with entity ID from offset 2. 0x00D1E3D0 573 CNetwork__recv_player_update_data network Processes player update data packet. Extracts 2 name strings (offset 0xA-0x22 and 0x22+), entity ID from offset 2. Inserts into sprite system. If entity matches local player (DAT_01733648), updates display name and refreshes UI. 0x00D1E610 415 CNetwork__recv_stat_info_debug network Displays debug stat information in chat. Shows STR/AGI/VIT/INT/DEX/LUK values and their standard variants in alternating yellow/orange colors. Also shows attPower, refiningPow, MAX HP/SP/weight, itemdefPow, plusdefPow, mdefPow, plusMdefPow, hit/avoid/flee values. 0x00D1E7B0 133 handle_unequip_item_result game_core Handles unequip item result packet. Sets cooldown timer to now-2000ms at offset 0x108. Type 0: checks if target location is a valid equip slot via is_valid_equip_location_flag; if so calls unequip_item_at_location, otherwise calls CShop__unequip_item_from_slot. Type 1: shows error message 0x7A1 ("cannot use") in red. 0x00D1E840 139 handle_skill_use_fail_message game_core Massive skill use failure message handler with ~100+ cases. Maps failure type byte at offset+0xd to message string IDs (0xca-0x1119). Special cases: type 0 sub-switches on skill count at +2 (values 1,0x1b,0x32,0x34). Types 0x47/0x48 build item tooltip strings. Types 0x49/0x4a format skill names. Type 0x55 formats remaining uses. Dispatches all to chat window type 1 with red color. 0x00D1F400 307 CNetwork__recv_equip_item_result network Handles equip item result packet. Case 0: success - looks up item by slot (param_3), sets equip position (param_4) and param_5, then calls CShop__equip_item_to_slot to apply. Sets timer to timeGetTime()-2000 at offset 0x104. Case 1: error msg 0x7A1 (equip failed/rejected, red text font 7). Case 2: error msg 0x174 (already equipped, red text font 7). 0x00D1F550 27 CGameMode__enable_periodic_event_if_active game_core Conditional call to FUN_00e493e0 with param_1 if non-zero. Likely an optional notification or event trigger. 0x00D1F570 40 CNetwork__recv_quest_display_update network Handles a packet system update by calling CPacketSystem__method_0067b800 with dword at +2 and byte at +6, then calls the SEH wrapper. 0x00D1F5A0 463 CNetwork__recv_inventory_item_added network Handles inventory item added notification. Parses item data: item index (offset 2), amount (offset 4), item ID (offset 8), card slots, refine level, and flags. Builds item info struct and adds to inventory via FUN_00dd7b80. 0x00D1F770 511 CNetwork__recv_cart_item_added network Handles cart item added notification. Parses item data from packet: index (offset 2), count (offset 7), item ID (offset 6), card slots, flags. If index is 0 calls FUN_00dffd20 (clear/init). Otherwise builds item info and copies to cart via CShopItem__copy_construct + FUN_00e00320. 0x00D1F970 559 CNetwork__recv_cart_item_added_with_options network Handles cart item added with item options. Same as recv_cart_item_added but includes option data (offsets 0x1E-0x36). Parses up to 5 item options with ID+value pairs. Counts non-zero options and stores them in a compact array before adding to cart. 0x00D1FBA0 139 handle_friend_request_result game_core Handles friend request result packet. Type 0: success - shows friend added message (msgstring 0x335) in yellow, creates friend list entry. Types 1,3,4,6,7,8: show various error/status messages with friend name formatting. Type 2: shows simple error message (0x333). 0x00D1FDA0 461 CNetwork__recv_storage_item_added network Handles storage item added notification. Parses item data: index (offset 2), amount (offset 4), item ID (offset 8), card slots, refine level, flags. Builds item info struct and adds to storage via FUN_00dd72c0. 0x00D1FF70 526 CNetwork__recv_storage_item_added_with_options network Handles storage item added with item options. Same as recv_storage_item_added but includes option data (offsets 0x20-0x38). Parses up to 5 item options with ID+value+param fields. Counts non-zero option slots and builds compact option array before adding to storage. 0x00D20180 545 CNetwork__recv_storage_item_added_v3 network Storage item added v3 - includes item options, grade byte (offset 0x39), and extended data. Parses item info, card slots, refine, options (up to 5), and grade field. Adds to storage via FUN_00dd72c0. 0x00D203B0 245 CNetwork__recv_item_pickup_to_storage network Handles item pickup result by adding the item to storage/cart collection. Constructs item info struct from packet: item index (offset +2), amount (offset +4), item ID (offset +8), identify flag (+0xc), refine (+0xd), equip flag (+0xe), 4 card slots (+0xf/+0x13/+0x17/+0x1b). Passes constructed struct to CItemCollection__add_or_update_cart_item. 0x00D204B0 528 CNetwork__recv_inventory_item_added_with_options network Inventory item added with options. Parses item data with up to 5 item options (ID+value pairs from offsets 0x20-0x38). Includes bound flag at offset 0x38. Adds to inventory via FUN_00dd7b80 with flag=1. 0x00D206C0 547 CNetwork__recv_inventory_item_added_v3 network Inventory item added v3 - includes item options, grade byte (offset 0x39), and extended data. Like recv_inventory_item_added_with_options but with additional grade field. Adds to inventory via FUN_00dd7b80. 0x00D20900 758 CNetwork__recv_guild_member_info network Processes guild member information packet. Extracts member name (offset 0xF, 24 chars), performs town info search, copies trade data strings. Compares member ID with local player. If different player and flag==1, sends window message 0x40. Otherwise checks if guild name changed and opens guild UI. 0x00D20C00 750 CNetwork__recv_quest_info network Processes quest info packet. Parses quest header with timestamps (start/expire dates via localtime32), quest objectives with item/monster IDs. Handles special quest objective types (0x1099=msg 0xDE6, 0x109A=msg 0xDE7, 0x287B=RSW map name lookup). Opens quest window (0x8F) with msg 0x55E. 0x00D20EF0 748 CNetwork__recv_quest_info_v2 network Quest info v2 packet handler. Similar to recv_quest_info but with different record size (0x2A vs 0x2E per objective) and 64-bit quest counts. Same quest objective type handling and UI setup. 0x00D211E0 46 dispatch_skill_entry_from_packet_alt game_core Alternative skill entry packet dispatcher. Extracts fields at different offsets than dispatch_skill_entry_from_packet (flag at +0x26, uses +8 for both level and last param). 0x00D21220 486 CNetwork__recv_broadcast_message network Handles broadcast/announce message from server. Variable-length packet (size at offset 2). Copies message data, performs town info search if needed. If chat logging option (0x94) is disabled, displays in chat with purple color (0xFF9DFF) and font 5. Optionally logs to chat file. 0x00D21410 109 CNetwork__recv_map_loaded network Handles map loaded notification packet. Reads entity ID from offset +2 and checks against current/secondary map IDs. Sets global flags DAT_01737c4c and DAT_01737ce8 when the loaded entity matches the current or secondary map. Dispatches notification to the game system to confirm the map has finished loading for the specified entity. 0x00D21480 186 CNetwork__recv_hotkey_list_00d21480 network Receives hotkey/shortcut list packet. Contains 7 int slots (offsets 2-0x1E). Counts non-zero entries, then sends each non-zero hotkey ID to window 99 via message 0x1F. 0x00D21540 98 CNetwork__recv_booking_result network Handles booking result packet. Reads a result code from offset +2 and dispatches appropriate success/error message via CUIWindowMgr. Displays booking operation outcome to the player through the chat system. 0x00D215B0 602 CNetwork__recv_achievement_list network Receives achievement list packet. Clears existing report data. Parses variable-length entries (0x1F bytes each): converts ID to string, extracts status flags, level/score data. Creates TownNpcInfo entries and appends to report storage. Opens windows 0x14E and 0x14F. 0x00D21810 440 CNetwork__recv_achievement_list_v2 network Achievement list v2 with smaller record size (0x19 bytes per entry). Same logic as recv_achievement_list but with different field layout and 64-bit achievement counts. Opens achievement windows 0x14E and 0x14F. 0x00D219D0 503 CNetwork__recv_npc_chat_message network Handles NPC overhead chat message. Variable-length packet (size at offset 2, text at offset 0x20). Performs town info search on message text. Checks entity via ret_zero and game settings (0x72 for NPC chat filter, 0x94 for log filter). Displays in purple (0x9B00FF) or sends to entity bubble. Logs to chat file if enabled. 0x00D21BD0 124 CNetwork__recv_entity_class_change network Handles entity class change packet. Reads entity ID (offset +2) and new class byte (offset +0x1E). If entity is local player, stores class byte to DAT_0173355c. Otherwise looks up entity via CBGMManager, updates entity+0xfb with new class. If class differs from local player's class, creates dialog bubble. If same class, unregisters existing dialog window. 0x00D21C50 94 CNetwork__recv_entity_position_update_00d21c50 network Handles entity position update packet. Reads entity ID (offset +2) and new X/Y coordinates. Looks up entity and updates its position on the map. Compact packet format for simple position corrections without full movement data. 0x00D21CB0 28 set_walk_delay_params game_core Stores two short values from packet offsets +2 and +4 into global walk delay parameters DAT_01733560 and DAT_01733564. 0x00D21CD0 45 handle_other_entity_move_packet game_core Handles entity move packet for non-local entities. If entity ID at +2 is not the local player (DAT_01733c3c), dispatches virtual method 0x18 with command 0x3f and coordinates from offsets +0x20 and +0x22. 0x00D21D00 118 CNetwork__recv_skill_use_result network Handles skill use result packet. Reads skill ID, target ID, and result code from the packet. Dispatches the skill result to the game system, handling success/failure display for skill casting outcomes. 0x00D21EB0 1 CNetwork__handle_whisper_message_with_links network CNetwork: handle whisper message with links 0x00D223F0 3306 CNetwork__recv_chat_message_complex network Complex chat message handler. Parses variable-length chat text, detects message type by first 4 chars (lowercase compared against multiple prefixes). Handles regular chat, whisper, party, guild messages. Processes item links, word wrapping, chat logging. Supports '#' and ':' delimiters for sender/channel separation. Town info search for special text. 0x00D230E0 259 CNetwork__recv_colored_chat_message network Receives server chat message with explicit color. Variable-length text starts at offset 9. Color from offset 5 (DWORD), font/type from offset 4 (byte). Dispatches to chat window if text is non-empty. 0x00D231F0 910 CNetwork__recv_item_pickup_notification network Handles item pickup notification. Builds item info and tooltip, uses xor_decrypt_buffer for obfuscated Lua function name. Calls Lua function to process pickup. Builds tooltip string with message 0x1108/0x1109 (based on flag), displays in yellow (0xFFFF). Also adds tooltip entry to tooltip manager. 0x00D23580 1519 CNetwork__recv_item_exchange_notification network Handles item exchange/trade notification. Parses item data with variable-length name string. Type 0: builds old+new item tooltips with msg 0x65C. Type 1: copies additional string data. Type 2: shows msg 0x74C (item created). Handles refine count display with msg 0xF91. Shows in yellow (0xFFFF) chat and adds tooltip entry. 0x00D23B70 676 CNetwork__recv_item_refine_notification network Handles item refine/upgrade notification with card slot data. Builds card data string (24 bytes from offset 8), gets old and new item tooltips. Shows msg 0x65C (item exchanged) with tooltip text. Displays in yellow (0xFFFF) and adds tooltip entry to tooltip manager. 0x00D23E20 719 CNetwork__recv_item_upgrade_notification network Handles item upgrade notification with two item data blocks (offsets 4-0x1F and 0x20-0x3F). Builds tooltips for both old and new items, shows msg 0x65C. Displays in yellow (0xFFFF) with tooltip entry. 0x00D240F0 675 CNetwork__recv_item_created_notification network Handles item creation notification. Builds card data and item tooltip, shows msg 0x74C (item created). Displays in yellow (0xFFFF). Adds tooltip entry to tooltip manager list. Uses linked list insertion for tooltip entries. 0x00D243A0 138 CNetwork__recv_quest_timer_list network Receives quest timer list from server. Sets server time offset via CEmotionMgr__set_server_time_offset and timezone via CEmotionMgr__apply_timezone_to_item_timers. Parses variable-length list of quest timers (7 bytes each: 2-byte quest ID + 1-byte active flag + 4-byte expire time). For each active timer, calls CEmotionMgr__add_or_update_item_timer. Schedules timed UI events (types 5 and 6). 0x00D24430 124 CNetwork__recv_entity_speech_bubble network Handles entity speech bubble display. Copies text string (80 chars max from offset 6). Looks up entity by ID (offset 2) via CBGMManager__find_map_by_id_no_cache, sends text to entity via virtual method 8 with message 0x8D. 0x00D244B0 354 CNetwork__recv_damage_display network Handles damage number display packet. Looks up entity in damage tree by ID (offset 2). If found, updates existing entry with new position (offsets 6,8) and decay timer (0x78). If not found, creates new tree node with damage data. Uses binary tree for entity damage tracking. 0x00D246B0 340 CNetwork__recv_storage_item_list network Receives storage item list. Parses 0x22-byte records per item: item ID, index, type, amount, card slots (4x DWORD), refine, flags, and equip info. Builds item info structs and adds each to storage via FUN_00dd72c0. Calls FUN_00dff080 (storage refresh) at end. 0x00D24810 363 CNetwork__recv_storage_item_list_v2_00d24810 network Storage item list v2 with 0x26-byte records. Same as recv_storage_item_list but with additional fields: grade (2 bytes) and extra parameter (2 bytes). Adds to storage via FUN_00dd72c0. 0x00D24980 331 CNetwork__recv_storage_item_list_basic network Basic storage item list with 0x1E-byte records. Minimal item data: item ID, index, type, amount, card slots, refine, flags. No grade or extra params. Adds to storage via FUN_00dd72c0. 0x00D24AD0 355 CNetwork__recv_storage_item_list_v3_00d24ad0 network Storage item list v3 with 0x25-byte records. Extended data: includes bitfield flags byte (bound, favorite, trade restriction bits), grade, extra params. Adds to storage via FUN_00dd72c0. 0x00D24C40 682 CNetwork__recv_storage_item_list_v4 network Storage item list v4 with 0x29-byte records. Extended format with bound/favorite/trade restriction flags (bitfield byte), equip info, grade, refine. Adds to storage via FUN_00dd72c0. 0x00D24EF0 731 CNetwork__recv_storage_item_list_with_options network Storage item list with item options. 0x43-byte records including up to 5 item options (ID+value pairs). Also includes bound/favorite/trade flags. Most complete storage item format. Adds to storage via FUN_00dd72c0. 0x00D251D0 315 CNetwork__recv_storage_equip_list network Storage equip list (0x20-byte records). Equipment items with card slots, refine, bound/favorite flags, expire time. Adds to storage via FUN_00dd72c0. 0x00D25310 325 CNetwork__recv_storage_equip_list_v2 network Storage equip list v2 (0x22-byte records). Same as equip list but with larger record size for additional fields. Adds to storage via FUN_00dd72c0. 0x00D25460 329 CNetwork__recv_storage_equip_list_basic network Basic storage equip list (0x1C-byte records). Minimal equip data: item ID, index, amount, equip slot, card slots, refine flag. Adds to storage via FUN_00dd72c0. 0x00D255B0 325 CNetwork__recv_storage_equip_list_v3 network Storage equip list v3 (0x20-byte records). Like basic but includes expire time field. Adds to storage via FUN_00dd72c0. 0x00D25700 301 CNetwork__recv_storage_equip_list_minimal network Minimal storage equip list (0x0C-byte records). Smallest equip format with no card slots (zeroed). Only item ID, index, amount, equip, and refine. Adds to storage via FUN_00dd72c0. 0x00D25850 206 CNetwork__recv_item_identify_result_00d25850 network Handles item identify result. Calls FUN_00dda510 with item index. Looks up item name by ID (offset 4), shows msg 0x4EA with item name in yellow (0xFFFF). Also dispatches secondary message (type 0x13). 0x00D25920 337 CNetwork__recv_item_expiration_notification network Handles item expiration/rental duration notification. Looks up item name by ID (offset 2). Calculates remaining duration in minutes from seconds (offset 6). If minutes > 0, shows msg 0x4E8 with item name and minutes remaining. If seconds < 60, shows msg 0x4F6 with seconds remaining. If exactly 1 minute left, also shows warning msg 0x4E9 (item about to expire). All displayed in yellow (0xFFFF). 0x00D25A90 48 handle_entity_vtable_0xc4_update game_core Looks up entity by ID at +2, calls vtable method 0xc4 with dword at +6 and short at +10. Likely updates an entity property via virtual dispatch. 0x00D25AC0 454 CNetwork__recv_npc_dialog_text network Handles NPC dialog text packet. Inserts NPC ID into rb-tree mapping. Extracts text string (variable length from offset 0x11), position data (offsets 0xC-0x10), and display type (offset 0x10). Truncates text to 60 chars max. Sends to window 0x1C via message 0x22. 0x00D25C90 191 CNetwork__recv_entity_speed_update network Updates entity movement speed. Calculates speed as (byte_at_offset8 + 4) * 45. If entity is local player, updates speed at the sprite offset 0x4C. Otherwise looks up entity and sets field 0x13. Sends message 100 with position (short at offset 6). 0x00D25D50 318 CNetwork__recv_trade_partner_info network Processes trade partner information. Looks up partner name, sets trade state flags, shows msg 0x610 with partner name in yellow (0xFFFF) font 0xC. Updates trade tracking state and notifies trading window (0x3C). 0x00D25E90 78 handle_player_class_change_packet game_core Handles player class/job change packet. Type 0: stores entity ID, sets job ID. Type 1: stores value, refreshes job ID and UI. Type 2: stores value, calls zeny refresh. Type 3: updates sprite if value is 0. Types 1-3 show chat messages with format strings. Updates DAT_01457a40 UI if present. 0x00D26080 123 handle_player_stat_change_packet game_core Handles player stat/property change packet with 8 case types. Type 0: stores entity ID, updates job display. Type 1: updates HP, recalculates bonuses, warns if low weight capacity. Type 2: updates SP, refreshes UI. Type 3: updates body style or loads costume sprite. Type 4: updates visual effect. Type 6: equip/unequip slot handling with item bonus recalculation. Type 7: shows confirmation dialog for option 0x128. 0x00D264E0 253 CNetwork__init_map_ui network Initializes map UI after loading. If main windows exist, sends messages 0x20 and 0x3F to reset them. Otherwise resets field 0x24C to 0, stores map ID at 0x2DC, and closes windows 0x10, 0x11, 0xE2. Handles both primary and secondary window sets. 0x00D26600 86 handle_entity_option_change game_core Handles entity option/status change packet. Calls FUN_00e25e60 with entity ID at +2 and value at +6. If local player, also calls FUN_00cc1e70. Otherwise looks up entity and calls FUN_00cc1e70 if found. 0x00D26660 88 handle_party_window_update game_core Updates party window (type 0x271b). Byte at +2: 0 sends command 0x33 (leave party), 1 sends command 0x34 (kicked from party). Both through vtable method 0x94. 0x00D266C0 27 handle_config_setting_response game_core Handles config/setting response packet. Type 0: sets homunculus auto-feed flag, shows msgstring 0x54e/0x54f. Type 1: enables/disables option 0xe7, shows msgstring 0xba2/0xba3, syncs nav checkbox. Types 2-3,5-6: call various settings functions. 0x00D26800 96 handle_homunculus_autofeed_toggle game_core Handles homunculus auto-feed toggle response. Stores byte at +2 into DAT_01737fac, shows msgstring 0x54e (off) or 0x54f (on) in yellow-green, and updates the UI window if open. 0x00D26860 239 CNetwork__recv_quest_complete_00d26860 network Handles quest completion notification. Looks up quest data from packet system by ID (offset 2), copies quest string, updates quest tree, and shows msg 0x64B in yellow (0xFFFF) font 0x13. 0x00D26950 241 CNetwork__recv_item_delete network Handles item deletion from inventory. If auto-looting active (DAT_01457ad8), shows msg 0xAAE in teal and sends window message 0x125 + closes window 0x108. Calls FUN_00dda510 to remove item. Clears field 0x2D0, sets dirty flag 0x5CE. Handles equip bonus removal if item was equipped. 0x00D26A50 176 CNetwork__recv_equip_arrow network Handles arrow/ammo equip notification. Builds item info struct from packet data (index at offset 2, amount at offset 4), calls FUN_00dda690 to update equipped ammo. Sets dirty flag at offset 0x5CE. 0x00D26B00 176 CNetwork__recv_equip_item network Handles equipment equip notification. Builds item info struct (index at offset 2, amount at offset 4), calls FUN_00ddace0 to process equipment change. Sets dirty flag at offset 0x5CE. 0x00D26BB0 342 CNetwork__recv_warp_response network Handles warp/teleport response. Extracts map name (offsets 6-0x1E). Cases 0/1: opens warp window, stores warp target. Case 2: error msg 0x750 (red). Case 3: error msg 0x751 (red). On successful warp (map matches current), resets trade state, clears status, shows msg 0x54 (yellow), closes windows, notifies UI. 0x00D26DC0 136 handle_entity_vanish_packet game_core Handles entity vanish/remove packet. Looks up entity ID in RB-tree, then calls vtable method 8 with command 0x21 (remove). Also closes trade/shop windows if the vanishing entity was the trade partner. 0x00D26E50 477 CNetwork__recv_devotion_targets network Handles Devotion skill target list. If effects enabled (option 8), first clears 5 existing devotion effects (msg 0x6D with effect 0xE8). Then processes 5 target IDs from packet (offsets 6-0x1A). For each non-zero target, creates a Devotion visual effect (0xE8) linking caster to target. Includes NaN overflow check. 0x00D27060 68 handle_entity_reset_command_0x8e game_core Looks up entity by ID at offset+2, calls vtable method 8 with command 0x8e (reset/clear command) and all zeroes. 0x00D270B0 360 CNetwork__recv_entity_death network Handles entity death notification. Sends messages 0x54 (clear target), 0x57 (clear buffs), 0x53 (stop animation) to the entity. If entity state == 8, calls virtual method 0x3C (death animation). For non-local player entities, also removes effect 0x45A. 0x00D27220 128 display_whisper_message game_core Displays a whisper message in chat. Formats msgstring 0x344 with sender name (from FUN_00e08c70) and message text (from packet +2). Clears existing chat then shows in yellow (0xffff00) via chat window type 1. 0x00D272A0 116 handle_homunculus_stats_update game_core Handles homunculus stats update packet. Stores 4 stat values from offsets +6, +0xe, +10, +0x12 into globals, calls FUN_00e49290 with entity ID, and refreshes entity display via vtable method 0x22. 0x00D27320 96 handle_homunculus_stat_change game_core Handles individual homunculus stat change. Switch on type at +2: 5=HP, 6=SP, 7=max HP, 8=max SP. Stores value at +4 into respective global. Refreshes entity display if homunculus ID (DAT_017381f8) is valid. 0x00D273C0 89 handle_entity_option_state_a0 game_core Handles entity option state 0xa0 packet. Looks up entity by ID at +2 (local player uses direct access). Calls vtable method 8 with command 0xa0 and byte value from offset +6. Likely body/sit state toggle. 0x00D27420 1598 CNetwork__recv_npc_shop_data network Handles NPC shop data packet. Resets field 0xFC. Looks up NPC entity, extracts shop strings. If NPC is valid and matches current shop target, parses item list (0x1C bytes/entry) into linked list with name/ID pairs. Sends item list to window 0x1C via messages 0x2B, 0x22, 0x2C. Updates shop state fields 0x3C8-0x404. 0x00D27A60 579 CNetwork__recv_equip_change_notification network Handles equipment change notification. If local player: looks up equipped item tooltip, shows msg 0x514 (equipped item name). For other entities: based on equip slot type (2=shadow, 0x10=costume, 0x20=shadow2, 0x100=4th slot), shows msg 0x515 with appropriate slot name message. All displayed in red (0xFF) font 0xD. 0x00D27EC0 496 CNetwork__recv_inventory_equip_list network Receives inventory equipment list. 0x22-byte records. Clears existing inventory, parses each item with ID, index, type, amount, card slots, refine, flags. Checks if item is equipped via atoi on item name string. Handles both equipped (FUN_00dd6d70) and unequipped (FUN_00dd7030) items. Notifies UI via CUIWindowMgr__notify_language_change. 0x00D280B0 554 CNetwork__recv_inventory_equip_list_v2 network Inventory equip list v2 with 0x26-byte records. Like recv_inventory_equip_list but includes grade and extra fields. Also handles shadow/costume equipment via FUN_00e1d9b0 check and FUN_00e07150. 0x00D282E0 487 CNetwork__recv_inventory_equip_list_basic network Basic inventory equip list with 0x1E-byte records. Smallest equipment format. Same logic as recv_inventory_equip_list but with fewer fields per entry. 0x00D284D0 558 CNetwork__recv_cart_equip_list network Receives cart equipment list with 0x26-byte records. Offset 0x2D into packet has stat data for cart (STR/AGI/VIT/INT/DEX/LUK, weight). Sets global cart stat fields (DAT_01737fb0-DAT_01737fd0). Handles shadow equipment via FUN_00e1d9b0. Opens/creates cart window 0x8B. 0x00D28700 581 CNetwork__recv_cart_equip_list_v2 network Cart equip list v2 with 0x29-byte records. Same structure as recv_cart_equip_list but with additional fields per item. Also includes bound/favorite flags. Same cart stat parsing and window 0x8B creation. 0x00D28950 1355 CNetwork__recv_inventory_item_list_v1 network Packet handler for inventory item list (version 1, stride 0x43). Parses each item entry: type, ID, card slots, refine, equip location, bonus info. Calls CItemInfoMgr, CItemDesc, ItemBonus. Updates player stats (weight, stats, etc.) at global 01737fb0+. Notifies UI via CUIWindowMgr. 0x00D28EA0 1364 CNetwork__recv_inventory_item_list_v2 network Packet handler for inventory item list (version 2, stride 0x43, offset 0x2f). Nearly identical to v1 but with slightly different header offset and includes DAT_01737fd4 field. Parses item entries with slots, refine, bonuses. 0x00D29400 1380 CNetwork__recv_inventory_item_list_v3 network Packet handler for inventory item list (version 3, stride 0x44). Same structure as v1/v2 but with different field offsets per item entry. Includes DAT_01737fd4 field like v2. 0x00D29990 145 CNetwork__recv_emotion_expansion_result network Handles emotion expansion result packet. Reads the result of an emotion/emote expansion operation. Updates the available emote list with newly unlocked emotes and refreshes the emote selection panel. 0x00D29A30 814 CNetwork__recv_shop_cart_list_v1 network Packet handler for shop/cash shop cart item list (version 1). Clears existing carts, iterates items with nested sub-items (card slots). Builds cart entries via CShopManager. Refreshes shop windows 0x155 and 0x156 after loading. 0x00D29D60 533 CNetwork__recv_shop_cart_list_v2 network Packet handler for shop/cash shop cart item list (version 2). Simpler variant with 0x1A stride per item. Clears carts, parses items with sub-items, builds cart entries via CShopManager. Refreshes shop windows 0x155/0x156. 0x00D29F80 159 CNetwork__recv_emotion_use_result network Handles emotion use result packet. Checks result byte at offset+6: 0=success (shows success msg, activates quest), 1=fail (expansion fail), 2=fail (skill level too low). Shows appropriate EMSG_EMOTION messages. Resets flag at this+0x284. 0x00D2A020 66 CNetwork__recv_storage_access_result network Handles storage access/operation result packet. Switch on type at +2: case 1 = storage error (msg 0x6CD, clears storage list, closes windows 0xAE/0xAF). Case 2 = weight check dialog (calculates remaining weight capacity). Case 9 = error msg 0x705 (red). Case 10 = error msg 0xC9D (clears storage, closes windows). All error cases clear chat first. 0x00D2A1F0 153 CNetwork__recv_refine_result network Handles refine/upgrade result packet. Type 3: shows message 0x6CF (refine success). Type 4: shows message 0x6D0 (refine failure). Calls virtual method at vtable+0x18 with param 0x28, then refreshes a window. 0x00D2A290 441 CNetwork__recv_enchant_result network Handles enchant result packet. Type 5: shows msg 0x39. Type 6: builds item tooltip and shows formatted msg 0x6D3 with item name. Type 7: shows msg 0x6D1. Refreshes windows 0xB1, 0xB2, 0xB3 after processing. 0x00D2A450 1344 CNetwork__recv_item_pickup_result network Handles item pickup result packet. Two packet types (0x1A3 and 0x22F). On success (byte=0): shows item obtained message 0x24F with item tooltip. On failure: shows error messages 0xA12 or 0xCD1 with item name and level. For 0x22F success, also triggers BGM map effect. 0x00D2A990 210 CNetwork__recv_msg_string_with_args network Handles message string packet with variable arguments. Gets message text by ID, counts %s format specifiers (DBCS-aware), then formats with 0-3 string arguments from packet data. Dispatches result as white (0xFFFFFF) chat message. Shows 'unknown argument list' on >3 args. 0x00D2AB70 987 CNetwork__recv_friend_list network Handles friend list packet. Iterates entries (32 bytes each), formats friend names, checks online status via util_0060b420. If offline, creates string entry via FUN_00d06bd0. Adds each friend via FUN_00dd6f10. Refreshes friend list display via FUN_00dff060. 0x00D2AF50 64 CNetwork__recv_friend_info_update network Handles friend info update packet. Reads friend character ID (offset +2) and online status (offset +6). Updates the friend's online/offline status in the local friend list data structure. Refreshes the friend list UI if it is currently open. 0x00D2AFA0 952 CNetwork__recv_party_member_list network Handles party member list packet. Parses leader name, performs string search via CTownInfoMgr. Iterates members (0x2E stride each), parsing AID, name, map name, online/offline flags. Adds each member via FUN_00dd70b0. Sets DAT_01737a9c if current player is leader with level 0. Refreshes party display. 0x00D2B360 600 CNetwork__recv_character_status_info network Handles character status info packet. Parses 3 name strings (character name, party name, guild name) with CTownInfoMgr search. Sets extensive global status data at DAT_016d4460+: base stats, job info, exp, level. Compares guild name to check if same guild. Updates packet stream and refreshes all status windows. 0x00D2B5C0 323 CNetwork__recv_skill_list network Handles skill list packet. Clears existing skill data, iterates skill entries (0x25 stride). For each: constructs CSkillEntry, parses skill ID, level, range, upgradable flag. Gets skill name and AP cost. Special handling for skill IDs 10000-10019. Updates skill point count from param_2+4. Refreshes skill windows. 0x00D2B710 828 CNetwork__recv_storage_item_list_v1 network Handles storage/cart item list v1 (0x29-byte entries). Optionally shows title string via UITextWidget word wrap. Parses each item: type, ID, amount, equip slots, refine, cards, enchant flags, identify/broken flags. Calls FUN_00dd7b80 to add each item to storage list. Refreshes storage view. 0x00D2BA50 924 CNetwork__recv_storage_item_list_v2 network Storage/cart item list v2 with 0x43-byte entries. Parses title string, then iterates items with full card slots, refine, enchant flags, options. Adds each to storage via FUN_00dd7b80. 0x00D2BDF0 504 CNetwork__recv_storage_item_list_v3 network Storage/cart item list v3 with 0x22-byte entries. Parses title string, then simpler item entries with basic card data, identify/broken flags. Adds each to storage via FUN_00dd7b80. 0x00D2BFF0 156 CNetwork__recv_map_change_notify network Handles map change notify packet. Reads new map name and coordinates from the packet. Initiates the map transition sequence: saves current map state, shows loading screen, and begins loading the new map data. 0x00D2C090 241 CNetwork__recv_entity_position_update network Handles entity position update packet. Reads entity ID and new X/Y/direction from the packet. Updates the entity's position on the map and adjusts its facing direction. Used for smooth position corrections from the server. 0x00D2C190 187 CNetwork__recv_exp_update network Handles exp update packet. Reads experience type (base/job) and amount from the packet. Updates the player's experience counter and refreshes the exp bar display. Handles both absolute and delta exp updates. 0x00D2C250 84 CNetwork__recv_exp_update_v2 network Handles exp update packet variant 2. Reads exp type (offset +2) and exp amount (offset +4) as compact values. Updates the corresponding experience counter (base or job) and refreshes the exp bar display. Simpler version of the main exp update handler. 0x00D2C2B0 211 CNetwork__recv_hunting_list network Handles hunting list packet. Reads a list of hunting mission targets with monster IDs and kill counts. Populates the hunting mission tracking UI with current progress and remaining kills for each target. 0x00D2C390 341 CNetwork__recv_hotkey_list network Handles hotkey list packet. Reads the player's hotkey bar configuration from the server. Each entry contains skill/item ID, type flag, and shortcut key binding. Populates all hotkey bar slots with the saved configuration. 0x00D2C4F0 222 CNetwork__recv_play_time_remaining network Handles play time remaining packet. Reads the remaining allowed play time in minutes/hours. Displays a warning message when approaching the time limit. Used for play time restriction systems in certain regions. 0x00D2C5D0 535 CNetwork__recv_equip_item_list network Handles equipped item list packet (0x25-byte entries). Clears equip data. For each item: parses type, ID, amount, card slots, identify/broken/enchant flags, refine, options. Checks if item is equipped via FUN_00e1df60. Sets DAT_01733688 for equipped items. Adds to equip list or places in storage. Notifies UI. 0x00D2C7F0 1167 CNetwork__recv_equip_item_list_v2 network Handles equipped item list v2 (0x29-byte entries with card slot array). Clears equip data. Parses each item with type, ID, refine, card slots, enchant flags, options. Handles equipped items (sets DAT_01733688), adds to equip list or places in storage. Applies item bonuses via ItemBonus__add_equip_bonus. Notifies UI. 0x00D2CC80 1215 CNetwork__recv_equip_item_list_v3 network Handles equipped item list v3 (0x43-byte entries with full card slot array). Clears equip data, parses each item with type, ID, refine, 5 card slots, enchant flags, options. Processes equipped items, applies bonuses via ItemBonus__add_equip_bonus. Notifies UI. 0x00D2D140 1247 CNetwork__recv_equip_item_list_v4 network Handles equipped item list v4 (0x44-byte entries). Same structure as v3 but with different field layout and stride. Full card slot array, enchant flags, options, bonuses. Notifies UI. 0x00D2D620 328 CNetwork__recv_cart_item_list_v1 network Handles cart item list v1 (32-byte entries). Clears cart data via FUN_00dd8450. Parses each item with type, ID, amount, card slots, identify/broken flags. Adds to cart via FUN_00dffba0. Notifies UI. 0x00D2D770 343 CNetwork__recv_cart_item_list_v2 network Handles cart item list v2 (0x22-byte entries). Clears cart data. Parses each item: type, ID, amount, card data, identify/broken flags. Adds to cart via FUN_00dffba0. Notifies UI. 0x00D2D8D0 179 CNetwork__recv_item_identify_result network Handles item identify result packet. Reads the identified item's slot index and new item data. Updates the inventory entry with full item stats now that identification is complete. Refreshes the item tooltip and inventory display. 0x00D2D990 1 CNetwork__disconnect_and_confirm_dialog network CNetwork: disconnect and confirm dialog 0x00D2DA10 320 CNetwork__recv_item_sold_notification network Handles item sold notification. Builds item tooltip string, formats sale message 0x6D2 with item name, quantity, and total price (quantity * unit price). Dispatches as chat message. Updates item count via FUN_00dda510. 0x00D2DB50 40 CNetwork__recv_npc_remove network Handles NPC remove packet. Simple 40-byte handler that reads an NPC/entity ID from the packet and calls the entity manager to remove it from the game world. Used when an NPC despawns or a temporary entity is cleaned up. 0x00D2DB80 330 CNetwork__recv_npc_spawn_v1 network Handles NPC spawn packet v1. Parses NPC data: AID (offset+2), class ID (offset+6, converted to string), position (x,y at offset+0xB/0xD), direction bytes, move speed. Finds existing NPC or creates new 400-byte NPC object. Calls virtual method at vtable+8 with mode 4. 0x00D2DCD0 338 CNetwork__recv_npc_spawn_v2 network Handles NPC spawn packet v2 (extended). Similar to v1 but with additional fields: extra data at offset+0xA/0xC/0x13. Sets local_24=1 (extended mode). Parses AID, class, position, direction. Creates NPC if not found. 0x00D2DE30 330 CNetwork__recv_npc_spawn_v3 network Handles NPC spawn packet v3 (another variant). Similar to v1/v2 with slightly different field offsets: position at offset+0xB/0xD, direction at offset+0xF/0x10, speed at offset+0x11. Sets local_24=1. Creates NPC if not found. 0x00D2DF80 1372 CNetwork__recv_item_obtained_v1 network Handles item obtained packet v1. Clears pending item list. Result 0: new item added to inventory, shows 'obtained' message (msg 0x99, yellow), updates item info window 0x3A. Result 3: existing item quantity updated, adjusts by existing count, shows message. Other results: calls show_item_obtain_error. Special handling for item 0x25F and equip types 10/16/17/19. 0x00D2E4F0 1499 CNetwork__handle_item_obtain_packet network Handles item obtain/pickup network packet. Parses item data, adds to selling or inventory list, builds tooltip, shows chat message (yellow, msg 0x99), updates item window (0x3A) and equipment window (0x133). Handles equip type flags and error cases. 0x00D2EAE0 1623 CNetwork__recv_item_obtained_v2 network Handles item obtained packet v2. Same structure as v1 but with different string building for the existing-item case: uses separate string construction and copy instead of format_string_vsnprintf. Adjusts quantity by existing amount when item already exists. Updates item info window 0x3A. 0x00D2F150 129 CNetwork__show_item_obtain_error network Shows item obtain error messages based on error code. 1/6: msg 0x35 (weight limit). 2: msg 0x34 (inventory full). 4: msg 0xDC. 5: msg 0x117. 7: msg 0x58A. 9: msg 0xF90. Dispatches as red (0xFF) chat message. 0x00D2F200 1751 CNetwork__recv_item_obtained_v3 network Handles item obtained packet v3 (from parameters, not packet buffer). Processes new items (result 0) and existing items (result 3). Shows obtained message, updates item info window 0x3A and bonus UI window 0x133. Handles item 0x25F reset and equip type 10/16/17/19 flagging. 0x00D2F8F0 2081 CNetwork__recv_item_obtained_v4 network Handles item obtained packet v4 (extended with card slot arrays). Same logic as v1/v2 but with full card/option data parsed from packet. Builds card slot count array from slot data. Shows obtained message, updates item info window 0x3A and bonus UI 0x133. Handles equip type flags. 0x00D30130 2181 CNetwork__recv_item_obtained_v5 network Handles item obtained packet v5 (most extended). Same as v4 but with additional fields: grade byte at offset+0x42, enchant level at offset+0x43. Full card slot array, option data, grade info. Handles new item (result 0) and existing (result 3) cases with all UI notifications. 0x00D309D0 2467 CNetwork__recv_item_obtained_v6 network Handles item obtained packet v6 (extended variant, 2467 bytes). Similar pattern to v4/v5 with item parsing, card slots, options, grade data. Processes new and existing items, shows obtained message, updates UI windows. 0x00D31390 451 CNetwork__recv_item_use_notification network Handles item use notification from another player. Looks up entity by AID (param_1+2), skips if self. Shows message 0x4FC ('PlayerName used ItemName') in yellow (0xFFFF00) chat with flag 9. Builds item tooltip from item class ID at offset+6. 0x00D31560 359 CNetwork__recv_item_consumed network Handles item consumed/used packet. Resets sale mode flag at this+0x114. Looks up item, if found and quantity>0 shows message 0x649 ('Used ItemName x Quantity'). Updates item count via FUN_00dda510. Resets field at this+0x2D0. 0x00D316D0 68 CNetwork__recv_status_param_update network Handles status parameter update packet. Reads a stat type ID (short at offset +2) and new value (int at offset +4). Updates the corresponding player stat in the global character data. Notifies the stats window to refresh the display. 0x00D31930 122 CNetwork__recv_identify_item_list network Handles identify item list packet. Reads a list of unidentified items in the player's inventory. Opens the item identification selection window where the player can choose which item to identify. 0x00D319B0 132 CNetwork__recv_identify_item_list_v2 network Handles identify item list v2 packet. Extended version of the identify item list that includes additional item data fields. Opens the identification selection window with enhanced item preview information. 0x00D31A40 233 CNetwork__recv_item_composition_failed network Handles item composition failure notification. Lists failed materials as comma-separated item names. Uses CItemDesc to get item names, formats with message 0x827, shows in red (0xFF) chat. 0x00D31B30 401 CNetwork__recv_whisper_message network Handles incoming whisper message. Copies sender name, compares with own name. If same: refreshes windows 0x1E. If different: gets chat window 0x1C, sets whisper data, updates sender name. Shows message 0xB4 (regular whisper) or 0xB5 (GM whisper) based on flag at offset+0x1C. 0x00D31CD0 380 CNetwork__recv_whisper_send_result network Handles whisper send result packet. Gets recipient name, opens chat window 0x1C, copies sender/recipient strings. Sends update message 0x22 and reply data 0x2C. Shows message 0xB3 ('Whispered to Name'). Dispatches as type 5 (whisper) chat. 0x00D31E50 139 CNetwork__recv_guild_info_basic network Handles guild info basic packet. Reads basic guild information: guild ID, guild level, number of members, max members. Stores the data in guild info globals and refreshes the guild window display. 0x00D31EE0 234 CNetwork__recv_guild_creation_result network Handles guild creation result. Result code at offset+2: 0=success (opens guild window 0x89), 1=error msg 0x542, 2=error msg 0x543, 3=error msg 0x544. Also stores guild member count from offset+6 in DAT_01737fa8 and updates guild state flag DAT_01737f80. 0x00D31FD0 103 CNetwork__recv_guild_position_list network Handles guild position list packet. Reads a list of guild position/rank entries with position ID, name, and permissions. Populates the guild position management UI with the available ranks. 0x00D32040 136 CNetwork__recv_guild_position_change_result network Handles guild position change result. Reads result code (short) at offset+2. Non-negative: success, stores in DAT_01737fa0, opens guild window 0x89 with refresh. Negative: failure, closes guild window, shows error msg 0x541 in yellow-green (0x64FFFF). 0x00D320D0 449 CNetwork__recv_guild_notice network Handles guild notice/bulletin board packet. Sets this+0x24C=1 (guild data loaded). Closes and reopens guild notice window 0x11. Parses notice text from offset+8 (length = packet_len-9), splits by newline separator (DAT_010dd83c). Sends each non-empty line to window via message 0x1B. Sends emblem version via message 0x1C with value from offset+4. Also notifies DAT_01457870 window with message 0x20. 0x00D322A0 289 CNetwork__recv_guild_full_info network Handles full guild info packet. Stores guild ID (offset+2), finds guild by ID, populates guild globals: member stats (offsets+6 through +0x14), guild name (offset+0x16), positions (+0x2E through +0x50), alliance data. Sets guild state flag DAT_01737ce8=1. Refreshes navigation display multiple times. 0x00D323D0 65 CNetwork__recv_guild_stat_update network Handles guild stat update by type. Switch on short at offset+2: types 5-8 update alliance/enemy guild IDs (DAT_01737ca4/ca8/cb4/cb8), types 0x29/0x31/0x35/0xA5/0xBD/0xBE update member counts and various guild parameters. Each update triggers refresh_navigation_display. Only processes if DAT_01737ce8 (guild loaded flag) is set. 0x00D325F0 552 CNetwork__recv_cart_equip_item_list network Handles cart equipped item list packet (0x25-byte entries with header offset 0x2D). Resets equip descriptions and item slots. Parses each entry: type, item ID, amount, card slots (4x4 bytes), identify/broken/enchant flags, refine level, option data. Equips items to regular or shadow slots. Stores guild stats from header (offsets 0x04-0x2C) in DAT_01737fb0-01737fe8. Opens/refreshes equipment window 0x8B. 0x00D32830 175 CNetwork__recv_server_message_display network Handles server message display packet. Reads message ID (short at offset+2). Color-codes by ID range: 0x4C5/0x4C6/0x757/0x758/0x886 = red (0xFF), 0xD93/0xD94 = with flag 0x17, others = white (0xFFFFFF). Dispatches via CUIWindowMgr as both type 1 (normal) and type 0x13 (system) chat messages. 0x00D328E0 151 CNetwork__recv_server_message_display_v2 network Handles server message display v2 packet. Same pattern as recv_server_message_display but reads an additional 4-byte value from offset+4 as color override. Dispatches message by ID (offset+2) as both normal (type 1) and system (type 0x13) chat messages. 0x00D32980 135 CNetwork__recv_skill_levelup_notification network Handles skill level up notification. Reads skill ID (short at offset+2) and message ID (int at offset+4). Gets skill name via CSkillManager__GetSkillNameById, formats with message text, displays as pink (0xFFCDCD) chat message with flag 0x0B (skill notification type). Format: "[SkillName] : [Message]". 0x00D32A10 363 CNetwork__recv_server_message_with_item network Handles server message with item name formatting. Reads message ID (short at offset+2). Special case for ID 0xCCE: looks up item by class ID (offset+4) via CItemDesc, builds item name string, formats with message text. Other IDs: formats message with int param from offset+4. Displays as cyan (0xFFFF) chat message if non-empty. 0x00D32B80 116 CNetwork__recv_guild_emblem_version network Handles guild emblem version packet. Reads guild ID and emblem version number. Compares with locally cached version to determine if the emblem needs to be re-downloaded from the server. 0x00D32C00 361 CNetwork__recv_item_forging_result network Handles item forging/crafting success result. Reads item ID (int at offset+2), converts to string via itoa. Gets item tooltip via CItemDB, formats with messages 0x8F (item name format) and 0x90 (forging success message). Displays as yellow (0xFFFF00) chat message. Clears pending chat first. 0x00D32D70 159 CNetwork__recv_item_forging_failed network Handles item forging failure notification. No packet data needed. Formats messages 0x91 (material name) and 0x92 (failure text) into a combined string. Displays as yellow (0xFFFF00) chat message. Clears pending chat first. 0x00D32E10 479 CNetwork__recv_guild_storage_item_list network Handles guild storage item list packet. Clears vending display, storage list, and guild storage. Parses 0x0B-byte entries (from offset+0x0C): item class, type, amount, name index, flags. Adds each item to guild storage via CItemCollection. Opens guild storage window 0xB0 with refresh (msg 0x17) and capacity info (msg 0x77 with value from offset+8). Sets field at this+0x24C=1. 0x00D32FF0 345 CNetwork__recv_cart_item_list_v3 network Handles cart non-equip item list v3 (0x1C-byte entries). Clears non-equipment selling state. Parses each entry: item type, ID, amount, card slots (4x4 bytes), identify flag. No card data zeroed. Adds items to list type 0x1710. Notifies UI via CUIWindowMgr__notify_language_change. 0x00D33150 338 CNetwork__recv_cart_item_list_v4 network Handles cart non-equip item list v4 (0x20-byte entries). Same structure as v3 but with additional 4-byte field per entry (at offset+9 words). Clears non-equipment selling state, parses items, adds to list type 0x1710. Notifies UI. 0x00D332B0 319 CNetwork__recv_cart_item_list_v5 network Handles cart non-equip item list v5 (0x0C-byte entries, minimal). Clears non-equipment selling state. Parses each entry with zeroed card slot data (local_f0-uStack_e4 = 0) since this compact format has no card info. Adds items to list type 0x1710. Notifies UI. 0x00D333F0 264 CNetwork__recv_item_added_to_cart network Handles item added to cart notification. Looks up item by slot index (short at offset+2) via CShop__find_item_in_linked_list_by_slot. If found, builds item tooltip string and formats with message 0x530 (cart add notification). Displays in cyan-ish (0x6EFFFF) chat. 0x00D33500 877 CNetwork__recv_entity_state_update network Handles entity state update with monster talk and pet interaction. Parses: entity ID (param_2), coordinates (param_3/4), speed (param_5/6, defaults 0x5A0 if 0), state byte (param_9), job class (param_7, skip if -30000). For player entity: checks pet hunger/intimacy, triggers pet emotion with 25% chance and 60s cooldown. For NPCs/monsters: fetches random monster talk line by job ID and displays as chat (0xFAFAFA). Updates entity state via virtual call type 0x0B. 0x00D33870 252 CNetwork__recv_entity_position_update_v2 network Handles entity position update v2 packet. Parses entity ID (offset+2), coordinates (offsets+6, +10), speed values (offsets+0x0E, +0x10 with defaults 0x1B0 and 0x120), state byte (offset+0x16), position short (offset+0x14), job class (offset+0x12, skip if -30000). Looks up entity or player object, dispatches state update type 0x0B via virtual call. 0x00D33980 107 CNetwork__recv_entity_walk_data network Handles entity walk/movement data packet. Reads walk parameters: direction pair (offset+2, +4), speed values (offsets+6, +10) divided by 10. Updates walk display via DAT_01457974 window (type 0x37 message). Stores in DAT_0173356c-01733578 globals. 0x00D339F0 737 CNetwork__recv_entity_chat_message network Handles entity chat message packet. Reads variable-length text (max 0x169 bytes after 8-byte header) from packet. Looks up entity by ID (offset +4) via CBGMManager. Applies string search filtering via CTownInfoMgr. In normal mode: dispatches colored chat based on DAT_016d3b10 level (5=yellow 0xFFFF00, 10=blue 0x1D8DFF, else cyan 0xFFFF). In shop mode (DAT_014578fc): uses dark gray (0x222222) channel 5. Sends to entity chat bubble and appends to chat log file if logging enabled. 0x00D33CE0 607 CNetwork__recv_entity_whisper_chat network Handles entity whisper/direct chat packet. Reads variable-length text (max 0x169 bytes) from offset +8, with entity ID at offset +4. If entity is player (matches DAT_01733c3c): green chat (0xC8FF, type 3) with player chat bubble. For other entities: clears overhead message first, then light red chat (0xC8C8FF, type 3) with that entity's chat bubble. Appends to chat log if enabled. 0x00D33F40 243 CNetwork__recv_item_deal_notification network Handles item deal notification packet. Formats message using item equip name (from location at offset +0x1A), amount (int at offset +0x1E), player name (string at offset +2), and message template 0x78A. In shop mode: dark gray (0x222222) channel 5. Otherwise: yellow (0xFFFF00) channel 1, suppressed if chat options 0x72 or 0x94 are enabled. Appends to chat log if enabled. 0x00D34040 523 CNetwork__recv_exp_gain_notification network Handles experience gain/loss notification packet. Only processes if entity ID (offset +2) matches player. Formats EXP messages using templates 0x64D (gain type 1), 0x64E (gain type 2), 0x64F (positive), or 0x650 (negative) based on amount (offset +6) and type (offset +10). Dispatches as chat with color: green-pink (0xBE58BE) if type at offset +0x0C is 1, otherwise cyan (0xFFFF). Message style 0x12. 0x00D34250 63 CNetwork__recv_entity_byte_field_update network Handles entity byte field update packet. If entity ID (offset +2) matches player, stores byte from offset +6 into global DAT_01733568. Otherwise looks up entity by ID via CBGMManager and stores short from offset +6 into entity field +0xFC. 0x00D34290 144 CNetwork__recv_entity_event_0x22_dispatch network Handles entity event 0x22 dispatch packet. Validates entity ID (offset +2), looks up entity via CBGMManager, dispatches virtual event type 0x22 with two int parameters from offsets +6 and +10 (sign-extended). Also notifies UI window manager (event type 6, subtype 0x22) and sends event to grid window with the entity ID and both parameters. 0x00D34320 154 CNetwork__recv_entity_event_0x22_short_params network Handles entity event 0x22 dispatch with short parameters. Checks entity ID (offset +2) is not on secondary map. Looks up entity, dispatches event 0x22 with two short parameters from offsets +6 and +8. Also notifies UI window manager (event 6, subtype 0x22) and sends to grid window. 0x00D343C0 285 CNetwork__recv_player_status_mode_change network Handles player status mode change packet. Reads status type (short at offset +2) and updates game state. Types: 5,6 = walking state; 0x12,8 = combat state + enable option 0xE5; 0x13 = special state; 0x0B,0x0C = no state change. Checks nested entry conditions. Updates entity status effect visuals unless DAT_0173ad3e is set. For statuses 5-9, 0xB, 0xE, 0x11-0x13, 0x19, 0x1F-0x20, marks entity field 0xFD as needing refresh. 0x00D34600 155 CNetwork__recv_entity_position_update_00d34600 network Handles entity position update packet. Extracts server tick (int at offset +0x0C) and 6-byte packed position data (offset +6) containing x, y coordinates and direction. Looks up entity by ID (offset +2) via CBGMManager, adjusts server tick drift, and dispatches position update event (type 0) to the entity. 0x00D346A0 1259 CNetwork__recv_entity_spawn_walking network Handles entity spawn (walking) packet. Spawns or updates a walking entity. Parses entity data: AID (offset +2), job/class (offset +0x0E), gender override, position from 6-byte packed data (offset +0x36), speeds, levels, equipment slots, hair/clothes colors, guild emblem info, state flags. For existing entities: event 0x7B (update). For new: creates CSkillUnit for skill indicators or CEntity by sprite type. For pet type (0x2E): loads pet accessory ACT. Creates chat bubbles for Doram/special classes. Finalizes via large packet data handler. 0x00D34B90 1290 CNetwork__recv_entity_spawn_idle_with_type network Handles entity spawn (idle with type byte) packet. Similar to walking spawn but with type byte at offset +2 and entity data at offset +3. Parses full entity data: job class, gender, position (6-byte packed at offset +0x3B), stats, equipment, guild info. Stores 2 bytes at entity offset 0x210 from packet +0x43. Type 0x07 triggers pet accessory loading. For existing entities: event 0x7B. For new: CSkillUnit or CEntity. Creates chat bubbles for Doram classes. Handles map tracking flags. 0x00D350A0 1413 CNetwork__recv_entity_spawn_with_name network Handles entity spawn with name string packet. Extended spawn handler with variable-length name (offset +5, length = packetSize - 0x4B). Parses full entity data with position packed at offset +0x3F. Stores 2 additional shorts at entity offsets 0x210 and 0xFC. For existing entities: event 0x7B. For new: CSkillUnit or CEntity. Pet type triggers accessory loading. Creates chat bubbles for Doram classes. 0x00D35630 1208 CNetwork__recv_entity_spawn_moving network Handles entity spawn (moving) packet. Spawns or updates a moving entity. Parses entity data: AID (offset +2), job class (offset +0x0E), gender (offset +0x31), position (6-byte packed at offset +0x32), server tick (offset +0x16). For existing entities: event 5 (moving update). For new: CSkillUnit or CEntity by sprite type. Loads equipment costume overlay for NPC/monster job ranges. For pet type (0x2E): loads pet accessory. Creates Doram chat bubbles. Finalizes via large packet data handler. 0x00D35AF0 1241 CNetwork__recv_entity_spawn_moving_with_name network Handles entity spawn (moving) with name and type byte packet. Extended moving spawn with variable-length name, type byte at offset +4. Type 0x00 = skill unit (CSkillUnit), 0x07 = pet with accessory, 0x08 = current map entity, 0x09 = secondary map. For skill units: event 0x7C (existing) or 0x79 (new). For others: event 3 (existing moving) or 4 (new moving). Loads equipment costume overlay for NPC/monster ranges. Creates Doram chat bubbles. 0x00D35FD0 1254 CNetwork__recv_entity_spawn_idle_base network Handles entity spawn (idle, base format) packet. Spawns or updates an idle entity. Parses entity data: AID (offset +2), job class (offset +0x0E), gender (offset +0x31), position (6-byte packed at offset +0x32). For existing entities: event 0x7C (idle update). For new: CSkillUnit or CEntity with event 0x79. Creates skill effect 0x158 for new skill units. Loads pet accessory for type 0x2E. Creates Doram chat bubbles. Tracks position changes via field 0x2E4. 0x00D364C0 1265 CNetwork__recv_entity_spawn_idle_ext network Handles entity spawn (idle) with extended fields packet. Same as base idle spawn but with additional 2-byte field at entity offset 0x210 (from packet +0x3B). Job class at offset +0x10, gender at +0x35, position at +0x36. For existing: event 0x7C. For new: CSkillUnit or CEntity with event 0x79. Skill effect 0x158 for skill units. Pet accessory, Doram chat bubbles, position tracking. 0x00D369C0 1286 CNetwork__recv_entity_spawn_idle_ext2 network Handles entity spawn (idle) with extended fields v2 packet. Like ext but also stores entity offset 0xFC from packet +0x3D and offset 0x210 from packet +0x3B. Job class at +0x10, gender at +0x35, position at +0x36. For existing: event 0x7C. For new: CSkillUnit or CEntity with event 0x79. Skill effect 0x158, pet accessory, Doram chat bubbles, position tracking. 0x00D36ED0 1262 CNetwork__recv_entity_spawn_moving_compact network Handles entity spawn (moving, compact format) packet. Compact moving entity spawn with job at offset +0x0E, gender at +0x2D, position packed at +0x2E. For existing: event 3 (moving update). For new: CSkillUnit or CEntity with event 4 (new moving). Loads equipment costume overlay for NPC/monster/homunculus job ranges. Skill effect 0x158 for skill units. Pet accessory, Doram chat bubbles. Finalizes via large packet data handler. 0x00D373C0 581 CNetwork__recv_player_own_chat network Handles player's own chat message packet. Reads variable-length text (max 0x169 bytes) from offset +4, with packet length at offset +2. In normal mode (DAT_014578fc == 0): displays as green chat (0xFF00, type 1) and sends to player entity chat bubble. In shop mode: displays as dark green (0x7800) on channel 5. Appends to chat log if enabled. 0x00D37610 140 CNetwork__recv_player_position_update network Handles player position update packet. Reads server tick (int at offset +2) and 6-byte packed position data (offset +6) containing x/y coordinates and direction. Adjusts server tick drift, then dispatches position update event (type 0) to the player entity via its vtable. 0x00D376A0 34 CNetwork__recv_entity_action_0x3f network Handles entity action dispatch (event 0x3F) packet. Reads entity ID (offset +2), two shorts (offsets +6 and +8), and dispatches via vtable +0x18 with event code 0x3F. Small 34-byte handler for triggering entity-specific actions. 0x00D376D0 48 CNetwork__recv_entity_action_0xaa network Handles entity action dispatch (event 0xAA) packet. Skips if entity ID (offset +2) matches player (DAT_01733c3c). Otherwise dispatches via vtable +0x18 with event code 0xAA, passing entity ID and two short parameters from offsets +6 and +8. 0x00D37700 1 CNetwork__handle_entity_weight_change_packet network CNetwork: handle entity weight change packet 0x00D37A10 1166 CNetwork__recv_entity_spawn_named_typed_ext network Handles entity spawn with name, type byte, and extended fields packet. Extended spawn with variable-length name (offset +5, length = packetSize - 0x45). Type byte at +4: 0x00 = skill unit, 0x07 = pet, 0x08 = current map, 0x09 = secondary map. Stores extra fields: entity offset 0xFC, 0x210, and byte at +0x40. For type 0x00: event 0x7C (existing) or 0x79 (new). For others: event 3/4 (moving). Equipment costume overlay, Doram chat bubbles, position tracking. 0x00D37EA0 1158 CNetwork__recv_entity_spawn_idle network Processes entity spawn (idle state) packet. Complex handler that parses entity appearance data: job class, hair, equipment, position, speed, direction, gender, etc. Creates new entity objects (CSkillUnit for ground skills, regular entity otherwise). Handles mount/pet display, loads ACT resources, sets up entity position and visual state. Checks for guild emblems and NPC movement patterns. 0x00D38330 1152 CNetwork__recv_entity_spawn_idle_extra_byte network Handles entity spawn (idle) with extra byte field packet. Entity spawn with job at offset +0x10, gender at +0x35, position at +0x36, plus additional byte at offset +0x3B. For existing: event 0x7C. For new: CSkillUnit or CEntity with event 0x79. Pet accessory, Doram chat bubbles, position change tracking. 0x00D387B0 1165 CNetwork__recv_entity_spawn_idle_with_fc network Handles entity spawn (idle) with FC field packet. Entity data at standard offsets with additional short stored at entity offset 0xFC (from packet +0x3E). For existing: event 0x7C. For new: CSkillUnit or CEntity with event 0x79. Pet accessory loading, Doram chat bubbles, position change tracking via field 0x2E4. 0x00D38C40 1305 CNetwork__recv_entity_spawn_moving_with_type network Handles entity spawn (moving) with type byte packet. Entity data at offset +3 with type byte at +2. Job at +0x0F, gender at +0x2E, position at +0x2F. Type byte 0x07 = pet with accessory, 0x09 = type check. For existing: event 3. For new: CSkillUnit or CEntity with event 4. Equipment costume overlay for NPC/monster ranges. Doram chat bubbles. Large packet data handler finalization. 0x00D39160 628 CNetwork__recv_entity_spawn_moving_compact_typed network Handles entity spawn (moving, compact, typed) packet. Compact moving spawn with type byte at offset +2, entity data at +3. For existing entities: event 3. For new: creates CEntity by sprite type with event 4. Equipment costume overlay for NPC/monster job ranges. Stores 2 bytes at entity offset 0x210 from packet +0x2A. 0x00D393E0 52 CNetwork__recv_ui_window_event_0x37 network Handles UI window event packet. Creates window type 0x21 via CGameObject__create_window_by_type, then sends event 0x37 with short parameter from offset +2 and sub-type short from offset +4 to update the window. 0x00D39420 259 CNetwork__recv_server_tick_sync network Handles server tick synchronization packet. If ping logging enabled (DAT_0171f100), writes to PingLog.txt with timestamp and tick difference. On first tick (field 0x454 == 0): calls sync_server_tick_offset for initial time base. On subsequent ticks: calls adjust_server_tick_drift. Increments tick counter, sets connection alive flag (field 0x270), computes running ping average. 0x00D39530 139 CNetwork__recv_entity_vanish_00d39530 network Handles entity vanish/death packet. Processes entity removal by vanish type (offset +6). Type 0: standard removal (event 99 + packet 0x0D). Type 1: full death with cleanup events 0x1C/0x0D, pet emotion on owner death, clears TLS fields (status effects, UI states), refreshes equipment/party/BG windows, shows dialog for mode 4. Type 2: teleport out with effect 0x13A, clears mail/auction. Type 3: effect 0x130 unless hidden. Default: removes actor via CBGMManager. 0x00D39AB0 44 CNetwork__recv_entity_talk_bubble network Handles entity talk bubble update packet. Looks up entity by ID (offset +2) via CBGMManager. If found, calls virtual function at vtable +0x48 with data value from offset +7 to update the entity's overhead talk bubble display. 0x00D39AE0 205 CNetwork__recv_colored_chat_from_entity network Handles colored chat message from entity packet. Copies variable-length text (packetSize - 0x0C bytes) from offset +0x0C into buffer. Dispatches as chat type 1 with color from offset +8. Looks up entity by ID (offset +4) and sends text as chat bubble (event 7) with color. Appends to chat log if enabled. 0x00D39BB0 507 CNetwork__recv_item_list_display network Handles item list display packet. Parses variable-length packet with 19-byte (0x13) entries. For each: extracts item ID (4 bytes), card slots (8 bytes), option data, flags. Converts item ID via itoa, looks up description via CItemDesc, adds to item collection. Creates/refreshes UI windows 0xFE and 0xFF (equipment/inventory) with events 0x24 (refresh) and 0x17 (update). 0x00D39DB0 367 CNetwork__recv_item_list_small network Handles item list (small format) packet. Parses variable-length packet with 15-byte (0x0F) entries. For each: extracts 8-byte item identifier, 2-byte field, 1-byte flag. Clears deal/inventory lists first, processes each through itoa and CItemCollection__add_item_from_string_id. Refreshes UI windows 0xFE and 0xFF with events 0x24/0x17. 0x00D39F20 382 CNetwork__recv_trade_buy_notification network Handles trade/buy notification packet. Result type (short at offset +4): 0 = yellow msg 0x36, 1 = red msg 0x37, 2 = red msg 0x38, 3 = red msg 0xDD, 9 = red msg 0x794, 0xFFFF = red msg 0xBE3. If item data follows (10-byte entries from offset +6): creates trade window 0x100, processes items through CShopItemList, calculates scroll position. If no items: sends packet 0x124 to server. 0x00D3A1E0 728 CNetwork__recv_map_change network Handles map change packet. Stores skill level data from offsets +0x12/+0x14 into globals. Reads 16-byte map name from offset +2. Manages EffectMap state transitions (2->3 close UI, 7->8). If same map as current (DAT_01733c44): reinitializes map/cursor with fade-out. If different: sets character name, records timestamp, sets next map name, creates loading window with msg 0x79, sets timeout 0xB9, resets inventory expansion. Clears selling items and removes event queue entries 200/0xC9/4. 0x00D3A4C0 367 CNetwork__recv_map_server_connect network Handles map server connect packet. Reads 16-byte map name string from offset +2. Builds STL string, then calls handle_map_server_connect to process the connection with the new map name. 0x00D3A630 232 CNetwork__recv_storage_open network Handles storage open packet. Checks if player is trading (field 0x308) - if so, sends packet 0x51 to reject. Reads storage capacity (byte at offset +2, clamped 2-5) into DAT_01733580. Clears storage items. If not in shop/vending/party: creates storage window (type 0xAE) with submit button. Otherwise shows dialog msg 0x24B and sends packet 0x10E to reject. 0x00D3A720 70 CNetwork__recv_npc_dialog_open network Handles NPC dialog open packet. Validates entity ID (offset +2) exists via CBGMManager, or allows ID 0. Creates NPC dialog window (type 100) and sends event 0x1C with entity ID to initialize the dialog. 0x00D3A770 43 CNetwork__recv_npc_close_dialog network Handles NPC close dialog packet. Stores byte from offset +4 into DAT_01738218 and short from offset +2 into DAT_0173821e. Creates follow-up UI window via CGameObject__create_window_by_type. 0x00D3A7A0 1 CNetwork__handle_player_status_change_packet network CNetwork: handle player status change packet 0x00D3A808 1 CNetwork__handle_player_status_change_alt network WARNING (jumptable): Unable to track spacebase fully for stack 0x00D3A825 1 CNetwork__handle_player_status_change_switch network WARNING (jumptable): Unable to track spacebase fully for stack 0x00D3B3E3 21 security_cookie_noop game_core Empty function body with security cookie check. Compiler-generated no-op. 0x00D3B650 50 CNetwork__recv_entity_option_update network Handles entity option update packet. Looks up entity by ID (offset +2). If found and type field (short at offset +6) equals 4, calls entity virtual function at vtable +0xA0 with value from offset +8 to update a specific entity option/property. 0x00D3B690 26 CNetwork__recv_item_buy_result network Handles item buy result packet. Result code (short at offset +2): 0/1 = success (processes item data), 2 = dialog with msg 0x724, 3 = dialog with msg 0x725. For success cases: falls through to process a large item-related packet handler. 0x00D3B730 182 CNetwork__recv_minimap_open network Handles minimap/navigation open packet. If result (short at offset +2) is non-zero: shows dialog with msg 0x795 (if result==2) or msg 0x722. If result is 0 (success): records tick count, creates window 0xA4, finds window 0xA8 and rebuilds map filter tree, clears TLS field. 0x00D3B7F0 211 CNetwork__recv_party_alarm_data network Handles party alarm data packet. Allocates buffer, copies variable-length data (entry size 0x30 bytes) from offset +5. Sets DAT_017381b5 flag. Finds party alarm window (type 0xA9). If no entries: shows dialog msg 0x723 and clears count. Otherwise calls CPartyAlarmMgr__notify_party_alarm with data, count, and flag byte from offset +4. Refreshes window. 0x00D3B8D0 52 CNetwork__recv_party_member_remove network Handles party member remove packet. Removes entry by key (entity ID from offset +2) via CryptoManager__remove_entry_by_key. Finds and refreshes party alarm window (type 0xA9) via vtable +0x98. 0x00D3B910 77 CNetwork__recv_party_member_update network Handles party member update packet. Passes 12 consecutive 4-byte values from packet (offsets +2 through +0x2E) to CPartyAlarmMgr__process_party_member_update for full member data update (ID, stats, equipment, position, etc.). Finds and refreshes party alarm window (type 0xA9). 0x00D3B960 56 CNetwork__recv_party_alarm_pending network Handles party alarm pending processing packet. Passes entity ID (offset +2) and data pointer (offset +6) to CPartyAlarmMgr__process_pending_alarms. Finds and refreshes party alarm window (type 0xA9). 0x00D3B9A0 64 CNetwork__recv_message_toggle_notification network Handles message toggle notification packet. Reads toggle state byte from offset +2 into DAT_01737f70. Displays message 0x52E (if state is 0/off) or 0x52D (if state is 1/on) as cyan (0x64FFFF) chat message. 0x00D3B9E0 81 CNetwork__recv_friend_party_invite_result network Handles friend/party invite result packet. Large switch on result code (int at offset +0x36) with 14 cases (0-0xD). Cases 0,7,8,0xC: format message with player name from packet. Case 0: uses msg 0xDAD (if DAT_01737a9c==1) or 0xDAA. Case 1: msg 0xDAE/0xDAB. Cases 2-6,0xA-0xD: direct message display with red (0xFF) color. Case 9: msg 0xDA6 + handler call. All display via CUIWindowMgr__dispatch_chat_message. 0x00D3BCE0 91 CNetwork__recv_charselect_slot_entry network Handles character select slot entry packet. Reads slot index (int at offset +2), account ID (int at offset +6), character name (24-byte string at offset +10), and two short values at offsets +0x22 and +0x24. Passes all data to CPartySearchWnd__add_entry_to_list (likely misnamed - this is a generic list population function) to populate the character select screen UI. 0x00D3BD40 441 CNetwork__recv_trade_request_item_list network Handles incoming trade request with item list. Only processes if DAT_01457864 is 0 and trade window (0x13E) is not open. Clears deal/inventory lists. If DAT_017381ac == 1, shows error message in red. Otherwise parses variable-length packet with 13-byte (0x0D) entries from offset +0x0C: each contains an 8-byte item identifier, a 4-byte value, and a 1-byte flag. Stores trade partner data from offsets +4 and +8 into globals. Creates trade windows (types 0x16 and 0x17) with refresh events. Sets network trade state flag at offset 0x24C. 0x00D3BF00 283 CNetwork__recv_trade_result_notification network Handles trade result notification packet. Reads result code (short at offset +10) and displays corresponding message. Code 0/8: updates trade zeny values (offsets +2 and +6), refreshes shop window, shows success msg 0x36 in yellow or msg 0x716 in red for code 8. Code 1: msg 0x4CB (trade partner busy). Code 2: msg 0x4CC (trade cancelled). Code 3: msg 0x38 (trade failed). Codes 4-7,9: additional error messages. Dispatches formatted message as chat with appropriate color. 0x00D3C1C0 464 CNetwork__recv_trade_item_list_with_details network Handles trade item list with detailed item info. Parses variable-length packet with 0x13-byte entries from offset +4. Each entry contains item data parsed into item descriptors. Adds each item to the collection via CItemCollection__add_item_from_desc_or_lookup. After processing, creates/refreshes two UI windows (types 0x16 and 0x17) with events 0x24 (refresh) and 0x17 (update). 0x00D3C390 346 CNetwork__recv_equipment_item_list network Handles equipment item list packet. Parses variable-length packet with 13-byte (0x0D) entries starting at offset +4. For each item: extracts 8-byte item data, 4-byte slot info, and 1-byte flag. Converts item ID via itoa, looks up item info, and adds to collection via CItemCollection__add_item_from_desc_or_lookup. Creates/refreshes equipment (0x16) and inventory (0x17) windows. 0x00D3C4F0 56 CNetwork__recv_item_operation_result network Handles item operation result notification. Reads result code byte from offset +2 and displays corresponding message with color coding. Code 0: yellow msg 0x36 (success). Code 1: red msg 0x37 (failed). Code 2: red msg 0x38. Code 3: red msg 0xDD. Code 9: red msg 0x794. Code 10: yellow msg 0xB65. Codes 0xB-0xE: additional result messages. After display, clears TLS fields to reset UI state. 0x00D3C710 502 CNetwork__recv_storage_item_list_with_shop network Handles storage item list with shop lookup. Parses variable-length packet with 10-byte entries from offset +4. For each entry: reads 8-byte item identifier and 2-byte extra field. Looks up item by slot ID via CShop linked list. Copies item name (33-byte buffer), sets card slot data and flags, adds to collection via CItemCollection__add_item_from_desc_or_lookup with flag 1. Creates equipment window (0x16) and storage window (0x18). 0x00D3C910 148 CNetwork__recv_deal_close_result network Handles deal close result packet. Reads result code byte from offset +2. Code 0: yellow msg 0x36 (success). Code 1: red msg 0x39 (failed). After message display, clears deal/inventory lists and TLS fields to reset trade UI state. 0x00D3C9B0 309 CNetwork__recv_broadcast_announce_message network Handles broadcast/announce message packet. Formats message 0x4F7 with parameters from packet offsets +2, +6, +10. If DAT_016d3b10 == 0xC, also processes message 0x465. Creates tooltip entry and dispatches as chat message in light blue color (0x62B0FF). For non-tooltip mode (DAT_016d3b10 == 0), displays directly as chat. 0x00D3CAF0 277 CNetwork__recv_shop_item_window_list network Handles shop/item window population packet. Creates window 0x5A and sends event 0x4B to initialize it. Iterates through variable-length list of short item IDs starting at offset +4. For each ID, looks up item via CShop__find_item_in_linked_list_by_slot and sends event 0x1F with item data. Finishes with event 0x3C to signal list complete. 0x00D3CC10 470 CNetwork__recv_npc_talk_with_emotion network Handles NPC talk with emotion packet. Looks up entity by ID (offset +2). Reads an encoded value (int at offset +6) and decomposes it: remainder mod 10 determines behavior (2 = direct event dispatch type 0xA0 with global data), otherwise extracts talk line parameters by dividing by factors of 10. Calls get_random_pet_talk_line with the decomposed values, formats with color codes. If non-empty and not matching sentinel string, displays as chat bubble on entity and dispatches as chat message (color 0xFAFAFA) unless chat options 0x72/0x94 are enabled. 0x00D3CDF0 26 CNetwork__recv_roulette_spin_result network Handles roulette spin result packet. Small 26-byte handler that processes the server's response to a roulette wheel spin attempt, indicating success or failure of the spin operation. 0x00D3CEC0 546 CNetwork__recv_bgm_sound_change network Handles BGM/sound change packet. Checks game settings option. Mode 0: formats and plays BGM. Mode 1: formats, plays BGM, and sets DAT_0138be7c+0x14 flag. Mode 2: reads BGM filename from network object offset 0x68, looks up map BGM, constructs and sets BGM filename via CSoundMgr. Clears flag on completion. 0x00D3D0F0 495 CNetwork__recv_bgm_play_request network Handles BGM play request packet. Checks game settings option 7. Constructs BGM filename by concatenating "bgm\\" prefix with packet data (offset +2) and ".mp3" suffix. Passes through CPacketManager handler, then plays via CSoundMgr__play_bgm. Sets DAT_0138be7c+0x14 = 1. 0x00D3D2F0 71 CNetwork__recv_player_sit_stand_notification network Handles player sit/stand notification. Gets the player entity from network object offset 0xCC and dispatches event 0x52 (sit/stand animation) with the duration value from packet offset +6 multiplied by 1000 (converting seconds to milliseconds). Sets global DAT_01737b9e = 1 to flag the player state change. 0x00D3D390 463 CNetwork__recv_player_stats_update_a network Handles player stats update (variant A). Reads map name via lua_util_sprintf (format depends on DAT_016d3b10). Populates many player stat globals (DAT_01737b*): base stats, HP/SP, level, job, map position, experience values, and misc fields from packet offsets. Calls refresh_minimap_display after each map-related update. Refreshes window DAT_01457a44 if present. Shows message 0x3FA when reaching level milestones (1, 5, 10). 0x00D3D560 419 CNetwork__recv_player_stats_update_b network Handles player stats update (variant B). Similar to variant A but with different packet layout. Reads map name via snprintf_wrapper, sets same player stat globals. Uses different offsets for values. Triggers minimap refresh after position-related updates. Shows level milestone message 0x3FA at levels 1/5/10. 0x00D3D710 505 CNetwork__recv_player_stats_update_c network Handles player stats update (variant C). Similar to variants A/B but includes additional UI rect and position fields. Sets player stat globals from packet, refreshes minimap. If DAT_01457a40 is set, also updates UI control rect (map bounds) and position fields. Uses 4-byte values for extended coordinate data instead of sign-extended shorts. 0x00D3D910 453 CNetwork__recv_player_stats_update_d network Handles player stats update (variant D). Same global-writing pattern as variant A with lua_util_sprintf for map name. Populates player stat globals, refreshes minimap display, updates window if present. Shows level milestone message at levels 1/5/10. 0x00D3DAE0 283 CNetwork__recv_map_change_or_warp_info network Handles map change or warp info packet. Reads map name from offset +2. If map value at offset +0x1B < 10000: updates current map globals, refreshes existing map window (DAT_01457a0c) with wheel input and data. If >= 10000: subtracts 10000 and creates warp portal window (type 0xC) with portal coordinates, map name, and dispatches event 0x1D. 0x00D3DC00 281 CNetwork__recv_entity_status_tree_update network Handles entity status update via rb_tree. Inserts entity data (ID from offset +4, values from offsets +6/+8/+10/+12) into the rb_tree lookup structure. Handles sentinel value 9999 by replacing coords with 0xFFFF. Then iterates the entity linked list at network offset 0x1F0, dispatching event 0x1E5 with entity position data to window DAT_014a684c for each entity with non-zero status. 0x00D3DD20 542 CNetwork__recv_book_text_viewer network Handles book/quest text viewer packet. Reads book ID (int at offset +2), converts to string, constructs book filename path ("book_%s.txt", with server-specific prefix if DAT_016d3b10 == 10). Opens the file via CFileStream. If file not found, shows red error message. If found, creates book viewer window (type 0x6A) with event 0x5E passing book ID and page count from offset +6. 0x00D3DF40 40 CNetwork__recv_item_reform_result network Handles item reform result packet. Resets network field 0xFC to 0. Reads result code byte from offset +2 and displays corresponding red (0xFF) message: code 0 = msg 0x43 (success), code 1 = msg 7, code 2 = msg 0x44, code 4 = msg 0x37, code 5 = msg 0x1B0, code 6 = msg 0x1B1, code 7 = msg 0x1B2. Clears overhead chat first for each case. All messages displayed as red text on channel 1. 0x00D3E0C0 1339 CNetwork__recv_premium_status_info network Handles premium/cash shop status info packet. For DAT_016d3b10 == 3: shows timer format based on value at offset +2 (1=days remaining, 2=hours/min/sec countdown). Otherwise processes time-based status with bitfield flags at offset +2: bit 0x01=base package, 0x02=Exp UP, 0x04=Item UP, 0x08=Death Down, 0x10=Advanced Package, 0x20/0x40/0x80=additional status strings. Formats expiry time (dates or remaining time) and displays as white chat message. 0x00D3E600 119 CNetwork__recv_whisper_window_open_a network Handles whisper/PM window open (variant A). Reads 24-byte character name from offset +10, stores account ID (offset +2) at network field 0x28C and character ID (offset +6) at 0x290. Creates whisper window type 0x69 with event 0x5B, passing character ID and name. 0x00D3E680 119 CNetwork__recv_whisper_window_open_b network Handles whisper/PM window open (variant B). Same as variant A but creates window type 0x68 with event 0x5A. Reads 24-byte character name from offset +10, stores account ID (offset +2) at network field 0x28C and character ID (offset +6) at 0x290. 0x00D3E700 37 CNetwork__recv_shop_pending_order_removal network Handles shop pending order removal packet. Reads order ID from packet offset +6 and removes it from the shop pending order list via CShopManager__remove_pending_order_by_id. If removal succeeds, triggers a refresh notification (event 0x17) on window DAT_01457948. 0x00D3E730 190 CNetwork__recv_npc_dialog_with_params network Handles NPC dialog with parameters packet. Checks option 0x88 (if enabled, dispatches event 0x32 with type 4 directly). Otherwise copies 24 bytes of packet data (offsets +2 through +0x19) into local struct, creates NPC dialog window (type 0x20) with event 0x32, passing struct data plus additional params from offsets +0x1A and +0x1E. 0x00D3E7F0 187 CNetwork__recv_npc_dialog_simple network Handles simple NPC dialog packet. Same structure as the parameterized variant but creates window 0x20 with event 0x32 using zeroed extra parameters. Checks option 0x88 for shortcut mode. Copies 24 bytes of packet data into local struct. 0x00D3E8B0 617 CNetwork__recv_character_status_display network Handles character status display packet. Reads 3 status values from offsets +2, +6, +7 into globals DAT_01737ad8/adc/ae0. For each value (0=off, 1=on, 2=special), formats a status line using message table entries (0x11F-0x125, 0x2E2, 0x5FF) combined with labels (0x123 prefix, 0x124/0x125 categories). Dispatches each non-empty line as yellow (0xFFFF) chat message with style 0xC. Refreshes window DAT_0145798c. 0x00D3EB20 175 CNetwork__recv_party_or_friend_invite_window network Handles party/friend invite window packet. Reads 24-byte character name from offset +10. Checks option 0x88 and vector lookup (DAT_01733c3c). If option disabled and not in vector: creates invite window type 0x6D with event 0x5F, passing IDs from offsets +2 and +6 plus name. Otherwise dispatches event 0xAF directly via global callback. 0x00D3EBD0 345 CNetwork__recv_player_search_whisper_setup network Handles player search/whisper setup packet. Reads 24-byte character name from offset +6. Checks via CTownInfoMgr__is_search_incomplete if further lookup needed, performs string search if so. Creates player info/whisper window (type 0x23) with event 0x38, passing ID from offset +2 and the character name. 0x00D3ED30 143 CNetwork__recv_unequip_item_result network Handles unequip item result packet. Sets timestamp (timeGetTime - 2000) at network offset 0x108. If result code (offset +6) == 0 and equip slot (offset +4) != 0: validates equip location and unequips item at that slot. If result code == 1: shows error message 0x7A1. 0x00D3EDC0 93 CNetwork__recv_unequip_item_forced network Handles forced unequip item packet. Sets timestamp (timeGetTime - 2000) at network offset 0x108. If result code (offset +6) != 0 and equip slot (offset +4) != 0: validates equip location flag and unequips item. No error message variant - this is a forced server-side unequip. 0x00D3EE20 264 CNetwork__recv_equip_item_slot_result network Handles equip item to slot result. Sets timestamp (timeGetTime - 2000) at network offset 0x104. If result code (offset +8) == 0: looks up item by slot ID (offset +2), reads equip location (offset +4) and display slot (offset +6), equips item via CShop__equip_item_to_slot. If result code == 1: shows error message 0x7A1. 0x00D3EF30 268 CNetwork__recv_equip_item_result_with_error network Handles equip item result with additional error handling. Sets timestamp (timeGetTime - 2000) at network offset 0x104. Result code (offset +8): 0 or 2 = shows error message 0x174. 1 = looks up item by slot ID (offset +2), equips to slot with location data from offsets +4 and +6. 0x00D3F040 137 CNetwork__recv_disconnect_and_return_to_login network Handles disconnect and return to login screen. Performs full game state cleanup: resets navigator, replay state, map counter (DAT_016fc564), and map resources. If byte at offset +2 == 1: deactivates UI events (counters 5, 6, 7), gets effect manager singleton, disconnects network socket, sets game mode to 5 (login), and sets next map to "login.rsw". 0x00D3F0D0 96 CNetwork__recv_navigation_window_data network Handles navigation/memo window data packet. Creates window type 0x1C. Copies 24 bytes of data from packet offsets +6 through +0x1D into local struct. Dispatches event 0x2E with the struct data and an ID from offset +2. 0x00D3F130 482 CNetwork__recv_entity_speech_bubble_with_tree network Handles entity speech bubble with tree update. Inserts entity mapping (offset +8 -> offset +4) into rb_tree via rb_tree_uint_to_uint_insert_or_find. Looks up entity by ID (offset +4). Parses variable-length string data from offset +0x11 (length = packet size - 0x11). Limits string to 60 chars. Dispatches event 0x20 to entity with the speech text. 0x00D3F320 123 CNetwork__recv_window_0x13e_open_or_fallback network Handles window 0x13E open or fallback. Checks TLS field 0x13E status. If not set: creates window type 0x13E with event 0x78 passing values from offsets +2 and +6. If window creation fails, constructs packet 0x844 and sends it as fallback. If TLS field is set, does nothing (window already open). 0x00D3F3A0 53 CNetwork__recv_collection_result network Handles collection result packet. Finds trade/collection window (type 0x13E). If found, dispatches event 0x7A with two 4-byte parameters from packet offsets +2 and +6, updating the collection status display. 0x00D3F3E0 821 CNetwork__recv_trade_transaction_result_extended network Handles trade/transaction result with extended error handling. Large switch on result code (short at offset +6). Code 0/8: dispatches to window 0x13E with event 0x7A (code 8 also shows msg 0x716). Codes 9-12: specific error messages (0x798-0x79B). Codes 0x12F/0x130: formats map entry names with error messages 0xF64/0xF65 and shows in error dialog box. Default/unknown codes: shows error msg 0x39. All messages displayed as red chat text. 0x00D3F760 35 CNetwork__recv_status_parameter_change_message network Handles status parameter change message. Maps status parameter type (int at offset +2) to message ID: 0x15=0x379 (STR), 0x16=0x37A (AGI), 0x17=0x37B (VIT), 0x18=0x37C (INT), 0x19=0x37D (DEX), 0x1C=0x37E, 0x1D=0x37F, 0x1E=0x380, 0x1F=0x381, 0x20=0x382, 0x28=0x393. Displays the parameter change notification as chat in light purple (0x9B9BFF) with style 8. 0x00D3F840 28 CNetwork__recv_minimap_marker_position network Receives two short values from the packet (offsets +2 and +4) and stores them in DAT_01738220 and DAT_01738224. These globals are read by CEffect3DPlayer__render_all_markers_on_minimap for marker positioning, and written by UIShopWnd__handle_buy_item. Likely sets a position for an NPC/shop minimap marker. 0x00D3F860 210 CNetwork__recv_npc_script_dialog_text network Handles NPC script/dialog text packet. Sets network fields 0x24C=1 and 0x2DC from offset +4. Copies variable-length text data (packet size - 9 bytes) from offset +9. For Korean locale (DAT_016d3b10 == 10), prepends charset identifier. Creates NPC dialog window (type 0xE2) with event 0x1A, passing text and NPC ID. Validates text length < 0x803. 0x00D3F940 217 CNetwork__recv_npc_dialog_text_type_b network Handles NPC dialog text (type B). Sets network fields 0x24C=1 and 0x2DC from offset +4. Creates window type 0x10 (different from variant A's 0xE2). Copies variable-length text data (packet size - 8 bytes) from offset +8. For Korean locale, prepends charset identifier. Dispatches event 0x1A with text and NPC ID. Validates text length < 0x803. 0x00D3FA20 848 CNetwork__recv_inventory_item_list_0xb5_a network Handles inventory/item list for window 0xB5 (variant A). Parses 0x8E-byte item records. If flag at offset +4 is set, clears existing list. Sets globals from offsets +5 and +6. For each item record: copies raw data, extracts item class/level, counts card slots (up to 5), copies card data and random option data. Inserts into STL vector (0x158-byte records). Dispatches event 0x3C with 0xB8 to window 0xB5 when complete. 0x00D3FD70 771 CNetwork__recv_inventory_item_list_0xb5_b network Handles inventory/item list for window 0xB5 (variant B). Parses 0x8D-byte item records (1 byte smaller than variant A). Same structure: optional list clear, global updates, item record parsing with class/level, card slots, and random option data. Uses 0x158-byte vector records. Dispatches event 0x3C with 0xB8 to window 0xB5. 0x00D40080 54 CNetwork__recv_window_0xb5_event_update network Handles simple event update for window 0xB5. Finds window type 0xB5 and dispatches event 0x3C with flag 1 and the byte value from packet offset +2. Lightweight update handler for the inventory/item list window system. 0x00D400C0 93 CNetwork__recv_trade_window_open_and_clear network Handles trade window open and UI state clear. Sets network field 0x24C=1. Creates window type 0x19 with event 0x1C, passing value from offset +2. Clears TLS fields 0x16 and 0x17 to reset trade-related UI state. 0x00D40120 562 CNetwork__recv_clan_join_leave_notification network Handles clan join/leave notification packet. Reads clan name string at offset +2, then checks two flag bytes at +0x1A and +0x1B to select one of 6 message IDs (0xD3D-0xD42) representing different join/leave/acceptance outcomes. Clears chat first, concatenates clan name with the selected message, and displays it as yellow chat text (0xFFFF). Six possible outcomes based on 2x3 flag combinations. 0x00D40360 401 CNetwork__recv_clan_member_status_notification network Handles clan member status change notification. Reads two flag bytes at offsets +2 and +3 to select message IDs 0xC2-0xC6 (join/leave/online/offline/etc.). Concatenates the CNetwork string member name at +0x118 with the selected message and displays as yellow chat text (0xFFFF). Six possible outcomes based on two flag byte combinations. Not a member list - it's a single member status change event. 0x00D40500 159 CNetwork__recv_clan_leave_result network Handles clan leave result packet. Reads two flag bytes at offsets +2 and +3 to select message IDs 0xD63-0xD66. Clears chat first, then displays the appropriate result message. Four possible outcomes based on flag byte combinations. 0x00D405A0 42 CNetwork__recv_timer_control network Handles timer/countdown control packet. Reads type byte (0-3) at offset +2 and duration at offset +3. Type 0 = set absolute timer, Type 1 = start countdown from now, Type 2 = start countup from now (negative duration), Type 3 = set computed timer value. Updates global timer state (DAT_01732dd4=type, DAT_01732ddc=deadline, DAT_01732de4=active flag). 0x00D40680 24 CNetwork__recv_skill_update_trigger network Simple handler that triggers CSkillMgr__update_or_remove_skill to refresh skill state. 24-byte function with no parameters parsed from the packet. 0x00D406A0 140 CNetwork__recv_entity_remove_by_id network Handles entity removal by ID. Searches the entity ID array for the ID at packet offset +2. If found, removes the entity via CBGMManager__remove_actor_by_map_id and dispatches event 0xD. If not found, calls CBGMManager__remove_item_by_id instead. Uses memcpy to compact the array after removal. 0x00D40730 561 CNetwork__recv_entity_spawn_or_update network Handles entity spawn or update packet. Two modes: if byte at +0x10 is set, creates a new CGameEntity (0x560 bytes), dispatches events 0x16 and 0x75 with item data. Otherwise looks up existing entity via CBGMManager__find_item_by_id, manages a linked list for bargain sale items, and may create a smaller CGameEntity (0x440 bytes) with ctor_with_param. Dispatches event 0x2D for existing entities. 0x00D40970 592 CNetwork__recv_entity_item_spawn network Handles entity/item spawn packet. Similar to recv_entity_spawn_or_update but checks packet type byte at +0x10 against 0xB0 for new entity creation (0x560 byte CGameEntity). For other types, manages linked list of entities and creates 0x440-byte entities via CGameEntity__ctor_with_param. Stores map ID at entity offset 0x104*4. 0x00D40BC0 639 CNetwork__recv_entity_item_spawn_extended network Extended entity/item spawn handler. Like recv_entity_item_spawn but with additional item type range validation for non-0xB0 types: accepts item IDs 0x2D-999, 0x3E9-0xF9E, and 0x4E35-0x7CFF. Uses nothrow operator_new for 0x440-byte entity allocation. 0x00D40E40 689 CNetwork__recv_entity_item_with_ground_spawn network Handles entity/item creation with ground item spawn support. Three paths: type 0xB0 creates full 0x560-byte CGameEntity. Type 0x126 spawns a ground item via CGameMode__spawn_or_register_ground_item with position data. Other types manage entity linked list and create 0x440-byte entities with item type range validation. 0x00D41100 325 CNetwork__recv_entity_create_or_notify network Entity creation or notification handler. For non-0xB0 types, delegates to CNetwork__recv_rodex_mail_notify with 9 fields from the packet. For 0xB0 type with packet length >= 0x1B, creates a 0x560-byte CGameEntity and dispatches events 0x16 and 0x75 with item data from offset +0x1B. 0x00D41250 401 CNetwork__recv_entity_attachment_update network Handles entity attachment/item update. Reads item ID, type, coordinates, and flags from packet. Manages entity linked list (add/remove by ID). Looks up entity via CBGMManager__find_item_by_id, creates 0x440-byte entity if not found (for items >= type 0x2D). Stores map ID at entity offset 0x104*4 and dispatches event 0x2D with item data. 0x00D413F0 464 CNetwork__recv_entity_notify_with_ground_item network Handles entity notification with item type routing. For type 0x126, spawns ground item via CGameMode__spawn_or_register_ground_item. For other types, manages entity linked list (add/remove based on flag byte), looks up or creates entities via CBGMManager__find_item_by_id / CGameEntity__ctor_with_param, validates item type ranges (0x2D-999, 0x3E9-0xF9E, 0x4E35-0x7CFF), stores map ID, and dispatches event 0x2D. 0x00D415C0 969 CNetwork__recv_status_change_timer network Handles status change timer packet. Receives skill/status ID, start time, and duration. Iterates two global linked lists of timer bar entries (DAT_017326cc and DAT_017326d4) matching by skill ID. Creates CTimerBar instances for matching entries and adds them to temporary lists. If no existing timer tracking entry exists in DAT_01737a78, creates one via CPacket__handle_rodex_mail_list. Uses CKafraServiceInfo to store timer bar data. 0x00D41990 1753 CNetwork__recv_status_change_timer_update network Handles status change timer update packet. Similar to recv_status_change_timer but also handles existing timer entries in DAT_01737a78. For entries already tracked, destroys old sub-lists and recreates timer bars with updated durations. For new entries, creates timer bars and adds tracking entries. Processes both DAT_017326cc and DAT_017326d4 timer lists. 0x00D42070 1301 CNetwork__recv_skill_cooldown_list network Handles skill cooldown list packet. Parses a variable-length list of skill IDs with their remaining cooldown durations. Updates the skill hotbar to show cooldown timers/greyout for skills currently on cooldown. Iterates through each entry applying the cooldown state. 0x00D42590 552 CNetwork__recv_skill_cooldown_update network Handles skill cooldown update packet. Parses variable-length list of 6-byte entries (skill ID + duration). For each entry, creates a new timer tracking entry in DAT_01737a78 with the skill ID, computed deadline (timeGetTime + duration), and empty timer bar sub-lists. Cleans up temporary lists after each entry. 0x00D427C0 103 CNetwork__recv_ap_update network Handles AP (ability points) update packet. Reads current AP value and max AP from the packet. Updates the player's AP display globals and refreshes the AP gauge in the status bar UI. 0x00D42830 131 CNetwork__recv_job_change_effect network Handles job change visual effect packet. Looks up entity by ID at offset +2 via CBGMManager__find_item_by_id. If found, checks if the entity's effective job ID is in the homunculus range (0x8B-0x99 inclusive) and dispatches event 0x77 (job change visual effect). Also checks specific 4th class job IDs (0x5174-0x5177) and dispatches the same event. 0x00D428F0 371 CNetwork__recv_skill_list_with_records network Handles skill list packet with variable-length records. Parses header to get record count from (packet_length - 4) / 0x25. Each 0x25-byte record contains skill data fields. Builds a vector of 0x0F-byte entries from the records and passes to process_skill_list_packet along with the packet's skill set identifier at offset +0. 0x00D42A70 46 CNetwork__recv_single_skill_update network Handles single skill update packet. Passes 7 fields to handle_single_skill_update: skill ID (short at +2), level (short at +8), range (short at +10), type byte (at +0xE), upgradable flag (short at +0xC), SP cost (int at +4), and current level (short at +8). 0x00D42AA0 381 CNetwork__recv_skill_info_update network Handles skill info update packet. Reads packet type (0x10E, 0x239, or 0x29E) to determine which skill list to update. Gets existing skill entry by ID, copies its data, then updates with new values: level, range, type, upgradable flag, and AP amount. Calls the appropriate update function for the skill list type. Uses CSkillEntry for temporary storage. 0x00D42C20 901 CNetwork__recv_3d_sound_event network Handles 3D sound/BGM event packet. Three modes based on byte at +0x1A: Mode 0 = play positional 3D sound using resource name at +2, with position relative to camera entity. Mode 1 = add sound event with name string, timer duration, and position data to an internal event vector. Mode 2 = remove sound event by matching name string against the event vector. 0x00D42FB0 97 CNetwork__recv_inventory_equipment_list network Handles inventory/equipment item list packet. 4 modes via param_1: Mode 0 = inventory items (67-byte entries) with full data including card slots, options, equip location, class/level, identified/damaged/favorite flags. Checks elemental spirit equipment for savedata. Mode 1 = cart items, same parsing. Mode 2/3 = storage/guild storage items with favorite item handling. All modes parse up to 5 enchant option slots per item. 0x00D43940 1 CNetwork__handle_inventory_list_packet network CNetwork: handle inventory list packet 0x00D443F0 1 CNetwork__parse_non_equip_item_list network CNetwork: parse non equip item list 0x00D44580 29 CPacket__handle_equip_result network Handles equip result packet. If param_2 is 0 (success): case 0 notifies UI language change, case 1 calls equipment refresh, cases 2/3 invoke vtable method 0x94 with event 0x17 and set flag at offset 100. If param_2 is nonzero (failure), does nothing. 0x00D44600 116 CPacket__handle_inventory_reset_or_name_display network Handles inventory reset or name display packet. Switches on type byte at DAT_01720412+2: case 0 clears selling list, resets all equip slots, and resets all item slots. Case 1 clears cart list. Cases 2/3 extract a name string (up to 24 bytes) from the packet, create a window via CGameObject, compute string length, wrap/display it. Packet size field at DAT_01720412 determines data length (minus 5 byte header). 0x00D44760 1200 CPacket__dispatch_unit_property_change network Dispatches unit property change packet with int-sized values. Checks if target unit is the local player (DAT_01733c3c). For local player: applies property changes (position, class, guild, etc.) via switch on property type byte at offset 6, sets various DAT_017335xx globals. For other units: finds unit via CBGMManager and dispatches through vtable methods. Property types: 0=appearance/class, 1=weapon, 2=shield/garment, 3-6=various stats, 7=hair, 0xb=clear stats, 0xc-0xe=special properties. 0x00D44C90 175 CPacket__dispatch_unit_property_change_byte network Byte-sized variant of unit property change dispatch. Same structure as CPacket__dispatch_unit_property_change but reads single-byte values from packet offset 7 instead of int-sized values. Handles property types 0-8 for local player and dispatches to unit vtable for other entities. 0x00D44F20 47 CPacket__handle_char_select_response network Handles char select response packet. Gets game object via FUN_00a978d0(0x77), then calls vtable method 0x94 with event 0x5b and the result byte from packet offset 2. 0x00D44F50 409 CPacket__process_tooltip_packet network Processes tooltip/info packet for items/units. Switches on type byte at offset 0x1f: 0/1=format item name with message table entries 0x345-0x34E, 0xa/0xb=format with item description lookup, 0x14/0x15=special format messages 0x39f/0x4a6, 0x16=item class/level info message 0x4f1, 0x1e=message 0x409, 0x28=Target HP display. Builds formatted tooltip string and adds via TooltipMgr__add_tooltip_entry. 0x00D45560 241 CPacket__handle_unit_position_update network Handles unit position update packet with 4-byte coordinates. Reads x/y shorts from offsets 6/8, direction int from offset 10, and body direction byte from offset 0xe. For local player: updates position globals DAT_01733544-4c, notifies UI via vtable 0x94 event 0x3c, and triggers movement if DAT_01738254 < 1. For other units: finds via CBGMManager and dispatches position event 0x2b. 0x00D45660 223 CPacket__handle_unit_position_update_short network Handles unit position update packet with short-sized direction. Similar to CPacket__handle_unit_position_update but reads direction as short at offset 10 and body direction byte at offset 0xc. Updates same DAT_017335xx position globals for local player and dispatches event 0x2b to unit objects. 0x00D45740 555 CPacket__parse_player_stats_packet network Parses comprehensive player stats packet. Reads 12 byte stats (offsets 4-15) into DAT_01733cbc-ce8, then 13 short stats (offsets 0x10-0x2a) into DAT_01733c8c and DAT_01733cf0-d20. Calls thunk_to_00a969d0 after each stat update (likely UI refresh). Finally notifies stat window via vtable 0x94 event 0x23. Stats include STR/AGI/VIT/INT/DEX/LUK base and bonus, plus HP/SP/ATK/DEF/etc. 0x00D45970 72 CPacket__update_single_stat network Updates a single player stat by stat ID. Cases 0x20-0x25 update bonus stats (STR-LUK bonus) at DAT_01733cd4-ce8. Cases 0xf7-0xfc update trait stats at DAT_0173a618-a644. Calls thunk_to_00a969d0 for UI refresh, then notifies stat window via vtable 0x94 event 0x23. 0x00D45B90 60 CItemDB__dispatch_item_packet game_items CItemDB: dispatch item packet 0x00D45E30 87 CPacket__dispatch_entity_direction_event network Median-of-three pivot selection for introsort. Conditionally swaps 3 elements (param_1, param_2, param_3) so the median ends up at param_2. Compares 8-byte pairs by second field then first. 0x00D45E90 358 CPacket__parse_storage_equip_list_0x22 network Introsort partition for 8-byte pair elements. Picks median-of-three pivot, then partitions array into elements less than and greater than pivot. Returns partition boundaries via param_1 output. 0x00D46000 379 CPacket__parse_storage_equip_list_0x26 network Heap sift-down (push_heap helper) for 8-byte pairs. Promotes element at position param_2 up through the heap starting at parent index, maintaining heap property. 0x00D46180 349 CPacket__parse_storage_equip_list_0x1e network Copies key-value pairs from a std::rb_tree (red-black tree) to a dynamically allocated vector of pairs. Traverses the tree in-order, counting nodes, allocates vector of appropriate size (8 bytes per pair), then copies each node's data. 0x00D462E0 371 CPacket__parse_storage_equip_list_0x25 network Full introsort implementation for 8-byte pair arrays. Uses quicksort with median-of-three pivot selection, falls back to heapsort when recursion depth exceeds limit, and insertion sort for small partitions. 0x00D46460 536 CPacket__parse_storage_equip_list_0x25_titled network CRT snprintf_s wrapper. Calls __stdio_common_vsnprintf_s (secure variant) with 0x100 max buffer size. Returns formatted string length or -1 on error. 0x00D46680 924 CPacket__parse_cart_equip_list_with_title network Parses cart/storage equip list with title string and 0x29-byte entries. Has card slot data, enchant flags, and title word-wrap. Skips items with ID 0x8000. 0x00D46A20 876 CPacket__parse_cart_equip_list_with_title_v2 network Parses cart/storage equip list with title string and extended 0x43-byte entries. Full card array, refine, enchant flags, options, grade data. Skips items with ID 0x8000. 0x00D46D90 329 CPacket__parse_storage_item_list_0x20 network Parses storage item list with 0x20-byte entries. Simpler item structure with identify flag, damage bits, and basic card/option data. No card count field (local_104=0). 0x00D46EE0 504 CPacket__parse_storage_item_list_0x20_titled network Parses storage item list with title header and 0x20-byte entries. Extracts and word-wraps title from offset 4, then parses items from offset 0x1c with same structure as parse_storage_item_list_0x20. 0x00D470E0 504 CPacket__parse_storage_item_list_0x22_titled network Parses storage item list with title header and 0x22-byte entries. Larger entry size than 0x20 variant, includes additional option data per item. 0x00D472E0 345 CPacket__parse_storage_item_list_0x1c network Parses storage item list with 0x1c-byte entries. Minimal item format with refine, item ID, amount, cards, class/level, and identify flag only. 0x00D47440 339 CPacket__parse_storage_item_list_0x20b network Parses storage item list with 0x20-byte entries (variant b). Similar to parse_storage_item_list_0x20 but includes local_a4 extra option field per item. 0x00D475A0 319 CPacket__parse_storage_item_list_0x0c network Parses storage item list with minimal 0x0c-byte entries. Smallest variant with just refine, item ID, amount, class/level, and identify flag. Card slots all zeroed (local_f0-e4 = 0). 0x00D47720 59 CPacket__handle_message_registration_with_timestamp network Handles a packet that registers a message with timestamp. Reads account ID (offset 2), sender ID as short (offset 6), and a value (offset 8). Gets current time via _time32 and forwards all to CNetwork__handle_vending_item_sold (which may itself be misnamed as this is a general message registration handler). 0x00D47760 1208 CPacket__process_ranking_update network Processes ranking update packet with 0x10-byte entries. For each entry: looks up via CPacketSystem, matches against up to 3 ranking slots by account ID pair, formats ranking message using msg 0x64a with name and scores, dispatches as chat message (color 0xffff, type 0x13). Cleans up string vectors afterward. 0x00D47C20 1208 CPacket__process_ranking_update_v2 network Processes ranking update packet v2 with 0x0c-byte entries. Same logic as process_ranking_update but smaller entry size (matches by single int + zero check instead of two ints). Formats ranking messages and dispatches as chat. 0x00D480E0 330 CPacket__handle_skill_use_result network Handles skill use result packet. If target is local player: resets field 0x2cc. If success byte at offset 0xe is zero and skill ID is 0x19295, shows message 0x1071. If success, looks up skill by ID at offset 2, updates skill level by subtracting amount at offset 0xc. If skill 0x25f, resets field 0x5b4. Also calls FUN_00cdbeb0 for effect display on success. 0x00D48230 260 CPacket__handle_item_upgrade_result network Handles item upgrade result packet. If success byte at offset 6 is nonzero: looks up item by ID (offset 2), updates item level by subtracting upgrade amount (offset 4), checks grade info, and dispatches event 0x14 to unit. Resets field 0x2cc regardless. 0x00D48340 185 CPacket__handle_mvp_announce network Handles MVP announce packet. If game state is 3 and local player is not in the MVP vector, looks up item name by ID (offset 2). Otherwise formats message using msg 0xb2 with the value at offset 2. Clears chat then dispatches as white chat message. 0x00D48400 66 CPacket__handle_npc_market_open network Handles NPC market open packet. Sets flag at offset 0x24c to 1, stores NPC ID from offset 2 into field 0x2dc. Gets game object 0xe2 and dispatches event 0x19 to open market window. 0x00D48450 63 CPacket__handle_npc_shop_open network Handles NPC shop open packet. Sets flag at offset 0x24c to 1, stores NPC ID from offset 2 into field 0x2dc. Gets game object 0x10 and dispatches event 0x19 to open shop window. 0x00D48490 148 CPacket__handle_npc_menu network Handles NPC menu selection packet. Activates NPC dialog (FUN_00a8cf20 with 0x27), dispatches event 0x3b with menu ID (offset 2). Iterates 4 menu options (16 bytes each from offset 4), adding each non-empty string as event 0x1b. Appends 'cancel' option at the end. 0x00D48530 481 CPacket__handle_npc_input_dialog network Handles NPC text input dialog packet. Zeroes a 24-byte buffer, formats input via snprintf_wrapper, builds STL string from packet data at offset 0x20 up to packet length, copies and processes the string, then calls FUN_00d1a520 to display the input dialog. 0x00D48720 214 CPacket__handle_party_member_list network Handles party member list packet. Clears chat, computes member count from (packet_len - 4) / 0x18. Shows message 0xd43 or 0xd44 depending on count. Iterates members, copying 0x18-byte entries (name + status) and dispatching each as yellow (0xffff00) chat message. 0x00D48800 32 CPacket__handle_npc_close_or_next network Handles NPC close/next button packet. Forwards to FUN_00d18bd0 with type byte (offset 2), data pointer (offset 5), and value (offset 3) to process the NPC dialog flow control. 0x00D48820 1082 CPacket__handle_warp_notification network Handles warp/teleport notification. Copies source name (offsets 2-0x19) and destination name (offsets 0x1a-0x41). Compares source with local player name - if same player, shows message 0x1ea and sends packet 0xac. Otherwise: removes NPC if DAT_016d44c0 set, formats warp info messages 0x172/0x173, performs string search on town info, adds warp to CTownInfoMgr list. 0x00D48C60 952 CPacket__handle_warp_notification_by_gid network Handles warp notification by GID (game ID). Similar to handle_warp_notification but identifies sender by GID (offset 0x2a) instead of name. Compares GID against DAT_01733c40 for self-detection. On self: clears warp state, shows msg 0x1ea. On other: removes NPC by GID, formats warp messages, searches town info, adds to warp list. 0x00D49020 1253 CPacket__handle_npc_service_list network Handles NPC service list packet. Parses 0x28-byte entries from packet. For each: extracts service ID, flags, and name. Inserts into DAT_016d44fc tree by ID if not exists. Builds name string and updates node with service data (flags for type, availability, etc.) via CTownInfoMgr__update_service_node. Refreshes status windows when done. 0x00D49510 131 CPacket__handle_whisper_blocked network Handles whisper blocked notification. Copies sender name from packet (offsets 2-0x29). Formats and displays message 0x16f with the sender name as a white chat message (color 0xffff, type 4). 0x00D495A0 145 CPacket__handle_warp_list_result network Handles warp list result packet. Switch on result code at offset 2: 0=success (clears NPC data, resets town info, activates mode 0x3b, shows msg 400), 1=shows msg 0x191 (white), 2=shows msg 0x192 (type 4). 0x00D49640 98 CPacket__handle_pet_status_message network Handles pet status message packet. Switch on status code at offset 2: 0=shows msg 0x356 (yellow 0xffff00), 3=shows msg 0x33e (white 0xffff), 4=shows msg 0x341 (white 0xffff). Other codes ignored. 0x00D496B0 18 CPacket__set_npc_dialog_id network Sets the NPC dialog ID from packet value at offset 2 into global DAT_016d44a4. Simple 18-byte setter function. 0x00D496D0 450 CPacket__handle_card_compose_result network Handles card compose (insert) result. If success (byte offset 6 == 0): shows msg 0x1ed (yellow), looks up both items by ID (offsets 2 and 4), finds empty card slot in target item and inserts source card ID, updates item amounts. If failure (byte == 1): shows msg 0x1ee (red). 0x00D498A0 260 CPacket__handle_identify_result network Handles identify item result. If success (byte offset 4 == 0): shows msg 0x1eb (yellow), looks up item by ID (offset 2), marks as identified, refreshes display. If failure (byte == 1): shows msg 0x1ec (red). 0x00D499B0 544 CPacket__handle_refine_result network Handles refine/upgrade result packet. Looks up item by ID (offset 4), updates amount (offset 6). If world map window exists: sets display mode 2 with sub-modes 3/4/5/6 based on result code (offset 2). Otherwise: triggers skill effects 0x9a/0x9b based on result and refreshes item data. 0x00D49C70 76 CPacket__handle_repair_result network Handles repair item result. If success (byte offset 4 == 0): shows msg 0x32d (yellow). If failure (byte == 1): shows msg 0x32e (red). 0x00D49CC0 913 CPacket__handle_deal_notification network Handles trade/deal notification. Copies source name (offsets 2-0x19) and item name (offsets 0x1a-0x41). Compares source with local player name. If self: resets town info, activates mode 0x3b, shows msg 0x1e9, calls vtable 0xc4 to update display, sends packet 0xac. Otherwise: removes NPC, formats messages 0x16c/0x16d with names, searches town info, dispatches chat. 0x00D4A060 976 CNetwork__recv_guild_expulsion_notify network Handles guild expulsion notification. If the expelled member is the player (matches DAT_01733c40), clears guild skills, resets town data, clears TLS field, displays expulsion message (msg 0x1E9), and dispatches events. Otherwise, looks up expelled member name, formats messages using templates 0x16C and 0x16D, performs string search for related entries, dispatches chat messages, and removes entity display. 0x00D4A430 26 CPacket__handle_party_invite_result network Handles party invite result. Switch on result byte at offset 2: 0=msg 0x18a, 1=msg 0x18b, 2=msg 0x18c (yellow), 3=msg 0x18d, 4=msg 0x18e, 5=msg 0x6b5. Cases 0/1/3/4/5 show in white (0xffff), case 2 shows in yellow (0xffff00). 0x00D4A4D0 132 CPacket__handle_npc_field_update_list network Handles NPC field update list packet. Parses 0x0c-byte entries (field ID, map ID, value). Updates NPC field via CTownInfoMgr__update_npc_field. If value is 0, sets current map ID. After processing: notifies minimap window (type 0x3d) with event 0x6a and refreshes status windows. 0x00D4A560 96 CPacket__handle_divorce_result network Handles divorce result. If result (offset 2) is 0: calls FUN_00c7d7d0/c830, sends packet type 2. If result is 1: shows msg 0x1f6 (red). 0x00D4A5C0 26 CPacket__handle_adopt_result network Handles adopt/baby result. Switch on result byte at offset 2: 0=msg 0x1ef (yellow), 1=msg 0x1f0 (red), 2=msg 0x1f1 (red), 3=msg 0x6b6 (red). 0x00D4A650 289 CPacket__handle_enchant_effect_result network Handles enchant/upgrade effect result. Gets item class/level from offset 4. Switch on result type (offset 2): 0/1=skill effects 0x9a/0x9b (basic enchant success/fail), 2-7=advanced enchant effects (0x131/0x132/0x3f7-0x3fa). For types 2-7: first removes existing effect of same ID, then creates new one. 0x00D4AFA0 48 CPacket__handle_guild_create_result network Handles guild creation result. Clears chat first. Switch on result byte at offset 2: 0=msg 0x17a (red), 1=msg 0x17b (red), 2=msg 0x17c (yellow), 3=msg 0x17d (red), 4=msg 0x82a (red). 0x00D4B050 179 CPacket__handle_item_drop_notification network Handles item drop/pickup notification. Gets item class/level from offset 6. Switch on type (offset 2): 0=msg 0x38f (item obtained, yellow), 1=msg 0x390 (item lost, via PTR_caseD color), 2=msg 0x391 (item stolen, blue 0xc8c8ff), 3=msg 0x392 (item destroyed, blue 0xc8c8ff). Formats with item tooltip string from CItemDB. 0x00D4B2C0 1 CNetwork__handle_job_change_result_message network CNetwork: handle job change result message 0x00D4B4D0 473 CPacket__handle_friend_list_entry network Handles friend list entry packet. If DAT_016d44bc is set: extracts friend name (offsets 10-0x21), searches town info, builds friend entry with account ID (offset 2), char ID (offset 6), name string. Calls FUN_00d53210 to add to friend list and refreshes status windows. 0x00D4B6B0 183 CPacket__handle_skill_hit_position network Handles skill hit with position info. Sets DAT_01733584 from offset 0xe (skill ID or target). Finds target unit by ID (offset 2) via CBGMManager, dispatches event 0x3d with x/y from offsets 6/8. Also dispatches event 0x3d to local player unit with offsets 10/0xc, and event 0x3c with the unit GID. 0x00D4B770 19 CPacket__set_skill_target_id network Sets skill target ID global DAT_01733584 from packet short at offset 2. Simple 19-byte setter. 0x00D4B790 195 CPacket__handle_skill_update network Handles skill update packet. Constructs a CSkillEntry from packet data: skill ID (offset 2), unknown (offset 4), level (offset 8), range (offset 10), SP cost (offset 0xc), attack range flag (offset 0x26). Gets skill name and AP amount. Calls CSkillMgr__update_or_add_skill, then sends event 0x71 to update skill UI. 0x00D4B860 1391 CPacket__handle_guild_info_packet network Handles guild info packet. Parses 0x40-byte entries containing 3 string fields (name, title, role). For each entry: clears existing list, initializes strings, creates 0x54-byte list node with string data, inserts into global linked list (DAT_016d44ec/f0). Refreshes status windows after processing all entries. 0x00D4BDD0 1524 CPacket__handle_guild_member_list network Handles guild member list packet. Parses 0x2c-byte entries. For each member: extracts ID, resolves name via util_0060afb0, appends default name (msg 0x245) if empty. Creates 0x54-byte list node with member data and 3 string fields, inserts into global linked list (DAT_016d44ec/f0). Refreshes status windows after all entries processed. 0x00D4C3D0 1609 CPacket__handle_guild_skill_list network Handles guild skill list packet. Parses 0x44-byte entries. For each skill: extracts name string, checks util_0060b420 for map change, resolves display name. Creates list nodes with 3 string fields (skill name, description, category), inserts into global linked list (DAT_016d44ec/f0). Refreshes status windows after processing. 0x00D4CA20 172 CPacket__handle_effect_state_update network Handles visual effect state update on entities. If type (offset 6) is 2: removes effect by key. Otherwise: inserts/updates effect in rb-tree with position (offset 10), secondary value (offset 0xe), color (offset 0x13 OR'd with 0xFF000000 for alpha), type (offset 6), and timestamp from timeGetTime(). 0x00D4CAD0 114 CPacket__handle_stat_update_with_cap network Handles stat update with cap/max value. Updates both current and max values for stats. Cases 0xd-0x12: STR-LUK base stats (DAT_01733cbc-cd0) with their caps (DAT_01733ca4-cb8). Cases 0xdb-0xe0: trait stats via FUN_00d18ab0 with caps (DAT_0173a600-a614). After update: initializes CDataTable if needed and recalculates ItemBonus dirty flags. 0x00D4CEE0 35 CPacket__handle_friend_remove network Handles friend removal packet. If DAT_016d44bc is set, removes friend from CTownInfoMgr warp list by account ID (offset 2) and char ID (offset 6). 0x00D4CF10 51 CPacket__handle_chat_timestamp network Handles chat/message timestamp registration. Gets sender ID (offset 2) and room/channel ID (offset 4), obtains current time via _time32, then forwards all to CNetwork__handle_buyingstore_purchase (note: that callee may be misnamed -- it likely handles timestamp registration for chat/messages, not buying store). 0x00D4CF50 65 CPacket__handle_unit_death_event network Handles unit death event. Finds unit by ID (offset 2) via CBGMManager and dispatches event 0x36 (death animation) to it. No-op if unit not found. 0x00D4CFA0 136 CPacket__handle_equipment_removal_and_costume_update network Dispatches walk/movement event (0x13) to a unit. For local player, gets unit from session manager. For others, finds via CBGMManager. Passes x/y coordinates and body direction. 0x00D4D030 281 CPacket__handle_storage_type_notification network Parses cart/storage item list with 0x22-byte entries. Creates window type 0x21, iterates items extracting refine, cards, item ID, amount, class/level, identify/damage flags. Calls CItemCollection__add_or_update_favorite_item per item. 0x00D4D150 486 CPacket__handle_broadcast_chat_message network Parses cart/storage item list with 0x26-byte entries. Like v1 but with 2 extra option fields per item. 0x00D4D340 106 CPacket__handle_guild_emblem_data network Parses cart/storage item list with 0x1e-byte entries (smallest variant). Basic item data only. 0x00D4D3B0 592 CPacket__handle_charselect_info_v2 network Parses cart/storage item list with 0x25-byte entries. Includes enchant bit flags (identify/damage/bound) and extra option values. 0x00D4D600 767 CPacket__handle_charselect_info_with_title network Parses cart/storage item list with title string and 0x25-byte items. Extracts title from offset 4, word-wraps via UITextWidget, then parses items from offset 0x1c. 0x00D4D900 1136 CPacket__handle_charselect_info network Copy constructor for 0x100-byte records (CShopItem). Calls CShopItem__copy_construct for first 0xF8 bytes, then copies flag byte at offset 0xF8. 0x00D4DD70 1325 CPacket__handle_whisper_message network STL list emplace_back for 0x28-byte nodes. Allocates new node, copy-constructs a string member, sets an int field and zero flag, links at tail of doubly-linked list. 0x00D4E2A0 321 CPacket__handle_skill_list network Handles skill list packet for card/enchant selection. Gets game object 0x4a and dispatches events: 0x4b (clear list), 0x4d (set source item from field 0x45c). Iterates (packet_len-4)/2 skill IDs, looks up each via FUN_00ddd5a0, dispatches event 0x1f with name string and data. Finishes with event 0x3c. 0x00D4E3F0 277 CPacket__handle_skill_list_alt network Handles an alternate skill list packet. Creates a window of type 0x49, sends initial control messages, then iterates through skill IDs in the packet, looking up each skill and adding it to the window's list. 0x00D4E510 141 CPacket__handle_cooking_ingredient_list network Handles cooking/synthesis ingredient list. If packet has 0x10-byte entries: activates window 0x4f, iterates entries dispatching event 0x1f with item data. If empty (no entries): shows dialog box with msg 0x1a8 (no ingredients available). 0x00D4E5A0 599 CPacket__handle_npc_info_add_entry network Handles adding a single NPC info entry to town info list. If DAT_016d44c0 is set: extracts 3 string fields (name, title, map), initializes list node with init_three_strings, trims string lengths, adds NPC via CTownInfoMgr__add_npc_to_list, recomputes NPC weights, and refreshes status windows. Previously misnamed as handle_auction_item_list. 0x00D4E800 919 CPacket__handle_npc_info_add_entry_v2 network Handles adding a single NPC info entry (v2 format) to town info list. If DAT_016d44c0 is set: initializes list node, extracts position/stat data from offsets 10-0x20, resolves class name via util_0060b420/handle_map_change_notification, builds name string, adds NPC to CTownInfoMgr, recomputes weights, refreshes UI. Previously misnamed as handle_auction_result. 0x00D4EBA0 602 CPacket__handle_npc_info_single network Handles a single NPC info packet. Parses NPC ID, class, position, name strings, and description from the packet. Gets cooldown message if needed, appends default description if empty, then adds the NPC to the town info list and recomputes weights. 0x00D4EE00 887 CPacket__handle_npc_info_list_0x68 network Handles a list-type NPC info packet with 0x68-byte entries. Clears the NPC list, then iterates each entry parsing NPC ID, class, position, name, and description strings. Adds each NPC to the town info list and recomputes weights at the end. 0x00D4F180 1556 CPacket__handle_npc_info_list_0x3a network Handles a list-type NPC info packet with 0x3A-byte entries. Similar to the 0x68 variant but with smaller entry size. Includes XOR decryption for special NPC names matching a global ID, cooldown message lookup, and map change notification for unknown NPCs. 0x00D4F7A0 1343 CPacket__handle_npc_info_list_0x50 network Handles a list-type NPC info packet with 0x50-byte entries. Parses each NPC's ID, class, position, name and description. Handles XOR decryption for special names, cooldown messages, and default description fallback. Adds all NPCs to town info and recomputes weights. 0x00D4FCE0 99 CPacket__handle_quest_update network Handles quest update packet. Filters out skill IDs 0x505-0x507, 0x725-0x726 (specific quest skills that are handled elsewhere). For other quest updates: gets game object 0x4d and dispatches event 0x4f with the raw packet data. 0x00D4FD50 884 CPacket__handle_quest_list network Handles quest list packet. Clears and rebuilds quest linked list (DAT_016d44e4/e8). Parses 0x20-byte entries: quest data at offsets -1/0, name string at offset 4. For each: processes Korean text search on name, creates 0x28-byte list node with quest data and name string. Inserts nodes into linked list. Refreshes status windows. 0x00D500D0 277 CPacket__handle_system_broadcast network Handles system broadcast message. Builds STL string from packet data at offset 4 (length = packet_len - 4). Clears chat then dispatches the message as white (0xffff) chat. 0x00D501F0 129 CPacket__handle_guild_invite_accept network Handles guild invite acceptance notification. Copies guild name from packet (offsets 3-0x1a). If result byte (offset 2) is 0 (accepted): formats msg 0x183 with guild name and shows as yellow (0xffff00) chat message. 0x00D50280 30 CPacket__handle_deal_trade_result network Handles deal/trade result. Switch on result code (offset 2): 0=msg 500 (red, trade failed), 1=msg 0x1f5 (yellow, trade success), 2=msg 0x536 (yellow, trade cancelled), 3=msg 0x537 (yellow, resets field 0x2cc). Each message is dispatched both as regular chat and type 0x13. 0x00D503B0 169 CPacket__handle_produce_item_list network Handles produce/craft item list. If packet has 0x17-byte entries: opens or refreshes window 0x6f, iterates entries dispatching event 0x1f with item ID (offset 2) and recipe data (offset 1). If empty: shows dialog msg 0x1a8 (nothing to produce). 0x00D50460 65 CPacket__handle_entity_display_update network Handles entity display update. Looks up entity by ID (offset 2) via CBGMManager. If found, gets game object 0x38 and dispatches event 0x1c with the entity ID to update its visual representation. 0x00D504B0 199 CPacket__handle_buying_store_open network Handles buying store open request. Gets player entity mode field. If entity not in special state: clamps item count (offset 2) to range [3, 13], stores in DAT_0173357c, clears storage list, opens shop window 0x29 with submit button. If other shop windows (DAT_014578fc/f4) are open: shows error dialog msg 0x24b instead. Sends event 0x51 afterward. 0x00D50590 640 CPacket__handle_auction_item_list_v2 network Handles auction/buying store item list (v2 format with 0x3f-byte entries). Clears auction and mail item collections. For each entry: parses item data (ID, type, slots, cards at offsets), counts card slots (up to 5), adds via CItemCollection__add_or_update_auction_item. Opens windows 0x2b and 0x2c with item count data. Sets flag at this+0x24c. 0x00D50810 656 CPacket__handle_guild_storage_item_list network Handles guild storage item list. If DAT_016f7144 set, notifies player entity. Clears guild storage list. Parses 0x39-byte entries: item data (ID, type, amount, equip info, cards). For each: counts card slots, adds via CItemCollection__add_or_update_guild_storage_item. If empty: sends event 0x28 and clears auction/mail windows 0x2b/0x2c. 0x00D50AA0 304 CPacket__handle_item_action_result network Handles item action result notifications. Special cases: type 6=msg 0x69f (blue), 7=msg 0x705 (red), 0xf=msg 0xe75 (red). For item-specific results: looks up item by ID (offset 2) via CShop__find_mail_item_by_slot, then switches on type (offset 6): 1=item identified (msg 0x37+0xe5), 2=item failed (msg 0x38+0xe5), 4=item amount (msg 0xf0), 5=item amount alt (msg 0x119), 8=item special (msg 0x756+0xe5). All item messages shown in blue (0x6464ff). Previously misnamed as handle_battleground_score. 0x00D50E40 629 CPacket__handle_friend_player_list network Handles friend/player list packet. Parses 0x1c-byte entries. For each: extracts player name (offsets 4-0x1a), processes Korean text search, looks up in rb-tree (DAT_016d44fc) by account ID. If not found: creates new 0x2c-byte tree node and inserts. Trims name string length. Refreshes status windows after processing all entries. 0x00D510C0 975 CPacket__handle_ranking_list network Handles ranking list packet. Clears and rebuilds ranking linked list (DAT_016d44d4). Parses 0x10-byte entries: account ID, bitfield flags (bits 0, 4, 8), score, name string. For each: looks up in rb-tree (DAT_016d44fc), creates node if missing, creates 0x38-byte list node with name/score/flags. Sorts final list via merge_sort_linked_list_by_key. Refreshes UI. 0x00D51490 149 CPacket__handle_produce_item_list_alt network Handles alternate produce/craft item list. Uses window type 0x6b (vs 0x6f in the primary version). Parses 0x17-byte entries, dispatches event 0x1f with raw entry data pointer. If no entries: shows dialog msg 0x1a8 (nothing to produce). 0x00D51530 307 CPacket__handle_npc_sprite_change network Handles NPC sprite/display change notification. Extracts NPC name string from offset 6 (18 bytes), processes Korean text search if applicable. Opens window type 0x48 and dispatches event 0x4a with entity ID (offset 2) and the processed name string. 0x00D51670 307 CPacket__handle_npc_info_dialog network Handles an NPC info dialog packet. Extracts NPC data fields from packet, checks CTownInfoMgr for incomplete search, performs string search if needed, then creates a UI window (type 0x46) and dispatches event 0x49 with the NPC data. 0x00D517B0 30 CPacket__handle_guild_emblem_version network Handles guild emblem version result packet. Switches on result type byte (param_1+2): type 0 shows success message (0x176) in yellow and clears TLS fields 0xd5/0xd6, types 1-4 show different error messages (0x177-0xa7f) in cyan. 0x00D51880 294 CPacket__handle_map_object_clear_and_refresh network Handles a map object clear and refresh packet. Looks up object by map ID, sends event 0x62 to clear it. If the map matches the current map (DAT_01733c3c), also clears the main game object and resets fields at +0x24C/0x250. Then gets item node and refreshes the item collection window. 0x00D519B0 98 CPacket__handle_attendance_reward network Handles attendance reward packet. Copies a 0x40-byte name string from packet+2, reads a result byte from packet+0x42 (0xFF mapped to -1), then dispatches virtual call with event code 100. 0x00D51A20 98 CPacket__handle_attendance_info network Handles attendance info packet. Copies a 0x10-byte string from packet+2, reads info byte from packet+0x12 (0xFF mapped to -1), then dispatches virtual call with event code 100. 0x00D51A90 121 CPacket__handle_pet_info_update network Handles pet info update packet. Copies a 0x50-byte pet name from packet+6, finds the pet object by ID (packet+2), then sends event 0x37 with the name string to update the pet's display name. 0x00D51B10 71 CPacket__handle_object_event_dispatch network Dispatches an event to a game object found by item ID. Looks up object via CBGMManager__find_item_by_id with packet+2, then sends event 7 with data from packet+6. 0x00D51B60 213 CPacket__handle_npc_position_update network Handles NPC position/visibility update packet. Calls CTownInfoMgr to update NPC position and visibility with coordinates and flags from the packet. Also resolves NPC name string and dispatches events 0x8C (name update) and 0xAB (remove if type==0). 0x00D51C40 195 CPacket__handle_npc_visibility_update network Handles NPC visibility update packet. Sets NPC visibility by ID via CTownInfoMgr, resolves name string, dispatches event 0x8C with name and visibility, and event 0xAB to remove if visibility is 0. 0x00D51D10 163 CPacket__handle_achievement_list network Handles achievement list packet. Sets global achievement state vars (DAT_016d44a8-DAT_016d44d0) from packet data including flags and counts. Dispatches virtual call at vtable+0xC4. On first call, triggers events 0x6B with types 3 and 1 to initialize achievement UI. 0x00D51DC0 155 CPacket__handle_achievement_list_v2 network Handles achievement list variant (v2). Nearly identical to CPacket__handle_achievement_list - sets same global vars (DAT_016d44a8-DAT_016d44b4), dispatches vtable+0xC4, and initializes achievement UI events 0x6B on first call. Differs in not reading DAT_016d44d0. 0x00D51E60 100 CPacket__handle_cell_property_update network Updates a cell property in the map grid. Reads x,y coordinates (short) from packet+2 and packet+4, validates they are within grid bounds (0x110/0x114), then writes the value (short from packet+6) to the cell at grid[y*width+x]+0x10. 0x00D51ED0 93 STL_destroy_range_0x74_with_string stl Destructor loop for array of 0x74-byte records. Iterates from param_1 to param_2 in 0x74 steps, calling STL_string_dtor on each element. 0x00D51F30 92 STL_destroy_range_0x24_with_string stl Handles clan info packet. Reads clan name string at offset +2, then checks two flag bytes at +0x1A and +0x1B to select one of 6 message IDs (0xD3D-0xD42). Clears chat first (event 3), concatenates clan name with the selected message, and displays it in chat (event 1, color 0xFFFF). 0x00D51F90 22 STL_vector_destroy_range_0x158 stl Wrapper that calls STL_vector_destroy_loop_0x158 to destroy a range of 0x158-byte vector elements. 0x00D51FB0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D521C0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D523D0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D525E0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D527F0 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D52A00 61 STL_vector_copy_0x0F_elements stl STL vector element copy helper for 0x0F-byte records. Uses memcpy to copy a range of elements. Called by STL_vector_insert_record_0x0F. 0x00D52A40 153 STL_vector_copy_range_0x158 stl Copies a range of 0x158-byte elements via record_0x158_copy_construct, then destroys the old range. Used for vector reallocation/assignment. 0x00D52AE0 151 STL_vector_copy_range_0x158_refine stl Copies a range of 0x158-byte elements via CNetwork__refine_data_record_copy_ctor, then destroys the old range. Vector copy for refine data records. 0x00D52B80 10 thunk_to_std__Xlength_error_00d52b80 stl Forwards to std::_Xlength_error with vector_too_long message 0x00D52B90 10 thunk_to_std__Xlength_error_00d52b90 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00D52BA0 10 thunk_to_std__Xlength_error_00d52ba0 stl Throws std::length_error for vector size overflow 0x00D52BB0 10 thunk_to_std__Xlength_error_00d52bb0 stl Thunk calling std::_Xlength_error with vector_too_long message 0x00D52BC0 168 STL_list_clear_0x54_nodes stl Clears a linked list of 0x54-byte nodes. Each node contains 3 STL strings that are destroyed before the node is freed. 0x00D52C70 119 STL_list_clear_0x4c_nodes stl Clears a linked list of 0x4c-byte nodes. Calls virtual destructor on each node before freeing. 0x00D52CF0 56 STL_deallocate_0x74_array stl Sized deallocation helper for arrays of 0x74-byte records. Computes total size, checks alignment for large allocations, then calls operator_delete. 0x00D52D30 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00D52D70 61 STL_sized_dealloc_0xf_stride stl Sized deallocation helper. Calculates total size as count * 0xf bytes and calls operator_delete with aligned size. 0x00D52DB0 59 STL_deallocate_0x158_array stl Sized deallocation helper for arrays of 0x158-byte records. Computes total size, checks alignment for large allocations, then calls operator_delete. 0x00D52DF0 95 STL_list_erase_node_0x0C stl STL list node erase. Unlinks a 0x0C-byte node from a doubly-linked list (updates prev/next pointers), decrements list size, frees the node memory, and returns iterator to next element. 0x00D52E60 165 STL_list_insert_node_0x0C stl STL list insert/push_back for 0x0C-byte nodes. Allocates new node, stores value from param_2, inserts before the sentinel node. Throws std::length_error if list is at max capacity (0x15555555). 0x00D52F10 165 STL_list_insert_node_0x0C_00d52f10 stl STL list insert/push_back for 0x0C-byte nodes. Same pattern as STL_list_insert_node_0x0C at 00d52e60. 0x00D52FC0 165 STL_list_insert_node_0x0C_00d52fc0 stl STL list insert/push_back for 0x0C-byte nodes. Same pattern as STL_list_insert_node_0x0C at 00d52e60. 0x00D53070 165 STL_list_insert_node_0x0C_00d53070 stl STL list insert/push_back for 0x0C-byte nodes. Same pattern as STL_list_insert_node_0x0C at 00d52e60. 0x00D53120 228 STL_list_insert_node_0x24 stl STL list insert for 0x24-byte nodes. Allocates node, copies 3 dword fields and 2 string/struct fields via copy construction, then links into doubly-linked list. Max capacity 0x71c71c7. 0x00D53210 190 STL_list_insert_node_0x28_with_string stl STL list insert for 0x28-byte nodes. Copies 2 dword fields and 1 STL string via copy construction, links into doubly-linked list. Max capacity 0x6666666. 0x00D532D0 96 word_wrap_stl_string_and_display game_core Extracts the c_str from an STL string (handling SSO buffer vs heap pointer), passes it to UITextWidget__word_wrap_text for display, then destroys the temporary string. 0x00D53330 51 crt_sprintf_wrapper crt CRT sprintf-style wrapper. Calls __stdio_common_vsprintf (non-secure) with caller-specified buffer and size. Returns formatted string length or -1 on error. Note: uses vsprintf flag \|1. 0x00D53370 375 CQuestData__move_construct game_skills Move constructor for a ~0x1A0 byte record. Moves 3 STL strings (at offsets 0xC, 0x2C, 0x44) and copies remaining fields including a 0x12C-byte block at offset 0x5D and trailing metadata. 0x00D534F0 34 memcpy_range_wrapper_a stl Copies a memory range by computing size from begin/end pointers and calling memcpy. 0x00D53520 34 memcpy_range_wrapper_b stl Copies a memory range by computing size from begin/end pointers and calling memcpy. 0x00D53550 34 memcpy_range_to_dest_00d53550 stl Copies a memory range by computing size from begin/end pointers and calling memcpy. 0x00D53580 118 STL_destroy_range_0x100_with_strings stl Destructor loop for array of 0x100-byte records. Each record contains 2 STL strings that are destroyed in sequence. 0x00D53600 452 STL_vector_insert_4byte_element stl STL vector::insert for 4-byte (pointer/int) elements. Allocates new buffer with 1.5x growth, copies element at insertion point, memcpy's existing data around it, frees old buffer. 0x00D537D0 452 STL_vector_insert_4byte_element_v2 stl STL vector::insert for 4-byte elements. Nearly identical to STL_vector_insert_4byte_element but uses different Xlength_error thunk. 0x00D539A0 540 STL_vector_insert_0x36_element stl STL vector::insert for 0x36-byte elements. Allocates with 1.5x growth, copies 0x36-byte record at insertion point, memcpy's surrounding data. 0x00D53BD0 280 STL_vector_insert_0x100_element stl STL vector::insert for 0x100-byte elements. Allocates new buffer, copies element via record_0x100_copy_construct, moves surrounding data with CShopItemList range copy helpers. 0x00D53D20 103 STL_tree_erase_recursive_0x20 stl Recursively erases nodes from a red-black tree (0x20-byte nodes). Traverses right subtree recursively, then iterates left children, deleting each node. 0x00D53D90 87 STL_tree_lower_bound_uint64 stl STL tree lower_bound for uint64 keys. Binary search: goes left if key <= node, right otherwise. Returns iterator to first element not less than key. 0x00D53DF0 87 STL_tree_upper_bound_uint64 stl STL tree upper_bound for uint64 keys. Binary search: goes left if key >= node, right otherwise. Returns iterator to first element greater than key. 0x00D53E50 625 STL_vector_range_insert_bytes stl STL vector range insert for byte elements. Inserts a range of bytes at a position, reallocating with 1.5x growth if needed. Handles both in-place shift and full reallocation cases. 0x00D54170 276 STL_make_heap_8byte_pairs stl STL make_heap for 8-byte pairs (value + tag). Builds a max-heap in-place using sift-down from the middle to the start. Compares tag first, then value for equal tags. 0x00D54290 168 STL_median_of_three_swap_8byte stl Median-of-three pivot selection for introsort. Conditionally swaps 3 elements (param_1, param_2, param_3) so the median ends up at param_2. Compares 8-byte pairs by second field then first. 0x00D54340 842 STL_introsort_partition_8byte stl Introsort partition for 8-byte pair elements. Picks median-of-three pivot, then partitions array into elements less than and greater than pivot. Returns partition boundaries via param_1 output. 0x00D54690 220 STL_sift_down_heap_8byte stl Heap sift-down (push_heap helper) for 8-byte pairs. Promotes element at position param_2 up through the heap starting at parent index, maintaining heap property. 0x00D54770 372 std__rb_tree_copy_to_vector_pair stl Copies key-value pairs from a std::rb_tree (red-black tree) to a dynamically allocated vector of pairs. Traverses the tree in-order, counting nodes, allocates vector of appropriate size (8 bytes per pair), then copies each node's data (fields 4 and 5) into the vector. Uses aligned allocation for large buffers. 0x00D548F0 427 STL_introsort_8byte_pairs stl Full introsort implementation for 8-byte pair arrays. Uses quicksort with median-of-three pivot selection, falls back to heapsort when recursion depth exceeds limit, and insertion sort for small partitions (<=0x20 elements). 0x00D54AA0 96 crt_snprintf_s_wrapper crt CRT snprintf_s wrapper. Calls __stdio_common_vsnprintf_s (secure variant) with 0x100 max buffer size. Returns formatted string length or -1 on error. 0x00D54B10 97 CShopItemExt__copy_construct game_core Copy constructor for 0x100-byte records (CShopItem). Calls CShopItem__copy_construct for the first 0xF8 bytes, then copies the flag byte at offset 0xF8. 0x00D54B80 212 STL_list_emplace_back_0x28 stl STL list emplace_back for 0x28-byte nodes. Allocates a new node, copy-constructs a string member, sets an int field and zero flag, links the node at the tail of a doubly-linked list. 0x00D54C60 257 STL_map_insert_0x1B0_node stl STL map/set insert for 0x1B0-byte nodes keyed by uint64. Performs lower_bound search, allocates new node if key not found, copies 0x1A0-byte record via move constructor, links into red-black tree. 0x00D54D70 250 CQuestData__copy_construct game_skills Copy constructor for a ~0x1A0 byte record with 3 embedded STL strings. Copies header fields, then string-constructs at 3 offsets, copies a 0x12C-byte data block and trailing metadata. 0x00D54E70 93 sprintf_wrapper_0x100 game_core Formatted string output wrapper. Calls vsprintf_s with a 0x100-byte buffer. Returns the formatted string length, or -1 on error. 0x00D54EE0 105 STL_tree_init_sentinel_0x20 stl Initializes an STL tree/set/map by allocating a 0x20-byte sentinel node. Sets left/right/parent pointers to self, marks as sentinel (0x101 at offset 0xC). Stores sentinel pointer in param_1[0]. 0x00D54F90 140 STL_dual_tree_init_0x340 stl Initializes two STL tree containers by allocating two 0x340-byte sentinel nodes. Each sentinel has left/right pointers set to self. Stored at offsets 0xC and 0x14 in the parent object. 0x00D55020 67 STL_node_delete_0x24 stl Deletes a 0x24-byte allocation at offset +4 of the object, if non-null. Simple node/element destructor. 0x00D55070 70 STL_node_delete_0x1B0 stl Deletes a 0x1B0-byte allocation at offset +4 of the object, if non-null. Node destructor for large tree map nodes. 0x00D550C0 67 STL_node_delete_0x20 stl Deletes a 0x20-byte allocation at offset +4 of the object, if non-null. Node destructor for tree sentinel or small nodes. 0x00D55110 116 STL_node_destroy_and_delete_0x24 stl Destroys an STL string member inside a 0x24-byte node, then frees the node. Used as a single-node destructor for tree nodes containing one string. 0x00D55190 111 STL_tree_destroy_all_0x20 stl Destroys an entire STL tree/set/map of 0x20-byte nodes. Recursively erases all data nodes via STL_tree_erase_recursive_0x20, then deletes the sentinel node. 0x00D55210 155 STL_node_destroy_3strings_delete_0x1B0 stl Destroys a 0x1B0-byte tree node containing 3 embedded STL strings (destroyed in reverse order), then frees the node memory. 0x00D552B0 78 STL_node_delete_0x20_v2 stl Deletes a 0x20-byte node at offset +4, if non-null. Simple node destructor variant. 0x00D55300 81 STL_node_delete_0x1B0_v2 stl Deletes a 0x1B0-byte node at offset +4, if non-null. Simple node destructor for large map nodes. 0x00D55360 78 STL_node_delete_0x20_v3 stl Deletes a 0x20-byte node at offset +4, if non-null. Simple node destructor variant (v3). 0x00D553D0 65 STL_tree_destroy_wrapper_0x20 stl Wrapper around STL_tree_destroy_all_0x20. Destroys an entire tree of 0x20-byte nodes. 0x00D55420 99 STL_destroy_2_strings stl SEH-protected destructor that destroys 2 STL strings in sequence. 0x00D55490 112 STL_destroy_3_strings stl SEH-protected destructor that destroys 3 STL strings in reverse order. 0x00D55500 129 STL_vector_free_buffer_4byte stl Frees a vector's backing buffer (4-byte aligned elements). Handles large allocation bookkeeping. Resets begin/end/capacity to 0. 0x00D55590 129 STL_vector_free_buffer_4byte_v2 stl Frees a vector's backing buffer (4-byte aligned elements). Identical to v1 but at different address. 0x00D55620 147 STL_vector_destroy_and_free_0x100 stl Destroys a vector of 0x100-byte records containing embedded strings, then frees the vector buffer. 0x00D556C0 148 STL_vector_free_buffer_0x36 stl Frees a vector of 0x36-byte records. Handles large allocation bookkeeping. Resets begin/end/capacity to 0. 0x00D55760 68 STL_string_dtor_wrapper_00d55760 stl Simple wrapper that calls STL_string_dtor on one string. 0x00D557B0 254 STL_map_insert_uint64_key_0x20_node stl STL map insert for 0x20-byte nodes keyed by uint64. Performs upper_bound search, allocates new node if key not found, copies key and initializes value to 0. Returns pointer to value at node+0x18. 0x00D558B0 254 STL_map_insert_uint64_key_0x20_node_v2 stl STL map insert for 0x20-byte nodes keyed by uint64 (v2). Same as v1 but at different address - likely instantiated for a different map type. 0x00D559B0 246 STL_map_insert_or_update_int_key_2values stl STL map insert or update with integer key and two values. Performs lower_bound, inserts new 0x20-byte node if key not found, then stores param_3 and param_4 at node+0x18 and node+0x1C. 0x00D55AB0 2355 CEntity__apply_status_effect_visual game_entity Applies visual status effects to an entity. Handles effect timers, skill effects (including status bars), special entity palette changes, and dispatches through jump tables for effect-specific rendering. Manages effect lifecycle (creation/removal) based on timer expiry and effect type. 0x00D588E0 142 CResourceCache__handle_multipart_data file Handles multi-part resource data. Part 0: initializes with offset/size, stores cursor. Part 1: appends data bytes to buffer via range insert. Part 2: compresses accumulated data and saves to file, then notifies UI window. 0x00D58970 432 CSimulator__ensure_output_directory game_core Ensures the simulator output directory exists. Appends subdirectory name to base path, checks _access, creates via _mkdir if missing. On failure displays red error chat message. Returns the directory path as std::string. 0x00D58B20 594 CSimulator__open_result_file_with_date game_core Opens a simulator result file with date-stamped filename. Looks up item name via CItemDesc, formats filename as dir/itemname_id_YYYY_MM_DD.txt, increments suffix if file exists. Opens with _wfopen. Displays success/fail message in chat. 0x00D58D80 468 CSimulator__open_result_file_by_name game_core Opens a simulator result file by name. Formats filename as dir/name.txt, increments suffix if file exists. Opens with _wfopen. Displays success/fail message in chat. 0x00D58F60 570 CSimulator__open_random_option_result_file game_core Opens a RandomOption simulator result file. Uses date-stamped filename format: dir/name_RandomOption_YYYY_MM_DD.txt. Increments suffix if file exists. Opens with _wfopen, displays success/fail chat message. 0x00D591A0 3253 CEntity__apply_status_effect_flags game_entity Applies persistent status effect visual flags to an entity based on a bitfield (param_4). For player entities: checks each bit flag and creates/removes skill effects accordingly (hiding 0xa6, stone curse 0xcb, frozen 0xfe, etc). For the local player: additionally manages effect timers and can set entity coloring/transparency for effects like hiding/cloaking. 0x00D59F90 56 CRT_localtime_to_tm_struct crt Wrapper around _localtime32. Converts a unix timestamp to a tm struct. Clamps input to 0 minimum. Copies all 9 tm fields (sec, min, hour, mday, mon, year, wday, yday, isdst) to the output struct. 0x00D59FD0 941 CItemCollection__populate_buying_store game_items Populates the buying store item collection. Clears existing buying store, iterates vector of 0x36-byte item records, extracts name/map strings with Korean text search, sets color-coded markers (green for own store, red for prohibited), and adds each to buying store. Finishes by loading mini party info and refreshing equip/status windows. 0x00D5A380 111 CShopManager__handle_purchase_result ui_shop Handles shop purchase result. Switch on result code: 0=success (copies item, adds to inventory, removes from shop, shows message 0xA22), 1=fail msg 0xA46, 2=fail msg 0xA45, 3=fail msg 0xA89, 4=fail msg 0xA8B. Displays result as colored chat message. 0x00D5A4C0 1171 CItemCollection__build_character_item_list game_items Builds character item list from a vector of 0x100-byte records. Extracts item data, tooltips, names, and equip info into 0x74-byte records. On mode 1: sorts by equip status, splits into equipped/unequipped lists, creates window 0xFD. On mode 2/3: shows error message and clears lists. 0x00D5A960 411 CQuestSystem__update_tab_data game_core Updates quest tab data. Validates tab type (0/1/2) against known tree roots at DAT_01456e6c offsets 0x20/0x28/0x30. If node changed, marks as dirty, appends string data to node+0x54, sets completion flag, stores extra params at node+0x1A0/0x1A4. Decrements pending counter and notifies UI window 0x133 when done. 0x00D5AB00 126 CItemCollection__handle_item_storage_update game_items Handles item storage/equip update. Routes by (param_2, param_3): (0,0)=add to inventory list, (1,0)=update equipment slot via 00dff9c0, (2,0)=update equipment slot. Then notifies equipment window (type 0xC) with event 0x18. 0x00D5AB80 541 CItemCollection__open_storage_windows game_items Opens storage windows. If param_8=1: clears guild storage, loads 0xF8-byte item records, opens guild storage window 0x2D with delete mode and timer. Otherwise: clears auction+mail lists, loads items into auction collection, opens auction windows 0x2B and 0x2C with timer. Sets flag at this+0x24C. 0x00D5ADA0 326 CItemCollection__open_auction_windows game_items Opens auction windows. Clears auction+mail lists, loads 0xF8-byte item records into auction collection, creates auction windows 0x2B and 0x2C with notifications. Sets flag at this+0x24C. 0x00D5AEF0 310 CItemCollection__load_guild_storage_or_close game_items Loads guild storage items or closes storage windows. If vector is non-empty: clears guild storage, loads 0xF8-byte item records. If empty: fires event 0x52, closes guild storage, closes auction/mail windows, and clears mail/auction lists. 0x00D5B030 902 CEntity__handle_skill_use_on_target game_entity Handles skill use on a target entity. Looks up source and target entities, processes skill animation and cast time, creates visual effects (including special effects for skill 0xA04/0x1479), dispatches through CMapEventDispatch for skill-specific logic, handles NPC/monster attack animations with speed scaling, and triggers skill effect callbacks. 0x00D5B3C0 1396 CPacket__handle_skill_use_chat_notification network Handles skill use notification for chat display. Builds a chat message showing caster name (via buff lookup), target name (via sprite lookup), and skill name (via CSkillManager__GetSkillNameById). Uses message table entries 0x644, 0x64C, 0x658, 0x659 for formatting. Dispatches the formatted message to chat via CUIWindowMgr__dispatch_chat_message. 0x00D5B940 10563 CSkillEffect__create_effect_by_skill_id effect Handles skill effect creation for various skill IDs. Dispatches via large switch on param_4 (skill ID), creating visual effects via CEffectManager__create_effect with paired effect IDs. Checks GameSettings option 0xe5 (reduced effects) to select normal vs low-detail effect variants. Some skills trigger sound effects or sprite-based effects. Covers skills 0x2E0-0x1F79 including 4th job skills (0x1460+), elemental skills (0x8D5), and various ground/entity effects. 0x00D5E680 453 CPacket__handle_status_effect_timer network Handles status/buff effect timer updates on an actor. Dispatches based on status ID: for IDs 0x39, 0x3E, 0x154B sets a timed flag with expiry via timeGetTime. For 0x105, 0x3F7 resets light effects. For 0x10C sets light effect with 1-second offset. For 0x191 initializes light + creates skill effect 0x192. For 0x14C4 initializes different light mode. For 0x8A9 dispatches 4 sequential vtable calls (visual property updates). 0x00D5E930 1394 CSkill__handle_skill_effect_on_target game_skills Handles skill visual effects on a target actor. Registers effect callback, invokes map event dispatch. If param_4==0 (ground target), creates a new effect object with position/time/skill data. Otherwise applies skill-specific effects on the target actor based on skill ID (0x14a4, 0x1ea, 0x89a, 0x89c, 0x8a6, 0x8bc, 0x8d3). Sets actor motion states and creates visual effects via CEffectManager. 0x00D5EEF0 1253 CTownInfoMgr__handle_search_result_entry game_map Handles a town/NPC search result entry. Takes name strings, server ID, map info, and flags. Performs string search via CTownInfoMgr if search is incomplete. Compares stored location string with current. If server matches local, sets global flag. Otherwise dispatches navigation command (0x40) and calls FUN_00d18ba0. Updates global flags for param_10/param_11 booleans and notifies UI of item data change. 0x00D5F3E0 480 SpriteAction__store_full_node_strings game_sprites Stores multiple string parameters for a sprite action node. Copies param_2 through param_5 into STL strings, then calls SpriteAction__insert_full_node_data with param_1 (server ID). Also stores param_6 into a global if param_1 matches local server ID. 0x00D5F5C0 616 CSkill__apply_color_effect_on_target game_skills Applies color-coded skill visual effects on a target actor. Maps skill IDs to ARGB colors: 0x14b=green, 0x14c=blue, 0x291=green, 0x292=blue, 0x293=red, 0x294=magenta, 0x295=black, 0x296=white, 0x297=yellow, 0x298=pink. Sets actor visual property 0x58 with the color, then creates a visual effect via CEffectManager. Updates global position offsets for skills 0x14b and 0x14c on local player. 0x00D5F830 1058 CPackageItem__log_enchant_upgrade_test game_core Logs enchant upgrade test results to a file. Creates filename with slot info and date, opens via PackageItemTest path. Iterates through item entries (0x1c bytes each), logging each item's name, quantity, and probability. Uses CItemDB__build_item_tooltip_string and convert_wstring_to_hex_string for display. Writes total try count at end. 0x00D5FC60 966 CPackageItem__log_enchant_test game_core Logs enchant test results to a file. Creates filename with grade/slot info and date, opens via PackageItemTest path. Writes grade, then iterates item entries logging name, quantity, and probability. Uses CItemDB__build_item_tooltip_string for item names. Writes total try count as "SetEnchant" at end. 0x00D60030 1663 CPackageItem__log_package_test game_core Logs package item test results to a file. Categorizes items into 22 package types (MUST, RANDOM_0-9, NATURAL_0-9). Opens log file via PackageItemTest path. For each category with items, writes the category name and per-item details (name, count, probability, etc.) using CItemDB tooltips and wstring conversion. Writes total unpacked count per category. 0x00D606B0 1727 CPackageItem__log_random_option_test game_core Logs random option test results to a file. Categorizes options into 6 types (MUST_1-5, RANDOM). Opens log file via PackageItemTest. For each option, calls Lua function "GetVarOptionName" to get the option name, then logs the option details including values and probabilities. RANDOM type uses a different format string with fractional display. 0x00D60D70 817 CGameMode__spawn_or_register_ground_skill_unit game_core Spawns or registers a ground skill unit. If actor ID matches local server ID, looks up existing actor or creates a new 0x4F8-byte CSkillUnit object, sets its type to 7 (ground unit), computes world position via CEffect3DPlayer__cell_to_world_position, and gets interpolated terrain height. For remote actors, removes any existing object with same ID, creates a 0x440-byte CGameEntity, sets init data via vtable 0x2D, and adds to both the object list and linked list. 0x00D61100 73 assert_param_is_zero game_core Asserts that param_1 is zero. If non-zero, triggers error handler FUN_00cadd60 with error code 0x345 (does not return). 0x00D611B0 57 handle_dynamic_npc_error_packet game_core Handles dynamic NPC error response packet. Displays error messages based on error code: 1="dynamic_npc_create_error_found_u", 2="dynamic_npc_not_found", 3=message table 0xa47, 4=message table 0xfa2. Dispatches the message to the chat window via CUIWindowMgr__dispatch_chat_message. 0x00D612A0 69 handle_ui_window_property_update_packet game_core Handles a UI window property update packet. Looks up window type 0x10B, then calls its vtable method 0x94 (offset 0x22) with enable flag, two int values, and a char value from the packet data. 0x00D612F0 76 handle_actor_position_update_packet game_core Handles actor position update packet. Looks up actor by ID via CBGMManager, then calls vtable method 0x91 to set position with two int values from the packet (offsets +6 and +10). 0x00D61340 75 handle_actor_property_set_packet game_core Handles actor property set packet. Looks up actor by ID via CBGMManager, then calls vtable method 0x91 with a char value from offset +6 and a fixed value of 0x14. 0x00D61390 799 parse_spawn_packet_and_forward game_core Parses a spawn/appear packet (variant with name string appended). Extracts a trailing name string (from offset 0x58 to packet end), then copies all packet fields (bytes/shorts/ints at various offsets) and forwards them to FUN_00d61f40 (the main actor spawn handler) with all parsed parameters. 0x00D616B0 804 parse_spawn_packet_variant_and_forward game_core Parses a spawn/appear packet variant (with name string from offset 0x5A). Very similar to parse_spawn_packet_and_forward but with a slightly different packet layout (offset 0x5A for name instead of 0x58). Extracts all actor fields and forwards to FUN_00d61f40. 0x00D619E0 1256 CGameMode__handle_actor_spawn_short game_core Handles a shorter actor spawn packet format. Parses actor type, ID, position, stats, equipment, and name from the packet. Creates or updates actor objects: for local actors creates 0x4F8-byte objects, for NPCs uses FUN_00cdd6b0. Sets actor properties via vtable calls (0x7A for new, 0x7B for existing). Applies effects via CRsmObjMgr, handles special actor types (7=homunculus, 8=mercenary, 9=elemental). Updates actor movement for type 0. 0x00D61F40 1496 CGameMode__handle_actor_spawn_full game_core Main actor spawn handler for full spawn packets. Takes 34 parameters covering all actor properties (type, ID, position, stats, equipment, name, etc.). Creates or updates actors: allocates 0x4F8-byte objects for players, NPC objects via FUN_00cdd6b0. Sets spawn data via vtable 0x7A (new) or 0x7B (existing). Applies visual effects, handles special types (7=homunculus, 8=mercenary, 9=elemental). Sets walking state for type 0 actors via CBGMManager__move_actor_and_update. 0x00D62540 784 parse_moving_spawn_packet_and_forward_v2 game_core Parses a moving spawn packet (name from offset 0x51). Extracts all actor fields from the packet and forwards to CGameMode__handle_actor_spawn_full_v2 with tile-based position data. 0x00D62850 789 parse_moving_spawn_packet_variant_and_forward_v2 game_core Parses a moving spawn packet variant (name from offset 0x53). Extracts all actor fields from the packet and forwards to CGameMode__handle_actor_spawn_full_v2 with tile-based position data. Slightly different layout from the other variant. 0x00D62B70 1282 CGameMode__handle_actor_spawn_with_tile_data game_core Handles actor spawn packet with tile coordinate data. Parses actor type, ID, position, stats, equipment from packet. Decodes 3-byte tile position (x/y/dir). Creates/updates actors with vtable calls 0x79 (new player), 0x7C (existing player), 0x4 (new NPC), 0x3 (existing NPC). Handles special types 7/8/9. Sets robe/costume fields. Applies sprite/effects tracking via FUN_00d591a0. 0x00D630F0 1556 CGameMode__handle_actor_spawn_full_v2 game_core Full actor spawn handler v2 variant. Takes 33 parameters. Similar to handle_actor_spawn_full but with byte-based tile position decoding (3 bytes encoding x/y/dir). Creates players (0x4F8 bytes) or NPCs. Applies effects, handles homunculus/mercenary/elemental types. For players, registers by tile coordinates via CBGMManager. NPCs with non-zero combined job ID get their mounted skill set. 0x00D63720 799 parse_standing_spawn_packet_and_forward game_core Parses a standing spawn packet (name string from offset 0x52). Extracts all actor fields and forwards to FUN_00d642f0 (the standing spawn handler). Similar structure to parse_spawn_packet_and_forward but for standing/idle actors. 0x00D63A40 804 parse_standing_spawn_packet_variant_and_forward game_core Parses a standing spawn packet variant (name string from offset 0x54). Extracts all actor fields and forwards to FUN_00d642f0. Has slightly different field layout with an extra GID field at offset 9. 0x00D63D70 1289 CGameMode__handle_standing_actor_spawn_short game_core Handles a shorter standing actor spawn packet. Parses actor data similarly to handle_actor_spawn_with_tile_data but for standing/idle actors. Creates/updates actors with vtable 0x79 (new player) or 0x4 (new NPC), 0x7C/0x3 for existing. Applies effects, handles special actor types (7/8/9). Sets robe and costume fields. Uses NPC spawn combined job ID for mounted skill setting. 0x00D642F0 1565 CGameMode__handle_standing_actor_spawn_full game_core Full standing actor spawn handler. Takes 33 parameters. Creates/updates standing/idle actors. For players (type 0), registers by tile position and calls FUN_00d591a0. For NPCs with skill ID 0x2D2, invokes mounted skill callback. Otherwise applies standard sprite tracking. Handles homunculus/mercenary/elemental special types. 0x00D64940 245 handle_item_option_update_packet game_core Handles item option/attribute update packet. Looks up an item by index via equip_location_to_slot_indices and CShop__get_item_by_index_or_special. Based on action type at offset +10: type 1 sets a value at the given slot index, types 2/3 clear it to 0. Then updates the equipment display via update_equipment_slot_item_00dff9c0. 0x00D64A40 66 count_nonzero_quest_objectives game_core Counts the number of non-zero quest objectives in the packet. Checks 5 short values at specific offsets in the packet data. Returns count of non-zero entries (0-5). 0x00D64A90 2124 CPackageItem__log_ddukddak_box_test game_core Logs DdukddakBox (random box) test results to a file. Aggregates items from the packet into a red-black tree (counting duplicates), sorts them, then writes to a CSV-like file under PackageItemTest directory. Includes item ID, name, count, and percentage for each unique item. Creates dated filename with incrementing suffix to avoid overwrites. 0x00D652E0 756 CPackageItem__log_simple_package_test game_core Logs simple package item test results to a file. Creates log under PackageItemTest directory with dated filename. Writes item name, count, and opening/closing characters for each entry in the packet (10-byte entries). Sums total unpacked packages at the end. Simpler format than log_package_test, without category grouping. 0x00D655E0 160 handle_actor_stat_update_and_refresh game_core Updates two stats for an actor via FUN_00d558b0, then looks up the actor by ID and dispatches vtable event 0x22 to refresh the actor's appearance/state. 0x00D65680 167 handle_actor_conditional_stat_update game_core Conditionally updates an actor stat based on the action type. First validates actor exists via FUN_00e086f0. If action type is 5 or 6, updates the stat via FUN_00d558b0. Then refreshes the actor appearance via vtable event 0x22. 0x00D65730 157 CGameMode__reload_map_resources game_core Reloads map resources. Resets CMapResourceMgr, copies current map name string and updates via SpriteAction__set_node_string_field_3 with local server ID. If player actor exists, calls FUN_00cc1c20. Sends refresh to window 444. 0x00D657D0 145 handle_npc_sprite_full_data_packet game_core Handles NPC sprite full data packet. Extracts 22 bytes of sprite data from offset +6, then passes them along with 4 string parameters (at offsets 0x1E, 0x36, 0x4E) and a final int value to SpriteAction__store_full_node_strings with the NPC ID. 0x00D65870 61 handle_town_search_result_packet game_core Dispatches town/NPC search result packet data to CTownInfoMgr__handle_search_result_entry. Extracts string pointers, IDs, short values, and boolean flags from the packet at various offsets and passes them as parameters. 0x00D658B0 1 return_negative_one game_core Return negative one, small utility function 0x00D658C0 1746 handle_map_channel_info_packet game_core Handles map channel information packet. Resets CMapResourceMgr, stores channel ID at DAT_016d42f4+0x58 with active flag. Copies 3 strings from packet (map name at +0x20, base name at +8, short name at +0x38) into resource manager. Creates channel name entries: first loop creates param_1[0x48] entries with type 0 (channels), second loop creates param_1[0x49] entries with type 1 (sub-channels). Each entry is added to a linked list at DAT_016d42f4+0x60. Sends refresh to window 444. 0x00D65FA0 1 CNetwork__open_window_0x103 network CNetwork: open window 0x103 0x00D65FC0 42 handle_skill_warning_area_packet game_core Dispatches skill warning area parameters from a network packet. Forwards actor ID, skill type, skill ID, and 4 additional int values plus a flag to FUN_00d55ab0 for processing. 0x00D65FF0 519 create_skill_area_warning_effect game_core Creates a visual skill area warning effect on the ground. Calls Lua function "GetSkillScale" to get grid dimensions. Creates effect type 0x45A via CEffectManager, then spawns warning plane tiles in a grid pattern (param_4 x param_5 tiles). For each tile, computes world position via FUN_00cd36e0, gets terrain height via C3dAttr__GetInterpolatedHeight, and places a warning plane. Sets expiration time via timeGetTime + param_6. 0x00D66200 45 process_config_state_array game_core Processes an array of config state entries (8 bytes each: type + value). Iterates through param_1 entries at param_2. If type==1, sets global DAT_0173a6d0 based on whether the value is non-zero. 0x00D66230 317 handle_achievement_list_packet game_core Handles achievement list packet. Parses achievement entries of 0x36 bytes each starting at offset 0x1C. Copies each entry (54 bytes of data) into a growing vector. Then calls FUN_00d59fd0 with the header data (offset 4) and the collected entries for final processing. 0x00D66370 143 handle_npc_sprite_string_update_packet game_core Handles NPC sprite string update packet. Extracts a variable-length string from offset 8 (length = packet_size - 8), stores it via STL_lib_func, then updates sprite node data via SpriteAction__set_node_string_field_3 with the NPC ID from offset 4. 0x00D66400 25 handle_package_item_simulator_result game_core Dispatches package item simulator results based on type at offset +4. Type 0: displays "Simulator Start Fail" in chat. Type 1: logs via CPackageItem__log_package_test. Type 2: logs random options. Type 3: logs enchant test. Type 4: logs enchant upgrade test. 0x00D66470 879 handle_rune_system_result_packet game_core Handles rune system operation result. Case 0 (success): creates effect 0x95F, opens/refreshes window 0x169. Cases 1-8 (errors): displays message table entries 0xFEB-0xFF2 in chat and shows dialog boxes for cases 2-8. All cases reset rune slot field and refresh window 0x169 (rune window) with events 0x3C and 0x69. 0x00D66810 45 handle_skill_warning_area_packet_v2 game_core Handles skill warning area packet variant 2. Extracts fields from different packet layout (ID at +4, type byte at +8, skill at +2, plus 4 ints) and forwards to FUN_00d55ab0 with flag=0. 0x00D66840 1 CNetwork__init_map_entry_and_alloc_recv_buffer network CNetwork: init map entry and alloc recv buffer 0x00D66860 408 handle_broadcast_chat_message_packet game_core Handles a broadcast/public chat message packet. Extracts message string from offset 0x1C (max 0xDC bytes). If the string contains incomplete search markers, performs a string search via CTownInfoMgr. Unless option 0x94 is enabled (hide broadcast messages), displays the message in chat with purple color (0xB4B4FF) and flag 0x15. 0x00D66A00 34 handle_channel_count_update_packet game_core Updates channel/sub-channel count values in the map resource manager. Stores ushort from offset +2 to DAT_016d42f4+0x38 and ushort from offset +4 to DAT_016d42f4+0x3C. 0x00D66A30 27 handle_color_skill_effect_packet game_core Dispatches color skill effect packet data to CSkill__apply_color_effect_on_target. Passes target actor ID, skill ID, value, and additional param from packet offsets 2/6/10/14. 0x00D66A50 1 packet_handler_noop game_core Packet handler noop, small utility function 0x00D66A60 174 display_skill_use_fail_message game_core Displays a skill use failure message in chat. Gets message text 0xF18 from message table, formats it with the string parameter, and dispatches it as a system chat message with color 0x64FFFF. 0x00D66B10 458 handle_achievement_complete_result game_core Handles achievement completion result. If param_2==0 (success): notifies window 0xC9, looks up achievement in tree, decrements counter, removes from tree if found. Also removes from achievement window if visible. Shows message 0xF19 in dialog and chat. If param_2!=0 (failure): shows message 0xF1A. 0x00D66CE0 807 handle_enchant_result_message game_core Handles enchant operation result messages. Maps result codes 0-13 to message table entries 0xFF4-0xFFE. Displays the message in chat and shows a dialog box. Code 0 returns success silently. Codes 1-8 map linearly to 0xFF4-0xFFB. Code 9 is default (no message). Codes 10-11 use 0xFFD, codes 12-13 use 0xFFE. 0x00D67040 161 handle_rune_activation_list_packet game_core Handles rune activation list packet. Iterates through rune IDs (4 bytes each) and activates each via CRuneSystemMgr__get_rune_name with flag=1 (activated). Then recounts active runes and refreshes the rune window (0x169) with event 0x3C. 0x00D670F0 173 handle_rune_full_list_packet game_core Handles full rune list packet. Iterates through rune entries (8 bytes each: 4-byte ID + 2 ushort values). Registers each rune via CRuneSystemMgr__get_rune_name with flag=0 (available). Sets the rune page as loaded (offset 0x20=1), recounts active runes, and refreshes the rune window. 0x00D671A0 22 handle_rune_description_result game_core Handles rune description/info result. Case 0 (success): updates rune description via CRuneSystemMgr, scrolls rune window if needed. Cases 1-7 (errors): displays corresponding message table entries (0x106A, 0x1072-0x1077) in chat. 0x00D672E0 116 handle_rune_description_batch_packet game_core Handles batch rune description update packet. Iterates through entries (5 bytes each: 4-byte rune ID + 1-byte value). Updates each rune description via CRuneSystemMgr__get_rune_description. Refreshes the rune window (0x169) with event 0x3C. 0x00D67360 478 handle_enchant_rune_result game_core Handles enchant/rune operation result with visual effects. If enchant succeeds (result==0), plays success effects: type 2=0x95D, type 1=0x95E, type 0=0x95C or 0x95B with different sizes. If the rune system field_14 indicates changes, updates item decompose count and refreshes equipment bonus. Resets rune slot and refreshes rune window (0x169). 0x00D67540 80 handle_rune_slot_basic_result game_core Handles basic rune slot operation result. If enchant message returns 0 (success), populates slot data with param_2/param_3 and -1 for remaining two slots. Refreshes rune window (0x169). 0x00D67590 103 handle_rune_slot_full_result game_core Handles full rune slot operation result with all 4 slot values. If enchant succeeds, populates all 4 slot values. Sends packet 0xBCB to server. Refreshes rune window. 0x00D67600 105 toggle_rune_window_visibility game_core Toggles the rune window (0x169) visibility. If param_1==0 and window exists, closes it. If param_1!=0 and window doesn't exist, creates it and sends a network request packet (0xBE0) to the server. 0x00D67670 72 toggle_rune_window_simple game_core Simple rune window toggle. If param_1==0 and window 0x169 exists, closes it. If param_1!=0 and window doesn't exist, creates it via FUN_00a978d0. 0x00D676C0 247 handle_hotkey_data_packet game_core Handles hotkey/shortcut bar data packet. Extracts variable-length data (packet_size - 8 bytes) from offset 8. Inserts the range into a vector, then notifies the shortcut bar window (type 0x5F) via vtable event 0x22 with the data length and tab index (from offset +4). 0x00D677C0 130 handle_config_state_change_result game_core Handles configuration state change result for type 1 (navigation/minimap option). If param_2==1: if param_1==1, shows "option changed" message (0xF15). Updates global navigation flag DAT_0173a6d0, refreshes navigation window, and displays enabled (0xF17) or disabled (0xF16) message. 0x00D67850 140 CGameMode__dispatch_property_change_to_party game_core Dispatches a unit property change to local player and all party members. First processes the change for the specified actor via CPacket__dispatch_unit_property_change. If the target is the local player, iterates through party member IDs (stored at this+0x610..0x614) and constructs packet 0x1D7 for each, forwarding the same property change. 0x00D678E0 151 dispatch_ui_open_request_by_type game_core Dispatches UI window open requests based on type byte. Types 0-4: handled by FUN_00d1a0a0. Type 5: notifies window 0x13B. Type 6: dispatches via CPacketSystem handler. Type 7: notifies window 0x148 with event 0x22. Type 8: opens window 0x157. 0x00D679A0 50 handle_skill_use_result_packet game_core Dispatches skill use result packet data to FUN_00d5b030. Extracts source ID, target ID, skill ID, level, damage, extra values, flag byte, and additional int from the packet. 0x00D679E0 1 CNetwork__handle_refine_result_packet network CNetwork: handle refine result packet 0x00D67C20 1394 CGameMode__handle_npc_shop_item_display game_core Handles NPC shop item display with level-up effect. On first interaction (param_7==1), creates a tab panel UI (0xD0 bytes), formats the NPC name via CPacketParser and message 0xA79, sets up dropdown items, creates effect 0x446, and notifies party window (0x133). Stores shop parameters to globals. Updates quest/NPC tracking window 0x10E and 0x10F. 0x00D681A0 83 handle_npc_shop_close game_core Handles NPC shop close event. If param_1==0 (close), refreshes window 0x10E with event 0x3C and removes the shop entity by index. 0x00D68200 495 handle_vending_item_add_result game_core Handles vending/market item add result packet. For type 0 (success): parses full item data including refine, cards, options, enchant data. Constructs shop item, updates item storage and vending UI. Shows message 0xA22. Types 1-4 (errors): display messages 0xA46, 0xA45, 0xA89, 0xA8B respectively. 0x00D684C0 97 handle_vending_item_add_result_v2 game_core Variant of vending item add result handler. Similar to handle_vending_item_add_result but with a slightly different packet layout (refine type at +0xE as byte instead of bit flags). Uses count_nonzero_quest_objectives for option count. Type 0 = success with item data, types 1-4 = error messages. 0x00D686F0 64 CGameMode__update_actor_nametag_and_title game_core Updates an actor's nametag and title. Finds actor by ID via CBGMManager, calls vtable method 0xC0 to update nametag display. If param_3 is non-zero, also updates the title via CPacketStream processor. 0x00D68730 2567 handle_quest_list_update_packet game_core Handles quest list update packet. Parses variable-length quest entries starting at offset 5. Each entry contains: type (0=active, 1=complete, 2=failed), flags, quest name, time limit, and optional variable-length description string. Creates quest node entries in a red-black tree organized by type (3 trees at offsets 0x20, 0x28, 0x30). Increments quest counter for new active quests. If param+4 flag is 1, marks quest data as fully loaded and refreshes UI. 0x00D69140 95 display_party_booking_result_message game_core Displays party booking result message based on error code. Code 0: message 0xB3D (success). Code 1: message 0xB3E. Code 2: message 0xB3F. Displays as system chat message with color 0xFF. 0x00D691A0 191 handle_party_reservation_response game_core Handles party reservation response. Type 0 (accepted): sends packet 0xA48 to server, shows dialog 0xB14, closes window 0x119. Type 1 or 2 (rejected/timeout): shows dialog 0x627 (generic failure). 0x00D69260 384 handle_instance_map_enter game_core Handles entering an instance map. If param_1==0 (success): stores param_2 as global, initializes instance data via FUN_00e19230, sets up map strings via FUN_00cd3570, copies multiple strings for the sprite action node, updates display via SpriteAction__set_node_string_field_4, and refreshes instance UI window. 0x00D693E0 128 handle_guild_storage_result game_core Handles guild storage operation result. Type 0 (success): notifies window 0x148 with event 0x22 and param_2*10+1. Type 1 (failure): displays message 0xD90 in chat and closes window 0x148. 0x00D69460 96 handle_quest_window_close_result game_core Handles quest window close/reset result. If type 0: resets quest system data and closes quest window if visible. If type 1: displays message 0xA49 in chat. 0x00D694C0 97 process_item_purchase_batch game_core Processes a batch of item purchase/removal notifications. Iterates through entries (5 bytes each: 4-byte ID + 1-byte type). Type 1: processes via CPacketSystem and highlights in item shop window (0x2712). Type 2: processes via CPacketManager handler. 0x00D69530 227 handle_storage_operation_result game_core Handles storage/cart operation results for types 'd' (storage) and 'e' (cart). Type 0: close window and reset. Types 1-3: unlock item window. Types 4/6/7: reset and close window. For 'e' type 4+, also closes window 0xAF. Displays error messages: 2=0xBA7, 3=0x7A2, 8=0x38. Special case 0xC8: closes all storage/cart/equipment windows and opens achievement window. 0x00D69700 326 handle_quest_complete_status_update game_core Handles quest completion status update. Looks up quest by ID in the appropriate tree (type 0=active, 1=complete, 2=failed). If found and not the sentinel node, marks it as completed (offset 0x1A8=1). Decrements active quest counter and notifies party window (0x133) if counter reaches zero. Refreshes quest achievement display. 0x00D69850 26 display_refine_result_message game_core Displays refine operation result messages. Code 0: success in yellow (0xFFFF00), message 0xDEE. Codes 1-4: failure messages 0xDEA-0xDED in red (0xFF). 0x00D698F0 1 packet_handler_noop_00d698f0 game_core Packet handler noop 00d698f0 0x00D69900 33 handle_roulette_spin_result game_core Handles roulette spin result. Types 0 and 3 (spin result): updates roulette state with item position, stores currency values, sets item from tree, and starts spin animation with calculated position offsets. Types 1/2/4/5 (errors): display messages 0xA4A, 0xA4B, 0xA85, 0xA8C respectively and set window dirty flag. 0x00D69A90 969 handle_vending_shop_list_packet game_core Handles vending shop item list packet. Parses 0x5B-byte shop entries containing item ID, price, type flag, seller names (2x 24-byte strings), card slots, refine level, and option data. Creates CShopItem objects for each entry and collects them in a vector. Calls FUN_00d5a4c0 with the shop type (0=buy, 1=sell) and collected items for display. 0x00D69E60 342 handle_grade_enchant_result game_core Handles grade enchant operation result. Hides refine window left panel. Type 0 (success): displays message 0xA1C, updates enchant data, modifies quest grade value by -4. Types 1/2 (errors): display messages 0xA1D/0xA1E. Refreshes refine window (event 0x17) and quest display. 0x00D69FC0 55 display_reform_result_message game_core Displays reform/modification result messages. Type 0: formats message 0xFAD with param_2 (count) in yellow (0xFFFF00). Types 1-5: display messages 0xFAE-0xFB2 in red (0xFF) for various error conditions. 0x00D6A0D0 2114 handle_quest_list_full_update_packet game_core Handles a full quest list update packet with multiple quest entries. Stores quest type at DAT_01456e6c+0x10 and loaded flag at +0x1C. Iterates through variable-length entries (each 0x2C+ bytes with optional description string). Creates quest nodes in appropriate red-black trees (type 0/1/2 at offsets 0x20/0x28/0x30). Checks auto-tracking permission and time expiry for each quest. Refreshes quest achievement trees and reform window when complete. 0x00D6A920 207 handle_enchant_slot_result game_core Handles enchant slot operation result. Type 0 (success): displays message 0x87B and refreshes enchant window (0xE3) with slot values. Types 1/2 (errors): display messages 0x87C/0x87D. All cases close the current window. 0x00D6A9F0 99 CGameMode__handle_refine_confirm_dialog game_core Handles refine confirmation dialog. Type 0: gets item name, formats with message 0xDE9 showing item and cost details, shows Yes/No dialog. If Yes (0xBB), sends command 0x137; otherwise sends 0x138. Types 1-4: display refine failure messages 0xDEA-0xDED. 0x00D6AB60 379 handle_roulette_init_result game_core Handles roulette initialization/open result. Type 0 (success): stores initial values, sets up item position and starts display. If auto-spin mode is off, sends packet 0xA1B; otherwise opens roulette window (0x10D). Type 1 (error): displays message 0xA48. 0x00D6ACE0 121 handle_pet_evolution_result game_core Handles pet evolution result. If success flag (offset 0x1A==1): initializes pet system data, opens pet window (0x108), and updates search label with packet data from offset+2. If failure: displays message 0xA2C. 0x00D6AD60 61 handle_palette_list_for_preview game_core Handles palette list for character preview window. If count > 0 and window 0x11E exists, iterates through palette IDs (4 bytes each) and builds palette paths via CCharRenderInfo__build_palette_path. 0x00D6ADA0 206 handle_captcha_verification_result game_core Handles CAPTCHA verification result. Type 0 (show captcha): opens/finds captcha window (0x120), compares stored key with new key, reloads head sprite if changed, and sets direction. Type 1 (wrong captcha): displays "wrong captcha ID" error message. 0x00D6AE70 48 handle_mail_attachment_result game_core Handles mail attachment operation result. Type 0: checks if mail queue has pending items, if so sets reply timer to 0xBC. Types 1-5: display error messages via vtable event 0x9A with message IDs 0xB09, 0xD05, 0xD04, 0xD03, 0xD18. Type 5 also shows message 0x783 in chat. 0x00D6B010 81 handle_macro_detect_window_close game_core Handles macro detection window close. If param_1==0, closes window 0x12E if it exists. Otherwise, calls stub_00605bb0 on window 0x122 if it exists. 0x00D6B070 163 handle_macro_detect_result game_core Handles macro detection verification result. If param_1!=0, calls stub_00602ac0(0) on window 0x122. If param_1==0, closes window 0x122. For types 5 and 7, displays message 0xB51 via vtable event 0x6F on window 0x122. 0x00D6B120 1173 handle_refine_ui_item_list_packet game_core Handles refine UI item list packet. Stores quest type and other values from the packet into global quest data structure. Looks up quest node by ID, updates status flags, decrements active quest counter if needed. For each item entry (0x3C bytes each, up to param+0x17 entries), parses full item data (cards, refine, options, grade) and creates CShopItem objects via FUN_00e07a10. Opens/refreshes refine window. 0x00D6B5C0 413 handle_stove_purchase_result game_core Handles Stove (item store) purchase result. Checks DAT_01737f4a flag first. Case 0: gets item name, formats purchase message. Case 1: formats error message. Case 2: validates/executes format pipeline for window 0x13E. Cases 3/4: display message 0xBCE. Cases 5/6/7: display generic error. Default: formats "Unknown Error (Stove: %d)". Shows dialog box if message was generated. 0x00D6B8F0 90 handle_market_item_purchase_result game_core Handles market/shop item purchase result. Type 1 (success): processes item purchase with index and count, updates DAT_01738778 with remaining quantity. Otherwise (failure): displays error message 0xA2A in cyan chat. 0x00D6B950 110 handle_enchant_grade_operation_result game_core Handles enchant/grade operation result with multiple outcome codes. Case 0: message 0xFE4. Case 1: formats message 0xFE5 with item name, plays skill effect 0x29. Case 2-6: messages 0xFE6-0xFE9, 0x1000. Case 7: message 4000. All displayed as cyan (0x64FFFF) chat messages. 0x00D6BB10 167 CNetwork__recv_roulette_item_list network Receives roulette item list packet. Iterates 42 (0x2A) items, calling CQuestSystemData__AddItemEntry for each. Then calls UIRouletteWnd__select_item_by_index to update the roulette UI. Creates roulette window (type 0x10D) if not already open. 0x00D6BBC0 124 CNetwork__recv_service_notification_result network Receives service notification result. For param_1 values 1 or 2, displays chat message from msg ID 0xF74 in white (0xFF) and notifies minimap window via virtual call. Always notifies minimap window at end. 0x00D6BC40 255 CNetwork__recv_report_event_packet network Receives report event packet. If param_2==0 and report window (type 0x11C) exists, creates a CReportPacketEvent with timestamp and reactivates it via CUIEventManager. Otherwise shows error message (0xB41 for type 0, 0xB42 for type 1). 0x00D6BD40 60 CNetwork__recv_auto_loot_result network Handles auto loot result packet. Small 60-byte handler that reads the auto-loot toggle result and updates the client-side auto-loot state. Displays a confirmation or error message in chat. 0x00D6BE80 276 CNetwork__recv_item_reform_result_00d6be80 network Receives item reform result packet. Toggles UIRefineWnd right panel visibility. On success (param+0xB == 0), shows msg 0xA1F and looks up item via CQuestSystem rbtree by type (0/1/2 maps to offsets 0x20/0x28/0x30). On failure shows msg 0xA20 (type 1) or 0xA21 (type 2). Hides refine panel at end. 0x00D6BFA0 27 CNetwork__recv_attendance_event_result network Receives attendance event result. Switch on param_1: cases 0/1/3 notify attendance window (type 0x154) with event 0x40 and different sub-params. Case 2 shows error message 0x9D5 in chat. 0x00D6C080 441 CNetwork__recv_cart_item_added_with_options_v2 network Cart item added with options v2. Parses item with up to 5 options (5 bytes each), plus extra data (expire at 0x37, grade at 0x3B). If index is 0, clears. Otherwise builds CShopItem and adds to cart. 0x00D6C240 449 CNetwork__recv_cart_item_added_v3 network Cart item added v3 with options and grade byte at 0x3D. Like v2 but with different field offsets (card slots start at 0xD, options at 0x1D). Adds to cart via CShopItem__copy_construct. 0x00D6C410 65 CNetwork__recv_equip_switch_result network Handles equip switch result packet. Small 65-byte handler that reads the result of an equipment swap operation and updates the inventory/equipment UI to reflect the new equipment state. 0x00D6C460 164 CNetwork__recv_refine_ui_data network Handles refine UI data packet. Reads refine-related item data and configuration from the packet. Populates the refine window with available items, success rates, and material requirements for the selected refine operation. 0x00D6C510 1467 CPacket__handle_quest_item_list_with_names network Handles quest item list with names. Iterates param_1+4 quest entries. For each: checks via CQuestMgr__set_ongoing_quest_display_flag, initializes CItemOptionDB entry, parses timestamp, type byte, up to 3 item slots with card IDs/options/names. Resolves special item IDs (0x1099/0x109A=msg, 0x287B=RSW map). Calls CQuestMgr__load_ongoing_quest_info_from_lua per entry. Notifies quest update at end. 0x00D6CAD0 1451 CPacket__handle_quest_item_list_with_names_v2 network Quest item list with names variant v2. Same structure as 00d6c510 but with different item slot sizes (0xC stride vs 0xB). Iterates quest entries, parses items with card IDs, timestamps, names. Uses CQuestMgr for quest data management. Notifies quest update at end. 0x00D6D080 162 CNetwork__recv_char_preview_open network Handles character preview open packet. Reads character preview data from the packet (equipment slots, appearance data) and opens the character preview window to display the specified character's appearance configuration. 0x00D6D130 70 CNetwork__recv_char_preview_update network Handles character preview update packet. Small 70-byte handler that receives updated character preview data (appearance changes) and refreshes the character preview display in the appropriate UI window. 0x00D6D180 128 CNetwork__recv_status_value_list network Handles status value list packet. Receives a count and array of 4-byte values. Counts non-zero entries, then creates gauge bar window (type 99) and dispatches events: 0x1B with the first value (param_1+4), then 0x1F for each non-zero value in the array. Used for parameter/stat gauge updates. 0x00D6D200 95 CNetwork__recv_enchant_result_00d6d200 network Handles enchant result variant at 0x00d6d200. Small 95-byte handler that reads an enchant operation result code and updates enchant-related globals. Displays success/failure feedback through the enchant window UI. 0x00D6D260 409 CNetwork__recv_entity_highlight_effect network Receives entity highlight/dim effect for PVP/duel. Reads two entity IDs (offsets +2 and +6) and mode flag (offset +10). Mode 0: clears highlight - resets entity colors to white (0xFF,0xFF,0xFF), clears status flags. Mode 1: applies dim highlight - darkens entities to (0x40,0x40,0x40), sets status flags, uses long duration (99999999) light effect for duel visual feedback. 0x00D6D400 977 CNetwork__recv_item_produce_notification network Handles item produce/craft notification packet with card data. Builds an item tooltip from the card data structure (4 card slots + additional fields). Gets item class/level info and builds tooltip string via CItemDB. Formats notification message using template 0xCC7 (success, when param_4 XOR 1 = 0) or 0xCC8 (failure) with the item name, amount, and tooltip. Adds entry to tooltip manager with light blue color (0x62B0FF) and displays as chat message in the same color. 0x00D6D7E0 104 CNetwork__recv_friend_status_change network Handles party member map change / friend list status change packet. Checks if entity IDs match the player's pet. If param_2 matches pet, removes param_1 from the ID tracking vector. Otherwise if param_3 does NOT match pet, adds param_1 as unique entry to the ID vector. Notifies the friend/party status window (DAT_014579a0) with event 0x3C to refresh the display. 0x00D6D850 649 CNetwork__recv_equip_item_with_options network Handles equip item with options packet. Receives full item equip data including card slots and random options. Looks up item by slot index via CShop linked list, falling back to item-by-ID search and recently-sold item lookup. Sets refine level, amount, 4 card IDs (from params 4-7), and up to 5 enchant option slots (from params 8-12 with 5-byte entries: 4-byte option ID + 1-byte value). Counts active options by checking for non-zero values. Updates inventory via add_or_update_item or equipment slot update depending on lookup method. Notifies equipment window (type 0x0C) with event 0x18 to refresh. 0x00D6DAE0 747 CNetwork__recv_item_gained_with_cards network Receives item gained packet with card slots and options. Looks up item by slot ID (param_1+2), falling back to item by ID and recently sold items. Copies 4 card IDs from param_1+5, counts up to 5 enchant options from param_1+0x15 (5 bytes each: short ID + 3 bytes). Updates inventory list and notifies equipment window (type 0xC). 0x00D6DDD0 282 CNetwork__recv_item_option_update network Handles item option update packet. Reads item slot index and new random option values from the packet. Updates the specified item's random options (bonus stats) in the inventory/equipment display. Refreshes the item tooltip to show the new options. 0x00D6DEF0 434 CNetwork__recv_item_add_with_options network Receives item add packet with full option data. Takes item slot, amount, 4 card IDs, up to 5 enchant options, and additional byte flags. Looks up item in linked list by slot, populates fields, calls add_or_update_item_in_list, and notifies equipment window (type 0xC) to refresh display. 0x00D6E0B0 70 handle_achievement_notification game_core Handles an achievement notification. If param_1 is 0, displays a chat message with message ID 0xA37 in green color (0x64FFFF). If param_1 is non-zero and the achievement window exists, calls ShowAchievementDetail to display it. 0x00D6E100 1 CNetwork__notify_minimap_window_0x4b network CNetwork: notify minimap window 0x4b 0x00D6E130 172 CNetwork__recv_remove_entity_effect network Handles remove entity effect packet. Reads entity ID and effect ID from the packet and removes a specific visual effect from the entity's display, cleaning up the effect resources. 0x00D6E1E0 600 CPacket__handle_dialog_box_with_format network Handles a dialog box packet with formatted text. Gets two message strings from CMessageStringTable, optionally formats them with vsnprintf, then shows an extended dialog box via CGameObject__show_dialog_box_extended. 0x00D6E440 1 CNetwork__open_achievement_window network CNetwork: open achievement window 0x00D6E450 202 CPacket__handle_server_disconnect_dialog network Handles server disconnect dialog. Shows message based on param_1: 0=msg 0xB35, 1=msg 0xB36 (both show dialog then disconnect), 2=opens window 0x167 and shows msg 0xB37. For cases 0/1, calls CEffectManagerEx, disconnects via CNetSocket, and signals game mode change to state 2. 0x00D6E520 202 CPacket__handle_server_disconnect_dialog_b network Server disconnect dialog variant B. Same as 00d6e450 but opens window 0x11D instead of 0x167 for case 2. Shows messages 0xB35/0xB36/0xB37, disconnects and transitions game mode. 0x00D6E5F0 1 CNetwork__handle_emblem_editor_error network CNetwork: handle emblem editor error 0x00D6E640 163 CNetwork__recv_navigation_mode_change network Handles navigation mode change packet. Reads navigation mode byte (param_1) and option flag (param_2). Stores mode in DAT_01737fac. Displays mode change message (msg 0x54E + mode) in cyan (0x64FFFF). Notifies minimap window (DAT_01457860) with event 0x3C. Sets game option 0xE7 (navigation display) to param_2 value. Displays second message (msg 0xBA2 + option) and syncs navigation window checkbox. 0x00D6E6F0 176 CPacket__handle_navigation_setting_change network Handles navigation setting change packet. Stores param_1 in DAT_01737fac, shows chat message from msg table (param_1+0x54E), sets game option 0xE7 via GameSettings, shows on/off message (0xBA2+param_2), syncs nav checkbox, calls FUN_00e48980. 0x00D6E7A0 189 CPacket__handle_navigation_setting_change_extended network Extended navigation setting change. Same as 00d6e6f0 but also calls FUN_00e48930 with param_4 in addition to FUN_00e48980(param_3). 0x00D6E860 197 CPacket__handle_navigation_setting_change_full network Full navigation setting change. Same as 00d6e7a0 but also stores param_5 into DAT_0173a760. 0x00D6E930 27 CNetwork__recv_navigation_toggle network Simple 27-byte handler that calls toggle_navigation_option to toggle the navigation display on/off. 0x00D6E950 123 CNetwork__recv_gospel_effect network Handles gospel effect packet. Reads effect type and parameter from the packet. Applies the gospel/basilica visual effect to the specified area or entity. Used for priest skill visual feedback in the game world. 0x00D6E9D0 29 CNetwork__recv_status_message_text network Handles status message text packet. Copies the string from packet offset +2 directly into the network object buffer at offset 0x294 using sprintf, overwriting the current status message text. This sets the status bar or loading screen text. 0x00D6E9F0 55 CNetwork__recv_attendance_window_close network Handles attendance window close packet. Small 55-byte handler that processes a server command to close the attendance check-in window and clean up related UI state. 0x00D6EA30 35 CNetwork__recv_inventory_list_alignment network Handles inventory list alignment packet. Small 35-byte handler that reads sorting/alignment preferences for the inventory display and applies them to reorder the inventory grid layout. 0x00D6EA60 150 CNetwork__recv_minimap_scroll network Handles minimap scroll packet. Reads X/Y scroll offset values from the packet and adjusts the minimap viewport position. Used for server-directed minimap panning (e.g., during cutscenes or quest guidance). 0x00D6EB00 31 CNetwork__recv_inventory_window_show network Handles inventory window show packet. Small 31-byte handler that signals the client to display the inventory window. Forces the inventory UI to become visible. 0x00D6EB20 31 CNetwork__recv_inventory_window_hide network Handles inventory window hide packet. Finds the inventory window (type 0x10) and if found, calls its virtual hide/close function (vtable offset +0x04) to hide it from screen. 0x00D6EB40 41 CNetwork__recv_character_appearance network Handles character appearance update packet. Reads entity ID (offset +2), appearance field type (short at offset +6), and 4 appearance data values (offsets +8, +0x0C, +0x10, +0x14). Calls CPacket__handle_character_appearance_data with mode 1, passing all values to update a single appearance attribute (hair style, hair color, cloth color, etc.) on the specified entity. 0x00D6EB70 83 CNetwork__recv_character_appearance_batch network Handles character appearance batch update packet. Reads multiple appearance fields from the packet and applies them all at once. Used for bulk appearance changes (e.g., after stylist visit or costume equip). 0x00D6EBD0 60 CNetwork__recv_navigation_position_update network Handles navigation position update packet. Reads updated navigation target coordinates from the packet. Moves the navigation arrow/waypoint indicator to the new position on the minimap and game world. 0x00D6EC10 1 CNetwork__show_chat_message_0x79e network CNetwork: show chat message 0x79e 0x00D6EC40 107 CNetwork__recv_entity_emotion_display network Handles entity emotion display packet. Reads entity ID (offset +2). If entity is the player, gets player entity directly; otherwise looks up via try_find_current_map_bgm. If entity found, dispatches event 0x90 (emotion display) with two short parameters from offsets +6 and +8 (emotion type and sub-type), which triggers the emotion bubble animation above the entity's head. 0x00D6ECB0 681 CPacket__handle_shop_item_list network Handles shop item list packet. Parses item entries (24 bytes each) from packet, creates CShopItem objects for each, adds them to a linked list, then notifies the shop UI window (type 0x13E) to refresh. 0x00D6EF60 22 CNetwork__recv_grade_enchant_result_00d6ef60 network Handles grade enchant result variant packet. Small 22-byte handler that reads a grade enchant operation result and updates the enchant UI state. 0x00D6F000 2156 CPacket__handle_item_drop_notification_00d6f000 network Handles item drop notification packet. Parses item data, builds tooltip string, formats message using msg 0xE86 or 0xE87 depending on param+0x20 flag, adds tooltip entry, dispatches chat message with color 0x62B0FF. 0x00D6F870 144 CPacket__handle_refine_window_data network Handles refine window data packet. If item index is -1, shows error message 0xE88. Otherwise finds refine window (type 0x157) and calls CRefineWnd__set_item_data with parsed item fields. 0x00D6F900 443 CPacket__handle_buying_store_item_list network Handles buying store item list packet. Parses entries of 0x32 bytes each from packet offset 0x1C. Builds each entry into a local struct (server info fields), pushes into a vector via STL_vector_insert_0x36_element. Passes the vector to CItemCollection__populate_buying_store for display in the buying store UI. 0x00D6FAC0 95 CPacket__handle_town_info_list network Handles town info list packet. Clears CTownInfoMgr's ID vector, then iterates through packet bytes adding each as a unique town ID. 0x00D6FB20 424 CPacket__handle_npc_sprite_spawn network Handles NPC sprite spawn packet. Parses NPC data from packet, looks up NPC by ID. If not found, allocates new CItemSprite, constructs it, adds to sprite list. Then calls virtual init method with the NPC data string. 0x00D6FCD0 462 CPacket__handle_item_identify_result_00d6fcd0 network Handles item identify result packet. Looks up entity, builds item tooltip string, formats message with msg 0x4FC, and displays yellow chat message (0xFFFF00) with identify result. 0x00D6FEA0 365 CPacket__handle_enchant_window_open network Handles enchant window open packet. If param_1 is 0, opens window type 0x15C with effect 0x648, creates enchant data. If param_1 is 3, shows error message 0xF08 in existing window. 0x00D70010 900 CPacket__handle_buy_sell_shop_items network Handles buy/sell shop items packet. If param_4 is 1 (buy mode), clears item list, parses items (11 bytes each), opens buy window with RTDynamicCast. Otherwise opens sell mode with separate windows (0xB1, 0xB2, 0xB3). Sets shop timer and extends UI height. 0x00D703A0 992 CPacket__handle_equipment_item_list network Handles equipment item list packet. Parses items (0x40 bytes each) with slots, enchants, and options. Copies each into a CShopItem, then calls CPacket__handle_char_delete_result with metadata. 0x00D70790 1107 CPacket__handle_buy_sell_shop_items_extended network Extended buy/sell shop items. Similar to 00d70010 but items are 0x3F bytes each (with extra slot/enchant data). Buy mode uses window 0x2D, sell mode uses 0x2B/0x2C. Both set timers and manage equipment windows. 0x00D70BF0 2025 CPacket__handle_reform_item_data network Handles reform item data packet. Parses entries with names, timestamps, and node data. Inserts into a red-black tree based on timestamp comparison. Optionally creates UIReformWnd. Complex memory management with STL strings and tree nodes. 0x00D713E0 156 CPacket__handle_exp_bar_update network Handles EXP bar update packet. Switch on type: 1=current exp (with %lld display), 2=base exp, 0x14=reset exp tracking, 0x16=max exp, 0x17=job exp. Updates global EXP tracking vars and rect fields. 0x00D71600 86 CPacket__handle_costume_change_request network Handles costume change request. Finds window 0x167, applies costume override via CCharRenderInfo, builds and sends packet 0xBC4 via CNetworkSession. 0x00D71660 27 CPacket__show_enchant_result_message network Shows enchant result message in chat. Maps result codes 0-5 to message IDs 0xF9B-0xFA0 and displays them via CUIWindowMgr__dispatch_chat_message with white color (0xFFFF). 0x00D71720 101 CPacket__send_char_delete_request network Sends character delete request packet. Sets DAT_017387e4=1, builds a packet (opcode 0x91) with character name, param_2, param_3, and sends via CNetwork__recv_mail_attachment. 0x00D71790 308 CPacket__handle_hotkey_list_update network Handles hotkey list update packet. Parses pairs of shortcodes from packet, inserts them into a vector, and notifies window 0xE3 to refresh. If list is empty, sends request packet 0x974. 0x00D718D0 279 CPacket__handle_entity_effect_toggle network Handles entity effect toggle packet. Checks if option 8 is enabled, finds entity by ID, checks effect conditions via FUN_00df9710/FUN_00df9880, and creates/removes skill effect 0xE4 based on toggle state. 0x00D71A30 96 CPacket__handle_status_change_appearance network Handles status change appearance packet. Filters out specific status IDs (0x46-0x54, 0x1C6, 0x4ED-0x4EF), then calls CPacket__handle_character_appearance_data for all others with entity ID, flag, and appearance values. 0x00D71AB0 1124 CPacket__handle_status_change_effect network Handles status change effect packet. Large handler with jumptables for different effect IDs. Manages effect timers for wedding class, displays effect names/colors via chat messages, and creates visual effects on entities. Uses CEffect callback system for unknown IDs. 0x00D73960 174 CPacket__show_formatted_chat_message network Shows formatted chat message. Gets message text by ID, formats with vsnprintf, dispatches to chat. Special case for msg 0xB92 adds icon type 0x16. 0x00D73A10 222 CPacket__handle_navigation_response network Handles navigation response packet. Reads navigation path string from packet+5, creates STL string from it, then calls CNavigator__process_navigation_request to process the navigation data. 0x00D73AF0 1 CSkillEffect__handle_ground_unit_effect effect CSkillEffect: handle ground unit effect 0x00D73BE3 1 CSkillEffect__create_particle_effect_and_skill effect CSkillEffect: create particle effect and skill 0x00D73CA0 1 CSkillEffect__init_particle_and_create_effect effect CSkillEffect: init particle and create effect 0x00D73CB1 1 CSkillEffect__init_particle_and_create_effect_00d73cb1 effect CSkillEffect: init particle and create effect 00d73cb1 0x00D73CC2 1 CSkillEffect__create_effect_with_option_check effect CSkillEffect: create effect with option check 0x00D73E00 29 CNetwork__recv_color_effect_on_entity network Handles color effect on entity packet. Small 29-byte handler that reads an entity ID and a color value (RGB) from the packet. Applies a color tint/overlay effect to the specified entity's sprite rendering. 0x00D73E20 60 CNetwork__recv_special_visual_effect network Handles special visual effect packet. Reads entity ID and visual effect parameters from the packet. Applies a special visual effect (glow, particle, screen flash, etc.) to or around the specified entity. 0x00D73E8C 48 CNetwork__recv_special_effect_0x9e network Handles special effect 0x9E packet. Reads effect parameters from the packet and applies visual effect type 0x9E to the specified entity or location. Part of the special effect dispatch system. 0x00D73EC3 48 CNetwork__recv_special_effect_0x152 network Creates skill visual effect 0x152 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x152. Part of the special effect dispatch system. 0x00D73EFA 48 CNetwork__recv_special_effect_0x246 network Creates skill visual effect 0x246 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x246. Part of the special effect dispatch system. 0x00D73F31 48 CNetwork__recv_special_effect_0x151 network Creates skill visual effect 0x151 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x151. Part of the special effect dispatch system. 0x00D73F68 48 CNetwork__recv_special_effect_0x9b network Creates skill visual effect 0x9B on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x9B. Part of the special effect dispatch system. 0x00D73F9F 48 CNetwork__recv_special_effect_0x9a network Creates skill visual effect 0x9A on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x9A. Part of the special effect dispatch system. 0x00D73FD6 48 CNetwork__recv_special_effect_0x131 network Creates skill visual effect 0x131 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x131. Part of the special effect dispatch system. 0x00D7400D 48 CNetwork__recv_special_effect_0x132 network Creates skill visual effect 0x132 on an entity. Sets local var to 0 then calls CEntity__create_skill_effect with effect ID 0x132. Part of the special effect dispatch system. 0x00D74080 559 CNetwork__recv_exp_gain_display network Handles exp gain display packet. Only processes for the player entity (ID at offset +2 == DAT_01733c3c). Reads exp amounts (int at offset +6 and int at offset +10), type (short at offset +0x0E: 1=base, 2=job), and display mode (short at offset +0x10: 1=pink 0xBE58BE, else=cyan 0xFFFF). Formats message using templates 0xC94 (base exp) or 0xC9B (job exp) with the two amounts. Appends gain/loss suffix (msg 0x64F for positive, 0x650 for negative based on second amount). Displays as chat message with style 0x12 (special notification). 0x00D742B0 1 CSkillEffect__handle_skill_on_target_effect effect CSkillEffect: handle skill on target effect 0x00D75840 283 CNetwork__recv_item_bonus_data network Handles item bonus data packet. Reads item bonus/stat modification data from the packet. Updates the player's equipment bonus display and total stat calculations. Used when equipping items or receiving buff-modified item stats. 0x00D75960 1 CSkillEffect__handle_skill_damage_effect effect CSkillEffect: handle skill damage effect 0x00D77850 465 CNetwork__recv_entity_action_animation network Handles entity action animation packet. Reads entity ID, action type, and animation parameters from the packet. Triggers the specified action animation on the entity (attack, cast, sit, stand, pick up item, etc.). Handles animation blending and direction facing for the action. 0x00D77A30 435 CPacket__handle_entity_appearance_update network Handles entity appearance update packet. Parses appearance data (hair, clothing, weapon, shield coords, etc). Finds entity by ID, calls virtual method 0x25, gets effective job ID. Uses FUN_00e1dd50/FUN_00dde5c0/FUN_00e09b50 for rendering update. 0x00D77BF0 105 CPacket__handle_banking_window_toggle network Handles banking window toggle. If param+2 is 1, opens bank UI (window 0x106) and repositions window 0x133. Otherwise closes bank UI via FUN_00a8cf20. 0x00D77C60 43 CPacket__handle_buy_list_item_options_update network Handles buy list item options update. Calls CItemCollection__set_buy_list_item_options with entity ID and x,y coordinates from packet, then refreshes the associated window. 0x00D77C90 466 CPacket__handle_storage_item_list network Handles storage item list packet. Parses items (0x22 bytes each) with item info, class/level, slot data. Adds items to storage via FUN_00dd76c0 if quantity > 0. Notifies storage windows 0xFE and 0xFF to refresh. 0x00D77E70 411 CPacket__handle_auction_item_list_00d77e70 network Handles auction item list. Opens window 0x100, parses items (0x1D bytes each) into CShopItem list. Adjusts window height based on count. Shows message 0xBE3 if param_1 is 0 (no results). 0x00D78010 27 CPacket__apply_entity_status_effect_flags network Applies entity status effect flags. Reads 4 dword fields from packet and passes them to CEntity__apply_status_effect_flags for visual status processing. 0x00D78030 1 packet_handler_stub_00d78030 game_core Packet handler stub 00d78030 0x00D78060 206 CPacket__handle_enchant_window_show network Handles enchant window show. Initializes global enchant state (DAT_01389904) if needed using stub_005f91d0. Validates enchant data, shows window 0x15C if valid, closes it otherwise. 0x00D78130 219 CPacket__handle_inventory_open_request network Handles inventory open request. Clamps slot count (min 2, max 5) into DAT_01733580. Checks if shop/vending/etc is active, shows error msg 0x24B if so. Otherwise opens inventory window 0xAE. Sends virtual command 299. 0x00D78210 209 CPacket__handle_equipment_open_request network Handles equipment open request. Clamps slot count (min 3, max 13) into DAT_0173357c. Checks if shop/vending is active, shows error msg 0x24B if so. Otherwise opens equipment window 0x29. Sends virtual command 0x129. 0x00D782F0 1248 CPacket__handle_sell_item_list_extended network Extended sell item list handler. Parses items (0x40 bytes each) with full card/enchant data, copies to CShopItem array. Opens sell windows 0x2B/0x2C and sets trading state flag at param_1+0x24C. 0x00D787E0 1167 CPacket__handle_buy_item_list_with_cards network Handles buy item list with card/enchant data (0x3A bytes per item). Parses items into CShopItem array. If empty, sends command 0x28 and closes shop windows. Otherwise populates buy window items. Checks DAT_016f7144 for auto-trade mode. 0x00D78C70 1730 CPacket__handle_exp_distribution_info network Handles EXP distribution info packet. Parses entries (0xD bytes each) by type (0=base, 1=job, 2=death, 3=mvp). Converts int values to float percentages, formats 3 rows (base/job/death) into strings, builds tooltip, dispatches to chat UI. 0x00D79340 70 CPacket__handle_emblem_image_data_chunk network Handles emblem image data chunk. Finds window 0x120, compares name string (4 chars), if match forwards emblem data to CEmblemViewWnd__receive_image_data_chunk. 0x00D79390 53 CPacket__open_or_create_window_0x122 network Opens or creates window type 0x122. If not already open, creates it and initializes via stub_006016c0. 0x00D793D0 68 CPacket__open_window_0x12e_with_data network Opens window type 0x12E with data. Creates window if it doesn't exist, sends data via virtual method 0x94 with command 0x17. 0x00D79420 28 CPacket__set_global_timer_value network Sets global timer value from packet. Stores param+2 into DAT_0173a5bc if positive. 0x00D79440 30 CPacket__handle_roulette_result network Handles roulette result. Case 0: selects item, resets quest fields, refreshes window. Cases 1-3: shows messages 0xA4C-0xA4E with color 0x6464FF (error/status messages). 0x00D79500 57 CPacket__refresh_card_list_window network Refreshes card list window. Finds window 0x127 and calls UICardListWnd__OnReceiveItemData to refresh the card list display. 0x00D79540 106 CPacket__handle_entity_remove_batch network Handles batch entity removal. Iterates through entity IDs in packet, tries removing as actor (sends command 0xD), then as NPC (removes effects), then as item. 0x00D795B0 174 CPacket__handle_party_member_list_00d795b0 network Handles party member list packet. Parses entries (0x18 bytes each). If empty, shows error msg 0x1A8. Otherwise opens party window 0x6B and sends each member entry via command 0x1F. 0x00D79660 48 CPacket__handle_guild_window_action network Handles guild window actions. Complex switch on sub-command: creates/manages guild windows, handles tree operations, renders effects. Uses window types 0x2730. 0x00D79700 380 CNetwork__recv_roulette_result network Handles roulette result packet. Parses the full roulette spin outcome including prize item ID, prize category, and animation data. Updates the roulette window to display the winning result, triggers reward collection, and updates the player's remaining spins count. 0x00D79880 225 CPacket__handle_repute_info_list network Handles repute info list packet. Lazily initializes reputation manager singleton (DAT_0138993c, 0x20 bytes) via CStringMapManager__ctor if null. Iterates through entries (4 dwords each), calling CReputeDB__set_info_entry_extra_data for each. Finalizes with CReputeDB__set_pause_flag_and_notify_window. 0x00D79970 65 CPacket__send_packet_0x0a2a network Sends a 10-byte packet with header 0x0A2A and one 4-byte parameter. Retrieves packet size via get_job_sprite_count, then sends via CNetworkSession__send_data_timed. 0x00D799C0 302 CPacket__handle_agit_conquest_dialog network Handles Agit (WoE) conquest dialog packet. Calls Lua function "get_agit_name" via DAT_01738010, formats conquest progress dialog using msg 0xE30 with percentages (param_2, param_3) and shows it via CGameObject__show_dialog_box_extended. Only active when DAT_014579a0 is set. 0x00D79AF0 73 CPacket__show_agit_result_message network Shows agit (War of Emperium) result message. If param is 1, shows message 0x442. If param is 2, shows message 0xE31. Dispatches via CUIWindowMgr__dispatch_chat_message with color 0xFF. 0x00D79B40 34 CPacket__show_security_keypad network Shows security keypad window. Finds window type 0x167, if found calls CSecurityKeypadWnd__set_timer_and_refresh to activate it. 0x00D79B70 52 CPacket__show_password_input_status network Shows password input status message. Finds window type 0x11D, calls vtable method 0x38 with param 1, then CPasswordInputWnd__set_status_message with the two parameters. 0x00D79BB0 476 CNetwork__process_packet_and_send network Processes incoming packet string, trims last 4 chars, and if FUN_00e006e0 returns false, sends processed data back to server via CNetworkSession__send_data_timed. Includes intermediate processing calls FUN_00c7d7d0 (x2) and FUN_00c7c970. 0x00D79D90 126 CPacket__handle_enchant_result network Handles enchant result packet. Lazily initializes enchant manager singleton (DAT_0138d254, 0x38 bytes) via CEnchantMgr__ctor if null. Delegates to CEnchantMgr__handle_enchant_result with the two parameters. 0x00D79E10 120 CPacket__open_shop_window_0x13e network Opens shop window 0x13E. Closes existing, creates new, sends commands 0xA4 and 0x78 with params. Falls back to command 0x143 on DAT_013495bc if creation fails. 0x00D79E90 101 CPacket__handle_achievement_result network Handles achievement result. If success (0), sends data to window 0x154 via command 0x40. If failure (1), shows message 0x9D1. 0x00D79F00 201 CPacket__handle_map_server_connect_name network Handles map server connect with name. Sets DAT_017387e4=1, creates STL string from name, calls handle_map_server_connect. 0x00D79FD0 222 CPacket__toggle_falcon_effect network Toggles falcon effect (status ID 0xB8). If enable (1), adds to effect vector with 999999 duration. If disable, removes from vector. 0x00D7A0B0 36 CPacket__reset_chat_room_state network Resets chat room state. If packet field is not 1 or 2, clears DAT_016fc588. 0x00D7A0E0 149 CPacket__handle_entity_chat_message network Handles entity chat message. Finds entity by ID (own char or other via CBGMManager), copies message data, calls virtual method 7 to display overhead chat. 0x00D7A180 127 CPacket__handle_channel_name_list network Handles channel name list. Parses 16-byte name entries from packet. Opens window 0x134 and sends each non-empty name via command 0x22. 0x00D7A200 240 CPacket__handle_summon_spirit_ball_effect network Handles summon spirit ball effect. For specific job IDs (0x1090, 0x1092, 0x10CF), checks entity state, removes/creates effect 0x4C9 on the entity, sets spirit ball count via piVar5[0x2C]. 0x00D7A2F0 919 CNetwork__recv_special_popup network Handles special popup packet. Creates and displays a server-triggered popup window with custom text, images, and buttons. Supports multiple popup types: announcements, event notifications, GM messages, and system alerts. Parses popup configuration including size, position, timeout, and button callbacks. 0x00D7A690 570 CNetwork__recv_cart_visual_effect network Handles cart visual effect packet. Reads cart entity ID, effect type, and visual parameters from the packet. Applies or removes visual effects on the player's merchant cart (glow, sparkle, enchant aura, etc.). Updates the cart sprite rendering state. 0x00D7A920 775 CPacket__handle_job_specific_effect network Complex job-specific effect handler. Creates/removes visual effects based on job class (Hunter/Sniper=0x275, Alchemist=0x1F8, etc.). Handles summoner spirits (0x99C), servant weapons (0x46F), elemental spirits (0x83D). Different behavior when riding vs standing. 0x00D7ABEE 23 CPacket__create_hunter_falcon_effect network Creates hunter falcon visual effect (0x275) via CEntity__create_skill_effect. Part of job-specific effect handler. 0x00D7AE60 76 CPacket__handle_elemental_orbit_effect network Handles elemental orbit effect. Finds entity by ID (own char or other), calls CEntity__set_elemental_orbit_effect with orbit params from packet. 0x00D7AEB0 1 packet_handler_stub_00d7aeb0 game_core Packet handler stub 00d7aeb0 0x00D7AEE0 1 packet_handler_stub_00d7aee0 game_core Packet handler stub 00d7aee0 0x00D7AF10 1 packet_handler_stub_00d7af10 game_core Packet handler stub 00d7af10 0x00D7AF40 1 packet_handler_stub_00d7af40 game_core Packet handler stub 00d7af40 0x00D7AF70 47 CPacket__handle_entity_remove_single network Handles single entity removal. Removes actor by map ID via CBGMManager, sends command 0xD on success. 0x00D7AFA0 459 CPacket__handle_ground_skill_unit_spawn network Handles ground skill unit spawn. Receives achievement data, parses spawn params (position, type, etc). Creates CSkillUnit if entity not found, otherwise updates existing. Calls virtual method 0x79 (new) or 0x7C (existing). 0x00D7B170 466 CPacket__handle_skill_unit_spawn network Handles skill unit spawn packet. Parses many parameters (job, gender, position, etc.), looks up existing entity via CBGMManager. If not found, creates new CSkillUnit via operator_new(0x4f8). Initializes the skill unit with parameters and calls its vtable method at offset 8. 0x00D7B350 1 packet_handler_stub_00d7b350 game_core Packet handler stub 00d7b350 0x00D7B390 136 CPacket__handle_skill_unit_update_timestamp network Handles skill unit timestamp update packet. Checks GameSettings option 8 (show skill effects). Looks up entity by ID (uses local player shortcut if matching DAT_01733c3c). Calls CEntity__update_timestamp_and_check_newer, and if newer, triggers CEntity__create_skill_effect(0x2a5). 0x00D7B420 74 CPacket__handle_cart_info_toggle network Handles cart info toggle packet. Based on packet byte at offset 2 (0 or non-zero), sends message 0x50 to global window DAT_01457a14 with param 3 (cart off) or 7 (cart on). 0x00D7B470 75 CPacket__handle_cart_info_toggle_via_window network Handles cart info toggle via window manager. Finds window type 0xC4 via CUIWindowMgr, then sends message 0x50 with param 3 (off) or 7 (on) based on packet byte at offset 2. 0x00D7B4C0 132 CPacket__handle_repute_window_show network Handles repute window show packet. Lazily initializes reputation manager singleton (DAT_0138993c, 0x20 bytes) via CStringMapManager__ctor if null. Delegates to CReputeDB__show_repute_window with the four parameters. 0x00D7B550 131 CPacket__handle_enchant_tree_update network Handles enchant tree update packet. Only processes if param_1 == 0x0A (enchant type). Lazily initializes enchant tree singleton at DAT_0138d254 (0x38 bytes) if null. Delegates to Ench__mgr_00683bc0. 0x00D7B5E0 94 CPacket__handle_set_hotkey_row_state network Handles set hotkey row state packet. Based on byte at offset 2 (0, 1, or 2), sets one of three hotkey row values at DAT_01456e88+0x26C/0x270/0x274. Refreshes window 464 if DAT_01457ae4 is set. 0x00D7B640 1 packet_handler_stub_00d7b640 game_core Packet handler stub 00d7b640 0x00D7C431 23 skill_effect_stub_wrapper_00d7c431 effect Stub wrapper that calls skill_effect_xmm_store_and_create. One of several identical skill effect handler stubs at different addresses for different skill IDs. 0x00D7C450 23 skill_effect_stub_wrapper_00d7c450 effect Small stub that wraps a skill effect function call, forwarding parameters. 0x00D7C46F 23 skill_effect_stub_wrapper_00d7c46f effect Small stub that wraps a skill effect function call, forwarding parameters. 0x00D7C48E 23 skill_effect_stub_wrapper_00d7c48e effect Small stub that wraps a skill effect function call, forwarding parameters. 0x00D7C4AD 23 skill_effect_stub_wrapper_00d7c4ad effect Small stub that wraps a skill effect function call, forwarding parameters. 0x00D7C4CC 23 skill_effect_stub_wrapper_00d7c4cc effect Small stub that wraps a skill effect function call, forwarding parameters. 0x00D7CB7B 24 CLightEffect__init_default_timing game_core Initializes CLightEffect with default timing: mode=0x60, fade-in=1, hold=2, fade-out=0x60, repeat=2, intensity=1. 0x00D7F250 31 skill_effect_create_if_entity_valid effect Conditionally creates a skill effect if the entity pointer (EDI) is non-null. Guards against null entity access. 0x00D818B1 7 skill_effect_store_position_and_create effect Stores duplicated position coordinate into output buffer then delegates to CEntity__create_skill_effect. Mid-function entry point. 0x00D818B8 33 skill_effect_xmm_store_and_create effect Stores XMM0 value into param_1 (8 bytes), zeros third dword, then calls CEntity__create_skill_effect. Used as inline fragment within skill effect processing. 0x00D81E35 33 skill_effect_call_vtable_method_0xe effect Skill effect inline fragment. Calls vtable method at offset 0x40 on ESI object with params (0, 0xE, 0). Restores FS exception chain and returns. 0x00D81FDA 7 thunk_to_CEffectManager__create_effect_00d81fda effect Wrapper that calls FUN_00b24a50 with one argument 0x00D81FE1 48 skill_effect_xmm_store_and_create_effect effect Skill effect inline fragment. Stores XMM0 into param_1 (8 bytes), zeros third dword, then calls CEffectManager__create_effect with entity ID from EDI+0x110. Restores FS exception chain. 0x00D82303 5 thunk_to_CEntity__create_skill_effect_00d82303 game_entity Thunk that calls FUN_00cadd60 without returning 0x00D83491 4 thunk_to_virtual_method_0x40_00d83491 game_core Calls virtual method at offset 0x40 with parameters (0, 0xe, 0) 0x00D83495 27 skill_effect_call_vtable_method_0xe_00d83495 effect Skill effect inline fragment. Calls vtable method at offset 0x40 on ESI object with params (0, 0xE, 0). Restores FS exception chain. Identical pattern to 00d81e35. 0x00D838EC 33 skill_effect_xmm_store_and_create_00d838ec effect Stores XMM0 into param_1 (8 bytes), zeros third dword, then calls CEntity__create_skill_effect. Identical pattern to 00d818b8. 0x00D8670E 431 CSkillEffect__create_cd_reparatio_effects effect Creates CD Reparatio skill visual effects (IDs 0x728-0x72B) on caster and target. Plays CD_REPARATIO1.wav and CD_REPARATIO2.wav sound effects via CEffectAura. 0x00D898B0 168 CPacket__handle_npc_menu_list network Handles NPC menu list packet. Calculates number of menu items from packet size ((size-6)/16). Opens NPC dialog window (type 0x27), sends item count message 0x3B, then iterates through 16-byte menu entries adding each non-empty string via message 0x1B. Appends 'cancel' option at end. 0x00D89960 624 CPacket__handle_item_identify_result network Handles item identify result packet. If status (offset 8) is 0 (success), builds item description string from identify data, shows yellow chat message (0xC8FF00) with item name and message 0xC47. Otherwise shows error message 0xBC1 (fail) or 0xBD9 (type 3). 0x00D89BD0 133 CPacket__handle_item_repair_result network Handles item repair result packet. If status (offset 2) is 0 (success), gets local player entity and sends repair action (0x89, 3) via DAT_013495bc vtable. Otherwise shows error message 0xBC1 (fail=1) or 0xBE0 (other). 0x00D89C60 60 CPacket__handle_town_info_search_result network Handles town info search result packet. Parses packet fields and delegates to CTownInfoMgr__handle_search_result_entry with NPC name (offset 0x2B), ID (offset 2), map name (offset 0x43), coordinates, and flags. 0x00D89CA0 1 packet_handler_stub_00d89ca0 game_core Packet handler stub 00d89ca0 0x00D89CC0 603 CPacket__handle_town_npc_info_single network Handles single NPC town info packet. Only processes if DAT_016d44c0 is set. Parses NPC data (ID, map, coordinates, type, etc.), builds NPC name string with message 0x245 fallback if empty. Adds to CTownInfoMgr list, recomputes weights, and refreshes status windows. 0x00D89F20 708 CPacket__handle_town_npc_info_list network Handles town NPC info list packet. Calculates NPC count from ((packet_size - 4) / 0x22). Clears existing NPC list, then iterates through 0x22-byte entries parsing NPC data. If NPC map matches DAT_01733c40, uses local map name. Adds each NPC to CTownInfoMgr, computes weights, refreshes windows. 0x00D8A1F0 98 CPacket__handle_language_change network Handles language change packet. Calls three language setup functions with language code from param_2+2, notifies UI of language change, and calls two refresh functions. 0x00D8A260 160 CPacket__handle_item_buylist_flag_update network Handles item flag update packet. Looks up item by slot ID (param_1+2), if found calls CItemCollection__set_buy_list_item_flag with the flag byte (param_1+6), then refreshes the relevant window. 0x00D8A300 342 CPacket__handle_exp_gain network Handles EXP gain packet. Gets local player entity. Supports 3 packet versions (param_3: 0=short val, 1=int val, else raw). For type 5 (base EXP): updates DAT_01737ba0, shows green (0xFF00FF00) effect 0x14B. For type 7 (job EXP): updates DAT_01737ba8, shows blue (0xFF0000FF) effect 0x14C. 0x00D8A460 412 CPacket__handle_item_refine_result network Handles item refine result packet. If status (offset 8) is 0 (success), builds item description and shows yellow chat (0xC8FF00) with message 0xC48. If status is 1, shows fail message 0xBC1 and updates item info. Other statuses are ignored. 0x00D8A600 304 CPacket__handle_item_identify_list network Handles item identify list packet. Calculates item count from (packet_size - 4) / 6. Iterates through 6-byte entries, building item descriptions. Stops if item lookup returns 0. Updates item identified state based on FUN_00e1d9b0 check. 0x00D8A730 161 CPacket__handle_map_connect_dispatch network Map connect packet dispatcher. Parses packet fields based on version (param_2: 0=short fields, 1=int fields+extra byte, else raw). Extracts account ID, character ID, coords, etc. and delegates to CPacket__handle_map_server_connect. 0x00D8A7E0 112 STL_vector_0x100_reassign stl STL vector reassign for 0x100-byte elements. Destroys existing elements via STL_destroy_range_0x100_with_strings, frees old buffer (with alignment handling for large allocs), then sets new begin/end/capacity pointers with 0x100 stride. 0x00D8A860 135 STL_vector_0xf8_reassign stl STL vector reassign for 0xF8-byte elements. Frees old buffer via stub_005dea30 (destructor range), then sets new begin/end/capacity with 0xF8 stride. 0x00D8A8F0 22 thunk_STL_destroy_range_0x100_with_strings game_core Thunk that forwards to STL_destroy_range_0x100_with_strings with reordered parameters (this, begin, end). 0x00D8A910 1 packet_handler_stub_00d8a910 game_core Packet handler stub 00d8a910 0x00D8A920 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D8AB30 517 Insert_node stl STL _Tree_val::_Insert_node. Inserts a node into a red-black tree, links as left or right child, then rebalances with rotations and recoloring. 0x00D8AD40 128 CShopItemList__insert_0x100 game_core Inserts element into shop item list (0x100-byte elements). Saves old state, creates copy via FUN_00d8b0f0, copies existing range via CShopItemList__copy_range_0x100_void, then reassigns vector with new data. 0x00D8ADF0 144 CShopItemList__insert_0xf8 game_core Inserts element into shop item list (0xF8-byte elements). Saves old state, creates copy via FUN_00d8b150, copies range via stub_005e4770, then reassigns vector with new data. 0x00D8AEB0 176 CShopItemList__copy_range_0x100 game_core Copies range of 0x100-byte shop items. Iterates from param_2 to param_3, copy-constructing each CShopItem and copying the 0xF8 flag byte. Returns end pointer. 0x00D8AF60 55 memcpy_0x36_elements stl Copies raw memory range as 0x36-byte elements using memcpy. Returns pointer past copied data, aligned to 0x36 boundary. 0x00D8AFA0 174 CShopItemList__copy_range_0x100_void game_core Same as CShopItemList__copy_range_0x100 but returns void. Copies range of 0x100-byte shop items via CShopItem__copy_construct, then calls destructor for remaining range. 0x00D8B050 10 thunk_to_std__Xlength_error_00d8b050 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x00D8B060 10 thunk_to_std__Xlength_error_00d8b060 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00D8B070 10 thunk_to_std__Xlength_error_00d8b070 stl Wrapper that calls std::_Xlength_error with vector_too_long message 0x00D8B080 10 thunk_to_std__Xlength_error_00d8b080 stl Calls std::_Xlength_error with vector_too_long message string 0x00D8B090 95 STL_allocate_0x28_elements stl Allocates memory for array of 0x28-byte (40-byte) elements. Checks for overflow (max 0x6666667 elements). For small allocations (<0x1000) calls allocator directly. For large allocations adds 0x23 byte header for alignment. 0x00D8B0F0 92 STL_allocate_0x100_elements stl Allocates memory for array of 0x100-byte (256-byte) elements. Overflow check at 0x1000000 max elements. Small allocs direct, large allocs add 0x23 alignment header. 0x00D8B150 95 STL_allocate_0xf8_elements stl Allocates memory for array of 0xF8-byte (248-byte) elements. Overflow check at 0x1084211 max elements. Small allocs direct, large allocs add 0x23 alignment header. 0x00D8B1B0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00D8B1F0 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00D8B230 58 STL_deallocate_0x100_elements stl Deallocates buffer for array of 0x100-byte elements. Handles large allocation alignment (0x23 header) for buffers >= 0x1000 bytes. 0x00D8B270 56 STL_deallocate_0x36_elements stl Deallocates buffer for array of 0x36-byte elements. Handles large allocation alignment (0x23 header) for buffers >= 0x1000 bytes. 0x00D8B2B0 77 STL_map_lower_bound_uint64 stl STL map lower_bound for uint64-keyed entries. Calls STL_tree_upper_bound_uint64, then checks if found node's key matches via equal_range pattern. Returns matching node iterator or end(). 0x00D8B300 57 STL_vector_push_back_0x1c stl STL vector push_back for 0x1C-byte (28-byte) elements. Copies 7 dwords from param_2 to back of vector. If at capacity, delegates to grow function at 00cccbc0. 0x00D8B340 151 CItemSprite__ctor game_entity CItemSprite constructor. Calls CSprite__ctor, sets vtable to PTR_FUN_011a3f90. Initializes string field at offset 0x158, sets visibility flags at 0xA4 to 0x101, scale at 0x50 to 1.0f (0x3f800000), color at 0x84 to 0xFFFFFF00. 0x00D8B3E0 95 CItemSprite__dtor game_entity CItemSprite destructor. Sets vtable to PTR_FUN_011a3f90, destroys string field, then calls CSprite__dtor. 0x00D8B440 119 CItemSprite__scalar_deleting_dtor game_entity CItemSprite scalar deleting destructor. Sets vtable, destroys string and CSprite base. If param_2 bit 0 set, frees 400 bytes of memory. 0x00D8B4C0 28 get_refine_effect_id game_core Maps refine level (1-5) to effect ID: 1->0x4A3, 2->0x4A4, 3->0x4A5, 4->0x4A6, 5->0x4A7. Returns -1 for invalid levels. 0x00D8B530 30 get_refine_effect_id_alt game_core Alternate refine effect ID mapping. Maps level 1-5 to: 1->0x74D, 2->0x4A5, 3->0x4A6, 4->0x74E, 5->0x74F. Default (0) returns 0x9B5. Different IDs from primary map. 0x00D8B5D0 255 CItemSprite__update_gravity_animation game_entity Updates item sprite gravity/drop animation. Calculates elapsed time from timeGetTime, applies parabolic trajectory (quadratic equation) to Y position. Checks ground collision via C3dAttr__GetInterpolatedHeight; clamps to ground level and clears gravity flag on impact. 0x00D8B6D0 67 CItemSprite__render game_entity Renders item sprite if visible (offset 0xA0 flag). Draws shadow scaled by sprite scale * DAT_0112fd80, then renders full sprite. 0x00D8B938 1061 CEntity__load_item_sprite_and_create_effects game_entity WARNING (jumptable): Unable to track spacebase fully for stack 0x00D8BE00 532 CItemSprite__add_to_quadtree game_entity Adds item sprite to spatial quadtree for culling. Checks visibility flag at offset 0xA5. Lazily calculates near clip distance (DAT_01730448). Allocates 0x28-byte bounding box entry with min/max coords from param_2, expands to minimum near-clip size, then inserts via CQuadTreeNode__insert_object. Calls vtable method 0x18 (render setup). 0x00D8C020 1 null_stub_00d8c020 crt Empty function body, returns immediately without side effects 0x00D8C0CB 1 packet_handler_stub_00d8c0cb game_core Packet handler stub 00d8c0cb 0x00D8C174 1 packet_handler_stub_00d8c174 game_core Packet handler stub 00d8c174 0x00D8C390 140 STL_vector_0x80_destroy_range stl Destroys range of 0x80-byte elements by calling STL_string_dtor 5 times per element (5 string fields per 0x80-byte struct). Iterates from param_1 to param_2 in 0x80 steps. 0x00D8C420 518 STL_vector_0x14_insert_grow stl STL vector insert with grow for 0x14-byte (20-byte) elements. Grows vector 1.5x (max 0xCCCCCCC elements). Allocates new buffer, copies element at insertion point, relocates existing elements around it. Frees old buffer. 0x00D8C630 103 STL_tree_destroy_nodes_0x4c stl Recursively destroys STL red-black tree nodes (0x4C bytes each). Traverses right subtree first, then walks left chain freeing each node. Checks sentinel flag at offset 0xD. 0x00D8C6A0 422 CGroundItemEffect__ctor game_entity CGroundItemEffect constructor. Extends CEffectPlayer. Sets vtable to PTR_FUN_011a3fd4. Initializes large buffer (0x2E7C bytes) at offset 0x4068 to zero. Sets timer to timeGetTime()+12000ms, stores DAT_016d3b08 flag then clears it. Initializes strings, counters, and render state fields. 0x00D8C850 151 STL_vector_0x14_clear_and_free stl Clears STL vector of 0x14-byte elements. Frees underlying buffer with alignment handling for large allocations. Zeros all three vector pointers (begin, end, capacity). 0x00D8C8F0 144 STL_vector_0x80_clear_and_free stl Clears STL vector of 0x80-byte elements. Calls destroy_range to run destructors on all elements, then frees buffer with alignment handling. Zeros vector pointers. 0x00D8C990 185 CGroundItemEffect__dtor game_entity CGroundItemEffect destructor. Sets vtable to PTR_FUN_011a3fd4, restores DAT_016d3b08 flag. Clears 0x14 vector, destroys string, clears two 0x80 vectors, destroys internal objects, then calls CEffectPlayer__dtor. 0x00D8CA50 252 get_encrypted_string_table_0xbb20 game_core Thread-safe lazy init of encrypted string table at TLS offset 0xBB20 (0x4B bytes). Copies constant data from ROM addresses 011a4440/011a43c0/011a4450/011a4480 on first access. Registers cleanup via atexit callback FUN_010aed70. 0x00D8CB50 268 get_encrypted_string_table_0xb9b0 game_core Thread-safe lazy init of encrypted string table at TLS offset 0xB9B0 (0x67 bytes). Copies constant data from ROM addresses 011a4380/011a41b0/011a4200/etc on first access. Registers cleanup via atexit callback FUN_010af270. 0x00D8CC60 209 CGroundItemEffect__scalar_deleting_dtor game_entity CGroundItemEffect scalar deleting destructor. Runs full destructor chain, then frees 0x6F7C bytes if param_2 bit 0 set. 0x00D8CD40 26 CCharMode__set_selected_char_id charmode Sets selected character ID at offset 0x6F28 from packet data. Transitions to state 0x18 (map server connect pending). Part of CCharMode class. 0x00D8CD60 734 CPacket__handle_map_server_connect network Handles map server connect packet. Stores timestamp, parses account/character/entity IDs to globals. Decrypts map name via XOR, processes hotkey slots based on packet version (2-5: different hotkey sizes 0x20 or 0xA0). Sets service-type display options, screen mode. Transitions to game mode (state 6). 0x00D8D110 152 CPacket__handle_char_select_confirm_dialog network Handles character select confirmation dialog. Shows message 0x2B3 dialog box. If user confirms (returns 0xBB), sends packet 0x1BF to server. Otherwise disconnects and returns to char select (state 3). 0x00D8D1F0 281 CPacket__handle_server_message_dialog network Handles server message dialog packet. Extracts variable-length text from packet, shows it in dialog box (non-cancellable, centered). Sets disconnect flag and transitions to state 3. 0x00D8D310 18 thunk_CCharMode__handle_disconnect_reason game_core Thunk that forwards to CCharMode__handle_disconnect_reason with swapped parameters. 0x00D8D330 446 CPacket__handle_timer_event network Handles timer event packet. Parses timestamp and duration from packet, converts to local time via _localtime32. Shows formatted date/time dialog using message 0x92C. Creates CUITimerEvent with duration*10M ticks (converted from seconds to 100ns units) and 3600000ms (1 hour) tick interval. 0x00D8D500 33 CPacket__handle_char_delete_result_extended network Handles character delete result packet. Large switch on status code (0-10). Status 0: success dialog (msg 0x4BE), shows inventory window. Status 2,4,7,8,9: confirmation dialogs with different messages, on OK sends action to server. Status 1,3,5,6,10: info-only dialogs. Status 0xB8 check for user confirmation. 0x00D8D790 459 send_exe_md5_hash_packet game_core Computes MD5 hash of the client executable and sends it as packet 0x204. Only runs for service types 6 or (0 with sub-type 1). Reads entire EXE file in 1KB chunks, feeds to MD5. Hardcoded expected hashes per service type for validation. Uses fopen/fread/feof to read the file. 0x00D8D960 121 CCharMode__send_keepalive charmode Sends keepalive packet 0x187 with entity ID. Only sends in states 7/8/0xB/0x13 and when 12-second timer has elapsed. Part of CCharMode class. 0x00D8D9E0 426 CCharMode__clear_all_char_data charmode Clears all character select data. Destroys STL tree at offset 0x6144, resets counters (0x6148-0x6170). Iterates 0x2C-byte entries in vector at 0x6178, destroying inner string vectors. Part of CCharMode class. 0x00D8DB90 1370 CNetwork__build_server_connection_string network Builds server connection string with encrypted address/port. Reads server IP and port from PTR_DAT_01348f60/64/68. For service type 0xD, uses encrypted TLS strings (XOR decrypted) with different keys based on sub-type (1=iRO, 5=kRO, 6=jRO). Uses CUINavMap__lookup_group_value(0x12) to select between two encrypted address variants. 0x00D8E0F0 224 compute_exe_md5_hash game_core Computes MD5 hash of the running executable. Gets module filename, opens file, reads in 1KB chunks feeding to MD5 update. Stores final 16-byte hash in param_1. Returns 1 on success, 0 if file cannot be opened. 0x00D8E1D0 256 get_service_type_code game_core Maps service type globals (DAT_016d3b10 and DAT_016d3b14) to internal service type codes (1-0x24). Three-way dispatch: sub-type 1 (iRO variants), sub-type 5 (kRO variants), and default. Returns 0 for unknown combinations. 0x00D8E3A0 851 get_mac_address_string game_core Gets MAC address of first network adapter as formatted string. Uses GetAdaptersInfo Win32 API. Reads 6-byte MAC from adapter info offset 0x194. Formats using XOR-encrypted format string (decrypted at runtime). Falls back to encrypted default string if no adapters found. Returns result as STL string in param_1. 0x00D8E700 103 CCharMode__get_max_char_priority charmode Iterates through character entries (0xAF bytes each, starting at offset 0x4068, max 0x44 entries). Returns the maximum priority byte value found at offset 0x8A within each entry. Returns -1 if null. Part of CCharMode class. 0x00D8E770 112 get_message_for_damage_range game_core Selects damage range message based on damage value. Thresholds: <1001, <3001, <6001, <10001, else. Calls CMessageStringTable__get_message_text with different message IDs for each range. 0x00D8E7E0 422 CCharMode__remove_char_entry_by_priority charmode Removes character entry matching DAT_017304da priority. Allocates temp buffer, copies non-matching entries, decrements count and DAT_01737ff4. Each entry is 0xAF bytes at offset 0x4068. Sets state to 7. Part of CCharMode class. 0x00D8E990 169 CCharMode__init_char_select_data charmode Initializes character select data from server packet. Stores slot/count/flags to globals, zeros 0x2E7C byte entry buffer at offset 0x4068. Copies 20-byte auth token from packet to offset 0x6EFC with htonl byte-swaps. Part of CCharMode class. 0x00D8EA40 119 CPacket__handle_char_server_connect_init network Handles char server connect packet. Repackages packet fields into local struct (adjusting char slot count, copying auth token and server fields) and delegates to CCharMode__init_char_select_data. 0x00D8EAC0 519 CCharMode__load_char_list charmode Loads character list from packet. Copies 20-byte auth token with htonl swaps. Calculates char count from (packet_size-0x1B)/0xAF. Validates size alignment, shows error if misaligned. Copies char data and translates map names. Part of CCharMode class. 0x00D8ECD0 230 CCharMode__add_char_entry charmode Adds single character entry (0xAF bytes) to global DAT_01730450 and to next slot in entry array at offset 0x4068. Translates map name. Increments char count and DAT_01737ff4. Sets state to 7. Part of CCharMode class. 0x00D8EDD0 38 CPacket__handle_char_create_result network Handles character creation result. Switch on status (0-6,10): 0=success (msg 0x4BE, show inventory), 1/2=fail dialogs with confirm->send 0xB9, 3/4=fail dialogs with confirm->send 0x15F, 5/6/10=info dialogs with confirm->send 0xB9. 0x00D8EFC0 61 CPacket__handle_email_verification_result network Handles email verification result. If param+4 == 1 (success), shows message 0x7E1 dialog (info only). No other handling. 0x00D8F000 61 CPacket__handle_email_verification_result_alt network Alternate email verification result handler. Identical to CPacket__handle_email_verification_result -- checks param+4==1, shows message 0x7E1. 0x00D8F040 1300 CCharMode__handle_char_list_page charmode Handles paginated character list packet. Validates 0xAF entry alignment, checks max 0x44 slots. Copies entries, stamps deletion timers, adjusts class gender codes. If not last page (count!=3), finalizes list and translates map names. Sets state 7. Part of CCharMode class. 0x00D8F570 299 CPacket__handle_char_rename_result network Handles character rename result. If status==0, shows confirmation dialog (msg 10). If confirmed (0xB8) or status!=0, shows rename prompt dialog with current name (msg 0x4BD). On OK (0xBB), sends packet 0x28F with char ID. On cancel, sends action 0x15F via DAT_01457a54. 0x00D8F6A0 177 CPacket__handle_char_move_result network Handles character move result. Status 0: success (msg 0x76F), refreshes char select page. Status 1: fail (msg 0x770), sets state 7. Other statuses ignored. 0x00D8F760 83 CPacket__handle_pincode_window_info network Handles pincode window info packet. Calculates entry count from (packet_size-4)/0x18. Zeros and copies 0x18-byte entries to DAT_01732e6c. Stores count in DAT_01738008. 0x00D8F7C0 282 CCharMode__load_char_list_with_auth charmode Loads character list with auth token. Copies 20-byte auth token with htonl swaps. Calculates char count from (packet_size-0x18)/0xAF. Copies char entry data to buffer at offset 0x4068. Sets state to 0x13. Part of CCharMode class. 0x00D8F8E0 196 CCharMode__load_char_list_simple charmode Simple character list load without auth token. Calculates char count from (packet_size-4)/0xAF, copies data to entry buffer at offset 0x4068. Sets state to 7. Part of CCharMode class. 0x00D8F9B0 67 send_ping_packets game_core Sends multiple ping packets (0x9A1) to server. Sends param_1+2 count of packets in a loop via CNetworkSession__send_data_timed. 0x00D8FA00 328 CPacket__handle_pincode_state_result network Handles pincode state result. Switch on status (0-8): 0/default=error (msg 0x718), 1=success (sets 0x1E0 flag), 2=wrong pin (0x71C), 3=pin expired (0x719), 4=new pin needed (0x71D), 5=invalid (0x71E), 6=restricted (0x941), 7=char select blocked (0x12D), 8=pin not set (0xBE4). Shows dialog and sets state 7 unless status 1. 0x00D8FC80 438 CPacket__handle_char_delete_cancel_result network Handles char delete cancel result. Status 0: error (msg 0x718). Status 1: success, finds char by ID and clears deletion timer (offset 0x4106). Status 2: wrong password (msg 0x719). Default: error (0x718). Shows dialog if message set. 0x00D8FE40 594 CPacket__handle_char_delete_accept_result network Handles char delete accept result. Status 1: success, finds char by ID and sets deletion timer (current_time + offset from packet+10). Status 0/default: error (0x718). Status 3: wrong pw (0x719). Status 4: too many attempts (0x71A). Status 5: restricted (0x71B). Status 6: denied (0xBA5). Status 7: unavailable (0xC14). Shows dialog. 0x00D900C0 174 CPacket__handle_char_slot_buy_result network Handles char slot buy result. Stores purchased slot ID at DAT_01737d1c. Status 0: success (msg 0x762). Status 1: fail (msg 0x766), sets state 7. 0x00D90170 42 CPacket__handle_char_slot_move_result network Handles char slot move result. Stores slot ID at DAT_01737d1c. Status 0: success (msg 0x763). Status 1: fail (0x767). Status 2: restricted (0x768). Status 3: unavailable (0x769). Status 1-3 set state 7 after dialog. 0x00D90290 42 CPacket__handle_char_slot_convert_result network Handles char slot convert result. Stores slot ID at DAT_01737d1c. Status 0: success (msg 0x761). Status 1-4: various fail messages (0x76A, 0x768, 0x769, 0x765), all set state 7. 0x00D903E0 200 CPacket__handle_char_slot_rename_result network Handles char slot rename result. Stores slot ID. Status 0: success (msg 0x76D), triggers page button click and sets DAT_01737d18=1. Status 1: fail (msg 0x76E), sets state 7. 0x00D904B0 648 CPacket__handle_char_page_list_result network Handles character page list result. Validates 0x14-byte entry alignment. Iterates through entries: for each with type 0, adds to vector at offset 0x6F68 (index + 4 ints of data). If any entries found, transitions to state 0x1E. Otherwise shows message 0x713 and sets state 7. 0x00D90740 370 CPacket__handle_login_server_list network Handles login server list packet. Builds server name string from packet+2, calls FUN_00d929a0 with server data to populate server list. 0x00D908C0 121 CPacket__handle_login_ban_notice network Handles login ban notice. Reason byte: 0=msg 0x12D (or 0x12F for service type 0), 1=msg 0x54C, 2=msg 0x788, default=msg 0xC. Shows dialog and sets state 7. 0x00D90940 116 CPacket__handle_login_error network Handles login error packet. Disconnects, then switch on error code: default=msg 9 (unknown), 1=0xD0 (server full), 0x6F=0x749 (maintenance), 0x76/0x77=encrypted messages with state 6 transition. Otherwise sets state 3. 0x00D90B70 58 CPacket__handle_auth_error network Handles auth error packet. Switch on error code (0-5): different messages (0x546-0x554). Shows dialog, then transitions to state 3 if connected or 7 if not. 0x00D90C90 104 CPacket__handle_second_password_result network Handles second password (2nd auth) result. Large switch (0-11): 0=success, 1/2/3/4=password state changes (enter/set/change/delete), 5/6=restricted/unavailable, 7=need new password, 8=wrong password (with attempt count tracking, exit after limit), 9/10/11=encrypted URL dialogs with XOR decryption for external verification links. 0x00D911C0 1296 CPacket__handle_second_password_result_v2 network V2 of second password result handler. Same structure as v1 but with different XOR keys for encrypted strings. Status 8 tracks failed attempts with 3-attempt limit (msg 0x773 on lockout, msg 0x764 with remaining attempts). Status 9/10/11 decrypt different TLS URL strings for external verification. 0x00D91700 114 CPacket__handle_char_update_entry network Handles character entry update packet. Finds character by DAT_01737f4c match in entry array. Copies full 0xAF-byte entry data from packet, translates map name via FUN_00ddb7e0. Sets state to 7. 0x00D91790 1599 CCharMode__handle_disconnect_reason charmode Handles disconnect reason codes for char mode. Large switch/jump table for codes <0xF5 (via jump table). For codes >=0xF5: 0x1393=msg 0x72F, 0x1394=format with param_3, 0x1395-0x13C8 various disconnect messages. Code 0x1397 opens Stove/member_gate8 URL in browser via ShellExecuteA (XOR-encrypted 'open' command). 0x14B4/0x14B5 use newer messages. Falls through to quit or return to state 3. 0x00D929A0 440 CCharMode__connect_to_char_server charmode Connects to character server. Stores map ID at DAT_01733c40. Sends init request via DAT_013495bc vtable (type 0x2719). Unregisters old char select window. Copies server name string, extracts IP via inet_ntoa, stores port and name to globals. Disconnects old session, transitions to state 0xC. 0x00D92B80 526 CCharMode__handle_char_select_input charmode Handles char select screen input events. For events 0x2D/0x2E/0x2F (char select actions), shows corresponding messages (0x873/0x874/0x875) in dialog, pushes event to action queue at offset 0x6F1C. If queue changed, repositions window within screen bounds. Returns 1 if action taken, 0 otherwise. 0x00D92DA0 344 CPacket__handle_login_disconnect_reason network Handles login disconnect with detailed reason. Switch on reason (1-9, 0x65, 100, 0x66): maps to different messages (0xC7C-0xC82, 0xC8E, 0xF47). Each reason uses different XOR-encrypted format strings for the dialog. Case 0x65 copies 20-byte token from packet. Formats final message with encrypted prefix, shows dialog, disconnects (state 3). 0x00D93473 360 CNetwork__disconnect_and_show_error_dialog network Disconnects from server, decrypts XOR-encrypted TLS buffer (key 0x9903579B/0x5050567), formats error message (msg 0x1C1), and shows disconnect dialog. Sets game state to 3 (disconnected). 0x00D93800 365 CPacket__handle_login_disconnect_reason_simple network Simplified login disconnect handler. Maps reason byte (1-9) to message IDs (0xC7C-0xF47), default 0xC82. Disconnects, formats message with XOR-encrypted prefix string, shows dialog, transitions to state 3. 0x00D939D0 60 CPacket__handle_char_disconnect_with_reason network Handles char disconnect with reason code. If reason != 0x12, disconnects first. Stores param_2+3 at offset 0x6F78, delegates to CCharMode__handle_disconnect_reason. 0x00D93A10 244 CPacket__handle_char_disconnect_with_name network Handles char disconnect with 20-byte name/token string. Copies 0x14 bytes from packet+6, delegates to CCharMode__handle_disconnect_reason with reason code from packet+2. 0x00D97180 92 CCharMode__cleanup_resources charmode Cleans up char mode resources. Runs anti-cheat counter update, releases all unreferenced resources from CResourceMgr, calls stub_0056fd70. Clears string at offset 0x6F50. 0x00D971E0 555 CPacket__handle_login_server_list_v2 network V2 login server list handler. Builds server name from packet+0x1C (0x80 bytes), builds formatted string, delegates to CCharMode__connect_to_char_server with server data from packet+2. 0x00D97410 421 CCharMode__init_state charmode Initializes char mode state. Computes anti-cheat session token. Sets 6 counters to 5, initializes connection state fields. Copies server name from PTR_DAT_01348f84. Resets memory (0x80 bytes at offset 0xB8), calls init vtable method. Sets DAT_01360084=3, DAT_01730634=1. Plays BGM if enabled. Resets town info, various subsystem states. 0x00D975C0 438 CCharMode__process_frame charmode Char mode frame processor. Handles network updates, packet processing, keepalive, crash reports, mouse input. Checks connection timeouts per state. Handles device reset, resource reload for texture changes. Renders UI, minimap, cursor, fade effects, screenshots. 0x00D97780 868 CCharMode__check_connection_timeout charmode Checks connection timeouts for various char mode states. State 4: 15s timeout (120s for kRO/jRO), sends 0x2725. State 5: 80s timeout, disconnect with message 1. State 6/0xC: 15s timeout, disconnect. State 0x26: 60s timeout for 2nd password, shows msg 0xD16 or 0xD70. 0x00D97B30 507 CCharMode__run_main_loop charmode Main loop for char mode. Processes pending state changes, handles quit detection with MessageBox error display (XOR-encrypted title), calls process_frame each iteration. Shows fade-out with logo on exit. Returns 1. 0x00D97D30 447 CCharMode__process_frame_game charmode Game variant of char mode frame processor. Similar to process_frame but also runs CUIEventManager__process_events, timer callbacks (1000ms), Steam callbacks (Base_RunCallback). Same rendering pipeline. 0x00D97F10 294 open_registration_url game_core Opens registration URL via ShellExecuteA. Uses XOR-encrypted 'open' verb and different encrypted URLs based on service type. Type 0: uses msg 0x51C or 0x210 for URL. Type 1: Stove URL. Type 3: service-specific URL. Default: generic registration URL. 0x00D98470 6222 CCharMode__dispatch_network_packets charmode Dispatches network packets during char select mode. 6.2K bytes. Called by CCharMode__process_frame. Reads packets from network session, handles login server list, char create/delete, pincode, map connect, web auth tokens, second password, premium time, and disconnect reasons. 0x00D9A240 269 show_encrypted_error_messagebox game_core Shows error MessageBox with XOR-encrypted error string (0x19 bytes, TLS offset 0xBBC0). Decrypted at first call, displayed via show_error_messagebox. 0x00D9A350 1685 CPacket__handle_premium_time_info network Handles premium time/subscription info packet. Complex handler for various account states: -2=msg 0x2A8, -3=msg 0x41C, -1=msg 0x2D5, 0=display time remaining (days/hours/minutes format from msgs 0x21D/0x2A7). Positive values show time with expiry (msg 0x215/0x2D6). Sets 90-second timer for display. 0x00D9A9F0 488 CPacket__handle_map_server_disconnect network Handles map server disconnect with 30+ reason codes. Maps reason byte to message IDs (3-0xE33). Code 6 shows dialog with optional quit+URL open. Code 0x6B shows service-specific message. Formats message with encrypted prefix, shows dialog. Returns to state 3 or sends quit via DAT_013495bc. 0x00D9B210 1170 CCharMode__send_login_packet charmode Builds and sends login packet (0x277). Copies auth data, session keys, encrypted fields. Gets MAC address via Netbios NCB (NCBRESET+NCBASTAT) and formats as string. Falls back to encrypted default on Netbios failure. Gets local IP via gethostbyname+inet_ntoa (fallback to encrypted default). Sends via CNetworkSession__send_data_timed. 0x00D9B6B0 730 CCharMode__send_udp_analytics charmode Sends UDP analytics packet. If string at 0x6F50 is set and DAT_01733c3c (entity ID) is non-zero, builds payload with entity ID + string data. Resolves encrypted analytics server hostname (XOR decrypted), creates UDP socket, sends to port 0x1771 (6001). Returns 1 on success. 0x00D9B990 632 CCharMode__handle_message charmode Main message handler for CCharMode. Massive switch handling 40+ message types (0x2711-0x2736). Handles server selection (0x2713), character selection, state transitions, string storage (names/passwords), server list operations, char slot operations. Message 0x2719 populates character stats to globals. Message 0x2723 handles service type 0x13 (Stove) login with encrypted config paths. 0x00D9CDC0 130 send_udp_packet game_core Sends a UDP packet to specified host:port. Creates UDP socket, resolves hostname via gethostbyname, sends data via sendto, closes socket. Returns immediately if socket creation or DNS fails. 0x00D9CE50 44 STL_string_assign_cstr stl Assigns C string to STL string via strlen + STL_lib_func_004fa8f0. 0x00D9CE80 103 CCharMode__set_loading_screen_path charmode Sets loading screen path string. If param_2 differs from existing string at offset 0x9C, copies via STL_lib_func_004fa8f0. Destroys temporary string. 0x00D9CEF0 181 generate_random_hex_token game_core Generates random hex token string. Uses timeGetTime XOR with shifted timeGetTime as seed. Converts to hex via _ltoa (base 16). Pads/truncates to param_2 chars (default 4). Fills output buffer in reverse order, null-terminates. 0x00D9CFB0 22 set_visibility_flag_and_return_true game_core Sets map visibility flag (bit 0 of param) via set_map_visibility_flag on the global game object, always returns 1 (true). Likely a message handler callback. 0x00D9CFD0 1880 CGameMode__handle_web_auth_token_response game_core Handles web auth token response. Switch on error code: 0=success (copy 500-byte token, go to login), 400=show loading window, 500=msg 0x6D8, 600=msg 7, 700=msg 0xCB4, 900=open browser via ShellExecuteA (decrypts URL/verb/params), 1200=msg 0x1103. Shows error dialog with status code. 0x00D9D730 1301 CGameMode__handle_web_auth_token_response_v2 game_core V2 of web auth token response handler. Same as 00d9cfd0 but adds error code 800 (msg 0xD70) and different dialog box formatting for code 800 vs others. 0x00D9DC50 875 CGameMode__handle_map_connect_response game_core Handles map connect response. Syncs server tick, sets position from packed bytes, formats RSW map name, opens loading window, shows msg 0x79, logs to PingLog.txt if enabled, clears ping data, initializes 0x44 character name entries from param_1+0x40D4. 0x00D9DFC0 424 CGameMode__handle_map_connect_response_simple game_core Simple map connect response. Same core logic as full version: syncs tick, sets position, opens loading screen, logs to PingLog.txt. Does not initialize character names. 0x00D9E180 30 CPacket__handle_set_max_base_level network Sets max base level from packet. Only applies if value < 101 (0x65). Stores to DAT_0173a5f4. 0x00D9E1A0 28 CPacket__handle_set_server_tick network Sets server tick counter from packet. Only applies if value > 0. Stores to DAT_0173a5bc. 0x00D9E210 44 STL_copy_0x14_elements stl STL template instantiation: STL copy 0x14 elements 0x00D9E240 45 STL_copy_0x14_elements_offset stl Copies range of 0x14-byte elements with offset. Copies from param_1 to param_2, writing to (param_1 + param_3) offset addresses. 0x00D9E270 10 thunk_to_std__Xlength_error_00d9e270 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00D9E280 115 STL_tree_clear_0x20_nodes stl Clears STL red-black tree with 0x20-byte nodes. Recursively destroys right subtrees via CPacket__handle_unit_spawn_idle, walks left chain freeing 0x20-byte nodes. Resets sentinel pointers and size to 0. 0x00D9E300 115 STL_tree_clear_0x14_nodes stl Clears STL red-black tree with 0x14-byte nodes. Recursively destroys subtrees via CPacketManager__operation_00674400, walks left chain freeing 0x14-byte nodes. Resets sentinel pointers and size. 0x00D9E380 61 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00D9E3C0 47 STL_vector_push_back_0x14 stl STL vector push_back for 0x14-byte (20-byte) elements. Copies 5 dwords to back, grows vector via STL_vector_0x14_insert_grow if at capacity. 0x00D9E3F0 49 CLuaState__ctor lua CLuaState constructor. Sets vtable to PTR_FUN_011a4514, stores param_2 at offset 0x10, zeros lua_State pointer (offset 4) and other fields. 0x18 bytes total. 0x00D9E430 82 CLuaState__dtor lua CLuaState destructor. Sets vtable, closes lua_State via lua_close if non-null, zeros pointer. 0x00D9E490 103 CLuaState__scalar_deleting_dtor lua CLuaState scalar deleting destructor. Closes lua_State if present, frees 0x18 bytes if param_2 bit 0 set. 0x00D9E500 107 CGameMode__clamp_param_to_entity_max game_core Clamps a parameter value to entity's max. Finds entity by ID via CBGMManager, gets max from virtual method 0xB4, returns min of param_2 and that max. 0x00D9E570 28 CGameMode__close_lua_state game_core Closes Lua state. If param_1+4 has a valid lua_State, calls lua_close and zeroes the pointer. 0x00D9E590 255 CHomunculus__load_ai_lua_script game_core Loads AI Lua script. Closes existing lua state, creates new one, opens standard libs, registers AI functions, loads and executes the script. Shows MessageBox on error. 0x00D9E690 502 CHomunculus__tick_ai_update game_core AI tick update. Checks entity state, handles timed actions (0x30/0x38 commands). Calls Lua AI_M function every ~140ms with tick count. Shows error and closes lua state on failure. 0x00D9E890 538 CHomunculus__register_ai_lua_functions game_core Registers AI Lua callback functions: GetActors, Trace, GetTick, SkillGround, IsMonster, TraceAI, MoveToOwner, Move, GetMsg, GetResMsg, SkillObject, Attack (homunculus or mercenary variant), TraceValue. 0x00D9EAB0 57 CHomunculus__set_lua_enemy_target game_core Sets Lua enemy target variable (MyEnumy) for AI. Pushes target entity ID as number to Lua global. 0x00D9EAF0 432 lua_ai_attack_homunculus lua Lua AI Attack function for homunculus. Reads owner and target IDs from Lua stack, validates entities, checks if target is dead/riding/mounted, sends attack packet 0x233 with rate limiting. 0x00D9ECA0 354 lua_ai_attack_mercenary lua Lua AI Attack function for mercenary. Similar to homunculus version but uses mercenary-specific entity checks and rate limiting globals. 0x00D9EE10 220 lua_ai_get_actors lua Lua AI GetActors. Returns table of all visible entity IDs to Lua. Iterates entity linked list, pushes each entity's ID (field 0x110) as key-value pairs. Includes own character ID. 0x00D9EEF0 285 lua_ai_get_msg lua Lua AI GetMsg. Gets entity message data via virtual method 0xCC. Returns table with message type and params (varies by type: position, target, skill info). 0x00D9F0B0 413 lua_ai_get_res_msg lua Lua AI GetResMsg. Similar to GetMsg but uses virtual method 0xD4 for response messages. Returns table with message type and parameters. 0x00D9F270 55 lua_ai_get_tick lua Lua AI GetTick. Returns GetTickCount() as a double to Lua. 0x00D9F2B0 175 lua_ai_move_homunculus lua Lua AI Move function for homunculus. Reads entity ID, x, y from Lua stack, validates entity, sends move packet via CNetworkSession. 0x00D9F415 592 lua_get_skill_target_position lua Lua API: calculates target cell position for skill use. Takes skill ID and level from Lua stack, computes position using skill attack range, acos/cos/sin for direction, and pathfinding fallback. Returns (x, y) cell coordinates. 0x00D9F8E0 1573 lua_ai_move_mercenary lua Lua AI Move function for mercenary. Reads entity ID, x, y from Lua stack, validates entity, sends move packet via CNetworkSession. 0x00D9FF50 361 lua_ai_is_monster lua Lua AI IsMonster. Reads entity ID from Lua stack, checks if entity is a monster type. Returns boolean result to Lua. 0x00DA00D0 388 lua_ai_move_command lua Lua AI Move command. Reads entity ID and coordinates from Lua stack, sends movement command. 0x00DA0260 146 lua_ai_move_to_owner lua Lua AI MoveToOwner. Moves the AI-controlled entity to its owner's position. 0x00DA0300 285 lua_ai_skill_ground lua Lua AI SkillGround. Uses ground-targeted skill. Reads skill ID, level, x, y from Lua stack and sends skill packet. 0x00DA0420 521 lua_ai_skill_object lua Lua AI SkillObject. Uses target-directed skill. Reads skill ID, level, target ID from Lua stack and sends skill packet. 0x00DA0630 229 lua_ai_trace lua Lua AI Trace. Debug logging function. Reads string from Lua stack and outputs to debug trace. 0x00DA0720 1345 lua_ai_trace_ai lua Lua AI TraceAI. Extended debug trace for AI state. Logs AI behavior messages. 0x00DA0C70 274 lua_ai_trace_value lua Lua AI TraceValue. Debug function to trace variable values from Lua AI scripts. 0x00DA0D90 67 lua_ai_push_key_value_pair lua Lua AI helper. Pushes a key-value pair (both ints) to Lua table at top of stack. 0x00DA0DE0 115 CItemSprite__ctor_with_textures game_entity CItemSprite constructor with textures. Initializes from CSprite base, sets vtable to PTR_FUN_011a4750, loads texture and act resources. 0x00DA0E60 804 CEntityClone__ctor_from_entity game_entity CEntityClone constructor. Clones an entity's visual state - copies sex, job, head, equipment, position, name. Loads sprite resources. Used for preview/shadow rendering. 0x00DA1190 120 CEffectSprite__ctor effect CEffectSprite constructor. Initializes sprite base, sets vtable PTR_FUN_011a478c, marks as visible with single frame, stores timeGetTime. 0x00DA1210 84 CGroundItemSprite__ctor game_entity CGroundItemSprite constructor. Initializes from CSprite, sets vtable for ground item display. 0x00DA1270 508 CEntityPreview__ctor_from_entity game_entity CEntityPreview constructor from entity. Clones entity appearance including sex, job, equipment, position, head direction. Checks for alternate sprite resources. Sets identity/phantom flags. 0x00DA1470 814 CEntityPreview__ctor_extended game_entity CEntityPreview constructor extended variant. Similar to ctor_from_entity but with additional sprite initialization. 0x00DA17A0 843 CEntityPreview__ctor_full game_entity CEntityPreview full constructor. Most complete initialization variant with all entity fields. 0x00DA1AF0 435 CEntityPreview__ctor_with_name game_entity CEntityPreview constructor with name. Initializes entity preview including character name string. 0x00DA1CB0 94 CEntityPreview__ctor_simple game_entity CEntityPreview simple constructor. Minimal initialization variant. 0x00DA1D10 156 CEntityPreview__ctor_base game_entity CEntityPreview base constructor. Core initialization shared by all CEntityPreview constructors. 0x00DA1DB0 122 CEntityPreview__ctor_base_extended game_entity CEntityPreview base extended constructor variant. 0x00DA1E30 216 CEntityPreview__ctor_with_sprite game_entity CEntityPreview constructor with sprite. Initializes preview with pre-existing sprite data. 0x00DA1F10 71 CItemSprite__dtor_00da1f10 game_entity CItemSprite destructor. Resets vtable to PTR_FUN_011a4750, calls CSprite__dtor_base. 0x00DA1F60 71 CEntityClone__dtor game_entity CEntityClone destructor. Resets vtable to PTR_FUN_011a47c8, calls CSkillUnit__dtor. 0x00DA1FB0 71 CEffectSprite__dtor effect CEffectSprite destructor. Resets vtable to PTR_FUN_011a478c, calls CSprite base destructor. 0x00DA2000 132 CGroundItemSprite__dtor game_entity CGroundItemSprite destructor. Resets vtable, notifies game mode about removed ground item at position (fields 0x57, 0x58), calls CSprite__dtor. 0x00DA2090 71 CEntityPreview__dtor game_entity CEntityPreview destructor. Resets vtable, calls cleanup via FUN_00da2220. 0x00DA20E0 71 CEntityPreview__dtor_variant game_entity CEntityPreview destructor variant. Alternate cleanup path. 0x00DA2130 71 CEntityPreview__dtor_base game_entity CEntityPreview base destructor. Minimal cleanup. 0x00DA2180 71 CEntityPreview__dtor_extended game_entity CEntityPreview extended destructor. 0x00DA21D0 71 CEntityPreview__dtor_with_sprite game_entity CEntityPreview destructor with sprite cleanup. 0x00DA2220 146 CEntityPreview__dtor_cleanup game_entity CEntityPreview cleanup. Destroys STL strings and calls CSprite base destructor. 0x00DA22C0 71 CEntityPreview__dtor_full game_entity CEntityPreview full destructor. Complete cleanup of all fields. 0x00DA2310 95 CEntityPreview__dtor_with_sprite_string game_entity CEntityPreview destructor for the "with_sprite" variant. Sets vtable to PTR_011a4614 (matches ctor_with_sprite), destroys embedded STL string member, calls CSprite__dtor_base. 0x00DA2370 99 CItemSprite__scalar_deleting_dtor_00da2370 game_entity CItemSprite scalar deleting destructor. Calls dtor, optionally frees memory (0x138 bytes) if flag bit 0 is set. 0x00DA23E0 99 CEntityClone__scalar_deleting_dtor game_entity CEntityClone scalar deleting destructor. 0x00DA2450 99 CEffectSprite__scalar_deleting_dtor effect CEffectSprite scalar deleting destructor. 0x00DA24C0 156 CGroundItemSprite__scalar_deleting_dtor game_entity CGroundItemSprite scalar deleting destructor. Sets vtable to PTR_011a45d8 (matches CGroundItemSprite__ctor), notifies game mode of removed ground item at position fields 0x57/0x58, calls CSprite__dtor, frees 0x168 bytes if flag set. 0x00DA2560 99 CEffectElectric__scalar_deleting_dtor_mode0 effect Scalar deleting destructor for CEffectElectric mode 0 (effect modes < 4). Sets vtable to PTR_011a4ac8, calls CEntityPreview__dtor_cleanup, frees 0x458 bytes if bit 0 of param_2 is set. 0x00DA25D0 99 CEffectElectric__scalar_deleting_dtor_mode11 effect Scalar deleting destructor for CEffectElectric mode 11 (effect modes 0xB-0xE). Sets vtable to PTR_011a49c8, calls CSkillUnit__dtor, frees 0x518 bytes if bit 0 of param_2 is set. 0x00DA2640 99 CEffectElectric__scalar_deleting_dtor_mode20 effect Scalar deleting destructor for CEffectElectric mode 20 (effect modes 0x14-0x17). Sets vtable to PTR_011a48c8, calls CSkillUnit__dtor, frees 0x518 bytes if bit 0 of param_2 is set. 0x00DA26B0 99 CEntityPreview__scalar_deleting_dtor_with_name game_entity CEntityPreview scalar deleting destructor for the "with_name" variant. Sets vtable to PTR_011a4c40 (matches ctor_with_name), calls CEntityPreview__dtor_cleanup, frees 0x448 bytes if flag set. 0x00DA2720 99 CEntityPreview__scalar_deleting_dtor_simple game_entity CEntityPreview scalar deleting destructor for the "simple" variant. Sets vtable to PTR_011a4bc8 (matches ctor_simple), calls CSprite__dtor_base, frees 0x140 bytes if flag set. 0x00DA2790 38 CEntityPreview__scalar_deleting_dtor_base game_entity CEntityPreview scalar deleting destructor for the "base" variant. Sets vtable to PTR_011a4650 (matches ctor_base), calls CEntityPreview__dtor_cleanup, frees 0x440 bytes if flag set. 0x00DA27C0 99 CEntityPreview__scalar_deleting_dtor_base_extended game_entity CEntityPreview scalar deleting destructor for the "base_extended" variant. Sets vtable to PTR_011a4c04 (matches ctor_base_extended), calls CSprite__dtor_base, frees 0x140 bytes if flag set. 0x00DA2830 119 CEntityPreview__scalar_deleting_dtor_with_sprite game_entity CEntityPreview scalar deleting destructor for the "with_sprite" variant. Sets vtable to PTR_011a4614 (matches ctor_with_sprite), destroys STL string, calls CSprite__dtor_base, frees 0x170 bytes if flag set. 0x00DA28B0 566 CEntity__update_costume_headgear_effect game_entity Updates costume headgear visual effect on entity. Checks if entity's job has a costume headgear entry in the tree. If headgear ID changed, removes old effect and creates new one. Adds effect to entity's effect list at +0x3b0. Handles headgear IDs < 6 differently (offset 0x24 vs 0x36). 0x00DA2B00 51 CEntity__get_movement_delta game_entity Gets entity movement delta as (deltaX, deltaY). Computes difference between current position (+0x4ec,+0x4f0) and previous position (+0x4e4,+0x4e8). 0x00DA2BF0 53 CEntity__notify_renderer_position game_entity Notifies renderer of entity position. Gets render interface via get_field4_if_mode1, then calls virtual method at vtable+0x3c with entity's sprite coordinates from +0x15c and +0x160. 0x00DA2C80 67 CEntity__unregister_ui_windows game_entity Unregisters two UI windows from entity. Calls CUIWindowMgr__unregister_window for windows at offsets +0x42c and +0x430, then nulls the pointers. 0x00DA2D20 31 CEntity__start_animation_timer game_entity Starts entity animation timer. Sets flag at +0xa0 to 1, clears +0xa4, and records current timeGetTime() at +0x8c. 0x00DA2D40 41 CEntity__reset_and_start_animation game_entity Resets and starts entity animation. Sets +0xa0=1, +0x9c=1, clears +0x138 (animation state), records timeGetTime() at +0x8c. 0x00DA2D80 31 CEntity__start_animation_timer_00da2d80 game_entity Starts entity animation timer variant. Sets +0xa0=1, clears +0xa4, records timeGetTime() at +0x8c. Identical to 00da2d20. 0x00DA2DA0 31 CEntity__start_animation_timer_00da2da0 game_entity Starts entity animation timer variant. Sets +0xa0=1, clears +0xa4, records timeGetTime() at +0x8c. Identical to 00da2d20. 0x00DA2DC0 31 CEntity__start_animation_timer_00da2dc0 game_entity Starts entity animation timer variant. Sets +0xa0=1, clears +0xa4, records timeGetTime() at +0x8c. Identical to 00da2d20. 0x00DA2DE0 31 CEntity__start_animation_timer_00da2de0 game_entity Starts entity animation timer variant. Sets +0xa0=1, clears +0xa4, records timeGetTime() at +0x8c. Identical to 00da2d20. 0x00DA2E10 77 CEntity__init_ui_and_headgear_state game_entity Initializes entity UI and headgear state. Clears UI window pointers (+0x42c, +0x430), resets timer state (+0x420), records timeGetTime at +0x424, clears headgear effect pointer (+0x434), sets headgear ID to 9999 (none). 0x00DA2E90 102 CEntity__init_sprite_display_params game_entity Initializes entity sprite display parameters. Sets height to 100.0f (+0x150), scale to 1.0f (+0x15c), dimensions to 3x3 (+0x154/0x158), computes sqrt(18.0) for diagonal (+0x160), and sets timestamp to 4 seconds ago (+0x164). 0x00DA2F00 146 CEntity__update_animation_frame game_entity Updates animation frame based on elapsed time. Calculates frame progress from timeGetTime delta, gets frame count from sprite, sets current frame index modulo total frames, plays animation sounds. Returns true if animation cycle is complete. 0x00DA2FA0 99 CEntity__check_map_flags_and_advance_timer game_entity Checks map flags and advances entity timer. Looks up entity's map by ID, checks flag 0x10 in map data. If set, applies flag 0x10 to entity and sets value 0x2d at +0xf0. Then checks if animation counter exceeds threshold to advance state. 0x00DA3010 152 CEntity__update_death_fadeout_animation game_entity Updates death fadeout animation. Calculates elapsed time, gets virtual frame offset, sets last frame. Applies fading alpha (decreasing over time) via CEntity__set_color_rgba_direct. Returns true while animation is still playing. 0x00DA30B0 246 CEntity__update_jump_animation game_entity Updates entity jump animation. Calculates parabolic jump height from elapsed time. In first half, applies upward arc; in second half, applies downward arc with position offset. Uses renderer virtual call at vtable+0x3c for position updates. Returns 0 when jump duration exceeded. 0x00DA31B0 125 CEntity__update_hit_stun_timer game_entity Updates hit stun timer for entity. Increments counter at +0x454. At count 0x6e, creates skill effect 0x319. After count 0x69, periodically (every 4th tick) subtracts animation threshold from timer at +0x98. Returns true if timer >= threshold at +0x444. 0x00DA3240 105 CEntity__check_map_flags_and_advance_counter game_entity Checks map flags and advances entity movement counter. Similar to check_map_flags_and_advance_timer but increments counter at +0x50c. Checks map flag 0x10 for special movement type. Returns true if timer >= threshold at +0x4fc. 0x00DA32B0 125 CEntity__update_hit_stun_with_counter game_entity Updates hit stun with movement counter at +0x50c. At count 0x6e, creates skill effect 0x319. After count 0x69, periodically subtracts threshold. Returns true if timer >= threshold at +0x4fc. 0x00DA3360 1255 CEntity__update_idle_state_main game_entity Main idle state update for entities. Handles fade alpha, special job types (0x2d/0x8b skip, 0x68 homunculus periodic effects, 0x6f mercenary). Manages AI scripts (AI.lua / USER_AI), copies AI scripts on first use if custom AI enabled. Updates HP bar, costume headgear effects, overhead UI positions, and entity color based on state flags. 0x00DA3980 220 CEntity__update_skill_cast_animation game_entity Updates skill casting animation. Calculates Y offset based on elapsed time, applies fading alpha. Handles scale adjustment with clamping to 1.0f minimum. Returns true while animation duration is within bounds. 0x00DA3A60 588 CEntity__update_approaching_target game_entity Updates entity approaching a target. Calculates distance to camera target, computes movement direction, adjusts speed based on X/Y ratio. When close enough and timer interval elapsed, calls CAntiCheat__full_sweep with position delta for server-side validation. 0x00DA3CB0 34 CEntity__apply_state_color_override game_entity Applies color override based on entity state type. For states 7-10, 13-14 (dead/sitting variants), checks game option 0x10a and applies either fixed alpha 0x3a or entity's stored alpha. Uses entity RGBA values at +0x98-0x9b. 0x00DA3DF0 228 CEntity__update_overhead_ui_and_hp_bar game_entity Updates overhead UI window positions and HP bar. Positions two UI windows (+0x42c, +0x430) relative to entity's screen Y coordinate, applying camera-based scaling. Then calls CEntity__update_hp_bar_display. 0x00DA3EE0 105 CEntity__trigger_periodic_skill_effect game_entity Triggers periodic skill visual effect for entity. Checks if interval (+0x294 seconds) has elapsed since last trigger (+0x424). When interval expires, resets timer and creates skill effect using ID at +0x174. 0x00DA3F50 114 CEntity__send_click_position_to_server game_entity Sends entity's clicked position to server. Converts world coordinates (+0x10, +0x18) to cell coordinates via FUN_00cd5230. Skips sending for job IDs 0x2d (warp portal), 0x6f (mercenary), 0x8b. Calls server command 0xc with entity ID and cell coords. 0x00DA3FD0 304 CEntity__render_ground_skill_unit game_entity Renders a ground-placed skill unit entity. Checks 3 visibility conditions (FUN_00df9880/99d0/9710). If visible and active, renders shadow (except for states 6/3), then renders as restricted sprite, skill effect with temp maps, or full sprite depending on flags. 0x00DA4100 65 CEntity__render_simple_with_shadow game_entity Simple render function that draws shadow and full sprite. Only renders if entity is visible (+0xa0 != 0). Renders shadow with scale from +0x50, then full sprite with animation state from +0x138. 0x00DA4160 346 CEntity__render_npc_or_monster game_entity Renders NPC or monster entity. Checks visibility, handles special job ID range 0x1781-0x179e (multi-layer skill sprites) differently with alpha check. For normal monsters/NPCs, renders shadow (except states 6/3) and sprite with monster/NPC flag from is_monster_or_npc_job_id. 0x00DA42C0 126 CEntity__render_skill_effect_unit game_entity Renders a skill effect unit entity. Checks 3 visibility conditions, then if entity is visible and has sprite flag, renders via CSkillEffect__render_with_temp_maps. Otherwise falls back to screen position update only. 0x00DA4340 368 CEntity__render_ground_skill_unit_with_map_check game_entity Renders ground skill unit with map flag check. Like render_ground_skill_unit but first checks map flags via CBGMManager for flag 0x10. Same visibility/rendering logic with restricted sprites and skill effects. 0x00DA44B0 25 CEntity__render_sprite_full_wrapper game_entity Simple wrapper that calls CEntity__render_sprite_full with param, flag=1, extra=0. 0x00DA44D0 515 CEntity__render_entity_by_job_type game_entity Renders entity based on job type. Handles warp portal (0x2d) with world-to-screen projection and shadow, mercenary (0x6f) with dimension-based bounds, homunculus/elemental (0x68/0x8b) as no-render. Default handles monster/NPC with death state check (0xb8), multi-layer skill sprites (0x1781-0x179e), and normal sprites. 0x00DA4970 138 CEntity__handle_spawn_action game_entity Handles entity spawn action (type 0xe, subtype 0). Sets position from param_5, marks visible, sets color based on param_7/param_8 (red tint for nonzero), records timestamp. Otherwise delegates to null_stub_00cbf920. 0x00DA4A00 89 CSkillUnit__dispatch_action_with_table game_entity Dispatches skill unit actions via jump table. For param_3==0 and param_2 < 4, uses jump table at DAT_00da4ac0. Otherwise delegates to CSkillUnit__dispatch_action. 0x00DA4B10 213 CEntity__handle_spawn_invisible game_entity Handles entity spawn as initially invisible (type 0xe, subtype 0). Sets position, marks invisible (+0xa0=0), records timestamp, sets duration to 30 (+0x158=0x1e). Converts world coords to cell coords and halves them for +0x15c/+0x160. Otherwise delegates to CEntity__dispatch_action_by_type. 0x00DA4BF0 89 CEntity__dispatch_action_with_table game_entity Dispatches entity actions via jump table. For param_3==0 and param_2 < 4, uses jump table at DAT_00da4cb0. Otherwise delegates to FUN_00da4ef0 (entity action dispatch). 0x00DA4EF0 1774 CEntity__handle_entity_action_dispatch game_entity Main entity action dispatcher. For action type 4 (spawn entity data), calls CEntity__process_action_table_entry, handles state-dependent body sprite assignment, sets visibility via FUN_00dfbe10, and calls virtual method 0xc4. For action type 0x22, creates overhead UI widgets (multi-column or themed) based on entity state (7-14), sizes/positions them relative to entity screen coords. Otherwise delegates to process_action_table_entry. 0x00DA5610 194 CEntity__handle_skill_cast_spawn game_entity Handles skill cast spawn action (type 0xe, subtype 0). Sets position from param_5, adjusts Y by subtracting DAT_010e9954, marks visible, clamps animation frame 0-9, stores scale as 5.0f. Ignores type 0x16 silently. Otherwise delegates to null_stub. 0x00DA56E0 281 CEntity__handle_approaching_target_spawn game_entity Handles approaching target spawn action (type 0xe, subtype 0). Copies string from param_5+0x50, loads position/dimensions/scale from param_5 offsets, computes diagonal distance from width/height, allocates timer value. Otherwise delegates to null_stub. 0x00DA5800 16 CEntity__set_field_4e0 game_entity Sets byte field at +0x4e0 on entity. 0x00DA5810 16 CEntity__set_field_4dc game_entity Sets dword field at +0x4dc on entity. 0x00DA5820 124 CEntity__load_sprite_resources game_entity Loads sprite and act resources for entity. Calls FUN_00cc2340 for sprite loading, FUN_00cc2da0 for act loading. Clears field +0x48, checks if job ID has override name via ret_zero_00dfa150 and if so copies name string. 0x00DA58A0 271 CEntity__load_body_sprite_by_job_id game_entity Loads body sprite by job ID. Sets +0x10c to job ID if NPC or default monster. Gets scale from FUN_00de0a70. Formats sprite/act paths based on entity type: NPC, skill unit (0x1781-0x179e), homunculus (0x1771-0x17a4), or default monster. Loads both .spr and .act files. 0x00DA59B0 261 CEntity__set_entity_state game_entity Main entity state setter. Handles all state transitions by job type. Warp portals (0x2d) set bounding box and create warp effect. Homunculus (0x68) adjusts Y position. Mercenary (0x6f) doubles dimensions. Default entities handle states: 0=idle with sitting check, 1=walking, 2=attacking with random variants, 3=dead, 4=skill use, 7=special states, 10=petrify. Updates animation frame offset and records timestamp. 0x00DA6270 16 CEntity__set_vtable_011a4f04 game_entity Sets vtable pointer to PTR_FUN_011a4f04. 0x00DA6280 16 CEntity__set_vtable_011a4f20 game_entity Sets vtable pointer to PTR_FUN_011a4f20. 0x00DA6290 16 CEntity__set_vtable_011a4f3c game_entity Sets vtable pointer to PTR_FUN_011a4f3c. 0x00DA62A0 16 CEntity__set_vtable_011a4f58 game_entity Sets vtable pointer to PTR_FUN_011a4f58. 0x00DA62B0 16 CEntity__set_vtable_011a4f74 game_entity Sets vtable pointer to PTR_FUN_011a4f74. 0x00DA62C0 16 CEntity__set_vtable_011a4f90 game_entity Sets vtable pointer to PTR_FUN_011a4f90. 0x00DA62D0 16 CEntity__set_vtable_011a4fac game_entity Sets vtable pointer to PTR_FUN_011a4fac. 0x00DA62E0 22 CEntity__init_vtable_011a4fc8_with_field game_entity Initializes object with vtable PTR_FUN_011a4fc8 and copies field +4 from this to param_2[1]. 0x00DA6300 22 CEntity__init_vtable_011a4fe4_with_field game_entity Initializes object with vtable PTR_FUN_011a4fe4 and copies field +4 from this to param_2[1]. 0x00DA6320 22 CEntity__init_vtable_011a5000_with_field game_entity Initializes object with vtable PTR_FUN_011a5000 and copies field +4 from this to param_2[1]. 0x00DA6340 16 CEntity__set_vtable_011a4e08 game_entity Sets vtable pointer to PTR_FUN_011a4e08. 0x00DA6350 22 CEntity__init_vtable_011a501c_with_field game_entity Initializes object with vtable PTR_FUN_011a501c and copies field +4 from this to param_2[1]. 0x00DA6370 16 CEntity__set_vtable_011a4e24 game_entity Sets vtable pointer to PTR_FUN_011a4e24. 0x00DA6380 16 CEntity__set_vtable_011a4e40 game_entity Sets vtable pointer to PTR_FUN_011a4e40. 0x00DA6390 16 CEntity__set_vtable_011a4e5c game_entity Sets vtable pointer to PTR_FUN_011a4e5c. 0x00DA63A0 16 CEntity__set_vtable_011a4e78 game_entity Sets vtable pointer to PTR_FUN_011a4e78. 0x00DA63B0 16 CEntity__set_vtable_011a4e94 game_entity Sets vtable pointer to PTR_FUN_011a4e94. 0x00DA63C0 16 CEntity__set_vtable_011a4eb0 game_entity Sets vtable pointer to PTR_FUN_011a4eb0. 0x00DA63D0 16 CEntity__set_vtable_011a4ecc game_entity Sets vtable pointer to PTR_FUN_011a4ecc. 0x00DA63E0 16 CEntity__set_vtable_011a4ee8 game_entity Sets vtable pointer to PTR_FUN_011a4ee8. 0x00DA63F0 68 CEntityState__scalar_deleting_dtor_00da63f0 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA6440 68 CEntityState__scalar_deleting_dtor_00da6440 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA6490 68 CEntityState__scalar_deleting_dtor_00da6490 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA64E0 68 CEntityState__scalar_deleting_dtor_00da64e0 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA6530 68 CEntityState__scalar_deleting_dtor_00da6530 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA6580 68 CEntityState__scalar_deleting_dtor_00da6580 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA65D0 68 CEntityState__scalar_deleting_dtor_00da65d0 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA6620 68 CEntityState__scalar_deleting_dtor_00da6620 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA6670 68 CEntityState__scalar_deleting_dtor_00da6670 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA66C0 68 CEntityState__scalar_deleting_dtor_00da66c0 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA6710 68 CEntityState__scalar_deleting_dtor_00da6710 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA6760 68 CEntityState__scalar_deleting_dtor_00da6760 game_entity Scalar deleting destructor for entity state object (8 bytes). Frees memory if param_2 flag bit 0 is set. 0x00DA67B0 68 CEntityState__scalar_deleting_dtor_00da67b0 game_entity CEntityState scalar deleting destructor. Deletes 8-byte entity state object if flag is set. Referenced from CEntity vtable at 011a4e34. 0x00DA6800 68 CEntityState__scalar_deleting_dtor_00da6800 game_entity CEntityState scalar deleting destructor. Deletes 8-byte entity state object if flag is set. 0x00DA6850 68 CEntityState__scalar_deleting_dtor_00da6850 game_entity CEntityState scalar deleting destructor. Deletes 8-byte entity state object if flag is set. 0x00DA68A0 68 CEntityState__scalar_deleting_dtor_00da68a0 game_entity CEntityState scalar deleting destructor. Deletes 8-byte entity state object if flag is set. 0x00DA68F0 68 CEntityState__scalar_deleting_dtor_00da68f0 game_entity CEntityState scalar deleting destructor. Deletes 8-byte entity state object if flag is set. 0x00DA6940 68 CEntityState__scalar_deleting_dtor_00da6940 game_entity CEntityState scalar deleting destructor. Deletes 8-byte entity state object if flag is set. 0x00DA6990 68 CEntityState__scalar_deleting_dtor_00da6990 game_entity CEntityState scalar deleting destructor. Deletes 8-byte entity state object if flag is set. 0x00DA69E0 68 CEntityState__scalar_deleting_dtor_00da69e0 game_entity CEntityState scalar deleting destructor. Deletes 8-byte entity state object if flag is set. 0x00DA6CF0 16 CEntity__set_vtable_011a4f04_00da6cf0 game_entity CEntity vtable setter. Sets vtable pointer to 011a4f04. Duplicate of CEntity__set_vtable_011a4f04 for alternate inheritance path. 0x00DA6D00 16 CEntity__set_vtable_011a4f20_00da6d00 game_entity CEntity vtable setter. Sets vtable pointer to 011a4f20. 0x00DA6D10 16 CEntity__set_vtable_011a4f3c_00da6d10 game_entity CEntity vtable setter. Sets vtable pointer to 011a4f3c. 0x00DA6D20 16 CEntity__set_vtable_011a4f58_00da6d20 game_entity CEntity vtable setter. Sets vtable pointer to 011a4f58. 0x00DA6D30 16 CEntity__set_vtable_011a4f74_00da6d30 game_entity CEntity vtable setter. Sets vtable pointer to 011a4f74. 0x00DA6D40 16 CEntity__set_vtable_011a4f90_00da6d40 game_entity CEntity vtable setter. Sets vtable pointer to 011a4f90. 0x00DA6D50 16 CEntity__set_vtable_011a4fac_00da6d50 game_entity CEntity vtable setter. Sets vtable pointer to 011a4fac. 0x00DA6D60 22 CEntity__init_vtable_011a4fc8_with_field_00da6d60 game_entity CEntity vtable init with field copy. Sets vtable to 011a4fc8 and copies field from this+4. 0x00DA6D80 22 CEntity__init_vtable_011a4fe4_with_field_00da6d80 game_entity CEntity vtable init with field copy. Sets vtable to 011a4fe4 and copies field from this+4. 0x00DA6DA0 22 CEntity__init_vtable_011a5000_with_field_00da6da0 game_entity CEntity vtable init with field copy. Sets vtable to 011a5000 and copies field from this+4. 0x00DA6DC0 16 CEntity__set_vtable_011a4e08_00da6dc0 game_entity CEntity vtable setter. Sets vtable pointer to 011a4e08. 0x00DA6DD0 22 CEntity__init_vtable_011a501c_with_field_00da6dd0 game_entity CEntity vtable init with field copy. Sets vtable to 011a501c and copies field from this+4. 0x00DA6DF0 16 CEntity__set_vtable_011a4e24_00da6df0 game_entity CEntity vtable setter. Sets vtable pointer to 011a4e24. 0x00DA6E00 16 CEntity__set_vtable_011a4e40_00da6e00 game_entity CEntity vtable setter. Sets vtable pointer to 011a4e40. 0x00DA6E10 16 CEntity__set_vtable_011a4e5c_00da6e10 game_entity CEntity vtable setter. Sets vtable pointer to 011a4e5c. 0x00DA6E20 16 CEntity__set_vtable_011a4e78_00da6e20 game_entity CEntity vtable setter. Sets vtable pointer to 011a4e78. 0x00DA6E30 16 CEntity__set_vtable_011a4e94_00da6e30 game_entity CEntity vtable setter. Sets vtable pointer to 011a4e94. 0x00DA6E40 16 vtable_init_00da6e40 effect Sets vftable pointer on object (PTR_FUN_011a4eb0). 0x00DA6E50 16 vtable_init_00da6e50 effect Sets vftable pointer on object (PTR_FUN_011a4ecc). 0x00DA6E60 16 vtable_init_00da6e60 effect Sets vftable pointer on object (PTR_FUN_011a4ee8). 0x00DA6FB0 34 memcpy_range_raw stl Copies a raw byte range [param_1, param_2) to param_3 via memcpy. Returns pointer past end of copied data. 0x00DA6FE0 34 memcpy_range_raw_00da6fe0 stl Copies a raw byte range [param_1, param_2) to param_3 via memcpy. Returns pointer past end of copied data. Duplicate of memcpy_range_raw. 0x00DA7010 103 std__tree_destroy_recursive_1c stl Recursively destroys all nodes (0x1c bytes each) of an STL red-black tree. Traverses right subtree recursively, then follows left child links, freeing each node. 0x00DA7080 410 std__vector_int_reallocate_and_fill stl std::vector reallocate and fill. Grows the vector to hold param_2 elements, copies existing data, fills new slots with param_3. Uses 1.5x growth factor. Aligned allocation for large buffers. 0x00DA7220 410 std__vector_int_reallocate_and_fill_00da7220 stl std::vector reallocate and fill (variant). Grows the vector to hold param_2 elements, copies existing data, fills new slots with param_3. Uses 1.5x growth factor. 0x00DA73C0 828 CSkillEffect__ctor effect CSkillEffect constructor. Very large object (>0x2500 dwords). Initializes vtable (PTR_FUN_011a513c), two STL strings at offsets 0x410/0x460, arrays for 30-element effect slots, timed sprite vector (4900 entries). Calls FUN_00ca83a0 for base init and stub_00571660 for sprite creation. 0x00DA7700 776 CSkillUnit__ctor game_entity CSkillUnit constructor. Initializes vtable (PTR_FUN_011a503c), two STL strings, a red-black tree (0x1c-byte nodes), two vectors of 9 int elements each, and various state fields. Represents a ground-placed skill unit (traps, AoE effects). 0x00DA7A10 111 std__tree_destroy_all_nodes_1c stl Destroys all nodes of an STL red-black tree with 0x1c-byte nodes. Iterates from the root's left child, recursively destroying subtrees and freeing nodes, then frees the sentinel node. 0x00DA7A90 65 seh_tree_destroy_1c_wrapper game_core SEH wrapper that calls std__tree_destroy_all_nodes_1c to destroy a red-black tree with 0x1c-byte nodes. 0x00DA7AE0 181 CSkillEffect__dtor effect CSkillEffect destructor. Sets vtable to PTR_FUN_011a513c, calls FUN_00daa2e0 cleanup, unregisters UI window at offset 0x478, releases sprite at offset 0x2554 via virtual dtor, destroys CEffectGround, two STL strings, and base class via FUN_00ca8d70. 0x00DA7BA0 253 CSkillUnit__dtor game_entity CSkillUnit destructor. Sets vtable to PTR_FUN_011a503c, releases 9 resource refs from two arrays (offsets 0x4b4 and 0x4c0), unregisters UI window at offset 0x490, destroys two stub containers, tree, two STL strings, and base class. 0x00DA7CA0 128 skill_map_container_dtor game_core Destructor for a container holding three STL map trees. Destroys them in reverse construction order. 0x00DA7D20 205 CSkillEffect__scalar_deleting_dtor_00da7d20 effect CSkillEffect scalar deleting destructor. Calls CSkillEffect__dtor then optionally frees 0x25a8 bytes of memory if param_2 bit 0 is set. 0x00DA7DF0 284 CSkillUnit__scalar_deleting_dtor game_entity CSkillUnit scalar deleting destructor. Calls CSkillUnit__dtor then optionally frees 0x4f8 bytes of memory if param_2 bit 0 is set. 0x00DA7F10 170 CSkillUnit__push_back_effect_id game_entity Adds an effect ID to the skill unit's linked list at offset 0x3b0. Allocates a 0xc-byte list node and inserts before the sentinel. Throws if list reaches 0x15555555 elements. 0x00DA7FC0 73 CSkillUnit__calc_anim_speed game_entity Calculates animation speed for the skill unit. For skill IDs > 0x69, maps through FUN_00e19530. If skill is not 0xb (Sanctuary) and param_2 exceeds a global cap, clamps to the cap. Returns param_2 / global_divisor as float. 0x00DA8010 363 CSkillUnit__update_sprite_offset game_entity Updates the skill unit's sprite rendering offset. Gets the skill tree node and detail entry, loads a resource, then computes relative sprite offsets (x,y) based on difference between two tree node positions. Stores results at offsets 0x4e4 and 0x4e8. 0x00DA8180 89 CSkillUnit__render_with_params game_entity Renders the skill unit by calling FUN_00cc2da0 with param_2, then dispatches to virtual method at vtable+0x4c with numerous rendering parameters from the object's fields (position, scale, color, etc.). 0x00DA8230 255 apply_skill_effect_scale_offset game_core Applies scale offsets to skill effect rendering based on part type (2=body, 3=head, 4=accessory). Adjusts x/y coordinates stored at param_2+0x10/0x14 using global offset constants. Different offsets are used based on a resolution/DPI threshold check. 0x00DA8330 1432 CSkillUnit__render_body_sprite game_entity Renders the body sprite for a CSkillUnit. Checks rendering flags, gets sprite/palette resources based on job ID, loads action/sprite data, iterates through sprite frames, applies rendering offsets, color adjustments (opacity for flag 0x130), and submits to the render pipeline via FUN_00cb39a0 or FUN_00cb3f40. 0x00DA88D0 943 CSkillUnit__render_body_sprite_shadow game_entity Renders the body sprite with shadow/overlay effects. Similar to CSkillUnit__render_body_sprite but uses different rendering mode (action type 3/dead or 0x5f+). Handles action overrides for special states, costume garment sprites (redirects to alternate resource at +0x510 offset), and submits with render mode 0x101. 0x00DA8C80 749 CSkillUnit__render_garment_sprite game_entity Renders the garment sprite for a CSkillUnit. Similar to render_body_sprite_shadow but uses render mode 5, checks for second resource vector (offset 0x130), and handles garment-specific rendering. Null-checks DAT_01389638 before proceeding. 0x00DA8F70 360 CEntity__lua_draw_on_top_check game_entity Calls Lua DrawOnTop/New_DrawOnTop function to determine if entity should be drawn on top. Passes entity job ID (with costume override check), animation frames, sprite index, and other state. Two code paths: new style (DAT_0173353c set) includes effective job ID parameter, old style uses basic draw format. Returns boolean from Lua result. 0x00DA90E0 597 CEntity__get_doram_action_override game_entity Gets a Doram race action override for specific action/direction combinations. For actions 0x58-0x5f with directions 3-5, remaps the direction based on the action range and a left/right hand state flag at offset 0x260. Only applies to Doram-related job IDs (0xfce, 0xfcf, 0xfd0, 0x1081, etc.). 0x00DA9410 405 CEntity__apply_body_part_offset game_entity Applies position offsets to body part rendering based on part type (1-5) and skill/item IDs. Uses Lua callback 'OffsetItemPos_GetUppingBottomIte...' to get custom offsets. Different offset constants per skill ID (0x411, 0x4d3, 0x526, 0x54a, 0x54e, 0x553, 0x5c6, 0x5cd, 0x5d0, 0x5db, 0x62e). Resolution-dependent offsets via DAT_0135f44c threshold. 0x00DA99A0 2368 CEntity__apply_render_effects game_entity CEntity: apply render effects 0x00DAA2E0 216 CSkillEffect__release_all_sprites effect Releases all sprites/resources held by CSkillEffect. Zeroes 20 entries at offset 0x1050, then iterates through two arrays of 30 entries each freeing 0x28 and 0x20 byte blocks via stub_005692f0, plus 10 more groups of 30 entries. Sets flag at 0x2550 to 0. 0x00DAA3C0 37 CSkillUnit__get_resource_name game_entity Gets the resource name string for a given index from the skill unit's resource vector at offset 0x4c0. Returns pointer to the resource name or a default empty string at DAT_010d4ee8. 0x00DAA3F0 303 CSkillUnit__get_all_resource_names game_entity Builds a vector of 9 STL string resource names from the skill unit's resource array at offset 0x4c0. Allocates 0xd8 bytes (9 x 0x18-byte STL strings), populates each by looking up the resource name or defaulting to empty string. 0x00DAA520 40 CSkillUnit__get_resource_at_index game_entity Returns the resource pointer at the given index from the vector at offset 0x4c0. Bounds-checks against vector size, returns 0 if out of range. 0x00DAA550 152 CEntity__get_action_index game_entity Gets the current action index for the entity. Has several modes based on flags at offsets 0xd8, 0xd4, 0xdc, 0xc8: if in special state (0xd8), returns byte at 0xbb or offset byte; if in riding state (0xdc or 0xc8), returns byte at 0xc3 or 0xb5; otherwise calls virtual method 0xdc and either get_body_part_offset_for_action or FUN_00daad80. 0x00DAA5F0 20 is_param_one game_core Simple predicate: returns 1 if param_1 equals 1, otherwise returns 0. 0x00DAA620 249 CEntity__load_body_resource game_entity Loads the body sprite resource for the entity based on job ID. Maps job IDs to body type codes (1-6, 0x60, 0x64, 0x113 for various classes/races), builds a path string via FUN_00dde340, and loads the resource via CResourceMgr. Job ID mapping covers all standard RO classes plus Doram, Star Emperor, Soul Reaper, etc. 0x00DAA890 245 CEntity__load_head_resource game_entity Loads the head sprite resource for the entity. Same job-to-body-type mapping as CEntity__load_body_resource but uses FUN_00dde6b0 for the head path instead of FUN_00dde340. Loads and returns the resource via CResourceMgr. 0x00DAAB00 150 calc_direction_from_delta game_core Calculates the RO 8-direction index from coordinate deltas. Uses two switch tables based on (param_4 - param_3) modulo and (8 - param_2) to return a direction 0-8, or calls CSkillTreeData__find_entry_index for cases 0/1. 0x00DAABF0 116 CEntity__update_action_frame game_entity Updates the entity's current action frame. Checks various state flags (0xd8, 0xdc, 0xc8) and gets the action index either from get_body_part_offset_for_action or CEntity__get_action_count_for_job. Then updates the frame via virtual method 0x10 and gets the tree node count. 0x00DAAC70 271 CEntity__get_sprite_y_offset game_entity Gets the Y-axis sprite rendering offset by comparing the entity's sprite resource tree nodes. Loads the resource by string path, gets two tree node entries, and returns the difference in their Y-coordinates (field+4). Returns 0 if any lookup fails. 0x00DAAD80 213 CEntity__get_action_count_for_job game_entity Returns the action count/offset for the current entity's job class. Maps job IDs to sprite action counts: 0x20 for Alchemist/Sage/Doram classes, 0x10 for case 6, 0x28 for Star Emperor (0x107a-d/0x10d4) in case 8, 0x60 for most others in case 8, 0x50 for Star Emperor/Soul Reaper group, 0x60 default. Used for animation frame selection. 0x00DAAFE0 37 CEntity__get_head_resource_name game_entity Gets the head resource name string for a given index from the entity's head resource vector at offset 0x4b4. Returns pointer to the resource name or a default empty string. 0x00DAB010 303 CEntity__get_all_head_resource_names game_entity Builds a vector of 9 STL string head resource names from the entity's head resource array at offset 0x4b4. Same pattern as CSkillUnit__get_all_resource_names but for head sprites. 0x00DAB140 19 CEntity__get_head_resource_ptr game_entity Returns the head resource pointer at the given index from offset 0x4b4 vector. No bounds check. 0x00DAB170 159 CEntity__lua_is_top_layer game_entity Calls Lua function 'IsTopLayer' with the entity's skill ID (offset 0x49c) to determine if this entity renders on top. Returns the Lua result as a bool. 0x00DAB210 58 CEntity__has_alternate_body_sprite game_entity Checks if the entity has an alternate body sprite. Returns true if the entity has a positive value from virtual method 0xdc, or if the job doesn't match FUN_00e3d350 but has a costume garment. 0x00DAB250 108 CEntity__is_in_special_state game_entity Checks if the entity is in any special state: FUN_00df98e0 (frozen?), FUN_00df99a0 (stone?), FUN_00df9a30, FUN_00df9870, FUN_00df9900, or field 0x3dc==1. Returns 1 if any check passes. 0x00DAB2C0 329 CEntity__lua_check_riding_layer_priority game_entity Checks riding state via Lua for layer priority. For action types 0, 8, 0x10, 0x40, calls 'IsIgnoredRidingState' and 'TB_Layer_Priority' Lua functions. Only applies when entity is not the current player (param_4==0 && param_2 != self). 0x00DAB460 575 calc_dual_wield_render_priority game_core Calculates render priority for dual-wielded items. Returns priority codes (0-6, 0x19-0x1e) based on item ID ranges: 1100-1149/13400-13499/500000-509999 (one-handed swords), 1200-1249/13000-13099/29000-29219/510000-519999 (two-handed weapons), 1300-1349/520000-529999 (daggers). Priority varies based on which hand holds which weapon type. 0x00DAB6A0 32 is_action_in_extended_range game_core Returns 1 if the action ID is in the extended range (0x28-0x5f exclusive of 0x20-0x27), indicating a non-standard body animation. Returns 0 otherwise. 0x00DAB6C0 52 CSkillEffect__unregister_window_and_sprite effect Unregisters the CSkillEffect's UI window at offset 0x478 and destroys the timed sprite at offset 0x2554 by calling its virtual destructor. 0x00DAB700 36 CSkillUnit__unregister_window game_entity Unregisters the CSkillUnit's UI window at offset 0x490 and zeroes the handle. 0x00DAB730 280 CSkillEffect__reset_and_init_sprites effect Resets and reinitializes the CSkillEffect's state. Clears UI window, damage, position, and state fields, recreates the timed sprite via stub_00571660 (0x23x0x23, 1 frame), and resizes the particle vector to 4900 entries. 0x00DAB88B 1 CRT_stub_00dab88b crt Crt stub 00dab88b, small utility function 0x00DAB951 1 CRT_stub_00dab951 crt Crt stub 00dab951, small utility function 0x00DAB980 594 CSkillEffect__update_per_frame effect Per-frame update for CSkillEffect. Calls idle effects, damage queue, overhead UI position updates. Updates HP bar display, handles hit flash timer (100ms), color adjustment, animation sounds. Also handles anti-cheat sweep for special state (0x60 flag) and smoothly interpolates the facing direction (stored at 0xf30) towards target (modulo 360). 0x00DABBE0 566 CSkillUnit__update_per_frame game_entity Per-frame update for CSkillUnit. Handles idle effects, damage queue, overhead UI, HP bar, hit flash, color adjustment, animation sounds, anti-cheat sweep. Also manages visual effect creation/destruction: if virtual method 0xdc returns >0 and no effect exists, creates one via FUN_00cda580 with type 0x2c; if entity enters special state (frozen/stone), destroys the effect. 0x00DABE20 301 CSkillEffect__update_granny_animation effect Updates Granny 3D animation state. Gets system time via GrannyGetSystemSeconds, calculates elapsed time, advances the animation timer at offset 0xf24. For continuing animations, checks if the current control is complete (GrannyGetControlDurationLeft) and transitions to next. Calls CGrannyModel__SampleAndBuildPose to update the pose. 0x00DABF50 105 CSkillEffect__update_overhead_ui effect Updates overhead UI position for CSkillEffect. Repositions the window at offset 0x478 based on entity Y position, screen height, and scale factor. 0x00DABFC0 105 CSkillUnit__update_overhead_ui game_entity Updates overhead UI position for CSkillUnit. Same as CSkillEffect version but uses window at offset 0x490. 0x00DAC030 67 CSkillEffect__check_granny_anim_complete effect Checks if the Granny animation is complete. If state (offset 0x70) is 2 (playing), checks remaining duration; if complete (< threshold), sets done flag at 0x9d. If state != 2, always marks as done. 0x00DAC080 107 CSkillEffect__process_state_machine effect CSkillEffect state machine processor. Handles states: 2=sitting(update+check anim), 3=dead(clear flags), 6=idle, 7=walking(update), 8=skill casting(update+check periodic effect every 0x22 frames). Default: movement+actions. On animation complete (0x9d), transitions via virtual 0x3c. 0x00DAC200 391 CSkillUnit__process_state_machine game_entity CSkillUnit state machine processor. Extended version of CSkillEffect__process_state_machine with additional states: 0x2d, 0x33(custom anim->sit transition), 0x3c-0x51(various special actions). States 0x3e-0x50 all just call virtual 0x20 (update frame). 0x00DAC400 371 CSkillEffect__update_visual_effects effect Updates visual effects for CSkillEffect. If a base resource is loaded (offset 0x484!=0), computes perpendicular direction and either renders sprite effects (state 0) or 3D model effects (state!=0) through 10 effect slots. Uses a 3-phase cycle (offset 0x10a4 mod 3). Calls FUN_00dac750 for 2D effects and FUN_00dacf90 for 3D effects. 0x00DAC580 462 CSkillEffect__render_main effect Main render entry point for CSkillEffect. Checks movement trail effects, option 0x109 (reduced effects mode), frozen/invisible states. Routes to different render paths: FUN_00cc4270 for invisible, CEntity__render_shadow for shadow, CEntity__render_sprite_full for normal 2D, FUN_00dad4d0 for restricted sprite rendering, or FUN_00dad8c0 for map-based rendering. Special shadow handling for Doram classes (0xfd0, 0x108e, 0x1093, 0x1094, 0x10dc). 0x00DAC750 2101 CSkillEffect__render_3d_mesh_slot effect Renders a 3D mesh slot for CSkillEffect using Granny animation system. Sets up rotation matrices (X rotation 90deg, Y from facing), scale (0.3), translates to world position, projects vertices to screen space, applies per-vertex color from entity RGBA + mesh normals. Enqueues mesh triangles to render pipeline. Handles bone hierarchy for multi-part meshes with parent bone transforms. Stores mesh render data (texture, vertex count, transforms) for each of 30 slots. 0x00DACF90 1336 CSkillEffect__render_3d_rigid_mesh_slot effect Renders a rigid (non-skinned) 3D mesh slot for CSkillEffect. Similar to render_3d_mesh_slot but uses rigid bone indices (GetRigidMeshBoneIndex) instead of skinned vertex deformation. Reuses cached mesh render data from previous frame (offsets 0x42a/0x556/0x682) if bone index is non-zero. 0x00DAD4D0 995 CSkillUnit__render_restricted_sprite game_entity Renders a CSkillUnit when in restricted rendering mode (CMessageStringTable__is_restricted_msg_id). Projects entity position to screen, loads body resource string, gets sprite frames from action/direction data, renders 2D sprite with action frame 0x78, submits quad via submit_sprite_quad_to_render_queue with render mode 0x101. Falls back to costume garment resource if available. 0x00DAD8C0 378 CSkillEffect__render_with_temp_maps effect Renders CSkillEffect by creating temporary STL map trees (0x1c, 0x18, 0x4c byte nodes), calling CFmt__vformat_impl for the actual rendering pass, then destroying the temporary trees. Used as a wrapper for rendering when no persistent render state exists. 0x00DADA40 1001 CSkillEffect__render_ground_shadow effect Renders the ground shadow/footprint for CSkillEffect. Computes facing direction sine/cosine, maps particle positions from the timed sprite vector (offset 0x2558) onto a 35x35 grid, marking shadow cells with alpha values. Renders a 5x5 textured quad grid around the entity using CWalkGrid__render_textured_quad with the timed sprite texture. 0x00DADE30 184 CSkillEffect__dispatch_action effect Action dispatch for CSkillEffect. Routes action IDs 3-124 through a jump table for specialized handlers. Falls back to CEntity__process_action_table_entry for out-of-range or default actions. 0x00DAE471 38 skill_effect_create_0x158_00dae471 effect Skill effect creation wrapper - calls CEntity__create_skill_effect with effect ID 0x158. Mid-function entry point. 0x00DAE890 193 CSkillUnit__dispatch_action game_entity Action dispatch for CSkillUnit. Extended version handling action IDs 3-137 through a jump table. Falls back to CEntity__process_action_table_entry with all 15 params for out-of-range actions. 0x00DAEF17 38 skill_effect_create_0x158_00daef17 effect Skill effect creation wrapper - calls CEntity__create_skill_effect with effect ID 0x158. Mid-function entry point. 0x00DAF0E7 38 skill_effect_create_0x158_00daf0e7 effect Skill effect creation wrapper - calls CEntity__create_skill_effect with effect ID 0x158. Mid-function entry point. 0x00DAFB60 665 CSkillUnit__load_sprite_resource_for_slot game_entity Loads a sprite resource for a specific slot in CSkillUnit. Releases existing resource, then loads a new one based on slot index (0=body, 5=head, 6=null), restricted message status, and weapon state (param_1[0x98]). After loading, updates sprite offset calculations for slot 1 (head). 0x00DAFE10 59 CSkillUnit__load_all_sprite_resources game_entity Loads all 9 sprite resources for CSkillUnit by iterating through the resource name vector and calling CSkillUnit__load_sprite_resource_for_slot for each slot. 0x00DAFE50 61 CSkillEffect__set_granny_animation_state effect Sets the Granny 3D animation state for CSkillEffect. Maps animation type codes (8,0x10,0x18,0x20,0x28,0x30,0x40,0x50,0x58) to internal states (0-6,0xb,0xc) at offset 0x70, then calls FUN_00db01f0 to apply the animation with the given parameter. 0x00DAFFA0 90 CSkillUnit__set_weapon_and_refresh game_entity Sets the weapon ID for CSkillUnit (stored at offset 0x4d0) and optionally refreshes the visual appearance. If param_3 is nonzero, reloads the body sprite (via virtual 0x54), updates colors (virtual 0x60), and reloads all resources (virtual 0x80). Uses garment sprite ID for costume entities. 0x00DB0000 53 CSkillUnit__set_shield_and_refresh game_entity Sets the shield ID for CSkillUnit. Stores param_2 at offset 0x48, translates through FUN_00e2f710 with job ID and weapon ID, stores result, then reloads all resources via virtual 0x80. 0x00DB0040 409 CSkillUnit__update_garment_path game_entity Updates the garment sprite path for CSkillUnit. If shield ID (offset 0x48) is nonzero, builds a resource path based on job ID, weapon, shield, and sex. For costume garments (FUN_00ca9e20), uses a simpler format string with costume name. Stores the path string in the entity's name field (offset 0x1c). 0x00DB01F0 134 CEntity3D__reset_granny_animations game_entity Resets all 20 Granny animation controls. Frees each control via granny_free_control, saves current state to +0xf3c, clears +0xf24. Then reads texture names for the current animation state using CRsmModel__ReadTextureNames with looping flag based on param_2==1 and state!=6. 0x00DB0280 21 CEntity3D__set_field_444_and_update game_entity Sets field +0x444 (animation index) and calls virtual method at vtable+0x7c to update the entity's animation accordingly. 0x00DB02A0 169 CEntity__update_accessory_sprite_name game_entity Updates accessory sprite name string based on headgear view ID. Gets effective job ID, looks up accessory name via FUN_00ddcef0, and copies result string to entity's name field at +0x460 if different. 0x00DB0350 162 CSkillUnit__update_accessory_path game_entity Updates the accessory sprite path for CSkillUnit. Builds path via FUN_00ddcef0 using headgear ID (0x440), costume ID (0x4d4), sex (0x260), and accessory type (0x444). Stores result in entity string field at offset 0x478. 0x00DB0400 127 CSkillEffect__set_headgear_top effect Sets the top headgear ID for CSkillEffect at offset 0x428. If param_2 < 0, dispatches action 0xa0 with computed value; otherwise dispatches action 0x76. Stores the headgear ID. 0x00DB0480 127 CSkillEffect__set_headgear_mid effect Sets the mid headgear ID for CSkillEffect at offset 0x430. Same logic as set_headgear_top but for the mid slot. 0x00DB0500 218 CSkillEffect__update_body_string_path effect Updates the body sprite string path for CSkillEffect. Gets effective job ID, builds sprite path via FUN_00ddd190 using job, sex (0x260), head style (0x434), and body type, then stores at offset 0x410. 0x00DB05E0 218 CSkillUnit__update_body_string_path game_entity Updates the body sprite string path for CSkillUnit. Similar to CSkillEffect version but stores at offset 0x418. For Doram-class jobs (0x10ce-0x10ea range) with costume flag, translates job ID via FUN_00e130a0 first. 0x00DB06C0 66 CSkillEffect__set_anim_speed effect Sets animation speed for CSkillEffect. If skill ID at offset 0x440 is not 0xb (Sanctuary) or has nonzero field 0x444, clamps param_2 to global max. Divides by divisor and stores at offset 0x64. 0x00DB0710 76 CSkillUnit__set_anim_speed game_entity Sets animation speed for CSkillUnit. Same as CSkillEffect version but uses skill ID at offset 0x448, with translation via FUN_00e19530 for IDs > 0x69. 0x00DB0760 31 CSkillEffect__set_palette_and_body_palette effect Sets palette via virtual method 0xa0 and stores body palette ID at offset 0x42c. 0x00DB0780 31 CSkillUnit__set_palette_and_head_palette game_entity Sets palette via virtual method 0xa0 and stores head palette ID at offset 0x434. 0x00DB07C0 27 CSkillUnit__set_sex_and_refresh_head game_entity Sets the entity's sex byte at offset 0x2cc and refreshes the head sprite by calling virtual method 0x70 with the current head ID (offset 0x45c). 0x00DB07E0 16 CSkillEffect__set_head_style effect Sets the head style ID at offset 0x44c for CSkillEffect. 0x00DB07F0 474 CSkillUnit__set_headgear_bottom game_entity Sets the bottom headgear for CSkillUnit. Stores headgear ID at offset 0x454, builds action/palette paths via FUN_00ddba70/FUN_00ddbae0, loads the sprite resource for slot 3 and palette resource. Also cleans up attached effects 0x2a6-0x2a8 if they exist. 0x00DB09D0 16 CSkillUnit__set_headgear_top_id game_entity Sets the top headgear ID at offset 0x450 for CSkillUnit (simple setter, no resource loading). 0x00DB09E0 338 CSkillUnit__set_headgear_mid_and_load game_entity Sets the mid headgear for CSkillUnit. Stores ID at offset 0x458, builds sprite/palette paths, loads sprite resource for slot 4 and palette at head resource vector index 4. 0x00DB0B40 16 CSkillUnit__set_skill_id game_entity Sets the skill ID at offset 0x448 for CSkillUnit (simple setter). 0x00DB0B50 338 CSkillUnit__set_headgear_top_and_load game_entity Sets the top headgear for CSkillUnit and loads resources. Stores ID at offset 0x450, builds sprite/palette paths, loads sprite resource for slot 2 and palette at head resource vector index 2. 0x00DB0CB0 48 CSkillUnit__render_with_bottom_headgear game_entity Dispatches to virtual method 0x4c for rendering, passing bottom headgear ID (offset 0x454) along with the rendering parameters. 0x00DB0CE0 727 CEntity__setup_appearance_from_params game_entity Sets up full entity appearance from spawn parameters. Stores job, gender, head, weapon, shield, headgear slots, garment, and robe data. Loads body sprite based on visibility state checks (transparent/invisible/etc), handles costume garments. Calls virtual methods for head, weapon, shield, headgear, garment, robe loading. Some job IDs (0xfdb, 0xc, 0xfad, 0xfc3, 0xfe1, etc) use special head ID calculation. 0x00DB0FC0 1945 CEntity3D__setup_granny_model_from_params game_entity Sets up 3D Granny model from spawn parameters. Loads main model .gr2 resource, instantiates via GrannyInstantiateModel. Allocates mesh buffers per triangle count. Loads additional models by replacing extension: .hr2 (hair), .bd2 (body), .pt2 (pants), .le2 (legs). For each, allocates vertex/triangle buffers. Rebinds meshes and finds hair pivot. Gets system time for animation timing. 0x00DB1760 507 CEntity__setup_npc_appearance game_entity Sets up NPC entity appearance. Similar to setup_appearance but for NPCs. Handles visibility state chain (transparent, etc) for body sprite selection (0x16-0x1e). Loads all sprite slots via virtual method chain. Calls virtual +0x84 for custom NPC handling. 0x00DB1980 16 CEntity__set_headgear_slot_id game_entity Sets headgear slot ID at +0x434. 0x00DB1990 300 CEntity__load_headgear_mid_sprite game_entity Loads middle headgear sprite. Sets +0x440, gets sprite path from FUN_00ddcd50, loads sprite for slot 1 via CSkillUnit__load_sprite_resource_for_slot. Gets act path from FUN_00ddcfe0, releases old resource, loads new resource. Handles restricted entity IDs. 0x00DB1AC0 29 CSkillUnit__set_scale_from_param game_entity Sets the scale factor at offset 0x54 by calling FUN_00de0a70 to compute scale from param_2. 0x00DB1AE0 1614 CEntity__load_body_sprite_with_options game_entity Loads body sprite with various state options. Handles mount toggle (job IDs 0x13/0x14 etc), gets scale. Prioritizes by visibility state: transparent=0x16, fading variants=0x1a-0x1e, then normal body by job/gender/costume. Special scaling for certain doram jobs (0xff6/0xff7/0x10b7/0x1010). Loads both sprite and act resources into slot 0. 0x00DB2230 302 CEntity__load_sprite_resource_for_slot game_entity Loads a sprite resource into a specific slot. Releases old resource first. For restricted entity IDs, uses gender-specific replacement sprites for slots 0 (body) and 5 (shadow). Slot 6 is nulled for restricted. Otherwise loads from given path. Increments reference count on loaded resource. 0x00DB2360 59 CSkillEffect__load_all_sprite_resources effect Loads all 9 sprite resources for CSkillEffect by iterating through the resource name vector and calling FUN_00db2230 for each slot. 0x00DB23A0 690 CEntity__load_headgear_robe_sprite game_entity Loads headgear robe sprite. Calls Lua IsHelmRobe and TB_Layer_Priority functions. Depending on robe flag, resolves sprite/act paths via FUN_00ddba70/FUN_00ddbae0 with job ID, gender, headgear and palette info. Loads sprite into slot 8, loads act resource into slot +0x20. 0x00DB2670 443 CEntity__load_palette_sprite game_entity Loads palette sprite resource. Sets +0x45c. If costume flag at +0x2cc is clear, gets palette path from FUN_00de0c50 using job/gender/palette/subpalette, loads into slot 7 and act resource into slot +0x1c. If costume flag set, loads empty resource for both slots. 0x00DB2840 2239 CEntity__load_weapon_sprites game_entity Loads weapon sprites for entity. Handles weapon/shield IDs, clears slots 5/6 first. For invisible states, uses job ID from +0x135. Handles special job IDs (doram 0xff4-0x10b7 with Madogear string replacement). For dual-wield, calculates render priority. Loads sprite/act resources for primary (slot 5) and secondary (slot 6) weapons with fallback to default weapon type mapping. 0x00DB3720 25 CSkillEffect__set_skill_id_and_level effect Sets the skill ID (offset 0x440) and skill level (offset 0x444) for CSkillEffect. 0x00DB3740 951 CEntity__load_shield_sprites game_entity Loads shield sprites. Sets +0x448/+0x44c for shield ID/type. Checks if shield should be displayed via FUN_00dfac70. If not, clears slots 5/6. Otherwise loads shield sprite/act via FUN_00e19370/FUN_00e194c0 with job/gender. For restricted entities, uses gender-specific replacement sprites. Uses jump table for weapon type-specific secondary slot loading. 0x00DB3C30 164 CEntity3D__set_entity_state game_entity Sets 3D entity state with Granny model support. Handles states: 0=idle (with camera speed reset for certain mounts), 1=walk, 2=attack (with IsItemUsingArrow lua call), 6/8=special (with animation direction), 7=sitting (job-specific), 9=attack variant. Resets granny animations on death. Updates animation frame offset and timestamp. 0x00DB4290 2185 CPlayerEntity__set_entity_state game_entity Sets player entity state. Extended version with mount/riding support. On death (state 3), reloads body sprite. Handles state 0 with mount camera speed caps. State 2 (attack) calls IsItemUsingArrow lua, with special attack range for specific skills. State 7 handles many job-specific sitting animations. State 9 handles attack with cast time adjustment for certain skills. 0x00DB4C70 203 CEntity__remap_attack_direction_for_job game_entity Remaps attack direction for specific job classes. Sage/Alchemist/Monk types: remap dirs 8,6,7 to 2. Blacksmith types: remap dir 5 to 10. Sage/Bard with certain sub-jobs: remap dirs 8,7 to 2, and dir 6 to 1 for specific sub-jobs. Default passes through unchanged. 0x00DB4E70 238 CEntity__manage_riding_effect game_entity Manages the riding/mount visual effect. If param_2 is true and entity is not in special state (frozen/stone), creates an effect via FUN_00cda580 with type 0x2c and stores at offset 0x414. If in special state, destroys the existing effect. 0x00DB4F60 3 identity_passthrough_00db4f60 crt Identity function that returns its parameter unchanged 0x00DB4F70 3 identity_passthrough_f70_00db4f70 crt Returns input parameter unchanged; identity function stub 0x00DB4F80 82 std__fill_n_int stl Fills param_2 int elements at param_1 with the value from *param_3. If *param_3 is 0, uses memset for efficiency. Returns pointer past the last filled element. 0x00DB4FE0 82 std__fill_n_int_00db4fe0 stl Same as std__fill_n_int - fills param_2 int elements with *param_3 value. Duplicate instance for a different vector type. 0x00DB5040 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00DB5080 62 deallocate stl STL allocator::deallocate. Computes total byte size, retrieves original allocation pointer for large blocks (>0xFFF bytes), then calls operator delete. 0x00DB50C0 91 CPlayerEntity__ctor game_entity CPlayerEntity constructor. Derives from CSkillUnit, sets vtable to PTR_FUN_011a54b0 and calls FUN_00db5340 for additional player-specific initialization. 0x00DB5120 71 CPlayerEntity__dtor game_entity CPlayerEntity destructor. Sets vtable to PTR_FUN_011a54b0 then calls CSkillUnit__dtor. 0x00DB5170 99 CPlayerEntity__scalar_deleting_dtor game_entity CPlayerEntity scalar deleting destructor. Size is 0x548 bytes. Sets vtable, calls CSkillUnit__dtor, optionally frees memory. 0x00DB51E0 47 angle_to_8_direction game_core Converts a floating-point angle to one of 8 RO directions (0-7). Adds 180, divides by 45, takes modulo 8. 0x00DB5210 14 is_action_0x4b game_core Returns true if the action is 0x4b (a specific special action). 0x00DB5220 130 CPlayerEntity__check_range_threshold game_entity Checks if entity is within range threshold. Computes distance via FUN_00ca9700 and FUN_00db6820, compares against param_3 * 5 + constant. Returns 1 if within range. 0x00DB52B0 40 is_idle_or_sitting_action game_core Returns 1 if the action type is an idle, sitting, or special emote action (2, 5, 6, 0x3e-0x50). Used to determine if the entity should be in a static pose. 0x00DB5340 911 CPlayerEntity__initialize_local_player game_entity Initializes local player entity from global state. Converts cell position to world coordinates, gets interpolated height, sets up targeting/movement state, initializes all timer/counter fields. Loads appearance from saved params via virtual calls. Sends initial network commands (0x6e for battleground, 0x6d for skill effect 0xa4). Sets up movement style from global config. 0x00DB5710 503 CPlayerEntity__update_idle_state game_entity Updates player entity idle state. Enables special movement, processes idle effects and damage queue, updates overhead UI. Handles hit flash timeout. Adjusts entity color. Checks position reporting timer for auto-movement. Calls auto-follow update. Manages riding effect based on mount state. Updates minimap window if needed. 0x00DB5980 3166 CPlayerEntity__update_auto_follow_target game_entity Updates auto-follow target pathfinding. Handles 6 follow modes: 1/5=follow entity, 2=follow NPC, 3=attack entity, 4=attack ground cell, 6=interact with item. Calculates distance to target, finds walkable cells, sends movement/attack commands. Handles periodic idle re-pathing with cooldown timers. Different movement allowed states per job type (mounts/4th jobs allow more states). 0x00DB6670 417 CPlayerEntity__adjust_follow_offset_by_angle game_entity Adjusts follow target cell offset based on angle between player and target. Gets move speed from entity, calculates atan2 angle, then adjusts destination cell X/Y by speed amount in the appropriate cardinal/diagonal direction based on 8-way angle buckets. 0x00DB6820 143 CPlayerEntity__get_adjusted_distance_to_target game_entity Gets adjusted distance to target, subtracting target's radius. For riding mode (0xb8==1), subtracts fixed constant. For entities with move speed > 0, subtracts (speed+1)*constant. Returns max(0, adjusted distance). 0x00DB68B0 9891 CEntity__update_status_effect_visuals game_entity Updates visual effects for entity status changes. 9K bytes. Called by recv_pet_status_update and FUN_00cbfc40. Manages skill effects (TetraVortex elements, orbit effects, footprints), creates/removes attached effects, dispatches effect by ID, and opens game windows as needed. 0x00DB9A00 228 CPlayerEntity__dispatch_player_action game_entity Dispatches player action via jump table. For param_3==0 and param_2 < 0x96, uses lookup table at DAT_00dba52c to index into jump table at PTR_LAB_00dba4d4. Otherwise delegates to CSkillUnit__dispatch_action. 0x00DBA5D0 231 CPlayerEntity__set_state_with_death_handling game_entity Sets player entity state with death handling. On non-walking transitions, resets target coords. If queued movement exists in idle state, sends walk command. On death (state 3), sends server notification (type 5), triggers camera shockwave at entity position, clears DAT_0138963c. Delegates to CPlayerEntity__set_entity_state. 0x00DBA6D0 209 CNamedEntryList__copy_construct game_core Copy constructs a named entry list. Copies string via STL_string_copy_construct, then allocates and copies array of 0x18-byte entries from source param_3 range [begin, end). Uses CPacketQueue operation for bulk element copy. 0x00DBA7B0 158 CNamedEntryList__move_assign_a game_core Move-assigns a named entry list (variant A). Destroys old string, moves string fields (with SSO handling), then moves vector of entries via json__internal_0051dab0. Nulls source after move. 0x00DBA860 158 CNamedEntryList__move_assign_b game_core Move-assigns a named entry list (variant B). Same pattern as variant A but uses CFmt__func_0058c230 for vector move. Destroys old string, moves string/vector fields, nulls source. 0x00DBA910 255 std__merge_sort_merge_step stl Merge sort merge step for string pair array (8-byte elements). Handles rotation of two sorted ranges into merged order using copy/reverse operations. Recursively calls FUN_00dbab90 for sub-problems. 0x00DBAA10 380 std__merge_sort_binary_search_step stl Merge sort binary search step. Uses binary search with string comparison to find optimal split point for merging two sorted ranges. Compares strings byte-by-byte. Delegates to FUN_00dba910 for the actual merge. 0x00DBAB90 290 std__merge_sort_rotate_and_recurse stl Merge sort rotate and recurse for string pair array. Scans forward/backward comparing string pairs byte-by-byte. For single-element insertion, shifts array and places element. Otherwise calls FUN_00dbacc0 for larger rotations. Core of in-place merge sort algorithm. 0x00DBACC0 925 std__merge_sort_with_buffer stl Merge sort with auxiliary buffer for string pair arrays (8-byte elements). Handles three cases: both sides fit in buffer (merge via buffer copy), only one side fits (reverse copy), or neither fits (in-place triple-reverse). Uses binary search for merge split points. Core implementation for stable sort. 0x00DBB060 422 std__stable_sort_pairs_8byte stl Stable sort for array of 8-byte string pairs. First sorts chunks of 32 elements via FUN_00dbcb40 (insertion sort). Then progressively merges sorted chunks with doubling stride (64, 128, ...) using FUN_00dbb2e0. Uses auxiliary buffer param_4 for merge operations. 0x00DBB210 208 std__rotate_pairs_8byte stl Rotates two adjacent ranges of 8-byte pairs. If either range empty, returns boundary. If both fit in buffer, uses copy+forward. If only second fits, uses reverse_copy+forward. Otherwise does triple-reverse (reverse left, reverse right, reverse all). 0x00DBB2E0 282 std__merge_chunks_pairs_8byte stl STL template instantiation: std merge chunks pairs 8byte 0x00DBB400 29 std__memmove_backward stl Backward memcpy. Copies bytes from param_1 to (param_3 - length) where length = param_2 - param_1. 0x00DBB420 242 std__rb_tree_copy_recursive stl Recursively copies an rb-tree node and its children. Allocates 0x1c-byte nodes, copies key/value data, sets parent/left/right pointers and color. Returns the copied subtree root. 0x00DBB530 104 std__destroy_range_0x24_entries_a stl Destroys a range of 0x24-byte entries (variant A). Iterates from param_1 to param_2, calling json__internal_0051dab0 and STL_string_dtor for each entry. 0x00DBB5A0 104 std__destroy_range_0x24_entries_b stl Destroys a range of 0x24-byte entries (variant B). Iterates from param_1 to param_2, calling CFmt__func_0058c230 and STL_string_dtor for each entry. 0x00DBB610 38 std__vector_push_back_pair_8byte stl Pushes an 8-byte pair onto a vector. Copies the pair data to the current end pointer, then advances the end pointer by 8 bytes. 0x00DBB640 439 std__vector_emplace_pair_8byte stl Emplaces an 8-byte pair into a vector with reallocation. Grows capacity by 1.5x when full. Allocates new buffer, copies pair at insertion point, moves existing elements around it, frees old buffer. Handles aligned allocation for buffers >= 0x1000 bytes. 0x00DBB800 273 std__vector_emplace_pair_8byte_00dbb800 stl STL vector emplace for 8-byte pairs. Inserts a new pair, growing the buffer if needed. 0x00DBB930 439 std__vector_emplace_pair_8byte_00dbb930 stl STL vector emplace for 8-byte pairs. Inserts a new pair, growing the buffer if needed. 0x00DBBAF0 272 std__vector_emplace_pair_8byte_00dbbaf0 stl STL vector emplace for 8-byte pairs. Inserts a new pair, growing the buffer if needed. 0x00DBBC20 544 std__vector_emplace_entry_0x24_a stl STL vector emplace for 0x24-byte entries. Inserts a new entry, growing the buffer if needed. 0x00DBBE50 544 std__vector_emplace_entry_0x24_b stl STL vector emplace for 0x24-byte entries. Inserts a new entry, growing the buffer if needed. 0x00DBC080 118 STL_map__destroy_tree_and_sentinel stl Destroys an STL map's red-black tree with 0x1C-byte nodes and frees the sentinel node. Recursively destroys right subtrees, walks left chain freeing each node, then frees the sentinel. 0x00DBC100 103 std__rb_tree_destroy_nodes_0x10 stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DBC170 103 std__rb_tree_destroy_nodes_0x18 stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DBC1E0 144 std__rb_tree_destroy_nodes_0x24 stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DBC270 103 std__rb_tree_destroy_nodes_0x28 stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DBC2E0 103 std__rb_tree_destroy_nodes_0x20 stl STL rb-tree recursive node destruction for 0x20-byte nodes. Recurses right subtree, walks left chain, frees each node with operator_delete(0x20). 0x00DBC350 103 std__rb_tree_destroy_nodes_0x20_b stl STL rb-tree recursive node destruction for 0x20-byte nodes. Variant B. Recurses right subtree, walks left chain, frees each node with operator_delete(0x20). 0x00DBC3C0 103 std__rb_tree_destroy_nodes_0x18_b stl STL rb-tree recursive node destruction for 0x18-byte nodes. Recurses right subtree, walks left chain, frees each node with operator_delete(0x18). 0x00DBC430 128 std__rb_tree_destroy_nodes_0x3c stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DBC4B0 172 std__rb_tree_destroy_nodes_0x58 stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DBC560 103 std__rb_tree_destroy_nodes_0x1c stl STL rb-tree recursive node destruction for 0x1c-byte nodes. Recurses right subtree, walks left chain, frees each node with operator_delete(0x1c). 0x00DBC5D0 75 std__rb_tree_find_lower_bound_0x14 stl STL rb-tree _Find_lower_bound for 0x14-byte nodes. Traverses tree comparing char key at node offset 0xe, returns find_result struct (last node, found flag, bound node). Used for set/map lower_bound. 0x00DBC620 75 std__rb_tree_find_lower_bound_0x14_b stl STL rb-tree _Find_lower_bound for 0x14-byte nodes. Traverses tree comparing int key at node offset 0x10, returns find_result struct. Variant B. 0x00DBC670 75 std__rb_tree_find_lower_bound_0x14_c stl STL rb-tree _Find_lower_bound for 0x14-byte nodes. Traverses tree comparing int key at node offset 0x10, returns find_result struct. Variant C. 0x00DBC6C0 75 std__rb_tree_find_lower_bound_0x14_d stl STL rb-tree _Find_lower_bound for 0x14-byte nodes. Traverses tree comparing int key at node offset 0x10, returns find_result struct. Variant D. 0x00DBC710 75 _Find_lower_bound<> stl STL _Find_lower_bound. Binary search helper that finds the lower bound position in a sorted tree. 0x00DBC760 80 std__allocate_merge_buffer stl Allocates a temporary merge buffer for sort operations. 0x00DBC7B0 262 std__merge_forward_pairs_8byte stl STL template instantiation: std merge forward pairs 8byte 0x00DBC8C0 265 std__merge_backward_pairs_8byte stl STL template instantiation: std merge backward pairs 8byte 0x00DBC9D0 362 std__chunked_insertion_sort_pairs_8byte stl STL sort: performs chunked insertion sort on 8-byte pairs for small segments within merge sort. 0x00DBCB40 312 std__insertion_sort_pairs_8byte stl STL insertion sort for 8-byte pair elements. 0x00DBCC80 1093 std__insertion_sort_named_entries_0x24_a stl STL insertion sort for named entries (0x24-byte structs with string keys). 0x00DBD0D0 1132 std__insertion_sort_named_entries_0x24_b stl STL insertion sort for named entries (0x24-byte structs with string keys). 0x00DBD540 703 std__insertion_sort_string_entries_0x18 stl STL insertion sort for string-keyed entries (0x18-byte structs). 0x00DBD810 197 std__sort3_cstring_ptrs stl STL sort3 for C-string pointers. Sorts 3 elements pointed to by param_1/param_2/param_3 using byte-by-byte strcmp. Swaps pointers in-place to achieve sorted order (median-of-3). 0x00DBD8E0 251 std__sort3_cstring_pairs_4byte stl STL sort3 for (cstring, uint32) pairs. Compares by C-string key using byte-by-byte strcmp, swaps both the pointer and the 4-byte value alongside it. 0x00DBD9E0 251 std__sort3_cstring_pairs_1byte stl STL sort3 for (cstring, byte) pairs. Compares by C-string key, swaps both pointer and 1-byte value at offset +4. 0x00DBDAE0 239 std__sort3_string_swap_a stl STL sort3 for std::string objects (SSO layout, offset 0x14 check). Uses byte-by-byte strcmp. Calls swap variant A (FUN_00dc2230) for element swapping. 0x00DBDBD0 239 std__sort3_string_swap_b stl STL sort3 for std::string objects (SSO layout, offset 0x14 check). Uses byte-by-byte strcmp. Calls swap variant B (FUN_00dc2290) for element swapping. 0x00DBDCC0 263 std__sort3_string_traits_compare stl STL sort3 for std::string using char_traits::compare. Swaps full 0x18-byte string objects in-place (bitwise copy). Length-aware comparison. 0x00DBDDD0 188 std__merge_cstring_pairs stl STL merge for C-string pairs (8 bytes each). Merges two sorted sub-ranges into output buffer. Copies remaining elements when one range is exhausted. 0x00DBDE90 41 std__reverse_copy_pairs_8byte stl STL template instantiation: std reverse copy pairs 8byte 0x00DBDEC0 40 std__forward_copy_pairs_8byte stl STL template instantiation: std forward copy pairs 8byte 0x00DBDEF0 870 std__partition_cstring_ptrs stl STL partition/quicksort core for C-string pointer arrays. Selects pivot using median-of-3, partitions around pivot with Dutch National Flag scheme. Returns partition boundaries. 0x00DBE260 1015 std__partition_cstring_pairs_4byte stl STL partition/quicksort core for (cstring, uint32) pair arrays (8 bytes per element). Median-of-3 pivot selection via sort3, Dutch National Flag partition. Compares by C-string key. 0x00DBE660 1015 std__partition_cstring_pairs_1byte stl STL partition/quicksort core for (cstring, byte) pair arrays (8 bytes per element). Median-of-3 pivot selection via sort3, Dutch National Flag partition. Compares by C-string key, swaps 1-byte value alongside pointer. 0x00DBEA60 1633 std__partition_string_swap_a stl STL partition/quicksort core for std::string arrays (0x24-byte elements = string + extra data). Uses byte-by-byte strcmp with SSO resolution. Swap variant A. Dutch National Flag partition with median-of-3. 0x00DBF0D0 1633 std__partition_string_swap_b stl STL partition/quicksort core for std::string arrays (0x24-byte elements). Uses byte-by-byte strcmp with SSO resolution. Swap variant B. Dutch National Flag partition with median-of-3. 0x00DBF740 1026 std__partition_string_traits_compare stl STL partition/quicksort core for std::string arrays (0x18-byte elements). Uses char_traits::compare for length-aware comparison. Swaps full 0x18-byte string objects. Dutch National Flag partition with median-of-3. 0x00DBFB50 240 std__heap_siftdown_cstring_ptrs stl STL heap sift-down for C-string pointer arrays (4 bytes per element). Performs sift-down from position param_2, then sift-up to find correct position for param_4 value. Used by make_heap/sort_heap. 0x00DBFC50 260 std__heap_siftdown_cstring_pairs_4byte stl STL heap sift-down for (cstring, uint32) pair arrays (8 bytes per element). Sifts down from position, then sifts up. Moves both pointer and 4-byte value together. 0x00DBFD60 260 std__heap_siftdown_cstring_pairs_1byte stl STL heap sift-down for (cstring, byte) pair arrays (8 bytes per element). Sifts down from position, then sifts up. Moves pointer and 1-byte value together. 0x00DBFE70 549 std__heap_siftdown_string_swap_a stl STL heap sift-down for std::string+extra arrays (0x24-byte elements). SSO-aware strcmp comparison. Move-assigns string and extra data during sift. Swap variant A. 0x00DC00A0 549 std__heap_siftdown_string_swap_b stl STL heap sift-down for std::string+extra arrays (0x24-byte elements). SSO-aware strcmp comparison. Move-assigns string and extra data during sift. Swap variant B. 0x00DC02D0 489 std__heap_siftdown_string_traits_compare stl STL heap sift-down for std::string arrays (0x18-byte elements). Uses char_traits::compare for length-aware comparison. Move-assigns strings during sift operations. 0x00DC04C0 222 std__vector_uint_reallocate_grow stl std::vector reallocate and grow. Allocates new buffer with 1.5x growth, fills new elements with param_3, copies existing elements, frees old buffer. Max capacity 0x3FFFFFFF. 0x00DC05D0 475 std__vector_pair8_reallocate_grow stl std::vector> reallocate and grow. 8-byte elements. Allocates aligned buffer with 1.5x growth, fills new elements, copies old elements, destroys old entries, frees old buffer. Max capacity 0x1FFFFFFF. 0x00DC07B0 256 std__vector_string_reallocate_grow stl std::vector reallocate and grow. 0x18-byte elements. Allocates new buffer with 1.5x growth, fills new elements, move-copies old strings, frees old buffer. Max capacity 0xAAAAAAA. 0x00DC0900 67 std__rotate_left_pairs_8byte stl STL rotate-left for 8-byte pairs. Saves first element, shifts [param_2, param_3) left into [param_1, ...), places saved element at end. Used by insertion sort. 0x00DC0950 62 std__rotate_right_pairs_8byte stl STL rotate-right for 8-byte pairs. Saves element at param_2, shifts elements right from [param_1, param_2) into param_3 output, places saved element at param_1. Used by insertion sort. 0x00DC0990 459 std__make_heap_string_traits_compare stl STL make_heap + partial sort_heap for std::string arrays (0x18-byte elements). Uses char_traits::compare. Iterates backwards building heap, then calls heap_siftdown for each element. Part of heapsort fallback for introsort. 0x00DC0B60 782 std__introsort_cstring_ptrs stl STL introsort for C-string pointer arrays (4-byte elements). Three-way dispatch: small arrays use insertion sort, depth exceeded uses heapsort, otherwise quicksort via partition. Recursion depth limit decreases by 3/4 each level. 0x00DC0E70 837 std__introsort_cstring_pairs_4byte stl STL introsort for (cstring, uint32) pair arrays (8-byte elements). Three-way dispatch: insertion sort for small, heapsort for depth exceeded, quicksort with partition. Optimizes by recursing into smaller partition. 0x00DC11C0 837 std__introsort_cstring_pairs_1byte stl STL introsort for (cstring, byte) pair arrays (8-byte elements). Three-way dispatch: insertion sort for small, heapsort for depth exceeded, quicksort with partition. Moves 1-byte value alongside pointer. 0x00DC1510 707 std__introsort_string_swap_a stl STL introsort for std::string+extra arrays (0x24-byte elements). Swap variant A. Three-way dispatch: insertion sort (<0x4A4 bytes), heapsort (depth 0), quicksort. Handles string move-assignment and destruction during heap operations. 0x00DC17E0 707 std__introsort_string_swap_b stl STL introsort for std::string+extra arrays (0x24-byte elements). Swap variant B. Three-way dispatch: insertion sort (<0x4A4 bytes), heapsort (depth 0), quicksort. Handles string move-assignment and destruction during heap operations. 0x00DC1AB0 501 std__introsort_string_traits_compare stl STL introsort for std::string arrays (0x18-byte elements). Uses char_traits::compare. Three-way dispatch: insertion sort (<0x318 bytes), make_heap+sort_heap (depth 0), quicksort via partition. Handles string move-assignment. 0x00DC1CB0 166 std__mergesort_cstring_pairs_4byte stl STL stable_sort/mergesort for (cstring, uint32) pair arrays (8-byte elements). Recursive divide-and-conquer: splits array in half, sorts each half (recursively or via introsort if buffer too small), then merges. 0x00DC1D60 443 std__map_string_emplace stl std::map::emplace or lower_bound+insert. Walks the red-black tree comparing keys via char_traits::compare. If key not found, allocates new 0x3C-byte node, copy-constructs string key, inserts via Insert_node. Returns iterator+bool pair. 0x00DC1F20 267 std__merge_sort_chunks_cstring_pairs stl STL template instantiation: std merge sort chunks cstring pairs 0x00DC2030 175 std__merge_cstring_pairs_to_output stl STL merge for (cstring, uint32) pairs into output buffer. Merges two sorted sub-ranges [param_1,param_2) and [param_2,param_3) into output at param_4. Copies remaining elements when one range exhausted. 0x00DC20E0 137 std__move_string_range_and_sort_a stl Move std::string+extra (0x24-byte) elements from [param_1,param_2) to destination at param_3, then call sort on the range. Variant A. Used as part of stable_sort buffer operations. 0x00DC2170 137 std__move_string_range_and_sort_b stl Move std::string+extra (0x24-byte) elements from [param_1,param_2) to destination at param_3, then call sort on the range. Variant B. Used as part of stable_sort buffer operations. 0x00DC2200 42 std__copy_pairs_8byte stl STL template instantiation: std copy pairs 8byte 0x00DC2230 91 std__swap_string_pair_36byte_a stl Swap two 0x24-byte (36-byte) elements containing std::string (0x18 bytes) + 12 bytes extra data. Swaps the string portion (6 dwords) then the extra data (3 dwords) if pointers differ. Variant A. 0x00DC2290 91 std__swap_string_pair_36byte_b stl Swap two 0x24-byte (36-byte) elements containing std::string (0x18 bytes) + 12 bytes extra data. Identical logic to variant A. Variant B (separate template instantiation). 0x00DC22F0 400 std__lower_bound_string_pair_24byte stl std::lower_bound for array of 0x24-byte elements containing std::string. Binary search using byte-by-byte strcmp on string keys. Constructs temp string from C-string param for comparison. Returns iterator to first element not less than key. 0x00DC2490 96 std__pair_copy_construct_a stl Copy-construct a pair: copies 1 byte from param_2, then copy-constructs a CShopItem from param_3. SEH protected. Variant A. 0x00DC24F0 96 std__pair_copy_construct_b stl Copy-construct a pair: copies 1 byte from param_2, then copy-constructs a CShopItem from param_3. SEH protected. Variant B (identical logic). 0x00DC2550 53 std__reverse_pairs_8byte stl STL reverse for 8-byte pair arrays. Swaps elements from both ends inward until pointers meet. Each element is 2 dwords. 0x00DC2590 329 std__stable_sort_cstring_pairs_4byte stl std::stable_sort for (cstring, uint32) pair arrays (8-byte elements). Small arrays use insertion sort. Otherwise allocates temp buffer (up to half array size, falls back to 0x200 elements stack buffer), delegates to mergesort. 0x00DC26E0 40 std__hash_map_init_256byte stl Initialize a hash map/list structure. Allocates 0x100-byte (256-byte) sentinel node, sets both forward/back pointers to self. Sets container size to 0. 0x00DC2710 105 std__rb_tree_init stl Initialize a red-black tree (std::map/set). Allocates 0x18-byte sentinel node, sets left/right/parent pointers to self, sets color flags to 0x101 (red+sentinel). Sets size to 0. 0x00DC2780 234 std__rb_tree_copy_construct stl Copy-construct a red-black tree (std::map/set). Allocates 0x1C-byte sentinel, copies all nodes recursively, finds leftmost and rightmost nodes to set begin/rbegin, copies size. 0x00DC2870 105 std__rb_tree_init_3c stl Initialize a red-black tree with 0x3C-byte sentinel node. Sets left/right/parent to self, color flags to 0x101. Used for std::map with larger value types. Size set to 0. 0x00DC28E0 172 std__move_construct_string_pair_36byte_a stl Move-construct a 0x24-byte (36-byte) element: std::string (0x18 bytes) + 12 bytes extra. Moves string data and nullifies source. Variant A. Used by sort/heap operations. 0x00DC2990 172 std__move_construct_string_pair_36byte_b stl Move-construct a 0x24-byte (36-byte) element: std::string (0x18 bytes) + 12 bytes extra. Moves string data and nullifies source. Variant B (identical logic). 0x00DC2A40 213 std__vector_string_construct_n stl std::vector constructor with count. Allocates buffer for param_2 strings (0x18 bytes each), default-constructs each string (size=0, capacity=0xF). Max count 0xAAAAAAA. 0x00DC2B20 7259 game_init_global_managers game_core Initializes global game managers and singletons. 7.2K bytes. Constructs CSkillMgr, CryptoManager, CReportStorage, CShopManager, CMapInfoMgr, CSpecialPopupMgr, ItemDisplayTree, regex parser. Sets up packet parsers/buffers, allocates RB trees and hash buckets. No callers (static initializer). 0x00DC4780 67 std__free_12byte_buffer stl Free a 12-byte (0xC) buffer at offset +4 if non-null. SEH protected. Simple destructor helper for small allocations. 0x00DC47D0 67 std__free_16byte_buffer stl Frees a fixed-size buffer, calling destructors on contained elements if needed. 0x00DC4820 67 std__free_24byte_buffer stl Frees a fixed-size buffer, calling destructors on contained elements if needed. 0x00DC4870 67 std__free_36byte_buffer stl Free a 0x24-byte (36-byte) buffer at offset +4 if non-null. SEH protected destructor helper. 0x00DC48C0 67 std__free_40byte_buffer stl Free a 0x28-byte (40-byte) buffer at offset +4 if non-null. SEH protected destructor helper. 0x00DC4910 67 std__free_32byte_buffer stl Free a 0x20-byte (32-byte) buffer at offset +4 if non-null. SEH protected destructor helper. 0x00DC4960 67 std__free_24byte_buffer_b stl Free a 0x18-byte (24-byte) buffer at offset +4 if non-null. SEH protected destructor helper. Second variant of free_24byte_buffer. 0x00DC49B0 67 std__free_3c_byte_buffer stl Frees a fixed-size buffer, calling destructors on contained elements if needed. 0x00DC4A00 78 std__free_12byte_buffer_alt stl Free a 12-byte (0xC) buffer at offset +4 if non-null. SEH protected. Alternate version of free_12byte_buffer. 0x00DC4A70 111 std__rb_tree_destroy_nodes_10 stl Destroy all nodes in a red-black tree with 0x10-byte nodes. Iterates via child pointer, calls cleanup function on each node's data, frees 0x10 bytes per node, then frees sentinel. 0x00DC4AF0 111 std__rb_tree_destroy_nodes_18 stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DC4B70 111 std__rb_tree_destroy_nodes_4c stl Destroy all nodes in a red-black tree with 0x4C-byte nodes. Recursively destroys right subtree, iterates left children, frees each node, then frees sentinel. 0x00DC4BF0 76 std__rb_tree_destroy_and_free_24 stl Destroy a red-black tree with recursive node cleanup, then free the 0x24-byte sentinel node. 0x00DC4C50 111 std__rb_tree_destroy_nodes_28 stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DC4CD0 111 std__rb_tree_destroy_nodes_20 stl Destroy all nodes in a red-black tree with 0x20-byte nodes. Recursively destroys right subtree, iterates left children, frees each node, then frees sentinel. 0x00DC4D50 111 std__rb_tree_destroy_nodes_20_b stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DC4DD0 111 std__rb_tree_destroy_nodes_18_b stl Recursively destroys all nodes in an STL red-black tree, calling destructors and freeing memory. 0x00DC4E50 76 std__rb_tree_destroy_and_free_3c stl Destroys all nodes in an STL red-black tree and frees the tree structure. 0x00DC4EB0 76 std__rb_tree_destroy_and_free_58 stl Destroys all nodes in an STL red-black tree and frees the tree structure. 0x00DC4F30 78 std__free_10byte_buffer stl Frees a fixed-size buffer, calling destructors on contained elements if needed. 0x00DC4F80 78 std__free_18byte_buffer stl Frees a fixed-size buffer, calling destructors on contained elements if needed. 0x00DC4FD0 126 std__destroy_and_free_24byte_buffer stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC5050 78 std__destroy_and_free_28byte_buffer stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC50A0 78 std__destroy_and_free_20byte_buffer_b stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC50F0 78 std__destroy_and_free_18byte_buffer_b stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC5140 113 std__destroy_string_and_free_3c_buffer stl Destroys string elements in a buffer then frees the allocation. 0x00DC51C0 78 std__free_10byte_buffer_b stl Frees a fixed-size buffer, calling destructors on contained elements if needed. 0x00DC5210 78 std__destroy_and_free_18byte_buffer stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC5260 78 std__destroy_and_free_24byte_buffer_b stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC52B0 78 std__destroy_and_free_28byte_buffer_b stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC5300 78 std__destroy_and_free_20byte_buffer_c stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC5350 78 std__destroy_and_free_18byte_buffer_c stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC53A0 78 std__destroy_and_free_3c_byte_buffer stl Destroys elements in a buffer (calling destructors) then frees the allocation. 0x00DC5430 91 std__vector_pair8_destroy_elements stl Destroys 8-byte pair elements in a vector and frees the buffer. 0x00DC5490 78 seh_cleanup_CNavigatorWnd_destroy_array crt SEH cleanup handler that destroys array elements during exception unwinding. 0x00DC54E0 152 std__vector_string_destroy_elements stl Destroys string elements in a vector, calling each string's destructor. 0x00DC5580 103 std__vector_string_24_destroy_and_free stl Destroys 24-byte string elements in a vector and frees the buffer. 0x00DC55F0 103 std__vector_string_24_destroy_and_free_b stl Destroys 24-byte string elements in a vector and frees the buffer. 0x00DC5660 65 std__vector_string_destroy_and_free stl Destroys string elements in a vector, calling each string's destructor. 0x00DC56B0 65 std__vector_uint_destroy_and_free stl Destroys and frees a vector of unsigned int elements. 0x00DC5700 65 std__vector_int_destroy_and_free stl Destroys and frees a vector of int elements. 0x00DC5750 87 std__vector_pair8_destroy_and_free_b stl Destroys 8-byte pair elements in a vector and frees the buffer. 0x00DC57B0 65 std__vector_4byte_destroy_and_free stl Destroys and frees a vector of 4-byte elements. 0x00DC5800 65 std__vector_short_destroy_and_free stl Destroys and frees a vector of short elements. 0x00DC5850 65 std__vector_byte_destroy_and_free stl Destroys and frees a vector of byte elements. 0x00DC58A0 65 std__rb_tree_destroy_wrapper stl Wrapper that calls std__rb_tree_destroy_nodes_3c to destroy all nodes in a red-black tree. SEH protected. 0x00DC58F0 87 seh_cleanup_rb_tree_destroy_0x3c crt SEH cleanup handler: destroys rb-tree nodes (0x3c node size) and frees sentinel 0x00DC5950 87 seh_cleanup_rb_tree_destroy_0x58 crt SEH cleanup handler: destroys rb-tree nodes (0x58 node size) and frees sentinel 0x00DC59B0 83 seh_cleanup_vector_of_maps_destroy crt SEH cleanup handler: calls std__vector_of_maps_destroy_and_free to clean up a vector of maps. 0x00DC5A10 65 seh_cleanup_string_dtor_00dc5a10 crt SEH cleanup handler: calls STL_string_dtor to destroy a string during stack unwinding. 0x00DC5A60 86 seh_cleanup_vector_and_string_dtor crt SEH cleanup handler: clears a vector via json__vector_clear_and_free then destroys an STL string 0x00DC5AC0 86 seh_cleanup_fmt_string_vector_and_string_dtor crt SEH cleanup handler: destroys fmtlib string vector then destroys an STL string 0x00DC5B20 129 std__vector_deallocate_buffer stl Frees a std::vector's backing buffer. Computes size from end-begin, handles large allocation alignment, zeros begin/end/capacity. 0x00DC5BB0 129 std__vector_deallocate_buffer_00dc5bb0 stl Frees a std::vector's backing buffer (8-byte aligned elements). Zeros begin/end/capacity. 0x00DC5C40 129 std__vector_deallocate_buffer_00dc5c40 stl Frees a std::vector's backing buffer (8-byte aligned elements). Zeros begin/end/capacity. 0x00DC5CD0 129 std__vector_deallocate_buffer_00dc5cd0 stl Frees a std::vector's backing buffer (8-byte aligned elements). Zeros begin/end/capacity. 0x00DC5D60 166 std__vector_destroy_and_deallocate_0x24 stl Destroys elements (0x24-byte each) in a std::vector via std__destroy_range_0x24_entries_b, then frees the backing buffer. 0x00DC5E10 159 std__vector_destroy_and_deallocate_0x2c stl Destroys elements (0x2c-byte each with embedded vectors) in a std::vector, then frees the backing buffer. 0x00DC5EC0 148 std__vector_deallocate_buffer_0x54 stl Frees a std::vector's backing buffer for 0x54-byte elements. No element destruction, just buffer deallocation. 0x00DC5F60 129 std__vector_deallocate_buffer_00dc5f60 stl Frees a std::vector's backing buffer (8-byte aligned elements). Zeros begin/end/capacity. 0x00DC5FF0 197 std__vector_destroy_strings_and_deallocate_0x74 stl Iterates a std::vector of 0x74-byte elements, destroys embedded STL strings in each, then frees the backing buffer. 0x00DC60C0 162 std__vector_destroy_and_deallocate_0x158 stl Destroys elements (0x158-byte each) in a std::vector via STL_vector_destroy_range_0x158, then frees the backing buffer. 0x00DC6180 77 seh_cleanup_item_option_rbtree_destroy crt SEH cleanup handler: delegates to CItemOptionDB__destroy_nested_rbtree_20byte to destroy a tree of 0x14-byte nodes. 0x00DC61D0 3250 CGameMode__dtor game_core CGameMode destructor. Massive cleanup: destroys singletons (CChangeMaterialMgr, CUserHotKeyStore, CReportStorage, CShopManager, CPetEvolutionMgr, CAchievementMgr, CPrivateAirplaneMgr, CCheckAttendanceMgr, CTreeMap, CSpecialPopupMgr, CRuneSystemMgr), closes Lua state, destroys hash tables, rb-trees, vectors, XML nodes, CHashTable instances, CItemList linked lists, and CSkillMgr. 0x00DC6E90 68 seh_cleanup_destroy_vector_of_maps crt SEH exception cleanup handler. Calls std__vector_of_maps_destroy_and_free to clean up a vector of maps during stack unwinding. 0x00DC6EE0 86 seh_cleanup_json_vector_and_string_dtor crt SEH exception cleanup handler. Calls json__vector_clear_and_free_4byte then STL_string_dtor during stack unwinding. 0x00DC6F40 83 seh_cleanup_xml_node_pair crt SEH exception cleanup handler. Calls xml_node_destroy then xml_node_cleanup during stack unwinding. Previously misnamed as "xml_and_regex" -- both calls are XML node operations. 0x00DC6FA0 130 copy_assign_0x54_entry_with_strings stl Copy-assigns a 0x54-byte structure from param_2 to param_1. Contains two std::string fields (at offsets 0x0C and 0x24 via SSO), plus integer/short fields at offsets 0x3C-0x4C. Uses STL_string_assign_buffer for the string fields. 0x00DC7030 220 std__map_find_or_insert_char_10 stl std::map operator[] for char key, 0x10-byte nodes. Calls lower_bound to find key; if not found, allocates 0x10-byte RB-tree node, stores char at offset +0xE, inserts via Insert_node. Returns pointer to value at node+0xF. 0x00DC7110 259 std__map_find_or_insert_24 stl std::map operator[] for int key, 0x24-byte nodes. Calls lower_bound; if key not found, allocates 0x24-byte RB-tree node with key at offset +0x10 and empty string value at offset +0x14. Returns pointer to value at node+0x14. 0x00DC7220 295 std__map_find_or_insert_28 stl std::map operator[] for int key, 0x28-byte nodes. Calls lower_bound; if key not found, allocates 0x28-byte RB-tree node with key at offset +0x10, zeroes value fields at offsets +0x14 through +0x24. Returns pointer to value at node+0x14. 0x00DC7350 40 xor_decrypt_wrapper_00dc7350 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7380 40 xor_decrypt_wrapper_00dc7380 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC73B0 40 xor_decrypt_wrapper_00dc73b0 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC73E0 40 xor_decrypt_wrapper_00dc73e0 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7410 40 xor_decrypt_wrapper_00dc7410 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7440 40 xor_decrypt_wrapper_00dc7440 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7470 40 xor_decrypt_wrapper_00dc7470 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC74A0 40 xor_decrypt_wrapper_00dc74a0 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC74D0 40 xor_decrypt_wrapper_00dc74d0 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7500 40 xor_decrypt_wrapper_00dc7500 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7530 40 xor_decrypt_wrapper_00dc7530 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7560 40 xor_decrypt_wrapper_00dc7560 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7590 40 xor_decrypt_wrapper_00dc7590 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC75C0 40 xor_decrypt_wrapper_00dc75c0 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC75F0 40 xor_decrypt_wrapper_00dc75f0 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7620 40 xor_decrypt_wrapper_00dc7620 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7650 40 xor_decrypt_wrapper_00dc7650 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7680 40 xor_decrypt_wrapper_00dc7680 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC76B0 40 xor_decrypt_wrapper_00dc76b0 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC76E0 40 xor_decrypt_wrapper_00dc76e0 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7710 40 xor_decrypt_wrapper_00dc7710 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7740 40 xor_decrypt_wrapper_00dc7740 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC7770 40 xor_decrypt_wrapper_00dc7770 security XOR decryption wrapper. Applies XOR cipher to a data buffer using a key. 0x00DC77A0 40 xor_decrypt_wrapper_00dc77a0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC77D0 40 xor_decrypt_wrapper_00dc77d0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7800 40 xor_decrypt_wrapper_00dc7800 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7830 40 xor_decrypt_wrapper_00dc7830 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7860 40 xor_decrypt_wrapper_00dc7860 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7890 40 xor_decrypt_wrapper_00dc7890 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC78C0 40 xor_decrypt_wrapper_00dc78c0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC78F0 40 xor_decrypt_wrapper_00dc78f0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7920 40 xor_decrypt_wrapper_00dc7920 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7950 40 xor_decrypt_wrapper_00dc7950 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7980 40 xor_decrypt_wrapper_00dc7980 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC79B0 40 xor_decrypt_wrapper_00dc79b0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC79E0 40 xor_decrypt_wrapper_00dc79e0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7A10 40 xor_decrypt_wrapper_00dc7a10 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7A40 40 xor_decrypt_wrapper_00dc7a40 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7A70 40 xor_decrypt_wrapper_00dc7a70 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7AA0 40 xor_decrypt_wrapper_00dc7aa0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7AD0 40 xor_decrypt_wrapper_00dc7ad0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7B00 40 xor_decrypt_wrapper_00dc7b00 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7B30 40 xor_decrypt_wrapper_00dc7b30 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7B60 40 xor_decrypt_wrapper_00dc7b60 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7B90 40 xor_decrypt_0x0a_00dc7b90 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7BC0 40 xor_decrypt_0x0a_00dc7bc0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7BF0 40 xor_decrypt_0x0a_00dc7bf0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7C20 40 xor_decrypt_0x0a_00dc7c20 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7C50 40 xor_decrypt_0x0a_00dc7c50 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7C80 40 xor_decrypt_0x0a_00dc7c80 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7CB0 40 xor_decrypt_0x0a_00dc7cb0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7CE0 40 xor_decrypt_0x0a_00dc7ce0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7D10 40 xor_decrypt_0x0a_00dc7d10 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7D40 40 xor_decrypt_0x0a_00dc7d40 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7D70 40 xor_decrypt_0x0a_00dc7d70 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7DA0 40 xor_decrypt_0x0a_00dc7da0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7DD0 40 xor_decrypt_0x0a_00dc7dd0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7E00 40 xor_decrypt_0x0a_00dc7e00 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7E30 40 xor_decrypt_0x0a_00dc7e30 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7E60 40 xor_decrypt_0x0a_00dc7e60 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7E90 40 xor_decrypt_0x0a_00dc7e90 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7EC0 40 xor_decrypt_0x0a_00dc7ec0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7EF0 40 xor_decrypt_0x0a_00dc7ef0 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7F20 40 xor_decrypt_0x0a_00dc7f20 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7F50 40 xor_decrypt_0x0a_00dc7f50 security XOR-decrypts a 10-byte buffer at offset 0x0a with unique keys if not already decrypted, then clears the flag byte. 0x00DC7F80 40 xor_decrypt_0x10_00dc7f80 security XOR-decrypts a 0x10-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC7FB0 40 xor_decrypt_0x10_00dc7fb0 security XOR-decrypts a 0x10-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC7FE0 40 xor_decrypt_0x10_00dc7fe0 security XOR-decrypts a 0x10-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8010 40 xor_decrypt_0x10_00dc8010 security XOR-decrypts a 0x10-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8040 40 xor_decrypt_0x10_00dc8040 security XOR-decrypts a 0x10-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8070 40 xor_decrypt_0x12_00dc8070 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC80A0 40 xor_decrypt_0x12_00dc80a0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC80D0 40 xor_decrypt_0x12_00dc80d0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8100 40 xor_decrypt_0x12_00dc8100 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8130 40 xor_decrypt_0x12_00dc8130 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8160 40 xor_decrypt_0x12_00dc8160 security XOR decrypts a 0x12-byte buffer using keys 0xe921ad6f/0xb739073f. Checks flag at +0x12 to avoid double-decryption. One of ~40 identical decrypt stubs with different key pairs, used for obfuscated string decryption. 0x00DC8190 40 xor_decrypt_0x12_00dc8190 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC81C0 40 xor_decrypt_0x12_00dc81c0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC81F0 40 xor_decrypt_0x12_00dc81f0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8220 40 xor_decrypt_0x12_00dc8220 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8250 40 xor_decrypt_0x12_00dc8250 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8280 40 xor_decrypt_0x12_00dc8280 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC82B0 40 xor_decrypt_0x12_00dc82b0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC82E0 40 xor_decrypt_0x12_00dc82e0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8310 40 xor_decrypt_0x12_00dc8310 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8340 40 xor_decrypt_0x12_00dc8340 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8370 40 xor_decrypt_0x12_00dc8370 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC83A0 40 xor_decrypt_0x12_00dc83a0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC83D0 40 xor_decrypt_0x12_00dc83d0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8400 40 xor_decrypt_0x12_00dc8400 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8430 40 xor_decrypt_0x12_00dc8430 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8460 40 xor_decrypt_0x12_00dc8460 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8490 40 xor_decrypt_0x12_00dc8490 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC84C0 40 xor_decrypt_0x12_00dc84c0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC84F0 40 xor_decrypt_0x12_00dc84f0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8520 40 xor_decrypt_0x12_00dc8520 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8550 40 xor_decrypt_0x12_00dc8550 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8580 40 xor_decrypt_0x12_00dc8580 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC85B0 40 xor_decrypt_0x12_00dc85b0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC85E0 40 xor_decrypt_0x12_00dc85e0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8610 40 xor_decrypt_0x12_00dc8610 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8640 40 xor_decrypt_0x12_00dc8640 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8670 40 xor_decrypt_0x12_00dc8670 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC86A0 40 xor_decrypt_0x12_00dc86a0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC86D0 40 xor_decrypt_0x12_00dc86d0 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8700 40 xor_decrypt_0x12_00dc8700 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8730 40 xor_decrypt_0x12_00dc8730 security XOR-decrypts a 0x12-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8760 40 xor_decrypt_0x14_00dc8760 security XOR-decrypts a 0x14-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8790 40 xor_decrypt_0x14_00dc8790 security XOR-decrypts a 0x14-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC87C0 40 xor_decrypt_0x14_00dc87c0 security XOR-decrypts a 0x14-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC87F0 40 xor_decrypt_0x16_00dc87f0 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8820 40 xor_decrypt_0x16_00dc8820 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8850 40 xor_decrypt_0x16_00dc8850 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8880 40 xor_decrypt_0x16_00dc8880 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC88B0 40 xor_decrypt_0x16_00dc88b0 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC88E0 40 xor_decrypt_0x16_00dc88e0 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8910 40 xor_decrypt_0x16_00dc8910 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8940 40 xor_decrypt_0x16_00dc8940 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8970 40 xor_decrypt_0x16_00dc8970 security XOR decrypt entry. Checks flag at offset+0x16, decrypts 0x16 bytes with keys 0x9D235DDF/DAT_01E7898D, clears flag. 0x00DC89A0 40 xor_decrypt_0x16_00dc89a0 security XOR decrypt entry. Checks flag at offset+0x16, decrypts 0x16 bytes with keys 0xF3395587/0x3939079F, clears flag. 0x00DC89D0 40 xor_decrypt_0x16_00dc89d0 security XOR decrypt entry. Checks flag at offset+0x16, decrypts 0x16 bytes with keys 0x97A37DCF/0x3D8387EF, clears flag. 0x00DC8A00 40 xor_decrypt_0x16_00dc8a00 security XOR decrypt entry. Checks flag at offset+0x16, decrypts 0x16 bytes with keys 0x71B701AB/0x4917EB6D, clears flag. 0x00DC8A30 40 xor_decrypt_0x16_00dc8a30 security XOR decrypt entry. Checks flag at offset+0x16, decrypts 0x16 bytes with keys 0x7BF39BE1/0x61FF87ED, clears flag. 0x00DC8A60 40 xor_decrypt_0x16_00dc8a60 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8A90 40 xor_decrypt_0x16_00dc8a90 security XOR-decrypts a 0x16-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8AC0 40 xor_decrypt_0x17_00dc8ac0 security XOR-decrypts a 0x17-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8AF0 40 xor_decrypt_0x17_00dc8af0 security XOR-decrypts a 0x17-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8B20 40 xor_decrypt_0x17_00dc8b20 security XOR-decrypts a 0x17-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8B50 40 xor_decrypt_0x18_00dc8b50 security XOR-decrypts a 0x18-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8B80 40 xor_decrypt_0x18_00dc8b80 security XOR-decrypts a 0x18-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8BB0 40 xor_decrypt_0x19_00dc8bb0 security XOR-decrypts a 0x19-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8BE0 40 xor_decrypt_0x19_00dc8be0 security XOR-decrypts a 0x19-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8C10 40 xor_decrypt_0x19_00dc8c10 security XOR-decrypts a 0x19-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8C40 40 xor_decrypt_0x19_00dc8c40 security XOR-decrypts a 0x19-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8C70 40 xor_decrypt_0x19_00dc8c70 security XOR-decrypts a 0x19-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8CA0 40 xor_decrypt_0x19_00dc8ca0 security XOR-decrypts a 0x19-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8CD0 40 xor_decrypt_0x1a_00dc8cd0 security XOR-decrypts a 0x1a-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8D00 40 xor_decrypt_0x1a_00dc8d00 security XOR-decrypts a 0x1a-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8D30 40 xor_decrypt_0x1a_00dc8d30 security XOR-decrypts a 0x1a-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8D60 40 xor_decrypt_0x1a_00dc8d60 security XOR-decrypts a 0x1a-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8D90 40 xor_decrypt_0x1a_00dc8d90 security XOR-decrypts a 0x1a-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8DC0 40 xor_decrypt_0x1c_00dc8dc0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8DF0 40 xor_decrypt_0x1c_00dc8df0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8E20 40 xor_decrypt_0x1c_00dc8e20 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8E50 40 xor_decrypt_entry_00dc8e50 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8E80 40 xor_decrypt_entry_00dc8e80 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8EB0 40 xor_decrypt_entry_00dc8eb0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8EE0 40 xor_decrypt_entry_00dc8ee0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8F10 40 xor_decrypt_entry_00dc8f10 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8F40 40 xor_decrypt_entry_00dc8f40 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8F70 40 xor_decrypt_entry_00dc8f70 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8FA0 40 xor_decrypt_entry_00dc8fa0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC8FD0 40 xor_decrypt_entry_00dc8fd0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9000 40 xor_decrypt_entry_00dc9000 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9030 40 xor_decrypt_entry_00dc9030 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9060 40 xor_decrypt_entry_00dc9060 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9090 40 xor_decrypt_entry_00dc9090 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC90C0 40 xor_decrypt_entry_00dc90c0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC90F0 40 xor_decrypt_entry_00dc90f0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9120 40 xor_decrypt_entry_00dc9120 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9150 40 xor_decrypt_entry_00dc9150 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9180 40 xor_decrypt_entry_00dc9180 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC91B0 40 xor_decrypt_entry_00dc91b0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC91E0 40 xor_decrypt_entry_00dc91e0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9210 40 xor_decrypt_entry_00dc9210 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9240 40 xor_decrypt_entry_00dc9240 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9270 40 xor_decrypt_entry_00dc9270 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC92A0 40 xor_decrypt_entry_00dc92a0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC92D0 40 xor_decrypt_entry_00dc92d0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9300 40 xor_decrypt_entry_00dc9300 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9330 40 xor_decrypt_entry_00dc9330 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9360 40 xor_decrypt_entry_00dc9360 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9390 40 xor_decrypt_entry_00dc9390 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC93C0 40 xor_decrypt_entry_00dc93c0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC93F0 40 xor_decrypt_entry_00dc93f0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9420 40 xor_decrypt_entry_00dc9420 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9450 40 xor_decrypt_entry_00dc9450 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9480 40 xor_decrypt_entry_00dc9480 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC94B0 40 xor_decrypt_entry_00dc94b0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC94E0 40 xor_decrypt_entry_00dc94e0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9510 40 xor_decrypt_entry_00dc9510 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9540 40 xor_decrypt_entry_00dc9540 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9570 40 xor_decrypt_entry_00dc9570 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC95A0 40 xor_decrypt_entry_00dc95a0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC95D0 40 xor_decrypt_entry_00dc95d0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9600 40 xor_decrypt_entry_00dc9600 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9630 40 xor_decrypt_entry_00dc9630 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9660 40 xor_decrypt_entry_00dc9660 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9690 40 xor_decrypt_entry_00dc9690 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC96C0 40 xor_decrypt_entry_00dc96c0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC96F0 40 xor_decrypt_entry_00dc96f0 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9720 40 xor_decrypt_entry_00dc9720 security XOR-decrypts a 0x1c-byte buffer with unique keys if not already decrypted, then clears the flag byte. 0x00DC9750 40 xor_decrypt_string_00dc9750 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with keys 0x9bbbedf7/0xcbd1f323. Clears decrypt flag after first call. Part of string obfuscation system. 0x00DC9780 40 xor_decrypt_string_00dc9780 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with keys 0x1589b50b/0xc399b709. Clears decrypt flag after first call. Part of string obfuscation system. 0x00DC97B0 40 xor_decrypt_string_00dc97b0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with keys 0xc5a50b6b/0xbdaddd87. Part of string obfuscation system. 0x00DC97E0 40 xor_decrypt_string_00dc97e0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9810 40 xor_decrypt_string_00dc9810 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with keys 0x237315f3/0xb5f3f779. Part of string obfuscation system. 0x00DC9840 40 xor_decrypt_string_00dc9840 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9870 40 xor_decrypt_string_00dc9870 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC98A0 40 xor_decrypt_string_00dc98a0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC98D0 40 xor_decrypt_string_00dc98d0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9900 40 xor_decrypt_string_00dc9900 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9930 40 xor_decrypt_string_00dc9930 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9960 40 xor_decrypt_string_00dc9960 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9990 40 xor_decrypt_string_00dc9990 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC99C0 40 xor_decrypt_string_00dc99c0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC99F0 40 xor_decrypt_string_00dc99f0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9A20 40 xor_decrypt_string_00dc9a20 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9A50 40 xor_decrypt_string_00dc9a50 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9A80 40 xor_decrypt_string_00dc9a80 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9AB0 40 xor_decrypt_string_00dc9ab0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9AE0 40 xor_decrypt_string_00dc9ae0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9B10 40 xor_decrypt_string_00dc9b10 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9B40 40 xor_decrypt_string_00dc9b40 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9B70 40 xor_decrypt_string_00dc9b70 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9BA0 40 xor_decrypt_string_00dc9ba0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9BD0 40 xor_decrypt_string_00dc9bd0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9C00 40 xor_decrypt_string_00dc9c00 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9C30 40 xor_decrypt_string_00dc9c30 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9C60 40 xor_decrypt_string_00dc9c60 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9C90 40 xor_decrypt_string_00dc9c90 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9CC0 40 xor_decrypt_string_00dc9cc0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9CF0 40 xor_decrypt_string_00dc9cf0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9D20 40 xor_decrypt_string_00dc9d20 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9D50 40 xor_decrypt_string_00dc9d50 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9D80 40 xor_decrypt_string_00dc9d80 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9DB0 40 xor_decrypt_string_00dc9db0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9DE0 40 xor_decrypt_string_00dc9de0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9E10 40 xor_decrypt_string_00dc9e10 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9E40 40 xor_decrypt_string_00dc9e40 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9E70 40 xor_decrypt_string_00dc9e70 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9EA0 40 xor_decrypt_string_00dc9ea0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9ED0 40 xor_decrypt_string_00dc9ed0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9F00 40 xor_decrypt_string_00dc9f00 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9F30 40 xor_decrypt_string_00dc9f30 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9F60 40 xor_decrypt_string_00dc9f60 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9F90 40 xor_decrypt_string_00dc9f90 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9FC0 40 xor_decrypt_string_00dc9fc0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DC9FF0 40 xor_decrypt_string_00dc9ff0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DCA020 40 xor_decrypt_string_00dca020 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DCA050 40 xor_decrypt_string_00dca050 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DCA080 40 xor_decrypt_string_00dca080 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DCA0B0 40 xor_decrypt_string_00dca0b0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DCA0E0 40 xor_decrypt_string_00dca0e0 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DCA110 40 xor_decrypt_string_00dca110 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DCA140 40 xor_decrypt_string_00dca140 security XOR string decryptor. Decrypts 14-byte buffer using xor_decrypt_buffer with unique keys. Part of string obfuscation system. 0x00DCA170 206 tls_encrypted_string_init_00dca170 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer at TLS offset 0xca14 (14 bytes). Checks init flag, copies encrypted data from stack, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA240 204 tls_encrypted_string_init_00dca240 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer at TLS offset 0xca28 (18 bytes). Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA310 206 tls_encrypted_string_init_00dca310 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer at TLS offset 0xca40 (14 bytes). Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA3E0 206 tls_encrypted_string_init_00dca3e0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data from stack/globals, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA4B0 204 tls_encrypted_string_init_00dca4b0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA580 204 tls_encrypted_string_init_00dca580 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA650 204 tls_encrypted_string_init_00dca650 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA720 204 tls_encrypted_string_init_00dca720 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA7F0 204 tls_encrypted_string_init_00dca7f0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA8C0 206 tls_encrypted_string_init_00dca8c0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCA990 204 tls_encrypted_string_init_00dca990 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCAA60 206 tls_encrypted_string_init_00dcaa60 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCAB30 204 tls_encrypted_string_init_00dcab30 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCAC00 206 tls_encrypted_string_init_00dcac00 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCACD0 204 tls_encrypted_string_init_00dcacd0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCADA0 204 tls_encrypted_string_init_00dcada0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCAE70 204 tls_encrypted_string_init_00dcae70 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCAF40 206 tls_encrypted_string_init_00dcaf40 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB010 204 tls_encrypted_string_init_00dcb010 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB0E0 206 tls_encrypted_string_init_00dcb0e0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB1B0 204 tls_encrypted_string_init_00dcb1b0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB280 206 tls_encrypted_string_init_00dcb280 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB350 204 tls_encrypted_string_init_00dcb350 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB420 204 tls_encrypted_string_init_00dcb420 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB4F0 204 tls_encrypted_string_init_00dcb4f0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB5C0 204 tls_encrypted_string_init_00dcb5c0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB690 206 tls_encrypted_string_init_00dcb690 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB760 206 tls_encrypted_string_init_00dcb760 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB830 204 tls_encrypted_string_init_00dcb830 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB900 206 tls_encrypted_string_init_00dcb900 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCB9D0 220 tls_encrypted_string_init_00dcb9d0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer at TLS offset 0xcc3c (28 bytes). Checks init flag, copies encrypted data from globals, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCBAB0 204 tls_encrypted_string_init_00dcbab0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCBB80 204 tls_encrypted_string_init_00dcbb80 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCBC50 206 tls_encrypted_string_init_00dcbc50 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCBD20 204 tls_encrypted_string_init_00dcbd20 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCBDF0 204 tls_encrypted_string_init_00dcbdf0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCBEC0 204 tls_encrypted_string_init_00dcbec0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCBF90 204 tls_encrypted_string_init_00dcbf90 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC060 220 tls_encrypted_string_init_00dcc060 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC140 206 tls_encrypted_string_init_00dcc140 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC210 204 tls_encrypted_string_init_00dcc210 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC2E0 206 tls_encrypted_string_init_00dcc2e0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC3B0 204 tls_encrypted_string_init_00dcc3b0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC480 206 tls_encrypted_string_init_00dcc480 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC550 204 tls_encrypted_string_init_00dcc550 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC620 204 tls_encrypted_string_init_00dcc620 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC6F0 204 tls_encrypted_string_init_00dcc6f0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC7C0 204 tls_encrypted_string_init_00dcc7c0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC890 206 tls_encrypted_string_init_00dcc890 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCC960 206 tls_encrypted_string_init_00dcc960 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCCA30 204 tls_encrypted_string_init_00dcca30 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCCB00 206 tls_encrypted_string_init_00dccb00 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCCBD0 220 tls_encrypted_string_init_00dccbd0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCCCB0 204 tls_encrypted_string_init_00dcccb0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCCD80 204 tls_encrypted_string_init_00dccd80 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCCE50 206 tls_encrypted_string_init_00dcce50 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCCF20 204 tls_encrypted_string_init_00dccf20 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCCFF0 204 tls_encrypted_string_init_00dccff0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD0C0 204 tls_encrypted_string_init_00dcd0c0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD190 204 tls_encrypted_string_init_00dcd190 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD260 220 tls_encrypted_string_init_00dcd260 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD340 206 tls_encrypted_string_init_00dcd340 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD410 204 tls_encrypted_string_init_00dcd410 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD4E0 204 tls_encrypted_string_init_00dcd4e0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD5B0 204 tls_encrypted_string_init_00dcd5b0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD680 206 tls_encrypted_string_init_00dcd680 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD750 206 tls_encrypted_string_init_00dcd750 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD820 204 tls_encrypted_string_init_00dcd820 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD8F0 206 tls_encrypted_string_init_00dcd8f0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCD9C0 204 tls_encrypted_string_init_00dcd9c0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCDA90 204 tls_encrypted_string_init_00dcda90 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCDB60 220 tls_encrypted_string_init_00dcdb60 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer at TLS offset 0xcf9c (28 bytes). Checks init flag, copies encrypted data from globals, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCDC40 220 tls_encrypted_string_init_00dcdc40 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCDD20 220 tls_encrypted_string_init_00dcdd20 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCDE00 220 tls_encrypted_string_init_00dcde00 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCDEE0 220 tls_encrypted_string_init_00dcdee0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCDFC0 220 tls_encrypted_string_init_00dcdfc0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE0A0 220 tls_encrypted_string_init_00dce0a0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE180 220 tls_encrypted_string_init_00dce180 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE260 220 tls_encrypted_string_init_00dce260 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE340 220 tls_encrypted_string_init_00dce340 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE420 220 tls_encrypted_string_init_00dce420 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE500 204 tls_encrypted_string_init_00dce500 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE5D0 204 tls_encrypted_string_init_00dce5d0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE6A0 206 tls_encrypted_string_init_00dce6a0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE770 206 tls_encrypted_string_init_00dce770 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE840 206 tls_encrypted_string_init_00dce840 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE910 206 tls_encrypted_string_init_00dce910 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCE9E0 204 tls_encrypted_string_init_00dce9e0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCEAB0 204 tls_encrypted_string_init_00dceab0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCEB80 204 tls_encrypted_string_init_00dceb80 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCEC50 204 tls_encrypted_string_init_00dcec50 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCED20 204 tls_encrypted_string_init_00dced20 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCEDF0 204 tls_encrypted_string_init_00dcedf0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCEEC0 204 tls_encrypted_string_init_00dceec0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCEF90 204 tls_encrypted_string_init_00dcef90 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF060 206 tls_encrypted_string_init_00dcf060 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF130 206 tls_encrypted_string_init_00dcf130 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF200 204 tls_encrypted_string_init_00dcf200 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF2D0 204 tls_encrypted_string_init_00dcf2d0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF3A0 220 tls_encrypted_string_init_00dcf3a0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF480 220 tls_encrypted_string_init_00dcf480 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF560 220 tls_encrypted_string_init_00dcf560 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF640 204 tls_encrypted_string_init_00dcf640 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF710 204 tls_encrypted_string_init_00dcf710 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF7E0 206 tls_encrypted_string_init_00dcf7e0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF8B0 206 tls_encrypted_string_init_00dcf8b0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCF980 204 tls_encrypted_string_init_00dcf980 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCFA50 204 tls_encrypted_string_init_00dcfa50 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCFB20 204 tls_encrypted_string_init_00dcfb20 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCFBF0 204 tls_encrypted_string_init_00dcfbf0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCFCC0 204 tls_encrypted_string_init_00dcfcc0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCFD90 204 tls_encrypted_string_init_00dcfd90 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCFE60 204 tls_encrypted_string_init_00dcfe60 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DCFF30 204 tls_encrypted_string_init_00dcff30 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0000 204 tls_encrypted_string_init_00dd0000 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD00D0 206 tls_encrypted_string_init_00dd00d0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD01A0 204 tls_encrypted_string_init_00dd01a0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0270 204 tls_encrypted_string_init_00dd0270 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0340 206 tls_encrypted_string_init_00dd0340 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0410 206 tls_encrypted_string_init_00dd0410 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD04E0 204 tls_encrypted_string_init_00dd04e0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD05B0 206 tls_encrypted_string_init_00dd05b0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0680 204 tls_encrypted_string_init_00dd0680 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0750 204 tls_encrypted_string_init_00dd0750 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0820 204 tls_encrypted_string_init_00dd0820 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD08F0 204 tls_encrypted_string_init_00dd08f0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD09C0 204 tls_encrypted_string_init_00dd09c0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0A90 206 tls_encrypted_string_init_00dd0a90 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0B60 206 tls_encrypted_string_init_00dd0b60 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0C30 206 tls_encrypted_string_init_00dd0c30 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0D00 206 tls_encrypted_string_init_00dd0d00 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0DD0 204 tls_encrypted_string_init_00dd0dd0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0EA0 206 tls_encrypted_string_init_00dd0ea0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD0F70 206 tls_encrypted_string_init_00dd0f70 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1040 206 tls_encrypted_string_init_00dd1040 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1110 206 tls_encrypted_string_init_00dd1110 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD11E0 204 tls_encrypted_string_init_00dd11e0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD12B0 204 tls_encrypted_string_init_00dd12b0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1380 204 tls_encrypted_string_init_00dd1380 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1450 204 tls_encrypted_string_init_00dd1450 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1520 204 tls_encrypted_string_init_00dd1520 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD15F0 204 tls_encrypted_string_init_00dd15f0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD16C0 204 tls_encrypted_string_init_00dd16c0 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1790 204 tls_encrypted_string_init_00dd1790 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1860 204 tls_encrypted_string_init_00dd1860 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer. Checks init flag, copies encrypted data, registers cleanup callback. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1930 204 tls_encrypted_string_init_00dd1930 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer at TLS+0xd670. Checks init flag at TLS+0xd688, copies 0x16 bytes of encrypted data, registers cleanup callback via tls_register_destructor. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1A00 204 tls_encrypted_string_init_00dd1a00 security TLS encrypted string initializer. Lazily initializes a thread-local encrypted string buffer at TLS+0xd68c. Checks init flag at TLS+0xd6a4, copies 0x16 bytes of encrypted data, registers cleanup callback via tls_register_destructor. Returns pointer to TLS string data. Part of string obfuscation system. 0x00DD1AD0 204 tls_init_var_d6a8 security TLS variable initializer. Copies 0x16 bytes to TLS offset 0xd6a8. Registers atexit cleanup. Returns pointer to TLS+0xd6a8. 0x00DD1BA0 190 tls_init_var_d6c4 security TLS variable initializer. Copies 0x10 bytes to TLS offset 0xd6c4. Registers atexit cleanup. Returns pointer to TLS+0xd6c4. 0x00DD1C60 204 tls_init_var_d6dc security TLS variable initializer. Copies 0xc bytes to TLS offset 0xd6dc. Registers atexit cleanup. Returns pointer to TLS+0xd6dc. 0x00DD1D30 190 tls_init_var_d6f0 security TLS variable initializer. Copies 0x10 bytes to TLS offset 0xd6f0. Registers atexit cleanup. Returns pointer to TLS+0xd6f0. 0x00DD1DF0 204 tls_init_var_d708 security TLS variable initializer. Copies 0xc bytes to TLS offset 0xd708. Registers atexit cleanup. Returns pointer to TLS+0xd708. 0x00DD1EC0 204 tls_init_var_d71c security TLS variable initializer. Copies 0x14 bytes to TLS offset 0xd71c. Registers atexit cleanup. Returns pointer to TLS+0xd71c. 0x00DD1F90 204 tls_init_var_d738 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd738. Registers atexit cleanup. Returns pointer to TLS+0xd738. 0x00DD2060 220 tls_init_var_d750 security TLS variable initializer. Copies 0x17 bytes to TLS offset 0xd750. Registers atexit cleanup. Returns pointer to TLS+0xd750. 0x00DD2140 204 tls_init_var_d76c security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd76c. Registers atexit cleanup. 0x00DD2210 220 tls_init_var_d784 security TLS variable initializer. Copies 0x17 bytes to TLS offset 0xd784. Registers atexit cleanup. 0x00DD22F0 204 tls_init_var_d7a0 security TLS variable initializer. Copies 10 bytes to TLS offset 0xd7a0. Registers atexit cleanup. 0x00DD23C0 204 tls_init_var_d7b0 security TLS variable initializer. Copies 10 bytes to TLS offset 0xd7b0. Registers atexit cleanup. 0x00DD2490 190 tls_init_var_d7c0 security TLS variable initializer. Copies 0x10 bytes to TLS offset 0xd7c0. Registers atexit cleanup. 0x00DD2550 204 tls_init_var_d7d8 security TLS variable initializer. Copies 0xc bytes to TLS offset 0xd7d8. Registers atexit cleanup. 0x00DD2620 190 tls_init_var_d7ec security TLS variable initializer. Copies 0x10 bytes to TLS offset 0xd7ec. Registers atexit cleanup. 0x00DD26E0 204 tls_init_var_d804 security TLS variable initializer. Copies 0xc bytes to TLS offset 0xd804. Registers atexit cleanup. 0x00DD27B0 204 tls_init_var_d818 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd818. Registers atexit cleanup. 0x00DD2880 204 tls_init_var_d830 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd830. Registers atexit cleanup. 0x00DD2950 204 tls_init_var_d848 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd848. Registers atexit cleanup. 0x00DD2A20 204 tls_init_var_d860 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd860. Registers atexit cleanup. 0x00DD2AF0 204 tls_init_var_d878 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd878. Registers atexit cleanup. 0x00DD2BC0 206 tls_init_var_d890 security TLS variable initializer. Copies 0xe bytes to TLS offset 0xd890. Registers atexit cleanup. 0x00DD2C90 206 tls_init_var_d8a4 security TLS variable initializer. Copies 0xe bytes to TLS offset 0xd8a4. Registers atexit cleanup. 0x00DD2D60 204 tls_init_var_d8b8 security TLS variable initializer. Copies 10 bytes to TLS offset 0xd8b8. Registers atexit cleanup. 0x00DD2E30 204 tls_init_var_d8c8 security TLS variable initializer. Copies 10 bytes to TLS offset 0xd8c8. Registers atexit cleanup. 0x00DD2F00 204 tls_init_var_d8d8 security TLS variable initializer. Copies 0x14 bytes to TLS offset 0xd8d8. Registers atexit cleanup. 0x00DD2FD0 204 tls_init_var_d8f4 security TLS variable initializer. Copies 0x14 bytes to TLS offset 0xd8f4. Registers atexit cleanup. 0x00DD30A0 204 tls_init_var_d910 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd910. Registers atexit cleanup. 0x00DD3170 206 tls_init_var_d928 security TLS variable initializer. Copies 0xe bytes to TLS offset 0xd928. Registers atexit cleanup. 0x00DD3240 204 tls_init_var_d93c security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd93c. Registers atexit cleanup. 0x00DD3310 206 tls_init_var_d954 security TLS variable initializer. Copies 0xe bytes to TLS offset 0xd954. Registers atexit cleanup. 0x00DD33E0 204 tls_init_var_d968 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd968. Registers atexit cleanup. 0x00DD34B0 204 tls_init_var_d980 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd980. Registers atexit cleanup. 0x00DD3580 204 tls_init_var_d998 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd998. Registers atexit cleanup. 0x00DD3650 206 tls_init_var_d9b0 security TLS variable initializer. Copies 0xe bytes to TLS offset 0xd9b0. Registers atexit cleanup. 0x00DD3720 204 tls_init_var_d9c4 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xd9c4. Registers atexit cleanup. 0x00DD37F0 206 tls_init_var_d9dc security TLS variable initializer. Copies 0xe bytes to TLS offset 0xd9dc. Registers atexit cleanup. 0x00DD38C0 206 tls_init_var_d9f0 security TLS variable initializer. Copies 0xe bytes to TLS offset 0xd9f0. Registers atexit cleanup. 0x00DD3990 206 tls_init_var_da04 security TLS variable initializer. Copies 0xe bytes to TLS offset 0xda04. Registers atexit cleanup. 0x00DD3A60 206 tls_init_var_da18 security TLS variable initializer. Copies 0xe bytes to TLS offset 0xda18. Registers atexit cleanup. 0x00DD3B30 206 tls_init_var_da2c security TLS variable initializer. Copies 0xe bytes to TLS offset 0xda2c. Registers atexit cleanup. 0x00DD3C00 204 tls_init_var_da40 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xda40. Registers atexit cleanup. 0x00DD3CD0 220 tls_init_var_da58 security TLS variable initializer. Copies 0x17 bytes to TLS offset 0xda58. Registers atexit cleanup. 0x00DD3DB0 220 tls_init_var_da74 security TLS variable initializer. Copies 0x19 bytes to TLS offset 0xda74. Registers atexit cleanup. 0x00DD3E90 204 tls_init_var_da94 security TLS variable initializer. Copies 0x16 bytes to TLS offset 0xda94. Registers atexit cleanup. 0x00DD3F60 220 tls_init_var_dab0 security TLS variable initializer. Copies 0x1d bytes to TLS offset 0xdab0. Registers atexit cleanup. 0x00DD4040 204 tls_init_var_dad4 security TLS variable initializer. Copies 0x12 bytes to TLS offset 0xdad4. Registers atexit cleanup. 0x00DD4110 220 tls_init_var_daec security TLS variable initializer. Copies 0x19 bytes to TLS offset 0xdaec. Registers atexit cleanup. 0x00DD41F0 204 tls_init_var_db0c security TLS variable initializer. Copies obfuscated data to TLS offset 0xdb0c. Registers atexit cleanup. 0x00DD42C0 220 tls_init_var_db24 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdb24. Registers atexit cleanup. 0x00DD43A0 384 bitmask_to_3slot_indices game_items Converts a 10-bit bitmask to up to 3 slot indices. Iterates bits 0-9, fills output with indices of set bits. If fewer than 3 set bits, pads with -1. Uses STL vector internally for temporary storage. 0x00DD4530 204 tls_init_var_db44 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdb44. Registers atexit cleanup. 0x00DD4600 220 tls_init_var_db60 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdb60. Registers atexit cleanup. 0x00DD46E0 204 tls_init_var_db84 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdb84. Registers atexit cleanup. 0x00DD47B0 220 tls_init_var_db98 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdb98. Registers atexit cleanup. 0x00DD4890 190 tls_init_var_dbb8 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdbb8. Registers atexit cleanup. 0x00DD4950 220 tls_init_var_dbd0 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdbd0. Registers atexit cleanup. 0x00DD4A30 220 tls_init_var_dbf4 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdbf4. Registers atexit cleanup. 0x00DD4B10 220 tls_init_var_dc1c security TLS variable initializer. Copies obfuscated data to TLS offset 0xdc1c. Registers atexit cleanup. 0x00DD4BF0 221 tls_init_var_dc40 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdc40. Registers atexit cleanup. 0x00DD4CD0 222 tls_init_var_dc70 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdc70. Registers atexit cleanup. 0x00DD4DB0 220 tls_init_var_dca4 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdca4. Registers atexit cleanup. 0x00DD4E90 222 tls_init_var_dcc8 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdcc8. Registers atexit cleanup. 0x00DD4F70 236 tls_init_var_dcfc security TLS variable initializer. Copies obfuscated data to TLS offset 0xdcfc. Registers atexit cleanup. 0x00DD5060 220 tls_init_var_dd30 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdd30. Registers atexit cleanup. 0x00DD5140 205 tls_init_var_dd50 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdd50. Registers atexit cleanup. 0x00DD5210 220 tls_init_var_dd78 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdd78. Registers atexit cleanup. 0x00DD52F0 205 tls_init_var_dd98 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdd98. Registers atexit cleanup. 0x00DD53C0 204 tls_init_var_ddc0 security TLS variable initializer. Copies obfuscated data to TLS offset 0xddc0. Registers atexit cleanup. 0x00DD5490 220 tls_init_var_dde0 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdde0. Registers atexit cleanup. 0x00DD5570 221 tls_init_var_de00 security TLS variable initializer. Copies obfuscated data to TLS offset 0xde00. Registers atexit cleanup. 0x00DD5650 220 tls_init_var_de24 security TLS variable initializer. Copies obfuscated data to TLS offset 0xde24. Registers atexit cleanup. 0x00DD5730 205 tls_init_var_de44 security TLS variable initializer. Copies obfuscated data to TLS offset 0xde44. Registers atexit cleanup. 0x00DD5800 204 tls_init_var_de6c security TLS variable initializer. Copies obfuscated data to TLS offset 0xde6c. Registers atexit cleanup. 0x00DD58D0 220 tls_init_var_de84 security TLS variable initializer. Copies obfuscated data to TLS offset 0xde84. Registers atexit cleanup. 0x00DD59B0 204 tls_init_var_dea4 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdea4. Registers atexit cleanup. 0x00DD5A80 220 tls_init_var_debc security TLS variable initializer. Copies obfuscated data to TLS offset 0xdebc. Registers atexit cleanup. 0x00DD5B60 204 tls_init_var_dedc security TLS variable initializer. Copies obfuscated data to TLS offset 0xdedc. Registers atexit cleanup. 0x00DD5C30 221 tls_init_var_defc security TLS variable initializer. Copies obfuscated data to TLS offset 0xdefc. Registers atexit cleanup. 0x00DD5D10 220 tls_init_var_df20 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdf20. Registers atexit cleanup. 0x00DD5DF0 205 tls_init_var_df40 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdf40. Registers atexit cleanup. 0x00DD5EC0 220 tls_init_var_df68 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdf68. Registers atexit cleanup. 0x00DD5FA0 220 tls_init_var_df8c security TLS variable initializer. Copies obfuscated data to TLS offset 0xdf8c. Registers atexit cleanup. 0x00DD6080 204 tls_init_var_dfb8 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdfb8. Registers atexit cleanup. 0x00DD6150 204 tls_init_var_dfcc security TLS variable initializer. Copies obfuscated data to TLS offset 0xdfcc. Registers atexit cleanup. 0x00DD6220 206 tls_init_var_dfe0 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdfe0. Registers atexit cleanup. 0x00DD62F0 206 tls_init_var_dff4 security TLS variable initializer. Copies obfuscated data to TLS offset 0xdff4. Registers atexit cleanup. 0x00DD63C0 206 tls_init_var_e008 security TLS variable initializer. Copies obfuscated data to TLS offset 0xe008. Registers atexit cleanup. 0x00DD6490 204 tls_init_var_e01c security TLS variable initializer. Copies 6 bytes to TLS offset 0xe01c. Registers atexit cleanup. 0x00DD6560 204 tls_init_var_e028 security TLS variable initializer. Copies 6 bytes to TLS offset 0xe028. Registers atexit cleanup. 0x00DD6630 204 tls_init_var_e034 security TLS variable initializer. Copies 7 bytes to TLS offset 0xe034. Registers atexit cleanup. 0x00DD6700 204 tls_init_var_e040 security TLS variable initializer. Copies 7 bytes to TLS offset 0xe040. Registers atexit cleanup. 0x00DD67D0 204 tls_init_var_e04c security TLS variable initializer. Copies 7 bytes to TLS offset 0xe04c. Registers atexit cleanup. 0x00DD68A0 204 tls_init_var_e058 security TLS variable initializer. Copies 9 bytes to TLS offset 0xe058. Registers atexit cleanup. 0x00DD6970 204 tls_init_var_e068 security TLS variable initializer. Copies 0xb bytes to TLS offset 0xe068. Registers atexit cleanup. 0x00DD6A40 204 tls_init_var_e078 security TLS variable initializer. Copies 0xd bytes to TLS offset 0xe078. Registers atexit cleanup. 0x00DD6B10 206 tls_init_var_e08c security TLS variable initializer. Copies 0xe bytes to TLS offset 0xe08c. Registers atexit cleanup. 0x00DD6BE0 206 tls_init_var_e0a0 security TLS variable initializer. Copies 0xe bytes to TLS offset 0xe0a0. Registers atexit cleanup. 0x00DD6CB0 188 CItemCollection__conditional_dtor game_items Conditional destructor for CItemCollection. If flag&2: calls eh_vector_destructor on list elements (8 bytes each), optionally frees array. Otherwise: destroys rb_tree nodes (0x3c each) and frees root. Flag&1 frees the object itself. 0x00DD6D70 287 CItemCollection__equip_to_slots_with_bonus game_items Equips item to up to 3 equipment slots determined by bitmask. For each valid slot index (0-9), copies item desc and marks slot as occupied at offset 0x1800. Then ensures CDataTable singleton exists, applies status bonus, and invalidates visible windows. 0x00DD6E90 121 CItemCollection__add_or_merge_shop_item game_items Adds item to shop item list at offset 0x1728, or if item with same name already exists, adds to its quantity (offset 0x18 in node). String comparison uses std::char_traits equality check. 0x00DD6F10 273 CItemCollection__update_buy_list_entry game_items Updates an existing buy list entry by name match in linked list at offset 0x17e4. Copies price, flags and string data from param into matching node. Calls FUN_00ddffe0 for index tracking and FUN_00e03e70 for UI refresh if not found. 0x00DD7030 119 CItemCollection__add_or_update_selling_item game_items Adds or updates item in selling list at offset 0x1710. If item with matching ID (offset 4) found, updates quantity and flags. Otherwise pushes new item. Calls CUIWindowMgr__notify_language_change if param_3 is set. Returns 0 if merged, 1 if added. 0x00DD70B0 347 CItemCollection__add_or_update_buying_store_item game_items Adds or updates item in buying store price list at offset 0x17dc. On name match: calls FUN_00ddffe0 for index, erases and rebalances. If no match: inserts new entry, checks entity for buying store effect (0xa0), creates it if needed. 0x00DD7210 162 CItemCollection__add_or_update_storage_item game_items Adds or updates item in storage list at offset 0x1768. If item with matching ID found, adds quantity. If param_3==0 and param_4==1, sends UI notification via DAT_0145797c vtable call. Returns 0 if merged, 1 if added. 0x00DD72C0 133 CItemCollection__add_or_update_cart_item game_items Adds or updates item in cart list at offset 0x1740. If item with matching ID found, adds quantity and notifies DAT_01457974 window. Returns 0 if merged, 1 if added. 0x00DD7350 201 CItemCollection__add_or_update_categorized_storage_item game_items Adds or updates item in categorized storage list at offset 0x1750. param_3 selects UI window: 0->DAT_01457a90, 1->DAT_01457978, 2->DAT_01457aa0. Notifies selected window if param_4==1. Returns 0 if merged, 1 if added. 0x00DD7420 69 CItemCollection__add_or_update_guild_storage_item game_items Adds or updates item in guild storage list at offset 0x1758. If item with matching ID found, adds quantity. Otherwise pushes new item. 0x00DD7470 69 CItemCollection__add_or_update_mail_item game_items Adds or updates item in mail attachment list at offset 0x1760. If item with matching ID found, adds quantity. Otherwise pushes new item. 0x00DD74C0 69 CItemCollection__add_or_update_auction_item game_items Adds or updates item in auction item list at offset 0x1748. If item with matching ID found, adds quantity. Otherwise pushes new item. 0x00DD7510 162 CItemCollection__equip_to_slots_extended game_items Equips item to up to 3 equipment slots (extended version). Copies item desc, marks slot occupied at offset 0x21b0, and copies additional fields at 0x2204/0x2208/0x2210 (refine level, option data). Returns 1. 0x00DD75C0 242 CItemCollection__add_item_from_string_id game_items Constructs an item from a string ID (atoi of item name), gets equip slot type and class/level, then pushes it to a shop item list. Cleans up temporary strings. 0x00DD76C0 15 CItemCollection__push_back_wrapper game_items Simple wrapper that delegates to CShopItemList__push_back. Adds item to the end of a linked list. 0x00DD76D0 145 CItemCollection__add_or_merge_deal_item game_items Adds or merges item in deal item list at offset 0x1718. If item with matching name found: if quantity is -1 keeps it at -1, otherwise adds quantity. Otherwise pushes new item. 0x00DD7770 121 CItemCollection__add_or_merge_deal_other_item game_items Adds or merges item in other player's deal list at offset 0x1720. If item with matching name found, adds quantity. Otherwise pushes new item. Name comparison uses std::char_traits. 0x00DD77F0 145 CItemCollection__add_or_merge_deal_item_by_id_or_name game_items Adds or merges deal item at offset 0x1720. If param_2 flag at 0x77 is set, matches by item ID only; otherwise matches by name. If found, adds quantity. Otherwise pushes new item. 0x00DD7890 214 CItemCollection__add_or_update_inventory_with_stack_limit game_items Adds or updates inventory item at offset 0x1730 with stack limit check. Looks up item's stack limit from shop data. If existing item found, updates quantity only if below limit. New items added only if initial quantity fits limit. 0x00DD7970 440 CItemCollection__add_item_from_desc_or_lookup game_items Adds item to collection. If param_2==0: creates item directly from desc (string ID -> atoi -> class/level lookup). Otherwise: looks up item from shop, copies it, builds desc, and pushes. Used for creating item entries from different sources. 0x00DD7B30 79 CItemCollection__add_or_merge_deal_item_by_id game_items Adds or merges item in deal list at offset 0x1718 by item ID match. If existing item has -1 quantity (infinite), keeps it unchanged. Otherwise adds quantity. New items pushed if not found. 0x00DD7B80 167 CItemCollection__add_or_update_favorite_item game_items Adds or updates item in favorites list at offset 0x1738. Checks DAT_016f7144 flag and global EffectMap for mode. If item found by ID, adds quantity. Notifies DAT_01457908 window on change. Returns 0 if merged, 1 if added. 0x00DD7C30 228 CItemCollection__update_or_add_equip_compare_slot_A game_items Updates or adds item to equip comparison slot array A at offset 0x3eb4. If item with matching slot found, updates quantity. Otherwise fills first empty slot. Notifies equip compare window (type 0x271b) after update. 0x00DD7D20 228 CItemCollection__update_or_add_equip_compare_slot_B game_items Updates or adds item to equip comparison slot array B at offset 0x4864. Same logic as slot A version but different base offset. Notifies equip compare window (type 0x271b) after update. 0x00DD7E10 307 equip_location_to_slot_indices game_core Converts equip location bitmask (e.g. 0x8000=accessory) to internal slot indices. Maps RO equip location constants to internal bit positions, then calls bitmask_to_3slot_indices to get up to 3 slot indices. 0x8000->slot 0xF, 0x100000->slot 8, etc. 0x00DD7F50 176 scale_rect_to_resolution game_core Scales a rectangle (x, y, width, height) to the current screen resolution. Uses global resolution scale factors from DAT_011a9880/DAT_011a9874. Adds 17-pixel offset to Y coordinates for the title bar. 0x00DD8000 43 CItemCollection__set_buy_list_item_flag game_items Sets a flag (offset 0x54 in node) on a buy list item at offset 0x17dc, matched by item ID. No-op if item not found. 0x00DD8030 53 CItemCollection__set_buy_list_item_options game_items Sets two short options (at offsets 0x50 and 0x52 in node) on a buy list item at offset 0x17dc, matched by item ID. No-op if not found. 0x00DD8070 43 CItemCollection__set_buy_list_item_price game_items Sets the price field (offset 0x44 in node) on a buy list item at offset 0x17dc, matched by item ID. No-op if not found. 0x00DD80A0 735 CItemCollection__randomize_and_update_map_bounds game_items Randomizes 5 map parameters at offsets 0x532c-0x533c (mod 12 each) and 12 at 0x5340+. Updates map bounds (0x5568-0x5574) and refreshes entity grid display if bounds changed. Uses DAT_0145785c window for invalidation. 0x00DD8380 202 CItemCollection__clear_all_categorized_lists game_items Clears 11 categorized item lists starting at offset 0x1784. Iterates each list, destroys string data, frees nodes (0x100 bytes each), and updates count. 0x00DD8450 205 CItemCollection__remove_non_equipment_from_selling game_items Removes non-equipment items from selling list at offset 0x1710. Keeps items of type 4,5,8,9,11-15 (equipment types), removes all others. Notifies UI after cleanup. 0x00DD8540 84 CItemCollection__clear_deal_and_inventory_lists game_items Clears three item lists: deal other (0x1720), inventory (0x1730), and deal self (0x1718). Uses CNavigationWnd__on_scroll_event to traverse and clear each list. 0x00DD85A0 11 clear_bit6_flag game_core Clears bit 6 (0x40) from the flag at param_1. Simple bitwise AND with 0xFFFFFFBF. 0x00DD85B0 171 CItemCollection__reset_all_equip_slots game_items Resets all 10 equipment slots by calling CItemDesc__reset_all_fields on each. Notifies item list window, ensures CDataTable singleton exists, resets all active item bonuses, and invalidates visible windows. 0x00DD8660 205 CItemCollection__remove_equipment_from_selling game_items Removes equipment items from selling list at offset 0x1710. Removes items of type 4,5,8,9,11-15 (equipment types), keeps all others. Inverse of remove_non_equipment. Notifies UI after cleanup. 0x00DD8750 111 CItemCollection__clear_equip_compare_slots game_items Clears all 10 equip comparison slots in both A (0x3ec0) and B (0x5210) arrays by zeroing their first field. Also clears 0x5210 slot. 0x00DD87C0 32 CItemCollection__clear_shop_list game_items Clears the shop item list at offset 0x1728. Delegates to CNavigationWnd__on_scroll_event for traversal and cleanup. 0x00DD87E0 170 CItemCollection__clear_buy_list game_items Clears the buy list at offset 0x17e4. Iterates linked list, destroys string data, frees each node (0x58 bytes), and updates count at offset 0x17e8. 0x00DD8890 42 CItemCollection__clear_selling_list game_items Clears the selling list at offset 0x1710 and notifies UI via CUIWindowMgr__notify_language_change. 0x00DD88C0 60 CItemCollection__clear_mail_and_auction_lists game_items Clears both mail attachment (0x1760) and auction (0x1748) item lists. 0x00DD8900 32 CItemCollection__clear_storage_list game_items Clears the storage item list at offset 0x1768. 0x00DD8920 32 CItemCollection__clear_cart_list game_items Clears the cart item list at offset 0x1740. 0x00DD8940 32 CItemCollection__clear_categorized_storage_list game_items Clears the categorized storage list at offset 0x1750. 0x00DD8960 32 CItemCollection__clear_guild_storage_list game_items Clears the guild storage list at offset 0x1758. 0x00DD8980 32 CItemCollection__clear_mail_list game_items Clears the mail attachment list at offset 0x1760. 0x00DD89A0 32 CItemCollection__clear_auction_list game_items Clears the auction item list at offset 0x1748. 0x00DD89C0 81 CItemCollection__clear_quest_item_list game_items Clears quest item list at offset 0x734. Frees all nodes (0x14 bytes each), resets sentinel pointers and count at 0x738. 0x00DD8A20 46 CItemCollection__clear_categorized_list_by_index game_items Clears a categorized item list by index (0-10). Accesses list at offset 0x1784 + index*8. Bounds-checked. 0x00DD8A50 111 CItemCollection__clear_equip_compare_slots_B game_items Clears all 10 equip comparison slots in array B (offsets 0x4870-0x5128) plus slot at 0x5214 by zeroing their first field. 0x00DD8AC0 37 CItemCollection__reset_10_equip_descs game_items Resets all 10 equipment item descriptions by calling CItemDesc__reset_all_fields on each in a loop. 0x00DD8AF0 209 CItemCollection__clear_buying_store_and_remove_effects game_items Clears the buying store item list at offset 0x17dc. Also removes buying store effects (0xa0) from entities that have them. Resets buying store name string and count at 0x5464. 0x00DD8BD0 61 CItemCollection__reset_trade_counters game_items Resets 6 trade-related counters/fields at offsets 0x166c-0x1680 to zero. 0x00DD8C10 32 CItemCollection__clear_deal_other_list game_items Clears the deal other player's item list at offset 0x1720. 0x00DD8C30 32 CItemCollection__clear_inventory_list game_items Clears the inventory item list at offset 0x1730. 0x00DD8C50 32 CItemCollection__clear_deal_self_list game_items Clears the deal self item list at offset 0x1718. 0x00DD8C70 41 CItemCollection__reset_9_equip_slot_names game_items Resets 9 equipment slot name strings to "nothing" by calling STL_lib_func_004fa8f0 in a loop. 0x00DD8CA0 32 CItemCollection__clear_favorites_list game_items Clears the favorites item list at offset 0x1738. 0x00DD8CC0 232 CShopManager__copy_items_to_cart ui_shop Copies all items from a source list (at this+0x1740) to the cart/target list (at this+0x1750). Creates scroll event, then iterates each item in the source list, copy-constructing a new 0x100-byte CShopItem node and inserting it into the target linked list. 0x00DD8DB0 232 CItemCollection__copy_mail_to_buying_store game_items Clears buying store list at offset 0x1770, then copies all items from mail list (0x1760) into buying store. Allocates 0x100 byte nodes for each copied item. 0x00DD8EA0 792 CItemDB__find_matching_item_in_list game_items Searches the item list (linked list at this+0x1750) for an item matching multiple criteria from param_3: name string (+0x2C), 4 stat values (+0x1C-0x28), type byte (+0x5C), card count (+0x60), enchant count (+0x88), and option slots (+0x9C, 5 bytes each). Returns a pair where bool indicates if found. If not found, creates empty item desc. 0x00DD91C0 594 fuzzy_string_compare_il_tolerant game_core Fuzzy string comparison treating 'I' and 'l' as equivalent (anti-impersonation). Compares param_1 and param_2 with multiple strategies: offset +2, offset +1, and direct comparison. Tolerates length differences up to 4 chars. Returns 0 if strings match (similar enough), 1 if different. Used to detect name spoofing attempts where uppercase I and lowercase L are swapped. 0x00DD9430 2143 uint_to_obfuscated_string security Converts an unsigned integer to an obfuscated digit string. Maps digits 0-9 to characters '3','8','6','7','0','1','2','4','9','5' respectively. Inserts '-' separators every 3 digits (when the running length is 100 in the divisor). Used for price/quantity obfuscation in the client UI. 0x00DD9CC0 103 set_item_category_from_type game_core Maps an item type ID (1-6) to a category number (2-7). Only sets the category if *param_1 is currently 0 (unset). Type 1->cat 2, type 2->cat 3, ..., type 6->cat 7. Any other type or type 0 maps to category 1. 0x00DD9D50 1811 game_load_all_lua_configs_and_fonts game_core Master initialization function that loads all Lua configurations and system fonts. Calls: CItemInfoMgr__load_lua_config, CSpecialPopupMgr__load_lua_script, CRuneSystemMgr__load_lua_tables, CTipBox__load_script_data, CMapInfoMgr__load_lua_scripts, GameSettings__init_from_lua. Shows XOR-encrypted MessageBox error dialogs if any Lua load fails. Also initializes font system with Korean fonts (RixSquirrel, RixLoveangel, etc.), seeds random number generator, and creates GameSettings singleton. 0x00DDA470 159 CShopManager__remove_sold_item_from_list ui_shop Removes or decrements a sold item from the shop item list at +0x1758. Finds the item by matching its ID string (atoi comparison), updates the display name if different, decrements quantity by the sold amount. If quantity drops to 0 or below, removes the node from the linked list entirely. 0x00DDA510 133 CShopManager__remove_bought_item ui_shop Removes or decrements a bought item from the buying list at +0x1710. Searches by item ID (node+0xC), decrements quantity by param_3. If quantity drops to 0 or below, removes the node. After removal, searches again and clears a flag at node+0x7E. Notifies the UI via CUIWindowMgr after changes. 0x00DDA5A0 225 CShopManager__remove_vending_item ui_shop Removes or decrements a vending item from the list at +0x1768. Matches by item ID (node+0xC vs param_2+4). If param_3 is false, decrements quantity; if 0 or below, removes node and notifies buyer window. If param_3 is true, removes node entirely and notifies seller window. Returns 1 if found, 0 if not. 0x00DDA690 171 CShopManager__remove_item_from_buy_list ui_shop Removes/decrements an item from the buy list at +0x1740. Matches by item ID, decrements quantity. If quantity <= 0, removes node. After removal, finds the item again and clears flag at +0x7E. Notifies buyer window. Returns 1 on success, 0 if not found. 0x00DDA740 356 CItemDB__remove_or_decrease_item_quantity game_items Removes or decreases item quantity in the inventory list (this+0x1750). Searches by item ID (param_2+4). If param_3 is null, decreases quantity by param_2+0x10 and removes if <=0. If param_3 is non-null, fully unlinks and deletes the node (0x100 bytes). Optionally notifies UI window (param_4==1). Returns 1 if found, 0 otherwise. 0x00DDA8B0 109 CShopManager__remove_item_from_sell_list ui_shop Removes/decrements an item from the sell item list at +0x1758. Matches by item ID (node+0xC vs param_2+4), updates display name, decrements quantity. Removes node if quantity <= 0. 0x00DDA920 79 CShopManager__remove_item_from_list_1760 ui_shop Removes/decrements an item from the list at +0x1760. Matches by item ID, decrements quantity by param_2+0x10 amount. Removes node if quantity <= 0. 0x00DDA970 79 CShopManager__remove_item_from_list_1748 ui_shop Removes/decrements an item from the list at +0x1748. Matches by item ID, decrements quantity. Removes node if quantity <= 0. 0x00DDA9C0 139 CShopManager__remove_item_by_name_from_list_1718 ui_shop Removes/decrements an item from list at +0x1718 by name string comparison (atoi). Matches node name string vs param_2+0x2C. Handles unlimited quantity (-1). Decrements and removes if <= 0. 0x00DDAA50 85 CShopManager__remove_item_by_id_from_list_1718 ui_shop Removes/decrements an item from list at +0x1718 by item ID. Handles unlimited quantity (-1). Decrements and removes if <= 0. 0x00DDAAB0 127 CShopManager__remove_item_by_name_from_list_1720 ui_shop Removes/decrements an item from list at +0x1720 by string comparison. Uses std::char_traits comparison to match item name. Decrements quantity and removes node if <= 0. 0x00DDAB30 267 CItemDB__remove_deal_item_by_id_or_name game_items Removes a deal/trade item from the list at this+0x1720. Matches by item ID (param_2+4) when param_2+0x77 flag is set, or by name string comparison (param_2+0x2C) otherwise. Decreases quantity by param_2+0x10 and removes if <=0. Frees 0x100-byte node on removal. 0x00DDAC40 79 CShopManager__remove_item_from_list_1730 ui_shop Removes/decrements an item from list at +0x1730 by item ID. Decrements quantity and removes node if <= 0. 0x00DDAC90 79 CShopManager__remove_item_by_id_from_list_1718_v2 ui_shop Removes/decrements an item from list at +0x1718 by item ID. Decrements quantity and removes node if <= 0. Variant that does NOT check for -1 unlimited quantity. 0x00DDACE0 171 CItemDB__remove_storage_item_by_id game_items Removes a storage item from the list at this+0x1738. Searches by item ID (param_2+4), decreases quantity by param_2+0x10, removes if <=0. After removal, scans remaining list to clear a flag byte at offset 0x7E on the next matching entry. Notifies DAT_01457908 window to refresh. Returns 1 on success, 0 if not found. 0x00DDAD90 364 nibble_xor_cipher security Nibble-level XOR cipher. Extracts 4-bit nibbles from param_2, shifts them by amounts derived from iteration count modulo 0x1C/0x18/0x14/0x10, XORs the combined result into param_1. Also rotates bytes of the intermediate result. Iterates (param_2%6)*2+1 times. Used for packet/value obfuscation. 0x00DDAF00 1475 decode_obfuscated_number_string security Decodes an obfuscated number string back to an integer. Builds an RB-tree mapping '0'->'3', '1'->'8', '2'->'6', '3'->'7', '4'->'0', '5'->'1', '6'->'2', '7'->'4', '8'->'9', '9'->'5' (inverse of uint_to_obfuscated_string). Also handles additional char mappings '6'->'2', '7'->'3', '8'->'1', '9'->'8'. Applies substitution to input string, strips last 4 chars, then calls atoi. 0x00DDB4D0 108 validate_numeric_string_00ddb4d0 game_core Validates that a string contains only digits and spaces. Removes commas by shifting subsequent characters left. Returns 1 if valid (only digits/spaces after comma removal), 0 if any invalid character found. 0x00DDB540 61 CShopManager__remove_pending_order_by_id ui_shop Removes a pending order from the list at +0x17E4 by matching node+0x10 to param_2. Erases the 0x58-byte node from the linked list. Returns 1 if found and removed, 0 if not found. 0x00DDB580 212 CItemDB__remove_buff_entry_by_name game_items Removes a buff/status effect entry from the list at this+0x17DC by name string match. If found, removes the associated visual effect (effect ID 0xA0) from the entity and unlinks the 0x58-byte node from the list. 0x00DDB660 381 nibble_xor_decipher security Inverse of nibble_xor_cipher. Reverses the byte rotation first (left-shift by 8 then combine), then XORs with the same nibble-shifted param_2 combination. Iterates (param_2%6)*2+2 times (one more than the encoder). Used to decrypt values encoded by nibble_xor_cipher. 0x00DDB7E0 316 set_global_version_string_trimmed game_core Sets a lazily-initialized global version string (DAT_0173A7CC). Copies param_1 into the string. If the string exceeds 4 chars, trims to keep only the last 3 chars plus a separator. Returns pointer to the string buffer. 0x00DDB920 333 CEntity__call_draw_on_top_lua game_entity Calls the Lua 'DrawOnTop' or '_New_DrawOnTop' function for entity rendering. Passes entity rendering parameters including sprite ID, position, and draw flags. Uses the old-style 'DrawOnTop' when this+0xF04 is clear (format 'ddddd>b'), or the new-style '_New_DrawOnTop' (format 'ddddd>bd') when set, adding job tree mapping. 0x00DDBA70 104 build_sprite_resource_path_type0 game_core Wrapper for build_sprite_resource_path with type=0. Constructs a sprite file path string for the given parameters. 0x00DDBAE0 104 build_sprite_resource_path_type1 game_core Wrapper for build_sprite_resource_path with type=1. Constructs a sprite file path string for the given parameters. 0x00DDBB50 7 get_field_0x8134_00ddbb50 game_items Getter that returns 4-byte field at offset 0x8134 from param_1 0x00DDBB60 1251 lua_get_table_string_value_for_c lua Retrieves a string value from a Lua table for use in C code. Calls lua_get_global_string, sets up packet handlers via CPacketManager, then calls lua function "GetTableStringValueForC". Returns the string result in param_2 (STL string). If lua_get_global_string returns non-null, copies the result directly; otherwise invokes the Lua function to fetch it. 0x00DDC050 69 CItemDB__lookup_item_by_id_map708 game_items Looks up an item value from a map at +0x708 by item ID. Uses lower_bound search. Returns the value at node+0x14 if found, -1 (0xFFFFFFFF) if not found or if at the sentinel node. 0x00DDC0A0 69 CItemDB__lookup_item_by_id_map700 game_items Looks up an item value from a map at +0x700 by item ID. Uses lower_bound search. Returns the value at node+0x14 if found, -1 (0xFFFFFFFF) if not found or if at the sentinel node. 0x00DDC0F0 195 get_random_hit_sound_by_element game_core Returns a random hit sound filename based on element type. Element 3 (fire): randomly picks 'enemy_hit_fire1.wav' or 'fire2'. Element 4 (wind): randomly picks 'enemy_hit_wind1.wav' or 'wind2'. Default: randomly picks from 4 normal hit sounds ('enemy_hit_normal1-4.wav'). 0x00DDC1D0 108 build_body_sprite_path_wrapper game_core Wrapper for build_body_sprite_path. Passes all 7 parameters through to construct a body sprite file path string. 0x00DDC240 114 CItemDB__get_body_sprite_path game_items Gets the body sprite path for an item. Reads sprite index from +0x1628, item type from +0xE98, and sub-type from +0xEEC, then calls build_body_sprite_path with these values and 3 zero params. 0x00DDC2C0 105 build_head_sprite_path_wrapper game_core Wrapper for build_head_sprite_path. Passes all 6 parameters through to construct a head sprite file path string. 0x00DDC330 420 CItemDB__get_equipped_item_by_slot_type game_items Returns a pointer to the equipped item data for a given equipment slot type bitmask. Maps slot constants to offsets: 1=0x17F0, 2/0x22=0x18E8, 4=0x19E0, 0x10=0x1BD0, 0x20=0x1CC8, 0x40=0x1DC0, 0x88=0x1AD8. For costume slots (0x8000), looks up by item ID in list at this+0x1710. Returns null if slot empty or invalid. 0x00DDC580 132 CItemDB__find_recently_sold_item game_items Searches the recently sold items array (10 entries at +0x2B50, 0xF8 stride) for an item matching param_3 ID. If found, copies the item data and sets *param_4 to the index. If not found, initializes empty. 0x00DDC670 121 get_system_time_as_milliseconds game_core Gets the current system time and converts it to a single millisecond value. Combines year, month, day, hour, minute, second, and millisecond fields from SYSTEMTIME into a single integer. Note: the formula uses approximate constants for year/month conversion. 0x00DDC6F0 175 CShop__get_item_by_index_or_special game_items Gets a shop item by index. If param_3==0xF, retrieves special item from offset 0x16ec. For indices 0-9, copies from item array at 0x17f0 (stride 0xF8). Otherwise calls error handler. 0x00DDC7A0 132 CShop__find_item_by_id game_items Searches the shop item array (10 entries at offset 0x17f0, stride 0xF8) for an item matching param_3 ID. Returns copy of matching item and writes index to param_4. 0x00DDC830 100 CShop__get_cart_item_by_index game_items Gets a cart/second-tab shop item by index from array at offset 0x3EB0 (stride 0xF8). Returns a copy via CShopItem copy constructor. 0x00DDC930 151 CShop__get_linked_list_item_by_index game_items Gets an item from a linked list at offset 0x1728 by traversing to the given index. Returns copy via CShopItem copy constructor. Validates list count at 0x172C. 0x00DDC9D0 593 CShop__lookup_item_name_in_sorted_map game_items Looks up an item name string in a sorted map (std::lower_bound on tree at offset 0x5230). Strips file extension (last 4 chars before '.') from the input name. Returns pointer to mapped data or default. 0x00DDCC30 231 CShop__get_item_node_by_index game_items Gets an item node from linked list at 0x17E4 by traversing to index param_3. Returns CItemNode copy. If index exceeds list, returns zeroed-out node with empty strings. 0x00DDCD20 36 CShop__get_item_quantity_by_id game_items Gets the quantity of an item by its ID (offset by 10000). Looks up in array at this+0x710. Returns 0 if ID < 10000. 0x00DDCD50 101 build_weapon_sprite_path_wrapper game_core Wrapper that calls build_weapon_sprite_path with type=0 and forwarded parameters. 0x00DDCDC0 125 CItem__build_current_weapon_sprite_path game_items Builds the weapon sprite path for the current item using data from the object (offset 0xED8) and helper functions to get weapon type and class info. 0x00DDCE40 51 convert_weapon_type_to_sprite_index game_core Converts weapon type and subtype parameters into a sprite index (1-6). Uses a switch on param_1 for types 2-7, or on param_2 for types 1-6 when param_1==0. 0x00DDCEF0 102 build_shield_sprite_path_wrapper game_core Wrapper that forwards all 5 params to build_shield_sprite_path and returns the result string. 0x00DDCF60 114 CItem__build_current_shield_sprite_path game_items Builds the shield sprite path for the current item using member fields: shield ID (0x1628), job class (0xE98), base class (0xED8), and equipment slot (0xEF0). 0x00DDCFE0 101 build_weapon_sprite_path_type1_wrapper game_core Wrapper that calls build_weapon_sprite_path with type=1 (secondary weapon) and forwarded parameters. 0x00DDD050 125 CItem__build_current_weapon_sprite_path_type1 game_items Builds the secondary weapon (type=1) sprite path for the current item using member data and helper functions for weapon type and class info. 0x00DDD0D0 36 CShop__get_card_item_quantity_by_id game_items Gets the quantity of a card item by its ID (offset by 8000). Looks up in array at this+0x71C. Returns 0 if ID < 8000. 0x00DDD100 140 CItem__get_sprite_name_by_index game_items Gets a sprite name string by index from the pointer array at this+0xF84. Returns it as an STL string via copy. 0x00DDD190 102 build_imf_resource_path_wrapper game_core Wrapper that forwards all 5 params to build_imf_resource_path and returns the result string. 0x00DDD200 114 CItem__build_current_imf_resource_path game_items Builds the IMF resource path for the current item using member fields: shield ID (0x1628), job class (0xE98), base class (0xED8), and sprite type (0xF08). 0x00DDD280 56 get_item_desc_field_as_string game_core Converts item ID string to int, gets item description offset, then formats either field at +0x1C (if param_3==0) or +0x8 as a string via lua_util_sprintf. 0x00DDD2C0 55 CItemDesc__get_color_code game_items Gets a color code for an item description. Returns -0x555556 if flag at +0x5C is unset, calls update_fields otherwise. Returns -1 or -0x100 based on type field at +0x64. 0x00DDD300 245 CShop__find_item_index_by_id_string game_items Iterates through linked list items (count at 0x1714), converts each item's string ID to int via atoi, returns the index of the item matching param_2. Returns 0xFFFF if not found. 0x00DDD400 216 CShop__collect_matching_item_indices game_items Traverses linked list at 0x1710, collects slot indices (field +0xC) of items whose string ID matches param_3. If param_4 is set, only includes items with flag at +0x64 set. Returns vector of matching indices. 0x00DDD4E0 190 CShop__find_item_in_linked_list_by_id game_items Searches linked list at 0x1710 for an item whose string ID (atoi) matches param_3. param_4 filters by equip flag. Returns copy via CShopItem copy constructor. Error if list empty or not found. 0x00DDD5A0 353 CShop__find_item_in_linked_list_by_slot game_items Searches linked list at 0x1710 for an item whose slot field (+0xC) matches param_3. Returns copy via CShopItem copy constructor. Handles cleanup of temp strings. 0x00DDD710 151 CShop__get_linked_list_item_by_index_validated game_items Gets an item from linked list at 0x1710 by sequential index (param_3). Validates list is not empty via count at 0x1714. Returns copy via CShopItem copy constructor. 0x00DDD7B0 18 CShop__find_item_ptr_by_id_string game_items Searches linked list at 0x1710 for an item whose string ID (atoi) matches param_2. Returns direct pointer to item data (offset +2 from node). param_3 filters by equipped flag. Returns NULL if not found. 0x00DDD7C2 78 CShop__find_item_ptr_by_id_string_fastcall game_items Fastcall variant of find_item_ptr_by_id_string. Same logic: searches linked list at 0x1710, returns pointer to item data matching ID string. 0x00DDD810 62 CShop__find_item_ptr_by_slot_id game_items Searches linked list at 0x1710 for an item whose slot field (+0xC) matches param_2. Returns direct pointer to item (offset +2). Returns NULL if not found, list empty, or slot is 0. 0x00DDD850 95 CShop__find_item_ptr_by_id_with_filter game_items Searches linked list at 0x1710 for item matching ID (atoi of string field). If param_3 set, also requires equipped flag. Returns direct pointer to item data or NULL. 0x00DDD8B0 240 CShop__get_item_name_by_id game_items Gets the display name string for an item by its slot ID. First checks linked list via find_by_slot, then falls back to the fixed item array at 0x17F0 (10 entries, stride 0xF8). Returns pointer to name string. 0x00DDD9A0 74 CShop__get_total_quantity_by_id game_items Sums the quantity (field +0x18) of all items in linked list at 0x1710 whose string ID matches param_2. Returns total count. 0x00DDD9F0 41 get_item_desc_field_value game_core Gets a raw item description field value. Converts param_1 string to int ID, looks up CItemDesc, returns field at +0x8 if param_2!=0, else field at +0x1C. 0x00DDDA20 683 get_item_identified_name game_core Gets the identified/unidentified display name for an item. Initializes a thread-local static STL string with a prefix. Looks up CItemDesc by atoi(param_1), gets name field (+0x1C or +0x8 based on param_2). Falls back to hex string if name is NULL. 0x00DDDCD0 777 get_item_sprite_resource_name game_core Gets the sprite resource filename for an item. Initializes thread-local static string with prefix. Copies input name, appends extension, checks if resource exists via CResourceMgr. Falls back to longer default name (berserkpitcher) if not found. 0x00DDDFE0 850 CItem__remap_job_class_for_costume game_items Remaps job class IDs for costume display. Checks member field at +0x1628 against known job class IDs and global bitfield flags (DAT_0173354c) to return alternate costume class IDs. Handles baby classes, 3rd jobs, mounted variants, etc. 0x00DDE340 104 build_head_palette_path_wrapper game_core Wrapper that calls build_head_palette_path with type=0 (head) and forwarded parameters. 0x00DDE3D0 366 CItem__get_hit_sound_filename game_items Gets the hit sound WAV filename for a weapon type. For normal weapons, looks up in sound arrays at +0x5268/+0x5274. For fist/unarmed (weapon 0), returns random hit_fist*.wav. Handles special job class cases (0xFCE, 0x1081). Falls back to enemy_hit_normal*.wav. 0x00DDE5C0 231 CItem__get_equip_name_by_location game_items Gets the display name for an equipment slot by location ID. Handles costume locations by mapping to base equip via map_costume_to_base_equip_location. Uses rb_tree lookups for gender-specific names. Falls back to pointer array at +0xFA8. 0x00DDE6B0 104 build_body_palette_path_wrapper game_core Wrapper that calls build_head_palette_path with type=1 (body) and forwarded parameters. 0x00DDE720 76 CItem__find_in_rb_tree_by_key game_items Searches a red-black tree (sentinel at +0x80BC) using lower_bound. Returns pointer to value at node+0x14 if key matches, NULL otherwise. 0x00DDE770 140 CItem__set_display_name_from_cstr game_items Copies a C-string into an STL string, then calls ItemDisplayTree__get_display_name to set the display name for the item. 0x00DDE800 94 CItem__find_item_id_by_name_in_list game_items Searches the linked list at 0x17DC for an item whose name string (at node+0x14/+0x28) matches param_2. Returns the item ID (node+0xC) or 0 if not found. Uses std::char_traits comparison. 0x00DDE860 36 CShop__get_shadow_equip_quantity_by_id game_items Gets the quantity of a shadow equipment item by ID (offset by 0x2008). Looks up in array at this+0x728. Returns 0 if ID < 0x2008. 0x00DDE890 134 CShop__find_storage_item_by_slot game_items Finds a storage item by slot ID in linked list at 0x1768. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DDE920 151 CShop__get_storage_item_by_index game_items Gets a storage item by sequential index from linked list at 0x1768. Validates count at 0x176C. Returns copy via CShopItem copy constructor. 0x00DDE9C0 42 CShop__get_storage_item_quantity_by_slot game_items Gets the quantity (field +0x18) of a storage item by slot ID from linked list at 0x1768. Returns 0 if not found. 0x00DDE9F0 134 CShop__find_guild_storage_item_by_slot game_items Finds a guild storage item by slot ID in linked list at 0x1740. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DDEA80 151 CShop__get_guild_storage_item_by_index game_items Gets a guild storage item by sequential index from linked list at 0x1740. Validates count at 0x1744. Returns copy via CShopItem copy constructor. 0x00DDEB20 42 CShop__get_guild_storage_item_quantity_by_slot game_items Gets the quantity (field +0x18) of a guild storage item by slot ID from linked list at 0x1740. Returns 0 if not found. 0x00DDEB50 134 CShop__find_cart_list_item_by_slot game_items Finds a cart item by slot ID in linked list at 0x1750. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DDEBE0 151 CShop__get_cart_list_item_by_index game_items Gets a cart list item by sequential index from linked list at 0x1750. Validates count at 0x1754. Returns copy via CShopItem copy constructor. 0x00DDEC80 42 CShop__get_cart_list_item_quantity_by_slot game_items Gets quantity (field +0x18) of a cart list item by slot ID from linked list at 0x1750. Returns 0 if not found. 0x00DDECB0 132 CShop__find_buyingstore_item_by_slot game_items Finds a buying store item by slot ID in linked list at 0x1758. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DDED40 159 CShop__find_buyingstore_item_by_id_string game_items Finds a buying store item by ID string (atoi) in linked list at 0x1758. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DDEDE0 151 CShop__get_buyingstore_item_by_index game_items Gets a buying store item by sequential index from linked list at 0x1758. Validates count at 0x175C. Returns copy via CShopItem copy constructor. 0x00DDEE80 42 CShop__get_buyingstore_item_quantity_by_slot game_items Gets quantity (field +0x18) of a buying store item by slot ID from linked list at 0x1758. Returns 0 if not found. 0x00DDEEB0 134 CShop__find_trade_item_by_slot game_items Finds a trade item by slot ID in linked list at 0x1760. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DDEF40 184 CShop__find_trade_item_by_name game_items Finds a trade item by name string in linked list at 0x1760. Compares using std::char_traits. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DDF000 134 CShop__get_trade_item_by_index game_items Gets a trade item by sequential index from linked list at 0x1760. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DDF090 94 CShop__get_trade_item_quantity_by_name game_items Gets the quantity (field +0x18) of a trade item by name string from linked list at 0x1760. Returns 0 if not found. 0x00DDF0F0 42 CShop__get_trade_item_quantity_by_slot game_items Gets quantity (field +0x18) of a trade item by slot ID from linked list at 0x1760. Returns 0 if not found. 0x00DDF120 134 CShop__find_mail_item_by_slot game_items Finds a mail attachment item by slot ID in linked list at offset 6000 (0x1770). Returns copy via CShopItem copy constructor. 0x00DDF1B0 73 CShop__calc_total_trade_value game_items Calculates total trade value by summing (price * quantity) for all items in linked list at 0x1760. Returns 64-bit result (longlong). Field +0x18=quantity, +0x20=price. 0x00DDF200 151 CShop__get_equipped_item_by_index game_items Gets an equipped item by sequential index from linked list at 0x1748. Validates count at 0x174C. Returns copy via CShopItem copy constructor. 0x00DDF2A0 42 CShop__get_equipped_item_quantity_by_slot game_items Gets quantity (field +0x18) of an equipped item by slot ID from linked list at 0x1748. Returns 0 if not found. 0x00DDF2D0 66 CShop__find_item_option_by_slot game_items Finds an item option entry by slot ID in linked list at 0x734. Returns 12-byte struct (3 fields) copied from node. Returns zeroed struct if not found. 0x00DDF320 535 CItem__lookup_map_bgm_filename game_items Looks up the BGM filename for a map name. Strips extension from map name, binary searches sorted pair array at 0x5224. Returns matched BGM path or default 'bgm_01.mp3'. 0x00DDF540 102 CShop__find_equip_tab_item_ptr_by_id game_items Finds an item pointer in equipment tab (param_2, 0-10) linked list at 0x1784+(tab*8). Searches by ID string (atoi). Returns direct pointer to item data or NULL. 0x00DDF5B0 166 CShop__get_equip_tab_item_by_index game_items Gets an item by sequential index from equipment tab (param_3, 0-10) linked list at 0x1784+(tab*8). Validates tab range and count. Returns copy via CShopItem copy constructor. 0x00DDF660 334 CItem__get_current_map_resource_name game_items Gets the resource name for the current map. Reads map name from this+0x160C, builds STL string, and calls ItemDisplayTree__get_resource_name to resolve it. 0x00DDF7B0 209 CItem__lookup_map_type_by_name game_items Looks up the map type for a given map name. Binary searches sorted pair array at 0x5218. Returns type value or default 3 if not found. 0x00DDF8A0 7 get_field_0x17e8_00ddf8a0 game_items Getter that returns 4-byte field at offset 0x17e8 from param_1 0x00DDF8B0 7 get_field_0x1714_00ddf8b0 game_items Getter returning 4-byte field at offset 0x1714 from parameter 0x00DDF8C0 7 get_field_0x176c_00ddf8c0 game_items Getter that returns 4-byte field at offset 0x176c from param_1 0x00DDF8D0 7 get_field_0x1744_00ddf8d0 game_items Getter returning 4-byte field at offset 0x1744 from parameter 0x00DDF8E0 7 get_field_0x1754_00ddf8e0 game_items Getter returning 4-byte field at offset 0x1754 from parameter 0x00DDF8F0 7 get_field_0x175c_00ddf8f0 game_items Getter returning 4-byte field at offset 0x175c from parameter 0x00DDF900 7 get_field_0x1764_00ddf900 game_items Getter returning 4-byte field at offset 0x1764 from parameter 0x00DDF910 7 get_field_0x174c_00ddf910 game_items Getter returning 4-byte field at offset 0x174c from param_1 0x00DDF920 32 CShop__get_equip_tab_count game_items Returns the item count for a given equipment tab index (0-10). Reads from array at this+0x1788 with stride 8. Returns 0 if tab index is out of range. 0x00DDF9D0 7 get_field_0x17e0_00ddf9d0 game_items Getter returning 4-byte field at offset 0x17e0 from parameter 0x00DDF9E0 7 get_field_0x1724_00ddf9e0 game_items Getter returning 4-byte field at offset 0x1724 from parameter 0x00DDF9F0 7 get_field_0x1734_00ddf9f0 game_items Getter returning 4-byte field at offset 0x1734 from param_1 0x00DDFA00 7 get_field_0x171c_00ddfa00 game_items Getter returning 4-byte value from param at offset 0x171c 0x00DDFA10 7 get_field_0x173c_00ddfa10 game_items Getter returning 4-byte field at offset 0x173c from param_1 0x00DDFA20 38 CItem__count_visible_items_in_list game_items Counts items in linked list at 0x17DC that have a zero flag at field +0x48 (visible/non-hidden items). Returns the count of such items. 0x00DDFA50 100 CShop__get_vending_item_by_index game_items Gets a vending item by index from the fixed array at offset 0x4860 (stride 0xF8). Returns copy via CShopItem copy constructor. 0x00DDFAC0 138 CShop__get_shop_sell_item_by_index game_items Gets a shop sell-tab item by index from array at 0x21A0 (stride 0xF8). Valid indices 0-9. Index 0xF and >=10 both trigger error handler. 0x00DDFB50 181 get_sprite_scale_for_job_class game_core Returns a sprite scale factor (float) based on job class ID and weapon type. Handles special scales for doram (class 0xFAD), mechanic/madogear, summoner, and other classes. Uses param_3 for weapon sub-type checks on certain class ranges. 0x00DDFD00 45 CShop__get_inventory_item_favorite_flag game_items Gets the favorite/star flag (byte at node+0x7F) for an inventory item by matching slot ID from param_2+4 in linked list at 0x1718. Returns 0 if not found. 0x00DDFD30 117 CShop__get_inventory_item_quantity_by_info game_items Gets the quantity (field +0x18) of an inventory item by matching its ID string. Compares atoi of node string with atoi of param_2+0x2C string. Searches linked list at 0x1718. 0x00DDFDB0 45 CShop__get_inventory_item_quantity_by_slot game_items Gets the quantity (field +0x18) of an inventory item by matching slot ID from param_2+4 in linked list at 0x1718. Returns 0 if not found. 0x00DDFDE0 118 CShop__get_inventory_item_type_by_info game_items Gets the item type (short at field +0x74) of an inventory item by matching its ID string from param_2+0x2C. Searches linked list at 0x1718. Returns 0 if not found. 0x00DDFE60 46 CShop__get_inventory_item_type_by_slot game_items Gets the item type (short at field +0x74) of an inventory item by matching slot ID from param_2+4. Searches linked list at 0x1718. Returns 0 if not found. 0x00DDFE90 193 CShop__calc_total_weight_by_id game_items Calculates total weight for items in NPC shop list (0x1720) by matching each item's ID string against inventory (0x1718) to get weight per item. Sums (quantity * weight) for all matching items. 0x00DDFF60 121 CShop__calc_total_weight_by_slot game_items Calculates total weight for items in NPC shop list (0x1720) by matching each item's slot ID against inventory (0x1718). Sums (quantity * weight) for all matching items. 0x00DDFFE0 166 get_element_color_by_type game_core Returns an ARGB color value for a given element type index (0-15). Maps game element types to display colors: 0=brown, 1=teal, 2=black, 3/15=red, 4=green, 5=olive, etc. 0x00DE00D0 229 CItem__get_item_node_by_slot_id game_items Gets an item node by slot ID from linked list at 0x17DC. Returns CItemNode copy with slot, name strings, and count. Returns zeroed node with empty strings if not found. 0x00DE01C0 531 CItem__get_item_node_by_unique_id game_items Gets an item node by unique ID (field +0x10) from linked list at 0x17DC. Returns CItemNode copy. If not found, returns zeroed-out default node. Handles string cleanup for both paths. 0x00DE03E0 283 CItem__get_item_node_by_name game_items Gets an item node by name string match from linked list at 0x17DC. Compares using std::char_traits. Returns CItemNode copy or zeroed node with empty strings if not found. 0x00DE0500 231 CItem__get_item_node_by_index game_items Gets an item node by sequential index from linked list at 0x17DC. Returns CItemNode copy or zeroed node with empty strings if index exceeds list size. 0x00DE05F0 45 CItem__find_item_node_ptr_by_slot_id game_items Finds a direct pointer to an item node by slot ID in linked list at 0x17DC. Returns pointer to node data (offset +2 from link) or NULL if not found. 0x00DE0620 184 CShop__find_npc_shop_item_by_name game_items Finds an NPC shop item by name string in linked list at 0x1720. Uses std::char_traits comparison. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DE06E0 134 CShop__get_npc_shop_item_by_index game_items Gets an NPC shop item by sequential index from linked list at 0x1720. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DE0770 94 CShop__get_npc_shop_item_quantity_by_name game_items Gets quantity (field +0x18) of an NPC shop item by name string from linked list at 0x1720. Returns 0 if not found. 0x00DE07D0 42 CShop__get_npc_shop_item_quantity_by_slot game_items Gets quantity (field +0x18) of an NPC shop item by slot ID from linked list at 0x1720. Returns 0 if not found. 0x00DE0800 33 CShop__calc_npc_shop_total_cost game_items Calculates total cost of all items in NPC shop list (0x1720). Sums (price * quantity) for each item. Fields: +0x18=quantity, +0x20=price. 0x00DE0830 167 lua_get_real_weapon_id lua Calls the Lua function 'GetRealWeaponId' with the given weapon ID parameter. Returns the Lua result if the call succeeds, otherwise returns the input param unchanged. 0x00DE08F0 134 CShop__find_favorite_item_by_slot game_items Finds a favorite/starred item by slot ID in linked list at 0x1730. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DE0980 151 CShop__get_favorite_item_by_index game_items Gets a favorite item by sequential index from linked list at 0x1730. Validates count at 0x1734. Returns copy via CShopItem copy constructor. 0x00DE0A20 42 CShop__get_favorite_item_quantity_by_slot game_items Gets quantity (field +0x18) of a favorite item by slot ID from linked list at 0x1730. Returns 0 if not found. 0x00DE0A50 24 CItem__get_remaining_cooldown_ms game_items Calculates remaining cooldown time in milliseconds. Returns timeGetTime() minus stored timestamp at this+0x794, adjusted by -0x48 (72ms offset). 0x00DE0A70 477 CItem__get_npc_location_radius game_items Gets the NPC location radius for a given job class. Calls Lua 'GetNpcLocationRadius'. If Lua returns 0, looks up in rb_tree at 0x5254. Caches new entries. Optionally maps job ID via map_job_id_to_skill_tree_id if param_3 is set. 0x00DE0C50 104 build_effect_resource_path_type0_wrapper game_core Wrapper that calls CEffect__build_resource_path_with_fallback with type=0 and forwarded parameters. 0x00DE0CC0 104 build_effect_resource_path_type1_wrapper game_core Wrapper that calls CEffect__build_resource_path_with_fallback with type=1 and forwarded parameters. 0x00DE0D30 151 CShop__get_inventory_item_by_index game_items Gets an inventory item by sequential index from linked list at 0x1718. Validates count at 0x171C. Returns copy via CShopItem copy constructor. 0x00DE0DD0 42 CShop__get_inventory_item_quantity_by_slot_direct game_items Gets quantity (field +0x18) of an inventory item by slot ID from linked list at 0x1718. Returns 0 if not found. Direct slot-based lookup. 0x00DE0E00 28 CItem__get_card_slot_string_ptr game_items Gets a pointer to the string data for a card slot. Calculates offset as (param_2*3+0x18)*8 into the object. Handles SSO (small string optimization) by checking capacity. 0x00DE0E20 26 format_int_as_string game_core Formats an integer (param_1) as a string using lua_util_sprintf with %d format into param_2 buffer. 0x00DE0E40 104 CShop__get_item_quantity_by_id_universal game_items Universal item quantity lookup by ID. Routes to different arrays: 1-7999 from this+0x70, 10001+ from this+0x710, 8000+ (if valid type) from this+0x71C. Returns 0 if not found. 0x00DE0EB0 134 CShop__find_quest_item_by_slot game_items Finds a quest item by slot ID in linked list at 0x1738. Returns copy via CShopItem copy constructor. Calls error handler if not found. 0x00DE0F40 151 CShop__get_quest_item_by_index game_items Gets a quest item by sequential index from linked list at 0x1738. Validates count at 0x173C. Returns copy via CShopItem copy constructor. 0x00DE0FE0 42 CShop__get_quest_item_quantity_by_slot game_items Gets quantity (field +0x18) of a quest item by slot ID from linked list at 0x1738. Returns 0 if not found. 0x00DE1010 9201 CItem__large_init_or_load_tables game_items Large function (9201 bytes) - skipped decompilation. Likely initialization or table loading routine for CItem. 0x00DE3410 593 CItem__lookup_item_name_in_sorted_map_ext game_items Extended version of item name lookup in sorted map (at 0x523C). Strips file extension, does lower_bound search. Uses thread-local static with 9-entry vector init. Sets found flag via param_3. Returns pointer to data or default. 0x00DE3680 250 CItem__get_hit_sound_filename_by_weapon game_items Gets hit sound filename using lua_get_real_weapon_id to resolve weapon. Similar to get_hit_sound_filename but takes weapon param directly. Handles doram/summoner classes, fist sounds, and normal weapon sounds from array at +0x5274. 0x00DE3800 223 lua_req_weapon_name_by_class_num lua Calls the Lua function 'ReqWeaponNameByClassNum' with the current item description data. Returns the string result or empty string if Lua call fails. 0x00DE38E0 75 CItem__find_in_rb_tree_get_byte game_items Searches rb_tree (sentinel at +0x80BC) for key param_2. Returns byte value at node+0x14 if found, 0 otherwise. Variant of find_in_rb_tree_by_key. 0x00DE3930 478 CItem__get_map_npc_warp_info game_items Gets NPC warp destination info for the current map. Looks up map name in rb_tree at 0x80B4, then finds warp target by index (param_3) and param_4 key. Returns 8-byte struct with coordinates. Returns zeroed if not found. 0x00DE3B10 254 CItem__get_map_index_from_rbtree game_items Gets the map index from the rb_tree at 0x80B4. Builds search key from current map name or param string. Returns map index (field +0x28) from matching node, or -1 if not found. 0x00DE3C10 199 CItem__calc_animated_light_value game_items Calculates an animated light/color value based on rb_tree data at 0x7EE0. Gets min/max/period values, uses timeGetTime() to compute oscillating value between min and max. Clamps result to 0-255. 0x00DE3CE0 161 string_contains_control_chars game_core Checks if a string contains control characters (ASCII < 0x20, 0x7F, 0x81, 0x8D, 0x8F, 0x90, 0x9D, 0xAD). Returns 1 if any found, 0 if clean. Only checks bytes with high bit clear (ASCII range). 0x00DE3D90 392 CItem__broadcast_item_list_to_handler game_items Broadcasts all items in the linked list at 0x17E4 to a handler. For each item, calls handler function pointer (at DAT_013495bc vtable offset 0x18) with type 0xB and item name. Increments global counter DAT_0173AD3D, capped at 40. 0x00DE3F20 3351 CItem__reset_session_state game_items Resets all session/character state when entering game or switching characters. Initializes TLS encrypted registry key for game path storage (RegCreateKeyExA), then zeros out hundreds of game state fields: player stats, item lists, skill bars, equipment, quest data, attendance, rankings, reports, selection indices. Clears rb_trees, vectors, linked lists. Calls CReportManager__clear_all, load_prohibition_log_file, clear_selection_indices. Resets timestamps via timeGetTime/GetTickCount/GetSystemTime. Called on character select or session init. 0x00DE4C40 311 CItem__load_buying_store_item_list game_items Loads the BuyingStoreItemList.txt file and populates the buying store allowed items vector at 0x1778. Parses each line as an item ID via atoi. Pre-allocates 512 entries. 0x00DE4D80 611 CItem__init_damage_skin_settings game_items Initializes damage skin settings by calling Lua functions GetDamageSkinSize, GetDamageResourceName, and GetDamageMillionUnit. Validates skin index at +0x80C4 against count at +0x80C8, and damage type at +0x80CC (0-3 range). 0x00DE4FF0 576 CItem__rescale_all_ui_positions game_items Rescales all UI element positions based on current screen resolution. Iterates through rb_tree arrays at +0x5318 and linked list at +0x531C. Scales x/y coordinates by resolution ratio with 0.5 rounding and y-offset of 17. 0x00DE5230 388 CItem__load_map_object_light_table game_items Loads mapObjLightTable.txt into vector at 0x5288. Each line becomes a (string, bool) pair. Boolean is set if the second column is NOT empty (strcmp != 0). Pre-allocates 512 entries. Sorts by string key. 0x00DE53C0 608 load_exception_minimap_name_table game_core Loads ExceptionMinimapNameTable.txt via CSVParser. Clears existing vector at this+0x52d0, pre-reserves 0x200 entries, then parses each line (skipping first char) into STL strings and pushes them into the vector. Finally sorts the vector using introsort. Returns success/failure from the file load. 0x00DE5620 1306 load_fog_parameter_table game_core Loads fogParameterTable.txt via CFileStream. Parses #-delimited lines with 3 fields each into named entries (CNamedEntryList). Stores entries in vector at this+0x5230, sorts them alphabetically. Returns 1 on success, 0 on failure. Used for map fog rendering parameters. 0x00DE5B40 61 CItem__reset_skill_bar_vectors game_items Resets two vectors to zero: skill bar data at offsets 0x5608-0x5610 and 0x55FC-0x5604. Clears begin, end, and capacity pointers for both. 0x00DE5B80 73 CItem__load_indoor_rsw_table game_items Loads indoorRswTable.txt into vector at 0x5248. Sorts the string pointer array using introsort. Returns 1. 0x00DE5BD0 3086 init_footstep_sound_table game_core Initializes the footstep sound table at this+0x5268. Creates a vector of 0x6d95 entries, all defaulting to "player_clothes.wav", then overwrites specific job class indices with "player_wooden_male.wav" (wooden/heavy armor) or "player_metal.wav" (metal armor) footstep sounds. The sound played depends on the character's job class. 0x00DE67E0 2680 init_job_name_tables game_core Initializes PC job name tables, homunculus names, and mercenary names. Creates vector of 0x7d04 entries at this+0xFA8 defaulting to "Poring". Iterates over all valid job IDs calling Lua functions ReqPCJobName, ReqPCJobNameMan, ReqPCJobNameWoman to populate names. Also hardcodes homunculus names (LIF, AMISTR, FILIR, VANILMIRTH + evolved forms) and mercenary names (MER_EIRA, MER_BAYERI, MER_DIETER, MER_ELEANOR, MER_SERA). Initializes pet, elemental, and other lookup tables. 0x00DE7260 48 reload_all_data_tables game_core Reloads all data tables: message string table, manner keywords, pet/monster XML tables, encrypted table, item DB tables, and calls a final null stub. 0x00DE7290 5296 CItem__large_load_data_tables game_items Large function (5296 bytes) - skipped decompilation. Data table loading routine for CItem. 0x00DE8740 551 load_encrypted_table_file security Loads an encrypted table file. Uses TLS to store a 17-byte XOR key. On first call, copies key from static data and registers TLS destructor. Decrypts buffer with xor_decrypt_buffer, then loads via CSVParser. 0x00DE8970 2612 CItem__load_map_position_table game_items Loads mapPosTable.txt and populates the map position data structures. Parses #-delimited lines with map coordinates. Stores data in rb_tree at this+0x5310 (per-map bounding boxes) and rb_tree at this+0x531C (per-position entries). Uses '@' marker for initial map count allocation (0x5318/0x5328). Each map entry contains position name and 4 coordinate values (x1, y1, x2, y2). Also populates per-position map with string key lookups. 0x00DE93F0 61 CItem__reset_enchant_vectors game_items Resets two enchant-related vectors to zero at offsets 0x56A4-0x56AC and 0x5698-0x56A0. Clears begin, end, and capacity pointers for both. 0x00DE9430 659 load_mini_party_info_from_lua_save game_core Loads mini party info from savedata/MiniPartyInfo.lua file. Parses comma-separated { name, id, x, y } records. Uses XOR decryption on field names. Pushes parsed entries into a linked list via list_push_back_0x14. 0x00DE9750 338 CItem__load_mp3_name_table game_items Loads mp3NameTable.txt into sorted pair vector at 0x5224. Each line produces a (map_name, bgm_filename) pair. Pre-allocates 512 entries. Sorts by map name for binary search lookup. 0x00DE98B0 39081 CItem__very_large_init_routine game_items CItem: very large init routine 0x00DF3160 92 CItem__reset_inventory_expansion_state game_items Resets inventory expansion state. Calls CPacket__handle_inventory_expansion with saved values, then resets expansion fields at 0x5BD8-0x5BF0 to defaults (-1 for last 3 fields). 0x00DF31C0 473 CItem__rebuild_shadow_factor_table game_items Rebuilds the shadow factor rb_tree at 0x5254. Clears existing tree, then iterates through all job class IDs (0 to 0x7D02), calling Lua 'ReqshadowFactor' for each. Inserts results as float values into the tree. 0x00DF33B0 1170 CItem__init_all_data_tables game_items Master data table initialization. Loads mp3NameTable.txt, indoorRswTable.txt, ViewPointTable, format strings, message strings, manner.txt, pet/monster XML, encrypted tables, item DB, emotion CSV, fog params, weapon hit sounds, job sprite names, shadow factors, buying store list, exception minimap names, pet emotions. Also checks for duplicate client windows via encrypted FindWindowA and sends WM_CLOSE. Called during game startup. 0x00DF3850 17383 CItem__large_packet_handler game_items Large function (17383 bytes) - skipped decompilation. Major packet handler or state machine for CItem. 0x00DF7C40 1282 CItem__reset_all_game_state game_items Major game state reset function. Initializes player stats, resets inventory/shop state, clears equipment slots, zeros weight/zeny counters, sets defaults for UI config. Queries GlobalMemoryStatus for low-memory flag. Clears formatted string slots 0xDB-0xE7. 0x00DF8150 1306 load_viewpoint_table game_core Loads ViewPointTable.txt via CFileStream. Parses #-delimited lines with 8 fields per entry into named entries. Stores entries in vector at this+0x523C, sorted alphabetically. Returns 1 on success, 0 on failure. Controls camera viewpoint parameters per map. 0x00DF8670 567 init_weapon_hit_sound_table game_core Initializes weapon hit sound effect table at this+0x5274. Iterates through weapon types (up to ~111 entries), calling Lua function "ReqWeaponHitWaveName" for each weapon index. Stores non-empty results as STL strings in the vector. Used to determine which .wav file plays when a weapon hits a target. 0x00DF88B0 129 CItem__clear_inventory_and_shop_state game_items Clears inventory and shop state. Calls navigation scroll handler, frees all nodes from linked list at 0xFE4, then resets 10 item description entries via CItemDesc__reset_all_fields. 0x00DF8940 755 CItem__reset_entity_lists_and_item_state game_items Resets entity lists, item state, and game data. Clears linked lists at 0x1720/1730/1718/1738, zeros 21 equipment/item slot counters (0x3EC0-0x5128 at 0xF8 stride), destroys global callback list, frees name list at 0x17E4, removes attached effects from entities, clears item selling slots, and resets various state fields. Called on map change or game reset. 0x00DF8C40 1971 init_job_sprite_name_table game_core Initializes the job-to-sprite-name lookup table at this+0xFD8. Creates a vector of 0x110A entries defaulting to "NOVICE", then hardcodes sprite folder names for every job class. Covers all classes: 1st/2nd/trans/3rd/4th jobs, mounts (CHICKEN=Peco, WOLF, FOX, OSTRICH, PIG, SHEEP, DOG, LION, HAETAE), special costumes (MARRIED, SANTA, SUMMER, HANBOK, OKTOBERFEST), homunculus-like jobs (SUMMONER), and all 4th jobs (DRAGON_KNIGHT, IMPERIAL_GUARD, MEISTER, BIOLO, etc.). 0x00DF9400 94 CItem__refresh_display_if_ready game_items Checks if game mode is active, then refreshes the equipment/item display if version counters at 0x556C and 0x5568 match or 0x5574/0x5570 match. Calls entity grid refresh and effect invalidation. 0x00DF9460 44 refresh_minimap_display game_core Refreshes the minimap window if game mode is active and DAT_01457A40 is valid. Calls the window's refresh vtable method and invalidates effects. 0x00DF9490 54 refresh_shop_window_and_timer game_core Refreshes the shop window and timer. Calls an initialization function, then updates the shop timer window (DAT_01457944) with 60-second timer, and triggers shop tab switch if shop window exists. 0x00DF94D0 44 refresh_navigation_display game_core Refreshes the navigation window if game mode is active and DAT_01457A48 is valid. Calls the window's refresh vtable method and invalidates effects. 0x00DF9500 10 thunk_to_CGameObject__invalidate_visible_windows_once_00df9500 game_core Wrapper that calls FUN_00a969d0 and returns 0x00DF9520 50 string_has_leading_or_trailing_space game_core Checks if a string has a leading or trailing space, or is empty. Returns 1 if any condition is true, 0 if the string is clean. 0x00DF9560 300 check_name_against_forbidden_list game_core Checks a name string against the global forbidden name list (DAT_016D44DC). Creates a temporary copy of the list, iterates through entries comparing each against the input. Returns 1 if forbidden, 0 if allowed. Cleans up list nodes after check. 0x00DF9690 78 CItem__check_name_in_item_list game_items Iterates the item name linked list at offset 0x17e4 and returns 1 if any entry matches param_2 via fuzzy string comparison, 0 otherwise. 0x00DF96E0 13 extract_bit4_flag game_items Extracts bit 4 from the input value, returning it as a boolean (0 or 1). 0x00DF96F0 21 compare_bit4_flags game_items XORs bit 4 of two values and returns the result as a boolean (0 or 1). 0x00DF9710 12 extract_bit1_flag game_items Extracts bit 1 from the input value, returning it as a boolean (0 or 1). 0x00DF9720 19 compare_bit1_flags game_items XORs bit 1 of two values and returns the result as a boolean (0 or 1). 0x00DF9740 13 extract_bit5_flag game_items Extracts bit 5 from the input value, returning it as a boolean (0 or 1). 0x00DF9750 21 compare_bit5_flags game_items XORs bit 5 of two values and returns the result as a boolean (0 or 1). 0x00DF9770 13 extract_bit23_flag game_items Extracts bit 23 from the input value, returning it as a boolean (0 or 1). 0x00DF9780 21 compare_bit23_flags game_items XORs bit 23 of two values and returns the result as a boolean (0 or 1). 0x00DF97A0 13 extract_bit24_flag_00df97a0 game_items Extracts bit 24 from the input value, returning it as a boolean (0 or 1). 0x00DF97B0 21 compare_bit24_flags_00df97b0 game_items XORs bit 24 of two values and returns the result as a boolean (0 or 1). 0x00DF97D0 13 extract_bit25_flag_00df97d0 game_items Extracts bit 25 from the input value, returning it as a boolean (0 or 1). 0x00DF97E0 21 compare_bit25_flags_00df97e0 game_items XORs bit 25 of two values and returns the result as a boolean (0 or 1). 0x00DF9800 13 extract_bit26_flag_00df9800 game_items Extracts bit 26 from the input value, returning it as a boolean (0 or 1). 0x00DF9810 21 compare_bit26_flags game_items XORs bit 26 of two values and returns the result as a boolean (0 or 1). 0x00DF9830 13 extract_bit19_flag game_items Extracts bit 19 from the input value, returning it as a boolean (0 or 1). 0x00DF9840 21 compare_bit19_flags game_items XORs bit 19 of two values and returns the result as a boolean (0 or 1). 0x00DF9860 13 extract_bit14_flag_00df9860 game_items Extracts bit 14 from the input value, returning it as a boolean (0 or 1). 0x00DF9870 13 extract_bit27_flag game_items Extracts bit 27 from the input value, returning it as a boolean (0 or 1). 0x00DF9880 13 extract_item_flag_bit2 game_core Extracts bit 2 from the input value, returning it as a boolean (0 or 1). 0x00DF9890 21 compare_item_flag_bit2 game_core XORs bit 2 of two values and returns the result as a boolean (0 or 1). 0x00DF98B0 13 extract_item_flag_bit22 game_core Extracts bit 22 from the input value, returning it as a boolean (0 or 1). 0x00DF98C0 21 compare_item_flag_bit22 game_core XORs bit 22 of two values and returns the result as a boolean (0 or 1). 0x00DF98E0 13 extract_item_flag_bit12 game_core Extracts bit 12 from the input value, returning it as a boolean (0 or 1). 0x00DF98F0 12 item_flag_is_zero game_core Returns true if param is zero. Used as an item property check (tests if the flag value is unset/default). 0x00DF9900 13 extract_bit28_flag game_items Extracts bit 28 from the input value, returning it as a boolean (0 or 1). 0x00DF9910 13 extract_bit11_flag_00df9910 game_items Extracts bit 11 from the input value, returning it as a boolean (0 or 1). 0x00DF9920 21 compare_bit11_flags_00df9920 game_items XORs bit 11 of two values and returns the result as a boolean (0 or 1). 0x00DF9940 13 extract_bit20_flag_00df9940 game_items Extracts bit 20 from the input value, returning it as a boolean (0 or 1). 0x00DF9950 21 compare_bit20_flags_00df9950 game_items XORs bit 20 of two values and returns the result as a boolean (0 or 1). 0x00DF9970 13 extract_bit13_flag_00df9970 game_items Extracts bit 13 from the input value, returning it as a boolean (0 or 1). 0x00DF9980 21 compare_bit13_flags game_items XORs bit 13 of two values and returns the result as a boolean (0 or 1). 0x00DF99A0 13 extract_bit16_flag game_items Extracts bit 16 from the input value, returning it as a boolean (0 or 1). 0x00DF99B0 10 get_bit_0_XXXX_00df99b0 game_items Extracts the least significant bit from a byte parameter 0x00DF99C0 13 compare_bit0_xor game_items XORs two byte parameters and returns the least significant bit. Effectively compares bit 0 of two values, returning 1 if they differ. 0x00DF99D0 13 extract_bit6_flag game_items Extracts bit 6 from the input value, returning it as a boolean (0 or 1). 0x00DF99E0 21 compare_bit6_flags game_items XORs bit 6 of two values and returns the result as a boolean (0 or 1). 0x00DF9A00 13 extract_bit15_flag game_items Extracts bit 15 from the input value, returning it as a boolean (0 or 1). 0x00DF9A10 21 compare_bit15_flags game_items XORs bit 15 of two values and returns the result as a boolean (0 or 1). 0x00DF9A30 13 extract_bit18_flag game_items Extracts bit 18 from the input value, returning it as a boolean (0 or 1). 0x00DF9A40 13 extract_bit17_flag game_items Extracts bit 17 from the input value, returning it as a boolean (0 or 1). 0x00DF9A50 21 compare_bit17_flags game_items XORs bit 17 of two values and returns the result as a boolean (0 or 1). 0x00DF9A70 13 extract_bit21_flag game_items Extracts bit 21 from the input value, returning it as a boolean (0 or 1). 0x00DF9A80 21 compare_bit21_flags game_items XORs bit 21 of two values and returns the result as a boolean (0 or 1). 0x00DF9AA0 28 check_all_paired_slots_empty_at_0x1788 game_core Iterates 11 paired entries (stride 8) starting at this+0x1788. Returns false (0) if any entry's first dword is non-zero. Returns true (1) if all 11 entries are zero (all slots empty). 0x00DF9AC0 206 CItem__lookup_map_object_light_flag game_items Binary searches a sorted string-to-byte pair array at offset 0x5288 for a matching name, returning the associated byte value or 1 if not found. 0x00DF9B90 141 check_all_10_slots_filled game_core Checks if all 10 slots (at offsets 0x3ec0..0x4778, stride 0xF8) in the object are non-null. Returns true only when all 10 entries are populated. 0x00DF9C20 41 find_in_linked_list_at_0x1758 game_core Searches a linked list rooted at this+0x1758 for a node whose 4th dword matches param_2. Returns true if found, false if end of list reached. 0x00DF9C50 41 find_in_linked_list_at_0x1718 game_core Searches a linked list rooted at this+0x1718 for a node whose 4th dword matches param_2. Returns true if found, false if end of list reached. 0x00DF9C80 49 find_slot_by_id_in_array game_core Searches an array of 10 structures (stride 0xF8) starting at this+0x3EB4 for an entry whose first field matches param_2 and whose 4th field is non-zero. Returns true if found. 0x00DF9CD0 85 find_string_id_in_list_0x17d4 game_core Iterates a linked list at this+0x17D4. Each node has an STL string at offset 0x34 which is converted to int via atoi(). Returns 1 if any node's string value matches param_2. 0x00DF9D30 96 find_string_in_list_0x17e4 game_core Iterates a linked list at this+0x17E4 comparing each node's STL string (at offset 0x14) against param_2 using std::_Traits_equal. Returns 1 if a match is found. 0x00DF9D90 383 check_map_name_in_global_list game_core Copies global list DAT_016d44dc into a temp list, searches for param_1 (a string) by comparing node strings. If not found in nodes, compares against the global string at DAT_016d4418. Returns 1 if match found. Cleans up temp list. 0x00DF9F10 281 check_id_in_global_list_field2 game_core Copies global list DAT_016d44dc into a temp list, searches for param_1 by comparing against each node's 3rd dword (offset 8). Returns 1 if found, 0 if not. Cleans up temp list. 0x00DFA030 281 check_id_in_global_list_field3 game_core Copies global list DAT_016d44dc into a temp list, searches for param_1 by comparing against each node's 4th dword (offset 0xC). Returns 1 if found, 0 if not. Cleans up temp list. 0x00DFA150 5 ret_zero_00dfa150 crt Returns constant zero, likely a stub or default error state 0x00DFA160 531 check_map_name_in_sorted_vector game_core Takes a map filename string, strips a 3-char extension (e.g. ".gat") via rfind, then binary searches a sorted vector of C-strings at this+0x5248 to check if the stripped name exists. Returns 1 if found. 0x00DFA390 42 check_value_in_vector_and_type_7 game_core Checks if a value exists in vector at this+0x1604 and param_2 equals 7. Returns 1 if both conditions met. 0x00DFA3C0 84 find_id_in_string_list_0x1740 game_core Iterates linked list at this+0x1740, converting each node's STL string (at offset 0x34) to int via atoi. Returns true if any node's value matches param_2. 0x00DFA420 156 find_string_in_vector_0x809c game_core Searches a vector of STL strings at this+0x809C (stride 0x18) for a match against param_2 using std::_Traits_equal. Returns 1 if found, 0 otherwise. 0x00DFA4C0 313 check_npc_or_map_name_valid game_core Checks if param_2 matches: (1) the decrypted packet data string, (2) any string in list at this+0x17E4, (3) a known NPC name via CTownInfoMgr__find_npc_id_by_name, or (4) a substring from global DAT_01360D78. Returns 1 if any match. 0x00DFA600 42 is_valid_npc_or_mob_id game_core Returns 1 if param_1 is in range [45..999] or [10001..10014]. These correspond to valid NPC/monster sprite ID ranges. Returns 0 otherwise. 0x00DFA630 55 is_pure_ascii_string game_core Checks if all bytes in the null-terminated string param_1 are < 0x80 (pure ASCII). Returns 1 if all ASCII, 0 if any high byte found. 0x00DFA670 408 check_char_name_not_in_blacklist game_core Gets the character name at this+0x160C and the thread-local char name, then checks if it matches any STL string in the vector at this+0x52D0. Returns 0 if found (blacklisted), 1 if not found (allowed). 0x00DFA810 38 can_interact_with_ui game_core Returns 1 if: DAT_014578D0 is 0 (no modal state), no drag is active (CGameObject__has_any_drag_active), and DAT_01457864 is 0. Otherwise returns 0. 0x00DFA8D0 233 get_skill_usable_level game_core Large switch table mapping skill IDs (param_1) and level/type values (param_2) to whether the skill is usable at that level. Returns 1 if usable, 0 if not. Covers job class skill IDs 0-0x19 and extended IDs 0xFA1+. 0x00DFAC70 1053 get_skill_slot_index game_core Maps a skill ID (param_1) and slot number (param_2) to a slot index via jump tables. Validates param_2 is in range for the given skill class. Uses indirect jump tables for different skill groups. param_3 is used as a validation flag. Returns 0 if invalid, 1 if valid. 0x00DFB490 24 is_special_mode_active game_core Returns 1 if DAT_0138963C is non-zero and DAT_01389640 equals 2 (special mode type). Returns 0 otherwise. 0x00DFB4B0 301 validate_skill_slot_position game_core Validates a skill slot position for a given skill ID. param_1=skill ID, param_2=some type, param_3=slot, param_4=extra. For certain skill IDs (0xC group), calls FUN_00e248f0 to adjust the slot. Otherwise calls FUN_00e19530. Then dispatches through jump tables based on skill class to validate the slot. 0x00DFB9D0 226 check_list_items_level_valid game_core Iterates the linked list at this+0x1730. For each node, calls FUN_00ddd5a0 to get item info. Returns 0 if any node's data is invalid (local_108==0) or the node's field at offset 0x18 exceeds the item's level field. Returns 1 if all pass. 0x00DFBAC0 54 is_valid_job_class_id game_core Returns 1 if param_1 is in range [0xFA1..0xFB6] (base job classes) or matches specific extended job IDs (0x1016, 0x1019, etc. - 4th jobs and special classes). Returns 0 for invalid IDs. 0x00DFBB60 62 is_valid_job_class_id_extended game_core Like is_valid_job_class_id but also accepts base classes [1..20] in addition to [0xFA1..0xFB6] and the same extended job IDs. Returns 1 if valid. 0x00DFBC00 57 is_valid_expanded_class_id game_core Returns 1 if param_1 is in range [0xFD6..0x1010] or matches specific IDs (0x1018, 0x101F, 0x1021, etc.) for expanded/rebirth/special job classes. Returns 0 for unrecognized IDs. 0x00DFBCA0 56 is_valid_4th_class_id game_core Returns 1 if param_1 is in range [0x109C..0x10CB] or [0x10CE..0x10E9] or equals 0x1103 or 0x1108 (4th job class IDs). Returns 0 otherwise. 0x00DFBCE0 39 is_valid_base_or_job_class game_core Returns 1 if param_1 is <= 30 (base novice through baby classes) or in range [0xFA1..0x116F] (all job class IDs). Returns 0 for out of range. 0x00DFBD10 48 find_int_in_vector_0x1778 game_core Linearly searches the int vector at this+0x1778 for param_2. Returns 1 if found, 0 if end reached. 0x00DFBD40 78 get_value_from_list_0x1748_by_id game_core Iterates linked list at this+0x1748. Each node has an STL string at offset 0x34 (converted to int via atoi). When a match for param_2 is found, returns the node's dword at offset 0x1C. Returns -1 if not found. 0x00DFBD90 65 find_item_in_slot_array_by_id game_core Returns 1 if param_2 matches this+0x16EC or if a slot in the 10-entry array (this+0x17F4, stride 0xF8) has its 4th field==1 and first field==param_2. Returns 0 otherwise. 0x00DFBDE0 41 find_in_linked_list_at_0x1710 game_core Searches linked list at this+0x1710 for a node whose 4th dword matches param_2. Returns true if found. 0x00DFBE10 33 is_non_special_sprite_id game_core Returns 0 if param_1 is 0x2D (45), 0x68 (104), or 0x6F (111) -- special sprite IDs. Returns 1 for all other values. 0x00DFBE40 299 check_item_id_in_shop_slots game_core Checks if param_2 (item ID) exists in the shop's item slots. First checks the linked list item via CShop__find_item_in_linked_list_by_slot. Then iterates 10 shop slots (stride 0xF8), checking two string fields per slot (at offsets 0x181C and 0x2B7C) via atoi. Returns 1 if found. 0x00DFBF70 316 check_item_id_in_shop_slots_with_level game_core Like check_item_id_in_shop_slots but also checks that param_3 (level) is <= the stored level field. Iterates 10 shop slots, comparing both item IDs and levels. 0x00DFC0B0 51 mark_list_0x1710_node_and_notify game_core Finds a node in linked list at this+0x1710 with 4th dword matching param_2, sets its byte at offset 0x7E to 1, then calls CUIWindowMgr__notify_language_change to refresh UI. 0x00DFC0F0 51 mark_list_0x1740_node_and_notify game_core Finds a node in linked list at this+0x1740 with 4th dword matching param_2, sets its byte at offset 0x7E to 1, then calls CUIWindowMgr__notify_language_change to refresh UI. 0x00DFC130 51 mark_list_0x1738_node_and_notify game_core Finds a node in linked list at this+0x1738 with 4th dword matching param_2, sets its byte at offset 0x7E to 1, then calls CUIWindowMgr__notify_language_change to refresh UI. 0x00DFC170 433 CShop__add_matching_items_to_list game_items Iterates shop items by index, gets each item via CShop__get_linked_list_item_by_index_validated, converts its string ID to int via atoi, checks if the ID is in the vector at this+0x1778. If found, allocates a new list node (0x100 bytes) via CShopItem__copy_construct and inserts it into the list at this+0x1750. 0x00DFC330 740 CShop__rebuild_filtered_item_list game_items Rebuilds the filtered item list at this+0x1750. First phase adds matching items (same as CShop__add_matching_items_to_list). Second phase iterates the new list, cross-references against list 0x1748 to get level values, and removes items that fail FUN_00e3d390 check or updates their level fields. 0x00DFC620 910 CShop__unequip_item_from_slot game_items Unequips an item. If param_2==0x8000, removes from linked list slot, displays chat message, clears slot, removes window 0x271B entry, and removes status bonus. Otherwise handles slotted equipment (up to 10 slots), moves item back to inventory list, and notifies UI. Also ensures CDataTable is initialized. 0x00DFC9B0 506 CShop__equip_item_to_slot game_items Equips an item (param_2 points to item data). Displays equip message, copies item data into up to 3 equipment slots, applies item bonus, and refreshes windows. If item is shadow equip (checked via FUN_00e1d9b0), routes to FUN_00e07150 instead. 0x00DFCBB0 459 CShop__add_item_to_equipment_slot game_items Adds an item to one of 10 equipment slots (0x3EC0..0x4778, stride 0xF8). First checks if all 10 slots are full (returns 0). Copies item data, finds matching slot by item ID, stacks if found, otherwise places in first empty slot. Notifies window 0x271B to refresh. 0x00DFCD80 23 get_vector_count_stride_0x18 game_core Returns the number of elements in a vector by computing (end - begin) / 0x18. Each element is 24 bytes. 0x00DFCDA0 246 load_shadow_cursor_sprite_resources game_core Loads sprite resources for shadow, cursors, and another pair via CResourceMgr. Increments reference counts. Temporarily sets DAT_0173a868/0173a86c to 0 while loading cursors, then restores them. 0x00DFCEA0 438 reload_shadow_cursor_sprite_resources game_core Reloads shadow, cursor, and other sprite resources. First loads and removes existing resources to force fresh load, then loads them again with reference count increments. Same temp-clear of DAT_0173a868/86c as load_shadow_cursor_sprite_resources. 0x00DFD060 5164 CItem__load_data_tables_helper game_items Helper for loading item data tables. 5.1K bytes. Called by CItem__large_load_data_tables. Loads data files via CDataTableMgr, calls lua functions, decrypts XOR data. Shows error messageboxes on failure. 0x00DFE4E0 2645 load_all_game_options_from_lua game_core Loads all game settings from OptionInfo.lua. Reads dozens of option values (ints, floats, strings) and stores them in the game object and global variables. Includes: camera angles, resolution, sound settings, render options, anti-cheat checks, game settings updates, and various boolean flags for UI options. 0x00DFEF40 279 push_sample_and_compute_average game_core Adds param_2 to a circular list at this+0xFE4 (max 4 elements). Removes oldest when full. Then computes the average of all elements and stores it at this+0x7A0. Used for frame time or FPS averaging. 0x00DFF060 31 notify_window_0x17_via_01457948 game_core If global window pointer DAT_01457948 is non-null, calls its virtual method at vtable+0x94 with event type 0x17 to refresh/notify it. 0x00DFF080 31 notify_window_0x17_via_01457974 game_core If global window pointer DAT_01457974 is non-null, calls its virtual method at vtable+0x94 with event type 0x17 to refresh/notify it. 0x00DFF0A0 63 notify_inventory_window_by_type game_core Selects a window pointer based on param_1: type 1 uses DAT_01457A90, type 2 uses DAT_01457AA0, default uses DAT_01457978. Sends event 0x17 to refresh it. 0x00DFF0E0 49 notify_equip_window_with_param game_core Selects window pointer DAT_01457A8C (if param_1 non-zero) or DAT_0145797C, then sends event 0x17 with param_2 as extra data. 0x00DFF120 39 update_option_state_0x1708 game_core Reads game settings option 0x2E or 0x2D (depending on param_2 != 0) and stores the result byte at this+0x1708. 0x00DFF150 40 refresh_window_01457948_and_rebuild game_core Sends event 0x17 to window DAT_01457948 if it exists, then calls CGameObject__rebuild_window_list to refresh all windows. 0x00DFF180 31 notify_window_0x17_via_01457908 game_core If global window pointer DAT_01457908 is non-null, calls its virtual method at vtable+0x94 with event type 0x17. 0x00DFF1A0 77 remove_node_from_list_0x734_by_id game_core Searches the linked list at this+0x734 for a node whose 4th dword matches param_2. If found, unlinks and frees it (0x14 byte node). Decrements the count at this+0x738. 0x00DFF1F0 83 copy_string_and_replace_underscores game_core Copies string from param_1 to param_2 (if different), then replaces all '_' characters with spaces in param_2. Uses CharNextExA with codepage DAT_016d3a78 for multi-byte character support. 0x00DFF250 66 cleanup_seh_and_dtor_string game_core Simple SEH cleanup function that destroys an STL string and restores the FS offset. Likely a compiler-generated cleanup handler. 0x00DFF2A0 477 save_mini_party_info_to_lua game_core Iterates the linked list at this+0x734, formatting each node's data (name, fields 2/3/4) into a string buffer using sprintf. Builds a concatenated string of all entries, then writes to "savedata/MiniPartyInfo.lua" via fopen/fclose. 0x00DFF480 48 set_list_0x1768_node_field_by_index game_core Traverses linked list at this+0x1768 to find the node at index param_2, then sets its 7th dword (offset 0x18) to param_3. 0x00DFF4B0 46 set_field_0x5c1c_and_notify_window game_items Stores param_2 into this+0x5C1C, then sends event 0x3C to window DAT_01457860 if non-null. 0x00DFF4E0 273 update_or_remove_friend_entry game_core Finds a friend entry in linked list at this+0x17E4 by field[4]==param_2. If param_3 is empty string, sends packet 0xB0 and removes the node. If non-empty, updates the node's string to param_3. Then refreshes window type 0x22 (friend list). 0x00DFF600 553 save_guild_emblem_to_file game_core Saves guild emblem data to disk. Creates tmpEmblem directory if needed, deletes old emblem files matching guild ID pattern, writes new emblem data (param_2, param_3 bytes) to a file named with guild ID and version. Also handles packet processing for own guild. 0x00DFF830 56 update_equipment_slot_item game_core If param_1 < 10, copies item desc from param_2, calls enchant UI update, and updates item status bonus using field at param_2+0xC. 0x00DFF870 41 set_character_name_0x160c game_core If param_2 is non-null, copies it into the character name buffer at this+0x160C (max 20 chars). If null, sets the first byte to 0 (empty string). 0x00DFF8A0 11 set_flag_0x40 game_core ORs the dword at param_1 with 0x40, setting bit 6. 0x00DFF8B0 262 set_costume_slot_and_update_autocast game_core Sets the costume/shadow slot at this+0x16EC to param_2. Invalidates visible windows. If in mode1, adds/removes entry 0x2B7 from the global vector DAT_014A6938. Notifies the skill bar window (vtable+0x40) to refresh with event 0x2C. 0x00DFF9C0 56 update_equipment_slot_item_00dff9c0 game_core If param_1 < 10, copies item desc from param_2, calls enchant UI update, and updates item status bonus using field at param_2+0xC. Duplicate of update_equipment_slot_item. 0x00DFFA00 311 update_friend_online_status game_core Finds a friend entry in list 0x17E4 matching param_2 (char ID) and param_3 (account ID). Updates field 0x48 with param_4 (online status byte). If option 0xA5 is set, optionally sets map name and displays a login/logout chat message (msg 0x411 or 0x412). Returns 1 if found. 0x00DFFB40 33 set_homunculus_data_by_id game_core If param_2 >= 10000, stores param_3 at index (param_2-10000) in the array pointed to by this+0x710. Used for homunculus/pet data indexed by ID offset from 10000. 0x00DFFB70 33 set_mercenary_data_by_id game_core If param_2 >= 8000, stores param_3 at index (param_2-8000) in the array pointed to by this+0x71C. Used for mercenary data indexed by ID offset from 8000. 0x00DFFBA0 104 add_or_update_item_in_list_0x1710 game_core Finds a node in list 0x1710 matching param_2's field[4]. If found and param_2's field[0x10] is 0, calls FUN_00e03d90; otherwise copies item desc. If not found, pushes to back. If param_3 is non-zero, notifies UI language change. 0x00DFFC10 33 set_elemental_data_by_id game_core If param_2 >= 0x2008 (8200), stores param_3 at index (param_2-0x2008) in the array pointed to by this+0x728. Used for elemental data indexed by ID offset from 8200. 0x00DFFC40 51 set_list_0x1768_two_fields_by_index game_core Traverses linked list at this+0x1768 to index param_2, then sets both dwords at offsets 0x1C and 0x20 (fields 7 and 8) to param_3. 0x00DFFC80 46 dispatch_event_type1_with_params game_core Creates a local struct with type=1, param_1 and param_2 as data, then calls FUN_00e03f20 to dispatch/process it. 0x00DFFCB0 57 set_field_0x5210_and_notify_window_271b game_items Stores param_2 at this+0x5210, then finds window type 0x271B and sends it event 0x17 to refresh. 0x00DFFCF0 37 clear_new_flags_in_list_0x1710 game_core Iterates linked list at this+0x1710 and clears the byte at offset 0x7D (sets to 0) for all nodes where it was set to 1. Used to clear "new item" flags. 0x00DFFD20 57 set_field_0x5214_and_notify_window_271b game_items Stores param_2 at this+0x5214, then finds window type 0x271B and sends it event 0x17 to refresh. 0x00DFFD60 213 set_job_class_with_remapping game_core Sets the job class at this+0x1628 from param_2, remapping special job IDs to their base counterparts (e.g. 0xFAE->0xFA8, 0xFB6->0xFAF, trans jobs to base jobs). Then calls FUN_00e26030 with param_3, stores param_5 at this+0x16F4, and copies param_4 string to this+0x7B4. 0x00E000D0 34 set_position_fields_0xf18 game_core Sets three fields: this+0xF18 = param_2, this+0xF1C = param_3, this+0xF20 = param_4. Likely X, Y, direction or similar positional data. 0x00E00100 43 set_party_member_field_0x10_by_id game_core Finds a node in list 0x734 with 4th dword matching param_2, then sets its 5th dword (offset 0x10) to param_3. 0x00E00130 36 sync_server_tick_offset game_core Computes the tick offset as (timeGetTime() - param_2) and stores it at this+0x794. Resets this+0x798 to 0. Used to synchronize client time with server tick. 0x00E00160 203 clear_and_set_hotkey_name game_core Clears hotkey names for the current tab (this+0xBC) by replacing matching entries with "nothing". Tab has 9 entries of stride 0x18 (STL strings). Then sets the current entry to param_2 (or "nothing" if empty). 0x00E00230 227 add_item_to_shadow_equipment_slot game_core Adds an item to the 10 shadow equipment slots (at 0x3EB4, stride 0xF8). If matching slot found, updates its quantity field with param_6. Otherwise places in first empty slot via CItemDesc__copy_from. Notifies window 0x271B. 0x00E00320 176 add_item_to_extended_equipment_slot game_core Adds an item to an extended set of 10 equipment slots starting at this+0x4870 (stride 0xF8). Places in first empty slot via CItemDesc__copy_from. Notifies window 0x271B. 0x00E003D0 244 rbtree_find_or_insert_by_key game_core Looks up param_2 in the red-black tree at this+0x80B4. If found with matching key, returns pointer to value (offset 0x14). Otherwise performs lower bound search and inserts if not present. Returns pointer to value data or 0. 0x00E004D0 24 set_rbtree_byte_value_by_key game_core Calls rbtree_find_or_insert_by_key with param_1 and writes param_2 (byte) to the returned value pointer. Does nothing if key not found. 0x00E004F0 488 rbtree_map_set_value_with_vector_resize game_core Looks up param_1 in rbtree, ensures internal vector has at least param_2+1 elements (resizing if needed). Then inserts or updates the map entry at vector[param_2] for key param_3, storing (param_4, param_5) as the value pair. 0x00E006E0 550 rbtree_insert_or_update_string_key game_core Looks up param_2 (string key) in the red-black tree at this+0x80B4. First tries with character name (this+0x160C) prefixed key, then without. If found, returns 1 and existing value. If not found, inserts a new node with the string key and returns 0. 0x00E00910 533 load_navigation_lua_data_files game_core Loads navigation system Lua data files based on DAT_016d3b14 (server type: 0=normal, 1=Sakray, 2=local). Loads Navi_f, Navi_Map, Navi_Npc, Navi_Mob, Navi_Link, Navi_LinkDist, NpcDist, Scroll, and picknpc files. Then calls FUN_00b9e580 to initialize navigation. 0x00E00B30 1407 call_lua_navigation_init_with_decrypt game_core Decrypts encrypted strings via xor_decrypt_buffer (XOR key in TLS), calls a Lua function with the decrypted function name. On failure, shows a MessageBox with error. Uses multiple encrypted string buffers for Lua function and error message strings. 0x00E010B0 16 set_field_0x8134 game_items Simple setter: stores param_2 at this+0x8134. 0x00E010C0 725 parse_hash_delimited_data_file game_core Opens a file (param_2) and parses '#'-delimited data. Each '@' terminates a record which is added as a string+int vector pair to param_1 (output vector). '#' separates fields within a record; first field is the string key, subsequent fields are parsed as ints via atoi. Records are sorted by string key after parsing. 0x00E013F4 1 CRT_stub_00e013f4 crt WARNING (jumptable): Unable to track spacebase fully for stack 0x00E01670 41 clear_flag_0x7e_in_list_0x1710 game_core Finds node in linked list at this+0x1710 by matching 4th dword with param_2, then clears byte at offset 0x7E to 0. 0x00E016A0 41 clear_flag_0x7e_in_list_0x1740 game_core Finds node in linked list at this+0x1740 by matching 4th dword with param_2, then clears byte at offset 0x7E to 0. 0x00E016D0 41 clear_flag_0x7e_in_list_0x1738 game_core Finds node in linked list at this+0x1738 by matching 4th dword with param_2, then clears byte at offset 0x7E to 0. 0x00E01700 111 adjust_server_tick_drift game_core Adjusts the tick offset (this+0x794) based on comparison of current tick to param_2. If drift is too large in either direction, resyncs. Allows up to 3 consecutive drifts before forcing resync. Uses 0x48 (72ms) as jitter threshold and 0x90 (144ms) as max drift. 0x00E01770 2306 save_all_game_options_to_lua game_core Saves all game options to "SaveData/OptionInfo.lua". Opens the existing file, reads its content, then opens for write. Calls SaveToFileCmdOnOffValueEx Lua function first, then writes dozens of option values (ints, floats, strings) via FUN_00e26c00/FUN_00e26b10/FUN_00e26b90/FUN_00e26c70. Gets window rect for resolution saving. 0x00E02080 90 STL_vector__Change_array_00e02080 stl STL vector _Change_array: frees the old buffer (with size-class check), then updates begin/end/capacity pointers for the new 8-byte-element array. 0x00E020E0 90 STL_vector__Change_array_00e020e0 stl STL vector _Change_array: frees the old buffer (with size-class check), then updates begin/end/capacity pointers for the new 8-byte-element array. 0x00E02140 22 std__destroy_range_0x24_wrapper_a stl Wrapper that calls std__destroy_range_0x24_entries_a to destroy entries in a 0x24-byte stride range. 0x00E02160 22 std__destroy_range_0x24_wrapper_b stl Wrapper that calls std__destroy_range_0x24_entries_b to destroy entries in a 0x24-byte stride range. 0x00E02180 269 std__destroy_range_0x2c_with_vector stl Destroys entries in a range [param_1, param_2) with 0x2C stride. Each entry has a string at offset 0 (destroyed via STL_string_dtor) and a dynamic array at offset 0x20 (freed with operator_delete). Clears all pointers after destruction. 0x00E02290 93 std__destroy_map_range_stride8 stl Iterates from param_1 to param_2 in 8-byte steps, destroying each STL map (tree + sentinel) via STL_map__destroy_tree_and_sentinel. 0x00E022F0 1 CRT_stub_00e022f0 crt Crt stub 00e022f0, small utility function 0x00E02300 1 CRT_stub_00e02300 crt Crt stub 00e02300, small utility function 0x00E02310 1 CRT_stub_00e02310 crt Crt stub 00e02310, small utility function 0x00E02320 3 identity_passthrough_00e02320 crt Identity function that returns its parameter unchanged 0x00E02330 517 Insert_node stl STL red-black tree _Insert_node: inserts a new node at the given position, then performs red-black rebalancing with rotations to maintain tree invariants. 0x00E02540 517 Insert_node stl STL red-black tree _Insert_node: inserts a new node at the given position, then performs red-black rebalancing with rotations to maintain tree invariants. 0x00E02750 517 Insert_node stl STL red-black tree _Insert_node: inserts a new node at the given position, then performs red-black rebalancing with rotations to maintain tree invariants. 0x00E02960 517 Insert_node stl STL red-black tree _Insert_node: inserts a new node at the given position, then performs red-black rebalancing with rotations to maintain tree invariants. 0x00E02B70 517 Insert_node stl STL red-black tree _Insert_node: inserts a new node at the given position, then performs red-black rebalancing with rotations to maintain tree invariants. 0x00E02D80 517 Insert_node stl STL red-black tree _Insert_node: inserts a new node at the given position, then performs red-black rebalancing with rotations to maintain tree invariants. 0x00E02F90 517 Insert_node stl STL red-black tree _Insert_node: inserts a new node at the given position, then performs red-black rebalancing with rotations to maintain tree invariants. 0x00E031A0 189 std__vector_pair8_reallocate_a stl Reallocates an std::vector of 8-byte elements (pairs). Allocates new buffer via FUN_00e03ac0, copies elements via FUN_00e03680, frees old buffer. Updates begin/end/capacity pointers. 0x00E03290 189 std__vector_pair8_reallocate_b stl Reallocates an std::vector of 8-byte elements. Similar to std__vector_pair8_reallocate_a but uses different allocation (FUN_00e03b20) and copy (FUN_00e036b0) helpers. 0x00E03380 178 std__vector_of_maps_destroy_and_free stl Destroys a vector of STL maps. Iterates all 8-byte elements from begin to end, calling STL_map__destroy_tree_and_sentinel on each, then frees the vector buffer. Zeroes begin/end/capacity. 0x00E03440 82 fill_or_copy_int_array game_core If *param_3 is 0, fills param_1 with zeros (memset). Otherwise copies *param_3 into param_2 elements of param_1. Returns pointer past end of filled region. 0x00E034A0 120 std__uninitialized_fill_n_string stl Constructs param_2 copies of an STL string (param_3) at consecutive 0x18-byte stride positions starting at param_1. Returns pointer past end. 0x00E03520 153 std__uninitialized_fill_n_map_sentinel stl Creates param_2 default-initialized STL map sentinels at 8-byte stride. Each map sentinel is 0x1C bytes with self-referential prev/next/parent pointers and flag bytes 0x01,0x01 at offset 0xC. 0x00E035C0 44 copy_pair8_range_a game_core Copy pair8 range a, small utility function 0x00E035F0 44 copy_pair8_range_b game_core Copy pair8 range b, small utility function 0x00E03620 44 copy_pair8_range_c game_core Copy pair8 range c, small utility function 0x00E03650 45 relocate_pair8_range_a game_core Copies 8-byte pairs from [param_1, param_2) to destination at offset param_3 relative to param_1. Used during vector reallocation. 0x00E03680 45 relocate_pair8_range_b game_core Copies 8-byte pairs from [param_1, param_2) to destination at offset param_3. Identical to relocate_pair8_range_a. 0x00E036B0 45 relocate_pair8_range_c game_core Copies 8-byte pairs from [param_1, param_2) to destination at offset param_3. Identical to relocate_pair8_range_a. 0x00E036E0 120 std__copy_construct_map_range_stride8 stl Copy-constructs STL maps in range [param_1, param_2) at 8-byte stride via std__rb_tree_copy_construct. 0x00E03760 10 thunk_to_std__Xlength_error_00e03760 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00E03770 10 thunk_to_std__Xlength_error_00e03770 stl Calls std::_Xlength_error with vector_too_long error message 0x00E03780 10 thunk_to_std__Xlength_error_00e03780 stl Calls std::_Xlength_error with vector_too_long error message 0x00E03790 10 thunk_to_std__Xlength_error_00e03790 stl Forwards to std::_Xlength_error with vector_too_long message 0x00E037A0 10 thunk_to_std__Xlength_error_00e037a0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00E037B0 10 thunk_to_std__Xlength_error_00e037b0 stl Calls std::_Xlength_error with vector_too_long error message 0x00E037C0 95 STL_aligned_alloc_stride_0x14 stl Allocates aligned memory for param_1 elements of 0x14 (20) bytes each. Uses 32-byte aligned allocation for sizes >= 0x1000. 0x00E03820 95 STL_aligned_alloc_stride_0x18 stl Allocates aligned memory for param_1 elements of 0x18 (24) bytes each. Uses 32-byte aligned allocation for sizes >= 0x1000. 0x00E03880 95 STL_aligned_alloc_stride_0x24 stl Allocates aligned memory for param_1 elements of 0x24 (36) bytes each. Uses 32-byte aligned allocation for sizes >= 0x1000. 0x00E038E0 95 STL_aligned_alloc_stride_0x28 stl Allocates aligned memory for param_1 elements of 0x28 (40) bytes each. Uses 32-byte aligned allocation for sizes >= 0x1000. 0x00E03940 92 STL_aligned_alloc_stride_0x20 stl Allocates aligned memory for param_1 elements of 0x20 (32) bytes each. Uses 32-byte aligned allocation for sizes >= 0x1000. 0x00E039A0 95 STL_aligned_alloc_stride_0x18_b stl Allocates aligned memory for param_1 elements of 0x18 (24) bytes each. Duplicate of STL_aligned_alloc_stride_0x18. 0x00E03A00 92 STL_aligned_alloc_stride_0x2c stl Allocates aligned memory for param_1 elements of 0x2C (44) bytes each. 0x00E03A60 92 STL_aligned_alloc_stride_0x20_b stl Allocates aligned memory for param_1 elements of 0x20 (32) bytes each. Duplicate of STL_aligned_alloc_stride_0x20. 0x00E03AC0 92 STL_aligned_alloc_stride_8_a stl Allocates aligned memory for param_1 elements of 8 bytes each. 0x00E03B20 92 STL_aligned_alloc_stride_8_b stl Allocates aligned memory for param_1 elements of 8 bytes each. Duplicate of STL_aligned_alloc_stride_8_a. 0x00E03B80 62 deallocate stl STL allocator deallocate: frees memory for 8-byte elements, checking large allocation alignment before calling operator delete. 0x00E03BC0 62 deallocate stl STL allocator deallocate: frees memory for 8-byte elements, checking large allocation alignment before calling operator delete. 0x00E03C00 62 deallocate stl STL allocator deallocate: frees memory for 8-byte elements, checking large allocation alignment before calling operator delete. 0x00E03C40 61 deallocate stl STL allocator deallocate: frees memory for 0x24-byte elements, checking large allocation alignment before calling operator delete. 0x00E03C80 61 deallocate stl STL allocator deallocate: frees memory for 0x24-byte elements, checking large allocation alignment before calling operator delete. 0x00E03CC0 62 deallocate stl STL allocator deallocate: frees memory for 8-byte elements, checking large allocation alignment before calling operator delete. 0x00E03D00 137 list_erase_node_0x58 game_core Erases a node from a doubly-linked list. Unlinks param_3, decrements count at this+4, destroys two STL strings in the node, frees the 0x58-byte node. Sets *param_2 to the next node. 0x00E03D90 140 list_erase_node_0x100 game_core Erases a node from a doubly-linked list. Unlinks param_3, decrements count at this+4, destroys two STL strings in the node, frees the 0x100-byte node. Sets *param_2 to the next node. 0x00E03E20 67 rbtree_find_by_int_key game_core Searches a red-black tree for an integer key (*param_3). Uses _Find_lower_bound and checks if the found node's key matches. Returns the found node in *param_2, or the end sentinel if not found. 0x00E03E70 170 CShopItemList__push_back_00e03e70 game_core Pushes an item to the back of a doubly-linked list. Allocates a 0x58-byte node via operator_new, copy-constructs item data via CItemNode__CopyConstructor, increments count, links at tail. Throws if list at max length. 0x00E03F20 175 list_push_back_0x14 game_core Pushes a 12-byte data payload (8 bytes + 4 bytes from param_2) to the back of a linked list. Allocates 0x14-byte nodes (8 bytes for prev/next + 12 bytes payload). Increments count. Throws if list at 0xCCCCCCC max. 0x00E03FD0 39 std__vector_push_back_4byte stl Push back a 4-byte element to a vector. If capacity available, copies directly; otherwise calls STL_vector_insert_single_4byte to grow. 0x00E04000 48 std__vector_push_back_pair8_a stl Push back an 8-byte pair element. If capacity available, copies two dwords; otherwise grows via std__vector_emplace_pair_8byte. 0x00E04030 48 std__vector_push_back_pair8_b stl Push back an 8-byte pair element. If capacity available, copies directly; otherwise grows via std__vector_emplace_pair_8byte variant. 0x00E04060 89 std__vector_resize_int stl Resizes a vector of 4-byte ints. If shrinking, truncates end pointer. If growing within capacity, fills with param_3. If exceeding capacity, reallocates. 0x00E040C0 163 std__vector_resize_string stl Resizes a vector of STL strings (0x18 stride). If shrinking, destroys excess strings. If growing within capacity, constructs new copies. If exceeding capacity, reallocates. 0x00E04170 439 std__vector_assign_range_0x1c stl Assigns a range [param_2, param_3) of 0x1C-stride elements to a vector. Handles reallocation if needed (1.5x growth). Copies existing elements and constructs new ones. Destroys excess if shrinking. 0x00E04330 34 memcpy_and_return_end_00e04330 stl Copies (param_2 - param_1) bytes from param_1 to param_3 via memcpy. Returns pointer past end of destination. 0x00E04360 74 copy_assign_0x1c_entries_with_string stl Copies 0x1C-stride entries from [param_1, param_2) to param_3. Each entry has an STL string (assigned via STL_lib_func_004fa8f0 if not self-copy) and a byte at offset 0x18. Returns pointer past end of destination. 0x00E043B0 105 std__destroy_range_0x2c_entries stl Destroys entries in range [param_1, param_2) at 0x2C stride. Each entry has a vector of 0x1C elements (cleared/freed) and an STL string (destroyed). 0x00E04420 534 std__vector_emplace_entry_0x2c stl Emplaces a new 0x2C-stride element into a vector. Handles reallocation with 1.5x growth. Constructs element via FUN_00e06040, moves existing elements, frees old buffer. 0x00E04640 492 std__vector_emplace_entry_0x1c stl Emplaces a new 0x1C-stride element into a vector with 1.5x growth. Allocates new buffer, constructs element at insertion point, moves existing elements around it, frees old buffer. 0x00E04860 548 std__vector_emplace_entry_0x54 stl Emplaces a new 0x54 (84) byte element into a vector with 1.5x growth. Copies 21 dwords for the element data. Moves existing elements via memcpy or FUN_00e27480. 0x00E04A90 439 std__vector_emplace_pair_8byte_grow stl Emplaces a new 8-byte pair element into a vector, reallocating with 1.5x growth. Copies two dwords for the new element, moves existing elements, frees old buffer. 0x00E04C50 75 rbtree_lower_bound_int game_core Red-black tree lower bound search for an integer key. Traverses left/right children comparing keys. Stores the current node, comparison direction, and bound node in param_2. 0x00E04CA0 491 std__introsort_median_of_nine stl Selects pivot via median-of-3 (small ranges) or median-of-9 (large ranges) for introsort. Uses FUN_00e063f0 as comparator with lua_get_title_string for string-based sorting of pointer arrays. 0x00E04E90 481 std__insertion_sort_by_title stl Insertion sort on a pointer array [param_1, param_2). Compares elements by title string via lua_get_title_string + std::_Traits_compare. 0x00E05080 578 std__make_heap_by_title stl Builds a max-heap on the pointer array [param_1, param_2) using title string comparison. Standard sift-down heapification. 0x00E052D0 1824 std__partition_by_title stl Three-way partitioning (Dutch national flag) of a pointer array around a pivot element using title string comparison. Returns partition boundaries in param_1. Used by introsort. 0x00E059F0 534 std__sift_down_heap_by_title stl Sift-down operation for a heap on a pointer array, inserting param_4 at position param_2 within heap of size param_3. Compares by title string. 0x00E05C10 234 std__introsort_by_title stl Introsort implementation for a pointer array. Falls back to insertion sort for small ranges (<33 elements) and heap sort when recursion depth exhausted. Uses title string comparison. Recursively sorts partitions, always recursing into the smaller partition. 0x00E05D00 139 std__uninitialized_copy_0x1c_entries stl Copy-constructs 0x1C-stride entries from [param_1, param_2) to param_3. Each entry has an STL string and a byte at offset 0x18. Returns pointer past end. 0x00E05D90 191 std__move_construct_0x1c_entries stl Move-constructs 0x1C-stride entries from [param_1, param_2) to param_3. Moves STL string data and copies the byte at offset 0x18. Leaves source strings empty after move. 0x00E05E50 96 crt__vsnprintf_200_wrapper crt Wrapper around __stdio_common_vsnprintf_s with a max buffer size of 200 bytes. Returns formatted string length or -1 on error. 0x00E05EC0 91 construct_0x1c_entry_from_source game_core Copy-constructs a single 0x1C-stride entry at param_2 from source at param_3. Copies the STL string and the byte at offset 0x18. 0x00E05F20 276 rbtree_insert_or_find_0x4c_node game_core Searches rbtree for integer key (*param_3). If found, returns existing node. If not found, allocates a 0x4C-byte node, copies 15 dwords of data from param_3, inserts into tree, and returns the new node with inserted=true flag. 0x00E06040 238 construct_0x2c_entry_with_vector game_core Constructs a 0x2C-byte entry at param_1 from param_2. Copies first 8 bytes directly, copy-constructs STL string at offset 8, then allocates and copies the 0x1C-stride vector at offset 0x20. Returns param_1. 0x00E06130 67 free_rbtree_node_0x4c_a stl Frees the 0x4C-byte node at *(param_1+4) if non-null. 0x00E06180 78 free_rbtree_node_0x4c_b stl Frees the 0x4C-byte node at *(param_1+4) if non-null. Similar to free_rbtree_node_0x4c_a. 0x00E061D0 78 free_rbtree_node_0x4c_c stl Frees the 0x4C-byte node at *(param_1+4) if non-null. Similar to free_rbtree_node_0x4c_a. 0x00E06240 65 seh_cleanup_string_dtor crt SEH cleanup handler that destroys an STL string and restores FS offset. Compiler-generated exception cleanup. 0x00E06290 254 rbtree_find_or_insert_default_0x4c game_core Searches rbtree for integer key. If found, returns value pointer. If not found, inserts a new zero-initialized 0x4C-byte node and returns pointer to its value area (offset 0x14). 0x00E06390 83 operator++ stl STL tree iterator operator++: advances to the next in-order node by traversing right subtree or walking up to the parent. 0x00E063F0 207 compare_by_title_string_less game_core Compares two values by their title strings obtained via lua_get_title_string. Returns 1 if param_1's title is less than param_2's title (lexicographic), 0 otherwise. Used as sort comparator. 0x00E064C0 191 add_item_to_sorted_vector_6160 game_core Adds a processed item ID (via CPacketParser__handler_0066e460) to the sorted vector at this+0x6160. Skips if already present. After adding, re-sorts using introsort_by_title. Notifies window type 10 with event 0x3C. 0x00E06580 2635 CShop__process_item_event game_items Complex shop item event handler. Finds existing or creates new rbtree entry for param_2 (item ID). If entry doesn't exist, creates new shop tab entry with item descriptions (handling long names with ellipsis). Limits tabs to 3. Manages item description vectors with string formatting based on item type. Sorts tabs by title. 0x00E06FD0 375 rbtree_update_or_insert_item_data game_core Looks up param_2's first dword as key in rbtree at this+0x6144. If found, updates the node's fields from param_2's data (stats, timestamp, flags). If not found, converts timestamp via localtime32, builds a full 0x4C node with all fields, and inserts it. 0x00E07150 314 equip_shadow_item_to_slots game_core Equips a shadow item (param_2) into up to 3 equipment slots determined by equip_location_to_slot_indices. Copies item desc and sets equipped flag + extra fields per slot. Notifies item list window, ensures CDataTable is initialized, applies status bonus. 0x00E07290 87 update_or_add_skill_in_list game_core Searches skill list at this+4 for a skill matching param_2's skill ID (offset 8). If found, updates level/SP/range/type/flag fields. If not found, pushes new skill entry via CSkillList__push_back. Returns 0 if updated, 1 if added. 0x00E072F0 135 update_or_add_skill_in_list_0x84 game_core Like update_or_add_skill_in_list but operates on list at this+0x84. Also updates the skill type field (offset 5). If param_3 is non-zero, notifies equipment windows to update. 0x00E07380 135 update_or_add_skill_in_list_0x8c game_core Like update_or_add_skill_in_list_0x84 but operates on list at this+0x8C and calls notify_equipment_windows_update_b instead of _a. 0x00E07410 81 add_unique_int_to_vector_616c game_core Adds param_2 to the int vector at this+0x616C only if it's not already present (linear uniqueness check). Grows vector if needed. 0x00E07470 162 equip_item_to_third_tier_slots game_core Equips an item to up to 3 third-tier equipment slots (base offset 0x34F8, stride 0xF8). Uses equip_location_to_slot_indices to determine which slots. Copies item data and sets equipped flag, extra fields. 0x00E07520 20 update_skill_with_notify game_core Wrapper that calls FUN_00e07540 with param_3=1 (always notify). 0x00E07540 441 update_skill_in_all_groups game_core Updates a skill across all skill groups. Copies skill data, searches groups and standalone list for existing entry, updates or adds. Checks IsLevelUseSkill and adjusts skill level. Also updates a separate skill entry list. If param_2 is set, notifies equipment/status windows. 0x00E07700 380 update_skill_by_params_in_groups game_core Updates a skill in all groups from individual parameters rather than a struct. Searches groups and standalone list, updates or adds, checks IsLevelUseSkill, optionally notifies windows. Constructs temporary skill entry on stack. 0x00E07880 169 update_skill_node_by_entry game_core Searches for a skill node by ID from param_1. If found, updates its fields. If not found and param_1 has level, adds it with refresh. Checks IsLevelUseSkill and adjusts level cap. If param_2 is 1, notifies equipment/status windows. 0x00E07930 215 add_item_to_5_slot_array_5c6c game_core Adds an item to a 5-slot array (this+0x5C6C, stride 0xF8). If matching item found, stacks (adds count). Otherwise places in first empty slot. Notifies window DAT_01457AD8 with event 0x17. 0x00E07A10 133 add_item_to_5_slot_first_empty game_core Adds an item to the first empty slot in the 5-slot array at this+0x5C78 (stride 0xF8). Does not check for existing items to stack. 0x00E07AA0 1285 CReportSystem__save_report_entry ui_windows CReportSystem: save report entry 0x00E07FB0 476 CReportSystem__process_report_string ui_windows Processes a report string input. Takes a char* string, builds an STL string from it, splits by whitespace, checks if result has entries, and if so looks up the first token in a hash table. Returns boolean success. Part of CReportSystem. 0x00E08190 66 CItemDB__clear_selling_items_batch game_items Iterates 5 selling item slots (at this+0x5C68, 0xF8 stride). For each with non-zero quantity at +0x10, clears it via CItemCollection__add_or_update_selling_item(slot, 0). Notifies UI if any items were cleared. 0x00E081E0 118 is_paired_job_class game_core Checks if a job class ID belongs to a paired set. param_2=0: checks if param_1 is in set {0x13, 0xFB4, 0xFCA, 0xFE4, 0xFEB, 0x1008, 0x10A7}. param_2=1: checks set {0x14, 0xFB5, 0xFCB, 0xFE5, 0xFEC, 0x1009, 0x10A8}. Returns 1 if match, 0 if not. These are male/female paired job classes. 0x00E08260 44 reset_all_item_slots game_core Resets all 10 item description slots by calling CItemDesc__reset_all_fields for each, then notifies the item list window to update. 0x00E08290 60 CItemDB__clear_selling_slot_quantities game_items Clears the quantity fields for 5 selling item slots at offsets +0x5C78/+0x5D70/+0x5E68/+0x5F60/+0x6058 (0xF8 stride) and resets the total counter at +0x6140. 0x00E082D0 37 reset_all_item_slots_no_notify game_core Resets all 10 item description slots by calling CItemDesc__reset_all_fields for each. Unlike reset_all_item_slots, does NOT notify the item list window. 0x00E08300 46 CItemDB__clear_enchant_fields game_items Clears enchant-related fields in the item DB. Zeros out flag at +0x6EB, two 4-byte + 2-byte + 1-byte fields spanning +0x6EC through +0x6F8. 0x00E08330 41 CItemDB__clear_option_slots game_items Clears 36 (0x24) option slot entries starting at +0x4B0. Each entry is 7 bytes (1 byte flag + 4 byte value + 2 byte field). Zeroes all entries. 0x00E08360 23 CItemDB__clear_card_slots game_items Clears the card slot data at +0x5AC (0xFC bytes = 252 bytes, enough for multiple card slot entries) by memset to zero. 0x00E08380 67 CItemDB__clear_stat_bonuses game_items Clears 36 stat bonus dword fields from +0x420 through +0x4AC. Each is set to 0. These likely represent various item stat bonuses (STR, AGI, VIT, INT, DEX, LUK, ATK, DEF, etc.). 0x00E083D0 168 CItemDB__remove_entries_from_both_maps game_items Removes an entry from two red-black tree maps (at +0x784 and +0x78C) keyed by (param_3, param_2) pair. Uses lower_bound search on each map. If a matching or greater entry is found, erases and frees the 0x20-byte node. 0x00E08480 46 CSkillMgr__remove_skill_and_notify game_skills Removes a skill by key and by ID. If remove_by_id succeeds (returns 1), notifies equipment and status windows to refresh. 0x00E084B0 122 CSkillMgr__clear_hotbar_guild_skills game_skills Iterates through two hotbar skill arrays (0x24 entries each, 7 bytes per entry at offsets 0x4B0 and 0x5AC). Clears hotbar entries whose skill ID falls in range 10000-10019 (guild skills). Uses set_hotbar_skill_entry to clear matching slots in bar 0 and bar 1. 0x00E08530 108 CSkillMgr__update_or_remove_skill game_skills Checks if skill exists in skill groups. If found, updates its level info from find_skill_level_info. If not found, removes the skill by key and ID. Either way, notifies equipment and status windows. 0x00E085A0 150 CSkillMgr__remove_skill_from_list_and_notify game_skills Searches a skill list (at this+0x754/0x758, entries 0x54 bytes each) for a skill matching param_2. If found and param_3 >= skill level, removes the entry by memcpy-shifting remaining entries down and shrinking the list. Shows a dialog box with the appropriate result message. 0x00E08640 70 CSkillMgr__check_skill_usable game_skills Checks if a skill is usable by comparing parameters against stored skill data. Returns 0 (not usable) if params differ OR if IsLevelUseSkill returns true and IDs mismatch. Returns 1 if all checks pass. 0x00E08690 84 CSkillMgr__find_skill_before_timestamp game_skills Looks up a skill entry using CPacket__handle_unit_spawn_appear. If the entry is valid (flag 0xd is 0), timestamp <= param_3, and not equal to this+0x784, returns the 8-byte value at entry+0x18. Otherwise returns -1. 0x00E086F0 84 CSkillMgr__find_skill_before_timestamp_alt game_skills Similar to find_skill_before_timestamp but compares against this+0x78C instead of 0x784. Looks up a skill entry, validates timestamp against param_3, returns 8-byte value at entry+0x18 or -1 on failure. 0x00E08750 138 CSkillMgr__get_skill_data_by_id game_skills Looks up skill data in an rbtree by ID (param_3). Uses rbtree_lower_bound_int on the tree at this+0x6144. If found, copies a 56-byte skill data structure into param_2. If not found, zeros out the output structure. 0x00E087E0 185 load_sprite_resource game_core Builds a sprite file path with extension using build_sprite_path_with_extension, then loads it via CResourceMgr::load_resource_by_path. Returns the loaded resource handle. Uses SEH and stack cookie protection. 0x00E088A0 254 CSkillMgr__get_skill_entry_by_range game_skills Routes skill entry lookup based on skill ID range: 8000-8060 = passive skills, 0x2008-0x2031 or 0x20D0-0x2109 = third class skills, 10000-10019 = guild skills, else fallback to CSkillMgr. Constructs a default CSkillEntry, looks up, copies result, then destroys temp entry. 0x00E089A0 81 get_item_quantity_by_skill_id_range game_core Dispatches skill effect processing based on skill ID ranges. IDs 8000-803C go to one handler, IDs in 0x2008-0x2031 or 0x20D0-0x2109 range go to another, everything else goes to a third handler. 0x00E08A00 314 lua_call_HaveSkillEffectInfo lua Allocates a string "HaveSkillEffectInfo" and calls the corresponding Lua function via lua_call_function. Used to query Lua for skill effect information. 0x00E08B40 289 get_skill_effect_scale_by_id game_core Returns a float scale factor for skill effects based on the skill ID. Checks specific skill ID ranges (0xFB7-0xFBD, 0xFCD, 0x105F, etc.) and returns either 1.0 (default), or values from global data tables depending on whether FUN_00e3cff0 returns 1. 0x00E08C70 214 xor_decrypt_packet_data security Copies 64 bytes of data from param_1+0x7B4 into global buffer at 0x0173A810, then XORs it with a key from PTR_DAT_01360EA0. Used for packet data decryption/decoding. 0x00E08D50 201 CBGMManager__count_map_bgm_entries sound Counts BGM entries matching the current map name and a specific map ID. Iterates through BGM entry array (stride 0x54), comparing map names and checking if the entry's map ID matches the one found by CBGMManager__find_map_by_id_no_cache. Returns count of matching entries, or -1 if map not found. 0x00E08E20 179 CBGMManager__count_entries_by_name sound Counts BGM entries matching the current map name and a given BGM file name. Iterates through the BGM entry array (stride 0x54), doing two string comparisons per entry: one against the stored map name and one against param_2. Returns count of matches. 0x00E08EE0 138 CShopItem__set_shop_tab_item ui_shop Sets a shop item for a given tab index. If param_3 < 10, copies the item into the shop array at offset 0x2B50 + index*0xF8 using CShopItem copy constructor. For index 0xF or >= 10, calls destroy_nodes_recursive_alt (error/cleanup path). 0x00E08F70 68 count_active_shop_tabs game_core Counts the number of active shop tabs by checking 5 pointers at offsets 0x5C78, 0x5D70, 0x5E68, 0x5F60, 0x6058 from param_1. Each non-null pointer increments the count. Returns 0-5. 0x00E08FC0 177 count_special_skill_ids_in_range game_core Counts how many special skill IDs exist in the range [30, param_2). Only works when param_1==1. Checks specific IDs: 30, 33, 34, 36, 53, 58, 62, 64, 66, 65, 67, 43, 45. Returns the count of matching IDs within the range. 0x00E09080 95 timestamp_to_date_components game_core Converts a Unix timestamp to date components (year, month, day). Clamps negative timestamps to 0. Uses localtime32 to decompose, then outputs year (offset from 1900), month (1-based), and day into the provided output pointers. 0x00E090E0 259 lua_get_default_option_value_float lua Calls Lua function "l_GetDefaultOptionValue" with a parameter from this+23000. If the global DAT_0110f580 changes after the Lua call, returns that new float value; otherwise returns the passed-in default param_3. 0x00E091F0 211 lua_get_default_option_value_int lua Calls Lua function "l_GetDefaultOptionValue" with a parameter from this+23000. Returns the default value param_3 unchanged (Lua call may have side effects). 0x00E092D0 407 lua_get_default_option_value_string lua Calls Lua function "l_GetDefaultOptionValue" with a parameter from this+23000. Initializes param_2 as an STL string and copies param_4 into it. Returns the string output parameter. 0x00E09470 61 get_refine_level_tier game_core Returns a tier value (1-4) based on an integer input (likely refine level). Returns 1 if <10, 2 if ==10, 2 if 11-14, 3 if 15-20(0x14), 4 if >20(0x28). Tier boundaries: 10, 10, 20, 40. 0x00E094B0 46 lookup_pair_value_by_key game_core Searches a key-value pair array (stride 8 bytes, at this+0x778/0x77C) for a matching key (param_2). Returns the associated value if found, 0 if not found. Linear search through pairs. 0x00E094E0 33 try_find_current_map_bgm game_core Checks if mode==1 (via get_field4_if_mode1), then calls CBGMManager__find_map_by_id_no_cache to find BGM info for the current map. 0x00E09510 150 CSkillList__get_entry_by_index game_skills Gets a skill entry from a linked list by positional index. Walks the linked list at this+4 and returns a copy-constructed CSkillEntry for the entry at position param_3. Returns default CSkillEntry(-1) if list is empty or index out of range. 0x00E095B0 150 CSkillList__get_entry_by_id game_skills Gets a skill entry from a linked list by skill ID. Walks the linked list at this+4 and returns a copy-constructed CSkillEntry for the entry where node[4]==param_3 (skill ID match). Returns default CSkillEntry(-1) if not found. 0x00E09650 153 CSkillList__get_passive_entry_by_index game_skills Gets a passive skill entry from a second linked list by positional index. Uses the list at this+0x84 (passive skills). Returns copy-constructed CSkillEntry at the given index, or default CSkillEntry(-1) if empty/out of range. 0x00E096F0 150 CSkillList__get_passive_entry_by_id game_skills Gets a passive skill entry from the second linked list by skill ID. Uses the list at this+0x84 (passive skills). Returns copy-constructed CSkillEntry matching the given skill ID, or default CSkillEntry(-1) if not found. 0x00E09790 345 lua_get_hotkey_config lua Calls Lua function "GetHotKey" to retrieve hotkey configuration for a given key index (param_2+1). Initializes output param_1 with two empty STL strings. On successful Lua call, copies the two returned strings into the output structure. 0x00E098F0 10 identity_passthrough_00e098f0 crt Returns parameter unchanged; identity function stub 0x00E09900 100 CShopItem__get_tab_item_copy ui_shop Returns a copy of a shop item from a tab at the given index. Copies the item at offset 0x5C68 + param_3*0xF8 using CShopItem copy constructor. 0x00E09970 153 CSkillList__get_third_list_entry_by_index game_skills Gets a skill entry from the third linked list (at this+0x8C/0x90) by positional index. Returns copy-constructed CSkillEntry or default CSkillEntry(-1) if empty/out of range. 0x00E09A10 150 CSkillList__get_third_list_entry_by_id game_skills Gets a skill entry from the third linked list (at this+0x8C/0x90) by skill ID. Returns copy-constructed CSkillEntry matching the ID, or default CSkillEntry(-1) if not found. 0x00E09AB0 154 build_sprite_resource_path_00e09ab0 game_core Builds a sprite resource path string by formatting a path template with a value from an array at this+0xFA8 indexed by param_3. Checks if the resource exists via CResourceMgr; if not, replaces with an empty string. 0x00E09B50 619 parse_monster_action_table_entry game_core Parses a monster action table XML entry for a given monster name and action ID. Looks up the monster in "Monster_Action_Table" XML, finds the numbered action child, extracts "action" and "loopType" values. If validation fails, shows error dialog boxes. Outputs action index to param_3 and loop type to param_4. 0x00E09DC0 154 build_act_resource_path game_core Builds an ACT resource path string by formatting a path template with a value from array at this+0xFA8 indexed by param_3. Checks if resource exists via CResourceMgr; if not, replaces with empty string. Similar to build_sprite_resource_path but uses a different format string. 0x00E09E60 904 get_random_monster_talk_line game_core Looks up a random talk line for a monster from the "enemy_monster_talk_table" XML data. Takes monster ID (param_1), talk type (param_2: 1-3 are numbered, others are name-based), and sub-index (param_3). Collects matching text entries into a vector, picks one randomly, and formats it via FUN_00e12870. 0x00E0A1F0 41 get_last_valid_selection_index game_core Returns the last valid (non -1) selection index from three fields at offsets 0x5BF4, 0x5BF8, 0x5BFC. Priority goes to the last field if valid, falling back to earlier ones. Returns -1 if all are invalid. 0x00E0A220 145 resolve_linked_map_id game_core Resolves a linked map ID by checking two map references at offsets 0x5578 and 0x5628. For each non-zero reference, looks up via CBGMManager to get a linked map ID at offset 0x24C. Validates the final result exists in the map database before returning it, otherwise returns 0. 0x00E0A2C0 220 get_indexed_string_from_array game_core Returns an STL string from a pointer array at this+0x52B8 by index. Bounds-checks against the array size at this+0x52BC. Returns a default "no_resource" style string if index is out of range. 0x00E0A3A0 140 get_name_string_by_index game_core Returns an STL string from a name pointer array at this+0x5294 by index param_3. No bounds checking. 0x00E0A430 140 get_description_string_by_index game_core Returns an STL string from a description pointer array at this+0x52A0 by index param_3. No bounds checking. 0x00E0A4C0 419 lua_get_original_hotkey_list_size lua Calls Lua function "GetOriginalHotKeyListSize". Always returns 0 regardless of the Lua result or the param_1 flag. The return value paths are all dead code returning 0. 0x00E0A670 229 lua_get_option_value_float lua Calls Lua function "l_GetOptionValue" with a parameter from this+23000. If global DAT_0110f580 changes, returns the new float value; otherwise returns the default param_3. 0x00E0A760 301 lua_get_option_value_struct lua Calls Lua function "l_GetOptionValue" with a parameter from this+23000. Copies 16 bytes from param_4 into param_2 (4 DWORDs). Used to retrieve structured option data. 0x00E0A890 181 lua_get_option_value_int lua Calls Lua function "l_GetOptionValue" with a parameter from this+23000. Returns param_3 unchanged (Lua call may have side effects on globals). 0x00E0A950 375 lua_get_option_value_string lua Calls Lua function "l_GetOptionValue" with a parameter from this+23000. Initializes an STL string from param_4 and returns it in param_2. 0x00E0AAD0 138 CShopItem__set_shop_tab_item_alt ui_shop Sets a shop item for a given tab index (alternate array at offset 0x3500). If param_3 < 10, copies item into array at 0x3500 + index*0xF8. For index 0xF or >= 10, calls destroy_nodes_recursive_alt (error/cleanup). 0x00E0AB60 216 get_class_name_string_by_job_id game_core Returns a class/job name string from array at this+0x52AC by translating param_3 via FUN_00de0830 to an index. Falls back to index 0 if out of bounds. 0x00E0AC40 202 lua_get_pet_acc_act_name lua Calls Lua function "GetPetAccActName" with a parameter from this+23000. Checks if the returned resource exists via CResourceMgr. Returns the resource pointer if valid, or a default string pointer if the Lua call fails or resource doesn't exist. 0x00E0AD10 126 get_pet_action_name_string game_core Returns a pet action name string based on action type ID (0-10). Maps: 0=feeding, 1=hunting, 2=danger, 3=dead, 4=stand, 5=perfor_s, 6=levelup, 7=perfor_1, 8=perfor_2, 9=perfor_3, 10=connect. Default=normal. 0x00E0ADC0 60 get_pet_emotion_frame_index game_core Looks up a pet emotion animation frame index from a 3D table at this+0x1058, indexed by [param_2*35 + param_3*7 + param_4]. Returns the value * 10 + 2, or -1 if the raw value is -1. 0x00E0AE00 170 lua_get_pet_food_item lua Calls Lua function "GetPetFood" with a parameter from this+23000 and param_2. Returns the result integer from Lua if the call succeeds, or -1 (0xFFFFFFFF) if it fails. 0x00E0AEB0 69 get_pet_intimacy_level game_core Returns pet intimacy level (0-4) based on intimacy value. 0 if <101, 1 if <251, 2 if <751, 3 if <901, 4 if >=901. Used for pet friendship tier display. 0x00E0AF00 225 get_pet_intimacy_color_string game_core Returns a color-coded pet intimacy description string based on intimacy value. Ranges: <0 = long default string, 0-100, 101-250, 251-750, 751-900, 901-1000. Each range maps to a different localized description from global string constants. 0x00E0AFF0 74 get_pet_hunger_level game_core Returns pet hunger level (0-4) based on hunger value. 0 if 11-25, 1 if 26-75, 2 if 76-90, 3 if 91-100, 4 if out of all ranges. Uses unsigned subtraction for range checks. 0x00E0B040 204 get_pet_hunger_description_string game_core Returns a localized pet hunger description string based on hunger value. Ranges: 0-10, 11-25, 26-75, 76-90, 91-100. Each maps to a different string constant. Default/out-of-range gets a special encoding. 0x00E0B110 27 get_pet_hunger_state_name game_core Returns a pet hunger state name string: 0=hungry, 1=bit_hungry, 2=noting, 3=satisfied, 4=so_full. Default=hungry. 0x00E0B170 218 lua_get_pet_illust_name_v3 lua Calls Lua function "GetPetIllustName_V3" with a parameter from this+23000. Formats the result via lua_util_sprintf. 0x00E0B250 195 lua_get_pet_jtid_by_egg_itid lua Calls Lua function "GetPetJTID_by_PetEggITID" with a parameter from this+23000. Returns the pet job type ID from Lua, or -1 if the call fails. 0x00E0B320 27795 tls_init_pet_talk_encrypted_strings game_core Tls init pet talk encrypted strings 0x00E12470 760 get_random_pet_talk_line game_core Retrieves a random pet talk line from "monster_talk_table" XML data. Looks up by pet sprite name (from FUN_00e0b320), hunger state name (hungry/bit_hungry/etc.), and action name. Collects all matching text entries, picks one randomly, and copies the decoded string to param_4 output buffer. 0x00E12780 169 lua_get_pet_string lua Calls Lua function "GetPetString" with a parameter from this+23000 and param_2. Returns the result integer from Lua if successful, or 0 if the call fails. 0x00E12830 59 calc_3d_array_offset game_core Calculates a 3D array offset as base + (param_1*10 + param_2)*10 + param_3)*10. Syncs DAT_017334d0 with DAT_01737b90 if they differ. Used for pet/monster data table lookups. 0x00E12870 507 format_and_apply_color_codes game_core Formats a source string (param_1) into output buffer (param_2), applying color code replacements if param_4 is nonzero. Strips leading/trailing tab chars. Looks up a string by param_3 and appends it with formatting. Replaces color code tokens from a global replacement table. 0x00E12A70 215 find_skill_entry_by_id game_core Finds a skill entry by skill ID. Dispatches to different linked lists based on ID range: 8000-803C (homunculus skills), 0x2008-0x2031 or 0x20D0-0x2109 (mercenary/etc), 10000-10019 (special), or falls through to CSkillMgr for regular skills. Returns pointer to skill data or NULL. 0x00E12B50 63 CSkillList__get_entry_ptr_by_index game_skills Returns a pointer to a skill entry in the primary linked list (this+4) by index. Bounds-checks against count at this+8. Supports both forward (positive index) and backward (negative index) traversal. Returns NULL if out of bounds. 0x00E12B90 58 CSkillList__find_entry_ptr_by_id game_skills Searches the primary skill linked list (this+4) for an entry with matching skill ID (node[4]==param_2). Returns pointer to skill data (node+2) or NULL if not found/list empty. 0x00E12BD0 67 CSkillList__get_passive_entry_ptr_by_index game_skills Returns a pointer to a passive skill entry in the secondary linked list (this+0x84) by index. Bounds-checks against count at this+0x88. Supports forward and backward traversal. 0x00E12C20 60 CSkillList__find_passive_entry_ptr_by_id game_skills Searches the passive skill linked list (this+0x84) for an entry with matching skill ID. Returns pointer to skill data or NULL if not found/list empty. 0x00E12C60 67 CSkillList__get_third_list_entry_ptr_by_index game_skills Returns pointer to a skill entry in the third linked list (this+0x8C/0x90) by index. Supports forward and backward traversal. Returns NULL if out of bounds. 0x00E12CB0 60 CSkillList__find_third_list_entry_ptr_by_id game_skills Searches the third skill linked list (this+0x8C/0x90) for an entry with matching skill ID. Returns pointer to skill data or NULL. 0x00E12CF0 63 linked_list_get_entry_ptr_by_index_generic stl Generic linked list entry access by index. Takes a list descriptor (param_3: ptr to head, param_3[1]: count) and index (param_4). Returns entry pointer+2 via longlong return. Supports forward/backward traversal. Returns param_2 shifted if out of bounds. 0x00E12D30 50 linked_list_find_entry_ptr_by_id_generic stl Generic linked list search by ID. Takes a list descriptor (param_1[0]: head ptr, param_1[1]: count) and searches for node where node[4]==param_2. Returns node+2 or NULL. 0x00E12D70 212 get_animated_skill_tree_frame game_core Calculates the current animation frame for a skill tree node based on elapsed time. Gets node count and float value from UISkillWnd, computes frame index using timeGetTime delta and animation speed. Returns the skill tree node at the calculated frame, or 0 if params are invalid. 0x00E12E50 365 compute_hotkey_index_with_special_ids game_core Computes a hotkey list index, adjusting for special skill IDs. When param_1==1, counts special IDs (30,33,34,36,53,58,62,64,66,65,67,43,45) up to param_2 and adds them to the index. Then calls GetOriginalHotKeyListSize Lua function. Clamps result to -1 if non-negative. 0x00E12FC0 61 apply_direction_offset_to_frame game_core Applies a directional offset to an animation frame index. For type 0, uses value at this+0x6FC; for type 1, uses this+0x6A8. Multiplies direction by 9, adds to param_2, then wraps by subtracting 36 if result >= 36. Returns unmodified param_2 if direction is 0 or invalid type. 0x00E13000 160 find_top_two_priority_entries game_core Traverses a tree/linked structure at this+0x6144 to find the two entries with highest priority values (at node offset 0x10). Only considers entries with flag set at node offset 0x15. Outputs top two entry IDs (node[4]) to param_2 and param_3. 0x00E130A0 2421 map_job_id_to_skill_tree_id game_core Maps a job/class ID to a skill tree ID. Contains a large lookup table mapping ~120+ job IDs to skill tree IDs in the 0x1012-0x1108 range. Handles base jobs, transcendent jobs, expanded jobs, 3rd jobs, and 4th jobs. Returns the input unchanged if no mapping exists. 0x00E13A20 110 build_robe_sprite_path_type0 game_core Wrapper that calls build_robe_sprite_path with type=0 (sprite). Forwards all parameters. 0x00E13A90 110 build_robe_sprite_path_type1 game_core Wrapper that calls build_robe_sprite_path with type=1 (act). Forwards all parameters. 0x00E13B00 26 sync_and_get_current_map_id game_core Syncs the cached map ID at this+0xE98 with the current map ID at this+0x5558 if they differ, then returns the cached value. 0x00E13B20 205 get_palette_string_by_index game_core Returns a palette name string from array at this+0x52C4 by index. Bounds-checks against array size at this+0x52C8. Falls back to index 0 if out of range. 0x00E13BF0 21 get_item_slot_count game_core Gets the slot count for an item. Calls CItemDesc__get_offset_ptr with the item ID, then returns the value at offset 0x40 of the item descriptor. 0x00E13C10 17 get_indexed_field_from_array game_core Returns a value from an array at this+0x420 indexed by param_2. Simple array accessor with no bounds checking. 0x00E13C30 3032 get_skill_cast_animation_params game_core Determines the cast animation frame and effect type for a skill based on its ID. Massive switch table mapping hundreds of skill IDs to animation parameters (param_2=frame count, param_3=effect type). Checks Lua HaveSkillEffectInfo first for override. Handles all job skills, homunculus, mercenary, elemental, 3rd/4th class skills. 0x00E15270 785 get_skill_hit_animation_params game_core Determines the hit/impact animation parameters for a skill based on its ID. Similar to get_skill_cast_animation_params but for the hit phase. Returns frame count in param_2 and effect type in param_3. Massive switch table covering all skill IDs. 0x00E16510 12 thunk_CSkillMgr__find_skill_in_groups game_core Thunk that directly calls CSkillMgr__find_skill_in_groups. 12-byte wrapper. 0x00E16520 245 find_tree_entry_by_name_and_type game_core Searches a tree structure at this+0xA4 for an entry matching both a string name (compared via char_traits equal) and a type value (node[0x10]). Returns pointer to the matching node's data (node+10) or NULL if not found. Uses red-black tree traversal. 0x00E16620 185 load_sprite_act_resource game_core Builds a sprite path with extension (type=1 for ACT) from param_1, then loads the resource via CResourceMgr. Returns the loaded resource handle. 0x00E166E0 8001 CSkillEffect__build_status_icon_data effect Builds status icon data table for skill effects. 8K bytes. Called by CSkillEffect__init_status_icon_grid. Allocates heap memory, calls lua functions, and remaps job classes for costume rendering. 0x00E19090 87 get_monster_action_type_name game_core Returns a monster action type name string: 0=attack, 1=castskill, 2=useskill, 3=skillattacked, 4/5/6=other states. Returns NULL for unknown types. 0x00E19110 273 lua_get_job_inherit_table lua Queries Lua "JobInheritTable" and "JOB_INHERIT_LIST2" to determine the inherited job for a given job ID. Calls each table lookup as a function, preferring the result from JOB_INHERIT_LIST2 if it returns non -1. 0x00E19230 315 lua_get_title_string lua Calls Lua function "GetTitleString" with param_2. Returns the resulting string in param_1 as an STL string. Returns empty string if Lua call fails. 0x00E19370 107 build_effect_resource_path_spr game_core Wrapper that calls CEffect__build_resource_path_simple with type=0 (SPR sprite). Forwards all parameters. 0x00E193E0 110 build_effect_resource_path_with_packet_spr game_core Wrapper that calls CEffect__build_resource_path_with_packet with type=0 (SPR). Forwards all parameters. 0x00E19450 110 build_effect_resource_path_with_packet_act game_core Wrapper that calls CEffect__build_resource_path_with_packet with type=1 (ACT). Forwards all parameters. 0x00E194C0 107 build_effect_resource_path_act game_core Wrapper that calls CEffect__build_resource_path_simple with type=1 (ACT). Forwards all parameters. 0x00E19530 68 get_item_slot_count_with_override game_core Gets item slot count via CItemDesc, but returns -1 for certain item ID ranges: 2101-2199 (weapons), 28901-28962 (costumes), and 460000-469999 (special items). These ranges have no meaningful slot count. 0x00E19580 854 load_prohibition_log_file game_core Loads the ProhibitionLog.gd file from the current directory (stripping _data suffix from path). Reads a count of entries, then for each entry reads variable-length string fields and fixed 4-byte fields, storing them as 0x54-byte records in a vector at this+0x758. Each record contains prohibition data like name strings and numeric IDs. 0x00E198F0 603 load_map_info_table_scp game_core Loads and parses MapInfoTable.scp file. Reads the file into memory, skips C-style comments (// and /* 0x00E19B50 55 clear_selection_indices game_core Clears selection indices at offsets 0x5BF4, 0x5BF8, 0x5BFC based on boolean flags. Each flag when set to 1 resets the corresponding index to -1. 0x00E19B90 21 reset_global_selection_ids game_core Resets two global selection IDs (DAT_01733688 and DAT_01733674) to -1. 0x00E19BB0 1781 init_pet_emotion_table game_core Initializes the pet emotion animation table at this+0x1058. Looks up emote IDs by name (ET_HNG, ET_KIK, ET_FRET, ET_CRY, ET_SCRATCH, ET_OK, ET_AHA, ET_SMILE, ET_DELIGHT, ET_THANKS, etc.) via CFmt functions, then populates a large lookup table mapping pet states to emotion animation indices. Some entries are set to -1 (no animation). 0x00E1A2B0 804 load_pet_and_monster_xml_tables game_core Loads and parses three XML files: PetTalkTable.xml (always loaded), MonsterSkillInfo.xml (optional), and MonsterTalkTable.xml (optional). Uses CInputMgr to resolve localized paths for PetTalkTable. 0x00E1A5E0 12496 init_format_string_table game_core Initializes format string table entries. 12K bytes. Calls CFmt__format_to_std_string and CReportStorage__clear_rb_tree. Called by FUN_00df33b0 (encrypted string system init). 0x00E1D6B0 45 is_guild_skill_id_00e1d6b0 game_core Returns 1 if the given ID is a guild skill (IDs 0x123-0x12F, excluding 0x128 and 0x12B-0x12C). Returns 0 otherwise. 0x00E1D700 330 find_quest_entry_by_id game_core Searches the quest entry vector at this+0x6178 for an entry matching param_2. Iterates through 0x2C-byte entries, copying each to a local struct, and returns true if a matching entry is found (comparing the int at entry+4 with param_2). 0x00E1D850 30 is_normal_or_sitting_state game_core Returns 1 if param_1 is 0 (normal) or 4 (sitting). Returns 0 for all other states. 0x00E1D870 209 is_special_skill_tree_id game_core Returns 1 if the given ID is a special skill tree ID (checking specific ranges and IDs like 0xFB7-0xFBD, 0xFCD, 0x105F, 0xFBE-0xFCC, 0x1000-0x1010, 0x103E-0x1056, 0x1061-0x1064, 0x106D-0x1072, 0x107C, 0x107E-0x108E, 0x1091-0x1098, 0x1100, 0x1102). Returns 0 otherwise. 0x00E1D950 20 get_current_player_base_level game_core Gets the current player's base level. Retrieves the game mode object, follows pointer chain at offset 0xCC, then reads the level value at offset 0x50. 0x00E1D970 14 is_wedding_state game_core Returns true if param_1 equals 0x12 (18, wedding/married state). 0x00E1D980 37 is_base_job_or_wedding game_core Returns 1 if param_1 is 0 (novice), 1 (swordsman), 2 (mage), or 0x12 (wedding). Returns 0 otherwise. 0x00E1D9B0 129 is_valid_equip_location_flag game_core Returns 1 if param_1 is a valid equipment location bitmask value (single bit powers of 2 and specific compound values: 0x400, 0x800, 0xC00, 0x1000, 0x1400, 0x1800, 0x1C00, 0x2000, 0x4000, 0x10000, 0x20000, 0x40000, 0x80000, 0x100000, 0x200000). 0x00E1DA40 37 has_status_effect_107 game_core Has status effect 107 0x00E1DA70 37 has_status_effect_29 game_core Has status effect 29 0x00E1DAA0 16 report_find_nested_entry_8 game_core Calls CReportManager__find_nested_entry with the value from *param_1 and type 8. 0x00E1DAB0 16 report_find_nested_entry_7 game_core Calls CReportManager__find_nested_entry with the value from *param_1 and type 7. 0x00E1DAC0 16 report_find_nested_entry_19 game_core Calls CReportManager__find_nested_entry with the value from *param_1 and type 0x13 (19). 0x00E1DAD0 16 report_find_nested_entry_17 game_core Calls CReportManager__find_nested_entry with the value from *param_1 and type 0x11 (17). 0x00E1DAE0 16 report_find_nested_entry_16 game_core Calls CReportManager__find_nested_entry with the value from *param_1 and type 0x10 (16). 0x00E1DAF0 16 report_find_nested_entry_18 game_core Calls CReportManager__find_nested_entry with the value from *param_1 and type 0x12 (18). 0x00E1DB00 16 report_find_nested_entry_9 game_core Calls CReportManager__find_nested_entry with the value from *param_1 and type 9. 0x00E1DB10 16 report_find_nested_entry_15 game_core Calls CReportManager__find_nested_entry with the value from *param_1 and type 0xF (15). 0x00E1DB20 63 is_weapon_type_id game_core Returns 1 if param_1 is a weapon type ID (4, 5, 8, 9, 11, 12, 13, 14, 15). Returns 0 otherwise. 0x00E1DB60 53 is_armor_type_id game_core Returns 1 if param_1 is an armor/accessory type ID (3, 6, 7, 10, 16, 17, 19). Returns 0 otherwise. 0x00E1DBA0 33 has_quest_entries game_core Returns non-zero if the quest entry vector at this+0x6178 has any entries. Computes count as (end - begin) / 0x2C. 0x00E1DBD0 47 has_status_effect_by_id game_core Has status effect by id 0x00E1DC00 42 is_doram_base_job_id game_core Returns 1 if param_1 is a Doram race base job ID (0x505=Summoner, 0x506, 0x507). Returns 0 otherwise. 0x00E1DC30 25 is_special_skill_id_10000_range game_core Returns true if param_1 is in the range 10000-10019 (special skill IDs). 0x00E1DC50 43 is_star_emperor_or_soul_reaper_skill game_core Returns 1 if param_1 is a Star Emperor skill (0x1771-0x1780) or Soul Reaper skill (0x17A0-0x17A4). Returns 0 otherwise. 0x00E1DC80 25 is_soul_reaper_skill_id game_core Returns true if param_1 is in the Soul Reaper skill ID range (0x17A0-0x17A4). 0x00E1DCA0 25 is_homunculus_skill_id game_core Returns true if param_1 is in the homunculus skill ID range (8000-8060). 0x00E1DCC0 32 is_sky_emperor_skill_tree_id game_core Returns 1 if param_1 is a Sky Emperor skill TREE ID (0x10D3 or 0x10DA). Returns 0 otherwise. These are tree IDs, not skill IDs, consistent with nearby is_4th_class_skill_tree_id and is_shared_skill_tree_id. 0x00E1DCE0 25 is_4th_class_skill_id_range1 game_core Returns true if param_1 is in the range 0x1782-0x17A4 (4th class skill IDs, first range). 0x00E1DD00 25 is_expanded_class_skill_id game_core Returns true if param_1 is in the expanded class skill ID range (0x1771-0x17A4, covering Star Emperor and Soul Reaper). 0x00E1DD20 43 is_mercenary_or_elemental_skill_id game_core Returns 1 if param_1 is in the mercenary skill range (0x2008-0x2031) or elemental skill range (0x20D0-0x2109). Returns 0 otherwise. 0x00E1DD50 88 is_player_entity_npc_or_monster game_core Checks if the current entity (when param_1 != 0) has a job ID in the NPC/monster range (1001-3998 or 20021-31999). Returns 1 if so, 0 otherwise. Uses CEntity__get_effective_job_id. 0x00E1DDB0 60 is_entity_id_matching_player_pet game_core Checks if param_1 matches the player's pet entity ID. Gets the player object via mode+0xCC+0x2C, calls virtual method at vtable+200 to get the pet ID, and compares. Returns 1 if match, 0 if no match or no pet. 0x00E1DDF0 26 is_entity_id_current_map game_core Returns true if param_2 is not -1 and matches the current map entity ID at this+0x5578. 0x00E1DE10 26 is_entity_id_secondary_map game_core Returns true if param_2 is not -1 and matches the secondary map entity ID at this+0x5628. 0x00E1DE30 139 validate_entity_id_for_interaction game_core Validates whether an entity ID is valid for interaction. Returns 0 for -1, returns 1 for known entity IDs (map, secondary map, player, special). For unknown IDs, spawns a unit lookup and checks various conditions (node validity, range checks) to determine if interaction is allowed. 0x00E1DEC0 56 find_buff_entry_by_id game_core Searches the buff linked list at this+0x17DC for an entry matching param_2. If param_3 is non-zero, also checks that node[0x12] is 0 (not expired). Returns 1 if found (and not expired if checked), 0 otherwise. 0x00E1DF00 26 is_entity_id_player game_core Returns true if param_2 is not -1 and matches the player entity ID at this+0x1010. 0x00E1DF20 47 has_status_effect_by_id_alt game_core Has status effect by id alt 0x00E1DF50 9 thunk_to_is_valid_base_or_job_class_00e1df50 game_core Thunk that calls FUN_00dfbce0 and returns 0x00E1DF60 25 is_elemental_spirit_job_id game_core Returns true if param_1 is an elemental spirit job ID in the range 0x2329-0x251B (9001-9500). 0x00E1DF80 47 is_3rd_or_4th_class_skill_id game_core Returns 1 if param_1 falls in 3rd class skill ranges (0x1519-0x1583, 0x1771-0x1776) or 4th class range (0x197D-0x19CE). Returns 0 otherwise. 0x00E1DFB0 20 get_current_player_job_level game_core Gets the current player's job level. Retrieves the game mode object, follows pointer chain at offset 0xCC, then reads the job level value at offset 0x4C. 0x00E1DFD0 39 is_mount_skill_id game_core Returns 1 if param_1 is a mount/riding skill ID (0x7F7=Peco Ride, 0x9A0=Dragon Ride, 0x1980=Mado Gear). Returns 0 otherwise. 0x00E1E000 29 is_whitespace_char game_core Returns 1 if the character is a space or tab. Returns 0 otherwise. 0x00E1E020 46 is_baby_4th_class_tree_id game_core Returns 1 if param_1 is one of the baby 4th class skill tree IDs (0x105E-0x1061). Returns 0 otherwise. 0x00E1E050 44 is_shared_skill_tree_id game_core Returns 1 if param_1 is one of the shared/common skill tree IDs (0x17=Super Novice, 0xFCD, 0x1020, 0x104C). Returns 0 otherwise. 0x00E1E080 86 is_special_or_baby_skill_tree_id game_core Returns 1 if param_1 is a shared skill tree ID (0x17, 0xFCD, 0x1020, 0x104C), baby 4th class tree ID (0x105E-0x1061), or Sky Emperor tree ID (0x10D3, 0x10DA). Returns 0 otherwise. 0x00E1E0E0 44 is_4th_class_skill_tree_id game_core Returns 1 if param_1 is a 4th class skill tree ID. Covers several ranges: 0x1073-0x1098 (various 4th class jobs), 0x10CE-0x10DC (more 4th class), 0x1101-0x1107 (additional 4th class trees). 0x00E1E1B0 36 is_4th_class_tier1_tree_id game_core Returns 1 if param_1 is a first-tier 4th class skill tree ID (0x1073-0x1076, 0x107F-0x1080, 0x1087-0x1088, 0x10D0-0x10D1). Returns 0 otherwise. 0x00E1E250 932 lua_create_skill_effects lua Creates visual and sound effects for a skill via Lua callbacks. Calls HaveSkillEffectInfo to check if effects exist, then GetEffectWaveFileName for sound, GetEffectNum for effect count, and GetEffectID for each effect. Creates effects via CEffectManager or CEntity depending on whether the effect is in the EffectMap. 0x00E1E690 16511 CEntity__create_skill_visual_effects game_entity Dispatches skill visual effects creation. Called by CEntity__process_skill_action. Creates ground effects, linked skill effects, and entity-attached effects based on skill type. Uses camera zoom, effect manager, and entity effect system. 16K bytes. 0x00E24550 898 lua_check_have_skill_effect_info lua Calls Lua function "HaveSkillEffectInfo" and returns the result masked (always returns 0 due to &0xFFFFFF00 mask). Appears to be a check-only call with side effects. 0x00E248E0 3 null_stub_8e0_00e248e0 crt Empty function stub with no operations, only return 0x00E248F0 575 compute_equip_combination_type game_core Determines the equipment combination type based on two item IDs. Classifies items into weapon groups (1100-1149, 13400-13499, 500000-509999), shield groups (1200-1249, 13000-13099, 28700-28899, 510000-519999), and two-hand groups (1300-1349, 520000-529999). Returns a combination code (0-6 for single, 25-30 for dual combinations). 0x00E24B30 473 unequip_item_at_location game_core Unequips an item at the given equipment location. For costume (0x8000), calls set_costume_slot_and_update_autocast. Otherwise converts location to slot indices, displays unequip message, resets item fields, updates selling items, and notifies the item list window. Also handles data table initialization and removes status bonuses. 0x00E24D10 109 check_item_strings_match_slots game_core Compares item name strings between two arrays at this+0x1004 and this+0xFF8. Iterates up to 10 slots comparing STL string contents. Returns 1 if any mismatch is found, 0 if all match (no changes detected). 0x00E24D80 89 is_special_hotkey_skill game_core Returns 1 if param_1==1 and param_2 is one of the special hotkey skill IDs (30,33,34,36,53,58,62,64,66,65,67,43,45). Returns 0 otherwise. Same ID set as count_special_skill_ids_in_range. 0x00E24DE0 865 lua_create_ground_skill_effects lua Creates ground-targeted skill effects via Lua callbacks. Similar to lua_create_skill_effects but uses GetGroundEffectNum and GetGroundEffectID for ground-placed skills. Creates effects via CEffectManager or CGameMode depending on EffectMap lookup. 0x00E25150 110 write_integer_to_log_file game_core Formats an integer (param_2) as a string using sprintf, writes it to a file stream, then writes a 3-byte separator (newline sequence). 0x00E251C0 61 notify_equipment_windows_update_a game_core Sends update notification (type 0x17) to two equipment-related windows (DAT_01457a44 and DAT_01457868) via virtual method call at vtable+0x94. 0x00E25200 61 notify_equipment_windows_update_b game_core Sends update notification (type 0x17) to two equipment-related windows (DAT_01457a4c and DAT_01457868) via virtual method call at vtable+0x94. 0x00E25240 102 notify_equipment_and_status_windows game_core Sends update notification (type 0x17) to three windows: DAT_01457944, DAT_01457868, and the window of type 0x9F found via CUIWindowMgr. 0x00E252B0 132 process_shop_item_purchase game_core Processes a shop item purchase. Searches 5 shop tabs (0x5C6C, stride 0xF8) for an active entry matching param_2. When found, adjusts quantity by param_3, updates the selling item entry, and notifies the shop window (DAT_01457ad8). 0x00E25340 1572 save_prohibition_log_file game_core Saves the prohibition log to both binary (ProhibitionLog.gd) and text (ProhibitionLog.txt) formats. Writes entry count, then for each 0x54-byte record: two variable-length strings and 5 fixed 4-byte fields to the binary file. Also writes a human-readable text version with formatted dates and timestamps. 0x00E25970 255 lua_reset_hotkey_bindings lua Calls Lua function "ResetTheHotKey" twice with different parameters to reset two hotkey bars (0x84/0xC0 and 0x87/0x24 at position 0x12, mode 1). 0x00E25A70 243 find_or_insert_rbtree_entry_by_id game_core Finds an existing entry in a red-black tree (this+0x6144) by integer key, or inserts a new default-initialized entry if not found. Uses rbtree_lower_bound for lookup. Returns pointer to the entry data (node+0x14). 0x00E25B70 530 init_skill_tree_views_from_lua game_core Initializes skill tree views by querying Lua "GetInheritJob" to get the number of inherited jobs. Clears existing skill groups, linked lists, and trees. Then iterates through inherited jobs, classifying each as regular (1), expanded (2), or 4th class (3), and calls Lua "InitSkillTreeView" for each with the appropriate parameters. 0x00E25DD0 138 set_and_xor_encrypt_packet_data game_core Copies 64 bytes from param_2 into this+0x7B4 (16 DWORDs), then XOR-encrypts each byte with a key from PTR_DAT_01360EA0. Inverse of xor_decrypt_packet_data. 0x00E25E60 118 set_or_insert_key_value_pair game_core Sets a value for a key in the pair array at this+0x778. If the key already exists, updates its value. Otherwise appends a new key-value pair, growing the vector if needed. 0x00E25EE0 59 set_selection_index_by_slot game_core Sets a selection index at one of three slots. param_3: 0 sets this+0x5BF4, 1 sets this+0x5BF8, 2 sets this+0x5BFC. Value is param_2. 0x00E25F20 257 set_shortcut_skill_entry game_core Sets a skill shortcut entry at position param_5. First checks 2 existing shortcut slots for duplicates or level-use conflicts and clears them. Then sets the skill ID (param_3), level (param_4), and type (param_2) at the target slot. Sends notification 0x139 to update the UI. 0x00E26030 25 set_map_visibility_flag game_core Sets the map visibility flag to the lowest bit of param_2. Writes to both this+0xE98 (cached) and this+0x5558 (current). 0x00E26050 992 set_hotbar_skill_entry game_core Sets or clears a skill entry in a hotbar. param_6 selects the hotbar (0 or 1), param_5 is the slot position. When param_3 is 0, clears the slot and removes associated timer bars. When setting, first clears duplicates of the same skill across the hotbar range, then writes the skill data (type, ID, level) to the appropriate slot array. 0x00E26430 261 update_equipment_sprite_entry game_core Updates an equipment sprite entry for the current character. Searches through 9 slots for matching name string and param_3 value; if found, clears the entry to "nothing". Then sets the new entry at position param_4 with the given name string and value, or clears it if the name is empty. 0x00E26540 20 set_equipment_array_value game_core Sets a value in the equipment array at this+0x420 + param_3*4 to param_2. Simple indexed setter. 0x00E26560 84 uppercase_and_print_stl_string game_core Converts an STL string to uppercase in-place by subtracting 0x20 from each lowercase character, then prints the result via puts(). Handles both short (inline) and long (heap) string storage. 0x00E265C0 1353 update_quest_entry_display_data game_core Updates the display data for a quest entry identified by param_2. Finds the matching quest in the vector at this+0x6178, looks up the entry in a red-black tree, and updates objective descriptions with progress counts. Formats strings showing completion status with truncation for long names. 0x00E26B10 113 write_option_info_float_to_file game_core Writes an option info entry with float value to a file. Formats as "OptionInfoList[%s] = %f" and writes to the current file stream. 0x00E26B90 108 write_option_info_guid_to_file game_core Writes an option info entry with GUID value to a file. Formats the GUID via format_guid_to_buffer, then writes as "OptionInfoList[%s] = \"%s\"" to the file stream. 0x00E26C00 105 write_option_info_int_to_file game_core Writes an option info entry with integer value to a file. Formats as "OptionInfoList[%s] = %d" and writes to the current file stream. 0x00E26C70 381 write_option_info_string_to_file game_core Writes an option info entry with string value to a file. Escapes special characters in the string via CFmt, then formats as "OptionInfoList[%s] = \"%s\"" and writes to the file stream. 0x00E26DF0 92 destroy_0x1c_entry_strings game_core Iterates through an array of 0x1C-byte entries from param_1 to param_2, calling STL_string_dtor on each to destroy embedded string objects. 0x00E26E50 704 rbtree_erase_and_rebalance_00e26e50 game_core Red-black tree node removal with full rebalancing. Handles all BST deletion cases (leaf, one child, two children) and performs RB-tree fixup rotations (left/right) to maintain balance. Decrements tree size counter. Standard STL-style _Tree::erase implementation. 0x00E27110 517 Insert_node stl STL red-black tree _Insert_node: inserts a new node at the given position, then performs red-black rebalancing with rotations to maintain tree invariants. 0x00E27320 84 rbtree_rotate_left_00e27320 game_core Standard left rotation for a red-black tree node. Promotes right child, updates parent pointers, and fixes root if necessary. 0x00E27380 88 rbtree_rotate_right_00e27380 game_core Standard right rotation for a red-black tree. Rotates param_2 node right, promoting its left child. Updates parent pointers and root if necessary. 0x00E273E0 147 copy_construct_0x2c_entries_range game_core Copy-constructs 0x2C-byte entries from source range [param_2, param_3) into destination starting at param_4. Returns the end of the written destination range. Cleans up on exception. 0x00E27480 55 memcpy_0x54_entries stl Copies an array of 0x54-byte entries from [param_1, param_2) to param_3 using memcpy. Returns pointer to end of destination range. Used for prohibition log entry arrays. 0x00E274C0 44 copy_8byte_pair_array game_core Copy 8byte pair array 0x00E274F0 145 std__vector_copy_construct_0x2c_entries stl Copy-constructs a range of 0x2C-byte entries from [param_2, param_3) into destination. Each entry has embedded STL strings and vectors. Destroys overflow entries at the end. Uses SEH for exception safety. 0x00E27590 45 memcpy_8byte_entries stl Copies 8-byte entries from [param_1, param_2) to a destination offset by param_3. Simple memcpy-style loop, 2 dwords at a time. 0x00E275C0 10 thunk_to_std__Xlength_error_00e275c0 stl Calls std::_Xlength_error with vector_too_long error message 0x00E275D0 10 thunk_to_std__Xlength_error_00e275d0 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00E275E0 10 thunk_to_std__Xlength_error_00e275e0 stl Forwards to std::_Xlength_error with vector_too_long message 0x00E275F0 10 thunk_to_std__Xlength_error_00e275f0 stl Wrapper that calls std::_Xlength_error for vector overflow 0x00E27600 102 allocate_0x1c_entry_array game_core Allocates memory for an array of 0x1C-byte entries. Validates the count is within limits (max ~153 million entries), then allocates count * 0x1C bytes. 0x00E27670 56 operator_delete_0x2c_array stl Frees a heap-allocated array of 0x2C-byte entries. Computes total size from count, handles large allocation alignment (checks stored pre-pointer for over-0xFFF allocations), then calls operator delete. 0x00E276B0 67 operator_delete_0x1c_array stl Frees a heap-allocated array of 0x1C-byte entries. Similar to operator_delete_0x2c_array but for entries of size 0x1C. Handles large allocation alignment check before calling operator delete. 0x00E27700 56 operator_delete_0x54_array stl Frees a heap-allocated array of 0x54-byte entries. Computes total size from count * 0x54, handles large allocation alignment (checks stored pre-pointer for over-0xFFF allocations), then calls operator delete. 0x00E27740 62 deallocate stl STL allocator deallocate: frees memory for 8-byte elements, checking large allocation alignment before calling operator delete. 0x00E27780 169 CPetMgr__is_pet_accessory game_core Calls the Lua function "IsPetAccessory" with the given parameter. Returns the boolean result from Lua. Uses lua_call_function on the Lua state at this+23000. 0x00E27830 21 fmt__format_spec_wrapper game_core Wrapper that forwards 3 parameters to fmt__parse_and_validate_format_spec. Part of the fmtlib formatting pipeline. 0x00E27850 666 CJsonReader__read_string_array game_core Reads a JSON array of strings into a vector of 0x18-byte entries. Navigates to the JSON key, validates it's an array (type 5), resizes the output vector to match array length, then iterates through array elements reading each string entry. Returns 0 on success, error code on failure. 0x00E27AF0 358 CShopItemList__build_from_range game_core Builds a circular doubly-linked list of CShopItem nodes (0x100 bytes each) from a range of 0xF8-byte source items [param_2, param_3). Copy-constructs each item, links nodes together, creates a sentinel node, and stores the list head and count in param_1. 0x00E27C60 75 rbtree_lower_bound_with_result game_core Red-black tree lower_bound search. Traverses the tree comparing keys at node+0x10, filling param_2 with: [0]=last visited node, [1]=found flag (1 if exact match or lower bound), [2]=upper bound node. Returns param_2. 0x00E27CB0 475 std__vector_map_resize_and_copy stl Resizes a vector of map tree pointers (8 bytes each) to new capacity param_2. Allocates new buffer with 1.5x growth strategy, initializes new entries, copies old entries, destroys old map trees, and frees old buffer. Throws Xlength_error if size exceeds 0x1FFFFFFF. 0x00E27E90 96 std__vector_string_push_back stl Pushes a string into a vector of 0x18-byte string entries. If capacity is available, initializes the new entry and copies the string via STL_lib_func. If at capacity, delegates to complex reallocation handler. 0x00E27EF0 175 charconv__format_with_string_callback encoding Sets up a formatting descriptor with a string parameter and callback (CPacketManager__handler_wrapper), then calls charconv__format_fixed_notation with 2 descriptors. The string is extracted from param_4 (SSO-aware). Used for formatted output with string interpolation. 0x00E27FA0 148 charconv__format_with_callback encoding Sets up a formatting descriptor with a callback (CPacketManager__handler_wrapper) and param_4, then calls charconv__format_fixed_notation with 1 descriptor. Simpler variant of format_with_string_callback. 0x00E28040 44 std__vector_insert_and_update_iterator stl Inserts elements into a vector at position param_3 using STL_vector_insert_range. Updates the output iterator param_2 to point to the same relative position in the potentially-reallocated buffer. 0x00E28070 80 init_variant_from_string game_core Initializes a VARIANT-like structure from a string. Sets type flags to 0xC0000000 (VT_BSTR-like), stores string pointer (handling SSO), length, a user param, and a callback function pointer (FUN_00e27830). Final flags = 0xD0000008. 0x00E280C0 234 std__map__copy_ctor stl Copy constructor for std::map. Allocates sentinel node (0x18 bytes), recursively copies the RB-tree from source map, then finds min/max nodes to set left/right pointers on sentinel. Uses SEH for exception safety. 0x00E281B0 61 copy_encrypted_buffer_14bytes game_core Copies up to 14 bytes from source buffer to destination, then sets the encrypted flag at offset +0xe to 1. Used to initialize encrypted string buffers that will later be decrypted by xor_decrypt_buffer. 0x00E281F0 146 destroy_encrypted_string_list game_core Destroys a linked list of encrypted string nodes. Walks the linked list, calling STL_string_dtor twice per node (for two string members), then frees each 0x100-byte node. Clears head/tail pointers. Uses SEH. 0x00E28290 78 free_map_sentinel_node stl Frees the sentinel/header node (0x18 bytes) of a std::map if it exists. Called during map destruction after the tree nodes have already been destroyed. Uses SEH. 0x00E282E0 78 free_map_sentinel_node_00e282e0 stl Frees the sentinel/header node (0x18 bytes) of a std::map if it exists. Identical pattern to free_map_sentinel_node at 00e28290, used for a different map instance. Uses SEH. 0x00E28330 91 destroy_vector_of_maps game_core Iterates through a vector of map objects (each 8 bytes apart) and calls std__map_int__destroy_tree on each element. Uses SEH for exception safety. Called during container cleanup. 0x00E28390 40 xor_decrypt_10byte_b1919533 security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0xb1919533, 0xd9115915. Clears the encrypted flag at offset+10 after decryption. Returns pointer to decrypted buffer. 0x00E283C0 40 xor_decrypt_10byte_c5a50b6b security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0xc5a50b6b, 0xbdaddd87. Clears the encrypted flag after decryption. 0x00E283F0 40 xor_decrypt_10byte_db2b77a1 security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0xdb2b77a1, 0xfbad074b. Clears the encrypted flag after decryption. 0x00E28420 40 xor_decrypt_10byte_3d7377e3 security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0x3d7377e3, 0xa55b7bef. Clears the encrypted flag after decryption. 0x00E28450 40 xor_decrypt_10byte_9bb99bd9 security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0x9bb99bd9, 0x99157f15. Clears the encrypted flag after decryption. 0x00E28480 40 xor_decrypt_10byte_358d8705 security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0x358d8705, 0x31e3cf9d. Clears the encrypted flag after decryption. 0x00E284B0 40 xor_decrypt_10byte_83630709 security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0x83630709, 0x451fd727. Clears encrypted flag after decryption. 0x00E284E0 40 xor_decrypt_10byte_c75b25b9 security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0xc75b25b9, 0x50df16f. Clears encrypted flag after decryption. 0x00E28510 40 xor_decrypt_10byte_0bdfe997 security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0x0bdfe997, 0x6ba55713. Clears encrypted flag after decryption. 0x00E28540 40 xor_decrypt_10byte_fdffa51b security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0xfdffa51b, 0x73c32959. Clears encrypted flag after decryption. 0x00E28570 40 xor_decrypt_10byte_f5c1c59f security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0xf5c1c59f, 0x0789ebc9. Clears encrypted flag after decryption. 0x00E285A0 40 xor_decrypt_10byte_2173cf49 security Decrypts a 10-byte encrypted buffer using xor_decrypt_buffer with keys 0x2173cf49, 0x79a58b0f. Clears encrypted flag after decryption. 0x00E285D0 40 xor_decrypt_16byte_89f161d1 security Decrypts a 16-byte encrypted buffer using xor_decrypt_buffer with keys 0x89f161d1, 0xd3e5516f. Clears encrypted flag after decryption. 0x00E28600 40 xor_decrypt_16byte_f93f9bdf security Decrypts a 16-byte encrypted buffer using xor_decrypt_buffer with keys 0xf93f9bdf, 0xa7471985. Clears encrypted flag after decryption. 0x00E28630 40 xor_decrypt_16byte_a58f9b6b security Decrypts a 16-byte encrypted buffer using xor_decrypt_buffer with keys 0xa58f9b6b, 0x91e7a7df. Clears encrypted flag after decryption. 0x00E28660 40 xor_decrypt_16byte_67ad47df security Decrypts a 16-byte encrypted buffer using xor_decrypt_buffer with keys 0x67ad47df, 0x2d33791f. Clears encrypted flag after decryption. 0x00E28690 40 xor_decrypt_16byte_cbb5f157 security Decrypts a 16-byte encrypted buffer using xor_decrypt_buffer with keys 0xcbb5f157, 0x45e3f103. Clears encrypted flag after decryption. 0x00E286C0 40 xor_decrypt_18byte_4d353b81 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x4d353b81, 0xe51b2933. Clears encrypted flag after decryption. 0x00E286F0 40 xor_decrypt_18byte_a17d3963 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0xa17d3963, 0xc39fb559. Clears encrypted flag after decryption. 0x00E28720 40 xor_decrypt_18byte_45c1f105 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x45c1f105, 0xb3f1a107. Clears encrypted flag after decryption. 0x00E28750 40 xor_decrypt_18byte_354375c3 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x354375c3, 0xabed6971. Clears encrypted flag after decryption. 0x00E28780 40 xor_decrypt_18byte_3b014d45 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x3b014d45, 0x91df1f5d. Clears encrypted flag after decryption. 0x00E287B0 40 xor_decrypt_18byte_5bdddf89 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x5bdddf89, 0x8b3fa35b. Clears encrypted flag after decryption. 0x00E287E0 40 xor_decrypt_18byte_83695b0d security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x83695b0d, 0x899d11bb. Clears encrypted flag after decryption. 0x00E28810 40 xor_decrypt_18byte_bde7c5bd security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0xbde7c5bd, 0xf5496753. Clears encrypted flag after decryption. 0x00E28840 40 xor_decrypt_18byte_819ffbd7 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x819ffbd7, 0x1c9fba7. Clears encrypted flag after decryption. 0x00E28870 40 xor_decrypt_18byte_addd53cf security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0xaddd53cf, 0x2f371ddd. Clears encrypted flag after decryption. 0x00E288A0 40 xor_decrypt_18byte_3dd1c965 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x3dd1c965, 0x35f59f6f. Clears encrypted flag after decryption. 0x00E288D0 40 xor_decrypt_18byte_97a37dcf security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x97a37dcf, 0x3d8387ef. Clears encrypted flag after decryption. 0x00E28900 40 xor_decrypt_18byte_eb471557 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0xeb471557, 0x47b7bf55. Clears encrypted flag after decryption. 0x00E28930 40 xor_decrypt_18byte_39150b9b security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x39150b9b, 0x6b3917c9. Clears encrypted flag after decryption. 0x00E28960 40 xor_decrypt_18byte_1b5d65c3 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x1b5d65c3, 0x6d05d527. Clears encrypted flag after decryption. 0x00E28990 40 xor_decrypt_18byte_779d19db security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x779d19db, 0x795787b7. Clears encrypted flag after decryption. 0x00E289C0 40 xor_decrypt_18byte_652d07bf security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x652d07bf, 0x7959ffbf. Clears encrypted flag after decryption. 0x00E289F0 40 xor_decrypt_18byte_3fb7f925 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x3fb7f925, 0x7fe563bd. Clears encrypted flag after decryption. 0x00E28A20 40 xor_decrypt_18byte_9f21eb79 security Decrypts an 18-byte encrypted buffer using xor_decrypt_buffer with keys 0x9f21eb79, 0x0df5b33d. Clears encrypted flag after decryption. 0x00E28A50 40 xor_decrypt_20byte_e9cd2b81 security Decrypts a 20-byte encrypted buffer using xor_decrypt_buffer with keys 0xe9cd2b81, 0xa15b555b. Clears encrypted flag after decryption. 0x00E28A80 40 xor_decrypt_20byte_2383718b security Decrypts a 20-byte encrypted buffer using xor_decrypt_buffer with keys 0x2383718b, 0x2f210379. Clears encrypted flag after decryption. 0x00E28AB0 40 xor_decrypt_20byte_e56d3d89 security Decrypts a 20-byte encrypted buffer using xor_decrypt_buffer with keys 0xe56d3d89, 0x2f2701a7. Clears encrypted flag after decryption. 0x00E28AE0 40 xor_decrypt_20byte_27a7c7f7 security Decrypts a 20-byte encrypted buffer using xor_decrypt_buffer with keys 0x27a7c7f7, 0x3b6d9bfd. Clears encrypted flag after decryption. 0x00E28B10 40 xor_decrypt_22byte_afe911f1 security Decrypts a 22-byte encrypted buffer using xor_decrypt_buffer with keys 0xafe911f1, 0xd97dc927. Clears encrypted flag after decryption. 0x00E28B40 40 xor_decrypt_22byte_41076fad security Decrypts a 22-byte encrypted buffer using xor_decrypt_buffer with keys 0x41076fad, 0xbf0f4129. Clears encrypted flag after decryption. 0x00E28B70 40 xor_decrypt_22byte_eb2397b1 security Decrypts a 22-byte encrypted buffer using xor_decrypt_buffer with keys 0xeb2397b1, 0x5d6b3b1d. Clears encrypted flag after decryption. 0x00E28BA0 40 xor_decrypt_22byte_a39f4fab security Decrypts a 22-byte encrypted buffer using xor_decrypt_buffer with keys 0xa39f4fab, 0x07112f85. Clears encrypted flag after decryption. 0x00E28BD0 40 xor_decrypt_22byte_79034de7 security Decrypts a 22-byte encrypted buffer using xor_decrypt_buffer with keys 0x79034de7, 0x7db10507. Clears encrypted flag after decryption. 0x00E28C00 40 xor_decrypt_23byte_7961eff5 security Decrypts a 23-byte encrypted buffer using xor_decrypt_buffer with keys 0x7961eff5, 0xf9b1ef9f. Clears encrypted flag after decryption. 0x00E28C30 40 xor_decrypt_23byte_e95325f5 security Decrypts a 23-byte encrypted buffer using xor_decrypt_buffer with keys 0xe95325f5, 0x2b8725d7. Clears encrypted flag after decryption. 0x00E28C60 40 xor_decrypt_23byte_37c5a1af security Decrypts a 23-byte encrypted buffer using xor_decrypt_buffer with keys 0x37c5a1af, 0x71b76917. Clears encrypted flag after decryption. 0x00E28C90 40 xor_decrypt_24byte_8f216f31 security Decrypts a 24-byte encrypted buffer using xor_decrypt_buffer with keys 0x8f216f31, 0x3bbb5f0f. Clears encrypted flag after decryption. 0x00E28CC0 40 xor_decrypt_24byte_37db892b security Decrypts a 24-byte encrypted buffer using xor_decrypt_buffer with keys 0x37db892b, 0x4b1d0789. Clears encrypted flag after decryption. 0x00E28CF0 40 xor_decrypt_24byte_41e76519 security Decrypts a 24-byte encrypted buffer using xor_decrypt_buffer with keys 0x41e76519, 0x61f59d5d. Clears encrypted flag after decryption. 0x00E28D20 40 xor_decrypt_25byte_0dd531ad security Decrypts a 25-byte encrypted buffer using xor_decrypt_buffer with keys 0x0dd531ad, 0x8ba52b97. Clears encrypted flag after decryption. 0x00E28D50 40 xor_decrypt_25byte_0375530d security Decrypts a 25-byte encrypted buffer using xor_decrypt_buffer with keys 0x0375530d, 0x2529f16b. Clears encrypted flag after decryption. 0x00E28D80 40 xor_decrypt_25byte_651bdfd5 security Decrypts a 25-byte encrypted buffer using xor_decrypt_buffer with keys 0x651bdfd5, 0x29ab0b59. Clears encrypted flag after decryption. 0x00E28DB0 40 xor_decrypt_25byte_d32361a9 security Decrypts a 25-byte encrypted buffer using xor_decrypt_buffer with keys 0xd32361a9, 0x0d7fa94d. Clears encrypted flag after decryption. 0x00E28DE0 40 xor_decrypt_26byte_539785c7 security Decrypts a 26-byte encrypted buffer using xor_decrypt_buffer with keys 0x539785c7, 0xed730315. Clears encrypted flag after decryption. 0x00E28E10 40 xor_decrypt_26byte_63b94747 security Decrypts a 26-byte encrypted buffer using xor_decrypt_buffer with keys 0x63b94747, 0xd51953e7. Clears encrypted flag after decryption. 0x00E28E40 40 xor_decrypt_26byte_555bb16d security Decrypts a 26-byte encrypted buffer using xor_decrypt_buffer with keys 0x555bb16d, 0xa1dfcdad. Clears encrypted flag after decryption. 0x00E28E70 40 xor_decrypt_26byte_67d9fde1 security Decrypts a 26-byte encrypted buffer using xor_decrypt_buffer with keys 0x67d9fde1, 0x8dff0b4b. Clears encrypted flag after decryption. 0x00E28EA0 40 xor_decrypt_26byte_af753fad security Decrypts a 26-byte encrypted buffer using xor_decrypt_buffer with keys 0xaf753fad, 0x194f8339. Clears encrypted flag after decryption. 0x00E28ED0 40 xor_decrypt_27byte_ef4bd9e7 security Decrypts a 27-byte encrypted buffer using xor_decrypt_buffer with keys 0xef4bd9e7, 0xcfb9671d. Clears encrypted flag after decryption. 0x00E28F00 40 xor_decrypt_28byte_d5a1bb17 security Decrypts a 28-byte encrypted buffer using xor_decrypt_buffer with keys 0xd5a1bb17, 0xe9fbab53. Clears encrypted flag after decryption. 0x00E28F30 40 xor_decrypt_29byte_db295d11 security Decrypts a 29-byte encrypted buffer using xor_decrypt_buffer with keys 0xdb295d11, 0xd7bbeb2d. Clears encrypted flag after decryption. 0x00E28F60 40 xor_decrypt_30byte_b9457b53 security Decrypts a 30-byte encrypted buffer using xor_decrypt_buffer with keys 0xb9457b53, 0xa5c5d1a3. Clears encrypted flag after decryption. 0x00E28F90 40 xor_decrypt_30byte_55252f8f security Decrypts a 30-byte encrypted buffer using xor_decrypt_buffer with keys 0x55252f8f, 0x39e7f137. Clears encrypted flag after decryption. 0x00E28FC0 40 xor_decrypt_30byte_3d6f19b9 security Decrypts a 30-byte encrypted buffer using xor_decrypt_buffer with keys 0x3d6f19b9, 0x77d92507. Clears encrypted flag after decryption. 0x00E28FF0 40 xor_decrypt_31byte_cf678ff3 security Decrypts a 31-byte encrypted buffer using xor_decrypt_buffer with keys 0xcf678ff3, 0x2f3d75df. Clears encrypted flag after decryption. 0x00E29020 40 xor_decrypt_31byte_0dfb0d03 security Decrypts a 31-byte encrypted buffer using xor_decrypt_buffer with keys 0x0dfb0d03, 0x7155e5ef. Clears encrypted flag after decryption. 0x00E29050 40 xor_decrypt_32byte_6feb27e5 security Decrypts a 32-byte encrypted buffer using xor_decrypt_buffer with keys 0x6feb27e5, 0x4349ade9. Clears encrypted flag after decryption. 0x00E29080 40 xor_decrypt_33byte_ff3be93f security Decrypts a 33-byte encrypted buffer using xor_decrypt_buffer with keys 0xff3be93f, 0x17fb0f6b. Clears encrypted flag after decryption. 0x00E290B0 40 xor_decrypt_33byte_4ba14b23 security Decrypts a 33-byte encrypted buffer using xor_decrypt_buffer with keys 0x4ba14b23, 0x51372b6f. Clears encrypted flag after decryption. 0x00E290E0 40 xor_decrypt_33byte_6d71c1ff security Decrypts a 33-byte encrypted buffer using xor_decrypt_buffer with keys 0x6d71c1ff, 0x6f9d21b9. Clears encrypted flag after decryption. 0x00E29110 40 xor_decrypt_33byte_f96de3e7 security Decrypts a 33-byte encrypted buffer using xor_decrypt_buffer with keys 0xf96de3e7, 0x7dc10333. Clears encrypted flag after decryption. 0x00E29140 40 xor_decrypt_35byte_d397533f security Decrypts a 35-byte encrypted buffer using xor_decrypt_buffer with keys 0xd397533f, 0xaff9332f. Clears encrypted flag after decryption. 0x00E29170 40 xor_decrypt_37byte_df87f549 security Decrypts a 37-byte encrypted buffer using xor_decrypt_buffer with keys 0xdf87f549, 0xcbd7ddaf. Clears encrypted flag after decryption. 0x00E291A0 40 xor_decrypt_39byte_852d2f6b security Decrypts a 39-byte encrypted buffer using xor_decrypt_buffer with keys 0x852d2f6b, 0x999f5191. Clears encrypted flag after decryption. 0x00E291D0 40 xor_decrypt_42byte_518fd389 security Decrypts a 42-byte encrypted buffer using xor_decrypt_buffer with keys 0x518fd389, 0x1f79132b. Clears encrypted flag after decryption. 0x00E29200 40 xor_decrypt_44byte_a78d39cd security Decrypts a 44-byte encrypted buffer using xor_decrypt_buffer with keys 0xa78d39cd, 0xb70319d3. Clears encrypted flag after decryption. 0x00E29230 40 xor_decrypt_44byte_0f79ddd7 security Decrypts a 44-byte encrypted buffer using xor_decrypt_buffer with keys 0x0f79ddd7, 0x8f61434f. Clears encrypted flag after decryption. 0x00E29260 40 xor_decrypt_46byte_d543c1c3 security Decrypts a 46-byte encrypted buffer using xor_decrypt_buffer with keys 0xd543c1c3, 0x4b670715. Clears encrypted flag after decryption. 0x00E29290 40 xor_decrypt_12byte_bda3bfd5 security Decrypts a 12-byte encrypted buffer using xor_decrypt_buffer with keys 0xbda3bfd5, 0xeb074b7f. Clears encrypted flag after decryption. 0x00E292C0 40 xor_decrypt_12byte_b365617d security Decrypts a 12-byte encrypted buffer using xor_decrypt_buffer with keys 0xb365617d, 0xb59badc5. Clears encrypted flag after decryption. 0x00E292F0 40 xor_decrypt_12byte_fdfd87f5 security Decrypts a 12-byte encrypted buffer using xor_decrypt_buffer with keys 0xfdfd87f5, 0x936f3d2f. Clears encrypted flag after decryption. 0x00E29320 40 xor_decrypt_12byte_137f138d security Decrypts a 12-byte encrypted buffer using xor_decrypt_buffer with keys 0x137f138d, 0xf535e561. Clears encrypted flag after decryption. 0x00E29350 40 xor_decrypt_12byte_256f9b6f security Decrypts a 12-byte encrypted buffer using xor_decrypt_buffer with keys 0x256f9b6f, 0x3d075bd5. Clears encrypted flag after decryption. 0x00E29380 40 xor_decrypt_12byte_b5d1ef57 security Decrypts a 12-byte encrypted buffer using xor_decrypt_buffer with keys 0xb5d1ef57, 0x5ffd7fab. Clears encrypted flag after decryption. 0x00E293B0 40 xor_decrypt_12byte_a3079125 security Decrypts a 12-byte encrypted buffer using xor_decrypt_buffer with keys 0xa3079125, 0x6b3301e1. Clears encrypted flag after decryption. 0x00E293E0 40 xor_decrypt_14byte_8577d34b security Decrypts a 14-byte encrypted buffer using xor_decrypt_buffer with keys 0x8577d34b, 0xc7fb6df1. Clears encrypted flag after decryption. 0x00E29410 40 xor_decrypt_14byte_59b551fd security Decrypts a 14-byte encrypted buffer using xor_decrypt_buffer with keys 0x59b551fd, 0xbd3f4301. Clears encrypted flag after decryption. 0x00E29440 40 xor_decrypt_14byte_9d235ddf security Decrypts a 14-byte encrypted buffer using xor_decrypt_buffer with keys 0x9d235ddf, 0x1e7898d. Clears encrypted flag after decryption. 0x00E29470 40 xor_decrypt_14byte_370ba5c3 security Decrypts a 14-byte encrypted buffer using xor_decrypt_buffer with keys 0x370ba5c3, 0x251761d7. Clears encrypted flag after decryption. 0x00E294A0 40 xor_decrypt_14byte_5b39b301 security Decrypts a 14-byte encrypted buffer using xor_decrypt_buffer with keys 0x5b39b301, 0x2b477f9b. Clears encrypted flag after decryption. 0x00E294D0 40 xor_decrypt_14byte_6999a303 security Decrypts a 14-byte encrypted buffer using xor_decrypt_buffer with keys 0x6999a303, 0x6961ff05. Clears encrypted flag after decryption. 0x00E29500 40 xor_decrypt_14byte_b5993503 security Decrypts a 14-byte encrypted buffer using xor_decrypt_buffer with keys 0xb5993503, 0x6bc977b3. Clears encrypted flag after decryption. 0x00E29530 206 tls_init_encrypted_string_fdd4 security Thread-local encrypted string initializer. On first call per thread, stores 14-byte encrypted data at TLS offset 0xfdd4, sets encrypted flag at +0xe, and registers atexit cleanup. Returns pointer to TLS string buffer. Uses once-flag at TLS+0xfde4. 0x00E29600 206 tls_init_encrypted_string_fde8 security Thread-local encrypted string initializer. On first call per thread, stores 14-byte encrypted data at TLS offset 0xfde8 (65000), sets encrypted flag, and registers atexit cleanup. Returns pointer to TLS string buffer. Uses once-flag at TLS+0xfdf8. 0x00E296D0 204 tls_init_encrypted_string_fdfc security Thread-local encrypted string initializer. On first call per thread, stores 18-byte encrypted data at TLS offset 0xfdfc, sets encrypted flag, and registers atexit cleanup. Returns pointer to TLS string buffer. Uses once-flag at TLS+0xfe10. 0x00E297A0 206 tls_init_encrypted_string_fe14 security Thread-local encrypted string initializer. On first call per thread, stores 14-byte encrypted data at TLS offset 0xfe14, sets encrypted flag, and registers atexit cleanup. Returns pointer to TLS string buffer. Uses once-flag at TLS+0xfe24. 0x00E29870 206 tls_init_encrypted_string_fe28 security Thread-local encrypted string initializer. Stores 14-byte encrypted data at TLS offset 0xfe28 on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfe38. 0x00E29940 206 tls_init_encrypted_string_fe3c security Thread-local encrypted string initializer. Stores 14-byte encrypted data at TLS offset 0xfe3c on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfe4c. 0x00E29A10 206 tls_init_encrypted_string_fe50 security Thread-local encrypted string initializer. Stores 14-byte encrypted data at TLS offset 0xfe50 on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfe60. 0x00E29AE0 206 tls_init_encrypted_string_fe64 security Thread-local encrypted string initializer. Stores 14-byte encrypted data at TLS offset 0xfe64 on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfe74. 0x00E29BB0 206 tls_init_encrypted_string_fe78 security Thread-local encrypted string initializer. Stores 14-byte encrypted data at TLS offset 0xfe78 on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfe88. 0x00E29C80 204 tls_init_encrypted_string_fe8c security Thread-local encrypted string initializer. Stores 10-byte encrypted data at TLS offset 0xfe8c on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfe98. 0x00E29D50 204 tls_init_encrypted_string_fe9c security Thread-local encrypted string initializer. Stores 10-byte encrypted data at TLS offset 0xfe9c on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfea8. 0x00E29E20 204 tls_init_encrypted_string_feac security Thread-local encrypted string initializer. Stores 10-byte encrypted data at TLS offset 0xfeac on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfeb8. 0x00E29EF0 204 tls_init_encrypted_string_febc security Thread-local encrypted string initializer. Stores 18-byte encrypted data at TLS offset 0xfebc on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfed0. 0x00E29FC0 204 tls_init_encrypted_string_fed4 security Thread-local encrypted string initializer. Stores 18-byte encrypted data at TLS offset 0xfed4 on first call per thread. Registers atexit cleanup. Once-flag at TLS+0xfee8. 0x00E2A090 204 tls_init_encrypted_string_feec security Thread-local encrypted string initializer. Stores 18-byte encrypted data at TLS offset 0xfeec. Registers atexit cleanup. Once-flag at TLS+0xff00. 0x00E2A160 204 tls_init_encrypted_string_ff04 security Thread-local encrypted string initializer. Stores 18-byte encrypted data at TLS offset 0xff04. Registers atexit cleanup. Once-flag at TLS+0xff18. 0x00E2A230 204 tls_init_encrypted_string_ff1c security Thread-local encrypted string initializer. Stores 22-byte encrypted data at TLS offset 0xff1c. Registers atexit cleanup. Once-flag at TLS+0xff34. 0x00E2A300 204 tls_init_encrypted_string_ff38 security Thread-local encrypted string initializer. Stores 22-byte encrypted data at TLS offset 0xff38. Registers atexit cleanup. Once-flag at TLS+0xff50. 0x00E2A3D0 204 tls_init_encrypted_string_ff54 security Thread-local encrypted string initializer. Stores 22-byte encrypted data at TLS offset 0xff54. Registers atexit cleanup. Once-flag at TLS+0xff6c. 0x00E2A4A0 190 tls_init_encrypted_string_ff70 security Thread-local encrypted string initializer. Stores 16-byte encrypted data at TLS offset 0xff70. Registers atexit cleanup. Once-flag at TLS+0xff84. 0x00E2A560 204 tls_init_encrypted_string_ff88 security Thread-local encrypted string initializer. Stores 12-byte encrypted data at TLS offset 0xff88. Registers atexit cleanup. Once-flag at TLS+0xff98. 0x00E2A630 190 tls_init_encrypted_string_ff9c security Thread-local encrypted string initializer. Stores 16-byte encrypted data at TLS offset 0xff9c. Registers atexit cleanup. Once-flag at TLS+0xffb0. 0x00E2A6F0 204 tls_init_encrypted_string_ffb4 security Thread-local encrypted string initializer. Stores 12-byte encrypted data at TLS offset 0xffb4. Registers atexit cleanup. Once-flag at TLS+0xffc4. 0x00E2A7C0 204 tls_init_encrypted_string_ffc8 security Thread-local encrypted string initializer. Stores 20-byte encrypted data at TLS offset 0xffc8. Registers atexit cleanup. Once-flag at TLS+0xffe0. 0x00E2A890 204 tls_init_encrypted_string_ffe4 security Thread-local encrypted string initializer. Stores 18-byte encrypted data at TLS offset 0xffe4. Registers atexit cleanup. Once-flag at TLS+0xfff8. 0x00E2A960 220 tls_init_encrypted_string_fffc security Thread-local encrypted string initializer. Stores 23-byte encrypted data at TLS offset 0xfffc. Registers atexit cleanup. Once-flag at TLS+0x10014. 0x00E2AA40 204 tls_init_encrypted_string_10018 security Thread-local encrypted string initializer. Stores 18-byte encrypted data at TLS offset 0x10018. Registers atexit cleanup. Once-flag at TLS+0x1002c. 0x00E2AB10 220 tls_init_encrypted_string_10030 security Thread-local encrypted string initializer. Stores 23-byte encrypted data at TLS offset 0x10030. Registers atexit cleanup. Once-flag at TLS+0x10048. 0x00E2ABF0 204 tls_init_encrypted_string_1004c security Thread-local encrypted string initializer. Stores 10-byte encrypted data at TLS offset 0x1004c. Registers atexit cleanup. Once-flag at TLS+0x10058. 0x00E2ACC0 204 tls_init_encrypted_string_1005c security Thread-local encrypted string initializer. Stores 10-byte encrypted data at TLS offset 0x1005c. Registers atexit cleanup. Once-flag at TLS+0x10068. 0x00E2AD90 190 tls_init_encrypted_string_1006c security Thread-local encrypted string initializer. Stores 16-byte encrypted data at TLS offset 0x1006c. Registers atexit cleanup. Once-flag at TLS+0x10080. 0x00E2AE50 204 tls_init_encrypted_string_10084 security Thread-local encrypted string initializer. Stores 12-byte encrypted data at TLS offset 0x10084. Registers atexit cleanup. Once-flag at TLS+0x10094. 0x00E2AF20 190 tls_init_encrypted_string_10098 security Thread-local encrypted string initializer. Stores 16-byte encrypted data at TLS offset 0x10098. Registers atexit cleanup. Once-flag at TLS+0x100ac. 0x00E2AFE0 204 tls_init_encrypted_string_100b0 security Thread-local encrypted string initializer. Stores 12-byte encrypted data at TLS offset 0x100b0. Registers atexit cleanup. Once-flag at TLS+0x100c0. 0x00E2B0B0 204 tls_init_encrypted_string_100c4 security Thread-local encrypted string initializer at TLS offset 0x100c4. Stores 18 bytes of encrypted data. Registers atexit cleanup. 0x00E2B180 204 tls_init_encrypted_string_100dc security Thread-local encrypted string initializer at TLS offset 0x100dc. Stores 18 bytes of encrypted data. Registers atexit cleanup. 0x00E2B250 204 tls_init_encrypted_string_100f4 security Thread-local encrypted string initializer at TLS offset 0x100f4. Stores 10 bytes of encrypted data. Registers atexit cleanup. 0x00E2B320 204 tls_init_encrypted_string_10104 security Thread-local encrypted string initializer at TLS offset 0x10104. Stores 10 bytes of encrypted data. Registers atexit cleanup. 0x00E2B3F0 204 tls_init_encrypted_string_10114 security Thread-local encrypted string initializer at TLS offset 0x10114. Stores 10 bytes of encrypted data. Registers atexit cleanup. 0x00E2B4C0 204 tls_init_encrypted_string_10124 security Thread-local encrypted string initializer at TLS offset 0x10124. Stores 18 bytes of encrypted data. Registers atexit cleanup. 0x00E2B590 204 tls_init_encrypted_string_1013c security Thread-local encrypted string initializer at TLS offset 0x1013c. Stores 18 bytes of encrypted data. Registers atexit cleanup. 0x00E2B660 204 tls_init_encrypted_string_10154 security Thread-local encrypted string initializer at TLS offset 0x10154. Stores 10 bytes of encrypted data. Registers atexit cleanup. 0x00E2B730 204 tls_init_encrypted_string_10164 security Thread-local encrypted string initializer at TLS offset 0x10164. Stores 10 bytes of encrypted data. Registers atexit cleanup. 0x00E2B800 204 tls_init_encrypted_string_10174 security Thread-local encrypted string initializer at TLS offset 0x10174. Stores 20 bytes of encrypted data. Registers atexit cleanup. 0x00E2B8D0 204 tls_init_encrypted_string_10190 security Thread-local encrypted string initializer at TLS offset 0x10190. Registers atexit cleanup. 0x00E2B9A0 204 tls_init_encrypted_string_101ac security Thread-local encrypted string initializer at TLS offset 0x101ac. Registers atexit cleanup. 0x00E2BA70 204 tls_init_encrypted_string_101bc security Thread-local encrypted string initializer at TLS offset 0x101bc. Registers atexit cleanup. 0x00E2BB40 204 tls_init_encrypted_string_101d4 security Thread-local encrypted string initializer at TLS offset 0x101d4. Registers atexit cleanup. 0x00E2BC10 204 tls_init_encrypted_string_101e4 security Thread-local encrypted string initializer at TLS offset 0x101e4. Registers atexit cleanup. 0x00E2BCE0 204 tls_init_encrypted_string_101fc security Thread-local encrypted string initializer at TLS offset 0x101fc. Registers atexit cleanup. 0x00E2BDB0 204 tls_init_encrypted_string_1020c security Thread-local encrypted string initializer at TLS offset 0x1020c. Registers atexit cleanup. 0x00E2BE80 204 tls_init_encrypted_string_1021c security Thread-local encrypted string initializer at TLS offset 0x1021c. Registers atexit cleanup. 0x00E2BF50 204 tls_init_encrypted_string_1022c security Thread-local encrypted string initializer at TLS offset 0x1022c. Registers atexit cleanup. 0x00E2C020 204 tls_init_encrypted_string_10244 security Thread-local encrypted string initializer at TLS offset 0x10244. Registers atexit cleanup. 0x00E2C0F0 204 tls_init_encrypted_string_10254 security Thread-local encrypted string initializer at TLS offset 0x10254. Registers atexit cleanup. 0x00E2C1C0 204 tls_init_encrypted_string_1026c security Thread-local encrypted string initializer at TLS offset 0x1026c. Registers atexit cleanup. 0x00E2C290 220 tls_init_encrypted_string_10284 security Thread-local encrypted string initializer at TLS offset 0x10284. Registers atexit cleanup. 0x00E2C370 220 tls_init_encrypted_string_102a0 security Thread-local encrypted string initializer at TLS offset 0x102a0. Registers atexit cleanup. 0x00E2C450 204 tls_init_encrypted_string_102c0 security Thread-local encrypted string initializer at TLS offset 0x102c0. Registers atexit cleanup. 0x00E2C520 220 tls_init_encrypted_string_102dc security Thread-local encrypted string initializer at TLS offset 0x102dc. Registers atexit cleanup. 0x00E2C600 204 tls_init_encrypted_string_10300 security Thread-local encrypted string initializer at TLS offset 0x10300. Registers atexit cleanup. 0x00E2C6D0 220 tls_init_encrypted_string_10318 security Thread-local encrypted string initializer at TLS offset 0x10318. Registers atexit cleanup. 0x00E2C7B0 204 tls_init_encrypted_string_10338 security Thread-local encrypted string initializer at TLS offset 0x10338. Registers atexit cleanup. 0x00E2C880 220 tls_init_encrypted_string_10354 security Thread-local encrypted string initializer at TLS offset 0x10354. Registers atexit cleanup. 0x00E2C960 204 tls_init_encrypted_string_10374 security Thread-local encrypted string initializer at TLS offset 0x10374. Registers atexit cleanup. 0x00E2CA30 220 tls_init_encrypted_string_1039c security Thread-local encrypted string initializer at TLS offset 0x1039c. Registers atexit cleanup. 0x00E2CB10 204 tls_init_encrypted_string_103c8 security Thread-local encrypted string initializer at TLS offset 0x103c8. Registers atexit cleanup. 0x00E2CBE0 220 tls_init_encrypted_string_103e0 security Thread-local encrypted string initializer at TLS offset 0x103e0. Registers atexit cleanup. 0x00E2CCC0 204 tls_init_encrypted_string_10400 security Thread-local encrypted string initializer at TLS offset 0x10400. Registers atexit cleanup. 0x00E2CD90 220 tls_init_encrypted_string_1041c security Thread-local encrypted string initializer at TLS offset 0x1041c. Registers atexit cleanup. 0x00E2CE70 204 tls_init_encrypted_string_10440 security Thread-local encrypted string initializer at TLS offset 0x10440. Registers atexit cleanup. 0x00E2CF40 220 tls_init_encrypted_string_10454 security Thread-local encrypted string initializer at TLS offset 0x10454. Registers atexit cleanup. 0x00E2D020 190 tls_init_encrypted_string_10474 security Thread-local encrypted string initializer at TLS offset 0x10474. Registers atexit cleanup. 0x00E2D0E0 220 tls_init_encrypted_string_1048c security Thread-local encrypted string initializer at TLS offset 0x1048c. Registers atexit cleanup. 0x00E2D1C0 220 tls_init_encrypted_string_104b0 security Thread-local encrypted string initializer at TLS offset 0x104b0. Registers atexit cleanup. 0x00E2D2A0 220 tls_init_encrypted_string_104d8 security Thread-local encrypted string initializer at TLS offset 0x104d8. Registers atexit cleanup. 0x00E2D380 205 tls_init_encrypted_string_104f8 security Thread-local encrypted string initializer at TLS offset 0x104f8. Registers atexit cleanup. 0x00E2D450 220 tls_init_encrypted_string_10520 security Thread-local encrypted string initializer at TLS offset 0x10520. Registers atexit cleanup. 0x00E2D530 205 tls_init_encrypted_string_10540 security Thread-local encrypted string initializer at TLS offset 0x10540. Registers atexit cleanup. 0x00E2D600 220 tls_init_encrypted_string_10568 security Thread-local encrypted string initializer at TLS offset 0x10568. Registers atexit cleanup. 0x00E2D6E0 221 tls_init_encrypted_string_1058c security Thread-local encrypted string initializer at TLS offset 0x1058c. Registers atexit cleanup. 0x00E2D7C0 222 tls_init_encrypted_string_105bc security Thread-local encrypted string initializer at TLS offset 0x105bc. Registers atexit cleanup. 0x00E2D8A0 220 tls_init_encrypted_string_105f0 security Thread-local encrypted string initializer at TLS offset 0x105f0. Registers atexit cleanup. 0x00E2D980 222 tls_init_encrypted_string_10614 security Thread-local encrypted string initializer at TLS offset 0x10614. Registers atexit cleanup. 0x00E2DA60 236 tls_init_encrypted_string_10648 security Thread-local encrypted string initializer at TLS offset 0x10648. Registers atexit cleanup. 0x00E2DB50 204 tls_init_encrypted_string_1067c security Thread-local encrypted string initializer at TLS offset 0x1067c. Registers atexit cleanup. 0x00E2DC20 204 tls_init_encrypted_string_1069c security Thread-local encrypted string initializer at TLS offset 0x1069c. Registers atexit cleanup. 0x00E2DCF0 221 tls_init_encrypted_string_106bc security Thread-local encrypted string initializer at TLS offset 0x106bc. Registers atexit cleanup. 0x00E2DDD0 220 tls_init_encrypted_string_106e0 security Thread-local encrypted string initializer at TLS offset 0x106e0. Registers atexit cleanup. 0x00E2DEB0 205 tls_init_encrypted_string_10700 security Thread-local encrypted string initializer at TLS offset 0x10700. Registers atexit cleanup. 0x00E2DF80 204 tls_init_encrypted_string_10728 security Thread-local encrypted string initializer at TLS offset 0x10728. Registers atexit cleanup. 0x00E2E050 220 tls_init_encrypted_string_10740 security Thread-local encrypted string initializer at TLS offset 0x10740. Registers atexit cleanup. 0x00E2E130 204 tls_init_encrypted_string_10760 security Thread-local encrypted string initializer at TLS offset 0x10760. Registers atexit cleanup. 0x00E2E200 220 tls_init_encrypted_string_10778 security Thread-local encrypted string initializer at TLS offset 0x10778. Registers atexit cleanup. 0x00E2E2E0 204 tls_init_encrypted_string_10798 security Thread-local encrypted string initializer at TLS offset 0x10798. Registers atexit cleanup. 0x00E2E3B0 221 tls_init_encrypted_string_107b8 security Thread-local encrypted string initializer at TLS offset 0x107b8. Registers atexit cleanup. 0x00E2E490 220 tls_init_encrypted_string_107dc security Thread-local encrypted string initializer at TLS offset 0x107dc. Registers atexit cleanup. 0x00E2E570 205 tls_init_encrypted_string_107fc security Thread-local encrypted string initializer at TLS offset 0x107fc. Registers atexit cleanup. 0x00E2E640 220 tls_init_encrypted_string_10824 security Thread-local encrypted string initializer at TLS offset 0x10824. Registers atexit cleanup. 0x00E2E720 220 tls_init_encrypted_data_37bytes security TLS-based lazy initializer. Copies 37 bytes of encrypted constant data from globals (DAT_011acc90, DAT_011acc20) into TLS slot at offset 0x10848. Sets initialized flag at +0x1086d, registers atexit cleanup. Returns pointer to TLS data. 0x00E2E800 204 tls_init_encrypted_data_12bytes_a security TLS-based lazy initializer. Copies 12 bytes of encrypted constant data into TLS slot at offset 0x10874. Sets initialized flag at +0x10880, registers atexit cleanup. Returns pointer to TLS data. 0x00E2E8D0 204 tls_init_encrypted_data_12bytes_b security TLS-based lazy initializer. Copies 12 bytes of encrypted constant data into TLS slot at offset 0x10888. Sets initialized flag at +0x10894, registers atexit cleanup. Returns pointer to TLS data. 0x00E2E9A0 206 tls_init_encrypted_data_14bytes_a security TLS-based lazy initializer. Copies 14 bytes of encrypted constant data into TLS slot at offset 0x1089c. Sets initialized flag at +0x108aa, registers atexit cleanup. Returns pointer to TLS data. 0x00E2EA70 206 tls_init_encrypted_data_14bytes_b security TLS-based lazy initializer. Copies 14 bytes of encrypted constant data into TLS slot at offset 0x108b0. Sets initialized flag at +0x108be, registers atexit cleanup. Returns pointer to TLS data. 0x00E2EB40 206 tls_init_encrypted_data_14bytes_c security TLS-based lazy initializer. Copies 14 bytes of encrypted constant data into TLS slot at offset 0x108c4. Sets initialized flag at +0x108d2, registers atexit cleanup. Returns pointer to TLS data. 0x00E2EC10 187 CItemCollection__update_equipment_slots game_items Updates equipment slots in item collection. Resolves up to 3 slot indices from item location, copies item descriptor into equipment array at stride 0xF8, sets equipped flag at +0x6B78, copies additional item properties. Clears tooltip timer and notifies UI of change. 0x00E2ECD0 185 CItemCollection__update_inventory_slots game_items Updates inventory slots in item collection. Resolves up to 3 slot indices from item location, copies item descriptor into inventory array at stride 0xF8, sets flag at +0x61C8. Special handling for location 0x8000 (ammo). Clears tooltip timer and notifies UI of change. 0x00E2ED90 222 CItemCollection__insert_item_into_map game_items Inserts an item into the item collection's std::map by item ID. Uses _Find_lower_bound to locate insertion point. If item ID not found, allocates a 0x14-byte node with the item ID at offset +0x10 and inserts via Insert_node. Map root is at this+0x7F94. 0x00E2EE70 640 map_equip_location_to_view_id game_core Maps equipment location IDs to view/sprite IDs. Handles three tiers: (1) direct pass-through for certain types (0x16-0x1E), (2) normal equipment mapping via lookup, (3) costume/shadow equipment mapping with remapping tables. Also remaps headgear view IDs 0x10EC-0x10F8 to alternate range. If param_3==1 and result>0xF6E, subtracts 0xF6E offset. 0x00E2F3B0 358 CItemCollection__send_favorite_tab_update game_items Sends a favorite tab update to the server. Looks up tree node for key=2 in map at this+0x7FAC. If found, clears item data at this+0x61A4, sends 4-byte network packet (0x7F40B11), and reinserts the node if missing. Zeros the node's data fields after send. 0x00E2F520 20 CItemCollection__clear_favorite_slots game_items Clears 0x3F bytes of favorite slot data starting at this+0x6AC. Simple memset to zero. 0x00E2F540 46 CItemCollection__reset_equipment_items game_items Resets all 10 equipment item descriptors by calling CItemDesc__reset_all_fields in a loop. Notifies UI of language change afterward. 0x00E2F570 46 CItemCollection__reset_inventory_items game_items Resets all 10 inventory item descriptors by calling CItemDesc__reset_all_fields in a loop. Notifies UI of language change afterward. Same structure as reset_equipment_items but for inventory array. 0x00E2F5A0 308 check_item_combinable_status game_core Checks if an item can be combined/used. Returns 1 if: global mode > 0x45, item is not in certain category, DAT_01737AA0 is set, item exists in DB, has valid field4, item level <= 50 (0x32), and item is not in range 0xFA1-0xFB5. Returns 0 otherwise. 0x00E2F6E0 36 CItemCollection__find_favorite_slot_index game_items Searches 9 favorite slots (stride 7 bytes, starting at this+0x6AD) for a matching item param_2. Returns the slot index (0-8) if found, -1 if not found. 0x00E2F710 89 classify_equip_sprite_mode game_core Classifies equipment sprite mode. If param_2 < 2 and param_3 is not in headgear range (0x10EC-0x10FF), checks if param_1 is in range 0xFA1-0xFB6 or resolves to that range. Returns 0 or 1 for base equipment, param_2 passthrough otherwise. 0x00E2F770 126 get_equip_location_tier game_core Returns the equipment location tier: 1 = normal base equipment (resolved via lookup), 2 = costume/shadow equipment (0xFAE, 0xD, 0x15, 0xFB6-0x10B9 range), 0 = unknown/invalid. Used by the equip location mapper. 0x00E2F860 177 build_vector_from_linked_list_a game_core Builds a std::vector by iterating a linked list from param_2. For each node, calls FUN_00e30a90 to transform the data, then inserts the result into the output vector via STL_vector_insert_range. Returns the populated vector. 0x00E2F920 177 build_vector_from_linked_list_b game_core Builds a std::vector by iterating a linked list from param_2. For each node, calls CItemDB__serialize_item_to_packet to transform the data, then inserts into the output vector. Returns the populated vector. Similar to build_vector_from_linked_list_a but uses different serializer. 0x00E2F9F0 140 get_item_tab_color_by_type game_core Returns a color value for item tab display based on item type. Checks in order: is pet egg (DAT_0173A59C), is pet armor (DAT_0173A524), is enchantstone (DAT_0173A528), is shadow equipment (DAT_0173A52C), is costume (DAT_0173A550), default (DAT_0173A520). 0x00E2FA80 291 get_item_name_color_by_type game_core Returns a color value for item name display based on item type/location. Checks enchantstone, equipment range 0xFA8-0xFB6 and specific locations (0x18,0x19,0x1084 etc), consumable/ammo types, pet egg, pet armor, shadow equipment, costume, and default. Each type returns a different color from global DAT_0173A5xx. 0x00E2FBB0 103 get_job_branch_index game_core Returns the job branch index (1-3) based on the player's effective job ID. Checks against Summoner/Doram jobs (0x842-0x84D) and 4th class jobs (0x5150-0x5154). Returns 0 if job not on the configured map or unknown job. Used for job-branch-specific item filtering. 0x00E2FC50 548 CItemCollection__resolve_item_for_slot game_items Resolves an item for a specific equipment slot. If param_2 is 0, destroys nodes. Otherwise looks up item info, resolves up to 3 slot indices from equip location param_3, and copies item from either normal shop or special shop tab depending on item category. Returns the resolved item structure. 0x00E2FE80 1363 map_costume_to_base_equip_location game_core Maps costume/shadow/4th-class equipment location IDs back to their base equipment locations. Giant switch table covering all equipment slots: costumes (0x1012-0x108D), shadows (0x10A9-0x10B5), 4th-class (0x10D5-0x10DB), and special headgear variants. Returns the input unchanged if no mapping exists. 0x00E30720 267 CItemCollection__count_unique_equip_cards game_items Counts unique card IDs across 10 equipment slots (stride 0xF8, starting at this+0x2B54). Builds a deduplicated list of non-zero card IDs, skipping duplicates. Returns the count of unique cards. 0x00E30830 267 CItemCollection__count_unique_inventory_cards game_items Counts unique card IDs across 10 inventory slots (stride 0xF8, starting at this+0x17F4). Same algorithm as count_unique_equip_cards but for inventory array. Returns the count of unique cards. 0x00E30940 266 CItemCollection__get_item_sprite_name_hash game_items Builds a sprite resource name string from the item's name field at this+0x160C, appends a 4-byte suffix from DAT_01129020, and hashes the result via FUN_00dde770. Returns the hash value for sprite lookup. 0x00E30A50 26 get_render_system_default game_core Returns the Lua global integer 'RenderSystemDefault', clamped to minimum 0. Used to get the default render system setting. 0x00E30A70 26 get_render_system_reset game_core Returns the Lua global integer 'RenderSystemReset', clamped to minimum 0. Used to get the render system reset flag. 0x00E30A90 1956 serialize_item_fields_to_packet_vector game_core Serializes item fields into a packet vector. Creates multiple sub-packets: type 0xFB (6 bytes, header), 0xFD with param_1[0] (item ID), 0xFE with param_1[1], 0xFF with param_1[2], 0x102 with param_1[0xF], 0x103 with param_1[0x10], 0x104 with param_1[0x11]. Also serializes two strings via rbtree_insert_with_hint (types 0x100, 0x101), and appends a 0xFC terminator. 0x00E31240 280 serialize_linked_list_to_packet_buffer game_core Serializes a linked list of items into a binary packet buffer. Allocates a byte vector sized to (count * 0x25 + 4), writes packet header (param_2 type, size), then iterates the list writing each item's fields: short ID, int value, short count, short flags, bool active, short extra, and a 0x18-byte name string (null-terminated, max 24 chars). 0x00E31360 92 map_base_to_costume_equip_location game_core Maps base equipment locations to their costume/shadow equivalents. Inverse of map_costume_to_base_equip_location. E.g., 0xFA8->0xFAE, 7->0xD, 0xE->0x15, 0xFAF->0xFB6, 0xFD6->0xFF0, 0x109C->0x10B8, etc. Returns input unchanged if no mapping. 0x00E31580 30 remap_headgear_view_id game_core Remaps headgear view IDs from extended range 0x10EC-0x10F8 to base range. Maps to locations like 0xFDC, 0xFE0, 0xFE1, etc. Returns input unchanged if not in the 0x10EC-0x10F8 range. 0x00E31650 1181 CSkillTree__load_skill_data_from_lua game_core Loads skill tree data from Lua state. Calls GetSkillMaxLv Lua function, then iterates Lua table to read SkillFlag entries and skill point requirements. Populates the skill tree map with skill IDs and their costs. Special handling for skill 0x99D (Homunculus) with job-branch-specific offsets (3000/6000/9000 for Summoner/Doram jobs). 0x00E31B20 138 CItemCollection__get_equipment_item game_items Gets an equipment item by slot index. If param_3 is 0xF, returns empty/null item. If param_3 < 10, copies the equipment item from array at this+0x6B68 (stride 0xF8). Otherwise returns empty/null item. 0x00E31BB0 175 CItemCollection__get_inventory_item game_items Gets an inventory item by slot index. If param_3 is 0xF, searches linked list at this+0x7EC8 for the item. If param_3 < 10, copies from inventory array at this+0x61B8 (stride 0xF8). Otherwise returns empty/null item. 0x00E31C80 163 CItemCollection__get_storage_item game_items Gets a storage item by index. Reads from dynamic array at this+0x811C. If the array is empty or param_3 exceeds the count (array_size / 0xF8), returns empty/null item. Otherwise copies from the array at stride 0xF8. 0x00E31D30 168 CGameMode__check_is_top_layer_lua game_core Calls Lua function 'IsTopLayer' with a layer ID parameter. If param_2 is -1, uses the value from this+0xF00. Returns the Lua result (non-zero if the layer is a top layer). 0x00E31DE0 74 CGameMode__check_skill_cooldown game_core Checks if a skill is still on cooldown. Iterates the linked list at this+0x5440, looking for matching skill ID (param_2) or universal cooldown (0x241). If found, checks if current time (timeGetTime) is less than (expire_time - 100ms). Returns 0 if on cooldown, 1 if ready. 0x00E31E30 45489 tls_init_all_encrypted_strings game_core Tls init all encrypted strings 0x00E3CFF0 42 is_special_equip_location game_core Checks if an equipment location ID is a special type (weapon-related locations). Returns 1 for IDs 0x1079-0x107D, 0x10D4, 0x10DB. Returns 0 for all others. 0x00E3D090 3 ret_one_00e3d090 crt Returns constant value 1 0x00E3D0A0 70 CGameMode__check_action_delay game_core Checks if enough time has elapsed since last action. Compares (last_action_time + delay) against timeGetTime(). If elapsed, updates last_action_time at this+0x6188 and returns 1. Otherwise returns 0. Used as general action cooldown timer. 0x00E3D0F0 76 is_current_equip_two_handed game_core Checks if the currently equipped weapon (from DAT_01733C60) is a two-handed type. Two-handed IDs include: 0x13, 0x14, 0xFB4, 0xFB5, 0xFCA, 0xFCB, 0xFE4, 0xFEB, 0x1008, 0x1073, 0x1074, 0x107F, 0x1080, 0x10A7, 0x10A8, 0x10D0, 0x10D1. Returns 1 if two-handed, 0 otherwise. 0x00E3D240 76 is_guild_skill_id game_core Checks if a skill ID belongs to a guild skill. Guild skill IDs: 0x14B, 0x78B, 0x87B, 0x9BE, 0xA1B, 0xA2E, 0xA2F, 0xAF6. Returns 1 if guild skill, 0 otherwise. 0x00E3D290 62 can_entity_be_targeted game_core Checks if an entity can be targeted. First tries to find the entity on the current map; if found and its type is 1 (NPC), 6 (player), or 12 (portal), returns 1. Otherwise falls back to is_valid_npc_or_mob_id check. 0x00E3D2D0 44 get_player_mount_status game_core Gets the player's mount status byte. Retrieves the current game mode, then the player entity at offset +0xCC, and returns the byte at entity+0xFD. Returns 0 if no game mode or no player entity. 0x00E3D300 21 is_extended_headgear_view_id game_core Returns true (1) if param_1 is in the extended headgear view ID range [0x10EC, 0x10FD] (18 values). Simple range check: (param_1 - 0x10EC) < 0x12. 0x00E3D320 38 CGameMode__is_weight_over_limit game_core Checks if the player's current weight exceeds the limit. If param_2 is -1, returns false. Otherwise checks if (this+0x59C0 - this+0x8130) <= param_2. Returns 1 if weight is over the limit. 0x00E3D350 40 is_ammo_equip_location game_core Checks if an equipment location ID represents ammo. Ammo locations: 0x16, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E. Returns 1 if ammo, 0 otherwise. 0x00E3D390 59 CItemCollection__is_item_equipped_in_any_slot game_items Checks if an item is currently equipped in any of the 10 equipment slots. Iterates equipment array (stride 0x3E ints, starting at this+0x6B6C) checking both the equip field and an alternate field at offset -0x26C from it. Returns 1 if found, 0 if not or param_2 is 0. 0x00E3D3D0 80 is_new_equip_location_type game_core Checks if an equipment location ID is a 'new' type (4th class, expanded, or special equipment). Returns 1 for 4th-class IDs, expanded class IDs, and a large set of specific IDs (0x105E-0x1102). Used to determine if special UI or handling is needed. 0x00E3D4D0 969 CGameMode__init_shortcut_list_from_lua game_core Initializes the shortcut list from Lua savedata. Clears existing shortcut string vector at this+0xFF8, then populates it with message strings (IDs 0x220-0x22A) for 10 shortcut entries. Loads savedata via 'savedata/shortcutlist/*.lua' file. Returns true if shortcut list loaded successfully and has valid size. 0x00E3D8A0 185 CItemCollection__unequip_item game_items Unequips an item from equipment slots. Special handling for ammo (location 0x8000) via FUN_00e497f0. For normal equipment, resolves up to 3 slot indices, clears the equipped flag at slot*0xF8+0x6B74, and resets item descriptors. Clears tooltip timer and notifies UI. 0x00E3D960 448 CItemCollection__remove_inventory_item game_items Removes an item from inventory slots. For ammo (location 0x8000), resolves item name, shows chat message (msg 0xAB) with item tooltip, then clears ammo. For normal items, resolves up to 3 slot indices and resets item descriptors. Clears tooltip timer and notifies UI. 0x00E3DB20 113 CGameMode__reset_player_stats game_core Resets player stat fields to initial values. Sets stats at this+0x59BC through +0x59D4 to 1, E94 to 1, 103C to -1, 5450/794/798 to 0. Returns 1. 0x00E3DBA0 2240 CGameMode__serialize_state_to_savedata game_core Serializes game state to savedata packet vector. Builds packets with types: 0x1964 (header), 0x196F (account ID from global), 0x1970 (flag byte), 0x1971/0x1972 (string data from global+4 and +0x1C), 0x1973 (battlefield queue ID), 0x1974-0x1976 (memorial dungeon data), 0x1965 (terminator). 0x00E3E460 225 CGameMode__build_character_header_packet game_core DUMMY - forcing previous comment through 0x00E3E550 6616 CItemInfoMgr__build_item_info_table game_items Builds item info table for CItemInfoMgr. 6.6K bytes. Inserts item data into RB tree with hints, populates vectors. No callers (likely static initializer or callback). 0x00E3FF30 3363 CGameMode__serialize_status_data game_core Serializes character status data to a packet vector. Type 2000 header, then int fields (0x7DA-0x7DF) from offsets 0x166C-0x1680 for base stats, followed by string/binary data for name (0x7E0), job info (0x7E1-0x7E7), skill data (0x7E8-0x7EC), and additional stats (0x7ED-0x7F6, 0x804). Terminates with type 0x7D1. 0x00E40C60 1571 CGameMode__serialize_party_data game_core Serializes party data to packet vector. Type 4000 header, flag byte (0xFAA) from +0x5938, int fields (0xFAB/0xFAC) from +0x5460/+0x5464, strings (0xFAD/0xFAE), linked lists (0xFAF/0xFB0) for party members. Terminates with type 0xFA1. 0x00E41290 3021 CGameMode__serialize_equipment_data game_core Serializes equipment/inventory data to packet vector. Type 0x1194 header, int fields (0x125D/0x125E) from +0x5210/+0x5214, then 13 linked list serializations (types 0x119E-0x11AA) for different equipment categories. Also serializes merged item lists (0x11F9-0x11FE) with hash table cleanup. Terminates with type 0x1195. 0x00E41E60 1745 CGameMode__serialize_quest_data game_core Serializes quest data to packet vector. Type 0x1D4C header. Iterates quest tree at this+0x80B4, serializing each quest entry as 0x1D4E (0x1C bytes with name and data), then iterates quest objectives tree at this+0x80BC with nested objective entries as 0x1D50 (0x1A bytes) and quest summary as 0x1D51 (0x0E bytes). Terminates with type 0x1D4D. 0x00E42540 182 build_short_packet_4bytes game_core Builds a minimal 4-byte packet vector. Allocates 4 bytes, writes type 0x1D6 as first 2 bytes and copies param_1 (2 bytes) as second short. Used for simple short-value packets. 0x00E42600 2216 CGameMode__serialize_guild_data game_core Serializes guild data to packet vector. Type 0x157C header, int fields 0x1586-0x158A from offsets +0x593C through +0x594C, string 0x158B from +0x5950, int fields 0x158C-0x158E from +0x5968/+0x596C/+0x5970. Terminates with type 0x157D. 0x00E42EB0 103 init_empty_vector game_core Initializes an empty std::vector by setting all 3 pointers (begin, end, capacity) to 0. Simple vector constructor with SEH frame. 0x00E42F20 5905 CItemInfoMgr__build_item_info_table_b game_items Second item info table builder. 5.9K bytes. Same pattern as CItemInfoMgr__build_item_info_table - inserts data into RB tree with hints, populates vectors. No callers (static initializer). 0x00E44640 888 serialize_packet_system_data game_core Serializes packet system data to vector. Type 0xDAC header, constant 0x33 as int (0xDAE), binary data block from CPacketSystem (0xDB6), terminates with 0xDAD. 0x00E449C0 1064 serialize_hotkey_macro_data game_core Serializes hotkey/macro configuration data. Type 7000 header, copies 0xFC bytes (252 = 63 ints) of hotkey data from offset +0x4B0 as type 0x1BBC, then 14 bytes of macro data from offset +0x6EB as type 0x1BBD. Terminates with 0x1B59. 0x00E44DF0 228 CGameMode__serialize_list_by_type game_core Serializes a linked list to packet by type selector. Dispatches to serialize_linked_list_to_packet_buffer with the appropriate list offset: type 0x10F uses this+0x10, type 0x235 uses this+0x84, type 0x29D uses this+0x8C. Returns empty vector for unknown types. 0x00E44EE0 933 CGameMode__deserialize_savedata game_core Deserializes savedata packet vector (type 0x1964). Parses TLV sub-packets: 0x196F sets account ID in global, 0x1970 sets flag byte, 0x1971/0x1972 set source/destination names, 0x1973 dispatches battlefield queue, 0x1974 sets memorial dungeon data, 0x1975/0x1976 store temp values. Returns offset on success, -1 on failure. 0x00E452D0 258 CGameMode__deserialize_character_data game_core Deserializes character data from packet vector (type 1000). Parses ~80 TLV sub-packets (types 0x3F2-0x44D) that map to offsets 0x1604-0x7FBC in the game mode object. Each field is memcpy'd by size. Special handling for type 0x449 (string field with STL resize). Terminates at type 0x3E9. 0x00E46040 1312 CGameMode__deserialize_status_data game_core Deserializes status data from packet vector (type 2000). Parses TLV sub-packets (0x7DA-0x804) that map to character status fields: stats (0x166C-0x1680), name (0xF4C), job data (0x1700/0x16FC), guild data (0x532C-0x533C), skill data (0x5340-0x5400), and equipment info. Type 0x804 triggers entity update callbacks. Terminates at type 0x7D1. 0x00E46620 728 CGameMode__deserialize_party_data game_core Deserializes party data from packet vector (type 4000). Parses TLV sub-packets: 0xFAA (flag byte at +0x5938), 0xFAB/0xFAC (int fields at +0x5460/+0x5464), 0xFAD/0xFAE (string names), 0xFAF/0xFB0 (linked lists via FUN_00e48c00). Terminates at type 0x1195. 0x00E46920 886 CGameMode__deserialize_equipment_data game_core Deserializes equipment/inventory data from packet vector (type 0x1194). Parses 13 linked lists (0x119E-0x11AA via FUN_00e48e90), 6 merged lists (0x11F9-0x11FE via FUN_00e49090), and int fields (0x125D/0x125E). Terminates at type 0x1195 or 0x125F. 0x00E46DC0 750 deserialize_quest_data game_core Deserializes quest data from packet vector (type 0x1D4C). Parses quest entries (0x1D4E) with name string and data, quest objectives (0x1D50) with nested data, and quest summaries (0x1D51). Calls FUN_00e006e0/FUN_00e004f0/FUN_00e004d0 to populate quest structures. Terminates at type 0x1D4D. 0x00E470D0 756 CGameMode__deserialize_guild_data game_core Deserializes guild data from packet vector (type 0x157C). Parses int fields 0x1586-0x158A to offsets +0x593C-+0x594C, string 0x158B to +0x5950, int fields 0x158C-0x158E to +0x5968-+0x5970. If guild flag at +0x593C is 1, triggers guild UI update (0x89). Terminates at type 0x157D. 0x00E47410 5 ret_zero_00e47410 crt Returns zero constant, likely a stub or placeholder function 0x00E47420 2637 CGameMode__deserialize_misc_data game_core Deserializes miscellaneous game data from packet vector (type 5000). Parses ~60 TLV fields for skill data (0x13ED-0x140E at offsets +0x5578-+0x5624), guild war data (0x1451-0x146D at +0x5628-+0x56B4), base/job level (0x14B5-0x14BE at +0x1010-+0x1054), and map info (0x1519-0x151D at +0x5BC0-+0x5BD0). Terminates at type 0x1389. 0x00E48100 419 deserialize_packet_system_data game_core Deserializes packet system configuration data (type 0xDAC). Clears existing packet system tree, reads packet size table via 0xDAE, and bulk-loads packet definitions from binary blob via 0xDB6 (CPacketSystem__bulk_processor_0067b8f0). Terminates at type 0xDAD. 0x00E482B0 321 CGameMode__deserialize_hotkey_macro_data game_core Deserializes hotkey/macro configuration data (type 7000). Parses 0x1BBC (hotkey data, 252 bytes to +0x4B0) and 0x1BBD (macro data, 14 bytes to +0x6EB). Calls FUN_00e08330/FUN_00e08300 to reset before loading. Terminates at type 0x1B59. 0x00E48400 93 send_savedata_request_packet game_core Sends a savedata request packet to the server. Builds a 6-byte header with packet type 0x2D8, encodes param_1 as a byte flag, applies two rounds of encoding via FUN_00c7d7d0, and sends via CNetworkSession__send_data_timed. 0x00E48460 1111 CGameMode__save_shortcut_list_to_file game_core Saves the shortcut list to a Lua file. Builds a table string from the shortcut entries at this+0xFF8 (format: 'tbl = {...}'), creates the 'savedata/shortcutlist/' directory if needed, and writes the Lua file named by character ID. Generates the table format with formatted entries for each shortcut. 0x00E488C0 111 CGameMode__set_equip_sprite_mode game_core Sets the equipment sprite display mode at this+0xEEC. If param_3 < 2 and param_4 not in extended headgear range, classifies the item type (base vs costume) and sets 0 or 1. Otherwise stores param_3 directly. 0x00E48930 72 CGameMode__toggle_itemdrop_notification game_core Toggles item drop notification. If param_2 is 1, sets flag at this+0x7F7C and shows message 0xCD2 (enabled). Otherwise clears global DAT_0173A5B4 and shows message 0xCD3 (disabled). Chat message color is 0x64FFFF (green). 0x00E48980 63 toggle_show_hp_bar game_core Toggles the HP bar display option. Sets global DAT_01733C34 to (param_1 == 1). Shows message 0xA14 (enabled) or 0xA13 (disabled) in green chat color. 0x00E489C0 316 toggle_navigation_option game_core Toggles a navigation option. Shows message 0x1105 (enabled) or 0x111B (disabled) based on param_1. Calls GameSettings__set_option_enabled with option ID 0x128, then syncs the navigation window checkbox. 0x00E48B00 108 CGameMode__rebuild_storage_from_linked_list game_core Rebuilds the storage array at this+0x811C from linked list at this+0x1710. Clears existing storage, then iterates the linked list. For items with type==6, copies them into the storage vector (stride 0xF8). Grows the vector as needed. 0x00E48B70 34 notify_itemlist_window_update game_core Notifies the item list window to update. If DAT_01457860 (item list window pointer) is not null, calls its virtual method at vtable+0x94 with event type 0x6A and subtype 0x23F. 0x00E48BA0 93 send_savedata_sync_packet game_core Sends a savedata synchronization packet (type 0x2D8) with 3-byte payload. Encodes param_1 as a byte, applies two rounds of encoding, and sends via CNetworkSession. Similar to send_savedata_request_packet but with smaller payload. 0x00E48C00 649 CItemList__parse_items_from_buffer ui_windows Parses items from a binary buffer into a linked list of CItemNode entries (0x58 bytes each). Copies param_3 bytes from param_4 at offset param_2, then iterates parsing each item via FUN_00e494f0, constructing CItemNode and inserting into the doubly-linked list. Handles STL string cleanup for each parsed item. 0x00E48E90 508 CShopItemList__parse_items_from_buffer game_core Parses shop items from a binary buffer into a linked list of CShopItem entries (0x100 bytes each). Copies param_3 bytes from param_4 at offset param_2, iterates parsing each item via CItemDesc__parse_binary_packet, constructing CShopItem nodes and inserting into a doubly-linked list. Cleans up strings after each item. 0x00E49090 361 CShopItemDesc__parse_multi_items_from_buffer game_core Parses up to 10 shop item descriptions from a binary buffer. Copies param_3 bytes from param_4 at offset param_2, then loops parsing each item via CItemDesc__parse_binary_packet and copying results. Handles string cleanup between iterations. 0x00E49200 123 CGameMode__set_job_class_and_refresh_ui game_core Sets the job class ID at this+0x1628 and refreshes UI if the 4th-class status changed. If transitioning to/from a 4th class, toggles shop window size and sends UI event 0x144. Refreshes shop window and timer afterward. 0x00E49280 16 CGameMode__set_storage_capacity game_core Simple setter. Stores param_2 at this+0x8148 (storage capacity field). 0x00E49290 57 CGameMode__set_map_id_and_notify game_core Sets the current map ID at this+0x5BC0 and notifies the skill tree window (type 0x272E) with event 0x3C to refresh job-specific skill data. 0x00E492D0 163 CItemCollection__set_favorite_item game_items Sets a favorite item in a slot. If param_2 is 0, clears slot param_3. Otherwise searches existing favorites for param_2, clears it from old slot if found, then places param_2 in slot param_3. Slots are 7 bytes each starting at this+0x6AD. 0x00E49380 93 send_savedata_load_packet game_core Sends a savedata load request packet (type 0x2D8) with 2-byte payload. Similar to send_savedata_sync_packet but with smaller payload size. 0x00E493E0 269 CGameMode__toggle_periodic_event game_core Toggles a periodic UI event. If param_2 is 1 and no existing event, creates a new timed event with 1000ms initial delay and 3000ms repeat interval via CrashReport__collect_system_info, validates with CAntiCheat, and registers in event manager at this+0x7F90. If disabling, clears the event's active flag. 0x00E494F0 728 CItemDesc__parse_tagged_binary_data game_items Parses a tagged binary item description format starting with marker 0xFB. Tags 0xFD-0x104 copy data to specific offsets in the output structure: 0xFD=offset 0, 0xFE=offset 4, 0xFF=offset 8, 0x100=string field 1, 0x101=string field 2, 0x102=offset 0x3C, 0x103=offset 0x40, 0x104=offset 0x44. Tag 0xFC terminates parsing. Each tag has a 6-byte header (tag + size) followed by data. Returns total bytes consumed or -1 on error. 0x00E497F0 238 CGameMode__update_ammo_slot game_core Updates the ammo equipment slot. Stores param_2 at this+0x7EC8. If param_2 is 0, removes ammo ID 0x2B7 from the global equip list at DAT_014A6938. If non-zero, adds 0x2B7 if not present. Triggers entity UI update callback (event 0x2C) afterward. 0x00E498E0 66 cleanup_string_with_seh game_core Cleanup function that destroys an STL string within an SEH frame. Simple wrapper for STL_string_dtor. 0x00E49930 187 CChatMgr__process_chat_command game_core Processes a chat command string. Validates the string is non-null/non-empty and that the global handler (DAT_01457848) exists. Looks up the command ID in an rbtree at this+0x7F94. If found, dispatches the message via a virtual call and CUIWindowMgr__dispatch_chat_message with type 0x9A, then calls cleanup via FUN_00e49de0. 0x00E499F0 93 destroy_map_tree_range game_core Destroys a range of std::map trees. Iterates from param_1 to param_2 in 8-byte steps, calling std__map_int__destroy_tree on each. Used for cleanup of map/tree arrays. 0x00E49A50 3 identity_passthrough_00e49a50 crt Identity function that returns its parameter unchanged 0x00E49A60 517 std__Tree_val__Insert_node_00e49a60 stl STL red-black tree _Insert_node: inserts a new node at the given position, then performs red-black rebalancing with rotations to maintain tree invariants. 0x00E49C70 153 init_linked_list_array game_core Initializes an array of param_2 linked lists. Allocates a 0x18-byte sentinel node for each list (self-referencing head/tail/parent pointers with flag 0x101). Returns pointer past the last initialized entry. 0x00E49D10 120 copy_map_tree_range game_core Copy-constructs a range of std::map trees. Iterates from param_1 to param_2 in 8-byte steps, calling std__map__copy_ctor on each. 0x00E49D90 10 thunk_to_std__Xlength_error_00e49d90 stl Thunk that calls std::_Xlength_error with vector_too_long message 0x00E49DA0 62 std__allocator__deallocate_00e49da0 stl STL allocator deallocate: frees memory with size-class alignment check before calling operator delete. 0x00E49DE0 350 rbtree_erase_range_and_cleanup game_core Erases a range of nodes from a red-black tree, freeing each node (0x14 bytes). Finds lower and upper bounds for the given key, then iterates through matching nodes calling the packet operation handler and deleting each node. If erasing all nodes, clears the tree entirely. 0x00E49F40 357 CShop__build_favorite_list_from_slots game_items Builds a favorites shop item list from an array of slot indices. Clears the categorized storage list, then for each slot index in param_3 (param_2 entries), looks up the shop item by slot, creates a CShopItem copy (0x100 bytes), and inserts it into the doubly-linked favorites list at this+0x1750. 0x00E4A0B0 193 std__vector_map_tree_resize stl Resizes a vector of map trees (8 bytes each). If shrinking, destroys excess map tree entries. If growing within capacity, initializes new entries inline. If growing beyond capacity, delegates to std__vector_map_resize_and_copy for reallocation. 0x00E4A180 27 append_vector_data game_core Appends vector data from param_2 to the vector at param_1. Simple wrapper: calls STL_vector_insert_range with param_2's begin and end pointers. 0x00E4A1A0 265 CEntitySprite__ctor game_entity Constructor for CEntitySprite. Calls CSprite__ctor_base, sets vtable to CEntitySprite's vtable, zeroes out fields 0x4E-0x56 and copies initial position from base fields 4-6. Initializes various entity-specific fields including mounted flag and display state. 0x00E4A2B0 154 CEffectSprite__ctor_00e4a2b0 effect Constructor for CEffectSprite. Calls CSprite__ctor, sets vtable, initializes lifetime to 360 (0x168) ticks, effect ID to -1, and zeroes various effect-specific fields. 0x00E4A350 243 CGameEntity__ctor game_core Constructor for CGameEntity. Calls CEntity__ctor, sets CGameMode vtable, initializes vectors for sub-objects at offsets 0x10C-0x10E. Sets mounted job to 0x7E, walk speed to 36000, and initializes various game state flags. Re-sets vtable to CEntity variant at the end. 0x00E4A450 124 CEffectSprite__ctor_00e4a450 effect Constructor for CEffectSprite. Calls CSprite__ctor, sets vtable to effect sprite vtable, initializes fields: +0x164=0, +0x168=1, +0x16C=0, +0x174=-1. 0x00E4A4D0 118 CMapSprite__ctor game_core Constructor for CMapSprite. Calls CSprite__ctor_base, sets vtable to CMapSprite vtable, loads texture and act resources from global paths, initializes +0x138=0. 0x00E4A550 382 CItem3DSprite__ctor game_entity Constructor for CItem3DSprite (3D item display sprite). Calls CSprite__ctor, sets vtable, initializes 3D rendering fields: scale to 1.0f (0x3F800000) for x/y/z axes, rotation to 0, render mode to 1, visibility flag to 1. Zeroes position, animation, and bounding box fields. 0x00E4A6D0 231 CGameEntity__ctor_with_param game_core Constructor for CGameEntity with an initial parameter stored at field 0x106. Otherwise identical to CGameEntity__ctor - calls CEntity__ctor, sets CGameMode vtable, initializes walk speed to 36000, etc. 0x00E4A7C0 129 free_aligned_vector stl Frees an aligned heap vector. If the vector pointer is non-null, computes allocation size from (capacity - begin), handles large allocation (>0xFFF) by finding the original allocation pointer at begin-4, then frees. Resets all 3 vector pointers to 0. 0x00E4A850 71 CEntitySprite__dtor game_entity Destructor for CEntitySprite. Sets vtable to PTR_FUN_011ad3c4, then calls CSprite__dtor_base. 0x00E4A8A0 71 CEffectSprite__dtor_00e4a8a0 effect Destructor for CEffectSprite. Sets vtable to PTR_FUN_011ad180, then calls CSprite__dtor. 0x00E4A8F0 100 CEntity__dtor_00e4a8f0 game_entity Destructor for CEntity. Sets vtable to PTR_FUN_011ad2bc. If attached sprite at this+0x44C is non-null, calls its virtual destructor. Then calls FUN_00e4aa30 (CGameMode dtor). 0x00E4A960 71 CMapSprite__dtor game_core Destructor for CMapSprite. Sets vtable to PTR_FUN_011ad400, then calls CSprite__dtor_base. 0x00E4A9B0 128 CItem3DSprite__dtor game_entity Destructor for CItem3DSprite. Sets vtable to PTR_FUN_011ad43c. If parent object at this+0x15C is non-null, sends event (0x30) via its virtual method. Then calls CSprite__dtor. 0x00E4AA30 221 CGameEntity__dtor game_core Destructor for CGameEntity. Unregisters UI window (field 0x99), destroys attached 3D object, dispatches effect update (0x18) for each effect in the vector at 0x10C, frees the effect vector, then calls CEntity__dtor. 0x00E4AB10 99 CEntitySprite__scalar_deleting_dtor game_entity Scalar deleting destructor for CEntitySprite. Sets vtable, calls CSprite__dtor_base, frees 0x170 bytes if bit 0 of param_2 set. 0x00E4AB80 99 CEffectSprite__scalar_deleting_dtor_00e4ab80 effect Scalar deleting destructor for CEffectSprite. Sets vtable to PTR_FUN_011ad180, calls CSprite__dtor, frees 0x178 bytes if bit 0 set. 0x00E4ABF0 124 CEntity__scalar_deleting_dtor_00e4abf0 game_entity Scalar deleting destructor for CEntity. Sets vtable to PTR_FUN_011ad2bc, destroys attached sprite, calls CGameMode dtor, frees 0x560 bytes if bit 0 set. 0x00E4AC70 93 CSprite__scalar_deleting_dtor_00e4ac70 game_sprites Scalar deleting destructor for CSprite base. Calls CSprite__dtor, frees 0x178 bytes if bit 0 of param_2 set. 0x00E4ACD0 99 CMapSprite__scalar_deleting_dtor game_core Scalar deleting destructor for CMapSprite. Sets vtable to PTR_FUN_011ad400, calls CSprite__dtor_base, frees 0x140 bytes if bit 0 set. 0x00E4AD40 152 CItem3DSprite__scalar_deleting_dtor game_entity Scalar deleting destructor for CItem3DSprite. Sets vtable to PTR_FUN_011ad43c, notifies parent object, calls CSprite__dtor, frees 0x1B8 bytes if bit 0 set. 0x00E4ADE0 38 CGameMode__scalar_deleting_dtor game_core Scalar deleting destructor for CGameMode. Calls the destructor (FUN_00e4aa30), then frees memory (0x440 bytes) if bit 0 of param_2 is set. 0x00E4AE10 351 CEffect__get_effect_type_by_id effect Maps effect IDs to effect type codes via a large switch statement. Returns type values: 3 (e.g. IDs 0x17D, 0xB, 0x19...), 5 (e.g. 0x11, 0x15, 0x302...), 7 (e.g. 0x4F, 0x2DD, 0x992...), 9 (e.g. 0x2DB, 0x53, 0x301...), 0xB (0x55), 0x12 (0x8A5, 0x2C4), 0x13 (0x149E), -2 (0x2E0, 0x98F, 0x991). Falls back to CEffect__get_handler_value_c for unknown IDs. 0x00E4B400 210 get_trap_effect_model_path game_core Returns the RSM2 model path for a trap/skill effect based on the player's effective job ID. Maps various hunter trap IDs (0x8F-0x99, 0xCB, 0xD2-0xD9, 0xE5-0xE6) and 4th class trap IDs (0x5174-0x5177) to their respective model files. Returns null if no mapping found. 0x00E4B580 167 CEntity__destroy_attached_3d_object game_entity Destroys an entity's attached 3D object. Removes from quadtree, calls virtual destructor on the 3D object at this+0x41C, notifies parent at +0x420 with event 0x18, and cleans up associated effect/aura at +0x424/+0x428. Clears all attachment pointers. 0x00E4B630 36 is_guild_skill_type game_core Checks if a value is a guild skill type. Returns 1 for values 3, 0x12, 0x1B, 0x1F. Returns 0 for all others. 0x00E4B690 543 CEffectManager__spawn_ground_effects_grid effect Spawns ground-level visual effects in a grid pattern around the entity. If the effect ID exists in EffectMap, creates it via CEffectManager. Then creates a grid of effects based on a radius (field 0x42C), using random offsets and terrain height interpolation. Each grid cell spawns an effect at ground level with randomized height offset. Handles special cases for effect IDs 0x3BF and 0x3CF with additional height offset. 0x00E4B8B0 82 normalize_2d_vector game_core Normalizes a 2D vector in-place. Computes magnitude = sqrt(x*x + y*y), then divides both x and y by the magnitude. Returns the normalized vector pointer. 0x00E4B990 139 CEntity__cleanup_effects_and_3d game_entity Cleans up entity resources: unregisters UI window at offset 0x264, destroys attached 3D object, then iterates the effect vector at 0x430/0x434 dispatching effect updates (type 0x18) and clearing the vector. 0x00E4BAD0 492 CEffectText__render_alphabet_texture effect Renders text using a bitmap alphabet sprite (effect_alpabet_bmp). Creates a 0x180x0x180 surface, then processes each character: maps a-z to 0-25, A-Z to 26-51, 0-9 to 52-61, '?' to 53, '!' to 54. Handles word wrapping at 0x160 pixels. Each character is rendered from a sprite sheet (8 columns, variable rows, 32x32 tiles) using a virtual blit call. Records final camera position. 0x00E4BDE0 120 CEntity__init_homunculus_state game_entity Initializes homunculus entity state. Sets entity type at +0x418, calls CEntity__set_mounted_job_and_update_sprite(0x7E), sets action timeout to 36000, clears various state flags and pointers (+0xA5, +0xA1, +0x264, +0x41C-+0x42C), copies timer value from +0x430 to +0x434. 0x00E4BE60 855 CEffectProjectile__update_movement effect Updates projectile effect movement per frame. Calculates elapsed time via timeGetTime, initializes velocity toward target on first frame (getting target position from entity or stored coords), applies speed scaling if distance is short. Updates position by interpolating base position + velocity * time. Advances animation frames after 8 ticks. Returns 0 when projectile reaches destination (time exceeds travel distance/speed), 1 while in flight. 0x00E4C1C0 66 CEntity__is_within_animation_time game_entity Checks if an entity is within its animation time frame. Computes elapsed time since this+0x8C, converts to float seconds using a global divisor, and compares against the animation duration at this+0x158. Returns true if within time. 0x00E4C210 164 CEffectProximity__check_and_trigger effect Checks distance to camera/player and triggers a skill effect when close enough. Calculates 2D distance to current view target; if within threshold (DAT_01199258) and frame counter exceeds delay, creates the skill effect and resets counter. Always returns 1 (effect continues). 0x00E4C2F0 20 CEntity__is_animation_active game_entity Checks if an entity's animation is still active by comparing current time (timeGetTime) against the animation end time at this+0x164. Returns true if current time is within the animation window. 0x00E4C310 198 CEffectAnimation__update_frame_timer effect Updates animation frame based on elapsed time. Calculates time since creation, waits until start delay (field 0x138) elapses, then computes current frame from (elapsed - delay) / frame_duration. If animation completes all frames, marks as done (field 0x9D = 1) and holds last frame. Returns 0 (expired) when complete and not looping, 1 while still animating. 0x00E4C3E0 4666 CEffect__update_by_type effect Main effect update dispatcher. Handles ~30+ effect types (0x00-0x72) via a massive switch. For basic effects (0,1,2,0x11): animates frames and checks completion. For physics effects (0xD-0x10,0x15,0x16): applies gravity/arc trajectory with directional offsets based on facing angle, camera rotation, and elapsed time. For orbital effects (0x12): rotates around target entity. For looping effects (4-10,0x1A,0x25-0x26): simple frame cycling. For ground effects (0x1B,0x1F): follows target with walking animation. Returns 0 when effect expires, 1 while active. 0x00E4F2D0 76 CEffect__update_by_type_with_transparency effect Updates effect by type (via CEffect__update_by_type), then applies transparency based on game option 0x10A. If transparency enabled, sets alpha to 0x32; otherwise 0xFF. Applies RGBA color from entity fields at +0x98-0x9A via CEntity__set_color_rgba_direct. Returns the update_by_type result (0=expired, 1=active). 0x00E4F370 2413 CEffect__update_position_by_type effect Updates effect position based on effect type (field 0x6A). Types 1,2,8,9,10,0x25,0x26: snap to owner with height offset. Type 3: follow owner with walking animation and distance tracking. Type 5: snap exactly to owner. Type 7: snap to owner with direction-based mirroring. Types 0xD-0x11,0x15,0x16,0x18,0x19: snap x/z to owner, store base position. Type 0x12: orbit/rotate around target. Types 0x1B,0x1F: walk toward target with multiple animation states. Type 0x72: snap x/z only. 0x00E4FD70 646 CEffectText__render_ground_grid effect Renders the text effect as a grid of 18x18 textured quads on the ground. Computes sin/cos of the stored angle (field 0x55C) for rotation, then iterates through grid cells computing UV coordinates for each quad. Delegates to CWalkGrid__render_textured_quad for actual rendering at the effect's map position (fields 0x444, 0x448). 0x00E50000 828 CEffectGround__render_rotating_grid effect Renders a rotating ground effect as a grid of textured quads. Grid size is determined by field 0x168. Selects texture by skill ID (field 0x174): poison smoke, comet cast, competentia, or default magic_target. Each quad gets rotated UV coordinates based on angle (field 0x16C) which increments each frame. Competentia effect has alpha modulation. 0x00E50340 50 CEntity__conditional_render_sprite game_entity Conditionally renders an entity's sprite. For certain entity types (0xD-0x10, 0x15, 0x16, 0x72 at this+0x1A8), only renders if global flag cRam0135f718 is set. Also checks visibility flag at this+0x158 before calling CEntity__render_sprite_if_visible. 0x00E503F0 272 CEffect__update_screen_position_scaled effect Updates effect screen position with scaling. If field 0xA1 is set, projects world position to 2D screen coordinates, computes scale factor, and calculates bounding box. Calls virtual function at vtable+0x14 with the computed bounds. Otherwise falls back to CEntity__update_screen_position. 0x00E50500 1040 CEffectProjectile__init_by_skill_id effect Initializes a projectile effect by skill ID. For type 0xE (action 0): selects sprite/act resources from a large lookup table mapping skill IDs (0x582-0x56A0+) to specific effect files (arrows, bolts, magic projectiles). For type 0x40: loads default projectile resources and sets target coordinates from param_7. Stores start position, target position, and start time. 0x00E50A60 210 CEffectStatic__init_at_position effect Initializes a static effect at a given position. For type 0xE (action 0): sets position from param_5, records start time, creates the effect via CEffectManager or falls back to CEntity__create_skill_effect. For other types, delegates to CEntity__dispatch_action_by_type. 0x00E50BB0 343 CEffectGround__init_from_data effect Initializes a ground effect from parameter data. For type 0xE (action 0): reads effect subtype from param_5+0x5C, computes random scale and offset. For subtype 0x2D uses bounded random positioning. Stores position, grid dimensions, and rotation parameters from the source data structure. For other types, delegates to CEntity__dispatch_action_by_type. 0x00E50D10 145 CEntity__handle_special_action game_entity Handles special entity actions. For action 0x16 (talk/speech), stores text pointer at this+0x418. For action 0x75 (name display), copies name string to this+0x454, sets fields +0x444 and +0x448, calls virtual method at vtable+0xFC. All other actions are passed through to CEntity__process_action_table_entry. 0x00E50DB0 117 CEntity__dispatch_action_by_index game_entity Dispatches entity actions by index via a jump table. For action indices 0xE-0x75 (when param_3 is 0), uses a byte lookup table at DAT_00e50eb6 to jump to specialized handlers. All other cases fall through to CEntity__dispatch_action_by_type. 0x00E50F30 610 CEffectTarget__init_by_skill_id effect Initializes a target-locked effect by skill ID. For type 0xE (action 0): maps skill IDs (0x42C, 0x6A8, 0x75C, 0x7A5-0x7C4, 0xE94, 0xECF, etc.) to sprite/act resources. Gets position from target entity, records start time, sets animation speed. For skill 0x42C, overrides animation speed to 2.0. Optional param_7 stores additional effect data. 0x00E512B0 199 CEffect__dispatch_action_by_subtype effect Dispatches effect actions for subtypes 0xE-0x40 (action 0 only). Uses a jump table for param_2 values in range [0xE, 0x40]. For out-of-range subtypes, falls back to CEntity__dispatch_action_by_type. 0x00E51B4F 1 CRT_stub_00e51b4f crt Crt stub 00e51b4f, small utility function 0x00E55100 542 CEntity__register_clickable_bounds game_entity Registers entity bounds in the quadtree for click detection. Allocates a 0x28-byte bounds structure, computes min/max from screen bounds param_2, stores entity ID and job ID, ensures minimum clickable size based on near clip distance. Inserts into quadtree via CQuadTreeNode__insert_object. Only processes if field 0xA5 (clickable flag) is set. Calls virtual function at vtable+0x18 afterwards. 0x00E55320 489 CEntity__attach_3d_model game_entity Attaches a 3D RSM model to the entity. Loads the model resource, creates either CRsmNodeEx (for type 1 RSM) or CRsmAnimNode (for type 2 RSM), clones child parts, sets initial position from entity position, configures rendering properties (scale, color), and inserts into the quadtree. Destroys any previously attached 3D object first. 0x00E55510 129 rbtree_node_move_construct game_core Move-constructs a red-black tree node. Copies 1 byte flag from param_2, copies 16 bytes of data and an 8-byte string from param_3 (using move semantics, resets source string to empty). Returns param_1. 0x00E555A0 477 CTimerMgr__ctor game_core Constructor for CTimerMgr (timer/scheduler manager). Initializes base class, critical section, creates circular linked lists for timer entries (0xC nodes), event entries (0x28 nodes), and command entries (0x20 nodes). Sets multiple vtable pointers during construction. Initializes various subsystem stubs. 0x00E55780 111 rbtree_destroy_all_nodes game_core Destroys all nodes in a red-black tree. Iterates from the first real node (checking is_nil flag at +0xD), calls stub_005edaf0 to clean up node data, frees each 0x20-byte node, then frees the sentinel node. 0x00E55800 103 linked_list_destroy_all_nodes_00e55800 stl Destroys all nodes in a singly-linked list. Sets the tail's count to 0, then iterates freeing each 0xC-byte node. Finally frees the sentinel node. 0x00E55870 65 rbtree_dtor_wrapper game_core Red-black tree destructor wrapper. Calls rbtree_destroy_all_nodes within an SEH frame. 0x00E558C0 126 CTimerMgr__dtor_00e558c0 game_core Destructor for CTimerMgr. Sets vtable, deletes critical section at this+0x3C, cleans up internal resources via stub_nop/STL_lib_func, and clears a 0x120-byte vector. 0x00E55940 377 CTimerMgr__dtor_00e55940 game_core Destructor for CTimerMgr. Destroys subsystem stubs, rbtree, vectors, linked lists (timer, event, command entries), deletes critical section, and frees all allocated memory in reverse construction order. 0x00E55AD0 40 lazy_decrypt_string_00e55ad0 security Lazy XOR string decryptor. If flag at param_1+5 is set, calls xor_decrypt_buffer with key 0x9D235DDF and reference data at DAT_01E7898D, then clears the flag. Returns param_1. One-shot decryption, subsequent calls are no-ops. 0x00E55B00 40 lazy_decrypt_string_00e55b00 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions: checks flag, decrypts on first call, clears flag. One-shot decryption. 0x00E55B30 40 lazy_decrypt_string_00e55b30 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55B60 40 lazy_decrypt_string_00e55b60 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55B90 40 lazy_decrypt_string_00e55b90 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55BC0 40 lazy_decrypt_string_00e55bc0 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55BF0 40 lazy_decrypt_string_00e55bf0 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55C20 40 lazy_decrypt_string_00e55c20 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55C50 40 lazy_decrypt_string_00e55c50 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55C80 40 lazy_decrypt_string_00e55c80 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55CB0 40 lazy_decrypt_string_00e55cb0 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55CE0 40 lazy_decrypt_string_00e55ce0 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55D10 40 lazy_decrypt_string_00e55d10 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55D40 40 lazy_decrypt_string_00e55d40 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55D70 40 lazy_decrypt_string_00e55d70 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55DA0 40 lazy_decrypt_string_00e55da0 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55DD0 40 lazy_decrypt_string_00e55dd0 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55E00 40 lazy_decrypt_string_00e55e00 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55E30 40 lazy_decrypt_string_00e55e30 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55E60 40 lazy_decrypt_string_00e55e60 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55E90 40 lazy_decrypt_string_00e55e90 security Lazy XOR string decryptor. Same pattern as all lazy_decrypt_string functions. 0x00E55EC0 206 tls_init_encrypted_data_00e55ec0 security TLS-based lazy initializer. Copies encrypted constant data into TLS slot, sets initialized flag, registers atexit cleanup. Returns pointer to TLS data. Same pattern as all tls_init_encrypted_data functions. 0x00E55F90 204 tls_init_encrypted_data_00e55f90 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E56060 204 tls_init_encrypted_data_00e56060 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E56130 204 tls_init_encrypted_data_00e56130 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E56200 204 tls_init_encrypted_data_00e56200 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E562D0 220 tls_init_encrypted_data_00e562d0 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E563B0 206 tls_init_encrypted_data_00e563b0 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E56480 220 tls_init_encrypted_data_00e56480 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E56560 220 tls_init_encrypted_data_00e56560 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E56640 220 tls_init_encrypted_data_00e56640 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E56720 190 tls_init_encrypted_data_00e56720 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E567E0 220 tls_init_encrypted_data_00e567e0 security TLS-based lazy initializer. Same pattern as all tls_init_encrypted_data functions. 0x00E568C0 204 tls_init_encrypted_data_10a18 security Thread-safe lazy initialization of TLS encrypted data at offset 0x10a18. Copies 0x13 encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E56990 206 tls_init_encrypted_data_10948 security Thread-safe lazy initialization of TLS encrypted data at offset 0x10948. Copies 0x0E encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E56A60 204 tls_init_encrypted_data_10a30 security Thread-safe lazy initialization of TLS encrypted data at offset 0x10a30. Copies 0x13 encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E56B30 204 tls_init_encrypted_data_10a48 security Thread-safe lazy initialization of TLS encrypted data at offset 0x10a48. Copies 0x0B encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E56C00 204 tls_init_encrypted_data_1095c security Thread-safe lazy initialization of TLS encrypted data at offset 0x1095c. Copies 0x0B encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E56CD0 204 tls_init_encrypted_data_10a58 security Thread-safe lazy initialization of TLS encrypted data at offset 0x10a58. Copies 0x0B encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E56DA0 204 tls_init_encrypted_data_1096c security Thread-safe lazy initialization of TLS encrypted data at offset 0x1096c. Copies 0x0B encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E56E70 204 tls_init_encrypted_data_10a68 security Thread-safe lazy initialization of TLS encrypted data at offset 0x10a68. Copies 0x0D encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E56F40 204 tls_init_encrypted_data_1097c security Thread-safe lazy initialization of TLS encrypted data at offset 0x1097c. Copies 0x0D encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E57010 220 tls_init_encrypted_data_10990 security Thread-safe lazy initialization of TLS encrypted data at offset 0x10990. Copies 0x0F encoded bytes into TLS slot, sets init flag, registers destructor. Returns pointer to TLS data. 0x00E570F0 220 tls_init_encrypted_data_109a4 security Thread-safe lazy initialization of TLS encrypted data at offset 0x109a4. Copies 0x0F encoded bytes, registers destructor. Returns pointer to TLS data. 0x00E571D0 150 CTimerMgr__scalar_deleting_dtor_00e571d0 game_core CTimerMgr scalar deleting destructor. Deletes critical section, calls base destructors, clears vector, optionally frees memory (0x148 bytes). 0x00E57270 38 `scalar_deleting_destructor' other Scalar deleting destructor: calls the virtual destructor and optionally frees the object memory. 0x00E572A0 36 `scalar_deleting_destructor' other Scalar deleting destructor: calls the virtual destructor and optionally frees the object memory. 0x00E572D0 162 update_window_drag game_core Updates window position during drag operation. Checks if dragging flag is set, gets cursor position, moves window by delta. Releases drag on left mouse button up, optionally clips cursor if game option 0x10F is set. 0x00E57380 273 process_message_loop_and_window_drag game_core Main message pump with window drag support. Peeks/dispatches all Windows messages, handles IME virtual key translation (WM_KEYDOWN 0xE5). Also updates window drag position and checks mouse release. 0x00E574A0 1498 destroy_all_game_singletons game_core Master shutdown function that destroys all game singletons in order. Recreates-then-destroys GameSettings, CItemDB, CPaidItemMgr, CUIWindowPositionMgr, CEffectCallbackContainer, CLuaState, and many more. Waits up to 3 seconds for pending operations, then destroys network, quest, roulette, hash, effect, and other subsystems. 0x00E57A80 208 init_skin_directory game_core Initializes skin directory. Gets current directory, formats path with "_skin/default" suffix, calls recursive_delete_directory to clean old skin files, then performs additional initialization. 0x00E57B50 628 recursive_delete_directory_00e57b50 game_core Recursively deletes a directory and all its contents. Handles read-only files by clearing attributes. Checks for ".bmp" extension to handle specially. Skips "." and ".." entries. Removes parent directory after contents are deleted. 0x00E57DD0 136 clip_cursor_to_client_rect game_core Clips the cursor to the client area of the main game window. Gets client rect, converts to screen coordinates, then calls ClipCursor to confine the mouse. 0x00E57E60 344 launch_child_process game_core Launches a child process using CreateProcessA. Formats command line with optional server connection parameters (IP, port, etc.) depending on game mode flags. Returns process handle. 0x00E57FC0 291 process_messages_drag_and_destroy_window game_core Processes Windows messages, updates window drag, then calls CoUninitialize and DestroyWindow on the main game window. Used during shutdown sequence. 0x00E58100 1678 create_main_game_window game_core Creates the main game window. Registers WNDCLASS with custom WndProc, calculates window position (centered on screen), adjusts for taskbar, handles fullscreen mode (WS_POPUP). Uses encrypted strings for FindWindow check and error messages. Shows and updates window on success. 0x00E58790 135 is_windows_9x_platform game_core Checks if running on Windows 9x (Win95/98/ME) by calling GetVersionExA and checking dwPlatformId == 1 (VER_PLATFORM_WIN32_WINDOWS). 0x00E58820 553 check_and_launch_updater_process game_core Checks command line for encrypted updater keyword. If found, extracts the rest of the command line after the keyword and launches it as a new process via CreateProcessA. Returns 1 if updater was launched, 0 otherwise. 0x00E58A60 1484 perform_file_update_and_rename game_core Self-update file management. Checks for encrypted file paths (likely update files), deletes old backup via SHFileOperation, renames current files to backup names, renames new files to active names. Uses multiple TLS encrypted strings for file paths. 0x00E59030 2441 read_game_settings_from_registry game_core Reads game settings from Windows registry (HKEY_LOCAL_MACHINE). Queries multiple encrypted value names for display settings, sound options, IP addresses, and other configuration. Uses xor_decrypt_buffer for all registry key/value names. 0x00E599C0 9 thunk_to_ClipCursor_00e599c0 game_core Wrapper that calls ClipCursor with NULL to release cursor clipping 0x00E599D0 1136 scan_processes_for_blocked_tools game_core Anti-cheat: Scans running processes using CreateToolhelp32Snapshot. Loads encrypted DLL, gets snapshot API addresses, iterates processes comparing uppercased EXE names against a list of blocked tool names (decrypted from TLS). Returns 1 if a blocked tool is found. 0x00E59E40 18 free_library_cleanup_handler stl SEH cleanup handler that frees a loaded library module if non-null. Used as exception handler in scan_processes_for_blocked_tools. 0x00E59E60 787 scan_running_processes_for_blocked_modules game_core Anti-cheat: Scans running processes using PSAPI (EnumProcesses/GetModuleFileNameEx). Loads encrypted DLL name, enumerates all PIDs, opens each process, gets module filename, uppercases it, compares against blocked module names. Returns 1 if blocked module found. 0x00E5A179 12 free_library_cleanup_handler_ebx stl SEH cleanup handler that frees library stored in EBX register. Used as exception handler in scan_running_processes_for_blocked_modules. 0x00E5A190 96 set_window_active_state game_core Sets window active/inactive state. When active (param!=0): sets process priority from global, optionally clips cursor. When inactive (param==0): sets NORMAL_PRIORITY_CLASS, releases cursor clip, calls CMapInfoMgr warp entry iteration. 0x00E5A1F0 308 init_directx_renderer game_core Initializes DirectX renderer. Calls text render singleton init, then stub_0056a6a0 with display mode and window handle. Shows encrypted error message if initialization fails. Returns 1 on success, 0 on failure. 0x00E5A330 7626 game_init_all_subsystems game_core Master game subsystem initialization. Called by WinMain_game_entry. Creates all singletons (EffectManager, ItemDB, SpriteMap, PacketQueue, QuestSystem, TownInfoMgr, NavDataMgr, etc.), loads Lua configs (item_sold, towninfo, mapsky, champion_monster, sprite groups, rune system), initializes packet handlers, window position manager, and anti-cheat. 7.6K bytes. 0x00E5C100 802 prompt_and_apply_self_update game_core Prompts user to apply a self-update. Performs file update/rename first, checks if update file exists. Formats message with encrypted format string (version-dependent), shows MessageBox asking user to confirm. If confirmed: chmods old file writable, unlinks it, renames update to original, launches child process. 0x00E5C430 1055 main_window_proc game_core Main window procedure (WndProc) for the game. Handles: WM_KEYDOWN/WM_KEYUP (keyboard input, chat, shortcuts), WM_CHAR (character input to CInputMgr), WM_SYSCOMMAND (move/minimize/maximize/restore), mouse messages, WM_ACTIVATE/WM_SETFOCUS, WM_CLOSE (save hotkeys, open URL for region 0xB), WM_SETCURSOR, WM_GETMINMAXINFO. Also handles IME virtual key translation and window drag. 0x00E5CE60 111 get_or_create_sprite_map_singleton game_core Gets or creates the SpriteMap singleton. Allocates 0xC bytes and calls SpriteMap constructor if not yet created. Stores in global DAT_013898f8. 0x00E5CED0 220 get_or_create_packet_queue_singleton game_core Gets or creates the CPacketQueue singleton. Allocates 0x14 bytes, sets vtable, creates two red-black tree nodes (0x1C bytes each). Stores in global DAT_0138cf30. 0x00E5CFB0 111 get_or_create_lua_state_singleton game_core Gets or creates the CLuaState singleton. Allocates 8 bytes and calls CLuaState constructor if not yet created. Stores in global DAT_017203dc. 0x00E5D020 111 get_or_create_item_db_singleton game_core Gets or creates the CItemDB singleton. Allocates 0xC bytes and calls CItemDB constructor if not yet created. Stores in global DAT_0138d288. 0x00E5D090 111 get_or_create_paid_item_mgr_singleton game_core Gets or creates the CPaidItemMgr singleton. Allocates 0xC bytes and calls CPaidItemMgr constructor if not yet created. Stores in global DAT_0138d28c. 0x00E5D110 628 add_patch_filename_to_list game_core Adds a patch filename to the global patch list (vector at DAT_0173a6e0). Lowercases the filename, checks for duplicates by comparing against existing entries. If not found, appends as a new STL string entry. Used during GRF patch loading. 0x00E5D390 11449 WinMain_game_entry game_core Main game entry point (WinMain). Called from CRT startup (scrt_common_main_seh). Creates mutex, initializes winsock, creates main window, loads lua configs/fonts, runs message loop (PeekMessageA/TranslateMessage/DispatchMessageA), handles anti-cheat, destroys all windows and cleans up on exit. 11K bytes. 0x00E60824 6 D3DXMatrixPerspectiveFovLH game_core Import thunk: indirect jump to D3DXMatrixPerspectiveFovLH. 0x00E6082A 6 D3DXSaveSurfaceToFileA game_core Import thunk: indirect jump to D3DXSaveSurfaceToFileA. 0x00E60830 6 D3DXLoadSurfaceFromSurface game_core Import thunk: indirect jump to D3DXLoadSurfaceFromSurface. 0x00E60836 6 D3DXLoadSurfaceFromMemory game_core Import thunk: indirect jump to D3DXLoadSurfaceFromMemory. 0x00E6083C 6 D3DXFilterTexture game_core Import thunk: indirect jump to D3DXFilterTexture. 0x00E60956 6 K32GetProcessMemoryInfo game_core Import thunk: indirect jump to K32GetProcessMemoryInfo. 0x00E60D04 6 ImmGetContext game_core Import thunk: indirect jump to ImmGetContext. 0x00E60D0A 6 ImmReleaseContext game_core Import thunk: indirect jump to ImmReleaseContext. 0x00E60D10 6 ImmGetConversionStatus game_core Import thunk: indirect jump to ImmGetConversionStatus. 0x00E60D16 6 ImmSetConversionStatus game_core Import thunk: indirect jump to ImmSetConversionStatus. 0x00E60D1C 6 ImmGetCompositionStringA game_core Import thunk: indirect jump to ImmGetCompositionStringA. 0x00E60D22 6 ImmGetCompositionStringW game_core Import thunk: indirect jump to ImmGetCompositionStringW. 0x00E60D28 6 ImmGetCandidateListW game_core Import thunk: indirect jump to ImmGetCandidateListW. 0x00E60D2E 6 ImmNotifyIME game_core Import thunk: indirect jump to ImmNotifyIME. 0x00E60D34 6 ImmGetVirtualKey game_core Import thunk: indirect jump to ImmGetVirtualKey. 0x00E60DA0 6 _Xbad_alloc game_core Import thunk: indirect jump to _Xbad_alloc (throws bad_alloc exception). 0x00E60DA6 6 _Mbrtowc game_core Import thunk: indirect jump to _Mbrtowc (multibyte to wide char conversion). 0x00E60DCA 6 _Xlength_error game_core Import thunk: indirect jump to _Xlength_error (throws length_error exception). 0x00E60DD0 6 _Xout_of_range game_core Import thunk: indirect jump to _Xout_of_range (throws out_of_range exception). 0x00E60DE4 36 ___std_get_string_size_without_trailing_whitespace@8 game_core STL template instantiation: std get string size without trailing whitespace@8 0x00E60E08 41 ___std_system_error_allocate_message@8 game_core CRT helper: allocates and formats a system error message string for std::system_error. 0x00E60E31 6 LocalFree game_core Import thunk: indirect jump to LocalFree. 0x00E60E37 6 _Syserror_map game_core Import thunk: indirect jump to _Syserror_map. 0x00E60E3D 6 _Winerror_map game_core Import thunk: indirect jump to _Winerror_map. 0x00E60E57 49 ~_Fac_node game_core Destructor for locale facet node: cleans up the facet and deletes the node. 0x00E60E88 39 std__destroy_facet_node_chain stl STL locale cleanup: destroys the facet node linked list. Walks DAT_0173ae1c chain, destroying each _Fac_node and freeing 8 bytes. 0x00E60EAF 34 `scalar_deleting_destructor' other Scalar deleting destructor: calls the virtual destructor and optionally frees the object memory. 0x00E60ED1 44 _Facet_Register game_core CRT locale _Facet_Register: registers a locale facet node in the global facet registry. 0x00E60EFD 6 _Strcoll game_core Import thunk: indirect jump to _Strcoll. 0x00E60F03 6 _Strxfrm game_core Import thunk: indirect jump to _Strxfrm. 0x00E60F2D 6 _Init game_core Import thunk: indirect jump to _Init (locale initialization). 0x00E60F33 6 _Getgloballocale game_core Import thunk: indirect jump to _Getgloballocale. 0x00E60FC3 6 _Fiopen game_core Import thunk: indirect jump to _Fiopen (file open helper). 0x00E60FC9 6 _Xregex_error game_core Import thunk: indirect jump to _Xregex_error. 0x00E60FCF 6 _Xbad_function_call game_core Import thunk: indirect jump to _Xbad_function_call. 0x00E60FDB 6 _Incref game_core Import thunk: indirect jump to _Incref. 0x00E6103E 33 reverse_copy_words game_core Reverse copy words, small utility function 0x00E6105F 31 reverse_copy_dwords game_core Reverse copy dwords, small utility function 0x00E6107E 39 reverse_copy_qwords game_core Reverse copy qwords, small utility function 0x00E610A5 33 _Reverse_tail game_core STL _Reverse_tail for unsigned char pointers: reverses remaining bytes after SIMD-width processing. 0x00E610C6 41 _Reverse_tail game_core STL _Reverse_tail for unsigned short pointers: reverses remaining 2-byte elements after SIMD-width processing. 0x00E610EF 37 _Reverse_tail game_core STL _Reverse_tail for unsigned long pointers: reverses remaining 4-byte elements after SIMD-width processing. 0x00E61114 55 reverse_pairs_in_place game_core Reverses an array of 8-byte pairs in-place by swapping from both ends toward the center. 0x00E6114B 13 advance_iterator_by_offset game_core Advances an iterator/pointer by adding param_2 to *param_1. STL iterator advance helper. 0x00E61158 13 advance_iterator_by_offset_00e61158 game_core Advances an iterator/pointer by adding param_2 to *param_1. STL iterator advance helper (duplicate). 0x00E61165 11 iterator_distance game_core Returns the distance between two iterators: param_2 - param_1. 0x00E61170 132 simd_reverse_copy_bytes game_core SIMD-optimized reverse copy of byte array. Uses AVX2 vpermq+vpshufb for 32-byte chunks, SSE pshufb for 16-byte chunks, then byte-by-byte for remainder. Reverses element order within each SIMD lane. 0x00E611F4 138 simd_reverse_copy_words game_core SIMD-optimized reverse copy of 2-byte (word) array. Uses AVX2 for 32-byte chunks, SSE for 16-byte chunks, then word-by-word for remainder. Reverses word element order. 0x00E6127E 128 simd_reverse_copy_dwords game_core SIMD-optimized reverse copy of 4-byte (dword) array. AVX2 for 32-byte chunks with vpermq+vpshufd, SSE4 manual shuffle for 16-byte chunks, dword-by-dword for remainder. 0x00E612FE 129 simd_reverse_copy_qwords game_core SIMD-optimized reverse copy of 8-byte (qword) array. AVX2 vpermq for 32-byte chunks, SSE shuffle for 16-byte chunks, qword-by-qword for remainder. 0x00E6137F 173 simd_reverse_bytes_in_place game_core SIMD-optimized in-place byte array reversal. Swaps from both ends using AVX2 vpshufb for 32-byte blocks, SSE pshufb for 16-byte blocks, byte-by-byte for center. 0x00E6142C 181 simd_reverse_words_in_place game_core SIMD-optimized in-place 2-byte (word) array reversal. Swaps from both ends using AVX2/SSE, word-by-word for center. 0x00E614E1 162 simd_reverse_dwords_in_place game_core SIMD-optimized in-place 4-byte (dword) array reversal. Swaps from both ends using AVX2 vpshufd/SSE, dword-by-dword for center. 0x00E61583 174 simd_reverse_qwords_in_place game_core SIMD-optimized in-place 8-byte (qword) array reversal. Swaps from both ends using AVX2 vpermq/SSE, qword-by-qword for center. 0x00E61631 33 ___std_swap_ranges_trivially_swappable game_core STL helper: swaps trivially-swappable ranges of memory using xor-based byte swapping. 0x00E61652 171 simd_swap_ranges game_core SIMD-optimized swap_ranges. Swaps memory between two non-overlapping buffers using AVX2 32-byte blocks, SSE 16-byte blocks, dword-by-dword, then byte-by-byte for remainder. 0x00E616FD 6 _Xinvalid_argument game_core Import thunk: indirect jump to _Xinvalid_argument. 0x00E61703 6 _Xtime_get_ticks game_core Import thunk: indirect jump to _Xtime_get_ticks. 0x00E6172D 6 setprecision game_core Import thunk: indirect jump to setprecision. 0x00E61733 6 _Query_perf_counter game_core Import thunk: indirect jump to _Query_perf_counter. 0x00E61739 6 _Query_perf_frequency game_core Import thunk: indirect jump to _Query_perf_frequency. 0x00E6173F 6 _Random_device game_core Import thunk: indirect jump to _Random_device. 0x00E61745 5 operator= game_core 0xa61745 1 ??4_Init_locks@std@@QAEAAV01@ABV01@@Z 0x00E6174A 257 get_codepage_info_with_lead_bytes game_core Gets code page info including lead byte ranges. Calls GetCPInfoExW, stores CodePage and MaxCharSize, then builds a bitfield of lead byte values from the LeadByte pairs. Returns 0 on success, GetLastError() on failure. 0x00E61851 6 uncaught_exceptions game_core Import thunk: indirect jump to uncaught_exceptions. 0x00E6189F 6 setw game_core Import thunk: indirect jump to setw. 0x00E618B7 6 __std_atomic_wait_direct game_core Import thunk: indirect jump to __std_atomic_wait_direct. 0x00E618C3 6 _Thrd_detach game_core Import thunk: indirect jump to _Thrd_detach. 0x00E618C9 6 _Thrd_sleep game_core Import thunk: indirect jump to _Thrd_sleep. 0x00E618CF 6 _Cnd_do_broadcast_at_thread_exit game_core Import thunk: indirect jump to _Cnd_do_broadcast_at_thread_exit. 0x00E618D5 6 _Throw_C_error game_core Import thunk: indirect jump to _Throw_C_error. 0x00E618DB 6 _Throw_Cpp_error game_core Import thunk: indirect jump to _Throw_Cpp_error. 0x00E6192B 39 CComCritSecLock game_core ATL CComCritSecLock constructor: enters the critical section and sets the locked flag. 0x00E6195F 83 CAtlBaseModule game_core ATL CAtlBaseModule constructor: initializes the base module with resource instance list and critical section. 0x00E619C6 16 copy_assign_dword stl Simple thiscall copy assignment that copies a single dword from param_2 to param_1. Returns param_1. 0x00E619D6 35 _ATL_BASE_MODULE70 game_core ATL _ATL_BASE_MODULE70 constructor: initializes the ATL base module structure with module handle and resource instances. 0x00E619F9 23 critical_section_guard__release crt Releases a critical section guard. If the lock flag (field+4) is set, calls LeaveCriticalSection on the CRITICAL_SECTION pointer at field+0 and clears the flag. 0x00E61A15 22 ~CAtlBaseModule game_core ATL CAtlBaseModule destructor: deletes the critical section. 0x00E61A36 36 CSimpleArray__get_at_checked game_core ATL CSimpleArray bounds-checked element access. Returns pointer to element at index param_2 (stride 4). Raises STATUS_ARRAY_BOUNDS_EXCEEDED if out of range. 0x00E61A5B 129 CSimpleArray__push_back game_core ATL CSimpleArray push_back. Appends a dword element. If at capacity, doubles buffer via _recalloc (max 0x20000000 elements). Validates param_2 is not inside current buffer. Returns 1 on success, 0 on failure. 0x00E61ADD 51 AddResourceInstance game_core ATL AddResourceInstance: adds an HINSTANCE to the resource instance array. 0x00E61B10 58 check_errno_and_throw_hresult game_core Converts C runtime errno values to HRESULT and throws. ENOMEM(12)->E_OUTOFMEMORY, EINVAL(22)/ERANGE(34)->E_INVALIDARG, EEXIST(80)->no-op, others->E_FAIL. 0x00E61B4B 69 GetHInstanceAt game_core ATL GetHInstanceAt: returns the HINSTANCE at the given index in the resource instance array. 0x00E61B94 43 Init game_core ATL CSimpleArray Init: initializes the array to empty state (null pointer, zero count, zero alloc). 0x00E61BBF 26 InternalSetAtIndex game_core ATL CSimpleArray InternalSetAtIndex: sets the element at the given index by direct memory copy. 0x00E61BD9 19 critical_section_guard__acquire crt Acquires a critical section guard. Calls EnterCriticalSection on the CS pointer at field+0 and sets the lock flag at field+4 to 1. Returns 0. 0x00E61BF6 29 RemoveAll game_core ATL CSimpleArray RemoveAll: frees the array buffer and resets to empty state. 0x00E61C13 78 RemoveAt game_core ATL CSimpleArray RemoveAt: removes element at given index by shifting subsequent elements down via memmove. 0x00E61C61 93 RemoveResourceInstance game_core ATL RemoveResourceInstance: finds and removes an HINSTANCE from the resource instance array. 0x00E61CC8 17 critical_section_guard__leave crt Leaves a critical section unconditionally. Calls LeaveCriticalSection and clears the lock flag. 0x00E61CE3 81 memmove_s game_core CRT memmove_s: safe version of memmove with buffer size validation before copying. 0x00E61D34 20 win32_error_to_hresult game_core Converts a Win32 error code to an HRESULT by ORing with 0x80070000 if the value is positive. 0x00E61D48 76 _memmove_s game_core CRT _memmove_s: internal implementation of safe memmove with parameter validation. 0x00E61E07 51 `vector_destructor_iterator' other MSVC compiler-generated loop that calls destructors for each element in an array 0x00E61E53 68 find_pe_section game_core CRT find_pe_section: searches the PE section headers for one containing the given RVA. 0x00E61E9C 52 is_potentially_valid_image_base game_core CRT is_potentially_valid_image_base: checks if a pointer looks like a valid PE image base (MZ signature check). 0x00E61ED7 50 ___scrt_acquire_startup_lock game_core CRT __scrt_acquire_startup_lock: acquires a lock to serialize CRT startup/shutdown operations. 0x00E61F6E 52 ___scrt_dllmain_exception_filter game_core CRT __scrt_dllmain_exception_filter: SEH exception filter for DllMain, handles C++ exceptions during DLL initialization. 0x00E61FD2 57 ___scrt_initialize_crt game_core CRT __scrt_initialize_crt: initializes the C runtime library components in the correct order. 0x00E6200B 135 ___scrt_initialize_onexit_tables game_core CRT __scrt_initialize_onexit_tables: sets up the atexit/onexit function tables for CRT cleanup. 0x00E62092 126 ___scrt_is_nonwritable_in_current_image game_core CRT __scrt_is_nonwritable_in_current_image: checks if a memory address is in a read-only PE section. 0x00E62126 29 ___scrt_release_startup_lock game_core CRT __scrt_release_startup_lock: releases the CRT startup/shutdown serialization lock. 0x00E62143 40 ___scrt_uninitialize_crt game_core CRT __scrt_uninitialize_crt: uninitializes the C runtime library during shutdown. 0x00E6216B 45 __onexit game_core CRT _onexit: registers a function to be called at normal program termination. 0x00E62198 35 register_atexit_function game_core Registers a function to be called at process exit. If DAT_0173ae78 is -1 (uninitialized), calls crt_at_quick_exit. Otherwise calls register_onexit_function. 0x00E621BB 21 _atexit game_core CRT atexit: registers a function to be called at normal program termination (wrapper around _onexit). 0x00E621D0 14 __security_check_cookie crt CRT __security_check_cookie: validates the stack canary against the global security cookie to detect buffer overflows. 0x00E621DE 5 free game_core CRT free: releases allocated memory back to the heap. 0x00E621F0 52 __allmul game_core Compiler intrinsic __allmul: performs 64-bit integer multiplication (EDX:EAX = arg1 * arg2). 0x00E62230 31 __aullshr game_core Compiler intrinsic __aullshr: performs unsigned 64-bit right shift (EDX:EAX >>= CL). 0x00E6224F 76 operator_new_with_retry stl operator new implementation with new-handler retry loop. Calls malloc, on failure calls _callnewh to invoke user's new handler. If handler returns 0, throws std::bad_alloc (or bad_array_new_length for -1). 0x00E6227F 14 operator_delete stl operator delete implementation. Simply calls free(param_1). 0x00E622B4 1 CRT_init_critical_section_and_condition_variable crt Crt init critical section and condition variable 0x00E62352 36 __Init_thread_abort game_core CRT __Init_thread_abort: aborts a thread-safe static initialization attempt. 0x00E62376 74 init_thread_epoch_counter game_core MSVC thread-safe static init: increments global epoch counter under critical section, stores to TLS slot at offset 0x116c4, calls __Init_thread_notify to wake waiting threads. 0x00E623C0 82 init_thread_header game_core MSVC _Init_thread_header. Acquires thread-safe static initialization lock. If guard is 0, sets to -1 (claiming it). If -1 (another thread initializing), waits 100ms and retries. If already initialized, updates TLS epoch. 0x00E6241E 54 __Init_thread_notify game_core CRT __Init_thread_notify: notifies waiting threads that a thread-safe static initialization has completed. 0x00E62460 78 __Init_thread_wait game_core CRT __Init_thread_wait: waits for another thread to complete thread-safe static initialization. 0x00E624AE 72 operator_new stl CRT operator new: allocates memory with size validation and throws bad_alloc on failure. 0x00E62510 43 __alloca_probe game_core CRT __alloca_probe: probes stack pages to ensure they are committed before allocating large stack frames. 0x00E62540 70 crt_float_to_uint32 crt CRT helper: converts float to unsigned 32-bit integer. Uses AVX-512 vcvttss2usi when available, otherwise manual conversion handling overflow to 0xFFFFFFFF. 0x00E62610 109 crt_float_to_int64 crt CRT helper: converts float to signed 64-bit integer. Uses AVX-512 vcvttps2qq when available, otherwise manual bit extraction for large values, saturating to INT64_MIN on overflow. 0x00E62680 116 crt_double_to_uint32 crt CRT helper: converts double to unsigned 32-bit integer. Uses AVX-512 vcvttsd2usi when available, otherwise manual conversion handling large values and returning 0xFFFFFFFF on overflow. 0x00E627B0 121 crt_double_to_int64 crt CRT helper: converts double to signed 64-bit integer. Uses AVX-512 vcvttpd2qq when available, otherwise manual bit extraction for large values, saturating to INT64_MIN on overflow. 0x00E627F8 54 dtol3_getbits game_core CRT dtol3_getbits: extracts bits from a double-to-long conversion intermediate value. 0x00E62860 81 crt_uint64_to_double crt CRT helper: converts unsigned 64-bit integer to double. Uses AVX-512 vcvtuqq2pd when available. 0x00E628C0 65 crt_int64_to_double crt CRT helper: converts signed 64-bit integer to double. Uses AVX-512 vcvtqq2pd when available. 0x00E62908 35 bad_alloc__scalar_deleting_dtor game_core std::bad_alloc scalar deleting destructor. Sets vtable pointer and optionally frees 0xC bytes. 0x00E6292B 40 gs_check_failure_handler game_core GS (/GS) stack buffer overflow handler. Clears the exception filter, calls UnhandledExceptionFilter, then terminates the process with STATUS_STACK_BUFFER_OVERRUN (0xC0000409). 0x00E62953 250 report_gs_check_failure game_core Reports /GS stack cookie check failure. Checks if IsProcessorFeaturePresent(FASTFAIL_AVAILABLE), triggers __fastfail if so. Saves full register context to globals and calls gs_check_failure_handler. 0x00E62A4D 12 report_range_check_failure game_core Reports /GS range check failure (code 8). Calls report_gs_failure_with_code. 0x00E62A59 207 report_gs_failure_with_code game_core Reports /GS failure with a specific failure code. Same pattern as report_gs_check_failure but with a configurable failure code parameter. 0x00E62B28 277 report_gs_failure_with_params game_core Reports /GS failure with exception parameters. Saves registers, copies up to 14 extra parameters into the exception record, then calls gs_check_failure_handler. 0x00E62C40 170 __alldiv game_core Compiler intrinsic __alldiv: performs signed 64-bit integer division (EDX:EAX = dividend / divisor). 0x00E62CF0 31 __allshl game_core Compiler intrinsic __allshl: performs signed 64-bit left shift (EDX:EAX <<= CL). 0x00E62D10 104 __aulldiv game_core Compiler intrinsic __aulldiv: performs unsigned 64-bit integer division. 0x00E62D80 149 __aulldvrm game_core Compiler intrinsic __aulldvrm: performs unsigned 64-bit division and returns both quotient and remainder. 0x00E62E20 117 __aullrem game_core Compiler intrinsic __aullrem: performs unsigned 64-bit modulo operation. 0x00E62E95 9 thunk_to_operator_new_with_retry stl Thunk (jmp) to operator_new_with_retry at 00e6224f. operator new implementation with new-handler retry loop. 0x00E62E9E 5 free game_core CRT free: releases allocated memory back to the heap. 0x00E62EC0 5 thunk_to_crt_long_double_to_int32 crt Thunk (jmp) to crt_long_double_to_int32 at 00e62ed0. Converts x87 long double to signed 32-bit integer. 0x00E62ED0 124 crt_long_double_to_int32 crt CRT: converts x87 long double (80-bit) from ST0 to signed 32-bit integer. Uses FISTP if SSE2+ available, otherwise manual bit extraction with saturation to INT32_MIN. 0x00E62F97 91 crt_long_double_to_uint32 crt CRT: converts x87 long double (80-bit) from ST0 to unsigned 32-bit integer. Manual bit extraction, returns 0 for values < 1, 0xFFFFFFFF on overflow. 0x00E63000 171 crt_long_double_to_int64 crt CRT: converts x87 long double (80-bit) from ST0 to signed 64-bit integer. Uses FISTP if SSE2+ available, otherwise manual bit extraction with saturation to INT64_MIN. 0x00E630FC 109 crt_long_double_to_uint64 crt CRT: converts x87 long double (80-bit) from ST0 to unsigned 64-bit integer. Manual bit extraction, returns 0 for values < 1, 0xFFFFFFFFFFFFFFFF on overflow. 0x00E63170 22 __alloca_probe_16 game_core CRT __alloca_probe_16: probes stack pages with 16-byte alignment for large stack allocations. 0x00E63186 22 __alloca_probe_8 game_core CRT __alloca_probe_8: probes stack pages with 8-byte alignment for large stack allocations. 0x00E631A1 90 `eh_vector_constructor_iterator' other EH vector constructor iterator: calls constructor on each element in a newly allocated array. 0x00E63201 20 seh_array_unwind_if_failed game_core SEH funclet: conditionally calls __ArrayUnwind if AL is 0 (construction failed). Used by MSVC exception handling for array constructor cleanup. 0x00E6321A 105 `eh_vector_destructor_iterator' other EH vector destructor iterator: calls destructor on each element in an array with exception handling. 0x00E6328F 16 seh_array_unwind_if_failed_regs game_core SEH funclet: conditionally calls __ArrayUnwind using register-passed parameters (ESI=ptr, EBX=size, EDI=count) if AL is 0. 0x00E6329F 46 cxx_terminate_on_exception game_core C++ exception handler: checks if exception record magic matches 0xE06D7363 (MSVC C++ exception). If so, sets current exception and context, then calls terminate(). 0x00E632CE 76 __ArrayUnwind game_core CRT __ArrayUnwind: unwinds (destructs) array elements during exception handling when constructor throws. 0x00E6335E 14 operator_delete_scalar stl operator delete (scalar). Calls free(). 0x00E6336C 14 operator_delete_array stl operator delete[] (array). Calls free(). 0x00E6337A 125 tls_callback_1 game_core TLS callback 1: called by the OS when threads are created/destroyed, handles thread-local storage initialization. 0x00E633F7 16 operator_delete_sized stl operator delete (sized). Calls free(), ignores size parameter. 0x00E63407 14 simple_assign_dword game_core Simple thiscall assignment: copies param_2 to *param_1. Returns param_1. 0x00E63415 16 free_and_null_ptr stl Frees memory pointed to by *param_1 and sets *param_1 to NULL. 0x00E6342B 16 free_and_null_ptr_00e6342b stl Frees memory pointed to by *param_1 and sets *param_1 to NULL (duplicate). 0x00E6343B 108 tls_register_destructor game_core Registers a TLS destructor function. Stores the destructor pointer in the TLS destructor list at offset 0x116c8. Allocates new 0x80-byte blocks when the 30-entry block is full. Used by thread-safe static initialization. 0x00E634B0 223 __alldvrm game_core Compiler intrinsic __alldvrm: performs signed 64-bit division returning both quotient and remainder. 0x00E6358F 127 tls_callback_0 game_core TLS callback 0: called by the OS when threads are created/destroyed, handles thread-local storage initialization. 0x00E6361F 9 thunk_to_operator_new_00e6361f stl Wrapper that forwards to operator_new with nothrow_t parameter 0x00E63630 178 __allrem game_core Compiler intrinsic __allrem: performs signed 64-bit modulo operation. 0x00E636E2 465 detect_cpu_features game_core Detects CPU features (SSE2, SSE4.2, AVX, AVX2, AVX-512). Uses CPUID to check vendor (Intel), model (Atom workarounds), and feature flags. Sets DAT_0173b1cc (feature level 0-6) and DAT_01361bc0 (feature bitmask). Checks ERMS, XCR0 for OS XSAVE support. 0x00E638B8 96 `eh_vector_copy_constructor_iterator' other EH vector copy constructor iterator: copy-constructs each element in a new array from a source array. 0x00E6391E 20 seh_array_unwind_if_failed_v2 game_core SEH funclet: conditionally calls __ArrayUnwind if AL is 0 (variant with different stack layout). 0x00E63932 47 __except_handler4 game_core CRT __except_handler4: SEH exception handler with stack cookie validation for /GS security. 0x00E63A30 318 scrt_common_main_seh game_core MSVC __scrt_common_main_seh - CRT startup with SEH. Initializes CRT, acquires startup lock, calls C++ global constructors (initterm), invokes TLS callbacks, gets command line and show window mode, then calls WinMain (FUN_00e5d390). Calls _cexit on return. 0x00E63BF1 10 entry game_core PE entry point: the initial function called by the OS loader when the executable starts. 0x00E63BFB 3 null_stub_00e63bfb crt Empty function body, returns immediately without side effects 0x00E63BFE 10 identity_passthrough_00e63bfe crt Returns first parameter unchanged; simple identity function 0x00E63C08 10 identity_passthrough_00e63c08 crt Returns first parameter unchanged; simple identity function 0x00E63C12 27 guard_check_icall_int3 game_core CFG (Control Flow Guard) indirect call check - int3 variant. Triggers int3 breakpoint if target address is not valid. 0x00E63C2D 31 guard_check_icall_fastfail game_core CFG indirect call check - fastfail variant. Triggers __fastfail (int 0x29) if target address is not valid. 0x00E63C4F 57 guard_check_icall_nop_with_callback game_core CFG indirect call check with callback. Calls DAT_0173b1d4 callback if target is invalid. 0x00E63C88 27 is_valid_icall_target game_core Tests if an address is a valid CFG indirect call target. Returns true if valid. 0x00E63CA3 45 guard_check_icall_range_int3 game_core CFG range-based indirect call check - int3 variant. Checks that target is within valid range before allowing indirect call. 0x00E63CD0 49 guard_check_icall_range_fastfail game_core CFG range-based indirect call check - fastfail variant. 0x00E63D04 76 guard_check_icall_range_with_callback game_core CFG range-based indirect call check with callback. 0x00E63D50 26 is_valid_icall_range_target game_core Tests if an address is a valid CFG range target. Returns true if valid. 0x00E63D7C 1 CRT_stub_00e63d7c crt Crt stub 00e63d7c, small utility function 0x00E63D80 12 ___scrt_is_ucrt_dll_in_use game_core CRT __scrt_is_ucrt_dll_in_use: returns whether the Universal CRT DLL is being used. 0x00E63D8C 283 invoke_watson_handler game_core Invokes Watson error reporting handler. Triggers __fastfail if available, then creates a synthetic exception (code 0x40000015) and calls UnhandledExceptionFilter. 0x00E63EA7 49 ___scrt_get_show_window_mode game_core CRT __scrt_get_show_window_mode: retrieves the initial window show state from the process startup info. 0x00E63ED8 1 CRT_stub_00e63ed8 crt Crt stub 00e63ed8, small utility function 0x00E63EDD 1 CRT_stub_00e63edd crt Crt stub 00e63edd, small utility function 0x00E63EE0 67 scrt_is_managed_app game_core Checks if the current executable is a .NET managed app by examining PE headers for COM descriptor directory entry (PE32 optional header data directory index 14). 0x00E63F23 12 set_terminate_exception_filter game_core Installs cxx_unhandled_exception_filter as the unhandled exception filter. Called during CRT initialization. 0x00E63F32 85 cxx_unhandled_exception_filter game_core Unhandled exception filter for C++ exceptions. Checks for MSVC C++ exception magic (0xE06D7363) with specific throw info versions (0x19930520-22, 0x01994000). If matched, sets current exception and calls terminate(). 0x00E63F88 8 reset_DAT_0173b1d8_00e63f88 game_core Clears global data at 0x0173b1d8 to zero 0x00E63F90 69 __SEH_prolog4 game_core CRT __SEH_prolog4: sets up a structured exception handling frame with stack cookie protection. 0x00E63FE0 20 __SEH_epilog4 game_core CRT __SEH_epilog4: tears down a structured exception handling frame and restores the previous handler. 0x00E63FF4 29 bad_alloc__ctor_with_message game_core std::bad_alloc constructor with const char* message parameter. Sets vtable and what_arg string. 0x00E64011 24 bad_alloc__ctor game_core std::bad_alloc constructor. Sets what_arg to "bad allocation" and vtable pointer. 0x00E64029 29 std__exception__ctor stl std::exception constructor with const char* message and int flag. Sets vtable and what_arg. 0x00E64046 28 throw_bad_alloc game_core Constructs and throws a std::bad_alloc exception. 0x00E64080 77 ___get_entropy game_core CRT __get_entropy: gathers entropy from system sources (TSC, process ID, thread ID, system time) for security cookie initialization. 0x00E640CD 75 ___security_init_cookie game_core CRT __security_init_cookie: initializes the global security cookie used for stack buffer overflow detection (/GS). 0x00E6411B 1 CRT_stub_00e6411b crt Crt stub 00e6411b, small utility function 0x00E6411E 1 CRT_stub_00e6411e crt Crt stub 00e6411e, small utility function 0x00E64124 3 ret_zero_00e64124 crt Returns zero constant; likely a stub or default failure case 0x00E64127 1 CRT_stub_00e64127 crt Crt stub 00e64127, small utility function 0x00E6412A 1 CRT_stub_00e6412a crt Crt stub 00e6412a, small utility function 0x00E64142 1 CRT_stub_00e64142 crt Crt stub 00e64142, small utility function 0x00E64145 1 CRT_stub_00e64145 crt Crt stub 00e64145, small utility function 0x00E64166 1 CRT_stub_00e64166 crt Crt stub 00e64166, small utility function 0x00E64169 1 CRT_stub_00e64169 crt Crt stub 00e64169, small utility function 0x00E6416C 1 CRT_stub_00e6416c crt Crt stub 00e6416c, small utility function 0x00E64189 1 CRT_stub_00e64189 crt Crt stub 00e64189, small utility function 0x00E64195 6 get_PTR_tls_callback_0_011b5ed0_00e64195 game_core Returns address of TLS callback pointer at 0x011b5ed0 0x00E6419B 6 get_tls_callback_1_ptr_00e6419b game_core Returns pointer to TLS callback 1 global variable 0x00E641A1 1 CRT_stub_00e641a1 crt Crt stub 00e641a1, small utility function 0x00E64211 6 DirectDrawCreateEx game_core Import thunk: indirect jump to DirectDrawCreateEx. 0x00E64217 6 DirectDrawEnumerateExA game_core Import thunk: indirect jump to DirectDrawEnumerateExA. 0x00E6421D 6 Direct3DCreate9Ex game_core Import thunk: indirect jump to Direct3DCreate9Ex. 0x00E64223 6 GdipFree game_core Import thunk: indirect jump to GdipFree. 0x00E64229 6 GdiplusStartup game_core Import thunk: indirect jump to GdiplusStartup. 0x00E6422F 6 GdiplusShutdown game_core Import thunk: indirect jump to GdiplusShutdown. 0x00E64235 6 GdipDeleteFontFamily game_core Import thunk: indirect jump to GdipDeleteFontFamily. 0x00E6423B 6 GdipCloneFontFamily game_core Import thunk: indirect jump to GdipCloneFontFamily. 0x00E64241 6 GdipGetFamilyName game_core Import thunk: indirect jump to GdipGetFamilyName. 0x00E64247 6 GdipNewPrivateFontCollection game_core Import thunk: indirect jump to GdipNewPrivateFontCollection. 0x00E6424D 6 GdipDeletePrivateFontCollection game_core Import thunk: indirect jump to GdipDeletePrivateFontCollection. 0x00E64253 6 GdipGetFontCollectionFamilyList game_core Import thunk: indirect jump to GdipGetFontCollectionFamilyList. 0x00E64259 6 GdipPrivateAddFontFile game_core Import thunk: indirect jump to GdipPrivateAddFontFile. 0x00E64260 207 zlib_compress file zlib compress() - compresses source data into dest buffer using default compression level (-1). Initializes deflate stream, loops calling deflate until done. 0x00E64330 208 zlib_compress2 file zlib compress2() - compresses source data into dest buffer with specified compression level parameter. 0x00E64400 30 zlib_compressBound file zlib compressBound() - returns upper bound on compressed size for given source length. Formula: sourceLen + (sourceLen >> 12) + (sourceLen >> 14) + (sourceLen >> 25) + 13. 0x00E64420 284 zlib_uncompress file zlib uncompress() - decompresses source data into dest buffer. Initializes inflate stream, calls inflate in a loop. Returns 0 on success, error codes on failure. 0x00E64540 288 zlib_uncompress2 file zlib uncompress2() - decompresses with tracking of consumed source bytes via param_4. 0x00E64660 1029 zlib_deflate_stored file zlib deflate_stored() - handles stored (uncompressed) block output in deflate. Copies data directly when no compression needed, manages window sliding and lookahead buffer. 0x00E64A70 1047 zlib_deflate_fast file Zlib deflate fast, small utility function 0x00E64E90 1381 zlib_deflate_slow file Zlib deflate slow, small utility function 0x00E65400 2563 zlib_deflate file zlib deflate() main entry point. Manages deflate state machine (header writing, compression, trailer). Handles zlib/gzip/raw deflate formats. Dispatches to deflate_stored/fast/slow based on compression level. 0x00E65E10 355 zlib_deflateBound file zlib deflateBound() - returns upper bound on compressed size for given uncompressed size, accounting for stream format overhead. 0x00E65F80 466 zlib_deflateCopy file zlib deflateCopy() - copies a deflate stream state from source to dest. Allocates new internal buffers, copies hash tables and window data. 0x00E66160 232 zlib_deflateEnd file zlib deflateEnd() - frees all dynamically allocated data structures for the stream. Returns Z_DATA_ERROR if state was busy. 0x00E66250 144 zlib_deflateGetDictionary file zlib deflateGetDictionary() - copies the current sliding window dictionary to the caller's buffer and reports its length. 0x00E662E0 568 zlib_deflateInit2 file zlib deflateInit2_() - full initialization with all parameters: level, method, windowBits, memLevel, strategy. Allocates internal state and hash tables. 0x00E66520 33 zlib_deflateInit file zlib deflateInit_() - convenience wrapper calling deflateInit2 with default parameters (method=8, windowBits=15, memLevel=8, strategy=0). 0x00E66550 406 zlib_deflateParams file zlib deflateParams() - dynamically changes compression level and strategy. Flushes pending data if strategy or function pointer changes. 0x00E666F0 121 zlib_deflatePending file zlib deflatePending() - returns pending output bytes and bits count. 0x00E66770 228 zlib_deflatePrime file zlib deflatePrime() - inserts bits into the deflate output stream (up to 16 bits at a time). 0x00E66860 398 zlib_deflateReset file zlib deflateReset() - resets deflate state for reuse. Clears hash tables, resets lookahead and match state, reinitializes Huffman trees. 0x00E669F0 229 zlib_deflateResetKeep file zlib deflateResetKeep() - partial reset without clearing hash tables and configuration parameters. 0x00E66AE0 490 zlib_deflateSetDictionary file zlib deflateSetDictionary() - sets the deflate dictionary from caller-provided data, updating hash chains. 0x00E66CD0 101 zlib_deflateSetHeader file zlib deflateSetHeader() - sets the gzip header for deflate output (only valid for wrap mode 2). 0x00E66D40 122 zlib_deflateTune file zlib deflateTune() - overrides internal deflate parameters (good_length, max_lazy, nice_length, max_chain). 0x00E66DC0 523 zlib_deflate_huff file Zlib deflate huff, small utility function 0x00E66FD0 883 zlib_deflate_rle file Zlib deflate rle, small utility function 0x00E67350 519 zlib_fill_window file zlib fill_window() - reads input into the deflate sliding window. Handles window sliding when position is past midpoint, updates hash chain entries, fills lookahead from z_stream input. 0x00E67560 78 zlib_flush_pending file zlib flush_pending() - flushes pending output from the internal buffer to the z_stream output. Copies min(available, pending) bytes via memcpy. 0x00E675B0 371 zlib_longest_match file zlib longest_match() - finds the longest string match in the hash chain for LZ77. Compares bytes with optimizations (check last two bytes first, scan 8 bytes at a time). Returns match length. 0x00E67730 44 zlib_putShortMSB file zlib internal putShortMSB() - writes a 16-bit value in big-endian order to the deflate stream's pending output buffer. Increments pending count by 2. 0x00E67760 123 zlib_read_buf file zlib read_buf() - reads input from z_stream into a buffer, updating adler32/crc32 checksum based on wrap mode. 0x00E677E0 98 zlib_slide_hash file zlib slide_hash() - slides hash table entries back by one window length. Entries pointing before the new window are zeroed. Called when the window slides forward. 0x00E67850 6048 zlib_inflate file Core zlib inflate (decompression) function. 6K bytes. Called by zlib_uncompress, zlib_uncompress2, png_zlib_inflate. Processes compressed data using Huffman tables, sliding window, and fast inflate path. 0x00E69080 66 zlib_inflateGetDictionary_index file zlib inflateGetDictionary index helper - returns the window index for the inflate dictionary, or -1 on error. 0x00E690D0 374 zlib_inflateCopy file zlib inflateCopy() - copies an inflate stream from source to dest. Allocates new internal state and window buffer. 0x00E69250 99 zlib_inflateEnd file zlib inflateEnd() - frees all inflate stream resources (window buffer and internal state). 0x00E692C0 128 zlib_inflateGetDictionary file zlib inflateGetDictionary() - copies the inflate sliding window dictionary to caller buffer. Handles wraparound of the circular window buffer. 0x00E69340 76 zlib_inflateGetHeader file zlib inflateGetHeader() - registers a gz_header to receive gzip header info during inflate. 0x00E69390 353 zlib_inflateInit2 file zlib inflateInit2_() - initializes inflate state with windowBits parameter. Allocates internal state struct (0x1BD0 bytes). 0x00E69500 24 zlib_inflateInit file zlib inflateInit_() - convenience wrapper calling inflateInit2 with default windowBits=15. 0x00E69520 123 zlib_inflateMark file zlib inflateMark() - returns current decompression position as a combined value of back distance and bytes consumed. 0x00E695A0 127 zlib_inflatePrime file zlib inflatePrime() - inserts bits into inflate input bit buffer. Accepts negative value to clear. 0x00E69620 290 zlib_inflateReset file zlib inflateReset() - resets inflate state for reuse. Clears counters, resets state machine to initial state, preserves window allocation. 0x00E69750 179 zlib_inflateReset2 file zlib inflateReset2() - resets inflate with new windowBits. Frees window if size changes. 0x00E69810 213 zlib_inflateResetKeep file zlib inflateResetKeep() - minimal reset preserving more state than inflateReset. 0x00E698F0 194 zlib_inflateSetDictionary file zlib inflateSetDictionary() - sets the preset dictionary for inflate. Verifies adler32 checksum if in DICT state. 0x00E699C0 321 zlib_inflateSync file zlib inflateSync() - searches for next valid deflate block in the input stream after a data error. Drains bit buffer, searches for sync point. 0x00E69B10 79 zlib_inflateSyncPoint file zlib inflateSyncPoint() - returns 1 if inflate is at a block boundary with no pending bits, 0 otherwise. 0x00E69B60 70 zlib_inflateUndermine file zlib inflateUndermine() - enables/disables strict checking. Sets subvert flag and returns Z_DATA_ERROR. 0x00E69BB0 84 zlib_inflateValidate file zlib inflateValidate() - enables or disables checksum validation by setting/clearing bit 2 of the wrap field. 0x00E69C10 99 zlib_syncsearch file zlib syncsearch() - searches for a sync point (00 00 FF FF) marker in inflate input. Used by inflateSync. 0x00E69C80 237 zlib_updatewindow file zlib updatewindow() - copies output data to the inflate sliding window for dictionary/back-reference use. 0x00E69D70 208 __tr_align game_core Zlib _tr_align: outputs a stored block alignment boundary and an end-of-block code for sync points. 0x00E69E40 5 bi_flush game_core Zlib bi_flush stub: flushes remaining bits from the bit buffer to the output stream. 0x00E69E50 1062 zlib_tr_flush_block file zlib _tr_flush_block() - flushes a Huffman or stored block to the output. Builds literal/distance trees, decides between static/dynamic/stored encoding. 0x00E6A280 96 __tr_init game_core Zlib _tr_init: initializes the Huffman tree structures (literal, distance, bit length) for deflate compression. 0x00E6A2E0 257 zlib_tr_stored_block file zlib _tr_stored_block() - outputs a raw stored (uncompressed) block to the deflate bit stream. 0x00E6A3F0 175 zlib_tr_tally file zlib _tr_tally() - stores a literal byte or distance/length pair to the pending buffer. Updates frequency counts for literal and distance Huffman trees. Returns true when the buffer is full and a block should be flushed. Previously misnamed as build_bl_tree. 0x00E6A4A0 121 bi_flush game_core Zlib bi_flush: flushes the bit buffer, writing complete bytes to the output pending buffer. 0x00E6A520 92 bi_windup game_core Zlib bi_windup: flushes any remaining bits in the bit buffer and aligns to a byte boundary. 0x00E6A580 671 zlib_build_tree file zlib build_tree() - constructs an optimal Huffman tree for a given frequency table. Computes code lengths and generates canonical Huffman codes. 0x00E6A820 1052 zlib_compress_block file zlib compress_block() - outputs a compressed block using the given literal and distance Huffman trees. Encodes each literal/length/distance triple. 0x00E6AC40 505 zlib_gen_bitlen file Zlib gen_bitlen: computes optimal bit lengths for a Huffman tree to minimize total encoding size. 0x00E6AE40 133 zlib_init_block file zlib init_block() - initializes/resets all three Huffman frequency tables (literal 0x11E entries, distance 0x1E entries, bit-length 0x13 entries) and related counters to zero. Sets literal END marker frequency to 1. Previously misnamed as gen_codes. 0x00E6AED0 228 pqdownheap game_core Zlib pqdownheap: restores the heap property by sifting a node downward in the priority queue used during Huffman tree construction. 0x00E6AFC0 242 zlib_scan_tree file Zlib scan_tree: scans a Huffman tree to determine the frequencies of bit length codes for compact encoding. 0x00E6B0C0 619 zlib_send_all_trees file Zlib send_all_trees: emits the Huffman tree descriptions (literal, distance, bit length) into the compressed output stream. 0x00E6B330 1292 zlib_send_tree file zlib send_tree() - encodes and sends a Huffman tree to the output bitstream using bit-length codes with run-length encoding. Handles repeat codes (16, 17, 18) for zero runs and repeated lengths. Previously misnamed as tr_init. 0x00E6B840 9 thunk_to_zlib_adler32_z_impl_00e6b840 file Thunk that calls FUN_00e6b9c0 and returns 0x00E6B850 25 zlib_adler32_combine file Zlib adler32_combine: combines two Adler-32 checksums computed over sequential data blocks. 0x00E6B870 25 zlib_adler32_combine64 file Zlib adler32_combine64: 64-bit length version of adler32_combine for combining sequential Adler-32 checksums. 0x00E6B890 291 zlib_adler32_combine_internal file zlib adler32 combine internal function. Combines two Adler-32 checksums from separate data blocks into a single checksum, using modular arithmetic with the Adler-32 prime (65521). Previously misnamed as adler32_z. 0x00E6B9C0 625 zlib_adler32_z_impl file zlib adler32_z() - computes Adler-32 checksum. Maintains two running sums (s1, s2) modulo 65521 (0xFFF1). Processes data in 16-byte unrolled chunks (NMAX=5552 bytes between modulo ops). Returns (s2 << 16) \| s1. Previously misnamed as crc32_z. 0x00E6BC40 9 thunk_to_zlib_crc32_generic_00e6bc40 file Thunk that calls FUN_00e6bd10 and returns 0x00E6BC50 36 zlib_crc32_combine file Zlib crc32_combine: combines two CRC-32 checksums computed over sequential data blocks. 0x00E6BC80 36 zlib_crc32_combine64 file Zlib crc32_combine64: 64-bit length version of crc32_combine for combining sequential CRC-32 checksums. 0x00E6BCB0 21 zlib_crc32_combine_gen file Zlib crc32_combine_gen: generates a CRC-32 combine operator matrix for a given length. 0x00E6BCD0 21 zlib_crc32_combine_gen64 file Zlib crc32_combine_gen64: 64-bit length version of crc32_combine_gen. 0x00E6BCF0 22 zlib_crc32_combine_op file Zlib crc32_combine_op: combines a CRC-32 checksum using a precomputed operator matrix. 0x00E6BD10 1028 zlib_crc32_generic file Zlib crc32_generic: computes CRC-32 checksum over a byte buffer using table-based polynomial division. 0x00E6C130 62 zlib_gf2_matrix_times file Zlib gf2_matrix_times: multiplies a GF(2) matrix by a vector, used in CRC-32 combine operations. 0x00E6C170 137 zlib_gf2_matrix_square file Zlib gf2_matrix_square: squares a GF(2) matrix in-place, used for CRC-32 combine operator generation. 0x00E6C200 20 png__get_data_table_ptr file PNG data table accessor. Returns pointer from PTR_DAT_011bade8 indexed by negative offset of param_1. NOT zlib zcalloc. 0x00E6C220 22 zlib_zcalloc_impl file Zlib zcalloc: allocates memory for zlib internal structures (items * size bytes via calloc). 0x00E6C240 17 zlib_zcfree file Zlib zcfree: frees memory previously allocated by zcalloc. 0x00E6C280 1304 zlib_inflate_table file Zlib inflate_table: builds Huffman decoding tables from a set of code lengths for inflate decompression. 0x00E6C7A0 1057 zlib_inflate_fast file Zlib inflate_fast: optimized inner loop for inflate decompression, decodes literal/length and distance codes directly. 0x00E6CBC1 6 BCryptOpenAlgorithmProvider game_core Import thunk: indirect jump to BCryptOpenAlgorithmProvider. 0x00E6CBC7 6 BCryptGetProperty game_core Import thunk: indirect jump to BCryptGetProperty. 0x00E6CBCD 6 BCryptSetProperty game_core Import thunk: indirect jump to BCryptSetProperty. 0x00E6CBD3 6 BCryptCloseAlgorithmProvider game_core Import thunk: indirect jump to BCryptCloseAlgorithmProvider. 0x00E6CBD9 6 BCryptGenerateSymmetricKey game_core Import thunk: indirect jump to BCryptGenerateSymmetricKey. 0x00E6CBDF 6 BCryptEncrypt game_core Import thunk: indirect jump to BCryptEncrypt. 0x00E6CBE5 6 BCryptDecrypt game_core Import thunk: indirect jump to BCryptDecrypt. 0x00E6CBEB 6 BCryptDestroyKey game_core Import thunk: indirect jump to BCryptDestroyKey. 0x00E6CBF1 6 BCryptDeriveKeyPBKDF2 game_core Import thunk: indirect jump to BCryptDeriveKeyPBKDF2. 0x00E6CC69 6 Base_RestartAppIfNecessary game_core Import thunk: indirect jump to Base_RestartAppIfNecessary (Stove SDK). 0x00E6CC6F 6 Base_Initialize game_core Import thunk: indirect jump to Base_Initialize (Stove SDK). 0x00E6CC75 6 Base_UnInitialize game_core Import thunk: indirect jump to Base_UnInitialize (Stove SDK). 0x00E6CC7B 6 Base_RunCallback game_core Import thunk: indirect jump to Base_RunCallback (Stove SDK). 0x00E6CC81 6 Base_GetAccessToken game_core Import thunk: indirect jump to Base_GetAccessToken (Stove SDK). 0x00E6CC87 6 Base_GetUser game_core Import thunk: indirect jump to Base_GetUser (Stove SDK). 0x00E6CC8D 6 Base_GetShutdown game_core Import thunk: indirect jump to Base_GetShutdown (Stove SDK). 0x00E6CD53 6 IAP_Initialize game_core Import thunk: indirect jump to IAP_Initialize (Stove SDK in-app purchase). 0x00E6CD59 6 IAP_UnInitialize game_core Import thunk: indirect jump to IAP_UnInitialize (Stove SDK). 0x00E6CD5F 6 IAP_FetchProducts game_core Import thunk: indirect jump to IAP_FetchProducts (Stove SDK). 0x00E6CD65 6 IAP_StartPurchase game_core Import thunk: indirect jump to IAP_StartPurchase (Stove SDK). 0x00E6CD6B 6 IAP_ConfirmPurchase game_core Import thunk: indirect jump to IAP_ConfirmPurchase (Stove SDK). 0x00E6CD71 6 IAP_FetchTermsAgreement game_core Import thunk: indirect jump to IAP_FetchTermsAgreement (Stove SDK). 0x00E6CD80 45 png__icc_profile_check_length file PNG ICC profile length validator. Returns 0 (via png__icc_profile_error with "too short") if param_4 < 0x84 (132 bytes minimum ICC header). Returns 1 if length is valid. 0x00E6CDB0 93 png__validate_keyword_chars file PNG keyword string validator. Checks that all 4 bytes extracted from input are valid keyword characters (alphanumeric or space). Returns 1 if all valid, 0 if any invalid. 0x00E6CE10 52 png__is_keyword_char file PNG keyword character validator. Returns 1 if the character is a space (0x20), digit (0-9), uppercase letter (A-Z), or lowercase letter (a-z). Returns 0 otherwise. 0x00E6CE50 763 png__check_cHRM_fixed file PNG cHRM chunk validator + xy-to-XYZ conversion. Validates chromaticity endpoints (range 0-100000), computes colorspace matrix using png__muldiv and png__reciprocal. Returns 0 on success, 1 on invalid values, 2 on math error. 0x00E6D150 439 png__colorspace_endpoints_normalize file PNG colorspace endpoint normalizer. Takes 9 fixed-point color values (RGB x3 channels) and normalizes them so each row sums to 100000 using png__muldiv. Returns 0 on success, 1 on failure. 0x00E6D320 275 png__ascii_from_fixed file PNG fixed-point to ASCII converter. Converts a fixed-point integer (scale factor 100000) to a decimal string. Handles negative values, writes digits with decimal point at position 5. Calls png__error if buffer too small (min 13 bytes). 0x00E6D440 1141 png__ascii_from_fp_double file libpng: Converts a floating-point double value to an ASCII decimal string. Handles negative values, scientific notation (E+/E-), and precision control. Calls png__error if buffer is too small. This is the floating-point version; png__ascii_from_fixed handles fixed-point integers. 0x00E6D8C0 400 png__build_gamma_table file PNG gamma table builder. Allocates and populates gamma correction lookup tables. Uses png_calloc for table array, png_malloc for 256-entry sub-tables. Applies gamma-significant check to decide between linear scaling and power-curve calculation. 0x00E6DA50 292 png__build_16bit_gamma_table file libpng: Builds a 16-bit gamma lookup table. Allocates a 2D table (shift-based subdivision) and fills entries using gamma correction values. Each table entry maps 16-bit color values through the gamma curve. 0x00E6DB80 95 png__build_8bit_gamma_table file libpng: Builds an 8-bit (256-entry) gamma lookup table. If a gamma transform is active, maps each byte through the gamma function; otherwise fills with identity mapping (0-255). 0x00E6DBE0 511 png__build_gamma_tables file libpng: Master gamma table builder. Handles both 8-bit and 16-bit cases depending on bit depth. Builds encoding/decoding tables and optional alpha channel tables. Logs "gamma table being rebuilt" warning and frees old tables before rebuilding. 0x00E6DDE0 29 png__build_default_palette file libpng: Builds a default color palette based on bit depth (1, 2, 4, 8-bit). Creates RGB triplets with evenly-spaced values for the given color depth. Switch cases handle different depths with appropriate step sizes. 0x00E6DE70 109 png__update_adler32 file libpng: Updates Adler-32 checksum (CRC) over a data buffer. Feeds data through the CRC calculation function in chunks, updating the running CRC stored at offset 0x13c in the PNG struct. 0x00E6DEE0 509 png__validate_IHDR file libpng: Validates all IHDR (Image Header) parameters. Checks width/height (zero, negative, user limit), bit depth (1/2/4/8/16), color type (0/2/3/4/6), interlace method, compression method, and filter method. Reports errors via png_error for invalid combinations. 0x00E6E0E0 244 png__parse_number_state_machine file libpng: State machine to parse a number from a character buffer. Handles digits (0-9), sign (+/-), decimal point (.), and exponent (E/e). Returns 1 if a valid number was found, updates state and position through output pointers. 0x00E6E270 77 png__check_number_string file libpng: Checks if a string represents a valid number. Wrapper around png__parse_number_state_machine. Returns the parsed state if the entire string was consumed, 0 otherwise. 0x00E6E2C0 80 png__save_uint_32_to_string file libpng: Converts a 32-bit unsigned integer to a big-endian byte string with null terminator. Stores the 4 bytes in MSB-first order for PNG chunk data formatting. 0x00E6E310 80 png__check_chromaticity_endpoints file libpng: Checks chromaticity endpoints (xy values). Calls png__colorspace_check_xy to validate, then copies the endpoint data to local buffer and calls png__colorspace_set_endpoints if invalid. 0x00E6E360 134 png__colorspace_check_gamma file libpng: Checks gamma value against the colorspace. If gamma flag bit is not set, returns true. Otherwise validates the gamma value matches libpng or sRGB expectations. Warns on mismatch with appropriate error level based on param_4. 0x00E6E3F0 69 png__colorspace_check_xy file libpng: Validates chromaticity xy endpoints. Converts to XYZ, checks if XYZ values match within tolerance of 5 units, and returns 0 if valid, nonzero on error. 0x00E6E440 214 png__colorspace_endpoints_match file libpng: Compares two sets of chromaticity/colorspace endpoints (8 int values each) within a given tolerance. Returns 1 if all 8 values match within the tolerance range, 0 otherwise. 0x00E6E520 117 png__icc_check_and_set_profile file libpng: Validates and sets an ICC color profile on the colorspace. Checks profile length, header, tag table, and attempts sRGB detection. Returns 1 on success, 0 if colorspace is already invalid. Previously misnamed as png__colorspace_set_chromaticities. 0x00E6E5A0 110 png__colorspace_set_chromaticities_from_xy file libpng: Sets colorspace chromaticities from xy values. Validates the xy data, then calls png__colorspace_set_chromaticities_internal. Errors "invalid chromaticities" on bad data or fatal "internal error" on unexpected return. 0x00E6E610 136 png__colorspace_set_endpoints file libpng: Sets colorspace endpoints from XYZ values. Copies 9 endpoint values to local storage, validates via png__check_chromaticity_endpoints, then stores into the colorspace. Errors "invalid end points" on bad data. 0x00E6E6A0 124 png__colorspace_set_gamma file libpng: Sets gamma value on a colorspace structure. Validates gamma range (>= 16, < 0x2540BE40), checks for duplicates, verifies against existing gamma if check_gamma flag set. Stores gamma value and marks colorspace as having gamma. 0x00E6E720 345 png__colorspace_compute_XYZ_coefficients file libpng: Computes XYZ color coefficients from cHRM chunk data. Normalizes RGB-to-XYZ values so they sum to 0x8000 (the PNG fixed-point representation of 1.0). Adjusts the largest component to fix rounding. Fatal error on invalid cHRM data. 0x00E6E880 264 png__colorspace_set_sRGB file libpng: Sets sRGB colorspace with rendering intent. Validates intent (0-3), checks for duplicates, verifies cHRM matches sRGB standard values. Sets sRGB gamma (0xB18F=45455), sRGB chromaticities, and sRGB ICC profile data. Returns 1 on success, 0 on error. 0x00E6E990 218 png__colorspace_set_chromaticities_internal file libpng: Internal implementation to set chromaticities on a colorspace. Checks for inconsistencies with existing chromaticities, copies xy and XYZ endpoint data, and checks if values match sRGB standard (within tolerance of 1000). Returns 2 on success, 0 on inconsistency. 0x00E6EA70 93 png__copy_colorspace_to_info file libpng: Copies colorspace data from png_struct (offsets 0x2C8-0x310) to png_info (offsets 0x28-0x70). Transfers chromaticity endpoints, XYZ coefficients, and gamma data. Calls png__update_info_colorspace_flags afterward. 0x00E6EAD0 111 png__update_info_colorspace_flags file libpng: Updates png_info valid flags based on colorspace status flags. Sets/clears sRGB (0x800), cHRM (0x4), and gAMA (0x1) valid bits in info_ptr->valid (offset 0x8) based on the colorspace status word at offset 0x72. 0x00E6EB40 467 png__icc_check_known_sRGB_profiles file libpng: Checks an ICC profile against known sRGB profiles. Compares profile header fields (MD5, size, date) against a table of 7 known sRGB profiles. Warns about out-of-date or incorrect profiles. Returns match index + 1, or 0 if no match. 0x00E6ED20 60 png__convert_time_to_string file libpng: Converts a png_time struct to a formatted string. Writes to buffer at png_struct+0x214. Warns "Ignoring invalid time value" on validation failure. 0x00E6ED60 415 png__format_time_string file libpng: Formats a png_time to a human-readable date string (e.g. "DD Mon YYYY HH:MM:SS +0000"). Validates year<10000, month 1-12, day 1-31, hour<24, minute<60, second<61. Returns 1 on success, 0 on invalid time. 0x00E6EF00 54 png__create_info_struct file libpng: Allocates and zero-initializes a png_info struct (0x118 bytes). Returns pointer to the new info struct, or NULL if png_ptr is NULL or allocation fails. 0x00E6EF40 397 png__create_read_struct file libpng: Creates a PNG read structure. Initializes a local png_struct with error handling (setjmp), user limits (1M width/height, 1000 chunks), and callbacks. Copies the struct to a heap-allocated buffer (0x314 bytes). Returns the read struct or NULL on failure. 0x00E6F0D0 65 png__data_freer file libpng: Sets or clears data ownership flags for png_info data. param_3=1 sets the flag bits (png frees), param_3=2 clears them (user frees). Fatal error on unknown freer parameter. Flags stored at info_ptr offset 0xF4. 0x00E6F120 361 png__free_gamma_tables file libpng: Frees all gamma lookup tables from the PNG struct. Releases the 8-bit table (offset 0x190), 16-bit table arrays (offsets 0x194, 0x1A0, 0x1A4) including their sub-tables, and the background gamma table (0x198, 0x19C). Nullifies all pointers after freeing. 0x00E6F290 72 png__destroy_info_struct file libpng: Destroys a png_info struct. Frees owned data via png__free_info_data, zeroes the 0x118 byte struct, then frees the struct itself. Sets the info pointer to NULL. 0x00E6F2E0 96 png__float_to_fixed_point file libpng: Converts a double-precision float to PNG fixed-point integer (multiplied by 100000). Floors the result with 0.5 rounding. Fatal error if result overflows int range. 0x00E6F340 1228 png__free_info_data file libpng: Frees data owned by a png_info struct based on ownership flags (offset 0xF4). Handles text chunks (0x4000), tRNS (0x2000), sCAL (0x100), iCCP (0x80), sPLT (0x20), unknown chunks (0x200), PLTE (0x1000), hIST (0x8), pCAL (0x10), rows (0x40), and eXIf (0x8000). Clears corresponding valid bits. 0x00E6F810 106 png__gamma_16bit_correct file libpng: Applies gamma correction to a 16-bit value. Converts to [0,1] range, raises to gamma power via pow(), and converts back to 16-bit. Returns input unchanged for 0 and 0xFFFF edge cases. 0x00E6F880 111 png__gamma_8bit_correct file libpng: Applies gamma correction to an 8-bit value. Converts to [0,1] range (divides by 255.0), raises to gamma power via pow(), and converts back to 8-bit. Returns input unchanged for 0 and 255. 0x00E6F8F0 44 png__gamma_correct file libpng: Applies gamma correction to a color value. Dispatches to 8-bit or 16-bit gamma correction based on bit depth (offset 0x154). Returns corrected value masked to appropriate bit width. 0x00E6F920 24 png__gamma_significant file libpng: Returns true if a gamma value is significantly different from 1.0. Tests if value is outside range 95000-105000 (i.e. not within 5% of unity/100000). 0x00E6F950 6 png__get_version_string_ptr file libpng: Returns pointer to the libpng version string at DAT_0111ade0. 0x00E6F970 17 png__get_io_ptr file libpng: Returns the I/O pointer (user data) stored at offset 0x60 in the png_struct. Returns 0 if png_ptr is NULL. 0x00E6F990 9 thunk_to_png__get_version_string_ptr file Thunk to png__get_version_string_ptr, returns pointer to the libpng version string. 0x00E6F9A0 64 png__get_chunk_filter_flag file libpng: Looks up a chunk name in the chunk filter list (stored at offsets 0x244/0x248). Searches backward through the list of 5-byte entries (4-byte chunk name + 1-byte flag). Returns the flag byte if found, 0 if not found or list is empty. 0x00E6F9E0 779 png__icc_check_header file libpng: Validates an ICC profile header. Checks: length match, alignment, tag count, rendering intent (0-3), signature ('acsp'), PCS illuminant (D50), color space (GRAY/RGB matching image type), profile class (mntr/scnr/prtr/spac allowed, abst/link/nmcl rejected), and PCS encoding (Lab/XYZ). Returns 1 if valid. 0x00E6FCF0 83 png__icc_check_length file libpng: Checks ICC profile length against application limits. First validates basic length, then checks if it exceeds the user-specified maximum profile length (offset 0x288). Returns 1 if valid, 0 if exceeds limit. 0x00E6FD50 253 png__icc_check_tag_table file libpng: Validates ICC profile tag table entries. Checks that each tag's offset+size fits within the profile, and that tag offsets are 4-byte aligned. Returns 1 if all tags are valid. 0x00E6FE50 310 png__icc_profile_error file libpng: Formats and reports an ICC profile error. Builds a message like "profile '': : ". Sets the colorspace invalid flag (0x8000) if a colorspace is provided. Reports as warning (level 1) or error (level 2) depending on whether colorspace was provided. 0x00E6FF90 75 png__icc_set_sRGB_if_known file libpng: Checks if the ICC profile matches a known sRGB profile and if so, sets sRGB colorspace with the rendering intent extracted from the profile header at offset 0x40. 0x00E6FFE0 21 png__sanitize_byte_to_printable file libpng: Sanitizes a byte to printable ASCII range. Returns the byte if in range [0x20, 0x7E], otherwise returns '?' (0x3F). 0x00E70000 72 png__format_chunk_tag file libpng: Formats a 4-byte chunk tag into a quoted printable string like "'IHDR'". Sanitizes each byte to printable ASCII, wrapping in single quotes. 0x00E70050 41 png__image_error file libpng: Sets an error message on a png_image struct. Copies the error string to the message buffer (offset 0x20, max 0x40), sets the error flag bit (0x2) in flags at offset 0x1C, then calls the cleanup handler. 0x00E70080 47 png__image_free file libpng: Frees a png_image's internal control structure. Checks that the image, control pointer, and reference count (at control+8) are valid. Calls the cleanup callback then NULLs the control pointer. 0x00E700B0 157 png__image_read_cleanup file libpng: Cleanup callback for png_image read operations. Closes the FILE handle if owned (flag bit 2), copies control data to stack, frees the control struct, then calls either png_read_end or png_destroy_read_struct depending on the high-bit flag. Returns 1 on success, 0 if no png_ptr. 0x00E70150 74 png__image_init_info file libpng: Initializes or reallocates a png_info struct for a png_image. If the existing struct is too small (< 0x118 bytes), frees it and allocates a new one. Zeroes the 0x118-byte struct. 0x00E701A0 18 png__set_io_ptr file libpng: Sets the I/O pointer (user data) at offset 0x60 in png_struct. This is typically a FILE* or custom I/O struct used by read/write callbacks. 0x00E701C0 164 png__muldiv file libpng: Computes (param_2 * param_3) / param_4 with overflow protection using double-precision float intermediary. Returns 1 on success (result stored in *param_1), 0 on division by zero or overflow. 0x00E70270 58 png__muldiv_warn file libpng: Wrapper around png__muldiv that warns on overflow. Returns the computed value, or 0 with a "fixed point overflow ignored" warning on failure. 0x00E702B0 113 png__pow2 file libpng: Computes 2^n using repeated squaring (exponentiation by squaring). Handles negative exponents by computing 1/(2^\|n\|). Returns 0 for very negative values (< -307). Used for floating-point gamma calculations. 0x00E70330 110 png__reciprocal2 file libpng: Computes the product of two values scaled by a constant (reciprocal of 100000). Used for combining two gamma values. Returns 0 on overflow. 0x00E703A0 103 png__reciprocal file libpng: Computes the reciprocal of a gamma value (constant / param_1). Used to invert gamma for encoding/decoding. Returns 0 on overflow. 0x00E70410 126 png__reciprocal_product file libpng: Computes constant / (param_1 * param_2) for gamma inverse product. Used when combining screen gamma and file gamma. Returns 0 on overflow or if either input is 0. 0x00E70490 28 png__reset_crc file libpng: Resets the CRC-32 value in png_struct (offset 0x13C) to initial state by calling crc32(0, NULL, 0). 0x00E704B0 31 png__reset_zstream file libpng: Resets the zlib decompression stream. Returns -2 (Z_STREAM_ERROR) if png_ptr is NULL, otherwise delegates to inflateReset. 0x00E704D0 5 png__save_uint_32 file libpng: png_save_uint_32, stores a 32-bit integer as 4 big-endian bytes to a buffer. Standard PNG byte-order serialization. 0x00E704E0 85 png__set_check_for_invalid_index file libpng: Sets the palette index checking mode. param_2 selects which 2-bit field in the mode word (offset 0x210) to modify. param_3 controls the new value (2 if 0, 3 if nonzero). Returns the previous value of that field. 0x00E70540 44 png__set_sig_bytes file libpng: Tells libpng how many PNG signature bytes have already been read. Stores count at offset 0x159. Fatal error if count exceeds 8 (the full PNG signature length). 0x00E70570 223 png__sig_cmp file libpng: Compares bytes against the PNG signature (89 50 4E 47 0D 0A 1A 0A). param_2 is the starting offset into the signature, param_3 is the number of bytes to check. Returns 0 if match, -1 or 1 on mismatch. 0x00E70650 293 png__check_version file libpng: Checks if the application was compiled with a compatible libpng version. Compares the compile-time version string against the runtime version up to the second dot. Warns "Application built with libpng X but running with Y" on mismatch. Returns 1 if compatible. 0x00E70780 332 png__xy_from_XYZ file libpng: Converts XYZ colorspace values to xy chromaticity coordinates. Computes x=X/(X+Y+Z) and y=Y/(X+Y+Z) for R, G, B primaries and white point using png__muldiv. Returns 0 on success, 1 on overflow. 0x00E708D0 59 png__zalloc file libpng: Allocator callback for zlib. Computes total size (items * size) with overflow check. Warns "Potential overflow in png_zalloc" if multiplication would overflow. Returns allocated memory or NULL. 0x00E70910 5 thunk_to_png_free_default file Thunk to png_free_default, calls the custom free callback at png_ptr+0x264 if set, otherwise falls through to png_free_default (C free). 0x00E70920 157 png__set_zlib_error_message file libpng: Maps zlib return codes to human-readable error strings. Handles Z_STREAM_END(1), Z_NEED_DICT(2), Z_ERRNO(-1), Z_STREAM_ERROR(-2), Z_DATA_ERROR(-3), Z_MEM_ERROR(-4), Z_BUF_ERROR(-5), Z_VERSION_ERROR(-6), and a special truncated code(-7). Stores message at offset 0x9C only if not already set. 0x00E709F0 104 png__image_sample_convert file libpng: Converts an 8-bit sample value to the target encoding (linear/sRGB/gamma). Mode 1: lookup table, mode 3: gamma correction via png__gamma_16bit_correct, mode 4: simple 8-to-16 bit expansion (multiply by 0x101), default: pass through. 0x00E70A60 160 png__image_create_colormap_alpha file libpng: Creates a colormap with alpha channel entries. Generates grayscale ramp entries (0x73 step/0xE7 divisor), a fully transparent white entry, then additional alpha-graduated entries in 0x33 steps. Each entry is added via png__image_add_colormap_entry. 0x00E70B00 51 png__image_create_colormap_gray file libpng: Creates a 256-entry grayscale colormap. Each entry maps index N to (R=N, G=N, B=N, A=0xFF) with encoding mode 1 (sRGB). 0x00E70B40 51 png__image_create_colormap_gray_linear file libpng: Creates a 256-entry linear grayscale colormap. Same as gray version but uses encoding mode 3 (linear/gamma-corrected) instead of mode 1 (sRGB). 0x00E70B80 90 png__image_create_colormap_rgb file libpng: Creates a 6x6x6 RGB color cube colormap (216 entries). Iterates R, G, B in steps of 0x33 (0, 51, 102, 153, 204, 255) producing 216 entries, all with alpha=0xFF and encoding mode 1 (sRGB). 0x00E70BE0 131 png__image_compose_sample file libpng: Composites a foreground sample over a background sample using alpha blending. Converts both samples via png__image_sample_convert, blends using alpha, then converts back to target encoding (sRGB lookup table or linear). 0x00E70C70 1286 png__image_add_colormap_entry file libpng: Adds a single RGBA entry to a colormap at the given index. Handles color type conversion (grayscale vs RGB), encoding conversion (sRGB/linear/gamma), alpha premultiplication for linear mode, and different output formats (8-bit/16-bit, with/without alpha, BGR/RGB order). Fatal error on index >= 256 or encoding mismatch. 0x00E711A0 31 png__create_read_struct_simple file libpng: Simplified wrapper for png__create_read_struct_2 that passes NULL for the custom memory allocator/deallocator. Creates a png_read_struct with just version, error_ptr, error_fn, and warning_fn. 0x00E711C0 81 png__create_read_struct_2 file libpng: Creates a PNG read struct with custom allocator. Calls png__create_read_struct, sets mode flags (0x300000), valid flag (0x8000), chunk limit (0x2000), and configures CRC handling via set_crc_action(0,0). 0x00E71220 61 png__destroy_read_struct file libpng: Destroys a PNG read struct and its associated info structs. Destroys both end_info and info structs, then calls png_read_destroy to clean up internal state, and finally frees the png_struct itself. 0x00E71260 210 png__do_read_transformations_rgb_delta file libpng: Applies RGB delta decoding to a row. For color types 2 (RGB) and 6 (RGBA), converts delta-encoded R,G,B channels by adding the G channel value to R and B. Handles both 8-bit and 16-bit (big-endian) samples. 0x00E71340 57 png__gamma_threshold_check file libpng: Checks if gamma correction is needed. Returns 1 if gamma >= 100000 (trivially above), 0 if gamma is 0, or delegates to png__gamma_significant to check if gamma differs meaningfully from 1.0. 0x00E71380 171 png__image_begin_read_from_file file libpng: Begins reading a PNG image from a file path. Validates state (version must be 1), opens the file with fopen, initializes read control, sets the FILE pointer as I/O ptr, marks the file as owned (flag 2), and starts header reading. Closes file on init failure. 0x00E71430 139 png__image_begin_read_from_memory file libpng: Begins reading a PNG image from a memory buffer. Validates state and params, sets up the memory buffer pointer and length in the control struct, installs a custom memory read callback, and starts header reading. 0x00E714C0 106 png__image_begin_read_from_stdio file libpng: Begins reading a PNG image from an open FILE* (stdio). Validates state and non-null FILE, sets FILE as the I/O pointer (without owning it), and starts header reading. 0x00E71530 466 png__image_finish_read file libpng: Completes reading a PNG image into user buffer. Validates parameters (buffer, stride, overflow), determines colormap vs direct mode, dispatches to appropriate colormap or direct read processor, then frees the image control. Returns 1 on success. 0x00E71710 66 png__image_get_format_flags file libpng: Gets the image format flags from the PNG struct. Bit 0: alpha channel present, bit 1: color (not grayscale), bit 2: 16-bit depth, bit 3: interlaced. Checks color type, tRNS presence, bit depth, and interlace flag. 0x00E71760 97 png__image_memory_read_callback file libpng: Custom read callback for memory-based PNG reading. Copies requested bytes from the memory buffer, advancing the pointer and decreasing remaining length. Fatal error "read beyond end of data" if buffer exhausted or "invalid memory read" if I/O pointer is NULL. 0x00E717D0 474 png__image_read_colormap_to_indexed file libpng: Reads PNG rows and converts to colormap-indexed output. Handles different colormap encoding types (gray+alpha, gray+transparent, RGB, RGBA) with interlace support. Processes each pixel through quantization to find nearest colormap index for output. 0x00E71B70 1467 png__image_read_direct_alpha_compose file libpng: Reads PNG rows with alpha compositing for direct (non-colormap) output. Handles 8-bit and 16-bit grayscale with alpha, compositing against background color using sRGB lookup tables. Supports both transparent background and user-specified background with interlace handling. 0x00E72130 301 png__image_read_colormap_setup file libpng: Sets up colormaps for simplified API image reading. Handles all PNG color types (gray, palette, gray+alpha, RGB, RGBA) with optional transparency, background composition, and gamma correction. Creates appropriate colormap entries and configures read transforms. Very complex function handling all colormap generation cases. 0x00E72B73 430 CRT_stub_00e72b73 crt Crt stub 00e72b73, small utility function 0x00E72FF0 96 png__image_read_colormap_process file libpng: Processes colormap-based PNG image reading. Validates the expected post-transform format, sets up row buffer, and either directly reads rows to output or dispatches to png__image_read_colormap_to_indexed for indexed conversion. Handles interlace passes and palette max calculation. 0x00E731D0 642 png__image_read_direct_alpha_blend_rows file libpng: Reads PNG rows with per-pixel alpha blending for direct output. Composites each pixel against background using sRGB linearization tables. Handles interlaced images, supports both gray+alpha and RGB+alpha color types. Used when alpha needs compositing but output is 8-bit sRGB. 0x00E73460 1207 png__image_read_direct file libpng: Main direct (non-colormap) image read function. Sets up all necessary transforms (color conversion, gamma, alpha handling, bit depth, interlace, swap), reads rows into user buffer. Dispatches to alpha blend/compose helpers when needed. Handles format flag mismatches with fatal errors. 0x00E73920 166 png__image_read_header file libpng: Reads and processes the PNG header for the simplified API. Calls png_read_info, extracts width/height/format flags, detects sRGB colorspace capability, and determines maximum colormap size based on color type and bit depth. Stores results in the image control struct. 0x00E739D0 203 png__image_read_init_control file libpng: Initializes the internal control structure for the simplified PNG image read API. Creates read struct, info struct, and a 0x18-byte control block. Sets error/warning callbacks and links everything together. Returns 1 on success, 0 with error message on failure. 0x00E73AA0 39 png__set_keep_unknown_chunks file libpng: Configures handling of unknown chunks. Sets default behavior to keep=1 (handle normally), then sets specific chunk types from a list of 6 chunks (at DAT_011bc338) to default handling (keep=0). 0x00E73AD0 314 png__read_destroy file libpng: Destroys internal state of a PNG read struct. Frees gamma tables, IDAT buffer, row buffer, previous row, chunk list, palette (if owned), tRNS data (if owned), zlib stream, old row buffer, and all other allocated memory. Nullifies all pointers. 0x00E73C10 833 png__read_end file libpng: Reads remaining chunks after image data (IEND). Finishes IDAT processing, checks palette index warnings, then loops reading chunk headers and dispatching to appropriate handlers (IHDR, IEND, PLTE, bKGD, cHRM, eXIf, gAMA, hIST, oFFs, pCAL, sCAL, pHYs, sBIT, sRGB, iCCP, sPLT, tEXt, tIME, tRNS, zTXt, iTXt) until IEND is found. 0x00E73F60 170 png__read_image file libpng: Reads the entire PNG image into an array of row pointers. Handles interlace by reading multiple passes. If interlace handling is not set up by the user, warns about it. Calls png_read_row for each row in each interlace pass. 0x00E74010 810 png__read_info file libpng: Reads PNG header and all chunks before image data. Reads signature, then loops reading chunk headers and dispatching to handlers until IDAT is found. Handles all standard chunk types (IHDR, PLTE, bKGD, cHRM, eXIf, gAMA, hIST, oFFs, pCAL, sCAL, pHYs, sBIT, sRGB, iCCP, sPLT, tEXt, tIME, tRNS, zTXt, iTXt). Returns with IDAT length stored for subsequent row reading. 0x00E74340 456 png__read_png file libpng: High-level function to read an entire PNG. Reads header info, applies requested transforms (strip 16-bit, strip alpha, packing, expand, etc. based on flags), allocates row pointers, reads all image data, then reads post-IDAT chunks. The transform flags are standard libpng PNG_TRANSFORM_* values. 0x00E74510 779 png__read_row file libpng: Reads and processes a single row of PNG image data. Handles interlace pass tracking, reads IDAT data, applies PNG row filter (sub/up/average/paeth), applies read transforms, handles interlace row expansion and combination with previous pass data. Calls the row callback if set. 0x00E74840 141 png__read_rows file libpng: Reads multiple rows of PNG image data. Iterates param_4 times calling png__read_row. Supports separate row and display row arrays (either can be NULL). Advances row pointers after each call. 0x00E748D0 55 png__read_update_info file libpng: Updates the png_info struct to reflect the effect of applied transforms. Must be called after setting transforms but before reading rows. Starts the row processing if not already started, then updates the info struct fields. Warns if called after rows have already been read. 0x00E74910 21 png__set_strip_alpha_00e74910 file Sets the strip alpha flag on a PNG read structure. If param_1 is non-null, stores param_2 at offset 0x1C4 to configure alpha channel stripping behavior. 0x00E74930 41 png__start_read_image file libpng: Starts PNG image row reading. If not already started (flag 0x40 not set), calls png_read_start_row to initialize. If already started, logs a warning or error based on mode flags. 0x00E74960 91 png__image_determine_encoding file libpng: Determines the encoding mode for simplified API image reading based on gamma. Mode 4: gamma insignificant (pass through), mode 3: gamma needs correction (computes reciprocal), mode 1: gamma below threshold (sRGB). 0x00E749C0 33 png__app_warning_or_error file libpng: Issues a warning if mode flag 0x400000 is set, otherwise issues a fatal error. Used when the application calls a function in an unexpected state (e.g., calling read_update_info after rows started). 0x00E749F0 33 png__app_error_or_warning file libpng: Issues a warning if mode flag 0x200000 is set, otherwise issues a fatal error. Similar to png__app_warning_or_error but checks different flag bit. 0x00E74A20 86 png__chunk_benign_error file libpng: Reports a benign chunk error. Behavior depends on mode flags: if 0x100000 set, issues warning (with chunk prefix if inside a chunk); otherwise issues fatal error (with chunk prefix if inside a chunk and flag 0x8000 is set). 0x00E74A80 33 png__chunk_error_or_warning file libpng: Reports a chunk error. If mode flag 0x100000 is set, issues a chunk warning; otherwise issues a fatal chunk error. Used for errors that may be non-fatal in some modes. 0x00E74AB0 56 png__formatted_chunk_error file libpng: Formats a chunk error message with the current chunk name prefix and issues a fatal error. Prepends the chunk tag to the error message using png__format_error_string. 0x00E74AF0 71 png__chunk_report file libpng: Reports a chunk-related issue at a given severity level. Level 0: error or warning (via app_error), level 1: warning or error (via app_warning), level 2+: chunk warning if inside chunk (flag 0x8000 set), otherwise chunk error. 0x00E74B40 78 png__formatted_chunk_warning file libpng: Formats a chunk warning message with the current chunk name prefix and issues a warning. Prepends the chunk tag to the message using png__format_error_string if png_ptr is valid. 0x00E74B90 76 png__default_error_handler file libpng: Default error handler. Prints "libpng error: " to stderr, calls abort via png_longjmp. Uses __debugbreak (int 3) as fallback if longjmp fails. Replaces NULL message with "undefined". 0x00E74BE0 56 png__default_warning_handler file libpng: Default warning handler. Prints "libpng warning: " followed by a newline to stderr. 0x00E74C20 37 png__error file libpng: Issues a fatal PNG error. Calls the user error handler if set (offset 0x4C), then falls through to the default error handler. This function never returns - it either longjmps or aborts. 0x00E74C50 110 png__fixed_point_overflow_error file libpng: Issues a "fixed point overflow" fatal error with an appended context message. Copies the context string (up to 0xC3 chars) after the overflow prefix and calls png__error. 0x00E74CC0 273 png__format_error_string file libpng: Formats an error/warning string with the current chunk name prefix. Converts the 4-byte chunk tag at offset 0x11C to printable form (non-alpha bytes shown as [XX]), appends ": " and the error message. Output buffer receives "XXXX: message". 0x00E74DE0 297 png__format_number file libpng: Formats an unsigned integer into a string buffer (right-to-left). Supports decimal (mode 1-2), hexadecimal (mode 3-4), and fixed-point decimal with 5 fractional digits (mode 5). Modes 2,4 pad to minimum 2 characters. Returns pointer to the start of the formatted string. 0x00E74F20 219 png__formatted_warning file libpng: Formats a warning message with parameter substitution. '@1' through '@8' in the format string are replaced with 32-byte string parameters from the params array. Builds the result into a 192-byte buffer and calls png__warning. 0x00E75000 136 png__safe_execute_jmpbuf_cleanup file libpng: Cleans up the setjmp/longjmp error handling context. If a different jmp_buf was installed (not the struct itself), frees it via a temporary setjmp context. Clears the longjmp callback, jmp_buf pointer, and error return address. 0x00E75090 17 png__get_error_ptr file libpng: Returns the user-defined error pointer stored at offset 0x54 in the png_struct. Returns 0 if png_ptr is NULL. 0x00E750B0 41 png__longjmp file libpng: Performs a longjmp to exit the current PNG operation. Calls the longjmp function pointer at offset 0x40 with the jmp_buf at offset 0x44. If longjmp is not set up, calls ExitProcess(0) as fallback. 0x00E750E0 94 png__image_error_callback file libpng: Error callback for the simplified API. Gets the png_image from the error pointer, copies the error message, sets the error flag (bit 2), then longjmps back to the safe execute point. Aborts if longjmp fails, prepending "bad longjmp: " to the message. 0x00E75140 143 png__safe_execute file libpng: Safely executes a callback function with error recovery. Sets up a setjmp point, installs it in the control struct, calls the callback. On error (longjmp), frees the image. Returns callback result on success, 0 on error. 0x00E751D0 42 png__image_warning_callback file libpng: Warning callback for the simplified API. Stores the first warning message in the image's message buffer (offset 0x20, max 0x40) and sets warning flag (bit 1). Ignores subsequent warnings if flags are already set. 0x00E75200 61 png__safe_strcpy file libpng: Safe string copy with bounds checking. Copies from param_4 to param_1 starting at offset param_3, up to param_2-1 characters. Always null-terminates. Returns void but effectively acts as strlcpy into a buffer region. 0x00E75240 30 png__set_error_fn file libpng: Sets the error handling functions and user error pointer. Stores error_ptr at offset 0x54, error_fn at offset 0x4C, and warning_fn at offset 0x50 in the png_struct. 0x00E75260 127 png__set_longjmp_fn file libpng: Sets the longjmp function and allocates the jmp_buf. If jmp_buf not yet allocated and size > 0x40, allocates from heap; otherwise uses inline buffer at png_struct base. Validates size consistency on subsequent calls. Returns pointer to jmp_buf or 0 on failure. 0x00E752E0 90 png__warning file libpng: Issues a PNG warning. If the message starts with '#', skips the numeric prefix (up to 15 chars before a space). Calls user warning handler if set (offset 0x50), otherwise calls the default warning handler. 0x00E75340 43 png__warning_parameter_set file libpng: Sets a string parameter for formatted warnings. param_2 (1-8) selects which of 8 parameter slots (each 32 bytes) to write the string value into. 0x00E75370 98 png__warning_parameter_signed file libpng: Sets a signed integer warning parameter. Formats the number using png__format_number, prepends '-' for negative values, and stores in the specified parameter slot. 0x00E753E0 68 png__warning_parameter_unsigned file libpng: Sets an unsigned integer warning parameter. Formats the number using png__format_number and stores in the specified parameter slot. 0x00E75430 122 png__fixed_from_double file libpng: Converts a double-precision gamma value to PNG fixed-point integer. If value is between 0 and a threshold, multiplies by 100000. Rounds with floor(x+0.5). Fatal "gamma value" overflow error if result exceeds int range. 0x00E754B0 92 png__do_chop_16to8 file libpng: Chops 16-bit samples down to 8-bit by keeping only the high byte. Copies every other byte, then updates the row info to reflect 8-bit depth. 0x00E75510 4367 png__do_read_transformations_background file libpng: Applies background compositing and gamma correction during row read. Handles all color types (gray 1/2/4/8/16 bit, RGB 8/16 bit, gray+alpha 8/16, RGBA 8/16). Replaces transparent pixels with background color and applies gamma tables for correction. Very large function (~4.3KB) handling all pixel format combinations. 0x00E76670 232 png__do_encode_alpha file libpng: Encodes/transforms alpha channel values through gamma table. For 8-bit: applies background gamma table lookup. For 16-bit: applies 16-bit gamma table lookup. Only processes color types with alpha (4, 6). Warns on unexpected call conditions. 0x00E76760 1067 png__do_expand_tRNS file libpng: Expands transparency (tRNS) data into a full alpha channel. For grayscale: expands 1/2/4-bit to 8-bit first, then adds alpha. For RGB: adds alpha channel based on tRNS color match. Handles both 8-bit and 16-bit samples. Updates row info color type and channel count. 0x00E76B90 75 png__do_expand_16 file libpng: Expands 8-bit samples to 16-bit by duplicating each byte. Only applies to non-palette color types at 8-bit depth. Updates row info to reflect 16-bit depth. 0x00E76BE0 621 png__do_expand_palette file libpng: Expands palette-indexed pixels to RGB or RGBA. First unpacks sub-byte (1/2/4-bit) indices to 8-bit. Then looks up each index in the palette to get RGB values, optionally adding alpha from tRNS data. Updates color type to RGB(A) and adjusts row info. 0x00E76E50 992 png__do_gamma_correction file libpng: Applies gamma correction to pixel data using precomputed gamma tables. Handles all color types (gray 2/4/8/16 bit, RGB 8/16, gray+alpha 8/16, RGBA 8/16). For sub-byte gray (2/4 bit), applies gamma per packed pixel. Uses 8-bit lookup table or 16-bit 2D table depending on depth. 0x00E77250 435 png__do_gray_to_rgb file libpng: Converts grayscale pixels to RGB by triplicating each sample. Handles gray (type 0) and gray+alpha (type 4) for both 8-bit and 16-bit depths. Works right-to-left to expand in-place. Updates color type to include RGB flag. 0x00E77410 366 png__do_quantize file libpng: Quantizes RGB/RGBA pixels to palette indices. For RGB (type 2) and RGBA (type 6): looks up each pixel in a quantize table using (R&F8)<<5\|(G&F8)<<2\|(B>>3) as index. For palette (type 3): remaps indices through a translation table. Only works at 8-bit depth. 0x00E77580 677 png__do_read_filler file libpng: Adds a filler byte/word to pixel data (e.g., adding alpha=0xFF to RGB to make RGBA). Handles gray and RGB at both 8-bit and 16-bit. The filler can be prepended (param_4 & 0x80) or appended based on flags. Expands in-place right-to-left. Updates channel count and row info. 0x00E77830 145 png__do_read_invert_alpha file libpng: Inverts alpha channel values (alpha = ~alpha). Handles color types 6 (RGBA) and 4 (gray+alpha) at both 8-bit and 16-bit depth. Works backwards through the row data. 0x00E778D0 264 png__do_read_swap_alpha file libpng: Swaps alpha channel position in pixel data. For RGBA: moves alpha from last to first position (RGBA -> ARGB). For gray+alpha: swaps GA -> AG. Handles both 8-bit and 16-bit. Works backwards through row. 0x00E779E0 1080 png__do_read_transformations file Applies all configured PNG read transformations to a row of pixels. Checks transformation flags at offset 0x7C and applies in order: palette expansion, tRNS expansion, strip alpha, RGB to gray, gray to RGB, background compositing, gamma correction, scale 16-to-8, chop 16-to-8, quantize, expand 16, invert, swap alpha, shift, unpack, BGR swap, packswap, filler, swap bytes, and user transform callback. Updates row info after each applicable transformation. 0x00E77E20 1031 png__do_rgb_to_gray file Converts RGB pixel data to grayscale using configurable weights. Handles 8-bit and 16-bit color depths, with and without alpha channel. Uses red/green/blue weighting coefficients from the PNG struct (offsets 0x24E, 0x250). Supports both direct computation and gamma-corrected lookup table paths. Returns 1 if any non-gray pixels were found, 0 otherwise. 0x00E78230 96 png__do_scale_16to8 file libpng: Scales 16-bit samples down to 8-bit with proper rounding (not just truncation). Uses the formula: out = hi + ((lo - hi + 128) * 65535 >> 24). Updates row info to 8-bit depth. 0x00E78290 359 png__do_unpack file libpng: Unpacks sub-byte samples (1, 2, or 4-bit) to one sample per byte. Expands in-place right-to-left to avoid overwriting. For 1-bit: extracts each bit. For 2-bit: extracts 2-bit values. For 4-bit: extracts nibbles. Updates row info to 8-bit depth. 0x00E78400 514 png__do_shift file libpng: Applies sBIT-based bit depth reduction by right-shifting samples. Computes shift amounts from the difference between actual bit depth and sBIT values for each channel. Handles 2/4/8/16-bit samples across all non-palette color types. Skips if no significant shift is needed. 0x00E78630 59 png__gamma_not_sRGB file libpng: Returns 1 if the product of two gamma values is significantly different from sRGB (i.e., the combined gamma correction is meaningful). Returns 0 if the result is close to unity or calculation overflows. 0x00E78670 328 png__init_read_transformations file libpng: Initializes read transform state. Processes tRNS data to determine alpha handling, sets up background color from palette if needed, and optionally inverts tRNS alpha data when both tRNS and background are active in non-alpha-strip mode. Handles the tRNS inversion in 64-byte blocks for performance. 0x00E787C0 2769 png__init_gamma_and_background file libpng: Main initialization of gamma correction and background compositing for read transforms. Sets up gamma tables, computes background gamma correction, handles palette gamma for indexed images, applies sBIT shift to palette, and configures all gamma-related transform flags. Called during png_read_start_row. 0x00E792A0 214 png__init_non_palette_transforms file libpng: Initializes transform state for non-palette images. Clears alpha mode flags if no alpha channel, disables tRNS if not present. Expands background/transparent values for sub-8-bit gray (1/2/4 bit to 8-bit range) based on bit depth. 0x00E79380 484 png__read_transform_info file libpng: Updates png_info to reflect the effects of applied read transforms. Adjusts color type (expand palette to RGB/RGBA, strip alpha, add filler), bit depth (16->8, expand to 16), channel count, and pixel size. Updates background color, gamma, and row byte count. Called by png_read_update_info. 0x00E79570 82 png__set_transform_check file libpng: Validates that a read transform can be set. Errors if already past start_read_image (flag 0x40 set). If param_2 is nonzero, also requires IHDR to have been read (flag 0x01). Sets the "transform set" flag (0x4000). Returns 1 if valid to set, 0 otherwise. 0x00E795D0 41 png__set_alpha_mode_double file libpng: Sets alpha mode with gamma as a double. Converts double gamma to fixed-point via png__fixed_from_double, then calls png__set_alpha_mode_fixed. 0x00E79600 286 png__set_alpha_mode_fixed file libpng: Sets the alpha compositing mode and output gamma. Mode 0: default, mode 1: associated alpha (gamma=1.0), mode 2: premultiplied alpha with gamma encoding, mode 3: linear alpha. Validates gamma range (1000-10000000). Sets background to black for modes 1-2 and configures gamma transform flags. 0x00E79730 52 png__set_background_double file libpng: Sets background color with gamma as a double. Converts double gamma to fixed-point, then calls png__set_background_fixed. 0x00E79770 143 png__set_background_fixed file libpng: Sets the background color for alpha compositing. Copies the background RGB values, stores gamma and background type. param_3 must be nonzero (known background). param_4 controls whether to expand 16-bit. Sets transform flags 0x80 (background) and related mode bits. 0x00E79800 66 png__set_crc_action file libpng: Sets how CRC errors are handled for critical and ancillary chunks. For each, values 2=warn, 3=ignore CRC, 4=ignore CRC silently, 5=keep current. Critical chunks warn on attempt to discard. Controls flag bits 0x400/0x800 (critical) and 0x100/0x200 (ancillary). 0x00E798C0 32 png__set_expand file libpng: Enables the expand transform. Sets transform flags 0x1000 (expand) and 0x2000000 (expand tRNS to alpha). This expands palette to RGB, grayscale to 8-bit, and adds alpha from tRNS. 0x00E798E0 32 png__set_expand_gray_1_2_4_to_8 file libpng: Enables expand of 1/2/4-bit grayscale to 8-bit. Also sets the tRNS-to-alpha expansion flag (0x2000000). Sets transform flags 0x1200 \| 0x2000000. 0x00E79900 32 png__set_expand_palette_to_rgb file libpng: Enables palette-to-RGB expansion. Sets transform flag 0x1000. 0x00E79920 65 png__set_gamma_double file libpng: Sets screen and file gamma values from doubles. Converts both to fixed-point and calls png__set_gamma_fixed. 0x00E79970 102 png__set_gamma_fixed file libpng: Sets screen gamma and file gamma for gamma correction. Validates both values (file gamma > 0, screen gamma > 0). Stores file gamma at offset 0x2C8, screen gamma at 0x18C. Sets the gamma-initialized flag (bit 1 at offset 0x312). 0x00E799E0 41 png__set_gray_to_rgb file libpng: Enables grayscale-to-RGB conversion. Also enables palette expansion (0x1000). Sets transform flag 0x4000 for the actual gray-to-RGB conversion. 0x00E79A10 32 png__set_tRNS_to_alpha file libpng: Enables tRNS transparency to alpha channel expansion. Sets transform flags 0x1000 (expand) and 0x2000000 (tRNS to alpha). 0x00E79A30 1887 png__set_quantize file libpng: Sets up color quantization (palette reduction). If no histogram provided, uses a median-cut algorithm to reduce palette from param_3 to param_4 entries. If histogram provided, sorts by frequency and remaps. Builds a 32K-entry quantize lookup table mapping 15-bit RGB to palette index. Sets transform flag 0x40. 0x00E7A190 21 png__set_read_user_chunk_fn file libpng: Sets a user callback for handling unknown chunks. Sets flag 0x100000 in mode word and stores callback pointer at offset 0x64. 0x00E7A1B0 78 png__set_rgb_to_gray_double file libpng: Sets RGB-to-gray conversion with double-precision coefficients. Converts the red and green coefficients to fixed-point, then calls png__set_rgb_to_gray_fixed. 0x00E7A200 240 png__set_rgb_to_gray_fixed file libpng: Sets up RGB-to-grayscale conversion with fixed-point coefficients. Error action: 1=error+no output, 2=only flag, 3=no error. Red/green coefficients must sum to <= 100000 (1.0). Stores coefficients as fixed-point at offsets 0x24E/0x250. Defaults to ITU-R 601 (0x1B38/0x5B8A) if both zero. Also enables palette expansion for indexed images. 0x00E7A300 32 png__set_strip_16 file libpng: Enables stripping 16-bit channels down to 8-bit. Sets transform flag 0x4000000. 0x00E7A320 32 png__set_strip_alpha file libpng: Enables stripping the alpha channel from output. Sets transform flag 0x400. 0x00E7A340 32 png__set_strip_alpha_no_filler file libpng: Strips alpha without adding filler. Sets transform flag 0x40000. 0x00E7A360 32 png__set_expand_with_tRNS file libpng: Enables expand with tRNS to alpha. Sets flags 0x1000 (expand) and 0x2000000 (tRNS to alpha). 0x00E7A380 78 png__resolve_gamma_constant file libpng: Resolves symbolic gamma constants to fixed-point values. -1/-100000 = sRGB (45455 or 220000), -2/-50000 = Mac (65909 or 153132). Sets sRGB flag for sRGB constants. 0x00E7A3D0 214 png__do_bgr file Swaps RGB byte order to BGR (and vice versa) for PNG pixel data. Handles both 8-bit and 16-bit depths, with and without alpha channel. For 8-bit: swaps bytes 0 and 2 in each pixel. For 16-bit: swaps byte pairs 0-1 and 4-5 in each pixel. 0x00E7A4B0 354 png__do_check_palette_indexes file libpng: Scans row data for palette index values exceeding palette size. Tracks maximum index at offset 0x148. Only checks palette (type 3) images with 1/2/4/8-bit depth when palette count is less than max for bit depth. 0x00E7A640 197 png__do_invert file libpng: Bitwise inverts pixel data. For gray (type 0): inverts all bytes with 64-byte loop unrolling. For gray+alpha (type 4): inverts only the gray channel bytes (8-bit or 16-bit), leaving alpha unchanged. 0x00E7A710 102 png__do_packswap file libpng: Reverses bit order within bytes for sub-byte pixel packing (1/2/4-bit). Uses lookup tables to swap MSB-first to LSB-first ordering and vice versa. 0x00E7A780 399 png__do_strip_channel file libpng: Strips a channel from pixel data (removes alpha or filler). For 2-channel gray+alpha and 4-channel RGBA, removes the specified channel. param_3 controls which channel to remove (0=first, nonzero=last). Updates color type, channels, and row bytes. 0x00E7A910 54 png__do_swap_bytes file libpng: Swaps byte order for 16-bit samples (big-endian to little-endian). Iterates through all sample bytes swapping adjacent pairs. 0x00E7A950 22 png__get_interlace_type file Returns the interlace type from a PNG info struct at offset 0x151. Returns 8 if the struct pointer is null. 0x00E7A970 23 png__get_user_chunk_ptr file libpng: Returns the user chunk callback pointer from offset 0x118 in the png_struct. Returns -1 (0xFFFFFFFF) if the struct pointer is null. Note: this is NOT the I/O pointer (which is at offset 0x60). 0x00E7A990 17 png__get_user_data file Returns user data pointer from PNG struct at offset 0x6C. Returns 0 if struct is null. 0x00E7A9B0 47 png__set_add_alpha file Configures PNG to add an alpha channel filler. Calls png__set_filler, then if filler flag (0x8000) is already set, also sets the alpha expansion flag (0x1000000). 0x00E7A9E0 16 png__set_bgr file Enables BGR byte order transformation by setting flag 0x1 in the transformation flags at offset 0x7C. 0x00E7A9F0 146 png__set_filler file Configures PNG filler byte for expanding grayscale or RGB data. Validates color type (must be grayscale or RGB, not paletted). Sets filler value at offset 0x15E, enables filler transformation flag (0x8000), and configures filler position (before=0x80 flag set, after=cleared) based on param_3. 0x00E7AA90 37 png__set_interlace_handling file Enables interlace handling for PNG reading. If interlaced (field 0x150 != 0), sets interlace flag (0x2) and returns 7 (number of Adam7 passes). Returns 1 for non-interlaced images. 0x00E7AAC0 19 png__set_invert_alpha file Enables alpha channel inversion by setting flag 0x80000 in the transformation flags at offset 0x7C. 0x00E7AAE0 16 png__set_invert_mono file Enables monochrome inversion by setting flag 0x20 in the transformation flags at offset 0x7C. 0x00E7AAF0 32 png__set_packing file Enables pixel packing transformation. If bit depth < 8, sets packing flag (0x4) and overrides bit depth to 8 at offset 0x155. 0x00E7AB10 28 png__set_packswap file Enables pack swap transformation for sub-byte pixels (bit depth < 8). Sets flag 0x10000 in transformation flags at offset 0x7C. 0x00E7AB30 36 png__set_shift file Enables bit shifting transformation. Sets shift flag (0x8) and copies 5-byte shift data (sBIT structure) from param_2 to offset 0x1AD in the PNG struct. 0x00E7AB60 25 png__set_swap file Enables byte swap transformation for 16-bit depth images. Sets flag 0x10 in transformation flags at offset 0x7C, only if bit depth is 16. 0x00E7AB80 19 png__set_swap_alpha file Enables alpha channel swap (RGBA to ARGB) by setting flag 0x20000 in the transformation flags at offset 0x7C. 0x00E7ABA0 61 png__set_user_transform_info file Sets user-defined transform info on the PNG struct. Stores user data at 0x6C, user depth at 0x70, user channels at 0x71. Warns if called after read has started (filler flag 0x8000 set and flag 0x40 set). 0x00E7ABE0 49 png__default_read_data_file file Default file-based PNG read callback. Reads param_3 bytes into param_2 from the FILE* at offset 0x60 in the PNG struct. Triggers a PNG error ("Read Error") if the read count doesn't match the requested size. 0x00E7AC20 30 png__default_read_data file Default PNG read data callback. Calls the read function pointer at offset 0x5C. If the function pointer is null, triggers a PNG error with "Call to NULL read function". 0x00E7AC40 73 png__set_read_fn file Sets the PNG read function callback. Stores I/O pointer at offset 0x60, read function at 0x5C (defaults to png__default_read_data if null). Clears write function at 0x58 with a warning if it was set. Clears progressive read flag at 0x17C. 0x00E7AC90 26 png__pixels_to_inches_fixed file libpng: Converts pixels-per-meter to a fixed-point representation related to inches. Computes (param_2 * 500) / 127, which equals param_2 * 3.937 (the meters-to-inches conversion factor * 100). Delegates to png__muldiv_warn for overflow-safe computation. 0x00E7ACB0 166 png_get_IHDR file libpng: png_get_IHDR - extracts image header info (width, height, bit_depth, color_type, interlace, compression, filter) from png_info struct. Calls FUN_00e6dee0 to validate/process the values. Returns 1 on success, 0 if png_ptr or info_ptr is NULL. 0x00E7AD60 54 png_get_oFFs file libpng: png_get_oFFs - retrieves image offset (x_offset, y_offset, unit_type) from png_info. Checks flag bit 0x8. Returns 8 on success, 0 if not available. 0x00E7ADA0 47 png_get_sCAL_s file libpng: png_get_sCAL_s - retrieves sCAL chunk data as string pointer from png_info. Checks flag bit 0x20. Returns pointer to scale data at info+0xaa. Returns 0x20 on success. 0x00E7ADD0 25 png_get_channels file libpng: png_get_channels - returns the number of channels from png_info at offset 0x18. Returns 0 if either pointer is NULL. 0x00E7ADF0 245 png_get_cHRM file libpng: png_get_cHRM - retrieves chromaticity values (white_x, white_y, red_x, red_y, green_x, green_y, blue_x, blue_y) as doubles from png_info. Checks sBIT flag (bit 2). Multiplies raw ints by DAT_011bc300 scale factor. Returns 4 on success. 0x00E7AEF0 269 png_get_cHRM_XYZ file libpng: png_get_cHRM_XYZ - retrieves CIE XYZ chromaticity values (9 doubles: red_X/Y/Z, green_X/Y/Z, blue_X/Y/Z) from png_info. Checks sBIT flag (bit 2). Multiplies raw ints by DAT_011bc300. Returns 4 on success. 0x00E7B000 145 png_get_cHRM_XYZ_fixed file libpng: png_get_cHRM_XYZ_fixed - retrieves CIE XYZ chromaticity values as fixed-point integers (9 values: red_X/Y/Z, green_X/Y/Z, blue_X/Y/Z) from png_info offsets 0x4c-0x6c. Checks sBIT flag (bit 2). Returns 4 on success. 0x00E7B0A0 129 png_get_cHRM_fixed file libpng: png_get_cHRM_fixed - retrieves chromaticity values as fixed-point integers (white_x, white_y, red_x, red_y, green_x, green_y, blue_x, blue_y) from png_info offsets 0x44,0x48,0x2c-0x40. Checks sBIT flag (bit 2). Returns 4 on success. 0x00E7B130 25 png_get_filter_type file libpng: png_get_filter_type - returns the filter type byte from png_info at offset 0x1d. Returns 0 if pointers are NULL. 0x00E7B150 22 png_get_header_ver file libpng: png_get_header_ver - returns the PNG header version string pointer from png_struct at offset 0x284. Returns 0/NULL if png_ptr is NULL. 0x00E7B170 22 png_get_header_version file libpng: png_get_header_version - returns the PNG header version string pointer from png_struct at offset 0x288. Returns 0/NULL if png_ptr is NULL. 0x00E7B190 25 png_get_color_type file libpng: png_get_color_type - returns the color type byte from png_info at offset 0x19. Returns 0 if pointers are NULL. 0x00E7B1B0 37 png_get_rowbytes file libpng: png_get_rowbytes - returns the number of bytes per row. If flag 0x8000 is set, reads from png_struct+0x2ac (transformed rowbytes), otherwise from png_struct+0xc0. Returns 0 if png_ptr is NULL. 0x00E7B1E0 25 png_get_compression_type file libpng: png_get_compression_type - returns the compression type byte from png_info at offset 0x1a. Returns 0 if pointers are NULL. 0x00E7B200 23 png_get_eXIf_deprecated file libpng: png_get_eXIf (deprecated) - warns that png_get_eXIf does not work and to use png_get_eXIf_1 instead. Always returns 0. 0x00E7B220 65 png_get_eXIf_1 file libpng: png_get_eXIf_1 - retrieves eXIf (EXIF) chunk data from png_info. Checks flag bit 0x10000. Returns num_exif and exif data pointer. Returns 0x10000 on success. 0x00E7B270 25 png_get_interlace_type file libpng: png_get_interlace_type - returns the interlace type byte from png_info at offset 0x1b. Returns 0 if pointers are NULL. 0x00E7B290 61 png_get_gAMA file libpng: png_get_gAMA - retrieves gamma value as double from png_info. Checks flag bit 0x1 (gAMA present). Multiplies fixed-point int at offset 0x28 by DAT_011bc300. Returns 1 on success. 0x00E7B2D0 45 png_get_gAMA_fixed file libpng: png_get_gAMA_fixed - retrieves gamma value as fixed-point integer from png_info at offset 0x28. Checks flag bit 0x1 (gAMA present). Returns 1 on success. 0x00E7B300 48 png_get_pHYs file libpng: png_get_pHYs - retrieves physical pixel dimensions (res_x) from png_info at offset 0xd8. Checks flag bit 0x40. Returns 0x40 on success, 0 if not available. 0x00E7B330 118 png_get_iCCP file libpng: png_get_iCCP - retrieves ICC color profile data from png_info. Checks flag bit 0x1000 (iCCP present). Returns profile name count at offset 0x74, profile data pointer at 0x78, and first 4 bytes of profile data. param_4 (compression) always set to 0. Returns 0x1000 on success, 0 if not available. 0x00E7B3B0 25 png_get_image_height file libpng: png_get_image_height - returns the image height from png_info at offset 0x4. Returns 0 if pointers are NULL. 0x00E7B3D0 24 png_get_image_width file libpng: png_get_image_width - returns the image width from png_info at offset 0x0. Returns 0 if pointers are NULL. 0x00E7B3F0 25 png_get_bit_depth file libpng: png_get_bit_depth - returns the bit depth byte from png_info at offset 0x1c. Returns 0 if pointers are NULL. 0x00E7B410 14 png_get_io_ptr file libpng: png_get_io_ptr - returns the I/O pointer from png_struct at offset 0x11c. Used to retrieve custom I/O state. 0x00E7B420 14 png_get_user_chunk_ptr file libpng: png_get_user_chunk_ptr - returns the user chunk data pointer from png_struct at offset 0x2b0. 0x00E7B430 88 png_get_tRNS file libpng: png_get_tRNS - retrieves transparency data (num_trans, trans_alpha, trans_color) from png_info. Checks flag bit 0x100. Returns 0x100 on success. 0x00E7B490 166 png_get_sPLT file libpng: png_get_sPLT - retrieves suggested palette data (7 fields: name, depth, entries, nentries, etc.) from png_info. Checks flag bit 0x400. Returns 0x400 on success. 0x00E7B540 86 png_get_pHYs_00e7b540 file libpng: png_get_pHYs - retrieves physical pixel dimensions (x_ppu, y_ppu, unit_type) from png_info. Checks flag bit 0x80 (PNG_INFO_pHYs). Returns 0x80 on success. Was misnamed png_get_tIME. 0x00E7B5A0 225 png_get_pHYs_dpi file libpng: Extended pHYs retrieval - gets x_ppu, y_ppu, unit_type from png_info. When unit_type==1 (meters), recalculates x/y PPU using DPI conversion. Was misnamed png_get_tIME_with_defaults. 0x00E7B690 29 png_get_chunk_malloc_max file libpng: Returns the chunk malloc max limit from png_struct at offset 0x148. Returns -1 (0xFFFFFFFF) if png_ptr or info_ptr is NULL. Was misnamed png_get_unknown_chunks (that function reads from info_ptr, not png_struct). 0x00E7B6B0 102 png_get_pixel_aspect_ratio file libpng: png_get_pixel_aspect_ratio - calculates pixel aspect ratio as float from pHYs data (y_ppu/x_ppu). Checks flag bit 0x80 and validates x_ppu != 0. Returns 0.0 if not available. 0x00E7B720 89 png_get_pixel_aspect_ratio_fixed file libpng: png_get_pixel_aspect_ratio_fixed - calculates pixel aspect ratio as fixed-point from pHYs data. Uses FUN_00e701c0 for fixed-point division (y_ppu * 100000 / x_ppu). Returns 0 if not available. 0x00E7B780 25 png_get_pixels_per_inch file libpng: png_get_pixels_per_inch - returns pixels per inch by calling png_get_pixels_per_meter then converting via png_ppi_from_ppm. Was misnamed png_get_pixels_per_meter. 0x00E7B7A0 49 png_get_pixels_per_meter file libpng: png_get_pixels_per_meter - returns pixels per meter only when x_ppu == y_ppu and unit_type==1 (meters). Returns x_ppu value. Was misnamed png_get_x_pixels_per_meter. 0x00E7B7E0 22 png_get_interlace_pass file libpng: png_get_interlace_pass - returns current interlace pass number from png_struct at offset 0x24c. Returns 0 if png_ptr is NULL. 0x00E7B800 25 png_get_palette_max file libpng: png_get_palette_max - returns the max palette index from png_info at offset 0xc. Returns 0 if pointers are NULL. 0x00E7B820 28 png_get_num_text file libpng: png_get_num_text - returns the number of text chunks from png_info at offset 0x114. Returns 0 if pointers are NULL. 0x00E7B840 47 png_get_sBIT file libpng: png_get_sBIT - retrieves significant bits info pointer from png_info at offset 0x94. Checks flag bit 0x2. Returns 2 on success. 0x00E7B870 86 png_get_sCAL file libpng: png_get_sCAL - retrieves physical scale data (unit, width, height as doubles via atof) from png_info. Checks flag bit 0x4000. Returns 0x4000 on success. 0x00E7B8D0 123 png_get_sCAL_fixed file libpng: png_get_sCAL_fixed - retrieves physical scale data as fixed-point values. Converts width/height strings via atof then png__float_to_fixed_point. Checks flag bit 0x4000. Returns 0x4000 on success. 0x00E7B950 70 png_get_sCAL_s_00e7b950 file libpng: png_get_sCAL_s - retrieves sCAL unit type and raw string pointers for width/height from png_info. Checks flag bit 0x4000. Returns 0x4000 on success. Was png_get_sCAL_s_raw. 0x00E7B9A0 43 png_get_unknown_chunks file libpng: png_get_unknown_chunks - retrieves unknown chunk list pointer (offset 0x100) and count (offset 0x104) from png_info. Was misnamed png_get_unknown_chunk_data. 0x00E7B9D0 49 png_get_num_palette file libpng: png_get_num_palette - returns the number of palette entries from png_info at offset 0x70 (ushort). Checks flag bit 0x800. Returns 0x800 on success. 0x00E7BA10 25 png_get_signature file libpng: png_get_signature - returns pointer to PNG signature bytes at png_info + 0x20. Returns NULL if pointers are NULL. 0x00E7BA30 50 png_get_bKGD file libpng: png_get_bKGD - retrieves background color pointer from png_info at offset 0x8c. Checks flag bit 0x200. Returns 0x200 on success. 0x00E7BA70 130 png_get_PLTE file libpng: png_get_PLTE - retrieves palette data from png_info. For color_type 3: returns palette pointer at 0x9c and palette color at 0xa0. For others: returns palette color at 0xa0. Sets num_palette from offset 0x16. Checks flag bit 0x10. Returns 0x10 on success. 0x00E7BB00 71 png_get_text file libpng: png_get_text - retrieves text chunk array from png_info. Returns text_ptr at 0x88 and num_text from 0x80. Returns count on success, 0 if none. 0x00E7BB50 43 png_get_hIST file libpng: png_get_hIST - retrieves histogram data pointer and count from png_info at offsets 0xf8/0xfc. Returns count on success, 0 if not available. 0x00E7BB80 22 png_get_compression_buffer_size file libpng: png_get_compression_buffer_size - returns the compression buffer size from png_struct at offset 0x238. Returns 0 if png_ptr is NULL. 0x00E7BBA0 22 png_get_palette_count file libpng: Returns the palette entry count from png_info struct at offset 0x280. Returns 0 if struct is null. Fixed from png__get_palette_count (wrong double-underscore). 0x00E7BBC0 22 png_get_user_width_max file libpng: png_get_user_width_max - returns the maximum user width from png_struct at offset 0x27c. Returns 0 if png_ptr is NULL. 0x00E7BBE0 28 png_get_valid file libpng: png_get_valid - tests if specific chunk flags are set in png_info valid field at offset 0x8. Returns the masked flag bits, 0 if pointers are NULL. 0x00E7BC00 50 png_get_x_offset_inches file libpng: png_get_x_offset_inches - returns x offset in inches as float by converting fixed-point microns via png_get_x_offset_microns and multiplying by scale factor DAT_011bd4a0. 0x00E7BC40 26 png_get_x_offset_inches_fixed file libpng: png_get_x_offset_inches_fixed - returns x offset in inches as fixed-point by calling png_get_x_offset_microns and converting via FUN_00e7ac90. 0x00E7BC60 46 png_get_x_offset_microns file libpng: png_get_x_offset_microns - returns x offset in microns from tRNS data if unit_type==1 (microns). Checks flag bit 0x100, reads offset 0xb4. Returns 0 if not micron type. 0x00E7BC90 46 png_get_x_offset_pixels file libpng: png_get_x_offset_pixels - returns x offset in pixels if unit_type==0 (pixels). Checks flag bit 0x100, reads offset 0xb4. Returns 0 if not pixel type. 0x00E7BCC0 25 png_get_x_pixels_per_inch file libpng: png_get_x_pixels_per_inch - returns x DPI by calling png_get_x_ppu_meter and converting via FUN_00e7be20 (meters to inches). 0x00E7BCE0 43 png_get_x_pixels_per_meter file libpng: png_get_x_pixels_per_meter - returns x pixels per unit when unit_type==1 (meters). Reads pHYs x_ppu at offset 0xc0. Was misnamed png_get_x_ppu_meter. 0x00E7BD10 50 png_get_y_offset_inches file libpng: png_get_y_offset_inches - returns y offset in inches as float by converting fixed-point microns via png_get_y_offset_microns and multiplying by scale factor. 0x00E7BD50 26 png_get_y_offset_inches_fixed file libpng: png_get_y_offset_inches_fixed - returns y offset in inches as fixed-point by calling png_get_y_offset_microns and converting. 0x00E7BD70 46 png_get_y_offset_microns file libpng: png_get_y_offset_microns - returns y offset in microns from tRNS data if unit_type==1. Checks flag bit 0x100, reads offset 0xb8. Returns 0 if not micron type. 0x00E7BDA0 46 png_get_y_offset_pixels file libpng: png_get_y_offset_pixels - returns y offset in pixels if unit_type==0 (pixels). Checks flag bit 0x100, reads offset 0xb8. Returns 0 if not pixel type. 0x00E7BDD0 25 png_get_y_pixels_per_inch file libpng: png_get_y_pixels_per_inch - returns y DPI by calling png_get_y_ppu_meter and converting to inches. 0x00E7BDF0 43 png_get_y_pixels_per_meter file libpng: png_get_y_pixels_per_meter - returns y pixels per unit when unit_type==1 (meters). Reads pHYs y_ppu at offset 0xc4. Was misnamed png_get_y_ppu_meter. 0x00E7BE20 46 png_ppi_from_ppm file libpng: png_ppi_from_ppm - converts pixels per meter to pixels per inch using fixed-point multiplication (ppm * 127 / 5000). Returns 0 on overflow or failure. 0x00E7BE60 75 png_image_write_to_memory_append file libpng: png_image_write_to_memory_append - appends data to an in-memory write buffer. Checks for overflow, copies data via memcpy. Aborts via png error on buffer overflow. 0x00E7BEB0 59 png_convert_from_struct_tm file libpng: png_convert_from_struct_tm - converts a C struct tm to png_time format. Maps year (+1900), month (+1), day, hour, minute, second fields. 0x00E7BEF0 26 png_convert_from_time_t file libpng: png_convert_from_time_t - converts time_t to png_time by calling _gmtime64 then png_convert_from_struct_tm. 0x00E7BF10 31 png_create_read_struct file libpng: png_create_read_struct - simplified wrapper that calls png_create_read_struct_2 with NULL mem alloc/free functions. 0x00E7BF30 180 png_create_read_struct_2 file libpng: png_create_read_struct_2 - creates and initializes a png_structp for reading. Sets mode flags, default buffer size 0x2000, zlib compression params (level=-1, method=8, window=15, mem=8, strategy=0). Calls png__create_read_struct and FUN_00e87520. 0x00E7BFF0 52 png_destroy_read_struct file libpng: png_destroy_read_struct - destroys a read png_struct. Frees info struct, cleans up internal state via FUN_00e7d130, and frees memory via FUN_00e7e090. 0x00E7C030 210 png_image_write_filter_sub file libpng: png_image_write_filter_sub - applies sub-filter to PNG image row data during writing. Handles both 8-bit and 16-bit color types (RGB and RGBA). Subtracts previous pixel channel values for filtering. 0x00E7C110 996 png_image_write_colormap file libpng: png_image_write_colormap - converts a color-mapped image palette to PNG PLTE and optional tRNS chunks. Handles 16-bit to 8-bit conversion with gamma correction via lookup tables. Processes alpha channel for transparency. 0x00E7C5B0 158 png_image_write_init file libpng: png_image_write_init - initializes PNG write structures. Creates read struct, info struct, allocates control block (6 ints), sets up error/warning handlers. Returns 1 on success, error message on failure. 0x00E7C650 909 png_image_write_main file libpng: png_image_write_main - core PNG write implementation. Sets up IHDR with proper color type/bit depth, applies sRGB/gamma/chromaticity settings, handles color-mapped images, writes rows, and finalizes with png_write_end. Manages interlacing, alpha, and color swapping transforms. 0x00E7C9E0 41 png_image_write_to_memory_callback file libpng: png_image_write_to_memory_callback - callback for writing PNG to memory. Sets up custom write function (png_image_write_to_memory_append) then delegates to png_image_write_main. 0x00E7CA10 293 png_image_write_to_file file libpng: png_image_write_to_file - writes a PNG image to a file. Opens file with fopen, calls png_image_write_to_stdio, handles errors (fflush/ferror/fclose). Removes file on failure. 0x00E7CB40 242 png_image_write_to_memory file libpng: png_image_write_to_memory - writes PNG to a memory buffer. Validates params, initializes write structures, calls write callback. Sets output size in param_3. Returns 0 if buffer too small. 0x00E7CC40 192 png_image_write_to_stdio file libpng: png_image_write_to_stdio - writes PNG image to a FILE* stream. Validates params, initializes write structures, sets file pointer, calls png_image_write_main. Frees image on completion. 0x00E7CD00 21 png_set_compression_level file libpng: png_set_compression_level - sets the zlib compression level in png_struct at offset 0xc4. No-op if png_ptr is NULL. 0x00E7CD20 21 png_set_compression_mem_level file libpng: png_set_compression_mem_level - sets zlib memory level in png_struct at offset 0xd0. 0x00E7CD40 44 png_set_compression_method file libpng: png_set_compression_method - sets compression method in png_struct at offset 0xc8. Warns if method != 8 (deflate). Only method 8 is supported. 0x00E7CD70 25 png_set_compression_strategy file libpng: png_set_compression_strategy - sets zlib compression strategy in png_struct at offset 0xd4. Also sets flag bit 0x1 in mode field at 0x78. 0x00E7CD90 80 png_set_compression_window_bits file libpng: png_set_compression_window_bits - sets zlib window bits in png_struct at offset 0xcc. Clamps to range [8, 15] with warnings. 0x00E7CDE0 355 png_set_filter file libpng: png_set_filter - sets PNG row filter method and filter selection flags. Validates filter method (0 or 0x40). Allocates filter buffers if needed. Supports SUB(0x10), UP(0x20), AVG(0x40), PAETH(0x80), NONE(0x08) filters. 0x00E7CF90 28 png_set_flush file libpng: png_set_flush - sets the number of rows between flushes in png_struct at offset 0x180. Clamps negative values to 0. 0x00E7CFB0 21 png_set_text_compression_level file libpng: png_set_text_compression_level - sets text compression level in png_struct at offset 0xd8. 0x00E7CFD0 21 png_set_text_compression_mem_level file libpng: png_set_text_compression_mem_level - sets text compression memory level in png_struct at offset 0xe4. 0x00E7CFF0 44 png_set_text_compression_method file libpng: png_set_text_compression_method - sets text compression method in png_struct at offset 0xdc. Warns if not 8 (deflate). 0x00E7D020 21 png_set_text_compression_strategy file libpng: png_set_text_compression_strategy - sets text compression strategy in png_struct at offset 0xe8. 0x00E7D040 80 png_set_text_compression_window_bits file libpng: png_set_text_compression_window_bits - sets text compression window bits in png_struct at offset 0xe0. Clamps to range [8, 15]. 0x00E7D090 21 png_set_write_user_transform_fn file libpng: png_set_write_user_transform_fn - sets user write transform callback in png_struct at offset 0x1c8. 0x00E7D0B0 25 png_set_write_fn_00e7d0b0 file libpng: png_set_write_fn - sets custom write function pointer in png_struct at offset 0x68. Sets flag bit 0x100000 in mode at 0x7c to indicate write mode. 0x00E7D0D0 96 png_gamma_correct_16_to_8 file libpng: png_gamma_correct_16_to_8 - converts a 16-bit color value to 8-bit with gamma correction. Uses pre-multiplied alpha (param_3) and gamma lookup table at DAT_011bb5b8/DAT_011bb1b8. Returns 0xff if value >= max. 0x00E7D130 157 png_write_destroy file libpng: png_write_destroy - cleans up internal write state. Frees zlib stream, row buffers (0x124, 0x120, 0x12c, 0x130), previous row (0x248). Resets pointers to 0. 0x00E7D1D0 355 png_write_end file libpng: png_write_end - finishes writing a PNG file. Verifies IDATs were written, checks palette index bounds. Writes trailing chunks (bKGD, text, eXIf, unknown chunks). Writes IEND chunk and flushes output. 0x00E7D340 59 png_write_flush_rows file libpng: png_write_flush_rows - flushes buffered row data to output. Calls FUN_00e7e400 with sync flush (mode=2), resets row counter at 0x184, and calls png_write_flush. 0x00E7D380 89 png_write_image file libpng: png_write_image - writes all rows of a PNG image. Iterates through interlace passes (via png_set_interlace_handling), writing each row via png_write_row. 0x00E7D3E0 338 png_image_write_rows_16bit file libpng: png_image_write_rows_16bit - writes 16-bit per channel image rows. Handles alpha pre-multiplication for RGBA/GA. Processes rows by converting alpha-premultiplied data and writing via png_write_row. Called from png_image_write_main for linear (16-bit) format. 0x00E7D540 455 png_image_write_rows_sRGB file libpng: png_image_write_rows_sRGB - writes sRGB (8-bit) image rows with gamma correction. Handles alpha pre-multiplication and 16-to-8 bit conversion via gamma lookup tables. Processes RGBA/GA and RGB/Gray separately. 0x00E7D710 847 png_write_info_before_PLTE file libpng: png_write_info_before_PLTE - writes all PNG info chunks that come before PLTE. Handles IHDR, oFFs, palette (with optional inversion), sCAL, eXIf, pHYs, tRNS, sPLT, sCAL, tIME, bKGD, unknown chunks, and text. Also calls png_write_info for remaining chunks. 0x00E7DA60 326 png_write_info file libpng: png_write_info - writes PNG header info chunks (IHDR, sRGB/iCCP, gAMA, cHRM, sBIT). Checks for MNG features and writes sigBit, cHRM data. Delegates to png_write_info_before_PLTE for pre-PLTE chunks. Sets 0x400 flag when done. 0x00E7DBB0 290 png_write_png file libpng: png_write_png - high-level function that writes a complete PNG file. Applies requested transforms (interlace, packing, shift, BGR, swap_alpha, filler_strip, invert_alpha, swap, invert), then calls png_write_image + png_write_end. 0x00E7DCE0 635 png_write_row file libpng: png_write_row - writes a single row of PNG data. Handles interlacing (Adam7), applies write transforms, sub-filtering for MNG, palette index tracking. Copies row data, applies filters, and compresses via FUN_00e7ff60. 0x00E7DF80 47 png_write_rows file libpng: png_write_rows - writes multiple rows of PNG data by iterating and calling png_write_row for each row pointer in the array. 0x00E7DFB0 163 png_write_unknown_chunks file libpng: png_write_unknown_chunks - iterates over unknown chunks in png_info and writes them. Checks chunk filter flags and safe-to-copy bit. Warns if writing zero-length chunks. 0x00E7E060 43 png_calloc file libpng: png_calloc - allocates and zero-initializes memory. Calls png_malloc then memset to zero. Returns NULL on allocation failure. 0x00E7E090 102 png_destroy_struct file libpng: png_destroy_struct - safely destroys a png_struct. Copies struct to stack, zeros original, then frees it. This prevents use-after-free by clearing before calling the free function. 0x00E7E100 50 png_free file libpng: png_free - frees memory allocated by png. If a custom free function is set at png_struct+0x264, calls it; otherwise calls png_free_default (which uses C free). 0x00E7E140 27 png_free_default file libpng: png_free_default - default memory free function. Calls C free() if both png_ptr and ptr are non-NULL. 0x00E7E160 20 png_get_mem_ptr file libpng: png_get_mem_ptr - returns the memory allocation context pointer from png_struct at offset 0x25c. Returns 0 if png_ptr is NULL. 0x00E7E180 43 png_malloc file libpng: png_malloc - allocates memory. Calls png_malloc_warn and aborts with png_error("Out of memory") on failure. 0x00E7E1B0 42 png_malloc_array file libpng: png_malloc_array - allocates an array. Validates count > 0 and element_size != 0, then delegates to png_malloc_array_checked. Aborts on invalid params. 0x00E7E1E0 40 png_malloc_array_checked file libpng: png_malloc_array_checked - allocates count * element_size bytes with overflow check. Returns NULL on overflow or allocation failure. 0x00E7E210 51 png_malloc_warn file libpng: png_malloc_warn - allocates memory. If custom allocator is set at png_struct+0x260, uses it; otherwise falls back to C malloc. Returns NULL on failure instead of aborting. 0x00E7E250 43 png_malloc_base file libpng: png_malloc_base - allocates memory with a slightly different error message ("Out of Memory" with capital M). Calls png_malloc_warn(NULL, size), aborts on failure. 0x00E7E280 46 png_malloc_warn_with_warning file libpng: png_malloc_warn_with_warning - allocates memory via png_malloc_warn but issues a warning instead of aborting on failure. Returns 0 on failure. 0x00E7E2B0 144 png_realloc_array file libpng: png_realloc_array - reallocates an array with new additional elements. Copies old_count * element_size bytes, zeros new elements. Validates params and checks for overflow. Returns NULL on failure. 0x00E7E350 39 png_set_mem_fn file libpng: png_set_mem_fn - sets custom memory allocation/free functions and context pointer in png_struct at offsets 0x25c (mem_ptr), 0x260 (malloc_fn), 0x264 (free_fn). 0x00E7E380 119 png_zlib_window_adjust file libpng: png_zlib_window_adjust - adjusts the zlib window size in the header bytes to match the actual data size. Reduces window size if data is smaller than current window, then fixes the checksum modulo 31. 0x00E7E400 525 png_compress_IDAT file libpng: png_compress_IDAT - compresses and writes IDAT chunk data. Manages zlib deflate stream, allocates output buffer on first call. Writes IDAT chunks when buffer is full. Handles flush modes and adjusts zlib window size on first chunk. 0x00E7E610 585 png_zlib_deflate_init file libpng: png_zlib_deflate_init - initializes or resets the zlib deflate stream for a given chunk type. Configures compression params from png_struct (level, method, window, mem_level, strategy). For non-IDAT, uses text compression settings. Adjusts window size for small data. 0x00E7E860 565 png_do_write_interlace file libpng: png_do_write_interlace - extracts pixels for the current Adam7 interlace pass. Handles 1, 2, 4 bit depths (packing into bytes) and 8+ bit depths (memcpy). Updates row width and rowbytes for the extracted pass. 0x00E7EAA0 45 png_free_buffer_list file libpng: png_free_buffer_list - frees a linked list of buffers. Walks the list following next pointers and calls png_free on each node. Sets the head pointer to NULL. 0x00E7EAD0 339 png_estimate_image_data_size file libpng: png_estimate_image_data_size - estimates uncompressed IDAT data size for zlib window optimization. Handles interlaced images by calculating per-pass sizes. Returns -1 if dimensions exceed 0x8000. 0x00E7EC30 21 png_save_uint_16 file libpng: png_save_uint_16 - writes a 16-bit value in big-endian byte order to a buffer. 0x00E7EC50 37 png_save_uint_32 file libpng: png_save_uint_32 - writes a 32-bit value in big-endian byte order to a buffer. 0x00E7EC80 219 png_write_filter_avg file libpng: png_write_filter_avg - applies the Average filter (type 3) to a row. For first bpp bytes, averages with previous row only. For remaining bytes, averages current with left and above. Returns sum of absolute differences for filter selection. 0x00E7ED60 505 png_write_filter_avg_sse file libpng: png_write_filter_avg_sse - SSE-optimized version of the Average filter (type 3). Processes 8 bytes at a time using SSE instructions (pshuflw, pshufhw). Falls back to scalar for remaining bytes. 0x00E7EF60 293 png_write_filter_paeth file libpng: png_write_filter_paeth - applies the Paeth filter (type 4) to a row. Predicts each byte using the Paeth predictor (left, above, upper-left). Returns sum of absolute differences for filter selection. Exits early if sum exceeds threshold. 0x00E7F090 358 png_write_filter_paeth_optimized file libpng: png_write_filter_paeth_optimized - unrolled/optimized version of Paeth filter application. Processes 64 bytes at a time for the initial bpp portion, then uses scalar Paeth prediction for remaining bytes. 0x00E7F200 151 png_write_filter_sub file libpng: png_write_filter_sub - applies Sub filter (type 1) to a row and returns sum of absolute differences. First bpp bytes are copied as-is; remaining bytes subtract left neighbor. Returns early if sum exceeds threshold. 0x00E7F2A0 279 png_write_filter_sub_optimized file libpng: png_write_filter_sub_optimized - unrolled/optimized version of Sub filter application. Processes 64 bytes at a time for initial bpp, then scalar for remaining. Does not compute sum (void return). 0x00E7F3C0 105 png_write_filter_up file libpng: png_write_filter_up - applies Up filter (type 2) and returns sum of absolute differences. Each byte is subtracted from the byte directly above it in the previous row. Returns early if sum exceeds threshold. 0x00E7F430 215 png_write_filter_up_optimized file libpng: png_write_filter_up_optimized - unrolled/optimized version of Up filter. Processes 64 bytes at a time. Does not compute sum (void return). 0x00E7F510 389 png_text_compress file libpng: png_text_compress - compresses text data using zlib deflate. Manages buffer linked list for output. Initializes deflate stream, feeds data, handles buffer overflow by allocating more buffers. Used for tEXt/zTXt/iTXt chunks. 0x00E7F6A0 26 png_text_compress_init file libpng: png_text_compress_init - initializes a text compression structure with input data pointer and length. Resets output size to 0. 0x00E7F6C0 32 png_write_IEND file libpng: png_write_IEND - writes the IEND chunk (0x49454e44) with 0 data bytes. Sets flag 0x10 in mode to mark end of image. 0x00E7F6E0 645 png_write_IHDR file libpng: png_write_IHDR - writes the IHDR chunk. Validates width, height, bit_depth, color_type, compression, filter, interlace params. Sets internal struct fields (channels, pixel_depth, rowbytes). Writes 13-byte IHDR data. Sets default filter mask. 0x00E7F9B0 194 png_write_PLTE file libpng: png_write_PLTE - writes the PLTE chunk. Validates palette size (max 2^bit_depth, max 256). Writes 3 bytes per entry (R,G,B). Sets flag 0x2 in mode. Warns for non-palette color types. 0x00E7FA80 338 png_write_bKGD file libpng: png_write_bKGD - writes the bKGD (background color) chunk. Handles palette index (1 byte), grayscale (2 bytes), and RGB (6 bytes) background formats. Validates values against bit depth. 0x00E7FBE0 158 png_write_cHRM_fixed file libpng: png_write_cHRM_fixed - writes the cHRM chunk with 8 fixed-point chromaticity values (white_x/y, red_x/y, green_x/y, blue_x/y) as big-endian 32-bit integers. 32 bytes total. 0x00E7FC80 45 png_write_complete_chunk file libpng: png_write_complete_chunk - wrapper that writes a complete PNG chunk (header + data + CRC) by calling png_write_chunk_internal. 0x00E7FCB0 51 png_write_chunk_data file libpng: png_write_chunk_data - writes chunk data bytes and updates the running CRC. Validates all pointers and length are non-null/non-zero. 0x00E7FCF0 54 png_write_chunk_end file libpng: png_write_chunk_end - finalizes a PNG chunk by writing the 4-byte CRC. Sets state to 0x82 and writes CRC from png_struct+0x13c as big-endian. 0x00E7FD30 125 png_write_chunk_header file libpng: png_write_chunk_header - writes chunk header (4-byte length + 4-byte type). Sets state to 0x22, resets CRC, updates CRC with chunk type. Stores chunk type at png_struct+0x11c. Sets state to 0x42. 0x00E7FDB0 45 png_write_chunk_start file libpng: png_write_chunk_start - wrapper for png_write_chunk_header. Begins writing a new chunk. 0x00E7FDE0 67 png_write_chunk file libpng: png_write_chunk - writes a complete PNG chunk (header + data + CRC). Validates length < 0x7FFFFFFF. Calls png_write_chunk_header, png_write_chunk_data, png_write_chunk_end. 0x00E7FE30 96 png_write_compressed_data file libpng: png_write_compressed_data - writes compressed chunk data from a linked buffer list. Iterates through buffers writing 0x400-byte blocks, then remaining data from overflow buffers. Aborts if data remains after all buffers consumed. 0x00E7FEA0 76 png_write_eXIf file libpng: png_write_eXIf - writes the eXIf chunk (0x65584966). Writes chunk header, then each byte individually via png_write_chunk_data, then the CRC trailer. 0x00E7FEF0 100 png__write_row file Writes a single row of PNG image data. Compresses the row via png_compress_IDAT, swaps row buffers if needed, finishes the row, increments row counter, and flushes if the flush interval has been reached. 0x00E7FF60 540 png_write_find_filter file libpng: png_write_find_filter - selects the best PNG row filter by comparing None, Sub, Up, Average, and Paeth filters. Computes sum of absolute differences for each enabled filter and picks the one with the lowest sum. Uses optimized versions when only one filter is selected. 0x00E80180 315 png_write_finish_row file libpng: png_write_finish_row - completes writing a row. Increments row counter, advances interlace pass if needed (Adam7). Calculates new pass dimensions. When all passes complete, finalizes IDAT compression with Z_FINISH. 0x00E802C0 42 png_write_gAMA_fixed file libpng: png_write_gAMA_fixed - writes the gAMA chunk with a fixed-point gamma value as a 4-byte big-endian integer. 0x00E802F0 116 png_write_hIST file libpng: png_write_hIST - writes the hIST chunk with histogram data. Validates entry count against palette size. Writes each 16-bit frequency value in big-endian order. 0x00E80370 305 png_write_iCCP file libpng: png_write_iCCP - writes the iCCP chunk with an ICC color profile. Validates profile length (min 0x84) and version. Compresses profile data using zlib. Writes keyword + null + compression_method + compressed_profile. 0x00E804B0 601 png__write_iTXt file Writes a PNG iTXt (international text) chunk. Validates keyword via FUN_00e81310, handles compression modes (0/2=compressed, -1/1=uncompressed), writes keyword, language tag, translated keyword, and text content. For compressed mode, uses zlib deflate via png_text_compress. Outputs chunk header, data segments, and chunk end. 0x00E80720 106 png_write_oFFs file libpng: png_write_oFFs - writes the oFFs chunk with image offset data (x_offset, y_offset as signed 32-bit big-endian + unit_type byte). Warns if unit_type > 1. 0x00E80790 408 png__write_pCAL file Writes a PNG pCAL (calibration of pixel values) chunk. Validates equation type (0-3) and keyword, computes total chunk size from keyword, units string, and parameter strings. Writes chunk header, keyword, min/max as big-endian int32, equation type, parameter count, units, and parameter values. 0x00E80930 106 png__write_pHYs file Writes a PNG pHYs (physical pixel dimensions) chunk. Stores X and Y pixels-per-unit as big-endian uint32, plus unit type byte. Warns if unit type > 1. 0x00E809A0 204 png__write_sBIT file Writes a PNG sBIT (significant bits) chunk. For grayscale (param_3 & 2 == 0): writes 1 byte. For RGB (param_3 & 2): writes 3 bytes (R, G, B). If alpha (param_3 & 4): appends alpha significant bits. Validates all bit depths are > 0 and <= image bit depth. 0x00E80A70 189 png__write_sCAL file Writes a PNG sCAL (physical scale of image subject) chunk. Writes unit type byte, followed by width string and height string separated by null. Warns if combined data exceeds 0x40 bytes buffer. 0x00E80B30 337 png__write_sPLT file Writes a PNG sPLT (suggested palette) chunk. Validates keyword, writes chunk header with computed size. For 8-bit palettes: writes 6 bytes per entry (RGBA + freq). For 16-bit: writes 10 bytes per entry (RGBA as uint16 + freq as uint16). Each entry has R, G, B, A components and a frequency value. 0x00E80C90 56 png_write_sRGB file libpng: png_write_sRGB - writes the sRGB chunk with rendering intent (1 byte). Warns if intent > 3. 0x00E80CD0 105 png_write_sig file libpng: png_write_sig - writes the 8-byte PNG file signature (89 50 4E 47 0D 0A 1A 0A). Accounts for already-written signature bytes. Sets PNG mode flag 0x1000 if less than 3 bytes were skipped. 0x00E80D40 326 png__write_start_row file Initializes PNG row writing state. Computes row bytes from bit depth and channels, allocates row buffer, sets up filter buffers based on filter mode flags, allocates previous row buffer for multi-row filters. Adjusts dimensions for interlaced images if interlace handling is not enabled. 0x00E80E90 187 png__write_tEXt file Writes a PNG tEXt (uncompressed text) chunk. Validates keyword, computes text length, checks total size doesn't overflow. Writes chunk header, keyword + null terminator, then text data. Errors on invalid keyword or text too long. 0x00E80F50 164 png_write_tIME file libpng: png_write_tIME - writes the tIME chunk with last modification time (7 bytes: year, month, day, hour, minute, second). Validates ranges before writing. 0x00E81000 319 png__write_tRNS file Writes a PNG tRNS (transparency) chunk. For palette images (type 3): writes palette transparency entries. For grayscale (type 0): writes 2-byte gray value. For RGB (type 2): writes 6 bytes (R, G, B as uint16). Validates values against bit depth and palette size. Errors for images with alpha channel. 0x00E81140 287 png__write_zTXt file Writes a PNG zTXt (compressed text) chunk. For compression type -1, delegates to png__write_tEXt. For type 0 (zlib deflate): validates keyword, compresses text, writes keyword + compression byte + compressed data. Errors on invalid compression type or keyword. 0x00E81260 67 png__check_chunk_name_entry file Searches a list of 5-byte chunk name entries for a matching 4-byte name. If found, updates the flags byte. If not found and param_4 is non-zero, appends a new entry. Returns updated count. 0x00E812B0 93 png__check_location file Validates and normalizes a chunk location mask. Masks to valid bits (0xB), validates against current state, and extracts lowest set bit if multiple location flags are set. Errors if no valid location. 0x00E81310 306 png__check_keyword file Validates and sanitizes a PNG text keyword. Copies valid characters (0x21-0x7E, 0xA1+) to output, collapses multiple spaces, strips leading/trailing whitespace. Truncates at 79 chars with warning. Warns about bad characters. Returns keyword length, 0 on failure. 0x00E81450 28 png__set_rgb_to_gray_mode file Sets the RGB-to-gray conversion error action mode. Masks param_2 to valid bits (0x5) and stores at offset 0x254. Returns the stored value. Returns 0 if PNG struct is null. 0x00E81470 192 png__set_IHDR file Sets PNG IHDR (image header) parameters in the info struct. Stores width, height, bit depth, color type, interlace, compression, filter method. Validates via png__validate_IHDR. Computes channels (1 for grayscale/palette, 3 for RGB) + alpha, pixel depth, and row bytes. 0x00E81530 227 png__set_PLTE_impl file libpng: Sets PLTE (palette) data in info/png struct. Validates palette size against color type limits (2^bit_depth for palette type, 256 max). Allocates 768-byte (256*3) palette buffer, copies entries, sets palette count at offsets 0x10/0x14 and 0x140/0x144. 0x00E81620 52 png__set_gAMA_fixed file Libpng png_set_gAMA_fixed: sets the gamma value in the PNG info structure using fixed-point representation. 0x00E81660 34 png__set_invalid_chunk_handler file Libpng png_set_invalid_chunk_handler: sets the callback for handling invalid or unknown PNG chunks. 0x00E81690 246 png__set_cHRM_double file libpng: Sets cHRM (primary chromaticities and white point) from double-precision xy coordinates. Converts 8 doubles (white X/Y, red X/Y, green X/Y, blue X/Y) to fixed-point via png__float_to_fixed_point, then delegates to png__set_cHRM_fixed_impl. 0x00E81790 274 png__set_cHRM_XYZ_double file libpng: Sets cHRM from double-precision XYZ (tristimulus) coordinates. Converts 9 doubles (red/green/blue X/Y/Z) to fixed-point, then delegates to png__set_cHRM_XYZ_fixed. 0x00E818B0 140 png__set_cHRM_XYZ_fixed file libpng: Sets cHRM from fixed-point XYZ (tristimulus) endpoints. Calls png__colorspace_set_endpoints with the 9 fixed-point values and sets chromaticity valid flag 0x10 on info struct. 0x00E81940 134 png__set_cHRM_fixed_impl file libpng: Sets cHRM from fixed-point xy chromaticity coordinates. Calls png__colorspace_set_chromaticities_from_xy with 8 fixed-point values (white/red/green/blue x/y) and sets chromaticity valid flag 0x10. 0x00E819D0 23 png__permit_mng_features_impl file libpng: png_permit_mng_features. Sets MNG features permitted flag at offset 0x148. If param_2 > 0, enables (sets 0), otherwise disables (sets -1/0xFFFFFFFF). 0x00E819F0 21 png__set_num_palette_entries file PNG library setter. Sets num_palette field (offset 0x284) on png_info struct. Null-checks the struct pointer. 0x00E81A10 21 png__set_num_trans file PNG library setter. Sets num_trans field (offset 0x288) on png_info struct. Null-checks the struct pointer before writing. 0x00E81A30 141 png__set_compression_buffer_size file libpng: Sets the compression buffer size. For write structs (flag 0x8000), sets at offset 0x2AC. For read structs, validates minimum of 6 bytes, frees existing buffer list, and stores new size at offset 0xC0. Errors on 0 or >0x7FFFFFFF. 0x00E81AC0 21 png__warn_set_eXIf_deprecated file PNG library function. Emits warning that png_set_eXIf is deprecated, should use png_set_eXIf_1 instead. Wrapper around png__warning with a static message. 0x00E81AE0 155 png__set_eXIf_data file libpng: Sets eXIf (Exif metadata) chunk data. Allocates buffer and copies raw Exif data. Stores length at offset 0xCC, data pointer at 0xD0. Sets free flag 0x8000 and valid flag 0x10000. 0x00E81B80 46 png__set_gAMA_double file libpng: Sets gAMA (gamma) from a double-precision value. Converts to fixed-point via png__float_to_fixed_point (with "png_set_gAMA" context string), then delegates to png__set_gAMA_fixed_impl. 0x00E81BB0 46 png__set_gAMA_fixed_impl file libpng: Sets gAMA (gamma) from a fixed-point value. Calls png__colorspace_set_gamma on the info struct's colorspace, then updates colorspace flags. 0x00E81BE0 168 png__set_hIST file Libpng png_set_hIST: sets the histogram data for palette-based PNG images in the info structure. 0x00E81C90 302 png__set_iCCP_impl file libpng: Sets iCCP (embedded ICC color profile) chunk data. Validates compression method, sets chromaticities from profile, stores profile name and compressed data at offsets 0x74-0x7C. Sets info flags 0x10 (free mask) and 0x1000 (valid). 0x00E81DC0 26 png__clear_info_flag_bits file PNG library function. Clears specific flag bits in a png_info struct's flags field (offset 8). Takes png_ptr, info_ptr, and bitmask. AND-NOTs the mask against the flags. 0x00E81DE0 407 png__set_keep_unknown_chunks_impl file libpng: Internal implementation of png_set_keep_unknown_chunks. Manages the list of chunk names with keep/discard disposition at offsets 0x240 (default), 0x244 (count), 0x248 (list). Handles add, remove, and compact operations. 0x00E81F80 52 png__set_sCAL_s file Libpng png_set_sCAL_s: sets the physical scale (sCAL chunk) for the PNG image using string representations. 0x00E81FC0 616 png__set_pCAL file libpng: Sets pCAL (calibration of pixel values) chunk data in info struct. Validates equation type (0-3), parameter count (0-255), and numeric string format. Stores purpose string, X0/X1 ranges, equation type, parameter count, units string, and parameter strings at offsets 0xDC-0xF4. 0x00E82230 52 png__set_oFFs file libpng: Sets oFFs (image offset) chunk data. Stores X offset at 0xC0, Y offset at 0xC4, and unit type at 0xC8 on info struct. Sets PNG_INFO_oFFs flag (0x80). 0x00E82270 30 png__set_image_dimensions file PNG library function. Sets image width (offset 0x238) and height (offset 0x23c) on a PNG struct. Null-checks the struct pointer first. 0x00E82290 71 png__set_rows file libpng: Sets row pointers in info struct. Stores pointer at offset 0x114, frees old data if different. Sets PNG_INFO flag 0x8000 when data is present. 0x00E822E0 46 png_set_sCAL_s_params file libpng: Sets sCAL chunk parameters (unit and dimensions) on png_info struct. Sets flag bit 0x2 in valid flags. 0x00E82310 194 png_set_sCAL_float file libpng: png_set_sCAL with float width/height. Converts doubles to strings then calls png_set_sCAL_string. 0x00E823E0 162 png_set_sCAL_fixed file libpng: png_set_sCAL with fixed-point integer width/height. Converts to strings then calls png_set_sCAL_string. 0x00E82490 370 png_set_sCAL_string file libpng: Sets sCAL chunk from string width/height. Validates unit (1=meter, 2=radian), checks non-negative values, allocates and copies strings to info struct. 0x00E82610 367 png_set_sPLT file libpng: Sets sPLT (suggested palette) entries. Grows array, copies name/entries/depth for each sPLT entry. Sets valid flag 0x2000. 0x00E82780 46 png_set_sRGB file libpng: Sets sRGB rendering intent on png_info. Calls colorspace check and update functions. 0x00E827B0 58 png_set_sRGB_gAMA_and_cHRM file libpng: Sets sRGB intent and also updates gAMA and cHRM chunks. Sets flag bits 0x18 on info if colorspace check succeeds. 0x00E827F0 120 png_set_tIME file libpng: Sets tIME (last modification time) chunk. Validates month (1-12), day (1-31), hour (0-23), minute (0-59), second (0-60). Sets valid flag 0x200. 0x00E82870 260 png_set_tRNS file libpng: Sets tRNS (transparency) chunk. Handles palette transparency (alpha bytes), grayscale trans color, and RGB trans color. Validates sample range against bit depth. Sets valid flag 0x10. 0x00E82980 42 png_set_text file libpng: Public png_set_text wrapper. Calls png_set_text_internal and errors on OOM. 0x00E829B0 768 png_set_text_internal file libpng: Internal text chunk setter. Grows text array, copies key/lang/lang_key/text for each text entry. Handles compressed and uncompressed text. Sets valid flag on info. 0x00E82CB0 104 png_set_unknown_chunk_location file libpng: Sets the location of an unknown chunk by index. Validates chunk index and location flags. 0x00E82D20 284 png_set_unknown_chunks file libpng: Sets unknown chunk entries. Grows array, copies name/data/size/location for each chunk. Sets valid flag 0x200. 0x00E82E40 30 png_set_read_user_chunk_fn file libpng: Sets the user chunk read callback function and data pointer on the png_struct. 0x00E82E60 237 png_handle_unknown_chunk file libpng: Handles reading of an unknown PNG chunk. Stores chunk name, allocates buffer for data, reads data, and finishes CRC. Manages memory limits. 0x00E82F50 184 png_check_chunk_length file libpng: Validates chunk data length. For IDAT chunks, calculates expected max size from image dimensions and compression overhead. Errors if chunk exceeds memory limit. 0x00E83010 62 png_check_chunk_name file libpng: Validates a 4-byte chunk type name. Each byte must be ASCII letter (A-Z or a-z). Errors on invalid chunk type. 0x00E83050 1138 png_combine_row file libpng: Combines a decoded row with the existing image row for interlaced images. Handles sub-byte pixel depths (1/2/4 bit) with masking, and byte-aligned depths with optimized copy loops. Preserves partial bytes at row end. 0x00E834D0 140 png_read_chunk_crc file libpng: Reads and checks CRC for current chunk. Reads 4 bytes, byte-swaps to big-endian, compares with accumulated CRC. Returns true if CRC mismatch. 0x00E83560 168 png_crc_finish file libpng: Finishes reading a chunk by consuming remaining data and checking CRC. Reads data in 1024-byte blocks, then verifies CRC. Errors or warns on CRC mismatch. 0x00E83610 41 png_crc_read file libpng: Reads data from PNG stream and updates CRC. Calls read function then updates Adler32/CRC checksum. 0x00E83640 558 png_decompress_chunk file libpng: Decompresses a PNG chunk's data (e.g., zTXt, iCCP). Checks memory limits, inflates data, allocates output buffer. Returns status code (-4=OOM, -7=error, 1=success). 0x00E83870 1113 png_do_expand_pixel_row file libpng: Expands pixel row by replication factor for interlaced image display. Handles 1-bit, 2-bit, 4-bit, and 8+ bit pixel depths. Works in-place from right to left to avoid overwriting source data. 0x00E83CD0 77 png_get_fixed_point_from_buf file libpng: Reads a 4-byte big-endian value from buffer as a PNG fixed-point number. Returns 0xFFFFFFFF and warns if value >= 0x80000000. 0x00E83D20 58 png_get_int_32 file libpng: Reads a 4-byte big-endian signed 32-bit integer from buffer. Handles two's complement for negative values. 0x00E83D60 26 png_get_uint_16 file libpng: Reads a 2-byte big-endian unsigned 16-bit integer from buffer. 0x00E83D80 61 png_get_uint_31 file libpng: Reads a 4-byte big-endian unsigned integer from buffer. Errors if value >= 0x80000000 (must fit in 31 bits). 0x00E83DC0 38 png_get_uint_32 file libpng: Reads a 4-byte big-endian unsigned 32-bit integer from buffer. No range checking. 0x00E83DF0 71 png_handle_IEND file libpng: Handles IEND (image end) chunk. Validates that IHDR and IDAT were seen. Finishes CRC, warns if IEND has data. 0x00E83E40 356 png_handle_IHDR file libpng: Handles IHDR (image header) chunk. Reads 13 bytes: width, height, bit_depth, color_type, compression, filter, interlace. Calculates pixel depth and row bytes. Must be exactly 13 bytes. 0x00E83FB0 535 png_handle_PLTE file libpng: Handles PLTE (palette) chunk. Reads RGB triplets (max 256), validates against bit depth. Resets tRNS/hIST/bKGD if they precede PLTE. 0x00E841D0 629 png_handle_bKGD file libpng: Handles bKGD (background color) chunk. Reads palette index (color type 3) or gray/RGB values. Validates against bit depth and palette size. 0x00E84450 501 png_handle_cHRM file libpng: Handles cHRM (chromaticity) chunk. Reads 8 fixed-point values (white point and RGB primaries xy). Must be 32 bytes, before PLTE/IDAT. 0x00E84650 349 png_handle_eXIf file libpng: Handles eXIf (EXIF metadata) chunk. Reads EXIF data, validates byte order marker (II or MM). Stores raw EXIF data on info struct. 0x00E847B0 158 png_handle_gAMA file libpng: Handles gAMA (gamma) chunk. Reads 4-byte fixed-point gamma value. Must be before PLTE/IDAT. Updates colorspace gamma and copies to info. 0x00E84850 339 png_handle_hIST file libpng: Handles hIST (histogram) chunk. Reads 16-bit frequency counts for each palette entry. Must appear after PLTE and before IDAT. 0x00E849B0 1396 png_handle_iCCP file libpng: Handles iCCP (ICC color profile) chunk. Reads profile name, decompresses ICC profile data, validates and stores on info struct. Updates colorspace. 0x00E84F30 539 png_handle_iTXt file libpng: Handles iTXt (international text) chunk. Reads keyword, compression flag/method, language, translated keyword, and text. Supports compressed and uncompressed text. 0x00E85150 390 png_handle_oFFs file libpng: Handles oFFs (image offset) chunk. Reads 9 bytes: two 32-bit signed offsets (x,y) and 1-byte unit type. Must be before IDAT. 0x00E852E0 611 png_handle_pCAL file libpng: Handles pCAL (calibration of pixel values) chunk. Reads calibration name, x0/x1 min/max, equation type, parameter count, unit name, and parameter strings. 0x00E85550 305 png_handle_pHYs file libpng: Handles pHYs (physical pixel dimensions) chunk. Reads 9 bytes: pixels per unit X, pixels per unit Y, unit type. Must be before IDAT. 0x00E85690 365 png_handle_sBIT file libpng: Handles sBIT (significant bits) chunk. Reads per-channel significant bit counts. Validates values are non-zero and within bit depth range. Must be before PLTE/IDAT. 0x00E85800 506 png_handle_sCAL file libpng: Handles sCAL (physical scale) chunk. Reads unit type (1=meter, 2=radian) and width/height as ASCII strings. Validates numeric format and positive values. 0x00E85A00 660 png_handle_sPLT file libpng: Handles sPLT (suggested palette) chunk. Reads palette name, sample depth (8 or 16), and RGBA+frequency entries. Supports 8-bit (6 bytes/entry) and 16-bit (10 bytes/entry) formats. 0x00E85CA0 205 png_handle_sRGB file libpng: Handles sRGB (standard RGB) chunk. Reads 1-byte rendering intent. Must be before PLTE/IDAT. Updates colorspace sRGB intent. 0x00E85D70 309 png_handle_tEXt file libpng: Handles tEXt (uncompressed text) chunk. Reads keyword and text string. Uses chunk cache limit for text chunks. 0x00E85EB0 268 png_handle_tIME file libpng: Handles tIME (timestamp) chunk. Reads 7 bytes: year (2 bytes big-endian), month, day, hour, minute, second. Can appear after IDAT. 0x00E85FC0 518 png_handle_tRNS file libpng: Handles tRNS (transparency) chunk. For palette images reads alpha bytes, for grayscale reads 2 bytes, for RGB reads 6 bytes. Sets transparent color values on png_struct. 0x00E861D0 362 png_handle_as_unknown file libpng: Handles unknown/unrecognized chunks. Calls user callback if set, otherwise stores chunk data. Manages chunk cache limits. Errors on unhandled critical chunks. 0x00E86340 505 png_handle_zTXt file libpng: Handles zTXt (compressed text) chunk. Reads keyword, compression method (must be 0), decompresses text. Can appear after IDAT. 0x00E86540 331 png__decompress_chunk file PNG library: decompresses a chunk using zlib inflate. Manages zstream state at offsets 0x80-0x94. Loops calling png_zlib_inflate until complete. Handles both caller-provided and stack-local 1KB output buffers. Returns zlib error code. 0x00E86690 295 png_zlib_inflate_init file libpng: Initializes or resets zlib inflate stream. Closes previous stream if in use, then calls inflateInit2 or inflateReset. Sets up decompression for reading PNG data. 0x00E867C0 256 png_inflate_read file libpng: Reads and inflates compressed chunk data in a loop. Feeds input from CRC-read buffer, inflates into output buffer. Used by decompress_chunk for non-IDAT compressed data. 0x00E868C0 75 png_init_filter_functions file libpng: Initializes row filter function pointers. Sets up sub, up, avg, and paeth filter handlers. Uses 1-byte paeth for 8-bit pixel depth, multi-byte paeth otherwise. 0x00E86910 443 png_read_IDAT_data file libpng: Reads and decompresses IDAT (image data) chunks. Chains consecutive IDAT chunks, inflates data into row buffer. Detects end of image data and validates completeness. 0x00E86AD0 145 png_read_buffer file libpng: Gets or allocates a read buffer of at least param_2 bytes. Reuses existing buffer if large enough, otherwise frees and reallocates. param_3: error level (0=fatal, 1=warning, 2=return null). 0x00E86B70 160 png_read_chunk_header file libpng: Reads a PNG chunk header (8 bytes: 4-byte length + 4-byte type). Validates chunk name and length. Initializes CRC for the chunk. Returns chunk data length. 0x00E86C10 62 png_read_filter_row file libpng: Dispatches row filter reversal based on filter type (1=sub, 2=up, 3=avg, 4=paeth). Initializes filter function pointers on first call. 0x00E86C50 94 png_read_filter_row_avg file libpng: Reverses PNG Average filter. Each byte is predicted as floor((left + above)/2). First bpp bytes use above/2, remaining use (left+above)/2. 0x00E86CB0 193 png_read_filter_row_paeth_1byte file libpng: Reverses PNG Paeth filter for 1-byte-per-pixel. Implements Paeth predictor: chooses closest of left/above/upper-left neighbors based on absolute differences. 0x00E86D80 238 png_read_filter_row_paeth_multi file libpng: Reverses PNG Paeth filter for multi-byte pixels. First bpp bytes use above row only, then applies full Paeth predictor with left/above/upper-left neighbors. 0x00E86E70 55 png_read_filter_row_sub file libpng: Reverses PNG Sub filter. Each byte after the first bpp bytes has the value of the byte bpp positions to the left added to it. 0x00E86EB0 153 png_read_filter_row_up file libpng: Reverses PNG Up filter. Each byte has the corresponding byte from the previous row added to it. Unrolled to process 64 bytes at a time for performance. 0x00E86F50 113 png_read_finish_IDAT file libpng: Finishes reading IDAT data. Consumes any remaining compressed data, closes the last IDAT chunk CRC. Called when all image rows have been read. 0x00E86FD0 234 png_push_have_row file libpng: Advances to next row after a row is decoded. For interlaced images, cycles through Adam7 passes (0-6) updating row/col counts per pass. Finishes IDAT when all passes complete. 0x00E870C0 158 png_read_sig file libpng: Reads and validates the 8-byte PNG signature. Checks for valid PNG magic bytes and detects ASCII conversion corruption. 0x00E87160 748 png_read_start_row file libpng: Initializes row reading. Applies transforms to calculate final pixel depth, allocates row buffers (current + previous), sets up interlace pass dimensions. Initializes zlib inflate for IDAT. 0x00E87450 77 png_zlib_inflate file libpng: Calls zlib inflate(). Before first inflate, checks window size in zlib header. Returns zlib status code. 0x00E874A0 23 png_default_flush file libpng: Default flush callback. Calls fflush on the output FILE*. 0x00E874C0 49 png_default_write_data file libpng: Default write callback. Calls fwrite to output data. Errors on short write. 0x00E87500 24 png_write_flush file libpng: Calls the user-provided flush callback if set. 0x00E87520 80 png_set_write_fn file libpng: Sets write callback, flush callback, and IO pointer. Defaults to png_default_write_data and png_default_flush if NULL. Warns if read fn was set. 0x00E87570 30 png_write_data file libpng: Calls the user-provided write callback. Errors if write function is NULL. 0x00E87590 346 png_do_pack file libpng: Packs expanded pixel data back to sub-byte bit depths (1, 2, 4 bit). Used during write when bit depth was expanded for processing. Only for 8-bit color type 1 channel. 0x00E876F0 620 png_do_shift file libpng: Applies bit shift transformation during write. Shifts pixel values based on sBIT significant bits info. Handles sub-byte, 8-bit, and 16-bit depths per channel. 0x00E87960 146 png_do_invert_alpha file libpng: Inverts alpha channel (255-alpha) for RGBA/GA color types. Handles 8-bit and 16-bit per channel. 0x00E87A00 287 png_do_swap_alpha file libpng: Swaps alpha channel position (ARGB<->RGBA, AG<->GA) during write. Handles 8-bit and 16-bit per channel for color types 4 and 6. 0x00E87B20 310 png_do_write_transformations file libpng: Applies all write transformations in order: user transform, quantize, BGR swap, pack, shift, byte swap, bit packing, swap alpha, invert alpha, BGR swap, interlace handling. 0x00E87C60 59 _Erase_tree<> game_core STL _Erase_tree: recursively frees all nodes in a red-black tree, then resets the tree to empty state. 0x00E87CA0 49 crt_sprintf_s crt CRT: sprintf_s wrapper. Calls __stdio_common_vsprintf_s with buffer size 0x104. Returns -1 on error. 0x00E87CE0 207 CTimerQueue__ctor game_core RO client: Constructor for CTimerQueue. Creates a linked list node, sets up a 10-second periodic timer via timeSetEvent, and initializes a critical section for thread safety. 0x00E87DB0 249 CMemoryProtector__ctor game_core RO client: Constructor for CMemoryProtector. Seeds RNG from GetTickCount, allocates virtual memory with random size (10-29 entries), creates critical section. Part of anti-cheat/tamper detection system. Calls decrypt_string_threadsafe to log initialization. 0x00E87EE0 64 ~_Tree<> game_core STL ~_Tree destructor: erases all nodes and deallocates the sentinel node. 0x00E87F50 341 CLogFile__close_and_flush game_core RO client: Closes and flushes a log file. Formats timestamp header, optionally XOR-encrypts log content, writes to file handle, then closes. Deletes critical section on cleanup. 0x00E880B0 59 CTimerQueue__dtor game_core RO client: Destructor for CTimerQueue. Kills the periodic timer, deletes critical section, and destroys the internal STL tree. 0x00E880F0 58 CMemoryProtector__dtor game_core RO client: Destructor for CMemoryProtector. Frees virtual memory and deletes critical section. 0x00E88130 221 CTimerQueue__insert_or_find game_core RO client: Inserts or finds a key in CTimerQueue's internal red-black tree. Returns pointer to the value field of the tree node. 0x00E88210 83 operator++ stl STL tree iterator operator++: advances to the next in-order node by traversing right subtree or walking up to parent. 0x00E88270 1025 rotate_log_files game_core RO client: Rotates log files with multiple extensions and numbered suffixes. Checks for locked files, renames/moves older logs, deletes the oldest. Uses encrypted string names for the 6 log file types. 0x00E88680 158 check_single_instance_mutex game_core RO client: Checks if another instance is already running by creating a named mutex with a security descriptor. Returns true if mutex already exists (ERROR_ALREADY_EXISTS = 0xB7). 0x00E88720 317 CMemoryProtector__verify_and_repair game_core RO client: CMemoryProtector integrity check. Verifies XOR-encoded values in protected memory slots haven't been tampered with. Calls repair function and reports tampering if detected. 0x00E88860 119 check_pe_section_integrity game_core RO client: Checks PE section header integrity. Reads MZ header, verifies section virtual/raw sizes. Detects section padding modifications used by some cheat tools. 0x00E888E0 378 verify_file_crc32 game_core RO client: Verifies a file's CRC32 checksum. Computes CRC32, checks against expected value and against a whitelist file. Part of anti-tamper file integrity verification system. 0x00E88A60 317 acquire_global_mutex game_core RO client: Acquires a global named mutex with timeout. Creates mutex with security descriptor, waits if already owned. Returns 1 on success, 0 on timeout or failure. Used for cross-process synchronization. 0x00E88BA0 569 anticheat_update_thread security RO client: Anti-cheat update thread. Downloads updates from 5 mirror servers (random order), falls back to secondary download method if direct download fails. Logs results. 0x00E88DE0 194 check_registry_guard_value game_core RO client: Checks a registry guard value under HKCU. If the value is > 1, triggers a reporting action and resets it to 0. Used for anti-cheat state persistence across sessions. 0x00E88EB0 21 anticheat_obfuscated_call security RO client: Obfuscated anti-cheat call. Jumps to dynamically calculated address. Used to make reverse engineering harder. 0x00E89290 245 verify_registry_crc_value game_core RO client: Verifies a CRC32 value stored in a Windows registry key. Opens HKCU registry key, reads a DWORD value and compares against expected CRC. Returns 1 if match, 0 if mismatch. 0x00E89390 1593 detect_system_dll_tampering game_core RO client: Detects system DLL tampering. Reads Windows version from registry, gets system32 DLL path, checks file size, loads version API. Stores expected hash in registry based on known file sizes (0x18D10 or 0x17110). 0x00E899D0 290 try_acquire_named_mutex game_core RO client: Tries to acquire a named mutex with security descriptor. Returns 0 if mutex already exists or wait times out. Different from acquire_global_mutex - this does not wait if already exists. 0x00E89B00 140 check_winsock_hook_integrity game_core RO client: Checks Winsock API hook integrity. Compares stored function pointers for WSASend and send against current IAT values. Returns 1 if clean, 0 if hooked, 2 if not initialized. 0x00E89B90 213 check_timing_api_hook_integrity game_core RO client: Checks timing API hook integrity. Verifies QueryPerformanceCounter, GetTickCount, and timeGetTime haven't been detoured. Returns 1 if clean, 0 if hooked, 2 if not initialized. 0x00E89C70 878 anticheat_scan_thread security RO client: Anti-cheat scanning thread. Downloads and runs scan data from mirror servers, reports results via pipe connection. Handles scan result codes (0=clean, 0x147=detected). Sends detection reports to server. 0x00E89FE0 377 check_dll_version_minimum game_core RO client: Checks if a DLL file version meets a minimum requirement. Loads version.dll dynamically, reads file version info, compares against required version (param2-5 as major.minor.build.revision). 0x00E8A160 463 CAntiCheat__shutdown security RO client: CAntiCheat shutdown. Closes pipe connection, handles, stops monitors, cleans up log files. Reports final error code and detection count to server via registry. 0x00E8A330 232 CAntiCheat__stop_monitor_v2 security RO client: Stops anti-cheat monitor v2. Calls shutdown callback, signals event, waits for monitoring thread (2s timeout then terminates), frees DLL. Clears function pointers. 0x00E8A420 223 CAntiCheat__stop_monitor_v1 security RO client: Stops anti-cheat monitor v1. Calls cleanup callback with session data, signals stop event, waits for thread (2s timeout), frees DLL. 0x00E8A500 329 CAntiCheat__initialize security CAntiCheat: initialize 0x00E8AC50 202 delete_anticheat_registry_values game_core RO client: Deletes 7 anti-cheat registry values from HKCU key. Cleans up persistent state when anti-cheat is being reset or uninstalled. 0x00E8AD20 109 set_anticheat_registry_flag game_core RO client: Sets an anti-cheat DWORD flag in HKLM registry. Opens key with full access, writes a DWORD value. Returns true on success. 0x00E8AD90 406 CAntiCheat__launch_helper_process security RO client: Launches anti-cheat helper process. Builds command line with executable path and session ID (0xEAD), creates process via CreateProcessA. Only runs if DAT_0173b904 is set. 0x00E8AF30 309 handle_anticheat_exception game_core RO client: Handles anti-cheat exceptions. Logs exception details (code, address, thread ID), dumps 32 bytes of exception context as hex, reports to server, then calls ExitProcess(100) if anti-cheat is terminating. 0x00E8B070 401 CAntiCheat__read_registry_counters security RO client: Reads 4 anti-cheat counter values from HKCU registry. Logs each value. Returns the first counter value. 0x00E8B210 184 CAntiCheat__start_scan_thread security RO client: Starts the anti-cheat scan thread. Creates thread running anticheat_scan_thread, waits 500ms for initial scan. Logs thread handle and ID. 0x00E8B2D0 317 CAntiCheat__write_registry_counters security RO client: Writes 4 anti-cheat counter values plus GetLastError to HKCU registry. Logs each value written. 0x00E8B410 162 CMemoryProtector__read_protected_value game_core RO client: Reads a protected value from CMemoryProtector. Thread-safe via critical section. Decodes XOR-obfuscated value from virtual memory. Used to read tamper-protected anti-cheat state. 0x00E8B4C0 19 timer_read_protected_value_wrapper game_core RO client: Wrapper that calls timer_insert_and_read_protected. 0x00E8B4E0 26 timer_insert_and_read_protected game_core RO client: Inserts a timer entry and reads the protected value. Uses CTimerQueue for tracking and CMemoryProtector for tamper-proof storage. 0x00E8B500 9 thunk_to_CAntiCheat__send_pipe_message_simple_00e8b500 security Simple wrapper that calls FUN_00e916c0 and returns 0x00E8B510 73 get_module_directory_ansi game_core RO client: Gets the directory containing the current module (ANSI). Uses GetModuleFileNameA, strips filename by finding last backslash. Returns '.' if path retrieval fails. 0x00E8B560 70 get_module_directory_wide game_core RO client: Gets the directory containing the current module (Unicode). Uses GetModuleFileNameW, strips filename. Returns L'.' if path retrieval fails. 0x00E8B5B0 124 build_anticheat_dll_path_ansi game_core RO client: Builds the full path to the anti-cheat DLL (ANSI). Uses cached drive path if valid, otherwise gets module directory. Appends encrypted DLL filename. 0x00E8B630 144 build_anticheat_dll_path_wide game_core RO client: Builds the full path to the anti-cheat DLL (Unicode). Uses cached drive path if valid, otherwise gets module directory. Appends encrypted DLL filename. 0x00E8B750 52 CAntiCheat__get_session_info security RO client: Gets anti-cheat session info. Returns two values from the anti-cheat global state (fields at offsets 0x638 and 0x238). Only works if anti-cheat is initialized. 0x00E8B7B0 19 CAntiCheat__get_field_34 security RO client: Gets a field at offset 0x34 from anti-cheat state. Returns 0 if anti-cheat is not initialized. 0x00E8B7D0 396 dump_loaded_modules_for_process game_core RO client: Dumps loaded modules for current process using toolhelp API. Uses CreateToolhelp32Snapshot with TH32CS_SNAPMODULE. Logs module path, base, and size for each loaded DLL. 0x00E8B960 393 dump_running_processes game_core RO client: Dumps running processes using toolhelp API. Uses CreateToolhelp32Snapshot with TH32CS_SNAPPROCESS. Logs process name, PID, parent PID, and thread count. 0x00E8BAF0 33 CMemoryProtector__set_page_readonly game_core RO client: Sets memory page to read-only (PAGE_READONLY=2) using VirtualProtect. Part of CMemoryProtector tamper detection system. 0x00E8BB20 1075 anticheat_report_to_server security RO client: Reports anti-cheat detection results to server via HTTP. Tries 5 mirror servers, sends error code and detection data. Returns 0x755 for server-side ban responses (0x12F, 0x130). 0x00E8BF60 70 CAntiCheat__get_error_code security RO client: Gets the current anti-cheat error code. Logs whether anti-cheat is running or has an error. 0x00E8BFB0 819 CAntiCheat__start_monitor_v2 security RO client: Starts anti-cheat monitor v2. Verifies DLL signature, loads it, resolves 4 exports by ordinal, creates monitoring thread, initializes with process ID and session data via shared memory. Returns error code or 0 on success. 0x00E8C2F0 741 CAntiCheat__start_monitor_v1 security RO client: Starts anti-cheat monitor v1. Verifies DLL signature, loads it, resolves exports by ordinal (1-4), creates thread, initializes monitor. Returns 1 on success, 0 on failure. 0x00E8C5E0 111 CAntiCheat__create_shared_memory security RO client: Creates a named shared memory mapping (1 byte). Used for inter-process communication between client and anti-cheat helper process. Writes initial marker byte. 0x00E8C650 329 init_winsock_hook_detection game_core RO client: Initializes Winsock hook detection. Gets ws2_32.dll module handle, resolves WSASend and send addresses, stores original function pointers for later comparison. Detects if functions point outside the module. 0x00E8C7A0 602 init_timing_api_hook_detection game_core RO client: Initializes timing API hook detection. Resolves QueryPerformanceCounter, GetTickCount (kernel32), and timeGetTime (winmm). Stores original addresses for later integrity checks. Detects detours by checking if address is inside module range. 0x00E8CA00 203 init_toolhelp_api game_core RO client: Initializes toolhelp32 API function pointers. Resolves CreateToolhelp32Snapshot, Process32First/Next, Module32First/Next from kernel32.dll. Returns 1 if all resolved. 0x00E8CAD0 3 ret_one_00e8cad0 crt Returns constant value 1 0x00E8CAE0 76 check_debugger_present game_core RO client: Checks if a debugger is attached. Uses PEB.BeingDebugged or NtGlobalFlag depending on config flag. Returns 0 if debugger detected (unless section integrity check failed). 0x00E8CB30 11 anticheat_obfuscated_call_2 security RO client: Obfuscated anti-cheat call #2. Jumps to dynamically calculated address. 0x00E8CCC0 93 is_windows_nt game_core RO client: Checks if running on Windows NT (platform ID 2). Uses GetVersionExA resolved manually from kernel32 to avoid hooks. 0x00E8CD20 140 check_windows_version_and_adjust game_core RO client: Checks Windows version and adjusts settings. Doubles a global value on Windows 2000 (5.0). Returns 1 for NT, 0 for non-NT. 0x00E8CDB0 128 anticheat_log_printf security RO client: Printf-style logging function for anti-cheat. Formats message into 4096-byte buffer and writes to anti-cheat log. 0x00E8CE30 217 CTimerQueue__periodic_check_all game_core RO client: Timer callback that iterates all CMemoryProtector instances. For each, verifies integrity and relocates data to a random new location. Called every 10 seconds by timeSetEvent. 0x00E8CF10 177 CMemoryProtector__relocate_data game_core RO client: Relocates protected memory data to a random location within virtual allocation. Copies data to new offset, sets page to read-only. Anti-tamper measure to prevent static memory patching. 0x00E8CFD0 675 manual_get_proc_address game_core RO client: Manual GetProcAddress implementation. Parses PE export directory to resolve function by name or ordinal. Handles forwarded exports recursively. Used to avoid IAT hooking detection. 0x00E8D2E0 1820 CLogFile__open_and_write_header game_core RO client: Opens encrypted log file. Rotates existing logs, creates new file, writes timestamp header. Supports RC4 encryption with RSA-encrypted key, or simple XOR encryption. Initializes critical section for thread safety. 0x00E8DA00 10206 CAntiCheat__startup_and_verify security Main anticheat startup function (10K bytes). Initializes anticheat subsystem: verifies file signatures, checks PE section integrity, detects API hooks, loads anticheat DLL via CreateProcessA, sets up shared memory/pipes, starts monitoring threads. Handles mutex-based single instance, registry counters, log file rotation. 0x00E90240 180 get_file_trust_status game_core RO client: Gets file trust status using WinVerifyTrust or equivalent API. Resolves ntdll functions manually. Returns negated trust status flags. 0x00E90300 236 write_last_error_to_registry game_core RO client: Writes last error info to HKCU registry. Stores error number, game name, and timestamp. Used for crash/error reporting. 0x00E903F0 119 CTimerQueue__set_value game_core RO client: Sets a value in CTimerQueue tree by key. Thread-safe via critical section. Inserts or updates key-value pair. 0x00E90470 232 create_protected_memory_entry game_core RO client: Creates a CMemoryProtector entry with associated CTimerQueue. Allocates timer queue singleton if needed, creates protector, registers in timer queue. 0x00E90560 120 CMemoryProtector__make_page_writable game_core RO client: Makes a CMemoryProtector page writable (PAGE_READWRITE=4). Verifies the previous protection was PAGE_READONLY. Detects tampering if protection was unexpected. 0x00E905E0 66 CAntiCheat__close_shared_memory security RO client: Closes shared memory mapping. Unmaps view of file and closes file mapping handle. Clears shared memory active flag. 0x00E90630 173 destroy_protected_memory_entry game_core RO client: Destroys a CMemoryProtector entry. Finds it in timer queue, calls destructor, removes from tree. Returns true if timer queue is now empty. 0x00E906E0 526 cleanup_registry_run_entries game_core RO client: Cleans up registry Run entries matching current executable path. Enumerates HKCU Run key values, deletes entries whose path matches the current module directory. Anti-persistence cleanup. 0x00E908F0 67 destroy_protected_memory_and_timer game_core RO client: Destroys a protected memory entry and its timer queue if empty. Calls destroy_protected_memory_entry, then cleans up the singleton CTimerQueue if no entries remain. 0x00E90940 5 ret_zero_00e90940 crt Returns zero; likely a stub or default implementation 0x00E90950 942 anticheat_report_error_with_code security Reports an anticheat error with an error code, formatting the message and sending it via the anticheat communication channel. 0x00E90D00 119 CAntiCheat__send_heartbeat_00e90d00 security RO client: Sends anti-cheat heartbeat data via pipe connection. Writes shared memory marker and sends 4-DWORD heartbeat packet with message ID 0x8B1/0x619. 0x00E90D80 180 CAntiCheat__send_extended_heartbeat security RO client: Sends extended heartbeat with 5 DWORDs via pipe. Updates shared memory marker. Message ID 0x8B1/0x61A. 0x00E90E40 66 anticheat_obfuscated_init security RO client: Obfuscated anti-cheat initialization. Calls dynamically calculated address. 0x00E910B0 76 CAntiCheat__send_status_report security RO client: Sends anti-cheat status report via pipe. Message ID 0x8B1/0x616 with single DWORD payload. 0x00E91100 278 send_udp_report_packet game_core RO client: Sends a UDP report packet to a specified server address. Creates UDP socket, resolves hostname, sends anti-cheat data buffer. Port defaults to 15000 or from config. 0x00E91220 188 CAntiCheat__set_session_key_and_scan security RO client: Sets session key and triggers anti-cheat scan. Copies session key to internal buffer, starts scan thread if both scan configs are set. Sends key via pipe 0x8B1/0x613. 0x00E912E0 85 CAntiCheat__call_monitor_export3 security RO client: Calls export ordinal 3 from loaded anti-cheat DLL with two parameters. Returns 2 if function pointer not set. Logs the return value. 0x00E91340 424 CMemoryProtector__write_protected_value game_core RO client: Writes a protected value to CMemoryProtector. Thread-safe. In simple mode, writes value + XOR verification. In complex mode, stores XOR-encoded value across random array slots with rotating key. Periodically relocates data. 0x00E914F0 22 timer_write_protected_value_wrapper game_core RO client: Wrapper that calls timer_insert_and_write_protected. 0x00E91510 29 timer_insert_and_write_protected game_core RO client: Inserts timer entry and writes protected value. Uses CTimerQueue key lookup and CMemoryProtector value storage. 0x00E91530 188 CAntiCheat__on_detection_event security RO client: Handles anti-cheat detection event. Dumps running processes and loaded modules, stores detection code, sends pipe report 0x8B1/0x612, calls hash file system callback to handle detection. 0x00E915F0 207 CAntiCheat__monitor_thread_proc security CAntiCheat: monitor thread proc 0x00E916C0 42 CAntiCheat__send_pipe_message_simple security RO client: Sends a simple single-DWORD pipe message (0x8B1/0x61C) if anti-cheat is initialized. Returns nonzero on success. 0x00E916F0 378 CLogFile__write_timestamped_entry game_core CLogFile write_timestamped_entry: formats a timestamped log message and writes it to the log file. 0x00E91870 100 CAntiCheat__check_api_hooks security CAntiCheat check_api_hooks: verifies that critical API functions have not been hooked by checking their first bytes. 0x00E918E0 317 CAntiCheat__write_shared_memory security Writes data to a shared memory mapped file. Opens a named file mapping, acquires a named mutex, appends data to the end of a linked list structure in shared memory. Used for inter-process communication with anticheat monitor. 0x00E91A20 704 std__Tree__Extract_node stl STL red-black tree node extraction with rebalancing. Removes a node from the tree, fixes parent/child pointers, and rebalances via rotations (Lrotate/Rrotate). Decrements tree size. Part of std::set/std::map erase implementation. 0x00E91CE0 517 std__Tree_val__Insert_node_00e91ce0 stl STL std::_Tree_val::_Insert_node. Inserts a new node into a red-black tree at the given position, then rebalances via rotations. VS2019 library function. 0x00E91EF0 84 std__Tree__Lrotate stl STL red-black tree left rotation. Rotates a node left around its right child, updating parent pointers. Used during tree rebalancing after insert/erase. 0x00E91F50 88 std__Tree__Rrotate stl STL red-black tree right rotation. Rotates a node right around its left child, updating parent pointers. Used during tree rebalancing after insert/erase. 0x00E91FB0 350 std__Tree__erase_range stl STL tree range erase. Erases nodes in range [first, last) from a red-black tree. Uses Extract_node for individual removal, then frees nodes via operator_delete. Falls back to clearing entire tree if range covers all elements. 0x00E92110 96 CAntiCheat__circular_buffer_enqueue security Enqueues a pair of values (param_2, param_3) into a circular buffer of 20 entries. Protected by critical section if initialized. Returns true if space was available, false if buffer was full. 0x00E92170 648 CAntiCheat__validate_module_imports security Validates that module import table function pointers are within the module's code bounds. Loads the module, parses PE header to find code section, then checks each pointer in the import table against the valid range. Detects API hooking/detours. 0x00E92400 1 CRT_stub_00e92400 crt Crt stub 00e92400, small utility function 0x00E92420 92 CAntiCheat__destroy_instance security Destroys the CAntiCheat singleton instance. Calls shutdown, cleans up crypto verifier, thread handles, and log file. Frees the 0x45b8-byte allocation and clears the global pointer. 0x00E92480 24 CAntiCheat__get_field_4574 security Returns the byte field at offset 0x4574 from the CAntiCheat object. 0x00E924A0 26 CAntiCheat__set_field_0x4574 security Sets the byte field at offset 0x4574 in the CAntiCheat object. 0x00E924C0 24 CAntiCheat__get_field_4575 security Returns the byte field at offset 0x4575 from the CAntiCheat object. 0x00E924E0 26 CAntiCheat__set_field_4575 security Sets the byte field at offset 0x4575 in the CAntiCheat object. 0x00E92500 118 CAntiCheat__clear_pe_dynamic_base_flags security Clears the IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE flag from the PE header of the current process. Modifies the Optional Header's DllCharacteristics field to disable ASLR. Uses VirtualProtect to temporarily make the PE header writable. 0x00E92590 47 CAntiCheat__get_log_file_info security Returns log file info from the CAntiCheat singleton. Outputs two values from offsets 0x30e4 and 0x30e8, returns pointer to offset 0x30ec. Returns 0 if instance not initialized. 0x00E925C0 201 CAntiCheat__dequeue_detection_event security Dequeues a detection event from the circular buffer. If param_3 is set, marks the system as compromised. Otherwise reads next entry from the 20-slot circular buffer, protected by critical section. Returns 1 if an event was dequeued, 0 otherwise. 0x00E92690 162 CAntiCheat__collect_hardware_fingerprint security Initializes ConnectionManager, sets log callback, collects hardware fingerprint for the given param, logs result, then cleans up ConnectionManager. Returns the fingerprint collection result. 0x00E92760 27 CAntiCheat__get_pipe_handle security Returns the pipe handle from the CAntiCheat object for communication with the anticheat driver. 0x00E92780 18 CAntiCheat__is_initialized security Returns whether the CAntiCheat system has been initialized. 0x00E92820 18 CAntiCheat__is_active security Returns whether the CAntiCheat system is currently active and monitoring. 0x00E92840 188 CAntiCheat__set_debug_protection security Enables anti-debug protection by calling NtSetInformationProcess with ProcessDebugFlags (0x14) to set the NoDebugInherit flag. Only runs on Windows NT. Resolves NtSetInformationProcess dynamically from ntdll. 0x00E92900 8 identity_passthrough_00e92900 crt Returns its parameter unchanged; identity function stub 0x00E92910 65 CAntiCheat__protect_memory_readonly security Sets memory region to PAGE_READONLY (0x02) via VirtualProtect. Logs the operation. Used to protect anticheat code from modification. 0x00E92960 65 CAntiCheat__protect_memory_readwrite security Sets memory region to PAGE_READWRITE (0x04) via VirtualProtect. Logs the operation. Used to temporarily make anticheat memory writable for updates. 0x00E929B0 557 CAntiCheat__create_instance security Creates and initializes the CAntiCheat singleton instance. Allocates 0x45b8 bytes, initializes critical section, pipe connection, crypto verifier. Sets exception handler. Calls startup_and_verify, reads registry counters. Stores result in global DAT_0173ccb4. 0x00E92BE0 97 CAntiCheat__create_instance_wide security Wide-string wrapper for CAntiCheat__create_instance. Converts LPCWSTR to ANSI (max 32 chars) then calls create_instance with the ANSI string. 0x00E92C60 68 CAntiCheat__init_and_register security Initializes anticheat fields at offsets 0x18a0, 0x16a0, 0x1aa0 if not already done, then delegates to a registration thunk. Returns 0 if instance not initialized or param is null. 0x00E92CB0 30 CAntiCheat__set_account_id security Sets the account ID in the CAntiCheat object for player identification in anticheat reports. 0x00E92CD0 109 CAntiCheat__set_account_id_wide security Wide-string wrapper for CAntiCheat__set_account_id. Converts LPCWSTR to ANSI (max 260 chars) then calls set_account_id with the ANSI string and second parameter. 0x00E92D40 30 CAntiCheat__send_heartbeat_wrapper security Null-check wrapper for CAntiCheat__send_heartbeat. Returns 0 if singleton not initialized, otherwise delegates to send_heartbeat. 0x00E92D60 33 CAntiCheat__send_extended_heartbeat_wrapper security Null-check wrapper for CAntiCheat__send_extended_heartbeat. Returns 0 if singleton not initialized, otherwise delegates to send_extended_heartbeat with two params. 0x00E92D90 36 CAntiCheat__obfuscated_init_wrapper security Null-check wrapper for anticheat_obfuscated_init. Returns 0 if singleton not initialized, otherwise delegates with three params. 0x00E92DC0 30 CAntiCheat__send_status_report_wrapper security Null-check wrapper for CAntiCheat__send_status_report. Returns 0 if singleton not initialized, otherwise delegates with one param. 0x00E92DE0 52 CAntiCheat__configure_and_start_scan security Configures and starts an anticheat scan. Calls init_and_register first, then set_session_key_and_scan. Returns 0 if singleton not initialized or param is null. 0x00E92E20 98 CAntiCheat__set_server_address_wide security Wide-string wrapper for CAntiCheat__configure_and_start_scan. Converts LPCWSTR to ANSI (max 512 chars) then delegates. 0x00E92E90 13 CAntiCheat__set_callback security Sets a global callback function pointer (PTR_CHashFileSystem__HandleCallback_01361d08). Used for anticheat event notification. 0x00E92EA0 98 CAntiCheat__set_service_name security Sets the service name in global buffer at DAT_0173b918. Compares with existing empty string, if different copies the name and logs the change via encrypted string format. 0x00E92F10 31 ServiceManager__check_service_state game_core Checks service state via FUN_00e912e0. Returns 2 if DAT_0173ccb4 (service manager) is null. 0x00E92F30 23 CAntiCheat__dispatch_detection_event security Dispatches a detection event to CAntiCheat__on_detection_event if the anticheat singleton is initialized. No-op if DAT_0173ccb4 is null. 0x00E92F50 110 ServiceManager__set_path_ansi game_core Sets the service path from ANSI string. Copies to global buffer at 0x0173bd58 (max 0x104 chars) and converts to wide char at 0x0173be60. 0x00E92FC0 129 ServiceManager__set_path_wide game_core Sets the service path from wide string. Copies to wide buffer at 0x0173be60 (max 0x104 wchars) and converts to multibyte at 0x0173bd58. 0x00E93060 71 ServiceManager__set_additional_path game_core Sets an additional path string from ANSI input. Copies to buffer at 0x0173c078 (max 0x104 chars). 0x00E930B0 157 ServiceManager__set_additional_path_wide game_core Sets additional path from wide string. Converts wide to multibyte (max 0x200) and delegates to set_additional_path (ANSI version). 0x00E93190 29 get_filename_from_path_ansi game_core Returns pointer to filename portion of ANSI path by finding last backslash via _mbsrchr. Returns original string if no backslash found. 0x00E931B0 30 get_filename_from_path_wide game_core Returns pointer to filename portion of wide path by finding last backslash via wcsrchr. Returns original string if no backslash found. 0x00E931D0 69 ServiceManager__count_services_by_name game_core Counts how many active services in the service table (DAT_0173cd14) match the given name. Table has 50 entries of 800 bytes each. Name at offset 0x28. 0x00E93360 42 ServiceManager__find_first_available_slot game_core Finds the first available (active, excluding param_1) slot in the service table. Returns index 0-49, or -1 if none found. 0x00E933C0 53 hash_string_case_insensitive game_core Computes a hash of an ANSI string using multiplier 0x1f with case-insensitive comparison (OR 0x20 on each char). Returns 0 for null input. 0x00E93400 66 hash_wstring_case_insensitive game_core Computes a hash of a wide string using multiplier 0x1f with case-insensitive comparison (OR 0x20 on each wchar). Returns 0 for null input. 0x00E93450 77 ServiceManager__find_service_index_by_name game_core Finds index of a service in the table by exact name match (case-insensitive via _mbsicmp). Name at offset 0x28 in 800-byte entries. Returns -1 if not found. 0x00E934A0 76 ServiceManager__find_service_index_by_prefix game_core Finds index of a service in the table by name prefix match. Uses mbsnbicmp to compare only the length of param_2. Returns -1 if not found. 0x00E934F0 238 ServiceManager__find_service_index_by_hwnd game_core Finds the service table index for a given HWND. Checks two HWND fields (offsets 0x8 and 0x10) per entry, including owner windows (GetWindow GW_OWNER) and optionally parent/child relationships. Returns -1 if not found. 0x00E935E0 46 ServiceManager__find_service_by_field1 game_core Finds index of a service by matching field at offset 0x4 (piVar1[1]). Returns index 0-49, or -1 if not found. 0x00E93610 40 hash_string_case_sensitive game_core Computes case-sensitive hash of a string using multiplier 0x1f. Standard DJB-style hash without case folding. 0x00E93640 121 ServiceManager__is_window_in_rect game_core Checks if a window's rect overlaps with the given rect. Returns 1 if the window's left/right is within rect's X range AND top/bottom is within Y range. 0x00E936C0 105 ServiceManager__any_service_window_in_rect game_core Checks if any service window (HWND at offsets 0x8 and 0x10) in the service table overlaps with the given rect. Returns 1 if any overlap found. 0x00E93760 47 ServiceManager__check_service_flags game_core Checks if a specific service (by index) has the given flags set at offset 0x20 (piVar1[8]). Returns 1 if active and flags match. 0x00E93790 48 ServiceManager__any_service_has_flags game_core Checks if any active service in the table has the given flags set at offset 0x20. Returns 1 on first match, 0 if none. 0x00E937C0 48 ServiceManager__check_service_type game_core Checks if a specific service (by index) has type matching param_2 at offset 0x1c. Returns 1 if active and type matches. 0x00E937F0 48 ServiceManager__any_service_has_type game_core Checks if any active service has the type value at offset 0x1c matching param_1. Returns 1 on first match, 0 if none. 0x00E93820 55 ServiceManager__check_service_type_and_flags game_core Checks if service at index param_1 has type param_2 (offset 0x1c) AND has flags param_3 set (offset 0x20). Returns 1 if all conditions met. 0x00E93860 66 ServiceManager__find_service_type_has_flags game_core Finds a service with type param_1 (offset 0x1c) then checks if it has flags param_2 at offset 0x20. Returns 1 if found with matching flags. 0x00E938B0 59 ServiceManager__is_value_in_service_range game_core Checks if param_1 falls within [field1, field1+3] range of any active service. Field1 at offset 0x4. Returns 1 on match. 0x00E938F0 48 ServiceManager__any_service_has_field1_value game_core Checks if any active service has field1 (offset 0x4) exactly equal to param_1. Returns 1 on first match. 0x00E93920 48 ServiceManager__any_service_has_field6_value game_core Checks if any active service has field at offset 0x18 (piVar1[6]) matching param_1. Returns 1 on first match. 0x00E93950 29 ServiceManager__is_hwnd_in_services game_core Checks if a given HWND belongs to any service in the table. Wrapper around find_service_index_by_hwnd, returns true if index != -1. 0x00E93970 47 string_starts_with_case_insensitive game_core Checks if param_1 starts with param_2 using case-insensitive comparison (_mbsnbicmp). Compares only strlen(param_2) bytes. 0x00E939A0 39 ServiceManager__is_service_active game_core Returns 1 if the service at given index (0-49) is active (first field nonzero). Returns 0 for invalid index or inactive service. 0x00E939D0 483 decrypt_string_threadsafe game_core Thread-safe string decryption. Uses critical section. Decrypts string marked with 0x01 prefix using XOR cipher with seed derived from byte[1]. Re-encrypts the previous thread-local decrypted string. Uses per-thread slots (up to 20 threads) for concurrent access. 0x00E93BC0 419 decrypt_string_global game_core Global string decryption. Same XOR cipher as decrypt_string_threadsafe but uses a single global DAT_0173e5e0 instead of per-thread slots. Re-encrypts previous decrypted string. 0x00E93D70 128 decrypt_string_inplace game_core Decrypts a string in-place using XOR cipher. String must start with 0x01 marker. Seed from byte[1], length from bytes[2:3]. Uses critical section for thread safety. 0x00E93DF0 242 encrypt_string_to_global_buffer game_core Encrypts a plaintext string into global buffer DAT_0173cd38 using XOR cipher with 0x01 marker. Uses critical section. Aborts if output would exceed 0x7ff bytes. 0x00E93EF0 230 decrypt_hex_encoded_string game_core Decodes hex-encoded string in-place, then decrypts using XOR cipher with 0x02 marker. Uses critical section. Each pair of hex chars becomes one byte, then XOR decryption with multiplier 7 and offset 0x46. 0x00E93FE0 365 encrypt_string_to_hex game_core Encrypts string using XOR cipher with 0x02 marker (multiplier 7, offset 0x46), then hex-encodes the result back into param_1. Uses critical section. Each encrypted byte becomes two hex chars. 0x00E94150 123 decrypt_backslash_encoded_string game_core Decodes backslash-escaped hex string format (e.g. \\XX\\YY...) converting hex pairs to bytes in-place, then calls decrypt_string_inplace for XOR decryption. 0x00E941D0 441 decrypt_wstring_threadsafe game_core Wide string version of decrypt_string_threadsafe. Uses same XOR cipher with 0x01 marker but operates on wchar_t. Uses global DAT_0173e5e4 for previous string re-encryption. Thread-safe with critical section. 0x00E94390 145 decrypt_wstring_inplace game_core Wide string version of decrypt_string_inplace. Decrypts wstring with 0x01 marker in-place using XOR cipher on shorts. Thread-safe with critical section. 0x00E94430 235 encrypt_wstring_to_global_buffer game_core Encrypts a wide string into global buffer DAT_0173d538 using XOR cipher with 0x01 marker on wchar_t. Max 0x1000 bytes output. Thread-safe with critical section. 0x00E94520 102 get_encryption_critical_section game_core Returns pointer to global critical section at DAT_0173cd18 used for string encryption/decryption. Initializes it on first call using thread-local storage index for synchronization. 0x00E94590 170 stristr_ansi game_core Case-insensitive substring search for ANSI strings. Duplicates both strings, converts to lowercase, uses strstr, then adjusts pointer back to original string. Returns NULL if not found. 0x00E94640 182 stristr_wide game_core Case-insensitive substring search for wide strings. Duplicates both, converts to lowercase with _wcslwr, uses wcsstr, adjusts pointer to original. Returns NULL if not found. 0x00E94700 178 PipeConnection__init security Initializes a PipeConnection structure. Clears buffer at offset 0x1640 (0x1008 bytes), sets pipe handles to -1 (invalid), generates date-based XOR key at offset 0x10, zeroes thread/event fields. 0x00E947C0 5 PipeConnection__close_thunk security 5-byte thunk/jump to PipeConnection__close. Same cleanup logic: signals stop event, waits for read thread, closes pipe handles. Used as an alternate entry point. 0x00E947D0 124 PipeConnection__close security Closes a PipeConnection. Signals the stop event, waits 100ms for read thread to exit (terminates if timeout), closes thread handle and both pipe handles. Returns 0 if already closed. 0x00E94850 1674 PipeConnection__read_thread security Named pipe read thread. Loops reading messages from pipe via PeekNamedPipe/ReadFile. Dispatches messages by command ID (0x8b0=heartbeat, 0x8b1=request, 0x8b2=response). Reads additional data for commands 0x613-0x63d into connection buffers. Calls FUN_00e8a500 for message handling and FUN_00e95170 for sending responses. 0x00E94F00 46 PipeConnection__set_handles_and_start security Sets the read and write pipe handles on the connection object, then starts the read thread. Returns 0 if either handle is invalid. 0x00E94F70 67 PipeConnection__start_read_thread security Creates a stop event and spawns the pipe read thread (PipeConnection__read_thread). Returns the thread ID on success, 0 on failure. Sets running flag at offset 0x18. 0x00E94FC0 4 PipeConnection__get_small_data_buffer_1c security Returns pointer to small data buffer at offset 0x1c in PipeConnection. Used for commands 0x619/0x61a (20 bytes max). 0x00E94FD0 7 PipeConnection__get_stdin_pipe_read_handle security Returns the stdin pipe read handle at offset 0x2a50. Set by PipeConnection__redirect_stdio via CreatePipe for stdin redirection. 0x00E94FE0 7 PipeConnection__get_stdout_pipe_write_handle security Returns the stdout pipe write handle at offset 0x2a5c. Set by PipeConnection__redirect_stdio via CreatePipe for stdout capture. 0x00E94FF0 7 PipeConnection__get_data_buffer_238 security Returns pointer to data buffer at offset 0x238 in PipeConnection. Used for command 0x63c data storage (1024 bytes max). 0x00E95000 7 PipeConnection__get_data_length_638 security Returns data length field at offset 0x638 in PipeConnection. Stores the size of data in the 0x238 buffer (command 0x63c). 0x00E95010 7 PipeConnection__get_data_buffer_63c security Returns pointer to data buffer at offset 0x63c in PipeConnection. Used for command 0x63d data storage (4096 bytes max). 0x00E95020 7 PipeConnection__get_data_length_163c security Returns data length field at offset 0x163c in PipeConnection. Stores the size of data in the 0x63c buffer (command 0x63d). 0x00E95030 4 PipeConnection__get_string_buffer_34 security Returns pointer to string buffer at offset 0x34 in PipeConnection. Used for command 0x613 string data (512 bytes max). 0x00E95050 288 PipeConnection__redirect_stdio security Redirects stdout and stdin through pipes. Creates two pipe pairs: one for stdout (captures output), one for stdin (sends input). Saves original handles and duplicates pipe ends with non-inheritable flags. 0x00E95170 1010 PipeConnection__write_message security Writes a message to the pipe. Message format: 16-byte header (command, sequence, subcmd, size) + payload. Handles various command types (0x613=string, 0x619/0x61a=fixed data, 0x61b=large block, 0x61c/0x61d=512-byte blocks, 0x630/0x632/0x63c/0x63d=variable). Returns 0 on broken pipe. 0x00E95590 103 PipeConnection__start_read_thread_with_stdio security Starts pipe read thread after restoring original stdio handles. Restores saved stdin/stdout handles, creates stop event, and spawns the read thread. 0x00E95600 140 PipeConnection__write_message_with_dedup security Writes a message to the pipe with deduplication. Tracks last message params and if same message sent >2 times consecutively, returns early to avoid flooding. Skips dedup for commands 0x619-0x61d. Delegates to PipeConnection__write_message. 0x00E95690 30 PipeConnection__init_buffer security Initializes a 0x208-byte buffer structure. Sets size field to 0x208 and zeroes the data area (0x204 bytes). 0x00E956B0 199 CryptoVerifier__init security Initializes CryptoVerifier. Zeroes all fields, acquires Microsoft Base Cryptographic Provider (PROV_RSA_FULL) context. Uses critical section DAT_0173e5e8 when DAT_0173e600 is set. 0x00E95780 162 CryptoVerifier__cleanup security Cleans up CryptoVerifier. Frees allocated buffers, destroys hash and key handles, releases crypto context, unmaps file view. Uses critical section when DAT_0173e600 is set. 0x00E95850 128 CryptoVerifier__ensure_buffer security Ensures the internal buffer (offset 0x4) is at least param_2 bytes. Frees and reallocates if current capacity (offset 0xC) is insufficient. Returns 1 on success, 0 on allocation failure. 0x00E958D0 1485 CryptoVerifier__verify_file_signature security Verifies a file's digital signature using Microsoft CryptoAPI. Reads file, parses PE headers to find signature data (magic 0x32812622/0x32812621), imports RSA public key from DAT_01361d88, creates MD5 hash (0x8003), and verifies signature. Optionally checks filename match. Handles PE overlay data and checksum recalculation. 0x00E95EA0 1363 CryptoVerifier__verify_file_signature_alt security Alternative file signature verification. Same flow as verify_file_signature but uses different RSA key blob (DAT_01361d30/DAT_01361d84) and different signature block magic (0x32812624/0x32812623 as secondary). Does not check PE checksum field. 0x00E96400 55 compute_checksum16 game_core Compute checksum16, small utility function 0x00E96440 947 CryptoVerifier__decrypt_file_to_buffer security Decrypts a file using password-derived RC4 key. Reads file (or uses memory-mapped data), parses signature block, hashes password with MD5, derives RC4 key via CryptDeriveKey(0x6801), decrypts data, copies to output buffer. Supports both primary (0x32812622) and secondary (0x32812624) signature formats. 0x00E96800 896 CryptoVerifier__decrypt_file_direct security Directly decrypts a file using password-derived RC4 key. Opens file, reads contents, parses signature block, hashes password, derives key, decrypts with CryptDecrypt. Falls back to hash-verify on NTE_BAD_DATA error. Returns decrypted data in param_3 buffer. 0x00E96B80 155 CryptoVerifier__verify_hash_and_decrypt security Gets the MD5 hash value from the crypto context, then uses it to initialize RC4 key schedule and RC4-decrypt the data buffer. Despite the key derivation using CryptoAPI MD5, the actual decryption is RC4 (via rc4_key_schedule and rc4_crypt). 0x00E96C20 333 CryptoVerifier__map_file_and_crc security Memory-maps a file and optionally computes CRC. Opens file, creates file mapping, maps view of file. If param_3 != 0, initializes CRC32 table, computes CRC of the mapped data, then unmaps. 0x00E96D70 153 pe_compute_checksum game_core Computes the PE file checksum. Calculates 16-bit checksum via compute_checksum16, subtracts original checksum field, adjusts for borrow, handles odd-length files. Returns pointer to PE header, outputs new checksum and original checksum. 0x00E96E10 60 CryptoVerifier__set_flag security Sets a byte flag at offset 0x10 in the object. Uses critical section when DAT_0173e600 is set. 0x00E96E50 173 CRC32__init_table game_core Generates the CRC32 lookup table (256 entries) using polynomial 0xEDB88320. Each entry computed by 8 iterations of bit-by-bit division. Standard CRC32 table initialization. 0x00E96F00 3 null_stub_00e96f00 crt Empty function stub that immediately returns 0x00E96F10 323 CRC32__compute_file_ansi game_core Computes CRC32 of a file opened via ANSI path. Reads file in 4KB chunks, accumulates CRC using the lookup table. Returns inverted CRC (standard CRC32 finalization). Stores error code at offset 0x400. 0x00E97060 323 CRC32__compute_file_wide game_core Wide-string version of CRC32__compute_file_ansi. Opens file via CreateFileW, computes CRC32 in 4KB chunks. Same algorithm as ANSI version. 0x00E971B0 37 CRC32__compute_buffer game_core Wrapper that computes CRC32 of a memory buffer. Initializes CRC to 0xFFFFFFFF, delegates to CRC32__compute_file_partial, then inverts the result (standard CRC32 finalization). 0x00E971E0 432 CRC32__compute_file_partial game_core Computes CRC32 of a partial file. Opens file, seeks to offset param_3, reads up to param_4 bytes in 4KB chunks, accumulating CRC. Used for CRC of file regions rather than whole files. 0x00E97390 34 CRC32__compute_memory game_core Computes CRC32 of a memory buffer. Initializes to 0xFFFFFFFF, calls CRC32__update with the buffer data, then inverts the result. Convenience wrapper. 0x00E973C0 80 CRC32__update game_core Core CRC32 update function. Processes each byte of param_2 (length param_3) using the CRC32 lookup table. Accumulates into *param_4. Returns 0 if input is null. 0x00E97410 97 STL_string_array_destroy stl STL template instantiation: STL string array destroy 0x00E97480 157 STL_string_deep_copy stl Deep copies an STL string from param_3 into param_2. For small strings (<=15 chars), copies inline. For larger ones, allocates heap memory with size rounded up to next 16-byte boundary. 0x00E97520 46 safe_sprintf game_core Wrapper around __stdio_common_vsprintf_s. Formats a string into param_1 buffer (max 16 bytes) with format param_2 and varargs. Returns length or -1 on error. 0x00E97550 78 read_line_from_buffer game_core Reads one line from a text buffer into param_2. Stops at CR, LF, or end of string. Max 0x3FE chars. Handles CR+LF line endings. Returns pointer to next line in buffer. 0x00E975A0 343 ini_read_int_and_append_to_vector game_core Reads an integer value from INI-format text buffer via ini_read_value, formats the key as "%d" string, parses result as integer. If non-zero and not 0x17C, formats as string and appends to STL vector at param_1. 0x00E97700 129 ini_read_int_value game_core Reads an integer value from INI-format text buffer. Formats value name as "%d" string, reads from INI text via ini_read_value, parses as integer. Returns the integer value (0 if not found). 0x00E97790 208 ini_parse_section_names game_core Parses INI-format text buffer to extract section names (text between []). Returns double-null-terminated list of section names. Max param_2 bytes output. 0x00E97860 585 ini_read_value_and_append game_core Reads a value from INI-format text by section+key, and appends "=value" string to a vector at param_1. Section formatted as "[%d]", key as "%d=". Returns length of value string. 0x00E97AB0 425 ini_read_value game_core Reads a value from INI-format text buffer. Searches for section "[param_1]" then key "param_2=". Copies value (after '=') to param_4 (max param_5 bytes). Uses param_3 as default if not found. 0x00E97C60 1166 rc4_crypt_00e97c60 security RC4 stream cipher encrypt/decrypt. Uses 258-element state array (i, j, S[256]). Processes data in 8-byte blocks for speed, with byte-by-byte handling for remainder. XORs keystream with input to produce output. 0x00E980F0 350 rc4_key_schedule_00e980f0 security RC4 Key Scheduling Algorithm (KSA). Initializes the 256-byte S-box permutation from a key of param_2 bytes at param_3. State array: [i, j, S[0]..S[255]]. Processes 4 entries per iteration in 64 rounds. 0x00E98250 47 twofish_decrypt_buffer game_core Decrypts a buffer using Twofish in 16-byte blocks. Iterates through the buffer calling twofish_decrypt_block for each block. Returns total bytes processed. 0x00E98280 3333 twofish_decrypt_block game_core Twofish block cipher decryption of a single 16-byte block. Uses 4 S-box lookup tables at DAT_01361ea0/013622a0/013626a0/01362aa0. Reads input as big-endian 32-bit words, applies 16 rounds of Feistel network in reverse using subkeys from param_2. 0x00E98F90 2701 twofish_key_schedule game_core Twofish key schedule. Derives 32 round subkeys from a 16-byte key input. Uses S-box lookups and TEA-like delta constants (0x9E3779B9 / golden ratio). Generates subkeys stored as 32 uint array in param_1. 0x00E99A20 138 twofish_encrypt_buffer game_core Encrypts a buffer using Twofish in 16-byte blocks. Pads final block with zeros if shorter than 16 bytes. Returns total bytes written including padding. 0x00E99AB0 3333 twofish_encrypt_block game_core Twofish block cipher encryption of a single 16-byte block. Forward Feistel network with 16 rounds using 4 S-box tables. Input/output as big-endian 32-bit words. Uses param_2 subkey array (32 entries). 0x00E9A7C0 241 twofish_init_keys_with_password game_core Initializes two Twofish key schedules (DAT_0173ea10 and DAT_0173ea90) from base keys XORed with optional password. If password is provided, each byte XORs into the 16-byte key cyclically. Seeds RNG with current time after key setup. 0x00E9A8C0 240 twofish_decrypt_and_verify game_core Decrypts buffer using Twofish (key1 at DAT_0173ea10), verifies magic number and CRC32 of decrypted data. Returns original data size on success, 0 on failure. Clears the 16-byte trailer after verification. 0x00E9A9B0 240 twofish_decrypt_and_verify_alt game_core Alternative decrypt+verify using key2 (DAT_0173ea90) and magic DAT_01362ea4. Same algorithm as twofish_decrypt_and_verify but with different key and verification constant. 0x00E9AAA0 287 twofish_encrypt_and_sign game_core Encrypts buffer with Twofish (key1). Pads to 16-byte boundary with random bytes, appends 16-byte trailer containing: sequence number, CRC32, original size, and magic number. Returns total encrypted size. 0x00E9ABD0 126 HashMap__find game_core Finds an entry in a hash map by key. Computes bucket index from hash, walks the bucket's linked list comparing keys. Returns iterator-like pair (node ptr, found flag). 0x00E9AC50 542 HashMap__insert game_core Inserts a key-value pair into a hash map. Computes hash via XOR with 0xDEADBEEF, checks for existing entry, allocates new node (0x60 bytes), copies 88 bytes of data. Rehashes if load factor exceeded. Uses critical section for thread safety. 0x00E9AE70 97 fill<> stl STL fill: fills a range of elements with a specified value using element-sized copies. 0x00E9AEE0 15 hash_xor_deadbeef game_core Simple hash function that XORs the input value with 0xDEADBEEF. Used as hash function for the connection hash map. 0x00E9AEF0 31 fill_range_with_value_00e9aef0 game_core Fill range with value 00e9aef0 0x00E9AF10 522 ConnectionManager__init game_core Initializes a ConnectionManager object. Allocates hash map sentinel node, initializes critical section, sets up bucket array with 16 initial buckets, zeroes all connection tracking fields (counters, state flags, buffers). 0x00E9B120 23 ConnectionInfo__clear game_core Clears a ConnectionInfo structure (0x268 bytes) by zeroing all fields. 0x00E9B160 137 anticheat_linked_list_dtor security Frees a dynamic vector buffer (offsets 0x10-0x18) and walks a linked list of 0x60-byte nodes (from offset 0x8), freeing each. Used by anticheat to clean up a data structure. 0x00E9B1F0 77 STL_vector_dealloc stl Deallocates an STL vector's internal buffer. Handles large allocations (>0xFFF) by looking up the original allocation 4 bytes before the pointer. Zeroes the vector's begin/end/capacity pointers. 0x00E9B2A0 145 ConnectionManager__dtor game_core Destructor for ConnectionManager. Closes internet handles, frees allocated buffer, frees VirtualAlloc'd config data, destroys hash map, deletes critical section. 0x00E9B340 170 ConnectionManager__register_connection game_core Registers a new connection entry. Copies 82 bytes of connection data into a hash map entry keyed by a computed ID from FUN_00e9d920. Returns error 0x6F for empty name, 0x149 if ID computation fails, 0 on success. 0x00E9B3F0 593 ConnectionManager__load_config_file game_core Loads a configuration file. Resolves path relative to executable directory, memory-maps the file, copies contents to VirtualAlloc buffer, calls decrypt_config to parse it, computes CRC32 of the parsed data for verification. 0x00E9B650 141 ConnectionManager__save_config_file game_core Saves configuration data to the file at path stored in this+0x1B9. Deletes existing file first, creates new file, writes param_2 buffer of param_3 bytes. 0x00E9B6E0 74 ConnectionManager__decrypt_config game_core Decrypts configuration data. Returns error 0x164 if input is null. Delegates to FUN_0282e703 for actual decryption. 0x00E9BB10 101 string_replace_char game_core Replaces all occurrences of param_2 char with param_3 char in string param_1. If string is empty, copies a decrypted default string. Returns pointer to end of string. 0x00E9BB80 97 ConnectionManager__close_internet_handles game_core Closes WinINet handles. If param_2 is true or offset 0x2C0 is 0, closes HTTP request handle (0x90) and connection handle (0x8C) using InternetCloseHandle. Stores InternetCloseHandle address at offset 0x54 on first call. 0x00E9BBF0 657 ConnectionManager__backup_and_collect_files game_core Backs up and collects files from a subdirectory. Gets module path, navigates to parent folder, enumerates files matching certain encrypted extensions (DLL, EXE, etc.), copies them with modified names, processes via FUN_00eab1f0, then deletes copies. 0x00E9BE90 409 ConnectionManager__open_http_connection game_core Opens an HTTP connection using WinINet. Calls InternetOpen (offset 0x4C), sets timeouts via InternetSetOption (offset 0x68), then HttpOpenRequest (offset 0x50). Throttles calls to 100ms minimum interval. Thread-safe with critical section. 0x00E9C030 337 get_error_message_by_code game_core Returns a decrypted error message string for a given error code (1-0x14). Each code maps to a different encrypted string constant. Copies result to param_2 buffer (max 0x20 bytes, or 0x16/0x18 for codes 0x12/0x13). 0x00E9C190 168 HashMap__remove game_core Removes an entry from the hash map by key. Computes hash, finds the node, unlinks it from the doubly-linked bucket list, decrements count, frees the 0x60-byte node. 0x00E9C240 66 ConnectionManager__unregister_connection game_core Unregisters a connection by name. Looks up the connection ID via FUN_00e9d940, then removes it from the hash map. Returns 0x6F for null params, 0x70 if not found. 0x00E9C290 29 ConnectionManager__lock game_core Conditionally enters the critical section. Only locks if param_2 is false (0) and the critical section has been initialized (DebugInfo != NULL). 0x00E9C2B0 216 ConnectionManager__load_config game_core Loads connection config. Computes hash of config name, builds path by appending encrypted extension, loads+decrypts config file, then processes the decrypted data via FUN_00ea01d0. Sets CRC at offset 0x20 for integrity verification. 0x00E9C390 186 ConnectionManager__connect game_core Top-level connect function with locking. Returns 100 if param null, 0x6B if shutdown flag set. Otherwise locks critical section, calls connect_inner, then unlocks. 0x00E9C4A0 215 ConnectionManager__connect_inner game_core Inner connection logic. Initializes local buffers (1024+100+100+30 bytes), calls into obfuscated code at FUN_0289381d for actual connection establishment. 0x00E9CDC0 204 ConnectionManager__compute_file_hash_locked game_core Wrapper that locks critical section, calls compute_file_hash_multi_codepage for anticheat file verification, then unlocks. Returns 0x148 if shutdown flag set, 0x146 for null params. 0x00E9CEF0 511 compute_file_hash_multi_codepage game_core Computes file path hashes using multiple codepages. Takes ANSI path, converts to wide chars, then re-encodes to codepage 0xCAED and 0xFDE9, hashing each variant with hash_string_case_sensitive. Used by anticheat for file identity verification across encodings. 0x00E9D6E0 574 collect_hardware_fingerprint game_core Collects hardware fingerprint for machine identification. Gets CPU info via CPUID, reads disk/device serial via DeviceIoControl (IOCTL 0x7c088), hashes hardware strings, and formats result into output buffer. Returns 1 if device serial was successfully read, 0 otherwise. Used for anti-cheat or client identification. 0x00E9D920 31 compute_connection_id game_core Computes a connection ID by hashing the concatenation of name (offset 0) and name+0x20. Returns 0 for empty names. 0x00E9D940 152 hash_concatenated_strings game_core Concatenates two strings, hashes the result using hash_string_case_sensitive. Allocates temp buffer for concatenation. Returns 0 on null input or allocation failure. 0x00E9D9E0 175 ConnectionManager__check_file_ansi game_core Checks a file specified by ANSI path. Converts to wide string, delegates to FUN_00e9da90 (wide version). Returns param_3 masked if input is null. 0x00E9DA90 1391 anticheat_collect_file_signature security Collects file signature for anticheat verification. Searches Windows system directories for the file if not found locally (using hash-based directory detection). Opens file, reads version info, formats as hex fingerprint strings (0x30 and 0x20 bytes). Returns true on success. 0x00E9E000 586 anticheat_match_file_hash_flags security Matches a file against the anticheat hash table. Computes ANSI file hash, iterates through entries (0x38 bytes each), compares hash strings. Sets bitflags in param_2 and param_3 based on matched entry flags (file trust levels, permissions). 0x00E9E250 186 anticheat_connection_check security Anticheat connection check with mutex locking. Returns 100 if param==0, 107 if DAT_0173eb11==1 (disabled), otherwise acquires ConnectionManager lock and calls inner check function. Uses SEH for exception safety. 0x00E9E360 215 anticheat_connection_inner_check security Inner anticheat connection check. Initializes local buffers (1024 + 100 + 100 + 30 bytes) and calls an obfuscated function for the actual connection verification. Called under ConnectionManager lock. 0x00E9EAEE 1 CRT_stub_00e9eaee crt Crt stub 00e9eaee, small utility function 0x00E9EC70 216 anticheat_verify_file_and_log security Verifies a file for anticheat. Hashes the filename, appends a decrypted suffix to the path, calls verification function (FUN_00ea0250), decrypts and logs the result. Sets error code 0x4D2 initially, clears on success. Member function of anticheat connection manager. 0x00E9ED50 851 collect_mac_addresses game_core Collects up to 2 MAC addresses for hardware fingerprinting. First tries GetAdaptersInfo API, filtering out loopback and tunnel adapters. Falls back to Netbios NCB calls if no adapters found. Formats as XX-XX-XX-XX-XX-XX strings. Sets default string if no valid adapter at index 0. 0x00E9F0B0 115 HashMap__contains game_core Checks if a key exists in the hash map. Returns true (1) if found, false (0) if not. Uses hash_xor_deadbeef for hashing. 0x00E9F130 47 ConnectionManager__is_registered game_core Checks if a connection identified by name+subname is registered. Hashes the concatenated strings and looks up in the hash map. Returns false for null params. 0x00E9F160 989 anticheat_registry_cache_check security Registry-based anticheat verification cache. Creates/opens HKCU registry key, compares stored hash+path with current. If match found and timestamp within 20 minutes, returns 1 (cached valid). Otherwise stores current hash, path, and timestamp. Returns 1 if DAT_0173ec98==100 (bypass mode). 0x00E9F540 936 anticheat_registry_cache_check_with_int security Registry-based anticheat cache with integer key. Similar to anticheat_registry_cache_check but also stores/compares an integer value (param_2) in addition to the hash string. Uses same 20-minute timeout window. 0x00E9F8F0 1871 anticheat_http_verify_request security Sends HTTP verification request to anticheat server. Builds URL with encrypted format strings based on connection parameters. Sends via ConnectionManager, receives JSON response, parses verification hash. Validates response by XOR-checking hash with local key (0x73171913). Returns true if verification succeeds. 0x00EA00A0 9 thunk_to_ConnectionManager__is_registered game_core Thunk to ConnectionManager__is_registered (00e9f130). 0x00EA00B0 156 ConnectionManager__send_http_request game_core Sends an HTTP request using the function pointer at offset 0x5C (HttpSendRequest). Returns 0 if shutdown flag is set. 0x00EA01B0 29 ConnectionManager__unlock game_core Conditionally leaves the critical section. Only unlocks if param_2 is false (0) and the critical section has been initialized. 0x00EA01D0 123 ConnectionManager__log_message game_core Logs a formatted message via callback at offset 0x6C. Formats the message using vsprintf into a 4KB buffer, then calls the callback. No-op if callback is null. 0x00EA0250 619 anticheat_load_hash_table_file security Loads anticheat hash table from a file. Resolves path (handles relative and absolute), memory-maps the file, decrypts payload via ConnectionManager__receive_data, computes CRC32 checksum for integrity. Returns error codes: 0x14B (start), 0x14D (file not found), 0x14E (open failed), 0 (success). 0x00EA04C0 141 anticheat_write_data_file security Writes a data buffer to a file for anticheat. Deletes existing file first, creates new file, writes buffer. Returns 0x151 if path is null, 0x152 if buffer/size invalid, 0 on success. 0x00EA0550 69 ConnectionManager__receive_data game_core Receives data over connection. Returns 0x154 if param is null. Delegates to obfuscated code at FUN_02872074. 0x00EA0890 707 pe_resolve_export_by_name game_core Manual PE export table resolution. Parses PE headers, walks export directory to find function by name or ordinal. Handles PE32 and PE32+ formats. Resolves forwarded exports recursively. Used by anticheat to detect API hooks by comparing actual export addresses. 0x00EA0BB0 320 anticheat_validate_connection security Anticheat connection validation entry point. Validates preconditions: returns 0 if param3==2 (bypass), 0x6B if disabled, 0x6C if no connection info, 0x144/100/0x6E for missing fields. Acquires ConnectionManager lock and calls inner validation. 0x00EA0D50 1358 anticheat_validate_connection_inner security Main anticheat validation inner function. Copies connection info, registers connection, checks registry cache, performs HTTP verification, collects system info (username/computer name), backs up files. Uses encrypted format strings throughout. Returns error code or calls obfuscated finalizer. 0x00EA2750 231 anticheat_check_with_params security Anticheat check with additional parameters (param_3, param_4). Similar to anticheat_validate_connection but passes extra flags. Returns 0 if param5==2, 0x6B if disabled, 0x6C if no connection. Calls FUN_00ea2890 under ConnectionManager lock. 0x00EA2890 1043 anticheat_check_with_params_inner security Inner implementation of anticheat parameter-based check: validates game state and memory against expected values. 0x00EA3E50 226 anticheat_check_module security Anticheat module check: validates a loaded module's integrity by comparing its hash against expected values. 0x00EA3F90 1025 anticheat_check_module_inner security Inner implementation of anticheat module check: reads module memory, computes hash, and compares against stored baseline. 0x00EA55C0 236 anticheat_verify_module_hash security Anticheat module hash verification: computes and verifies the hash of a loaded module's code section. 0x00EA5710 291 anticheat_verify_module_hash_inner security Inner implementation of module hash verification: reads module bytes and computes MD5 hash for integrity checking. 0x00EA61C0 13 ConnectionManager__set_log_callback game_core Sets the log callback function pointer at offset 0x6C in the ConnectionManager. 0x00EA61D0 211 std__vector_int_resize_and_fill stl Resizes an std::vector of ints to a new size, filling new elements with a specified value. 0x00EA62B0 363 anticheat_hashtable_rehash security Rehashes a hash table. Resizes bucket array to next power-of-2, reinserts all elements using hash_xor_deadbeef hash function with linear congruential mixing. Part of anticheat's unordered_map implementation. 0x00EA6420 385 ConnectionManager__resolve_wininet_exports game_core Resolves WinInet/WinHTTP function pointers for HTTP communication. Loads encrypted DLL name, gets module handle (or LoadLibrary), then resolves 8 function exports via pe_resolve_export_by_name to offsets 0x4C-0x68. Returns 0 on success, 0x132/0x133 on failure. 0x00EA65B0 229 anticheat_decode_hex_xor_string security Decodes an XOR-encrypted hex string. Converts hex pairs to bytes, then if first byte is 0x02, XOR-decodes the data using a rolling key derived from byte[1] (key = (seed*7+1)*7, then (key+1)*7 for each subsequent byte). Returns null-terminated plaintext. 0x00EA66A0 332 anticheat_encode_xor_to_hex_string security Encodes a string using XOR encryption and outputs as hex pairs. Prepends header byte 0x02 and seed byte, XOR-encodes each character with a rolling key derived from seed (key = seed*0x31+8, then key = (key*7+1)*7+0x46). Used for anticheat string obfuscation. 0x00EA67F0 360 anticheat_collect_hwid_data security Collects hardware identification data (MAC address, disk serial, CPU info) for anticheat fingerprinting. 0x00EA6960 378 anticheat_hashtable_erase_range security Erases a range of entries from the anticheat hash table, deallocating each node. 0x00EA6AE0 10 thunk_to_mbsrchr_00ea6ae0 game_core Wrapper that calls _mbsrchr and returns result 0x00EA6AF0 131 anticheat_hashtable_clear security Clears the entire anticheat hash table by erasing all buckets and resetting the element count. 0x00EA6B80 10 thunk_to_mbsnbcmp_00ea6b80 game_core Wrapper that calls _mbsnbcmp with 3 parameters, discards result 0x00EA6B90 10 thunk_to__mbsnbcpy_00ea6b90 game_core Wrapper for _mbsnbcpy (multibyte string copy with byte limit) 0x00EA6BA0 61 popcount32 game_core Population count (popcount) for 32-bit integers. Counts number of set bits by checking pairs of bits (odd and even positions separately) in 16 iterations. Returns total count of 1-bits. 0x00EA6BE0 103 anticheat_collect_system_info_seh security Collects system information for anticheat with SEH protection to handle access violations gracefully. 0x00EA6C90 8593 collect_system_info game_core Collects comprehensive system info: OS version/edition (Win95-Win10), CPU cores/cache/NUMA, RAM, disk space, system metrics, registry, locale, power status. Stores results in globals. ~8.6K bytes. 0x00EA8E40 435 detect_windows_version game_core Detects Windows version using RtlGetVersion from ntdll.dll. Maps major.minor version pairs to internal IDs stored in DAT_0173eb1c. Handles Vista through Windows 10/11. Returns 0 if version detection fails, 1 on success. 0x00EA9000 675 pe_resolve_export_by_name_seh game_core Resolves a function export by name from a PE module's export table, with SEH protection against corrupted modules. 0x00EA92D0 9 ret_zero_00ea92d0 crt Sets param to zero and returns it 0x00EA92E0 12 md5_init_wrapper security MD5 init wrapper: initializes an MD5 context structure to begin a new hash computation. 0x00EA92F0 5 FileHandle__close_and_clear_00ea92f0 game_core Closes FILE pointer if non-null, then nullifies it 0x00EA9310 225 md5_update_00ea9310 security MD5 update: processes input data in 64-byte blocks, updating the running hash state. 0x00EA9400 27 close_file_handle game_core Closes a FILE handle stored at *param_1, then zeros the pointer. Null-checks before fclose. 0x00EA9420 174 md5_finalize_00ea9420 security MD5 finalize: pads the message, appends the bit count, processes the final block, and outputs the 16-byte digest. 0x00EA94D0 287 md5_compute_file_hash security Computes MD5 hash of a file. Opens file, reads in 4KB chunks (max 100MB), feeds each chunk through md5_update, then finalizes. Returns 1 on success, 0 on failure. Used by anticheat for file integrity verification. 0x00EA95F0 607 md5_compute_pe_section_hash security Computes MD5 hash of PE file sections only (not the entire file). Reads PE header, iterates sections, hashes code/data sections (those with execute flag 0x20000000 or containing the entry point). Reads each section in 4KB chunks. Used for integrity verification that ignores non-code data. 0x00EA9850 67 FileHandle__get_file_size game_core Gets the file size by seeking to end (offset 0x200000000) and calling _ftelli64. Returns 1 on success with size stored in param_2, 0 on failure. Used by md5_compute_file_hash to validate file before hashing. 0x00EA98A0 199 pe_read_timestamp_from_file game_core Reads PE timestamp from a file. Opens file, reads first 4KB, validates MZ+PE signatures, then extracts the TimeDateStamp field from the PE header (offset 8 from PE signature). Returns 1 on success with timestamp in param_2. 0x00EA9970 42 md5_init_state security MD5 init state: sets the four initial hash values (A, B, C, D) to the standard MD5 constants. 0x00EA99A0 40 FileHandle__open_read_binary game_core Opens a file for reading in binary mode ("rb"). Closes any previously open handle first via close_file_handle. Returns true if fopen succeeds. 0x00EA99D0 40 FileHandle__open_read_binary_wide game_core Opens a file for reading in binary mode using wide-character path (_wfopen with L"rb"). Closes any previously open handle first. Returns true if fopen succeeds. 0x00EA9A00 1991 md5_transform security MD5 transform: processes a single 64-byte block through the 64 rounds of the MD5 compression function. 0x00EAA1D0 249 ZipWriter__init_state file Initializes ZipWriter internal state. Sets up callback table pointers, compression parameters, and deflate state offsets. Configures entry list (0xf7c), output stream (0xf80), and deflate match parameters at large offsets (0x1af18+). 0x00EAA2D0 1495 ZipWriter__add_entry file Adds an entry to a zip archive. Handles 4 source types: (1) file handle, (2) open file by name, (3) memory buffer, (4) directory entry. Normalizes path separators, writes local file header, compresses/stores data, then appends entry to linked list. Uses ZipEntry/ZipFile helpers. 0x00EAA8B0 211 ZipWriter__write_central_directory file Writes the zip central directory. Iterates through all entries in the linked list, writes each central directory header, frees entry memory, then writes the end-of-central-directory record. Returns 0 on success, 0x400 on write error. 0x00EAA990 23 ZipWriter__set_total_size_if_new file Sets the total zip size at offset 0x6afa4 only if param_2 flag is zero (first time). Used to record final archive size for memory-based zip output. 0x00EAA9B0 95 ZipWriter__finalize_and_close file Finalizes and closes the ZipWriter. Flushes the central directory if not already done, unmaps memory-mapped file view, closes file mapping handle and file handle. Returns accumulated error code. 0x00EAAA10 106 ZipWriter__close_and_free file Closes a zip handle and frees its memory. Validates state==2, calls ZipWriter__finalize_and_close, then frees the inner buffer (0x4078 bytes) and outer handle (8 bytes). Stores result in global DAT_0173eca0. 0x00EAAA80 397 ZipWriter__open_output file Opens a zip output destination. Supports 3 modes: (1) duplicate existing handle, (2) create new file via CreateFileA, (3) create memory-mapped file. Sets up file type detection and initial file position. Returns 0 on success. 0x00EAAC10 170 ZipWriter__create_handle file Creates a new ZipWriter handle. Allocates a 0x4078-byte state buffer, initializes fields, opens the output via ZipWriter__open_output, then wraps in an 8-byte handle struct with state=2. Returns NULL on failure. 0x00EAACC0 474 zip_format_error_message game_core Formats a zip error code into a human-readable message string. Maps numeric error codes (0x100-0x5000000) to descriptive strings like "Couldn't duplicate handle", "Error writing to file", "Zipfile is corrupt", etc. Copies result to caller's buffer with size limit. 0x00EAAEA0 525 zip_get_file_attributes game_core Gets file attributes and metadata for zip entry creation. Uses GetFileInformationByHandle to collect attributes, file size, timestamps. Detects embedded executables by checking for MZ/NE/LE/PE signatures at SFX offset. Converts FILETIME to DOS date/time. 0x00EAB0B0 63 ZipWriter__get_sizes file Gets zip archive sizes. Finalizes central directory if not done, then returns compressed size (offset 0x18) and total written size (offset 0x10) via output parameters. Returns 0x20000 if no data was written. 0x00EAB0F0 187 zip_is_storable_extension game_core Checks if a file extension indicates the file should be stored (not compressed) in the zip. Compares against known extensions like .zip, .rar, .gz, .jpg, .png, .mp3, .avi, .mpg. Returns 1 if storable, 0 otherwise. 0x00EAB1B0 22 zip_handle_is_valid game_core Validates a zip handle. Returns true if handle is NULL or if handle state field equals 2 (valid/open). Used as a precondition check before zip operations. 0x00EAB1F0 207 ZipWriter__add_file_entry file Adds a file entry to the zip archive. Validates handle state, copies path to local buffer, then delegates to ZipWriter__add_entry. For mode 2 (file path), makes a local copy of the path string first. Stores result in global DAT_0173eca0. 0x00EAB2C0 92 ZipWriter__get_memory_size file Gets the memory size of a completed zip archive. Validates handle, then calls ZipWriter__get_sizes to retrieve compressed and total sizes. Returns 0x10000 if handle is NULL, 0x80000 if not in valid state. 0x00EAB320 75 deflate__init_match_params file Initializes deflate match parameters in the deflate state structure. Sets lookahead start, previous match, hash insert position, and clears match counters at offsets 0x1af54-0x1af6c. 0x00EAB370 37 deflate__bit_reverse file Reverses the bit order of a value. Takes a value and bit count, returns the value with bits reversed. Used in Huffman code generation (bi_reverse in zlib). 0x00EAB3A0 220 deflate__flush_bit_buffer file Flushes the bit buffer (bi_windup in zlib). Writes remaining bits from the bit accumulator to the output buffer, handles byte alignment, and resets bit counters. Aligns total bits to next 8-bit boundary. 0x00EAB480 239 deflate__build_bl_tree file Builds the bit-length tree for encoding literal/distance tree headers (build_bl_tree in zlib). Scans bit length frequencies to determine optimal tree size. Returns max index of non-zero bit length codes. Updates total bit count. 0x00EAB570 522 deflate__build_huffman_tree file Builds optimal Huffman tree from frequency data (build_tree in zlib). Uses heap-based algorithm with pqdownheap to construct the tree, then calls gen_bitlen and gen_codes to generate optimal bit lengths and codes. 0x00EAB780 352 deflate__compress_block file Compresses a block using the given literal and distance Huffman trees (compress_block in zlib). Iterates through the match buffer, encoding literals and length/distance pairs. Writes END_BLOCK code at the end. 0x00EAB8E0 328 deflate__copy_stored_block file Copies a stored (uncompressed) block to the output (copy_block in zlib). Flushes bit buffer, writes block length and complement, then copies raw data via memcpy. Updates total bit count. 0x00EABA30 240 zlib_crc32 file Computes CRC32 checksum using a lookup table at DAT_011bf178. Processes data in 8-byte unrolled chunks for performance, then handles remaining bytes individually. Returns the CRC32 value. 0x00EABB20 786 deflate__init_trees file Initializes static and dynamic Huffman trees for deflate compression (ct_init in zlib). Builds length/distance code lookup tables, initializes static literal tree (fixed 7/8/9 bit codes), static distance tree (fixed 5-bit codes), and calls init_block. Only runs once (guarded by static flag at offset 0xe7e). 0x00EABE40 487 deflate__tally_match file Records a literal or length/distance match pair (ct_tally in zlib). If dist==0, records a literal byte. Otherwise records a match with distance and length, updating frequency counters for literal, length, and distance trees. Returns 1 if the block buffer is full and should be flushed. 0x00EAC030 841 deflate__lazy_match file Deflate compression with lazy matching strategy (deflate_slow in zlib). For compression levels >= 4, uses two-pass matching: first finds a match, then checks if the next position has a better match before committing. Emits literals or match pairs via tally, and flushes blocks when full. Falls back to deflate_fast for lower levels. 0x00EAC380 590 deflate__fast_match file Deflate compression with fast matching strategy (deflate_fast in zlib). For each position, finds the longest match and immediately emits it. Inserts hash entries for matched bytes. Flushes blocks when tally returns full. Simpler but less optimal than lazy matching. 0x00EAC5D0 193 filetime_to_time64 game_core Converts FILETIME to __time64_t via SYSTEMTIME. Clamps year to range 1970-2037. Calls FileTimeToSystemTime, fills tm struct, then uses _mktime64 to produce a 64-bit time_t value. 0x00EAC6A0 353 deflate__fill_window file Fills the sliding window buffer with input data (fill_window in zlib). When the window position exceeds 0x7efa, slides the window by copying the upper half to the lower half and adjusting hash chains. Reads more input data via the read callback until lookahead >= 262 bytes or EOF. 0x00EAC810 441 deflate__flush_block file Flushes a deflate block to the output (flush_block in zlib). Determines whether to emit a stored block, static Huffman block, or dynamic Huffman block based on which has the smallest output size. Builds trees, compresses the block, and returns the compressed size in bytes. 0x00EAC9D0 518 deflate__gen_bitlen file Generates optimal bit lengths for a Huffman tree (gen_bitlen in zlib). Enforces max code length constraint by redistributing bits from longer codes. Computes opt_len and static_len cost estimates for the tree. 0x00EACBE0 170 deflate__gen_codes file Generates Huffman codes from bit lengths (gen_codes in zlib). Computes starting code for each bit length, then assigns reversed bit codes to each symbol. Verifies total code count consistency. 0x00EACC90 65 ZipFile__close_handle game_core Closes the file handle if owned by the ZipFile object (offset +0x60 is ownership flag). Resets position tracking. Returns 0x60000 if internal position changed, 0 otherwise. 0x00EACCE0 218 ZipFile__compress_entry game_core Compresses a ZIP file entry using deflate. Allocates a large stack-based deflate state (~0x6afb0 bytes), initializes trees and compression parameters, sets up read/write callbacks, then runs the deflate lazy/fast match compression loop. Stores compressed size in the entry object. 0x00EACDC0 148 deflate__init_block file Resets frequency counters for a new deflate block (init_block in zlib). Clears all 286 literal/length frequencies, 30 distance frequencies, and 19 bit-length frequencies. Resets opt_len, static_len, match/literal counts. Sets END_BLOCK frequency to 1. 0x00EACE60 103 ZipFile__decompress_entry game_core Decompresses a ZIP file entry by reading 16KB chunks, writing them to output, and accumulating the decompressed size. Loops reading from the input stream and writing to output until EOF or error. Returns 0x60000 on write mismatch error, 0 on success. 0x00EACED0 322 deflate__set_compression_level file Sets deflate compression level parameters (lm_init in zlib). Validates level 1-8, clears hash table, loads configuration (max_lazy, good_match, nice_match, max_chain) from a config table. Reads initial input into the window buffer and initializes the hash function. 0x00EAD020 495 deflate__longest_match file Finds the longest matching string in the hash chain (longest_match in zlib). Compares bytes at the current position with candidates from the hash chain, using 8-byte unrolled comparison. Follows hash chain up to max_chain_length links. Returns the match length (up to 258 bytes). Updates match position in the state. 0x00EAD210 185 ZipEntry__init_timestamps game_core Initializes a ZIP entry with current local time timestamps. Gets local time, converts to FILETIME, then to DOS date/time format. Sets creation, modification, and access time fields. Sets default file attributes (0x41c00010). Clears file handle and size fields. 0x00EAD2D0 156 ZipEntry__open_file game_core Opens a file for reading as a ZIP entry source. Creates file handle with CreateFileA (GENERIC_READ, FILE_SHARE_READ, OPEN_EXISTING). Calls init_from_handle to read file metadata. Returns error codes: 0=success, 0x200=file not found, 0x10000=null path. 0x00EAD370 313 ZipEntry__init_from_handle game_core Initializes ZIP entry from a file handle. For disk files (type==1), reads file attributes, size, and timestamps. For non-disk streams, uses current time and optionally a provided size. Seeks to start of file. Returns 0 on success, 0x10000 for invalid handle. 0x00EAD4B0 229 ZipEntry__init_from_memory game_core Initializes a ZIP entry from a memory buffer. Takes buffer pointer and size, sets up entry for in-memory reading with current timestamps. Sets seekable flag and file attributes. Returns 0 on success, 0x10000 if buffer or size is null. 0x00EAD5A0 101 ZipEntry__seek game_core Seeks to a position within a ZIP entry. Handles three cases: non-seekable (returns 0x2000000 error), memory buffer (validates bounds, sets offset), and file handle (calls SetFilePointer with base offset). Returns 0x30000 for out-of-bounds, 0x1000000 for no handle. 0x00EAD610 228 pqdownheap game_core Zlib pqdownheap: restores the heap property by sifting a node downward in the priority queue used during Huffman tree construction. 0x00EAD700 870 ZipFile__write_central_dir_file_header game_core Writes a ZIP central directory file header (PK\x01\x02 signature). Writes version made by, version needed, flags, compression method, timestamps, CRC, compressed/uncompressed sizes, filename length, extra field length, comment length, disk number, internal/external attributes, local header offset. Appends filename, extra field, and comment data. Returns 10 on write error, 0 on success. 0x00EADA70 385 ZipFile__write_end_of_central_dir_record game_core Writes the ZIP end of central directory record (PK\x05\x06 signature). Writes disk numbers, entry counts, central directory size, offset, and comment. Returns 10 on write error, 0 on success. 0x00EADC00 284 ZipFile__write_data_descriptor game_core Writes a ZIP data descriptor (PK\x07\x08 signature). Writes CRC32, compressed size, and uncompressed size after a local file entry. Used for entries where sizes were not known at the time the local header was written. Returns 0 on success. 0x00EADD20 578 ZipFile__write_local_file_header game_core Writes a ZIP local file header (PK\x03\x04 signature). Writes version needed, flags, compression method, timestamps, CRC, compressed/uncompressed sizes, filename length, extra field length. Appends filename and extra field data. Returns 10 on write error, 0 on success. 0x00EADF70 164 ZipEntry__read_data game_core Reads data from a ZIP entry source. For file-based entries, uses ReadFile and updates CRC32. For memory-based entries, uses memcpy from the buffer with bounds checking. Returns bytes read, 0 on EOF or error. Updates cumulative read position and CRC checksum. 0x00EAE020 242 deflate__scan_tree_frequencies file Scans a Huffman tree and counts bit-length code frequencies (scan_tree in zlib). Processes the tree to count runs of equal bit lengths, zero-length codes, and repeated codes. Updates bit-length frequency counters for encoding the tree structure in the compressed output. 0x00EAE120 215 deflate__send_all_trees file Sends all three Huffman tree headers for a dynamic block (send_all_trees in zlib). Writes literal count, distance count, and bit-length count as 5/5/4 bit fields. Sends bit-length tree codes, then sends literal and distance trees using the bit-length tree. 0x00EAE200 192 deflate__send_bits file Sends bits to the output buffer (send_bits in zlib). Accumulates bits in a 16-bit buffer, flushing 2 bytes to output when the buffer exceeds 16 bits. Validates bit length is 1-15. Updates total bit count. 0x00EAE2C0 389 deflate__send_tree file Sends a Huffman tree as a sequence of bit-length codes (send_tree in zlib). Encodes runs of equal lengths, zero-length codes (repeat counts 3-10 and 11-138), and consecutive equal codes (repeat count 3-6). Uses the bit-length tree for encoding. 0x00EAE450 170 deflate__set_data_type file Determines if data is binary or text (set_data_type in zlib). Sums frequencies of control characters vs ASCII characters. If control character frequencies exceed 1/4 of ASCII frequencies, sets the data type flag to binary (1), else text (0). 0x00EAE500 41 deflate__flush_write_callback file Deflate output flush callback. If pending output bytes > 0, writes them to the output stream and resets the pending count to 0. Used as the flush callback in the deflate compression pipeline. 0x00EAE530 21 deflate__read_input_callback file Deflate input read callback. Thin wrapper that calls ZipEntry__read_data to read from the ZIP entry source. Passes through the buffer and returns bytes read. 0x00EAE550 26 deflate__write_output_callback file Deflate output write callback. If size > 0, writes data to the ZIP output stream via ZipEntry__write_data. Thin wrapper used in deflate compression pipeline. 0x00EAE570 125 ZipEntry__write_data game_core Writes data to a ZIP entry output. For file-based output, uses WriteFile. For memory-based output, uses memcpy with bounds checking. Returns bytes written, or 0 with error code 0x1000000 (no handle) or 0x30000 (buffer overflow). 0x00EAE5F9 6 Netbios game_core Import thunk: indirect jump to Netbios. 0x00EAE5FF 6 __CxxFrameHandler game_core Import thunk: indirect jump to __CxxFrameHandler. 0x00EAE605 6 memcpy game_core Import thunk: indirect jump to memcpy. 0x00EAE60B 6 memset game_core Import thunk: indirect jump to memset. 0x00EAE611 6 purecall game_core Import thunk: indirect jump to _purecall. 0x00EAE617 6 strchr game_core Import thunk: indirect jump to strchr. 0x00EAE61D 6 __std_exception_copy game_core Import thunk: indirect jump to __std_exception_copy. 0x00EAE623 6 __std_exception_destroy game_core Import thunk: indirect jump to __std_exception_destroy. 0x00EAE629 6 _CxxThrowException game_core Import thunk: indirect jump to _CxxThrowException. 0x00EAE62F 6 memchr game_core Import thunk: indirect jump to memchr. 0x00EAE635 6 memcpy game_core Import thunk: indirect jump to memcpy. 0x00EAE63B 6 strstr game_core Import thunk: indirect jump to strstr. 0x00EAE641 6 longjmp game_core Import thunk: indirect jump to longjmp. 0x00EAE647 6 setjmp3 game_core Import thunk: indirect jump to _setjmp3. 0x00EAE64D 6 strrchr game_core Import thunk: indirect jump to strrchr. 0x00EAE653 6 __RTDynamicCast game_core Import thunk: indirect jump to __RTDynamicCast. 0x00EAE659 6 _set_purecall_handler game_core Import thunk: indirect jump to _set_purecall_handler. 0x00EAE665 6 __std_type_info_compare game_core Import thunk: indirect jump to __std_type_info_compare. 0x00EAE66B 6 __RTtypeid game_core Import thunk: indirect jump to __RTtypeid. 0x00EAE671 6 local_unwind4 game_core Import thunk: indirect jump to _local_unwind4 (SEH unwinding). 0x00EAE677 6 __current_exception game_core Import thunk: indirect jump to __current_exception. 0x00EAE67D 6 __current_exception_context game_core Import thunk: indirect jump to __current_exception_context. 0x00EAE683 6 except_handler4_common game_core Import thunk: indirect jump to _except_handler4_common (SEH handler). 0x00EAE689 1 CRT_type_info_destroy_list_trampoline crt Crt type info destroy list trampoline 0x00EAE68F 6 wcsrchr game_core Import thunk: indirect jump to wcsrchr. 0x00EAE695 6 wcsstr game_core Import thunk: indirect jump to wcsstr. 0x00EAE6A1 6 free game_core Import thunk: indirect jump to free. 0x00EAE6A7 6 malloc game_core Import thunk: indirect jump to malloc. 0x00EAE6D1 6 fclose game_core Import thunk: indirect jump to fclose. 0x00EAE6D7 6 fflush game_core Import thunk: indirect jump to fflush. 0x00EAE6EF 6 fread game_core Import thunk: indirect jump to fread. 0x00EAE701 6 fwrite game_core Import thunk: indirect jump to fwrite. 0x00EAE731 6 _errno game_core Import thunk: indirect jump to _errno. 0x00EAE755 6 dclass game_core Import thunk: indirect jump to _dclass (floating-point classification). 0x00EAE75B 6 ceil game_core Import thunk: indirect jump to ceil. 0x00EAE761 6 __acrt_iob_func game_core Import thunk: indirect jump to __acrt_iob_func. 0x00EAE76D 6 ferror game_core Import thunk: indirect jump to ferror. 0x00EAE773 6 fopen game_core Import thunk: indirect jump to fopen. 0x00EAE78B 6 strerror game_core Import thunk: indirect jump to strerror. 0x00EAE7A3 6 libm_sse2_pow_precise crt Import thunk: indirect jump to __libm_sse2_pow_precise. 0x00EAE7A9 6 floor game_core Import thunk: indirect jump to floor. 0x00EAE7B5 6 exit game_core Import thunk: indirect jump to exit. 0x00EAE809 6 frexp game_core Import thunk: indirect jump to frexp. 0x00EAE80F 6 modf game_core Import thunk: indirect jump to modf. 0x00EAE815 6 _CIatan2 game_core CRT intrinsic thunk for atan2. Indirect jump to UCRT _CIatan2 implementation. 0x00EAE81B 6 _CIcosh game_core CRT intrinsic thunk for cosh. Indirect jump to UCRT _CIcosh implementation. 0x00EAE821 6 _CIfmod game_core CRT intrinsic thunk for fmod. Indirect jump to UCRT _CIfmod implementation. 0x00EAE827 6 _CIsinh game_core CRT intrinsic thunk for sinh. Indirect jump to UCRT _CIsinh implementation. 0x00EAE82D 6 _CItanh game_core CRT intrinsic thunk for tanh. Indirect jump to UCRT _CItanh implementation. 0x00EAE833 6 libm_sse2_acos_precise crt SSE2 precise acos implementation thunk. Indirect jump to libm SSE2 acos. 0x00EAE839 6 libm_sse2_asin_precise crt SSE2 precise asin implementation thunk. Indirect jump to libm SSE2 asin. 0x00EAE83F 6 libm_sse2_atan_precise crt SSE2 precise atan implementation thunk. Indirect jump to libm SSE2 atan. 0x00EAE845 6 libm_sse2_cos_precise crt SSE2 precise cos implementation thunk. Indirect jump to libm SSE2 cos. 0x00EAE84B 6 libm_sse2_exp_precise crt SSE2 precise exp implementation thunk. Indirect jump to libm SSE2 exp. 0x00EAE851 6 libm_sse2_log10_precise crt SSE2 precise log10 implementation thunk. Indirect jump to libm SSE2 log10. 0x00EAE857 6 libm_sse2_log_precise crt SSE2 precise log implementation thunk. Indirect jump to libm SSE2 log. 0x00EAE85D 6 libm_sse2_sin_precise crt SSE2 precise sin implementation thunk. Indirect jump to libm SSE2 sin. 0x00EAE863 6 libm_sse2_sqrt_precise crt SSE2 precise sqrt implementation thunk. Indirect jump to libm SSE2 sqrt. 0x00EAE869 6 libm_sse2_tan_precise crt SSE2 precise tan implementation thunk. Indirect jump to libm SSE2 tan. 0x00EAE8A5 6 _gmtime64 game_core CRT thunk for _gmtime64. Indirect jump to UCRT gmtime64 implementation. 0x00EAE8C3 6 remove game_core CRT thunk for remove. Indirect jump to UCRT file removal implementation. 0x00EAE92F 6 _recalloc game_core CRT thunk for _recalloc. Indirect jump to UCRT recalloc (realloc+zero) implementation. 0x00EAE935 6 _invalid_parameter_noinfo crt CRT thunk for _invalid_parameter_noinfo. Raises invalid parameter handler with no debug info. 0x00EAE97D 6 terminate game_core CRT thunk for terminate. Indirect jump to UCRT terminate() implementation. 0x00EAE983 6 fdclass game_core CRT thunk for fdclass. Indirect jump to UCRT float classification function. 0x00EAE989 6 dclass game_core CRT thunk for dclass. Indirect jump to UCRT double classification function. 0x00EAE9D1 6 abort game_core CRT thunk for abort. Indirect jump to UCRT abort() implementation. 0x00EAEA1F 6 atof game_core CRT thunk for atof. Indirect jump to UCRT string-to-double conversion. 0x00EAEA3D 6 roundf game_core CRT thunk for roundf. Indirect jump to UCRT float rounding implementation. 0x00EAEAB5 6 seh_filter_dll game_core CRT thunk for SEH filter in DLL. Indirect jump to UCRT DLL exception filter. 0x00EAEABB 1 CRT_configure_narrow_argv_trampoline crt Crt configure narrow argv trampoline 0x00EAEAC1 1 CRT_stub_00eaeac1 crt Crt stub 00eaeac1, small utility function 0x00EAEAC7 6 initialize_onexit_table game_core CRT thunk for _initialize_onexit_table. Sets up the module's atexit callback table. 0x00EAEACD 6 register_onexit_function game_core CRT thunk for _register_onexit_function. Registers a callback in the module's onexit table. 0x00EAEAD3 1 CRT_stub_00eaead3 crt Crt stub 00eaead3, small utility function 0x00EAEAD9 6 crt_atexit crt CRT thunk for _crt_atexit. Registers a function to run at normal process termination. 0x00EAEADF 6 crt_at_quick_exit crt CRT thunk for _crt_at_quick_exit. Registers a function to run at quick_exit. 0x00EAEAE5 6 _cexit game_core CRT thunk for _cexit. Indirect jump to UCRT _cexit (cleanup without termination). 0x00EAEAEB 6 _callnewh game_core CRT thunk for _callnewh. Calls the new handler when operator new fails. 0x00EAEAF7 1 CRT_stub_00eaeaf7 crt Crt stub 00eaeaf7, small utility function 0x00EAEAFD 1 CRT_stub_00eaeafd crt Crt stub 00eaeafd, small utility function 0x00EAEB03 1 CRT_stub_00eaeb03 crt Crt stub 00eaeb03, small utility function 0x00EAEB09 6 get_narrow_winmain_command_line game_core CRT thunk for _get_narrow_winmain_command_line. Returns the narrow-char WinMain command line string. 0x00EAEB0F 6 initterm game_core CRT thunk for _initterm. Calls an array of function pointers between two bounds during CRT init. 0x00EAEB15 6 initterm_e game_core CRT thunk for _initterm_e. Calls an array of function pointers with error checking during CRT init. 0x00EAEB1B 1 CRT_stub_00eaeb1b crt Crt stub 00eaeb1b, small utility function 0x00EAEB21 1 CRT_stub_00eaeb21 crt Crt stub 00eaeb21, small utility function 0x00EAEB27 1 CRT_stub_00eaeb27 crt Crt stub 00eaeb27, small utility function 0x00EAEB2D 6 register_thread_local_exe_atexit_callback game_core CRT thunk for _register_thread_local_exe_atexit_callback. Registers thread-local storage cleanup on exit. 0x00EAEB33 1 CRT_stub_00eaeb33 crt Crt stub 00eaeb33, small utility function 0x00EAEB39 6 set_new_mode game_core CRT thunk for _set_new_mode. Controls whether malloc calls the new handler on failure. 0x00EAEB3F 1 CRT_stub_00eaeb3f crt Crt stub 00eaeb3f, small utility function 0x00EAEB45 1 CRT_stub_00eaeb45 crt Crt stub 00eaeb45, small utility function 0x00EAED85 3 ret_one_00eaed85 crt Returns constant value 1 0x00EAED88 1 CRT_stub_00eaed88 crt Crt stub 00eaed88, small utility function 0x00EAED8B 1 CRT_stub_00eaed8b crt Crt stub 00eaed8b, small utility function 0x00EAED8E 3 ret_one_00eaed8e crt Returns constant value 1 0x00EAED91 1 CRT_stub_00eaed91 crt Crt stub 00eaed91, small utility function 0x00EAED94 1 CRT_stub_00eaed94 crt Crt stub 00eaed94, small utility function 0x00EAED97 120 __filter_x86_sse2_floating_point_exception_default game_core VS2019 SSE2 floating-point exception filter. Translates MXCSR status flags into specific CRT exception codes for x86 SSE2 FP exceptions. 0x00EB9601 41 CRT_CxxFrameHandler_wrapper_00eb9601 crt Crt cxxframehandler wrapper 00eb9601 0x00EBBD1E 1 CRT_stub_00ebbd1e crt Crt stub 00ebbd1e, small utility function 0x00EBBE13 1 CRT_stub_00ebbe13 crt Crt stub 00ebbe13, small utility function 0x00EBBF4E 20 CRT_CxxFrameHandler_wrapper_00ebbf4e crt C++ exception frame handler wrapper. Calls __CxxFrameHandler for structured exception handling. 0x00EC96A6 1 CRT_stub_00ec96a6 crt Crt stub 00ec96a6, small utility function 0x00ECDC5B 1 CRT_stub_00ecdc5b crt Crt stub 00ecdc5b, small utility function 0x00ED719F 1 CRT_stub_00ed719f crt Crt stub 00ed719f, small utility function 0x00ED73A1 1 CRT_stub_00ed73a1 crt Crt stub 00ed73a1, small utility function 0x00ED80D2 1 CRT_stub_00ed80d2 crt Crt stub 00ed80d2, small utility function 0x00ED974B 1 CRT_stub_00ed974b crt Crt stub 00ed974b, small utility function 0x00ED9A9D 1 CRT_stub_00ed9a9d crt Crt stub 00ed9a9d, small utility function 0x00EE8910 1 CRT_stub_00ee8910 crt Crt stub 00ee8910, small utility function 0x00EEE3A0 29 CRT_CxxFrameHandler_wrapper_00eee3a0 crt Crt cxxframehandler wrapper 00eee3a0 0x00EEF99F 1 CRT_stub_00eef99f crt Crt stub 00eef99f, small utility function 0x00EFBBE1 23 CRT_CxxFrameHandler_wrapper_00efbbe1 crt C++ exception frame handler wrapper. Calls __CxxFrameHandler for structured exception handling. 0x00EFE83C 1 CRT_stub_00efe83c crt Crt stub 00efe83c, small utility function 0x00F00D9A 1 CRT_stub_00f00d9a crt Crt stub 00f00d9a, small utility function 0x00F03C4F 1 CRT_stub_00f03c4f crt Crt stub 00f03c4f, small utility function 0x00F0451B 27 CRT_CxxFrameHandler_wrapper_00f0451b crt C++ exception frame handler wrapper. Calls __CxxFrameHandler for structured exception handling. 0x00F07B6C 1 CRT_stub_00f07b6c crt Crt stub 00f07b6c, small utility function 0x00F0D297 1 CRT_stub_00f0d297 crt Crt stub 00f0d297, small utility function 0x00F11D0E 30 CRT_CxxFrameHandler_wrapper_00f11d0e crt C++ exception frame handler wrapper. Calls __CxxFrameHandler with exception registration record. 0x00F193A2 1 CRT_stub_00f193a2 crt Crt stub 00f193a2, small utility function 0x00F199D9 20 CRT_CxxFrameHandler_wrapper_00f199d9 crt C++ exception frame handler wrapper. Calls __CxxFrameHandler for structured exception handling. 0x00F2AD55 1 CRT_stub_00f2ad55 crt Crt stub 00f2ad55, small utility function 0x00F2E9D0 1 CRT_stub_00f2e9d0 crt Crt stub 00f2e9d0, small utility function 0x00F5095F 1 CRT_stub_00f5095f crt Crt stub 00f5095f, small utility function 0x00F520FF 1 CRT_stub_00f520ff crt Crt stub 00f520ff, small utility function 0x00F575B3 1 CRT_stub_00f575b3 crt Crt stub 00f575b3, small utility function 0x00F584A2 1 CRT_stub_00f584a2 crt Crt stub 00f584a2, small utility function 0x00F5CE43 5 __CxxFrameHandler game_core : cxxframehandler, small utility function 0x00F5FA97 39 CRT_CxxFrameHandler_wrapper_00f5fa97 crt Crt cxxframehandler wrapper 00f5fa97 0x00F613E5 1 CRT_stub_00f613e5 crt Crt stub 00f613e5, small utility function 0x00F667B1 1 CRT_stub_00f667b1 crt Crt stub 00f667b1, small utility function 0x00F72B4F 1 CRT_stub_00f72b4f crt Crt stub 00f72b4f, small utility function 0x00F79B23 1 CRT_stub_00f79b23 crt Crt stub 00f79b23, small utility function 0x00F7F9F7 1 CRT_stub_00f7f9f7 crt Crt stub 00f7f9f7, small utility function 0x00F901EF 1 CRT_stub_00f901ef crt Crt stub 00f901ef, small utility function 0x00F99A76 1 CRT_stub_00f99a76 crt Crt stub 00f99a76, small utility function 0x00F99C6D 1 CRT_stub_00f99c6d crt Crt stub 00f99c6d, small utility function 0x00FA9D12 1 CRT_stub_00fa9d12 crt Crt stub 00fa9d12, small utility function 0x00FABE9F 1 CRT_stub_00fabe9f crt Crt stub 00fabe9f, small utility function 0x00FB2CDD 1 CRT_stub_00fb2cdd crt Crt stub 00fb2cdd, small utility function 0x00FB3490 28 CRT_CxxFrameHandler_wrapper_00fb3490 crt Crt cxxframehandler wrapper 00fb3490 0x00FC8AE9 1 CRT_stub_00fc8ae9 crt Crt stub 00fc8ae9, small utility function 0x00FC9E5C 1 CRT_stub_00fc9e5c crt Crt stub 00fc9e5c, small utility function 0x00FD53EC 17 CRT_CxxFrameHandler_wrapper_00fd53ec crt C++ exception frame handler wrapper. Calls __CxxFrameHandler for structured exception handling. 0x00FDB9C5 1 CRT_stub_00fdb9c5 crt Crt stub 00fdb9c5, small utility function 0x00FDD10C 17 CRT_CxxFrameHandler_wrapper_00fdd10c crt C++ exception frame handler wrapper. Calls __CxxFrameHandler for structured exception handling. 0x00FE0C14 1 CRT_stub_00fe0c14 crt Crt stub 00fe0c14, small utility function 0x00FF3F05 1 CRT_stub_00ff3f05 crt Crt stub 00ff3f05, small utility function 0x00FFA04B 1 CRT_stub_00ffa04b crt Crt stub 00ffa04b, small utility function 0x0100A0F0 1 CRT_stub_0100a0f0 crt Crt stub 0100a0f0, small utility function 0x0100ADDE 1 CRT_stub_0100adde crt Crt stub 0100adde, small utility function 0x0100D180 102 atexit_cleanup_decoded_pointers crt Atexit cleanup handler that destroys decoded pointer objects. Iterates through a pointer table, decodes each pointer via DecodePointer, calls the destructor, then deletes the critical section. Runs during program shutdown. 0x0100D1F0 280 atexit_unregister_window_classes_0100d1f0 crt Atexit cleanup handler that unregisters all window classes and frees the class atom table. Iterates through registered class atoms calling UnregisterClassA, then frees the atom buffer and deletes the critical section. One of many identical copies at different addresses for different module exit paths. 0x0100D380 280 atexit_unregister_window_classes_0100d380 crt Atexit cleanup handler that unregisters all window classes and frees the class atom table. Identical to other atexit_unregister_window_classes variants but with different exception handler address. 0x0100D510 280 atexit_unregister_window_classes_0100d510 crt Atexit cleanup handler that unregisters all window classes and frees the class atom table. Identical pattern to other atexit_unregister_window_classes variants. 0x0100D6A0 280 atexit_unregister_window_classes_0100d6a0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. Identical pattern to other atexit_unregister_window_classes variants. 0x0100D870 280 atexit_unregister_window_classes_0100d870 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100DA10 280 atexit_unregister_window_classes_0100da10 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100DBA0 280 atexit_unregister_window_classes_0100dba0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100DD30 280 atexit_unregister_window_classes_0100dd30 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100DEC0 280 atexit_unregister_window_classes_0100dec0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100DFE0 10 thunk_to_STL_string_dtor_0100dfe0 stl Wrapper that calls STL_string_dtor and returns 0x0100DFF0 10 thunk_to_STL_string_dtor_0100dff0 stl Wrapper that calls STL_string_dtor and returns 0x0100E000 10 thunk_to_STL_string_dtor_0100e000 stl Wrapper that calls STL_string_dtor and returns 0x0100E010 10 thunk_to_STL_string_dtor_0100e010 stl Wrapper that calls STL_string_dtor and returns 0x0100E020 10 thunk_to_STL_string_dtor_0100e020 stl Wrapper that calls STL_string_dtor and returns 0x0100E030 10 thunk_to_STL_string_dtor_0100e030 stl Wrapper function that calls STL_string_dtor and returns 0x0100E040 10 thunk_to_STL_string_dtor_0100e040 stl Wrapper that calls STL_string_dtor and returns 0x0100E050 10 thunk_to_STL_string_dtor_0100e050 stl Wrapper that calls STL_string_dtor destructor 0x0100E060 10 thunk_to_STL_string_dtor_0100e060 stl Wrapper that calls STL_string_dtor and returns 0x0100E070 10 thunk_to_STL_string_dtor_0100e070 stl Wrapper that calls STL_string_dtor and returns 0x0100E080 10 thunk_to_STL_string_dtor_0100e080 stl Wrapper that calls STL_string_dtor and returns 0x0100E090 10 thunk_to_STL_string_dtor_0100e090 stl Wrapper that calls STL_string_dtor and returns 0x0100E0A0 10 thunk_to_STL_string_dtor_0100e0a0 stl Wrapper that calls STL_string_dtor and returns 0x0100E0B0 10 thunk_to_STL_string_dtor_0100e0b0 stl Wrapper that calls STL_string_dtor and returns 0x0100E0C0 10 thunk_to_STL_string_dtor_0100e0c0 stl Wrapper that calls STL_string_dtor and returns 0x0100E0D0 10 thunk_to_STL_string_dtor_0100e0d0 stl Wrapper that calls STL_string_dtor and returns 0x0100E0E0 10 thunk_to_STL_string_dtor_0100e0e0 stl Wrapper that calls STL_string_dtor and returns 0x0100E0F0 10 thunk_to_STL_string_dtor_0100e0f0 stl Wrapper function that calls STL_string_dtor and returns 0x0100E100 10 thunk_to_STL_string_dtor_0100e100 stl Wrapper that calls STL_string_dtor and returns 0x0100E110 10 thunk_to_STL_string_dtor_0100e110 stl Wrapper that calls STL_string_dtor and returns 0x0100E120 10 thunk_to_STL_string_dtor_0100e120 stl Wrapper that calls STL_string_dtor and returns 0x0100E130 10 thunk_to_STL_string_dtor_0100e130 stl Wrapper that calls STL_string_dtor and returns 0x0100E140 10 thunk_to_STL_string_dtor_0100e140 stl Wrapper that calls STL_string_dtor and returns 0x0100E150 10 thunk_to_STL_string_dtor_0100e150 stl Wrapper that calls STL_string_dtor and returns 0x0100E160 10 thunk_to_STL_string_dtor_0100e160 stl Wrapper that calls STL_string_dtor and returns 0x0100E1E0 280 atexit_unregister_window_classes_0100e1e0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100E370 280 atexit_unregister_window_classes_0100e370 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100E500 280 atexit_unregister_window_classes_0100e500 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100E690 280 atexit_unregister_window_classes_0100e690 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100E820 280 atexit_unregister_window_classes_0100e820 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100E9B0 280 atexit_unregister_window_classes_0100e9b0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100EB50 280 atexit_unregister_window_classes_0100eb50 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100ECE0 280 atexit_unregister_window_classes_0100ece0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100EE00 10 thunk_to_STL_string_dtor_0100ee00 stl Wrapper that calls STL_string_dtor and returns 0x0100EE10 10 thunk_to_STL_string_dtor_0100ee10 stl Wrapper that calls STL_string_dtor and returns 0x0100EE20 10 thunk_to_STL_string_dtor_0100ee20 stl Wrapper that calls STL_string_dtor and returns 0x0100EE30 10 thunk_to_STL_string_dtor_0100ee30 stl Wrapper that calls STL_string_dtor and returns 0x0100EE40 10 thunk_to_STL_string_dtor_0100ee40 stl Wrapper that calls STL_string_dtor and returns 0x0100EE50 10 thunk_to_STL_string_dtor_0100ee50 stl Wrapper that calls STL_string_dtor and returns 0x0100EE60 10 thunk_to_STL_string_dtor_0100ee60 stl Wrapper that calls STL_string_dtor and returns 0x0100EE70 10 thunk_to_STL_string_dtor_0100ee70 stl Wrapper that calls STL_string_dtor and returns 0x0100EE80 10 thunk_to_STL_string_dtor_0100ee80 stl Wrapper that calls STL_string_dtor and returns 0x0100EE90 10 thunk_to_STL_string_dtor_0100ee90 stl Wrapper that calls STL_string_dtor and returns 0x0100EEA0 10 thunk_to_STL_string_dtor_0100eea0 stl Wrapper that calls STL_string_dtor and returns 0x0100EEB0 10 thunk_to_STL_string_dtor_0100eeb0 stl Wrapper that calls STL_string_dtor and returns 0x0100EEC0 10 thunk_to_STL_string_dtor_0100eec0 stl Wrapper that calls STL_string_dtor and returns 0x0100EED0 10 thunk_to_STL_string_dtor_0100eed0 stl Wrapper that calls STL_string_dtor and returns 0x0100EEE0 10 thunk_to_STL_string_dtor_0100eee0 stl Wrapper that calls STL_string_dtor and returns 0x0100EEF0 10 thunk_to_STL_string_dtor_0100eef0 stl Wrapper that calls STL_string_dtor and returns 0x0100EF00 10 thunk_to_STL_string_dtor_0100ef00 stl Wrapper that calls STL_string_dtor and returns 0x0100EF10 10 thunk_to_STL_string_dtor_0100ef10 stl Wrapper that calls STL_string_dtor and returns 0x0100EF20 10 thunk_to_STL_string_dtor_0100ef20 stl Wrapper that calls STL_string_dtor and returns 0x0100EF30 10 thunk_to_STL_string_dtor_0100ef30 stl Wrapper that calls STL_string_dtor and returns 0x0100EF40 10 thunk_to_STL_string_dtor_0100ef40 stl Wrapper that calls STL_string_dtor and returns 0x0100EF50 10 thunk_to_STL_string_dtor_0100ef50 stl Wrapper that calls STL_string_dtor and returns 0x0100EF60 10 thunk_to_STL_string_dtor_0100ef60 stl Wrapper that calls STL_string_dtor and returns 0x0100EF70 10 thunk_to_STL_string_dtor_0100ef70 stl Wrapper function that calls STL_string_dtor and returns 0x0100EF80 10 thunk_to_STL_string_dtor_0100ef80 stl Wrapper that calls STL_string_dtor and returns 0x0100F000 280 atexit_unregister_window_classes_0100f000 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100F120 144 atexit_cleanup_gdiplus_fonts crt Atexit cleanup: iterates font objects, calls DeleteObject on each GDI font handle, removes SCDream font references, then calls GdiplusShutdown and frees the font vector. 0x0100F1B0 66 atexit_destroy_map crt Atexit cleanup: SEH-protected destructor that calls STL_map_destroy to free a global map container. 0x0100F270 280 atexit_unregister_window_classes_0100f270 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100F400 280 atexit_unregister_window_classes_0100f400 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100F590 280 atexit_unregister_window_classes_0100f590 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100F6B0 66 atexit_destroy_render_pipeline_data crt Atexit cleanup: SEH-protected destructor that calls CRenderPipeline__destroy_linked_list_and_vector to free global render pipeline data (linked list + vector). Not a map destructor. 0x0100F700 10 thunk_to_STL_string_dtor_0100f700 stl Wrapper that calls STL_string_dtor and returns 0x0100F710 10 thunk_to_STL_string_dtor_0100f710 stl Wrapper that calls STL_string_dtor and returns 0x0100F720 10 thunk_to_STL_string_dtor_0100f720 stl Wrapper that calls STL_string_dtor and returns 0x0100F730 10 thunk_to_STL_string_dtor_0100f730 stl Wrapper that calls STL_string_dtor and returns 0x0100F740 10 thunk_to_STL_string_dtor_0100f740 stl Wrapper that calls STL_string_dtor and returns 0x0100F750 10 thunk_to_STL_string_dtor_0100f750 stl Wrapper that calls STL_string_dtor and returns 0x0100F760 10 thunk_to_STL_string_dtor_0100f760 stl Wrapper that calls STL_string_dtor and returns 0x0100F770 10 thunk_to_STL_string_dtor_0100f770 stl Wrapper that calls STL_string_dtor and returns 0x0100F780 10 thunk_to_STL_string_dtor_0100f780 stl Wrapper that calls STL_string_dtor and returns 0x0100F790 10 thunk_to_STL_string_dtor_0100f790 stl Wrapper that calls STL_string_dtor and returns 0x0100F7A0 10 thunk_to_STL_string_dtor_0100f7a0 stl Wrapper that calls STL_string_dtor and returns 0x0100F7B0 10 thunk_to_STL_string_dtor_0100f7b0 stl Wrapper that calls STL_string_dtor and returns 0x0100F7C0 10 thunk_to_STL_string_dtor_0100f7c0 stl Wrapper that calls STL_string_dtor and returns 0x0100F7D0 10 thunk_to_STL_string_dtor_0100f7d0 stl Wrapper that calls STL_string_dtor and returns 0x0100F7E0 10 thunk_to_STL_string_dtor_0100f7e0 stl Wrapper that calls STL_string_dtor and returns 0x0100F7F0 10 thunk_to_STL_string_dtor_0100f7f0 stl Wrapper that calls STL_string_dtor and returns 0x0100F800 10 thunk_to_STL_string_dtor_0100f800 stl Wrapper that calls STL_string_dtor and returns 0x0100F810 10 thunk_to_STL_string_dtor_0100f810 stl Wrapper function that calls STL_string_dtor and returns 0x0100F820 10 thunk_to_STL_string_dtor_0100f820 stl Wrapper that calls STL_string_dtor and returns 0x0100F830 10 thunk_to_STL_string_dtor_0100f830 stl Wrapper that calls STL_string_dtor and returns 0x0100F840 10 thunk_to_STL_string_dtor_0100f840 stl Wrapper that calls STL_string_dtor and returns 0x0100F850 10 thunk_to_STL_string_dtor_0100f850 stl Wrapper that calls STL_string_dtor and returns 0x0100F860 10 thunk_to_STL_string_dtor_0100f860 stl Wrapper that calls STL_string_dtor and returns 0x0100F870 10 thunk_to_STL_string_dtor_0100f870 stl Wrapper that calls STL_string_dtor and returns 0x0100F880 10 thunk_to_STL_string_dtor_0100f880 stl Wrapper that calls STL_string_dtor and returns 0x0100F900 280 atexit_unregister_window_classes_0100f900 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100FA90 280 atexit_unregister_window_classes_0100fa90 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100FBB0 66 atexit_destroy_render_pipeline_container crt Atexit cleanup: SEH-protected destructor that calls CRenderPipeline__destroy_linked_list_and_vector to tear down a global render pipeline container at program exit. 0x0100FC00 10 thunk_to_STL_string_dtor_0100fc00 stl Wrapper that calls STL_string_dtor and returns 0x0100FC10 10 thunk_to_STL_string_dtor_0100fc10 stl Wrapper that calls STL_string_dtor and returns 0x0100FC20 10 thunk_to_STL_string_dtor_0100fc20 stl Wrapper that calls STL_string_dtor and returns 0x0100FC30 10 thunk_to_STL_string_dtor_0100fc30 stl Wrapper that calls STL_string_dtor and returns 0x0100FC40 10 thunk_to_STL_string_dtor_0100fc40 stl Wrapper that calls STL_string_dtor and returns 0x0100FC50 10 thunk_to_STL_string_dtor_0100fc50 stl Wrapper that calls STL_string_dtor and returns 0x0100FC60 10 thunk_to_STL_string_dtor_0100fc60 stl Wrapper that calls STL_string_dtor and returns 0x0100FC70 10 thunk_to_STL_string_dtor_0100fc70 stl Wrapper that calls STL_string_dtor and returns 0x0100FC80 10 thunk_to_STL_string_dtor_0100fc80 stl Wrapper that calls STL_string_dtor and returns 0x0100FC90 10 thunk_to_STL_string_dtor_0100fc90 stl Wrapper that calls STL_string_dtor and returns 0x0100FCA0 10 thunk_to_STL_string_dtor_0100fca0 stl Wrapper that calls STL_string_dtor and returns 0x0100FCB0 10 thunk_to_STL_string_dtor_0100fcb0 stl Wrapper calling STL_string_dtor destructor 0x0100FCC0 10 thunk_to_STL_string_dtor_0100fcc0 stl Wrapper that calls STL_string_dtor and returns 0x0100FCD0 10 thunk_to_STL_string_dtor_0100fcd0 stl Wrapper that calls STL_string_dtor and returns 0x0100FCE0 10 thunk_to_STL_string_dtor_0100fce0 stl Wrapper that calls STL_string_dtor and returns 0x0100FCF0 10 thunk_to_STL_string_dtor_0100fcf0 stl Wrapper that calls STL string destructor 0x0100FD00 10 thunk_to_STL_string_dtor_0100fd00 stl Wrapper that calls STL_string_dtor and returns 0x0100FD10 10 thunk_to_STL_string_dtor_0100fd10 stl Wrapper that calls STL_string_dtor and returns 0x0100FD20 10 thunk_to_STL_string_dtor_0100fd20 stl Wrapper that calls STL_string_dtor and returns 0x0100FD30 10 thunk_to_STL_string_dtor_0100fd30 stl Wrapper that calls STL_string_dtor and returns 0x0100FD40 10 thunk_to_STL_string_dtor_0100fd40 stl Wrapper that calls STL_string_dtor and returns 0x0100FD50 10 thunk_to_STL_string_dtor_0100fd50 stl Wrapper that calls STL_string_dtor and returns 0x0100FD60 10 thunk_to_STL_string_dtor_0100fd60 stl Wrapper that calls STL_string_dtor and returns 0x0100FD70 10 thunk_to_STL_string_dtor_0100fd70 stl Wrapper that calls STL_string_dtor and returns 0x0100FD80 10 thunk_to_STL_string_dtor_0100fd80 stl Wrapper that calls STL_string_dtor and returns 0x0100FE00 280 atexit_unregister_window_classes_0100fe00 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x0100FF90 280 atexit_unregister_window_classes_0100ff90 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010100B0 10 thunk_to_STL_string_dtor_010100b0 stl Wrapper that calls STL_string_dtor and returns 0x010100C0 10 thunk_to_STL_string_dtor_010100c0 stl Wrapper that calls STL_string_dtor and returns 0x010100D0 10 thunk_to_STL_string_dtor_010100d0 stl Wrapper that calls STL_string_dtor and returns 0x010100E0 10 thunk_to_STL_string_dtor_010100e0 stl Wrapper that calls STL_string_dtor and returns 0x010100F0 10 thunk_to_STL_string_dtor_010100f0 stl Wrapper that calls STL_string_dtor and returns 0x01010100 1 atexit_destroy_global_string_01010100 crt Atexit destroy global string 01010100 0x01010110 10 thunk_to_STL_string_dtor_01010110 stl Wrapper that calls STL_string_dtor and returns 0x01010120 10 thunk_to_STL_string_dtor_01010120 stl Wrapper that calls STL_string_dtor and returns 0x01010130 10 thunk_to_STL_string_dtor_01010130 stl Wrapper that calls STL_string_dtor and returns 0x01010140 10 thunk_to_STL_string_dtor_01010140 stl Wrapper that calls STL_string_dtor and returns 0x01010150 10 thunk_to_STL_string_dtor_01010150 stl Wrapper that calls STL_string_dtor and returns 0x01010160 10 thunk_to_STL_string_dtor_01010160 stl Wrapper that calls STL_string_dtor and returns 0x01010170 10 thunk_to_STL_string_dtor_01010170 stl Wrapper that calls STL_string_dtor and returns 0x01010180 10 thunk_to_STL_string_dtor_01010180 stl Wrapper that calls STL_string_dtor and returns 0x01010190 10 thunk_to_STL_string_dtor_01010190 stl Wrapper that calls STL_string_dtor and returns 0x010101A0 10 thunk_to_STL_string_dtor_010101a0 stl Wrapper that calls STL_string_dtor and returns 0x010101B0 10 thunk_to_STL_string_dtor_010101b0 stl Wrapper that calls STL_string_dtor and returns 0x010101C0 10 thunk_to_STL_string_dtor_010101c0 stl Wrapper that calls STL_string_dtor and returns 0x010101D0 10 thunk_to_STL_string_dtor_010101d0 stl Wrapper that calls STL_string_dtor and returns 0x010101E0 10 thunk_to_STL_string_dtor_010101e0 stl Wrapper that calls STL_string_dtor and returns 0x010101F0 10 thunk_to_STL_string_dtor_010101f0 stl Wrapper that calls STL_string_dtor and returns 0x01010200 1 atexit_destroy_global_string_01010200 crt Atexit destroy global string 01010200 0x01010210 10 thunk_to_STL_string_dtor_01010210 stl Wrapper that calls STL_string_dtor and returns 0x01010220 10 thunk_to_STL_string_dtor_01010220 stl Wrapper that calls STL_string_dtor and returns 0x01010230 10 thunk_to_STL_string_dtor_01010230 stl Wrapper that calls STL_string_dtor and returns 0x010102B0 280 atexit_unregister_window_classes_010102b0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01010440 280 atexit_unregister_window_classes_01010440 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010105D0 280 atexit_unregister_window_classes_010105d0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01010760 280 atexit_unregister_window_classes_01010760 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010108F0 280 atexit_unregister_window_classes_010108f0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01010A10 10 thunk_to_STL_string_dtor_01010a10 stl Wrapper that calls STL_string_dtor and returns 0x01010A20 10 thunk_to_STL_string_dtor_01010a20 stl Wrapper that calls STL_string_dtor and returns 0x01010A30 10 thunk_to_STL_string_dtor_01010a30 stl Wrapper that calls STL_string_dtor and returns 0x01010A40 10 thunk_to_STL_string_dtor_01010a40 stl Wrapper function that calls STL_string_dtor and returns 0x01010A50 10 thunk_to_STL_string_dtor_01010a50 stl Wrapper that calls STL_string_dtor and returns 0x01010A60 10 thunk_to_STL_string_dtor_01010a60 stl Wrapper that calls STL_string_dtor and returns 0x01010A70 10 thunk_to_STL_string_dtor_01010a70 stl Wrapper that calls STL_string_dtor and returns 0x01010A80 10 thunk_to_STL_string_dtor_01010a80 stl Wrapper that calls STL_string_dtor and returns 0x01010A90 10 thunk_to_STL_string_dtor_01010a90 stl Wrapper that calls STL_string_dtor and returns 0x01010AA0 10 thunk_to_STL_string_dtor_01010aa0 stl Wrapper that calls STL_string_dtor and returns 0x01010AB0 10 thunk_to_STL_string_dtor_01010ab0 stl Wrapper that calls STL_string_dtor and returns 0x01010AC0 10 thunk_to_STL_string_dtor_01010ac0 stl Wrapper that calls STL_string_dtor and returns 0x01010AD0 10 thunk_to_STL_string_dtor_01010ad0 stl Wrapper that calls STL_string_dtor and returns 0x01010AE0 10 thunk_to_STL_string_dtor_01010ae0 stl Wrapper that calls STL_string_dtor and returns 0x01010AF0 10 thunk_to_STL_string_dtor_01010af0 stl Wrapper that calls STL_string_dtor and returns 0x01010B00 10 thunk_to_STL_string_dtor_01010b00 stl Wrapper that calls STL_string_dtor and returns 0x01010B10 10 thunk_to_STL_string_dtor_01010b10 stl Wrapper that calls STL_string_dtor and returns 0x01010B20 10 thunk_to_STL_string_dtor_01010b20 stl Wrapper that calls STL_string_dtor and returns 0x01010B30 10 thunk_to_STL_string_dtor_01010b30 stl Wrapper that calls STL_string_dtor and returns 0x01010B40 10 thunk_to_STL_string_dtor_01010b40 stl Wrapper that calls STL_string_dtor and returns 0x01010B50 10 thunk_to_STL_string_dtor_01010b50 stl Wrapper that calls STL_string_dtor and returns 0x01010B60 10 thunk_to_STL_string_dtor_01010b60 stl Wrapper that calls STL_string_dtor and returns 0x01010B70 10 thunk_to_STL_string_dtor_01010b70 stl Wrapper that calls STL_string_dtor and returns 0x01010B80 10 thunk_to_STL_string_dtor_01010b80 stl Wrapper that calls STL_string_dtor and returns 0x01010B90 10 thunk_to_STL_string_dtor_01010b90 stl Wrapper that calls STL_string_dtor and returns 0x01010C10 280 atexit_unregister_window_classes_01010c10 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01010D30 217 atexit_destroy_set_and_vtable_objects crt Atexit cleanup: iterates a global STL set, calls virtual destructor on each element (offset +5 in each node), then clears the set by removing all tree nodes and freeing memory. 0x01010E80 280 atexit_unregister_window_classes_01010e80 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01011010 280 atexit_unregister_window_classes_01011010 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010111A0 280 atexit_unregister_window_classes_010111a0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01011330 280 atexit_unregister_window_classes_01011330 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010114C0 280 atexit_unregister_window_classes_010114c0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01011650 280 atexit_unregister_window_classes_01011650 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010117E0 280 atexit_unregister_window_classes_010117e0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01011970 280 atexit_unregister_window_classes_01011970 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01011A90 10 thunk_to_STL_string_dtor_01011a90 stl Wrapper that calls STL_string_dtor and returns 0x01011AA0 10 thunk_to_STL_string_dtor_01011aa0 stl Wrapper that calls STL_string_dtor and returns 0x01011AB0 10 thunk_to_STL_string_dtor_01011ab0 stl Wrapper that calls STL_string_dtor and returns 0x01011AC0 10 thunk_to_STL_string_dtor_01011ac0 stl Wrapper that calls STL_string_dtor and returns 0x01011AD0 10 thunk_to_STL_string_dtor_01011ad0 stl Wrapper that calls STL_string_dtor and returns 0x01011AE0 10 thunk_to_STL_string_dtor_01011ae0 stl Wrapper that calls STL_string_dtor and returns 0x01011AF0 10 thunk_to_STL_string_dtor_01011af0 stl Wrapper that calls STL_string_dtor and returns 0x01011B00 10 thunk_to_STL_string_dtor_01011b00 stl Wrapper that calls STL_string_dtor and returns 0x01011B10 10 thunk_to_STL_string_dtor_01011b10 stl Wrapper that calls STL_string_dtor and returns 0x01011B20 10 thunk_to_STL_string_dtor_01011b20 stl Wrapper function that calls STL_string_dtor and returns 0x01011B30 10 thunk_to_STL_string_dtor_01011b30 stl Wrapper that calls STL_string_dtor and returns 0x01011B40 10 thunk_to_STL_string_dtor_01011b40 stl Wrapper that calls STL_string_dtor and returns 0x01011B50 10 thunk_to_STL_string_dtor_01011b50 stl Wrapper that calls STL_string_dtor and returns 0x01011B60 10 thunk_to_STL_string_dtor_01011b60 stl Wrapper that calls STL_string_dtor and returns 0x01011B70 10 thunk_to_STL_string_dtor_01011b70 stl Wrapper function that calls STL_string_dtor and returns 0x01011B80 10 thunk_to_STL_string_dtor_01011b80 stl Wrapper that calls STL_string_dtor and returns 0x01011B90 10 thunk_to_STL_string_dtor_01011b90 stl Wrapper that calls STL_string_dtor and returns 0x01011BA0 10 thunk_to_STL_string_dtor_01011ba0 stl Wrapper that calls STL_string_dtor and returns 0x01011BB0 10 thunk_to_STL_string_dtor_01011bb0 stl Wrapper that calls STL_string_dtor and returns 0x01011BC0 10 thunk_to_STL_string_dtor_01011bc0 stl Wrapper that calls STL_string_dtor and returns 0x01011BD0 10 thunk_to_STL_string_dtor_01011bd0 stl Wrapper that calls STL_string_dtor and returns 0x01011BE0 10 thunk_to_STL_string_dtor_01011be0 stl Wrapper that calls STL_string_dtor and returns 0x01011BF0 10 thunk_to_STL_string_dtor_01011bf0 stl Wrapper that calls STL_string_dtor and returns 0x01011C00 10 thunk_to_STL_string_dtor_01011c00 stl Wrapper that calls STL_string_dtor and returns 0x01011C10 10 thunk_to_STL_string_dtor_01011c10 stl Wrapper that calls STL_string_dtor and returns 0x01011C90 280 atexit_unregister_window_classes_01011c90 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01011DB0 66 atexit_destroy_map_01011db0 crt Atexit cleanup: SEH-protected destructor that destroys a global STL map container. 0x01011E70 280 atexit_unregister_window_classes_01011e70 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01011F90 10 thunk_to_STL_string_dtor_01011f90 stl Wrapper that calls STL_string_dtor and returns 0x01012010 280 atexit_unregister_window_classes_01012010 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010121B0 280 atexit_unregister_window_classes_010121b0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01012340 280 atexit_unregister_window_classes_01012340 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010124D0 280 atexit_unregister_window_classes_010124d0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01012660 280 atexit_unregister_window_classes_01012660 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010127F0 280 atexit_unregister_window_classes_010127f0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01012980 280 atexit_unregister_window_classes_01012980 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01012B10 280 atexit_unregister_window_classes_01012b10 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01012CA0 280 atexit_unregister_window_classes_01012ca0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01012E30 280 atexit_unregister_window_classes_01012e30 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01012FC0 280 atexit_unregister_window_classes_01012fc0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01013150 280 atexit_unregister_window_classes_01013150 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010132E0 280 atexit_unregister_window_classes_010132e0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01013470 280 atexit_unregister_window_classes_01013470 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01013600 280 atexit_unregister_window_classes_01013600 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01013790 280 atexit_unregister_window_classes_01013790 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01013920 280 atexit_unregister_window_classes_01013920 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01013AB0 280 atexit_unregister_window_classes_01013ab0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01013C40 280 atexit_unregister_window_classes_01013c40 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01013DD0 280 atexit_unregister_window_classes_01013dd0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01013F60 280 atexit_unregister_window_classes_01013f60 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01014080 10 thunk_to_STL_string_dtor_01014080 stl Wrapper that calls STL_string_dtor and returns 0x01014090 10 thunk_to_STL_string_dtor_01014090 stl Wrapper that calls STL_string_dtor and returns 0x010140A0 10 thunk_to_STL_string_dtor_010140a0 stl Wrapper that calls STL_string_dtor and returns 0x010140B0 10 thunk_to_STL_string_dtor_010140b0 stl Wrapper that calls STL_string_dtor and returns 0x010140C0 10 thunk_to_STL_string_dtor_010140c0 stl Wrapper that calls STL_string_dtor and returns 0x010140D0 10 thunk_to_STL_string_dtor_010140d0 stl Wrapper that calls STL_string_dtor and returns 0x010140E0 10 thunk_to_STL_string_dtor_010140e0 stl Wrapper that calls STL_string_dtor and returns 0x010140F0 10 thunk_to_STL_string_dtor_010140f0 stl Wrapper function that calls STL_string_dtor and returns 0x01014100 10 thunk_to_STL_string_dtor_01014100 stl Wrapper that calls STL_string_dtor and returns 0x01014110 10 thunk_to_STL_string_dtor_01014110 stl Wrapper that calls STL_string_dtor and returns 0x01014120 10 thunk_to_STL_string_dtor_01014120 stl Wrapper that calls STL string destructor and returns 0x01014130 10 thunk_to_STL_string_dtor_01014130 stl Wrapper that calls STL_string_dtor and returns 0x01014140 10 thunk_to_STL_string_dtor_01014140 stl Wrapper that calls STL_string_dtor and returns 0x01014150 10 thunk_to_STL_string_dtor_01014150 stl Wrapper that calls STL_string_dtor and returns 0x01014160 10 thunk_to_STL_string_dtor_01014160 stl Wrapper that calls STL_string_dtor and returns 0x01014170 10 thunk_to_STL_string_dtor_01014170 stl Wrapper that calls STL_string_dtor and returns 0x01014180 10 thunk_to_STL_string_dtor_01014180 stl Wrapper that calls STL_string_dtor and returns 0x01014190 10 thunk_to_STL_string_dtor_01014190 stl Wrapper that calls STL_string_dtor and returns 0x010141A0 10 thunk_to_STL_string_dtor_010141a0 stl Wrapper that calls STL_string_dtor and returns 0x010141B0 10 thunk_to_STL_string_dtor_010141b0 stl Wrapper function that calls STL_string_dtor and returns 0x010141C0 10 thunk_to_STL_string_dtor_010141c0 stl Wrapper that calls STL_string_dtor and returns 0x010141D0 10 thunk_to_STL_string_dtor_010141d0 stl Wrapper that calls STL_string_dtor and returns 0x010141E0 10 thunk_to_STL_string_dtor_010141e0 stl Wrapper that calls STL_string_dtor and returns 0x010141F0 10 thunk_to_STL_string_dtor_010141f0 stl Wrapper that calls STL_string_dtor and returns 0x01014200 10 thunk_to_STL_string_dtor_01014200 stl Wrapper that calls STL_string_dtor and returns 0x01014280 280 atexit_unregister_window_classes_01014280 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010143A0 66 atexit_destroy_map_010143a0 crt Atexit cleanup: SEH-protected destructor that destroys a global STL map container. 0x010143F0 10 thunk_to_STL_string_dtor_010143f0 stl Wrapper that calls STL_string_dtor and returns 0x01014400 10 thunk_to_STL_string_dtor_01014400 stl Wrapper that calls STL_string_dtor and returns 0x01014410 10 thunk_to_STL_string_dtor_01014410 stl Wrapper that calls STL_string_dtor and returns 0x01014420 10 thunk_to_STL_string_dtor_01014420 stl Wrapper that calls STL_string_dtor and returns 0x01014430 10 thunk_to_STL_string_dtor_01014430 stl Wrapper that calls STL_string_dtor and returns 0x01014440 10 thunk_to_STL_string_dtor_01014440 stl Wrapper that calls STL_string_dtor and returns 0x01014450 10 thunk_to_STL_string_dtor_01014450 stl Wrapper that calls STL_string_dtor and returns 0x01014460 10 thunk_to_STL_string_dtor_01014460 stl Wrapper that calls STL_string_dtor and returns 0x01014470 10 thunk_to_STL_string_dtor_01014470 stl Wrapper function that calls STL_string_dtor and returns 0x01014480 10 thunk_to_STL_string_dtor_01014480 stl Wrapper function that calls STL_string_dtor and returns 0x01014490 10 thunk_to_STL_string_dtor_01014490 stl Wrapper that calls STL_string_dtor and returns 0x010144A0 10 thunk_to_STL_string_dtor_010144a0 stl Wrapper that calls STL_string_dtor and returns 0x010144B0 10 thunk_to_STL_string_dtor_010144b0 stl Wrapper that calls STL_string_dtor and returns 0x010144C0 10 thunk_to_STL_string_dtor_010144c0 stl Wrapper that calls STL_string_dtor and returns 0x010144D0 10 thunk_to_STL_string_dtor_010144d0 stl Wrapper that calls STL_string_dtor and returns 0x010144E0 10 thunk_to_STL_string_dtor_010144e0 stl Wrapper that calls STL_string_dtor and returns 0x010144F0 10 thunk_to_STL_string_dtor_010144f0 stl Wrapper calling STL string destructor 0x01014500 10 thunk_to_STL_string_dtor_01014500 stl Wrapper that calls STL_string_dtor and returns 0x01014510 10 thunk_to_STL_string_dtor_01014510 stl Wrapper that calls STL_string_dtor and returns 0x01014520 10 thunk_to_STL_string_dtor_01014520 stl Wrapper that calls STL_string_dtor and returns 0x01014530 10 thunk_to_STL_string_dtor_01014530 stl Wrapper that calls STL_string_dtor and returns 0x01014540 10 thunk_to_STL_string_dtor_01014540 stl Wrapper that calls STL_string_dtor and returns 0x01014550 10 thunk_to_STL_string_dtor_01014550 stl Wrapper that calls STL_string_dtor and returns 0x01014560 10 thunk_to_STL_string_dtor_01014560 stl Wrapper that calls STL_string_dtor and returns 0x01014570 10 thunk_to_STL_string_dtor_01014570 stl Wrapper that calls STL_string_dtor and returns 0x010145F0 280 atexit_unregister_window_classes_010145f0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01014710 66 atexit_destroy_map_01014710 crt Atexit cleanup: SEH-protected destructor that destroys a global STL map container. 0x01014760 10 thunk_to_STL_string_dtor_01014760 stl Wrapper that calls STL_string_dtor and returns 0x01014770 10 thunk_to_STL_string_dtor_01014770 stl Wrapper that calls STL_string_dtor and returns 0x01014780 10 thunk_to_STL_string_dtor_01014780 stl Wrapper that calls STL_string_dtor and returns 0x01014790 10 thunk_to_STL_string_dtor_01014790 stl Wrapper that calls STL_string_dtor and returns 0x010147A0 10 thunk_to_STL_string_dtor_010147a0 stl Wrapper that calls STL_string_dtor and returns 0x010147B0 10 thunk_to_STL_string_dtor_010147b0 stl Wrapper that calls STL_string_dtor and returns 0x010147C0 10 thunk_to_STL_string_dtor_010147c0 stl Wrapper that calls STL_string_dtor and returns 0x010147D0 10 thunk_to_STL_string_dtor_010147d0 stl Wrapper that calls STL_string_dtor and returns 0x010147E0 10 thunk_to_STL_string_dtor_010147e0 stl Wrapper function that calls STL_string_dtor and returns 0x010147F0 10 thunk_to_STL_string_dtor_010147f0 stl Wrapper that calls STL_string_dtor and returns 0x01014800 10 thunk_to_STL_string_dtor_01014800 stl Wrapper that calls STL_string_dtor and returns 0x01014810 10 thunk_to_STL_string_dtor_01014810 stl Wrapper that calls STL_string_dtor and returns 0x01014820 10 thunk_to_STL_string_dtor_01014820 stl Wrapper that calls STL_string_dtor and returns 0x01014830 10 thunk_to_STL_string_dtor_01014830 stl Wrapper that calls STL_string_dtor and returns 0x01014840 10 thunk_to_STL_string_dtor_01014840 stl Wrapper that calls STL_string_dtor and returns 0x01014850 10 thunk_to_STL_string_dtor_01014850 stl Wrapper that calls STL_string_dtor and returns 0x01014860 10 thunk_to_STL_string_dtor_01014860 stl Wrapper function that calls STL_string_dtor and returns 0x01014870 10 thunk_to_STL_string_dtor_01014870 stl Wrapper that calls STL_string_dtor and returns 0x01014880 10 thunk_to_STL_string_dtor_01014880 stl Wrapper that calls STL_string_dtor and returns 0x01014890 10 thunk_to_STL_string_dtor_01014890 stl Wrapper that calls STL_string_dtor and returns 0x010148A0 10 thunk_to_STL_string_dtor_010148a0 stl Wrapper that calls STL_string_dtor and returns 0x010148B0 10 thunk_to_STL_string_dtor_010148b0 stl Wrapper that calls STL_string_dtor and returns 0x010148C0 10 thunk_to_STL_string_dtor_010148c0 stl Wrapper that calls STL_string_dtor and returns 0x010148D0 10 thunk_to_STL_string_dtor_010148d0 stl Wrapper that calls STL_string_dtor and returns 0x010148E0 10 thunk_to_STL_string_dtor_010148e0 stl Wrapper that calls STL_string_dtor and returns 0x01014960 280 atexit_unregister_window_classes_01014960 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01014A80 66 atexit_destroy_map_01014a80 crt Atexit cleanup: SEH-protected destructor that destroys a global STL map container. 0x01014B40 280 atexit_unregister_window_classes_01014b40 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01014CD0 280 atexit_unregister_window_classes_01014cd0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01014DF0 10 thunk_to_STL_string_dtor_01014df0 stl Wrapper that calls STL_string_dtor and returns 0x01014E00 10 thunk_to_STL_string_dtor_01014e00 stl Wrapper that calls STL_string_dtor and returns 0x01014E10 10 thunk_to_STL_string_dtor_01014e10 stl Wrapper that calls STL_string_dtor and returns 0x01014E20 10 thunk_to_STL_string_dtor_01014e20 stl Wrapper that calls STL_string_dtor and returns 0x01014E30 10 thunk_to_STL_string_dtor_01014e30 stl Wrapper that calls STL_string_dtor and returns 0x01014E40 10 thunk_to_STL_string_dtor_01014e40 stl Wrapper that calls STL_string_dtor and returns 0x01014E50 10 thunk_to_STL_string_dtor_01014e50 stl Wrapper function that calls STL_string_dtor and returns 0x01014E60 10 thunk_to_STL_string_dtor_01014e60 stl Wrapper that calls STL_string_dtor and returns 0x01014E70 10 thunk_to_STL_string_dtor_01014e70 stl Wrapper that calls STL_string_dtor and returns 0x01014E80 10 thunk_to_STL_string_dtor_01014e80 stl Wrapper that calls STL_string_dtor and returns 0x01014E90 10 thunk_to_STL_string_dtor_01014e90 stl Wrapper that calls STL_string_dtor and returns 0x01014EA0 10 thunk_to_STL_string_dtor_01014ea0 stl Wrapper that calls STL_string_dtor and returns 0x01014EB0 10 thunk_to_STL_string_dtor_01014eb0 stl Wrapper that calls STL_string_dtor and returns 0x01014EC0 10 thunk_to_STL_string_dtor_01014ec0 stl Wrapper that calls STL_string_dtor and returns 0x01014ED0 10 thunk_to_STL_string_dtor_01014ed0 stl Wrapper that calls STL_string_dtor and returns 0x01014EE0 10 thunk_to_STL_string_dtor_01014ee0 stl Wrapper that calls STL_string_dtor and returns 0x01014EF0 10 thunk_to_STL_string_dtor_01014ef0 stl Wrapper that calls STL_string_dtor and returns 0x01014F00 10 thunk_to_STL_string_dtor_01014f00 stl Wrapper that calls STL_string_dtor and returns 0x01014F10 10 thunk_to_STL_string_dtor_01014f10 stl Wrapper that calls STL_string_dtor and returns 0x01014F20 10 thunk_to_STL_string_dtor_01014f20 stl Wrapper that calls STL_string_dtor and returns 0x01014F30 10 thunk_to_STL_string_dtor_01014f30 stl Wrapper that calls STL_string_dtor and returns 0x01014F40 10 thunk_to_STL_string_dtor_01014f40 stl Wrapper that calls STL_string_dtor and returns 0x01014F50 10 thunk_to_STL_string_dtor_01014f50 stl Wrapper that calls STL_string_dtor and returns 0x01014F60 10 thunk_to_STL_string_dtor_01014f60 stl Wrapper that calls STL_string_dtor and returns 0x01014F70 10 thunk_to_STL_string_dtor_01014f70 stl Wrapper that calls STL_string_dtor and returns 0x01014FF0 280 atexit_unregister_window_classes_01014ff0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01015110 66 atexit_destroy_map_01015110 crt Atexit cleanup: SEH-protected destructor that destroys a global STL map container. 0x01015160 10 thunk_to_STL_string_dtor_01015160 stl Wrapper that calls STL_string_dtor and returns 0x01015170 10 thunk_to_STL_string_dtor_01015170 stl Wrapper that calls STL_string_dtor and returns 0x01015180 10 thunk_to_STL_string_dtor_01015180 stl Wrapper that calls STL_string_dtor and returns 0x01015190 10 thunk_to_STL_string_dtor_01015190 stl Wrapper that calls STL_string_dtor and returns 0x010151A0 10 thunk_to_STL_string_dtor_010151a0 stl Wrapper that calls STL_string_dtor and returns 0x010151B0 10 thunk_to_STL_string_dtor_010151b0 stl Wrapper that calls STL_string_dtor and returns 0x010151C0 10 thunk_to_STL_string_dtor_010151c0 stl Wrapper that calls STL_string_dtor and returns 0x010151D0 10 thunk_to_STL_string_dtor_010151d0 stl Wrapper that calls STL_string_dtor and returns 0x010151E0 10 thunk_to_STL_string_dtor_010151e0 stl Wrapper that calls STL_string_dtor and returns 0x010151F0 10 thunk_to_STL_string_dtor_010151f0 stl Wrapper that calls STL_string_dtor and returns 0x01015200 10 thunk_to_STL_string_dtor_01015200 stl Wrapper that calls STL_string_dtor and returns 0x01015210 10 thunk_to_STL_string_dtor_01015210 stl Wrapper that calls STL_string_dtor and returns 0x01015220 10 thunk_to_STL_string_dtor_01015220 stl Wrapper that calls STL_string_dtor and returns 0x01015230 10 thunk_to_STL_string_dtor_01015230 stl Wrapper that calls STL_string_dtor and returns 0x01015240 10 thunk_to_STL_string_dtor_01015240 stl Wrapper that calls STL_string_dtor and returns 0x01015250 10 thunk_to_STL_string_dtor_01015250 stl Wrapper that calls STL_string_dtor and returns 0x01015260 10 thunk_to_STL_string_dtor_01015260 stl Wrapper that calls STL_string_dtor and returns 0x01015270 10 thunk_to_STL_string_dtor_01015270 stl Wrapper that calls STL_string_dtor and returns 0x01015280 10 thunk_to_STL_string_dtor_01015280 stl Wrapper that calls STL_string_dtor and returns 0x01015290 10 thunk_to_STL_string_dtor_01015290 stl Wrapper function that calls STL_string_dtor and returns 0x010152A0 10 thunk_to_STL_string_dtor_010152a0 stl Wrapper that calls STL_string_dtor and returns 0x010152B0 10 thunk_to_STL_string_dtor_010152b0 stl Wrapper that calls STL_string_dtor and returns 0x010152C0 10 thunk_to_STL_string_dtor_010152c0 stl Wrapper that calls STL_string_dtor and returns 0x010152D0 10 thunk_to_STL_string_dtor_010152d0 stl Wrapper that calls STL_string_dtor and returns 0x010152E0 10 thunk_to_STL_string_dtor_010152e0 stl Wrapper that calls STL_string_dtor and returns 0x01015360 280 atexit_unregister_window_classes_01015360 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010154F0 280 atexit_unregister_window_classes_010154f0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01015610 10 thunk_to_STL_string_dtor_01015610 stl Wrapper function that calls STL_string_dtor and returns 0x01015620 10 thunk_to_STL_string_dtor_01015620 stl Wrapper that calls STL_string_dtor and returns 0x01015630 10 thunk_to_STL_string_dtor_01015630 stl Wrapper function that calls STL_string_dtor and returns 0x01015640 10 thunk_to_STL_string_dtor_01015640 stl Wrapper that calls STL_string_dtor and returns 0x01015650 10 thunk_to_STL_string_dtor_01015650 stl Wrapper that calls STL_string_dtor and returns 0x01015660 10 thunk_to_STL_string_dtor_01015660 stl Wrapper that calls STL_string_dtor and returns 0x01015670 10 thunk_to_STL_string_dtor_01015670 stl Wrapper that calls STL_string_dtor and returns 0x01015680 10 thunk_to_STL_string_dtor_01015680 stl Wrapper that calls STL_string_dtor and returns 0x01015690 10 thunk_to_STL_string_dtor_01015690 stl Wrapper that calls STL_string_dtor and returns 0x010156A0 10 thunk_to_STL_string_dtor_010156a0 stl Wrapper that calls STL_string_dtor and returns 0x010156B0 10 thunk_to_STL_string_dtor_010156b0 stl Wrapper that calls STL_string_dtor and returns 0x010156C0 10 thunk_to_STL_string_dtor_010156c0 stl Wrapper that calls STL_string_dtor and returns 0x010156D0 10 thunk_to_STL_string_dtor_010156d0 stl Wrapper that calls STL_string_dtor and returns 0x010156E0 10 thunk_to_STL_string_dtor_010156e0 stl Wrapper that calls STL_string_dtor and returns 0x010156F0 10 thunk_to_STL_string_dtor_010156f0 stl Wrapper that calls STL_string_dtor and returns 0x01015700 10 thunk_to_STL_string_dtor_01015700 stl Wrapper that calls STL_string_dtor and returns 0x01015710 10 thunk_to_STL_string_dtor_01015710 stl Wrapper that calls STL_string_dtor and returns 0x01015720 10 thunk_to_STL_string_dtor_01015720 stl Wrapper that calls STL_string_dtor and returns 0x01015730 10 thunk_to_STL_string_dtor_01015730 stl Wrapper that calls STL_string_dtor and returns 0x01015740 10 thunk_to_STL_string_dtor_01015740 stl Wrapper that calls STL_string_dtor and returns 0x01015750 10 thunk_to_STL_string_dtor_01015750 stl Wrapper that calls STL_string_dtor and returns 0x01015760 10 thunk_to_STL_string_dtor_01015760 stl Wrapper that calls STL_string_dtor and returns 0x01015770 10 thunk_to_STL_string_dtor_01015770 stl Wrapper that calls STL_string_dtor and returns 0x01015780 10 thunk_to_STL_string_dtor_01015780 stl Wrapper that calls STL_string_dtor and returns 0x01015790 10 thunk_to_STL_string_dtor_01015790 stl Wrapper that calls STL_string_dtor and returns 0x01015810 280 atexit_unregister_window_classes_01015810 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01015930 105 atexit_free_vector_and_linked_list crt Atexit cleanup: SEH-protected destructor that deallocates a vector and then frees all nodes in a linked list (0x18-byte nodes) at DAT_013896d8. 0x010159A0 10 thunk_to_STL_string_dtor_010159a0 stl Wrapper that calls STL_string_dtor and returns 0x010159B0 10 thunk_to_STL_string_dtor_010159b0 stl Wrapper that calls STL_string_dtor and returns 0x010159C0 10 thunk_to_STL_string_dtor_010159c0 stl Wrapper that calls STL_string_dtor and returns 0x010159D0 10 thunk_to_STL_string_dtor_010159d0 stl Wrapper that calls STL_string_dtor and returns 0x010159E0 10 thunk_to_STL_string_dtor_010159e0 stl Wrapper that calls STL_string_dtor and returns 0x010159F0 10 thunk_to_STL_string_dtor_010159f0 stl Wrapper that calls STL_string_dtor and returns 0x01015A00 10 thunk_to_STL_string_dtor_01015a00 stl Wrapper that calls STL_string_dtor and returns 0x01015A10 10 thunk_to_STL_string_dtor_01015a10 stl Wrapper that calls STL_string_dtor and returns 0x01015A20 10 thunk_to_STL_string_dtor_01015a20 stl Wrapper that calls STL_string_dtor and returns 0x01015A30 10 thunk_to_STL_string_dtor_01015a30 stl Wrapper that calls STL_string_dtor and returns 0x01015A40 10 thunk_to_STL_string_dtor_01015a40 stl Wrapper that calls STL_string_dtor and returns 0x01015A50 10 thunk_to_STL_string_dtor_01015a50 stl Wrapper that calls STL_string_dtor and returns 0x01015A60 10 thunk_to_STL_string_dtor_01015a60 stl Wrapper that calls STL_string_dtor and returns 0x01015A70 10 thunk_to_STL_string_dtor_01015a70 stl Wrapper that calls STL_string_dtor and returns 0x01015A80 10 thunk_to_STL_string_dtor_01015a80 stl Wrapper that calls STL_string_dtor and returns 0x01015A90 10 thunk_to_STL_string_dtor_01015a90 stl Wrapper that calls STL_string_dtor and returns 0x01015AA0 10 thunk_to_STL_string_dtor_01015aa0 stl Wrapper that calls STL_string_dtor and returns 0x01015AB0 10 thunk_to_STL_string_dtor_01015ab0 stl Wrapper that calls STL_string_dtor and returns 0x01015AC0 10 thunk_to_STL_string_dtor_01015ac0 stl Wrapper that calls STL_string_dtor and returns 0x01015AD0 10 thunk_to_STL_string_dtor_01015ad0 stl Wrapper that calls STL_string_dtor and returns 0x01015AE0 10 thunk_to_STL_string_dtor_01015ae0 stl Wrapper function that calls STL_string_dtor and returns 0x01015AF0 10 thunk_to_STL_string_dtor_01015af0 stl Wrapper that calls STL_string_dtor and returns 0x01015B00 10 thunk_to_STL_string_dtor_01015b00 stl Wrapper that calls STL_string_dtor and returns 0x01015B10 10 thunk_to_STL_string_dtor_01015b10 stl Wrapper that calls STL_string_dtor and returns 0x01015B20 10 thunk_to_STL_string_dtor_01015b20 stl Wrapper that calls STL_string_dtor and returns 0x01015BA0 280 atexit_unregister_window_classes_01015ba0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01015CC0 69 tls_clear_array_offset_0x18 crt Clears a 43-byte TLS array at offset 0x18 in thread-local data. One of many TLS initializer functions that zero-fill thread-local buffers at different offsets. 0x01015D10 69 tls_clear_array_offset_0x8 crt TLS initializer: clears 10-byte array at offset 0x8 in thread-local data. 0x01015DD0 280 atexit_unregister_window_classes_01015dd0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01015F60 280 atexit_unregister_window_classes_01015f60 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x010160F0 280 atexit_unregister_window_classes_010160f0 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01016210 10 thunk_to_STL_string_dtor_01016210 stl Wrapper that calls STL_string_dtor and returns 0x01016220 10 thunk_to_STL_string_dtor_01016220 stl Wrapper that calls STL_string_dtor and returns 0x01016230 10 thunk_to_STL_string_dtor_01016230 stl Wrapper that calls STL_string_dtor and returns 0x01016240 10 thunk_to_STL_string_dtor_01016240 stl Wrapper function that calls STL_string_dtor and returns 0x01016250 10 thunk_to_STL_string_dtor_01016250 stl Wrapper calling STL string destructor 0x01016260 10 thunk_to_STL_string_dtor_01016260 stl Wrapper that calls STL_string_dtor and returns 0x01016270 10 thunk_to_STL_string_dtor_01016270 stl Wrapper that calls STL_string_dtor and returns 0x01016280 10 thunk_to_STL_string_dtor_01016280 stl Wrapper that calls STL_string_dtor and returns 0x01016290 10 thunk_to_STL_string_dtor_01016290 stl Wrapper that calls STL_string_dtor and returns 0x010162A0 10 thunk_to_STL_string_dtor_010162a0 stl Wrapper that calls STL_string_dtor and returns 0x010162B0 10 thunk_to_STL_string_dtor_010162b0 stl Wrapper that calls STL_string_dtor and returns 0x010162C0 10 thunk_to_STL_string_dtor_010162c0 stl Wrapper that calls STL_string_dtor and returns 0x010162D0 10 thunk_to_STL_string_dtor_010162d0 stl Wrapper function that calls STL_string_dtor and returns 0x010162E0 10 thunk_to_STL_string_dtor_010162e0 stl Wrapper that calls STL_string_dtor and returns 0x010162F0 10 thunk_to_STL_string_dtor_010162f0 stl Wrapper that calls STL_string_dtor and returns 0x01016300 10 thunk_to_STL_string_dtor_01016300 stl Wrapper that calls STL_string_dtor and returns 0x01016310 10 thunk_to_STL_string_dtor_01016310 stl Wrapper that calls STL_string_dtor and returns 0x01016320 10 thunk_to_STL_string_dtor_01016320 stl Wrapper that calls STL_string_dtor and returns 0x01016330 10 thunk_to_STL_string_dtor_01016330 stl Wrapper that calls STL_string_dtor and returns 0x01016340 10 thunk_to_STL_string_dtor_01016340 stl Wrapper that calls STL_string_dtor and returns 0x01016350 10 thunk_to_STL_string_dtor_01016350 stl Wrapper that calls STL_string_dtor and returns 0x01016360 10 thunk_to_STL_string_dtor_01016360 stl Wrapper that calls STL_string_dtor and returns 0x01016370 10 thunk_to_STL_string_dtor_01016370 stl Wrapper that calls STL_string_dtor and returns 0x01016380 10 thunk_to_STL_string_dtor_01016380 stl Wrapper that calls STL_string_dtor and returns 0x01016390 10 thunk_to_STL_string_dtor_01016390 stl Wrapper that calls STL_string_dtor and returns 0x01016410 280 atexit_unregister_window_classes_01016410 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01016530 69 tls_clear_array_offset_0x84 crt Clears a 10-byte TLS array at offset 0x84 in thread-local data. TLS initializer for thread-specific buffer. 0x01016580 69 tls_clear_array_offset_0x94 crt Clears a 10-byte TLS array at offset 0x94 in thread-local data. 0x010165D0 69 tls_clear_array_offset_0xa4 crt Clears a 10-byte TLS array at offset 0xa4 in thread-local data. 0x01016620 69 tls_clear_array_offset_0x6c crt TLS initializer: clears 18-byte (0x12) array at offset 0x6c in thread-local data. 0x01016670 69 tls_clear_array_offset_0x54 crt TLS initializer: clears 16-byte (0x10) array at offset 0x54 in thread-local data. 0x010166C0 69 tls_clear_array_offset_0xcc crt TLS initializer: clears 20-byte (0x14) array at offset 0xcc in thread-local data. 0x01016710 69 tls_clear_array_offset_0xe8 crt TLS initializer: clears 20-byte (0x14) array at offset 0xe8 in thread-local data. 0x01016760 69 tls_clear_array_offset_0x48 crt TLS initializer: clears 7-byte array at offset 0x48 in thread-local data. 0x010167B0 69 tls_clear_array_offset_0x104 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016800 69 tls_clear_array_offset_0xb4 crt TLS initializer: clears 16-byte (0x10) array at offset 0xb4 in thread-local data. 0x01016850 10 thunk_to_STL_string_dtor_01016850 stl Wrapper that calls STL_string_dtor and returns 0x01016860 10 thunk_to_STL_string_dtor_01016860 stl Wrapper that calls STL_string_dtor and returns 0x01016870 10 thunk_to_STL_string_dtor_01016870 stl Wrapper that calls STL_string_dtor and returns 0x01016880 10 thunk_to_STL_string_dtor_01016880 stl Wrapper that calls STL_string_dtor and returns 0x01016890 10 thunk_to_STL_string_dtor_01016890 stl Wrapper that calls STL_string_dtor and returns 0x010168A0 10 thunk_to_STL_string_dtor_010168a0 stl Wrapper that calls STL_string_dtor and returns 0x010168B0 10 thunk_to_STL_string_dtor_010168b0 stl Wrapper that calls STL_string_dtor and returns 0x010168C0 10 thunk_to_STL_string_dtor_010168c0 stl Wrapper that calls STL_string_dtor and returns 0x010168D0 10 thunk_to_STL_string_dtor_010168d0 stl Wrapper that calls STL_string_dtor and returns 0x010168E0 10 thunk_to_STL_string_dtor_010168e0 stl Wrapper function that calls STL_string_dtor and returns 0x010168F0 10 thunk_to_STL_string_dtor_010168f0 stl Wrapper that calls STL_string_dtor and returns 0x01016900 10 thunk_to_STL_string_dtor_01016900 stl Wrapper that calls STL_string_dtor and returns 0x01016910 10 thunk_to_STL_string_dtor_01016910 stl Wrapper function that calls STL_string_dtor and returns 0x01016920 10 thunk_to_STL_string_dtor_01016920 stl Wrapper that calls STL_string_dtor and returns 0x01016930 10 thunk_to_STL_string_dtor_01016930 stl Wrapper that calls STL_string_dtor and returns 0x01016940 10 thunk_to_STL_string_dtor_01016940 stl Wrapper that calls STL_string_dtor and returns 0x01016950 10 thunk_to_STL_string_dtor_01016950 stl Wrapper that calls STL_string_dtor and returns 0x01016960 10 thunk_to_STL_string_dtor_01016960 stl Wrapper that calls STL_string_dtor and returns 0x01016970 10 thunk_to_STL_string_dtor_01016970 stl Wrapper that calls STL_string_dtor and returns 0x01016980 10 thunk_to_STL_string_dtor_01016980 stl Wrapper that calls STL_string_dtor and returns 0x01016990 10 thunk_to_STL_string_dtor_01016990 stl Wrapper that calls STL_string_dtor and returns 0x010169A0 10 thunk_to_STL_string_dtor_010169a0 stl Wrapper that calls STL_string_dtor and returns 0x010169B0 10 thunk_to_STL_string_dtor_010169b0 stl Wrapper that calls STL_string_dtor and returns 0x010169C0 10 thunk_to_STL_string_dtor_010169c0 stl Wrapper that calls STL_string_dtor and returns 0x010169D0 10 thunk_to_STL_string_dtor_010169d0 stl Wrapper that calls STL_string_dtor and returns 0x01016A50 280 atexit_unregister_window_classes_01016a50 crt Atexit cleanup: unregisters window classes, frees atom table, deletes critical section. 0x01016B70 69 tls_clear_array_offset_0x124 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016BC0 69 tls_clear_array_offset_0x134 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016C10 69 tls_clear_array_offset_0x144 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016C60 69 tls_clear_array_offset_0x154 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016CB0 69 tls_clear_array_offset_0x164 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016D00 69 tls_clear_array_offset_0x174 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016D50 69 tls_clear_array_offset_0x184 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016DA0 69 tls_clear_array_offset_0x194 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016DF0 69 tls_clear_array_offset_0x1a4 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016E40 69 tls_clear_array_offset_0x1b4 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016E90 69 tls_clear_array_offset_0x1c4 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016EE0 69 tls_clear_array_offset_0x1d4 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016F30 69 tls_clear_array_offset_0x1e4 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016F80 69 tls_clear_array_offset_0x1f4 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01016FD0 69 tls_clear_array_offset_0x204 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01017020 69 tls_clear_array_offset_0x214 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01017070 69 tls_clear_array_offset_0x224 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x010170C0 69 tls_clear_array_offset_0x234 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01017110 69 tls_clear_array_offset_0x244 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01017160 69 tls_clear_array_offset_0x254 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x010171B0 69 tls_clear_array_offset_0x264 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01017200 69 tls_clear_array_offset_0x274 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01017250 69 tls_clear_array_offset_0x284 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x010172A0 69 tls_clear_array_offset_0x294 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x010172F0 69 tls_clear_array_offset_0x2a4 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01017340 69 tls_clear_array_offset_0x2b4 crt TLS initializer: clears byte array at specific offset in thread-local data. 0x01017390 69 tls_clear_byte_array_at_0x1a0 crt TLS field initializer: zeros out 16 bytes at TLS offset 0x1a0. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x010173E0 69 tls_clear_byte_array_at_0x384 crt TLS field initializer: zeros out 15 bytes at TLS offset 0x384. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017430 69 tls_clear_byte_array_at_0x3b4 crt TLS field initializer: zeros out 17 bytes at TLS offset 0x3b4. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017480 69 tls_clear_byte_array_at_0x3ec crt TLS field initializer: zeros out 18 bytes at TLS offset 0x3ec. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x010174D0 69 tls_clear_byte_array_at_0x404 crt TLS field initializer: zeros out 18 bytes at TLS offset 0x404. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017520 69 tls_clear_byte_array_at_0x59c crt TLS field initializer: zeros out 13 bytes at TLS offset 0x59c. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017570 69 tls_clear_byte_array_at_0x6b4 crt TLS field initializer: zeros out 12 bytes at TLS offset 0x6b4. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x010175C0 69 tls_clear_byte_array_at_0x5e4 crt TLS field initializer: zeros out 13 bytes at TLS offset 0x5e4. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017610 69 tls_clear_byte_array_at_0x614 crt TLS field initializer: zeros out 18 bytes at TLS offset 0x614. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017660 69 tls_clear_byte_array_at_0x340 crt TLS field initializer: zeros out 21 bytes at TLS offset 0x340. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x010176B0 69 tls_clear_byte_array_at_0x5cc crt TLS field initializer: zeros out 18 bytes at TLS offset 0x5cc. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017700 69 tls_clear_byte_array_at_0x41c crt TLS field initializer: zeros out 21 bytes at TLS offset 0x41c. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017750 69 tls_clear_byte_array_at_0x160 crt TLS field initializer: zeros out 12 bytes at TLS offset 0x160. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x010177A0 69 tls_clear_byte_array_at_0x77c crt TLS field initializer: zeros out 22 bytes at TLS offset 0x77c. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x010177F0 69 tls_clear_byte_array_at_0x7ac crt TLS field initializer: zeros out 22 bytes at TLS offset 0x7ac. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017840 69 tls_clear_byte_array_at_0x74c crt TLS field initializer: zeros out 22 bytes at TLS offset 0x74c. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017890 69 tls_clear_byte_array_at_0x6f4 crt TLS field initializer: zeros out 19 bytes at TLS offset 0x6f4. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x010178E0 69 tls_clear_byte_array_at_0x720 crt TLS field initializer: zeros out 19 bytes at TLS offset 0x720. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017930 69 tls_clear_byte_array_at_0x69c crt TLS field initializer: zeros out 18 bytes at TLS offset 0x69c. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017980 69 tls_clear_byte_array_at_0x2c8 crt TLS field initializer: zeros out 29 bytes at TLS offset 0x2c8. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x010179D0 69 tls_clear_byte_array_at_0x248 crt TLS field initializer: zeros out 30 bytes at TLS offset 0x248. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017A20 69 tls_clear_byte_array_at_0x558 crt TLS field initializer: zeros out 15 bytes at TLS offset 0x558. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017A70 69 tls_clear_byte_array_at_0x210 crt TLS field initializer: zeros out 22 bytes at TLS offset 0x210. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017AC0 69 tls_clear_byte_array_at_0x438 crt TLS field initializer: zeros out 15 bytes at TLS offset 0x438. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017B10 69 tls_clear_byte_array_at_0x1e0 crt TLS field initializer: zeros out 20 bytes at TLS offset 0x1e0. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017B60 69 tls_clear_byte_array_at_0x398 crt TLS field initializer: zeros out 22 bytes at TLS offset 0x398. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017BB0 69 tls_clear_byte_array_at_0x3cc crt TLS field initializer: zeros out 24 bytes at TLS offset 0x3cc. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017C00 69 tls_clear_byte_array_at_0x5b0 crt TLS field initializer: zeros out 20 bytes at TLS offset 0x5b0. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017C50 69 tls_clear_byte_array_at_0x6c8 crt TLS field initializer: zeros out 19 bytes at TLS offset 0x6c8. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017CA0 69 tls_clear_byte_array_at_0x5f8 crt TLS field initializer: zeros out 20 bytes at TLS offset 0x5f8. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017CF0 69 tls_clear_byte_array_at_0x62c crt TLS field initializer: zeros out 21 bytes at TLS offset 0x62c. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). 0x01017D40 69 tls_clear_byte_array_at_0x4b0 crt TLS field initializer: zeros out 15 bytes at TLS offset 0x4b0. Accesses thread-local storage via FS:[0x2c] + TLS index (DAT_0173aeac). Called during thread/module initialization to clear a TLS string/buffer field. 0x01017D90 69 tls_clear_byte_array_at_0x2ec crt TLS field initializer: zeros out 21 bytes at TLS offset 0x2ec. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x01017DE0 69 tls_clear_byte_array_at_0x56c crt TLS field initializer: zeros out 22 bytes at TLS offset 0x56c. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x01017E30 69 tls_clear_byte_array_at_0x44c crt TLS field initializer: zeros out 22 bytes at TLS offset 0x44c. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x01017E80 69 tls_clear_byte_array_at_0x648 crt TLS field initializer: zeros out 25 bytes at TLS offset 0x648. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x01017ED0 69 tls_clear_byte_array_at_0x26c crt TLS field initializer: zeros out 22 bytes at TLS offset 0x26c. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x01017F20 69 tls_clear_byte_array_at_0x4c4 crt TLS field initializer: zeros out 22 bytes at TLS offset 0x4c4. 0x01017F70 69 tls_clear_byte_array_at_0x308 crt TLS field initializer: zeros out 28 bytes at TLS offset 0x308. 0x01017FC0 69 tls_clear_byte_array_at_0x468 crt TLS field initializer: zeros out 15 bytes at TLS offset 0x468. 0x01018010 69 tls_clear_byte_array_at_0x668 crt TLS field initializer: zeros out 28 bytes at TLS offset 0x668. 0x01018060 69 tls_clear_byte_array_at_0x4e0 crt TLS field initializer: zeros out 15 bytes at TLS offset 0x4e0. 0x010180B0 69 tls_clear_byte_array_at_0x288 crt TLS field initializer: zeros bytes at a TLS offset. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x01018100 69 tls_clear_byte_array_at_0x47c crt TLS field initializer: zeros bytes at a TLS offset. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x01018150 69 tls_clear_byte_array_at_0x4f4 crt TLS field initializer: zeros bytes at a TLS offset. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x010181A0 83 atexit_destroy_vector_and_list crt SEH-protected atexit destructor. Deallocates an STL vector (via STL_vector_dealloc_and_clear), then destroys a linked list with 0x18 sentinel node (via destroy_linked_list_0x18_sentinel). Uses stack cookie and SEH frame for exception safety. 0x01018200 10 thunk_to_STL_string_dtor_01018200 stl Wrapper that calls STL_string_dtor and returns 0x01018210 10 thunk_to_STL_string_dtor_01018210 stl Wrapper that calls STL_string_dtor and returns 0x01018220 10 thunk_to_STL_string_dtor_01018220 stl Wrapper that calls STL_string_dtor and returns 0x01018230 10 thunk_to_STL_string_dtor_01018230 stl Wrapper that calls STL_string_dtor and returns 0x01018240 10 thunk_to_STL_string_dtor_01018240 stl Wrapper that calls STL_string_dtor and returns 0x01018250 10 thunk_to_STL_string_dtor_01018250 stl Wrapper function that calls STL_string_dtor and returns 0x01018260 10 thunk_to_STL_string_dtor_01018260 stl Wrapper that calls STL_string_dtor and returns 0x01018270 10 thunk_to_STL_string_dtor_01018270 stl Wrapper calling STL_string_dtor destructor 0x01018280 10 thunk_to_STL_string_dtor_01018280 stl Wrapper that calls STL_string_dtor and returns 0x01018290 10 thunk_to_STL_string_dtor_01018290 stl Wrapper that calls STL_string_dtor and returns 0x010182A0 10 thunk_to_STL_string_dtor_010182a0 stl Wrapper that calls STL_string_dtor and returns 0x010182B0 10 thunk_to_STL_string_dtor_010182b0 stl Wrapper that calls STL_string_dtor and returns 0x010182C0 10 thunk_to_STL_string_dtor_010182c0 stl Wrapper that calls STL_string_dtor and returns 0x010182D0 10 thunk_to_STL_string_dtor_010182d0 stl Wrapper that calls STL_string_dtor and returns 0x010182E0 10 thunk_to_STL_string_dtor_010182e0 stl Wrapper that calls STL_string_dtor and returns 0x010182F0 10 thunk_to_STL_string_dtor_010182f0 stl Wrapper function that calls STL_string_dtor and returns 0x01018300 10 thunk_to_STL_string_dtor_01018300 stl Wrapper that calls STL_string_dtor and returns 0x01018310 10 thunk_to_STL_string_dtor_01018310 stl Wrapper function that calls STL_string_dtor and returns 0x01018320 10 thunk_to_STL_string_dtor_01018320 stl Wrapper that calls STL_string_dtor and returns 0x01018330 10 thunk_to_STL_string_dtor_01018330 stl Wrapper calling STL_string_dtor destructor 0x01018340 10 thunk_to_STL_string_dtor_01018340 stl Wrapper that calls STL_string_dtor and returns 0x01018350 10 thunk_to_STL_string_dtor_01018350 stl Wrapper that calls STL_string_dtor and returns 0x01018360 10 thunk_to_STL_string_dtor_01018360 stl Wrapper that calls STL_string_dtor and returns 0x01018370 10 thunk_to_STL_string_dtor_01018370 stl Wrapper that calls STL_string_dtor and returns 0x01018380 10 thunk_to_STL_string_dtor_01018380 stl Wrapper that calls STL_string_dtor and returns 0x01018400 280 atexit_unregister_window_classes crt SEH-protected atexit handler that unregisters Win32 window classes. Iterates over registered atom class IDs stored in DAT_013871fc array, calls UnregisterClassA for each, frees the array, resets count (DAT_01387200), deletes critical section at DAT_013871e0, then clears the initialization flag (DAT_013871dc). Double-frees the array as a safety measure. 0x01018520 69 tls_clear_byte_array_at_0xc28 crt TLS field initializer: zeros bytes at a TLS offset. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x01018570 69 tls_clear_byte_array_at_0xc50 crt TLS field initializer: zeros bytes at a TLS offset. Accesses thread-local storage via FS:[0x2c] + TLS index. 0x010185C0 69 tls_clear_byte_array_at_0x7f0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018610 69 tls_clear_byte_array_at_0x82c crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018660 69 tls_clear_byte_array_at_0xbb8 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010186B0 69 tls_clear_byte_array_at_0x800 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018700 69 tls_clear_byte_array_at_0xa38 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018750 69 tls_clear_byte_array_at_0x7c8 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010187A0 69 tls_clear_byte_array_at_0xad4 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010187F0 69 tls_clear_byte_array_at_0x858 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018840 69 tls_clear_byte_array_at_0xa28 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018890 69 tls_clear_byte_array_at_0xba4 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010188E0 69 tls_clear_byte_array_at_0xb6c crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018930 69 tls_clear_byte_array_at_0x988 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018980 69 tls_clear_byte_array_at_0x9a0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010189D0 69 tls_clear_byte_array_at_0xb3c crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018A20 69 tls_clear_byte_array_at_0x888 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018A70 69 tls_clear_byte_array_at_0x908 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018AC0 69 tls_clear_byte_array_at_0xc8c crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018B10 69 tls_clear_byte_array_at_0x9b8 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018B60 69 tls_clear_byte_array_at_0x9f0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018BB0 69 tls_clear_byte_array_at_0x7dc crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018C00 69 tls_clear_byte_array_at_0xb0c crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018C50 69 tls_clear_byte_array_at_0xc78 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018CA0 69 tls_clear_byte_array_at_0xc38 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018CF0 69 tls_clear_byte_array_at_0xc60 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018D40 69 tls_clear_byte_array_at_0x840 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018D90 69 tls_clear_byte_array_at_0xbd0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018DE0 69 tls_clear_byte_array_at_0x814 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018E30 69 tls_clear_byte_array_at_0xa50 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018E80 69 tls_clear_byte_array_at_0xaec crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018ED0 69 tls_clear_byte_array_at_0x86c crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018F20 69 tls_clear_byte_array_at_0xb84 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018F70 69 tls_clear_byte_array_at_0x8a4 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01018FC0 69 tls_clear_byte_array_at_0x924 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019010 69 tls_clear_byte_array_at_0xb50 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019060 69 tls_clear_byte_array_at_0x9d0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010190B0 69 tls_clear_byte_array_at_0xa08 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019100 69 tls_clear_byte_array_at_0xb20 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019150 69 tls_clear_byte_array_at_0xbe8 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010191A0 69 tls_clear_byte_array_at_0xa70 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010191F0 69 tls_clear_byte_array_at_0x8c8 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019240 69 tls_clear_byte_array_at_0x948 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019290 69 tls_clear_byte_array_at_0xc08 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010192E0 69 tls_clear_byte_array_at_0xa88 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019330 69 tls_clear_byte_array_at_0x8e4 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019380 69 tls_clear_byte_array_at_0x964 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x010193D0 69 tls_clear_byte_array_at_0xa9c crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019420 69 tls_clear_byte_array_at_0xab8 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x01019470 10 thunk_to_STL_string_dtor_01019470 stl Wrapper that calls STL_string_dtor and returns 0x01019480 10 thunk_to_STL_string_dtor_01019480 stl Wrapper that calls STL_string_dtor and returns 0x01019490 10 thunk_to_STL_string_dtor_01019490 stl Wrapper that calls STL_string_dtor and returns 0x010194A0 10 thunk_to_STL_string_dtor_010194a0 stl Wrapper that calls STL_string_dtor and returns 0x010194B0 10 thunk_to_STL_string_dtor_010194b0 stl Wrapper that calls STL_string_dtor and returns 0x010194C0 10 thunk_to_STL_string_dtor_010194c0 stl Wrapper that calls STL_string_dtor and returns 0x010194D0 10 thunk_to_STL_string_dtor_010194d0 stl Wrapper that calls STL_string_dtor and returns 0x010194E0 10 thunk_to_STL_string_dtor_010194e0 stl Wrapper that calls STL_string_dtor and returns 0x010194F0 10 thunk_to_STL_string_dtor_010194f0 stl Wrapper function that calls STL_string_dtor and returns 0x01019500 10 thunk_to_STL_string_dtor_01019500 stl Wrapper that calls STL_string_dtor and returns 0x01019510 10 thunk_to_STL_string_dtor_01019510 stl Wrapper that calls STL_string_dtor and returns 0x01019520 10 thunk_to_STL_string_dtor_01019520 stl Wrapper that calls STL_string_dtor and returns 0x01019530 10 thunk_to_STL_string_dtor_01019530 stl Wrapper that calls STL_string_dtor and returns 0x01019540 10 thunk_to_STL_string_dtor_01019540 stl Wrapper that calls STL_string_dtor and returns 0x01019550 10 thunk_to_STL_string_dtor_01019550 stl Wrapper that calls STL_string_dtor and returns 0x01019560 10 thunk_to_STL_string_dtor_01019560 stl Wrapper that calls STL_string_dtor and returns 0x01019570 10 thunk_to_STL_string_dtor_01019570 stl Wrapper that calls STL_string_dtor and returns 0x01019580 10 thunk_to_STL_string_dtor_01019580 stl Wrapper that calls STL_string_dtor and returns 0x01019590 10 thunk_to_STL_string_dtor_01019590 stl Wrapper that calls STL_string_dtor and returns 0x010195A0 10 thunk_to_STL_string_dtor_010195a0 stl Wrapper that calls STL_string_dtor and returns 0x010195B0 10 thunk_to_STL_string_dtor_010195b0 stl Wrapper that calls STL_string_dtor and returns 0x010195C0 10 thunk_to_STL_string_dtor_010195c0 stl Wrapper that calls STL_string_dtor and returns 0x010195D0 10 thunk_to_STL_string_dtor_010195d0 stl Wrapper that calls STL_string_dtor and returns 0x010195E0 10 thunk_to_STL_string_dtor_010195e0 stl Wrapper that calls STL_string_dtor and returns 0x010195F0 10 thunk_to_STL_string_dtor_010195f0 stl Wrapper that calls STL_string_dtor and returns 0x01019670 280 atexit_unregister_window_classes_01019670 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x01019800 280 atexit_unregister_window_classes_01019800 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x01019990 280 atexit_unregister_window_classes_01019990 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x01019B20 280 atexit_unregister_window_classes_01019b20 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x01019C40 10 thunk_to_STL_string_dtor_01019c40 stl Wrapper that calls STL_string_dtor and returns 0x01019C50 10 thunk_to_STL_string_dtor_01019c50 stl Wrapper that calls STL_string_dtor and returns 0x01019C60 10 thunk_to_STL_string_dtor_01019c60 stl Wrapper that calls STL_string_dtor and returns 0x01019C70 10 thunk_to_STL_string_dtor_01019c70 stl Wrapper that calls STL_string_dtor and returns 0x01019C80 10 thunk_to_STL_string_dtor_01019c80 stl Wrapper that calls STL_string_dtor and returns 0x01019C90 10 thunk_to_STL_string_dtor_01019c90 stl Wrapper that calls STL_string_dtor and returns 0x01019CA0 10 thunk_to_STL_string_dtor_01019ca0 stl Wrapper that calls STL_string_dtor and returns 0x01019CB0 10 thunk_to_STL_string_dtor_01019cb0 stl Wrapper that calls STL_string_dtor and returns 0x01019CC0 10 thunk_to_STL_string_dtor_01019cc0 stl Wrapper that calls STL_string_dtor and returns 0x01019CD0 10 thunk_to_STL_string_dtor_01019cd0 stl Wrapper that calls STL_string_dtor and returns 0x01019CE0 10 thunk_to_STL_string_dtor_01019ce0 stl Wrapper that calls STL_string_dtor and returns 0x01019CF0 10 thunk_to_STL_string_dtor_01019cf0 stl Wrapper that calls STL_string_dtor and returns 0x01019D00 10 thunk_to_STL_string_dtor_01019d00 stl Wrapper that calls STL_string_dtor and returns 0x01019D10 10 thunk_to_STL_string_dtor_01019d10 stl Wrapper that calls STL_string_dtor and returns 0x01019D20 10 thunk_to_STL_string_dtor_01019d20 stl Wrapper that calls STL_string_dtor and returns 0x01019D30 10 thunk_to_STL_string_dtor_01019d30 stl Wrapper that calls STL_string_dtor and returns 0x01019D40 10 thunk_to_STL_string_dtor_01019d40 stl Wrapper that calls STL_string_dtor and returns 0x01019D50 10 thunk_to_STL_string_dtor_01019d50 stl Wrapper that calls STL_string_dtor and returns 0x01019D60 10 thunk_to_STL_string_dtor_01019d60 stl Wrapper that calls STL_string_dtor and returns 0x01019D70 10 thunk_to_STL_string_dtor_01019d70 stl Wrapper that calls STL_string_dtor and returns 0x01019D80 10 thunk_to_STL_string_dtor_01019d80 stl Wrapper that calls STL_string_dtor and returns 0x01019D90 10 thunk_to_STL_string_dtor_01019d90 stl Wrapper that calls STL_string_dtor and returns 0x01019DA0 10 thunk_to_STL_string_dtor_01019da0 stl Wrapper that calls STL_string_dtor and returns 0x01019DB0 10 thunk_to_STL_string_dtor_01019db0 stl Wrapper that calls STL_string_dtor and returns 0x01019DC0 10 thunk_to_STL_string_dtor_01019dc0 stl Wrapper function that calls STL_string_dtor and returns 0x01019E40 280 atexit_unregister_window_classes_01019e40 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x01019FD0 280 atexit_unregister_window_classes_01019fd0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101A0F0 69 tls_clear_byte_array_at_0xcd0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A140 69 tls_clear_byte_array_at_0xce0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A190 69 tls_clear_byte_array_at_0xcec crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A1E0 69 tls_clear_byte_array_at_0xca0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A230 69 tls_clear_byte_array_at_0xcfc crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A280 69 tls_clear_byte_array_at_0xcc0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A2D0 10 thunk_to_STL_string_dtor_0101a2d0 stl Wrapper that calls STL_string_dtor and returns 0x0101A2E0 10 thunk_to_STL_string_dtor_0101a2e0 stl Wrapper that calls STL_string_dtor and returns 0x0101A2F0 10 thunk_to_STL_string_dtor_0101a2f0 stl Wrapper that calls STL_string_dtor and returns 0x0101A300 10 thunk_to_STL_string_dtor_0101a300 stl Wrapper that calls STL_string_dtor and returns 0x0101A310 10 thunk_to_STL_string_dtor_0101a310 stl Wrapper that calls STL_string_dtor and returns 0x0101A320 10 thunk_to_STL_string_dtor_0101a320 stl Wrapper that calls STL_string_dtor and returns 0x0101A330 10 thunk_to_STL_string_dtor_0101a330 stl Wrapper that calls STL_string_dtor and returns 0x0101A340 10 thunk_to_STL_string_dtor_0101a340 stl Wrapper that calls STL_string_dtor and returns 0x0101A350 10 thunk_to_STL_string_dtor_0101a350 stl Wrapper function that calls STL_string_dtor destructor 0x0101A360 10 thunk_to_STL_string_dtor_0101a360 stl Wrapper that calls STL_string_dtor and returns 0x0101A370 10 thunk_to_STL_string_dtor_0101a370 stl Wrapper that calls STL_string_dtor and returns 0x0101A380 10 thunk_to_STL_string_dtor_0101a380 stl Wrapper that calls STL_string_dtor and returns 0x0101A390 10 thunk_to_STL_string_dtor_0101a390 stl Wrapper that calls STL_string_dtor and returns 0x0101A3A0 10 thunk_to_STL_string_dtor_0101a3a0 stl Wrapper calling STL string destructor 0x0101A3B0 10 thunk_to_STL_string_dtor_0101a3b0 stl Wrapper that calls STL_string_dtor and returns 0x0101A3C0 10 thunk_to_STL_string_dtor_0101a3c0 stl Wrapper that calls STL_string_dtor and returns 0x0101A3D0 10 thunk_to_STL_string_dtor_0101a3d0 stl Wrapper function that calls STL_string_dtor and returns 0x0101A3E0 10 thunk_to_STL_string_dtor_0101a3e0 stl Wrapper that calls STL_string_dtor and returns 0x0101A3F0 10 thunk_to_STL_string_dtor_0101a3f0 stl Wrapper that calls STL_string_dtor and returns 0x0101A400 10 thunk_to_STL_string_dtor_0101a400 stl Wrapper that calls STL_string_dtor and returns 0x0101A410 10 thunk_to_STL_string_dtor_0101a410 stl Wrapper that calls STL_string_dtor and returns 0x0101A420 10 thunk_to_STL_string_dtor_0101a420 stl Wrapper that calls STL_string_dtor and returns 0x0101A430 10 thunk_to_STL_string_dtor_0101a430 stl Wrapper that calls STL_string_dtor and returns 0x0101A440 10 thunk_to_STL_string_dtor_0101a440 stl Wrapper that calls STL_string_dtor and returns 0x0101A450 10 thunk_to_STL_string_dtor_0101a450 stl Wrapper that calls STL_string_dtor and returns 0x0101A4D0 280 atexit_unregister_window_classes_0101a4d0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101A5F0 66 atexit_destroy_STL_map_0101a5f0 crt SEH-protected atexit destructor that calls STL_map_destroy to free an STL map container. Uses stack cookie and SEH frame for exception safety during cleanup. 0x0101A640 69 tls_clear_byte_array_at_0xd48 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A690 69 tls_clear_byte_array_at_0xd18 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A6E0 69 tls_clear_byte_array_at_0xd30 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A730 69 tls_clear_byte_array_at_0xd54 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A780 69 tls_clear_byte_array_at_0xd08 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A7D0 69 tls_clear_byte_array_at_0xd60 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A820 69 tls_clear_byte_array_at_0xd6c crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101A8E0 280 atexit_unregister_window_classes_0101a8e0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101AA00 69 tls_clear_byte_array_at_0xda8 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101AA50 69 tls_clear_byte_array_at_0xdb8 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101AAA0 69 tls_clear_byte_array_at_0xdc4 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101AAF0 69 tls_clear_byte_array_at_0xdd4 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101AB40 69 tls_clear_byte_array_at_0xd98 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101AB90 69 tls_clear_byte_array_at_0xde4 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101ABE0 69 tls_clear_byte_array_at_0xdf0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101AC30 69 tls_clear_byte_array_at_0xdfc crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101ACF0 280 atexit_unregister_window_classes_0101acf0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101AE90 280 atexit_unregister_window_classes_0101ae90 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101B020 280 atexit_unregister_window_classes_0101b020 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101B140 10 thunk_to_STL_string_dtor_0101b140 stl Wrapper that calls STL_string_dtor and returns 0x0101B150 10 thunk_to_STL_string_dtor_0101b150 stl Wrapper that calls STL_string_dtor and returns 0x0101B160 10 thunk_to_STL_string_dtor_0101b160 stl Wrapper that calls STL_string_dtor and returns 0x0101B170 10 thunk_to_STL_string_dtor_0101b170 stl Wrapper that calls STL_string_dtor and returns 0x0101B180 10 thunk_to_STL_string_dtor_0101b180 stl Wrapper that calls STL_string_dtor and returns 0x0101B190 10 thunk_to_STL_string_dtor_0101b190 stl Wrapper that calls STL_string_dtor and returns 0x0101B1A0 10 thunk_to_STL_string_dtor_0101b1a0 stl Wrapper that calls STL_string_dtor and returns 0x0101B1B0 10 thunk_to_STL_string_dtor_0101b1b0 stl Wrapper that calls STL_string_dtor and returns 0x0101B1C0 10 thunk_to_STL_string_dtor_0101b1c0 stl Wrapper that calls STL_string_dtor and returns 0x0101B1D0 10 thunk_to_STL_string_dtor_0101b1d0 stl Wrapper that calls STL_string_dtor and returns 0x0101B1E0 10 thunk_to_STL_string_dtor_0101b1e0 stl Wrapper that calls STL_string_dtor and returns 0x0101B1F0 10 thunk_to_STL_string_dtor_0101b1f0 stl Wrapper that calls STL_string_dtor and returns 0x0101B200 10 thunk_to_STL_string_dtor_0101b200 stl Wrapper that calls STL_string_dtor and returns 0x0101B210 10 thunk_to_STL_string_dtor_0101b210 stl Wrapper that calls STL_string_dtor and returns 0x0101B220 10 thunk_to_STL_string_dtor_0101b220 stl Wrapper that calls STL_string_dtor and returns 0x0101B230 10 thunk_to_STL_string_dtor_0101b230 stl Wrapper that calls STL_string_dtor and returns immediately 0x0101B240 10 thunk_to_STL_string_dtor_0101b240 stl Wrapper that calls STL_string_dtor and returns 0x0101B250 10 thunk_to_STL_string_dtor_0101b250 stl Wrapper that calls STL_string_dtor and returns 0x0101B260 10 thunk_to_STL_string_dtor_0101b260 stl Wrapper that calls STL_string_dtor and returns 0x0101B270 10 thunk_to_STL_string_dtor_0101b270 stl Wrapper that calls STL_string_dtor and returns 0x0101B280 10 thunk_to_STL_string_dtor_0101b280 stl Wrapper that calls STL_string_dtor and returns 0x0101B290 10 thunk_to_STL_string_dtor_0101b290 stl Wrapper that calls STL_string_dtor and returns immediately 0x0101B2A0 10 thunk_to_STL_string_dtor_0101b2a0 stl Wrapper that calls STL_string_dtor and returns 0x0101B2B0 10 thunk_to_STL_string_dtor_0101b2b0 stl Wrapper that calls STL_string_dtor and returns 0x0101B2C0 10 thunk_to_STL_string_dtor_0101b2c0 stl Wrapper that calls STL_string_dtor and returns 0x0101B340 280 atexit_unregister_window_classes_0101b340 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101B460 66 atexit_destroy_STL_map_0101b460 crt SEH-protected atexit destructor that calls STL_map_destroy. 0x0101B4B0 10 thunk_to_STL_string_dtor_0101b4b0 stl Wrapper that calls STL_string_dtor and returns 0x0101B4C0 10 thunk_to_STL_string_dtor_0101b4c0 stl Wrapper that calls STL_string_dtor and returns 0x0101B4D0 10 thunk_to_STL_string_dtor_0101b4d0 stl Wrapper that calls STL_string_dtor and returns 0x0101B4E0 10 thunk_to_STL_string_dtor_0101b4e0 stl Wrapper that calls STL_string_dtor and returns 0x0101B4F0 10 thunk_to_STL_string_dtor_0101b4f0 stl Wrapper that calls STL_string_dtor and returns 0x0101B500 10 thunk_to_STL_string_dtor_0101b500 stl Wrapper that calls STL_string_dtor and returns 0x0101B510 10 thunk_to_STL_string_dtor_0101b510 stl Wrapper that calls STL_string_dtor and returns 0x0101B520 10 thunk_to_STL_string_dtor_0101b520 stl Wrapper that calls STL_string_dtor and returns 0x0101B530 10 thunk_to_STL_string_dtor_0101b530 stl Wrapper that calls STL_string_dtor and returns 0x0101B540 10 thunk_to_STL_string_dtor_0101b540 stl Wrapper that calls STL_string_dtor and returns 0x0101B550 10 thunk_to_STL_string_dtor_0101b550 stl Wrapper that calls STL_string_dtor and returns 0x0101B560 10 thunk_to_STL_string_dtor_0101b560 stl Wrapper that calls STL_string_dtor and returns 0x0101B570 10 thunk_to_STL_string_dtor_0101b570 stl Wrapper that calls STL_string_dtor and returns 0x0101B580 10 thunk_to_STL_string_dtor_0101b580 stl Wrapper that calls STL_string_dtor and returns 0x0101B590 10 thunk_to_STL_string_dtor_0101b590 stl Wrapper that calls STL_string_dtor and returns 0x0101B5A0 10 thunk_to_STL_string_dtor_0101b5a0 stl Wrapper that calls STL_string_dtor and returns 0x0101B5B0 10 thunk_to_STL_string_dtor_0101b5b0 stl Wrapper that calls STL_string_dtor and returns 0x0101B5C0 10 thunk_to_STL_string_dtor_0101b5c0 stl Wrapper that calls STL_string_dtor and returns 0x0101B5D0 10 thunk_to_STL_string_dtor_0101b5d0 stl Wrapper that calls STL_string_dtor and returns 0x0101B5E0 10 thunk_to_STL_string_dtor_0101b5e0 stl Wrapper that calls STL_string_dtor and returns 0x0101B5F0 10 thunk_to_STL_string_dtor_0101b5f0 stl Wrapper that calls STL_string_dtor and returns 0x0101B600 10 thunk_to_STL_string_dtor_0101b600 stl Wrapper that calls STL_string_dtor and returns 0x0101B610 10 thunk_to_STL_string_dtor_0101b610 stl Wrapper that calls STL_string_dtor and returns 0x0101B620 10 thunk_to_STL_string_dtor_0101b620 stl Wrapper that calls STL_string_dtor and returns 0x0101B630 10 thunk_to_STL_string_dtor_0101b630 stl Wrapper that calls STL_string_dtor and returns 0x0101B6B0 280 atexit_unregister_window_classes_0101b6b0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. Identical pattern to atexit_unregister_window_classes_0101b340. 0x0101B7D0 66 atexit_destroy_STL_map_0101b7d0 crt SEH-protected atexit destructor that calls STL_map_destroy. 0x0101B820 10 thunk_to_STL_string_dtor_0101b820 stl Wrapper that calls STL_string_dtor and returns 0x0101B830 10 thunk_to_STL_string_dtor_0101b830 stl Wrapper that calls STL_string_dtor and returns 0x0101B840 10 thunk_to_STL_string_dtor_0101b840 stl Wrapper that calls STL_string_dtor and returns 0x0101B850 10 thunk_to_STL_string_dtor_0101b850 stl Wrapper that calls STL_string_dtor and returns 0x0101B860 10 thunk_to_STL_string_dtor_0101b860 stl Wrapper that calls STL_string_dtor and returns 0x0101B870 10 thunk_to_STL_string_dtor_0101b870 stl Wrapper that calls STL_string_dtor and returns 0x0101B880 10 thunk_to_STL_string_dtor_0101b880 stl Wrapper that calls STL_string_dtor and returns 0x0101B890 10 thunk_to_STL_string_dtor_0101b890 stl Wrapper that calls STL_string_dtor and returns 0x0101B8A0 10 thunk_to_STL_string_dtor_0101b8a0 stl Wrapper that calls STL_string_dtor and returns 0x0101B8B0 10 thunk_to_STL_string_dtor_0101b8b0 stl Wrapper that calls STL_string_dtor and returns 0x0101B8C0 10 thunk_to_STL_string_dtor_0101b8c0 stl Wrapper that calls STL_string_dtor and returns 0x0101B8D0 10 thunk_to_STL_string_dtor_0101b8d0 stl Wrapper that calls STL_string_dtor and returns 0x0101B8E0 10 thunk_to_STL_string_dtor_0101b8e0 stl Wrapper that calls STL_string_dtor and returns 0x0101B8F0 10 thunk_to_STL_string_dtor_0101b8f0 stl Wrapper that calls STL_string_dtor and returns 0x0101B900 10 thunk_to_STL_string_dtor_0101b900 stl Wrapper that calls STL_string_dtor and returns 0x0101B910 10 thunk_to_STL_string_dtor_0101b910 stl Wrapper that calls STL_string_dtor and returns 0x0101B920 10 thunk_to_STL_string_dtor_0101b920 stl Wrapper that calls STL_string_dtor and returns 0x0101B930 10 thunk_to_STL_string_dtor_0101b930 stl Wrapper that calls STL_string_dtor and returns 0x0101B940 10 thunk_to_STL_string_dtor_0101b940 stl Wrapper that calls STL_string_dtor and returns 0x0101B950 10 thunk_to_STL_string_dtor_0101b950 stl Wrapper that calls STL_string_dtor and returns 0x0101B960 10 thunk_to_STL_string_dtor_0101b960 stl Wrapper that calls STL_string_dtor and returns 0x0101B970 10 thunk_to_STL_string_dtor_0101b970 stl Wrapper that calls STL_string_dtor and returns 0x0101B980 10 thunk_to_STL_string_dtor_0101b980 stl Wrapper that calls STL_string_dtor and returns 0x0101B990 10 thunk_to_STL_string_dtor_0101b990 stl Wrapper that calls STL_string_dtor and returns 0x0101B9A0 10 thunk_to_STL_string_dtor_0101b9a0 stl Wrapper that calls STL_string_dtor and returns 0x0101BA20 280 atexit_unregister_window_classes_0101ba20 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101BB40 66 atexit_destroy_STL_map_0101bb40 crt SEH-protected atexit destructor that calls STL_map_destroy. 0x0101BB90 69 tls_clear_byte_array_0101bb90 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BBE0 69 tls_clear_byte_array_0101bbe0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BC30 69 tls_clear_byte_array_0101bc30 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BC80 69 tls_clear_byte_array_0101bc80 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BCD0 69 tls_clear_byte_array_0101bcd0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BD20 69 tls_clear_byte_array_0101bd20 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BD70 69 tls_clear_byte_array_0101bd70 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BDC0 69 tls_clear_byte_array_0101bdc0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BE10 69 tls_clear_byte_array_0101be10 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BE60 69 tls_clear_byte_array_0101be60 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BEB0 69 tls_clear_byte_array_0101beb0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BF00 69 tls_clear_byte_array_0101bf00 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BF50 69 tls_clear_byte_array_0101bf50 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101BFA0 10 thunk_to_STL_string_dtor_0101bfa0 stl Wrapper that calls STL_string_dtor and returns 0x0101BFB0 10 thunk_to_STL_string_dtor_0101bfb0 stl Wrapper that calls STL_string_dtor and returns 0x0101BFC0 10 thunk_to_STL_string_dtor_0101bfc0 stl Wrapper that calls STL_string_dtor and returns 0x0101BFD0 10 thunk_to_STL_string_dtor_0101bfd0 stl Wrapper that calls STL_string_dtor and returns 0x0101BFE0 10 thunk_to_STL_string_dtor_0101bfe0 stl Wrapper that calls STL_string_dtor and returns 0x0101BFF0 10 thunk_to_STL_string_dtor_0101bff0 stl Wrapper that calls STL_string_dtor and returns 0x0101C000 10 thunk_to_STL_string_dtor_0101c000 stl Wrapper that calls STL_string_dtor and returns 0x0101C010 10 thunk_to_STL_string_dtor_0101c010 stl Wrapper that calls STL_string_dtor and returns 0x0101C020 10 thunk_to_STL_string_dtor_0101c020 stl Wrapper that calls STL_string_dtor and returns 0x0101C030 10 thunk_to_STL_string_dtor_0101c030 stl Wrapper that calls STL_string_dtor destructor 0x0101C040 10 thunk_to_STL_string_dtor_0101c040 stl Wrapper that calls STL_string_dtor and returns 0x0101C050 10 thunk_to_STL_string_dtor_0101c050 stl Wrapper that calls STL_string_dtor and returns 0x0101C060 10 thunk_to_STL_string_dtor_0101c060 stl Wrapper that calls STL_string_dtor and returns 0x0101C070 10 thunk_to_STL_string_dtor_0101c070 stl Wrapper that calls STL_string_dtor and returns 0x0101C080 10 thunk_to_STL_string_dtor_0101c080 stl Wrapper that calls STL_string_dtor and returns 0x0101C090 10 thunk_to_STL_string_dtor_0101c090 stl Wrapper that calls STL_string_dtor and returns 0x0101C0A0 10 thunk_to_STL_string_dtor_0101c0a0 stl Wrapper that calls STL_string_dtor and returns 0x0101C0B0 10 thunk_to_STL_string_dtor_0101c0b0 stl Wrapper that calls STL_string_dtor and returns 0x0101C0C0 10 thunk_to_STL_string_dtor_0101c0c0 stl Wrapper that calls STL_string_dtor and returns 0x0101C0D0 10 thunk_to_STL_string_dtor_0101c0d0 stl Wrapper that calls STL_string_dtor and returns 0x0101C0E0 10 thunk_to_STL_string_dtor_0101c0e0 stl Wrapper that calls STL_string_dtor and returns 0x0101C0F0 10 thunk_to_STL_string_dtor_0101c0f0 stl Wrapper that calls STL_string_dtor and returns 0x0101C100 10 thunk_to_STL_string_dtor_0101c100 stl Wrapper that calls STL_string_dtor and returns 0x0101C110 10 thunk_to_STL_string_dtor_0101c110 stl Wrapper that calls STL_string_dtor and returns 0x0101C120 10 thunk_to_STL_string_dtor_0101c120 stl Wrapper calling STL_string_dtor destructor 0x0101C1A0 280 atexit_unregister_window_classes_0101c1a0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101C2C0 66 atexit_destroy_STL_map_0101c2c0 crt SEH-protected atexit destructor that calls STL_map_destroy. 0x0101C310 69 tls_clear_byte_array_0101c310 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C360 69 tls_clear_byte_array_0101c360 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C3B0 69 tls_clear_byte_array_0101c3b0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C400 69 tls_clear_byte_array_0101c400 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C450 69 tls_clear_byte_array_0101c450 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C4A0 69 tls_clear_byte_array_0101c4a0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C4F0 69 tls_clear_byte_array_0101c4f0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C540 69 tls_clear_byte_array_0101c540 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C590 69 tls_clear_byte_array_0101c590 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C650 280 atexit_unregister_window_classes_0101c650 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101C770 69 tls_clear_byte_array_0101c770 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C7C0 69 tls_clear_byte_array_0101c7c0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C810 69 tls_clear_byte_array_0101c810 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C860 69 tls_clear_byte_array_0101c860 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C8B0 69 tls_clear_byte_array_0101c8b0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C900 69 tls_clear_byte_array_0101c900 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C950 69 tls_clear_byte_array_0101c950 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C9A0 69 tls_clear_byte_array_0101c9a0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101C9F0 69 tls_clear_byte_array_0101c9f0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CAB0 280 atexit_unregister_window_classes_0101cab0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101CBD0 69 tls_clear_byte_array_0101cbd0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CC20 69 tls_clear_byte_array_0101cc20 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CC70 69 tls_clear_byte_array_0101cc70 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CCC0 69 tls_clear_byte_array_0101ccc0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CD10 69 tls_clear_byte_array_0101cd10 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CD60 69 tls_clear_byte_array_0101cd60 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CDB0 69 tls_clear_byte_array_0101cdb0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CE00 69 tls_clear_byte_array_0101ce00 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CE50 69 tls_clear_byte_array_0101ce50 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CEA0 69 tls_clear_byte_array_0101cea0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CEF0 69 tls_clear_byte_array_0101cef0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CF40 69 tls_clear_byte_array_0101cf40 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CF90 69 tls_clear_byte_array_0101cf90 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101CFE0 69 tls_clear_byte_array_0101cfe0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D030 69 tls_clear_byte_array_0101d030 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D080 69 tls_clear_byte_array_0101d080 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D0D0 69 tls_clear_byte_array_0101d0d0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D120 69 tls_clear_byte_array_0101d120 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D170 69 tls_clear_byte_array_0101d170 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D1C0 69 tls_clear_byte_array_0101d1c0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D210 69 tls_clear_byte_array_0101d210 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D260 69 tls_clear_byte_array_0101d260 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D2B0 10 thunk_to_STL_string_dtor_0101d2b0 stl Wrapper that calls STL_string_dtor and returns 0x0101D2C0 10 thunk_to_STL_string_dtor_0101d2c0 stl Wrapper that calls STL_string_dtor and returns 0x0101D2D0 10 thunk_to_STL_string_dtor_0101d2d0 stl Wrapper that calls STL_string_dtor and returns 0x0101D2E0 10 thunk_to_STL_string_dtor_0101d2e0 stl Wrapper that calls STL_string_dtor and returns 0x0101D2F0 10 thunk_to_STL_string_dtor_0101d2f0 stl Wrapper that calls STL_string_dtor and returns 0x0101D300 10 thunk_to_STL_string_dtor_0101d300 stl Wrapper that calls STL_string_dtor and returns 0x0101D310 10 thunk_to_STL_string_dtor_0101d310 stl Wrapper that calls STL_string_dtor and returns 0x0101D320 10 thunk_to_STL_string_dtor_0101d320 stl Wrapper that calls STL_string_dtor and returns 0x0101D330 10 thunk_to_STL_string_dtor_0101d330 stl Wrapper that calls STL_string_dtor and returns 0x0101D340 10 thunk_to_STL_string_dtor_0101d340 stl Wrapper that calls STL_string_dtor and returns 0x0101D350 10 thunk_to_STL_string_dtor_0101d350 stl Wrapper that calls STL_string_dtor and returns 0x0101D360 10 thunk_to_STL_string_dtor_0101d360 stl Wrapper that calls STL_string_dtor and returns 0x0101D370 10 thunk_to_STL_string_dtor_0101d370 stl Wrapper function that calls STL_string_dtor and returns 0x0101D380 10 thunk_to_STL_string_dtor_0101d380 stl Wrapper that calls STL_string_dtor and returns 0x0101D390 10 thunk_to_STL_string_dtor_0101d390 stl Wrapper that calls STL_string_dtor and returns 0x0101D3A0 10 thunk_to_STL_string_dtor_0101d3a0 stl Wrapper that calls STL_string_dtor and returns 0x0101D3B0 10 thunk_to_STL_string_dtor_0101d3b0 stl Wrapper that calls STL_string_dtor and returns 0x0101D3C0 10 thunk_to_STL_string_dtor_0101d3c0 stl Wrapper that calls STL_string_dtor and returns 0x0101D3D0 10 thunk_to_STL_string_dtor_0101d3d0 stl Wrapper that calls STL_string_dtor and returns 0x0101D3E0 10 thunk_to_STL_string_dtor_0101d3e0 stl Wrapper that calls STL_string_dtor and returns 0x0101D3F0 10 thunk_to_STL_string_dtor_0101d3f0 stl Wrapper function that calls STL_string_dtor and returns 0x0101D400 10 thunk_to_STL_string_dtor_0101d400 stl Wrapper that calls STL_string_dtor and returns 0x0101D410 10 thunk_to_STL_string_dtor_0101d410 stl Wrapper function that calls STL_string_dtor and returns 0x0101D420 10 thunk_to_STL_string_dtor_0101d420 stl Wrapper that calls STL_string_dtor and returns 0x0101D430 10 thunk_to_STL_string_dtor_0101d430 stl Wrapper that calls STL_string_dtor and returns 0x0101D4B0 280 atexit_unregister_window_classes_0101d4b0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101D5D0 66 atexit_destroy_STL_map_0101d5d0 crt SEH-protected atexit destructor that calls STL_map_destroy. 0x0101D620 69 tls_clear_byte_array_0101d620 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D670 69 tls_clear_byte_array_0101d670 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D6C0 69 tls_clear_byte_array_0101d6c0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D710 69 tls_clear_byte_array_0101d710 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D760 69 tls_clear_byte_array_0101d760 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D7B0 69 tls_clear_byte_array_0101d7b0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D800 69 tls_clear_byte_array_0101d800 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D850 69 tls_clear_byte_array_0101d850 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D8A0 69 tls_clear_byte_array_0101d8a0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D8F0 69 tls_clear_byte_array_0101d8f0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D940 69 tls_clear_byte_array_0101d940 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D990 69 tls_clear_byte_array_0101d990 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101D9E0 69 tls_clear_byte_array_0101d9e0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DA30 69 tls_clear_byte_array_0101da30 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DA80 69 tls_clear_byte_array_0101da80 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DAD0 69 tls_clear_byte_array_0101dad0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DB20 69 tls_clear_byte_array_0101db20 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DB70 69 tls_clear_byte_array_0101db70 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DBC0 69 tls_clear_byte_array_0101dbc0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DC10 69 tls_clear_byte_array_0101dc10 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DC60 69 tls_clear_byte_array_0101dc60 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DCB0 69 tls_clear_byte_array_0101dcb0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DD00 69 tls_clear_byte_array_0101dd00 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DD50 69 tls_clear_byte_array_0101dd50 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DDA0 69 tls_clear_byte_array_0101dda0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101DDF0 10 thunk_to_STL_string_dtor_0101ddf0 stl Wrapper that calls STL_string_dtor and returns 0x0101DE00 10 thunk_to_STL_string_dtor_0101de00 stl Wrapper that calls STL_string_dtor and returns 0x0101DE10 10 thunk_to_STL_string_dtor_0101de10 stl Wrapper that calls STL_string_dtor and returns 0x0101DE20 10 thunk_to_STL_string_dtor_0101de20 stl Wrapper that calls STL_string_dtor and returns 0x0101DE30 10 thunk_to_STL_string_dtor_0101de30 stl Wrapper that calls STL_string_dtor and returns 0x0101DE40 10 thunk_to_STL_string_dtor_0101de40 stl Wrapper that calls STL_string_dtor and returns 0x0101DE50 10 thunk_to_STL_string_dtor_0101de50 stl Wrapper that calls STL_string_dtor and returns 0x0101DE60 10 thunk_to_STL_string_dtor_0101de60 stl Wrapper that calls STL_string_dtor and returns 0x0101DE70 10 thunk_to_STL_string_dtor_0101de70 stl Wrapper that calls STL_string_dtor and returns immediately 0x0101DE80 10 thunk_to_STL_string_dtor_0101de80 stl Wrapper that calls STL_string_dtor and returns 0x0101DE90 10 thunk_to_STL_string_dtor_0101de90 stl Wrapper that calls STL_string_dtor and returns 0x0101DEA0 10 thunk_to_STL_string_dtor_0101dea0 stl Wrapper that calls STL_string_dtor and returns 0x0101DEB0 10 thunk_to_STL_string_dtor_0101deb0 stl Wrapper that calls STL_string_dtor and returns 0x0101DEC0 10 thunk_to_STL_string_dtor_0101dec0 stl Wrapper that calls STL_string_dtor and returns 0x0101DED0 10 thunk_to_STL_string_dtor_0101ded0 stl Wrapper that calls STL_string_dtor and returns 0x0101DEE0 10 thunk_to_STL_string_dtor_0101dee0 stl Wrapper that calls STL_string_dtor and returns 0x0101DEF0 10 thunk_to_STL_string_dtor_0101def0 stl Wrapper that calls STL_string_dtor and returns 0x0101DF00 10 thunk_to_STL_string_dtor_0101df00 stl Wrapper that calls STL_string_dtor and returns 0x0101DF10 10 thunk_to_STL_string_dtor_0101df10 stl Wrapper function that calls STL_string_dtor and returns 0x0101DF20 10 thunk_to_STL_string_dtor_0101df20 stl Wrapper that calls STL_string_dtor and returns 0x0101DF30 10 thunk_to_STL_string_dtor_0101df30 stl Wrapper that calls STL_string_dtor and returns 0x0101DF40 10 thunk_to_STL_string_dtor_0101df40 stl Wrapper function that calls STL_string_dtor and returns 0x0101DF50 10 thunk_to_STL_string_dtor_0101df50 stl Wrapper that calls STL_string_dtor and returns 0x0101DF60 10 thunk_to_STL_string_dtor_0101df60 stl Wrapper that calls STL_string_dtor and returns 0x0101DF70 10 thunk_to_STL_string_dtor_0101df70 stl Wrapper that calls STL_string_dtor and returns 0x0101DFF0 280 atexit_unregister_window_classes_0101dff0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101E110 66 atexit_destroy_STL_map_0101e110 crt SEH-protected atexit destructor that calls STL_map_destroy. 0x0101E160 69 tls_clear_byte_array_0101e160 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101E1B0 69 tls_clear_byte_array_0101e1b0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101E200 69 tls_clear_byte_array_0101e200 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101E250 69 tls_clear_byte_array_0101e250 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101E2A0 69 tls_clear_byte_array_0101e2a0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101E2F0 69 tls_clear_byte_array_0101e2f0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101E340 69 tls_clear_byte_array_0101e340 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101E390 69 tls_clear_byte_array_0101e390 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101E3E0 69 tls_clear_byte_array_0101e3e0 crt TLS field initializer: zeros bytes at a TLS offset via FS:[0x2c]. 0x0101E4A0 280 atexit_unregister_window_classes_0101e4a0 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101E630 280 atexit_unregister_window_classes_0101e630 crt SEH-protected atexit handler that unregisters Win32 window classes, frees atom class array, deletes critical section. 0x0101E750 10 thunk_to_STL_string_dtor_0101e750 stl Wrapper that calls STL_string_dtor and returns 0x0101E760 10 thunk_to_STL_string_dtor_0101e760 stl Wrapper that calls STL_string_dtor and returns 0x0101E770 10 thunk_to_STL_string_dtor_0101e770 stl Wrapper that calls STL_string_dtor and returns 0x0101E780 10 thunk_to_STL_string_dtor_0101e780 stl Wrapper that calls STL_string_dtor and returns 0x0101E790 10 thunk_to_STL_string_dtor_0101e790 stl Wrapper that calls STL_string_dtor and returns 0x0101E7A0 10 thunk_to_STL_string_dtor_0101e7a0 stl Wrapper that calls STL_string_dtor and returns 0x0101E7B0 10 thunk_to_STL_string_dtor_0101e7b0 stl Wrapper that calls STL_string_dtor and returns 0x0101E7C0 10 thunk_to_STL_string_dtor_0101e7c0 stl Wrapper that calls STL_string_dtor and returns 0x0101E7D0 10 thunk_to_STL_string_dtor_0101e7d0 stl Wrapper that calls STL_string_dtor and returns 0x0101E7E0 10 thunk_to_STL_string_dtor_0101e7e0 stl Wrapper that calls STL_string_dtor and returns 0x0101E7F0 10 thunk_to_STL_string_dtor_0101e7f0 stl Wrapper that calls STL_string_dtor and returns 0x0101E800 10 thunk_to_STL_string_dtor_0101e800 stl Wrapper that calls STL_string_dtor and returns 0x0101E810 10 thunk_to_STL_string_dtor_0101e810 stl Wrapper that calls STL_string_dtor and returns 0x0101E820 10 thunk_to_STL_string_dtor_0101e820 stl Wrapper that calls STL_string_dtor and returns 0x0101E830 10 thunk_to_STL_string_dtor_0101e830 stl Wrapper that calls STL_string_dtor and returns 0x0101E840 10 thunk_to_STL_string_dtor_0101e840 stl Wrapper that calls STL_string_dtor and returns 0x0101E850 10 thunk_to_STL_string_dtor_0101e850 stl Wrapper that calls STL_string_dtor and returns 0x0101E860 10 thunk_to_STL_string_dtor_0101e860 stl Wrapper that calls STL_string_dtor and returns 0x0101E870 10 thunk_to_STL_string_dtor_0101e870 stl Wrapper that calls STL_string_dtor and returns 0x0101E880 10 thunk_to_STL_string_dtor_0101e880 stl Wrapper that calls STL_string_dtor and returns 0x0101E890 10 thunk_to_STL_string_dtor_0101e890 stl Wrapper that calls STL_string_dtor and returns 0x0101E8A0 10 thunk_to_STL_string_dtor_0101e8a0 stl Wrapper that calls STL_string_dtor and returns 0x0101E8B0 10 thunk_to_STL_string_dtor_0101e8b0 stl Wrapper that calls STL_string_dtor and returns 0x0101E8C0 10 thunk_to_STL_string_dtor_0101e8c0 stl Wrapper that calls STL_string_dtor and returns 0x0101E8D0 10 thunk_to_STL_string_dtor_0101e8d0 stl Wrapper that calls STL_string_dtor and returns 0x0101E950 280 atexit_unregister_window_classes_0101e950 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0101EA70 66 atexit_STL_map_destroy_wrapper_0101ea70 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x0101EAC0 10 thunk_to_STL_string_dtor_0101eac0 stl Wrapper that calls STL_string_dtor and returns 0x0101EAD0 10 thunk_to_STL_string_dtor_0101ead0 stl Wrapper that calls STL_string_dtor and returns 0x0101EAE0 10 thunk_to_STL_string_dtor_0101eae0 stl Wrapper that calls STL_string_dtor and returns 0x0101EAF0 10 thunk_to_STL_string_dtor_0101eaf0 stl Wrapper that calls STL_string_dtor and returns 0x0101EB00 10 thunk_to_STL_string_dtor_0101eb00 stl Wrapper that calls STL_string_dtor and returns 0x0101EB10 10 thunk_to_STL_string_dtor_0101eb10 stl Wrapper that calls STL_string_dtor and returns 0x0101EB20 10 thunk_to_STL_string_dtor_0101eb20 stl Wrapper that calls STL_string_dtor and returns 0x0101EB30 10 thunk_to_STL_string_dtor_0101eb30 stl Wrapper that calls STL_string_dtor and returns 0x0101EB40 10 thunk_to_STL_string_dtor_0101eb40 stl Wrapper that calls STL_string_dtor and returns 0x0101EB50 10 thunk_to_STL_string_dtor_0101eb50 stl Wrapper that calls STL_string_dtor and returns 0x0101EB60 10 thunk_to_STL_string_dtor_0101eb60 stl Wrapper that calls STL_string_dtor and returns 0x0101EB70 10 thunk_to_STL_string_dtor_0101eb70 stl Wrapper that calls STL_string_dtor and returns 0x0101EB80 10 thunk_to_STL_string_dtor_0101eb80 stl Wrapper that calls STL_string_dtor and returns 0x0101EB90 10 thunk_to_STL_string_dtor_0101eb90 stl Wrapper that calls STL_string_dtor and returns 0x0101EBA0 10 thunk_to_STL_string_dtor_0101eba0 stl Wrapper that calls STL_string_dtor and returns 0x0101EBB0 10 thunk_to_STL_string_dtor_0101ebb0 stl Wrapper that calls STL_string_dtor and returns 0x0101EBC0 10 thunk_to_STL_string_dtor_0101ebc0 stl Wrapper that calls STL_string_dtor and returns 0x0101EBD0 10 thunk_to_STL_string_dtor_0101ebd0 stl Wrapper that calls STL_string_dtor and returns 0x0101EBE0 10 thunk_to_STL_string_dtor_0101ebe0 stl Wrapper that calls STL_string_dtor and returns 0x0101EBF0 10 thunk_to_STL_string_dtor_0101ebf0 stl Wrapper that calls STL_string_dtor and returns 0x0101EC00 10 thunk_to_STL_string_dtor_0101ec00 stl Wrapper that calls STL_string_dtor and returns 0x0101EC10 10 thunk_to_STL_string_dtor_0101ec10 stl Wrapper that calls STL_string_dtor and returns 0x0101EC20 10 thunk_to_STL_string_dtor_0101ec20 stl Wrapper that calls STL_string_dtor and returns immediately 0x0101EC30 10 thunk_to_STL_string_dtor_0101ec30 stl Wrapper that calls STL_string_dtor and returns 0x0101EC40 10 thunk_to_STL_string_dtor_0101ec40 stl Wrapper that calls STL_string_dtor and returns 0x0101ECC0 280 atexit_unregister_window_classes_0101ecc0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0101EDE0 66 atexit_STL_map_destroy_wrapper_0101ede0 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x0101EE30 10 thunk_to_STL_string_dtor_0101ee30 stl Wrapper that calls STL_string_dtor and returns 0x0101EE40 10 thunk_to_STL_string_dtor_0101ee40 stl Wrapper that calls STL_string_dtor and returns 0x0101EE50 10 thunk_to_STL_string_dtor_0101ee50 stl Wrapper that calls STL_string_dtor and returns 0x0101EE60 10 thunk_to_STL_string_dtor_0101ee60 stl Wrapper that calls STL_string_dtor and returns 0x0101EE70 10 thunk_to_STL_string_dtor_0101ee70 stl Wrapper that calls STL_string_dtor and returns 0x0101EE80 10 thunk_to_STL_string_dtor_0101ee80 stl Wrapper that calls STL_string_dtor and returns 0x0101EE90 10 thunk_to_STL_string_dtor_0101ee90 stl Wrapper that calls STL_string_dtor and returns 0x0101EEA0 10 thunk_to_STL_string_dtor_0101eea0 stl Wrapper that calls STL_string_dtor and returns 0x0101EEB0 10 thunk_to_STL_string_dtor_0101eeb0 stl Wrapper that calls STL_string_dtor and returns 0x0101EEC0 10 thunk_to_STL_string_dtor_0101eec0 stl Wrapper that calls STL_string_dtor and returns 0x0101EED0 10 thunk_to_STL_string_dtor_0101eed0 stl Wrapper that calls STL_string_dtor and returns 0x0101EEE0 10 thunk_to_STL_string_dtor_0101eee0 stl Wrapper that calls STL_string_dtor and returns 0x0101EEF0 10 thunk_to_STL_string_dtor_0101eef0 stl Wrapper that calls STL_string_dtor and returns 0x0101EF00 10 thunk_to_STL_string_dtor_0101ef00 stl Wrapper that calls STL_string_dtor and returns 0x0101EF10 10 thunk_to_STL_string_dtor_0101ef10 stl Wrapper that calls STL_string_dtor and returns 0x0101EF20 10 thunk_to_STL_string_dtor_0101ef20 stl Wrapper that calls STL_string_dtor and returns 0x0101EF30 10 thunk_to_STL_string_dtor_0101ef30 stl Wrapper that calls STL_string_dtor and returns 0x0101EF40 10 thunk_to_STL_string_dtor_0101ef40 stl Wrapper that calls STL_string_dtor and returns immediately 0x0101EF50 10 thunk_to_STL_string_dtor_0101ef50 stl Wrapper that calls STL_string_dtor and returns 0x0101EF60 10 thunk_to_STL_string_dtor_0101ef60 stl Wrapper that calls STL_string_dtor and returns 0x0101EF70 10 thunk_to_STL_string_dtor_0101ef70 stl Wrapper that calls STL_string_dtor and returns 0x0101EF80 10 thunk_to_STL_string_dtor_0101ef80 stl Wrapper that calls STL_string_dtor and returns 0x0101EF90 10 thunk_to_STL_string_dtor_0101ef90 stl Wrapper that calls STL_string_dtor and returns 0x0101EFA0 10 thunk_to_STL_string_dtor_0101efa0 stl Wrapper that calls STL_string_dtor and returns 0x0101EFB0 10 thunk_to_STL_string_dtor_0101efb0 stl Wrapper that calls STL_string_dtor and returns 0x0101F030 280 atexit_unregister_window_classes_0101f030 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0101F150 66 atexit_STL_map_destroy_wrapper_0101f150 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x0101F1A0 10 thunk_to_STL_string_dtor_0101f1a0 stl Wrapper that calls STL_string_dtor and returns 0x0101F1B0 10 thunk_to_STL_string_dtor_0101f1b0 stl Wrapper that calls STL_string_dtor and returns 0x0101F1C0 10 thunk_to_STL_string_dtor_0101f1c0 stl Wrapper that calls STL_string_dtor and returns 0x0101F1D0 10 thunk_to_STL_string_dtor_0101f1d0 stl Wrapper that calls STL_string_dtor and returns 0x0101F1E0 10 thunk_to_STL_string_dtor_0101f1e0 stl Wrapper that calls STL_string_dtor and returns 0x0101F1F0 10 thunk_to_STL_string_dtor_0101f1f0 stl Wrapper that calls STL_string_dtor and returns 0x0101F200 10 thunk_to_STL_string_dtor_0101f200 stl Wrapper that calls STL_string_dtor and returns 0x0101F210 10 thunk_to_STL_string_dtor_0101f210 stl Wrapper that calls STL_string_dtor and returns 0x0101F220 10 thunk_to_STL_string_dtor_0101f220 stl Wrapper that calls STL_string_dtor and returns 0x0101F230 10 thunk_to_STL_string_dtor_0101f230 stl Wrapper that calls STL_string_dtor and returns 0x0101F240 10 thunk_to_STL_string_dtor_0101f240 stl Wrapper that calls STL_string_dtor and returns 0x0101F250 10 thunk_to_STL_string_dtor_0101f250 stl Wrapper that calls STL_string_dtor and returns 0x0101F260 10 thunk_to_STL_string_dtor_0101f260 stl Wrapper that calls STL_string_dtor and returns 0x0101F270 10 thunk_to_STL_string_dtor_0101f270 stl Wrapper that calls STL_string_dtor and returns 0x0101F280 10 thunk_to_STL_string_dtor_0101f280 stl Wrapper function that calls STL_string_dtor and returns 0x0101F290 10 thunk_to_STL_string_dtor_0101f290 stl Wrapper that calls STL_string_dtor and returns 0x0101F2A0 10 thunk_to_STL_string_dtor_0101f2a0 stl Wrapper that calls STL_string_dtor and returns 0x0101F2B0 10 thunk_to_STL_string_dtor_0101f2b0 stl Wrapper that calls STL_string_dtor and returns 0x0101F2C0 10 thunk_to_STL_string_dtor_0101f2c0 stl Wrapper that calls STL_string_dtor and returns 0x0101F2D0 10 thunk_to_STL_string_dtor_0101f2d0 stl Wrapper that calls STL_string_dtor and returns 0x0101F2E0 10 thunk_to_STL_string_dtor_0101f2e0 stl Wrapper that calls STL_string_dtor and returns 0x0101F2F0 10 thunk_to_STL_string_dtor_0101f2f0 stl Wrapper that calls STL_string_dtor and returns 0x0101F300 10 thunk_to_STL_string_dtor_0101f300 stl Wrapper that calls STL_string_dtor and returns 0x0101F310 10 thunk_to_STL_string_dtor_0101f310 stl Wrapper that calls STL_string_dtor and returns 0x0101F320 10 thunk_to_STL_string_dtor_0101f320 stl Wrapper that calls STL_string_dtor and returns 0x0101F3A0 280 atexit_unregister_window_classes_0101f3a0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0101F4C0 66 atexit_STL_map_destroy_wrapper_0101f4c0 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x0101F580 280 atexit_unregister_window_classes_0101f580 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0101F6A0 69 tls_clear_byte_array_0101f6a0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101F6F0 69 tls_clear_byte_array_0101f6f0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101F740 69 tls_clear_byte_array_0101f740 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101F790 69 tls_clear_byte_array_0101f790 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101F7E0 69 tls_clear_byte_array_0101f7e0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101F830 69 tls_clear_byte_array_0101f830 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101F880 69 tls_clear_byte_array_0101f880 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101F8D0 69 tls_clear_byte_array_0101f8d0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101F920 66 atexit_CRenderPipeline_destroy_wrapper crt SEH-protected atexit wrapper that calls CRenderPipeline__destroy_linked_list_and_vector to clean up render pipeline resources. 0x0101F970 10 thunk_to_STL_string_dtor_0101f970 stl Wrapper calling STL_string_dtor destructor 0x0101F980 10 thunk_to_STL_string_dtor_0101f980 stl Wrapper that calls STL_string_dtor and returns 0x0101F990 10 thunk_to_STL_string_dtor_0101f990 stl Wrapper that calls STL_string_dtor and returns 0x0101F9A0 10 thunk_to_STL_string_dtor_0101f9a0 stl Wrapper calling STL string destructor 0x0101F9B0 10 thunk_to_STL_string_dtor_0101f9b0 stl Wrapper that calls STL_string_dtor and returns 0x0101F9C0 10 thunk_to_STL_string_dtor_0101f9c0 stl Wrapper that calls STL_string_dtor and returns 0x0101F9D0 10 thunk_to_STL_string_dtor_0101f9d0 stl Wrapper that calls STL_string_dtor and returns 0x0101F9E0 10 thunk_to_STL_string_dtor_0101f9e0 stl Wrapper that calls STL_string_dtor and returns 0x0101F9F0 10 thunk_to_STL_string_dtor_0101f9f0 stl Wrapper that calls STL_string_dtor and returns 0x0101FA00 10 thunk_to_STL_string_dtor_0101fa00 stl Wrapper that calls STL_string_dtor and returns 0x0101FA10 10 thunk_to_STL_string_dtor_0101fa10 stl Wrapper that calls STL_string_dtor and returns 0x0101FA20 10 thunk_to_STL_string_dtor_0101fa20 stl Wrapper that calls STL_string_dtor and returns 0x0101FA30 10 thunk_to_STL_string_dtor_0101fa30 stl Wrapper that calls STL_string_dtor and returns 0x0101FA40 10 thunk_to_STL_string_dtor_0101fa40 stl Wrapper that calls STL_string_dtor and returns 0x0101FA50 10 thunk_to_STL_string_dtor_0101fa50 stl Wrapper that calls STL_string_dtor and returns 0x0101FA60 10 thunk_to_STL_string_dtor_0101fa60 stl Wrapper that calls STL_string_dtor and returns 0x0101FA70 10 thunk_to_STL_string_dtor_0101fa70 stl Wrapper that calls STL_string_dtor and returns 0x0101FA80 10 thunk_to_STL_string_dtor_0101fa80 stl Wrapper that calls STL_string_dtor and returns 0x0101FA90 10 thunk_to_STL_string_dtor_0101fa90 stl Wrapper that calls STL_string_dtor and returns 0x0101FAA0 10 thunk_to_STL_string_dtor_0101faa0 stl Wrapper that calls STL_string_dtor and returns 0x0101FAB0 10 thunk_to_STL_string_dtor_0101fab0 stl Wrapper that calls STL_string_dtor and returns 0x0101FAC0 10 thunk_to_STL_string_dtor_0101fac0 stl Wrapper that calls STL_string_dtor and returns 0x0101FAD0 10 thunk_to_STL_string_dtor_0101fad0 stl Wrapper that calls STL_string_dtor and returns 0x0101FAE0 10 thunk_to_STL_string_dtor_0101fae0 stl Wrapper that calls STL_string_dtor and returns 0x0101FAF0 10 thunk_to_STL_string_dtor_0101faf0 stl Wrapper that calls STL_string_dtor and returns 0x0101FB70 280 atexit_unregister_window_classes_0101fb70 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0101FC90 66 atexit_STL_map_destroy_wrapper_0101fc90 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x0101FCE0 69 tls_clear_byte_array_0101fce0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101FD30 69 tls_clear_byte_array_0101fd30 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101FDF0 280 atexit_unregister_window_classes_0101fdf0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0101FF10 69 tls_clear_byte_array_0101ff10 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101FF60 69 tls_clear_byte_array_0101ff60 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x0101FFB0 69 tls_clear_byte_array_0101ffb0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020000 69 tls_clear_byte_array_01020000 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020050 69 tls_clear_byte_array_01020050 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010200A0 69 tls_clear_byte_array_010200a0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010200F0 69 tls_clear_byte_array_010200f0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020140 69 tls_clear_byte_array_01020140 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020190 69 tls_clear_byte_array_01020190 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010201E0 69 tls_clear_byte_array_010201e0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010202A0 280 atexit_unregister_window_classes_010202a0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01020430 280 atexit_unregister_window_classes_01020430 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010205C0 280 atexit_unregister_window_classes_010205c0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010206E0 69 tls_clear_byte_array_010206e0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020730 69 tls_clear_byte_array_01020730 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020780 69 tls_clear_byte_array_01020780 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010207D0 69 tls_clear_byte_array_010207d0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020820 69 tls_clear_byte_array_01020820 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020870 69 tls_clear_byte_array_01020870 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010208C0 69 tls_clear_byte_array_010208c0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020910 69 tls_clear_byte_array_01020910 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020960 69 tls_clear_byte_array_01020960 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010209B0 69 tls_clear_byte_array_010209b0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020A00 10 thunk_to_STL_string_dtor_01020a00 stl Wrapper that calls STL_string_dtor and returns 0x01020A10 10 thunk_to_STL_string_dtor_01020a10 stl Wrapper that calls STL_string_dtor and returns 0x01020A20 10 thunk_to_STL_string_dtor_01020a20 stl Wrapper that calls STL_string_dtor and returns 0x01020A30 10 thunk_to_STL_string_dtor_01020a30 stl Wrapper that calls STL_string_dtor and returns 0x01020A40 10 thunk_to_STL_string_dtor_01020a40 stl Wrapper that calls STL_string_dtor and returns 0x01020A50 10 thunk_to_STL_string_dtor_01020a50 stl Wrapper that calls STL_string_dtor and returns 0x01020A60 10 thunk_to_STL_string_dtor_01020a60 stl Wrapper that calls STL_string_dtor and returns 0x01020A70 10 thunk_to_STL_string_dtor_01020a70 stl Wrapper that calls STL_string_dtor and returns 0x01020A80 10 thunk_to_STL_string_dtor_01020a80 stl Wrapper that calls STL_string_dtor and returns 0x01020A90 10 thunk_to_STL_string_dtor_01020a90 stl Wrapper that calls STL_string_dtor and returns 0x01020AA0 10 thunk_to_STL_string_dtor_01020aa0 stl Wrapper that calls STL_string_dtor and returns 0x01020AB0 10 thunk_to_STL_string_dtor_01020ab0 stl Wrapper that calls STL_string_dtor and returns 0x01020AC0 10 thunk_to_STL_string_dtor_01020ac0 stl Wrapper that calls STL_string_dtor and returns 0x01020AD0 10 thunk_to_STL_string_dtor_01020ad0 stl Wrapper that calls STL_string_dtor and returns 0x01020AE0 10 thunk_to_STL_string_dtor_01020ae0 stl Wrapper that calls STL_string_dtor and returns 0x01020AF0 10 thunk_to_STL_string_dtor_01020af0 stl Wrapper that calls STL_string_dtor and returns 0x01020B00 10 thunk_to_STL_string_dtor_01020b00 stl Wrapper that calls STL_string_dtor and returns 0x01020B10 10 thunk_to_STL_string_dtor_01020b10 stl Wrapper that calls STL_string_dtor and returns 0x01020B20 10 thunk_to_STL_string_dtor_01020b20 stl Wrapper that calls STL_string_dtor and returns 0x01020B30 10 thunk_to_STL_string_dtor_01020b30 stl Wrapper that calls STL_string_dtor and returns 0x01020B40 10 thunk_to_STL_string_dtor_01020b40 stl Wrapper that calls STL_string_dtor and returns 0x01020B50 10 thunk_to_STL_string_dtor_01020b50 stl Wrapper that calls STL_string_dtor and returns 0x01020B60 10 thunk_to_STL_string_dtor_01020b60 stl Wrapper that calls STL_string_dtor and returns 0x01020B70 10 thunk_to_STL_string_dtor_01020b70 stl Wrapper that calls STL_string_dtor and returns 0x01020B80 10 thunk_to_STL_string_dtor_01020b80 stl Wrapper that calls STL_string_dtor and returns 0x01020C00 280 atexit_unregister_window_classes_01020c00 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01020D20 66 atexit_STL_map_destroy_wrapper_01020d20 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01020D70 69 tls_clear_byte_array_01020d70 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020DC0 69 tls_clear_byte_array_01020dc0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020E10 69 tls_clear_byte_array_01020e10 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020E60 69 tls_clear_byte_array_01020e60 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01020F20 280 atexit_unregister_window_classes_01020f20 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01021040 69 tls_clear_byte_array_01021040 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01021090 69 tls_clear_byte_array_01021090 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010210E0 69 tls_clear_byte_array_010210e0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01021130 69 tls_clear_byte_array_01021130 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01021180 69 tls_clear_byte_array_01021180 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010211D0 69 tls_clear_byte_array_010211d0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01021220 69 tls_clear_byte_array_01021220 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01021270 69 tls_clear_byte_array_01021270 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010212C0 69 tls_clear_byte_array_010212c0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01021310 69 tls_clear_byte_array_01021310 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01021360 69 tls_clear_byte_array_01021360 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01021420 280 atexit_unregister_window_classes_01021420 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010215B0 280 atexit_unregister_window_classes_010215b0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01021740 280 atexit_unregister_window_classes_01021740 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010218D0 280 atexit_unregister_window_classes_010218d0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01021A60 280 atexit_unregister_window_classes_01021a60 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01021B80 10 thunk_to_STL_string_dtor_01021b80 stl Wrapper that calls STL_string_dtor and returns 0x01021B90 10 thunk_to_STL_string_dtor_01021b90 stl Wrapper that calls STL_string_dtor and returns 0x01021BA0 10 thunk_to_STL_string_dtor_01021ba0 stl Wrapper that calls STL_string_dtor and returns 0x01021BB0 10 thunk_to_STL_string_dtor_01021bb0 stl Wrapper that calls STL_string_dtor and returns 0x01021BC0 10 thunk_to_STL_string_dtor_01021bc0 stl Wrapper that calls STL_string_dtor and returns 0x01021BD0 10 thunk_to_STL_string_dtor_01021bd0 stl Wrapper that calls STL_string_dtor and returns 0x01021BE0 10 thunk_to_STL_string_dtor_01021be0 stl Wrapper that calls STL_string_dtor and returns 0x01021BF0 10 thunk_to_STL_string_dtor_01021bf0 stl Wrapper that calls STL_string_dtor and returns 0x01021C00 10 thunk_to_STL_string_dtor_01021c00 stl Wrapper that calls STL_string_dtor and returns 0x01021C10 10 thunk_to_STL_string_dtor_01021c10 stl Wrapper that calls STL_string_dtor and returns 0x01021C20 10 thunk_to_STL_string_dtor_01021c20 stl Wrapper that calls STL_string_dtor and returns 0x01021C30 10 thunk_to_STL_string_dtor_01021c30 stl Wrapper that calls STL_string_dtor and returns 0x01021C40 10 thunk_to_STL_string_dtor_01021c40 stl Wrapper that calls STL_string_dtor and returns 0x01021C50 10 thunk_to_STL_string_dtor_01021c50 stl Wrapper that calls STL_string_dtor and returns 0x01021C60 10 thunk_to_STL_string_dtor_01021c60 stl Wrapper that calls STL_string_dtor and returns 0x01021C70 10 thunk_to_STL_string_dtor_01021c70 stl Wrapper that calls STL_string_dtor and returns 0x01021C80 10 thunk_to_STL_string_dtor_01021c80 stl Wrapper that calls STL_string_dtor and returns 0x01021C90 10 thunk_to_STL_string_dtor_01021c90 stl Wrapper that calls STL_string_dtor and returns 0x01021CA0 10 thunk_to_STL_string_dtor_01021ca0 stl Wrapper that calls STL_string_dtor and returns 0x01021CB0 10 thunk_to_STL_string_dtor_01021cb0 stl Wrapper that calls STL_string_dtor and returns 0x01021CC0 10 thunk_to_STL_string_dtor_01021cc0 stl Wrapper that calls STL_string_dtor and returns 0x01021CD0 10 thunk_to_STL_string_dtor_01021cd0 stl Wrapper that calls STL_string_dtor and returns 0x01021CE0 10 thunk_to_STL_string_dtor_01021ce0 stl Wrapper that calls STL_string_dtor and returns 0x01021CF0 10 thunk_to_STL_string_dtor_01021cf0 stl Wrapper that calls STL_string_dtor and returns 0x01021D00 10 thunk_to_STL_string_dtor_01021d00 stl Wrapper that calls STL_string_dtor and returns 0x01021D80 280 atexit_unregister_window_classes_01021d80 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01021EA0 66 atexit_STL_map_destroy_wrapper_01021ea0 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01021EF0 10 thunk_to_STL_string_dtor_01021ef0 stl Wrapper that calls STL_string_dtor and returns 0x01021F00 10 thunk_to_STL_string_dtor_01021f00 stl Wrapper that calls STL_string_dtor and returns 0x01021F10 10 thunk_to_STL_string_dtor_01021f10 stl Wrapper that calls STL_string_dtor and returns 0x01021F20 10 thunk_to_STL_string_dtor_01021f20 stl Wrapper that calls STL_string_dtor and returns 0x01021F30 10 thunk_to_STL_string_dtor_01021f30 stl Wrapper that calls STL_string_dtor and returns 0x01021F40 10 thunk_to_STL_string_dtor_01021f40 stl Wrapper that calls STL_string_dtor and returns 0x01021F50 10 thunk_to_STL_string_dtor_01021f50 stl Wrapper that calls STL_string_dtor and returns 0x01021F60 10 thunk_to_STL_string_dtor_01021f60 stl Wrapper that calls STL_string_dtor and returns 0x01021F70 10 thunk_to_STL_string_dtor_01021f70 stl Wrapper that calls STL_string_dtor and returns 0x01021F80 10 thunk_to_STL_string_dtor_01021f80 stl Wrapper that calls STL_string_dtor and returns 0x01021F90 10 thunk_to_STL_string_dtor_01021f90 stl Wrapper that calls STL_string_dtor and returns 0x01021FA0 10 thunk_to_STL_string_dtor_01021fa0 stl Wrapper that calls STL_string_dtor and returns 0x01021FB0 10 thunk_to_STL_string_dtor_01021fb0 stl Wrapper that calls STL_string_dtor and returns 0x01021FC0 10 thunk_to_STL_string_dtor_01021fc0 stl Wrapper that calls STL_string_dtor and returns 0x01021FD0 10 thunk_to_STL_string_dtor_01021fd0 stl Wrapper that calls STL_string_dtor and returns 0x01021FE0 10 thunk_to_STL_string_dtor_01021fe0 stl Wrapper that calls STL_string_dtor and returns 0x01021FF0 10 thunk_to_STL_string_dtor_01021ff0 stl Wrapper function that calls STL_string_dtor and returns 0x01022000 10 thunk_to_STL_string_dtor_01022000 stl Wrapper that calls STL_string_dtor and returns 0x01022010 10 thunk_to_STL_string_dtor_01022010 stl Wrapper that calls STL_string_dtor and returns 0x01022020 10 thunk_to_STL_string_dtor_01022020 stl Wrapper that calls STL_string_dtor and returns 0x01022030 10 thunk_to_STL_string_dtor_01022030 stl Wrapper that calls STL_string_dtor and returns 0x01022040 10 thunk_to_STL_string_dtor_01022040 stl Wrapper that calls STL_string_dtor and returns 0x01022050 10 thunk_to_STL_string_dtor_01022050 stl Wrapper that calls STL_string_dtor and returns 0x01022060 10 thunk_to_STL_string_dtor_01022060 stl Wrapper that calls STL_string_dtor and returns 0x01022070 10 thunk_to_STL_string_dtor_01022070 stl Wrapper that calls STL_string_dtor and returns 0x010220F0 280 atexit_unregister_window_classes_010220f0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01022210 66 atexit_STL_map_destroy_wrapper_01022210 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01022260 10 thunk_to_STL_string_dtor_01022260 stl Wrapper that calls STL_string_dtor and returns 0x01022270 10 thunk_to_STL_string_dtor_01022270 stl Wrapper that calls STL_string_dtor and returns 0x01022280 10 thunk_to_STL_string_dtor_01022280 stl Wrapper that calls STL_string_dtor and returns 0x01022290 10 thunk_to_STL_string_dtor_01022290 stl Wrapper that calls STL_string_dtor and returns 0x010222A0 10 thunk_to_STL_string_dtor_010222a0 stl Wrapper that calls STL_string_dtor and returns 0x010222B0 10 thunk_to_STL_string_dtor_010222b0 stl Wrapper that calls STL_string_dtor and returns 0x010222C0 10 thunk_to_STL_string_dtor_010222c0 stl Wrapper that calls STL_string_dtor and returns 0x010222D0 10 thunk_to_STL_string_dtor_010222d0 stl Wrapper calling STL string destructor 0x010222E0 10 thunk_to_STL_string_dtor_010222e0 stl Wrapper that calls STL_string_dtor and returns 0x010222F0 10 thunk_to_STL_string_dtor_010222f0 stl Wrapper that calls STL_string_dtor and returns 0x01022300 10 thunk_to_STL_string_dtor_01022300 stl Wrapper that calls STL_string_dtor and returns 0x01022310 10 thunk_to_STL_string_dtor_01022310 stl Wrapper that calls STL_string_dtor and returns 0x01022320 10 thunk_to_STL_string_dtor_01022320 stl Wrapper that calls STL_string_dtor and returns 0x01022330 10 thunk_to_STL_string_dtor_01022330 stl Wrapper that calls STL_string_dtor and returns 0x01022340 10 thunk_to_STL_string_dtor_01022340 stl Wrapper that calls STL_string_dtor and returns 0x01022350 10 thunk_to_STL_string_dtor_01022350 stl Wrapper that calls STL_string_dtor and returns 0x01022360 10 thunk_to_STL_string_dtor_01022360 stl Wrapper that calls STL_string_dtor and returns 0x01022370 10 thunk_to_STL_string_dtor_01022370 stl Wrapper that calls STL_string_dtor and returns 0x01022380 10 thunk_to_STL_string_dtor_01022380 stl Wrapper that calls STL_string_dtor and returns 0x01022390 10 thunk_to_STL_string_dtor_01022390 stl Wrapper that calls STL_string_dtor and returns 0x010223A0 10 thunk_to_STL_string_dtor_010223a0 stl Wrapper that calls STL_string_dtor and returns 0x010223B0 10 thunk_to_STL_string_dtor_010223b0 stl Wrapper that calls STL_string_dtor and returns 0x010223C0 10 thunk_to_STL_string_dtor_010223c0 stl Wrapper function that calls STL_string_dtor and returns 0x010223D0 10 thunk_to_STL_string_dtor_010223d0 stl Wrapper function that calls STL_string_dtor and returns 0x010223E0 10 thunk_to_STL_string_dtor_010223e0 stl Wrapper that calls STL_string_dtor and returns 0x01022460 280 atexit_unregister_window_classes_01022460 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01022580 66 atexit_STL_map_destroy_wrapper_01022580 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x010225D0 10 thunk_to_STL_string_dtor_010225d0 stl Wrapper that calls STL_string_dtor and returns 0x010225E0 10 thunk_to_STL_string_dtor_010225e0 stl Wrapper that calls STL_string_dtor and returns 0x010225F0 10 thunk_to_STL_string_dtor_010225f0 stl Wrapper that calls STL_string_dtor and returns 0x01022600 10 thunk_to_STL_string_dtor_01022600 stl Wrapper calling STL string destructor 0x01022610 10 thunk_to_STL_string_dtor_01022610 stl Wrapper that calls STL_string_dtor and returns 0x01022620 10 thunk_to_STL_string_dtor_01022620 stl Wrapper that calls STL_string_dtor and returns 0x01022630 10 thunk_to_STL_string_dtor_01022630 stl Wrapper that calls STL_string_dtor and returns 0x01022640 10 thunk_to_STL_string_dtor_01022640 stl Wrapper that calls STL_string_dtor and returns 0x01022650 10 thunk_to_STL_string_dtor_01022650 stl Wrapper that calls STL_string_dtor and returns 0x01022660 10 thunk_to_STL_string_dtor_01022660 stl Wrapper that calls STL_string_dtor and returns 0x01022670 10 thunk_to_STL_string_dtor_01022670 stl Wrapper that calls STL string destructor 0x01022680 10 thunk_to_STL_string_dtor_01022680 stl Wrapper that calls STL_string_dtor and returns 0x01022690 10 thunk_to_STL_string_dtor_01022690 stl Wrapper that calls STL_string_dtor and returns 0x010226A0 10 thunk_to_STL_string_dtor_010226a0 stl Wrapper that calls STL_string_dtor and returns 0x010226B0 10 thunk_to_STL_string_dtor_010226b0 stl Wrapper that calls STL_string_dtor and returns 0x010226C0 10 thunk_to_STL_string_dtor_010226c0 stl Wrapper that calls STL_string_dtor and returns 0x010226D0 10 thunk_to_STL_string_dtor_010226d0 stl Wrapper that calls STL_string_dtor and returns 0x010226E0 10 thunk_to_STL_string_dtor_010226e0 stl Wrapper that calls STL_string_dtor and returns 0x010226F0 10 thunk_to_STL_string_dtor_010226f0 stl Wrapper that calls STL_string_dtor and returns 0x01022700 10 thunk_to_STL_string_dtor_01022700 stl Wrapper that calls STL_string_dtor and returns 0x01022710 10 thunk_to_STL_string_dtor_01022710 stl Wrapper that calls STL_string_dtor and returns 0x01022720 10 thunk_to_STL_string_dtor_01022720 stl Wrapper that calls STL_string_dtor and returns 0x01022730 10 thunk_to_STL_string_dtor_01022730 stl Wrapper that calls STL_string_dtor and returns 0x01022740 10 thunk_to_STL_string_dtor_01022740 stl Wrapper that calls STL_string_dtor and returns 0x01022750 10 thunk_to_STL_string_dtor_01022750 stl Wrapper that calls STL_string_dtor and returns 0x010227D0 280 atexit_unregister_window_classes_010227d0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010228F0 66 atexit_STL_map_destroy_wrapper_010228f0 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01022940 10 thunk_to_STL_string_dtor_01022940 stl Wrapper that calls STL_string_dtor and returns 0x01022950 10 thunk_to_STL_string_dtor_01022950 stl Wrapper that calls STL_string_dtor and returns 0x01022960 10 thunk_to_STL_string_dtor_01022960 stl Wrapper that calls STL_string_dtor and returns 0x01022980 10 thunk_to_STL_string_dtor_01022980 stl Wrapper that calls STL_string_dtor and returns 0x01022990 10 thunk_to_STL_string_dtor_01022990 stl Wrapper that calls STL_string_dtor and returns 0x010229A0 10 thunk_to_STL_string_dtor_010229a0 stl Wrapper that calls STL_string_dtor and returns 0x010229B0 10 thunk_to_STL_string_dtor_010229b0 stl Wrapper that calls STL_string_dtor and returns 0x010229C0 10 thunk_to_STL_string_dtor_010229c0 stl Wrapper that calls STL_string_dtor and returns 0x010229D0 10 thunk_to_STL_string_dtor_010229d0 stl Wrapper that calls STL_string_dtor and returns 0x010229E0 10 thunk_to_STL_string_dtor_010229e0 stl Wrapper that calls STL_string_dtor and returns 0x010229F0 10 thunk_to_STL_string_dtor_010229f0 stl Wrapper that calls STL_string_dtor and returns 0x01022A00 10 thunk_to_STL_string_dtor_01022a00 stl Wrapper function that calls STL_string_dtor and returns 0x01022A10 10 thunk_to_STL_string_dtor_01022a10 stl Wrapper that calls STL_string_dtor and returns 0x01022A20 10 thunk_to_STL_string_dtor_01022a20 stl Wrapper that calls STL_string_dtor and returns 0x01022A30 10 thunk_to_STL_string_dtor_01022a30 stl Wrapper that calls STL_string_dtor and returns 0x01022A40 10 thunk_to_STL_string_dtor_01022a40 stl Wrapper that calls STL_string_dtor and returns 0x01022A50 10 thunk_to_STL_string_dtor_01022a50 stl Wrapper that calls STL_string_dtor and returns 0x01022A60 10 thunk_to_STL_string_dtor_01022a60 stl Wrapper that calls STL_string_dtor and returns 0x01022A70 10 thunk_to_STL_string_dtor_01022a70 stl Wrapper that calls STL_string_dtor and returns 0x01022A80 10 thunk_to_STL_string_dtor_01022a80 stl Wrapper that calls STL_string_dtor and returns 0x01022A90 10 thunk_to_STL_string_dtor_01022a90 stl Wrapper that calls STL_string_dtor and returns 0x01022AA0 10 thunk_to_STL_string_dtor_01022aa0 stl Wrapper that calls STL_string_dtor and returns 0x01022AB0 10 thunk_to_STL_string_dtor_01022ab0 stl Wrapper that calls STL_string_dtor and returns 0x01022AC0 10 thunk_to_STL_string_dtor_01022ac0 stl Wrapper that calls STL_string_dtor and returns 0x01022B40 280 atexit_unregister_window_classes_01022b40 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01022C60 66 atexit_STL_map_destroy_wrapper_01022c60 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01022D20 280 atexit_unregister_window_classes_01022d20 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01022EB0 280 atexit_unregister_window_classes_01022eb0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01023040 280 atexit_unregister_window_classes_01023040 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010231D0 280 atexit_unregister_window_classes_010231d0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01023360 280 atexit_unregister_window_classes_01023360 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01023480 10 thunk_to_STL_string_dtor_01023480 stl Wrapper that calls STL_string_dtor and returns 0x01023490 10 thunk_to_STL_string_dtor_01023490 stl Wrapper that calls STL_string_dtor and returns 0x010234A0 10 thunk_to_STL_string_dtor_010234a0 stl Wrapper that calls STL_string_dtor and returns 0x010234B0 10 thunk_to_STL_string_dtor_010234b0 stl Wrapper that calls STL_string_dtor and returns 0x010234C0 10 thunk_to_STL_string_dtor_010234c0 stl Wrapper that calls STL_string_dtor and returns 0x010234D0 10 thunk_to_STL_string_dtor_010234d0 stl Wrapper that calls STL_string_dtor and returns 0x010234E0 10 thunk_to_STL_string_dtor_010234e0 stl Wrapper that calls STL_string_dtor and returns 0x010234F0 10 thunk_to_STL_string_dtor_010234f0 stl Wrapper that calls STL_string_dtor and returns 0x01023500 10 thunk_to_STL_string_dtor_01023500 stl Wrapper that calls STL_string_dtor and returns 0x01023510 10 thunk_to_STL_string_dtor_01023510 stl Wrapper that calls STL_string_dtor and returns 0x01023520 10 thunk_to_STL_string_dtor_01023520 stl Wrapper that calls STL_string_dtor and returns 0x01023530 10 thunk_to_STL_string_dtor_01023530 stl Wrapper that calls STL_string_dtor and returns 0x01023540 10 thunk_to_STL_string_dtor_01023540 stl Wrapper that calls STL_string_dtor and returns 0x01023550 10 thunk_to_STL_string_dtor_01023550 stl Wrapper that calls STL_string_dtor and returns 0x01023560 10 thunk_to_STL_string_dtor_01023560 stl Wrapper that calls STL_string_dtor and returns 0x01023570 10 thunk_to_STL_string_dtor_01023570 stl Wrapper that calls STL_string_dtor and returns 0x01023580 10 thunk_to_STL_string_dtor_01023580 stl Wrapper that calls STL_string_dtor and returns 0x01023590 10 thunk_to_STL_string_dtor_01023590 stl Wrapper that calls STL_string_dtor and returns 0x010235A0 10 thunk_to_STL_string_dtor_010235a0 stl Wrapper that calls STL_string_dtor and returns 0x010235B0 10 thunk_to_STL_string_dtor_010235b0 stl Wrapper that calls STL_string_dtor and returns 0x010235C0 10 thunk_to_STL_string_dtor_010235c0 stl Wrapper that calls STL_string_dtor and returns 0x010235D0 10 thunk_to_STL_string_dtor_010235d0 stl Wrapper that calls STL_string_dtor and returns 0x010235E0 10 thunk_to_STL_string_dtor_010235e0 stl Wrapper that calls STL_string_dtor and returns 0x010235F0 10 thunk_to_STL_string_dtor_010235f0 stl Wrapper that calls STL_string_dtor and returns 0x01023600 10 thunk_to_STL_string_dtor_01023600 stl Wrapper that calls STL_string_dtor and returns 0x01023680 280 atexit_unregister_window_classes_01023680 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010237A0 66 atexit_STL_map_destroy_wrapper_010237a0 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x010237F0 10 thunk_to_STL_string_dtor_010237f0 stl Wrapper that calls STL_string_dtor and returns 0x01023800 10 thunk_to_STL_string_dtor_01023800 stl Wrapper that calls STL_string_dtor and returns 0x01023810 10 thunk_to_STL_string_dtor_01023810 stl Wrapper that calls STL_string_dtor and returns 0x01023820 10 thunk_to_STL_string_dtor_01023820 stl Wrapper that calls STL_string_dtor and returns 0x01023830 10 thunk_to_STL_string_dtor_01023830 stl Wrapper that calls STL_string_dtor and returns 0x01023840 10 thunk_to_STL_string_dtor_01023840 stl Wrapper that calls STL_string_dtor and returns 0x01023850 10 thunk_to_STL_string_dtor_01023850 stl Wrapper that calls STL_string_dtor and returns 0x01023860 10 thunk_to_STL_string_dtor_01023860 stl Wrapper that calls STL_string_dtor and returns 0x01023870 10 thunk_to_STL_string_dtor_01023870 stl Wrapper that calls STL_string_dtor and returns 0x01023880 10 thunk_to_STL_string_dtor_01023880 stl Wrapper function that calls STL_string_dtor and returns 0x01023890 10 thunk_to_STL_string_dtor_01023890 stl Wrapper that calls STL_string_dtor and returns 0x010238A0 10 thunk_to_STL_string_dtor_010238a0 stl Wrapper that calls STL_string_dtor and returns 0x010238B0 10 thunk_to_STL_string_dtor_010238b0 stl Wrapper that calls STL_string_dtor and returns 0x010238C0 10 thunk_to_STL_string_dtor_010238c0 stl Wrapper that calls STL_string_dtor and returns 0x010238D0 10 thunk_to_STL_string_dtor_010238d0 stl Wrapper that calls STL_string_dtor and returns 0x010238E0 10 thunk_to_STL_string_dtor_010238e0 stl Wrapper that calls STL_string_dtor and returns 0x010238F0 10 thunk_to_STL_string_dtor_010238f0 stl Wrapper that calls STL_string_dtor and returns 0x01023900 10 thunk_to_STL_string_dtor_01023900 stl Wrapper that calls STL_string_dtor and returns 0x01023910 10 thunk_to_STL_string_dtor_01023910 stl Wrapper that calls STL_string_dtor and returns 0x01023920 10 thunk_to_STL_string_dtor_01023920 stl Wrapper that calls STL_string_dtor and returns 0x01023930 10 thunk_to_STL_string_dtor_01023930 stl Wrapper that calls STL_string_dtor and returns 0x01023940 10 thunk_to_STL_string_dtor_01023940 stl Wrapper that calls STL_string_dtor and returns 0x01023950 10 thunk_to_STL_string_dtor_01023950 stl Wrapper that calls STL_string_dtor and returns 0x01023960 10 thunk_to_STL_string_dtor_01023960 stl Wrapper calling STL string destructor 0x01023970 10 thunk_to_STL_string_dtor_01023970 stl Wrapper that calls STL_string_dtor and returns 0x010239F0 280 atexit_unregister_window_classes_010239f0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01023B10 69 tls_clear_byte_array_01023b10 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01023B60 69 tls_clear_byte_array_01023b60 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01023BB0 69 tls_clear_byte_array_01023bb0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01023C00 69 tls_clear_byte_array_01023c00 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01023C50 69 tls_clear_byte_array_01023c50 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01023CA0 69 tls_clear_byte_array_01023ca0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01023CF0 69 tls_clear_byte_array_01023cf0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01023D40 69 tls_clear_byte_array_01023d40 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01023D90 69 tls_clear_byte_array_01023d90 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01023DE0 10 thunk_to_STL_string_dtor_01023de0 stl Wrapper that calls STL_string_dtor and returns 0x01023DF0 10 thunk_to_STL_string_dtor_01023df0 stl Wrapper that calls STL_string_dtor and returns 0x01023E00 10 thunk_to_STL_string_dtor_01023e00 stl Wrapper that calls STL_string_dtor and returns 0x01023E10 10 thunk_to_STL_string_dtor_01023e10 stl Wrapper that calls STL_string_dtor and returns 0x01023E20 10 thunk_to_STL_string_dtor_01023e20 stl Wrapper function that calls STL_string_dtor and returns 0x01023E30 10 thunk_to_STL_string_dtor_01023e30 stl Wrapper that calls STL_string_dtor and returns 0x01023E40 10 thunk_to_STL_string_dtor_01023e40 stl Wrapper that calls STL_string_dtor and returns 0x01023E50 10 thunk_to_STL_string_dtor_01023e50 stl Wrapper that calls STL_string_dtor and returns 0x01023E60 10 thunk_to_STL_string_dtor_01023e60 stl Wrapper that calls STL_string_dtor and returns 0x01023E70 10 thunk_to_STL_string_dtor_01023e70 stl Wrapper that calls STL_string_dtor and returns 0x01023E80 10 thunk_to_STL_string_dtor_01023e80 stl Wrapper that calls STL_string_dtor and returns 0x01023E90 10 thunk_to_STL_string_dtor_01023e90 stl Wrapper that calls STL_string_dtor and returns 0x01023EA0 10 thunk_to_STL_string_dtor_01023ea0 stl Wrapper that calls STL_string_dtor and returns 0x01023EB0 10 thunk_to_STL_string_dtor_01023eb0 stl Wrapper that calls STL_string_dtor and returns 0x01023EC0 10 thunk_to_STL_string_dtor_01023ec0 stl Wrapper function that calls STL_string_dtor and returns 0x01023ED0 10 thunk_to_STL_string_dtor_01023ed0 stl Wrapper that calls STL_string_dtor and returns 0x01023EE0 10 thunk_to_STL_string_dtor_01023ee0 stl Wrapper that calls STL_string_dtor and returns 0x01023EF0 10 thunk_to_STL_string_dtor_01023ef0 stl Wrapper that calls STL_string_dtor and returns 0x01023F00 10 thunk_to_STL_string_dtor_01023f00 stl Wrapper that calls STL_string_dtor and returns 0x01023F10 10 thunk_to_STL_string_dtor_01023f10 stl Wrapper that calls STL_string_dtor and returns 0x01023F20 10 thunk_to_STL_string_dtor_01023f20 stl Wrapper that calls STL_string_dtor and returns 0x01023F30 10 thunk_to_STL_string_dtor_01023f30 stl Wrapper that calls STL_string_dtor and returns 0x01023F40 10 thunk_to_STL_string_dtor_01023f40 stl Wrapper that calls STL_string_dtor and returns 0x01023F50 10 thunk_to_STL_string_dtor_01023f50 stl Wrapper that calls STL_string_dtor and returns 0x01023F60 10 thunk_to_STL_string_dtor_01023f60 stl Wrapper that calls STL_string_dtor and returns 0x01023FE0 280 atexit_unregister_window_classes_01023fe0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01024100 69 tls_clear_byte_array_01024100 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01024150 69 tls_clear_byte_array_01024150 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010241A0 69 tls_clear_byte_array_010241a0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010241F0 69 tls_clear_byte_array_010241f0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01024240 69 tls_clear_byte_array_01024240 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01024290 69 tls_clear_byte_array_01024290 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010242E0 69 tls_clear_byte_array_010242e0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01024330 69 tls_clear_byte_array_01024330 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01024380 69 tls_clear_byte_array_01024380 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010243D0 69 tls_clear_byte_array_010243d0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01024420 69 tls_clear_byte_array_01024420 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01024470 10 thunk_to_STL_string_dtor_01024470 stl Wrapper that calls STL_string_dtor and returns 0x01024480 10 thunk_to_STL_string_dtor_01024480 stl Wrapper that calls STL_string_dtor and returns 0x01024490 10 thunk_to_STL_string_dtor_01024490 stl Wrapper that calls STL_string_dtor and returns 0x010244A0 10 thunk_to_STL_string_dtor_010244a0 stl Wrapper that calls STL_string_dtor and returns 0x010244B0 10 thunk_to_STL_string_dtor_010244b0 stl Wrapper that calls STL_string_dtor and returns 0x010244C0 10 thunk_to_STL_string_dtor_010244c0 stl Wrapper that calls STL_string_dtor and returns 0x010244D0 10 thunk_to_STL_string_dtor_010244d0 stl Wrapper that calls STL_string_dtor and returns 0x010244E0 10 thunk_to_STL_string_dtor_010244e0 stl Wrapper that calls STL_string_dtor and returns 0x010244F0 10 thunk_to_STL_string_dtor_010244f0 stl Wrapper that calls STL_string_dtor and returns 0x01024500 10 thunk_to_STL_string_dtor_01024500 stl Wrapper function that calls STL_string_dtor and returns 0x01024510 10 thunk_to_STL_string_dtor_01024510 stl Wrapper that calls STL_string_dtor and returns 0x01024520 10 thunk_to_STL_string_dtor_01024520 stl Wrapper that calls STL_string_dtor and returns 0x01024530 10 thunk_to_STL_string_dtor_01024530 stl Wrapper that calls STL_string_dtor and returns 0x01024540 10 thunk_to_STL_string_dtor_01024540 stl Wrapper that calls STL_string_dtor and returns 0x01024550 10 thunk_to_STL_string_dtor_01024550 stl Wrapper that calls STL_string_dtor and returns 0x01024560 10 thunk_to_STL_string_dtor_01024560 stl Wrapper that calls STL_string_dtor and returns 0x01024570 10 thunk_to_STL_string_dtor_01024570 stl Wrapper that calls STL_string_dtor and returns 0x01024580 10 thunk_to_STL_string_dtor_01024580 stl Wrapper that calls STL_string_dtor and returns 0x01024590 10 thunk_to_STL_string_dtor_01024590 stl Wrapper function that calls STL_string_dtor and returns 0x010245A0 10 thunk_to_STL_string_dtor_010245a0 stl Wrapper that calls STL_string_dtor and returns 0x010245B0 10 thunk_to_STL_string_dtor_010245b0 stl Wrapper that calls STL_string_dtor and returns 0x010245C0 10 thunk_to_STL_string_dtor_010245c0 stl Wrapper that calls STL_string_dtor and returns 0x010245D0 10 thunk_to_STL_string_dtor_010245d0 stl Wrapper that calls STL_string_dtor and returns 0x010245E0 10 thunk_to_STL_string_dtor_010245e0 stl Wrapper that calls STL_string_dtor and returns 0x010245F0 10 thunk_to_STL_string_dtor_010245f0 stl Wrapper function that calls STL_string_dtor and returns 0x01024670 280 atexit_unregister_window_classes_01024670 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01024800 280 atexit_unregister_window_classes_01024800 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01024990 280 atexit_unregister_window_classes_01024990 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01024B20 280 atexit_unregister_window_classes_01024b20 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01024CB0 280 atexit_unregister_window_classes_01024cb0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01024E40 280 atexit_unregister_window_classes_01024e40 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01024FD0 280 atexit_unregister_window_classes_01024fd0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010250F0 10 thunk_to_STL_string_dtor_010250f0 stl Wrapper that calls STL_string_dtor and returns 0x01025100 10 thunk_to_STL_string_dtor_01025100 stl Wrapper that calls STL_string_dtor and returns 0x01025110 10 thunk_to_STL_string_dtor_01025110 stl Wrapper that calls STL_string_dtor and returns 0x01025120 10 thunk_to_STL_string_dtor_01025120 stl Wrapper that calls STL_string_dtor and returns 0x01025130 10 thunk_to_STL_string_dtor_01025130 stl Wrapper that calls STL_string_dtor and returns 0x01025140 10 thunk_to_STL_string_dtor_01025140 stl Wrapper that calls STL_string_dtor and returns 0x01025150 10 thunk_to_STL_string_dtor_01025150 stl Wrapper that calls STL string destructor 0x01025160 10 thunk_to_STL_string_dtor_01025160 stl Wrapper that calls STL_string_dtor and returns 0x01025170 10 thunk_to_STL_string_dtor_01025170 stl Wrapper that calls STL_string_dtor and returns 0x01025180 10 thunk_to_STL_string_dtor_01025180 stl Wrapper that calls STL_string_dtor and returns 0x01025190 10 thunk_to_STL_string_dtor_01025190 stl Wrapper that calls STL_string_dtor and returns 0x010251A0 10 thunk_to_STL_string_dtor_010251a0 stl Wrapper that calls STL_string_dtor and returns 0x010251B0 10 thunk_to_STL_string_dtor_010251b0 stl Wrapper that calls STL_string_dtor and returns 0x010251C0 10 thunk_to_STL_string_dtor_010251c0 stl Wrapper that calls STL_string_dtor and returns 0x010251D0 10 thunk_to_STL_string_dtor_010251d0 stl Wrapper that calls STL_string_dtor and returns 0x010251E0 10 thunk_to_STL_string_dtor_010251e0 stl Wrapper that calls STL_string_dtor and returns 0x010251F0 10 thunk_to_STL_string_dtor_010251f0 stl Wrapper that calls STL_string_dtor and returns 0x01025200 10 thunk_to_STL_string_dtor_01025200 stl Wrapper that calls STL_string_dtor and returns 0x01025210 10 thunk_to_STL_string_dtor_01025210 stl Wrapper that calls STL_string_dtor and returns 0x01025220 10 thunk_to_STL_string_dtor_01025220 stl Wrapper that calls STL_string_dtor and returns 0x01025230 10 thunk_to_STL_string_dtor_01025230 stl Wrapper that calls STL_string_dtor and returns 0x01025240 10 thunk_to_STL_string_dtor_01025240 stl Wrapper that calls STL_string_dtor and returns 0x01025250 10 thunk_to_STL_string_dtor_01025250 stl Wrapper function that calls STL_string_dtor and returns 0x01025260 10 thunk_to_STL_string_dtor_01025260 stl Wrapper that calls STL_string_dtor and returns 0x01025270 10 thunk_to_STL_string_dtor_01025270 stl Wrapper that calls STL_string_dtor and returns 0x010252F0 280 atexit_unregister_window_classes_010252f0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01025410 66 atexit_STL_map_destroy_wrapper_01025410 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01025460 10 thunk_to_STL_string_dtor_01025460 stl Wrapper that calls STL_string_dtor and returns 0x01025470 10 thunk_to_STL_string_dtor_01025470 stl Wrapper that calls STL_string_dtor and returns 0x01025480 10 thunk_to_STL_string_dtor_01025480 stl Wrapper that calls STL_string_dtor and returns 0x01025490 10 thunk_to_STL_string_dtor_01025490 stl Wrapper that calls STL_string_dtor and returns 0x010254A0 10 thunk_to_STL_string_dtor_010254a0 stl Wrapper that calls STL_string_dtor and returns 0x010254B0 10 thunk_to_STL_string_dtor_010254b0 stl Wrapper that calls STL_string_dtor and returns 0x010254C0 10 thunk_to_STL_string_dtor_010254c0 stl Wrapper that calls STL_string_dtor and returns 0x010254D0 10 thunk_to_STL_string_dtor_010254d0 stl Wrapper that calls STL_string_dtor and returns 0x010254E0 10 thunk_to_STL_string_dtor_010254e0 stl Wrapper that calls STL_string_dtor and returns 0x010254F0 10 thunk_to_STL_string_dtor_010254f0 stl Wrapper function that calls STL_string_dtor and returns 0x01025500 10 thunk_to_STL_string_dtor_01025500 stl Wrapper that calls STL_string_dtor and returns 0x01025510 10 thunk_to_STL_string_dtor_01025510 stl Wrapper that calls STL_string_dtor and returns 0x01025520 10 thunk_to_STL_string_dtor_01025520 stl Wrapper that calls STL_string_dtor and returns 0x01025530 10 thunk_to_STL_string_dtor_01025530 stl Wrapper that calls STL_string_dtor and returns 0x01025540 10 thunk_to_STL_string_dtor_01025540 stl Wrapper that calls STL_string_dtor and returns 0x01025550 10 thunk_to_STL_string_dtor_01025550 stl Wrapper that calls STL_string_dtor and returns 0x01025560 10 thunk_to_STL_string_dtor_01025560 stl Wrapper that calls STL_string_dtor and returns 0x01025570 10 thunk_to_STL_string_dtor_01025570 stl Wrapper that calls STL_string_dtor and returns 0x01025580 10 thunk_to_STL_string_dtor_01025580 stl Wrapper that calls STL_string_dtor and returns 0x01025590 10 thunk_to_STL_string_dtor_01025590 stl Wrapper that calls STL_string_dtor and returns 0x010255A0 10 thunk_to_STL_string_dtor_010255a0 stl Wrapper that calls STL_string_dtor and returns 0x010255B0 10 thunk_to_STL_string_dtor_010255b0 stl Wrapper that calls STL_string_dtor and returns 0x010255C0 10 thunk_to_STL_string_dtor_010255c0 stl Wrapper that calls STL_string_dtor and returns 0x010255D0 10 thunk_to_STL_string_dtor_010255d0 stl Wrapper that calls STL_string_dtor and returns 0x010255E0 10 thunk_to_STL_string_dtor_010255e0 stl Wrapper that calls STL_string_dtor and returns 0x01025660 280 atexit_unregister_window_classes_01025660 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01025780 66 atexit_STL_map_destroy_wrapper_01025780 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01025840 280 atexit_unregister_window_classes_01025840 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010259D0 280 atexit_unregister_window_classes_010259d0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01025B60 280 atexit_unregister_window_classes_01025b60 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01025CF0 280 atexit_unregister_window_classes_01025cf0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01025E10 10 thunk_to_STL_string_dtor_01025e10 stl Wrapper that calls STL_string_dtor and returns 0x01025E20 10 thunk_to_STL_string_dtor_01025e20 stl Wrapper that calls STL_string_dtor and returns 0x01025E30 10 thunk_to_STL_string_dtor_01025e30 stl Wrapper that calls STL_string_dtor and returns 0x01025E40 10 thunk_to_STL_string_dtor_01025e40 stl Wrapper that calls STL_string_dtor and returns 0x01025E50 10 thunk_to_STL_string_dtor_01025e50 stl Wrapper that calls STL_string_dtor and returns 0x01025E60 10 thunk_to_STL_string_dtor_01025e60 stl Wrapper that calls STL_string_dtor and returns 0x01025E70 10 thunk_to_STL_string_dtor_01025e70 stl Wrapper that calls STL_string_dtor and returns 0x01025E80 10 thunk_to_STL_string_dtor_01025e80 stl Wrapper that calls STL_string_dtor and returns 0x01025E90 10 thunk_to_STL_string_dtor_01025e90 stl Wrapper that calls STL_string_dtor and returns 0x01025EA0 10 thunk_to_STL_string_dtor_01025ea0 stl Wrapper that calls STL_string_dtor and returns 0x01025EB0 10 thunk_to_STL_string_dtor_01025eb0 stl Wrapper that calls STL_string_dtor and returns 0x01025EC0 10 thunk_to_STL_string_dtor_01025ec0 stl Wrapper that calls STL_string_dtor and returns 0x01025ED0 10 thunk_to_STL_string_dtor_01025ed0 stl Wrapper that calls STL_string_dtor and returns 0x01025EE0 10 thunk_to_STL_string_dtor_01025ee0 stl Wrapper that calls STL_string_dtor and returns 0x01025EF0 10 thunk_to_STL_string_dtor_01025ef0 stl Wrapper that calls STL_string_dtor and returns 0x01025F00 10 thunk_to_STL_string_dtor_01025f00 stl Wrapper that calls STL_string_dtor and returns 0x01025F10 10 thunk_to_STL_string_dtor_01025f10 stl Wrapper that calls STL_string_dtor and returns 0x01025F20 10 thunk_to_STL_string_dtor_01025f20 stl Wrapper that calls STL_string_dtor and returns 0x01025F30 10 thunk_to_STL_string_dtor_01025f30 stl Wrapper that calls STL_string_dtor and returns 0x01025F40 10 thunk_to_STL_string_dtor_01025f40 stl Wrapper that calls STL_string_dtor and returns 0x01025F50 10 thunk_to_STL_string_dtor_01025f50 stl Wrapper that calls STL_string_dtor and returns 0x01025F60 10 thunk_to_STL_string_dtor_01025f60 stl Wrapper function that calls STL_string_dtor and returns 0x01025F70 10 thunk_to_STL_string_dtor_01025f70 stl Wrapper that calls STL_string_dtor and returns 0x01025F80 10 thunk_to_STL_string_dtor_01025f80 stl Wrapper that calls STL_string_dtor and returns 0x01025F90 10 thunk_to_STL_string_dtor_01025f90 stl Wrapper that calls STL_string_dtor and returns 0x01026010 280 atexit_unregister_window_classes_01026010 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01026130 66 atexit_STL_map_destroy_wrapper_01026130 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x010261F0 280 atexit_unregister_window_classes_010261f0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01026310 10 thunk_to_STL_string_dtor_01026310 stl Wrapper that calls STL_string_dtor and returns 0x01026320 10 thunk_to_STL_string_dtor_01026320 stl Wrapper that calls STL_string_dtor and returns 0x01026330 10 thunk_to_STL_string_dtor_01026330 stl Wrapper that calls STL_string_dtor and returns 0x01026340 10 thunk_to_STL_string_dtor_01026340 stl Wrapper that calls STL_string_dtor and returns 0x01026350 10 thunk_to_STL_string_dtor_01026350 stl Wrapper that calls STL_string_dtor and returns 0x01026360 10 thunk_to_STL_string_dtor_01026360 stl Wrapper function that calls STL_string_dtor and returns 0x01026370 10 thunk_to_STL_string_dtor_01026370 stl Wrapper that calls STL_string_dtor and returns 0x01026380 10 thunk_to_STL_string_dtor_01026380 stl Wrapper that calls STL_string_dtor and returns 0x01026390 10 thunk_to_STL_string_dtor_01026390 stl Wrapper that calls STL_string_dtor and returns 0x010263A0 10 thunk_to_STL_string_dtor_010263a0 stl Wrapper that calls STL_string_dtor and returns 0x010263B0 10 thunk_to_STL_string_dtor_010263b0 stl Wrapper that calls STL_string_dtor and returns 0x010263C0 10 thunk_to_STL_string_dtor_010263c0 stl Wrapper that calls STL_string_dtor and returns 0x010263D0 10 thunk_to_STL_string_dtor_010263d0 stl Wrapper that calls STL_string_dtor and returns 0x010263E0 10 thunk_to_STL_string_dtor_010263e0 stl Wrapper that calls STL_string_dtor and returns 0x010263F0 10 thunk_to_STL_string_dtor_010263f0 stl Wrapper that calls STL_string_dtor and returns 0x01026400 10 thunk_to_STL_string_dtor_01026400 stl Wrapper that calls STL_string_dtor and returns 0x01026410 10 thunk_to_STL_string_dtor_01026410 stl Wrapper that calls STL_string_dtor and returns 0x01026420 10 thunk_to_STL_string_dtor_01026420 stl Wrapper that calls STL_string_dtor and returns 0x01026430 10 thunk_to_STL_string_dtor_01026430 stl Wrapper that calls STL_string_dtor and returns 0x01026440 10 thunk_to_STL_string_dtor_01026440 stl Wrapper that calls STL_string_dtor and returns 0x01026450 10 thunk_to_STL_string_dtor_01026450 stl Wrapper that calls STL_string_dtor and returns 0x01026460 10 thunk_to_STL_string_dtor_01026460 stl Wrapper that calls STL_string_dtor and returns 0x01026470 10 thunk_to_STL_string_dtor_01026470 stl Wrapper that calls STL string destructor 0x01026480 10 thunk_to_STL_string_dtor_01026480 stl Wrapper that calls STL_string_dtor and returns 0x01026490 10 thunk_to_STL_string_dtor_01026490 stl Wrapper that calls STL_string_dtor and returns 0x01026510 280 atexit_unregister_window_classes_01026510 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01026630 10 thunk_to_STL_string_dtor_01026630 stl Wrapper that calls STL_string_dtor and returns 0x01026640 10 thunk_to_STL_string_dtor_01026640 stl Wrapper that calls STL_string_dtor and returns 0x01026650 10 thunk_to_STL_string_dtor_01026650 stl Wrapper that calls STL_string_dtor and returns 0x01026660 10 thunk_to_STL_string_dtor_01026660 stl Wrapper that calls STL_string_dtor and returns 0x01026670 10 thunk_to_STL_string_dtor_01026670 stl Wrapper that calls STL_string_dtor destructor 0x01026680 10 thunk_to_STL_string_dtor_01026680 stl Wrapper that calls STL_string_dtor and returns 0x01026690 10 thunk_to_STL_string_dtor_01026690 stl Wrapper that calls STL_string_dtor and returns 0x010266A0 10 thunk_to_STL_string_dtor_010266a0 stl Wrapper that calls STL_string_dtor and returns 0x010266B0 10 thunk_to_STL_string_dtor_010266b0 stl Wrapper that calls STL_string_dtor and returns 0x010266C0 10 thunk_to_STL_string_dtor_010266c0 stl Wrapper that calls STL_string_dtor and returns 0x010266D0 10 thunk_to_STL_string_dtor_010266d0 stl Wrapper function that calls STL_string_dtor and returns 0x010266E0 10 thunk_to_STL_string_dtor_010266e0 stl Wrapper that calls STL_string_dtor and returns 0x010266F0 10 thunk_to_STL_string_dtor_010266f0 stl Wrapper that calls STL_string_dtor and returns 0x01026700 10 thunk_to_STL_string_dtor_01026700 stl Wrapper that calls STL_string_dtor and returns 0x01026710 10 thunk_to_STL_string_dtor_01026710 stl Wrapper that calls STL_string_dtor and returns 0x01026720 10 thunk_to_STL_string_dtor_01026720 stl Wrapper that calls STL_string_dtor and returns 0x01026730 10 thunk_to_STL_string_dtor_01026730 stl Wrapper that calls STL_string_dtor and returns 0x01026740 10 thunk_to_STL_string_dtor_01026740 stl Wrapper that calls STL_string_dtor and returns 0x01026750 10 thunk_to_STL_string_dtor_01026750 stl Wrapper that calls STL_string_dtor and returns 0x01026760 10 thunk_to_STL_string_dtor_01026760 stl Wrapper that calls STL_string_dtor and returns 0x01026770 10 thunk_to_STL_string_dtor_01026770 stl Wrapper that calls STL string destructor 0x01026780 10 thunk_to_STL_string_dtor_01026780 stl Wrapper that calls STL_string_dtor and returns 0x01026790 10 thunk_to_STL_string_dtor_01026790 stl Wrapper that calls STL_string_dtor and returns 0x010267A0 10 thunk_to_STL_string_dtor_010267a0 stl Wrapper that calls STL_string_dtor and returns 0x010267B0 10 thunk_to_STL_string_dtor_010267b0 stl Wrapper that calls STL_string_dtor and returns 0x01026830 280 atexit_unregister_window_classes_01026830 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01026950 10 thunk_to_STL_string_dtor_01026950 stl Wrapper that calls STL_string_dtor and returns 0x01026960 10 thunk_to_STL_string_dtor_01026960 stl Wrapper that calls STL_string_dtor and returns 0x01026970 10 thunk_to_STL_string_dtor_01026970 stl Wrapper that calls STL_string_dtor and returns 0x01026980 10 thunk_to_STL_string_dtor_01026980 stl Wrapper that calls STL_string_dtor and returns 0x01026990 10 thunk_to_STL_string_dtor_01026990 stl Wrapper that calls STL_string_dtor and returns 0x010269A0 10 thunk_to_STL_string_dtor_010269a0 stl Wrapper that calls STL_string_dtor and returns 0x010269B0 10 thunk_to_STL_string_dtor_010269b0 stl Wrapper that calls STL_string_dtor and returns 0x010269C0 10 thunk_to_STL_string_dtor_010269c0 stl Wrapper that calls STL_string_dtor and returns 0x010269D0 10 thunk_to_STL_string_dtor_010269d0 stl Wrapper that calls STL_string_dtor and returns 0x010269E0 10 thunk_to_STL_string_dtor_010269e0 stl Wrapper that calls STL_string_dtor and returns 0x010269F0 10 thunk_to_STL_string_dtor_010269f0 stl Wrapper that calls STL_string_dtor and returns 0x01026A00 10 thunk_to_STL_string_dtor_01026a00 stl Wrapper that calls STL_string_dtor and returns 0x01026A10 10 thunk_to_STL_string_dtor_01026a10 stl Wrapper that calls STL_string_dtor and returns 0x01026A20 10 thunk_to_STL_string_dtor_01026a20 stl Wrapper that calls STL_string_dtor and returns 0x01026A30 10 thunk_to_STL_string_dtor_01026a30 stl Wrapper that calls STL_string_dtor and returns 0x01026A40 10 thunk_to_STL_string_dtor_01026a40 stl Wrapper that calls STL_string_dtor and returns 0x01026A50 10 thunk_to_STL_string_dtor_01026a50 stl Wrapper that calls STL_string_dtor and returns 0x01026A60 10 thunk_to_STL_string_dtor_01026a60 stl Wrapper that calls STL_string_dtor and returns 0x01026A70 10 thunk_to_STL_string_dtor_01026a70 stl Wrapper that calls STL_string_dtor and returns 0x01026A80 10 thunk_to_STL_string_dtor_01026a80 stl Wrapper that calls STL_string_dtor and returns 0x01026A90 10 thunk_to_STL_string_dtor_01026a90 stl Wrapper that calls STL_string_dtor and returns 0x01026AA0 10 thunk_to_STL_string_dtor_01026aa0 stl Wrapper that calls STL_string_dtor and returns 0x01026AB0 10 thunk_to_STL_string_dtor_01026ab0 stl Wrapper that calls STL_string_dtor and returns 0x01026AC0 10 thunk_to_STL_string_dtor_01026ac0 stl Wrapper that calls STL_string_dtor and returns 0x01026AD0 10 thunk_to_STL_string_dtor_01026ad0 stl Wrapper that calls STL_string_dtor and returns 0x01026B50 280 atexit_unregister_window_classes_01026b50 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01026C70 10 thunk_to_STL_string_dtor_01026c70 stl Wrapper that calls STL_string_dtor and returns 0x01026C80 10 thunk_to_STL_string_dtor_01026c80 stl Wrapper that calls STL_string_dtor and returns 0x01026C90 10 thunk_to_STL_string_dtor_01026c90 stl Wrapper that calls STL_string_dtor and returns 0x01026CA0 10 thunk_to_STL_string_dtor_01026ca0 stl Wrapper that calls STL_string_dtor and returns 0x01026CB0 10 thunk_to_STL_string_dtor_01026cb0 stl Wrapper that calls STL_string_dtor and returns 0x01026CC0 10 thunk_to_STL_string_dtor_01026cc0 stl Wrapper that calls STL_string_dtor and returns 0x01026CD0 10 thunk_to_STL_string_dtor_01026cd0 stl Wrapper that calls STL_string_dtor and returns 0x01026CE0 10 thunk_to_STL_string_dtor_01026ce0 stl Wrapper that calls STL_string_dtor and returns 0x01026CF0 10 thunk_to_STL_string_dtor_01026cf0 stl Wrapper that calls STL_string_dtor and returns 0x01026D00 10 thunk_to_STL_string_dtor_01026d00 stl Wrapper that calls STL_string_dtor and returns 0x01026D10 10 thunk_to_STL_string_dtor_01026d10 stl Wrapper that calls STL_string_dtor and returns 0x01026D20 10 thunk_to_STL_string_dtor_01026d20 stl Wrapper that calls STL_string_dtor and returns 0x01026D30 10 thunk_to_STL_string_dtor_01026d30 stl Wrapper that calls STL_string_dtor and returns 0x01026D40 10 thunk_to_STL_string_dtor_01026d40 stl Wrapper that calls STL_string_dtor and returns 0x01026D50 10 thunk_to_STL_string_dtor_01026d50 stl Wrapper that calls STL_string_dtor and returns 0x01026D60 10 thunk_to_STL_string_dtor_01026d60 stl Wrapper that calls STL_string_dtor and returns 0x01026D70 10 thunk_to_STL_string_dtor_01026d70 stl Wrapper that calls STL_string_dtor and returns 0x01026D80 10 thunk_to_STL_string_dtor_01026d80 stl Wrapper that calls STL_string_dtor and returns 0x01026D90 10 thunk_to_STL_string_dtor_01026d90 stl Wrapper that calls STL_string_dtor and returns 0x01026DA0 10 thunk_to_STL_string_dtor_01026da0 stl Wrapper that calls STL_string_dtor and returns 0x01026DB0 10 thunk_to_STL_string_dtor_01026db0 stl Wrapper that calls STL_string_dtor and returns 0x01026DC0 10 thunk_to_STL_string_dtor_01026dc0 stl Wrapper that calls STL_string_dtor and returns 0x01026DD0 10 thunk_to_STL_string_dtor_01026dd0 stl Wrapper that calls STL_string_dtor and returns 0x01026DE0 10 thunk_to_STL_string_dtor_01026de0 stl Wrapper that calls STL_string_dtor and returns 0x01026DF0 10 thunk_to_STL_string_dtor_01026df0 stl Wrapper that calls STL_string_dtor and returns 0x01026E70 280 atexit_unregister_window_classes_01026e70 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01026F90 308 atexit_CWorldView_cleanup crt Atexit destructor for CWorldView globals: destroys zone entry ranges, resets selection state, deletes 0x40-byte CReputeData objects from vector, destroys array of 16 STL strings, frees ptr vectors, and destroys navigator linked list. SEH-protected with multi-phase unwind. 0x010270D0 66 atexit_STL_map_destroy_wrapper_010270d0 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01027190 280 atexit_unregister_window_classes_01027190 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01027320 280 atexit_unregister_window_classes_01027320 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010274B0 280 atexit_unregister_window_classes_010274b0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01027640 280 atexit_unregister_window_classes_01027640 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x010277D0 280 atexit_unregister_window_classes_010277d0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01027960 280 atexit_unregister_window_classes_01027960 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01027A80 69 tls_clear_byte_array_01027a80 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01027B40 280 atexit_unregister_window_classes_01027b40 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01027C60 10 thunk_to_STL_string_dtor_01027c60 stl Wrapper that calls STL_string_dtor and returns 0x01027C70 10 thunk_to_STL_string_dtor_01027c70 stl Wrapper that calls STL_string_dtor and returns 0x01027C80 10 thunk_to_STL_string_dtor_01027c80 stl Wrapper that calls STL_string_dtor and returns 0x01027C90 10 thunk_to_STL_string_dtor_01027c90 stl Wrapper that calls STL_string_dtor and returns 0x01027CA0 10 thunk_to_STL_string_dtor_01027ca0 stl Wrapper that calls STL_string_dtor and returns 0x01027CB0 10 thunk_to_STL_string_dtor_01027cb0 stl Wrapper that calls STL_string_dtor and returns 0x01027CC0 10 thunk_to_STL_string_dtor_01027cc0 stl Wrapper that calls STL_string_dtor and returns 0x01027CD0 10 thunk_to_STL_string_dtor_01027cd0 stl Wrapper that calls STL_string_dtor and returns 0x01027CE0 10 thunk_to_STL_string_dtor_01027ce0 stl Wrapper that calls STL_string_dtor and returns 0x01027CF0 10 thunk_to_STL_string_dtor_01027cf0 stl Wrapper that calls STL_string_dtor and returns 0x01027D00 10 thunk_to_STL_string_dtor_01027d00 stl Wrapper that calls STL_string_dtor and returns 0x01027D10 10 thunk_to_STL_string_dtor_01027d10 stl Wrapper that calls STL_string_dtor and returns 0x01027D20 10 thunk_to_STL_string_dtor_01027d20 stl Wrapper that calls STL_string_dtor and returns 0x01027D30 10 thunk_to_STL_string_dtor_01027d30 stl Wrapper that calls STL_string_dtor and returns 0x01027D40 10 thunk_to_STL_string_dtor_01027d40 stl Wrapper that calls STL_string_dtor and returns 0x01027D50 10 thunk_to_STL_string_dtor_01027d50 stl Wrapper that calls STL_string_dtor and returns 0x01027D60 10 thunk_to_STL_string_dtor_01027d60 stl Wrapper that calls STL_string_dtor and returns 0x01027D70 10 thunk_to_STL_string_dtor_01027d70 stl Wrapper that calls STL_string_dtor and returns 0x01027D80 10 thunk_to_STL_string_dtor_01027d80 stl Wrapper that calls STL_string_dtor and returns 0x01027D90 10 thunk_to_STL_string_dtor_01027d90 stl Wrapper that calls STL_string_dtor and returns 0x01027DA0 10 thunk_to_STL_string_dtor_01027da0 stl Wrapper that calls STL_string_dtor and returns 0x01027DB0 10 thunk_to_STL_string_dtor_01027db0 stl Wrapper that calls STL_string_dtor and returns 0x01027DC0 10 thunk_to_STL_string_dtor_01027dc0 stl Wrapper that calls STL_string_dtor and returns 0x01027DD0 10 thunk_to_STL_string_dtor_01027dd0 stl Wrapper that calls STL_string_dtor and returns 0x01027DE0 10 thunk_to_STL_string_dtor_01027de0 stl Wrapper that calls STL_string_dtor and returns 0x01027E60 280 atexit_unregister_window_classes_01027e60 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01027F80 66 atexit_STL_map_destroy_wrapper_01027f80 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01028040 280 atexit_unregister_window_classes_01028040 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01028160 10 thunk_to_STL_string_dtor_01028160 stl Wrapper that calls STL_string_dtor and returns 0x01028170 10 thunk_to_STL_string_dtor_01028170 stl Wrapper that calls STL_string_dtor and returns 0x01028180 10 thunk_to_STL_string_dtor_01028180 stl Wrapper that calls STL_string_dtor and returns 0x01028190 10 thunk_to_STL_string_dtor_01028190 stl Wrapper that calls STL_string_dtor and returns 0x010281A0 10 thunk_to_STL_string_dtor_010281a0 stl Wrapper that calls STL_string_dtor and returns 0x010281B0 10 thunk_to_STL_string_dtor_010281b0 stl Wrapper function that calls STL_string_dtor and returns 0x010281C0 10 thunk_to_STL_string_dtor_010281c0 stl Wrapper that calls STL_string_dtor and returns 0x010281D0 10 thunk_to_STL_string_dtor_010281d0 stl Wrapper that calls STL_string_dtor and returns 0x010281E0 10 thunk_to_STL_string_dtor_010281e0 stl Wrapper that calls STL_string_dtor and returns 0x010281F0 10 thunk_to_STL_string_dtor_010281f0 stl Wrapper that calls STL_string_dtor and returns 0x01028200 10 thunk_to_STL_string_dtor_01028200 stl Wrapper that calls STL_string_dtor and returns 0x01028210 10 thunk_to_STL_string_dtor_01028210 stl Wrapper that calls STL_string_dtor and returns 0x01028220 10 thunk_to_STL_string_dtor_01028220 stl Wrapper that calls STL_string_dtor and returns 0x01028230 10 thunk_to_STL_string_dtor_01028230 stl Wrapper that calls STL_string_dtor and returns 0x01028240 10 thunk_to_STL_string_dtor_01028240 stl Wrapper that calls STL_string_dtor and returns 0x01028250 10 thunk_to_STL_string_dtor_01028250 stl Wrapper that calls STL_string_dtor and returns 0x01028260 10 thunk_to_STL_string_dtor_01028260 stl Wrapper that calls STL_string_dtor and returns 0x01028270 10 thunk_to_STL_string_dtor_01028270 stl Wrapper function that calls STL_string_dtor and returns 0x01028280 10 thunk_to_STL_string_dtor_01028280 stl Wrapper that calls STL_string_dtor and returns 0x01028290 10 thunk_to_STL_string_dtor_01028290 stl Wrapper that calls STL_string_dtor and returns 0x010282A0 10 thunk_to_STL_string_dtor_010282a0 stl Wrapper that calls STL_string_dtor and returns 0x010282C0 10 thunk_to_STL_string_dtor_010282c0 stl Wrapper that calls STL_string_dtor and returns 0x010282D0 10 thunk_to_STL_string_dtor_010282d0 stl Wrapper that calls STL_string_dtor and returns 0x010282E0 10 thunk_to_STL_string_dtor_010282e0 stl Wrapper that calls STL_string_dtor and returns 0x01028360 280 atexit_unregister_window_classes_01028360 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01028480 69 tls_clear_byte_array_01028480 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010284D0 69 tls_clear_byte_array_010284d0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028520 69 tls_clear_byte_array_01028520 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028570 69 tls_clear_byte_array_01028570 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010285C0 69 tls_clear_byte_array_010285c0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028610 69 tls_clear_byte_array_01028610 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028660 69 tls_clear_byte_array_01028660 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010286B0 69 tls_clear_byte_array_010286b0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028700 69 tls_clear_byte_array_01028700 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028750 69 tls_clear_byte_array_01028750 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010287A0 69 tls_clear_byte_array_010287a0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010287F0 69 tls_clear_byte_array_010287f0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028840 69 tls_clear_byte_array_01028840 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028890 69 tls_clear_byte_array_01028890 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010288E0 69 tls_clear_byte_array_010288e0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028930 69 tls_clear_byte_array_01028930 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028980 69 tls_clear_byte_array_01028980 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010289D0 69 tls_clear_byte_array_010289d0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028A20 69 tls_clear_byte_array_01028a20 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028A70 69 tls_clear_byte_array_01028a70 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028AC0 69 tls_clear_byte_array_01028ac0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028B10 69 tls_clear_byte_array_01028b10 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028B60 69 tls_clear_byte_array_01028b60 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028BB0 69 tls_clear_byte_array_01028bb0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028C00 69 tls_clear_byte_array_01028c00 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028C50 69 tls_clear_byte_array_01028c50 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028CA0 69 tls_clear_byte_array_01028ca0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028CF0 69 tls_clear_byte_array_01028cf0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028D40 69 tls_clear_byte_array_01028d40 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028D90 69 tls_clear_byte_array_01028d90 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028DE0 69 tls_clear_byte_array_01028de0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028E30 69 tls_clear_byte_array_01028e30 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028E80 69 tls_clear_byte_array_01028e80 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028ED0 69 tls_clear_byte_array_01028ed0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028F20 69 tls_clear_byte_array_01028f20 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028F70 69 tls_clear_byte_array_01028f70 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01028FC0 69 tls_clear_byte_array_01028fc0 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01029010 69 tls_clear_byte_array_01029010 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x01029060 69 tls_clear_byte_array_01029060 crt Clears a byte array in thread-local storage (TLS). Accesses TLS slot via FS segment, zeros bytes at a specific offset in the TLS data block. 0x010290B0 10 thunk_to_STL_string_dtor_010290b0 stl Wrapper that calls STL_string_dtor and returns 0x010290C0 10 thunk_to_STL_string_dtor_010290c0 stl Wrapper that calls STL_string_dtor and returns 0x010290D0 10 thunk_to_STL_string_dtor_010290d0 stl Wrapper that calls STL_string_dtor and returns 0x010290E0 10 thunk_to_STL_string_dtor_010290e0 stl Wrapper that calls STL_string_dtor and returns 0x010290F0 10 thunk_to_STL_string_dtor_010290f0 stl Wrapper function that calls STL_string_dtor and returns 0x01029100 10 thunk_to_STL_string_dtor_01029100 stl Wrapper that calls STL_string_dtor and returns immediately 0x01029110 10 thunk_to_STL_string_dtor_01029110 stl Wrapper that calls STL_string_dtor and returns 0x01029120 10 thunk_to_STL_string_dtor_01029120 stl Wrapper that calls STL_string_dtor and returns 0x01029130 10 thunk_to_STL_string_dtor_01029130 stl Wrapper that calls STL_string_dtor and returns 0x01029140 10 thunk_to_STL_string_dtor_01029140 stl Wrapper that calls STL_string_dtor and returns 0x01029150 10 thunk_to_STL_string_dtor_01029150 stl Wrapper that calls STL_string_dtor and returns 0x01029160 10 thunk_to_STL_string_dtor_01029160 stl Wrapper that calls STL string destructor 0x01029170 10 thunk_to_STL_string_dtor_01029170 stl Wrapper that calls STL_string_dtor and returns 0x01029180 10 thunk_to_STL_string_dtor_01029180 stl Wrapper that calls STL_string_dtor and returns 0x01029190 10 thunk_to_STL_string_dtor_01029190 stl Wrapper that calls STL_string_dtor and returns 0x010291A0 10 thunk_to_STL_string_dtor_010291a0 stl Wrapper that calls STL_string_dtor and returns 0x010291B0 10 thunk_to_STL_string_dtor_010291b0 stl Wrapper that calls STL_string_dtor and returns 0x010291C0 10 thunk_to_STL_string_dtor_010291c0 stl Wrapper that calls STL_string_dtor and returns 0x010291D0 10 thunk_to_STL_string_dtor_010291d0 stl Wrapper that calls STL_string_dtor and returns 0x010291E0 10 thunk_to_STL_string_dtor_010291e0 stl Wrapper that calls STL_string_dtor and returns 0x010291F0 10 thunk_to_STL_string_dtor_010291f0 stl Wrapper that calls STL_string_dtor and returns 0x01029200 10 thunk_to_STL_string_dtor_01029200 stl Wrapper that calls STL_string_dtor and returns 0x01029210 10 thunk_to_STL_string_dtor_01029210 stl Wrapper that calls STL_string_dtor and returns 0x01029220 10 thunk_to_STL_string_dtor_01029220 stl Wrapper that calls STL_string_dtor and returns 0x01029230 10 thunk_to_STL_string_dtor_01029230 stl Wrapper that calls STL_string_dtor and returns 0x010292B0 280 atexit_unregister_window_classes_010292b0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01029440 280 atexit_unregister_window_classes_01029440 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01029560 10 thunk_to_STL_string_dtor_01029560 stl Wrapper that calls STL_string_dtor and returns 0x01029570 10 thunk_to_STL_string_dtor_01029570 stl Wrapper that calls STL_string_dtor and returns 0x01029580 10 thunk_to_STL_string_dtor_01029580 stl Wrapper that calls STL_string_dtor and returns 0x01029590 10 thunk_to_STL_string_dtor_01029590 stl Wrapper that calls STL_string_dtor and returns 0x010295A0 10 thunk_to_STL_string_dtor_010295a0 stl Wrapper function that calls STL_string_dtor and returns 0x010295B0 10 thunk_to_STL_string_dtor_010295b0 stl Wrapper that calls STL_string_dtor and returns 0x010295C0 10 thunk_to_STL_string_dtor_010295c0 stl Wrapper that calls STL_string_dtor and returns 0x010295D0 10 thunk_to_STL_string_dtor_010295d0 stl Wrapper that calls STL_string_dtor and returns 0x010295E0 10 thunk_to_STL_string_dtor_010295e0 stl Wrapper that calls STL_string_dtor and returns 0x010295F0 10 thunk_to_STL_string_dtor_010295f0 stl Wrapper that calls STL_string_dtor and returns 0x01029600 10 thunk_to_STL_string_dtor_01029600 stl Wrapper that calls STL_string_dtor and returns 0x01029610 10 thunk_to_STL_string_dtor_01029610 stl Wrapper that calls STL_string_dtor and returns 0x01029620 10 thunk_to_STL_string_dtor_01029620 stl Wrapper that calls STL_string_dtor and returns 0x01029630 10 thunk_to_STL_string_dtor_01029630 stl Wrapper function that calls STL_string_dtor and returns 0x01029640 10 thunk_to_STL_string_dtor_01029640 stl Wrapper that calls STL_string_dtor and returns 0x01029650 10 thunk_to_STL_string_dtor_01029650 stl Wrapper that calls STL_string_dtor and returns 0x01029660 10 thunk_to_STL_string_dtor_01029660 stl Wrapper that calls STL_string_dtor and returns 0x01029670 10 thunk_to_STL_string_dtor_01029670 stl Wrapper that calls STL_string_dtor and returns 0x01029680 10 thunk_to_STL_string_dtor_01029680 stl Wrapper that calls STL_string_dtor and returns 0x01029690 10 thunk_to_STL_string_dtor_01029690 stl Wrapper that calls STL_string_dtor and returns 0x010296A0 10 thunk_to_STL_string_dtor_010296a0 stl Wrapper that calls STL_string_dtor and returns 0x010296B0 10 thunk_to_STL_string_dtor_010296b0 stl Wrapper that calls STL_string_dtor and returns 0x010296C0 10 thunk_to_STL_string_dtor_010296c0 stl Wrapper that calls STL_string_dtor and returns 0x010296D0 10 thunk_to_STL_string_dtor_010296d0 stl Wrapper that calls STL_string_dtor and returns 0x010296E0 10 thunk_to_STL_string_dtor_010296e0 stl Wrapper that calls STL_string_dtor and returns 0x01029760 280 atexit_unregister_window_classes_01029760 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01029880 66 atexit_STL_map_destroy_wrapper_01029880 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x010298D0 10 thunk_to_STL_string_dtor_010298d0 stl Wrapper that calls STL_string_dtor and returns 0x010298E0 10 thunk_to_STL_string_dtor_010298e0 stl Wrapper that calls STL_string_dtor and returns 0x010298F0 10 thunk_to_STL_string_dtor_010298f0 stl Wrapper that calls STL_string_dtor and returns 0x01029900 10 thunk_to_STL_string_dtor_01029900 stl Wrapper that calls STL_string_dtor and returns 0x01029910 10 thunk_to_STL_string_dtor_01029910 stl Wrapper that calls STL_string_dtor and returns 0x01029920 10 thunk_to_STL_string_dtor_01029920 stl Wrapper that calls STL_string_dtor and returns 0x01029930 10 thunk_to_STL_string_dtor_01029930 stl Wrapper that calls STL_string_dtor and returns 0x01029940 10 thunk_to_STL_string_dtor_01029940 stl Wrapper function that calls STL_string_dtor and returns 0x01029950 10 thunk_to_STL_string_dtor_01029950 stl Wrapper that calls STL_string_dtor and returns 0x01029960 10 thunk_to_STL_string_dtor_01029960 stl Wrapper that calls STL_string_dtor and returns 0x01029970 10 thunk_to_STL_string_dtor_01029970 stl Wrapper that calls STL_string_dtor and returns 0x01029980 10 thunk_to_STL_string_dtor_01029980 stl Wrapper that calls STL_string_dtor and returns 0x01029990 10 thunk_to_STL_string_dtor_01029990 stl Wrapper that calls STL_string_dtor and returns 0x010299A0 10 thunk_to_STL_string_dtor_010299a0 stl Wrapper that calls STL_string_dtor and returns 0x010299B0 10 thunk_to_STL_string_dtor_010299b0 stl Wrapper that calls STL_string_dtor and returns 0x010299C0 10 thunk_to_STL_string_dtor_010299c0 stl Wrapper that calls STL_string_dtor and returns 0x010299D0 10 thunk_to_STL_string_dtor_010299d0 stl Wrapper that calls STL_string_dtor and returns 0x010299E0 10 thunk_to_STL_string_dtor_010299e0 stl Wrapper that calls STL_string_dtor and returns 0x010299F0 10 thunk_to_STL_string_dtor_010299f0 stl Wrapper that calls STL_string_dtor and returns 0x01029A00 10 thunk_to_STL_string_dtor_01029a00 stl Wrapper that calls STL_string_dtor and returns 0x01029A10 10 thunk_to_STL_string_dtor_01029a10 stl Wrapper that calls STL_string_dtor and returns 0x01029A20 10 thunk_to_STL_string_dtor_01029a20 stl Wrapper that calls STL_string_dtor and returns 0x01029A30 10 thunk_to_STL_string_dtor_01029a30 stl Wrapper that calls STL_string_dtor and returns 0x01029A40 10 thunk_to_STL_string_dtor_01029a40 stl Wrapper that calls STL_string_dtor and returns 0x01029A50 10 thunk_to_STL_string_dtor_01029a50 stl Wrapper that calls STL_string_dtor and returns 0x01029AD0 280 atexit_unregister_window_classes_01029ad0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01029BF0 66 atexit_STL_map_destroy_wrapper_01029bf0 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x01029C40 10 thunk_to_STL_string_dtor_01029c40 stl Wrapper that calls STL_string_dtor and returns 0x01029C50 10 thunk_to_STL_string_dtor_01029c50 stl Wrapper that calls STL_string_dtor and returns 0x01029C60 10 thunk_to_STL_string_dtor_01029c60 stl Wrapper that calls STL_string_dtor destructor 0x01029C70 10 thunk_to_STL_string_dtor_01029c70 stl Wrapper that calls STL_string_dtor and returns 0x01029C80 10 thunk_to_STL_string_dtor_01029c80 stl Wrapper that calls STL_string_dtor and returns 0x01029C90 10 thunk_to_STL_string_dtor_01029c90 stl Wrapper that calls STL_string_dtor and returns 0x01029CA0 10 thunk_to_STL_string_dtor_01029ca0 stl Wrapper that calls STL_string_dtor and returns 0x01029CB0 10 thunk_to_STL_string_dtor_01029cb0 stl Wrapper function that calls STL_string_dtor and returns 0x01029CC0 10 thunk_to_STL_string_dtor_01029cc0 stl Wrapper that calls STL_string_dtor and returns 0x01029CD0 10 thunk_to_STL_string_dtor_01029cd0 stl Wrapper that calls STL_string_dtor and returns 0x01029CE0 10 thunk_to_STL_string_dtor_01029ce0 stl Wrapper that calls STL_string_dtor and returns 0x01029CF0 10 thunk_to_STL_string_dtor_01029cf0 stl Wrapper that calls STL_string_dtor and returns 0x01029D00 10 thunk_to_STL_string_dtor_01029d00 stl Wrapper that calls STL_string_dtor and returns 0x01029D10 10 thunk_to_STL_string_dtor_01029d10 stl Wrapper that calls STL_string_dtor and returns immediately 0x01029D20 10 thunk_to_STL_string_dtor_01029d20 stl Wrapper that calls STL_string_dtor and returns 0x01029D30 10 thunk_to_STL_string_dtor_01029d30 stl Wrapper that calls STL_string_dtor and returns 0x01029D40 10 thunk_to_STL_string_dtor_01029d40 stl Wrapper that calls STL_string_dtor and returns 0x01029D50 10 thunk_to_STL_string_dtor_01029d50 stl Wrapper that calls STL_string_dtor and returns 0x01029D60 10 thunk_to_STL_string_dtor_01029d60 stl Wrapper that calls STL_string_dtor and returns 0x01029D70 10 thunk_to_STL_string_dtor_01029d70 stl Wrapper that calls STL string destructor 0x01029D80 10 thunk_to_STL_string_dtor_01029d80 stl Wrapper that calls STL_string_dtor and returns 0x01029D90 10 thunk_to_STL_string_dtor_01029d90 stl Wrapper that calls STL_string_dtor and returns 0x01029DA0 10 thunk_to_STL_string_dtor_01029da0 stl Wrapper that calls STL_string_dtor and returns 0x01029DB0 10 thunk_to_STL_string_dtor_01029db0 stl Wrapper that calls STL_string_dtor and returns 0x01029DC0 10 thunk_to_STL_string_dtor_01029dc0 stl Wrapper that calls STL_string_dtor and returns 0x01029E40 280 atexit_unregister_window_classes_01029e40 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x01029F60 66 atexit_STL_map_destroy_wrapper_01029f60 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x0102A020 280 atexit_unregister_window_classes_0102a020 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0102A1B0 280 atexit_unregister_window_classes_0102a1b0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0102A340 280 atexit_unregister_window_classes_0102a340 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0102A460 10 thunk_to_STL_string_dtor_0102a460 stl Wrapper that calls STL_string_dtor and returns 0x0102A470 10 thunk_to_STL_string_dtor_0102a470 stl Wrapper that calls STL_string_dtor and returns 0x0102A480 10 thunk_to_STL_string_dtor_0102a480 stl Wrapper that calls STL_string_dtor and returns 0x0102A490 10 thunk_to_STL_string_dtor_0102a490 stl Wrapper that calls STL_string_dtor and returns 0x0102A4A0 10 thunk_to_STL_string_dtor_0102a4a0 stl Wrapper that calls STL_string_dtor and returns 0x0102A4B0 10 thunk_to_STL_string_dtor_0102a4b0 stl Wrapper that calls STL_string_dtor and returns 0x0102A4C0 10 thunk_to_STL_string_dtor_0102a4c0 stl Wrapper that calls STL_string_dtor and returns 0x0102A4D0 10 thunk_to_STL_string_dtor_0102a4d0 stl Wrapper that calls STL_string_dtor and returns 0x0102A4E0 10 thunk_to_STL_string_dtor_0102a4e0 stl Wrapper that calls STL_string_dtor and returns 0x0102A4F0 10 thunk_to_STL_string_dtor_0102a4f0 stl Wrapper that calls STL_string_dtor and returns 0x0102A500 10 thunk_to_STL_string_dtor_0102a500 stl Wrapper that calls STL_string_dtor and returns 0x0102A510 10 thunk_to_STL_string_dtor_0102a510 stl Wrapper that calls STL_string_dtor and returns 0x0102A520 10 thunk_to_STL_string_dtor_0102a520 stl Wrapper that calls STL_string_dtor and returns 0x0102A530 10 thunk_to_STL_string_dtor_0102a530 stl Wrapper that calls STL_string_dtor and returns 0x0102A540 10 thunk_to_STL_string_dtor_0102a540 stl Wrapper that calls STL_string_dtor and returns 0x0102A550 10 thunk_to_STL_string_dtor_0102a550 stl Wrapper that calls STL_string_dtor and returns 0x0102A560 10 thunk_to_STL_string_dtor_0102a560 stl Wrapper that calls STL_string_dtor and returns 0x0102A570 10 thunk_to_STL_string_dtor_0102a570 stl Wrapper function that calls STL_string_dtor and returns 0x0102A580 10 thunk_to_STL_string_dtor_0102a580 stl Wrapper that calls STL_string_dtor and returns 0x0102A590 10 thunk_to_STL_string_dtor_0102a590 stl Wrapper that calls STL_string_dtor and returns 0x0102A5A0 10 thunk_to_STL_string_dtor_0102a5a0 stl Wrapper that calls STL_string_dtor and returns 0x0102A5B0 10 thunk_to_STL_string_dtor_0102a5b0 stl Wrapper that calls STL_string_dtor and returns 0x0102A5C0 10 thunk_to_STL_string_dtor_0102a5c0 stl Wrapper that calls STL_string_dtor and returns 0x0102A5D0 10 thunk_to_STL_string_dtor_0102a5d0 stl Wrapper function that calls STL_string_dtor and returns 0x0102A5E0 10 thunk_to_STL_string_dtor_0102a5e0 stl Wrapper that calls STL_string_dtor and returns 0x0102A660 280 atexit_unregister_window_classes_0102a660 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0102A780 66 atexit_STL_map_destroy_wrapper_0102a780 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global STL map instance. 0x0102A7D0 11 set_vtable_ptr_CMouseTracker game_core Sets vtable pointer at PTR_PTR_01319ea0 to CMouseTracker's scalar_deleting_dtor vtable (PTR_CMouseTracker__scalar_deleting_dtor_0110c4d0). Called during static initialization. 0x0102A850 280 atexit_unregister_window_classes_0102a850 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0102A970 10 thunk_to_STL_string_dtor_0102a970 stl Wrapper that calls STL_string_dtor and returns immediately 0x0102A980 10 thunk_to_STL_string_dtor_0102a980 stl Wrapper that calls STL_string_dtor and returns 0x0102A990 10 thunk_to_STL_string_dtor_0102a990 stl Wrapper that calls STL_string_dtor and returns 0x0102A9A0 10 thunk_to_STL_string_dtor_0102a9a0 stl Wrapper that calls STL_string_dtor and returns 0x0102A9B0 10 thunk_to_STL_string_dtor_0102a9b0 stl Wrapper that calls STL_string_dtor and returns 0x0102A9C0 10 thunk_to_STL_string_dtor_0102a9c0 stl Wrapper that calls STL_string_dtor and returns 0x0102A9D0 10 thunk_to_STL_string_dtor_0102a9d0 stl Wrapper that calls STL_string_dtor and returns 0x0102A9E0 10 thunk_to_STL_string_dtor_0102a9e0 stl Wrapper that calls STL_string_dtor and returns 0x0102A9F0 10 thunk_to_STL_string_dtor_0102a9f0 stl Wrapper that calls STL_string_dtor and returns 0x0102AA00 10 thunk_to_STL_string_dtor_0102aa00 stl Wrapper that calls STL_string_dtor and returns 0x0102AA10 10 thunk_to_STL_string_dtor_0102aa10 stl Wrapper that calls STL_string_dtor and returns 0x0102AA20 10 thunk_to_STL_string_dtor_0102aa20 stl Wrapper that calls STL_string_dtor and returns 0x0102AA30 10 thunk_to_STL_string_dtor_0102aa30 stl Wrapper that calls STL_string_dtor and returns 0x0102AA40 10 thunk_to_STL_string_dtor_0102aa40 stl Wrapper that calls STL_string_dtor and returns 0x0102AA50 10 thunk_to_STL_string_dtor_0102aa50 stl Wrapper function that calls STL_string_dtor and returns 0x0102AA60 10 thunk_to_STL_string_dtor_0102aa60 stl Wrapper that calls STL_string_dtor and returns 0x0102AA70 10 thunk_to_STL_string_dtor_0102aa70 stl Wrapper that calls STL_string_dtor and returns 0x0102AA80 10 thunk_to_STL_string_dtor_0102aa80 stl Wrapper that calls STL_string_dtor and returns 0x0102AA90 10 thunk_to_STL_string_dtor_0102aa90 stl Wrapper that calls STL_string_dtor and returns 0x0102AAA0 10 thunk_to_STL_string_dtor_0102aaa0 stl Wrapper that calls STL_string_dtor and returns 0x0102AAB0 10 thunk_to_STL_string_dtor_0102aab0 stl Wrapper that calls STL_string_dtor and returns 0x0102AAC0 10 thunk_to_STL_string_dtor_0102aac0 stl Wrapper that calls STL_string_dtor and returns 0x0102AAD0 10 thunk_to_STL_string_dtor_0102aad0 stl Wrapper that calls STL_string_dtor and returns 0x0102AAE0 10 thunk_to_STL_string_dtor_0102aae0 stl Wrapper that calls STL_string_dtor and returns 0x0102AAF0 10 thunk_to_STL_string_dtor_0102aaf0 stl Wrapper that calls STL_string_dtor and returns 0x0102AB70 280 atexit_unregister_window_classes_0102ab70 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section, resets globals. SEH-protected. 0x0102AC90 66 atexit_STL_map_destroy crt atexit handler: SEH-protected wrapper that calls STL_map_destroy to clean up a global std::map at program exit. 0x0102ACE0 10 thunk_to_STL_string_dtor_0102ace0 stl Wrapper that calls STL_string_dtor and returns 0x0102ACF0 10 thunk_to_STL_string_dtor_0102acf0 stl Wrapper that calls STL_string_dtor and returns 0x0102AD00 10 thunk_to_STL_string_dtor_0102ad00 stl Wrapper that calls STL_string_dtor and returns 0x0102AD10 10 thunk_to_STL_string_dtor_0102ad10 stl Wrapper that calls STL_string_dtor and returns 0x0102AD20 10 thunk_to_STL_string_dtor_0102ad20 stl Wrapper function that calls STL_string_dtor and returns 0x0102AD30 10 thunk_to_STL_string_dtor_0102ad30 stl Wrapper that calls STL_string_dtor and returns 0x0102AD40 10 thunk_to_STL_string_dtor_0102ad40 stl Wrapper that calls STL_string_dtor and returns 0x0102AD50 10 thunk_to_STL_string_dtor_0102ad50 stl Wrapper that calls STL_string_dtor and returns 0x0102AD60 10 thunk_to_STL_string_dtor_0102ad60 stl Wrapper that calls STL_string_dtor and returns 0x0102AD70 10 thunk_to_STL_string_dtor_0102ad70 stl Wrapper that calls STL_string_dtor and returns 0x0102AD80 10 thunk_to_STL_string_dtor_0102ad80 stl Wrapper that calls STL_string_dtor and returns 0x0102AD90 10 thunk_to_STL_string_dtor_0102ad90 stl Wrapper that calls STL_string_dtor and returns 0x0102ADA0 10 thunk_to_STL_string_dtor_0102ada0 stl Wrapper that calls STL_string_dtor and returns 0x0102ADB0 10 thunk_to_STL_string_dtor_0102adb0 stl Wrapper that calls STL_string_dtor and returns 0x0102ADC0 10 thunk_to_STL_string_dtor_0102adc0 stl Wrapper that calls STL_string_dtor and returns 0x0102ADD0 10 thunk_to_STL_string_dtor_0102add0 stl Wrapper that calls STL_string_dtor and returns 0x0102ADE0 10 thunk_to_STL_string_dtor_0102ade0 stl Wrapper that calls STL_string_dtor and returns 0x0102ADF0 10 thunk_to_STL_string_dtor_0102adf0 stl Wrapper that calls STL_string_dtor and returns 0x0102AE00 10 thunk_to_STL_string_dtor_0102ae00 stl Wrapper that calls STL_string_dtor and returns 0x0102AE10 10 thunk_to_STL_string_dtor_0102ae10 stl Wrapper that calls STL_string_dtor and returns 0x0102AE20 10 thunk_to_STL_string_dtor_0102ae20 stl Wrapper that calls STL_string_dtor and returns 0x0102AE30 10 thunk_to_STL_string_dtor_0102ae30 stl Wrapper that calls STL_string_dtor and returns 0x0102AE40 10 thunk_to_STL_string_dtor_0102ae40 stl Wrapper that calls STL_string_dtor and returns 0x0102AE50 10 thunk_to_STL_string_dtor_0102ae50 stl Wrapper function that calls STL_string_dtor and returns 0x0102AE60 10 thunk_to_STL_string_dtor_0102ae60 stl Wrapper that calls STL_string_dtor and returns 0x0102AEE0 280 atexit_ATL_unregister_window_classes crt atexit handler: SEH-protected ATL window class cleanup. Iterates registered class atoms, calls UnregisterClassA for each, frees the atom array, and deletes the critical section protecting the registration table. All 280-byte functions with this pattern are identical ATL cleanup handlers registered by different CRT init sections. 0x0102B000 66 atexit_STL_map_destroy_0102b000 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x0102B050 10 thunk_to_STL_string_dtor_0102b050 stl Wrapper function that calls STL_string_dtor and returns 0x0102B060 10 thunk_to_STL_string_dtor_0102b060 stl Wrapper that calls STL_string_dtor and returns 0x0102B070 10 thunk_to_STL_string_dtor_0102b070 stl Wrapper that calls STL_string_dtor and returns 0x0102B080 10 thunk_to_STL_string_dtor_0102b080 stl Wrapper that calls STL_string_dtor and returns 0x0102B090 10 thunk_to_STL_string_dtor_0102b090 stl Wrapper that calls STL_string_dtor and returns 0x0102B0A0 10 thunk_to_STL_string_dtor_0102b0a0 stl Wrapper that calls STL_string_dtor and returns 0x0102B0B0 10 thunk_to_STL_string_dtor_0102b0b0 stl Wrapper that calls STL_string_dtor and returns 0x0102B0C0 10 thunk_to_STL_string_dtor_0102b0c0 stl Wrapper that calls STL_string_dtor and returns 0x0102B0D0 10 thunk_to_STL_string_dtor_0102b0d0 stl Wrapper that calls STL_string_dtor and returns 0x0102B0E0 10 thunk_to_STL_string_dtor_0102b0e0 stl Wrapper that calls STL_string_dtor and returns 0x0102B0F0 10 thunk_to_STL_string_dtor_0102b0f0 stl Wrapper that calls STL_string_dtor and returns 0x0102B100 10 thunk_to_STL_string_dtor_0102b100 stl Wrapper that calls STL_string_dtor and returns 0x0102B110 10 thunk_to_STL_string_dtor_0102b110 stl Wrapper calling STL_string_dtor destructor 0x0102B120 10 thunk_to_STL_string_dtor_0102b120 stl Wrapper that calls STL_string_dtor and returns 0x0102B130 10 thunk_to_STL_string_dtor_0102b130 stl Wrapper that calls STL_string_dtor and returns 0x0102B140 10 thunk_to_STL_string_dtor_0102b140 stl Wrapper that calls STL_string_dtor and returns 0x0102B150 10 thunk_to_STL_string_dtor_0102b150 stl Wrapper function that calls STL_string_dtor and returns 0x0102B160 10 thunk_to_STL_string_dtor_0102b160 stl Wrapper function that calls STL_string_dtor and returns 0x0102B170 10 thunk_to_STL_string_dtor_0102b170 stl Wrapper that calls STL_string_dtor and returns 0x0102B180 10 thunk_to_STL_string_dtor_0102b180 stl Wrapper that calls STL_string_dtor and returns 0x0102B190 10 thunk_to_STL_string_dtor_0102b190 stl Wrapper that calls STL_string_dtor and returns 0x0102B1A0 10 thunk_to_STL_string_dtor_0102b1a0 stl Wrapper that calls STL_string_dtor and returns 0x0102B1B0 10 thunk_to_STL_string_dtor_0102b1b0 stl Wrapper that calls STL_string_dtor and returns 0x0102B1C0 10 thunk_to_STL_string_dtor_0102b1c0 stl Wrapper that calls STL_string_dtor and returns 0x0102B1D0 10 thunk_to_STL_string_dtor_0102b1d0 stl Wrapper that calls STL_string_dtor and returns 0x0102B250 280 atexit_ATL_unregister_window_classes_0102b250 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102B370 66 atexit_STL_map_destroy_0102b370 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x0102B3C0 10 thunk_to_STL_string_dtor_0102b3c0 stl Wrapper that calls STL_string_dtor and returns 0x0102B3D0 10 thunk_to_STL_string_dtor_0102b3d0 stl Wrapper that calls STL_string_dtor and returns 0x0102B3E0 10 thunk_to_STL_string_dtor_0102b3e0 stl Wrapper that calls STL_string_dtor and returns 0x0102B3F0 10 thunk_to_STL_string_dtor_0102b3f0 stl Wrapper that calls STL_string_dtor and returns 0x0102B400 10 thunk_to_STL_string_dtor_0102b400 stl Wrapper that calls STL_string_dtor and returns 0x0102B410 10 thunk_to_STL_string_dtor_0102b410 stl Wrapper that calls STL_string_dtor and returns 0x0102B420 10 thunk_to_STL_string_dtor_0102b420 stl Wrapper that calls STL_string_dtor and returns 0x0102B430 10 thunk_to_STL_string_dtor_0102b430 stl Wrapper that calls STL_string_dtor and returns 0x0102B440 10 thunk_to_STL_string_dtor_0102b440 stl Wrapper that calls STL_string_dtor and returns 0x0102B450 10 thunk_to_STL_string_dtor_0102b450 stl Wrapper that calls STL_string_dtor and returns 0x0102B460 10 thunk_to_STL_string_dtor_0102b460 stl Wrapper that calls STL_string_dtor and returns 0x0102B470 10 thunk_to_STL_string_dtor_0102b470 stl Wrapper that calls STL_string_dtor and returns 0x0102B480 10 thunk_to_STL_string_dtor_0102b480 stl Wrapper that calls STL_string_dtor and returns 0x0102B490 10 thunk_to_STL_string_dtor_0102b490 stl Wrapper that calls STL_string_dtor and returns 0x0102B4A0 10 thunk_to_STL_string_dtor_0102b4a0 stl Wrapper that calls STL_string_dtor and returns 0x0102B4B0 10 thunk_to_STL_string_dtor_0102b4b0 stl Wrapper that calls STL_string_dtor and returns 0x0102B4C0 10 thunk_to_STL_string_dtor_0102b4c0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0102B4D0 10 thunk_to_STL_string_dtor_0102b4d0 stl Wrapper calling STL_string_dtor destructor 0x0102B4E0 10 thunk_to_STL_string_dtor_0102b4e0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0102B4F0 10 thunk_to_STL_string_dtor_0102b4f0 stl Wrapper that calls STL_string_dtor and returns 0x0102B500 10 thunk_to_STL_string_dtor_0102b500 stl Wrapper that calls STL_string_dtor and returns 0x0102B510 10 thunk_to_STL_string_dtor_0102b510 stl Wrapper that calls STL_string_dtor and returns 0x0102B520 10 thunk_to_STL_string_dtor_0102b520 stl Wrapper that calls STL_string_dtor and returns 0x0102B530 10 thunk_to_STL_string_dtor_0102b530 stl Wrapper that calls STL_string_dtor and returns 0x0102B540 10 thunk_to_STL_string_dtor_0102b540 stl Wrapper that calls STL_string_dtor and returns 0x0102B5C0 280 atexit_ATL_unregister_window_classes_0102b5c0 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102B6E0 66 atexit_STL_map_destroy_0102b6e0 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x0102B730 66 atexit_CRankingBoard_tree_clear crt atexit handler: SEH-protected wrapper that calls CRankingBoard__tree_clear to clean up the ranking board tree structure at program exit. 0x0102B780 66 atexit_CRenderPipeline_destroy crt atexit handler: SEH-protected wrapper that calls CRenderPipeline__destroy_linked_list_and_vector to clean up render pipeline resources at program exit. 0x0102B7D0 10 thunk_to_STL_string_dtor_0102b7d0 stl Wrapper that calls STL_string_dtor and returns 0x0102B7E0 10 thunk_to_STL_string_dtor_0102b7e0 stl Wrapper that calls STL_string_dtor and returns 0x0102B7F0 10 thunk_to_STL_string_dtor_0102b7f0 stl Wrapper that calls STL_string_dtor and returns 0x0102B800 10 thunk_to_STL_string_dtor_0102b800 stl Wrapper that calls STL_string_dtor and returns 0x0102B810 10 thunk_to_STL_string_dtor_0102b810 stl Wrapper that calls STL_string_dtor and returns 0x0102B820 10 thunk_to_STL_string_dtor_0102b820 stl Wrapper that calls STL_string_dtor and returns 0x0102B830 10 thunk_to_STL_string_dtor_0102b830 stl Wrapper that calls STL_string_dtor and returns 0x0102B840 10 thunk_to_STL_string_dtor_0102b840 stl Wrapper that calls STL_string_dtor and returns 0x0102B850 10 thunk_to_STL_string_dtor_0102b850 stl Wrapper that calls STL_string_dtor and returns 0x0102B860 10 thunk_to_STL_string_dtor_0102b860 stl Wrapper that calls STL_string_dtor and returns 0x0102B870 10 thunk_to_STL_string_dtor_0102b870 stl Wrapper that calls STL_string_dtor and returns 0x0102B880 10 thunk_to_STL_string_dtor_0102b880 stl Wrapper that calls STL_string_dtor and returns 0x0102B890 10 thunk_to_STL_string_dtor_0102b890 stl Wrapper that calls STL_string_dtor and returns 0x0102B8A0 10 thunk_to_STL_string_dtor_0102b8a0 stl Wrapper that calls STL_string_dtor and returns 0x0102B8B0 10 thunk_to_STL_string_dtor_0102b8b0 stl Wrapper that calls STL_string_dtor and returns 0x0102B8C0 10 thunk_to_STL_string_dtor_0102b8c0 stl Wrapper that calls STL_string_dtor and returns 0x0102B8D0 10 thunk_to_STL_string_dtor_0102b8d0 stl Wrapper that calls STL_string_dtor and returns 0x0102B8E0 10 thunk_to_STL_string_dtor_0102b8e0 stl Wrapper that calls STL_string_dtor and returns 0x0102B8F0 10 thunk_to_STL_string_dtor_0102b8f0 stl Wrapper that calls STL_string_dtor and returns 0x0102B900 10 thunk_to_STL_string_dtor_0102b900 stl Wrapper that calls STL_string_dtor and returns 0x0102B910 10 thunk_to_STL_string_dtor_0102b910 stl Wrapper that calls STL_string_dtor and returns 0x0102B920 10 thunk_to_STL_string_dtor_0102b920 stl Wrapper that calls STL_string_dtor and returns 0x0102B930 10 thunk_to_STL_string_dtor_0102b930 stl Wrapper that calls STL_string_dtor and returns 0x0102B940 10 thunk_to_STL_string_dtor_0102b940 stl Wrapper function that calls STL_string_dtor and returns 0x0102B950 10 thunk_to_STL_string_dtor_0102b950 stl Wrapper that calls STL_string_dtor and returns immediately 0x0102B9D0 280 atexit_ATL_unregister_window_classes_0102b9d0 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102BAF0 66 atexit_STL_map_destroy_0102baf0 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x0102BBB0 280 atexit_ATL_unregister_window_classes_0102bbb0 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102BCD0 10 thunk_to_STL_string_dtor_0102bcd0 stl Wrapper that calls STL_string_dtor and returns 0x0102BCE0 10 thunk_to_STL_string_dtor_0102bce0 stl Wrapper that calls STL_string_dtor and returns 0x0102BCF0 10 thunk_to_STL_string_dtor_0102bcf0 stl Wrapper that calls STL_string_dtor and returns 0x0102BD00 10 thunk_to_STL_string_dtor_0102bd00 stl Wrapper that calls STL_string_dtor and returns 0x0102BD10 10 thunk_to_STL_string_dtor_0102bd10 stl Wrapper that calls STL_string_dtor and returns 0x0102BD20 10 thunk_to_STL_string_dtor_0102bd20 stl Wrapper that calls STL_string_dtor and returns 0x0102BD30 10 thunk_to_STL_string_dtor_0102bd30 stl Wrapper that calls STL_string_dtor and returns 0x0102BD40 10 thunk_to_STL_string_dtor_0102bd40 stl Wrapper that calls STL_string_dtor and returns 0x0102BD50 10 thunk_to_STL_string_dtor_0102bd50 stl Wrapper that calls STL_string_dtor and returns 0x0102BD60 10 thunk_to_STL_string_dtor_0102bd60 stl Wrapper that calls STL_string_dtor and returns 0x0102BD70 10 thunk_to_STL_string_dtor_0102bd70 stl Wrapper calling STL string destructor 0x0102BD80 10 thunk_to_STL_string_dtor_0102bd80 stl Wrapper that calls STL_string_dtor and returns 0x0102BD90 10 thunk_to_STL_string_dtor_0102bd90 stl Wrapper that calls STL_string_dtor and returns 0x0102BDA0 10 thunk_to_STL_string_dtor_0102bda0 stl Wrapper that calls STL_string_dtor and returns 0x0102BDB0 10 thunk_to_STL_string_dtor_0102bdb0 stl Wrapper that calls STL_string_dtor and returns 0x0102BDC0 10 thunk_to_STL_string_dtor_0102bdc0 stl Wrapper that calls STL_string_dtor and returns 0x0102BDD0 10 thunk_to_STL_string_dtor_0102bdd0 stl Wrapper calling STL_string_dtor destructor 0x0102BDE0 10 thunk_to_STL_string_dtor_0102bde0 stl Wrapper that calls STL_string_dtor and returns 0x0102BDF0 10 thunk_to_STL_string_dtor_0102bdf0 stl Wrapper that calls STL_string_dtor and returns 0x0102BE00 10 thunk_to_STL_string_dtor_0102be00 stl Wrapper that calls STL_string_dtor and returns 0x0102BE10 10 thunk_to_STL_string_dtor_0102be10 stl Wrapper that calls STL_string_dtor and returns 0x0102BE20 10 thunk_to_STL_string_dtor_0102be20 stl Wrapper that calls STL_string_dtor and returns 0x0102BE30 10 thunk_to_STL_string_dtor_0102be30 stl Wrapper that calls STL_string_dtor and returns 0x0102BE40 10 thunk_to_STL_string_dtor_0102be40 stl Wrapper that calls STL_string_dtor and returns 0x0102BE50 10 thunk_to_STL_string_dtor_0102be50 stl Wrapper that calls STL_string_dtor and returns 0x0102BED0 280 atexit_ATL_unregister_window_classes_0102bed0 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102BFF0 66 atexit_STL_map_destroy_0102bff0 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x0102C040 10 thunk_to_STL_string_dtor_0102c040 stl Wrapper that calls STL_string_dtor and returns 0x0102C050 10 thunk_to_STL_string_dtor_0102c050 stl Wrapper that calls STL_string_dtor and returns 0x0102C060 10 thunk_to_STL_string_dtor_0102c060 stl Wrapper that calls STL_string_dtor and returns 0x0102C070 10 thunk_to_STL_string_dtor_0102c070 stl Wrapper that calls STL_string_dtor and returns 0x0102C080 10 thunk_to_STL_string_dtor_0102c080 stl Wrapper that calls STL_string_dtor and returns 0x0102C090 10 thunk_to_STL_string_dtor_0102c090 stl Wrapper that calls STL_string_dtor and returns 0x0102C0A0 10 thunk_to_STL_string_dtor_0102c0a0 stl Wrapper that calls STL_string_dtor and returns 0x0102C0B0 10 thunk_to_STL_string_dtor_0102c0b0 stl Wrapper that calls STL_string_dtor and returns 0x0102C0C0 10 thunk_to_STL_string_dtor_0102c0c0 stl Wrapper that calls STL_string_dtor and returns 0x0102C0D0 10 thunk_to_STL_string_dtor_0102c0d0 stl Wrapper that calls STL_string_dtor and returns 0x0102C0E0 10 thunk_to_STL_string_dtor_0102c0e0 stl Wrapper that calls STL_string_dtor and returns 0x0102C0F0 10 thunk_to_STL_string_dtor_0102c0f0 stl Wrapper that calls STL_string_dtor and returns 0x0102C100 10 thunk_to_STL_string_dtor_0102c100 stl Wrapper that calls STL_string_dtor and returns 0x0102C110 10 thunk_to_STL_string_dtor_0102c110 stl Wrapper that calls STL_string_dtor and returns 0x0102C120 10 thunk_to_STL_string_dtor_0102c120 stl Wrapper that calls STL_string_dtor and returns 0x0102C130 10 thunk_to_STL_string_dtor_0102c130 stl Wrapper function that calls STL_string_dtor and returns 0x0102C140 10 thunk_to_STL_string_dtor_0102c140 stl Wrapper that calls STL_string_dtor and returns 0x0102C150 10 thunk_to_STL_string_dtor_0102c150 stl Wrapper that calls STL_string_dtor and returns 0x0102C160 10 thunk_to_STL_string_dtor_0102c160 stl Wrapper that calls STL_string_dtor and returns immediately 0x0102C170 10 thunk_to_STL_string_dtor_0102c170 stl Wrapper that calls STL string destructor 0x0102C180 10 thunk_to_STL_string_dtor_0102c180 stl Wrapper that calls STL_string_dtor and returns 0x0102C190 10 thunk_to_STL_string_dtor_0102c190 stl Wrapper that calls STL_string_dtor and returns 0x0102C1A0 10 thunk_to_STL_string_dtor_0102c1a0 stl Wrapper that calls STL_string_dtor and returns 0x0102C1B0 10 thunk_to_STL_string_dtor_0102c1b0 stl Wrapper that calls STL_string_dtor and returns 0x0102C1C0 10 thunk_to_STL_string_dtor_0102c1c0 stl Wrapper that calls STL_string_dtor and returns 0x0102C240 280 atexit_ATL_unregister_window_classes_0102c240 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102C360 66 atexit_STL_map_destroy_0102c360 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x0102C3B0 69 tls_clear_byte_array_0x1a2c_15 crt TLS initializer: Clears 15 bytes in thread-local storage at offset 0x1a2c. Part of a series of TLS callback functions that zero-initialize per-thread byte arrays during thread startup. Each function targets a different offset and size in the TLS block. 0x0102C400 69 tls_clear_byte_array_0x1ba0_5 crt TLS initializer: Clears 5 bytes in thread-local storage at offset 0x1ba0. 0x0102C450 69 tls_clear_byte_array_0x1aa4_45 crt TLS initializer: Clears 45 bytes in thread-local storage at offset 0x1aa4. 0x0102C4A0 69 tls_clear_byte_array_0x1b28_100 crt TLS initializer: Clears 100 bytes in thread-local storage at offset 0x1b28. 0x0102C4F0 69 tls_clear_byte_array_0x1e70_100 crt TLS initializer: Clears 100 bytes in thread-local storage at offset 0x1e70. 0x0102C540 69 tls_clear_byte_array_0x1ee8_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1ee8. 0x0102C590 69 tls_clear_byte_array_0x1cac_56 crt TLS initializer: Clears 56 bytes in thread-local storage at offset 0x1cac. 0x0102C5E0 69 tls_clear_byte_array_0x1bac_34 crt TLS initializer: Clears 34 bytes in thread-local storage at offset 0x1bac. 0x0102C630 69 tls_clear_byte_array_0x1c60_56 crt TLS initializer: Clears 56 bytes in thread-local storage at offset 0x1c60. 0x0102C680 69 tls_clear_byte_array_0x1e00_26 crt TLS initializer: Clears 26 bytes in thread-local storage at offset 0x1e00. 0x0102C6D0 69 tls_clear_byte_array_0x1ad8_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1ad8. 0x0102C720 69 tls_clear_byte_array_0x1b94_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1b94. 0x0102C770 69 tls_clear_byte_array_0x1edc_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1edc. 0x0102C7C0 69 tls_clear_byte_array_0x1cec_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1cec. 0x0102C810 69 tls_clear_byte_array_0x1a40_12 crt TLS initializer: Clears 12 bytes in thread-local storage at offset 0x1a40. 0x0102C860 69 tls_clear_byte_array_0x1cf8_5 crt TLS initializer: Clears 5 bytes in thread-local storage at offset 0x1cf8. 0x0102C8B0 69 tls_clear_byte_array_0x1ef8_100 crt TLS initializer: Clears 100 bytes in thread-local storage at offset 0x1ef8. 0x0102C900 69 tls_clear_byte_array_0x1bd4_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1bd4. 0x0102C950 69 tls_clear_byte_array_0x1ca0_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1ca0. 0x0102C9A0 69 tls_clear_byte_array_0x1e20_56 crt TLS initializer: Clears 56 bytes in thread-local storage at offset 0x1e20. 0x0102C9F0 69 tls_clear_byte_array_0x1d04_44 crt TLS initializer: Clears 44 bytes in thread-local storage at offset 0x1d04. 0x0102CA40 69 tls_clear_byte_array_0x1f64_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1f64. 0x0102CA90 69 tls_clear_byte_array_0x1be0_34 crt TLS initializer: Clears 34 bytes in thread-local storage at offset 0x1be0. 0x0102CAE0 69 tls_clear_byte_array_0x1a54_16 crt TLS initializer: Clears 16 bytes in thread-local storage at offset 0x1a54. 0x0102CB30 69 tls_clear_byte_array_0x1e60_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1e60. 0x0102CB80 69 tls_clear_byte_array_0x1d38_44 crt TLS initializer: Clears 44 bytes in thread-local storage at offset 0x1d38. 0x0102CBD0 69 tls_clear_byte_array_0x1a6c_38 crt TLS initializer: Clears 38 bytes in thread-local storage at offset 0x1a6c. 0x0102CC20 69 tls_clear_byte_array_0x1c08_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1c08. 0x0102CC70 69 tls_clear_byte_array_0x1d6c_5 crt TLS initializer: Clears 5 bytes in thread-local storage at offset 0x1d6c. 0x0102CCC0 69 tls_clear_byte_array_0x1a98_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1a98. 0x0102CD10 69 tls_clear_byte_array_0x1c14_56 crt TLS initializer: Clears 56 bytes in thread-local storage at offset 0x1c14. 0x0102CD60 71 tls_clear_byte_array_0x1d78_129 crt TLS initializer: Clears 129 bytes in thread-local storage at offset 0x1d78. Largest TLS clear in this batch. 0x0102CDB0 69 tls_clear_byte_array_0x1c54_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1c54. 0x0102CE00 69 tls_clear_byte_array_0x1ae4_45 crt TLS initializer: Clears 45 bytes in thread-local storage at offset 0x1ae4. 0x0102CE50 69 tls_clear_byte_array_0x1b18_7 crt TLS initializer: Clears 7 bytes in thread-local storage at offset 0x1b18. 0x0102CEA0 66 atexit_CRenderPipeline_destroy_0102cea0 crt atexit handler: SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector for render pipeline cleanup. 0x0102CEF0 10 thunk_to_STL_string_dtor_0102cef0 stl Wrapper that calls STL_string_dtor and returns 0x0102CF00 10 thunk_to_STL_string_dtor_0102cf00 stl Wrapper that calls STL_string_dtor and returns 0x0102CF10 10 thunk_to_STL_string_dtor_0102cf10 stl Wrapper that calls STL_string_dtor and returns 0x0102CF20 10 thunk_to_STL_string_dtor_0102cf20 stl Wrapper that calls STL_string_dtor and returns 0x0102CF30 10 thunk_to_STL_string_dtor_0102cf30 stl Wrapper that calls STL_string_dtor and returns 0x0102CF40 10 thunk_to_STL_string_dtor_0102cf40 stl Wrapper that calls STL_string_dtor and returns 0x0102CF50 10 thunk_to_STL_string_dtor_0102cf50 stl Wrapper that calls STL_string_dtor and returns 0x0102CF60 10 thunk_to_STL_string_dtor_0102cf60 stl Wrapper that calls STL_string_dtor and returns 0x0102CF70 10 thunk_to_STL_string_dtor_0102cf70 stl Wrapper that calls STL_string_dtor and returns 0x0102CF80 10 thunk_to_STL_string_dtor_0102cf80 stl Wrapper that calls STL_string_dtor and returns 0x0102CF90 10 thunk_to_STL_string_dtor_0102cf90 stl Wrapper that calls STL_string_dtor and returns 0x0102CFA0 10 thunk_to_STL_string_dtor_0102cfa0 stl Wrapper that calls STL_string_dtor and returns 0x0102CFB0 10 thunk_to_STL_string_dtor_0102cfb0 stl Wrapper that calls STL_string_dtor and returns 0x0102CFC0 10 thunk_to_STL_string_dtor_0102cfc0 stl Wrapper that calls STL_string_dtor and returns 0x0102CFD0 10 thunk_to_STL_string_dtor_0102cfd0 stl Wrapper that calls STL_string_dtor and returns 0x0102CFE0 10 thunk_to_STL_string_dtor_0102cfe0 stl Wrapper that calls STL_string_dtor and returns 0x0102CFF0 10 thunk_to_STL_string_dtor_0102cff0 stl Wrapper that calls STL_string_dtor and returns 0x0102D000 10 thunk_to_STL_string_dtor_0102d000 stl Wrapper function that calls STL_string_dtor and returns 0x0102D010 10 thunk_to_STL_string_dtor_0102d010 stl Wrapper that calls STL_string_dtor and returns 0x0102D020 10 thunk_to_STL_string_dtor_0102d020 stl Wrapper that calls STL_string_dtor and returns 0x0102D030 10 thunk_to_STL_string_dtor_0102d030 stl Wrapper that calls STL_string_dtor and returns 0x0102D040 10 thunk_to_STL_string_dtor_0102d040 stl Wrapper that calls STL_string_dtor and returns 0x0102D050 10 thunk_to_STL_string_dtor_0102d050 stl Wrapper that calls STL_string_dtor and returns 0x0102D060 10 thunk_to_STL_string_dtor_0102d060 stl Wrapper that calls STL_string_dtor and returns 0x0102D070 10 thunk_to_STL_string_dtor_0102d070 stl Wrapper that calls STL_string_dtor and returns 0x0102D0F0 280 atexit_ATL_unregister_window_classes_0102d0f0 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102D210 66 atexit_STL_map_destroy_0102d210 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x0102D260 10 thunk_to_STL_string_dtor_0102d260 stl Wrapper function that calls STL_string_dtor and returns 0x0102D270 10 thunk_to_STL_string_dtor_0102d270 stl Wrapper that calls STL_string_dtor and returns 0x0102D280 10 thunk_to_STL_string_dtor_0102d280 stl Wrapper that calls STL_string_dtor and returns 0x0102D290 10 thunk_to_STL_string_dtor_0102d290 stl Wrapper that calls STL_string_dtor and returns 0x0102D2A0 10 thunk_to_STL_string_dtor_0102d2a0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0102D2B0 10 thunk_to_STL_string_dtor_0102d2b0 stl Wrapper that calls STL_string_dtor and returns 0x0102D2C0 10 thunk_to_STL_string_dtor_0102d2c0 stl Wrapper that calls STL_string_dtor and returns 0x0102D2D0 10 thunk_to_STL_string_dtor_0102d2d0 stl Wrapper that calls STL_string_dtor and returns 0x0102D2E0 10 thunk_to_STL_string_dtor_0102d2e0 stl Wrapper that calls STL_string_dtor and returns 0x0102D300 10 thunk_to_STL_string_dtor_0102d300 stl Wrapper that calls STL_string_dtor destructor 0x0102D310 10 thunk_to_STL_string_dtor_0102d310 stl Wrapper that calls STL_string_dtor and returns 0x0102D320 10 thunk_to_STL_string_dtor_0102d320 stl Wrapper that calls STL_string_dtor and returns 0x0102D330 10 thunk_to_STL_string_dtor_0102d330 stl Wrapper that calls STL_string_dtor and returns 0x0102D340 10 thunk_to_STL_string_dtor_0102d340 stl Wrapper that calls STL_string_dtor and returns 0x0102D350 10 thunk_to_STL_string_dtor_0102d350 stl Wrapper that calls STL_string_dtor and returns 0x0102D360 10 thunk_to_STL_string_dtor_0102d360 stl Wrapper that calls STL_string_dtor and returns 0x0102D370 10 thunk_to_STL_string_dtor_0102d370 stl Wrapper that calls STL_string_dtor and returns 0x0102D380 10 thunk_to_STL_string_dtor_0102d380 stl Wrapper that calls STL_string_dtor and returns immediately 0x0102D390 10 thunk_to_STL_string_dtor_0102d390 stl Wrapper that calls STL_string_dtor and returns 0x0102D3A0 10 thunk_to_STL_string_dtor_0102d3a0 stl Wrapper that calls STL_string_dtor and returns 0x0102D3B0 10 thunk_to_STL_string_dtor_0102d3b0 stl Wrapper that calls STL_string_dtor and returns 0x0102D3C0 10 thunk_to_STL_string_dtor_0102d3c0 stl Wrapper that calls STL_string_dtor and returns 0x0102D3D0 10 thunk_to_STL_string_dtor_0102d3d0 stl Wrapper that calls STL_string_dtor and returns 0x0102D3E0 10 thunk_to_STL_string_dtor_0102d3e0 stl Wrapper that calls STL_string_dtor and returns 0x0102D460 280 atexit_ATL_unregister_window_classes_0102d460 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102D5F0 280 atexit_ATL_unregister_window_classes_0102d5f0 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102D780 280 atexit_ATL_unregister_window_classes_0102d780 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102D910 280 atexit_ATL_unregister_window_classes_0102d910 crt atexit handler: ATL window class unregistration and critical section cleanup. 0x0102DA30 66 atexit_CCipherUtil_cleanup crt atexit handler: SEH-protected wrapper that calls CCipherUtil__validate_key_len to clean up cipher utility state at program exit. 0x0102DAF0 280 atexit_ATL_unregister_window_classes_0102daf0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102DC10 105 atexit_cipher_list_destroy crt atexit handler: SEH-protected cleanup that destroys cipher resources. Calls CCipherUtil__init_round_key_b (cleanup phase), then STL_list_destroy_nodes_with_ref_release to free a linked list, and operator_delete to free the list container (0x38 bytes) at DAT_0138cee0. 0x0102DC80 66 atexit_PacketHashMap_destroy crt atexit handler: SEH-protected wrapper that calls PacketHashMap__destroy_all_nodes_0xc to clean up the packet hash map at program exit. 0x0102DD40 280 atexit_ATL_unregister_window_classes_0102dd40 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102DED0 280 atexit_ATL_unregister_window_classes_0102ded0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102E060 280 atexit_ATL_unregister_window_classes_0102e060 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102E1F0 280 atexit_ATL_unregister_window_classes_0102e1f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102E380 280 atexit_ATL_unregister_window_classes_0102e380 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102E510 280 atexit_ATL_unregister_window_classes_0102e510 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102E6A0 280 atexit_ATL_unregister_window_classes_0102e6a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102E830 280 atexit_ATL_unregister_window_classes_0102e830 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102E950 10 thunk_to_STL_string_dtor_0102e950 stl Wrapper that calls STL_string_dtor and returns 0x0102E960 10 thunk_to_STL_string_dtor_0102e960 stl Wrapper that calls STL_string_dtor and returns 0x0102E970 10 thunk_to_STL_string_dtor_0102e970 stl Wrapper that calls STL_string_dtor and returns 0x0102E980 10 thunk_to_STL_string_dtor_0102e980 stl Wrapper that calls STL_string_dtor and returns 0x0102E990 10 thunk_to_STL_string_dtor_0102e990 stl Wrapper that calls STL_string_dtor and returns 0x0102E9A0 10 thunk_to_STL_string_dtor_0102e9a0 stl Wrapper that calls STL_string_dtor and returns 0x0102E9B0 10 thunk_to_STL_string_dtor_0102e9b0 stl Wrapper that calls STL_string_dtor and returns 0x0102E9C0 10 thunk_to_STL_string_dtor_0102e9c0 stl Wrapper that calls STL_string_dtor and returns 0x0102E9D0 10 thunk_to_STL_string_dtor_0102e9d0 stl Wrapper that calls STL_string_dtor and returns 0x0102E9E0 10 thunk_to_STL_string_dtor_0102e9e0 stl Wrapper that calls STL_string_dtor and returns 0x0102E9F0 10 thunk_to_STL_string_dtor_0102e9f0 stl Wrapper that calls STL_string_dtor and returns 0x0102EA00 10 thunk_to_STL_string_dtor_0102ea00 stl Wrapper that calls STL_string_dtor and returns 0x0102EA10 10 thunk_to_STL_string_dtor_0102ea10 stl Wrapper that calls STL_string_dtor and returns 0x0102EA20 10 thunk_to_STL_string_dtor_0102ea20 stl Wrapper that calls STL_string_dtor and returns 0x0102EA30 10 thunk_to_STL_string_dtor_0102ea30 stl Wrapper that calls STL_string_dtor and returns 0x0102EA40 10 thunk_to_STL_string_dtor_0102ea40 stl Wrapper that calls STL_string_dtor and returns 0x0102EA50 10 thunk_to_STL_string_dtor_0102ea50 stl Wrapper that calls STL_string_dtor destructor 0x0102EA60 10 thunk_to_STL_string_dtor_0102ea60 stl Wrapper that calls STL_string_dtor and returns 0x0102EA70 10 thunk_to_STL_string_dtor_0102ea70 stl Wrapper that calls STL_string_dtor and returns 0x0102EA80 10 thunk_to_STL_string_dtor_0102ea80 stl Wrapper that calls STL_string_dtor and returns 0x0102EA90 10 thunk_to_STL_string_dtor_0102ea90 stl Wrapper that calls STL_string_dtor and returns 0x0102EAA0 10 thunk_to_STL_string_dtor_0102eaa0 stl Wrapper that calls STL_string_dtor and returns 0x0102EAB0 10 thunk_to_STL_string_dtor_0102eab0 stl Wrapper that calls STL_string_dtor and returns 0x0102EAC0 10 thunk_to_STL_string_dtor_0102eac0 stl Wrapper calling STL_string_dtor destructor 0x0102EAD0 10 thunk_to_STL_string_dtor_0102ead0 stl Wrapper that calls STL_string_dtor and returns 0x0102EB50 280 atexit_ATL_unregister_window_classes_0102eb50 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102EC70 66 atexit_STL_map_destroy_0102ec70 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x0102ED30 280 atexit_ATL_unregister_window_classes_0102ed30 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102EEC0 280 atexit_ATL_unregister_window_classes_0102eec0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102EFE0 10 thunk_to_STL_string_dtor_0102efe0 stl Wrapper that calls STL_string_dtor and returns 0x0102EFF0 10 thunk_to_STL_string_dtor_0102eff0 stl Wrapper that calls STL_string_dtor and returns 0x0102F000 10 thunk_to_STL_string_dtor_0102f000 stl Wrapper that calls STL_string_dtor and returns 0x0102F010 10 thunk_to_STL_string_dtor_0102f010 stl Wrapper that calls STL_string_dtor and returns 0x0102F020 10 thunk_to_STL_string_dtor_0102f020 stl Wrapper that calls STL_string_dtor and returns 0x0102F030 10 thunk_to_STL_string_dtor_0102f030 stl Wrapper that calls STL_string_dtor and returns 0x0102F040 10 thunk_to_STL_string_dtor_0102f040 stl Wrapper that calls STL_string_dtor and returns 0x0102F050 10 thunk_to_STL_string_dtor_0102f050 stl Wrapper that calls STL_string_dtor and returns 0x0102F060 10 thunk_to_STL_string_dtor_0102f060 stl Wrapper that calls STL_string_dtor and returns 0x0102F070 10 thunk_to_STL_string_dtor_0102f070 stl Wrapper that calls STL_string_dtor and returns 0x0102F080 10 thunk_to_STL_string_dtor_0102f080 stl Wrapper that calls STL_string_dtor and returns 0x0102F090 10 thunk_to_STL_string_dtor_0102f090 stl Wrapper that calls STL_string_dtor and returns 0x0102F0A0 10 thunk_to_STL_string_dtor_0102f0a0 stl Wrapper that calls STL_string_dtor and returns 0x0102F0B0 10 thunk_to_STL_string_dtor_0102f0b0 stl Wrapper that calls STL_string_dtor and returns 0x0102F0C0 10 thunk_to_STL_string_dtor_0102f0c0 stl Wrapper that calls STL_string_dtor and returns 0x0102F0D0 10 thunk_to_STL_string_dtor_0102f0d0 stl Wrapper that calls STL_string_dtor and returns 0x0102F0E0 10 thunk_to_STL_string_dtor_0102f0e0 stl Wrapper that calls STL_string_dtor and returns 0x0102F0F0 10 thunk_to_STL_string_dtor_0102f0f0 stl Wrapper that calls STL_string_dtor and returns 0x0102F100 10 thunk_to_STL_string_dtor_0102f100 stl Wrapper that calls STL_string_dtor and returns 0x0102F110 10 thunk_to_STL_string_dtor_0102f110 stl Wrapper that calls STL_string_dtor and returns 0x0102F120 10 thunk_to_STL_string_dtor_0102f120 stl Wrapper that calls STL_string_dtor and returns 0x0102F130 10 thunk_to_STL_string_dtor_0102f130 stl Wrapper that calls STL_string_dtor and returns 0x0102F140 10 thunk_to_STL_string_dtor_0102f140 stl Wrapper that calls STL_string_dtor and returns 0x0102F150 10 thunk_to_STL_string_dtor_0102f150 stl Wrapper that calls STL_string_dtor and returns 0x0102F160 10 thunk_to_STL_string_dtor_0102f160 stl Wrapper that calls STL_string_dtor and returns 0x0102F1E0 280 atexit_ATL_unregister_window_classes_0102f1e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102F300 10 thunk_to_STL_string_dtor_0102f300 stl Wrapper that calls STL_string_dtor and returns 0x0102F310 10 thunk_to_STL_string_dtor_0102f310 stl Wrapper that calls STL_string_dtor and returns 0x0102F320 10 thunk_to_STL_string_dtor_0102f320 stl Wrapper that calls STL_string_dtor and returns 0x0102F330 10 thunk_to_STL_string_dtor_0102f330 stl Wrapper that calls STL_string_dtor and returns 0x0102F340 10 thunk_to_STL_string_dtor_0102f340 stl Wrapper that calls STL_string_dtor and returns 0x0102F350 10 thunk_to_STL_string_dtor_0102f350 stl Wrapper that calls STL_string_dtor and returns 0x0102F360 10 thunk_to_STL_string_dtor_0102f360 stl Wrapper that calls STL_string_dtor and returns 0x0102F370 10 thunk_to_STL_string_dtor_0102f370 stl Wrapper that calls STL_string_dtor and returns 0x0102F380 10 thunk_to_STL_string_dtor_0102f380 stl Wrapper that calls STL_string_dtor and returns 0x0102F390 10 thunk_to_STL_string_dtor_0102f390 stl Wrapper that calls STL_string_dtor and returns 0x0102F3A0 10 thunk_to_STL_string_dtor_0102f3a0 stl Wrapper that calls STL_string_dtor and returns 0x0102F3B0 10 thunk_to_STL_string_dtor_0102f3b0 stl Wrapper that calls STL_string_dtor and returns 0x0102F3C0 10 thunk_to_STL_string_dtor_0102f3c0 stl Wrapper that calls STL_string_dtor and returns 0x0102F3D0 10 thunk_to_STL_string_dtor_0102f3d0 stl Wrapper that calls STL_string_dtor and returns 0x0102F3E0 10 thunk_to_STL_string_dtor_0102f3e0 stl Wrapper that calls STL_string_dtor and returns 0x0102F3F0 10 thunk_to_STL_string_dtor_0102f3f0 stl Wrapper that calls STL_string_dtor and returns 0x0102F400 10 thunk_to_STL_string_dtor_0102f400 stl Wrapper that calls STL_string_dtor and returns 0x0102F410 10 thunk_to_STL_string_dtor_0102f410 stl Wrapper that calls STL_string_dtor and returns 0x0102F420 10 thunk_to_STL_string_dtor_0102f420 stl Wrapper that calls STL_string_dtor and returns 0x0102F430 10 thunk_to_STL_string_dtor_0102f430 stl Wrapper that calls STL_string_dtor and returns 0x0102F440 10 thunk_to_STL_string_dtor_0102f440 stl Wrapper that calls STL_string_dtor and returns 0x0102F450 10 thunk_to_STL_string_dtor_0102f450 stl Wrapper that calls STL_string_dtor and returns 0x0102F460 10 thunk_to_STL_string_dtor_0102f460 stl Wrapper that calls STL_string_dtor and returns 0x0102F470 10 thunk_to_STL_string_dtor_0102f470 stl Wrapper that calls STL_string_dtor and returns 0x0102F480 10 thunk_to_STL_string_dtor_0102f480 stl Wrapper that calls STL_string_dtor and returns 0x0102F500 280 atexit_ATL_unregister_window_classes_0102f500 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102F620 69 tls_clear_byte_array_0x1f70_28 crt TLS initializer: Clears 28 bytes in thread-local storage at offset 0x1f70. 0x0102F6E0 280 atexit_ATL_unregister_window_classes_0102f6e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102F870 280 atexit_ATL_unregister_window_classes_0102f870 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102F990 10 thunk_to_STL_string_dtor_0102f990 stl Wrapper that calls STL_string_dtor and returns 0x0102F9A0 10 thunk_to_STL_string_dtor_0102f9a0 stl Wrapper that calls STL_string_dtor and returns 0x0102F9B0 10 thunk_to_STL_string_dtor_0102f9b0 stl Wrapper that calls STL_string_dtor and returns 0x0102F9C0 10 thunk_to_STL_string_dtor_0102f9c0 stl Wrapper that calls STL_string_dtor and returns 0x0102F9D0 10 thunk_to_STL_string_dtor_0102f9d0 stl Wrapper that calls STL_string_dtor and returns 0x0102F9E0 10 thunk_to_STL_string_dtor_0102f9e0 stl Wrapper that calls STL_string_dtor and returns 0x0102F9F0 10 thunk_to_STL_string_dtor_0102f9f0 stl Wrapper that calls STL_string_dtor and returns 0x0102FA00 10 thunk_to_STL_string_dtor_0102fa00 stl Wrapper that calls STL_string_dtor and returns 0x0102FA10 10 thunk_to_STL_string_dtor_0102fa10 stl Wrapper that calls STL_string_dtor and returns 0x0102FA20 10 thunk_to_STL_string_dtor_0102fa20 stl Wrapper that calls STL_string_dtor and returns 0x0102FA30 10 thunk_to_STL_string_dtor_0102fa30 stl Wrapper that calls STL_string_dtor and returns 0x0102FA40 10 thunk_to_STL_string_dtor_0102fa40 stl Wrapper calling STL_string_dtor destructor 0x0102FA50 10 thunk_to_STL_string_dtor_0102fa50 stl Wrapper that calls STL_string_dtor and returns 0x0102FA60 10 thunk_to_STL_string_dtor_0102fa60 stl Wrapper that calls STL_string_dtor and returns 0x0102FA70 10 thunk_to_STL_string_dtor_0102fa70 stl Wrapper that calls STL_string_dtor and returns 0x0102FA80 10 thunk_to_STL_string_dtor_0102fa80 stl Wrapper that calls STL_string_dtor and returns 0x0102FA90 10 thunk_to_STL_string_dtor_0102fa90 stl Wrapper that calls STL_string_dtor and returns 0x0102FAA0 10 thunk_to_STL_string_dtor_0102faa0 stl Wrapper that calls STL_string_dtor and returns 0x0102FAB0 10 thunk_to_STL_string_dtor_0102fab0 stl Wrapper that calls STL_string_dtor and returns 0x0102FAC0 10 thunk_to_STL_string_dtor_0102fac0 stl Wrapper that calls STL_string_dtor and returns 0x0102FAD0 10 thunk_to_STL_string_dtor_0102fad0 stl Wrapper that calls STL_string_dtor and returns 0x0102FAE0 10 thunk_to_STL_string_dtor_0102fae0 stl Wrapper that calls STL_string_dtor and returns 0x0102FAF0 10 thunk_to_STL_string_dtor_0102faf0 stl Wrapper that calls STL_string_dtor and returns 0x0102FB00 10 thunk_to_STL_string_dtor_0102fb00 stl Wrapper that calls STL_string_dtor and returns 0x0102FB10 10 thunk_to_STL_string_dtor_0102fb10 stl Wrapper that calls STL_string_dtor and returns 0x0102FB90 280 atexit_ATL_unregister_window_classes_0102fb90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102FCB0 10 thunk_to_STL_string_dtor_0102fcb0 stl Wrapper that calls STL_string_dtor and returns 0x0102FCC0 10 thunk_to_STL_string_dtor_0102fcc0 stl Wrapper that calls STL_string_dtor and returns 0x0102FCD0 10 thunk_to_STL_string_dtor_0102fcd0 stl Wrapper that calls STL_string_dtor and returns 0x0102FCE0 10 thunk_to_STL_string_dtor_0102fce0 stl Wrapper that calls STL_string_dtor and returns 0x0102FCF0 10 thunk_to_STL_string_dtor_0102fcf0 stl Wrapper that calls STL_string_dtor and returns 0x0102FD00 10 thunk_to_STL_string_dtor_0102fd00 stl Wrapper that calls STL_string_dtor and returns 0x0102FD10 10 thunk_to_STL_string_dtor_0102fd10 stl Wrapper that calls STL_string_dtor and returns 0x0102FD20 10 thunk_to_STL_string_dtor_0102fd20 stl Wrapper that calls STL_string_dtor and returns 0x0102FD30 10 thunk_to_STL_string_dtor_0102fd30 stl Wrapper that calls STL_string_dtor and returns 0x0102FD40 10 thunk_to_STL_string_dtor_0102fd40 stl Wrapper function that calls STL_string_dtor and returns 0x0102FD50 10 thunk_to_STL_string_dtor_0102fd50 stl Wrapper that calls STL_string_dtor and returns 0x0102FD60 10 thunk_to_STL_string_dtor_0102fd60 stl Wrapper that calls STL_string_dtor and returns 0x0102FD70 10 thunk_to_STL_string_dtor_0102fd70 stl Wrapper that calls STL_string_dtor and returns 0x0102FD80 10 thunk_to_STL_string_dtor_0102fd80 stl Wrapper that calls STL_string_dtor and returns 0x0102FD90 10 thunk_to_STL_string_dtor_0102fd90 stl Wrapper that calls STL_string_dtor and returns 0x0102FDA0 10 thunk_to_STL_string_dtor_0102fda0 stl Wrapper that calls STL_string_dtor and returns 0x0102FDB0 10 thunk_to_STL_string_dtor_0102fdb0 stl Wrapper that calls STL_string_dtor and returns 0x0102FDC0 10 thunk_to_STL_string_dtor_0102fdc0 stl Wrapper that calls STL_string_dtor and returns 0x0102FDD0 10 thunk_to_STL_string_dtor_0102fdd0 stl Wrapper that calls STL_string_dtor and returns 0x0102FDE0 10 thunk_to_STL_string_dtor_0102fde0 stl Wrapper that calls STL_string_dtor and returns 0x0102FDF0 10 thunk_to_STL_string_dtor_0102fdf0 stl Wrapper that calls STL_string_dtor and returns 0x0102FE00 10 thunk_to_STL_string_dtor_0102fe00 stl Wrapper that calls STL_string_dtor and returns 0x0102FE10 10 thunk_to_STL_string_dtor_0102fe10 stl Wrapper that calls STL_string_dtor and returns 0x0102FE20 10 thunk_to_STL_string_dtor_0102fe20 stl Wrapper that calls STL_string_dtor and returns 0x0102FE30 10 thunk_to_STL_string_dtor_0102fe30 stl Wrapper that calls STL_string_dtor and returns 0x0102FEB0 280 atexit_ATL_unregister_window_classes_0102feb0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0102FFD0 66 atexit_STL_map_destroy_0102ffd0 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x01030020 125 atexit_enchant_system_destroy crt atexit handler: SEH-protected multi-step cleanup for the enchantment system. Destroys enchantment tree (Ench__tree), two STL strings, CFmt object, and CPacketManager resources in reverse construction order. 0x010300A0 106 atexit_packet_array_destroy crt atexit handler: SEH-protected cleanup for packet array. Calls _eh_vector_destructor_iterator_ on 3 elements of size 0xc at DAT_0138d224 using CFmt dtor, then destroys an STL string and CPacketManager resources. 0x01030110 10 thunk_to_STL_string_dtor_01030110 stl Wrapper that calls STL_string_dtor and returns 0x01030120 10 thunk_to_STL_string_dtor_01030120 stl Wrapper that calls STL_string_dtor and returns 0x01030130 10 thunk_to_STL_string_dtor_01030130 stl Wrapper that calls STL_string_dtor and returns 0x01030140 10 thunk_to_STL_string_dtor_01030140 stl Wrapper that calls STL_string_dtor and returns 0x01030150 10 thunk_to_STL_string_dtor_01030150 stl Wrapper that calls STL_string_dtor and returns 0x01030160 10 thunk_to_STL_string_dtor_01030160 stl Wrapper that calls STL_string_dtor and returns 0x01030170 10 thunk_to_STL_string_dtor_01030170 stl Wrapper that calls STL_string_dtor and returns 0x01030180 10 thunk_to_STL_string_dtor_01030180 stl Wrapper that calls STL_string_dtor and returns 0x01030190 10 thunk_to_STL_string_dtor_01030190 stl Wrapper that calls STL_string_dtor and returns 0x010301A0 10 thunk_to_STL_string_dtor_010301a0 stl Wrapper that calls STL_string_dtor and returns 0x010301B0 10 thunk_to_STL_string_dtor_010301b0 stl Wrapper that calls STL_string_dtor and returns 0x010301C0 10 thunk_to_STL_string_dtor_010301c0 stl Wrapper that calls STL_string_dtor and returns 0x010301D0 10 thunk_to_STL_string_dtor_010301d0 stl Wrapper function that calls STL_string_dtor and returns 0x010301E0 10 thunk_to_STL_string_dtor_010301e0 stl Wrapper that calls STL_string_dtor and returns 0x010301F0 10 thunk_to_STL_string_dtor_010301f0 stl Wrapper that calls STL_string_dtor and returns 0x01030200 10 thunk_to_STL_string_dtor_01030200 stl Wrapper that calls STL_string_dtor and returns 0x01030210 10 thunk_to_STL_string_dtor_01030210 stl Wrapper that calls STL_string_dtor and returns 0x01030220 10 thunk_to_STL_string_dtor_01030220 stl Wrapper that calls STL_string_dtor and returns 0x01030230 10 thunk_to_STL_string_dtor_01030230 stl Wrapper that calls STL_string_dtor and returns 0x01030240 10 thunk_to_STL_string_dtor_01030240 stl Wrapper that calls STL_string_dtor and returns 0x01030250 10 thunk_to_STL_string_dtor_01030250 stl Wrapper that calls STL_string_dtor and returns 0x01030260 10 thunk_to_STL_string_dtor_01030260 stl Wrapper that calls STL_string_dtor and returns 0x01030270 10 thunk_to_STL_string_dtor_01030270 stl Wrapper that calls STL_string_dtor and returns 0x01030280 10 thunk_to_STL_string_dtor_01030280 stl Wrapper that calls STL_string_dtor and returns 0x01030290 10 thunk_to_STL_string_dtor_01030290 stl Wrapper that calls STL_string_dtor and returns 0x01030310 280 atexit_ATL_unregister_window_classes_01030310 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01030430 66 atexit_STL_map_destroy_01030430 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x01030480 10 thunk_to_STL_string_dtor_01030480 stl Wrapper that calls STL_string_dtor and returns 0x01030490 10 thunk_to_STL_string_dtor_01030490 stl Wrapper that calls STL_string_dtor and returns 0x010304A0 10 thunk_to_STL_string_dtor_010304a0 stl Wrapper that calls STL_string_dtor and returns 0x010304B0 10 thunk_to_STL_string_dtor_010304b0 stl Wrapper that calls STL_string_dtor and returns 0x010304C0 10 thunk_to_STL_string_dtor_010304c0 stl Wrapper that calls STL_string_dtor and returns 0x010304D0 10 thunk_to_STL_string_dtor_010304d0 stl Wrapper that calls STL_string_dtor and returns 0x010304E0 10 thunk_to_STL_string_dtor_010304e0 stl Wrapper that calls STL_string_dtor and returns 0x010304F0 10 thunk_to_STL_string_dtor_010304f0 stl Wrapper that calls STL_string_dtor and returns 0x01030500 10 thunk_to_STL_string_dtor_01030500 stl Wrapper that calls STL_string_dtor and returns 0x01030510 10 thunk_to_STL_string_dtor_01030510 stl Wrapper that calls STL_string_dtor and returns 0x01030520 10 thunk_to_STL_string_dtor_01030520 stl Wrapper that calls STL_string_dtor and returns 0x01030530 10 thunk_to_STL_string_dtor_01030530 stl Wrapper that calls STL_string_dtor and returns 0x01030540 10 thunk_to_STL_string_dtor_01030540 stl Wrapper that calls STL_string_dtor and returns 0x01030550 10 thunk_to_STL_string_dtor_01030550 stl Wrapper that calls STL_string_dtor and returns 0x01030560 10 thunk_to_STL_string_dtor_01030560 stl Wrapper that calls STL_string_dtor and returns 0x01030570 10 thunk_to_STL_string_dtor_01030570 stl Wrapper that calls STL_string_dtor and returns 0x01030580 10 thunk_to_STL_string_dtor_01030580 stl Wrapper that calls STL_string_dtor and returns 0x01030590 10 thunk_to_STL_string_dtor_01030590 stl Wrapper that calls STL_string_dtor and returns 0x010305A0 10 thunk_to_STL_string_dtor_010305a0 stl Wrapper that calls STL_string_dtor and returns 0x010305B0 10 thunk_to_STL_string_dtor_010305b0 stl Wrapper that calls STL_string_dtor and returns 0x010305C0 10 thunk_to_STL_string_dtor_010305c0 stl Wrapper that calls STL_string_dtor and returns 0x010305D0 10 thunk_to_STL_string_dtor_010305d0 stl Wrapper that calls STL_string_dtor and returns 0x010305E0 10 thunk_to_STL_string_dtor_010305e0 stl Wrapper that calls STL_string_dtor and returns 0x010305F0 10 thunk_to_STL_string_dtor_010305f0 stl Wrapper that calls STL_string_dtor and returns 0x01030600 10 thunk_to_STL_string_dtor_01030600 stl Wrapper that calls STL_string_dtor and returns 0x01030680 280 atexit_ATL_unregister_window_classes_01030680 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010307A0 66 atexit_STL_map_destroy_010307a0 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x01030860 280 atexit_ATL_unregister_window_classes_01030860 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010309F0 280 atexit_ATL_unregister_window_classes_010309f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01030B10 10 thunk_to_STL_string_dtor_01030b10 stl Wrapper that calls STL_string_dtor and returns 0x01030B20 10 thunk_to_STL_string_dtor_01030b20 stl Wrapper that calls STL_string_dtor and returns 0x01030B30 10 thunk_to_STL_string_dtor_01030b30 stl Wrapper function that calls STL_string_dtor and returns 0x01030B40 10 thunk_to_STL_string_dtor_01030b40 stl Wrapper that calls STL_string_dtor and returns 0x01030B50 10 thunk_to_STL_string_dtor_01030b50 stl Wrapper that calls STL_string_dtor and returns 0x01030B60 10 thunk_to_STL_string_dtor_01030b60 stl Wrapper that calls STL_string_dtor and returns 0x01030B70 10 thunk_to_STL_string_dtor_01030b70 stl Wrapper that calls STL_string_dtor and returns 0x01030B80 10 thunk_to_STL_string_dtor_01030b80 stl Wrapper that calls STL_string_dtor and returns 0x01030B90 10 thunk_to_STL_string_dtor_01030b90 stl Wrapper that calls STL_string_dtor and returns 0x01030BA0 10 thunk_to_STL_string_dtor_01030ba0 stl Wrapper that calls STL_string_dtor and returns 0x01030BB0 10 thunk_to_STL_string_dtor_01030bb0 stl Wrapper that calls STL_string_dtor and returns 0x01030BC0 10 thunk_to_STL_string_dtor_01030bc0 stl Wrapper that calls STL_string_dtor and returns 0x01030BD0 10 thunk_to_STL_string_dtor_01030bd0 stl Wrapper that calls STL_string_dtor and returns 0x01030BE0 10 thunk_to_STL_string_dtor_01030be0 stl Wrapper that calls STL_string_dtor and returns 0x01030BF0 10 thunk_to_STL_string_dtor_01030bf0 stl Wrapper that calls STL_string_dtor and returns 0x01030C00 10 thunk_to_STL_string_dtor_01030c00 stl Wrapper that calls STL_string_dtor and returns 0x01030C10 10 thunk_to_STL_string_dtor_01030c10 stl Wrapper that calls STL_string_dtor and returns 0x01030C20 10 thunk_to_STL_string_dtor_01030c20 stl Wrapper that calls STL_string_dtor and returns 0x01030C30 10 thunk_to_STL_string_dtor_01030c30 stl Wrapper that calls STL_string_dtor and returns 0x01030C40 10 thunk_to_STL_string_dtor_01030c40 stl Wrapper that calls STL_string_dtor and returns 0x01030C50 10 thunk_to_STL_string_dtor_01030c50 stl Wrapper that calls STL_string_dtor and returns 0x01030C60 10 thunk_to_STL_string_dtor_01030c60 stl Wrapper that calls STL_string_dtor and returns 0x01030C70 10 thunk_to_STL_string_dtor_01030c70 stl Wrapper that calls STL_string_dtor and returns 0x01030C80 10 thunk_to_STL_string_dtor_01030c80 stl Wrapper that calls STL_string_dtor and returns 0x01030C90 10 thunk_to_STL_string_dtor_01030c90 stl Wrapper that calls STL_string_dtor and returns 0x01030D10 280 atexit_ATL_unregister_window_classes_01030d10 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01030E30 66 atexit_STL_map_destroy_01030e30 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x01030EF0 280 atexit_ATL_unregister_window_classes_01030ef0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01031010 66 atexit_CRenderPipeline_destroy_01031010 crt atexit handler: SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector for render pipeline cleanup. 0x01031060 10 thunk_to_STL_string_dtor_01031060 stl Wrapper that calls STL_string_dtor and returns 0x01031070 10 thunk_to_STL_string_dtor_01031070 stl Wrapper that calls STL_string_dtor and returns 0x01031080 10 thunk_to_STL_string_dtor_01031080 stl Wrapper that calls STL_string_dtor and returns 0x01031090 10 thunk_to_STL_string_dtor_01031090 stl Wrapper that calls STL_string_dtor and returns 0x010310A0 10 thunk_to_STL_string_dtor_010310a0 stl Wrapper that calls STL_string_dtor and returns 0x010310B0 10 thunk_to_STL_string_dtor_010310b0 stl Wrapper that calls STL_string_dtor and returns 0x010310C0 10 thunk_to_STL_string_dtor_010310c0 stl Wrapper that calls STL_string_dtor and returns 0x010310D0 10 thunk_to_STL_string_dtor_010310d0 stl Wrapper that calls STL_string_dtor and returns 0x010310E0 10 thunk_to_STL_string_dtor_010310e0 stl Wrapper that calls STL_string_dtor and returns 0x010310F0 10 thunk_to_STL_string_dtor_010310f0 stl Wrapper that calls STL_string_dtor and returns 0x01031100 10 thunk_to_STL_string_dtor_01031100 stl Wrapper that calls STL_string_dtor and returns 0x01031110 10 thunk_to_STL_string_dtor_01031110 stl Wrapper that calls STL_string_dtor destructor 0x01031120 10 thunk_to_STL_string_dtor_01031120 stl Wrapper that calls STL string destructor 0x01031130 10 thunk_to_STL_string_dtor_01031130 stl Wrapper that calls STL_string_dtor and returns 0x01031140 10 thunk_to_STL_string_dtor_01031140 stl Wrapper that calls STL_string_dtor and returns 0x01031150 10 thunk_to_STL_string_dtor_01031150 stl Wrapper that calls STL_string_dtor and returns 0x01031160 10 thunk_to_STL_string_dtor_01031160 stl Wrapper that calls STL_string_dtor and returns 0x01031170 10 thunk_to_STL_string_dtor_01031170 stl Wrapper that calls STL_string_dtor and returns 0x01031180 10 thunk_to_STL_string_dtor_01031180 stl Wrapper that calls STL_string_dtor and returns 0x01031190 10 thunk_to_STL_string_dtor_01031190 stl Wrapper that calls STL_string_dtor and returns 0x010311A0 10 thunk_to_STL_string_dtor_010311a0 stl Wrapper that calls STL_string_dtor and returns 0x010311B0 10 thunk_to_STL_string_dtor_010311b0 stl Wrapper that calls STL_string_dtor and returns 0x010311C0 10 thunk_to_STL_string_dtor_010311c0 stl Wrapper that calls STL_string_dtor and returns 0x010311D0 10 thunk_to_STL_string_dtor_010311d0 stl Wrapper that calls STL_string_dtor and returns 0x010311E0 10 thunk_to_STL_string_dtor_010311e0 stl Wrapper that calls STL_string_dtor and returns 0x01031260 280 atexit_ATL_unregister_window_classes_01031260 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01031380 66 atexit_STL_map_destroy_01031380 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x010313D0 69 tls_clear_byte_array_0x1f94_50 crt TLS initializer: Clears 50 bytes in thread-local storage at offset 0x1f94. 0x01031420 66 atexit_CRenderPipeline_destroy_01031420 crt atexit handler: SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector for render pipeline cleanup. 0x01031470 10 thunk_to_STL_string_dtor_01031470 stl Wrapper that calls STL_string_dtor and returns 0x01031480 10 thunk_to_STL_string_dtor_01031480 stl Wrapper that calls STL_string_dtor and returns 0x01031490 10 thunk_to_STL_string_dtor_01031490 stl Wrapper that calls STL_string_dtor and returns 0x010314A0 10 thunk_to_STL_string_dtor_010314a0 stl Wrapper that calls STL_string_dtor and returns 0x010314B0 10 thunk_to_STL_string_dtor_010314b0 stl Wrapper that calls STL_string_dtor and returns 0x010314C0 10 thunk_to_STL_string_dtor_010314c0 stl Wrapper that calls STL_string_dtor and returns 0x010314D0 10 thunk_to_STL_string_dtor_010314d0 stl Wrapper that calls STL_string_dtor and returns 0x010314E0 10 thunk_to_STL_string_dtor_010314e0 stl Wrapper function that calls STL_string_dtor and returns 0x010314F0 10 thunk_to_STL_string_dtor_010314f0 stl Wrapper that calls STL_string_dtor and returns 0x01031500 10 thunk_to_STL_string_dtor_01031500 stl Wrapper that calls STL_string_dtor and returns 0x01031510 10 thunk_to_STL_string_dtor_01031510 stl Wrapper that calls STL_string_dtor and returns 0x01031520 10 thunk_to_STL_string_dtor_01031520 stl Wrapper that calls STL_string_dtor and returns 0x01031530 10 thunk_to_STL_string_dtor_01031530 stl Wrapper that calls STL_string_dtor and returns 0x01031540 10 thunk_to_STL_string_dtor_01031540 stl Wrapper that calls STL_string_dtor and returns 0x01031550 10 thunk_to_STL_string_dtor_01031550 stl Wrapper that calls STL_string_dtor and returns 0x01031560 10 thunk_to_STL_string_dtor_01031560 stl Wrapper that calls STL_string_dtor and returns 0x01031570 10 thunk_to_STL_string_dtor_01031570 stl Wrapper that calls STL_string_dtor and returns 0x01031580 10 thunk_to_STL_string_dtor_01031580 stl Wrapper that calls STL_string_dtor and returns 0x01031590 10 thunk_to_STL_string_dtor_01031590 stl Wrapper that calls STL_string_dtor and returns 0x010315A0 10 thunk_to_STL_string_dtor_010315a0 stl Wrapper that calls STL_string_dtor and returns 0x010315B0 10 thunk_to_STL_string_dtor_010315b0 stl Wrapper that calls STL_string_dtor and returns 0x010315C0 10 thunk_to_STL_string_dtor_010315c0 stl Wrapper that calls STL_string_dtor and returns 0x010315D0 10 thunk_to_STL_string_dtor_010315d0 stl Wrapper that calls STL_string_dtor and returns 0x010315E0 10 thunk_to_STL_string_dtor_010315e0 stl Wrapper that calls STL_string_dtor and returns 0x010315F0 10 thunk_to_STL_string_dtor_010315f0 stl Wrapper that calls STL_string_dtor and returns 0x01031670 280 atexit_ATL_unregister_window_classes_01031670 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01031790 66 atexit_STL_map_destroy_01031790 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x01031850 280 atexit_ATL_unregister_window_classes_01031850 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010319E0 280 atexit_ATL_unregister_window_classes_010319e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01031B00 10 thunk_to_STL_string_dtor_01031b00 stl Wrapper that calls STL_string_dtor and returns 0x01031B10 10 thunk_to_STL_string_dtor_01031b10 stl Wrapper that calls STL_string_dtor and returns 0x01031B20 10 thunk_to_STL_string_dtor_01031b20 stl Wrapper that calls STL_string_dtor and returns 0x01031B30 10 thunk_to_STL_string_dtor_01031b30 stl Wrapper that calls STL_string_dtor and returns 0x01031B40 10 thunk_to_STL_string_dtor_01031b40 stl Wrapper that calls STL_string_dtor and returns 0x01031B50 10 thunk_to_STL_string_dtor_01031b50 stl Wrapper that calls STL_string_dtor and returns 0x01031B60 10 thunk_to_STL_string_dtor_01031b60 stl Wrapper that calls STL_string_dtor and returns 0x01031B70 10 thunk_to_STL_string_dtor_01031b70 stl Wrapper that calls STL_string_dtor and returns 0x01031B80 10 thunk_to_STL_string_dtor_01031b80 stl Wrapper that calls STL_string_dtor and returns 0x01031B90 10 thunk_to_STL_string_dtor_01031b90 stl Wrapper that calls STL_string_dtor and returns 0x01031BA0 10 thunk_to_STL_string_dtor_01031ba0 stl Wrapper that calls STL_string_dtor and returns 0x01031BB0 10 thunk_to_STL_string_dtor_01031bb0 stl Wrapper that calls STL_string_dtor and returns 0x01031BC0 10 thunk_to_STL_string_dtor_01031bc0 stl Wrapper that calls STL_string_dtor and returns 0x01031BD0 10 thunk_to_STL_string_dtor_01031bd0 stl Wrapper that calls STL_string_dtor and returns 0x01031BE0 10 thunk_to_STL_string_dtor_01031be0 stl Wrapper that calls STL_string_dtor and returns 0x01031BF0 10 thunk_to_STL_string_dtor_01031bf0 stl Wrapper that calls STL_string_dtor and returns 0x01031C00 10 thunk_to_STL_string_dtor_01031c00 stl Wrapper that calls STL_string_dtor and returns 0x01031C10 10 thunk_to_STL_string_dtor_01031c10 stl Wrapper that calls STL_string_dtor and returns 0x01031C20 10 thunk_to_STL_string_dtor_01031c20 stl Wrapper that calls STL_string_dtor and returns 0x01031C30 10 thunk_to_STL_string_dtor_01031c30 stl Wrapper that calls STL_string_dtor and returns immediately 0x01031C40 10 thunk_to_STL_string_dtor_01031c40 stl Wrapper that calls STL_string_dtor and returns 0x01031C50 10 thunk_to_STL_string_dtor_01031c50 stl Wrapper that calls STL_string_dtor and returns 0x01031C60 10 thunk_to_STL_string_dtor_01031c60 stl Wrapper that calls STL_string_dtor and returns 0x01031C70 10 thunk_to_STL_string_dtor_01031c70 stl Wrapper that calls STL_string_dtor and returns 0x01031C80 10 thunk_to_STL_string_dtor_01031c80 stl Wrapper that calls STL_string_dtor and returns 0x01031D00 280 atexit_ATL_unregister_window_classes_01031d00 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01031E90 280 atexit_ATL_unregister_window_classes_01031e90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01032020 280 atexit_ATL_unregister_window_classes_01032020 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010321B0 280 atexit_ATL_unregister_window_classes_010321b0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01032340 280 atexit_ATL_unregister_window_classes_01032340 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010324D0 280 atexit_ATL_unregister_window_classes_010324d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010325F0 10 thunk_to_STL_string_dtor_010325f0 stl Wrapper that calls STL_string_dtor and returns 0x01032600 10 thunk_to_STL_string_dtor_01032600 stl Wrapper that calls STL_string_dtor and returns 0x01032610 10 thunk_to_STL_string_dtor_01032610 stl Wrapper that calls STL_string_dtor and returns 0x01032620 10 thunk_to_STL_string_dtor_01032620 stl Wrapper that calls STL_string_dtor and returns 0x01032630 10 thunk_to_STL_string_dtor_01032630 stl Wrapper that calls STL_string_dtor and returns 0x01032640 10 thunk_to_STL_string_dtor_01032640 stl Wrapper that calls STL_string_dtor and returns 0x01032650 10 thunk_to_STL_string_dtor_01032650 stl Wrapper that calls STL_string_dtor and returns 0x01032660 10 thunk_to_STL_string_dtor_01032660 stl Wrapper that calls STL_string_dtor and returns 0x01032670 10 thunk_to_STL_string_dtor_01032670 stl Wrapper that calls STL_string_dtor and returns 0x01032680 10 thunk_to_STL_string_dtor_01032680 stl Wrapper that calls STL_string_dtor and returns 0x01032690 10 thunk_to_STL_string_dtor_01032690 stl Wrapper that calls STL_string_dtor and returns 0x010326A0 10 thunk_to_STL_string_dtor_010326a0 stl Wrapper that calls STL_string_dtor and returns 0x010326B0 10 thunk_to_STL_string_dtor_010326b0 stl Wrapper that calls STL_string_dtor and returns 0x010326C0 10 thunk_to_STL_string_dtor_010326c0 stl Wrapper that calls STL_string_dtor and returns 0x010326D0 10 thunk_to_STL_string_dtor_010326d0 stl Wrapper that calls STL_string_dtor and returns 0x010326E0 10 thunk_to_STL_string_dtor_010326e0 stl Wrapper that calls STL_string_dtor and returns 0x010326F0 10 thunk_to_STL_string_dtor_010326f0 stl Wrapper that calls STL_string_dtor and returns 0x01032700 10 thunk_to_STL_string_dtor_01032700 stl Wrapper that calls STL_string_dtor and returns 0x01032710 10 thunk_to_STL_string_dtor_01032710 stl Wrapper that calls STL_string_dtor and returns 0x01032720 10 thunk_to_STL_string_dtor_01032720 stl Wrapper that calls STL_string_dtor and returns 0x01032730 10 thunk_to_STL_string_dtor_01032730 stl Wrapper that calls STL_string_dtor and returns 0x01032740 10 thunk_to_STL_string_dtor_01032740 stl Wrapper that calls STL_string_dtor and returns 0x01032750 10 thunk_to_STL_string_dtor_01032750 stl Wrapper that calls STL_string_dtor and returns 0x01032760 10 thunk_to_STL_string_dtor_01032760 stl Wrapper that calls STL_string_dtor and returns 0x01032770 10 thunk_to_STL_string_dtor_01032770 stl Wrapper that calls STL_string_dtor and returns 0x010327F0 280 atexit_ATL_unregister_window_classes_010327f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01032980 280 atexit_ATL_unregister_window_classes_01032980 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01032AA0 95 atexit_CItemInfoMgr_rbtree_destroy_A crt atexit handler: SEH-protected cleanup for CItemInfoMgr red-black tree. Calls CItemInfoMgr__rbtree_find_hint to traverse the tree at DAT_0138d2a0, then operator_delete to free the 0x20-byte tree container. 0x01032B00 66 atexit_CItemInfoMgr_destroy_tree_A crt atexit handler: SEH-protected wrapper that calls CItemInfoMgr__destroy_tree_0x14_A to destroy item info tree variant A at program exit. 0x01032B50 95 atexit_CItemInfoMgr_rbtree_destroy_B crt atexit handler: SEH-protected cleanup for CItemInfoMgr red-black tree B. Calls CItemInfoMgr__rbtree_insert_unique to traverse tree at DAT_0138d2b0, then operator_delete to free the 0x58-byte tree container. 0x01032BB0 66 atexit_CItemInfoMgr_destroy_tree_B crt atexit handler: SEH-protected wrapper that calls CItemInfoMgr__destroy_tree_0x14_B to destroy item info tree variant B at program exit. 0x01032C00 95 atexit_CItemInfoMgr_rbtree_destroy_C crt atexit handler: SEH-protected cleanup for CItemInfoMgr red-black tree C. Calls CItemInfoMgr__rbtree_find_hint to traverse tree at DAT_0138d298, then operator_delete to free the 0x20-byte tree container. 0x01032C60 93 atexit_CItemInfoMgr_dtor crt atexit handler: SEH-protected CItemInfoMgr destructor. Sets vtable to CItemInfoMgr scalar dtor, calls CSVParser__free_all_line_buffers to release parsed data, then STL_vector_free_aligned to free the vector storage. 0x01032CC0 10 thunk_to_STL_string_dtor_01032cc0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01032CD0 10 thunk_to_STL_string_dtor_01032cd0 stl Wrapper that calls STL_string_dtor and returns 0x01032CE0 10 thunk_to_STL_string_dtor_01032ce0 stl Wrapper that calls STL_string_dtor and returns 0x01032CF0 10 thunk_to_STL_string_dtor_01032cf0 stl Wrapper that calls STL_string_dtor and returns 0x01032D00 10 thunk_to_STL_string_dtor_01032d00 stl Wrapper that calls STL_string_dtor and returns 0x01032D10 10 thunk_to_STL_string_dtor_01032d10 stl Wrapper that calls STL_string_dtor and returns 0x01032D20 10 thunk_to_STL_string_dtor_01032d20 stl Wrapper that calls STL_string_dtor and returns 0x01032D30 10 thunk_to_STL_string_dtor_01032d30 stl Wrapper that calls STL_string_dtor and returns 0x01032D40 10 thunk_to_STL_string_dtor_01032d40 stl Wrapper that calls STL_string_dtor and returns 0x01032D50 10 thunk_to_STL_string_dtor_01032d50 stl Wrapper that calls STL_string_dtor and returns 0x01032D60 10 thunk_to_STL_string_dtor_01032d60 stl Wrapper that calls STL_string_dtor and returns 0x01032D70 10 thunk_to_STL_string_dtor_01032d70 stl Wrapper that calls STL_string_dtor and returns 0x01032D80 10 thunk_to_STL_string_dtor_01032d80 stl Wrapper that calls STL_string_dtor and returns 0x01032D90 10 thunk_to_STL_string_dtor_01032d90 stl Wrapper that calls STL_string_dtor and returns 0x01032DA0 10 thunk_to_STL_string_dtor_01032da0 stl Wrapper that calls STL_string_dtor and returns 0x01032DB0 10 thunk_to_STL_string_dtor_01032db0 stl Wrapper function that calls STL_string_dtor and returns 0x01032DC0 10 thunk_to_STL_string_dtor_01032dc0 stl Wrapper that calls STL_string_dtor and returns 0x01032DD0 10 thunk_to_STL_string_dtor_01032dd0 stl Wrapper that calls STL_string_dtor and returns 0x01032DE0 10 thunk_to_STL_string_dtor_01032de0 stl Wrapper that calls STL_string_dtor and returns 0x01032DF0 10 thunk_to_STL_string_dtor_01032df0 stl Wrapper that calls STL_string_dtor and returns 0x01032E00 10 thunk_to_STL_string_dtor_01032e00 stl Wrapper that calls STL_string_dtor and returns 0x01032E10 10 thunk_to_STL_string_dtor_01032e10 stl Wrapper that calls STL_string_dtor and returns 0x01032E20 10 thunk_to_STL_string_dtor_01032e20 stl Wrapper that calls STL_string_dtor and returns 0x01032E30 10 thunk_to_STL_string_dtor_01032e30 stl Wrapper that calls STL_string_dtor and returns 0x01032E40 10 thunk_to_STL_string_dtor_01032e40 stl Wrapper function that calls STL_string_dtor and returns 0x01032EC0 280 atexit_ATL_unregister_window_classes_01032ec0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01032FF0 107 atexit_CItemInfo_dtor crt atexit handler: SEH-protected CItemInfo destructor. Sets vtable to CItemInfo scalar dtor, calls json__internal to clean up JSON data, then calls CItemInfoMgr__clear_tree_nodes_alt twice to clear tree nodes. 0x010330D0 280 atexit_ATL_unregister_window_classes_010330d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01033260 280 atexit_ATL_unregister_window_classes_01033260 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01033380 10 thunk_to_JsonValue__destructor_01033380 datatable Wrapper that calls JsonValue destructor 0x01033400 280 atexit_ATL_unregister_window_classes_01033400 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01033520 76 atexit_set_scalar_dtor_vtable crt atexit handler: SEH-protected vtable setter. Sets PTR_PTR_0131d670 to point to the scalar_deleting_destructor vtable entry. This prepares a global object for proper destruction at exit. 0x010335E0 280 atexit_ATL_unregister_window_classes_010335e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01033770 280 atexit_ATL_unregister_window_classes_01033770 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01033900 280 atexit_ATL_unregister_window_classes_01033900 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01033A90 280 atexit_ATL_unregister_window_classes_01033a90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01033C20 280 atexit_ATL_unregister_window_classes_01033c20 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01033DB0 280 atexit_ATL_unregister_window_classes_01033db0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01033F40 280 atexit_ATL_unregister_window_classes_01033f40 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01034060 10 thunk_to_STL_string_dtor_01034060 stl Wrapper that calls STL string destructor 0x01034070 10 thunk_to_STL_string_dtor_01034070 stl Wrapper that calls STL_string_dtor and returns 0x01034080 10 thunk_to_STL_string_dtor_01034080 stl Wrapper function that calls STL_string_dtor and returns 0x01034090 10 thunk_to_STL_string_dtor_01034090 stl Wrapper that calls STL_string_dtor and returns 0x010340A0 10 thunk_to_STL_string_dtor_010340a0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010340B0 10 thunk_to_STL_string_dtor_010340b0 stl Wrapper that calls STL_string_dtor and returns 0x010340C0 10 thunk_to_STL_string_dtor_010340c0 stl Wrapper that calls STL_string_dtor and returns 0x010340D0 10 thunk_to_STL_string_dtor_010340d0 stl Wrapper that calls STL_string_dtor and returns 0x010340E0 10 thunk_to_STL_string_dtor_010340e0 stl Wrapper that calls STL_string_dtor and returns 0x010340F0 10 thunk_to_STL_string_dtor_010340f0 stl Wrapper that calls STL_string_dtor and returns 0x01034100 10 thunk_to_STL_string_dtor_01034100 stl Wrapper that calls STL_string_dtor and returns 0x01034110 10 thunk_to_STL_string_dtor_01034110 stl Wrapper that calls STL_string_dtor and returns 0x01034120 10 thunk_to_STL_string_dtor_01034120 stl Wrapper that calls STL_string_dtor and returns 0x01034130 10 thunk_to_STL_string_dtor_01034130 stl Wrapper that calls STL_string_dtor and returns 0x01034140 10 thunk_to_STL_string_dtor_01034140 stl Wrapper that calls STL_string_dtor and returns 0x01034150 10 thunk_to_STL_string_dtor_01034150 stl Wrapper that calls STL_string_dtor and returns 0x01034160 10 thunk_to_STL_string_dtor_01034160 stl Wrapper that calls STL_string_dtor and returns 0x01034170 10 thunk_to_STL_string_dtor_01034170 stl Wrapper that calls STL_string_dtor and returns 0x01034180 10 thunk_to_STL_string_dtor_01034180 stl Wrapper that calls STL_string_dtor and returns 0x01034190 10 thunk_to_STL_string_dtor_01034190 stl Wrapper that calls STL_string_dtor and returns 0x010341A0 10 thunk_to_STL_string_dtor_010341a0 stl Wrapper function that calls STL_string_dtor and returns 0x010341B0 10 thunk_to_STL_string_dtor_010341b0 stl Wrapper that calls STL_string_dtor and returns 0x010341C0 10 thunk_to_STL_string_dtor_010341c0 stl Wrapper that calls STL_string_dtor and returns 0x010341D0 10 thunk_to_STL_string_dtor_010341d0 stl Wrapper that calls STL_string_dtor and returns 0x010341E0 10 thunk_to_STL_string_dtor_010341e0 stl Wrapper that calls STL_string_dtor and returns 0x01034260 280 atexit_ATL_unregister_window_classes_01034260 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010343F0 280 atexit_ATL_unregister_window_classes_010343f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01034510 10 thunk_to_STL_string_dtor_01034510 stl Wrapper that calls STL_string_dtor and returns 0x01034520 10 thunk_to_STL_string_dtor_01034520 stl Wrapper that calls STL_string_dtor and returns 0x01034530 10 thunk_to_STL_string_dtor_01034530 stl Wrapper that calls STL_string_dtor and returns 0x01034540 10 thunk_to_STL_string_dtor_01034540 stl Wrapper function that calls STL_string_dtor and returns 0x01034550 10 thunk_to_STL_string_dtor_01034550 stl Wrapper that calls STL_string_dtor and returns 0x01034560 10 thunk_to_STL_string_dtor_01034560 stl Wrapper that calls STL_string_dtor and returns 0x01034570 10 thunk_to_STL_string_dtor_01034570 stl Wrapper that calls STL_string_dtor and returns 0x01034580 10 thunk_to_STL_string_dtor_01034580 stl Wrapper that calls STL_string_dtor and returns 0x01034590 10 thunk_to_STL_string_dtor_01034590 stl Wrapper that calls STL_string_dtor and returns 0x010345A0 10 thunk_to_STL_string_dtor_010345a0 stl Wrapper that calls STL_string_dtor and returns 0x010345B0 10 thunk_to_STL_string_dtor_010345b0 stl Wrapper that calls STL_string_dtor and returns 0x010345C0 10 thunk_to_STL_string_dtor_010345c0 stl Wrapper that calls STL_string_dtor and returns 0x010345D0 10 thunk_to_STL_string_dtor_010345d0 stl Wrapper that calls STL_string_dtor and returns 0x010345E0 10 thunk_to_STL_string_dtor_010345e0 stl Wrapper that calls STL_string_dtor and returns 0x010345F0 10 thunk_to_STL_string_dtor_010345f0 stl Wrapper that calls STL_string_dtor and returns 0x01034600 10 thunk_to_STL_string_dtor_01034600 stl Wrapper that calls STL_string_dtor and returns 0x01034610 10 thunk_to_STL_string_dtor_01034610 stl Wrapper that calls STL_string_dtor and returns 0x01034620 10 thunk_to_STL_string_dtor_01034620 stl Wrapper that calls STL_string_dtor and returns 0x01034630 10 thunk_to_STL_string_dtor_01034630 stl Wrapper that calls STL_string_dtor and returns 0x01034640 10 thunk_to_STL_string_dtor_01034640 stl Wrapper that calls STL_string_dtor and returns 0x01034650 10 thunk_to_STL_string_dtor_01034650 stl Wrapper that calls STL_string_dtor and returns 0x01034660 10 thunk_to_STL_string_dtor_01034660 stl Wrapper that calls STL_string_dtor and returns 0x01034670 10 thunk_to_STL_string_dtor_01034670 stl Wrapper that calls STL_string_dtor and returns 0x01034680 10 thunk_to_STL_string_dtor_01034680 stl Wrapper that calls STL_string_dtor and returns 0x01034690 10 thunk_to_STL_string_dtor_01034690 stl Wrapper that calls STL_string_dtor destructor 0x01034710 280 atexit_ATL_unregister_window_classes_01034710 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01034830 66 atexit_CRenderPipeline_destroy_01034830 crt atexit handler: SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector for render pipeline cleanup. 0x01034880 10 thunk_to_STL_string_dtor_01034880 stl Wrapper that calls STL_string_dtor and returns 0x01034890 10 thunk_to_STL_string_dtor_01034890 stl Wrapper that calls STL_string_dtor and returns 0x010348A0 10 thunk_to_STL_string_dtor_010348a0 stl Wrapper that calls STL_string_dtor and returns 0x010348B0 10 thunk_to_STL_string_dtor_010348b0 stl Wrapper that calls STL_string_dtor and returns 0x010348C0 10 thunk_to_STL_string_dtor_010348c0 stl Wrapper that calls STL_string_dtor and returns 0x010348D0 10 thunk_to_STL_string_dtor_010348d0 stl Wrapper that calls STL_string_dtor and returns 0x010348E0 10 thunk_to_STL_string_dtor_010348e0 stl Wrapper that calls STL_string_dtor and returns 0x010348F0 10 thunk_to_STL_string_dtor_010348f0 stl Wrapper that calls STL_string_dtor and returns 0x01034900 10 thunk_to_STL_string_dtor_01034900 stl Wrapper that calls STL_string_dtor and returns 0x01034910 10 thunk_to_STL_string_dtor_01034910 stl Wrapper that calls STL_string_dtor and returns 0x01034920 10 thunk_to_STL_string_dtor_01034920 stl Wrapper that calls STL_string_dtor and returns 0x01034930 10 thunk_to_STL_string_dtor_01034930 stl Wrapper that calls STL_string_dtor and returns 0x01034940 10 thunk_to_STL_string_dtor_01034940 stl Wrapper that calls STL_string_dtor and returns 0x01034950 10 thunk_to_STL_string_dtor_01034950 stl Wrapper that calls STL_string_dtor and returns 0x01034960 10 thunk_to_STL_string_dtor_01034960 stl Wrapper that calls STL_string_dtor and returns 0x01034970 10 thunk_to_STL_string_dtor_01034970 stl Wrapper that calls STL_string_dtor and returns 0x01034980 10 thunk_to_STL_string_dtor_01034980 stl Wrapper that calls STL_string_dtor and returns 0x01034990 10 thunk_to_STL_string_dtor_01034990 stl Wrapper that calls STL_string_dtor and returns 0x010349A0 10 thunk_to_STL_string_dtor_010349a0 stl Wrapper that calls STL_string_dtor and returns 0x010349B0 10 thunk_to_STL_string_dtor_010349b0 stl Wrapper calling STL_string_dtor destructor 0x010349C0 10 thunk_to_STL_string_dtor_010349c0 stl Wrapper that calls STL_string_dtor and returns 0x010349D0 10 thunk_to_STL_string_dtor_010349d0 stl Wrapper that calls STL_string_dtor and returns 0x010349E0 10 thunk_to_STL_string_dtor_010349e0 stl Wrapper that calls STL_string_dtor and returns 0x010349F0 10 thunk_to_STL_string_dtor_010349f0 stl Wrapper that calls STL_string_dtor and returns 0x01034A00 10 thunk_to_STL_string_dtor_01034a00 stl Wrapper that calls STL_string_dtor and returns 0x01034A80 280 atexit_ATL_unregister_window_classes_01034a80 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01034BA0 10 thunk_to_STL_string_dtor_01034ba0 stl Wrapper that calls STL_string_dtor and returns 0x01034BB0 10 thunk_to_STL_string_dtor_01034bb0 stl Wrapper that calls STL_string_dtor and returns 0x01034BC0 10 thunk_to_STL_string_dtor_01034bc0 stl Wrapper that calls STL_string_dtor and returns 0x01034BD0 10 thunk_to_STL_string_dtor_01034bd0 stl Wrapper that calls STL_string_dtor and returns 0x01034BE0 10 thunk_to_STL_string_dtor_01034be0 stl Wrapper that calls STL_string_dtor and returns 0x01034BF0 10 thunk_to_STL_string_dtor_01034bf0 stl Wrapper that calls STL_string_dtor and returns 0x01034C00 10 thunk_to_STL_string_dtor_01034c00 stl Wrapper that calls STL_string_dtor and returns 0x01034C10 10 thunk_to_STL_string_dtor_01034c10 stl Wrapper that calls STL_string_dtor and returns 0x01034C20 10 thunk_to_STL_string_dtor_01034c20 stl Wrapper that calls STL_string_dtor and returns 0x01034C30 10 thunk_to_STL_string_dtor_01034c30 stl Wrapper that calls STL_string_dtor and returns 0x01034C40 10 thunk_to_STL_string_dtor_01034c40 stl Wrapper that calls STL_string_dtor and returns 0x01034C50 10 thunk_to_STL_string_dtor_01034c50 stl Wrapper that calls STL_string_dtor and returns 0x01034C60 10 thunk_to_STL_string_dtor_01034c60 stl Wrapper that calls STL_string_dtor and returns 0x01034C70 10 thunk_to_STL_string_dtor_01034c70 stl Wrapper that calls STL_string_dtor and returns 0x01034C80 10 thunk_to_STL_string_dtor_01034c80 stl Wrapper that calls STL_string_dtor and returns 0x01034C90 10 thunk_to_STL_string_dtor_01034c90 stl Wrapper that calls STL_string_dtor and returns 0x01034CA0 10 thunk_to_STL_string_dtor_01034ca0 stl Wrapper that calls STL_string_dtor and returns 0x01034CB0 10 thunk_to_STL_string_dtor_01034cb0 stl Wrapper that calls STL_string_dtor and returns 0x01034CC0 10 thunk_to_STL_string_dtor_01034cc0 stl Wrapper that calls STL_string_dtor and returns 0x01034CD0 10 thunk_to_STL_string_dtor_01034cd0 stl Wrapper that calls STL_string_dtor and returns 0x01034CE0 10 thunk_to_STL_string_dtor_01034ce0 stl Wrapper that calls STL_string_dtor and returns 0x01034CF0 10 thunk_to_STL_string_dtor_01034cf0 stl Wrapper that calls STL_string_dtor and returns 0x01034D00 10 thunk_to_STL_string_dtor_01034d00 stl Wrapper that calls STL_string_dtor and returns 0x01034D10 10 thunk_to_STL_string_dtor_01034d10 stl Wrapper function that calls STL_string_dtor and returns 0x01034D20 10 thunk_to_STL_string_dtor_01034d20 stl Wrapper that calls STL_string_dtor and returns 0x01034DA0 280 atexit_ATL_unregister_window_classes_01034da0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01034EC0 10 thunk_to_STL_string_dtor_01034ec0 stl Wrapper that calls STL_string_dtor and returns 0x01034ED0 10 thunk_to_STL_string_dtor_01034ed0 stl Wrapper that calls STL_string_dtor and returns 0x01034EE0 10 thunk_to_STL_string_dtor_01034ee0 stl Wrapper that calls STL_string_dtor and returns 0x01034EF0 10 thunk_to_STL_string_dtor_01034ef0 stl Wrapper that calls STL_string_dtor and returns 0x01034F00 10 thunk_to_STL_string_dtor_01034f00 stl Wrapper that calls STL_string_dtor and returns 0x01034F10 10 thunk_to_STL_string_dtor_01034f10 stl Wrapper that calls STL_string_dtor and returns 0x01034F20 10 thunk_to_STL_string_dtor_01034f20 stl Wrapper that calls STL_string_dtor and returns 0x01034F30 10 thunk_to_STL_string_dtor_01034f30 stl Wrapper that calls STL_string_dtor and returns 0x01034F40 10 thunk_to_STL_string_dtor_01034f40 stl Wrapper that calls STL_string_dtor and returns 0x01034F50 10 thunk_to_STL_string_dtor_01034f50 stl Wrapper that calls STL_string_dtor and returns 0x01034F60 10 thunk_to_STL_string_dtor_01034f60 stl Wrapper that calls STL_string_dtor and returns 0x01034F70 10 thunk_to_STL_string_dtor_01034f70 stl Wrapper that calls STL_string_dtor and returns 0x01034F80 10 thunk_to_STL_string_dtor_01034f80 stl Wrapper that calls STL_string_dtor and returns 0x01034F90 10 thunk_to_STL_string_dtor_01034f90 stl Wrapper that calls STL_string_dtor and returns 0x01034FA0 10 thunk_to_STL_string_dtor_01034fa0 stl Wrapper that calls STL_string_dtor and returns 0x01034FB0 10 thunk_to_STL_string_dtor_01034fb0 stl Wrapper that calls STL_string_dtor and returns 0x01034FC0 10 thunk_to_STL_string_dtor_01034fc0 stl Wrapper that calls STL_string_dtor and returns 0x01034FD0 10 thunk_to_STL_string_dtor_01034fd0 stl Wrapper that calls STL_string_dtor and returns 0x01034FE0 10 thunk_to_STL_string_dtor_01034fe0 stl Wrapper that calls STL_string_dtor and returns 0x01034FF0 10 thunk_to_STL_string_dtor_01034ff0 stl Wrapper that calls STL_string_dtor and returns 0x01035000 10 thunk_to_STL_string_dtor_01035000 stl Wrapper that calls STL_string_dtor and returns 0x01035010 10 thunk_to_STL_string_dtor_01035010 stl Wrapper that calls STL_string_dtor and returns 0x01035020 10 thunk_to_STL_string_dtor_01035020 stl Wrapper that calls STL_string_dtor and returns 0x01035030 10 thunk_to_STL_string_dtor_01035030 stl Wrapper that calls STL_string_dtor and returns 0x01035040 10 thunk_to_STL_string_dtor_01035040 stl Wrapper that calls STL_string_dtor and returns 0x010350C0 280 atexit_ATL_unregister_window_classes_010350c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01035250 280 atexit_ATL_unregister_window_classes_01035250 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01035370 10 thunk_to_STL_string_dtor_01035370 stl Wrapper function that calls STL_string_dtor and returns 0x01035380 10 thunk_to_STL_string_dtor_01035380 stl Wrapper that calls STL_string_dtor and returns 0x01035390 10 thunk_to_STL_string_dtor_01035390 stl Wrapper that calls STL_string_dtor and returns 0x010353A0 10 thunk_to_STL_string_dtor_010353a0 stl Wrapper that calls STL_string_dtor and returns 0x010353B0 10 thunk_to_STL_string_dtor_010353b0 stl Wrapper that calls STL_string_dtor and returns 0x010353C0 10 thunk_to_STL_string_dtor_010353c0 stl Wrapper that calls STL_string_dtor and returns 0x010353D0 10 thunk_to_STL_string_dtor_010353d0 stl Wrapper that calls STL_string_dtor and returns 0x010353E0 10 thunk_to_STL_string_dtor_010353e0 stl Wrapper that calls STL_string_dtor and returns 0x010353F0 10 thunk_to_STL_string_dtor_010353f0 stl Wrapper that calls STL_string_dtor and returns 0x01035400 10 thunk_to_STL_string_dtor_01035400 stl Wrapper that calls STL_string_dtor and returns 0x01035410 10 thunk_to_STL_string_dtor_01035410 stl Wrapper that calls STL_string_dtor and returns 0x01035420 10 thunk_to_STL_string_dtor_01035420 stl Wrapper that calls STL_string_dtor and returns 0x01035430 10 thunk_to_STL_string_dtor_01035430 stl Wrapper that calls STL_string_dtor and returns 0x01035440 10 thunk_to_STL_string_dtor_01035440 stl Wrapper that calls STL_string_dtor and returns 0x01035450 10 thunk_to_STL_string_dtor_01035450 stl Wrapper that calls STL_string_dtor and returns 0x01035460 10 thunk_to_STL_string_dtor_01035460 stl Wrapper that calls STL_string_dtor and returns 0x01035470 10 thunk_to_STL_string_dtor_01035470 stl Wrapper that calls STL_string_dtor and returns 0x01035480 10 thunk_to_STL_string_dtor_01035480 stl Wrapper that calls STL_string_dtor and returns 0x01035490 10 thunk_to_STL_string_dtor_01035490 stl Wrapper that calls STL_string_dtor and returns 0x010354A0 10 thunk_to_STL_string_dtor_010354a0 stl Wrapper that calls STL_string_dtor and returns 0x010354B0 10 thunk_to_STL_string_dtor_010354b0 stl Wrapper that calls STL_string_dtor and returns 0x010354C0 10 thunk_to_STL_string_dtor_010354c0 stl Wrapper that calls STL_string_dtor and returns 0x010354D0 10 thunk_to_STL_string_dtor_010354d0 stl Wrapper that calls STL_string_dtor and returns 0x010354E0 10 thunk_to_STL_string_dtor_010354e0 stl Wrapper that calls STL_string_dtor and returns 0x010354F0 10 thunk_to_STL_string_dtor_010354f0 stl Wrapper that calls STL_string_dtor and returns 0x01035570 280 atexit_ATL_unregister_window_classes_01035570 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01035690 10 thunk_to_STL_string_dtor_01035690 stl Wrapper that calls STL_string_dtor and returns 0x010356A0 10 thunk_to_STL_string_dtor_010356a0 stl Wrapper that calls STL_string_dtor and returns 0x010356B0 10 thunk_to_STL_string_dtor_010356b0 stl Wrapper that calls STL_string_dtor and returns 0x010356C0 10 thunk_to_STL_string_dtor_010356c0 stl Wrapper that calls STL_string_dtor and returns 0x010356D0 10 thunk_to_STL_string_dtor_010356d0 stl Wrapper function that calls STL_string_dtor and returns 0x010356E0 10 thunk_to_STL_string_dtor_010356e0 stl Wrapper that calls STL_string_dtor and returns 0x010356F0 10 thunk_to_STL_string_dtor_010356f0 stl Wrapper that calls STL_string_dtor and returns 0x01035700 10 thunk_to_STL_string_dtor_01035700 stl Wrapper that calls STL_string_dtor and returns 0x01035710 10 thunk_to_STL_string_dtor_01035710 stl Wrapper that calls STL_string_dtor and returns 0x01035720 10 thunk_to_STL_string_dtor_01035720 stl Wrapper that calls STL_string_dtor and returns 0x01035730 10 thunk_to_STL_string_dtor_01035730 stl Wrapper that calls STL_string_dtor and returns 0x01035740 10 thunk_to_STL_string_dtor_01035740 stl Wrapper that calls STL_string_dtor and returns 0x01035750 10 thunk_to_STL_string_dtor_01035750 stl Wrapper that calls STL_string_dtor and returns 0x01035760 10 thunk_to_STL_string_dtor_01035760 stl Wrapper that calls STL_string_dtor and returns 0x01035770 10 thunk_to_STL_string_dtor_01035770 stl Wrapper that calls STL_string_dtor and returns 0x01035780 10 thunk_to_STL_string_dtor_01035780 stl Wrapper that calls STL_string_dtor and returns 0x01035790 10 thunk_to_STL_string_dtor_01035790 stl Wrapper that calls STL_string_dtor and returns 0x010357A0 10 thunk_to_STL_string_dtor_010357a0 stl Wrapper that calls STL_string_dtor and returns 0x010357B0 10 thunk_to_STL_string_dtor_010357b0 stl Wrapper that calls STL_string_dtor and returns 0x010357C0 10 thunk_to_STL_string_dtor_010357c0 stl Wrapper that calls STL_string_dtor and returns 0x010357D0 10 thunk_to_STL_string_dtor_010357d0 stl Wrapper that calls STL_string_dtor and returns 0x010357E0 10 thunk_to_STL_string_dtor_010357e0 stl Wrapper that calls STL_string_dtor and returns 0x010357F0 10 thunk_to_STL_string_dtor_010357f0 stl Wrapper that calls STL_string_dtor and returns 0x01035800 10 thunk_to_STL_string_dtor_01035800 stl Wrapper that calls STL_string_dtor and returns 0x01035810 10 thunk_to_STL_string_dtor_01035810 stl Wrapper calling STL string destructor 0x01035890 280 atexit_ATL_unregister_window_classes_01035890 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010359B0 66 atexit_CRenderPipeline_destroy_010359b0 crt atexit handler: SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector for render pipeline cleanup. 0x01035A00 10 thunk_to_STL_string_dtor_01035a00 stl Wrapper that calls STL_string_dtor and returns 0x01035A10 10 thunk_to_STL_string_dtor_01035a10 stl Wrapper that calls STL_string_dtor and returns 0x01035A20 10 thunk_to_STL_string_dtor_01035a20 stl Wrapper that calls STL_string_dtor and returns 0x01035A30 10 thunk_to_STL_string_dtor_01035a30 stl Wrapper that calls STL_string_dtor and returns 0x01035A40 10 thunk_to_STL_string_dtor_01035a40 stl Wrapper that calls STL_string_dtor and returns 0x01035A50 10 thunk_to_STL_string_dtor_01035a50 stl Wrapper that calls STL_string_dtor and returns 0x01035A60 10 thunk_to_STL_string_dtor_01035a60 stl Wrapper that calls STL_string_dtor and returns 0x01035A70 10 thunk_to_STL_string_dtor_01035a70 stl Wrapper that calls STL_string_dtor and returns 0x01035A80 10 thunk_to_STL_string_dtor_01035a80 stl Wrapper that calls STL_string_dtor and returns 0x01035A90 10 thunk_to_STL_string_dtor_01035a90 stl Wrapper that calls STL_string_dtor and returns 0x01035AA0 10 thunk_to_STL_string_dtor_01035aa0 stl Wrapper that calls STL_string_dtor and returns 0x01035AB0 10 thunk_to_STL_string_dtor_01035ab0 stl Wrapper that calls STL_string_dtor and returns 0x01035AC0 10 thunk_to_STL_string_dtor_01035ac0 stl Wrapper that calls STL_string_dtor and returns 0x01035AD0 10 thunk_to_STL_string_dtor_01035ad0 stl Wrapper that calls STL_string_dtor and returns 0x01035AE0 10 thunk_to_STL_string_dtor_01035ae0 stl Wrapper that calls STL_string_dtor and returns 0x01035AF0 10 thunk_to_STL_string_dtor_01035af0 stl Wrapper that calls STL_string_dtor and returns 0x01035B00 10 thunk_to_STL_string_dtor_01035b00 stl Wrapper that calls STL_string_dtor and returns 0x01035B10 10 thunk_to_STL_string_dtor_01035b10 stl Wrapper that calls STL_string_dtor and returns 0x01035B20 10 thunk_to_STL_string_dtor_01035b20 stl Wrapper that calls STL_string_dtor and returns 0x01035B30 10 thunk_to_STL_string_dtor_01035b30 stl Wrapper that calls STL_string_dtor and returns 0x01035B40 10 thunk_to_STL_string_dtor_01035b40 stl Wrapper that calls STL_string_dtor and returns 0x01035B50 10 thunk_to_STL_string_dtor_01035b50 stl Wrapper that calls STL_string_dtor and returns 0x01035B60 10 thunk_to_STL_string_dtor_01035b60 stl Wrapper that calls STL_string_dtor and returns 0x01035B70 10 thunk_to_STL_string_dtor_01035b70 stl Wrapper that calls STL_string_dtor and returns 0x01035B80 10 thunk_to_STL_string_dtor_01035b80 stl Wrapper that calls STL_string_dtor and returns 0x01035C00 280 atexit_ATL_unregister_window_classes_01035c00 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01035D20 10 thunk_to_STL_string_dtor_01035d20 stl Wrapper that calls STL_string_dtor and returns 0x01035D30 10 thunk_to_STL_string_dtor_01035d30 stl Wrapper that calls STL_string_dtor and returns 0x01035D40 10 thunk_to_STL_string_dtor_01035d40 stl Wrapper that calls STL_string_dtor and returns 0x01035D50 10 thunk_to_STL_string_dtor_01035d50 stl Wrapper that calls STL_string_dtor and returns 0x01035D60 10 thunk_to_STL_string_dtor_01035d60 stl Wrapper that calls STL_string_dtor and returns 0x01035D70 10 thunk_to_STL_string_dtor_01035d70 stl Wrapper that calls STL_string_dtor and returns 0x01035D80 10 thunk_to_STL_string_dtor_01035d80 stl Wrapper that calls STL_string_dtor and returns 0x01035D90 10 thunk_to_STL_string_dtor_01035d90 stl Wrapper that calls STL_string_dtor and returns 0x01035DA0 10 thunk_to_STL_string_dtor_01035da0 stl Wrapper that calls STL_string_dtor and returns 0x01035DB0 10 thunk_to_STL_string_dtor_01035db0 stl Wrapper that calls STL_string_dtor and returns 0x01035DC0 10 thunk_to_STL_string_dtor_01035dc0 stl Wrapper that calls STL_string_dtor and returns 0x01035DD0 10 thunk_to_STL_string_dtor_01035dd0 stl Wrapper that calls STL_string_dtor and returns 0x01035DE0 10 thunk_to_STL_string_dtor_01035de0 stl Wrapper that calls STL_string_dtor and returns 0x01035DF0 10 thunk_to_STL_string_dtor_01035df0 stl Wrapper that calls STL_string_dtor and returns 0x01035E00 10 thunk_to_STL_string_dtor_01035e00 stl Wrapper that calls STL_string_dtor and returns 0x01035E10 10 thunk_to_STL_string_dtor_01035e10 stl Wrapper that calls STL_string_dtor and returns 0x01035E20 10 thunk_to_STL_string_dtor_01035e20 stl Wrapper that calls STL_string_dtor and returns 0x01035E30 10 thunk_to_STL_string_dtor_01035e30 stl Wrapper that calls STL_string_dtor and returns 0x01035E40 10 thunk_to_STL_string_dtor_01035e40 stl Wrapper that calls STL_string_dtor and returns 0x01035E50 10 thunk_to_STL_string_dtor_01035e50 stl Wrapper that calls STL_string_dtor and returns 0x01035E60 10 thunk_to_STL_string_dtor_01035e60 stl Wrapper that calls STL_string_dtor and returns 0x01035E70 10 thunk_to_STL_string_dtor_01035e70 stl Wrapper that calls STL_string_dtor and returns 0x01035E80 10 thunk_to_STL_string_dtor_01035e80 stl Wrapper that calls STL_string_dtor and returns 0x01035E90 10 thunk_to_STL_string_dtor_01035e90 stl Wrapper that calls STL_string_dtor and returns 0x01035EA0 10 thunk_to_STL_string_dtor_01035ea0 stl Wrapper that calls STL_string_dtor and returns 0x01035F20 280 atexit_ATL_unregister_window_classes_01035f20 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01036040 10 thunk_to_STL_string_dtor_01036040 stl Wrapper that calls STL_string_dtor and returns 0x01036050 10 thunk_to_STL_string_dtor_01036050 stl Wrapper that calls STL_string_dtor and returns 0x01036070 10 thunk_to_STL_string_dtor_01036070 stl Wrapper that calls STL_string_dtor and returns 0x01036080 10 thunk_to_STL_string_dtor_01036080 stl Wrapper that calls STL_string_dtor and returns 0x01036090 10 thunk_to_STL_string_dtor_01036090 stl Wrapper that calls STL_string_dtor and returns 0x010360A0 10 thunk_to_STL_string_dtor_010360a0 stl Wrapper that calls STL_string_dtor and returns 0x010360B0 10 thunk_to_STL_string_dtor_010360b0 stl Wrapper that calls STL_string_dtor and returns 0x010360C0 10 thunk_to_STL_string_dtor_010360c0 stl Wrapper calling STL string destructor 0x010360D0 10 thunk_to_STL_string_dtor_010360d0 stl Wrapper that calls STL_string_dtor and returns 0x010360E0 10 thunk_to_STL_string_dtor_010360e0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010360F0 10 thunk_to_STL_string_dtor_010360f0 stl Wrapper that calls STL_string_dtor and returns 0x01036100 10 thunk_to_STL_string_dtor_01036100 stl Wrapper that calls STL_string_dtor and returns 0x01036110 10 thunk_to_STL_string_dtor_01036110 stl Wrapper that calls STL_string_dtor and returns 0x01036120 10 thunk_to_STL_string_dtor_01036120 stl Wrapper that calls STL_string_dtor and returns 0x01036130 10 thunk_to_STL_string_dtor_01036130 stl Wrapper that calls STL_string_dtor and returns 0x01036140 10 thunk_to_STL_string_dtor_01036140 stl Wrapper that calls STL_string_dtor and returns 0x01036150 10 thunk_to_STL_string_dtor_01036150 stl Wrapper that calls STL_string_dtor and returns 0x01036160 10 thunk_to_STL_string_dtor_01036160 stl Wrapper that calls STL_string_dtor and returns 0x01036170 10 thunk_to_STL_string_dtor_01036170 stl Wrapper that calls STL_string_dtor and returns 0x01036180 10 thunk_to_STL_string_dtor_01036180 stl Wrapper that calls STL_string_dtor and returns 0x01036190 10 thunk_to_STL_string_dtor_01036190 stl Wrapper that calls STL_string_dtor and returns 0x010361A0 10 thunk_to_STL_string_dtor_010361a0 stl Wrapper that calls STL_string_dtor and returns 0x010361B0 10 thunk_to_STL_string_dtor_010361b0 stl Wrapper that calls STL_string_dtor and returns 0x010361C0 10 thunk_to_STL_string_dtor_010361c0 stl Wrapper that calls STL_string_dtor and returns 0x01036240 280 atexit_ATL_unregister_window_classes_01036240 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01036360 10 thunk_to_STL_string_dtor_01036360 stl Wrapper that calls STL_string_dtor and returns 0x01036370 10 thunk_to_STL_string_dtor_01036370 stl Wrapper that calls STL_string_dtor and returns 0x01036380 10 thunk_to_STL_string_dtor_01036380 stl Wrapper that calls STL_string_dtor and returns 0x01036390 10 thunk_to_STL_string_dtor_01036390 stl Wrapper that calls STL_string_dtor and returns 0x010363A0 10 thunk_to_STL_string_dtor_010363a0 stl Wrapper that calls STL_string_dtor and returns 0x010363B0 10 thunk_to_STL_string_dtor_010363b0 stl Wrapper that calls STL_string_dtor and returns 0x010363C0 10 thunk_to_STL_string_dtor_010363c0 stl Wrapper that calls STL_string_dtor and returns 0x010363D0 10 thunk_to_STL_string_dtor_010363d0 stl Wrapper that calls STL_string_dtor and returns 0x010363E0 10 thunk_to_STL_string_dtor_010363e0 stl Wrapper that calls STL_string_dtor and returns 0x010363F0 10 thunk_to_STL_string_dtor_010363f0 stl Wrapper that calls STL_string_dtor and returns 0x01036400 10 thunk_to_STL_string_dtor_01036400 stl Wrapper that calls STL_string_dtor and returns 0x01036410 10 thunk_to_STL_string_dtor_01036410 stl Wrapper that calls STL_string_dtor and returns 0x01036420 10 thunk_to_STL_string_dtor_01036420 stl Wrapper that calls STL_string_dtor and returns 0x01036430 10 thunk_to_STL_string_dtor_01036430 stl Wrapper that calls STL_string_dtor and returns 0x01036440 10 thunk_to_STL_string_dtor_01036440 stl Wrapper that calls STL_string_dtor and returns 0x01036450 10 thunk_to_STL_string_dtor_01036450 stl Wrapper that calls STL_string_dtor and returns 0x01036460 10 thunk_to_STL_string_dtor_01036460 stl Wrapper that calls STL_string_dtor and returns 0x01036470 10 thunk_to_STL_string_dtor_01036470 stl Wrapper that calls STL_string_dtor and returns 0x01036480 10 thunk_to_STL_string_dtor_01036480 stl Wrapper that calls STL_string_dtor and returns 0x01036490 10 thunk_to_STL_string_dtor_01036490 stl Wrapper that calls STL_string_dtor and returns 0x010364A0 10 thunk_to_STL_string_dtor_010364a0 stl Wrapper that calls STL_string_dtor and returns 0x010364B0 10 thunk_to_STL_string_dtor_010364b0 stl Wrapper that calls STL_string_dtor and returns 0x010364C0 10 thunk_to_STL_string_dtor_010364c0 stl Wrapper that calls STL_string_dtor and returns 0x010364D0 10 thunk_to_STL_string_dtor_010364d0 stl Wrapper function that calls STL_string_dtor and returns 0x010364E0 10 thunk_to_STL_string_dtor_010364e0 stl Wrapper that calls STL_string_dtor and returns 0x01036560 280 atexit_ATL_unregister_window_classes_01036560 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01036680 10 thunk_to_STL_string_dtor_01036680 stl Wrapper that calls STL_string_dtor and returns 0x01036690 10 thunk_to_STL_string_dtor_01036690 stl Wrapper that calls STL_string_dtor and returns 0x010366A0 10 thunk_to_STL_string_dtor_010366a0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010366B0 10 thunk_to_STL_string_dtor_010366b0 stl Wrapper that calls STL_string_dtor and returns 0x010366C0 10 thunk_to_STL_string_dtor_010366c0 stl Wrapper that calls STL_string_dtor and returns 0x010366D0 10 thunk_to_STL_string_dtor_010366d0 stl Wrapper that calls STL_string_dtor and returns 0x010366E0 10 thunk_to_STL_string_dtor_010366e0 stl Wrapper that calls STL_string_dtor and returns 0x010366F0 10 thunk_to_STL_string_dtor_010366f0 stl Wrapper function that calls STL_string_dtor and returns 0x01036700 10 thunk_to_STL_string_dtor_01036700 stl Wrapper that calls STL_string_dtor and returns 0x01036710 10 thunk_to_STL_string_dtor_01036710 stl Wrapper that calls STL_string_dtor and returns 0x01036720 10 thunk_to_STL_string_dtor_01036720 stl Wrapper that calls STL_string_dtor and returns 0x01036730 10 thunk_to_STL_string_dtor_01036730 stl Wrapper that calls STL_string_dtor and returns 0x01036740 10 thunk_to_STL_string_dtor_01036740 stl Wrapper that calls STL_string_dtor and returns 0x01036750 10 thunk_to_STL_string_dtor_01036750 stl Wrapper that calls STL_string_dtor and returns 0x01036760 10 thunk_to_STL_string_dtor_01036760 stl Wrapper that calls STL_string_dtor and returns 0x01036770 10 thunk_to_STL_string_dtor_01036770 stl Wrapper that calls STL_string_dtor and returns 0x01036780 10 thunk_to_STL_string_dtor_01036780 stl Wrapper that calls STL_string_dtor and returns 0x01036790 10 thunk_to_STL_string_dtor_01036790 stl Wrapper that calls STL_string_dtor and returns 0x010367A0 10 thunk_to_STL_string_dtor_010367a0 stl Wrapper that calls STL_string_dtor and returns 0x010367B0 10 thunk_to_STL_string_dtor_010367b0 stl Wrapper that calls STL_string_dtor and returns 0x010367C0 10 thunk_to_STL_string_dtor_010367c0 stl Wrapper that calls STL_string_dtor and returns 0x010367D0 10 thunk_to_STL_string_dtor_010367d0 stl Wrapper that calls STL_string_dtor and returns 0x010367E0 10 thunk_to_STL_string_dtor_010367e0 stl Wrapper that calls STL_string_dtor and returns 0x010367F0 10 thunk_to_STL_string_dtor_010367f0 stl Wrapper that calls STL_string_dtor and returns 0x01036800 10 thunk_to_STL_string_dtor_01036800 stl Wrapper function that calls STL_string_dtor and returns 0x01036880 280 atexit_ATL_unregister_window_classes_01036880 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010369A0 10 thunk_to_STL_string_dtor_010369a0 stl Wrapper that calls STL_string_dtor and returns 0x010369B0 10 thunk_to_STL_string_dtor_010369b0 stl Wrapper that calls STL_string_dtor and returns 0x010369C0 10 thunk_to_STL_string_dtor_010369c0 stl Wrapper that calls STL_string_dtor and returns 0x010369D0 10 thunk_to_STL_string_dtor_010369d0 stl Wrapper that calls STL_string_dtor and returns 0x010369E0 10 thunk_to_STL_string_dtor_010369e0 stl Wrapper that calls STL_string_dtor and returns 0x010369F0 10 thunk_to_STL_string_dtor_010369f0 stl Wrapper that calls STL_string_dtor and returns 0x01036A00 10 thunk_to_STL_string_dtor_01036a00 stl Wrapper that calls STL_string_dtor and returns 0x01036A10 10 thunk_to_STL_string_dtor_01036a10 stl Wrapper that calls STL_string_dtor and returns 0x01036A20 10 thunk_to_STL_string_dtor_01036a20 stl Wrapper that calls STL_string_dtor and returns 0x01036A30 10 thunk_to_STL_string_dtor_01036a30 stl Wrapper that calls STL_string_dtor and returns 0x01036A40 10 thunk_to_STL_string_dtor_01036a40 stl Wrapper that calls STL_string_dtor and returns 0x01036A50 10 thunk_to_STL_string_dtor_01036a50 stl Wrapper that calls STL_string_dtor and returns 0x01036A60 10 thunk_to_STL_string_dtor_01036a60 stl Wrapper that calls STL_string_dtor and returns 0x01036A70 10 thunk_to_STL_string_dtor_01036a70 stl Wrapper that calls STL_string_dtor and returns 0x01036A80 10 thunk_to_STL_string_dtor_01036a80 stl Wrapper that calls STL_string_dtor and returns 0x01036A90 10 thunk_to_STL_string_dtor_01036a90 stl Wrapper that calls STL_string_dtor and returns 0x01036AA0 10 thunk_to_STL_string_dtor_01036aa0 stl Wrapper that calls STL_string_dtor and returns 0x01036AB0 10 thunk_to_STL_string_dtor_01036ab0 stl Wrapper that calls STL_string_dtor and returns 0x01036AC0 10 thunk_to_STL_string_dtor_01036ac0 stl Wrapper that calls STL_string_dtor and returns 0x01036AD0 10 thunk_to_STL_string_dtor_01036ad0 stl Wrapper that calls STL_string_dtor and returns 0x01036AE0 10 thunk_to_STL_string_dtor_01036ae0 stl Wrapper that calls STL_string_dtor and returns 0x01036AF0 10 thunk_to_STL_string_dtor_01036af0 stl Wrapper that calls STL_string_dtor and returns 0x01036B00 10 thunk_to_STL_string_dtor_01036b00 stl Wrapper that calls STL_string_dtor and returns 0x01036B10 10 thunk_to_STL_string_dtor_01036b10 stl Wrapper that calls STL_string_dtor and returns 0x01036B20 10 thunk_to_STL_string_dtor_01036b20 stl Wrapper that calls STL_string_dtor and returns 0x01036BA0 280 atexit_ATL_unregister_window_classes_01036ba0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01036CC0 10 thunk_to_STL_string_dtor_01036cc0 stl Wrapper that calls STL_string_dtor and returns 0x01036CD0 10 thunk_to_STL_string_dtor_01036cd0 stl Wrapper that calls STL_string_dtor and returns 0x01036CE0 10 thunk_to_STL_string_dtor_01036ce0 stl Wrapper that calls STL_string_dtor and returns 0x01036CF0 10 thunk_to_STL_string_dtor_01036cf0 stl Wrapper that calls STL_string_dtor and returns 0x01036D00 10 thunk_to_STL_string_dtor_01036d00 stl Wrapper that calls STL_string_dtor and returns 0x01036D10 10 thunk_to_STL_string_dtor_01036d10 stl Wrapper that calls STL_string_dtor and returns 0x01036D20 10 thunk_to_STL_string_dtor_01036d20 stl Wrapper that calls STL_string_dtor and returns 0x01036D30 10 thunk_to_STL_string_dtor_01036d30 stl Wrapper that calls STL_string_dtor and returns 0x01036D40 10 thunk_to_STL_string_dtor_01036d40 stl Wrapper that calls STL_string_dtor and returns 0x01036D50 10 thunk_to_STL_string_dtor_01036d50 stl Wrapper that calls STL_string_dtor and returns 0x01036D60 10 thunk_to_STL_string_dtor_01036d60 stl Wrapper that calls STL_string_dtor and returns 0x01036D70 10 thunk_to_STL_string_dtor_01036d70 stl Wrapper that calls STL_string_dtor and returns 0x01036D80 10 thunk_to_STL_string_dtor_01036d80 stl Wrapper that calls STL_string_dtor and returns 0x01036D90 10 thunk_to_STL_string_dtor_01036d90 stl Wrapper that calls STL_string_dtor and returns 0x01036DA0 10 thunk_to_STL_string_dtor_01036da0 stl Wrapper that calls STL_string_dtor and returns 0x01036DB0 10 thunk_to_STL_string_dtor_01036db0 stl Wrapper that calls STL_string_dtor and returns 0x01036DC0 10 thunk_to_STL_string_dtor_01036dc0 stl Wrapper that calls STL_string_dtor and returns 0x01036DD0 10 thunk_to_STL_string_dtor_01036dd0 stl Wrapper that calls STL_string_dtor and returns 0x01036DE0 10 thunk_to_STL_string_dtor_01036de0 stl Wrapper that calls STL_string_dtor and returns 0x01036DF0 10 thunk_to_STL_string_dtor_01036df0 stl Wrapper that calls STL_string_dtor and returns 0x01036E00 10 thunk_to_STL_string_dtor_01036e00 stl Wrapper that calls STL_string_dtor and returns 0x01036E10 10 thunk_to_STL_string_dtor_01036e10 stl Wrapper that calls STL_string_dtor and returns 0x01036E20 10 thunk_to_STL_string_dtor_01036e20 stl Wrapper that calls STL_string_dtor and returns 0x01036E30 10 thunk_to_STL_string_dtor_01036e30 stl Wrapper that calls STL_string_dtor and returns 0x01036E40 10 thunk_to_STL_string_dtor_01036e40 stl Wrapper that calls STL_string_dtor and returns 0x01036EC0 280 atexit_ATL_unregister_window_classes_01036ec0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01036FE0 10 thunk_to_STL_string_dtor_01036fe0 stl Wrapper that calls STL_string_dtor and returns 0x01036FF0 10 thunk_to_STL_string_dtor_01036ff0 stl Wrapper that calls STL_string_dtor and returns 0x01037000 10 thunk_to_STL_string_dtor_01037000 stl Wrapper that calls STL_string_dtor and returns 0x01037010 10 thunk_to_STL_string_dtor_01037010 stl Wrapper that calls STL_string_dtor and returns 0x01037020 10 thunk_to_STL_string_dtor_01037020 stl Wrapper that calls STL_string_dtor and returns 0x01037030 10 thunk_to_STL_string_dtor_01037030 stl Wrapper that calls STL_string_dtor and returns 0x01037040 10 thunk_to_STL_string_dtor_01037040 stl Wrapper that calls STL_string_dtor and returns 0x01037050 10 thunk_to_STL_string_dtor_01037050 stl Wrapper that calls STL_string_dtor and returns 0x01037060 10 thunk_to_STL_string_dtor_01037060 stl Wrapper that calls STL_string_dtor and returns 0x01037070 10 thunk_to_STL_string_dtor_01037070 stl Wrapper function that calls STL_string_dtor and returns 0x01037080 10 thunk_to_STL_string_dtor_01037080 stl Wrapper calling STL string destructor 0x01037090 10 thunk_to_STL_string_dtor_01037090 stl Wrapper that calls STL_string_dtor and returns 0x010370A0 10 thunk_to_STL_string_dtor_010370a0 stl Wrapper that calls STL_string_dtor and returns 0x010370B0 10 thunk_to_STL_string_dtor_010370b0 stl Wrapper that calls STL_string_dtor and returns 0x010370C0 10 thunk_to_STL_string_dtor_010370c0 stl Wrapper that calls STL_string_dtor and returns 0x010370D0 10 thunk_to_STL_string_dtor_010370d0 stl Wrapper that calls STL_string_dtor and returns 0x010370E0 10 thunk_to_STL_string_dtor_010370e0 stl Wrapper that calls STL_string_dtor and returns 0x010370F0 10 thunk_to_STL_string_dtor_010370f0 stl Wrapper that calls STL_string_dtor and returns 0x01037100 10 thunk_to_STL_string_dtor_01037100 stl Wrapper that calls STL_string_dtor and returns 0x01037110 10 thunk_to_STL_string_dtor_01037110 stl Wrapper that calls STL_string_dtor and returns 0x01037120 10 thunk_to_STL_string_dtor_01037120 stl Wrapper that calls STL_string_dtor and returns 0x01037130 10 thunk_to_STL_string_dtor_01037130 stl Wrapper that calls STL_string_dtor and returns 0x01037140 10 thunk_to_STL_string_dtor_01037140 stl Wrapper that calls STL_string_dtor and returns 0x01037150 10 thunk_to_STL_string_dtor_01037150 stl Wrapper that calls STL_string_dtor and returns 0x01037160 10 thunk_to_STL_string_dtor_01037160 stl Wrapper that calls STL_string_dtor and returns 0x010371E0 280 atexit_ATL_unregister_window_classes_010371e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01037300 10 thunk_to_STL_string_dtor_01037300 stl Wrapper that calls STL_string_dtor and returns 0x01037310 10 thunk_to_STL_string_dtor_01037310 stl Wrapper function that calls STL_string_dtor and returns 0x01037320 10 thunk_to_STL_string_dtor_01037320 stl Wrapper that calls STL_string_dtor and returns 0x01037330 10 thunk_to_STL_string_dtor_01037330 stl Wrapper that calls STL_string_dtor and returns 0x01037340 10 thunk_to_STL_string_dtor_01037340 stl Wrapper that calls STL_string_dtor and returns 0x01037350 10 thunk_to_STL_string_dtor_01037350 stl Wrapper that calls STL_string_dtor and returns 0x01037360 10 thunk_to_STL_string_dtor_01037360 stl Wrapper that calls STL_string_dtor and returns 0x01037370 10 thunk_to_STL_string_dtor_01037370 stl Wrapper that calls STL_string_dtor and returns 0x01037380 10 thunk_to_STL_string_dtor_01037380 stl Wrapper that calls STL_string_dtor and returns 0x01037390 10 thunk_to_STL_string_dtor_01037390 stl Wrapper that calls STL_string_dtor and returns 0x010373A0 10 thunk_to_STL_string_dtor_010373a0 stl Wrapper that calls STL_string_dtor and returns 0x010373B0 10 thunk_to_STL_string_dtor_010373b0 stl Wrapper that calls STL_string_dtor and returns 0x010373C0 10 thunk_to_STL_string_dtor_010373c0 stl Wrapper function that calls STL_string_dtor and returns 0x010373D0 10 thunk_to_STL_string_dtor_010373d0 stl Wrapper that calls STL_string_dtor and returns 0x010373E0 10 thunk_to_STL_string_dtor_010373e0 stl Wrapper that calls STL_string_dtor and returns 0x010373F0 10 thunk_to_STL_string_dtor_010373f0 stl Wrapper that calls STL_string_dtor and returns 0x01037400 10 thunk_to_STL_string_dtor_01037400 stl Wrapper that calls STL_string_dtor and returns 0x01037410 10 thunk_to_STL_string_dtor_01037410 stl Wrapper that calls STL_string_dtor and returns 0x01037420 10 thunk_to_STL_string_dtor_01037420 stl Wrapper that calls STL_string_dtor and returns 0x01037430 10 thunk_to_STL_string_dtor_01037430 stl Wrapper that calls STL_string_dtor and returns 0x01037440 10 thunk_to_STL_string_dtor_01037440 stl Wrapper that calls STL_string_dtor and returns 0x01037450 10 thunk_to_STL_string_dtor_01037450 stl Wrapper that calls STL_string_dtor and returns 0x01037460 10 thunk_to_STL_string_dtor_01037460 stl Wrapper that calls STL_string_dtor and returns 0x01037470 10 thunk_to_STL_string_dtor_01037470 stl Wrapper that calls STL_string_dtor and returns 0x01037480 10 thunk_to_STL_string_dtor_01037480 stl Wrapper that calls STL_string_dtor and returns 0x01037500 280 atexit_ATL_unregister_window_classes_01037500 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01037620 10 thunk_to_STL_string_dtor_01037620 stl Wrapper that calls STL_string_dtor and returns 0x01037630 10 thunk_to_STL_string_dtor_01037630 stl Wrapper that calls STL_string_dtor and returns 0x01037640 10 thunk_to_STL_string_dtor_01037640 stl Wrapper that calls STL_string_dtor and returns 0x01037650 10 thunk_to_STL_string_dtor_01037650 stl Wrapper that calls STL_string_dtor and returns 0x01037660 10 thunk_to_STL_string_dtor_01037660 stl Wrapper that calls STL_string_dtor and returns 0x01037670 10 thunk_to_STL_string_dtor_01037670 stl Wrapper that calls STL_string_dtor and returns 0x01037680 10 thunk_to_STL_string_dtor_01037680 stl Wrapper that calls STL_string_dtor and returns 0x01037690 10 thunk_to_STL_string_dtor_01037690 stl Wrapper that calls STL_string_dtor and returns 0x010376A0 10 thunk_to_STL_string_dtor_010376a0 stl Wrapper that calls STL_string_dtor and returns 0x010376B0 10 thunk_to_STL_string_dtor_010376b0 stl Wrapper that calls STL_string_dtor and returns 0x010376C0 10 thunk_to_STL_string_dtor_010376c0 stl Wrapper that calls STL_string_dtor and returns 0x010376D0 10 thunk_to_STL_string_dtor_010376d0 stl Wrapper that calls STL_string_dtor and returns 0x010376E0 10 thunk_to_STL_string_dtor_010376e0 stl Wrapper function that calls STL_string_dtor and returns 0x010376F0 10 thunk_to_STL_string_dtor_010376f0 stl Wrapper that calls STL_string_dtor and returns 0x01037700 10 thunk_to_STL_string_dtor_01037700 stl Wrapper that calls STL_string_dtor and returns 0x01037710 10 thunk_to_STL_string_dtor_01037710 stl Wrapper that calls STL_string_dtor and returns 0x01037720 10 thunk_to_STL_string_dtor_01037720 stl Wrapper that calls STL_string_dtor and returns 0x01037730 10 thunk_to_STL_string_dtor_01037730 stl Wrapper that calls STL_string_dtor and returns 0x01037740 10 thunk_to_STL_string_dtor_01037740 stl Wrapper that calls STL_string_dtor and returns 0x01037750 10 thunk_to_STL_string_dtor_01037750 stl Wrapper that calls STL_string_dtor and returns 0x01037760 10 thunk_to_STL_string_dtor_01037760 stl Wrapper that calls STL_string_dtor and returns 0x01037770 10 thunk_to_STL_string_dtor_01037770 stl Wrapper that calls STL_string_dtor and returns 0x01037780 10 thunk_to_STL_string_dtor_01037780 stl Wrapper that calls STL_string_dtor and returns 0x01037790 10 thunk_to_STL_string_dtor_01037790 stl Wrapper that calls STL_string_dtor and returns 0x010377A0 10 thunk_to_STL_string_dtor_010377a0 stl Wrapper that calls STL_string_dtor and returns 0x01037820 280 atexit_ATL_unregister_window_classes_01037820 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01037940 10 thunk_to_STL_string_dtor_01037940 stl Wrapper that calls STL_string_dtor and returns 0x01037950 10 thunk_to_STL_string_dtor_01037950 stl Wrapper that calls STL_string_dtor and returns 0x01037960 10 thunk_to_STL_string_dtor_01037960 stl Wrapper that calls STL_string_dtor and returns 0x01037970 10 thunk_to_STL_string_dtor_01037970 stl Wrapper that calls STL_string_dtor and returns 0x01037980 10 thunk_to_STL_string_dtor_01037980 stl Wrapper that calls STL_string_dtor and returns 0x01037990 10 thunk_to_STL_string_dtor_01037990 stl Wrapper that calls STL_string_dtor and returns 0x010379A0 10 thunk_to_STL_string_dtor_010379a0 stl Wrapper that calls STL_string_dtor and returns 0x010379B0 10 thunk_to_STL_string_dtor_010379b0 stl Wrapper that calls STL_string_dtor and returns 0x010379C0 10 thunk_to_STL_string_dtor_010379c0 stl Wrapper function that calls STL_string_dtor and returns 0x010379D0 10 thunk_to_STL_string_dtor_010379d0 stl Wrapper that calls STL_string_dtor and returns 0x010379E0 10 thunk_to_STL_string_dtor_010379e0 stl Wrapper that calls STL_string_dtor and returns 0x010379F0 10 thunk_to_STL_string_dtor_010379f0 stl Wrapper that calls STL_string_dtor and returns 0x01037A00 10 thunk_to_STL_string_dtor_01037a00 stl Wrapper that calls STL_string_dtor and returns 0x01037A10 10 thunk_to_STL_string_dtor_01037a10 stl Wrapper that calls STL_string_dtor and returns 0x01037A20 10 thunk_to_STL_string_dtor_01037a20 stl Wrapper that calls STL_string_dtor and returns 0x01037A30 10 thunk_to_STL_string_dtor_01037a30 stl Wrapper function that calls STL_string_dtor and returns 0x01037A40 10 thunk_to_STL_string_dtor_01037a40 stl Wrapper that calls STL_string_dtor and returns 0x01037A50 10 thunk_to_STL_string_dtor_01037a50 stl Wrapper that calls STL_string_dtor and returns 0x01037A60 10 thunk_to_STL_string_dtor_01037a60 stl Wrapper that calls STL_string_dtor and returns 0x01037A70 10 thunk_to_STL_string_dtor_01037a70 stl Wrapper function that calls STL_string_dtor and returns 0x01037A80 10 thunk_to_STL_string_dtor_01037a80 stl Wrapper that calls STL_string_dtor and returns 0x01037A90 10 thunk_to_STL_string_dtor_01037a90 stl Wrapper that calls STL_string_dtor and returns 0x01037AA0 10 thunk_to_STL_string_dtor_01037aa0 stl Wrapper that calls STL_string_dtor and returns 0x01037AB0 10 thunk_to_STL_string_dtor_01037ab0 stl Wrapper that calls STL_string_dtor and returns 0x01037AC0 10 thunk_to_STL_string_dtor_01037ac0 stl Wrapper that calls STL_string_dtor and returns 0x01037B40 280 atexit_ATL_unregister_window_classes_01037b40 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01037C60 10 thunk_to_STL_string_dtor_01037c60 stl Wrapper that calls STL_string_dtor and returns 0x01037C70 10 thunk_to_STL_string_dtor_01037c70 stl Wrapper that calls STL_string_dtor and returns 0x01037C80 10 thunk_to_STL_string_dtor_01037c80 stl Wrapper that calls STL_string_dtor and returns 0x01037C90 10 thunk_to_STL_string_dtor_01037c90 stl Wrapper that calls STL_string_dtor and returns 0x01037CA0 10 thunk_to_STL_string_dtor_01037ca0 stl Wrapper that calls STL_string_dtor and returns 0x01037CB0 10 thunk_to_STL_string_dtor_01037cb0 stl Wrapper that calls STL_string_dtor and returns 0x01037CC0 10 thunk_to_STL_string_dtor_01037cc0 stl Wrapper that calls STL_string_dtor and returns 0x01037CD0 10 thunk_to_STL_string_dtor_01037cd0 stl Wrapper that calls STL_string_dtor and returns 0x01037CE0 10 thunk_to_STL_string_dtor_01037ce0 stl Wrapper that calls STL_string_dtor and returns 0x01037CF0 10 thunk_to_STL_string_dtor_01037cf0 stl Wrapper that calls STL_string_dtor and returns 0x01037D00 10 thunk_to_STL_string_dtor_01037d00 stl Wrapper that calls STL_string_dtor and returns 0x01037D10 10 thunk_to_STL_string_dtor_01037d10 stl Wrapper that calls STL_string_dtor and returns 0x01037D20 10 thunk_to_STL_string_dtor_01037d20 stl Wrapper that calls STL_string_dtor and returns 0x01037D30 10 thunk_to_STL_string_dtor_01037d30 stl Wrapper that calls STL_string_dtor and returns 0x01037D40 10 thunk_to_STL_string_dtor_01037d40 stl Wrapper that calls STL_string_dtor and returns 0x01037D50 10 thunk_to_STL_string_dtor_01037d50 stl Wrapper that calls STL_string_dtor and returns 0x01037D60 10 thunk_to_STL_string_dtor_01037d60 stl Wrapper that calls STL_string_dtor and returns 0x01037D70 10 thunk_to_STL_string_dtor_01037d70 stl Wrapper that calls STL_string_dtor and returns 0x01037D80 10 thunk_to_STL_string_dtor_01037d80 stl Wrapper that calls STL_string_dtor and returns 0x01037D90 10 thunk_to_STL_string_dtor_01037d90 stl Wrapper that calls STL_string_dtor and returns 0x01037DA0 10 thunk_to_STL_string_dtor_01037da0 stl Wrapper that calls STL_string_dtor and returns 0x01037DB0 10 thunk_to_STL_string_dtor_01037db0 stl Wrapper that calls STL_string_dtor and returns 0x01037DC0 10 thunk_to_STL_string_dtor_01037dc0 stl Wrapper that calls STL_string_dtor and returns 0x01037DD0 10 thunk_to_STL_string_dtor_01037dd0 stl Wrapper that calls STL_string_dtor and returns 0x01037DE0 10 thunk_to_STL_string_dtor_01037de0 stl Wrapper that calls STL_string_dtor and returns 0x01037E60 280 atexit_ATL_unregister_window_classes_01037e60 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01037F80 10 thunk_to_STL_string_dtor_01037f80 stl Wrapper that calls STL_string_dtor and returns 0x01037F90 10 thunk_to_STL_string_dtor_01037f90 stl Wrapper that calls STL_string_dtor and returns 0x01037FA0 10 thunk_to_STL_string_dtor_01037fa0 stl Wrapper that calls STL_string_dtor and returns 0x01037FB0 10 thunk_to_STL_string_dtor_01037fb0 stl Wrapper that calls STL_string_dtor and returns 0x01037FC0 10 thunk_to_STL_string_dtor_01037fc0 stl Wrapper that calls STL_string_dtor and returns 0x01037FD0 10 thunk_to_STL_string_dtor_01037fd0 stl Wrapper that calls STL_string_dtor and returns 0x01037FE0 10 thunk_to_STL_string_dtor_01037fe0 stl Wrapper that calls STL_string_dtor and returns 0x01037FF0 10 thunk_to_STL_string_dtor_01037ff0 stl Wrapper that calls STL_string_dtor and returns 0x01038000 10 thunk_to_STL_string_dtor_01038000 stl Wrapper that calls STL_string_dtor and returns 0x01038010 10 thunk_to_STL_string_dtor_01038010 stl Wrapper calling STL_string_dtor destructor 0x01038020 10 thunk_to_STL_string_dtor_01038020 stl Wrapper that calls STL_string_dtor and returns 0x01038030 10 thunk_to_STL_string_dtor_01038030 stl Wrapper that calls STL_string_dtor and returns 0x01038040 10 thunk_to_STL_string_dtor_01038040 stl Wrapper that calls STL_string_dtor and returns 0x01038050 10 thunk_to_STL_string_dtor_01038050 stl Wrapper that calls STL_string_dtor and returns 0x01038060 10 thunk_to_STL_string_dtor_01038060 stl Wrapper that calls STL_string_dtor and returns 0x01038070 10 thunk_to_STL_string_dtor_01038070 stl Wrapper that calls STL_string_dtor and returns 0x01038080 10 thunk_to_STL_string_dtor_01038080 stl Wrapper function that calls STL_string_dtor and returns 0x01038090 10 thunk_to_STL_string_dtor_01038090 stl Wrapper function that calls STL_string_dtor and returns 0x010380A0 10 thunk_to_STL_string_dtor_010380a0 stl Wrapper that calls STL_string_dtor and returns 0x010380B0 10 thunk_to_STL_string_dtor_010380b0 stl Wrapper that calls STL_string_dtor and returns 0x010380C0 10 thunk_to_STL_string_dtor_010380c0 stl Wrapper that calls STL_string_dtor and returns 0x010380D0 10 thunk_to_STL_string_dtor_010380d0 stl Wrapper that calls STL_string_dtor and returns 0x010380E0 10 thunk_to_STL_string_dtor_010380e0 stl Wrapper that calls STL_string_dtor and returns 0x010380F0 10 thunk_to_STL_string_dtor_010380f0 stl Wrapper that calls STL_string_dtor and returns 0x01038100 10 thunk_to_STL_string_dtor_01038100 stl Wrapper that calls STL_string_dtor and returns 0x01038180 280 atexit_ATL_unregister_window_classes_01038180 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010382A0 10 thunk_to_STL_string_dtor_010382a0 stl Wrapper that calls STL_string_dtor and returns 0x010382B0 10 thunk_to_STL_string_dtor_010382b0 stl Wrapper calling STL_string_dtor destructor 0x010382C0 10 thunk_to_STL_string_dtor_010382c0 stl Wrapper function that calls STL_string_dtor and returns 0x010382D0 10 thunk_to_STL_string_dtor_010382d0 stl Wrapper that calls STL_string_dtor and returns 0x010382E0 10 thunk_to_STL_string_dtor_010382e0 stl Wrapper that calls STL_string_dtor and returns 0x010382F0 10 thunk_to_STL_string_dtor_010382f0 stl Wrapper that calls STL_string_dtor and returns 0x01038300 10 thunk_to_STL_string_dtor_01038300 stl Wrapper that calls STL_string_dtor and returns 0x01038310 10 thunk_to_STL_string_dtor_01038310 stl Wrapper that calls STL_string_dtor and returns 0x01038320 10 thunk_to_STL_string_dtor_01038320 stl Wrapper that calls STL_string_dtor and returns 0x01038330 10 thunk_to_STL_string_dtor_01038330 stl Wrapper that calls STL_string_dtor and returns 0x01038340 10 thunk_to_STL_string_dtor_01038340 stl Wrapper that calls STL_string_dtor and returns 0x01038350 10 thunk_to_STL_string_dtor_01038350 stl Wrapper that calls STL_string_dtor and returns 0x01038360 10 thunk_to_STL_string_dtor_01038360 stl Wrapper that calls STL_string_dtor and returns 0x01038370 10 thunk_to_STL_string_dtor_01038370 stl Wrapper function that calls STL_string_dtor and returns 0x01038380 10 thunk_to_STL_string_dtor_01038380 stl Wrapper that calls STL_string_dtor and returns 0x01038390 10 thunk_to_STL_string_dtor_01038390 stl Wrapper that calls STL_string_dtor and returns 0x010383A0 10 thunk_to_STL_string_dtor_010383a0 stl Wrapper that calls STL_string_dtor and returns 0x010383B0 10 thunk_to_STL_string_dtor_010383b0 stl Wrapper that calls STL_string_dtor and returns 0x010383C0 10 thunk_to_STL_string_dtor_010383c0 stl Wrapper that calls STL_string_dtor and returns 0x010383D0 10 thunk_to_STL_string_dtor_010383d0 stl Wrapper that calls STL_string_dtor and returns 0x010383E0 10 thunk_to_STL_string_dtor_010383e0 stl Wrapper that calls STL_string_dtor and returns 0x010383F0 10 thunk_to_STL_string_dtor_010383f0 stl Wrapper that calls STL_string_dtor and returns 0x01038400 10 thunk_to_STL_string_dtor_01038400 stl Wrapper that calls STL_string_dtor and returns 0x01038410 10 thunk_to_STL_string_dtor_01038410 stl Wrapper that calls STL_string_dtor and returns 0x01038420 10 thunk_to_STL_string_dtor_01038420 stl Wrapper that calls STL_string_dtor and returns 0x010384A0 280 atexit_ATL_unregister_window_classes_010384a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010385C0 10 thunk_to_STL_string_dtor_010385c0 stl Wrapper that calls STL_string_dtor and returns 0x010385D0 10 thunk_to_STL_string_dtor_010385d0 stl Wrapper that calls STL_string_dtor and returns 0x010385E0 10 thunk_to_STL_string_dtor_010385e0 stl Wrapper that calls STL_string_dtor and returns 0x010385F0 10 thunk_to_STL_string_dtor_010385f0 stl Wrapper that calls STL_string_dtor and returns 0x01038600 10 thunk_to_STL_string_dtor_01038600 stl Wrapper that calls STL_string_dtor and returns 0x01038610 10 thunk_to_STL_string_dtor_01038610 stl Wrapper that calls STL_string_dtor and returns 0x01038620 10 thunk_to_STL_string_dtor_01038620 stl Wrapper that calls STL_string_dtor and returns 0x01038630 10 thunk_to_STL_string_dtor_01038630 stl Wrapper that calls STL_string_dtor and returns 0x01038640 10 thunk_to_STL_string_dtor_01038640 stl Wrapper that calls STL_string_dtor and returns 0x01038650 10 thunk_to_STL_string_dtor_01038650 stl Wrapper that calls STL_string_dtor and returns 0x01038660 10 thunk_to_STL_string_dtor_01038660 stl Wrapper that calls STL_string_dtor and returns 0x01038670 10 thunk_to_STL_string_dtor_01038670 stl Wrapper that calls STL_string_dtor and returns 0x01038680 10 thunk_to_STL_string_dtor_01038680 stl Wrapper that calls STL_string_dtor and returns 0x01038690 10 thunk_to_STL_string_dtor_01038690 stl Wrapper function that calls STL_string_dtor and returns 0x010386A0 10 thunk_to_STL_string_dtor_010386a0 stl Wrapper that calls STL_string_dtor and returns 0x010386B0 10 thunk_to_STL_string_dtor_010386b0 stl Wrapper that calls STL_string_dtor and returns 0x010386C0 10 thunk_to_STL_string_dtor_010386c0 stl Wrapper that calls STL_string_dtor and returns 0x010386D0 10 thunk_to_STL_string_dtor_010386d0 stl Wrapper that calls STL_string_dtor and returns 0x010386E0 10 thunk_to_STL_string_dtor_010386e0 stl Wrapper that calls STL_string_dtor and returns 0x010386F0 10 thunk_to_STL_string_dtor_010386f0 stl Wrapper that calls STL_string_dtor and returns 0x01038700 10 thunk_to_STL_string_dtor_01038700 stl Wrapper that calls STL_string_dtor and returns 0x01038710 10 thunk_to_STL_string_dtor_01038710 stl Wrapper function that calls STL_string_dtor and returns 0x01038720 10 thunk_to_STL_string_dtor_01038720 stl Wrapper that calls STL_string_dtor and returns 0x01038730 10 thunk_to_STL_string_dtor_01038730 stl Wrapper that calls STL_string_dtor and returns 0x01038740 10 thunk_to_STL_string_dtor_01038740 stl Wrapper that calls STL_string_dtor and returns 0x010387C0 280 atexit_ATL_unregister_window_classes_010387c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010388E0 10 thunk_to_STL_string_dtor_010388e0 stl Wrapper that calls STL_string_dtor and returns 0x010388F0 10 thunk_to_STL_string_dtor_010388f0 stl Wrapper that calls STL_string_dtor and returns 0x01038900 10 thunk_to_STL_string_dtor_01038900 stl Wrapper function that calls STL string destructor 0x01038910 10 thunk_to_STL_string_dtor_01038910 stl Wrapper that calls STL_string_dtor and returns 0x01038920 10 thunk_to_STL_string_dtor_01038920 stl Wrapper that calls STL_string_dtor and returns 0x01038930 10 thunk_to_STL_string_dtor_01038930 stl Wrapper that calls STL_string_dtor and returns 0x01038940 10 thunk_to_STL_string_dtor_01038940 stl Wrapper that calls STL_string_dtor and returns 0x01038950 10 thunk_to_STL_string_dtor_01038950 stl Wrapper that calls STL_string_dtor and returns 0x01038960 10 thunk_to_STL_string_dtor_01038960 stl Wrapper that calls STL_string_dtor and returns 0x01038970 10 thunk_to_STL_string_dtor_01038970 stl Wrapper that calls STL_string_dtor and returns 0x01038980 10 thunk_to_STL_string_dtor_01038980 stl Wrapper that calls STL_string_dtor and returns 0x01038990 10 thunk_to_STL_string_dtor_01038990 stl Wrapper that calls STL_string_dtor and returns 0x010389A0 10 thunk_to_STL_string_dtor_010389a0 stl Wrapper that calls STL_string_dtor and returns 0x010389B0 10 thunk_to_STL_string_dtor_010389b0 stl Wrapper that calls STL_string_dtor and returns 0x010389C0 10 thunk_to_STL_string_dtor_010389c0 stl Wrapper that calls STL_string_dtor and returns 0x010389D0 10 thunk_to_STL_string_dtor_010389d0 stl Wrapper that calls STL_string_dtor and returns 0x010389E0 10 thunk_to_STL_string_dtor_010389e0 stl Wrapper that calls STL_string_dtor and returns 0x010389F0 10 thunk_to_STL_string_dtor_010389f0 stl Wrapper function that calls STL_string_dtor and returns 0x01038A00 10 thunk_to_STL_string_dtor_01038a00 stl Wrapper that calls STL_string_dtor and returns 0x01038A10 10 thunk_to_STL_string_dtor_01038a10 stl Wrapper calling STL_string_dtor destructor 0x01038A20 10 thunk_to_STL_string_dtor_01038a20 stl Wrapper that calls STL_string_dtor and returns 0x01038A30 10 thunk_to_STL_string_dtor_01038a30 stl Wrapper that calls STL_string_dtor and returns 0x01038A40 10 thunk_to_STL_string_dtor_01038a40 stl Wrapper that calls STL_string_dtor and returns 0x01038A50 10 thunk_to_STL_string_dtor_01038a50 stl Wrapper that calls STL_string_dtor and returns 0x01038A60 10 thunk_to_STL_string_dtor_01038a60 stl Wrapper that calls STL_string_dtor and returns 0x01038AE0 280 atexit_ATL_unregister_window_classes_01038ae0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01038C00 10 thunk_to_STL_string_dtor_01038c00 stl Wrapper that calls STL_string_dtor and returns 0x01038C10 10 thunk_to_STL_string_dtor_01038c10 stl Wrapper that calls STL_string_dtor and returns 0x01038C20 10 thunk_to_STL_string_dtor_01038c20 stl Wrapper that calls STL_string_dtor and returns 0x01038C30 10 thunk_to_STL_string_dtor_01038c30 stl Wrapper that calls STL_string_dtor and returns 0x01038C40 10 thunk_to_STL_string_dtor_01038c40 stl Wrapper that calls STL_string_dtor and returns 0x01038C50 10 thunk_to_STL_string_dtor_01038c50 stl Wrapper that calls STL_string_dtor and returns 0x01038C60 10 thunk_to_STL_string_dtor_01038c60 stl Wrapper that calls STL_string_dtor and returns 0x01038C70 10 thunk_to_STL_string_dtor_01038c70 stl Wrapper that calls STL_string_dtor and returns 0x01038C80 10 thunk_to_STL_string_dtor_01038c80 stl Wrapper that calls STL_string_dtor and returns 0x01038C90 10 thunk_to_STL_string_dtor_01038c90 stl Wrapper that calls STL_string_dtor and returns 0x01038CA0 10 thunk_to_STL_string_dtor_01038ca0 stl Wrapper that calls STL_string_dtor and returns 0x01038CB0 10 thunk_to_STL_string_dtor_01038cb0 stl Wrapper that calls STL_string_dtor and returns 0x01038CC0 10 thunk_to_STL_string_dtor_01038cc0 stl Wrapper that calls STL_string_dtor and returns 0x01038CD0 10 thunk_to_STL_string_dtor_01038cd0 stl Wrapper that calls STL_string_dtor and returns 0x01038CE0 10 thunk_to_STL_string_dtor_01038ce0 stl Wrapper that calls STL_string_dtor and returns 0x01038CF0 10 thunk_to_STL_string_dtor_01038cf0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01038D00 10 thunk_to_STL_string_dtor_01038d00 stl Wrapper that calls STL_string_dtor and returns 0x01038D10 10 thunk_to_STL_string_dtor_01038d10 stl Wrapper that calls STL_string_dtor and returns 0x01038D20 10 thunk_to_STL_string_dtor_01038d20 stl Wrapper that calls STL_string_dtor and returns 0x01038D30 10 thunk_to_STL_string_dtor_01038d30 stl Wrapper that calls STL_string_dtor and returns 0x01038D40 10 thunk_to_STL_string_dtor_01038d40 stl Wrapper that calls STL_string_dtor and returns 0x01038D50 10 thunk_to_STL_string_dtor_01038d50 stl Wrapper that calls STL_string_dtor and returns 0x01038D60 10 thunk_to_STL_string_dtor_01038d60 stl Wrapper that calls STL_string_dtor and returns 0x01038D70 10 thunk_to_STL_string_dtor_01038d70 stl Wrapper that calls STL_string_dtor and returns 0x01038D80 10 thunk_to_STL_string_dtor_01038d80 stl Wrapper that calls STL_string_dtor and returns 0x01038E00 280 atexit_ATL_unregister_window_classes_01038e00 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01038F20 10 thunk_to_STL_string_dtor_01038f20 stl Wrapper that calls STL_string_dtor and returns 0x01038F30 10 thunk_to_STL_string_dtor_01038f30 stl Wrapper that calls STL_string_dtor and returns 0x01038F40 10 thunk_to_STL_string_dtor_01038f40 stl Wrapper that calls STL_string_dtor and returns 0x01038F50 10 thunk_to_STL_string_dtor_01038f50 stl Wrapper that calls STL_string_dtor and returns 0x01038F60 10 thunk_to_STL_string_dtor_01038f60 stl Wrapper that calls STL_string_dtor and returns 0x01038F70 10 thunk_to_STL_string_dtor_01038f70 stl Wrapper that calls STL_string_dtor and returns 0x01038F80 10 thunk_to_STL_string_dtor_01038f80 stl Wrapper that calls STL_string_dtor and returns 0x01038F90 10 thunk_to_STL_string_dtor_01038f90 stl Wrapper function that calls STL_string_dtor and returns 0x01038FA0 10 thunk_to_STL_string_dtor_01038fa0 stl Wrapper that calls STL_string_dtor and returns 0x01038FB0 10 thunk_to_STL_string_dtor_01038fb0 stl Wrapper that calls STL_string_dtor and returns 0x01038FC0 10 thunk_to_STL_string_dtor_01038fc0 stl Wrapper that calls STL_string_dtor and returns 0x01038FD0 10 thunk_to_STL_string_dtor_01038fd0 stl Wrapper that calls STL_string_dtor and returns 0x01038FE0 10 thunk_to_STL_string_dtor_01038fe0 stl Wrapper function that calls STL_string_dtor and returns 0x01038FF0 10 thunk_to_STL_string_dtor_01038ff0 stl Wrapper that calls STL_string_dtor and returns 0x01039000 10 thunk_to_STL_string_dtor_01039000 stl Wrapper that calls STL_string_dtor and returns 0x01039010 10 thunk_to_STL_string_dtor_01039010 stl Wrapper that calls STL_string_dtor and returns 0x01039020 10 thunk_to_STL_string_dtor_01039020 stl Wrapper that calls STL_string_dtor and returns 0x01039030 10 thunk_to_STL_string_dtor_01039030 stl Wrapper that calls STL_string_dtor and returns 0x01039040 10 thunk_to_STL_string_dtor_01039040 stl Wrapper that calls STL_string_dtor and returns 0x01039050 10 thunk_to_STL_string_dtor_01039050 stl Wrapper that calls STL_string_dtor and returns 0x01039060 10 thunk_to_STL_string_dtor_01039060 stl Wrapper that calls STL_string_dtor and returns 0x01039070 10 thunk_to_STL_string_dtor_01039070 stl Wrapper that calls STL_string_dtor and returns 0x01039080 10 thunk_to_STL_string_dtor_01039080 stl Wrapper that calls STL_string_dtor and returns 0x01039090 10 thunk_to_STL_string_dtor_01039090 stl Wrapper that calls STL_string_dtor and returns 0x010390A0 10 thunk_to_STL_string_dtor_010390a0 stl Wrapper that calls STL_string_dtor and returns 0x01039120 280 atexit_ATL_unregister_window_classes_01039120 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01039240 10 thunk_to_STL_string_dtor_01039240 stl Wrapper that calls STL_string_dtor and returns 0x01039250 10 thunk_to_STL_string_dtor_01039250 stl Wrapper that calls STL_string_dtor and returns 0x01039260 10 thunk_to_STL_string_dtor_01039260 stl Wrapper that calls STL string destructor 0x01039270 10 thunk_to_STL_string_dtor_01039270 stl Wrapper that calls STL_string_dtor and returns 0x01039280 10 thunk_to_STL_string_dtor_01039280 stl Wrapper that calls STL_string_dtor and returns 0x01039290 10 thunk_to_STL_string_dtor_01039290 stl Wrapper that calls STL_string_dtor and returns 0x010392A0 10 thunk_to_STL_string_dtor_010392a0 stl Wrapper that calls STL_string_dtor and returns 0x010392B0 10 thunk_to_STL_string_dtor_010392b0 stl Wrapper that calls STL_string_dtor and returns 0x010392C0 10 thunk_to_STL_string_dtor_010392c0 stl Wrapper that calls STL_string_dtor and returns 0x010392D0 10 thunk_to_STL_string_dtor_010392d0 stl Wrapper that calls STL_string_dtor and returns 0x010392E0 10 thunk_to_STL_string_dtor_010392e0 stl Wrapper function that calls STL_string_dtor and returns 0x010392F0 10 thunk_to_STL_string_dtor_010392f0 stl Wrapper that calls STL_string_dtor and returns 0x01039300 10 thunk_to_STL_string_dtor_01039300 stl Wrapper that calls STL_string_dtor and returns 0x01039310 10 thunk_to_STL_string_dtor_01039310 stl Wrapper that calls STL string destructor 0x01039320 10 thunk_to_STL_string_dtor_01039320 stl Wrapper that calls STL_string_dtor and returns 0x01039330 10 thunk_to_STL_string_dtor_01039330 stl Wrapper that calls STL_string_dtor and returns 0x01039340 10 thunk_to_STL_string_dtor_01039340 stl Wrapper that calls STL_string_dtor and returns 0x01039350 10 thunk_to_STL_string_dtor_01039350 stl Wrapper that calls STL_string_dtor and returns 0x01039360 10 thunk_to_STL_string_dtor_01039360 stl Wrapper that calls STL_string_dtor and returns 0x01039370 10 thunk_to_STL_string_dtor_01039370 stl Wrapper that calls STL_string_dtor and returns 0x01039380 10 thunk_to_STL_string_dtor_01039380 stl Wrapper that calls STL_string_dtor and returns 0x01039390 10 thunk_to_STL_string_dtor_01039390 stl Wrapper that calls STL_string_dtor and returns 0x010393A0 10 thunk_to_STL_string_dtor_010393a0 stl Wrapper that calls STL_string_dtor and returns 0x010393B0 10 thunk_to_STL_string_dtor_010393b0 stl Wrapper that calls STL_string_dtor and returns 0x010393C0 10 thunk_to_STL_string_dtor_010393c0 stl Wrapper that calls STL_string_dtor and returns 0x01039440 280 atexit_ATL_unregister_window_classes_01039440 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01039560 10 thunk_to_STL_string_dtor_01039560 stl Wrapper that calls STL_string_dtor and returns 0x01039570 10 thunk_to_STL_string_dtor_01039570 stl Wrapper that calls STL_string_dtor and returns 0x01039580 10 thunk_to_STL_string_dtor_01039580 stl Wrapper that calls STL_string_dtor and returns 0x01039590 10 thunk_to_STL_string_dtor_01039590 stl Wrapper that calls STL_string_dtor and returns 0x010395A0 10 thunk_to_STL_string_dtor_010395a0 stl Wrapper that calls STL_string_dtor and returns 0x010395B0 10 thunk_to_STL_string_dtor_010395b0 stl Wrapper that calls STL_string_dtor and returns 0x010395C0 10 thunk_to_STL_string_dtor_010395c0 stl Wrapper that calls STL_string_dtor and returns 0x010395D0 10 thunk_to_STL_string_dtor_010395d0 stl Wrapper that calls STL_string_dtor and returns 0x010395E0 10 thunk_to_STL_string_dtor_010395e0 stl Wrapper that calls STL_string_dtor and returns 0x010395F0 10 thunk_to_STL_string_dtor_010395f0 stl Wrapper that calls STL_string_dtor and returns 0x01039600 10 thunk_to_STL_string_dtor_01039600 stl Wrapper that calls STL_string_dtor and returns 0x01039610 10 thunk_to_STL_string_dtor_01039610 stl Wrapper that calls STL_string_dtor and returns 0x01039620 10 thunk_to_STL_string_dtor_01039620 stl Wrapper that calls STL_string_dtor and returns 0x01039630 10 thunk_to_STL_string_dtor_01039630 stl Wrapper that calls STL_string_dtor and returns 0x01039640 10 thunk_to_STL_string_dtor_01039640 stl Wrapper that calls STL_string_dtor and returns 0x01039650 10 thunk_to_STL_string_dtor_01039650 stl Wrapper that calls STL_string_dtor and returns 0x01039660 10 thunk_to_STL_string_dtor_01039660 stl Wrapper that calls STL_string_dtor and returns 0x01039670 10 thunk_to_STL_string_dtor_01039670 stl Wrapper that calls STL_string_dtor and returns 0x01039680 10 thunk_to_STL_string_dtor_01039680 stl Wrapper function that calls STL_string_dtor and returns 0x01039690 10 thunk_to_STL_string_dtor_01039690 stl Wrapper that calls STL_string_dtor and returns 0x010396A0 10 thunk_to_STL_string_dtor_010396a0 stl Wrapper that calls STL_string_dtor and returns 0x010396B0 10 thunk_to_STL_string_dtor_010396b0 stl Wrapper that calls STL_string_dtor and returns 0x010396C0 10 thunk_to_STL_string_dtor_010396c0 stl Wrapper that calls STL_string_dtor and returns 0x010396D0 10 thunk_to_STL_string_dtor_010396d0 stl Wrapper that calls STL_string_dtor and returns 0x010396E0 10 thunk_to_STL_string_dtor_010396e0 stl Wrapper that calls STL_string_dtor and returns 0x01039760 280 atexit_ATL_unregister_window_classes_01039760 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01039880 10 thunk_to_STL_string_dtor_01039880 stl Wrapper that calls STL_string_dtor and returns 0x01039890 10 thunk_to_STL_string_dtor_01039890 stl Wrapper that calls STL_string_dtor and returns 0x010398A0 10 thunk_to_STL_string_dtor_010398a0 stl Wrapper that calls STL_string_dtor and returns 0x010398B0 10 thunk_to_STL_string_dtor_010398b0 stl Wrapper that calls STL_string_dtor and returns 0x010398C0 10 thunk_to_STL_string_dtor_010398c0 stl Wrapper that calls STL_string_dtor and returns 0x010398D0 10 thunk_to_STL_string_dtor_010398d0 stl Wrapper that calls STL_string_dtor and returns 0x010398E0 10 thunk_to_STL_string_dtor_010398e0 stl Wrapper that calls STL_string_dtor and returns 0x010398F0 10 thunk_to_STL_string_dtor_010398f0 stl Wrapper that calls STL_string_dtor and returns 0x01039900 10 thunk_to_STL_string_dtor_01039900 stl Wrapper that calls STL_string_dtor and returns 0x01039910 10 thunk_to_STL_string_dtor_01039910 stl Wrapper that calls STL_string_dtor and returns 0x01039920 10 thunk_to_STL_string_dtor_01039920 stl Wrapper that calls STL_string_dtor and returns 0x01039930 10 thunk_to_STL_string_dtor_01039930 stl Wrapper that calls STL_string_dtor and returns 0x01039940 10 thunk_to_STL_string_dtor_01039940 stl Wrapper that calls STL_string_dtor and returns 0x01039950 10 thunk_to_STL_string_dtor_01039950 stl Wrapper that calls STL_string_dtor and returns 0x01039960 10 thunk_to_STL_string_dtor_01039960 stl Wrapper that calls STL_string_dtor and returns 0x01039970 10 thunk_to_STL_string_dtor_01039970 stl Wrapper that calls STL_string_dtor and returns 0x01039980 10 thunk_to_STL_string_dtor_01039980 stl Wrapper that calls STL_string_dtor and returns 0x01039990 10 thunk_to_STL_string_dtor_01039990 stl Wrapper that calls STL_string_dtor and returns 0x010399A0 10 thunk_to_STL_string_dtor_010399a0 stl Wrapper that calls STL_string_dtor and returns 0x010399B0 10 thunk_to_STL_string_dtor_010399b0 stl Wrapper that calls STL_string_dtor and returns 0x010399C0 10 thunk_to_STL_string_dtor_010399c0 stl Wrapper that calls STL_string_dtor and returns 0x010399D0 10 thunk_to_STL_string_dtor_010399d0 stl Wrapper that calls STL_string_dtor and returns 0x010399E0 10 thunk_to_STL_string_dtor_010399e0 stl Wrapper that calls STL_string_dtor and returns 0x010399F0 10 thunk_to_STL_string_dtor_010399f0 stl Wrapper that calls STL_string_dtor and returns 0x01039A00 10 thunk_to_STL_string_dtor_01039a00 stl Wrapper that calls STL_string_dtor and returns 0x01039A80 280 atexit_ATL_unregister_window_classes_01039a80 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01039BA0 10 thunk_to_STL_string_dtor_01039ba0 stl Wrapper function that calls STL_string_dtor and returns 0x01039BB0 10 thunk_to_STL_string_dtor_01039bb0 stl Wrapper that calls STL_string_dtor and returns 0x01039BC0 10 thunk_to_STL_string_dtor_01039bc0 stl Wrapper that calls STL_string_dtor and returns 0x01039BD0 10 thunk_to_STL_string_dtor_01039bd0 stl Wrapper that calls STL_string_dtor and returns 0x01039BE0 10 thunk_to_STL_string_dtor_01039be0 stl Wrapper that calls STL_string_dtor and returns 0x01039BF0 10 thunk_to_STL_string_dtor_01039bf0 stl Wrapper that calls STL_string_dtor and returns 0x01039C00 10 thunk_to_STL_string_dtor_01039c00 stl Wrapper that calls STL_string_dtor and returns 0x01039C10 10 thunk_to_STL_string_dtor_01039c10 stl Wrapper that calls STL_string_dtor and returns 0x01039C20 10 thunk_to_STL_string_dtor_01039c20 stl Wrapper that calls STL_string_dtor and returns 0x01039C30 10 thunk_to_STL_string_dtor_01039c30 stl Wrapper that calls STL_string_dtor and returns 0x01039C40 10 thunk_to_STL_string_dtor_01039c40 stl Wrapper that calls STL_string_dtor and returns 0x01039C50 10 thunk_to_STL_string_dtor_01039c50 stl Wrapper that calls STL_string_dtor and returns 0x01039C60 10 thunk_to_STL_string_dtor_01039c60 stl Wrapper that calls STL_string_dtor and returns 0x01039C70 10 thunk_to_STL_string_dtor_01039c70 stl Wrapper that calls STL_string_dtor and returns 0x01039C80 10 thunk_to_STL_string_dtor_01039c80 stl Wrapper that calls STL_string_dtor and returns 0x01039C90 10 thunk_to_STL_string_dtor_01039c90 stl Wrapper function that calls STL_string_dtor and returns 0x01039CA0 10 thunk_to_STL_string_dtor_01039ca0 stl Wrapper that calls STL_string_dtor and returns 0x01039CB0 10 thunk_to_STL_string_dtor_01039cb0 stl Wrapper that calls STL_string_dtor and returns 0x01039CC0 10 thunk_to_STL_string_dtor_01039cc0 stl Wrapper that calls STL_string_dtor and returns 0x01039CD0 10 thunk_to_STL_string_dtor_01039cd0 stl Wrapper that calls STL_string_dtor and returns 0x01039CE0 10 thunk_to_STL_string_dtor_01039ce0 stl Wrapper that calls STL_string_dtor and returns 0x01039CF0 10 thunk_to_STL_string_dtor_01039cf0 stl Wrapper function that calls STL_string_dtor and returns 0x01039D00 10 thunk_to_STL_string_dtor_01039d00 stl Wrapper that calls STL_string_dtor and returns 0x01039D10 10 thunk_to_STL_string_dtor_01039d10 stl Wrapper that calls STL_string_dtor and returns 0x01039D20 10 thunk_to_STL_string_dtor_01039d20 stl Wrapper that calls STL_string_dtor and returns 0x01039DA0 280 atexit_ATL_unregister_window_classes_01039da0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01039EC0 10 thunk_to_STL_string_dtor_01039ec0 stl Wrapper that calls STL_string_dtor and returns 0x01039ED0 10 thunk_to_STL_string_dtor_01039ed0 stl Wrapper that calls STL_string_dtor and returns 0x01039EE0 10 thunk_to_STL_string_dtor_01039ee0 stl Wrapper that calls STL_string_dtor and returns 0x01039EF0 10 thunk_to_STL_string_dtor_01039ef0 stl Wrapper that calls STL_string_dtor and returns 0x01039F00 10 thunk_to_STL_string_dtor_01039f00 stl Wrapper that calls STL_string_dtor and returns 0x01039F10 10 thunk_to_STL_string_dtor_01039f10 stl Wrapper calling STL_string_dtor destructor 0x01039F20 10 thunk_to_STL_string_dtor_01039f20 stl Wrapper that calls STL_string_dtor and returns 0x01039F30 10 thunk_to_STL_string_dtor_01039f30 stl Wrapper that calls STL_string_dtor and returns 0x01039F40 10 thunk_to_STL_string_dtor_01039f40 stl Wrapper that calls STL_string_dtor and returns 0x01039F50 10 thunk_to_STL_string_dtor_01039f50 stl Wrapper that calls STL_string_dtor and returns 0x01039F60 10 thunk_to_STL_string_dtor_01039f60 stl Wrapper that calls STL_string_dtor and returns 0x01039F70 10 thunk_to_STL_string_dtor_01039f70 stl Wrapper that calls STL_string_dtor and returns 0x01039F80 10 thunk_to_STL_string_dtor_01039f80 stl Wrapper function that calls STL_string_dtor and returns 0x01039F90 10 thunk_to_STL_string_dtor_01039f90 stl Wrapper that calls STL_string_dtor and returns 0x01039FA0 10 thunk_to_STL_string_dtor_01039fa0 stl Wrapper that calls STL_string_dtor and returns 0x01039FB0 10 thunk_to_STL_string_dtor_01039fb0 stl Wrapper function that calls STL_string_dtor and returns 0x01039FC0 10 thunk_to_STL_string_dtor_01039fc0 stl Wrapper that calls STL_string_dtor and returns 0x01039FD0 10 thunk_to_STL_string_dtor_01039fd0 stl Wrapper that calls STL_string_dtor and returns 0x01039FE0 10 thunk_to_STL_string_dtor_01039fe0 stl Wrapper that calls STL_string_dtor and returns 0x01039FF0 10 thunk_to_STL_string_dtor_01039ff0 stl Wrapper that calls STL_string_dtor and returns 0x0103A000 10 thunk_to_STL_string_dtor_0103a000 stl Wrapper that calls STL_string_dtor and returns 0x0103A010 10 thunk_to_STL_string_dtor_0103a010 stl Wrapper that calls STL_string_dtor and returns 0x0103A020 10 thunk_to_STL_string_dtor_0103a020 stl Wrapper that calls STL_string_dtor and returns 0x0103A030 10 thunk_to_STL_string_dtor_0103a030 stl Wrapper that calls STL_string_dtor and returns 0x0103A040 10 thunk_to_STL_string_dtor_0103a040 stl Wrapper that calls STL_string_dtor and returns 0x0103A0C0 280 atexit_ATL_unregister_window_classes_0103a0c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103A1E0 10 thunk_to_STL_string_dtor_0103a1e0 stl Wrapper function that calls STL_string_dtor and returns 0x0103A1F0 10 thunk_to_STL_string_dtor_0103a1f0 stl Wrapper that calls STL_string_dtor and returns 0x0103A200 10 thunk_to_STL_string_dtor_0103a200 stl Wrapper that calls STL_string_dtor and returns 0x0103A210 10 thunk_to_STL_string_dtor_0103a210 stl Wrapper that calls STL_string_dtor and returns 0x0103A220 10 thunk_to_STL_string_dtor_0103a220 stl Wrapper that calls STL_string_dtor and returns 0x0103A230 10 thunk_to_STL_string_dtor_0103a230 stl Wrapper that calls STL_string_dtor and returns 0x0103A240 10 thunk_to_STL_string_dtor_0103a240 stl Wrapper that calls STL_string_dtor and returns 0x0103A250 10 thunk_to_STL_string_dtor_0103a250 stl Wrapper that calls STL_string_dtor and returns 0x0103A260 10 thunk_to_STL_string_dtor_0103a260 stl Wrapper that calls STL_string_dtor and returns 0x0103A270 10 thunk_to_STL_string_dtor_0103a270 stl Wrapper that calls STL_string_dtor and returns 0x0103A280 10 thunk_to_STL_string_dtor_0103a280 stl Wrapper that calls STL_string_dtor and returns 0x0103A290 10 thunk_to_STL_string_dtor_0103a290 stl Wrapper that calls STL_string_dtor and returns 0x0103A2A0 10 thunk_to_STL_string_dtor_0103a2a0 stl Wrapper that calls STL_string_dtor and returns 0x0103A2B0 10 thunk_to_STL_string_dtor_0103a2b0 stl Wrapper that calls STL_string_dtor and returns 0x0103A2C0 10 thunk_to_STL_string_dtor_0103a2c0 stl Wrapper that calls STL_string_dtor and returns 0x0103A2D0 10 thunk_to_STL_string_dtor_0103a2d0 stl Wrapper that calls STL_string_dtor and returns 0x0103A2E0 10 thunk_to_STL_string_dtor_0103a2e0 stl Wrapper that calls STL_string_dtor and returns 0x0103A2F0 10 thunk_to_STL_string_dtor_0103a2f0 stl Wrapper that calls STL_string_dtor and returns 0x0103A300 10 thunk_to_STL_string_dtor_0103a300 stl Wrapper that calls STL_string_dtor and returns 0x0103A310 10 thunk_to_STL_string_dtor_0103a310 stl Wrapper that calls STL_string_dtor and returns 0x0103A320 10 thunk_to_STL_string_dtor_0103a320 stl Wrapper that calls STL_string_dtor and returns 0x0103A330 10 thunk_to_STL_string_dtor_0103a330 stl Wrapper that calls STL_string_dtor and returns 0x0103A340 10 thunk_to_STL_string_dtor_0103a340 stl Wrapper that calls STL_string_dtor and returns 0x0103A350 10 thunk_to_STL_string_dtor_0103a350 stl Wrapper that calls STL_string_dtor and returns 0x0103A360 10 thunk_to_STL_string_dtor_0103a360 stl Wrapper that calls STL_string_dtor and returns 0x0103A3E0 280 atexit_ATL_unregister_window_classes_0103a3e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103A500 10 thunk_to_STL_string_dtor_0103a500 stl Wrapper that calls STL_string_dtor and returns 0x0103A510 10 thunk_to_STL_string_dtor_0103a510 stl Wrapper that calls STL_string_dtor and returns 0x0103A520 10 thunk_to_STL_string_dtor_0103a520 stl Wrapper that calls STL_string_dtor and returns 0x0103A530 10 thunk_to_STL_string_dtor_0103a530 stl Wrapper that calls STL_string_dtor and returns 0x0103A540 10 thunk_to_STL_string_dtor_0103a540 stl Wrapper that calls STL_string_dtor and returns 0x0103A550 10 thunk_to_STL_string_dtor_0103a550 stl Wrapper that calls STL_string_dtor and returns 0x0103A560 10 thunk_to_STL_string_dtor_0103a560 stl Wrapper that calls STL_string_dtor and returns 0x0103A570 10 thunk_to_STL_string_dtor_0103a570 stl Wrapper that calls STL_string_dtor and returns immediately 0x0103A580 10 thunk_to_STL_string_dtor_0103a580 stl Wrapper that calls STL_string_dtor and returns 0x0103A590 10 thunk_to_STL_string_dtor_0103a590 stl Wrapper that calls STL_string_dtor and returns 0x0103A5A0 10 thunk_to_STL_string_dtor_0103a5a0 stl Wrapper that calls STL_string_dtor and returns 0x0103A5B0 10 thunk_to_STL_string_dtor_0103a5b0 stl Wrapper calling STL_string_dtor destructor 0x0103A5C0 10 thunk_to_STL_string_dtor_0103a5c0 stl Wrapper that calls STL_string_dtor and returns 0x0103A5D0 10 thunk_to_STL_string_dtor_0103a5d0 stl Wrapper function that calls STL_string_dtor and returns 0x0103A5E0 10 thunk_to_STL_string_dtor_0103a5e0 stl Wrapper that calls STL_string_dtor and returns 0x0103A5F0 10 thunk_to_STL_string_dtor_0103a5f0 stl Wrapper that calls STL_string_dtor and returns 0x0103A600 10 thunk_to_STL_string_dtor_0103a600 stl Wrapper that calls STL_string_dtor and returns 0x0103A610 10 thunk_to_STL_string_dtor_0103a610 stl Wrapper that calls STL_string_dtor and returns 0x0103A620 10 thunk_to_STL_string_dtor_0103a620 stl Wrapper that calls STL_string_dtor and returns 0x0103A630 10 thunk_to_STL_string_dtor_0103a630 stl Wrapper function that calls STL_string_dtor and returns 0x0103A640 10 thunk_to_STL_string_dtor_0103a640 stl Wrapper that calls STL_string_dtor and returns 0x0103A650 10 thunk_to_STL_string_dtor_0103a650 stl Wrapper that calls STL_string_dtor and returns 0x0103A660 10 thunk_to_STL_string_dtor_0103a660 stl Wrapper that calls STL_string_dtor and returns 0x0103A670 10 thunk_to_STL_string_dtor_0103a670 stl Wrapper that calls STL_string_dtor and returns 0x0103A680 10 thunk_to_STL_string_dtor_0103a680 stl Wrapper that calls STL_string_dtor and returns 0x0103A700 280 atexit_ATL_unregister_window_classes_0103a700 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103A820 10 thunk_to_STL_string_dtor_0103a820 stl Wrapper that calls STL_string_dtor and returns 0x0103A830 10 thunk_to_STL_string_dtor_0103a830 stl Wrapper that calls STL_string_dtor and returns 0x0103A840 10 thunk_to_STL_string_dtor_0103a840 stl Wrapper that calls STL_string_dtor and returns 0x0103A850 10 thunk_to_STL_string_dtor_0103a850 stl Wrapper that calls STL_string_dtor and returns 0x0103A860 10 thunk_to_STL_string_dtor_0103a860 stl Wrapper that calls STL_string_dtor and returns 0x0103A870 10 thunk_to_STL_string_dtor_0103a870 stl Wrapper that calls STL_string_dtor and returns 0x0103A880 10 thunk_to_STL_string_dtor_0103a880 stl Wrapper that calls STL_string_dtor and returns 0x0103A890 10 thunk_to_STL_string_dtor_0103a890 stl Wrapper that calls STL_string_dtor and returns 0x0103A8A0 10 thunk_to_STL_string_dtor_0103a8a0 stl Wrapper that calls STL_string_dtor and returns 0x0103A8B0 10 thunk_to_STL_string_dtor_0103a8b0 stl Wrapper that calls STL_string_dtor and returns 0x0103A8C0 10 thunk_to_STL_string_dtor_0103a8c0 stl Wrapper that calls STL_string_dtor and returns 0x0103A8D0 10 thunk_to_STL_string_dtor_0103a8d0 stl Wrapper that calls STL_string_dtor and returns 0x0103A8E0 10 thunk_to_STL_string_dtor_0103a8e0 stl Wrapper that calls STL_string_dtor and returns 0x0103A8F0 10 thunk_to_STL_string_dtor_0103a8f0 stl Wrapper that calls STL_string_dtor and returns 0x0103A900 10 thunk_to_STL_string_dtor_0103a900 stl Wrapper that calls STL_string_dtor and returns 0x0103A910 10 thunk_to_STL_string_dtor_0103a910 stl Wrapper that calls STL_string_dtor and returns 0x0103A920 10 thunk_to_STL_string_dtor_0103a920 stl Wrapper that calls STL_string_dtor and returns 0x0103A930 10 thunk_to_STL_string_dtor_0103a930 stl Wrapper that calls STL_string_dtor and returns 0x0103A940 10 thunk_to_STL_string_dtor_0103a940 stl Wrapper that calls STL_string_dtor and returns 0x0103A950 10 thunk_to_STL_string_dtor_0103a950 stl Wrapper that calls STL_string_dtor and returns 0x0103A960 10 thunk_to_STL_string_dtor_0103a960 stl Wrapper that calls STL_string_dtor and returns 0x0103A970 10 thunk_to_STL_string_dtor_0103a970 stl Wrapper that calls STL_string_dtor and returns 0x0103A980 10 thunk_to_STL_string_dtor_0103a980 stl Wrapper calling STL string destructor 0x0103A990 10 thunk_to_STL_string_dtor_0103a990 stl Wrapper that calls STL_string_dtor and returns 0x0103A9A0 10 thunk_to_STL_string_dtor_0103a9a0 stl Wrapper that calls STL_string_dtor and returns 0x0103AA20 280 atexit_ATL_unregister_window_classes_0103aa20 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103AB40 66 atexit_CRenderPipeline_destroy_0103ab40 crt atexit handler: SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector for render pipeline cleanup. 0x0103AB90 10 thunk_to_STL_string_dtor_0103ab90 stl Wrapper that calls STL_string_dtor and returns 0x0103ABA0 10 thunk_to_STL_string_dtor_0103aba0 stl Wrapper that calls STL_string_dtor and returns 0x0103ABB0 10 thunk_to_STL_string_dtor_0103abb0 stl Wrapper that calls STL_string_dtor and returns 0x0103ABC0 10 thunk_to_STL_string_dtor_0103abc0 stl Wrapper that calls STL_string_dtor and returns 0x0103ABD0 10 thunk_to_STL_string_dtor_0103abd0 stl Wrapper that calls STL_string_dtor and returns 0x0103ABE0 10 thunk_to_STL_string_dtor_0103abe0 stl Wrapper that calls STL_string_dtor and returns 0x0103ABF0 10 thunk_to_STL_string_dtor_0103abf0 stl Wrapper that calls STL_string_dtor and returns 0x0103AC00 10 thunk_to_STL_string_dtor_0103ac00 stl Wrapper that calls STL_string_dtor and returns 0x0103AC10 10 thunk_to_STL_string_dtor_0103ac10 stl Wrapper that calls STL_string_dtor and returns 0x0103AC20 10 thunk_to_STL_string_dtor_0103ac20 stl Wrapper that calls STL_string_dtor and returns 0x0103AC30 10 thunk_to_STL_string_dtor_0103ac30 stl Wrapper that calls STL_string_dtor and returns 0x0103AC40 10 thunk_to_STL_string_dtor_0103ac40 stl Wrapper that calls STL_string_dtor and returns 0x0103AC50 10 thunk_to_STL_string_dtor_0103ac50 stl Wrapper that calls STL_string_dtor and returns 0x0103AC60 10 thunk_to_STL_string_dtor_0103ac60 stl Wrapper that calls STL_string_dtor and returns 0x0103AC70 10 thunk_to_STL_string_dtor_0103ac70 stl Wrapper that calls STL_string_dtor and returns 0x0103AC80 10 thunk_to_STL_string_dtor_0103ac80 stl Wrapper that calls STL_string_dtor and returns 0x0103AC90 10 thunk_to_STL_string_dtor_0103ac90 stl Wrapper that calls STL_string_dtor and returns 0x0103ACA0 10 thunk_to_STL_string_dtor_0103aca0 stl Wrapper that calls STL_string_dtor and returns 0x0103ACB0 10 thunk_to_STL_string_dtor_0103acb0 stl Wrapper that calls STL_string_dtor and returns 0x0103ACC0 10 thunk_to_STL_string_dtor_0103acc0 stl Wrapper that calls STL_string_dtor and returns 0x0103ACD0 10 thunk_to_STL_string_dtor_0103acd0 stl Wrapper that calls STL_string_dtor and returns 0x0103ACE0 10 thunk_to_STL_string_dtor_0103ace0 stl Wrapper that calls STL_string_dtor and returns 0x0103ACF0 10 thunk_to_STL_string_dtor_0103acf0 stl Wrapper that calls STL_string_dtor and returns 0x0103AD00 10 thunk_to_STL_string_dtor_0103ad00 stl Wrapper that calls STL_string_dtor and returns 0x0103AD10 10 thunk_to_STL_string_dtor_0103ad10 stl Wrapper that calls STL_string_dtor and returns 0x0103AD90 280 atexit_ATL_unregister_window_classes_0103ad90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103AEB0 10 thunk_to_STL_string_dtor_0103aeb0 stl Wrapper that calls STL_string_dtor and returns 0x0103AEC0 10 thunk_to_STL_string_dtor_0103aec0 stl Wrapper that calls STL_string_dtor and returns 0x0103AED0 10 thunk_to_STL_string_dtor_0103aed0 stl Wrapper that calls STL_string_dtor and returns 0x0103AEE0 10 thunk_to_STL_string_dtor_0103aee0 stl Wrapper that calls STL_string_dtor and returns 0x0103AEF0 10 thunk_to_STL_string_dtor_0103aef0 stl Wrapper that calls STL_string_dtor and returns 0x0103AF00 10 thunk_to_STL_string_dtor_0103af00 stl Wrapper that calls STL_string_dtor and returns 0x0103AF10 10 thunk_to_STL_string_dtor_0103af10 stl Wrapper that calls STL_string_dtor and returns 0x0103AF20 10 thunk_to_STL_string_dtor_0103af20 stl Wrapper that calls STL_string_dtor and returns 0x0103AF30 10 thunk_to_STL_string_dtor_0103af30 stl Wrapper that calls STL_string_dtor and returns 0x0103AF40 10 thunk_to_STL_string_dtor_0103af40 stl Wrapper that calls STL_string_dtor and returns 0x0103AF50 10 thunk_to_STL_string_dtor_0103af50 stl Wrapper that calls STL_string_dtor and returns 0x0103AF60 10 thunk_to_STL_string_dtor_0103af60 stl Wrapper that calls STL_string_dtor and returns 0x0103AF70 10 thunk_to_STL_string_dtor_0103af70 stl Wrapper that calls STL_string_dtor and returns 0x0103AF80 10 thunk_to_STL_string_dtor_0103af80 stl Wrapper that calls STL_string_dtor and returns 0x0103AF90 10 thunk_to_STL_string_dtor_0103af90 stl Wrapper that calls STL_string_dtor and returns 0x0103AFA0 10 thunk_to_STL_string_dtor_0103afa0 stl Wrapper that calls STL_string_dtor and returns 0x0103AFB0 10 thunk_to_STL_string_dtor_0103afb0 stl Wrapper that calls STL_string_dtor and returns 0x0103AFC0 10 thunk_to_STL_string_dtor_0103afc0 stl Wrapper that calls STL_string_dtor and returns 0x0103AFD0 10 thunk_to_STL_string_dtor_0103afd0 stl Wrapper that calls STL_string_dtor and returns 0x0103AFE0 10 thunk_to_STL_string_dtor_0103afe0 stl Wrapper that calls STL_string_dtor and returns 0x0103AFF0 10 thunk_to_STL_string_dtor_0103aff0 stl Wrapper that calls STL_string_dtor and returns 0x0103B000 10 thunk_to_STL_string_dtor_0103b000 stl Wrapper that calls STL_string_dtor and returns 0x0103B010 10 thunk_to_STL_string_dtor_0103b010 stl Wrapper that calls STL_string_dtor and returns 0x0103B020 10 thunk_to_STL_string_dtor_0103b020 stl Wrapper that calls STL_string_dtor and returns 0x0103B030 10 thunk_to_STL_string_dtor_0103b030 stl Wrapper that calls STL_string_dtor and returns 0x0103B0B0 280 atexit_ATL_unregister_window_classes_0103b0b0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103B1D0 66 atexit_CRenderPipeline_destroy_0103b1d0 crt atexit handler: SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector for render pipeline cleanup. 0x0103B220 10 thunk_to_STL_string_dtor_0103b220 stl Wrapper that calls STL_string_dtor and returns immediately 0x0103B230 10 thunk_to_STL_string_dtor_0103b230 stl Wrapper that calls STL_string_dtor and returns 0x0103B240 10 thunk_to_STL_string_dtor_0103b240 stl Wrapper that calls STL_string_dtor and returns 0x0103B250 10 thunk_to_STL_string_dtor_0103b250 stl Wrapper that calls STL_string_dtor and returns 0x0103B260 10 thunk_to_STL_string_dtor_0103b260 stl Wrapper that calls STL_string_dtor and returns 0x0103B270 10 thunk_to_STL_string_dtor_0103b270 stl Wrapper that calls STL_string_dtor and returns 0x0103B280 10 thunk_to_STL_string_dtor_0103b280 stl Wrapper that calls STL_string_dtor and returns 0x0103B290 10 thunk_to_STL_string_dtor_0103b290 stl Wrapper that calls STL_string_dtor and returns 0x0103B2A0 10 thunk_to_STL_string_dtor_0103b2a0 stl Wrapper that calls STL_string_dtor and returns 0x0103B2B0 10 thunk_to_STL_string_dtor_0103b2b0 stl Wrapper that calls STL_string_dtor and returns 0x0103B2C0 10 thunk_to_STL_string_dtor_0103b2c0 stl Wrapper that calls STL_string_dtor and returns 0x0103B2D0 10 thunk_to_STL_string_dtor_0103b2d0 stl Wrapper that calls STL_string_dtor and returns 0x0103B2E0 10 thunk_to_STL_string_dtor_0103b2e0 stl Wrapper that calls STL_string_dtor and returns 0x0103B2F0 10 thunk_to_STL_string_dtor_0103b2f0 stl Wrapper that calls STL_string_dtor and returns 0x0103B300 10 thunk_to_STL_string_dtor_0103b300 stl Wrapper that calls STL_string_dtor and returns 0x0103B310 10 thunk_to_STL_string_dtor_0103b310 stl Wrapper that calls STL_string_dtor and returns 0x0103B320 10 thunk_to_STL_string_dtor_0103b320 stl Wrapper that calls STL_string_dtor and returns immediately 0x0103B330 10 thunk_to_STL_string_dtor_0103b330 stl Wrapper that calls STL_string_dtor and returns 0x0103B340 10 thunk_to_STL_string_dtor_0103b340 stl Wrapper that calls STL_string_dtor and returns 0x0103B350 10 thunk_to_STL_string_dtor_0103b350 stl Wrapper that calls STL_string_dtor and returns 0x0103B360 10 thunk_to_STL_string_dtor_0103b360 stl Wrapper that calls STL_string_dtor and returns 0x0103B370 10 thunk_to_STL_string_dtor_0103b370 stl Wrapper that calls STL_string_dtor and returns immediately 0x0103B380 10 thunk_to_STL_string_dtor_0103b380 stl Wrapper that calls STL_string_dtor and returns 0x0103B390 10 thunk_to_STL_string_dtor_0103b390 stl Wrapper that calls STL_string_dtor and returns 0x0103B3A0 10 thunk_to_STL_string_dtor_0103b3a0 stl Wrapper that calls STL_string_dtor and returns 0x0103B420 280 atexit_ATL_unregister_window_classes_0103b420 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103B540 10 thunk_to_STL_string_dtor_0103b540 stl Wrapper that calls STL_string_dtor and returns 0x0103B550 10 thunk_to_STL_string_dtor_0103b550 stl Wrapper function that calls STL_string_dtor and returns 0x0103B560 10 thunk_to_STL_string_dtor_0103b560 stl Wrapper that calls STL_string_dtor and returns 0x0103B570 10 thunk_to_STL_string_dtor_0103b570 stl Wrapper that calls STL_string_dtor and returns 0x0103B580 10 thunk_to_STL_string_dtor_0103b580 stl Wrapper that calls STL_string_dtor and returns 0x0103B590 10 thunk_to_STL_string_dtor_0103b590 stl Wrapper that calls STL_string_dtor and returns 0x0103B5A0 10 thunk_to_STL_string_dtor_0103b5a0 stl Wrapper that calls STL_string_dtor and returns 0x0103B5B0 10 thunk_to_STL_string_dtor_0103b5b0 stl Wrapper that calls STL_string_dtor and returns 0x0103B5C0 10 thunk_to_STL_string_dtor_0103b5c0 stl Wrapper that calls STL_string_dtor and returns 0x0103B5D0 10 thunk_to_STL_string_dtor_0103b5d0 stl Wrapper that calls STL_string_dtor and returns 0x0103B5E0 10 thunk_to_STL_string_dtor_0103b5e0 stl Wrapper that calls STL_string_dtor and returns 0x0103B5F0 10 thunk_to_STL_string_dtor_0103b5f0 stl Wrapper that calls STL_string_dtor and returns 0x0103B600 10 thunk_to_STL_string_dtor_0103b600 stl Wrapper that calls STL_string_dtor and returns 0x0103B610 10 thunk_to_STL_string_dtor_0103b610 stl Wrapper that calls STL_string_dtor and returns 0x0103B620 10 thunk_to_STL_string_dtor_0103b620 stl Wrapper that calls STL_string_dtor and returns 0x0103B630 10 thunk_to_STL_string_dtor_0103b630 stl Wrapper that calls STL_string_dtor and returns 0x0103B640 10 thunk_to_STL_string_dtor_0103b640 stl Wrapper that calls STL_string_dtor and returns 0x0103B650 10 thunk_to_STL_string_dtor_0103b650 stl Wrapper that calls STL_string_dtor and returns 0x0103B660 10 thunk_to_STL_string_dtor_0103b660 stl Wrapper that calls STL_string_dtor and returns 0x0103B670 10 thunk_to_STL_string_dtor_0103b670 stl Wrapper that calls STL_string_dtor and returns 0x0103B680 10 thunk_to_STL_string_dtor_0103b680 stl Wrapper that calls STL_string_dtor and returns 0x0103B690 10 thunk_to_STL_string_dtor_0103b690 stl Wrapper that calls STL_string_dtor and returns 0x0103B6A0 10 thunk_to_STL_string_dtor_0103b6a0 stl Wrapper that calls STL_string_dtor and returns 0x0103B6B0 10 thunk_to_STL_string_dtor_0103b6b0 stl Wrapper that calls STL_string_dtor and returns 0x0103B6C0 10 thunk_to_STL_string_dtor_0103b6c0 stl Wrapper that calls STL_string_dtor and returns 0x0103B740 280 atexit_ATL_unregister_window_classes_0103b740 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103B860 10 thunk_to_STL_string_dtor_0103b860 stl Wrapper that calls STL_string_dtor and returns 0x0103B870 10 thunk_to_STL_string_dtor_0103b870 stl Wrapper that calls STL_string_dtor and returns 0x0103B880 10 thunk_to_STL_string_dtor_0103b880 stl Wrapper that calls STL_string_dtor and returns 0x0103B890 10 thunk_to_STL_string_dtor_0103b890 stl Wrapper that calls STL_string_dtor and returns 0x0103B8A0 10 thunk_to_STL_string_dtor_0103b8a0 stl Wrapper that calls STL_string_dtor and returns 0x0103B8B0 10 thunk_to_STL_string_dtor_0103b8b0 stl Wrapper that calls STL_string_dtor and returns 0x0103B8C0 10 thunk_to_STL_string_dtor_0103b8c0 stl Wrapper that calls STL_string_dtor and returns 0x0103B8D0 10 thunk_to_STL_string_dtor_0103b8d0 stl Wrapper that calls STL_string_dtor and returns 0x0103B8E0 10 thunk_to_STL_string_dtor_0103b8e0 stl Wrapper that calls STL_string_dtor and returns 0x0103B8F0 10 thunk_to_STL_string_dtor_0103b8f0 stl Wrapper that calls STL_string_dtor and returns 0x0103B900 10 thunk_to_STL_string_dtor_0103b900 stl Wrapper that calls STL_string_dtor and returns 0x0103B910 10 thunk_to_STL_string_dtor_0103b910 stl Wrapper that calls STL_string_dtor and returns 0x0103B920 10 thunk_to_STL_string_dtor_0103b920 stl Wrapper that calls STL_string_dtor and returns 0x0103B930 10 thunk_to_STL_string_dtor_0103b930 stl Wrapper function that calls STL_string_dtor and returns 0x0103B940 10 thunk_to_STL_string_dtor_0103b940 stl Wrapper that calls STL_string_dtor and returns 0x0103B950 10 thunk_to_STL_string_dtor_0103b950 stl Wrapper that calls STL_string_dtor and returns 0x0103B960 10 thunk_to_STL_string_dtor_0103b960 stl Wrapper that calls STL_string_dtor and returns 0x0103B970 10 thunk_to_STL_string_dtor_0103b970 stl Wrapper that calls STL_string_dtor and returns 0x0103B980 10 thunk_to_STL_string_dtor_0103b980 stl Wrapper that calls STL_string_dtor and returns 0x0103B990 10 thunk_to_STL_string_dtor_0103b990 stl Wrapper that calls STL_string_dtor and returns 0x0103B9A0 10 thunk_to_STL_string_dtor_0103b9a0 stl Wrapper that calls STL_string_dtor and returns 0x0103B9B0 10 thunk_to_STL_string_dtor_0103b9b0 stl Wrapper that calls STL_string_dtor and returns 0x0103B9C0 10 thunk_to_STL_string_dtor_0103b9c0 stl Wrapper that calls STL_string_dtor and returns 0x0103B9D0 10 thunk_to_STL_string_dtor_0103b9d0 stl Wrapper that calls STL_string_dtor and returns 0x0103B9E0 10 thunk_to_STL_string_dtor_0103b9e0 stl Wrapper function that calls STL_string_dtor and returns 0x0103BA60 280 atexit_ATL_unregister_window_classes_0103ba60 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103BB80 10 thunk_to_STL_string_dtor_0103bb80 stl Wrapper that calls STL_string_dtor and returns 0x0103BB90 10 thunk_to_STL_string_dtor_0103bb90 stl Wrapper that calls STL_string_dtor and returns 0x0103BBA0 10 thunk_to_STL_string_dtor_0103bba0 stl Wrapper that calls STL_string_dtor and returns 0x0103BBB0 10 thunk_to_STL_string_dtor_0103bbb0 stl Wrapper that calls STL_string_dtor and returns 0x0103BBC0 10 thunk_to_STL_string_dtor_0103bbc0 stl Wrapper that calls STL_string_dtor and returns 0x0103BBD0 10 thunk_to_STL_string_dtor_0103bbd0 stl Wrapper that calls STL_string_dtor and returns 0x0103BBE0 10 thunk_to_STL_string_dtor_0103bbe0 stl Wrapper that calls STL_string_dtor and returns 0x0103BBF0 10 thunk_to_STL_string_dtor_0103bbf0 stl Wrapper that calls STL_string_dtor and returns 0x0103BC00 10 thunk_to_STL_string_dtor_0103bc00 stl Wrapper that calls STL_string_dtor and returns 0x0103BC10 10 thunk_to_STL_string_dtor_0103bc10 stl Wrapper that calls STL_string_dtor and returns 0x0103BC20 10 thunk_to_STL_string_dtor_0103bc20 stl Wrapper that calls STL_string_dtor and returns 0x0103BC30 10 thunk_to_STL_string_dtor_0103bc30 stl Wrapper that calls STL_string_dtor and returns 0x0103BC40 10 thunk_to_STL_string_dtor_0103bc40 stl Wrapper that calls STL_string_dtor and returns 0x0103BC50 10 thunk_to_STL_string_dtor_0103bc50 stl Wrapper that calls STL_string_dtor and returns 0x0103BC60 10 thunk_to_STL_string_dtor_0103bc60 stl Wrapper that calls STL_string_dtor and returns 0x0103BC70 10 thunk_to_STL_string_dtor_0103bc70 stl Wrapper that calls STL_string_dtor and returns 0x0103BC80 10 thunk_to_STL_string_dtor_0103bc80 stl Wrapper that calls STL_string_dtor and returns 0x0103BC90 10 thunk_to_STL_string_dtor_0103bc90 stl Wrapper that calls STL_string_dtor and returns 0x0103BCA0 10 thunk_to_STL_string_dtor_0103bca0 stl Wrapper that calls STL_string_dtor and returns 0x0103BCB0 10 thunk_to_STL_string_dtor_0103bcb0 stl Wrapper that calls STL_string_dtor and returns 0x0103BCC0 10 thunk_to_STL_string_dtor_0103bcc0 stl Wrapper that calls STL_string_dtor and returns 0x0103BCD0 10 thunk_to_STL_string_dtor_0103bcd0 stl Wrapper that calls STL_string_dtor and returns 0x0103BCE0 10 thunk_to_STL_string_dtor_0103bce0 stl Wrapper that calls STL_string_dtor and returns 0x0103BCF0 10 thunk_to_STL_string_dtor_0103bcf0 stl Wrapper that calls STL_string_dtor and returns 0x0103BD00 10 thunk_to_STL_string_dtor_0103bd00 stl Wrapper that calls STL_string_dtor and returns 0x0103BD80 280 atexit_ATL_unregister_window_classes_0103bd80 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103BEA0 10 thunk_to_STL_string_dtor_0103bea0 stl Wrapper that calls STL_string_dtor and returns 0x0103BEB0 10 thunk_to_STL_string_dtor_0103beb0 stl Wrapper function that calls STL_string_dtor and returns 0x0103BEC0 10 thunk_to_STL_string_dtor_0103bec0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0103BED0 10 thunk_to_STL_string_dtor_0103bed0 stl Wrapper that calls STL_string_dtor and returns 0x0103BEE0 10 thunk_to_STL_string_dtor_0103bee0 stl Wrapper that calls STL_string_dtor and returns 0x0103BEF0 10 thunk_to_STL_string_dtor_0103bef0 stl Wrapper that calls STL_string_dtor and returns 0x0103BF00 10 thunk_to_STL_string_dtor_0103bf00 stl Wrapper that calls STL_string_dtor and returns 0x0103BF10 10 thunk_to_STL_string_dtor_0103bf10 stl Wrapper that calls STL_string_dtor and returns 0x0103BF20 10 thunk_to_STL_string_dtor_0103bf20 stl Wrapper that calls STL_string_dtor and returns 0x0103BF30 10 thunk_to_STL_string_dtor_0103bf30 stl Wrapper that calls STL_string_dtor and returns 0x0103BF40 10 thunk_to_STL_string_dtor_0103bf40 stl Wrapper that calls STL_string_dtor and returns 0x0103BF50 10 thunk_to_STL_string_dtor_0103bf50 stl Wrapper that calls STL_string_dtor and returns 0x0103BF60 10 thunk_to_STL_string_dtor_0103bf60 stl Wrapper that calls STL_string_dtor and returns 0x0103BF70 10 thunk_to_STL_string_dtor_0103bf70 stl Wrapper that calls STL_string_dtor and returns 0x0103BF80 10 thunk_to_STL_string_dtor_0103bf80 stl Wrapper that calls STL_string_dtor and returns 0x0103BF90 10 thunk_to_STL_string_dtor_0103bf90 stl Wrapper that calls STL_string_dtor and returns 0x0103BFA0 10 thunk_to_STL_string_dtor_0103bfa0 stl Wrapper that calls STL_string_dtor and returns 0x0103BFB0 10 thunk_to_STL_string_dtor_0103bfb0 stl Wrapper that calls STL_string_dtor and returns 0x0103BFC0 10 thunk_to_STL_string_dtor_0103bfc0 stl Wrapper that calls STL_string_dtor and returns 0x0103BFD0 10 thunk_to_STL_string_dtor_0103bfd0 stl Wrapper that calls STL_string_dtor and returns 0x0103BFE0 10 thunk_to_STL_string_dtor_0103bfe0 stl Wrapper that calls STL_string_dtor and returns 0x0103BFF0 10 thunk_to_STL_string_dtor_0103bff0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0103C000 10 thunk_to_STL_string_dtor_0103c000 stl Wrapper that calls STL_string_dtor and returns 0x0103C010 10 thunk_to_STL_string_dtor_0103c010 stl Wrapper that calls STL_string_dtor and returns 0x0103C020 10 thunk_to_STL_string_dtor_0103c020 stl Wrapper that calls STL_string_dtor and returns 0x0103C0A0 280 atexit_ATL_unregister_window_classes_0103c0a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103C1C0 10 thunk_to_STL_string_dtor_0103c1c0 stl Wrapper that calls STL_string_dtor and returns 0x0103C1D0 10 thunk_to_STL_string_dtor_0103c1d0 stl Wrapper that calls STL_string_dtor and returns 0x0103C1E0 10 thunk_to_STL_string_dtor_0103c1e0 stl Wrapper that calls STL_string_dtor and returns 0x0103C1F0 10 thunk_to_STL_string_dtor_0103c1f0 stl Wrapper that calls STL_string_dtor and returns 0x0103C200 10 thunk_to_STL_string_dtor_0103c200 stl Wrapper that calls STL_string_dtor and returns 0x0103C210 10 thunk_to_STL_string_dtor_0103c210 stl Wrapper that calls STL_string_dtor and returns 0x0103C220 10 thunk_to_STL_string_dtor_0103c220 stl Wrapper that calls STL_string_dtor and returns 0x0103C230 10 thunk_to_STL_string_dtor_0103c230 stl Wrapper that calls STL_string_dtor and returns 0x0103C240 10 thunk_to_STL_string_dtor_0103c240 stl Wrapper that calls STL_string_dtor and returns 0x0103C250 10 thunk_to_STL_string_dtor_0103c250 stl Wrapper that calls STL_string_dtor and returns 0x0103C260 10 thunk_to_STL_string_dtor_0103c260 stl Wrapper that calls STL_string_dtor and returns 0x0103C270 10 thunk_to_STL_string_dtor_0103c270 stl Wrapper that calls STL_string_dtor and returns 0x0103C280 10 thunk_to_STL_string_dtor_0103c280 stl Wrapper that calls STL_string_dtor and returns 0x0103C290 10 thunk_to_STL_string_dtor_0103c290 stl Wrapper that calls STL_string_dtor and returns 0x0103C2A0 10 thunk_to_STL_string_dtor_0103c2a0 stl Wrapper that calls STL_string_dtor and returns 0x0103C2B0 10 thunk_to_STL_string_dtor_0103c2b0 stl Wrapper that calls STL_string_dtor and returns 0x0103C2C0 10 thunk_to_STL_string_dtor_0103c2c0 stl Wrapper that calls STL_string_dtor and returns 0x0103C2D0 10 thunk_to_STL_string_dtor_0103c2d0 stl Wrapper function that calls STL_string_dtor and returns 0x0103C2E0 10 thunk_to_STL_string_dtor_0103c2e0 stl Wrapper that calls STL_string_dtor and returns 0x0103C2F0 10 thunk_to_STL_string_dtor_0103c2f0 stl Wrapper that calls STL_string_dtor and returns 0x0103C300 10 thunk_to_STL_string_dtor_0103c300 stl Wrapper that calls STL_string_dtor and returns 0x0103C310 10 thunk_to_STL_string_dtor_0103c310 stl Wrapper that calls STL_string_dtor and returns 0x0103C320 10 thunk_to_STL_string_dtor_0103c320 stl Wrapper that calls STL_string_dtor and returns 0x0103C330 10 thunk_to_STL_string_dtor_0103c330 stl Wrapper that calls STL_string_dtor and returns 0x0103C340 10 thunk_to_STL_string_dtor_0103c340 stl Wrapper that calls STL_string_dtor and returns 0x0103C3C0 280 atexit_ATL_unregister_window_classes_0103c3c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103C4E0 10 thunk_to_STL_string_dtor_0103c4e0 stl Wrapper that calls STL_string_dtor and returns 0x0103C4F0 10 thunk_to_STL_string_dtor_0103c4f0 stl Wrapper that calls STL_string_dtor and returns 0x0103C500 10 thunk_to_STL_string_dtor_0103c500 stl Wrapper that calls STL_string_dtor and returns 0x0103C510 10 thunk_to_STL_string_dtor_0103c510 stl Wrapper that calls STL_string_dtor and returns 0x0103C520 10 thunk_to_STL_string_dtor_0103c520 stl Wrapper that calls STL_string_dtor and returns 0x0103C530 10 thunk_to_STL_string_dtor_0103c530 stl Wrapper that calls STL_string_dtor and returns 0x0103C540 10 thunk_to_STL_string_dtor_0103c540 stl Wrapper that calls STL_string_dtor and returns 0x0103C550 10 thunk_to_STL_string_dtor_0103c550 stl Wrapper that calls STL_string_dtor and returns 0x0103C560 10 thunk_to_STL_string_dtor_0103c560 stl Wrapper that calls STL_string_dtor and returns 0x0103C570 10 thunk_to_STL_string_dtor_0103c570 stl Wrapper that calls STL_string_dtor and returns 0x0103C580 10 thunk_to_STL_string_dtor_0103c580 stl Wrapper that calls STL_string_dtor and returns 0x0103C590 10 thunk_to_STL_string_dtor_0103c590 stl Wrapper that calls STL_string_dtor and returns 0x0103C5A0 10 thunk_to_STL_string_dtor_0103c5a0 stl Wrapper that calls STL_string_dtor and returns 0x0103C5B0 10 thunk_to_STL_string_dtor_0103c5b0 stl Wrapper that calls STL_string_dtor and returns 0x0103C5C0 10 thunk_to_STL_string_dtor_0103c5c0 stl Wrapper that calls STL_string_dtor and returns 0x0103C5D0 10 thunk_to_STL_string_dtor_0103c5d0 stl Wrapper that calls STL_string_dtor and returns 0x0103C5E0 10 thunk_to_STL_string_dtor_0103c5e0 stl Wrapper that calls STL_string_dtor and returns 0x0103C5F0 10 thunk_to_STL_string_dtor_0103c5f0 stl Wrapper that calls STL_string_dtor and returns 0x0103C600 10 thunk_to_STL_string_dtor_0103c600 stl Wrapper that calls STL_string_dtor and returns 0x0103C610 10 thunk_to_STL_string_dtor_0103c610 stl Wrapper that calls STL_string_dtor and returns 0x0103C620 10 thunk_to_STL_string_dtor_0103c620 stl Wrapper that calls STL_string_dtor and returns 0x0103C630 10 thunk_to_STL_string_dtor_0103c630 stl Wrapper that calls STL_string_dtor and returns 0x0103C640 10 thunk_to_STL_string_dtor_0103c640 stl Wrapper that calls STL_string_dtor and returns 0x0103C650 10 thunk_to_STL_string_dtor_0103c650 stl Wrapper that calls STL_string_dtor and returns 0x0103C660 10 thunk_to_STL_string_dtor_0103c660 stl Wrapper that calls STL_string_dtor and returns 0x0103C6E0 280 atexit_ATL_unregister_window_classes_0103c6e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103C800 10 thunk_to_STL_string_dtor_0103c800 stl Wrapper that calls STL_string_dtor and returns 0x0103C810 10 thunk_to_STL_string_dtor_0103c810 stl Wrapper that calls STL_string_dtor and returns 0x0103C820 10 thunk_to_STL_string_dtor_0103c820 stl Wrapper that calls STL_string_dtor and returns 0x0103C830 10 thunk_to_STL_string_dtor_0103c830 stl Wrapper that calls STL_string_dtor and returns 0x0103C840 10 thunk_to_STL_string_dtor_0103c840 stl Wrapper that calls STL_string_dtor and returns 0x0103C850 10 thunk_to_STL_string_dtor_0103c850 stl Wrapper that calls STL_string_dtor and returns 0x0103C860 10 thunk_to_STL_string_dtor_0103c860 stl Wrapper that calls STL_string_dtor and returns 0x0103C870 10 thunk_to_STL_string_dtor_0103c870 stl Wrapper that calls STL_string_dtor and returns 0x0103C880 10 thunk_to_STL_string_dtor_0103c880 stl Wrapper that calls STL_string_dtor and returns 0x0103C890 10 thunk_to_STL_string_dtor_0103c890 stl Wrapper that calls STL_string_dtor and returns 0x0103C8A0 10 thunk_to_STL_string_dtor_0103c8a0 stl Wrapper that calls STL_string_dtor and returns 0x0103C8B0 10 thunk_to_STL_string_dtor_0103c8b0 stl Wrapper that calls STL_string_dtor and returns 0x0103C8C0 10 thunk_to_STL_string_dtor_0103c8c0 stl Wrapper that calls STL_string_dtor and returns 0x0103C8D0 10 thunk_to_STL_string_dtor_0103c8d0 stl Wrapper that calls STL_string_dtor and returns 0x0103C8E0 10 thunk_to_STL_string_dtor_0103c8e0 stl Wrapper that calls STL_string_dtor and returns 0x0103C8F0 10 thunk_to_STL_string_dtor_0103c8f0 stl Wrapper that calls STL_string_dtor and returns 0x0103C900 10 thunk_to_STL_string_dtor_0103c900 stl Wrapper that calls STL_string_dtor and returns 0x0103C910 10 thunk_to_STL_string_dtor_0103c910 stl Wrapper that calls STL_string_dtor and returns 0x0103C920 10 thunk_to_STL_string_dtor_0103c920 stl Wrapper that calls STL_string_dtor and returns 0x0103C930 10 thunk_to_STL_string_dtor_0103c930 stl Wrapper that calls STL_string_dtor and returns 0x0103C940 10 thunk_to_STL_string_dtor_0103c940 stl Wrapper that calls STL_string_dtor and returns 0x0103C950 10 thunk_to_STL_string_dtor_0103c950 stl Wrapper that calls STL_string_dtor and returns 0x0103C960 10 thunk_to_STL_string_dtor_0103c960 stl Wrapper that calls STL_string_dtor and returns 0x0103C970 10 thunk_to_STL_string_dtor_0103c970 stl Wrapper that calls STL_string_dtor and returns 0x0103C980 10 thunk_to_STL_string_dtor_0103c980 stl Wrapper that calls STL_string_dtor and returns 0x0103CA00 280 atexit_ATL_unregister_window_classes_0103ca00 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103CB20 10 thunk_to_STL_string_dtor_0103cb20 stl Wrapper that calls STL_string_dtor and returns 0x0103CB30 10 thunk_to_STL_string_dtor_0103cb30 stl Wrapper that calls STL_string_dtor and returns 0x0103CB40 10 thunk_to_STL_string_dtor_0103cb40 stl Wrapper that calls STL_string_dtor and returns 0x0103CB50 10 thunk_to_STL_string_dtor_0103cb50 stl Wrapper that calls STL_string_dtor and returns 0x0103CB60 10 thunk_to_STL_string_dtor_0103cb60 stl Wrapper that calls STL_string_dtor and returns 0x0103CB70 10 thunk_to_STL_string_dtor_0103cb70 stl Wrapper that calls STL_string_dtor and returns 0x0103CB80 10 thunk_to_STL_string_dtor_0103cb80 stl Wrapper that calls STL_string_dtor and returns 0x0103CB90 10 thunk_to_STL_string_dtor_0103cb90 stl Wrapper function that calls STL_string_dtor and returns 0x0103CBA0 10 thunk_to_STL_string_dtor_0103cba0 stl Wrapper that calls STL_string_dtor and returns 0x0103CBB0 10 thunk_to_STL_string_dtor_0103cbb0 stl Wrapper that calls STL_string_dtor and returns 0x0103CBC0 10 thunk_to_STL_string_dtor_0103cbc0 stl Wrapper that calls STL_string_dtor and returns 0x0103CBD0 10 thunk_to_STL_string_dtor_0103cbd0 stl Wrapper that calls STL_string_dtor and returns 0x0103CBE0 10 thunk_to_STL_string_dtor_0103cbe0 stl Wrapper that calls STL_string_dtor and returns 0x0103CBF0 10 thunk_to_STL_string_dtor_0103cbf0 stl Wrapper that calls STL_string_dtor and returns 0x0103CC00 10 thunk_to_STL_string_dtor_0103cc00 stl Wrapper that calls STL_string_dtor and returns 0x0103CC10 10 thunk_to_STL_string_dtor_0103cc10 stl Wrapper that calls STL_string_dtor and returns 0x0103CC20 10 thunk_to_STL_string_dtor_0103cc20 stl Wrapper that calls STL_string_dtor and returns 0x0103CC30 10 thunk_to_STL_string_dtor_0103cc30 stl Wrapper that calls STL_string_dtor and returns 0x0103CC40 10 thunk_to_STL_string_dtor_0103cc40 stl Wrapper that calls STL_string_dtor and returns 0x0103CC50 10 thunk_to_STL_string_dtor_0103cc50 stl Wrapper that calls STL_string_dtor and returns 0x0103CC60 10 thunk_to_STL_string_dtor_0103cc60 stl Wrapper that calls STL_string_dtor and returns 0x0103CC70 10 thunk_to_STL_string_dtor_0103cc70 stl Wrapper that calls STL_string_dtor and returns 0x0103CC80 10 thunk_to_STL_string_dtor_0103cc80 stl Wrapper that calls STL_string_dtor and returns 0x0103CC90 10 thunk_to_STL_string_dtor_0103cc90 stl Wrapper that calls STL_string_dtor and returns 0x0103CCA0 10 thunk_to_STL_string_dtor_0103cca0 stl Wrapper that calls STL_string_dtor and returns 0x0103CD20 280 atexit_ATL_unregister_window_classes_0103cd20 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103CE40 10 thunk_to_STL_string_dtor_0103ce40 stl Wrapper that calls STL_string_dtor and returns 0x0103CE50 10 thunk_to_STL_string_dtor_0103ce50 stl Wrapper that calls STL_string_dtor and returns 0x0103CE60 10 thunk_to_STL_string_dtor_0103ce60 stl Wrapper that calls STL_string_dtor and returns 0x0103CE70 10 thunk_to_STL_string_dtor_0103ce70 stl Wrapper that calls STL_string_dtor and returns 0x0103CE80 10 thunk_to_STL_string_dtor_0103ce80 stl Wrapper that calls STL_string_dtor and returns 0x0103CE90 10 thunk_to_STL_string_dtor_0103ce90 stl Wrapper that calls STL_string_dtor and returns 0x0103CEA0 10 thunk_to_STL_string_dtor_0103cea0 stl Wrapper that calls STL_string_dtor and returns 0x0103CEB0 10 thunk_to_STL_string_dtor_0103ceb0 stl Wrapper that calls STL_string_dtor and returns 0x0103CEC0 10 thunk_to_STL_string_dtor_0103cec0 stl Wrapper that calls STL_string_dtor and returns 0x0103CED0 10 thunk_to_STL_string_dtor_0103ced0 stl Wrapper function that calls STL_string_dtor and returns 0x0103CEE0 10 thunk_to_STL_string_dtor_0103cee0 stl Wrapper that calls STL_string_dtor and returns 0x0103CEF0 10 thunk_to_STL_string_dtor_0103cef0 stl Wrapper that calls STL_string_dtor and returns 0x0103CF00 10 thunk_to_STL_string_dtor_0103cf00 stl Wrapper that calls STL_string_dtor and returns 0x0103CF10 10 thunk_to_STL_string_dtor_0103cf10 stl Wrapper that calls STL_string_dtor and returns 0x0103CF20 10 thunk_to_STL_string_dtor_0103cf20 stl Wrapper that calls STL_string_dtor and returns 0x0103CF30 10 thunk_to_STL_string_dtor_0103cf30 stl Wrapper that calls STL_string_dtor and returns 0x0103CF40 10 thunk_to_STL_string_dtor_0103cf40 stl Wrapper that calls STL_string_dtor and returns 0x0103CF50 10 thunk_to_STL_string_dtor_0103cf50 stl Wrapper that calls STL_string_dtor and returns 0x0103CF60 10 thunk_to_STL_string_dtor_0103cf60 stl Wrapper that calls STL_string_dtor and returns 0x0103CF70 10 thunk_to_STL_string_dtor_0103cf70 stl Wrapper that calls STL_string_dtor and returns 0x0103CF80 10 thunk_to_STL_string_dtor_0103cf80 stl Wrapper that calls STL_string_dtor and returns 0x0103CF90 10 thunk_to_STL_string_dtor_0103cf90 stl Wrapper that calls STL_string_dtor and returns 0x0103CFA0 10 thunk_to_STL_string_dtor_0103cfa0 stl Wrapper that calls STL_string_dtor and returns 0x0103CFB0 10 thunk_to_STL_string_dtor_0103cfb0 stl Wrapper that calls STL_string_dtor and returns 0x0103CFC0 10 thunk_to_STL_string_dtor_0103cfc0 stl Wrapper that calls STL_string_dtor and returns 0x0103D040 280 atexit_ATL_unregister_window_classes_0103d040 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103D160 10 thunk_to_STL_string_dtor_0103d160 stl Wrapper that calls STL_string_dtor and returns 0x0103D170 10 thunk_to_STL_string_dtor_0103d170 stl Wrapper that calls STL_string_dtor and returns 0x0103D180 10 thunk_to_STL_string_dtor_0103d180 stl Wrapper that calls STL_string_dtor and returns 0x0103D190 10 thunk_to_STL_string_dtor_0103d190 stl Wrapper that calls STL_string_dtor and returns 0x0103D1A0 10 thunk_to_STL_string_dtor_0103d1a0 stl Wrapper that calls STL_string_dtor and returns 0x0103D1B0 10 thunk_to_STL_string_dtor_0103d1b0 stl Wrapper that calls STL_string_dtor and returns 0x0103D1C0 10 thunk_to_STL_string_dtor_0103d1c0 stl Wrapper that calls STL_string_dtor and returns 0x0103D1D0 10 thunk_to_STL_string_dtor_0103d1d0 stl Wrapper that calls STL_string_dtor and returns 0x0103D1E0 10 thunk_to_STL_string_dtor_0103d1e0 stl Wrapper that calls STL_string_dtor and returns 0x0103D1F0 10 thunk_to_STL_string_dtor_0103d1f0 stl Wrapper that calls STL_string_dtor and returns 0x0103D200 10 thunk_to_STL_string_dtor_0103d200 stl Wrapper calling STL string destructor 0x0103D210 10 thunk_to_STL_string_dtor_0103d210 stl Wrapper that calls STL_string_dtor and returns 0x0103D220 10 thunk_to_STL_string_dtor_0103d220 stl Wrapper that calls STL_string_dtor and returns 0x0103D230 10 thunk_to_STL_string_dtor_0103d230 stl Wrapper that calls STL_string_dtor and returns 0x0103D240 10 thunk_to_STL_string_dtor_0103d240 stl Wrapper that calls STL_string_dtor and returns 0x0103D250 10 thunk_to_STL_string_dtor_0103d250 stl Wrapper that calls STL_string_dtor and returns 0x0103D260 10 thunk_to_STL_string_dtor_0103d260 stl Wrapper that calls STL_string_dtor and returns 0x0103D270 10 thunk_to_STL_string_dtor_0103d270 stl Wrapper that calls STL_string_dtor and returns 0x0103D280 10 thunk_to_STL_string_dtor_0103d280 stl Wrapper that calls STL_string_dtor and returns 0x0103D290 10 thunk_to_STL_string_dtor_0103d290 stl Wrapper that calls STL_string_dtor and returns 0x0103D2A0 10 thunk_to_STL_string_dtor_0103d2a0 stl Wrapper that calls STL_string_dtor and returns 0x0103D2B0 10 thunk_to_STL_string_dtor_0103d2b0 stl Wrapper that calls STL_string_dtor and returns 0x0103D2C0 10 thunk_to_STL_string_dtor_0103d2c0 stl Wrapper that calls STL_string_dtor and returns 0x0103D2D0 10 thunk_to_STL_string_dtor_0103d2d0 stl Wrapper that calls STL_string_dtor and returns 0x0103D2E0 10 thunk_to_STL_string_dtor_0103d2e0 stl Wrapper that calls STL_string_dtor and returns 0x0103D360 280 atexit_ATL_unregister_window_classes_0103d360 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103D4F0 280 atexit_ATL_unregister_window_classes_0103d4f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103D680 280 atexit_ATL_unregister_window_classes_0103d680 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103D7A0 10 thunk_to_STL_string_dtor_0103d7a0 stl Wrapper that calls STL_string_dtor and returns 0x0103D7B0 10 thunk_to_STL_string_dtor_0103d7b0 stl Wrapper that calls STL_string_dtor and returns 0x0103D7C0 10 thunk_to_STL_string_dtor_0103d7c0 stl Wrapper that calls STL_string_dtor and returns 0x0103D7D0 10 thunk_to_STL_string_dtor_0103d7d0 stl Wrapper that calls STL_string_dtor and returns 0x0103D7E0 10 thunk_to_STL_string_dtor_0103d7e0 stl Wrapper that calls STL_string_dtor and returns 0x0103D7F0 10 thunk_to_STL_string_dtor_0103d7f0 stl Wrapper that calls STL_string_dtor and returns 0x0103D800 10 thunk_to_STL_string_dtor_0103d800 stl Wrapper that calls STL_string_dtor and returns 0x0103D810 10 thunk_to_STL_string_dtor_0103d810 stl Wrapper that calls STL_string_dtor and returns 0x0103D820 10 thunk_to_STL_string_dtor_0103d820 stl Wrapper that calls STL_string_dtor and returns 0x0103D830 10 thunk_to_STL_string_dtor_0103d830 stl Wrapper that calls STL_string_dtor and returns 0x0103D840 10 thunk_to_STL_string_dtor_0103d840 stl Wrapper that calls STL_string_dtor and returns 0x0103D850 10 thunk_to_STL_string_dtor_0103d850 stl Wrapper that calls STL_string_dtor and returns 0x0103D860 10 thunk_to_STL_string_dtor_0103d860 stl Wrapper that calls STL_string_dtor and returns 0x0103D870 10 thunk_to_STL_string_dtor_0103d870 stl Wrapper that calls STL_string_dtor and returns 0x0103D880 10 thunk_to_STL_string_dtor_0103d880 stl Wrapper that calls STL_string_dtor and returns 0x0103D890 10 thunk_to_STL_string_dtor_0103d890 stl Wrapper function that calls STL_string_dtor and returns 0x0103D8A0 10 thunk_to_STL_string_dtor_0103d8a0 stl Wrapper calling STL string destructor 0x0103D8B0 10 thunk_to_STL_string_dtor_0103d8b0 stl Wrapper that calls STL_string_dtor and returns 0x0103D8C0 10 thunk_to_STL_string_dtor_0103d8c0 stl Wrapper that calls STL_string_dtor and returns 0x0103D8D0 10 thunk_to_STL_string_dtor_0103d8d0 stl Wrapper that calls STL_string_dtor and returns 0x0103D8E0 10 thunk_to_STL_string_dtor_0103d8e0 stl Wrapper that calls STL_string_dtor and returns 0x0103D8F0 10 thunk_to_STL_string_dtor_0103d8f0 stl Wrapper that calls STL_string_dtor and returns 0x0103D900 10 thunk_to_STL_string_dtor_0103d900 stl Wrapper that calls STL_string_dtor and returns 0x0103D910 10 thunk_to_STL_string_dtor_0103d910 stl Wrapper that calls STL_string_dtor and returns 0x0103D920 10 thunk_to_STL_string_dtor_0103d920 stl Wrapper that calls STL_string_dtor and returns 0x0103D9A0 280 atexit_ATL_unregister_window_classes_0103d9a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103DAC0 66 atexit_CRenderPipeline_destroy_0103dac0 crt atexit handler: SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector for render pipeline cleanup. 0x0103DB10 10 thunk_to_STL_string_dtor_0103db10 stl Wrapper that calls STL_string_dtor and returns 0x0103DB20 10 thunk_to_STL_string_dtor_0103db20 stl Wrapper that calls STL_string_dtor and returns 0x0103DB30 10 thunk_to_STL_string_dtor_0103db30 stl Wrapper that calls STL_string_dtor and returns 0x0103DB40 10 thunk_to_STL_string_dtor_0103db40 stl Wrapper that calls STL_string_dtor and returns 0x0103DB50 10 thunk_to_STL_string_dtor_0103db50 stl Wrapper that calls STL_string_dtor and returns 0x0103DB60 10 thunk_to_STL_string_dtor_0103db60 stl Wrapper that calls STL_string_dtor and returns 0x0103DB70 10 thunk_to_STL_string_dtor_0103db70 stl Wrapper that calls STL_string_dtor and returns 0x0103DB80 10 thunk_to_STL_string_dtor_0103db80 stl Wrapper that calls STL_string_dtor and returns 0x0103DB90 10 thunk_to_STL_string_dtor_0103db90 stl Wrapper that calls STL_string_dtor and returns 0x0103DBA0 10 thunk_to_STL_string_dtor_0103dba0 stl Wrapper that calls STL_string_dtor and returns 0x0103DBB0 10 thunk_to_STL_string_dtor_0103dbb0 stl Wrapper that calls STL_string_dtor and returns 0x0103DBC0 10 thunk_to_STL_string_dtor_0103dbc0 stl Wrapper that calls STL_string_dtor and returns 0x0103DBD0 10 thunk_to_STL_string_dtor_0103dbd0 stl Wrapper that calls STL_string_dtor and returns 0x0103DBE0 10 thunk_to_STL_string_dtor_0103dbe0 stl Wrapper that calls STL_string_dtor and returns 0x0103DBF0 10 thunk_to_STL_string_dtor_0103dbf0 stl Wrapper that calls STL_string_dtor and returns 0x0103DC00 10 thunk_to_STL_string_dtor_0103dc00 stl Wrapper that calls STL_string_dtor and returns 0x0103DC10 10 thunk_to_STL_string_dtor_0103dc10 stl Wrapper that calls STL_string_dtor and returns 0x0103DC20 10 thunk_to_STL_string_dtor_0103dc20 stl Wrapper that calls STL_string_dtor and returns 0x0103DC30 10 thunk_to_STL_string_dtor_0103dc30 stl Wrapper that calls STL_string_dtor and returns 0x0103DC40 10 thunk_to_STL_string_dtor_0103dc40 stl Wrapper that calls STL_string_dtor and returns 0x0103DC50 10 thunk_to_STL_string_dtor_0103dc50 stl Wrapper that calls STL_string_dtor and returns 0x0103DC60 10 thunk_to_STL_string_dtor_0103dc60 stl Wrapper that calls STL_string_dtor and returns 0x0103DC70 10 thunk_to_STL_string_dtor_0103dc70 stl Wrapper that calls STL_string_dtor and returns 0x0103DC80 10 thunk_to_STL_string_dtor_0103dc80 stl Wrapper that calls STL_string_dtor and returns 0x0103DC90 10 thunk_to_STL_string_dtor_0103dc90 stl Wrapper that calls STL_string_dtor and returns 0x0103DD10 280 atexit_ATL_unregister_window_classes_0103dd10 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103DE30 66 atexit_CRenderPipeline_destroy_0103de30 crt atexit handler: SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector for render pipeline cleanup. 0x0103DE80 10 thunk_to_STL_string_dtor_0103de80 stl Wrapper that calls STL_string_dtor and returns 0x0103DE90 10 thunk_to_STL_string_dtor_0103de90 stl Wrapper that calls STL_string_dtor and returns 0x0103DEA0 10 thunk_to_STL_string_dtor_0103dea0 stl Wrapper that calls STL_string_dtor and returns 0x0103DEB0 10 thunk_to_STL_string_dtor_0103deb0 stl Wrapper calling STL_string_dtor destructor 0x0103DEC0 10 thunk_to_STL_string_dtor_0103dec0 stl Wrapper that calls STL_string_dtor and returns 0x0103DED0 10 thunk_to_STL_string_dtor_0103ded0 stl Wrapper that calls STL_string_dtor and returns 0x0103DEE0 10 thunk_to_STL_string_dtor_0103dee0 stl Wrapper that calls STL_string_dtor and returns 0x0103DEF0 10 thunk_to_STL_string_dtor_0103def0 stl Wrapper that calls STL_string_dtor and returns 0x0103DF00 10 thunk_to_STL_string_dtor_0103df00 stl Wrapper function that calls STL_string_dtor and returns 0x0103DF10 10 thunk_to_STL_string_dtor_0103df10 stl Wrapper that calls STL_string_dtor and returns 0x0103DF20 10 thunk_to_STL_string_dtor_0103df20 stl Wrapper that calls STL_string_dtor and returns 0x0103DF30 10 thunk_to_STL_string_dtor_0103df30 stl Wrapper that calls STL_string_dtor and returns 0x0103DF40 10 thunk_to_STL_string_dtor_0103df40 stl Wrapper that calls STL_string_dtor and returns 0x0103DF50 10 thunk_to_STL_string_dtor_0103df50 stl Wrapper that calls STL_string_dtor and returns 0x0103DF60 10 thunk_to_STL_string_dtor_0103df60 stl Wrapper that calls STL_string_dtor and returns 0x0103DF70 10 thunk_to_STL_string_dtor_0103df70 stl Wrapper that calls STL_string_dtor and returns 0x0103DF80 10 thunk_to_STL_string_dtor_0103df80 stl Wrapper that calls STL_string_dtor and returns 0x0103DF90 10 thunk_to_STL_string_dtor_0103df90 stl Wrapper function that calls STL_string_dtor and returns 0x0103DFA0 10 thunk_to_STL_string_dtor_0103dfa0 stl Wrapper that calls STL_string_dtor and returns 0x0103DFB0 10 thunk_to_STL_string_dtor_0103dfb0 stl Wrapper that calls STL_string_dtor and returns 0x0103DFC0 10 thunk_to_STL_string_dtor_0103dfc0 stl Wrapper that calls STL_string_dtor and returns 0x0103DFD0 10 thunk_to_STL_string_dtor_0103dfd0 stl Wrapper calling STL_string_dtor, likely for vtable or export purposes 0x0103DFE0 10 thunk_to_STL_string_dtor_0103dfe0 stl Wrapper that calls STL_string_dtor and returns 0x0103DFF0 10 thunk_to_STL_string_dtor_0103dff0 stl Wrapper that calls STL_string_dtor and returns 0x0103E000 10 thunk_to_STL_string_dtor_0103e000 stl Wrapper that calls STL_string_dtor and returns 0x0103E080 280 atexit_ATL_unregister_window_classes_0103e080 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103E1A0 10 thunk_to_STL_string_dtor_0103e1a0 stl Wrapper that calls STL_string_dtor and returns 0x0103E1B0 10 thunk_to_STL_string_dtor_0103e1b0 stl Wrapper that calls STL_string_dtor and returns 0x0103E1C0 10 thunk_to_STL_string_dtor_0103e1c0 stl Wrapper that calls STL_string_dtor and returns 0x0103E1D0 10 thunk_to_STL_string_dtor_0103e1d0 stl Wrapper that calls STL_string_dtor and returns 0x0103E1E0 10 thunk_to_STL_string_dtor_0103e1e0 stl Wrapper that calls STL_string_dtor and returns 0x0103E1F0 10 thunk_to_STL_string_dtor_0103e1f0 stl Wrapper that calls STL_string_dtor and returns 0x0103E200 10 thunk_to_STL_string_dtor_0103e200 stl Wrapper that calls STL_string_dtor and returns 0x0103E210 10 thunk_to_STL_string_dtor_0103e210 stl Wrapper that calls STL_string_dtor and returns 0x0103E220 10 thunk_to_STL_string_dtor_0103e220 stl Wrapper that calls STL_string_dtor and returns 0x0103E230 10 thunk_to_STL_string_dtor_0103e230 stl Wrapper that calls STL_string_dtor and returns 0x0103E240 10 thunk_to_STL_string_dtor_0103e240 stl Wrapper function that calls STL_string_dtor and returns 0x0103E250 10 thunk_to_STL_string_dtor_0103e250 stl Wrapper that calls STL_string_dtor and returns 0x0103E260 10 thunk_to_STL_string_dtor_0103e260 stl Wrapper that calls STL_string_dtor and returns 0x0103E270 10 thunk_to_STL_string_dtor_0103e270 stl Wrapper that calls STL_string_dtor and returns 0x0103E280 10 thunk_to_STL_string_dtor_0103e280 stl Wrapper that calls STL_string_dtor and returns 0x0103E290 10 thunk_to_STL_string_dtor_0103e290 stl Wrapper that calls STL_string_dtor and returns 0x0103E2A0 10 thunk_to_STL_string_dtor_0103e2a0 stl Wrapper that calls STL_string_dtor and returns 0x0103E2B0 10 thunk_to_STL_string_dtor_0103e2b0 stl Wrapper that calls STL_string_dtor and returns 0x0103E2C0 10 thunk_to_STL_string_dtor_0103e2c0 stl Wrapper that calls STL_string_dtor and returns 0x0103E2D0 10 thunk_to_STL_string_dtor_0103e2d0 stl Wrapper that calls STL_string_dtor and returns 0x0103E2E0 10 thunk_to_STL_string_dtor_0103e2e0 stl Wrapper that calls STL_string_dtor and returns 0x0103E2F0 10 thunk_to_STL_string_dtor_0103e2f0 stl Wrapper that calls STL_string_dtor and returns 0x0103E300 10 thunk_to_STL_string_dtor_0103e300 stl Wrapper that calls STL_string_dtor and returns 0x0103E310 10 thunk_to_STL_string_dtor_0103e310 stl Wrapper that calls STL_string_dtor and returns 0x0103E320 10 thunk_to_STL_string_dtor_0103e320 stl Wrapper that calls STL_string_dtor and returns immediately 0x0103E3A0 280 atexit_ATL_unregister_window_classes_0103e3a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103E4C0 10 thunk_to_STL_string_dtor_0103e4c0 stl Wrapper that calls STL_string_dtor and returns 0x0103E4D0 10 thunk_to_STL_string_dtor_0103e4d0 stl Wrapper that calls STL_string_dtor and returns 0x0103E4E0 10 thunk_to_STL_string_dtor_0103e4e0 stl Wrapper that calls STL_string_dtor and returns 0x0103E4F0 10 thunk_to_STL_string_dtor_0103e4f0 stl Wrapper that calls STL_string_dtor and returns 0x0103E500 10 thunk_to_STL_string_dtor_0103e500 stl Wrapper that calls STL_string_dtor and returns 0x0103E510 10 thunk_to_STL_string_dtor_0103e510 stl Wrapper that calls STL_string_dtor and returns 0x0103E520 10 thunk_to_STL_string_dtor_0103e520 stl Wrapper that calls STL_string_dtor and returns 0x0103E530 10 thunk_to_STL_string_dtor_0103e530 stl Wrapper that calls STL_string_dtor and returns 0x0103E540 10 thunk_to_STL_string_dtor_0103e540 stl Wrapper that calls STL_string_dtor and returns 0x0103E550 10 thunk_to_STL_string_dtor_0103e550 stl Wrapper that calls STL_string_dtor and returns 0x0103E560 10 thunk_to_STL_string_dtor_0103e560 stl Wrapper that calls STL_string_dtor and returns 0x0103E570 10 thunk_to_STL_string_dtor_0103e570 stl Wrapper that calls STL_string_dtor and returns 0x0103E580 10 thunk_to_STL_string_dtor_0103e580 stl Wrapper that calls STL_string_dtor and returns 0x0103E590 10 thunk_to_STL_string_dtor_0103e590 stl Wrapper that calls STL_string_dtor and returns 0x0103E5A0 10 thunk_to_STL_string_dtor_0103e5a0 stl Wrapper that calls STL_string_dtor and returns 0x0103E5B0 10 thunk_to_STL_string_dtor_0103e5b0 stl Wrapper that calls STL_string_dtor and returns 0x0103E5C0 10 thunk_to_STL_string_dtor_0103e5c0 stl Wrapper that calls STL_string_dtor and returns 0x0103E5D0 10 thunk_to_STL_string_dtor_0103e5d0 stl Wrapper that calls STL_string_dtor and returns 0x0103E5E0 10 thunk_to_STL_string_dtor_0103e5e0 stl Wrapper that calls STL_string_dtor and returns 0x0103E5F0 10 thunk_to_STL_string_dtor_0103e5f0 stl Wrapper that calls STL_string_dtor and returns 0x0103E600 10 thunk_to_STL_string_dtor_0103e600 stl Wrapper that calls STL_string_dtor and returns 0x0103E610 10 thunk_to_STL_string_dtor_0103e610 stl Wrapper that calls STL_string_dtor and returns 0x0103E620 10 thunk_to_STL_string_dtor_0103e620 stl Wrapper that calls STL_string_dtor and returns 0x0103E630 10 thunk_to_STL_string_dtor_0103e630 stl Wrapper function that calls STL_string_dtor and returns 0x0103E640 10 thunk_to_STL_string_dtor_0103e640 stl Wrapper that calls STL_string_dtor and returns 0x0103E6C0 280 atexit_ATL_unregister_window_classes_0103e6c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103E7E0 10 thunk_to_STL_string_dtor_0103e7e0 stl Wrapper that calls STL_string_dtor and returns 0x0103E7F0 10 thunk_to_STL_string_dtor_0103e7f0 stl Wrapper that calls STL_string_dtor and returns 0x0103E800 10 thunk_to_STL_string_dtor_0103e800 stl Wrapper that calls STL_string_dtor and returns 0x0103E810 10 thunk_to_STL_string_dtor_0103e810 stl Wrapper function that calls STL_string_dtor and returns 0x0103E820 10 thunk_to_STL_string_dtor_0103e820 stl Wrapper that calls STL_string_dtor and returns 0x0103E830 10 thunk_to_STL_string_dtor_0103e830 stl Wrapper that calls STL_string_dtor and returns 0x0103E840 10 thunk_to_STL_string_dtor_0103e840 stl Wrapper that calls STL_string_dtor and returns 0x0103E850 10 thunk_to_STL_string_dtor_0103e850 stl Wrapper that calls STL_string_dtor and returns 0x0103E860 10 thunk_to_STL_string_dtor_0103e860 stl Wrapper that calls STL_string_dtor and returns 0x0103E870 10 thunk_to_STL_string_dtor_0103e870 stl Wrapper that calls STL_string_dtor and returns 0x0103E880 10 thunk_to_STL_string_dtor_0103e880 stl Wrapper that calls STL_string_dtor and returns 0x0103E890 10 thunk_to_STL_string_dtor_0103e890 stl Wrapper that calls STL_string_dtor and returns 0x0103E8A0 10 thunk_to_STL_string_dtor_0103e8a0 stl Wrapper that calls STL_string_dtor and returns 0x0103E8B0 10 thunk_to_STL_string_dtor_0103e8b0 stl Wrapper that calls STL_string_dtor and returns 0x0103E8C0 10 thunk_to_STL_string_dtor_0103e8c0 stl Wrapper that calls STL_string_dtor and returns 0x0103E8D0 10 thunk_to_STL_string_dtor_0103e8d0 stl Wrapper that calls STL_string_dtor and returns 0x0103E8E0 10 thunk_to_STL_string_dtor_0103e8e0 stl Wrapper that calls STL_string_dtor and returns 0x0103E8F0 10 thunk_to_STL_string_dtor_0103e8f0 stl Wrapper that calls STL_string_dtor and returns 0x0103E900 10 thunk_to_STL_string_dtor_0103e900 stl Wrapper that calls STL_string_dtor and returns 0x0103E910 10 thunk_to_STL_string_dtor_0103e910 stl Wrapper that calls STL_string_dtor and returns 0x0103E920 10 thunk_to_STL_string_dtor_0103e920 stl Wrapper that calls STL_string_dtor and returns 0x0103E930 10 thunk_to_STL_string_dtor_0103e930 stl Wrapper that calls STL_string_dtor and returns 0x0103E940 10 thunk_to_STL_string_dtor_0103e940 stl Wrapper that calls STL_string_dtor and returns 0x0103E950 10 thunk_to_STL_string_dtor_0103e950 stl Wrapper that calls STL_string_dtor and returns 0x0103E960 10 thunk_to_STL_string_dtor_0103e960 stl Wrapper that calls STL_string_dtor and returns 0x0103E9E0 280 atexit_ATL_unregister_window_classes_0103e9e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103EB00 10 thunk_to_STL_string_dtor_0103eb00 stl Wrapper that calls STL_string_dtor and returns 0x0103EB10 10 thunk_to_STL_string_dtor_0103eb10 stl Wrapper that calls STL_string_dtor and returns 0x0103EB20 10 thunk_to_STL_string_dtor_0103eb20 stl Wrapper that calls STL_string_dtor and returns 0x0103EB30 10 thunk_to_STL_string_dtor_0103eb30 stl Wrapper that calls STL_string_dtor and returns 0x0103EB40 10 thunk_to_STL_string_dtor_0103eb40 stl Wrapper that calls STL_string_dtor and returns 0x0103EB50 10 thunk_to_STL_string_dtor_0103eb50 stl Wrapper that calls STL_string_dtor and returns 0x0103EB60 10 thunk_to_STL_string_dtor_0103eb60 stl Wrapper that calls STL_string_dtor and returns 0x0103EB70 10 thunk_to_STL_string_dtor_0103eb70 stl Wrapper that calls STL_string_dtor and returns 0x0103EB80 10 thunk_to_STL_string_dtor_0103eb80 stl Wrapper that calls STL_string_dtor and returns 0x0103EB90 10 thunk_to_STL_string_dtor_0103eb90 stl Wrapper that calls STL_string_dtor and returns 0x0103EBA0 10 thunk_to_STL_string_dtor_0103eba0 stl Wrapper that calls STL_string_dtor and returns 0x0103EBB0 10 thunk_to_STL_string_dtor_0103ebb0 stl Wrapper that calls STL_string_dtor and returns 0x0103EBC0 10 thunk_to_STL_string_dtor_0103ebc0 stl Wrapper that calls STL_string_dtor and returns 0x0103EBD0 10 thunk_to_STL_string_dtor_0103ebd0 stl Wrapper that calls STL_string_dtor and returns 0x0103EBE0 10 thunk_to_STL_string_dtor_0103ebe0 stl Wrapper that calls STL_string_dtor and returns 0x0103EBF0 10 thunk_to_STL_string_dtor_0103ebf0 stl Wrapper that calls STL_string_dtor and returns 0x0103EC00 10 thunk_to_STL_string_dtor_0103ec00 stl Wrapper that calls STL_string_dtor and returns 0x0103EC10 10 thunk_to_STL_string_dtor_0103ec10 stl Wrapper that calls STL_string_dtor and returns 0x0103EC20 10 thunk_to_STL_string_dtor_0103ec20 stl Wrapper that calls STL_string_dtor and returns 0x0103EC30 10 thunk_to_STL_string_dtor_0103ec30 stl Wrapper that calls STL_string_dtor and returns 0x0103EC40 10 thunk_to_STL_string_dtor_0103ec40 stl Wrapper that calls STL_string_dtor and returns 0x0103EC50 10 thunk_to_STL_string_dtor_0103ec50 stl Wrapper that calls STL_string_dtor and returns 0x0103EC60 10 thunk_to_STL_string_dtor_0103ec60 stl Wrapper that calls STL_string_dtor and returns 0x0103EC70 10 thunk_to_STL_string_dtor_0103ec70 stl Wrapper that calls STL_string_dtor and returns 0x0103EC80 10 thunk_to_STL_string_dtor_0103ec80 stl Wrapper that calls STL_string_dtor and returns 0x0103ED00 280 atexit_ATL_unregister_window_classes_0103ed00 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103EE20 10 thunk_to_STL_string_dtor_0103ee20 stl Wrapper function that calls STL_string_dtor and returns 0x0103EE30 10 thunk_to_STL_string_dtor_0103ee30 stl Wrapper that calls STL_string_dtor and returns 0x0103EE40 10 thunk_to_STL_string_dtor_0103ee40 stl Wrapper that calls STL_string_dtor and returns 0x0103EE50 10 thunk_to_STL_string_dtor_0103ee50 stl Wrapper that calls STL_string_dtor and returns 0x0103EE60 10 thunk_to_STL_string_dtor_0103ee60 stl Wrapper that calls STL_string_dtor and returns 0x0103EE70 10 thunk_to_STL_string_dtor_0103ee70 stl Wrapper that calls STL_string_dtor and returns 0x0103EE80 10 thunk_to_STL_string_dtor_0103ee80 stl Wrapper that calls STL_string_dtor and returns 0x0103EE90 10 thunk_to_STL_string_dtor_0103ee90 stl Wrapper that calls STL_string_dtor and returns 0x0103EEA0 10 thunk_to_STL_string_dtor_0103eea0 stl Wrapper that calls STL_string_dtor and returns 0x0103EEB0 10 thunk_to_STL_string_dtor_0103eeb0 stl Wrapper that calls STL_string_dtor and returns 0x0103EEC0 10 thunk_to_STL_string_dtor_0103eec0 stl Wrapper that calls STL_string_dtor and returns 0x0103EED0 10 thunk_to_STL_string_dtor_0103eed0 stl Wrapper function that calls STL_string_dtor and returns 0x0103EEE0 10 thunk_to_STL_string_dtor_0103eee0 stl Wrapper that calls STL_string_dtor and returns 0x0103EEF0 10 thunk_to_STL_string_dtor_0103eef0 stl Wrapper that calls STL_string_dtor and returns 0x0103EF00 10 thunk_to_STL_string_dtor_0103ef00 stl Wrapper that calls STL_string_dtor and returns 0x0103EF10 10 thunk_to_STL_string_dtor_0103ef10 stl Wrapper that calls STL_string_dtor and returns 0x0103EF20 10 thunk_to_STL_string_dtor_0103ef20 stl Wrapper that calls STL_string_dtor and returns 0x0103EF30 10 thunk_to_STL_string_dtor_0103ef30 stl Wrapper that calls STL_string_dtor and returns 0x0103EF40 10 thunk_to_STL_string_dtor_0103ef40 stl Wrapper that calls STL_string_dtor and returns 0x0103EF50 10 thunk_to_STL_string_dtor_0103ef50 stl Wrapper that calls STL_string_dtor and returns 0x0103EF60 10 thunk_to_STL_string_dtor_0103ef60 stl Wrapper that calls STL_string_dtor and returns 0x0103EF70 10 thunk_to_STL_string_dtor_0103ef70 stl Wrapper that calls STL_string_dtor and returns 0x0103EF80 10 thunk_to_STL_string_dtor_0103ef80 stl Wrapper that calls STL_string_dtor and returns 0x0103EF90 10 thunk_to_STL_string_dtor_0103ef90 stl Wrapper that calls STL_string_dtor and returns 0x0103EFA0 10 thunk_to_STL_string_dtor_0103efa0 stl Wrapper that calls STL_string_dtor and returns 0x0103F020 280 atexit_ATL_unregister_window_classes_0103f020 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103F140 10 thunk_to_STL_string_dtor_0103f140 stl Wrapper that calls STL_string_dtor and returns 0x0103F150 10 thunk_to_STL_string_dtor_0103f150 stl Wrapper that calls STL_string_dtor and returns 0x0103F160 10 thunk_to_STL_string_dtor_0103f160 stl Wrapper that calls STL_string_dtor and returns 0x0103F170 10 thunk_to_STL_string_dtor_0103f170 stl Wrapper that calls STL_string_dtor and returns 0x0103F180 10 thunk_to_STL_string_dtor_0103f180 stl Wrapper that calls STL_string_dtor and returns 0x0103F190 10 thunk_to_STL_string_dtor_0103f190 stl Wrapper that calls STL_string_dtor and returns 0x0103F1A0 10 thunk_to_STL_string_dtor_0103f1a0 stl Wrapper that calls STL_string_dtor and returns 0x0103F1B0 10 thunk_to_STL_string_dtor_0103f1b0 stl Wrapper that calls STL_string_dtor and returns 0x0103F1C0 10 thunk_to_STL_string_dtor_0103f1c0 stl Wrapper that calls STL_string_dtor and returns 0x0103F1D0 10 thunk_to_STL_string_dtor_0103f1d0 stl Wrapper that calls STL_string_dtor and returns 0x0103F1E0 10 thunk_to_STL_string_dtor_0103f1e0 stl Wrapper that calls STL_string_dtor and returns 0x0103F1F0 10 thunk_to_STL_string_dtor_0103f1f0 stl Wrapper that calls STL_string_dtor and returns 0x0103F200 10 thunk_to_STL_string_dtor_0103f200 stl Wrapper calling STL string destructor 0x0103F210 10 thunk_to_STL_string_dtor_0103f210 stl Wrapper that calls STL_string_dtor and returns 0x0103F220 10 thunk_to_STL_string_dtor_0103f220 stl Wrapper that calls STL_string_dtor and returns 0x0103F230 10 thunk_to_STL_string_dtor_0103f230 stl Wrapper that calls STL_string_dtor and returns 0x0103F240 10 thunk_to_STL_string_dtor_0103f240 stl Wrapper that calls STL_string_dtor and returns 0x0103F250 10 thunk_to_STL_string_dtor_0103f250 stl Wrapper that calls STL_string_dtor and returns 0x0103F260 10 thunk_to_STL_string_dtor_0103f260 stl Wrapper that calls STL_string_dtor and returns 0x0103F270 10 thunk_to_STL_string_dtor_0103f270 stl Wrapper that calls STL_string_dtor and returns 0x0103F280 10 thunk_to_STL_string_dtor_0103f280 stl Wrapper that calls STL_string_dtor and returns 0x0103F290 10 thunk_to_STL_string_dtor_0103f290 stl Wrapper that calls STL_string_dtor and returns 0x0103F2A0 10 thunk_to_STL_string_dtor_0103f2a0 stl Wrapper that calls STL_string_dtor and returns 0x0103F2B0 10 thunk_to_STL_string_dtor_0103f2b0 stl Wrapper that calls STL_string_dtor and returns 0x0103F2C0 10 thunk_to_STL_string_dtor_0103f2c0 stl Wrapper that calls STL_string_dtor and returns 0x0103F340 280 atexit_ATL_unregister_window_classes_0103f340 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103F4D0 280 atexit_ATL_unregister_window_classes_0103f4d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103F5F0 10 thunk_to_STL_string_dtor_0103f5f0 stl Wrapper that calls STL_string_dtor and returns 0x0103F600 10 thunk_to_STL_string_dtor_0103f600 stl Wrapper that calls STL_string_dtor and returns 0x0103F610 10 thunk_to_STL_string_dtor_0103f610 stl Wrapper that calls STL_string_dtor and returns 0x0103F620 10 thunk_to_STL_string_dtor_0103f620 stl Wrapper that calls STL_string_dtor and returns 0x0103F630 10 thunk_to_STL_string_dtor_0103f630 stl Wrapper function that calls STL_string_dtor and returns 0x0103F640 10 thunk_to_STL_string_dtor_0103f640 stl Wrapper that calls STL_string_dtor and returns 0x0103F650 10 thunk_to_STL_string_dtor_0103f650 stl Wrapper that calls STL_string_dtor and returns 0x0103F660 10 thunk_to_STL_string_dtor_0103f660 stl Wrapper that calls STL_string_dtor and returns 0x0103F670 10 thunk_to_STL_string_dtor_0103f670 stl Wrapper that calls STL_string_dtor and returns 0x0103F680 10 thunk_to_STL_string_dtor_0103f680 stl Wrapper that calls STL_string_dtor and returns 0x0103F690 10 thunk_to_STL_string_dtor_0103f690 stl Wrapper that calls STL_string_dtor and returns 0x0103F6A0 10 thunk_to_STL_string_dtor_0103f6a0 stl Wrapper that calls STL_string_dtor and returns 0x0103F6B0 10 thunk_to_STL_string_dtor_0103f6b0 stl Wrapper that calls STL_string_dtor and returns 0x0103F6C0 10 thunk_to_STL_string_dtor_0103f6c0 stl Wrapper that calls STL_string_dtor and returns 0x0103F6D0 10 thunk_to_STL_string_dtor_0103f6d0 stl Wrapper function that calls STL_string_dtor and returns 0x0103F6E0 10 thunk_to_STL_string_dtor_0103f6e0 stl Wrapper that calls STL_string_dtor and returns 0x0103F6F0 10 thunk_to_STL_string_dtor_0103f6f0 stl Wrapper that calls STL_string_dtor and returns 0x0103F700 10 thunk_to_STL_string_dtor_0103f700 stl Wrapper that calls STL_string_dtor and returns 0x0103F710 10 thunk_to_STL_string_dtor_0103f710 stl Wrapper that calls STL_string_dtor and returns 0x0103F720 10 thunk_to_STL_string_dtor_0103f720 stl Wrapper that calls STL_string_dtor and returns 0x0103F730 10 thunk_to_STL_string_dtor_0103f730 stl Wrapper that calls STL_string_dtor and returns 0x0103F740 10 thunk_to_STL_string_dtor_0103f740 stl Wrapper that calls STL_string_dtor and returns 0x0103F750 10 thunk_to_STL_string_dtor_0103f750 stl Wrapper that calls STL_string_dtor and returns 0x0103F760 10 thunk_to_STL_string_dtor_0103f760 stl Wrapper that calls STL_string_dtor and returns 0x0103F770 10 thunk_to_STL_string_dtor_0103f770 stl Wrapper that calls STL_string_dtor and returns 0x0103F7F0 280 atexit_ATL_unregister_window_classes_0103f7f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103F910 66 atexit_STL_map_destroy_0103f910 crt atexit handler: SEH-protected wrapper calling STL_map_destroy for global map cleanup. 0x0103F960 10 thunk_to_STL_string_dtor_0103f960 stl Wrapper that calls STL_string_dtor and returns 0x0103F970 10 thunk_to_STL_string_dtor_0103f970 stl Wrapper that calls STL_string_dtor and returns 0x0103F980 10 thunk_to_STL_string_dtor_0103f980 stl Wrapper function that calls STL_string_dtor and returns 0x0103F990 10 thunk_to_STL_string_dtor_0103f990 stl Wrapper that calls STL_string_dtor and returns 0x0103F9A0 10 thunk_to_STL_string_dtor_0103f9a0 stl Wrapper that calls STL_string_dtor and returns 0x0103F9B0 10 thunk_to_STL_string_dtor_0103f9b0 stl Wrapper that calls STL_string_dtor and returns 0x0103F9C0 10 thunk_to_STL_string_dtor_0103f9c0 stl Wrapper that calls STL_string_dtor and returns 0x0103F9D0 10 thunk_to_STL_string_dtor_0103f9d0 stl Wrapper that calls STL_string_dtor and returns 0x0103F9E0 10 thunk_to_STL_string_dtor_0103f9e0 stl Wrapper that calls STL_string_dtor and returns 0x0103F9F0 10 thunk_to_STL_string_dtor_0103f9f0 stl Wrapper that calls STL_string_dtor and returns 0x0103FA00 10 thunk_to_STL_string_dtor_0103fa00 stl Wrapper that calls STL_string_dtor and returns 0x0103FA10 10 thunk_to_STL_string_dtor_0103fa10 stl Wrapper that calls STL_string_dtor and returns 0x0103FA20 10 thunk_to_STL_string_dtor_0103fa20 stl Wrapper that calls STL_string_dtor and returns 0x0103FA30 10 thunk_to_STL_string_dtor_0103fa30 stl Wrapper calling STL_string_dtor destructor 0x0103FA40 10 thunk_to_STL_string_dtor_0103fa40 stl Wrapper that calls STL_string_dtor and returns 0x0103FA50 10 thunk_to_STL_string_dtor_0103fa50 stl Wrapper that calls STL_string_dtor and returns 0x0103FA60 10 thunk_to_STL_string_dtor_0103fa60 stl Wrapper that calls STL_string_dtor and returns 0x0103FA70 10 thunk_to_STL_string_dtor_0103fa70 stl Wrapper that calls STL_string_dtor and returns 0x0103FA80 10 thunk_to_STL_string_dtor_0103fa80 stl Wrapper that calls STL_string_dtor and returns 0x0103FA90 10 thunk_to_STL_string_dtor_0103fa90 stl Wrapper that calls STL_string_dtor and returns 0x0103FAA0 10 thunk_to_STL_string_dtor_0103faa0 stl Wrapper that calls STL_string_dtor and returns 0x0103FAB0 10 thunk_to_STL_string_dtor_0103fab0 stl Wrapper that calls STL_string_dtor and returns 0x0103FAC0 10 thunk_to_STL_string_dtor_0103fac0 stl Wrapper that calls STL_string_dtor and returns 0x0103FAD0 10 thunk_to_STL_string_dtor_0103fad0 stl Wrapper that calls STL_string_dtor and returns 0x0103FAE0 10 thunk_to_STL_string_dtor_0103fae0 stl Wrapper that calls STL_string_dtor and returns 0x0103FB60 280 atexit_ATL_unregister_window_classes_0103fb60 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103FC80 10 thunk_to_STL_string_dtor_0103fc80 stl Wrapper that calls STL_string_dtor and returns 0x0103FC90 10 thunk_to_STL_string_dtor_0103fc90 stl Wrapper that calls STL_string_dtor and returns 0x0103FCA0 10 thunk_to_STL_string_dtor_0103fca0 stl Wrapper that calls STL_string_dtor and returns 0x0103FCB0 10 thunk_to_STL_string_dtor_0103fcb0 stl Wrapper that calls STL_string_dtor and returns 0x0103FCC0 10 thunk_to_STL_string_dtor_0103fcc0 stl Wrapper that calls STL_string_dtor and returns 0x0103FCD0 10 thunk_to_STL_string_dtor_0103fcd0 stl Wrapper that calls STL_string_dtor and returns 0x0103FCE0 10 thunk_to_STL_string_dtor_0103fce0 stl Wrapper that calls STL_string_dtor and returns 0x0103FCF0 10 thunk_to_STL_string_dtor_0103fcf0 stl Wrapper that calls STL_string_dtor and returns 0x0103FD00 10 thunk_to_STL_string_dtor_0103fd00 stl Wrapper that calls STL_string_dtor and returns 0x0103FD10 10 thunk_to_STL_string_dtor_0103fd10 stl Wrapper that calls STL_string_dtor and returns 0x0103FD20 10 thunk_to_STL_string_dtor_0103fd20 stl Wrapper that calls STL_string_dtor and returns 0x0103FD30 10 thunk_to_STL_string_dtor_0103fd30 stl Wrapper that calls STL_string_dtor and returns 0x0103FD40 10 thunk_to_STL_string_dtor_0103fd40 stl Wrapper that calls STL_string_dtor and returns 0x0103FD50 10 thunk_to_STL_string_dtor_0103fd50 stl Wrapper that calls STL_string_dtor and returns 0x0103FD60 10 thunk_to_STL_string_dtor_0103fd60 stl Wrapper that calls STL_string_dtor and returns 0x0103FD70 10 thunk_to_STL_string_dtor_0103fd70 stl Wrapper that calls STL_string_dtor and returns 0x0103FD80 10 thunk_to_STL_string_dtor_0103fd80 stl Wrapper that calls STL_string_dtor and returns 0x0103FD90 10 thunk_to_STL_string_dtor_0103fd90 stl Wrapper that calls STL_string_dtor and returns 0x0103FDA0 10 thunk_to_STL_string_dtor_0103fda0 stl Wrapper that calls STL_string_dtor and returns 0x0103FDB0 10 thunk_to_STL_string_dtor_0103fdb0 stl Wrapper that calls STL_string_dtor and returns 0x0103FDC0 10 thunk_to_STL_string_dtor_0103fdc0 stl Wrapper that calls STL_string_dtor and returns 0x0103FDD0 10 thunk_to_STL_string_dtor_0103fdd0 stl Wrapper that calls STL_string_dtor and returns 0x0103FDE0 10 thunk_to_STL_string_dtor_0103fde0 stl Wrapper that calls STL_string_dtor and returns 0x0103FDF0 10 thunk_to_STL_string_dtor_0103fdf0 stl Wrapper that calls STL_string_dtor and returns 0x0103FE00 10 thunk_to_STL_string_dtor_0103fe00 stl Wrapper that calls STL_string_dtor and returns 0x0103FE80 280 atexit_ATL_unregister_window_classes_0103fe80 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0103FFA0 10 thunk_to_STL_string_dtor_0103ffa0 stl Wrapper that calls STL_string_dtor and returns 0x0103FFB0 10 thunk_to_STL_string_dtor_0103ffb0 stl Wrapper that calls STL_string_dtor and returns 0x0103FFC0 10 thunk_to_STL_string_dtor_0103ffc0 stl Wrapper that calls STL_string_dtor and returns 0x0103FFD0 10 thunk_to_STL_string_dtor_0103ffd0 stl Wrapper that calls STL_string_dtor and returns 0x0103FFE0 10 thunk_to_STL_string_dtor_0103ffe0 stl Wrapper that calls STL_string_dtor and returns 0x0103FFF0 10 thunk_to_STL_string_dtor_0103fff0 stl Wrapper that calls STL_string_dtor and returns 0x01040000 10 thunk_to_STL_string_dtor_01040000 stl Wrapper that calls STL_string_dtor and returns 0x01040010 10 thunk_to_STL_string_dtor_01040010 stl Wrapper that calls STL_string_dtor and returns 0x01040020 10 thunk_to_STL_string_dtor_01040020 stl Wrapper that calls STL_string_dtor and returns 0x01040030 10 thunk_to_STL_string_dtor_01040030 stl Wrapper that calls STL_string_dtor and returns 0x01040040 10 thunk_to_STL_string_dtor_01040040 stl Wrapper that calls STL_string_dtor and returns 0x01040050 10 thunk_to_STL_string_dtor_01040050 stl Wrapper that calls STL_string_dtor and returns 0x01040060 10 thunk_to_STL_string_dtor_01040060 stl Wrapper that calls STL_string_dtor and returns 0x01040070 10 thunk_to_STL_string_dtor_01040070 stl Wrapper that calls STL_string_dtor and returns 0x01040080 10 thunk_to_STL_string_dtor_01040080 stl Wrapper that calls STL_string_dtor and returns 0x01040090 10 thunk_to_STL_string_dtor_01040090 stl Wrapper that calls STL_string_dtor and returns 0x010400A0 10 thunk_to_STL_string_dtor_010400a0 stl Wrapper that calls STL_string_dtor and returns 0x010400B0 10 thunk_to_STL_string_dtor_010400b0 stl Wrapper that calls STL_string_dtor and returns 0x010400C0 10 thunk_to_STL_string_dtor_010400c0 stl Wrapper that calls STL_string_dtor and returns 0x010400D0 10 thunk_to_STL_string_dtor_010400d0 stl Wrapper that calls STL_string_dtor and returns 0x010400E0 10 thunk_to_STL_string_dtor_010400e0 stl Wrapper that calls STL_string_dtor and returns 0x010400F0 10 thunk_to_STL_string_dtor_010400f0 stl Wrapper that calls STL_string_dtor and returns 0x01040100 10 thunk_to_STL_string_dtor_01040100 stl Wrapper that calls STL_string_dtor and returns 0x01040110 10 thunk_to_STL_string_dtor_01040110 stl Wrapper that calls STL_string_dtor and returns 0x01040120 10 thunk_to_STL_string_dtor_01040120 stl Wrapper that calls STL_string_dtor and returns 0x010401A0 280 atexit_ATL_unregister_window_classes_010401a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010402C0 10 thunk_to_STL_string_dtor_010402c0 stl Wrapper that calls STL_string_dtor and returns 0x010402D0 10 thunk_to_STL_string_dtor_010402d0 stl Wrapper that calls STL_string_dtor and returns 0x010402E0 10 thunk_to_STL_string_dtor_010402e0 stl Wrapper that calls STL_string_dtor and returns 0x010402F0 10 thunk_to_STL_string_dtor_010402f0 stl Wrapper that calls STL_string_dtor and returns 0x01040300 10 thunk_to_STL_string_dtor_01040300 stl Wrapper function that calls STL_string_dtor and returns 0x01040310 10 thunk_to_STL_string_dtor_01040310 stl Wrapper that calls STL_string_dtor and returns 0x01040320 10 thunk_to_STL_string_dtor_01040320 stl Wrapper that calls STL_string_dtor and returns 0x01040330 10 thunk_to_STL_string_dtor_01040330 stl Wrapper that calls STL_string_dtor and returns 0x01040340 10 thunk_to_STL_string_dtor_01040340 stl Wrapper that calls STL_string_dtor and returns 0x01040350 10 thunk_to_STL_string_dtor_01040350 stl Wrapper that calls STL_string_dtor and returns 0x01040360 10 thunk_to_STL_string_dtor_01040360 stl Wrapper that calls STL_string_dtor and returns 0x01040370 10 thunk_to_STL_string_dtor_01040370 stl Wrapper that calls STL_string_dtor and returns 0x01040380 10 thunk_to_STL_string_dtor_01040380 stl Wrapper calling STL_string_dtor destructor 0x01040390 10 thunk_to_STL_string_dtor_01040390 stl Wrapper that calls STL_string_dtor and returns 0x010403A0 10 thunk_to_STL_string_dtor_010403a0 stl Wrapper that calls STL_string_dtor and returns 0x010403B0 10 thunk_to_STL_string_dtor_010403b0 stl Wrapper that calls STL_string_dtor and returns 0x010403C0 10 thunk_to_STL_string_dtor_010403c0 stl Wrapper that calls STL_string_dtor and returns 0x010403D0 10 thunk_to_STL_string_dtor_010403d0 stl Wrapper that calls STL_string_dtor and returns 0x010403E0 10 thunk_to_STL_string_dtor_010403e0 stl Wrapper that calls STL_string_dtor and returns 0x010403F0 10 thunk_to_STL_string_dtor_010403f0 stl Wrapper that calls STL_string_dtor and returns 0x01040400 10 thunk_to_STL_string_dtor_01040400 stl Wrapper that calls STL_string_dtor and returns 0x01040410 10 thunk_to_STL_string_dtor_01040410 stl Wrapper that calls STL_string_dtor and returns 0x01040420 10 thunk_to_STL_string_dtor_01040420 stl Wrapper that calls STL_string_dtor and returns 0x01040430 10 thunk_to_STL_string_dtor_01040430 stl Wrapper that calls STL_string_dtor and returns 0x01040440 10 thunk_to_STL_string_dtor_01040440 stl Wrapper that calls STL_string_dtor and returns 0x010404C0 280 atexit_ATL_unregister_window_classes_010404c0 crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section at DAT_013871e0, resets global state. SEH-protected with stack cookie check. Duplicate of atexit_unregister_window_classes_and_cleanup at 010407e0. 0x010405E0 10 thunk_to_STL_string_dtor_010405e0 stl Wrapper that calls STL_string_dtor and returns 0x010405F0 10 thunk_to_STL_string_dtor_010405f0 stl Wrapper that calls STL_string_dtor and returns 0x01040600 10 thunk_to_STL_string_dtor_01040600 stl Wrapper that calls STL_string_dtor and returns 0x01040610 10 thunk_to_STL_string_dtor_01040610 stl Wrapper function that calls STL_string_dtor and returns 0x01040620 10 thunk_to_STL_string_dtor_01040620 stl Wrapper that calls STL_string_dtor and returns 0x01040630 10 thunk_to_STL_string_dtor_01040630 stl Wrapper that calls STL_string_dtor and returns 0x01040640 10 thunk_to_STL_string_dtor_01040640 stl Wrapper that calls STL_string_dtor and returns 0x01040650 10 thunk_to_STL_string_dtor_01040650 stl Wrapper that calls STL_string_dtor and returns 0x01040660 10 thunk_to_STL_string_dtor_01040660 stl Wrapper that calls STL_string_dtor and returns 0x01040670 10 thunk_to_STL_string_dtor_01040670 stl Wrapper that calls STL_string_dtor and returns 0x01040680 10 thunk_to_STL_string_dtor_01040680 stl Wrapper that calls STL_string_dtor and returns 0x01040690 10 thunk_to_STL_string_dtor_01040690 stl Wrapper that calls STL_string_dtor and returns 0x010406A0 10 thunk_to_STL_string_dtor_010406a0 stl Wrapper that calls STL_string_dtor and returns 0x010406B0 10 thunk_to_STL_string_dtor_010406b0 stl Wrapper that calls STL_string_dtor and returns 0x010406C0 10 thunk_to_STL_string_dtor_010406c0 stl Wrapper that calls STL_string_dtor and returns 0x010406D0 10 thunk_to_STL_string_dtor_010406d0 stl Wrapper that calls STL_string_dtor and returns 0x010406E0 10 thunk_to_STL_string_dtor_010406e0 stl Wrapper that calls STL_string_dtor and returns 0x010406F0 10 thunk_to_STL_string_dtor_010406f0 stl Wrapper that calls STL_string_dtor and returns 0x01040700 10 thunk_to_STL_string_dtor_01040700 stl Wrapper that calls STL_string_dtor and returns 0x01040710 10 thunk_to_STL_string_dtor_01040710 stl Wrapper that calls STL_string_dtor and returns 0x01040720 10 thunk_to_STL_string_dtor_01040720 stl Wrapper that calls STL_string_dtor and returns 0x01040730 10 thunk_to_STL_string_dtor_01040730 stl Wrapper that calls STL_string_dtor and returns 0x01040740 10 thunk_to_STL_string_dtor_01040740 stl Wrapper that calls STL_string_dtor and returns 0x01040750 10 thunk_to_STL_string_dtor_01040750 stl Wrapper that calls STL_string_dtor and returns 0x01040760 10 thunk_to_STL_string_dtor_01040760 stl Wrapper that calls STL_string_dtor and returns 0x010407E0 280 atexit_unregister_window_classes_and_cleanup crt atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section at DAT_013871e0, resets global state. SEH-protected with stack cookie check. 0x01040900 10 thunk_to_STL_string_dtor_01040900 stl Wrapper that calls STL_string_dtor and returns 0x01040910 10 thunk_to_STL_string_dtor_01040910 stl Wrapper that calls STL_string_dtor and returns 0x01040920 10 thunk_to_STL_string_dtor_01040920 stl Wrapper calling STL string destructor 0x01040930 10 thunk_to_STL_string_dtor_01040930 stl Wrapper that calls STL_string_dtor and returns 0x01040940 10 thunk_to_STL_string_dtor_01040940 stl Wrapper that calls STL_string_dtor and returns 0x01040950 10 thunk_to_STL_string_dtor_01040950 stl Wrapper that calls STL_string_dtor and returns 0x01040960 10 thunk_to_STL_string_dtor_01040960 stl Wrapper function that calls STL_string_dtor and returns 0x01040970 10 thunk_to_STL_string_dtor_01040970 stl Wrapper that calls STL_string_dtor and returns 0x01040980 10 thunk_to_STL_string_dtor_01040980 stl Wrapper that calls STL_string_dtor and returns 0x01040990 10 thunk_to_STL_string_dtor_01040990 stl Wrapper that calls STL_string_dtor and returns 0x010409A0 10 thunk_to_STL_string_dtor_010409a0 stl Wrapper that calls STL_string_dtor and returns 0x010409B0 10 thunk_to_STL_string_dtor_010409b0 stl Wrapper that calls STL_string_dtor and returns 0x010409C0 10 thunk_to_STL_string_dtor_010409c0 stl Wrapper that calls STL_string_dtor and returns 0x010409D0 10 thunk_to_STL_string_dtor_010409d0 stl Wrapper that calls STL_string_dtor and returns 0x010409E0 10 thunk_to_STL_string_dtor_010409e0 stl Wrapper that calls STL_string_dtor and returns 0x010409F0 10 thunk_to_STL_string_dtor_010409f0 stl Wrapper that calls STL_string_dtor and returns 0x01040A00 10 thunk_to_STL_string_dtor_01040a00 stl Wrapper that calls STL_string_dtor and returns 0x01040A10 10 thunk_to_STL_string_dtor_01040a10 stl Wrapper that calls STL_string_dtor and returns 0x01040A20 10 thunk_to_STL_string_dtor_01040a20 stl Wrapper that calls STL_string_dtor and returns 0x01040A30 10 thunk_to_STL_string_dtor_01040a30 stl Wrapper that calls STL_string_dtor and returns 0x01040A40 10 thunk_to_STL_string_dtor_01040a40 stl Wrapper that calls STL_string_dtor and returns 0x01040A50 10 thunk_to_STL_string_dtor_01040a50 stl Wrapper that calls STL_string_dtor and returns 0x01040A60 10 thunk_to_STL_string_dtor_01040a60 stl Wrapper that calls STL_string_dtor and returns 0x01040A70 10 thunk_to_STL_string_dtor_01040a70 stl Wrapper that calls STL_string_dtor and returns 0x01040A80 10 thunk_to_STL_string_dtor_01040a80 stl Wrapper that calls STL_string_dtor and returns 0x01040B00 280 atexit_unregister_window_classes_and_cleanup_01040b00 crt atexit cleanup: unregisters window class atoms, frees atom array, deletes critical section, resets global state. Identical pattern to atexit_unregister_window_classes_and_cleanup. 0x01040C20 10 thunk_to_STL_string_dtor_01040c20 stl Wrapper that calls STL_string_dtor and returns 0x01040C30 10 thunk_to_STL_string_dtor_01040c30 stl Wrapper that calls STL_string_dtor and returns 0x01040C40 10 thunk_to_STL_string_dtor_01040c40 stl Wrapper that calls STL_string_dtor and returns 0x01040C50 10 thunk_to_STL_string_dtor_01040c50 stl Wrapper function that calls STL_string_dtor and returns 0x01040C60 10 thunk_to_STL_string_dtor_01040c60 stl Wrapper that calls STL_string_dtor and returns 0x01040C70 10 thunk_to_STL_string_dtor_01040c70 stl Wrapper that calls STL_string_dtor and returns 0x01040C80 10 thunk_to_STL_string_dtor_01040c80 stl Wrapper that calls STL_string_dtor and returns 0x01040C90 10 thunk_to_STL_string_dtor_01040c90 stl Wrapper that calls STL_string_dtor and returns 0x01040CA0 10 thunk_to_STL_string_dtor_01040ca0 stl Wrapper that calls STL_string_dtor and returns 0x01040CB0 10 thunk_to_STL_string_dtor_01040cb0 stl Wrapper that calls STL_string_dtor and returns 0x01040CC0 10 thunk_to_STL_string_dtor_01040cc0 stl Wrapper that calls STL_string_dtor and returns 0x01040CD0 10 thunk_to_STL_string_dtor_01040cd0 stl Wrapper that calls STL_string_dtor and returns 0x01040CE0 10 thunk_to_STL_string_dtor_01040ce0 stl Wrapper that calls STL_string_dtor and returns 0x01040CF0 10 thunk_to_STL_string_dtor_01040cf0 stl Wrapper that calls STL_string_dtor and returns 0x01040D00 10 thunk_to_STL_string_dtor_01040d00 stl Wrapper that calls STL_string_dtor and returns 0x01040D10 10 thunk_to_STL_string_dtor_01040d10 stl Wrapper that calls STL_string_dtor and returns 0x01040D20 10 thunk_to_STL_string_dtor_01040d20 stl Wrapper that calls STL_string_dtor and returns 0x01040D30 10 thunk_to_STL_string_dtor_01040d30 stl Wrapper that calls STL_string_dtor and returns 0x01040D40 10 thunk_to_STL_string_dtor_01040d40 stl Wrapper that calls STL_string_dtor and returns 0x01040D50 10 thunk_to_STL_string_dtor_01040d50 stl Wrapper that calls STL_string_dtor and returns 0x01040D60 10 thunk_to_STL_string_dtor_01040d60 stl Wrapper that calls STL_string_dtor and returns 0x01040D70 10 thunk_to_STL_string_dtor_01040d70 stl Wrapper that calls STL_string_dtor and returns 0x01040D80 10 thunk_to_STL_string_dtor_01040d80 stl Wrapper that calls STL_string_dtor and returns 0x01040D90 10 thunk_to_STL_string_dtor_01040d90 stl Wrapper that calls STL_string_dtor and returns 0x01040DA0 10 thunk_to_STL_string_dtor_01040da0 stl Wrapper that calls STL_string_dtor and returns 0x01040E20 280 atexit_unregister_window_classes_and_cleanup_01040e20 crt atexit cleanup: unregisters window class atoms, frees atom array, deletes critical section, resets global state. Duplicate of atexit_unregister_window_classes_and_cleanup pattern. 0x01040FB0 280 atexit_unregister_window_classes_and_cleanup_01040fb0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010410D0 10 thunk_to_STL_string_dtor_010410d0 stl Wrapper that calls STL_string_dtor and returns 0x010410E0 10 thunk_to_STL_string_dtor_010410e0 stl Wrapper that calls STL_string_dtor and returns 0x010410F0 10 thunk_to_STL_string_dtor_010410f0 stl Wrapper that calls STL_string_dtor and returns 0x01041100 10 thunk_to_STL_string_dtor_01041100 stl Wrapper that calls STL_string_dtor and returns 0x01041110 10 thunk_to_STL_string_dtor_01041110 stl Wrapper that calls STL_string_dtor and returns 0x01041120 10 thunk_to_STL_string_dtor_01041120 stl Wrapper that calls STL_string_dtor and returns 0x01041130 10 thunk_to_STL_string_dtor_01041130 stl Wrapper that calls STL_string_dtor and returns 0x01041140 10 thunk_to_STL_string_dtor_01041140 stl Wrapper that calls STL_string_dtor and returns 0x01041150 10 thunk_to_STL_string_dtor_01041150 stl Wrapper that calls STL_string_dtor and returns 0x01041160 10 thunk_to_STL_string_dtor_01041160 stl Wrapper that calls STL_string_dtor and returns 0x01041170 10 thunk_to_STL_string_dtor_01041170 stl Wrapper that calls STL_string_dtor destructor 0x01041180 10 thunk_to_STL_string_dtor_01041180 stl Wrapper that calls STL_string_dtor and returns 0x01041190 10 thunk_to_STL_string_dtor_01041190 stl Wrapper that calls STL string destructor 0x010411A0 10 thunk_to_STL_string_dtor_010411a0 stl Wrapper that calls STL_string_dtor and returns 0x010411B0 10 thunk_to_STL_string_dtor_010411b0 stl Wrapper that calls STL_string_dtor and returns 0x010411C0 10 thunk_to_STL_string_dtor_010411c0 stl Wrapper that calls STL_string_dtor and returns 0x010411D0 10 thunk_to_STL_string_dtor_010411d0 stl Wrapper that calls STL_string_dtor and returns 0x010411E0 10 thunk_to_STL_string_dtor_010411e0 stl Wrapper that calls STL_string_dtor and returns 0x010411F0 10 thunk_to_STL_string_dtor_010411f0 stl Wrapper that calls STL_string_dtor and returns 0x01041200 10 thunk_to_STL_string_dtor_01041200 stl Wrapper that calls STL_string_dtor and returns 0x01041210 10 thunk_to_STL_string_dtor_01041210 stl Wrapper that calls STL_string_dtor and returns 0x01041220 10 thunk_to_STL_string_dtor_01041220 stl Wrapper that calls STL_string_dtor and returns 0x01041230 10 thunk_to_STL_string_dtor_01041230 stl Wrapper that calls STL_string_dtor and returns 0x01041240 10 thunk_to_STL_string_dtor_01041240 stl Wrapper that calls STL_string_dtor and returns 0x01041250 10 thunk_to_STL_string_dtor_01041250 stl Wrapper that calls STL_string_dtor and returns 0x010412D0 280 atexit_unregister_window_classes_and_cleanup_010412d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010413F0 10 thunk_to_STL_string_dtor_010413f0 stl Wrapper that calls STL_string_dtor and returns 0x01041400 10 thunk_to_STL_string_dtor_01041400 stl Wrapper that calls STL_string_dtor and returns 0x01041410 10 thunk_to_STL_string_dtor_01041410 stl Wrapper that calls STL_string_dtor and returns 0x01041420 10 thunk_to_STL_string_dtor_01041420 stl Wrapper that calls STL_string_dtor and returns 0x01041430 10 thunk_to_STL_string_dtor_01041430 stl Wrapper that calls STL_string_dtor and returns 0x01041440 10 thunk_to_STL_string_dtor_01041440 stl Wrapper that calls STL_string_dtor and returns 0x01041450 10 thunk_to_STL_string_dtor_01041450 stl Wrapper that calls STL_string_dtor and returns 0x01041460 10 thunk_to_STL_string_dtor_01041460 stl Wrapper that calls STL_string_dtor and returns 0x01041470 10 thunk_to_STL_string_dtor_01041470 stl Wrapper that calls STL_string_dtor and returns 0x01041480 10 thunk_to_STL_string_dtor_01041480 stl Wrapper that calls STL_string_dtor and returns 0x01041490 10 thunk_to_STL_string_dtor_01041490 stl Wrapper that calls STL_string_dtor and returns 0x010414A0 10 thunk_to_STL_string_dtor_010414a0 stl Wrapper that calls STL_string_dtor and returns 0x010414B0 10 thunk_to_STL_string_dtor_010414b0 stl Wrapper that calls STL_string_dtor and returns 0x010414C0 10 thunk_to_STL_string_dtor_010414c0 stl Wrapper that calls STL_string_dtor and returns 0x010414D0 10 thunk_to_STL_string_dtor_010414d0 stl Wrapper that calls STL_string_dtor and returns 0x010414E0 10 thunk_to_STL_string_dtor_010414e0 stl Wrapper that calls STL_string_dtor and returns 0x010414F0 10 thunk_to_STL_string_dtor_010414f0 stl Wrapper that calls STL_string_dtor and returns 0x01041500 10 thunk_to_STL_string_dtor_01041500 stl Wrapper that calls STL_string_dtor and returns 0x01041510 10 thunk_to_STL_string_dtor_01041510 stl Wrapper that calls STL_string_dtor and returns 0x01041520 10 thunk_to_STL_string_dtor_01041520 stl Wrapper that calls STL_string_dtor and returns 0x01041530 10 thunk_to_STL_string_dtor_01041530 stl Wrapper that calls STL_string_dtor and returns 0x01041540 10 thunk_to_STL_string_dtor_01041540 stl Wrapper that calls STL_string_dtor and returns 0x01041550 10 thunk_to_STL_string_dtor_01041550 stl Wrapper that calls STL_string_dtor and returns 0x01041560 10 thunk_to_STL_string_dtor_01041560 stl Wrapper that calls STL_string_dtor and returns 0x01041570 10 thunk_to_STL_string_dtor_01041570 stl Wrapper that calls STL_string_dtor and returns 0x010415F0 280 atexit_unregister_window_classes_and_cleanup_010415f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01041710 10 thunk_to_STL_string_dtor_01041710 stl Wrapper that calls STL_string_dtor and returns 0x01041720 10 thunk_to_STL_string_dtor_01041720 stl Wrapper that calls STL_string_dtor and returns 0x01041730 10 thunk_to_STL_string_dtor_01041730 stl Wrapper that calls STL_string_dtor and returns 0x01041740 10 thunk_to_STL_string_dtor_01041740 stl Wrapper that calls STL_string_dtor and returns 0x01041750 10 thunk_to_STL_string_dtor_01041750 stl Wrapper that calls STL_string_dtor and returns 0x01041760 10 thunk_to_STL_string_dtor_01041760 stl Wrapper that calls STL_string_dtor and returns 0x01041770 10 thunk_to_STL_string_dtor_01041770 stl Wrapper that calls STL_string_dtor and returns 0x01041780 10 thunk_to_STL_string_dtor_01041780 stl Wrapper that calls STL_string_dtor and returns 0x01041790 10 thunk_to_STL_string_dtor_01041790 stl Wrapper that calls STL_string_dtor and returns 0x010417A0 10 thunk_to_STL_string_dtor_010417a0 stl Wrapper that calls STL_string_dtor and returns 0x010417B0 10 thunk_to_STL_string_dtor_010417b0 stl Wrapper that calls STL_string_dtor and returns 0x010417C0 10 thunk_to_STL_string_dtor_010417c0 stl Wrapper that calls STL_string_dtor and returns 0x010417D0 10 thunk_to_STL_string_dtor_010417d0 stl Wrapper that calls STL_string_dtor and returns 0x010417E0 10 thunk_to_STL_string_dtor_010417e0 stl Wrapper that calls STL_string_dtor and returns 0x010417F0 10 thunk_to_STL_string_dtor_010417f0 stl Wrapper that calls STL_string_dtor and returns 0x01041800 10 thunk_to_STL_string_dtor_01041800 stl Wrapper that calls STL_string_dtor and returns 0x01041810 10 thunk_to_STL_string_dtor_01041810 stl Wrapper that calls STL_string_dtor and returns 0x01041820 10 thunk_to_STL_string_dtor_01041820 stl Wrapper that calls STL_string_dtor and returns 0x01041830 10 thunk_to_STL_string_dtor_01041830 stl Wrapper that calls STL_string_dtor and returns 0x01041840 10 thunk_to_STL_string_dtor_01041840 stl Wrapper that calls STL_string_dtor and returns 0x01041850 10 thunk_to_STL_string_dtor_01041850 stl Wrapper that calls STL_string_dtor and returns 0x01041860 10 thunk_to_STL_string_dtor_01041860 stl Wrapper that calls STL_string_dtor and returns 0x01041870 10 thunk_to_STL_string_dtor_01041870 stl Wrapper that calls STL_string_dtor destructor 0x01041880 10 thunk_to_STL_string_dtor_01041880 stl Wrapper that calls STL_string_dtor and returns 0x01041890 10 thunk_to_STL_string_dtor_01041890 stl Wrapper that calls STL_string_dtor and returns 0x01041910 280 atexit_unregister_window_classes_and_cleanup_01041910 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01041A30 66 atexit_CRenderPipeline_destroy_wrapper_01041a30 crt SEH-protected atexit wrapper that calls CRenderPipeline__destroy_linked_list_and_vector to clean up render pipeline resources. 0x01041A80 10 thunk_to_STL_string_dtor_01041a80 stl Wrapper that calls STL_string_dtor and returns 0x01041A90 10 thunk_to_STL_string_dtor_01041a90 stl Wrapper that calls STL_string_dtor and returns 0x01041AA0 10 thunk_to_STL_string_dtor_01041aa0 stl Wrapper that calls STL_string_dtor and returns 0x01041AB0 10 thunk_to_STL_string_dtor_01041ab0 stl Wrapper that calls STL_string_dtor and returns 0x01041AC0 10 thunk_to_STL_string_dtor_01041ac0 stl Wrapper that calls STL_string_dtor and returns 0x01041AD0 10 thunk_to_STL_string_dtor_01041ad0 stl Wrapper that calls STL_string_dtor and returns 0x01041AE0 10 thunk_to_STL_string_dtor_01041ae0 stl Wrapper that calls STL_string_dtor and returns 0x01041AF0 10 thunk_to_STL_string_dtor_01041af0 stl Wrapper that calls STL_string_dtor and returns 0x01041B00 10 thunk_to_STL_string_dtor_01041b00 stl Wrapper that calls STL_string_dtor and returns 0x01041B10 10 thunk_to_STL_string_dtor_01041b10 stl Wrapper that calls STL_string_dtor and returns 0x01041B20 10 thunk_to_STL_string_dtor_01041b20 stl Wrapper that calls STL_string_dtor and returns 0x01041B30 10 thunk_to_STL_string_dtor_01041b30 stl Wrapper that calls STL_string_dtor and returns 0x01041B40 10 thunk_to_STL_string_dtor_01041b40 stl Wrapper that calls STL_string_dtor and returns 0x01041B50 10 thunk_to_STL_string_dtor_01041b50 stl Wrapper that calls STL_string_dtor and returns 0x01041B60 10 thunk_to_STL_string_dtor_01041b60 stl Wrapper that calls STL_string_dtor and returns 0x01041B70 10 thunk_to_STL_string_dtor_01041b70 stl Wrapper that calls STL_string_dtor and returns 0x01041B80 10 thunk_to_STL_string_dtor_01041b80 stl Wrapper that calls STL_string_dtor and returns 0x01041B90 10 thunk_to_STL_string_dtor_01041b90 stl Wrapper that calls STL_string_dtor and returns 0x01041BA0 10 thunk_to_STL_string_dtor_01041ba0 stl Wrapper that calls STL_string_dtor and returns 0x01041BB0 10 thunk_to_STL_string_dtor_01041bb0 stl Wrapper that calls STL_string_dtor and returns 0x01041BC0 10 thunk_to_STL_string_dtor_01041bc0 stl Wrapper that calls STL_string_dtor and returns 0x01041BD0 10 thunk_to_STL_string_dtor_01041bd0 stl Wrapper that calls STL_string_dtor and returns 0x01041BE0 10 thunk_to_STL_string_dtor_01041be0 stl Wrapper that calls STL_string_dtor and returns 0x01041BF0 10 thunk_to_STL_string_dtor_01041bf0 stl Wrapper that calls STL_string_dtor and returns 0x01041C00 10 thunk_to_STL_string_dtor_01041c00 stl Wrapper that calls STL_string_dtor and returns 0x01041C80 280 atexit_unregister_window_classes_and_cleanup_01041c80 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01041DA0 10 thunk_to_STL_string_dtor_01041da0 stl Wrapper that calls STL_string_dtor and returns 0x01041DB0 10 thunk_to_STL_string_dtor_01041db0 stl Wrapper that calls STL_string_dtor and returns 0x01041DC0 10 thunk_to_STL_string_dtor_01041dc0 stl Wrapper that calls STL_string_dtor and returns 0x01041DD0 10 thunk_to_STL_string_dtor_01041dd0 stl Wrapper that calls STL_string_dtor and returns 0x01041DE0 10 thunk_to_STL_string_dtor_01041de0 stl Wrapper that calls STL_string_dtor and returns 0x01041DF0 10 thunk_to_STL_string_dtor_01041df0 stl Wrapper that calls STL_string_dtor and returns 0x01041E00 10 thunk_to_STL_string_dtor_01041e00 stl Wrapper that calls STL_string_dtor and returns 0x01041E10 10 thunk_to_STL_string_dtor_01041e10 stl Wrapper that calls STL_string_dtor and returns 0x01041E20 10 thunk_to_STL_string_dtor_01041e20 stl Wrapper that calls STL_string_dtor and returns 0x01041E30 10 thunk_to_STL_string_dtor_01041e30 stl Wrapper that calls STL string destructor and returns 0x01041E40 10 thunk_to_STL_string_dtor_01041e40 stl Wrapper that calls STL_string_dtor and returns 0x01041E50 10 thunk_to_STL_string_dtor_01041e50 stl Wrapper that calls STL_string_dtor and returns 0x01041E60 10 thunk_to_STL_string_dtor_01041e60 stl Wrapper that calls STL_string_dtor and returns 0x01041E70 10 thunk_to_STL_string_dtor_01041e70 stl Wrapper that calls STL_string_dtor and returns 0x01041E80 10 thunk_to_STL_string_dtor_01041e80 stl Wrapper that calls STL_string_dtor and returns 0x01041E90 10 thunk_to_STL_string_dtor_01041e90 stl Wrapper that calls STL_string_dtor and returns 0x01041EA0 10 thunk_to_STL_string_dtor_01041ea0 stl Wrapper that calls STL_string_dtor and returns 0x01041EB0 10 thunk_to_STL_string_dtor_01041eb0 stl Wrapper that calls STL_string_dtor and returns 0x01041EC0 10 thunk_to_STL_string_dtor_01041ec0 stl Wrapper that calls STL_string_dtor and returns 0x01041ED0 10 thunk_to_STL_string_dtor_01041ed0 stl Wrapper that calls STL_string_dtor and returns 0x01041EE0 10 thunk_to_STL_string_dtor_01041ee0 stl Wrapper that calls STL_string_dtor and returns 0x01041EF0 10 thunk_to_STL_string_dtor_01041ef0 stl Wrapper that calls STL_string_dtor and returns 0x01041F00 10 thunk_to_STL_string_dtor_01041f00 stl Wrapper that calls STL_string_dtor and returns 0x01041F10 10 thunk_to_STL_string_dtor_01041f10 stl Wrapper function that calls STL_string_dtor and returns 0x01041F20 10 thunk_to_STL_string_dtor_01041f20 stl Wrapper function that calls STL_string_dtor and returns 0x01041FA0 280 atexit_unregister_window_classes_and_cleanup_01041fa0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010420C0 10 thunk_to_STL_string_dtor_010420c0 stl Wrapper that calls STL_string_dtor and returns 0x010420D0 10 thunk_to_STL_string_dtor_010420d0 stl Wrapper that calls STL_string_dtor and returns 0x010420E0 10 thunk_to_STL_string_dtor_010420e0 stl Wrapper that calls STL_string_dtor and returns 0x010420F0 10 thunk_to_STL_string_dtor_010420f0 stl Wrapper that calls STL_string_dtor and returns 0x01042100 10 thunk_to_STL_string_dtor_01042100 stl Wrapper that calls STL_string_dtor and returns 0x01042110 10 thunk_to_STL_string_dtor_01042110 stl Wrapper that calls STL_string_dtor and returns 0x01042120 10 thunk_to_STL_string_dtor_01042120 stl Wrapper that calls STL_string_dtor and returns 0x01042130 10 thunk_to_STL_string_dtor_01042130 stl Wrapper that calls STL_string_dtor and returns 0x01042140 10 thunk_to_STL_string_dtor_01042140 stl Wrapper that calls STL_string_dtor and returns 0x01042150 10 thunk_to_STL_string_dtor_01042150 stl Wrapper that calls STL_string_dtor and returns 0x01042160 10 thunk_to_STL_string_dtor_01042160 stl Wrapper that calls STL_string_dtor and returns 0x01042170 10 thunk_to_STL_string_dtor_01042170 stl Wrapper that calls STL_string_dtor and returns 0x01042180 10 thunk_to_STL_string_dtor_01042180 stl Wrapper that calls STL_string_dtor and returns 0x01042190 10 thunk_to_STL_string_dtor_01042190 stl Wrapper that calls STL_string_dtor and returns 0x010421B0 10 thunk_to_STL_string_dtor_010421b0 stl Wrapper that calls STL_string_dtor and returns 0x010421C0 10 thunk_to_STL_string_dtor_010421c0 stl Wrapper that calls STL_string_dtor and returns 0x010421D0 10 thunk_to_STL_string_dtor_010421d0 stl Wrapper function that calls STL_string_dtor and returns 0x010421E0 10 thunk_to_STL_string_dtor_010421e0 stl Wrapper that calls STL_string_dtor and returns 0x010421F0 10 thunk_to_STL_string_dtor_010421f0 stl Wrapper that calls STL_string_dtor and returns 0x01042200 10 thunk_to_STL_string_dtor_01042200 stl Wrapper that calls STL_string_dtor and returns 0x01042210 10 thunk_to_STL_string_dtor_01042210 stl Wrapper that calls STL_string_dtor and returns 0x01042220 10 thunk_to_STL_string_dtor_01042220 stl Wrapper function that calls STL_string_dtor and returns 0x01042230 10 thunk_to_STL_string_dtor_01042230 stl Wrapper that calls STL_string_dtor and returns 0x01042240 10 thunk_to_STL_string_dtor_01042240 stl Wrapper that calls STL_string_dtor and returns 0x010422C0 280 atexit_unregister_window_classes_and_cleanup_010422c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010423E0 10 thunk_to_STL_string_dtor_010423e0 stl Wrapper that calls STL_string_dtor and returns 0x010423F0 10 thunk_to_STL_string_dtor_010423f0 stl Wrapper that calls STL_string_dtor and returns 0x01042400 10 thunk_to_STL_string_dtor_01042400 stl Wrapper function that calls STL_string_dtor and returns 0x01042410 10 thunk_to_STL_string_dtor_01042410 stl Wrapper that calls STL_string_dtor and returns 0x01042420 10 thunk_to_STL_string_dtor_01042420 stl Wrapper that calls STL_string_dtor and returns 0x01042430 10 thunk_to_STL_string_dtor_01042430 stl Wrapper that calls STL_string_dtor and returns 0x01042440 10 thunk_to_STL_string_dtor_01042440 stl Wrapper that calls STL_string_dtor and returns 0x01042450 10 thunk_to_STL_string_dtor_01042450 stl Wrapper that calls STL_string_dtor and returns 0x01042460 10 thunk_to_STL_string_dtor_01042460 stl Wrapper that calls STL_string_dtor and returns 0x01042470 10 thunk_to_STL_string_dtor_01042470 stl Wrapper that calls STL string destructor 0x01042480 10 thunk_to_STL_string_dtor_01042480 stl Wrapper that calls STL_string_dtor and returns 0x01042490 10 thunk_to_STL_string_dtor_01042490 stl Wrapper that calls STL_string_dtor and returns 0x010424A0 10 thunk_to_STL_string_dtor_010424a0 stl Wrapper that calls STL_string_dtor and returns 0x010424D0 10 thunk_to_STL_string_dtor_010424d0 stl Wrapper that calls STL_string_dtor and returns 0x010424E0 10 thunk_to_STL_string_dtor_010424e0 stl Wrapper that calls STL_string_dtor and returns 0x010424F0 10 thunk_to_STL_string_dtor_010424f0 stl Wrapper that calls STL_string_dtor and returns 0x01042500 10 thunk_to_STL_string_dtor_01042500 stl Wrapper that calls STL_string_dtor and returns 0x01042510 10 thunk_to_STL_string_dtor_01042510 stl Wrapper that calls STL_string_dtor and returns 0x01042520 10 thunk_to_STL_string_dtor_01042520 stl Wrapper that calls STL_string_dtor and returns 0x01042530 10 thunk_to_STL_string_dtor_01042530 stl Wrapper that calls STL_string_dtor and returns 0x01042540 10 thunk_to_STL_string_dtor_01042540 stl Wrapper that calls STL_string_dtor and returns 0x01042550 10 thunk_to_STL_string_dtor_01042550 stl Wrapper that calls STL_string_dtor and returns 0x01042560 10 thunk_to_STL_string_dtor_01042560 stl Wrapper that calls STL_string_dtor and returns 0x010425E0 280 atexit_unregister_window_classes_and_cleanup_010425e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01042700 10 thunk_to_STL_string_dtor_01042700 stl Wrapper that calls STL_string_dtor and returns 0x01042710 10 thunk_to_STL_string_dtor_01042710 stl Wrapper that calls STL_string_dtor and returns 0x01042720 10 thunk_to_STL_string_dtor_01042720 stl Wrapper that calls STL_string_dtor and returns 0x01042730 10 thunk_to_STL_string_dtor_01042730 stl Wrapper that calls STL_string_dtor and returns 0x01042740 10 thunk_to_STL_string_dtor_01042740 stl Wrapper that calls STL_string_dtor and returns 0x01042750 10 thunk_to_STL_string_dtor_01042750 stl Wrapper that calls STL_string_dtor and returns 0x01042760 10 thunk_to_STL_string_dtor_01042760 stl Wrapper that calls STL_string_dtor and returns 0x01042770 10 thunk_to_STL_string_dtor_01042770 stl Wrapper that calls STL_string_dtor and returns 0x01042780 10 thunk_to_STL_string_dtor_01042780 stl Wrapper that calls STL_string_dtor and returns 0x01042790 10 thunk_to_STL_string_dtor_01042790 stl Wrapper function that calls STL_string_dtor and returns 0x010427A0 10 thunk_to_STL_string_dtor_010427a0 stl Wrapper that calls STL_string_dtor and returns 0x010427B0 10 thunk_to_STL_string_dtor_010427b0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010427C0 10 thunk_to_STL_string_dtor_010427c0 stl Wrapper that calls STL_string_dtor and returns 0x010427D0 10 thunk_to_STL_string_dtor_010427d0 stl Wrapper that calls STL_string_dtor and returns 0x010427E0 10 thunk_to_STL_string_dtor_010427e0 stl Wrapper that calls STL_string_dtor and returns 0x010427F0 10 thunk_to_STL_string_dtor_010427f0 stl Wrapper that calls STL_string_dtor and returns 0x01042800 10 thunk_to_STL_string_dtor_01042800 stl Wrapper that calls STL_string_dtor and returns 0x01042820 10 thunk_to_STL_string_dtor_01042820 stl Wrapper that calls STL_string_dtor and returns 0x01042830 10 thunk_to_STL_string_dtor_01042830 stl Wrapper that calls STL_string_dtor and returns 0x01042840 10 thunk_to_STL_string_dtor_01042840 stl Wrapper calling STL_string_dtor destructor 0x01042850 10 thunk_to_STL_string_dtor_01042850 stl Wrapper that calls STL_string_dtor and returns 0x01042860 10 thunk_to_STL_string_dtor_01042860 stl Wrapper that calls STL_string_dtor and returns 0x01042870 10 thunk_to_STL_string_dtor_01042870 stl Wrapper that calls STL_string_dtor and returns 0x01042880 10 thunk_to_STL_string_dtor_01042880 stl Wrapper that calls STL_string_dtor and returns 0x01042900 280 atexit_unregister_window_classes_and_cleanup_01042900 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01042A20 10 thunk_to_STL_string_dtor_01042a20 stl Wrapper that calls STL_string_dtor and returns 0x01042A30 10 thunk_to_STL_string_dtor_01042a30 stl Wrapper that calls STL_string_dtor and returns 0x01042A40 10 thunk_to_STL_string_dtor_01042a40 stl Wrapper that calls STL_string_dtor and returns 0x01042A50 10 thunk_to_STL_string_dtor_01042a50 stl Wrapper that calls STL_string_dtor and returns 0x01042A60 10 thunk_to_STL_string_dtor_01042a60 stl Wrapper that calls STL_string_dtor and returns 0x01042A70 10 thunk_to_STL_string_dtor_01042a70 stl Wrapper that calls STL_string_dtor and returns 0x01042A80 10 thunk_to_STL_string_dtor_01042a80 stl Wrapper that calls STL_string_dtor and returns 0x01042A90 10 thunk_to_STL_string_dtor_01042a90 stl Wrapper that calls STL_string_dtor and returns 0x01042AA0 10 thunk_to_STL_string_dtor_01042aa0 stl Wrapper that calls STL_string_dtor and returns 0x01042AB0 10 thunk_to_STL_string_dtor_01042ab0 stl Wrapper that calls STL_string_dtor and returns 0x01042AC0 10 thunk_to_STL_string_dtor_01042ac0 stl Wrapper that calls STL_string_dtor and returns 0x01042AD0 10 thunk_to_STL_string_dtor_01042ad0 stl Wrapper that calls STL_string_dtor and returns 0x01042AE0 10 thunk_to_STL_string_dtor_01042ae0 stl Wrapper that calls STL_string_dtor and returns 0x01042AF0 10 thunk_to_STL_string_dtor_01042af0 stl Wrapper that calls STL_string_dtor and returns 0x01042B00 10 thunk_to_STL_string_dtor_01042b00 stl Wrapper that calls STL_string_dtor and returns 0x01042B10 10 thunk_to_STL_string_dtor_01042b10 stl Wrapper that calls STL_string_dtor and returns 0x01042B20 10 thunk_to_STL_string_dtor_01042b20 stl Wrapper that calls STL_string_dtor and returns 0x01042B30 10 thunk_to_STL_string_dtor_01042b30 stl Wrapper that calls STL_string_dtor and returns 0x01042B40 10 thunk_to_STL_string_dtor_01042b40 stl Wrapper that calls STL_string_dtor and returns 0x01042B50 10 thunk_to_STL_string_dtor_01042b50 stl Wrapper that calls STL_string_dtor and returns 0x01042B60 10 thunk_to_STL_string_dtor_01042b60 stl Wrapper that calls STL_string_dtor and returns 0x01042B70 10 thunk_to_STL_string_dtor_01042b70 stl Wrapper that calls STL_string_dtor and returns 0x01042B80 10 thunk_to_STL_string_dtor_01042b80 stl Wrapper that calls STL_string_dtor and returns 0x01042B90 10 thunk_to_STL_string_dtor_01042b90 stl Wrapper that calls STL_string_dtor and returns 0x01042BA0 10 thunk_to_STL_string_dtor_01042ba0 stl Wrapper that calls STL_string_dtor and returns 0x01042C20 280 atexit_unregister_window_classes_and_cleanup_01042c20 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01042D40 10 thunk_to_STL_string_dtor_01042d40 stl Wrapper that calls STL_string_dtor and returns 0x01042D50 10 thunk_to_STL_string_dtor_01042d50 stl Wrapper that calls STL_string_dtor and returns 0x01042D60 10 thunk_to_STL_string_dtor_01042d60 stl Wrapper that calls STL_string_dtor and returns 0x01042D70 10 thunk_to_STL_string_dtor_01042d70 stl Wrapper that calls STL_string_dtor and returns 0x01042D80 10 thunk_to_STL_string_dtor_01042d80 stl Wrapper that calls STL_string_dtor and returns 0x01042D90 10 thunk_to_STL_string_dtor_01042d90 stl Wrapper that calls STL_string_dtor and returns 0x01042DA0 10 thunk_to_STL_string_dtor_01042da0 stl Wrapper that calls STL_string_dtor and returns 0x01042DB0 10 thunk_to_STL_string_dtor_01042db0 stl Wrapper that calls STL_string_dtor and returns 0x01042DC0 10 thunk_to_STL_string_dtor_01042dc0 stl Wrapper function that calls STL_string_dtor and returns 0x01042DD0 10 thunk_to_STL_string_dtor_01042dd0 stl Wrapper that calls STL_string_dtor and returns 0x01042DE0 10 thunk_to_STL_string_dtor_01042de0 stl Wrapper that calls STL_string_dtor and returns 0x01042DF0 10 thunk_to_STL_string_dtor_01042df0 stl Wrapper that calls STL_string_dtor and returns 0x01042E00 10 thunk_to_STL_string_dtor_01042e00 stl Wrapper function that calls STL_string_dtor and returns 0x01042E10 10 thunk_to_STL_string_dtor_01042e10 stl Wrapper that calls STL_string_dtor and returns 0x01042E20 10 thunk_to_STL_string_dtor_01042e20 stl Wrapper that calls STL_string_dtor and returns 0x01042E30 10 thunk_to_STL_string_dtor_01042e30 stl Wrapper that calls STL_string_dtor and returns 0x01042E40 10 thunk_to_STL_string_dtor_01042e40 stl Wrapper function that calls STL_string_dtor and returns 0x01042E50 10 thunk_to_STL_string_dtor_01042e50 stl Wrapper that calls STL_string_dtor and returns 0x01042E60 10 thunk_to_STL_string_dtor_01042e60 stl Wrapper that calls STL_string_dtor and returns 0x01042E70 10 thunk_to_STL_string_dtor_01042e70 stl Wrapper that calls STL_string_dtor and returns 0x01042E80 10 thunk_to_STL_string_dtor_01042e80 stl Wrapper that calls STL_string_dtor and returns 0x01042E90 10 thunk_to_STL_string_dtor_01042e90 stl Wrapper that calls STL_string_dtor and returns 0x01042EA0 10 thunk_to_STL_string_dtor_01042ea0 stl Wrapper that calls STL_string_dtor and returns 0x01042EB0 10 thunk_to_STL_string_dtor_01042eb0 stl Wrapper that calls STL_string_dtor and returns 0x01042EC0 10 thunk_to_STL_string_dtor_01042ec0 stl Wrapper that calls STL_string_dtor and returns 0x01042F40 280 atexit_unregister_window_classes_and_cleanup_01042f40 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01043060 10 thunk_to_STL_string_dtor_01043060 stl Wrapper that calls STL_string_dtor and returns 0x01043070 10 thunk_to_STL_string_dtor_01043070 stl Wrapper that calls STL string destructor and returns 0x01043080 10 thunk_to_STL_string_dtor_01043080 stl Wrapper that calls STL_string_dtor and returns 0x01043090 10 thunk_to_STL_string_dtor_01043090 stl Wrapper that calls STL_string_dtor and returns 0x010430A0 10 thunk_to_STL_string_dtor_010430a0 stl Wrapper that calls STL_string_dtor and returns 0x010430B0 10 thunk_to_STL_string_dtor_010430b0 stl Wrapper that calls STL_string_dtor and returns 0x010430C0 10 thunk_to_STL_string_dtor_010430c0 stl Wrapper that calls STL_string_dtor and returns 0x010430D0 10 thunk_to_STL_string_dtor_010430d0 stl Wrapper that calls STL_string_dtor and returns 0x010430E0 10 thunk_to_STL_string_dtor_010430e0 stl Wrapper that calls STL_string_dtor and returns 0x010430F0 10 thunk_to_STL_string_dtor_010430f0 stl Wrapper that calls STL_string_dtor and returns 0x01043100 10 thunk_to_STL_string_dtor_01043100 stl Wrapper that calls STL_string_dtor and returns 0x01043110 10 thunk_to_STL_string_dtor_01043110 stl Wrapper that calls STL_string_dtor and returns 0x01043120 10 thunk_to_STL_string_dtor_01043120 stl Wrapper that calls STL_string_dtor and returns 0x01043130 10 thunk_to_STL_string_dtor_01043130 stl Wrapper that calls STL_string_dtor and returns 0x01043140 10 thunk_to_STL_string_dtor_01043140 stl Wrapper that calls STL_string_dtor and returns 0x01043150 10 thunk_to_STL_string_dtor_01043150 stl Wrapper that calls STL_string_dtor and returns 0x01043160 10 thunk_to_STL_string_dtor_01043160 stl Wrapper that calls STL_string_dtor and returns 0x01043170 10 thunk_to_STL_string_dtor_01043170 stl Wrapper that calls STL_string_dtor and returns 0x01043180 10 thunk_to_STL_string_dtor_01043180 stl Wrapper function that calls STL_string_dtor and returns 0x01043190 10 thunk_to_STL_string_dtor_01043190 stl Wrapper that calls STL_string_dtor and returns 0x010431A0 10 thunk_to_STL_string_dtor_010431a0 stl Wrapper that calls STL_string_dtor and returns 0x010431B0 10 thunk_to_STL_string_dtor_010431b0 stl Wrapper that calls STL_string_dtor and returns 0x010431C0 10 thunk_to_STL_string_dtor_010431c0 stl Wrapper that calls STL_string_dtor and returns 0x010431D0 10 thunk_to_STL_string_dtor_010431d0 stl Wrapper that calls STL_string_dtor and returns 0x010431E0 10 thunk_to_STL_string_dtor_010431e0 stl Wrapper that calls STL_string_dtor and returns 0x01043260 280 atexit_unregister_window_classes_and_cleanup_01043260 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01043380 10 thunk_to_STL_string_dtor_01043380 stl Wrapper that calls STL_string_dtor and returns 0x01043390 10 thunk_to_STL_string_dtor_01043390 stl Wrapper that calls STL_string_dtor and returns 0x010433A0 10 thunk_to_STL_string_dtor_010433a0 stl Wrapper that calls STL_string_dtor and returns 0x010433B0 10 thunk_to_STL_string_dtor_010433b0 stl Wrapper that calls STL_string_dtor and returns 0x010433C0 10 thunk_to_STL_string_dtor_010433c0 stl Wrapper that calls STL_string_dtor and returns 0x010433D0 10 thunk_to_STL_string_dtor_010433d0 stl Wrapper that calls STL_string_dtor and returns 0x010433E0 10 thunk_to_STL_string_dtor_010433e0 stl Wrapper that calls STL_string_dtor and returns 0x010433F0 10 thunk_to_STL_string_dtor_010433f0 stl Wrapper that calls STL_string_dtor and returns 0x01043400 10 thunk_to_STL_string_dtor_01043400 stl Wrapper that calls STL_string_dtor and returns 0x01043410 10 thunk_to_STL_string_dtor_01043410 stl Wrapper that calls STL_string_dtor and returns 0x01043420 10 thunk_to_STL_string_dtor_01043420 stl Wrapper that calls STL_string_dtor and returns 0x01043430 10 thunk_to_STL_string_dtor_01043430 stl Wrapper that calls STL_string_dtor and returns 0x01043440 10 thunk_to_STL_string_dtor_01043440 stl Wrapper that calls STL_string_dtor and returns 0x01043450 10 thunk_to_STL_string_dtor_01043450 stl Wrapper that calls STL_string_dtor destructor 0x01043460 10 thunk_to_STL_string_dtor_01043460 stl Wrapper calling STL_string_dtor destructor 0x01043470 10 thunk_to_STL_string_dtor_01043470 stl Wrapper that calls STL string destructor 0x01043480 10 thunk_to_STL_string_dtor_01043480 stl Wrapper function that calls STL_string_dtor and returns 0x01043490 10 thunk_to_STL_string_dtor_01043490 stl Wrapper that calls STL_string_dtor and returns 0x010434A0 10 thunk_to_STL_string_dtor_010434a0 stl Wrapper that calls STL_string_dtor and returns 0x010434B0 10 thunk_to_STL_string_dtor_010434b0 stl Wrapper that calls STL_string_dtor and returns 0x010434C0 10 thunk_to_STL_string_dtor_010434c0 stl Wrapper that calls STL_string_dtor and returns 0x010434D0 10 thunk_to_STL_string_dtor_010434d0 stl Wrapper that calls STL_string_dtor and returns 0x010434E0 10 thunk_to_STL_string_dtor_010434e0 stl Wrapper that calls STL_string_dtor and returns 0x010434F0 10 thunk_to_STL_string_dtor_010434f0 stl Wrapper that calls STL_string_dtor and returns 0x01043500 10 thunk_to_STL_string_dtor_01043500 stl Wrapper that calls STL_string_dtor and returns 0x01043580 280 atexit_unregister_window_classes_and_cleanup_01043580 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010436A0 75 atexit_string_array_dtor_013286b8 crt SEH-protected atexit destructor for array of 4 std::string objects at DAT_013286b8 (element size 0x18). Calls _eh_vector_destructor_iterator_ with STL_string_dtor. 0x010436F0 75 atexit_string_array_dtor_01328778 crt SEH-protected atexit destructor for array of 4 std::string objects at DAT_01328778 (element size 0x18). Calls _eh_vector_destructor_iterator_ with STL_string_dtor. 0x01043740 75 atexit_string_array_dtor_01328718 crt SEH-protected atexit destructor for array of 4 std::string objects at DAT_01328718 (element size 0x18). Calls _eh_vector_destructor_iterator_ with STL_string_dtor. 0x01043790 10 thunk_to_STL_string_dtor_01043790 stl Wrapper that calls STL_string_dtor and returns 0x010437A0 10 thunk_to_STL_string_dtor_010437a0 stl Wrapper that calls STL_string_dtor and returns 0x010437B0 10 thunk_to_STL_string_dtor_010437b0 stl Wrapper that calls STL_string_dtor and returns 0x010437C0 10 thunk_to_STL_string_dtor_010437c0 stl Wrapper that calls STL_string_dtor and returns 0x010437D0 10 thunk_to_STL_string_dtor_010437d0 stl Wrapper that calls STL_string_dtor and returns 0x010437E0 10 thunk_to_STL_string_dtor_010437e0 stl Wrapper that calls STL_string_dtor and returns 0x010437F0 10 thunk_to_STL_string_dtor_010437f0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01043800 10 thunk_to_STL_string_dtor_01043800 stl Wrapper that calls STL_string_dtor and returns 0x01043810 10 thunk_to_STL_string_dtor_01043810 stl Wrapper that calls STL_string_dtor and returns 0x01043820 10 thunk_to_STL_string_dtor_01043820 stl Wrapper that calls STL_string_dtor and returns 0x01043830 10 thunk_to_STL_string_dtor_01043830 stl Wrapper that calls STL_string_dtor and returns 0x01043840 10 thunk_to_STL_string_dtor_01043840 stl Wrapper that calls STL_string_dtor and returns 0x01043850 10 thunk_to_STL_string_dtor_01043850 stl Wrapper that calls STL_string_dtor and returns 0x01043860 10 thunk_to_STL_string_dtor_01043860 stl Wrapper that calls STL_string_dtor and returns 0x01043870 10 thunk_to_STL_string_dtor_01043870 stl Wrapper that calls STL_string_dtor and returns 0x01043880 10 thunk_to_STL_string_dtor_01043880 stl Wrapper that calls STL_string_dtor and returns 0x01043890 10 thunk_to_STL_string_dtor_01043890 stl Wrapper that calls STL_string_dtor and returns 0x010438A0 10 thunk_to_STL_string_dtor_010438a0 stl Wrapper that calls STL_string_dtor and returns 0x010438B0 10 thunk_to_STL_string_dtor_010438b0 stl Wrapper that calls STL_string_dtor and returns 0x010438C0 10 thunk_to_STL_string_dtor_010438c0 stl Wrapper that calls STL_string_dtor and returns 0x010438D0 10 thunk_to_STL_string_dtor_010438d0 stl Wrapper that calls STL_string_dtor and returns 0x010438E0 10 thunk_to_STL_string_dtor_010438e0 stl Wrapper that calls STL_string_dtor and returns 0x010438F0 10 thunk_to_STL_string_dtor_010438f0 stl Wrapper that calls STL_string_dtor and returns 0x01043900 10 thunk_to_STL_string_dtor_01043900 stl Wrapper that calls STL_string_dtor and returns 0x01043910 10 thunk_to_STL_string_dtor_01043910 stl Wrapper that calls STL_string_dtor and returns 0x01043990 280 atexit_unregister_window_classes_and_cleanup_01043990 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01043B20 280 atexit_unregister_window_classes_and_cleanup_01043b20 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01043C40 66 atexit_CRenderPipeline_destroy_wrapper_01043c40 crt SEH-protected atexit wrapper that calls CRenderPipeline__destroy_linked_list_and_vector to clean up render pipeline resources. 0x01043C90 10 thunk_to_STL_string_dtor_01043c90 stl Wrapper that calls STL_string_dtor and returns immediately 0x01043CA0 10 thunk_to_STL_string_dtor_01043ca0 stl Wrapper that calls STL_string_dtor and returns 0x01043CB0 10 thunk_to_STL_string_dtor_01043cb0 stl Wrapper that calls STL_string_dtor and returns 0x01043CC0 10 thunk_to_STL_string_dtor_01043cc0 stl Wrapper that calls STL_string_dtor and returns 0x01043CD0 10 thunk_to_STL_string_dtor_01043cd0 stl Wrapper function that calls STL_string_dtor and returns 0x01043CE0 10 thunk_to_STL_string_dtor_01043ce0 stl Wrapper that calls STL_string_dtor and returns 0x01043CF0 10 thunk_to_STL_string_dtor_01043cf0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01043D00 10 thunk_to_STL_string_dtor_01043d00 stl Wrapper that calls STL_string_dtor and returns 0x01043D10 10 thunk_to_STL_string_dtor_01043d10 stl Wrapper that calls STL_string_dtor and returns 0x01043D20 10 thunk_to_STL_string_dtor_01043d20 stl Wrapper that calls STL_string_dtor and returns 0x01043D30 10 thunk_to_STL_string_dtor_01043d30 stl Wrapper that calls STL_string_dtor and returns 0x01043D40 10 thunk_to_STL_string_dtor_01043d40 stl Wrapper that calls STL_string_dtor and returns 0x01043D50 10 thunk_to_STL_string_dtor_01043d50 stl Wrapper that calls STL_string_dtor and returns 0x01043D60 10 thunk_to_STL_string_dtor_01043d60 stl Wrapper that calls STL_string_dtor and returns 0x01043D70 10 thunk_to_STL_string_dtor_01043d70 stl Wrapper that calls STL_string_dtor and returns 0x01043D80 10 thunk_to_STL_string_dtor_01043d80 stl Wrapper function that calls STL_string_dtor and returns 0x01043D90 10 thunk_to_STL_string_dtor_01043d90 stl Wrapper that calls STL_string_dtor and returns 0x01043DA0 10 thunk_to_STL_string_dtor_01043da0 stl Wrapper that calls STL_string_dtor and returns 0x01043DB0 10 thunk_to_STL_string_dtor_01043db0 stl Wrapper that calls STL_string_dtor and returns 0x01043DC0 10 thunk_to_STL_string_dtor_01043dc0 stl Wrapper that calls STL_string_dtor and returns 0x01043DD0 10 thunk_to_STL_string_dtor_01043dd0 stl Wrapper that calls STL_string_dtor and returns 0x01043DE0 10 thunk_to_STL_string_dtor_01043de0 stl Wrapper that calls STL_string_dtor and returns 0x01043DF0 10 thunk_to_STL_string_dtor_01043df0 stl Wrapper that calls STL_string_dtor and returns 0x01043E00 10 thunk_to_STL_string_dtor_01043e00 stl Wrapper that calls STL_string_dtor and returns 0x01043E10 10 thunk_to_STL_string_dtor_01043e10 stl Wrapper that calls STL_string_dtor and returns 0x01043E90 280 atexit_unregister_window_classes_and_cleanup_01043e90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01043FB0 10 thunk_to_STL_string_dtor_01043fb0 stl Wrapper that calls STL_string_dtor and returns 0x01043FC0 10 thunk_to_STL_string_dtor_01043fc0 stl Wrapper that calls STL_string_dtor and returns 0x01043FD0 10 thunk_to_STL_string_dtor_01043fd0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01043FE0 10 thunk_to_STL_string_dtor_01043fe0 stl Wrapper that calls STL_string_dtor and returns 0x01043FF0 10 thunk_to_STL_string_dtor_01043ff0 stl Wrapper that calls STL_string_dtor and returns 0x01044000 10 thunk_to_STL_string_dtor_01044000 stl Wrapper that calls STL_string_dtor and returns 0x01044010 10 thunk_to_STL_string_dtor_01044010 stl Wrapper that calls STL_string_dtor and returns 0x01044020 10 thunk_to_STL_string_dtor_01044020 stl Wrapper that calls STL_string_dtor and returns 0x01044030 10 thunk_to_STL_string_dtor_01044030 stl Wrapper that calls STL_string_dtor and returns 0x01044040 10 thunk_to_STL_string_dtor_01044040 stl Wrapper that calls STL string destructor 0x01044050 10 thunk_to_STL_string_dtor_01044050 stl Wrapper that calls STL_string_dtor and returns 0x01044060 10 thunk_to_STL_string_dtor_01044060 stl Wrapper that calls STL_string_dtor and returns 0x01044070 10 thunk_to_STL_string_dtor_01044070 stl Wrapper that calls STL_string_dtor and returns 0x01044080 10 thunk_to_STL_string_dtor_01044080 stl Wrapper that calls STL_string_dtor and returns 0x01044090 10 thunk_to_STL_string_dtor_01044090 stl Wrapper that calls STL_string_dtor and returns 0x010440A0 10 thunk_to_STL_string_dtor_010440a0 stl Wrapper that calls STL_string_dtor and returns 0x010440B0 10 thunk_to_STL_string_dtor_010440b0 stl Wrapper that calls STL_string_dtor and returns 0x010440C0 10 thunk_to_STL_string_dtor_010440c0 stl Wrapper that calls STL_string_dtor and returns 0x010440D0 10 thunk_to_STL_string_dtor_010440d0 stl Wrapper that calls STL_string_dtor and returns 0x010440E0 10 thunk_to_STL_string_dtor_010440e0 stl Wrapper that calls STL_string_dtor and returns 0x010440F0 10 thunk_to_STL_string_dtor_010440f0 stl Wrapper that calls STL_string_dtor and returns 0x01044100 10 thunk_to_STL_string_dtor_01044100 stl Wrapper that calls STL_string_dtor and returns 0x01044110 10 thunk_to_STL_string_dtor_01044110 stl Wrapper that calls STL_string_dtor and returns 0x01044120 10 thunk_to_STL_string_dtor_01044120 stl Wrapper that calls STL_string_dtor and returns 0x01044130 10 thunk_to_STL_string_dtor_01044130 stl Wrapper that calls STL_string_dtor and returns 0x010441B0 280 atexit_unregister_window_classes_and_cleanup_010441b0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010442D0 10 thunk_to_STL_string_dtor_010442d0 stl Wrapper that calls STL_string_dtor and returns 0x010442E0 10 thunk_to_STL_string_dtor_010442e0 stl Wrapper that calls STL_string_dtor and returns 0x010442F0 10 thunk_to_STL_string_dtor_010442f0 stl Wrapper that calls STL_string_dtor and returns 0x01044300 10 thunk_to_STL_string_dtor_01044300 stl Wrapper that calls STL_string_dtor and returns 0x01044310 10 thunk_to_STL_string_dtor_01044310 stl Wrapper that calls STL_string_dtor and returns 0x01044320 10 thunk_to_STL_string_dtor_01044320 stl Wrapper that calls STL_string_dtor and returns 0x01044330 10 thunk_to_STL_string_dtor_01044330 stl Wrapper that calls STL string destructor 0x01044340 10 thunk_to_STL_string_dtor_01044340 stl Wrapper function that calls STL_string_dtor and returns 0x01044350 10 thunk_to_STL_string_dtor_01044350 stl Wrapper that calls STL_string_dtor and returns 0x01044360 10 thunk_to_STL_string_dtor_01044360 stl Wrapper that calls STL_string_dtor and returns 0x01044370 10 thunk_to_STL_string_dtor_01044370 stl Wrapper that calls STL_string_dtor and returns 0x01044380 10 thunk_to_STL_string_dtor_01044380 stl Wrapper that calls STL_string_dtor and returns 0x01044390 10 thunk_to_STL_string_dtor_01044390 stl Wrapper that calls STL_string_dtor and returns 0x010443A0 10 thunk_to_STL_string_dtor_010443a0 stl Wrapper that calls STL_string_dtor and returns 0x010443B0 10 thunk_to_STL_string_dtor_010443b0 stl Wrapper that calls STL_string_dtor destructor 0x010443C0 10 thunk_to_STL_string_dtor_010443c0 stl Wrapper that calls STL_string_dtor and returns 0x010443D0 10 thunk_to_STL_string_dtor_010443d0 stl Wrapper that calls STL_string_dtor and returns 0x010443E0 10 thunk_to_STL_string_dtor_010443e0 stl Wrapper that calls STL_string_dtor and returns 0x010443F0 10 thunk_to_STL_string_dtor_010443f0 stl Wrapper function that calls STL_string_dtor and returns 0x01044400 10 thunk_to_STL_string_dtor_01044400 stl Wrapper that calls STL_string_dtor and returns 0x01044410 10 thunk_to_STL_string_dtor_01044410 stl Wrapper that calls STL_string_dtor and returns 0x01044420 10 thunk_to_STL_string_dtor_01044420 stl Wrapper that calls STL_string_dtor and returns 0x01044430 10 thunk_to_STL_string_dtor_01044430 stl Wrapper that calls STL_string_dtor and returns 0x01044440 10 thunk_to_STL_string_dtor_01044440 stl Wrapper that calls STL_string_dtor and returns 0x01044450 10 thunk_to_STL_string_dtor_01044450 stl Wrapper that calls STL_string_dtor and returns 0x010444D0 280 atexit_unregister_window_classes_and_cleanup_010444d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01044660 280 atexit_unregister_window_classes_and_cleanup_01044660 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010447F0 280 atexit_unregister_window_classes_and_cleanup_010447f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01044980 280 atexit_unregister_window_classes_and_cleanup_01044980 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01044B10 280 atexit_unregister_window_classes_and_cleanup_01044b10 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01044CA0 280 atexit_unregister_window_classes_and_cleanup_01044ca0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01044E30 280 atexit_unregister_window_classes_and_cleanup_01044e30 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01044FC0 280 atexit_unregister_window_classes_and_cleanup_01044fc0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010450E0 141 atexit_CLoggerMap_dtor_0138d390 crt SEH-protected atexit destructor for CLoggerMap instance at DAT_0138d390. Sets vtable, deletes critical section at DAT_0138d394, destroys tree nodes, frees root node (0x814 bytes). 0x01045170 141 atexit_CLoggerMap_dtor_01045170 crt SEH-protected atexit destructor for CLoggerMap instance at DAT_0138d368. Sets vtable, deletes critical section, destroys tree nodes, frees root node. 0x01045200 141 atexit_CLoggerMap_dtor_01045200 crt SEH-protected atexit destructor for CLoggerMap instance at DAT_0138d3b8. Sets vtable, deletes critical section, destroys tree nodes, frees root node. 0x01045300 280 atexit_unregister_window_classes_and_cleanup_01045300 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01045420 66 atexit_CIPAddressTree_free_all_01045420 crt SEH-protected atexit wrapper that calls CIPAddressTree__FreeAll to release all IP address tree nodes. 0x010454E0 280 atexit_unregister_window_classes_and_cleanup_010454e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01045670 280 atexit_unregister_window_classes_and_cleanup_01045670 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01045800 280 atexit_unregister_window_classes_and_cleanup_01045800 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01045990 280 atexit_unregister_window_classes_and_cleanup_01045990 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01045B20 280 atexit_unregister_window_classes_and_cleanup_01045b20 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01045CB0 280 atexit_unregister_window_classes_and_cleanup_01045cb0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01045E40 280 atexit_unregister_window_classes_and_cleanup_01045e40 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01045F60 10 thunk_to_STL_string_dtor_01045f60 stl Wrapper that calls STL_string_dtor and returns 0x01045F70 10 thunk_to_STL_string_dtor_01045f70 stl Wrapper that calls STL_string_dtor and returns 0x01045F80 10 thunk_to_STL_string_dtor_01045f80 stl Wrapper that calls STL_string_dtor and returns 0x01045F90 10 thunk_to_STL_string_dtor_01045f90 stl Wrapper that calls STL_string_dtor and returns 0x01045FA0 10 thunk_to_STL_string_dtor_01045fa0 stl Wrapper that calls STL_string_dtor and returns 0x01045FB0 10 thunk_to_STL_string_dtor_01045fb0 stl Wrapper that calls STL_string_dtor and returns 0x01045FC0 10 thunk_to_STL_string_dtor_01045fc0 stl Wrapper that calls STL_string_dtor and returns 0x01045FD0 10 thunk_to_STL_string_dtor_01045fd0 stl Wrapper that calls STL_string_dtor and returns 0x01045FE0 10 thunk_to_STL_string_dtor_01045fe0 stl Wrapper that calls STL_string_dtor and returns 0x01045FF0 10 thunk_to_STL_string_dtor_01045ff0 stl Wrapper that calls STL_string_dtor and returns 0x01046000 10 thunk_to_STL_string_dtor_01046000 stl Wrapper that calls STL_string_dtor and returns 0x01046010 10 thunk_to_STL_string_dtor_01046010 stl Wrapper that calls STL_string_dtor and returns 0x01046020 10 thunk_to_STL_string_dtor_01046020 stl Wrapper that calls STL_string_dtor and returns 0x01046030 10 thunk_to_STL_string_dtor_01046030 stl Wrapper function that calls STL_string_dtor and returns 0x01046040 10 thunk_to_STL_string_dtor_01046040 stl Wrapper that calls STL_string_dtor and returns 0x01046050 10 thunk_to_STL_string_dtor_01046050 stl Wrapper that calls STL_string_dtor destructor 0x01046060 10 thunk_to_STL_string_dtor_01046060 stl Wrapper that calls STL_string_dtor and returns 0x01046070 10 thunk_to_STL_string_dtor_01046070 stl Wrapper that calls STL_string_dtor and returns 0x01046080 10 thunk_to_STL_string_dtor_01046080 stl Wrapper that calls STL_string_dtor and returns 0x01046090 10 thunk_to_STL_string_dtor_01046090 stl Wrapper that calls STL_string_dtor and returns 0x010460A0 10 thunk_to_STL_string_dtor_010460a0 stl Wrapper that calls STL_string_dtor and returns 0x010460B0 10 thunk_to_STL_string_dtor_010460b0 stl Wrapper that calls STL_string_dtor and returns 0x010460C0 10 thunk_to_STL_string_dtor_010460c0 stl Wrapper that calls STL_string_dtor and returns 0x010460D0 10 thunk_to_STL_string_dtor_010460d0 stl Wrapper that calls STL_string_dtor and returns 0x010460E0 10 thunk_to_STL_string_dtor_010460e0 stl Wrapper that calls STL_string_dtor and returns 0x01046160 280 atexit_unregister_window_classes_and_cleanup_01046160 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01046280 66 atexit_STL_map_destroy_01046280 crt SEH-protected atexit wrapper that calls STL_map_destroy to clean up a global std::map instance. 0x01046340 280 atexit_unregister_window_classes_and_cleanup_01046340 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010464D0 280 atexit_unregister_window_classes_and_cleanup_010464d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010465F0 10 thunk_to_STL_string_dtor_010465f0 stl Wrapper that calls STL_string_dtor and returns 0x01046600 10 thunk_to_STL_string_dtor_01046600 stl Wrapper that calls STL_string_dtor and returns 0x01046610 10 thunk_to_STL_string_dtor_01046610 stl Wrapper that calls STL_string_dtor and returns 0x01046620 10 thunk_to_STL_string_dtor_01046620 stl Wrapper that calls STL_string_dtor and returns 0x01046630 10 thunk_to_STL_string_dtor_01046630 stl Wrapper that calls STL_string_dtor and returns 0x01046640 10 thunk_to_STL_string_dtor_01046640 stl Wrapper that calls STL_string_dtor and returns 0x01046650 10 thunk_to_STL_string_dtor_01046650 stl Wrapper that calls STL_string_dtor and returns 0x01046660 10 thunk_to_STL_string_dtor_01046660 stl Wrapper that calls STL_string_dtor and returns 0x01046670 10 thunk_to_STL_string_dtor_01046670 stl Wrapper that calls STL_string_dtor and returns 0x01046680 10 thunk_to_STL_string_dtor_01046680 stl Wrapper that calls STL_string_dtor and returns 0x01046690 10 thunk_to_STL_string_dtor_01046690 stl Wrapper that calls STL_string_dtor and returns 0x010466A0 10 thunk_to_STL_string_dtor_010466a0 stl Wrapper that calls STL_string_dtor and returns 0x010466B0 10 thunk_to_STL_string_dtor_010466b0 stl Wrapper that calls STL_string_dtor and returns 0x010466C0 10 thunk_to_STL_string_dtor_010466c0 stl Wrapper that calls STL_string_dtor and returns 0x010466D0 10 thunk_to_STL_string_dtor_010466d0 stl Wrapper that calls STL_string_dtor and returns 0x010466E0 10 thunk_to_STL_string_dtor_010466e0 stl Wrapper that calls STL_string_dtor and returns 0x010466F0 10 thunk_to_STL_string_dtor_010466f0 stl Wrapper that calls STL_string_dtor and returns 0x01046700 10 thunk_to_STL_string_dtor_01046700 stl Wrapper that calls STL_string_dtor and returns 0x01046710 10 thunk_to_STL_string_dtor_01046710 stl Wrapper that calls STL_string_dtor and returns 0x01046720 10 thunk_to_STL_string_dtor_01046720 stl Wrapper that calls STL_string_dtor and returns 0x01046730 10 thunk_to_STL_string_dtor_01046730 stl Wrapper that calls STL_string_dtor and returns 0x01046740 10 thunk_to_STL_string_dtor_01046740 stl Wrapper that calls STL_string_dtor and returns 0x01046750 10 thunk_to_STL_string_dtor_01046750 stl Wrapper that calls STL_string_dtor and returns 0x01046760 10 thunk_to_STL_string_dtor_01046760 stl Wrapper that calls STL_string_dtor and returns 0x01046770 10 thunk_to_STL_string_dtor_01046770 stl Wrapper that calls STL_string_dtor and returns 0x010467F0 280 atexit_unregister_window_classes_and_cleanup_010467f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01046910 66 tls_destroy_map_01046910 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x01046960 10 thunk_to_STL_string_dtor_01046960 stl Wrapper that calls STL_string_dtor and returns 0x01046970 10 thunk_to_STL_string_dtor_01046970 stl Wrapper that calls STL_string_dtor and returns 0x01046980 10 thunk_to_STL_string_dtor_01046980 stl Wrapper that calls STL_string_dtor and returns 0x01046990 10 thunk_to_STL_string_dtor_01046990 stl Wrapper that calls STL_string_dtor and returns 0x010469A0 10 thunk_to_STL_string_dtor_010469a0 stl Wrapper that calls STL_string_dtor and returns 0x010469B0 10 thunk_to_STL_string_dtor_010469b0 stl Wrapper function that calls STL_string_dtor and returns 0x010469C0 10 thunk_to_STL_string_dtor_010469c0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010469D0 10 thunk_to_STL_string_dtor_010469d0 stl Wrapper that calls STL_string_dtor and returns 0x010469E0 10 thunk_to_STL_string_dtor_010469e0 stl Wrapper that calls STL_string_dtor and returns 0x010469F0 10 thunk_to_STL_string_dtor_010469f0 stl Wrapper that calls STL_string_dtor and returns 0x01046A00 10 thunk_to_STL_string_dtor_01046a00 stl Wrapper that calls STL_string_dtor and returns 0x01046A10 10 thunk_to_STL_string_dtor_01046a10 stl Wrapper that calls STL_string_dtor and returns 0x01046A20 10 thunk_to_STL_string_dtor_01046a20 stl Wrapper that calls STL_string_dtor and returns 0x01046A30 10 thunk_to_STL_string_dtor_01046a30 stl Wrapper that calls STL_string_dtor and returns 0x01046A40 10 thunk_to_STL_string_dtor_01046a40 stl Wrapper that calls STL_string_dtor and returns 0x01046A50 10 thunk_to_STL_string_dtor_01046a50 stl Wrapper that calls STL_string_dtor and returns 0x01046A60 10 thunk_to_STL_string_dtor_01046a60 stl Wrapper that calls STL_string_dtor and returns 0x01046A70 10 thunk_to_STL_string_dtor_01046a70 stl Wrapper that calls STL_string_dtor and returns 0x01046A80 10 thunk_to_STL_string_dtor_01046a80 stl Wrapper that calls STL_string_dtor and returns 0x01046A90 10 thunk_to_STL_string_dtor_01046a90 stl Wrapper that calls STL_string_dtor and returns 0x01046AA0 10 thunk_to_STL_string_dtor_01046aa0 stl Wrapper that calls STL_string_dtor and returns 0x01046AB0 10 thunk_to_STL_string_dtor_01046ab0 stl Wrapper that calls STL_string_dtor and returns 0x01046AC0 10 thunk_to_STL_string_dtor_01046ac0 stl Wrapper that calls STL_string_dtor and returns 0x01046AD0 10 thunk_to_STL_string_dtor_01046ad0 stl Wrapper that calls STL_string_dtor and returns 0x01046AE0 10 thunk_to_STL_string_dtor_01046ae0 stl Wrapper that calls STL_string_dtor and returns 0x01046B60 280 atexit_unregister_window_classes_and_cleanup_01046b60 crt atexit cleanup: unregisters window class atoms, frees atom array, deletes critical section, resets global state. Duplicate of atexit_unregister_window_classes_and_cleanup pattern. 0x01046C80 66 atexit_STL_map_destroy_01046c80 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01046CD0 10 thunk_to_STL_string_dtor_01046cd0 stl Wrapper that calls STL_string_dtor and returns 0x01046CE0 10 thunk_to_STL_string_dtor_01046ce0 stl Wrapper function that calls STL_string_dtor and returns 0x01046CF0 10 thunk_to_STL_string_dtor_01046cf0 stl Wrapper that calls STL_string_dtor and returns 0x01046D00 10 thunk_to_STL_string_dtor_01046d00 stl Wrapper that calls STL_string_dtor and returns 0x01046D10 10 thunk_to_STL_string_dtor_01046d10 stl Wrapper that calls STL_string_dtor and returns 0x01046D20 10 thunk_to_STL_string_dtor_01046d20 stl Wrapper that calls STL_string_dtor and returns 0x01046D30 10 thunk_to_STL_string_dtor_01046d30 stl Wrapper function that calls STL_string_dtor and returns 0x01046D40 10 thunk_to_STL_string_dtor_01046d40 stl Wrapper that calls STL_string_dtor and returns 0x01046D50 10 thunk_to_STL_string_dtor_01046d50 stl Wrapper that calls STL_string_dtor and returns 0x01046D60 10 thunk_to_STL_string_dtor_01046d60 stl Wrapper that calls STL_string_dtor and returns 0x01046D70 10 thunk_to_STL_string_dtor_01046d70 stl Wrapper that calls STL_string_dtor and returns 0x01046D80 10 thunk_to_STL_string_dtor_01046d80 stl Wrapper that calls STL_string_dtor and returns 0x01046D90 10 thunk_to_STL_string_dtor_01046d90 stl Wrapper that calls STL_string_dtor and returns 0x01046DA0 10 thunk_to_STL_string_dtor_01046da0 stl Wrapper that calls STL_string_dtor and returns 0x01046DB0 10 thunk_to_STL_string_dtor_01046db0 stl Wrapper that calls STL_string_dtor and returns 0x01046DC0 10 thunk_to_STL_string_dtor_01046dc0 stl Wrapper that calls STL_string_dtor and returns 0x01046DD0 10 thunk_to_STL_string_dtor_01046dd0 stl Wrapper that calls STL_string_dtor and returns 0x01046DE0 10 thunk_to_STL_string_dtor_01046de0 stl Wrapper that calls STL_string_dtor and returns 0x01046DF0 10 thunk_to_STL_string_dtor_01046df0 stl Wrapper that calls STL_string_dtor and returns 0x01046E00 10 thunk_to_STL_string_dtor_01046e00 stl Wrapper that calls STL_string_dtor and returns 0x01046E10 10 thunk_to_STL_string_dtor_01046e10 stl Wrapper that calls STL_string_dtor and returns 0x01046E20 10 thunk_to_STL_string_dtor_01046e20 stl Wrapper that calls STL_string_dtor and returns 0x01046E30 10 thunk_to_STL_string_dtor_01046e30 stl Wrapper that calls STL_string_dtor and returns 0x01046E40 10 thunk_to_STL_string_dtor_01046e40 stl Wrapper that calls STL_string_dtor and returns 0x01046E50 10 thunk_to_STL_string_dtor_01046e50 stl Wrapper that calls STL_string_dtor and returns 0x01046ED0 280 atexit_unregister_window_classes_and_cleanup_01046ed0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01046FF0 66 atexit_STL_map_destroy_01046ff0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01047040 10 thunk_to_STL_string_dtor_01047040 stl Wrapper that calls STL_string_dtor and returns 0x01047050 10 thunk_to_STL_string_dtor_01047050 stl Wrapper function that calls STL_string_dtor and returns 0x01047060 10 thunk_to_STL_string_dtor_01047060 stl Wrapper that calls STL_string_dtor and returns 0x01047070 10 thunk_to_STL_string_dtor_01047070 stl Wrapper that calls STL_string_dtor and returns 0x01047080 10 thunk_to_STL_string_dtor_01047080 stl Wrapper that calls STL_string_dtor and returns 0x01047090 10 thunk_to_STL_string_dtor_01047090 stl Wrapper that calls STL_string_dtor and returns 0x010470A0 10 thunk_to_STL_string_dtor_010470a0 stl Wrapper that calls STL_string_dtor and returns 0x010470B0 10 thunk_to_STL_string_dtor_010470b0 stl Wrapper that calls STL_string_dtor and returns 0x010470C0 10 thunk_to_STL_string_dtor_010470c0 stl Wrapper that calls STL_string_dtor and returns 0x010470D0 10 thunk_to_STL_string_dtor_010470d0 stl Wrapper that calls STL_string_dtor and returns 0x010470E0 10 thunk_to_STL_string_dtor_010470e0 stl Wrapper that calls STL_string_dtor and returns 0x010470F0 10 thunk_to_STL_string_dtor_010470f0 stl Wrapper that calls STL_string_dtor and returns 0x01047100 10 thunk_to_STL_string_dtor_01047100 stl Wrapper that calls STL_string_dtor and returns 0x01047110 10 thunk_to_STL_string_dtor_01047110 stl Wrapper that calls STL_string_dtor and returns 0x01047120 10 thunk_to_STL_string_dtor_01047120 stl Wrapper that calls STL_string_dtor and returns 0x01047130 10 thunk_to_STL_string_dtor_01047130 stl Wrapper that calls STL_string_dtor and returns 0x01047140 10 thunk_to_STL_string_dtor_01047140 stl Wrapper that calls STL_string_dtor and returns 0x01047150 10 thunk_to_STL_string_dtor_01047150 stl Wrapper that calls STL_string_dtor and returns 0x01047160 10 thunk_to_STL_string_dtor_01047160 stl Wrapper that calls STL_string_dtor and returns 0x01047170 10 thunk_to_STL_string_dtor_01047170 stl Wrapper that calls STL_string_dtor and returns 0x01047180 10 thunk_to_STL_string_dtor_01047180 stl Wrapper that calls STL_string_dtor and returns 0x01047190 10 thunk_to_STL_string_dtor_01047190 stl Wrapper that calls STL_string_dtor and returns 0x010471A0 10 thunk_to_STL_string_dtor_010471a0 stl Wrapper that calls STL_string_dtor and returns 0x010471B0 10 thunk_to_STL_string_dtor_010471b0 stl Wrapper that calls STL_string_dtor and returns 0x010471C0 10 thunk_to_STL_string_dtor_010471c0 stl Wrapper that calls STL_string_dtor and returns 0x01047240 280 atexit_unregister_window_classes_and_cleanup_01047240 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01047360 66 atexit_STL_map_destroy_01047360 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x010473B0 10 thunk_to_STL_string_dtor_010473b0 stl Wrapper that calls STL_string_dtor and returns 0x010473C0 10 thunk_to_STL_string_dtor_010473c0 stl Wrapper that calls STL_string_dtor and returns 0x010473D0 10 thunk_to_STL_string_dtor_010473d0 stl Wrapper that calls STL_string_dtor and returns 0x010473E0 10 thunk_to_STL_string_dtor_010473e0 stl Wrapper that calls STL_string_dtor and returns 0x010473F0 10 thunk_to_STL_string_dtor_010473f0 stl Wrapper that calls STL_string_dtor and returns 0x01047400 10 thunk_to_STL_string_dtor_01047400 stl Wrapper that calls STL_string_dtor and returns 0x01047410 10 thunk_to_STL_string_dtor_01047410 stl Wrapper that calls STL_string_dtor and returns 0x01047420 10 thunk_to_STL_string_dtor_01047420 stl Wrapper that calls STL_string_dtor and returns 0x01047430 10 thunk_to_STL_string_dtor_01047430 stl Wrapper function that calls STL_string_dtor and returns 0x01047440 10 thunk_to_STL_string_dtor_01047440 stl Wrapper that calls STL_string_dtor and returns 0x01047450 10 thunk_to_STL_string_dtor_01047450 stl Wrapper that calls STL_string_dtor and returns 0x01047460 10 thunk_to_STL_string_dtor_01047460 stl Wrapper that calls STL_string_dtor and returns 0x01047470 10 thunk_to_STL_string_dtor_01047470 stl Wrapper that calls STL_string_dtor and returns 0x01047480 10 thunk_to_STL_string_dtor_01047480 stl Wrapper function that calls STL_string_dtor and returns 0x01047490 10 thunk_to_STL_string_dtor_01047490 stl Wrapper that calls STL_string_dtor and returns 0x010474A0 10 thunk_to_STL_string_dtor_010474a0 stl Wrapper that calls STL_string_dtor and returns 0x010474B0 10 thunk_to_STL_string_dtor_010474b0 stl Wrapper function that calls STL_string_dtor and returns 0x010474C0 10 thunk_to_STL_string_dtor_010474c0 stl Wrapper that calls STL_string_dtor and returns 0x010474D0 10 thunk_to_STL_string_dtor_010474d0 stl Wrapper that calls STL_string_dtor and returns 0x010474E0 10 thunk_to_STL_string_dtor_010474e0 stl Wrapper that calls STL_string_dtor and returns 0x010474F0 10 thunk_to_STL_string_dtor_010474f0 stl Wrapper that calls STL_string_dtor and returns 0x01047500 10 thunk_to_STL_string_dtor_01047500 stl Wrapper that calls STL_string_dtor and returns 0x01047510 10 thunk_to_STL_string_dtor_01047510 stl Wrapper that calls STL_string_dtor and returns 0x01047520 10 thunk_to_STL_string_dtor_01047520 stl Wrapper that calls STL_string_dtor and returns 0x01047530 10 thunk_to_STL_string_dtor_01047530 stl Wrapper that calls STL_string_dtor and returns 0x010475B0 280 atexit_unregister_window_classes_and_cleanup_010475b0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010476D0 66 atexit_STL_map_destroy_010476d0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01047730 10 thunk_to_STL_string_dtor_01047730 stl Wrapper that calls STL_string_dtor and returns 0x01047740 10 thunk_to_STL_string_dtor_01047740 stl Wrapper that calls STL_string_dtor and returns 0x01047750 10 thunk_to_STL_string_dtor_01047750 stl Wrapper that calls STL_string_dtor and returns 0x01047760 10 thunk_to_STL_string_dtor_01047760 stl Wrapper that calls STL_string_dtor and returns 0x01047770 10 thunk_to_STL_string_dtor_01047770 stl Wrapper that calls STL_string_dtor and returns 0x01047780 10 thunk_to_STL_string_dtor_01047780 stl Wrapper function that calls STL_string_dtor and returns 0x01047790 10 thunk_to_STL_string_dtor_01047790 stl Wrapper function that calls STL_string_dtor and returns 0x010477A0 10 thunk_to_STL_string_dtor_010477a0 stl Wrapper that calls STL_string_dtor and returns 0x010477B0 10 thunk_to_STL_string_dtor_010477b0 stl Wrapper that calls STL_string_dtor and returns 0x010477C0 10 thunk_to_STL_string_dtor_010477c0 stl Wrapper that calls STL_string_dtor and returns 0x010477D0 10 thunk_to_STL_string_dtor_010477d0 stl Wrapper that calls STL_string_dtor and returns 0x010477E0 10 thunk_to_STL_string_dtor_010477e0 stl Wrapper that calls STL_string_dtor and returns 0x010477F0 10 thunk_to_STL_string_dtor_010477f0 stl Wrapper that calls STL_string_dtor and returns 0x01047800 10 thunk_to_STL_string_dtor_01047800 stl Wrapper that calls STL_string_dtor and returns 0x01047810 10 thunk_to_STL_string_dtor_01047810 stl Wrapper that calls STL_string_dtor and returns 0x01047820 10 thunk_to_STL_string_dtor_01047820 stl Wrapper function that calls STL_string_dtor and returns 0x01047830 10 thunk_to_STL_string_dtor_01047830 stl Wrapper that calls STL_string_dtor and returns 0x01047840 10 thunk_to_STL_string_dtor_01047840 stl Wrapper that calls STL_string_dtor and returns 0x01047850 10 thunk_to_STL_string_dtor_01047850 stl Wrapper that calls STL_string_dtor and returns 0x01047860 10 thunk_to_STL_string_dtor_01047860 stl Wrapper that calls STL_string_dtor and returns 0x01047870 10 thunk_to_STL_string_dtor_01047870 stl Wrapper that calls STL_string_dtor and returns 0x01047880 10 thunk_to_STL_string_dtor_01047880 stl Wrapper that calls STL_string_dtor and returns 0x01047890 10 thunk_to_STL_string_dtor_01047890 stl Wrapper that calls STL_string_dtor and returns 0x010478A0 10 thunk_to_STL_string_dtor_010478a0 stl Wrapper function that calls STL_string_dtor and returns 0x01047920 280 atexit_unregister_window_classes_and_cleanup_01047920 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01047A40 66 atexit_STL_map_destroy_01047a40 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01047B00 280 atexit_unregister_window_classes_and_cleanup_01047b00 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01047C20 111 atexit_CTokenizer_dtor_0138d5c8 crt SEH-protected atexit destructor for a CTokenizer-derived instance at DAT_0138d5c8. Deallocates 4-byte vector, calls CFmt destructor, destroys 0xC vector, sets vtable to CTokenizer. 0x01047D10 280 atexit_unregister_window_classes_and_cleanup_01047d10 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01047E30 66 atexit_vector_destroy_0x44 crt SEH-protected atexit wrapper that calls std__vector_destroy_and_dealloc_0x44 to deallocate a vector of 0x44-byte elements. 0x01047E80 83 atexit_vector_dealloc_pair crt SEH-protected atexit handler that deallocates two vectors: first a 0xC-element vector, then a 0x24-element vector. 0x01047EE0 83 atexit_C3dAttr_dtor_wrapper crt SEH-protected atexit destructor wrapper for C3dAttr global at DAT_0138d710. Calls C3dAttr__destructor, then sets vtable to CTokenizer base. 0x01047FB0 280 atexit_unregister_window_classes_and_cleanup_01047fb0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010480D0 66 atexit_set_CTokenizer_vtable_0138dcf0 crt SEH-protected atexit handler that sets global vtable pointer at DAT_0138dcf0 to CTokenizer__scalar_deleting_dtor vtable. 0x01048120 66 atexit_set_CTokenizer_vtable_0138da88 crt SEH-protected atexit handler that sets global vtable pointer at DAT_0138da88 to CTokenizer__scalar_deleting_dtor vtable. 0x01048170 66 atexit_set_CTokenizer_vtable_0138d960 crt SEH-protected atexit handler that sets global vtable pointer at DAT_0138d960 to CTokenizer__scalar_deleting_dtor vtable. 0x010481C0 66 atexit_set_CTokenizer_vtable_0138d838 crt SEH-protected atexit handler that sets global vtable pointer at DAT_0138d838 to CTokenizer__scalar_deleting_dtor vtable. 0x01048210 83 atexit_CSpriteEx_free_frames crt SEH-protected atexit destructor for CSpriteEx global at DAT_0138dbb0. Calls CSpriteEx__FreeFrameVector, then sets vtable to CTokenizer base. 0x010482E0 280 atexit_unregister_window_classes_and_cleanup_010482e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01048400 83 atexit_CSprite_dtor_wrapper crt SEH-protected atexit destructor for CSprite global at DAT_0138de18. Calls CSprite__destructor, then sets vtable to CTokenizer base. 0x010484D0 280 atexit_unregister_window_classes_and_cleanup_010484d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01048670 280 atexit_unregister_window_classes_and_cleanup_01048670 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01048810 280 atexit_unregister_window_classes_and_cleanup_01048810 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01048930 83 atexit_skill_vector_destroy crt SEH-protected atexit destructor for skill vector global at DAT_0139b570. Calls std__vector_destroy_and_dealloc_0xC_skill, then sets vtable to CTokenizer base. 0x01048A00 280 atexit_unregister_window_classes_and_cleanup_01048a00 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01048B30 102 atexit_CGrannyModel_free_resources crt SEH-protected atexit destructor for CGrannyModel global at DAT_0139d090. Sets vtable to CGrannyModel, conditionally calls CGrannyModel__FreeResources if DAT_0139d300 is nonzero, then resets vtable to CTokenizer base. 0x01048BA0 66 atexit_CRsmModel_dtor_01048ba0 crt SEH-protected atexit wrapper that calls CRsmModel__destructor to free RSM model resources. 0x01048BF0 66 atexit_CRsmModel_dtor_01048bf0 crt SEH-protected atexit wrapper that calls CRsmModel__destructor to free RSM model resources. 0x01048C40 10 thunk_to_STL_string_dtor_01048c40 stl Wrapper that calls STL_string_dtor and returns 0x01048C50 10 thunk_to_STL_string_dtor_01048c50 stl Wrapper that calls STL_string_dtor and returns 0x01048C60 10 thunk_to_STL_string_dtor_01048c60 stl Wrapper that calls STL_string_dtor and returns 0x01048C70 10 thunk_to_STL_string_dtor_01048c70 stl Wrapper that calls STL_string_dtor and returns 0x01048C80 10 thunk_to_STL_string_dtor_01048c80 stl Wrapper that calls STL_string_dtor and returns 0x01048C90 10 thunk_to_STL_string_dtor_01048c90 stl Wrapper that calls STL_string_dtor and returns 0x01048CA0 10 thunk_to_STL_string_dtor_01048ca0 stl Wrapper that calls STL_string_dtor and returns 0x01048CB0 10 thunk_to_STL_string_dtor_01048cb0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01048CC0 10 thunk_to_STL_string_dtor_01048cc0 stl Wrapper that calls STL_string_dtor and returns 0x01048CD0 10 thunk_to_STL_string_dtor_01048cd0 stl Wrapper that calls STL_string_dtor and returns 0x01048CE0 10 thunk_to_STL_string_dtor_01048ce0 stl Wrapper that calls STL_string_dtor and returns 0x01048CF0 10 thunk_to_STL_string_dtor_01048cf0 stl Wrapper that calls STL_string_dtor and returns 0x01048D00 10 thunk_to_STL_string_dtor_01048d00 stl Wrapper that calls STL_string_dtor and returns 0x01048D10 10 thunk_to_STL_string_dtor_01048d10 stl Wrapper that calls STL_string_dtor and returns 0x01048D20 10 thunk_to_STL_string_dtor_01048d20 stl Wrapper that calls STL_string_dtor and returns immediately 0x01048D30 10 thunk_to_STL_string_dtor_01048d30 stl Wrapper that calls STL_string_dtor and returns 0x01048D40 10 thunk_to_STL_string_dtor_01048d40 stl Wrapper function that calls STL_string_dtor and returns 0x01048D50 10 thunk_to_STL_string_dtor_01048d50 stl Wrapper that calls STL_string_dtor and returns 0x01048D60 10 thunk_to_STL_string_dtor_01048d60 stl Wrapper that calls STL_string_dtor and returns 0x01048D70 10 thunk_to_STL_string_dtor_01048d70 stl Wrapper that calls STL_string_dtor and returns 0x01048D80 10 thunk_to_STL_string_dtor_01048d80 stl Wrapper that calls STL_string_dtor and returns 0x01048D90 10 thunk_to_STL_string_dtor_01048d90 stl Wrapper that calls STL_string_dtor and returns 0x01048DA0 10 thunk_to_STL_string_dtor_01048da0 stl Wrapper that calls STL_string_dtor and returns 0x01048DB0 10 thunk_to_STL_string_dtor_01048db0 stl Wrapper that calls STL_string_dtor and returns 0x01048DC0 10 thunk_to_STL_string_dtor_01048dc0 stl Wrapper that calls STL_string_dtor and returns 0x01048E40 280 atexit_unregister_window_classes_and_cleanup_01048e40 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01048F60 88 atexit_CGrannyModel_free_instance_and_poses crt Cleanup function for Granny3D model instance. If DAT_0139d870 is set: frees the instance via CGrannyModel__FreeInstance, zeroes 20-element arrays from DAT_0139d990 to 0x139f8d0, frees the local pose via GrannyFreeLocalPose, and frees the file via GrannyFreeFile. 0x01048FC0 66 atexit_set_CTokenizer_vtable_0144fa68 crt SEH-protected atexit handler that sets global vtable pointer at DAT_0144fa68 to CTokenizer__scalar_deleting_dtor vtable. 0x01049080 280 atexit_unregister_window_classes_and_cleanup_01049080 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010491A0 10 thunk_to_STL_string_dtor_010491a0 stl Wrapper that calls STL_string_dtor and returns 0x010491B0 10 thunk_to_STL_string_dtor_010491b0 stl Wrapper function that calls STL_string_dtor and returns 0x010491C0 10 thunk_to_STL_string_dtor_010491c0 stl Wrapper function that calls STL_string_dtor and returns 0x010491D0 10 thunk_to_STL_string_dtor_010491d0 stl Wrapper that calls STL_string_dtor and returns 0x010491E0 10 thunk_to_STL_string_dtor_010491e0 stl Wrapper that calls STL_string_dtor and returns 0x010491F0 10 thunk_to_STL_string_dtor_010491f0 stl Wrapper that calls STL_string_dtor and returns 0x01049200 10 thunk_to_STL_string_dtor_01049200 stl Wrapper that calls STL_string_dtor and returns 0x01049210 10 thunk_to_STL_string_dtor_01049210 stl Wrapper that calls STL_string_dtor and returns 0x01049220 10 thunk_to_STL_string_dtor_01049220 stl Wrapper calling STL string destructor 0x01049230 10 thunk_to_STL_string_dtor_01049230 stl Wrapper that calls STL_string_dtor and returns 0x01049240 10 thunk_to_STL_string_dtor_01049240 stl Wrapper that calls STL_string_dtor and returns 0x01049250 10 thunk_to_STL_string_dtor_01049250 stl Wrapper that calls STL_string_dtor and returns 0x01049260 10 thunk_to_STL_string_dtor_01049260 stl Wrapper that calls STL_string_dtor and returns 0x01049270 10 thunk_to_STL_string_dtor_01049270 stl Wrapper that calls STL_string_dtor and returns 0x01049280 10 thunk_to_STL_string_dtor_01049280 stl Wrapper that calls STL_string_dtor and returns 0x01049290 10 thunk_to_STL_string_dtor_01049290 stl Wrapper function that calls STL_string_dtor and returns 0x010492A0 10 thunk_to_STL_string_dtor_010492a0 stl Wrapper function that calls STL_string_dtor and returns 0x010492B0 10 thunk_to_STL_string_dtor_010492b0 stl Wrapper that calls STL_string_dtor and returns 0x010492C0 10 thunk_to_STL_string_dtor_010492c0 stl Wrapper that calls STL_string_dtor and returns 0x010492D0 10 thunk_to_STL_string_dtor_010492d0 stl Wrapper that calls STL_string_dtor and returns 0x010492E0 10 thunk_to_STL_string_dtor_010492e0 stl Wrapper that calls STL_string_dtor and returns 0x010492F0 10 thunk_to_STL_string_dtor_010492f0 stl Wrapper that calls STL_string_dtor and returns 0x01049300 10 thunk_to_STL_string_dtor_01049300 stl Wrapper that calls STL_string_dtor and returns 0x01049310 10 thunk_to_STL_string_dtor_01049310 stl Wrapper that calls STL_string_dtor and returns 0x01049320 10 thunk_to_STL_string_dtor_01049320 stl Wrapper that calls STL_string_dtor and returns 0x010493A0 280 atexit_unregister_window_classes_and_cleanup_010493a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010494C0 92 atexit_eh_vector_dtor_01450888 crt SEH-protected atexit handler. Calls _eh_vector_destructor_iterator_ on array of 2 elements (0xC bytes each) at DAT_01450888, then sets vtable at DAT_01450378 to CTokenizer base. 0x01049590 280 atexit_unregister_window_classes_and_cleanup_01049590 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01049720 280 atexit_unregister_window_classes_and_cleanup_01049720 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01049840 66 atexit_set_CTokenizer_vtable_014508a8 crt SEH-protected atexit handler that sets global vtable pointer at DAT_014508a8 to CTokenizer__scalar_deleting_dtor vtable. 0x01049890 10 thunk_to_STL_string_dtor_01049890 stl Wrapper that calls STL_string_dtor and returns 0x010498A0 10 thunk_to_STL_string_dtor_010498a0 stl Wrapper that calls STL_string_dtor and returns 0x010498B0 10 thunk_to_STL_string_dtor_010498b0 stl Wrapper that calls STL_string_dtor and returns 0x010498C0 10 thunk_to_STL_string_dtor_010498c0 stl Wrapper that calls STL_string_dtor and returns 0x010498D0 10 thunk_to_STL_string_dtor_010498d0 stl Wrapper that calls STL_string_dtor and returns 0x010498E0 10 thunk_to_STL_string_dtor_010498e0 stl Wrapper that calls STL_string_dtor and returns 0x010498F0 10 thunk_to_STL_string_dtor_010498f0 stl Wrapper that calls STL_string_dtor and returns 0x01049900 10 thunk_to_STL_string_dtor_01049900 stl Wrapper that calls STL_string_dtor and returns 0x01049910 10 thunk_to_STL_string_dtor_01049910 stl Wrapper that calls STL_string_dtor and returns 0x01049920 10 thunk_to_STL_string_dtor_01049920 stl Wrapper that calls STL_string_dtor and returns 0x01049930 10 thunk_to_STL_string_dtor_01049930 stl Wrapper that calls STL_string_dtor and returns 0x01049940 10 thunk_to_STL_string_dtor_01049940 stl Wrapper that calls STL_string_dtor and returns 0x01049950 10 thunk_to_STL_string_dtor_01049950 stl Wrapper that calls STL_string_dtor and returns 0x01049960 10 thunk_to_STL_string_dtor_01049960 stl Wrapper that calls STL_string_dtor and returns 0x01049970 10 thunk_to_STL_string_dtor_01049970 stl Wrapper that calls STL_string_dtor and returns 0x01049980 10 thunk_to_STL_string_dtor_01049980 stl Wrapper that calls STL_string_dtor and returns 0x01049990 10 thunk_to_STL_string_dtor_01049990 stl Wrapper that calls STL_string_dtor and returns 0x010499A0 10 thunk_to_STL_string_dtor_010499a0 stl Wrapper that calls STL_string_dtor and returns 0x010499B0 10 thunk_to_STL_string_dtor_010499b0 stl Wrapper that calls STL_string_dtor and returns 0x010499C0 10 thunk_to_STL_string_dtor_010499c0 stl Wrapper that calls STL_string_dtor and returns 0x010499D0 10 thunk_to_STL_string_dtor_010499d0 stl Wrapper that calls STL_string_dtor and returns 0x010499E0 10 thunk_to_STL_string_dtor_010499e0 stl Wrapper that calls STL_string_dtor and returns 0x010499F0 10 thunk_to_STL_string_dtor_010499f0 stl Wrapper that calls STL_string_dtor and returns 0x01049A00 10 thunk_to_STL_string_dtor_01049a00 stl Wrapper that calls STL_string_dtor and returns 0x01049A10 10 thunk_to_STL_string_dtor_01049a10 stl Wrapper that calls STL_string_dtor and returns 0x01049A90 280 atexit_unregister_window_classes_and_cleanup_01049a90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01049BC0 10 thunk_to_STL_string_dtor_01049bc0 stl Wrapper that calls STL_string_dtor and returns 0x01049BD0 10 thunk_to_STL_string_dtor_01049bd0 stl Wrapper that calls STL_string_dtor and returns 0x01049BE0 10 thunk_to_STL_string_dtor_01049be0 stl Wrapper that calls STL_string_dtor and returns 0x01049BF0 10 thunk_to_STL_string_dtor_01049bf0 stl Wrapper that calls STL_string_dtor and returns 0x01049C00 10 thunk_to_STL_string_dtor_01049c00 stl Wrapper that calls STL_string_dtor and returns 0x01049C10 10 thunk_to_STL_string_dtor_01049c10 stl Wrapper that calls STL_string_dtor and returns 0x01049C20 10 thunk_to_STL_string_dtor_01049c20 stl Wrapper that calls STL_string_dtor and returns 0x01049C30 10 thunk_to_STL_string_dtor_01049c30 stl Wrapper that calls STL_string_dtor and returns immediately 0x01049C40 10 thunk_to_STL_string_dtor_01049c40 stl Wrapper function that calls STL_string_dtor and returns 0x01049C50 10 thunk_to_STL_string_dtor_01049c50 stl Wrapper function that calls STL_string_dtor and returns 0x01049C60 10 thunk_to_STL_string_dtor_01049c60 stl Wrapper that calls STL_string_dtor and returns 0x01049C70 10 thunk_to_STL_string_dtor_01049c70 stl Wrapper calling STL_string_dtor destructor 0x01049C80 10 thunk_to_STL_string_dtor_01049c80 stl Wrapper that calls STL_string_dtor and returns 0x01049C90 10 thunk_to_STL_string_dtor_01049c90 stl Wrapper that calls STL_string_dtor and returns 0x01049CA0 10 thunk_to_STL_string_dtor_01049ca0 stl Wrapper that calls STL_string_dtor and returns 0x01049CB0 10 thunk_to_STL_string_dtor_01049cb0 stl Wrapper that calls STL_string_dtor and returns 0x01049CC0 10 thunk_to_STL_string_dtor_01049cc0 stl Wrapper that calls STL_string_dtor and returns 0x01049CD0 10 thunk_to_STL_string_dtor_01049cd0 stl Wrapper that calls STL_string_dtor and returns 0x01049CE0 10 thunk_to_STL_string_dtor_01049ce0 stl Wrapper that calls STL_string_dtor and returns 0x01049CF0 10 thunk_to_STL_string_dtor_01049cf0 stl Wrapper that calls STL_string_dtor and returns 0x01049D00 10 thunk_to_STL_string_dtor_01049d00 stl Wrapper that calls STL_string_dtor and returns 0x01049D10 10 thunk_to_STL_string_dtor_01049d10 stl Wrapper that calls STL_string_dtor and returns 0x01049D20 10 thunk_to_STL_string_dtor_01049d20 stl Wrapper that calls STL_string_dtor and returns 0x01049D30 10 thunk_to_STL_string_dtor_01049d30 stl Wrapper that calls STL_string_dtor and returns 0x01049D40 10 thunk_to_STL_string_dtor_01049d40 stl Wrapper that calls STL_string_dtor and returns 0x01049DC0 280 atexit_unregister_window_classes_and_cleanup_01049dc0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01049F50 280 atexit_unregister_window_classes_and_cleanup_01049f50 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104A0E0 280 atexit_unregister_window_classes_and_cleanup_0104a0e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104A200 10 thunk_to_STL_string_dtor_0104a200 stl Wrapper that calls STL_string_dtor and returns 0x0104A210 10 thunk_to_STL_string_dtor_0104a210 stl Wrapper that calls STL_string_dtor and returns 0x0104A220 10 thunk_to_STL_string_dtor_0104a220 stl Wrapper function that calls STL_string_dtor and returns 0x0104A230 10 thunk_to_STL_string_dtor_0104a230 stl Wrapper that calls STL_string_dtor and returns 0x0104A240 10 thunk_to_STL_string_dtor_0104a240 stl Wrapper that calls STL_string_dtor and returns 0x0104A250 10 thunk_to_STL_string_dtor_0104a250 stl Wrapper that calls STL_string_dtor and returns 0x0104A260 10 thunk_to_STL_string_dtor_0104a260 stl Wrapper that calls STL_string_dtor and returns 0x0104A270 10 thunk_to_STL_string_dtor_0104a270 stl Wrapper that calls STL_string_dtor and returns 0x0104A280 10 thunk_to_STL_string_dtor_0104a280 stl Wrapper that calls STL_string_dtor and returns 0x0104A290 10 thunk_to_STL_string_dtor_0104a290 stl Wrapper that calls STL_string_dtor and returns 0x0104A2A0 10 thunk_to_STL_string_dtor_0104a2a0 stl Wrapper that calls STL_string_dtor and returns 0x0104A2B0 10 thunk_to_STL_string_dtor_0104a2b0 stl Wrapper that calls STL_string_dtor and returns 0x0104A2C0 10 thunk_to_STL_string_dtor_0104a2c0 stl Wrapper that calls STL_string_dtor and returns 0x0104A2D0 10 thunk_to_STL_string_dtor_0104a2d0 stl Wrapper that calls STL_string_dtor and returns 0x0104A2E0 10 thunk_to_STL_string_dtor_0104a2e0 stl Wrapper that calls STL_string_dtor and returns 0x0104A2F0 10 thunk_to_STL_string_dtor_0104a2f0 stl Wrapper that calls STL_string_dtor and returns 0x0104A300 10 thunk_to_STL_string_dtor_0104a300 stl Wrapper that calls STL_string_dtor and returns 0x0104A310 10 thunk_to_STL_string_dtor_0104a310 stl Wrapper that calls STL_string_dtor and returns 0x0104A320 10 thunk_to_STL_string_dtor_0104a320 stl Wrapper that calls STL_string_dtor and returns 0x0104A330 10 thunk_to_STL_string_dtor_0104a330 stl Wrapper that calls STL_string_dtor and returns 0x0104A340 10 thunk_to_STL_string_dtor_0104a340 stl Wrapper that calls STL_string_dtor and returns 0x0104A350 10 thunk_to_STL_string_dtor_0104a350 stl Wrapper that calls STL_string_dtor and returns 0x0104A360 10 thunk_to_STL_string_dtor_0104a360 stl Wrapper that calls STL_string_dtor and returns 0x0104A370 10 thunk_to_STL_string_dtor_0104a370 stl Wrapper that calls STL_string_dtor and returns 0x0104A380 10 thunk_to_STL_string_dtor_0104a380 stl Wrapper that calls STL_string_dtor and returns 0x0104A400 280 atexit_unregister_window_classes_and_cleanup_0104a400 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104A590 280 atexit_unregister_window_classes_and_cleanup_0104a590 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104A720 280 atexit_unregister_window_classes_and_cleanup_0104a720 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104A8B0 280 atexit_unregister_window_classes_and_cleanup_0104a8b0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104AA40 280 atexit_unregister_window_classes_and_cleanup_0104aa40 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104ABD0 280 atexit_unregister_window_classes_and_cleanup_0104abd0 crt atexit cleanup: unregisters window class atoms, frees atom array, deletes critical section, resets global state. Duplicate of atexit_unregister_window_classes_and_cleanup pattern. 0x0104ACF0 10 thunk_to_STL_string_dtor_0104acf0 stl Wrapper function that calls STL_string_dtor and returns 0x0104AD00 10 thunk_to_STL_string_dtor_0104ad00 stl Wrapper that calls STL_string_dtor and returns 0x0104AD10 10 thunk_to_STL_string_dtor_0104ad10 stl Wrapper that calls STL_string_dtor and returns 0x0104AD20 10 thunk_to_STL_string_dtor_0104ad20 stl Wrapper that calls STL_string_dtor and returns 0x0104AD30 10 thunk_to_STL_string_dtor_0104ad30 stl Wrapper that calls STL_string_dtor and returns 0x0104AD40 10 thunk_to_STL_string_dtor_0104ad40 stl Wrapper that calls STL_string_dtor and returns 0x0104AD50 10 thunk_to_STL_string_dtor_0104ad50 stl Wrapper that calls STL_string_dtor and returns immediately 0x0104AD60 10 thunk_to_STL_string_dtor_0104ad60 stl Wrapper that calls STL_string_dtor and returns 0x0104AD70 10 thunk_to_STL_string_dtor_0104ad70 stl Wrapper that calls STL_string_dtor and returns 0x0104AD80 10 thunk_to_STL_string_dtor_0104ad80 stl Wrapper that calls STL_string_dtor and returns 0x0104AD90 10 thunk_to_STL_string_dtor_0104ad90 stl Wrapper that calls STL_string_dtor and returns 0x0104ADA0 10 thunk_to_STL_string_dtor_0104ada0 stl Wrapper that calls STL_string_dtor and returns 0x0104ADB0 10 thunk_to_STL_string_dtor_0104adb0 stl Wrapper that calls STL_string_dtor and returns 0x0104ADC0 10 thunk_to_STL_string_dtor_0104adc0 stl Wrapper that calls STL_string_dtor and returns 0x0104ADD0 10 thunk_to_STL_string_dtor_0104add0 stl Wrapper that calls STL_string_dtor and returns 0x0104ADE0 10 thunk_to_STL_string_dtor_0104ade0 stl Wrapper that calls STL_string_dtor and returns 0x0104ADF0 10 thunk_to_STL_string_dtor_0104adf0 stl Wrapper that calls STL_string_dtor and returns 0x0104AE00 10 thunk_to_STL_string_dtor_0104ae00 stl Wrapper that calls STL_string_dtor and returns 0x0104AE10 10 thunk_to_STL_string_dtor_0104ae10 stl Wrapper that calls STL_string_dtor and returns 0x0104AE20 10 thunk_to_STL_string_dtor_0104ae20 stl Wrapper that calls STL_string_dtor and returns 0x0104AE30 10 thunk_to_STL_string_dtor_0104ae30 stl Wrapper that calls STL_string_dtor and returns 0x0104AE40 10 thunk_to_STL_string_dtor_0104ae40 stl Wrapper that calls STL_string_dtor and returns 0x0104AE50 10 thunk_to_STL_string_dtor_0104ae50 stl Wrapper that calls STL_string_dtor and returns 0x0104AE60 10 thunk_to_STL_string_dtor_0104ae60 stl Wrapper that calls STL_string_dtor and returns 0x0104AE70 10 thunk_to_STL_string_dtor_0104ae70 stl Wrapper that calls STL_string_dtor and returns 0x0104AEF0 280 atexit_unregister_window_classes_and_cleanup_0104aef0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104B080 280 atexit_unregister_window_classes_and_cleanup_0104b080 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104B210 280 atexit_unregister_window_classes_and_cleanup_0104b210 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104B3A0 280 atexit_unregister_window_classes_and_cleanup_0104b3a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104B530 280 atexit_unregister_window_classes_and_cleanup_0104b530 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104B6C0 280 atexit_unregister_window_classes_and_cleanup_0104b6c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104B850 280 atexit_unregister_window_classes_and_cleanup_0104b850 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104B9E0 280 atexit_unregister_window_classes_and_cleanup_0104b9e0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104BB70 280 atexit_unregister_window_classes_and_cleanup_0104bb70 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104BD00 280 atexit_unregister_window_classes_and_cleanup_0104bd00 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104BE90 280 atexit_unregister_window_classes_and_cleanup_0104be90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104C020 280 atexit_unregister_window_classes_and_cleanup_0104c020 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104C1B0 280 atexit_unregister_window_classes_and_cleanup_0104c1b0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104C2D0 10 thunk_to_STL_string_dtor_0104c2d0 stl Wrapper that calls STL_string_dtor and returns 0x0104C2E0 10 thunk_to_STL_string_dtor_0104c2e0 stl Wrapper that calls STL_string_dtor and returns 0x0104C2F0 10 thunk_to_STL_string_dtor_0104c2f0 stl Wrapper that calls STL_string_dtor and returns 0x0104C300 10 thunk_to_STL_string_dtor_0104c300 stl Wrapper that calls STL_string_dtor and returns 0x0104C310 10 thunk_to_STL_string_dtor_0104c310 stl Wrapper that calls STL_string_dtor and returns 0x0104C320 10 thunk_to_STL_string_dtor_0104c320 stl Wrapper that calls STL_string_dtor and returns 0x0104C330 10 thunk_to_STL_string_dtor_0104c330 stl Wrapper that calls STL_string_dtor and returns 0x0104C340 10 thunk_to_STL_string_dtor_0104c340 stl Wrapper that calls STL_string_dtor and returns 0x0104C350 10 thunk_to_STL_string_dtor_0104c350 stl Wrapper that calls STL_string_dtor and returns 0x0104C360 10 thunk_to_STL_string_dtor_0104c360 stl Wrapper that calls STL_string_dtor and returns 0x0104C370 10 thunk_to_STL_string_dtor_0104c370 stl Wrapper that calls STL_string_dtor and returns 0x0104C380 10 thunk_to_STL_string_dtor_0104c380 stl Wrapper that calls STL_string_dtor and returns 0x0104C390 10 thunk_to_STL_string_dtor_0104c390 stl Wrapper that calls STL_string_dtor and returns 0x0104C3A0 10 thunk_to_STL_string_dtor_0104c3a0 stl Wrapper function that calls STL_string_dtor and returns 0x0104C3B0 10 thunk_to_STL_string_dtor_0104c3b0 stl Wrapper that calls STL_string_dtor and returns 0x0104C3C0 10 thunk_to_STL_string_dtor_0104c3c0 stl Wrapper that calls STL_string_dtor and returns 0x0104C3D0 10 thunk_to_STL_string_dtor_0104c3d0 stl Wrapper that calls STL_string_dtor and returns 0x0104C3E0 10 thunk_to_STL_string_dtor_0104c3e0 stl Wrapper that calls STL_string_dtor and returns 0x0104C3F0 10 thunk_to_STL_string_dtor_0104c3f0 stl Wrapper that calls STL_string_dtor and returns 0x0104C400 10 thunk_to_STL_string_dtor_0104c400 stl Wrapper that calls STL_string_dtor and returns 0x0104C410 10 thunk_to_STL_string_dtor_0104c410 stl Wrapper that calls STL_string_dtor and returns 0x0104C420 10 thunk_to_STL_string_dtor_0104c420 stl Wrapper that calls STL_string_dtor and returns 0x0104C430 10 thunk_to_STL_string_dtor_0104c430 stl Wrapper that calls STL string destructor 0x0104C440 10 thunk_to_STL_string_dtor_0104c440 stl Wrapper that calls STL_string_dtor and returns 0x0104C450 10 thunk_to_STL_string_dtor_0104c450 stl Wrapper that calls STL_string_dtor and returns 0x0104C4D0 280 atexit_unregister_window_classes_and_cleanup_0104c4d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104C5F0 69 tls_clear_byte_array_at_0x1ffc crt Clears 5 bytes in TLS data at offset 0x1ffc. Accesses thread-local storage via FS segment and global TLS index DAT_0173aeac. 0x0104C640 69 tls_clear_byte_array_at_0x1fcc crt Clears 8 bytes in TLS data at offset 0x1fcc. Accesses thread-local storage via FS segment and global TLS index DAT_0173aeac. 0x0104C690 69 tls_clear_byte_array_at_0x2074 crt Clears 7 bytes in TLS data at offset 0x2074. TLS access via FS:[0x2c] + index * 4. 0x0104C6E0 69 tls_clear_byte_array_at_0x20ac crt Clears 0x15 (21) bytes in TLS data at offset 0x20ac. TLS access via FS:[0x2c] + index * 4. 0x0104C730 69 tls_clear_byte_array_at_0x2080 crt Clears 0xC (12) bytes in TLS data at offset 0x2080. TLS access via FS:[0x2c] + index * 4. 0x0104C780 69 tls_clear_byte_array_at_0x1fdc crt Clears 8 bytes in TLS data at offset 0x1fdc. TLS access via FS:[0x2c] + index * 4. 0x0104C7D0 69 tls_clear_byte_array_at_0x20c8 crt Clears 0x16 (22) bytes in TLS data at offset 0x20c8. TLS access via FS:[0x2c] + index * 4. 0x0104C820 69 tls_clear_byte_array_at_0x2008 crt Clears 0xB (11) bytes in TLS data at offset 0x2008. TLS access via FS:[0x2c] + index * 4. 0x0104C870 69 tls_clear_byte_array_at_0x1fec crt Clears 8 bytes in TLS data at offset 0x1fec. TLS access via FS:[0x2c] + index * 4. 0x0104C8C0 69 tls_clear_byte_array_at_0x2018 crt Clears 0xB (11) bytes in TLS data at offset 0x2018. TLS access via FS:[0x2c] + index * 4. 0x0104C910 69 tls_clear_byte_array_at_0x2094 crt Clears 7 bytes in TLS data at offset 0x2094. TLS access via FS:[0x2c] + index * 4. 0x0104C960 69 tls_clear_byte_array_at_0x20e4 crt Clears 10 bytes in TLS data at offset 0x20e4. TLS access via FS:[0x2c] + index * 4. 0x0104C9B0 69 tls_clear_byte_array_at_0x2028 crt Clears 0xB (11) bytes in TLS data at offset 0x2028. TLS access via FS:[0x2c] + index * 4. 0x0104CA00 69 tls_clear_byte_array_at_0x20a0 crt Clears 7 bytes in TLS data at offset 0x20a0. TLS access via FS:[0x2c] + index * 4. 0x0104CA50 69 tls_clear_byte_array_at_0x2038 crt Clears 0xB (11) bytes in TLS data at offset 0x2038. TLS access via FS:[0x2c] + index * 4. 0x0104CAA0 69 tls_clear_byte_array_at_0x2048 crt Clears 0xB (11) bytes in TLS data at offset 0x2048. TLS access via FS:[0x2c] + index * 4. 0x0104CAF0 69 tls_clear_byte_array_at_0x2058 crt Clears 5 bytes in TLS data at offset 0x2058. TLS access via FS:[0x2c] + index * 4. 0x0104CB40 69 tls_clear_byte_array_at_0x2064 crt Clears 9 bytes in TLS data at offset 0x2064. TLS access via FS:[0x2c] + index * 4. 0x0104CB90 10 thunk_to_STL_string_dtor_0104cb90 stl Wrapper that calls STL_string_dtor and returns 0x0104CBA0 10 thunk_to_STL_string_dtor_0104cba0 stl Wrapper that calls STL_string_dtor and returns 0x0104CBB0 10 thunk_to_STL_string_dtor_0104cbb0 stl Wrapper that calls STL_string_dtor and returns 0x0104CBC0 10 thunk_to_STL_string_dtor_0104cbc0 stl Wrapper that calls STL_string_dtor and returns 0x0104CBD0 10 thunk_to_STL_string_dtor_0104cbd0 stl Wrapper that calls STL_string_dtor and returns 0x0104CBE0 10 thunk_to_STL_string_dtor_0104cbe0 stl Wrapper that calls STL_string_dtor and returns 0x0104CBF0 10 thunk_to_STL_string_dtor_0104cbf0 stl Wrapper that calls STL_string_dtor and returns 0x0104CC00 10 thunk_to_STL_string_dtor_0104cc00 stl Wrapper that calls STL_string_dtor and returns 0x0104CC10 10 thunk_to_STL_string_dtor_0104cc10 stl Wrapper that calls STL_string_dtor and returns 0x0104CC20 10 thunk_to_STL_string_dtor_0104cc20 stl Wrapper that calls STL_string_dtor and returns 0x0104CC30 10 thunk_to_STL_string_dtor_0104cc30 stl Wrapper that calls STL_string_dtor and returns 0x0104CC40 10 thunk_to_STL_string_dtor_0104cc40 stl Wrapper that calls STL_string_dtor and returns 0x0104CC50 10 thunk_to_STL_string_dtor_0104cc50 stl Wrapper that calls STL_string_dtor and returns 0x0104CC60 10 thunk_to_STL_string_dtor_0104cc60 stl Wrapper that calls STL_string_dtor and returns 0x0104CC70 10 thunk_to_STL_string_dtor_0104cc70 stl Wrapper that calls STL_string_dtor and returns 0x0104CC80 10 thunk_to_STL_string_dtor_0104cc80 stl Wrapper that calls STL_string_dtor and returns 0x0104CC90 10 thunk_to_STL_string_dtor_0104cc90 stl Wrapper that calls STL_string_dtor and returns 0x0104CCA0 10 thunk_to_STL_string_dtor_0104cca0 stl Wrapper that calls STL_string_dtor and returns 0x0104CCB0 10 thunk_to_STL_string_dtor_0104ccb0 stl Wrapper that calls STL_string_dtor and returns 0x0104CCC0 10 thunk_to_STL_string_dtor_0104ccc0 stl Wrapper that calls STL_string_dtor and returns 0x0104CCD0 10 thunk_to_STL_string_dtor_0104ccd0 stl Wrapper that calls STL_string_dtor and returns 0x0104CCE0 10 thunk_to_STL_string_dtor_0104cce0 stl Wrapper that calls STL_string_dtor and returns 0x0104CCF0 10 thunk_to_STL_string_dtor_0104ccf0 stl Wrapper that calls STL_string_dtor and returns 0x0104CD00 10 thunk_to_STL_string_dtor_0104cd00 stl Wrapper that calls STL_string_dtor and returns 0x0104CD10 10 thunk_to_STL_string_dtor_0104cd10 stl Wrapper that calls STL_string_dtor and returns 0x0104CD90 280 atexit_unregister_window_classes_and_cleanup_0104cd90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104CF20 280 atexit_unregister_window_classes_and_cleanup_0104cf20 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104D0B0 280 atexit_unregister_window_classes_and_cleanup_0104d0b0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104D240 280 atexit_unregister_window_classes_and_cleanup_0104d240 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104D3D0 280 atexit_unregister_window_classes_and_cleanup_0104d3d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104D560 280 atexit_unregister_window_classes_and_cleanup_0104d560 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104D680 10 thunk_to_STL_string_dtor_0104d680 stl Wrapper that calls STL_string_dtor and returns 0x0104D690 10 thunk_to_STL_string_dtor_0104d690 stl Wrapper that calls STL_string_dtor and returns 0x0104D6A0 10 thunk_to_STL_string_dtor_0104d6a0 stl Wrapper that calls STL_string_dtor and returns 0x0104D6B0 10 thunk_to_STL_string_dtor_0104d6b0 stl Wrapper that calls STL_string_dtor and returns 0x0104D6C0 10 thunk_to_STL_string_dtor_0104d6c0 stl Wrapper that calls STL_string_dtor and returns 0x0104D6D0 10 thunk_to_STL_string_dtor_0104d6d0 stl Wrapper that calls STL_string_dtor and returns 0x0104D6E0 10 thunk_to_STL_string_dtor_0104d6e0 stl Wrapper that calls STL_string_dtor and returns 0x0104D6F0 10 thunk_to_STL_string_dtor_0104d6f0 stl Wrapper that calls STL_string_dtor and returns 0x0104D700 10 thunk_to_STL_string_dtor_0104d700 stl Wrapper that calls STL_string_dtor and returns 0x0104D710 10 thunk_to_STL_string_dtor_0104d710 stl Wrapper that calls STL_string_dtor and returns 0x0104D720 10 thunk_to_STL_string_dtor_0104d720 stl Wrapper that calls STL_string_dtor and returns 0x0104D730 10 thunk_to_STL_string_dtor_0104d730 stl Wrapper that calls STL_string_dtor destructor 0x0104D740 10 thunk_to_STL_string_dtor_0104d740 stl Wrapper that calls STL_string_dtor and returns 0x0104D750 10 thunk_to_STL_string_dtor_0104d750 stl Wrapper that calls STL_string_dtor and returns 0x0104D760 10 thunk_to_STL_string_dtor_0104d760 stl Wrapper that calls STL_string_dtor and returns 0x0104D770 10 thunk_to_STL_string_dtor_0104d770 stl Wrapper that calls STL_string_dtor and returns 0x0104D780 10 thunk_to_STL_string_dtor_0104d780 stl Wrapper that calls STL_string_dtor and returns 0x0104D790 10 thunk_to_STL_string_dtor_0104d790 stl Wrapper that calls STL_string_dtor and returns 0x0104D7A0 10 thunk_to_STL_string_dtor_0104d7a0 stl Wrapper that calls STL_string_dtor and returns 0x0104D7B0 10 thunk_to_STL_string_dtor_0104d7b0 stl Wrapper that calls STL_string_dtor and returns 0x0104D7C0 10 thunk_to_STL_string_dtor_0104d7c0 stl Wrapper that calls STL_string_dtor and returns 0x0104D7D0 10 thunk_to_STL_string_dtor_0104d7d0 stl Wrapper that calls STL_string_dtor and returns 0x0104D7E0 10 thunk_to_STL_string_dtor_0104d7e0 stl Wrapper that calls STL_string_dtor and returns 0x0104D7F0 10 thunk_to_STL_string_dtor_0104d7f0 stl Wrapper that calls STL_string_dtor and returns 0x0104D800 10 thunk_to_STL_string_dtor_0104d800 stl Wrapper that calls STL_string_dtor and returns 0x0104D880 280 atexit_unregister_window_classes_and_cleanup_0104d880 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104D9B0 10 thunk_to_STL_string_dtor_0104d9b0 stl Wrapper that calls STL_string_dtor and returns 0x0104D9C0 10 thunk_to_STL_string_dtor_0104d9c0 stl Wrapper that calls STL_string_dtor and returns 0x0104D9D0 10 thunk_to_STL_string_dtor_0104d9d0 stl Wrapper that calls STL_string_dtor and returns 0x0104D9E0 10 thunk_to_STL_string_dtor_0104d9e0 stl Wrapper that calls STL_string_dtor and returns 0x0104D9F0 10 thunk_to_STL_string_dtor_0104d9f0 stl Wrapper that calls STL_string_dtor and returns 0x0104DA00 10 thunk_to_STL_string_dtor_0104da00 stl Wrapper that calls STL_string_dtor and returns 0x0104DA10 10 thunk_to_STL_string_dtor_0104da10 stl Wrapper that calls STL_string_dtor and returns 0x0104DA20 10 thunk_to_STL_string_dtor_0104da20 stl Wrapper that calls STL_string_dtor and returns 0x0104DA30 10 thunk_to_STL_string_dtor_0104da30 stl Wrapper that calls STL_string_dtor and returns 0x0104DA40 10 thunk_to_STL_string_dtor_0104da40 stl Wrapper that calls STL_string_dtor and returns 0x0104DA50 10 thunk_to_STL_string_dtor_0104da50 stl Wrapper that calls STL_string_dtor and returns immediately 0x0104DA60 10 thunk_to_STL_string_dtor_0104da60 stl Wrapper that calls STL_string_dtor and returns 0x0104DA70 10 thunk_to_STL_string_dtor_0104da70 stl Wrapper that calls STL_string_dtor and returns 0x0104DA80 10 thunk_to_STL_string_dtor_0104da80 stl Wrapper that calls STL_string_dtor and returns 0x0104DA90 10 thunk_to_STL_string_dtor_0104da90 stl Wrapper that calls STL_string_dtor and returns 0x0104DAA0 10 thunk_to_STL_string_dtor_0104daa0 stl Wrapper that calls STL_string_dtor and returns 0x0104DAB0 10 thunk_to_STL_string_dtor_0104dab0 stl Wrapper that calls STL_string_dtor and returns 0x0104DAC0 10 thunk_to_STL_string_dtor_0104dac0 stl Wrapper that calls STL_string_dtor and returns 0x0104DAD0 10 thunk_to_STL_string_dtor_0104dad0 stl Wrapper that calls STL_string_dtor and returns 0x0104DAE0 10 thunk_to_STL_string_dtor_0104dae0 stl Wrapper that calls STL_string_dtor and returns 0x0104DAF0 10 thunk_to_STL_string_dtor_0104daf0 stl Wrapper that calls STL_string_dtor and returns 0x0104DB00 10 thunk_to_STL_string_dtor_0104db00 stl Wrapper that calls STL_string_dtor and returns 0x0104DB10 10 thunk_to_STL_string_dtor_0104db10 stl Wrapper that calls STL_string_dtor and returns 0x0104DB20 10 thunk_to_STL_string_dtor_0104db20 stl Wrapper that calls STL_string_dtor and returns 0x0104DB30 10 thunk_to_STL_string_dtor_0104db30 stl Wrapper that calls STL_string_dtor and returns 0x0104DBB0 280 atexit_unregister_window_classes_and_cleanup_0104dbb0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104DCD0 66 atexit_STL_map_destroy_0104dcd0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x0104DD20 10 thunk_to_STL_string_dtor_0104dd20 stl Wrapper that calls STL_string_dtor and returns 0x0104DD30 10 thunk_to_STL_string_dtor_0104dd30 stl Wrapper that calls STL_string_dtor and returns 0x0104DD40 10 thunk_to_STL_string_dtor_0104dd40 stl Wrapper that calls STL_string_dtor and returns 0x0104DD50 10 thunk_to_STL_string_dtor_0104dd50 stl Wrapper that calls STL_string_dtor and returns 0x0104DD60 10 thunk_to_STL_string_dtor_0104dd60 stl Wrapper that calls STL_string_dtor and returns 0x0104DD70 10 thunk_to_STL_string_dtor_0104dd70 stl Wrapper that calls STL_string_dtor and returns 0x0104DD80 10 thunk_to_STL_string_dtor_0104dd80 stl Wrapper that calls STL_string_dtor and returns 0x0104DD90 10 thunk_to_STL_string_dtor_0104dd90 stl Wrapper that calls STL_string_dtor and returns 0x0104DDA0 10 thunk_to_STL_string_dtor_0104dda0 stl Wrapper that calls STL_string_dtor and returns 0x0104DDB0 10 thunk_to_STL_string_dtor_0104ddb0 stl Wrapper that calls STL_string_dtor and returns 0x0104DDC0 10 thunk_to_STL_string_dtor_0104ddc0 stl Wrapper that calls STL_string_dtor and returns 0x0104DDD0 10 thunk_to_STL_string_dtor_0104ddd0 stl Wrapper that calls STL_string_dtor and returns 0x0104DDE0 10 thunk_to_STL_string_dtor_0104dde0 stl Wrapper that calls STL_string_dtor and returns 0x0104DDF0 10 thunk_to_STL_string_dtor_0104ddf0 stl Wrapper that calls STL_string_dtor and returns 0x0104DE00 10 thunk_to_STL_string_dtor_0104de00 stl Wrapper that calls STL_string_dtor and returns 0x0104DE10 10 thunk_to_STL_string_dtor_0104de10 stl Wrapper that calls STL_string_dtor and returns 0x0104DE20 10 thunk_to_STL_string_dtor_0104de20 stl Wrapper that calls STL_string_dtor and returns 0x0104DE30 10 thunk_to_STL_string_dtor_0104de30 stl Wrapper function that calls STL_string_dtor and returns 0x0104DE40 10 thunk_to_STL_string_dtor_0104de40 stl Wrapper that calls STL_string_dtor and returns 0x0104DE50 10 thunk_to_STL_string_dtor_0104de50 stl Wrapper that calls STL_string_dtor and returns 0x0104DE60 10 thunk_to_STL_string_dtor_0104de60 stl Wrapper that calls STL_string_dtor and returns 0x0104DE70 10 thunk_to_STL_string_dtor_0104de70 stl Wrapper that calls STL_string_dtor and returns 0x0104DE80 10 thunk_to_STL_string_dtor_0104de80 stl Wrapper that calls STL_string_dtor and returns 0x0104DE90 10 thunk_to_STL_string_dtor_0104de90 stl Wrapper that calls STL_string_dtor and returns 0x0104DEA0 10 thunk_to_STL_string_dtor_0104dea0 stl Wrapper that calls STL_string_dtor and returns 0x0104DF20 280 atexit_unregister_window_classes_and_cleanup_0104df20 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104E040 10 thunk_to_STL_string_dtor_0104e040 stl Wrapper function that calls STL_string_dtor and returns 0x0104E050 10 thunk_to_STL_string_dtor_0104e050 stl Wrapper that calls STL_string_dtor and returns 0x0104E060 10 thunk_to_STL_string_dtor_0104e060 stl Wrapper that calls STL_string_dtor and returns 0x0104E070 10 thunk_to_STL_string_dtor_0104e070 stl Wrapper that calls STL_string_dtor and returns 0x0104E080 10 thunk_to_STL_string_dtor_0104e080 stl Wrapper that calls STL_string_dtor and returns 0x0104E090 10 thunk_to_STL_string_dtor_0104e090 stl Wrapper that calls STL_string_dtor and returns 0x0104E0A0 10 thunk_to_STL_string_dtor_0104e0a0 stl Wrapper that calls STL_string_dtor and returns 0x0104E0B0 10 thunk_to_STL_string_dtor_0104e0b0 stl Wrapper that calls STL_string_dtor and returns 0x0104E0C0 10 thunk_to_STL_string_dtor_0104e0c0 stl Wrapper that calls STL_string_dtor and returns 0x0104E0D0 10 thunk_to_STL_string_dtor_0104e0d0 stl Wrapper that calls STL_string_dtor and returns 0x0104E0E0 10 thunk_to_STL_string_dtor_0104e0e0 stl Wrapper that calls STL_string_dtor and returns 0x0104E0F0 10 thunk_to_STL_string_dtor_0104e0f0 stl Wrapper that calls STL_string_dtor and returns 0x0104E100 10 thunk_to_STL_string_dtor_0104e100 stl Wrapper that calls STL_string_dtor and returns 0x0104E110 10 thunk_to_STL_string_dtor_0104e110 stl Wrapper that calls STL_string_dtor and returns 0x0104E120 10 thunk_to_STL_string_dtor_0104e120 stl Wrapper that calls STL_string_dtor and returns 0x0104E130 10 thunk_to_STL_string_dtor_0104e130 stl Wrapper that calls STL_string_dtor and returns 0x0104E140 10 thunk_to_STL_string_dtor_0104e140 stl Wrapper that calls STL_string_dtor and returns 0x0104E150 10 thunk_to_STL_string_dtor_0104e150 stl Wrapper that calls STL_string_dtor and returns 0x0104E160 10 thunk_to_STL_string_dtor_0104e160 stl Wrapper that calls STL_string_dtor and returns 0x0104E170 10 thunk_to_STL_string_dtor_0104e170 stl Wrapper that calls STL_string_dtor and returns 0x0104E180 10 thunk_to_STL_string_dtor_0104e180 stl Wrapper that calls STL_string_dtor and returns 0x0104E190 10 thunk_to_STL_string_dtor_0104e190 stl Wrapper that calls STL_string_dtor and returns 0x0104E1A0 10 thunk_to_STL_string_dtor_0104e1a0 stl Wrapper that calls STL_string_dtor and returns 0x0104E1B0 10 thunk_to_STL_string_dtor_0104e1b0 stl Wrapper that calls STL_string_dtor and returns 0x0104E1C0 10 thunk_to_STL_string_dtor_0104e1c0 stl Wrapper that calls STL_string_dtor and returns 0x0104E240 280 atexit_unregister_window_classes_and_cleanup_0104e240 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104E360 10 thunk_to_STL_string_dtor_0104e360 stl Wrapper that calls STL_string_dtor and returns 0x0104E370 10 thunk_to_STL_string_dtor_0104e370 stl Wrapper that calls STL_string_dtor and returns 0x0104E380 10 thunk_to_STL_string_dtor_0104e380 stl Wrapper that calls STL_string_dtor and returns 0x0104E390 10 thunk_to_STL_string_dtor_0104e390 stl Wrapper that calls STL_string_dtor and returns 0x0104E3A0 10 thunk_to_STL_string_dtor_0104e3a0 stl Wrapper that calls STL_string_dtor and returns 0x0104E3B0 10 thunk_to_STL_string_dtor_0104e3b0 stl Wrapper that calls STL_string_dtor and returns 0x0104E3C0 10 thunk_to_STL_string_dtor_0104e3c0 stl Wrapper function that calls STL_string_dtor and returns 0x0104E3D0 10 thunk_to_STL_string_dtor_0104e3d0 stl Wrapper that calls STL_string_dtor and returns 0x0104E3E0 10 thunk_to_STL_string_dtor_0104e3e0 stl Wrapper that calls STL_string_dtor and returns 0x0104E3F0 10 thunk_to_STL_string_dtor_0104e3f0 stl Wrapper that calls STL_string_dtor and returns 0x0104E400 10 thunk_to_STL_string_dtor_0104e400 stl Wrapper that calls STL_string_dtor and returns 0x0104E410 10 thunk_to_STL_string_dtor_0104e410 stl Wrapper that calls STL_string_dtor and returns 0x0104E420 10 thunk_to_STL_string_dtor_0104e420 stl Wrapper that calls STL_string_dtor and returns 0x0104E430 10 thunk_to_STL_string_dtor_0104e430 stl Wrapper that calls STL_string_dtor and returns 0x0104E440 10 thunk_to_STL_string_dtor_0104e440 stl Wrapper that calls STL string destructor 0x0104E450 10 thunk_to_STL_string_dtor_0104e450 stl Wrapper that calls STL_string_dtor and returns 0x0104E460 10 thunk_to_STL_string_dtor_0104e460 stl Wrapper that calls STL_string_dtor and returns 0x0104E470 10 thunk_to_STL_string_dtor_0104e470 stl Wrapper that calls STL_string_dtor and returns 0x0104E480 10 thunk_to_STL_string_dtor_0104e480 stl Wrapper that calls STL_string_dtor and returns 0x0104E490 10 thunk_to_STL_string_dtor_0104e490 stl Wrapper that calls STL_string_dtor and returns 0x0104E4A0 10 thunk_to_STL_string_dtor_0104e4a0 stl Wrapper that calls STL_string_dtor and returns 0x0104E4B0 10 thunk_to_STL_string_dtor_0104e4b0 stl Wrapper that calls STL_string_dtor and returns 0x0104E4C0 10 thunk_to_STL_string_dtor_0104e4c0 stl Wrapper that calls STL_string_dtor and returns 0x0104E4D0 10 thunk_to_STL_string_dtor_0104e4d0 stl Wrapper that calls STL_string_dtor and returns 0x0104E4E0 10 thunk_to_STL_string_dtor_0104e4e0 stl Wrapper that calls STL_string_dtor and returns 0x0104E560 280 atexit_unregister_window_classes_and_cleanup_0104e560 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104E680 10 thunk_to_STL_string_dtor_0104e680 stl Wrapper that calls STL_string_dtor and returns 0x0104E690 10 thunk_to_STL_string_dtor_0104e690 stl Wrapper that calls STL_string_dtor and returns 0x0104E6A0 10 thunk_to_STL_string_dtor_0104e6a0 stl Wrapper that calls STL_string_dtor and returns 0x0104E6B0 10 thunk_to_STL_string_dtor_0104e6b0 stl Wrapper that calls STL_string_dtor and returns 0x0104E6C0 10 thunk_to_STL_string_dtor_0104e6c0 stl Wrapper that calls STL_string_dtor and returns 0x0104E6D0 10 thunk_to_STL_string_dtor_0104e6d0 stl Wrapper that calls STL_string_dtor and returns 0x0104E6E0 10 thunk_to_STL_string_dtor_0104e6e0 stl Wrapper that calls STL_string_dtor and returns 0x0104E6F0 10 thunk_to_STL_string_dtor_0104e6f0 stl Wrapper that calls STL_string_dtor and returns 0x0104E700 10 thunk_to_STL_string_dtor_0104e700 stl Wrapper that calls STL_string_dtor and returns 0x0104E710 10 thunk_to_STL_string_dtor_0104e710 stl Wrapper that calls STL_string_dtor and returns 0x0104E720 10 thunk_to_STL_string_dtor_0104e720 stl Wrapper that calls STL_string_dtor and returns 0x0104E730 10 thunk_to_STL_string_dtor_0104e730 stl Wrapper that calls STL_string_dtor and returns 0x0104E740 10 thunk_to_STL_string_dtor_0104e740 stl Wrapper that calls STL string destructor 0x0104E750 10 thunk_to_STL_string_dtor_0104e750 stl Wrapper that calls STL_string_dtor and returns 0x0104E760 10 thunk_to_STL_string_dtor_0104e760 stl Wrapper that calls STL_string_dtor and returns 0x0104E770 10 thunk_to_STL_string_dtor_0104e770 stl Wrapper that calls STL_string_dtor and returns 0x0104E780 10 thunk_to_STL_string_dtor_0104e780 stl Wrapper that calls STL_string_dtor and returns 0x0104E790 10 thunk_to_STL_string_dtor_0104e790 stl Wrapper that calls STL_string_dtor and returns 0x0104E7A0 10 thunk_to_STL_string_dtor_0104e7a0 stl Wrapper that calls STL_string_dtor and returns 0x0104E7B0 10 thunk_to_STL_string_dtor_0104e7b0 stl Wrapper that calls STL_string_dtor and returns 0x0104E7C0 10 thunk_to_STL_string_dtor_0104e7c0 stl Wrapper that calls STL_string_dtor and returns 0x0104E7D0 10 thunk_to_STL_string_dtor_0104e7d0 stl Wrapper that calls STL_string_dtor and returns 0x0104E7E0 10 thunk_to_STL_string_dtor_0104e7e0 stl Wrapper that calls STL_string_dtor and returns 0x0104E7F0 10 thunk_to_STL_string_dtor_0104e7f0 stl Wrapper that calls STL_string_dtor and returns 0x0104E800 10 thunk_to_STL_string_dtor_0104e800 stl Wrapper that calls STL_string_dtor and returns 0x0104E880 280 atexit_unregister_window_classes_and_cleanup_0104e880 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104E9A0 66 atexit_CRenderPipeline_destroy_wrapper_0104e9a0 crt SEH-protected atexit wrapper that calls CRenderPipeline__destroy_linked_list_and_vector to clean up render pipeline resources. 0x0104E9F0 10 thunk_to_STL_string_dtor_0104e9f0 stl Wrapper that calls STL_string_dtor and returns 0x0104EA00 10 thunk_to_STL_string_dtor_0104ea00 stl Wrapper that calls STL_string_dtor and returns 0x0104EA10 10 thunk_to_STL_string_dtor_0104ea10 stl Wrapper that calls STL_string_dtor and returns 0x0104EA20 10 thunk_to_STL_string_dtor_0104ea20 stl Wrapper that calls STL_string_dtor and returns 0x0104EA30 10 thunk_to_STL_string_dtor_0104ea30 stl Wrapper that calls STL_string_dtor and returns 0x0104EA40 10 thunk_to_STL_string_dtor_0104ea40 stl Wrapper that calls STL_string_dtor and returns 0x0104EA50 10 thunk_to_STL_string_dtor_0104ea50 stl Wrapper that calls STL_string_dtor and returns 0x0104EA60 10 thunk_to_STL_string_dtor_0104ea60 stl Wrapper that calls STL_string_dtor and returns 0x0104EA70 10 thunk_to_STL_string_dtor_0104ea70 stl Wrapper that calls STL_string_dtor and returns 0x0104EA80 10 thunk_to_STL_string_dtor_0104ea80 stl Wrapper that calls STL_string_dtor and returns 0x0104EA90 10 thunk_to_STL_string_dtor_0104ea90 stl Wrapper function that calls STL_string_dtor and returns 0x0104EAA0 10 thunk_to_STL_string_dtor_0104eaa0 stl Wrapper that calls STL_string_dtor and returns 0x0104EAB0 10 thunk_to_STL_string_dtor_0104eab0 stl Wrapper that calls STL_string_dtor and returns 0x0104EAC0 10 thunk_to_STL_string_dtor_0104eac0 stl Wrapper that calls STL_string_dtor and returns 0x0104EAD0 10 thunk_to_STL_string_dtor_0104ead0 stl Wrapper that calls STL_string_dtor and returns 0x0104EAE0 10 thunk_to_STL_string_dtor_0104eae0 stl Wrapper that calls STL_string_dtor and returns 0x0104EAF0 10 thunk_to_STL_string_dtor_0104eaf0 stl Wrapper that calls STL_string_dtor and returns 0x0104EB00 10 thunk_to_STL_string_dtor_0104eb00 stl Wrapper that calls STL_string_dtor and returns 0x0104EB10 10 thunk_to_STL_string_dtor_0104eb10 stl Wrapper that calls STL_string_dtor and returns 0x0104EB20 10 thunk_to_STL_string_dtor_0104eb20 stl Wrapper that calls STL_string_dtor and returns 0x0104EB30 10 thunk_to_STL_string_dtor_0104eb30 stl Wrapper that calls STL_string_dtor and returns 0x0104EB40 10 thunk_to_STL_string_dtor_0104eb40 stl Wrapper that calls STL_string_dtor and returns 0x0104EB50 10 thunk_to_STL_string_dtor_0104eb50 stl Wrapper that calls STL_string_dtor and returns 0x0104EB60 10 thunk_to_STL_string_dtor_0104eb60 stl Wrapper that calls STL_string_dtor and returns 0x0104EB70 10 thunk_to_STL_string_dtor_0104eb70 stl Wrapper that calls STL_string_dtor and returns 0x0104EBF0 280 atexit_unregister_window_classes_and_cleanup_0104ebf0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104ED10 10 thunk_to_STL_string_dtor_0104ed10 stl Wrapper that calls STL_string_dtor and returns 0x0104ED20 10 thunk_to_STL_string_dtor_0104ed20 stl Wrapper that calls STL_string_dtor and returns 0x0104ED30 10 thunk_to_STL_string_dtor_0104ed30 stl Wrapper that calls STL_string_dtor and returns 0x0104ED40 10 thunk_to_STL_string_dtor_0104ed40 stl Wrapper that calls STL_string_dtor and returns 0x0104ED50 10 thunk_to_STL_string_dtor_0104ed50 stl Wrapper that calls STL_string_dtor and returns 0x0104ED60 10 thunk_to_STL_string_dtor_0104ed60 stl Wrapper function that calls STL_string_dtor and returns 0x0104ED70 10 thunk_to_STL_string_dtor_0104ed70 stl Wrapper that calls STL_string_dtor and returns 0x0104ED80 10 thunk_to_STL_string_dtor_0104ed80 stl Wrapper that calls STL_string_dtor and returns 0x0104ED90 10 thunk_to_STL_string_dtor_0104ed90 stl Wrapper that calls STL_string_dtor and returns 0x0104EDA0 10 thunk_to_STL_string_dtor_0104eda0 stl Wrapper that calls STL_string_dtor and returns 0x0104EDB0 10 thunk_to_STL_string_dtor_0104edb0 stl Wrapper that calls STL_string_dtor and returns 0x0104EDC0 10 thunk_to_STL_string_dtor_0104edc0 stl Wrapper that calls STL_string_dtor and returns 0x0104EDD0 10 thunk_to_STL_string_dtor_0104edd0 stl Wrapper that calls STL_string_dtor and returns 0x0104EDE0 10 thunk_to_STL_string_dtor_0104ede0 stl Wrapper that calls STL_string_dtor and returns 0x0104EDF0 10 thunk_to_STL_string_dtor_0104edf0 stl Wrapper that calls STL_string_dtor and returns 0x0104EE00 10 thunk_to_STL_string_dtor_0104ee00 stl Wrapper that calls STL_string_dtor and returns 0x0104EE10 10 thunk_to_STL_string_dtor_0104ee10 stl Wrapper that calls STL_string_dtor and returns 0x0104EE20 10 thunk_to_STL_string_dtor_0104ee20 stl Wrapper that calls STL_string_dtor and returns 0x0104EE30 10 thunk_to_STL_string_dtor_0104ee30 stl Wrapper that calls STL_string_dtor and returns 0x0104EE40 10 thunk_to_STL_string_dtor_0104ee40 stl Wrapper that calls STL_string_dtor and returns 0x0104EE50 10 thunk_to_STL_string_dtor_0104ee50 stl Wrapper that calls STL_string_dtor and returns 0x0104EE60 10 thunk_to_STL_string_dtor_0104ee60 stl Wrapper that calls STL_string_dtor and returns 0x0104EE70 10 thunk_to_STL_string_dtor_0104ee70 stl Wrapper that calls STL_string_dtor and returns 0x0104EE80 10 thunk_to_STL_string_dtor_0104ee80 stl Wrapper that calls STL_string_dtor and returns 0x0104EE90 10 thunk_to_STL_string_dtor_0104ee90 stl Wrapper that calls STL_string_dtor and returns 0x0104EF10 280 atexit_unregister_window_classes_and_cleanup_0104ef10 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104F030 10 thunk_to_STL_string_dtor_0104f030 stl Wrapper that calls STL_string_dtor and returns 0x0104F040 10 thunk_to_STL_string_dtor_0104f040 stl Wrapper that calls STL_string_dtor and returns 0x0104F050 10 thunk_to_STL_string_dtor_0104f050 stl Wrapper that calls STL_string_dtor and returns 0x0104F060 10 thunk_to_STL_string_dtor_0104f060 stl Wrapper that calls STL_string_dtor and returns 0x0104F070 10 thunk_to_STL_string_dtor_0104f070 stl Wrapper that calls STL_string_dtor and returns 0x0104F080 10 thunk_to_STL_string_dtor_0104f080 stl Wrapper that calls STL_string_dtor and returns 0x0104F090 10 thunk_to_STL_string_dtor_0104f090 stl Wrapper that calls STL_string_dtor and returns 0x0104F0A0 10 thunk_to_STL_string_dtor_0104f0a0 stl Wrapper that calls STL_string_dtor and returns 0x0104F0B0 10 thunk_to_STL_string_dtor_0104f0b0 stl Wrapper that calls STL_string_dtor and returns 0x0104F0C0 10 thunk_to_STL_string_dtor_0104f0c0 stl Wrapper that calls STL_string_dtor and returns 0x0104F0D0 10 thunk_to_STL_string_dtor_0104f0d0 stl Wrapper that calls STL_string_dtor and returns 0x0104F0E0 10 thunk_to_STL_string_dtor_0104f0e0 stl Wrapper that calls STL_string_dtor and returns 0x0104F0F0 10 thunk_to_STL_string_dtor_0104f0f0 stl Wrapper that calls STL_string_dtor and returns 0x0104F100 10 thunk_to_STL_string_dtor_0104f100 stl Wrapper that calls STL_string_dtor and returns 0x0104F110 10 thunk_to_STL_string_dtor_0104f110 stl Wrapper that calls STL_string_dtor and returns 0x0104F120 10 thunk_to_STL_string_dtor_0104f120 stl Wrapper that calls STL_string_dtor and returns 0x0104F130 10 thunk_to_STL_string_dtor_0104f130 stl Wrapper that calls STL_string_dtor and returns 0x0104F140 10 thunk_to_STL_string_dtor_0104f140 stl Wrapper that calls STL_string_dtor and returns 0x0104F150 10 thunk_to_STL_string_dtor_0104f150 stl Wrapper that calls STL_string_dtor and returns 0x0104F160 10 thunk_to_STL_string_dtor_0104f160 stl Wrapper that calls STL_string_dtor and returns 0x0104F170 10 thunk_to_STL_string_dtor_0104f170 stl Wrapper that calls STL_string_dtor and returns 0x0104F180 10 thunk_to_STL_string_dtor_0104f180 stl Wrapper that calls STL_string_dtor and returns 0x0104F190 10 thunk_to_STL_string_dtor_0104f190 stl Wrapper that calls STL_string_dtor and returns 0x0104F1A0 10 thunk_to_STL_string_dtor_0104f1a0 stl Wrapper that calls STL_string_dtor and returns 0x0104F1B0 10 thunk_to_STL_string_dtor_0104f1b0 stl Wrapper that calls STL_string_dtor and returns 0x0104F230 280 atexit_unregister_window_classes_and_cleanup_0104f230 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104F350 10 thunk_to_STL_string_dtor_0104f350 stl Wrapper that calls STL_string_dtor and returns 0x0104F360 10 thunk_to_STL_string_dtor_0104f360 stl Wrapper that calls STL_string_dtor and returns 0x0104F370 10 thunk_to_STL_string_dtor_0104f370 stl Wrapper that calls STL_string_dtor and returns 0x0104F380 10 thunk_to_STL_string_dtor_0104f380 stl Wrapper that calls STL_string_dtor and returns 0x0104F390 10 thunk_to_STL_string_dtor_0104f390 stl Wrapper that calls STL_string_dtor and returns 0x0104F3A0 10 thunk_to_STL_string_dtor_0104f3a0 stl Wrapper that calls STL_string_dtor and returns 0x0104F3B0 10 thunk_to_STL_string_dtor_0104f3b0 stl Wrapper that calls STL_string_dtor and returns 0x0104F3D0 10 thunk_to_STL_string_dtor_0104f3d0 stl Wrapper that calls STL_string_dtor and returns 0x0104F3E0 10 thunk_to_STL_string_dtor_0104f3e0 stl Wrapper that calls STL_string_dtor and returns 0x0104F3F0 10 thunk_to_STL_string_dtor_0104f3f0 stl Wrapper that calls STL_string_dtor and returns 0x0104F400 10 thunk_to_STL_string_dtor_0104f400 stl Wrapper that calls STL_string_dtor and returns 0x0104F410 10 thunk_to_STL_string_dtor_0104f410 stl Wrapper that calls STL_string_dtor and returns 0x0104F420 10 thunk_to_STL_string_dtor_0104f420 stl Wrapper that calls STL_string_dtor and returns 0x0104F430 10 thunk_to_STL_string_dtor_0104f430 stl Wrapper that calls STL_string_dtor and returns 0x0104F440 10 thunk_to_STL_string_dtor_0104f440 stl Wrapper that calls STL_string_dtor and returns immediately 0x0104F450 10 thunk_to_STL_string_dtor_0104f450 stl Wrapper that calls STL_string_dtor and returns 0x0104F460 10 thunk_to_STL_string_dtor_0104f460 stl Wrapper that calls STL_string_dtor and returns 0x0104F470 10 thunk_to_STL_string_dtor_0104f470 stl Wrapper that calls STL_string_dtor and returns 0x0104F480 10 thunk_to_STL_string_dtor_0104f480 stl Wrapper that calls STL_string_dtor and returns 0x0104F490 10 thunk_to_STL_string_dtor_0104f490 stl Wrapper that calls STL_string_dtor and returns 0x0104F4A0 10 thunk_to_STL_string_dtor_0104f4a0 stl Wrapper that calls STL_string_dtor and returns 0x0104F4B0 10 thunk_to_STL_string_dtor_0104f4b0 stl Wrapper that calls STL_string_dtor and returns 0x0104F4C0 10 thunk_to_STL_string_dtor_0104f4c0 stl Wrapper that calls STL_string_dtor and returns 0x0104F4D0 10 thunk_to_STL_string_dtor_0104f4d0 stl Wrapper that calls STL_string_dtor and returns 0x0104F550 280 atexit_unregister_window_classes_and_cleanup_0104f550 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the associated critical section, and resets all globals. Identical logic to the copy at 0x0104f230. 0x0104F670 10 thunk_to_STL_string_dtor_0104f670 stl Wrapper that calls STL_string_dtor and returns 0x0104F680 10 thunk_to_STL_string_dtor_0104f680 stl Wrapper that calls STL_string_dtor and returns 0x0104F690 10 thunk_to_STL_string_dtor_0104f690 stl Wrapper that calls STL_string_dtor and returns 0x0104F6A0 10 thunk_to_STL_string_dtor_0104f6a0 stl Wrapper that calls STL_string_dtor and returns 0x0104F6B0 10 thunk_to_STL_string_dtor_0104f6b0 stl Wrapper that calls STL_string_dtor and returns 0x0104F6C0 10 thunk_to_STL_string_dtor_0104f6c0 stl Wrapper that calls STL_string_dtor and returns 0x0104F6D0 10 thunk_to_STL_string_dtor_0104f6d0 stl Wrapper that calls STL_string_dtor and returns 0x0104F6E0 10 thunk_to_STL_string_dtor_0104f6e0 stl Wrapper that calls STL_string_dtor and returns 0x0104F6F0 10 thunk_to_STL_string_dtor_0104f6f0 stl Wrapper that calls STL_string_dtor and returns 0x0104F700 10 thunk_to_STL_string_dtor_0104f700 stl Wrapper that calls STL_string_dtor and returns 0x0104F710 10 thunk_to_STL_string_dtor_0104f710 stl Wrapper that calls STL_string_dtor and returns 0x0104F720 10 thunk_to_STL_string_dtor_0104f720 stl Wrapper that calls STL_string_dtor and returns 0x0104F730 10 thunk_to_STL_string_dtor_0104f730 stl Wrapper that calls STL_string_dtor and returns 0x0104F740 10 thunk_to_STL_string_dtor_0104f740 stl Wrapper that calls STL_string_dtor and returns 0x0104F750 10 thunk_to_STL_string_dtor_0104f750 stl Wrapper that calls STL_string_dtor and returns 0x0104F760 10 thunk_to_STL_string_dtor_0104f760 stl Wrapper that calls STL_string_dtor and returns 0x0104F770 10 thunk_to_STL_string_dtor_0104f770 stl Wrapper that calls STL_string_dtor and returns 0x0104F780 10 thunk_to_STL_string_dtor_0104f780 stl Wrapper that calls STL_string_dtor and returns 0x0104F790 10 thunk_to_STL_string_dtor_0104f790 stl Wrapper that calls STL_string_dtor and returns 0x0104F7A0 10 thunk_to_STL_string_dtor_0104f7a0 stl Wrapper that calls STL_string_dtor and returns 0x0104F7B0 10 thunk_to_STL_string_dtor_0104f7b0 stl Wrapper that calls STL_string_dtor and returns 0x0104F7C0 10 thunk_to_STL_string_dtor_0104f7c0 stl Wrapper that calls STL_string_dtor and returns 0x0104F7D0 10 thunk_to_STL_string_dtor_0104f7d0 stl Wrapper that calls STL_string_dtor and returns 0x0104F7E0 10 thunk_to_STL_string_dtor_0104f7e0 stl Wrapper that calls STL_string_dtor and returns 0x0104F7F0 10 thunk_to_STL_string_dtor_0104f7f0 stl Wrapper that calls STL_string_dtor and returns 0x0104F870 280 atexit_unregister_window_classes_and_cleanup_0104f870 crt atexit cleanup: unregisters window class atoms, frees atom array, deletes critical section, resets global state. Duplicate of atexit_unregister_window_classes_and_cleanup pattern. 0x0104F990 10 thunk_to_STL_string_dtor_0104f990 stl Wrapper that calls STL_string_dtor and returns 0x0104F9A0 10 thunk_to_STL_string_dtor_0104f9a0 stl Wrapper that calls STL_string_dtor and returns 0x0104F9B0 10 thunk_to_STL_string_dtor_0104f9b0 stl Wrapper that calls STL_string_dtor and returns 0x0104F9C0 10 thunk_to_STL_string_dtor_0104f9c0 stl Wrapper that calls STL_string_dtor and returns 0x0104F9D0 10 thunk_to_STL_string_dtor_0104f9d0 stl Wrapper that calls STL_string_dtor and returns 0x0104F9E0 10 thunk_to_STL_string_dtor_0104f9e0 stl Wrapper that calls STL_string_dtor and returns 0x0104F9F0 10 thunk_to_STL_string_dtor_0104f9f0 stl Wrapper that calls STL_string_dtor and returns 0x0104FA00 10 thunk_to_STL_string_dtor_0104fa00 stl Wrapper that calls STL_string_dtor destructor 0x0104FA10 10 thunk_to_STL_string_dtor_0104fa10 stl Wrapper that calls STL_string_dtor and returns 0x0104FA20 10 thunk_to_STL_string_dtor_0104fa20 stl Wrapper that calls STL_string_dtor and returns 0x0104FA30 10 thunk_to_STL_string_dtor_0104fa30 stl Wrapper that calls STL_string_dtor and returns 0x0104FA40 10 thunk_to_STL_string_dtor_0104fa40 stl Wrapper that calls STL_string_dtor and returns 0x0104FA50 10 thunk_to_STL_string_dtor_0104fa50 stl Wrapper that calls STL_string_dtor and returns 0x0104FA60 10 thunk_to_STL_string_dtor_0104fa60 stl Wrapper that calls STL_string_dtor and returns 0x0104FA70 10 thunk_to_STL_string_dtor_0104fa70 stl Wrapper that calls STL_string_dtor and returns 0x0104FA80 10 thunk_to_STL_string_dtor_0104fa80 stl Wrapper that calls STL_string_dtor and returns 0x0104FA90 10 thunk_to_STL_string_dtor_0104fa90 stl Wrapper that calls STL_string_dtor and returns 0x0104FAA0 10 thunk_to_STL_string_dtor_0104faa0 stl Wrapper that calls STL_string_dtor and returns 0x0104FAB0 10 thunk_to_STL_string_dtor_0104fab0 stl Wrapper that calls STL_string_dtor and returns 0x0104FAC0 10 thunk_to_STL_string_dtor_0104fac0 stl Wrapper function that calls STL_string_dtor and returns 0x0104FAD0 10 thunk_to_STL_string_dtor_0104fad0 stl Wrapper that calls STL_string_dtor and returns 0x0104FAE0 10 thunk_to_STL_string_dtor_0104fae0 stl Wrapper that calls STL_string_dtor and returns 0x0104FAF0 10 thunk_to_STL_string_dtor_0104faf0 stl Wrapper that calls STL_string_dtor and returns 0x0104FB00 10 thunk_to_STL_string_dtor_0104fb00 stl Wrapper that calls STL_string_dtor and returns 0x0104FB10 10 thunk_to_STL_string_dtor_0104fb10 stl Wrapper that calls STL_string_dtor and returns 0x0104FB90 280 atexit_unregister_window_classes_and_cleanup_0104fb90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104FCB0 10 thunk_to_STL_string_dtor_0104fcb0 stl Wrapper that calls STL_string_dtor and returns 0x0104FCC0 10 thunk_to_STL_string_dtor_0104fcc0 stl Wrapper that calls STL_string_dtor and returns 0x0104FCD0 10 thunk_to_STL_string_dtor_0104fcd0 stl Wrapper that calls STL_string_dtor and returns 0x0104FCE0 10 thunk_to_STL_string_dtor_0104fce0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0104FCF0 10 thunk_to_STL_string_dtor_0104fcf0 stl Wrapper that calls STL_string_dtor and returns 0x0104FD00 10 thunk_to_STL_string_dtor_0104fd00 stl Wrapper that calls STL_string_dtor and returns 0x0104FD10 10 thunk_to_STL_string_dtor_0104fd10 stl Wrapper that calls STL_string_dtor and returns 0x0104FD20 10 thunk_to_STL_string_dtor_0104fd20 stl Wrapper that calls STL_string_dtor and returns 0x0104FD30 10 thunk_to_STL_string_dtor_0104fd30 stl Wrapper that calls STL_string_dtor and returns 0x0104FD40 10 thunk_to_STL_string_dtor_0104fd40 stl Wrapper that calls STL_string_dtor and returns 0x0104FD50 10 thunk_to_STL_string_dtor_0104fd50 stl Wrapper that calls STL_string_dtor and returns 0x0104FD60 10 thunk_to_STL_string_dtor_0104fd60 stl Wrapper that calls STL_string_dtor and returns 0x0104FD70 10 thunk_to_STL_string_dtor_0104fd70 stl Wrapper that calls STL_string_dtor and returns 0x0104FD80 10 thunk_to_STL_string_dtor_0104fd80 stl Wrapper function that calls STL_string_dtor and returns 0x0104FD90 10 thunk_to_STL_string_dtor_0104fd90 stl Wrapper that calls STL_string_dtor and returns 0x0104FDA0 10 thunk_to_STL_string_dtor_0104fda0 stl Wrapper that calls STL_string_dtor and returns 0x0104FDB0 10 thunk_to_STL_string_dtor_0104fdb0 stl Wrapper that calls STL_string_dtor and returns 0x0104FDC0 10 thunk_to_STL_string_dtor_0104fdc0 stl Wrapper that calls STL_string_dtor and returns 0x0104FDD0 10 thunk_to_STL_string_dtor_0104fdd0 stl Wrapper that calls STL_string_dtor and returns 0x0104FDE0 10 thunk_to_STL_string_dtor_0104fde0 stl Wrapper that calls STL_string_dtor and returns 0x0104FDF0 10 thunk_to_STL_string_dtor_0104fdf0 stl Wrapper that calls STL_string_dtor and returns 0x0104FE00 10 thunk_to_STL_string_dtor_0104fe00 stl Wrapper that calls STL_string_dtor and returns 0x0104FE10 10 thunk_to_STL_string_dtor_0104fe10 stl Wrapper that calls STL_string_dtor and returns 0x0104FE20 10 thunk_to_STL_string_dtor_0104fe20 stl Wrapper that calls STL_string_dtor and returns 0x0104FE30 10 thunk_to_STL_string_dtor_0104fe30 stl Wrapper that calls STL_string_dtor and returns 0x0104FEB0 280 atexit_unregister_window_classes_and_cleanup_0104feb0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0104FFD0 10 thunk_to_STL_string_dtor_0104ffd0 stl Wrapper that calls STL_string_dtor and returns 0x0104FFE0 10 thunk_to_STL_string_dtor_0104ffe0 stl Wrapper that calls STL_string_dtor and returns 0x0104FFF0 10 thunk_to_STL_string_dtor_0104fff0 stl Wrapper that calls STL_string_dtor and returns 0x01050000 10 thunk_to_STL_string_dtor_01050000 stl Wrapper that calls STL_string_dtor and returns 0x01050010 10 thunk_to_STL_string_dtor_01050010 stl Wrapper that calls STL_string_dtor and returns 0x01050020 10 thunk_to_STL_string_dtor_01050020 stl Wrapper that calls STL_string_dtor and returns 0x01050030 10 thunk_to_STL_string_dtor_01050030 stl Wrapper that calls STL_string_dtor and returns 0x01050040 10 thunk_to_STL_string_dtor_01050040 stl Wrapper that calls STL_string_dtor and returns 0x01050050 10 thunk_to_STL_string_dtor_01050050 stl Wrapper that calls STL_string_dtor and returns 0x01050060 10 thunk_to_STL_string_dtor_01050060 stl Wrapper function that calls STL_string_dtor and returns 0x01050070 10 thunk_to_STL_string_dtor_01050070 stl Wrapper that calls STL_string_dtor and returns 0x01050080 10 thunk_to_STL_string_dtor_01050080 stl Wrapper that calls STL_string_dtor and returns 0x01050090 10 thunk_to_STL_string_dtor_01050090 stl Wrapper that calls STL_string_dtor and returns 0x010500A0 10 thunk_to_STL_string_dtor_010500a0 stl Wrapper that calls STL_string_dtor and returns 0x010500B0 10 thunk_to_STL_string_dtor_010500b0 stl Wrapper that calls STL_string_dtor and returns 0x010500C0 10 thunk_to_STL_string_dtor_010500c0 stl Wrapper that calls STL_string_dtor and returns 0x010500D0 10 thunk_to_STL_string_dtor_010500d0 stl Wrapper that calls STL_string_dtor and returns 0x010500E0 10 thunk_to_STL_string_dtor_010500e0 stl Wrapper that calls STL_string_dtor and returns 0x010500F0 10 thunk_to_STL_string_dtor_010500f0 stl Wrapper that calls STL_string_dtor and returns 0x01050100 10 thunk_to_STL_string_dtor_01050100 stl Wrapper that calls STL_string_dtor and returns 0x01050110 10 thunk_to_STL_string_dtor_01050110 stl Wrapper that calls STL_string_dtor and returns 0x01050120 10 thunk_to_STL_string_dtor_01050120 stl Wrapper that calls STL string destructor 0x01050130 10 thunk_to_STL_string_dtor_01050130 stl Wrapper that calls STL_string_dtor and returns 0x01050140 10 thunk_to_STL_string_dtor_01050140 stl Wrapper that calls STL_string_dtor and returns 0x01050150 10 thunk_to_STL_string_dtor_01050150 stl Wrapper that calls STL_string_dtor and returns 0x010501D0 280 atexit_unregister_window_classes_and_cleanup_010501d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010502F0 10 thunk_to_STL_string_dtor_010502f0 stl Wrapper that calls STL_string_dtor and returns 0x01050300 10 thunk_to_STL_string_dtor_01050300 stl Wrapper that calls STL_string_dtor and returns 0x01050310 10 thunk_to_STL_string_dtor_01050310 stl Wrapper that calls STL string destructor 0x01050320 10 thunk_to_STL_string_dtor_01050320 stl Wrapper that calls STL_string_dtor and returns 0x01050330 10 thunk_to_STL_string_dtor_01050330 stl Wrapper that calls STL_string_dtor destructor 0x01050340 10 thunk_to_STL_string_dtor_01050340 stl Wrapper that calls STL_string_dtor and returns 0x01050350 10 thunk_to_STL_string_dtor_01050350 stl Wrapper that calls STL_string_dtor and returns 0x01050360 10 thunk_to_STL_string_dtor_01050360 stl Wrapper function that calls STL_string_dtor and returns 0x01050370 10 thunk_to_STL_string_dtor_01050370 stl Wrapper that calls STL_string_dtor and returns 0x01050380 10 thunk_to_STL_string_dtor_01050380 stl Wrapper that calls STL_string_dtor and returns 0x01050390 10 thunk_to_STL_string_dtor_01050390 stl Wrapper function that calls STL_string_dtor and returns 0x010503A0 10 thunk_to_STL_string_dtor_010503a0 stl Wrapper that calls STL_string_dtor and returns 0x010503B0 10 thunk_to_STL_string_dtor_010503b0 stl Wrapper that calls STL_string_dtor and returns 0x010503C0 10 thunk_to_STL_string_dtor_010503c0 stl Wrapper that calls STL_string_dtor and returns 0x010503D0 10 thunk_to_STL_string_dtor_010503d0 stl Wrapper that calls STL_string_dtor and returns 0x010503E0 10 thunk_to_STL_string_dtor_010503e0 stl Wrapper that calls STL_string_dtor and returns 0x010503F0 10 thunk_to_STL_string_dtor_010503f0 stl Wrapper that calls STL_string_dtor and returns 0x01050400 10 thunk_to_STL_string_dtor_01050400 stl Wrapper that calls STL_string_dtor and returns 0x01050410 10 thunk_to_STL_string_dtor_01050410 stl Wrapper that calls STL_string_dtor and returns 0x01050420 10 thunk_to_STL_string_dtor_01050420 stl Wrapper that calls STL_string_dtor and returns 0x01050430 10 thunk_to_STL_string_dtor_01050430 stl Wrapper that calls STL_string_dtor and returns 0x01050440 10 thunk_to_STL_string_dtor_01050440 stl Wrapper that calls STL_string_dtor and returns 0x01050450 10 thunk_to_STL_string_dtor_01050450 stl Wrapper that calls STL_string_dtor and returns 0x01050460 10 thunk_to_STL_string_dtor_01050460 stl Wrapper that calls STL_string_dtor and returns 0x01050470 10 thunk_to_STL_string_dtor_01050470 stl Wrapper that calls STL_string_dtor and returns 0x010504F0 280 atexit_unregister_window_classes_and_cleanup_010504f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01050610 10 thunk_to_STL_string_dtor_01050610 stl Wrapper that calls STL_string_dtor and returns 0x01050620 10 thunk_to_STL_string_dtor_01050620 stl Wrapper that calls STL_string_dtor and returns 0x01050630 10 thunk_to_STL_string_dtor_01050630 stl Wrapper that calls STL_string_dtor and returns 0x01050640 10 thunk_to_STL_string_dtor_01050640 stl Wrapper that calls STL_string_dtor and returns 0x01050650 10 thunk_to_STL_string_dtor_01050650 stl Wrapper that calls STL_string_dtor and returns 0x01050660 10 thunk_to_STL_string_dtor_01050660 stl Wrapper function that calls STL_string_dtor and returns 0x01050670 10 thunk_to_STL_string_dtor_01050670 stl Wrapper that calls STL_string_dtor and returns 0x01050680 10 thunk_to_STL_string_dtor_01050680 stl Wrapper that calls STL_string_dtor and returns 0x01050690 10 thunk_to_STL_string_dtor_01050690 stl Wrapper that calls STL_string_dtor and returns 0x010506A0 10 thunk_to_STL_string_dtor_010506a0 stl Wrapper that calls STL_string_dtor and returns 0x010506B0 10 thunk_to_STL_string_dtor_010506b0 stl Wrapper calling STL_string_dtor destructor 0x010506C0 10 thunk_to_STL_string_dtor_010506c0 stl Wrapper that calls STL_string_dtor and returns 0x010506D0 10 thunk_to_STL_string_dtor_010506d0 stl Wrapper that calls STL_string_dtor and returns 0x010506E0 10 thunk_to_STL_string_dtor_010506e0 stl Wrapper that calls STL_string_dtor and returns 0x010506F0 10 thunk_to_STL_string_dtor_010506f0 stl Wrapper function that calls STL_string_dtor and returns 0x01050700 10 thunk_to_STL_string_dtor_01050700 stl Wrapper that calls STL_string_dtor and returns 0x01050710 10 thunk_to_STL_string_dtor_01050710 stl Wrapper that calls STL_string_dtor and returns 0x01050720 10 thunk_to_STL_string_dtor_01050720 stl Wrapper that calls STL_string_dtor and returns 0x01050730 10 thunk_to_STL_string_dtor_01050730 stl Wrapper that calls STL_string_dtor and returns 0x01050740 10 thunk_to_STL_string_dtor_01050740 stl Wrapper that calls STL_string_dtor and returns 0x01050750 10 thunk_to_STL_string_dtor_01050750 stl Wrapper that calls STL_string_dtor and returns 0x01050760 10 thunk_to_STL_string_dtor_01050760 stl Wrapper that calls STL_string_dtor and returns 0x01050770 10 thunk_to_STL_string_dtor_01050770 stl Wrapper that calls STL_string_dtor and returns 0x01050780 10 thunk_to_STL_string_dtor_01050780 stl Wrapper that calls STL_string_dtor and returns 0x01050790 10 thunk_to_STL_string_dtor_01050790 stl Wrapper that calls STL_string_dtor and returns 0x01050810 280 atexit_unregister_window_classes_and_cleanup_01050810 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01050930 10 thunk_to_STL_string_dtor_01050930 stl Wrapper that calls STL_string_dtor and returns 0x01050940 10 thunk_to_STL_string_dtor_01050940 stl Wrapper that calls STL_string_dtor and returns 0x01050950 10 thunk_to_STL_string_dtor_01050950 stl Wrapper that calls STL_string_dtor and returns 0x01050960 10 thunk_to_STL_string_dtor_01050960 stl Wrapper that calls STL_string_dtor and returns 0x01050970 10 thunk_to_STL_string_dtor_01050970 stl Wrapper that calls STL_string_dtor and returns 0x01050980 10 thunk_to_STL_string_dtor_01050980 stl Wrapper that calls STL_string_dtor and returns 0x01050990 10 thunk_to_STL_string_dtor_01050990 stl Wrapper function that calls STL_string_dtor and returns 0x010509A0 10 thunk_to_STL_string_dtor_010509a0 stl Wrapper that calls STL_string_dtor and returns 0x010509B0 10 thunk_to_STL_string_dtor_010509b0 stl Wrapper that calls STL_string_dtor and returns 0x010509C0 10 thunk_to_STL_string_dtor_010509c0 stl Wrapper function that calls STL_string_dtor and returns 0x010509D0 10 thunk_to_STL_string_dtor_010509d0 stl Wrapper that calls STL_string_dtor and returns 0x010509E0 10 thunk_to_STL_string_dtor_010509e0 stl Wrapper that calls STL_string_dtor and returns 0x010509F0 10 thunk_to_STL_string_dtor_010509f0 stl Wrapper that calls STL_string_dtor and returns 0x01050A00 10 thunk_to_STL_string_dtor_01050a00 stl Wrapper that calls STL_string_dtor and returns 0x01050A10 10 thunk_to_STL_string_dtor_01050a10 stl Wrapper that calls STL_string_dtor and returns 0x01050A20 10 thunk_to_STL_string_dtor_01050a20 stl Wrapper that calls STL_string_dtor and returns 0x01050A30 10 thunk_to_STL_string_dtor_01050a30 stl Wrapper that calls STL_string_dtor and returns 0x01050A40 10 thunk_to_STL_string_dtor_01050a40 stl Wrapper that calls STL_string_dtor and returns 0x01050A50 10 thunk_to_STL_string_dtor_01050a50 stl Wrapper that calls STL_string_dtor and returns 0x01050A60 10 thunk_to_STL_string_dtor_01050a60 stl Wrapper that calls STL_string_dtor and returns 0x01050A70 10 thunk_to_STL_string_dtor_01050a70 stl Wrapper that calls STL_string_dtor and returns 0x01050A80 10 thunk_to_STL_string_dtor_01050a80 stl Wrapper that calls STL_string_dtor and returns 0x01050A90 10 thunk_to_STL_string_dtor_01050a90 stl Wrapper that calls STL_string_dtor and returns 0x01050AA0 10 thunk_to_STL_string_dtor_01050aa0 stl Wrapper that calls STL_string_dtor and returns 0x01050AB0 10 thunk_to_STL_string_dtor_01050ab0 stl Wrapper that calls STL_string_dtor and returns 0x01050B30 280 atexit_unregister_window_classes_and_cleanup_01050b30 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01050C50 66 atexit_CRenderPipeline_destroy_wrapper_01050c50 crt SEH-protected atexit wrapper that calls CRenderPipeline__destroy_linked_list_and_vector to clean up render pipeline resources. 0x01050CA0 10 thunk_to_STL_string_dtor_01050ca0 stl Wrapper that calls STL_string_dtor and returns 0x01050CB0 10 thunk_to_STL_string_dtor_01050cb0 stl Wrapper that calls STL_string_dtor and returns 0x01050CC0 10 thunk_to_STL_string_dtor_01050cc0 stl Wrapper that calls STL_string_dtor and returns 0x01050CD0 10 thunk_to_STL_string_dtor_01050cd0 stl Wrapper that calls STL_string_dtor and returns 0x01050CE0 10 thunk_to_STL_string_dtor_01050ce0 stl Wrapper that calls STL_string_dtor and returns 0x01050CF0 10 thunk_to_STL_string_dtor_01050cf0 stl Wrapper that calls STL_string_dtor and returns 0x01050D00 10 thunk_to_STL_string_dtor_01050d00 stl Wrapper that calls STL_string_dtor and returns 0x01050D10 10 thunk_to_STL_string_dtor_01050d10 stl Wrapper that calls STL_string_dtor and returns 0x01050D20 10 thunk_to_STL_string_dtor_01050d20 stl Wrapper that calls STL_string_dtor and returns 0x01050D30 10 thunk_to_STL_string_dtor_01050d30 stl Wrapper that calls STL_string_dtor and returns 0x01050D40 10 thunk_to_STL_string_dtor_01050d40 stl Wrapper that calls STL_string_dtor and returns 0x01050D50 10 thunk_to_STL_string_dtor_01050d50 stl Wrapper that calls STL_string_dtor and returns 0x01050D60 10 thunk_to_STL_string_dtor_01050d60 stl Wrapper that calls STL_string_dtor and returns 0x01050D70 10 thunk_to_STL_string_dtor_01050d70 stl Wrapper that calls STL_string_dtor and returns 0x01050D80 10 thunk_to_STL_string_dtor_01050d80 stl Wrapper that calls STL_string_dtor and returns 0x01050D90 10 thunk_to_STL_string_dtor_01050d90 stl Wrapper that calls STL_string_dtor and returns 0x01050DA0 10 thunk_to_STL_string_dtor_01050da0 stl Wrapper that calls STL_string_dtor and returns 0x01050DB0 10 thunk_to_STL_string_dtor_01050db0 stl Wrapper that calls STL_string_dtor and returns 0x01050DC0 10 thunk_to_STL_string_dtor_01050dc0 stl Wrapper that calls STL_string_dtor and returns 0x01050DD0 10 thunk_to_STL_string_dtor_01050dd0 stl Wrapper that calls STL_string_dtor and returns 0x01050DE0 10 thunk_to_STL_string_dtor_01050de0 stl Wrapper that calls STL_string_dtor and returns 0x01050DF0 10 thunk_to_STL_string_dtor_01050df0 stl Wrapper that calls STL_string_dtor and returns 0x01050E00 10 thunk_to_STL_string_dtor_01050e00 stl Wrapper that calls STL_string_dtor and returns 0x01050E10 10 thunk_to_STL_string_dtor_01050e10 stl Wrapper that calls STL_string_dtor and returns 0x01050E20 10 thunk_to_STL_string_dtor_01050e20 stl Wrapper that calls STL_string_dtor and returns 0x01050EA0 280 atexit_unregister_window_classes_and_cleanup_01050ea0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01050FC0 10 thunk_to_STL_string_dtor_01050fc0 stl Wrapper that calls STL_string_dtor and returns 0x01050FD0 10 thunk_to_STL_string_dtor_01050fd0 stl Wrapper that calls STL_string_dtor and returns 0x01050FE0 10 thunk_to_STL_string_dtor_01050fe0 stl Wrapper that calls STL_string_dtor and returns 0x01050FF0 10 thunk_to_STL_string_dtor_01050ff0 stl Wrapper that calls STL_string_dtor and returns 0x01051000 10 thunk_to_STL_string_dtor_01051000 stl Wrapper that calls STL_string_dtor and returns 0x01051010 10 thunk_to_STL_string_dtor_01051010 stl Wrapper that calls STL_string_dtor and returns 0x01051020 10 thunk_to_STL_string_dtor_01051020 stl Wrapper that calls STL_string_dtor and returns 0x01051030 10 thunk_to_STL_string_dtor_01051030 stl Wrapper that calls STL_string_dtor and returns 0x01051040 10 thunk_to_STL_string_dtor_01051040 stl Wrapper that calls STL_string_dtor and returns 0x01051050 10 thunk_to_STL_string_dtor_01051050 stl Wrapper that calls STL_string_dtor and returns 0x01051060 10 thunk_to_STL_string_dtor_01051060 stl Wrapper that calls STL_string_dtor and returns 0x01051070 10 thunk_to_STL_string_dtor_01051070 stl Wrapper that calls STL_string_dtor and returns 0x01051080 10 thunk_to_STL_string_dtor_01051080 stl Wrapper that calls STL_string_dtor and returns immediately 0x01051090 10 thunk_to_STL_string_dtor_01051090 stl Wrapper that calls STL_string_dtor and returns 0x010510A0 10 thunk_to_STL_string_dtor_010510a0 stl Wrapper that calls STL_string_dtor and returns 0x010510B0 10 thunk_to_STL_string_dtor_010510b0 stl Wrapper that calls STL_string_dtor and returns 0x010510C0 10 thunk_to_STL_string_dtor_010510c0 stl Wrapper that calls STL_string_dtor and returns 0x010510D0 10 thunk_to_STL_string_dtor_010510d0 stl Wrapper function that calls STL_string_dtor and returns 0x010510E0 10 thunk_to_STL_string_dtor_010510e0 stl Wrapper that calls STL_string_dtor and returns 0x010510F0 10 thunk_to_STL_string_dtor_010510f0 stl Wrapper that calls STL_string_dtor and returns 0x01051100 10 thunk_to_STL_string_dtor_01051100 stl Wrapper that calls STL_string_dtor and returns 0x01051110 10 thunk_to_STL_string_dtor_01051110 stl Wrapper that calls STL_string_dtor and returns 0x01051120 10 thunk_to_STL_string_dtor_01051120 stl Wrapper that calls STL_string_dtor and returns 0x01051130 10 thunk_to_STL_string_dtor_01051130 stl Wrapper that calls STL_string_dtor and returns 0x01051140 10 thunk_to_STL_string_dtor_01051140 stl Wrapper that calls STL_string_dtor and returns 0x010511C0 280 atexit_unregister_window_classes_and_cleanup_010511c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010512E0 66 atexit_CRenderPipeline_destroy_wrapper_010512e0 crt SEH-protected atexit wrapper that calls CRenderPipeline__destroy_linked_list_and_vector to clean up render pipeline resources. 0x01051330 10 thunk_to_STL_string_dtor_01051330 stl Wrapper that calls STL_string_dtor and returns 0x01051340 10 thunk_to_STL_string_dtor_01051340 stl Wrapper that calls STL_string_dtor and returns 0x01051350 10 thunk_to_STL_string_dtor_01051350 stl Wrapper function that calls STL_string_dtor and returns 0x01051360 10 thunk_to_STL_string_dtor_01051360 stl Wrapper that calls STL_string_dtor and returns 0x01051370 10 thunk_to_STL_string_dtor_01051370 stl Wrapper function that calls STL_string_dtor and returns 0x01051380 10 thunk_to_STL_string_dtor_01051380 stl Wrapper that calls STL_string_dtor and returns 0x01051390 10 thunk_to_STL_string_dtor_01051390 stl Wrapper that calls STL_string_dtor destructor 0x010513A0 10 thunk_to_STL_string_dtor_010513a0 stl Wrapper that calls STL_string_dtor and returns 0x010513B0 10 thunk_to_STL_string_dtor_010513b0 stl Wrapper that calls STL_string_dtor and returns 0x010513C0 10 thunk_to_STL_string_dtor_010513c0 stl Wrapper that calls STL_string_dtor and returns 0x010513D0 10 thunk_to_STL_string_dtor_010513d0 stl Wrapper that calls STL_string_dtor and returns 0x010513E0 10 thunk_to_STL_string_dtor_010513e0 stl Wrapper that calls STL_string_dtor and returns 0x010513F0 10 thunk_to_STL_string_dtor_010513f0 stl Wrapper that calls STL_string_dtor and returns 0x01051400 10 thunk_to_STL_string_dtor_01051400 stl Wrapper that calls STL_string_dtor and returns 0x01051410 10 thunk_to_STL_string_dtor_01051410 stl Wrapper that calls STL_string_dtor and returns 0x01051420 10 thunk_to_STL_string_dtor_01051420 stl Wrapper that calls STL_string_dtor and returns 0x01051430 10 thunk_to_STL_string_dtor_01051430 stl Wrapper that calls STL_string_dtor and returns 0x01051440 10 thunk_to_STL_string_dtor_01051440 stl Wrapper that calls STL_string_dtor and returns 0x01051450 10 thunk_to_STL_string_dtor_01051450 stl Wrapper that calls STL_string_dtor and returns 0x01051460 10 thunk_to_STL_string_dtor_01051460 stl Wrapper that calls STL_string_dtor and returns 0x01051470 10 thunk_to_STL_string_dtor_01051470 stl Wrapper that calls STL_string_dtor and returns 0x01051480 10 thunk_to_STL_string_dtor_01051480 stl Wrapper that calls STL_string_dtor and returns 0x01051490 10 thunk_to_STL_string_dtor_01051490 stl Wrapper that calls STL_string_dtor and returns 0x010514A0 10 thunk_to_STL_string_dtor_010514a0 stl Wrapper that calls STL_string_dtor and returns 0x010514B0 10 thunk_to_STL_string_dtor_010514b0 stl Wrapper that calls STL_string_dtor and returns 0x01051530 280 atexit_unregister_window_classes_and_cleanup_01051530 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01051650 10 thunk_to_STL_string_dtor_01051650 stl Wrapper that calls STL_string_dtor and returns 0x01051660 10 thunk_to_STL_string_dtor_01051660 stl Wrapper that calls STL_string_dtor and returns 0x01051670 10 thunk_to_STL_string_dtor_01051670 stl Wrapper that calls STL_string_dtor and returns 0x01051680 10 thunk_to_STL_string_dtor_01051680 stl Wrapper that calls STL_string_dtor and returns 0x01051690 10 thunk_to_STL_string_dtor_01051690 stl Wrapper that calls STL_string_dtor and returns 0x010516A0 10 thunk_to_STL_string_dtor_010516a0 stl Wrapper that calls STL_string_dtor and returns 0x010516B0 10 thunk_to_STL_string_dtor_010516b0 stl Wrapper that calls STL_string_dtor and returns 0x010516C0 10 thunk_to_STL_string_dtor_010516c0 stl Wrapper function that calls STL_string_dtor and returns 0x010516D0 10 thunk_to_STL_string_dtor_010516d0 stl Wrapper that calls STL_string_dtor and returns 0x010516E0 10 thunk_to_STL_string_dtor_010516e0 stl Wrapper function that calls STL_string_dtor and returns 0x010516F0 10 thunk_to_STL_string_dtor_010516f0 stl Wrapper that calls STL_string_dtor and returns 0x01051700 10 thunk_to_STL_string_dtor_01051700 stl Wrapper that calls STL_string_dtor and returns 0x01051710 10 thunk_to_STL_string_dtor_01051710 stl Wrapper function that calls STL_string_dtor and returns 0x01051720 10 thunk_to_STL_string_dtor_01051720 stl Wrapper that calls STL_string_dtor and returns 0x01051730 10 thunk_to_STL_string_dtor_01051730 stl Wrapper that calls STL_string_dtor and returns 0x01051740 10 thunk_to_STL_string_dtor_01051740 stl Wrapper that calls STL_string_dtor and returns 0x01051750 10 thunk_to_STL_string_dtor_01051750 stl Wrapper that calls STL_string_dtor and returns 0x01051760 10 thunk_to_STL_string_dtor_01051760 stl Wrapper that calls STL_string_dtor and returns 0x01051770 10 thunk_to_STL_string_dtor_01051770 stl Wrapper that calls STL_string_dtor and returns 0x01051780 10 thunk_to_STL_string_dtor_01051780 stl Wrapper that calls STL_string_dtor and returns 0x01051790 10 thunk_to_STL_string_dtor_01051790 stl Wrapper that calls STL_string_dtor and returns 0x010517A0 10 thunk_to_STL_string_dtor_010517a0 stl Wrapper that calls STL_string_dtor and returns 0x010517B0 10 thunk_to_STL_string_dtor_010517b0 stl Wrapper that calls STL_string_dtor and returns 0x010517C0 10 thunk_to_STL_string_dtor_010517c0 stl Wrapper that calls STL_string_dtor and returns 0x010517D0 10 thunk_to_STL_string_dtor_010517d0 stl Wrapper that calls STL_string_dtor and returns 0x01051850 280 atexit_unregister_window_classes_and_cleanup_01051850 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01051970 10 thunk_to_STL_string_dtor_01051970 stl Wrapper that calls STL_string_dtor and returns 0x01051980 10 thunk_to_STL_string_dtor_01051980 stl Wrapper that calls STL_string_dtor and returns 0x01051990 10 thunk_to_STL_string_dtor_01051990 stl Wrapper that calls STL_string_dtor and returns 0x010519A0 10 thunk_to_STL_string_dtor_010519a0 stl Wrapper that calls STL_string_dtor and returns 0x010519B0 10 thunk_to_STL_string_dtor_010519b0 stl Wrapper that calls STL_string_dtor and returns 0x010519C0 10 thunk_to_STL_string_dtor_010519c0 stl Wrapper that calls STL_string_dtor and returns 0x010519D0 10 thunk_to_STL_string_dtor_010519d0 stl Wrapper that calls STL_string_dtor and returns 0x010519E0 10 thunk_to_STL_string_dtor_010519e0 stl Wrapper that calls STL_string_dtor and returns 0x010519F0 10 thunk_to_STL_string_dtor_010519f0 stl Wrapper that calls STL_string_dtor and returns 0x01051A00 10 thunk_to_STL_string_dtor_01051a00 stl Wrapper that calls STL_string_dtor and returns 0x01051A10 10 thunk_to_STL_string_dtor_01051a10 stl Wrapper that calls STL_string_dtor and returns 0x01051A20 10 thunk_to_STL_string_dtor_01051a20 stl Wrapper that calls STL_string_dtor and returns 0x01051A30 10 thunk_to_STL_string_dtor_01051a30 stl Wrapper that calls STL_string_dtor and returns 0x01051A40 10 thunk_to_STL_string_dtor_01051a40 stl Wrapper that calls STL_string_dtor and returns 0x01051A50 10 thunk_to_STL_string_dtor_01051a50 stl Wrapper that calls STL_string_dtor and returns 0x01051A60 10 thunk_to_STL_string_dtor_01051a60 stl Wrapper that calls STL_string_dtor and returns 0x01051A70 10 thunk_to_STL_string_dtor_01051a70 stl Wrapper that calls STL_string_dtor and returns 0x01051A80 10 thunk_to_STL_string_dtor_01051a80 stl Wrapper that calls STL_string_dtor and returns 0x01051A90 10 thunk_to_STL_string_dtor_01051a90 stl Wrapper that calls STL_string_dtor and returns 0x01051AA0 10 thunk_to_STL_string_dtor_01051aa0 stl Wrapper that calls STL_string_dtor and returns 0x01051AB0 10 thunk_to_STL_string_dtor_01051ab0 stl Wrapper function that calls STL_string_dtor and returns 0x01051AC0 10 thunk_to_STL_string_dtor_01051ac0 stl Wrapper function that calls STL_string_dtor and returns 0x01051AD0 10 thunk_to_STL_string_dtor_01051ad0 stl Wrapper that calls STL_string_dtor and returns 0x01051AE0 10 thunk_to_STL_string_dtor_01051ae0 stl Wrapper that calls STL_string_dtor and returns 0x01051AF0 10 thunk_to_STL_string_dtor_01051af0 stl Wrapper that calls STL_string_dtor and returns 0x01051B70 280 atexit_unregister_window_classes_and_cleanup_01051b70 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01051C90 10 thunk_to_STL_string_dtor_01051c90 stl Wrapper that calls STL_string_dtor and returns 0x01051CA0 10 thunk_to_STL_string_dtor_01051ca0 stl Wrapper that calls STL_string_dtor and returns 0x01051CB0 10 thunk_to_STL_string_dtor_01051cb0 stl Wrapper that calls STL_string_dtor and returns 0x01051CC0 10 thunk_to_STL_string_dtor_01051cc0 stl Wrapper calling STL_string_dtor destructor 0x01051CD0 10 thunk_to_STL_string_dtor_01051cd0 stl Wrapper that calls STL_string_dtor and returns 0x01051CE0 10 thunk_to_STL_string_dtor_01051ce0 stl Wrapper that calls STL_string_dtor and returns 0x01051CF0 10 thunk_to_STL_string_dtor_01051cf0 stl Wrapper that calls STL_string_dtor and returns 0x01051D00 10 thunk_to_STL_string_dtor_01051d00 stl Wrapper that calls STL_string_dtor and returns 0x01051D10 10 thunk_to_STL_string_dtor_01051d10 stl Wrapper that calls STL_string_dtor and returns 0x01051D20 10 thunk_to_STL_string_dtor_01051d20 stl Wrapper that calls STL_string_dtor and returns 0x01051D30 10 thunk_to_STL_string_dtor_01051d30 stl Wrapper that calls STL_string_dtor and returns 0x01051D40 10 thunk_to_STL_string_dtor_01051d40 stl Wrapper that calls STL_string_dtor and returns 0x01051D50 10 thunk_to_STL_string_dtor_01051d50 stl Wrapper that calls STL_string_dtor and returns 0x01051D60 10 thunk_to_STL_string_dtor_01051d60 stl Wrapper that calls STL_string_dtor and returns 0x01051D70 10 thunk_to_STL_string_dtor_01051d70 stl Wrapper that calls STL_string_dtor and returns 0x01051D80 10 thunk_to_STL_string_dtor_01051d80 stl Wrapper that calls STL_string_dtor and returns 0x01051D90 10 thunk_to_STL_string_dtor_01051d90 stl Wrapper that calls STL_string_dtor and returns 0x01051DA0 10 thunk_to_STL_string_dtor_01051da0 stl Wrapper that calls STL_string_dtor and returns 0x01051DB0 10 thunk_to_STL_string_dtor_01051db0 stl Wrapper that calls STL_string_dtor and returns 0x01051DC0 10 thunk_to_STL_string_dtor_01051dc0 stl Wrapper that calls STL_string_dtor and returns 0x01051DD0 10 thunk_to_STL_string_dtor_01051dd0 stl Wrapper that calls STL_string_dtor and returns 0x01051DE0 10 thunk_to_STL_string_dtor_01051de0 stl Wrapper that calls STL_string_dtor and returns 0x01051DF0 10 thunk_to_STL_string_dtor_01051df0 stl Wrapper that calls STL_string_dtor and returns 0x01051E00 10 thunk_to_STL_string_dtor_01051e00 stl Wrapper that calls STL_string_dtor and returns 0x01051E10 10 thunk_to_STL_string_dtor_01051e10 stl Wrapper that calls STL_string_dtor and returns 0x01051E90 280 atexit_unregister_window_classes_and_cleanup_01051e90 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01051FB0 66 atexit_CRenderPipeline_destroy_wrapper_01051fb0 crt SEH-protected atexit wrapper that calls CRenderPipeline__destroy_linked_list_and_vector to clean up render pipeline resources. 0x01052000 10 thunk_to_STL_string_dtor_01052000 stl Wrapper that calls STL_string_dtor and returns 0x01052010 10 thunk_to_STL_string_dtor_01052010 stl Wrapper that calls STL_string_dtor and returns 0x01052020 10 thunk_to_STL_string_dtor_01052020 stl Wrapper that calls STL_string_dtor and returns 0x01052030 10 thunk_to_STL_string_dtor_01052030 stl Wrapper that calls STL_string_dtor and returns 0x01052040 10 thunk_to_STL_string_dtor_01052040 stl Wrapper that calls STL_string_dtor and returns 0x01052050 10 thunk_to_STL_string_dtor_01052050 stl Wrapper that calls STL_string_dtor and returns 0x01052060 10 thunk_to_STL_string_dtor_01052060 stl Wrapper that calls STL_string_dtor and returns 0x01052070 10 thunk_to_STL_string_dtor_01052070 stl Wrapper that calls STL_string_dtor and returns 0x01052080 10 thunk_to_STL_string_dtor_01052080 stl Wrapper calling STL string destructor 0x01052090 10 thunk_to_STL_string_dtor_01052090 stl Wrapper that calls STL_string_dtor and returns 0x010520A0 10 thunk_to_STL_string_dtor_010520a0 stl Wrapper that calls STL_string_dtor and returns 0x010520B0 10 thunk_to_STL_string_dtor_010520b0 stl Wrapper that calls STL_string_dtor and returns 0x010520C0 10 thunk_to_STL_string_dtor_010520c0 stl Wrapper that calls STL_string_dtor and returns 0x010520D0 10 thunk_to_STL_string_dtor_010520d0 stl Wrapper that calls STL_string_dtor and returns 0x010520E0 10 thunk_to_STL_string_dtor_010520e0 stl Wrapper that calls STL_string_dtor and returns 0x010520F0 10 thunk_to_STL_string_dtor_010520f0 stl Wrapper that calls STL_string_dtor and returns 0x01052100 10 thunk_to_STL_string_dtor_01052100 stl Wrapper that calls STL_string_dtor and returns 0x01052110 10 thunk_to_STL_string_dtor_01052110 stl Wrapper that calls STL_string_dtor and returns 0x01052120 10 thunk_to_STL_string_dtor_01052120 stl Wrapper that calls STL_string_dtor and returns 0x01052130 10 thunk_to_STL_string_dtor_01052130 stl Wrapper that calls STL_string_dtor and returns 0x01052140 10 thunk_to_STL_string_dtor_01052140 stl Wrapper that calls STL_string_dtor and returns 0x01052150 10 thunk_to_STL_string_dtor_01052150 stl Wrapper function that calls STL_string_dtor and returns 0x01052160 10 thunk_to_STL_string_dtor_01052160 stl Wrapper that calls STL_string_dtor and returns 0x01052170 10 thunk_to_STL_string_dtor_01052170 stl Wrapper function that calls STL string destructor 0x01052180 10 thunk_to_STL_string_dtor_01052180 stl Wrapper that calls STL_string_dtor and returns 0x01052200 280 atexit_unregister_window_classes_and_cleanup_01052200 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01052320 66 atexit_CRenderPipeline_destroy_wrapper_01052320 crt SEH-protected atexit wrapper that calls CRenderPipeline__destroy_linked_list_and_vector to clean up render pipeline resources. 0x01052370 10 thunk_to_STL_string_dtor_01052370 stl Wrapper that calls STL_string_dtor and returns 0x01052380 10 thunk_to_STL_string_dtor_01052380 stl Wrapper that calls STL_string_dtor and returns 0x01052390 10 thunk_to_STL_string_dtor_01052390 stl Wrapper that calls STL_string_dtor and returns 0x010523A0 10 thunk_to_STL_string_dtor_010523a0 stl Wrapper that calls STL_string_dtor and returns 0x010523B0 10 thunk_to_STL_string_dtor_010523b0 stl Wrapper that calls STL_string_dtor and returns 0x010523C0 10 thunk_to_STL_string_dtor_010523c0 stl Wrapper that calls STL_string_dtor and returns 0x010523D0 10 thunk_to_STL_string_dtor_010523d0 stl Wrapper that calls STL_string_dtor and returns 0x010523E0 10 thunk_to_STL_string_dtor_010523e0 stl Wrapper that calls STL_string_dtor and returns 0x010523F0 10 thunk_to_STL_string_dtor_010523f0 stl Wrapper that calls STL_string_dtor and returns 0x01052400 10 thunk_to_STL_string_dtor_01052400 stl Wrapper that calls STL_string_dtor destructor 0x01052410 10 thunk_to_STL_string_dtor_01052410 stl Wrapper that calls STL_string_dtor and returns 0x01052420 10 thunk_to_STL_string_dtor_01052420 stl Wrapper that calls STL_string_dtor and returns 0x01052430 10 thunk_to_STL_string_dtor_01052430 stl Wrapper that calls STL_string_dtor and returns 0x01052440 10 thunk_to_STL_string_dtor_01052440 stl Wrapper that calls STL_string_dtor and returns 0x01052450 10 thunk_to_STL_string_dtor_01052450 stl Wrapper that calls STL_string_dtor and returns 0x01052460 10 thunk_to_STL_string_dtor_01052460 stl Wrapper that calls STL string destructor 0x01052470 10 thunk_to_STL_string_dtor_01052470 stl Wrapper that calls STL_string_dtor and returns 0x01052480 10 thunk_to_STL_string_dtor_01052480 stl Wrapper that calls STL_string_dtor and returns 0x01052490 10 thunk_to_STL_string_dtor_01052490 stl Wrapper that calls STL_string_dtor and returns 0x010524A0 10 thunk_to_STL_string_dtor_010524a0 stl Wrapper that calls STL_string_dtor and returns 0x010524B0 10 thunk_to_STL_string_dtor_010524b0 stl Wrapper function that calls STL_string_dtor and returns 0x010524C0 10 thunk_to_STL_string_dtor_010524c0 stl Wrapper that calls STL_string_dtor and returns 0x010524D0 10 thunk_to_STL_string_dtor_010524d0 stl Wrapper that calls STL_string_dtor and returns 0x010524E0 10 thunk_to_STL_string_dtor_010524e0 stl Wrapper that calls STL_string_dtor and returns 0x010524F0 10 thunk_to_STL_string_dtor_010524f0 stl Wrapper that calls STL_string_dtor and returns 0x01052570 280 atexit_unregister_window_classes_and_cleanup_01052570 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01052690 10 thunk_to_STL_string_dtor_01052690 stl Wrapper that calls STL_string_dtor and returns 0x010526A0 10 thunk_to_STL_string_dtor_010526a0 stl Wrapper that calls STL_string_dtor and returns 0x010526B0 10 thunk_to_STL_string_dtor_010526b0 stl Wrapper that calls STL_string_dtor and returns 0x010526C0 10 thunk_to_STL_string_dtor_010526c0 stl Wrapper that calls STL_string_dtor and returns 0x010526D0 10 thunk_to_STL_string_dtor_010526d0 stl Wrapper that calls STL_string_dtor and returns 0x010526E0 10 thunk_to_STL_string_dtor_010526e0 stl Wrapper that calls STL_string_dtor and returns 0x010526F0 10 thunk_to_STL_string_dtor_010526f0 stl Wrapper that calls STL_string_dtor and returns 0x01052700 10 thunk_to_STL_string_dtor_01052700 stl Wrapper that calls STL_string_dtor and returns 0x01052710 10 thunk_to_STL_string_dtor_01052710 stl Wrapper that calls STL_string_dtor and returns 0x01052720 10 thunk_to_STL_string_dtor_01052720 stl Wrapper that calls STL_string_dtor and returns 0x01052730 10 thunk_to_STL_string_dtor_01052730 stl Wrapper that calls STL_string_dtor and returns 0x01052740 10 thunk_to_STL_string_dtor_01052740 stl Wrapper that calls STL_string_dtor and returns 0x01052750 10 thunk_to_STL_string_dtor_01052750 stl Wrapper that calls STL_string_dtor and returns 0x01052760 10 thunk_to_STL_string_dtor_01052760 stl Wrapper that calls STL_string_dtor and returns 0x01052770 10 thunk_to_STL_string_dtor_01052770 stl Wrapper that calls STL_string_dtor and returns 0x01052780 10 thunk_to_STL_string_dtor_01052780 stl Wrapper that calls STL_string_dtor and returns 0x01052790 10 thunk_to_STL_string_dtor_01052790 stl Wrapper that calls STL_string_dtor and returns 0x010527A0 10 thunk_to_STL_string_dtor_010527a0 stl Wrapper that calls STL_string_dtor and returns 0x010527B0 10 thunk_to_STL_string_dtor_010527b0 stl Wrapper that calls STL_string_dtor and returns 0x010527C0 10 thunk_to_STL_string_dtor_010527c0 stl Wrapper that calls STL_string_dtor and returns 0x010527D0 10 thunk_to_STL_string_dtor_010527d0 stl Wrapper that calls STL_string_dtor and returns 0x010527E0 10 thunk_to_STL_string_dtor_010527e0 stl Wrapper that calls STL_string_dtor and returns 0x010527F0 10 thunk_to_STL_string_dtor_010527f0 stl Wrapper that calls STL_string_dtor and returns 0x01052800 10 thunk_to_STL_string_dtor_01052800 stl Wrapper that calls STL_string_dtor and returns 0x01052810 10 thunk_to_STL_string_dtor_01052810 stl Wrapper that calls STL_string_dtor and returns 0x01052890 280 atexit_unregister_window_classes_and_cleanup_01052890 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010529B0 10 thunk_to_STL_string_dtor_010529b0 stl Wrapper function that calls STL_string_dtor and returns 0x010529C0 10 thunk_to_STL_string_dtor_010529c0 stl Wrapper that calls STL_string_dtor and returns 0x010529D0 10 thunk_to_STL_string_dtor_010529d0 stl Wrapper that calls STL_string_dtor and returns 0x010529E0 10 thunk_to_STL_string_dtor_010529e0 stl Wrapper that calls STL_string_dtor and returns 0x010529F0 10 thunk_to_STL_string_dtor_010529f0 stl Wrapper that calls STL_string_dtor and returns 0x01052A00 10 thunk_to_STL_string_dtor_01052a00 stl Wrapper that calls STL_string_dtor and returns 0x01052A10 10 thunk_to_STL_string_dtor_01052a10 stl Wrapper that calls STL_string_dtor and returns 0x01052A20 10 thunk_to_STL_string_dtor_01052a20 stl Wrapper that calls STL_string_dtor and returns 0x01052A30 10 thunk_to_STL_string_dtor_01052a30 stl Wrapper that calls STL_string_dtor and returns 0x01052A40 10 thunk_to_STL_string_dtor_01052a40 stl Wrapper that calls STL_string_dtor and returns 0x01052A50 10 thunk_to_STL_string_dtor_01052a50 stl Wrapper that calls STL_string_dtor and returns 0x01052A60 10 thunk_to_STL_string_dtor_01052a60 stl Wrapper that calls STL_string_dtor and returns 0x01052A70 10 thunk_to_STL_string_dtor_01052a70 stl Wrapper that calls STL_string_dtor and returns 0x01052A80 10 thunk_to_STL_string_dtor_01052a80 stl Wrapper that calls STL_string_dtor and returns 0x01052A90 10 thunk_to_STL_string_dtor_01052a90 stl Wrapper that calls STL_string_dtor and returns 0x01052AA0 10 thunk_to_STL_string_dtor_01052aa0 stl Wrapper that calls STL_string_dtor and returns 0x01052AB0 10 thunk_to_STL_string_dtor_01052ab0 stl Wrapper that calls STL_string_dtor and returns 0x01052AC0 10 thunk_to_STL_string_dtor_01052ac0 stl Wrapper that calls STL_string_dtor and returns 0x01052AD0 10 thunk_to_STL_string_dtor_01052ad0 stl Wrapper that calls STL_string_dtor and returns 0x01052AE0 10 thunk_to_STL_string_dtor_01052ae0 stl Wrapper that calls STL_string_dtor and returns 0x01052AF0 10 thunk_to_STL_string_dtor_01052af0 stl Wrapper that calls STL_string_dtor and returns 0x01052B00 10 thunk_to_STL_string_dtor_01052b00 stl Wrapper that calls STL_string_dtor and returns 0x01052B10 10 thunk_to_STL_string_dtor_01052b10 stl Wrapper that calls STL_string_dtor and returns 0x01052B20 10 thunk_to_STL_string_dtor_01052b20 stl Wrapper that calls STL_string_dtor and returns 0x01052B30 10 thunk_to_STL_string_dtor_01052b30 stl Wrapper that calls STL_string_dtor and returns 0x01052BB0 280 atexit_unregister_window_classes_and_cleanup_01052bb0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01052CD0 10 thunk_to_STL_string_dtor_01052cd0 stl Wrapper that calls STL_string_dtor and returns 0x01052CE0 10 thunk_to_STL_string_dtor_01052ce0 stl Wrapper that calls STL_string_dtor and returns 0x01052CF0 10 thunk_to_STL_string_dtor_01052cf0 stl Wrapper that calls STL_string_dtor and returns 0x01052D00 10 thunk_to_STL_string_dtor_01052d00 stl Wrapper that calls STL_string_dtor and returns 0x01052D10 10 thunk_to_STL_string_dtor_01052d10 stl Wrapper that calls STL_string_dtor and returns 0x01052D20 10 thunk_to_STL_string_dtor_01052d20 stl Wrapper that calls STL_string_dtor and returns 0x01052D30 10 thunk_to_STL_string_dtor_01052d30 stl Wrapper that calls STL_string_dtor and returns 0x01052D40 10 thunk_to_STL_string_dtor_01052d40 stl Wrapper that calls STL_string_dtor and returns immediately 0x01052D50 10 thunk_to_STL_string_dtor_01052d50 stl Wrapper that calls STL_string_dtor and returns 0x01052D60 10 thunk_to_STL_string_dtor_01052d60 stl Wrapper function that calls STL_string_dtor and returns 0x01052D70 10 thunk_to_STL_string_dtor_01052d70 stl Wrapper that calls STL_string_dtor and returns 0x01052D80 10 thunk_to_STL_string_dtor_01052d80 stl Wrapper that calls STL_string_dtor and returns 0x01052D90 10 thunk_to_STL_string_dtor_01052d90 stl Wrapper that calls STL_string_dtor and returns 0x01052DA0 10 thunk_to_STL_string_dtor_01052da0 stl Wrapper that calls STL_string_dtor and returns 0x01052DB0 10 thunk_to_STL_string_dtor_01052db0 stl Wrapper that calls STL_string_dtor and returns 0x01052DC0 10 thunk_to_STL_string_dtor_01052dc0 stl Wrapper that calls STL_string_dtor and returns 0x01052DD0 10 thunk_to_STL_string_dtor_01052dd0 stl Wrapper that calls STL_string_dtor and returns 0x01052DE0 10 thunk_to_STL_string_dtor_01052de0 stl Wrapper that calls STL_string_dtor and returns 0x01052DF0 10 thunk_to_STL_string_dtor_01052df0 stl Wrapper that calls STL_string_dtor and returns 0x01052E00 10 thunk_to_STL_string_dtor_01052e00 stl Wrapper that calls STL_string_dtor and returns 0x01052E10 10 thunk_to_STL_string_dtor_01052e10 stl Wrapper calling STL string destructor 0x01052E20 10 thunk_to_STL_string_dtor_01052e20 stl Wrapper that calls STL_string_dtor and returns 0x01052E30 10 thunk_to_STL_string_dtor_01052e30 stl Wrapper that calls STL_string_dtor and returns 0x01052E40 10 thunk_to_STL_string_dtor_01052e40 stl Wrapper that calls STL_string_dtor and returns 0x01052E50 10 thunk_to_STL_string_dtor_01052e50 stl Wrapper that calls STL_string_dtor and returns 0x01052ED0 280 atexit_unregister_window_classes_and_cleanup_01052ed0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01052FF0 10 thunk_to_STL_string_dtor_01052ff0 stl Wrapper that calls STL_string_dtor and returns 0x01053000 10 thunk_to_STL_string_dtor_01053000 stl Wrapper that calls STL_string_dtor and returns 0x01053010 10 thunk_to_STL_string_dtor_01053010 stl Wrapper that calls STL_string_dtor and returns 0x01053020 10 thunk_to_STL_string_dtor_01053020 stl Wrapper that calls STL_string_dtor and returns 0x01053030 10 thunk_to_STL_string_dtor_01053030 stl Wrapper that calls STL_string_dtor and returns 0x01053040 10 thunk_to_STL_string_dtor_01053040 stl Wrapper that calls STL_string_dtor and returns 0x01053050 10 thunk_to_STL_string_dtor_01053050 stl Wrapper that calls STL string destructor 0x01053060 10 thunk_to_STL_string_dtor_01053060 stl Wrapper that calls STL_string_dtor and returns 0x01053070 10 thunk_to_STL_string_dtor_01053070 stl Wrapper that calls STL_string_dtor and returns 0x01053080 10 thunk_to_STL_string_dtor_01053080 stl Wrapper that calls STL_string_dtor and returns 0x01053090 10 thunk_to_STL_string_dtor_01053090 stl Wrapper that calls STL_string_dtor and returns 0x010530A0 10 thunk_to_STL_string_dtor_010530a0 stl Wrapper that calls STL_string_dtor and returns 0x010530B0 10 thunk_to_STL_string_dtor_010530b0 stl Wrapper that calls STL_string_dtor and returns 0x010530C0 10 thunk_to_STL_string_dtor_010530c0 stl Wrapper that calls STL_string_dtor and returns 0x010530D0 10 thunk_to_STL_string_dtor_010530d0 stl Wrapper that calls STL_string_dtor and returns 0x010530E0 10 thunk_to_STL_string_dtor_010530e0 stl Wrapper that calls STL_string_dtor and returns 0x010530F0 10 thunk_to_STL_string_dtor_010530f0 stl Wrapper that calls STL_string_dtor and returns 0x01053100 10 thunk_to_STL_string_dtor_01053100 stl Wrapper that calls STL_string_dtor and returns 0x01053110 10 thunk_to_STL_string_dtor_01053110 stl Wrapper that calls STL_string_dtor and returns 0x01053120 10 thunk_to_STL_string_dtor_01053120 stl Wrapper that calls STL_string_dtor destructor 0x01053130 10 thunk_to_STL_string_dtor_01053130 stl Wrapper that calls STL_string_dtor and returns 0x01053140 10 thunk_to_STL_string_dtor_01053140 stl Wrapper that calls STL_string_dtor and returns 0x01053150 10 thunk_to_STL_string_dtor_01053150 stl Wrapper that calls STL_string_dtor and returns 0x01053160 10 thunk_to_STL_string_dtor_01053160 stl Wrapper that calls STL_string_dtor and returns 0x01053170 10 thunk_to_STL_string_dtor_01053170 stl Wrapper that calls STL_string_dtor and returns 0x010531F0 280 atexit_unregister_window_classes_and_cleanup_010531f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01053310 10 thunk_to_STL_string_dtor_01053310 stl Wrapper that calls STL_string_dtor and returns 0x01053320 10 thunk_to_STL_string_dtor_01053320 stl Wrapper that calls STL_string_dtor and returns 0x01053330 10 thunk_to_STL_string_dtor_01053330 stl Wrapper that calls STL_string_dtor and returns 0x01053340 10 thunk_to_STL_string_dtor_01053340 stl Wrapper that calls STL_string_dtor and returns 0x01053350 10 thunk_to_STL_string_dtor_01053350 stl Wrapper that calls STL_string_dtor and returns 0x01053360 10 thunk_to_STL_string_dtor_01053360 stl Wrapper that calls STL_string_dtor and returns 0x01053370 10 thunk_to_STL_string_dtor_01053370 stl Wrapper that calls STL_string_dtor and returns 0x01053380 10 thunk_to_STL_string_dtor_01053380 stl Wrapper that calls STL_string_dtor and returns 0x01053390 10 thunk_to_STL_string_dtor_01053390 stl Wrapper that calls STL_string_dtor and returns 0x010533A0 10 thunk_to_STL_string_dtor_010533a0 stl Wrapper that calls STL_string_dtor and returns 0x010533B0 10 thunk_to_STL_string_dtor_010533b0 stl Wrapper that calls STL_string_dtor and returns 0x010533C0 10 thunk_to_STL_string_dtor_010533c0 stl Wrapper that calls STL_string_dtor and returns 0x010533D0 10 thunk_to_STL_string_dtor_010533d0 stl Wrapper that calls STL_string_dtor and returns 0x010533E0 10 thunk_to_STL_string_dtor_010533e0 stl Wrapper that calls STL_string_dtor and returns 0x010533F0 10 thunk_to_STL_string_dtor_010533f0 stl Wrapper that calls STL_string_dtor and returns 0x01053400 10 thunk_to_STL_string_dtor_01053400 stl Wrapper that calls STL_string_dtor and returns 0x01053410 10 thunk_to_STL_string_dtor_01053410 stl Wrapper that calls STL_string_dtor and returns 0x01053420 10 thunk_to_STL_string_dtor_01053420 stl Wrapper that calls STL_string_dtor and returns 0x01053430 10 thunk_to_STL_string_dtor_01053430 stl Wrapper that calls STL_string_dtor and returns 0x01053440 10 thunk_to_STL_string_dtor_01053440 stl Wrapper that calls STL_string_dtor and returns 0x01053450 10 thunk_to_STL_string_dtor_01053450 stl Wrapper that calls STL_string_dtor and returns 0x01053460 10 thunk_to_STL_string_dtor_01053460 stl Wrapper that calls STL_string_dtor destructor 0x01053470 10 thunk_to_STL_string_dtor_01053470 stl Wrapper that calls STL_string_dtor and returns 0x01053480 10 thunk_to_STL_string_dtor_01053480 stl Wrapper that calls STL_string_dtor and returns 0x01053490 10 thunk_to_STL_string_dtor_01053490 stl Wrapper that calls STL_string_dtor and returns 0x01053510 280 atexit_unregister_window_classes_and_cleanup_01053510 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010536A0 280 atexit_unregister_window_classes_and_cleanup_010536a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010537C0 10 thunk_to_STL_string_dtor_010537c0 stl Wrapper that calls STL_string_dtor and returns 0x010537D0 10 thunk_to_STL_string_dtor_010537d0 stl Wrapper that calls STL_string_dtor and returns 0x010537E0 10 thunk_to_STL_string_dtor_010537e0 stl Wrapper that calls STL_string_dtor and returns 0x010537F0 10 thunk_to_STL_string_dtor_010537f0 stl Wrapper that calls STL_string_dtor and returns 0x01053800 10 thunk_to_STL_string_dtor_01053800 stl Wrapper that calls STL_string_dtor and returns 0x01053810 10 thunk_to_STL_string_dtor_01053810 stl Wrapper that calls STL_string_dtor and returns 0x01053820 10 thunk_to_STL_string_dtor_01053820 stl Wrapper that calls STL_string_dtor and returns 0x01053830 10 thunk_to_STL_string_dtor_01053830 stl Wrapper that calls STL_string_dtor and returns 0x01053840 10 thunk_to_STL_string_dtor_01053840 stl Wrapper that calls STL_string_dtor and returns 0x01053850 10 thunk_to_STL_string_dtor_01053850 stl Wrapper that calls STL_string_dtor and returns 0x01053860 10 thunk_to_STL_string_dtor_01053860 stl Wrapper that calls STL_string_dtor destructor 0x01053870 10 thunk_to_STL_string_dtor_01053870 stl Wrapper that calls STL_string_dtor and returns 0x01053880 10 thunk_to_STL_string_dtor_01053880 stl Wrapper that calls STL string destructor 0x01053890 10 thunk_to_STL_string_dtor_01053890 stl Wrapper that calls STL_string_dtor and returns 0x010538A0 10 thunk_to_STL_string_dtor_010538a0 stl Wrapper that calls STL_string_dtor and returns 0x010538B0 10 thunk_to_STL_string_dtor_010538b0 stl Wrapper that calls STL_string_dtor and returns 0x010538C0 10 thunk_to_STL_string_dtor_010538c0 stl Wrapper that calls STL_string_dtor and returns 0x010538D0 10 thunk_to_STL_string_dtor_010538d0 stl Wrapper that calls STL_string_dtor and returns 0x010538E0 10 thunk_to_STL_string_dtor_010538e0 stl Wrapper that calls STL_string_dtor and returns 0x010538F0 10 thunk_to_STL_string_dtor_010538f0 stl Wrapper that calls STL_string_dtor and returns 0x01053900 10 thunk_to_STL_string_dtor_01053900 stl Wrapper that calls STL_string_dtor and returns 0x01053910 10 thunk_to_STL_string_dtor_01053910 stl Wrapper that calls STL_string_dtor and returns 0x01053920 10 thunk_to_STL_string_dtor_01053920 stl Wrapper function that calls STL_string_dtor and returns 0x01053930 10 thunk_to_STL_string_dtor_01053930 stl Wrapper that calls STL_string_dtor and returns 0x01053940 10 thunk_to_STL_string_dtor_01053940 stl Wrapper that calls STL_string_dtor and returns 0x010539C0 280 atexit_unregister_window_classes_and_cleanup_010539c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01053AE0 10 thunk_to_STL_string_dtor_01053ae0 stl Wrapper that calls STL_string_dtor and returns 0x01053AF0 10 thunk_to_STL_string_dtor_01053af0 stl Wrapper that calls STL_string_dtor and returns 0x01053B00 10 thunk_to_STL_string_dtor_01053b00 stl Wrapper that calls STL_string_dtor and returns 0x01053B10 10 thunk_to_STL_string_dtor_01053b10 stl Wrapper that calls STL_string_dtor and returns 0x01053B20 10 thunk_to_STL_string_dtor_01053b20 stl Wrapper that calls STL_string_dtor and returns 0x01053B30 10 thunk_to_STL_string_dtor_01053b30 stl Wrapper that calls STL_string_dtor and returns 0x01053B40 10 thunk_to_STL_string_dtor_01053b40 stl Wrapper that calls STL_string_dtor and returns 0x01053B50 10 thunk_to_STL_string_dtor_01053b50 stl Wrapper that calls STL_string_dtor and returns 0x01053B60 10 thunk_to_STL_string_dtor_01053b60 stl Wrapper that calls STL_string_dtor and returns 0x01053B70 10 thunk_to_STL_string_dtor_01053b70 stl Wrapper that calls STL_string_dtor and returns 0x01053B80 10 thunk_to_STL_string_dtor_01053b80 stl Wrapper that calls STL_string_dtor and returns 0x01053B90 10 thunk_to_STL_string_dtor_01053b90 stl Wrapper that calls STL_string_dtor and returns 0x01053BA0 10 thunk_to_STL_string_dtor_01053ba0 stl Wrapper that calls STL_string_dtor and returns 0x01053BB0 10 thunk_to_STL_string_dtor_01053bb0 stl Wrapper that calls STL_string_dtor and returns 0x01053BC0 10 thunk_to_STL_string_dtor_01053bc0 stl Wrapper that calls STL_string_dtor and returns 0x01053BD0 10 thunk_to_STL_string_dtor_01053bd0 stl Wrapper that calls STL_string_dtor and returns 0x01053BE0 10 thunk_to_STL_string_dtor_01053be0 stl Wrapper that calls STL_string_dtor and returns 0x01053BF0 10 thunk_to_STL_string_dtor_01053bf0 stl Wrapper that calls STL_string_dtor and returns 0x01053C00 10 thunk_to_STL_string_dtor_01053c00 stl Wrapper that calls STL_string_dtor and returns 0x01053C10 10 thunk_to_STL_string_dtor_01053c10 stl Wrapper that calls STL_string_dtor and returns 0x01053C20 10 thunk_to_STL_string_dtor_01053c20 stl Wrapper that calls STL_string_dtor and returns 0x01053C30 10 thunk_to_STL_string_dtor_01053c30 stl Wrapper that calls STL_string_dtor and returns 0x01053C40 10 thunk_to_STL_string_dtor_01053c40 stl Wrapper that calls STL_string_dtor and returns 0x01053C50 10 thunk_to_STL_string_dtor_01053c50 stl Wrapper that calls STL_string_dtor and returns 0x01053C60 10 thunk_to_STL_string_dtor_01053c60 stl Wrapper that calls STL_string_dtor and returns 0x01053CE0 280 atexit_unregister_window_classes_and_cleanup_01053ce0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01053E00 93 atexit_CItemInfoMgr_dtor_01053e00 crt SEH-protected atexit destructor for CItemInfoMgr singleton at PTR_PTR_0132ffc8. Sets vtable, calls CSVParser__free_all_line_buffers, then STL_vector_free_aligned to clean up parsed item data. 0x01053ED0 280 atexit_unregister_window_classes_and_cleanup_01053ed0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01054060 280 atexit_unregister_window_classes_and_cleanup_01054060 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01054180 10 thunk_to_STL_string_dtor_01054180 stl Wrapper function that calls STL_string_dtor and returns 0x01054190 10 thunk_to_STL_string_dtor_01054190 stl Wrapper that calls STL_string_dtor and returns 0x010541A0 10 thunk_to_STL_string_dtor_010541a0 stl Wrapper that calls STL_string_dtor and returns 0x010541B0 10 thunk_to_STL_string_dtor_010541b0 stl Wrapper that calls STL_string_dtor and returns 0x010541C0 10 thunk_to_STL_string_dtor_010541c0 stl Wrapper that calls STL_string_dtor and returns 0x010541E0 10 thunk_to_STL_string_dtor_010541e0 stl Wrapper that calls STL_string_dtor and returns 0x010541F0 10 thunk_to_STL_string_dtor_010541f0 stl Wrapper that calls STL_string_dtor and returns 0x01054200 10 thunk_to_STL_string_dtor_01054200 stl Wrapper that calls STL_string_dtor and returns 0x01054210 10 thunk_to_STL_string_dtor_01054210 stl Wrapper function that calls STL_string_dtor and returns 0x01054220 10 thunk_to_STL_string_dtor_01054220 stl Wrapper that calls STL_string_dtor and returns 0x01054230 10 thunk_to_STL_string_dtor_01054230 stl Wrapper that calls STL_string_dtor and returns 0x01054240 10 thunk_to_STL_string_dtor_01054240 stl Wrapper that calls STL_string_dtor and returns 0x01054250 10 thunk_to_STL_string_dtor_01054250 stl Wrapper that calls STL_string_dtor and returns 0x01054260 10 thunk_to_STL_string_dtor_01054260 stl Wrapper that calls STL_string_dtor and returns 0x01054270 10 thunk_to_STL_string_dtor_01054270 stl Wrapper that calls STL_string_dtor and returns 0x01054280 10 thunk_to_STL_string_dtor_01054280 stl Wrapper that calls STL_string_dtor and returns 0x01054290 10 thunk_to_STL_string_dtor_01054290 stl Wrapper that calls STL_string_dtor and returns 0x010542A0 10 thunk_to_STL_string_dtor_010542a0 stl Wrapper that calls STL_string_dtor and returns 0x010542B0 10 thunk_to_STL_string_dtor_010542b0 stl Wrapper that calls STL_string_dtor and returns 0x010542C0 10 thunk_to_STL_string_dtor_010542c0 stl Wrapper that calls STL_string_dtor and returns 0x010542D0 10 thunk_to_STL_string_dtor_010542d0 stl Wrapper that calls STL_string_dtor and returns 0x010542E0 10 thunk_to_STL_string_dtor_010542e0 stl Wrapper function that calls STL_string_dtor and returns 0x010542F0 10 thunk_to_STL_string_dtor_010542f0 stl Wrapper that calls STL_string_dtor and returns 0x01054300 10 thunk_to_STL_string_dtor_01054300 stl Wrapper that calls STL_string_dtor and returns 0x01054380 280 atexit_unregister_window_classes_and_cleanup_01054380 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010544A0 10 thunk_to_STL_string_dtor_010544a0 stl Wrapper that calls STL_string_dtor and returns 0x010544B0 10 thunk_to_STL_string_dtor_010544b0 stl Wrapper that calls STL_string_dtor and returns 0x010544C0 10 thunk_to_STL_string_dtor_010544c0 stl Wrapper that calls STL_string_dtor and returns 0x010544E0 10 thunk_to_STL_string_dtor_010544e0 stl Wrapper that calls STL_string_dtor and returns 0x010544F0 10 thunk_to_STL_string_dtor_010544f0 stl Wrapper that calls STL_string_dtor and returns 0x01054500 10 thunk_to_STL_string_dtor_01054500 stl Wrapper that calls STL_string_dtor and returns 0x01054510 10 thunk_to_STL_string_dtor_01054510 stl Wrapper that calls STL_string_dtor and returns 0x01054520 10 thunk_to_STL_string_dtor_01054520 stl Wrapper that calls STL_string_dtor and returns 0x01054530 10 thunk_to_STL_string_dtor_01054530 stl Wrapper that calls STL_string_dtor and returns 0x01054540 10 thunk_to_STL_string_dtor_01054540 stl Wrapper that calls STL_string_dtor and returns immediately 0x01054550 10 thunk_to_STL_string_dtor_01054550 stl Wrapper that calls STL_string_dtor and returns 0x01054560 10 thunk_to_STL_string_dtor_01054560 stl Wrapper that calls STL_string_dtor and returns 0x01054570 10 thunk_to_STL_string_dtor_01054570 stl Wrapper that calls STL_string_dtor and returns 0x01054580 10 thunk_to_STL_string_dtor_01054580 stl Wrapper that calls STL_string_dtor and returns 0x01054590 10 thunk_to_STL_string_dtor_01054590 stl Wrapper that calls STL_string_dtor and returns 0x010545A0 10 thunk_to_STL_string_dtor_010545a0 stl Wrapper that calls STL_string_dtor and returns 0x010545B0 10 thunk_to_STL_string_dtor_010545b0 stl Wrapper that calls STL_string_dtor and returns 0x010545C0 10 thunk_to_STL_string_dtor_010545c0 stl Wrapper that calls STL_string_dtor and returns 0x010545D0 10 thunk_to_STL_string_dtor_010545d0 stl Wrapper that calls STL_string_dtor and returns 0x010545E0 10 thunk_to_STL_string_dtor_010545e0 stl Wrapper that calls STL_string_dtor and returns 0x010545F0 10 thunk_to_STL_string_dtor_010545f0 stl Wrapper that calls STL_string_dtor and returns 0x01054600 10 thunk_to_STL_string_dtor_01054600 stl Wrapper that calls STL_string_dtor and returns 0x01054610 10 thunk_to_STL_string_dtor_01054610 stl Wrapper that calls STL_string_dtor and returns 0x01054620 10 thunk_to_STL_string_dtor_01054620 stl Wrapper that calls STL_string_dtor and returns 0x010546A0 280 atexit_unregister_window_classes_and_cleanup_010546a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010547C0 66 atexit_STL_map_destroy_010547c0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01054810 69 tls_clear_byte_array_at_0x20f4 crt Clears 0x12 (18) bytes in TLS data at offset 0x20f4. TLS access via FS:[0x2c] + index * 4. 0x01054860 69 tls_clear_byte_array_at_0x210c crt Clears 0x12 (18) bytes in TLS data at offset 0x210c. TLS access via FS:[0x2c] + index * 4. 0x010548B0 10 thunk_to_STL_string_dtor_010548b0 stl Wrapper that calls STL_string_dtor and returns 0x010548C0 10 thunk_to_STL_string_dtor_010548c0 stl Wrapper that calls STL_string_dtor and returns 0x010548D0 10 thunk_to_STL_string_dtor_010548d0 stl Wrapper that calls STL_string_dtor and returns 0x010548E0 10 thunk_to_STL_string_dtor_010548e0 stl Wrapper that calls STL_string_dtor and returns 0x010548F0 10 thunk_to_STL_string_dtor_010548f0 stl Wrapper that calls STL_string_dtor and returns 0x01054900 10 thunk_to_STL_string_dtor_01054900 stl Wrapper that calls STL_string_dtor and returns 0x01054910 10 thunk_to_STL_string_dtor_01054910 stl Wrapper that calls STL_string_dtor and returns 0x01054920 10 thunk_to_STL_string_dtor_01054920 stl Wrapper that calls STL_string_dtor and returns 0x01054930 10 thunk_to_STL_string_dtor_01054930 stl Wrapper that calls STL_string_dtor and returns 0x01054940 10 thunk_to_STL_string_dtor_01054940 stl Wrapper that calls STL_string_dtor and returns 0x01054950 10 thunk_to_STL_string_dtor_01054950 stl Wrapper that calls STL_string_dtor and returns 0x01054960 10 thunk_to_STL_string_dtor_01054960 stl Wrapper that calls STL_string_dtor and returns 0x01054970 10 thunk_to_STL_string_dtor_01054970 stl Wrapper that calls STL_string_dtor and returns 0x01054980 10 thunk_to_STL_string_dtor_01054980 stl Wrapper that calls STL_string_dtor and returns 0x01054990 10 thunk_to_STL_string_dtor_01054990 stl Wrapper that calls STL_string_dtor and returns 0x010549A0 10 thunk_to_STL_string_dtor_010549a0 stl Wrapper that calls STL_string_dtor and returns 0x010549B0 10 thunk_to_STL_string_dtor_010549b0 stl Wrapper that calls STL_string_dtor and returns 0x010549C0 10 thunk_to_STL_string_dtor_010549c0 stl Wrapper that calls STL_string_dtor and returns 0x010549D0 10 thunk_to_STL_string_dtor_010549d0 stl Wrapper that calls STL_string_dtor and returns 0x010549E0 10 thunk_to_STL_string_dtor_010549e0 stl Wrapper that calls STL_string_dtor and returns 0x010549F0 10 thunk_to_STL_string_dtor_010549f0 stl Wrapper that calls STL_string_dtor and returns 0x01054A00 10 thunk_to_STL_string_dtor_01054a00 stl Wrapper calling STL string destructor 0x01054A10 10 thunk_to_STL_string_dtor_01054a10 stl Wrapper that calls STL_string_dtor and returns 0x01054A20 10 thunk_to_STL_string_dtor_01054a20 stl Wrapper that calls STL_string_dtor and returns 0x01054A30 10 thunk_to_STL_string_dtor_01054a30 stl Wrapper that calls STL_string_dtor and returns 0x01054AB0 280 atexit_unregister_window_classes_and_cleanup_01054ab0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01054C40 280 atexit_unregister_window_classes_and_cleanup_01054c40 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01054DD0 280 atexit_unregister_window_classes_and_cleanup_01054dd0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01054EF0 10 thunk_to_STL_string_dtor_01054ef0 stl Wrapper that calls STL_string_dtor and returns 0x01054F00 10 thunk_to_STL_string_dtor_01054f00 stl Wrapper that calls STL_string_dtor and returns 0x01054F10 10 thunk_to_STL_string_dtor_01054f10 stl Wrapper that calls STL_string_dtor and returns 0x01054F20 10 thunk_to_STL_string_dtor_01054f20 stl Wrapper that calls STL_string_dtor and returns 0x01054F30 10 thunk_to_STL_string_dtor_01054f30 stl Wrapper that calls STL_string_dtor and returns 0x01054F40 10 thunk_to_STL_string_dtor_01054f40 stl Wrapper that calls STL_string_dtor and returns 0x01054F50 10 thunk_to_STL_string_dtor_01054f50 stl Wrapper that calls STL_string_dtor and returns 0x01054F60 10 thunk_to_STL_string_dtor_01054f60 stl Wrapper that calls STL_string_dtor and returns 0x01054F70 10 thunk_to_STL_string_dtor_01054f70 stl Wrapper that calls STL_string_dtor and returns 0x01054F80 10 thunk_to_STL_string_dtor_01054f80 stl Wrapper that calls STL_string_dtor and returns 0x01054F90 10 thunk_to_STL_string_dtor_01054f90 stl Wrapper that calls STL_string_dtor and returns 0x01054FA0 10 thunk_to_STL_string_dtor_01054fa0 stl Wrapper function that calls STL_string_dtor and returns 0x01054FB0 10 thunk_to_STL_string_dtor_01054fb0 stl Wrapper that calls STL_string_dtor and returns 0x01054FC0 10 thunk_to_STL_string_dtor_01054fc0 stl Wrapper that calls STL_string_dtor and returns 0x01054FD0 10 thunk_to_STL_string_dtor_01054fd0 stl Wrapper that calls STL_string_dtor and returns 0x01054FE0 10 thunk_to_STL_string_dtor_01054fe0 stl Wrapper that calls STL_string_dtor and returns 0x01054FF0 10 thunk_to_STL_string_dtor_01054ff0 stl Wrapper that calls STL_string_dtor and returns 0x01055000 10 thunk_to_STL_string_dtor_01055000 stl Wrapper that calls STL_string_dtor and returns 0x01055010 10 thunk_to_STL_string_dtor_01055010 stl Wrapper function that calls STL_string_dtor and returns 0x01055020 10 thunk_to_STL_string_dtor_01055020 stl Wrapper that calls STL_string_dtor and returns 0x01055030 10 thunk_to_STL_string_dtor_01055030 stl Wrapper function that calls STL_string_dtor and returns 0x01055040 10 thunk_to_STL_string_dtor_01055040 stl Wrapper that calls STL_string_dtor and returns 0x01055050 10 thunk_to_STL_string_dtor_01055050 stl Wrapper that calls STL_string_dtor and returns 0x01055060 10 thunk_to_STL_string_dtor_01055060 stl Wrapper that calls STL string destructor 0x01055070 10 thunk_to_STL_string_dtor_01055070 stl Wrapper that calls STL_string_dtor and returns 0x010550F0 280 atexit_unregister_window_classes_and_cleanup_010550f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01055210 10 thunk_to_STL_string_dtor_01055210 stl Wrapper that calls STL_string_dtor and returns 0x01055220 10 thunk_to_STL_string_dtor_01055220 stl Wrapper that calls STL_string_dtor and returns 0x01055230 10 thunk_to_STL_string_dtor_01055230 stl Wrapper that calls STL_string_dtor and returns 0x01055240 10 thunk_to_STL_string_dtor_01055240 stl Wrapper that calls STL_string_dtor and returns 0x01055250 10 thunk_to_STL_string_dtor_01055250 stl Wrapper that calls STL_string_dtor and returns 0x01055260 10 thunk_to_STL_string_dtor_01055260 stl Wrapper that calls STL_string_dtor and returns 0x01055270 10 thunk_to_STL_string_dtor_01055270 stl Wrapper that calls STL_string_dtor and returns 0x01055280 10 thunk_to_STL_string_dtor_01055280 stl Wrapper that calls STL string destructor 0x01055290 10 thunk_to_STL_string_dtor_01055290 stl Wrapper that calls STL_string_dtor and returns 0x010552A0 10 thunk_to_STL_string_dtor_010552a0 stl Wrapper that calls STL_string_dtor and returns 0x010552B0 10 thunk_to_STL_string_dtor_010552b0 stl Wrapper that calls STL_string_dtor and returns 0x010552C0 10 thunk_to_STL_string_dtor_010552c0 stl Wrapper that calls STL_string_dtor and returns 0x010552D0 10 thunk_to_STL_string_dtor_010552d0 stl Wrapper that calls STL_string_dtor and returns 0x010552E0 10 thunk_to_STL_string_dtor_010552e0 stl Wrapper that calls STL_string_dtor and returns 0x010552F0 10 thunk_to_STL_string_dtor_010552f0 stl Wrapper that calls STL_string_dtor and returns 0x01055300 10 thunk_to_STL_string_dtor_01055300 stl Wrapper that calls STL_string_dtor and returns 0x01055310 10 thunk_to_STL_string_dtor_01055310 stl Wrapper that calls STL_string_dtor and returns 0x01055320 10 thunk_to_STL_string_dtor_01055320 stl Wrapper that calls STL_string_dtor destructor 0x01055330 10 thunk_to_STL_string_dtor_01055330 stl Wrapper that calls STL_string_dtor and returns 0x01055340 10 thunk_to_STL_string_dtor_01055340 stl Wrapper that calls STL_string_dtor and returns 0x01055350 10 thunk_to_STL_string_dtor_01055350 stl Wrapper that calls STL_string_dtor and returns 0x01055360 10 thunk_to_STL_string_dtor_01055360 stl Wrapper that calls STL_string_dtor and returns 0x01055370 10 thunk_to_STL_string_dtor_01055370 stl Wrapper that calls STL_string_dtor and returns 0x01055380 10 thunk_to_STL_string_dtor_01055380 stl Wrapper that calls STL_string_dtor and returns 0x01055390 10 thunk_to_STL_string_dtor_01055390 stl Wrapper that calls STL_string_dtor and returns 0x01055410 280 atexit_unregister_window_classes_and_cleanup_01055410 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01055530 66 atexit_STL_map_destroy_01055530 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01055580 10 thunk_to_STL_string_dtor_01055580 stl Wrapper that calls STL_string_dtor and returns 0x01055590 10 thunk_to_STL_string_dtor_01055590 stl Wrapper that calls STL_string_dtor and returns 0x010555A0 10 thunk_to_STL_string_dtor_010555a0 stl Wrapper that calls STL_string_dtor and returns 0x010555B0 10 thunk_to_STL_string_dtor_010555b0 stl Wrapper that calls STL_string_dtor and returns 0x010555C0 10 thunk_to_STL_string_dtor_010555c0 stl Wrapper that calls STL_string_dtor and returns 0x010555D0 10 thunk_to_STL_string_dtor_010555d0 stl Wrapper that calls STL_string_dtor and returns 0x010555E0 10 thunk_to_STL_string_dtor_010555e0 stl Wrapper that calls STL_string_dtor and returns 0x010555F0 10 thunk_to_STL_string_dtor_010555f0 stl Wrapper that calls STL_string_dtor and returns 0x01055600 10 thunk_to_STL_string_dtor_01055600 stl Wrapper function that calls STL_string_dtor and returns 0x01055610 10 thunk_to_STL_string_dtor_01055610 stl Wrapper that calls STL_string_dtor and returns 0x01055620 10 thunk_to_STL_string_dtor_01055620 stl Wrapper that calls STL_string_dtor and returns 0x01055630 10 thunk_to_STL_string_dtor_01055630 stl Wrapper that calls STL_string_dtor and returns 0x01055640 10 thunk_to_STL_string_dtor_01055640 stl Wrapper that calls STL_string_dtor and returns 0x01055650 10 thunk_to_STL_string_dtor_01055650 stl Wrapper that calls STL_string_dtor and returns 0x01055660 10 thunk_to_STL_string_dtor_01055660 stl Wrapper that calls STL_string_dtor and returns 0x01055670 10 thunk_to_STL_string_dtor_01055670 stl Wrapper that calls STL_string_dtor and returns 0x01055680 10 thunk_to_STL_string_dtor_01055680 stl Wrapper that calls STL_string_dtor and returns 0x01055690 10 thunk_to_STL_string_dtor_01055690 stl Wrapper that calls STL_string_dtor and returns 0x010556A0 10 thunk_to_STL_string_dtor_010556a0 stl Wrapper that calls STL_string_dtor and returns 0x010556B0 10 thunk_to_STL_string_dtor_010556b0 stl Wrapper that calls STL_string_dtor and returns 0x010556C0 10 thunk_to_STL_string_dtor_010556c0 stl Wrapper that calls STL_string_dtor and returns 0x010556D0 10 thunk_to_STL_string_dtor_010556d0 stl Wrapper that calls STL_string_dtor and returns 0x010556E0 10 thunk_to_STL_string_dtor_010556e0 stl Wrapper that calls STL_string_dtor and returns 0x010556F0 10 thunk_to_STL_string_dtor_010556f0 stl Wrapper that calls STL_string_dtor and returns 0x01055700 10 thunk_to_STL_string_dtor_01055700 stl Wrapper function that calls STL_string_dtor and returns 0x01055780 280 atexit_unregister_window_classes_and_cleanup_01055780 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010558A0 66 atexit_STL_map_destroy_010558a0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x010558F0 10 thunk_to_STL_string_dtor_010558f0 stl Wrapper that calls STL_string_dtor and returns 0x01055900 10 thunk_to_STL_string_dtor_01055900 stl Wrapper that calls STL_string_dtor and returns 0x01055910 10 thunk_to_STL_string_dtor_01055910 stl Wrapper that calls STL_string_dtor and returns 0x01055920 10 thunk_to_STL_string_dtor_01055920 stl Wrapper that calls STL_string_dtor and returns 0x01055930 10 thunk_to_STL_string_dtor_01055930 stl Wrapper that calls STL_string_dtor and returns 0x01055940 10 thunk_to_STL_string_dtor_01055940 stl Wrapper that calls STL_string_dtor and returns 0x01055950 10 thunk_to_STL_string_dtor_01055950 stl Wrapper that calls STL_string_dtor and returns 0x01055960 10 thunk_to_STL_string_dtor_01055960 stl Wrapper that calls STL_string_dtor and returns 0x01055970 10 thunk_to_STL_string_dtor_01055970 stl Wrapper function that calls STL_string_dtor and returns 0x01055980 10 thunk_to_STL_string_dtor_01055980 stl Wrapper that calls STL_string_dtor and returns 0x01055990 10 thunk_to_STL_string_dtor_01055990 stl Wrapper that calls STL_string_dtor and returns 0x010559A0 10 thunk_to_STL_string_dtor_010559a0 stl Wrapper that calls STL_string_dtor and returns 0x010559B0 10 thunk_to_STL_string_dtor_010559b0 stl Wrapper that calls STL_string_dtor and returns 0x010559C0 10 thunk_to_STL_string_dtor_010559c0 stl Wrapper that calls STL_string_dtor and returns 0x010559D0 10 thunk_to_STL_string_dtor_010559d0 stl Wrapper that calls STL_string_dtor and returns 0x010559E0 10 thunk_to_STL_string_dtor_010559e0 stl Wrapper that calls STL_string_dtor and returns 0x010559F0 10 thunk_to_STL_string_dtor_010559f0 stl Wrapper that calls STL_string_dtor and returns 0x01055A00 10 thunk_to_STL_string_dtor_01055a00 stl Wrapper that calls STL_string_dtor and returns 0x01055A10 10 thunk_to_STL_string_dtor_01055a10 stl Wrapper that calls STL_string_dtor and returns 0x01055A20 10 thunk_to_STL_string_dtor_01055a20 stl Wrapper that calls STL_string_dtor and returns 0x01055A30 10 thunk_to_STL_string_dtor_01055a30 stl Wrapper that calls STL_string_dtor and returns 0x01055A40 10 thunk_to_STL_string_dtor_01055a40 stl Wrapper that calls STL_string_dtor and returns 0x01055A50 10 thunk_to_STL_string_dtor_01055a50 stl Wrapper that calls STL_string_dtor and returns 0x01055A60 10 thunk_to_STL_string_dtor_01055a60 stl Wrapper that calls STL_string_dtor and returns 0x01055A70 10 thunk_to_STL_string_dtor_01055a70 stl Wrapper that calls STL_string_dtor and returns 0x01055AF0 280 atexit_unregister_window_classes_and_cleanup_01055af0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01055C10 66 atexit_STL_map_destroy_01055c10 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01055C60 10 thunk_to_STL_string_dtor_01055c60 stl Wrapper that calls STL_string_dtor and returns 0x01055C70 10 thunk_to_STL_string_dtor_01055c70 stl Wrapper that calls STL_string_dtor and returns 0x01055C80 10 thunk_to_STL_string_dtor_01055c80 stl Wrapper that calls STL_string_dtor and returns 0x01055C90 10 thunk_to_STL_string_dtor_01055c90 stl Wrapper that calls STL_string_dtor and returns 0x01055CA0 10 thunk_to_STL_string_dtor_01055ca0 stl Wrapper that calls STL_string_dtor and returns 0x01055CB0 10 thunk_to_STL_string_dtor_01055cb0 stl Wrapper that calls STL_string_dtor and returns 0x01055CC0 10 thunk_to_STL_string_dtor_01055cc0 stl Wrapper that calls STL_string_dtor and returns 0x01055CD0 10 thunk_to_STL_string_dtor_01055cd0 stl Wrapper that calls STL_string_dtor and returns 0x01055CE0 10 thunk_to_STL_string_dtor_01055ce0 stl Wrapper that calls STL_string_dtor and returns 0x01055CF0 10 thunk_to_STL_string_dtor_01055cf0 stl Wrapper that calls STL_string_dtor and returns 0x01055D00 10 thunk_to_STL_string_dtor_01055d00 stl Wrapper that calls STL_string_dtor and returns 0x01055D10 10 thunk_to_STL_string_dtor_01055d10 stl Wrapper that calls STL_string_dtor and returns 0x01055D20 10 thunk_to_STL_string_dtor_01055d20 stl Wrapper that calls STL_string_dtor and returns 0x01055D30 10 thunk_to_STL_string_dtor_01055d30 stl Wrapper that calls STL_string_dtor and returns 0x01055D40 10 thunk_to_STL_string_dtor_01055d40 stl Wrapper that calls STL_string_dtor and returns 0x01055D50 10 thunk_to_STL_string_dtor_01055d50 stl Wrapper that calls STL_string_dtor and returns 0x01055D60 10 thunk_to_STL_string_dtor_01055d60 stl Wrapper that calls STL_string_dtor and returns 0x01055D70 10 thunk_to_STL_string_dtor_01055d70 stl Wrapper that calls STL_string_dtor and returns 0x01055D80 10 thunk_to_STL_string_dtor_01055d80 stl Wrapper that calls STL_string_dtor and returns 0x01055D90 10 thunk_to_STL_string_dtor_01055d90 stl Wrapper that calls STL_string_dtor and returns 0x01055DA0 10 thunk_to_STL_string_dtor_01055da0 stl Wrapper that calls STL_string_dtor and returns 0x01055DB0 10 thunk_to_STL_string_dtor_01055db0 stl Wrapper that calls STL_string_dtor and returns 0x01055DC0 10 thunk_to_STL_string_dtor_01055dc0 stl Wrapper that calls STL_string_dtor and returns 0x01055DD0 10 thunk_to_STL_string_dtor_01055dd0 stl Wrapper that calls STL_string_dtor and returns 0x01055DE0 10 thunk_to_STL_string_dtor_01055de0 stl Wrapper that calls STL_string_dtor and returns 0x01055E60 280 atexit_unregister_window_classes_and_cleanup_01055e60 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01055F80 10 thunk_to_STL_string_dtor_01055f80 stl Wrapper that calls STL_string_dtor and returns 0x01055F90 10 thunk_to_STL_string_dtor_01055f90 stl Wrapper that calls STL_string_dtor and returns 0x01055FA0 10 thunk_to_STL_string_dtor_01055fa0 stl Wrapper that calls STL_string_dtor and returns 0x01055FB0 10 thunk_to_STL_string_dtor_01055fb0 stl Wrapper that calls STL_string_dtor and returns 0x01055FC0 10 thunk_to_STL_string_dtor_01055fc0 stl Wrapper that calls STL_string_dtor and returns 0x01055FD0 10 thunk_to_STL_string_dtor_01055fd0 stl Wrapper function that calls STL_string_dtor and returns 0x01055FE0 10 thunk_to_STL_string_dtor_01055fe0 stl Wrapper that calls STL_string_dtor and returns 0x01055FF0 10 thunk_to_STL_string_dtor_01055ff0 stl Wrapper that calls STL_string_dtor and returns 0x01056000 10 thunk_to_STL_string_dtor_01056000 stl Wrapper that calls STL_string_dtor and returns 0x01056010 10 thunk_to_STL_string_dtor_01056010 stl Wrapper that calls STL_string_dtor and returns 0x01056020 10 thunk_to_STL_string_dtor_01056020 stl Wrapper that calls STL_string_dtor and returns 0x01056030 10 thunk_to_STL_string_dtor_01056030 stl Wrapper that calls STL_string_dtor and returns 0x01056040 10 thunk_to_STL_string_dtor_01056040 stl Wrapper calling STL string destructor 0x01056050 10 thunk_to_STL_string_dtor_01056050 stl Wrapper that calls STL_string_dtor and returns 0x01056060 10 thunk_to_STL_string_dtor_01056060 stl Wrapper that calls STL_string_dtor and returns 0x01056070 10 thunk_to_STL_string_dtor_01056070 stl Wrapper that calls STL_string_dtor and returns 0x01056080 10 thunk_to_STL_string_dtor_01056080 stl Wrapper function that calls STL_string_dtor and returns 0x01056090 10 thunk_to_STL_string_dtor_01056090 stl Wrapper that calls STL_string_dtor and returns 0x010560A0 10 thunk_to_STL_string_dtor_010560a0 stl Wrapper that calls STL_string_dtor and returns 0x010560B0 10 thunk_to_STL_string_dtor_010560b0 stl Wrapper that calls STL_string_dtor and returns 0x010560C0 10 thunk_to_STL_string_dtor_010560c0 stl Wrapper that calls STL_string_dtor and returns 0x010560D0 10 thunk_to_STL_string_dtor_010560d0 stl Wrapper that calls STL_string_dtor and returns 0x010560E0 10 thunk_to_STL_string_dtor_010560e0 stl Wrapper that calls STL_string_dtor and returns 0x010560F0 10 thunk_to_STL_string_dtor_010560f0 stl Wrapper that calls STL_string_dtor and returns 0x01056100 10 thunk_to_STL_string_dtor_01056100 stl Wrapper that calls STL_string_dtor and returns 0x01056180 280 atexit_unregister_window_classes_and_cleanup_01056180 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010562A0 10 thunk_to_STL_string_dtor_010562a0 stl Wrapper that calls STL_string_dtor and returns 0x010562B0 10 thunk_to_STL_string_dtor_010562b0 stl Wrapper that calls STL_string_dtor and returns 0x010562C0 10 thunk_to_STL_string_dtor_010562c0 stl Wrapper that calls STL_string_dtor and returns 0x010562D0 10 thunk_to_STL_string_dtor_010562d0 stl Wrapper that calls STL_string_dtor and returns 0x010562E0 10 thunk_to_STL_string_dtor_010562e0 stl Wrapper that calls STL_string_dtor and returns 0x010562F0 10 thunk_to_STL_string_dtor_010562f0 stl Wrapper that calls STL_string_dtor and returns 0x01056300 10 thunk_to_STL_string_dtor_01056300 stl Wrapper that calls STL_string_dtor and returns 0x01056310 10 thunk_to_STL_string_dtor_01056310 stl Wrapper that calls STL_string_dtor and returns 0x01056320 10 thunk_to_STL_string_dtor_01056320 stl Wrapper that calls STL_string_dtor and returns 0x01056330 10 thunk_to_STL_string_dtor_01056330 stl Wrapper that calls STL_string_dtor and returns 0x01056340 10 thunk_to_STL_string_dtor_01056340 stl Wrapper function that calls STL_string_dtor and returns 0x01056350 10 thunk_to_STL_string_dtor_01056350 stl Wrapper that calls STL_string_dtor and returns 0x01056360 10 thunk_to_STL_string_dtor_01056360 stl Wrapper function that calls STL_string_dtor destructor 0x01056370 10 thunk_to_STL_string_dtor_01056370 stl Wrapper that calls STL_string_dtor and returns 0x01056380 10 thunk_to_STL_string_dtor_01056380 stl Wrapper that calls STL_string_dtor and returns 0x01056390 10 thunk_to_STL_string_dtor_01056390 stl Wrapper that calls STL_string_dtor and returns 0x010563A0 10 thunk_to_STL_string_dtor_010563a0 stl Wrapper that calls STL_string_dtor and returns 0x010563B0 10 thunk_to_STL_string_dtor_010563b0 stl Wrapper that calls STL_string_dtor and returns 0x010563C0 10 thunk_to_STL_string_dtor_010563c0 stl Wrapper that calls STL_string_dtor and returns 0x010563D0 10 thunk_to_STL_string_dtor_010563d0 stl Wrapper that calls STL_string_dtor and returns 0x010563E0 10 thunk_to_STL_string_dtor_010563e0 stl Wrapper that calls STL_string_dtor and returns 0x010563F0 10 thunk_to_STL_string_dtor_010563f0 stl Wrapper that calls STL_string_dtor and returns 0x01056400 10 thunk_to_STL_string_dtor_01056400 stl Wrapper that calls STL_string_dtor and returns 0x01056410 10 thunk_to_STL_string_dtor_01056410 stl Wrapper that calls STL_string_dtor and returns 0x01056420 10 thunk_to_STL_string_dtor_01056420 stl Wrapper that calls STL_string_dtor and returns 0x010564A0 280 atexit_unregister_window_classes_and_cleanup_010564a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010565C0 66 atexit_STL_map_destroy_010565c0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01056610 10 thunk_to_STL_string_dtor_01056610 stl Wrapper that calls STL_string_dtor and returns 0x01056620 10 thunk_to_STL_string_dtor_01056620 stl Wrapper that calls STL_string_dtor and returns 0x01056630 10 thunk_to_STL_string_dtor_01056630 stl Wrapper that calls STL_string_dtor and returns 0x01056640 10 thunk_to_STL_string_dtor_01056640 stl Wrapper that calls STL_string_dtor and returns 0x01056650 10 thunk_to_STL_string_dtor_01056650 stl Wrapper that calls STL_string_dtor and returns 0x01056660 10 thunk_to_STL_string_dtor_01056660 stl Wrapper that calls STL_string_dtor and returns 0x01056670 10 thunk_to_STL_string_dtor_01056670 stl Wrapper that calls STL_string_dtor and returns 0x01056680 10 thunk_to_STL_string_dtor_01056680 stl Wrapper that calls STL_string_dtor and returns 0x01056690 10 thunk_to_STL_string_dtor_01056690 stl Wrapper that calls STL_string_dtor and returns 0x010566A0 10 thunk_to_STL_string_dtor_010566a0 stl Wrapper that calls STL_string_dtor and returns 0x010566B0 10 thunk_to_STL_string_dtor_010566b0 stl Wrapper that calls STL_string_dtor and returns 0x010566C0 10 thunk_to_STL_string_dtor_010566c0 stl Wrapper that calls STL_string_dtor and returns 0x010566D0 10 thunk_to_STL_string_dtor_010566d0 stl Wrapper that calls STL_string_dtor and returns 0x010566E0 10 thunk_to_STL_string_dtor_010566e0 stl Wrapper that calls STL_string_dtor and returns 0x010566F0 10 thunk_to_STL_string_dtor_010566f0 stl Wrapper that calls STL_string_dtor and returns 0x01056700 10 thunk_to_STL_string_dtor_01056700 stl Wrapper that calls STL_string_dtor and returns 0x01056710 10 thunk_to_STL_string_dtor_01056710 stl Wrapper that calls STL_string_dtor and returns 0x01056720 10 thunk_to_STL_string_dtor_01056720 stl Wrapper that calls STL_string_dtor and returns 0x01056730 10 thunk_to_STL_string_dtor_01056730 stl Wrapper that calls STL_string_dtor and returns 0x01056740 10 thunk_to_STL_string_dtor_01056740 stl Wrapper that calls STL_string_dtor and returns 0x01056750 10 thunk_to_STL_string_dtor_01056750 stl Wrapper that calls STL_string_dtor and returns 0x01056760 10 thunk_to_STL_string_dtor_01056760 stl Wrapper that calls STL_string_dtor and returns 0x01056770 10 thunk_to_STL_string_dtor_01056770 stl Wrapper that calls STL_string_dtor and returns 0x01056780 10 thunk_to_STL_string_dtor_01056780 stl Wrapper that calls STL_string_dtor and returns 0x01056790 10 thunk_to_STL_string_dtor_01056790 stl Wrapper that calls STL_string_dtor and returns 0x01056810 280 atexit_unregister_window_classes_and_cleanup_01056810 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01056930 10 thunk_to_STL_string_dtor_01056930 stl Wrapper that calls STL_string_dtor and returns 0x01056940 10 thunk_to_STL_string_dtor_01056940 stl Wrapper that calls STL_string_dtor and returns 0x01056950 10 thunk_to_STL_string_dtor_01056950 stl Wrapper that calls STL_string_dtor and returns 0x01056960 10 thunk_to_STL_string_dtor_01056960 stl Wrapper that calls STL_string_dtor and returns 0x01056970 10 thunk_to_STL_string_dtor_01056970 stl Wrapper that calls STL_string_dtor and returns 0x01056980 10 thunk_to_STL_string_dtor_01056980 stl Wrapper that calls STL_string_dtor and returns 0x01056990 10 thunk_to_STL_string_dtor_01056990 stl Wrapper that calls STL_string_dtor and returns 0x010569A0 10 thunk_to_STL_string_dtor_010569a0 stl Wrapper that calls STL_string_dtor and returns 0x010569B0 10 thunk_to_STL_string_dtor_010569b0 stl Wrapper that calls STL_string_dtor and returns 0x010569C0 10 thunk_to_STL_string_dtor_010569c0 stl Wrapper that calls STL_string_dtor and returns 0x010569D0 10 thunk_to_STL_string_dtor_010569d0 stl Wrapper that calls STL_string_dtor and returns 0x010569E0 10 thunk_to_STL_string_dtor_010569e0 stl Wrapper that calls STL_string_dtor and returns 0x010569F0 10 thunk_to_STL_string_dtor_010569f0 stl Wrapper that calls STL_string_dtor and returns 0x01056A00 10 thunk_to_STL_string_dtor_01056a00 stl Wrapper that calls STL_string_dtor and returns 0x01056A10 10 thunk_to_STL_string_dtor_01056a10 stl Wrapper that calls STL_string_dtor and returns 0x01056A20 10 thunk_to_STL_string_dtor_01056a20 stl Wrapper function that calls STL_string_dtor and returns 0x01056A30 10 thunk_to_STL_string_dtor_01056a30 stl Wrapper that calls STL_string_dtor and returns 0x01056A40 10 thunk_to_STL_string_dtor_01056a40 stl Wrapper that calls STL_string_dtor and returns immediately 0x01056A50 10 thunk_to_STL_string_dtor_01056a50 stl Wrapper function that calls STL_string_dtor and returns 0x01056A60 10 thunk_to_STL_string_dtor_01056a60 stl Wrapper that calls STL_string_dtor and returns 0x01056A70 10 thunk_to_STL_string_dtor_01056a70 stl Wrapper that calls STL_string_dtor and returns 0x01056A80 10 thunk_to_STL_string_dtor_01056a80 stl Wrapper that calls STL_string_dtor and returns 0x01056A90 10 thunk_to_STL_string_dtor_01056a90 stl Wrapper function that calls STL_string_dtor and returns 0x01056AA0 10 thunk_to_STL_string_dtor_01056aa0 stl Wrapper that calls STL_string_dtor and returns 0x01056AB0 10 thunk_to_STL_string_dtor_01056ab0 stl Wrapper that calls STL_string_dtor and returns 0x01056B30 280 atexit_unregister_window_classes_and_cleanup_01056b30 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes critical section, resets globals. Duplicate of 01056810 (same global state). 0x01056C50 66 tls_destroy_map_01056c50 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x01056CA0 10 thunk_to_STL_string_dtor_01056ca0 stl Wrapper that calls STL_string_dtor and returns 0x01056CB0 10 thunk_to_STL_string_dtor_01056cb0 stl Wrapper that calls STL_string_dtor and returns 0x01056CC0 10 thunk_to_STL_string_dtor_01056cc0 stl Wrapper that calls STL_string_dtor and returns 0x01056CD0 10 thunk_to_STL_string_dtor_01056cd0 stl Wrapper function that calls STL_string_dtor and returns 0x01056CE0 10 thunk_to_STL_string_dtor_01056ce0 stl Wrapper that calls STL_string_dtor and returns 0x01056CF0 10 thunk_to_STL_string_dtor_01056cf0 stl Wrapper that calls STL_string_dtor and returns 0x01056D00 10 thunk_to_STL_string_dtor_01056d00 stl Wrapper that calls STL_string_dtor and returns 0x01056D10 10 thunk_to_STL_string_dtor_01056d10 stl Wrapper that calls STL_string_dtor and returns 0x01056D20 10 thunk_to_STL_string_dtor_01056d20 stl Wrapper that calls STL_string_dtor and returns 0x01056D30 10 thunk_to_STL_string_dtor_01056d30 stl Wrapper that calls STL_string_dtor and returns 0x01056D40 10 thunk_to_STL_string_dtor_01056d40 stl Wrapper that calls STL_string_dtor and returns 0x01056D50 10 thunk_to_STL_string_dtor_01056d50 stl Wrapper that calls STL_string_dtor and returns 0x01056D60 10 thunk_to_STL_string_dtor_01056d60 stl Wrapper that calls STL_string_dtor and returns 0x01056D70 10 thunk_to_STL_string_dtor_01056d70 stl Wrapper that calls STL_string_dtor and returns 0x01056D80 10 thunk_to_STL_string_dtor_01056d80 stl Wrapper that calls STL_string_dtor and returns 0x01056D90 10 thunk_to_STL_string_dtor_01056d90 stl Wrapper that calls STL_string_dtor and returns 0x01056DA0 10 thunk_to_STL_string_dtor_01056da0 stl Wrapper that calls STL_string_dtor and returns 0x01056DB0 10 thunk_to_STL_string_dtor_01056db0 stl Wrapper that calls STL_string_dtor and returns 0x01056DC0 10 thunk_to_STL_string_dtor_01056dc0 stl Wrapper that calls STL_string_dtor and returns 0x01056DD0 10 thunk_to_STL_string_dtor_01056dd0 stl Wrapper that calls STL_string_dtor and returns 0x01056DE0 10 thunk_to_STL_string_dtor_01056de0 stl Wrapper that calls STL_string_dtor and returns 0x01056DF0 10 thunk_to_STL_string_dtor_01056df0 stl Wrapper that calls STL_string_dtor and returns 0x01056E00 10 thunk_to_STL_string_dtor_01056e00 stl Wrapper that calls STL_string_dtor and returns 0x01056E10 10 thunk_to_STL_string_dtor_01056e10 stl Wrapper that calls STL_string_dtor and returns 0x01056E20 10 thunk_to_STL_string_dtor_01056e20 stl Wrapper that calls STL_string_dtor and returns 0x01056EA0 280 CRT_unregister_window_classes_cleanup crt Cleanup function for registered window classes. Iterates the global class atom array (DAT_013871fc), calls UnregisterClassA for each, frees the array, resets the count, and deletes the critical section (DAT_013871e0) that guards it. Called during shutdown. 0x01056FC0 10 thunk_to_STL_string_dtor_01056fc0 stl Wrapper that calls STL_string_dtor and returns 0x01056FD0 10 thunk_to_STL_string_dtor_01056fd0 stl Wrapper function that calls STL_string_dtor and returns 0x01056FE0 10 thunk_to_STL_string_dtor_01056fe0 stl Wrapper that calls STL_string_dtor and returns 0x01056FF0 10 thunk_to_STL_string_dtor_01056ff0 stl Wrapper that calls STL_string_dtor and returns 0x01057000 10 thunk_to_STL_string_dtor_01057000 stl Wrapper that calls STL_string_dtor and returns 0x01057010 10 thunk_to_STL_string_dtor_01057010 stl Wrapper that calls STL_string_dtor and returns 0x01057020 10 thunk_to_STL_string_dtor_01057020 stl Wrapper that calls STL_string_dtor and returns 0x01057030 10 thunk_to_STL_string_dtor_01057030 stl Wrapper that calls STL_string_dtor and returns 0x01057040 10 thunk_to_STL_string_dtor_01057040 stl Wrapper that calls STL_string_dtor and returns 0x01057050 10 thunk_to_STL_string_dtor_01057050 stl Wrapper calling STL string destructor 0x01057060 10 thunk_to_STL_string_dtor_01057060 stl Wrapper that calls STL_string_dtor and returns 0x01057070 10 thunk_to_STL_string_dtor_01057070 stl Wrapper that calls STL_string_dtor and returns 0x01057080 10 thunk_to_STL_string_dtor_01057080 stl Wrapper that calls STL_string_dtor and returns 0x01057090 10 thunk_to_STL_string_dtor_01057090 stl Wrapper that calls STL_string_dtor and returns 0x010570A0 10 thunk_to_STL_string_dtor_010570a0 stl Wrapper that calls STL_string_dtor and returns 0x010570B0 10 thunk_to_STL_string_dtor_010570b0 stl Wrapper that calls STL_string_dtor and returns 0x010570C0 10 thunk_to_STL_string_dtor_010570c0 stl Wrapper that calls STL_string_dtor and returns 0x010570D0 10 thunk_to_STL_string_dtor_010570d0 stl Wrapper that calls STL_string_dtor and returns 0x010570E0 10 thunk_to_STL_string_dtor_010570e0 stl Wrapper that calls STL_string_dtor and returns 0x010570F0 10 thunk_to_STL_string_dtor_010570f0 stl Wrapper that calls STL_string_dtor and returns 0x01057100 10 thunk_to_STL_string_dtor_01057100 stl Wrapper that calls STL_string_dtor and returns 0x01057110 10 thunk_to_STL_string_dtor_01057110 stl Wrapper that calls STL_string_dtor and returns 0x01057120 10 thunk_to_STL_string_dtor_01057120 stl Wrapper that calls STL_string_dtor and returns 0x01057130 10 thunk_to_STL_string_dtor_01057130 stl Wrapper that calls STL_string_dtor and returns 0x01057140 10 thunk_to_STL_string_dtor_01057140 stl Wrapper that calls STL_string_dtor and returns 0x010571C0 280 CRT_cleanup_unregister_window_classes crt CRT atexit cleanup handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the guarding critical section, and resets global state. 0x010572E0 66 tls_destroy_map_010572e0 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x01057330 10 thunk_to_STL_string_dtor_01057330 stl Wrapper that calls STL_string_dtor and returns 0x01057340 10 thunk_to_STL_string_dtor_01057340 stl Wrapper that calls STL_string_dtor and returns 0x01057350 10 thunk_to_STL_string_dtor_01057350 stl Wrapper that calls STL_string_dtor and returns 0x01057360 10 thunk_to_STL_string_dtor_01057360 stl Wrapper that calls STL_string_dtor and returns 0x01057370 10 thunk_to_STL_string_dtor_01057370 stl Wrapper that calls STL_string_dtor and returns 0x01057380 10 thunk_to_STL_string_dtor_01057380 stl Wrapper that calls STL_string_dtor and returns 0x01057390 10 thunk_to_STL_string_dtor_01057390 stl Wrapper that calls STL_string_dtor and returns 0x010573A0 10 thunk_to_STL_string_dtor_010573a0 stl Wrapper that calls STL_string_dtor and returns 0x010573B0 10 thunk_to_STL_string_dtor_010573b0 stl Wrapper that calls STL_string_dtor and returns 0x010573C0 10 thunk_to_STL_string_dtor_010573c0 stl Wrapper that calls STL_string_dtor and returns 0x010573D0 10 thunk_to_STL_string_dtor_010573d0 stl Wrapper that calls STL_string_dtor and returns 0x010573E0 10 thunk_to_STL_string_dtor_010573e0 stl Wrapper that calls STL_string_dtor and returns 0x010573F0 10 thunk_to_STL_string_dtor_010573f0 stl Wrapper that calls STL_string_dtor and returns 0x01057400 10 thunk_to_STL_string_dtor_01057400 stl Wrapper that calls STL_string_dtor and returns 0x01057410 10 thunk_to_STL_string_dtor_01057410 stl Wrapper that calls STL_string_dtor and returns 0x01057420 10 thunk_to_STL_string_dtor_01057420 stl Wrapper that calls STL_string_dtor and returns 0x01057430 10 thunk_to_STL_string_dtor_01057430 stl Wrapper that calls STL_string_dtor and returns 0x01057440 10 thunk_to_STL_string_dtor_01057440 stl Wrapper that calls STL_string_dtor and returns 0x01057450 10 thunk_to_STL_string_dtor_01057450 stl Wrapper that calls STL_string_dtor and returns 0x01057460 10 thunk_to_STL_string_dtor_01057460 stl Wrapper that calls STL_string_dtor destructor 0x01057470 10 thunk_to_STL_string_dtor_01057470 stl Wrapper that calls STL_string_dtor and returns 0x01057480 10 thunk_to_STL_string_dtor_01057480 stl Wrapper that calls STL_string_dtor and returns 0x01057490 10 thunk_to_STL_string_dtor_01057490 stl Wrapper that calls STL_string_dtor and returns 0x010574A0 10 thunk_to_STL_string_dtor_010574a0 stl Wrapper that calls STL_string_dtor and returns 0x010574B0 10 thunk_to_STL_string_dtor_010574b0 stl Wrapper that calls STL_string_dtor and returns 0x01057530 280 CRT_cleanup_unregister_window_classes_01057530 crt CRT atexit cleanup handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the guarding critical section, and resets global state. Duplicate instance at different atexit registration site. 0x01057650 66 tls_destroy_map_01057650 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x010576A0 10 thunk_to_STL_string_dtor_010576a0 stl Wrapper that calls STL_string_dtor and returns 0x010576B0 10 thunk_to_STL_string_dtor_010576b0 stl Wrapper that calls STL_string_dtor and returns 0x010576C0 10 thunk_to_STL_string_dtor_010576c0 stl Wrapper that calls STL string destructor 0x010576D0 10 thunk_to_STL_string_dtor_010576d0 stl Wrapper that calls STL_string_dtor and returns 0x010576E0 10 thunk_to_STL_string_dtor_010576e0 stl Wrapper that calls STL_string_dtor and returns 0x010576F0 10 thunk_to_STL_string_dtor_010576f0 stl Wrapper that calls STL_string_dtor and returns 0x01057700 10 thunk_to_STL_string_dtor_01057700 stl Wrapper that calls STL_string_dtor and returns 0x01057710 10 thunk_to_STL_string_dtor_01057710 stl Wrapper that calls STL_string_dtor and returns 0x01057720 10 thunk_to_STL_string_dtor_01057720 stl Wrapper that calls STL_string_dtor and returns 0x01057730 10 thunk_to_STL_string_dtor_01057730 stl Wrapper that calls STL_string_dtor and returns 0x01057740 10 thunk_to_STL_string_dtor_01057740 stl Wrapper that calls STL_string_dtor and returns 0x01057750 10 thunk_to_STL_string_dtor_01057750 stl Wrapper that calls STL_string_dtor and returns 0x01057760 10 thunk_to_STL_string_dtor_01057760 stl Wrapper that calls STL_string_dtor and returns 0x01057770 10 thunk_to_STL_string_dtor_01057770 stl Wrapper that calls STL_string_dtor and returns 0x01057780 10 thunk_to_STL_string_dtor_01057780 stl Wrapper that calls STL_string_dtor and returns 0x01057790 10 thunk_to_STL_string_dtor_01057790 stl Wrapper that calls STL_string_dtor and returns 0x010577A0 10 thunk_to_STL_string_dtor_010577a0 stl Wrapper that calls STL_string_dtor and returns 0x010577B0 10 thunk_to_STL_string_dtor_010577b0 stl Wrapper that calls STL_string_dtor and returns 0x010577C0 10 thunk_to_STL_string_dtor_010577c0 stl Wrapper that calls STL_string_dtor and returns 0x010577D0 10 thunk_to_STL_string_dtor_010577d0 stl Wrapper that calls STL_string_dtor and returns 0x010577E0 10 thunk_to_STL_string_dtor_010577e0 stl Wrapper that calls STL_string_dtor and returns 0x010577F0 10 thunk_to_STL_string_dtor_010577f0 stl Wrapper that calls STL_string_dtor and returns 0x01057800 10 thunk_to_STL_string_dtor_01057800 stl Wrapper that calls STL_string_dtor and returns 0x01057810 10 thunk_to_STL_string_dtor_01057810 stl Wrapper that calls STL_string_dtor and returns 0x01057820 10 thunk_to_STL_string_dtor_01057820 stl Wrapper that calls STL_string_dtor and returns 0x010578A0 280 atexit_unregister_window_classes_and_cleanup_010578a0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010579C0 66 atexit_STL_map_destroy_wrapper crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01057A10 10 thunk_to_STL_string_dtor_01057a10 stl Wrapper that calls STL_string_dtor and returns 0x01057A20 10 thunk_to_STL_string_dtor_01057a20 stl Wrapper function that calls STL_string_dtor and returns 0x01057A30 10 thunk_to_STL_string_dtor_01057a30 stl Wrapper that calls STL_string_dtor and returns 0x01057A40 10 thunk_to_STL_string_dtor_01057a40 stl Wrapper that calls STL_string_dtor and returns 0x01057A50 10 thunk_to_STL_string_dtor_01057a50 stl Wrapper that calls STL_string_dtor and returns 0x01057A60 10 thunk_to_STL_string_dtor_01057a60 stl Wrapper that calls STL_string_dtor and returns 0x01057A70 10 thunk_to_STL_string_dtor_01057a70 stl Wrapper that calls STL_string_dtor and returns 0x01057A80 10 thunk_to_STL_string_dtor_01057a80 stl Wrapper that calls STL_string_dtor and returns 0x01057A90 10 thunk_to_STL_string_dtor_01057a90 stl Wrapper that calls STL_string_dtor and returns 0x01057AA0 10 thunk_to_STL_string_dtor_01057aa0 stl Wrapper that calls STL_string_dtor and returns 0x01057AB0 10 thunk_to_STL_string_dtor_01057ab0 stl Wrapper that calls STL_string_dtor and returns 0x01057AC0 10 thunk_to_STL_string_dtor_01057ac0 stl Wrapper that calls STL_string_dtor and returns 0x01057AD0 10 thunk_to_STL_string_dtor_01057ad0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01057AE0 10 thunk_to_STL_string_dtor_01057ae0 stl Wrapper that calls STL_string_dtor and returns 0x01057AF0 10 thunk_to_STL_string_dtor_01057af0 stl Wrapper that calls STL_string_dtor and returns 0x01057B00 10 thunk_to_STL_string_dtor_01057b00 stl Wrapper that calls STL_string_dtor and returns 0x01057B10 10 thunk_to_STL_string_dtor_01057b10 stl Wrapper that calls STL_string_dtor and returns 0x01057B20 10 thunk_to_STL_string_dtor_01057b20 stl Wrapper that calls STL_string_dtor and returns 0x01057B30 10 thunk_to_STL_string_dtor_01057b30 stl Wrapper that calls STL_string_dtor and returns 0x01057B40 10 thunk_to_STL_string_dtor_01057b40 stl Wrapper that calls STL_string_dtor and returns 0x01057B50 10 thunk_to_STL_string_dtor_01057b50 stl Wrapper that calls STL_string_dtor and returns 0x01057B60 10 thunk_to_STL_string_dtor_01057b60 stl Wrapper that calls STL_string_dtor and returns 0x01057B70 10 thunk_to_STL_string_dtor_01057b70 stl Wrapper that calls STL_string_dtor and returns 0x01057B80 10 thunk_to_STL_string_dtor_01057b80 stl Wrapper that calls STL_string_dtor and returns 0x01057B90 10 thunk_to_STL_string_dtor_01057b90 stl Wrapper that calls STL_string_dtor and returns 0x01057C10 280 atexit_unregister_window_classes_and_cleanup_01057c10 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01057D30 66 atexit_STL_map_destroy_wrapper_01057d30 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01057D80 10 thunk_to_STL_string_dtor_01057d80 stl Wrapper that calls STL_string_dtor and returns 0x01057D90 10 thunk_to_STL_string_dtor_01057d90 stl Wrapper that calls STL_string_dtor and returns 0x01057DA0 10 thunk_to_STL_string_dtor_01057da0 stl Wrapper that calls STL_string_dtor and returns 0x01057DB0 10 thunk_to_STL_string_dtor_01057db0 stl Wrapper that calls STL_string_dtor and returns 0x01057DC0 10 thunk_to_STL_string_dtor_01057dc0 stl Wrapper that calls STL_string_dtor and returns 0x01057DD0 10 thunk_to_STL_string_dtor_01057dd0 stl Wrapper that calls STL_string_dtor and returns 0x01057DE0 10 thunk_to_STL_string_dtor_01057de0 stl Wrapper that calls STL_string_dtor and returns 0x01057DF0 10 thunk_to_STL_string_dtor_01057df0 stl Wrapper that calls STL_string_dtor and returns 0x01057E00 10 thunk_to_STL_string_dtor_01057e00 stl Wrapper that calls STL_string_dtor and returns 0x01057E10 10 thunk_to_STL_string_dtor_01057e10 stl Wrapper that calls STL_string_dtor and returns 0x01057E20 10 thunk_to_STL_string_dtor_01057e20 stl Wrapper that calls STL_string_dtor and returns 0x01057E30 10 thunk_to_STL_string_dtor_01057e30 stl Wrapper that calls STL_string_dtor and returns 0x01057E40 10 thunk_to_STL_string_dtor_01057e40 stl Wrapper that calls STL_string_dtor and returns 0x01057E50 10 thunk_to_STL_string_dtor_01057e50 stl Wrapper that calls STL_string_dtor and returns 0x01057E60 10 thunk_to_STL_string_dtor_01057e60 stl Wrapper that calls STL_string_dtor and returns 0x01057E70 10 thunk_to_STL_string_dtor_01057e70 stl Wrapper that calls STL_string_dtor and returns 0x01057E80 10 thunk_to_STL_string_dtor_01057e80 stl Wrapper that calls STL_string_dtor and returns 0x01057E90 10 thunk_to_STL_string_dtor_01057e90 stl Wrapper that calls STL_string_dtor and returns 0x01057EA0 10 thunk_to_STL_string_dtor_01057ea0 stl Wrapper that calls STL_string_dtor and returns 0x01057EB0 10 thunk_to_STL_string_dtor_01057eb0 stl Wrapper that calls STL_string_dtor and returns 0x01057EC0 10 thunk_to_STL_string_dtor_01057ec0 stl Wrapper that calls STL_string_dtor and returns 0x01057ED0 10 thunk_to_STL_string_dtor_01057ed0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01057EE0 10 thunk_to_STL_string_dtor_01057ee0 stl Wrapper that calls STL_string_dtor and returns 0x01057EF0 10 thunk_to_STL_string_dtor_01057ef0 stl Wrapper that calls STL_string_dtor and returns 0x01057F00 10 thunk_to_STL_string_dtor_01057f00 stl Wrapper that calls STL_string_dtor and returns 0x01057F80 280 atexit_unregister_window_classes_and_cleanup_01057f80 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010580A0 66 atexit_STL_map_destroy_wrapper_010580a0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010580F0 10 thunk_to_STL_string_dtor_010580f0 stl Wrapper that calls STL_string_dtor and returns 0x01058100 10 thunk_to_STL_string_dtor_01058100 stl Wrapper calling STL_string_dtor destructor 0x01058110 10 thunk_to_STL_string_dtor_01058110 stl Wrapper that calls STL_string_dtor and returns 0x01058120 10 thunk_to_STL_string_dtor_01058120 stl Wrapper that calls STL_string_dtor and returns 0x01058130 10 thunk_to_STL_string_dtor_01058130 stl Wrapper that calls STL_string_dtor and returns 0x01058140 10 thunk_to_STL_string_dtor_01058140 stl Wrapper that calls STL_string_dtor and returns 0x01058150 10 thunk_to_STL_string_dtor_01058150 stl Wrapper that calls STL_string_dtor and returns 0x01058160 10 thunk_to_STL_string_dtor_01058160 stl Wrapper that calls STL_string_dtor and returns 0x01058170 10 thunk_to_STL_string_dtor_01058170 stl Wrapper that calls STL_string_dtor and returns 0x01058180 10 thunk_to_STL_string_dtor_01058180 stl Wrapper that calls STL_string_dtor and returns 0x01058190 10 thunk_to_STL_string_dtor_01058190 stl Wrapper that calls STL_string_dtor and returns 0x010581A0 10 thunk_to_STL_string_dtor_010581a0 stl Wrapper that calls STL_string_dtor and returns 0x010581B0 10 thunk_to_STL_string_dtor_010581b0 stl Wrapper that calls STL_string_dtor and returns 0x010581C0 10 thunk_to_STL_string_dtor_010581c0 stl Wrapper function that calls STL_string_dtor and returns 0x010581D0 10 thunk_to_STL_string_dtor_010581d0 stl Wrapper that calls STL_string_dtor and returns 0x010581E0 10 thunk_to_STL_string_dtor_010581e0 stl Wrapper that calls STL_string_dtor and returns 0x010581F0 10 thunk_to_STL_string_dtor_010581f0 stl Wrapper that calls STL_string_dtor and returns 0x01058200 10 thunk_to_STL_string_dtor_01058200 stl Wrapper that calls STL_string_dtor and returns 0x01058210 10 thunk_to_STL_string_dtor_01058210 stl Wrapper that calls STL_string_dtor and returns 0x01058220 10 thunk_to_STL_string_dtor_01058220 stl Wrapper that calls STL_string_dtor and returns 0x01058230 10 thunk_to_STL_string_dtor_01058230 stl Wrapper that calls STL_string_dtor and returns 0x01058240 10 thunk_to_STL_string_dtor_01058240 stl Wrapper that calls STL_string_dtor and returns 0x01058250 10 thunk_to_STL_string_dtor_01058250 stl Wrapper that calls STL_string_dtor and returns 0x01058260 10 thunk_to_STL_string_dtor_01058260 stl Wrapper that calls STL_string_dtor and returns 0x01058270 10 thunk_to_STL_string_dtor_01058270 stl Wrapper that calls STL_string_dtor and returns 0x010582F0 280 atexit_unregister_window_classes_and_cleanup_010582f0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01058410 66 atexit_STL_map_destroy_wrapper_01058410 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01058460 10 thunk_to_STL_string_dtor_01058460 stl Wrapper that calls STL_string_dtor and returns 0x01058470 10 thunk_to_STL_string_dtor_01058470 stl Wrapper that calls STL_string_dtor and returns 0x01058480 10 thunk_to_STL_string_dtor_01058480 stl Wrapper that calls STL_string_dtor and returns 0x01058490 10 thunk_to_STL_string_dtor_01058490 stl Wrapper that calls STL_string_dtor and returns 0x010584A0 10 thunk_to_STL_string_dtor_010584a0 stl Wrapper that calls STL_string_dtor and returns 0x010584B0 10 thunk_to_STL_string_dtor_010584b0 stl Wrapper that calls STL_string_dtor and returns 0x010584C0 10 thunk_to_STL_string_dtor_010584c0 stl Wrapper that calls STL_string_dtor and returns 0x010584D0 10 thunk_to_STL_string_dtor_010584d0 stl Wrapper that calls STL_string_dtor and returns 0x010584E0 10 thunk_to_STL_string_dtor_010584e0 stl Wrapper that calls STL_string_dtor and returns 0x010584F0 10 thunk_to_STL_string_dtor_010584f0 stl Wrapper that calls STL_string_dtor and returns 0x01058500 10 thunk_to_STL_string_dtor_01058500 stl Wrapper that calls STL_string_dtor and returns 0x01058510 10 thunk_to_STL_string_dtor_01058510 stl Wrapper that calls STL_string_dtor and returns 0x01058520 10 thunk_to_STL_string_dtor_01058520 stl Wrapper that calls STL_string_dtor and returns 0x01058530 10 thunk_to_STL_string_dtor_01058530 stl Wrapper that calls STL_string_dtor and returns 0x01058540 10 thunk_to_STL_string_dtor_01058540 stl Wrapper that calls STL_string_dtor and returns 0x01058550 10 thunk_to_STL_string_dtor_01058550 stl Wrapper that calls STL_string_dtor and returns 0x01058560 10 thunk_to_STL_string_dtor_01058560 stl Wrapper that calls STL_string_dtor and returns 0x01058570 10 thunk_to_STL_string_dtor_01058570 stl Wrapper that calls STL_string_dtor and returns 0x01058580 10 thunk_to_STL_string_dtor_01058580 stl Wrapper that calls STL_string_dtor and returns 0x01058590 10 thunk_to_STL_string_dtor_01058590 stl Wrapper that calls STL_string_dtor and returns 0x010585A0 10 thunk_to_STL_string_dtor_010585a0 stl Wrapper that calls STL_string_dtor and returns 0x010585B0 10 thunk_to_STL_string_dtor_010585b0 stl Wrapper that calls STL_string_dtor and returns 0x010585C0 10 thunk_to_STL_string_dtor_010585c0 stl Wrapper that calls STL_string_dtor and returns 0x010585D0 10 thunk_to_STL_string_dtor_010585d0 stl Wrapper that calls STL_string_dtor and returns 0x010585E0 10 thunk_to_STL_string_dtor_010585e0 stl Wrapper that calls STL_string_dtor and returns 0x01058660 280 atexit_unregister_window_classes_and_cleanup_01058660 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01058780 66 atexit_STL_map_destroy_wrapper_01058780 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010587D0 10 thunk_to_STL_string_dtor_010587d0 stl Wrapper that calls STL_string_dtor and returns 0x010587E0 10 thunk_to_STL_string_dtor_010587e0 stl Wrapper that calls STL_string_dtor and returns 0x010587F0 10 thunk_to_STL_string_dtor_010587f0 stl Wrapper that calls STL_string_dtor and returns 0x01058800 10 thunk_to_STL_string_dtor_01058800 stl Wrapper that calls STL_string_dtor and returns 0x01058810 10 thunk_to_STL_string_dtor_01058810 stl Wrapper that calls STL_string_dtor and returns 0x01058820 10 thunk_to_STL_string_dtor_01058820 stl Wrapper that calls STL_string_dtor and returns 0x01058830 10 thunk_to_STL_string_dtor_01058830 stl Wrapper that calls STL_string_dtor and returns 0x01058840 10 thunk_to_STL_string_dtor_01058840 stl Wrapper that calls STL_string_dtor and returns 0x01058850 10 thunk_to_STL_string_dtor_01058850 stl Wrapper that calls STL_string_dtor and returns 0x01058860 10 thunk_to_STL_string_dtor_01058860 stl Wrapper that calls STL_string_dtor and returns 0x01058870 10 thunk_to_STL_string_dtor_01058870 stl Wrapper that calls STL_string_dtor and returns 0x01058880 10 thunk_to_STL_string_dtor_01058880 stl Wrapper that calls STL_string_dtor and returns 0x01058890 10 thunk_to_STL_string_dtor_01058890 stl Wrapper that calls STL_string_dtor and returns 0x010588A0 10 thunk_to_STL_string_dtor_010588a0 stl Wrapper that calls STL_string_dtor and returns 0x010588B0 10 thunk_to_STL_string_dtor_010588b0 stl Wrapper that calls STL_string_dtor and returns 0x010588C0 10 thunk_to_STL_string_dtor_010588c0 stl Wrapper that calls STL_string_dtor and returns 0x010588D0 10 thunk_to_STL_string_dtor_010588d0 stl Wrapper that calls STL_string_dtor and returns 0x010588E0 10 thunk_to_STL_string_dtor_010588e0 stl Wrapper that calls STL_string_dtor and returns 0x010588F0 10 thunk_to_STL_string_dtor_010588f0 stl Wrapper that calls STL_string_dtor and returns 0x01058900 10 thunk_to_STL_string_dtor_01058900 stl Wrapper that calls STL_string_dtor and returns 0x01058910 10 thunk_to_STL_string_dtor_01058910 stl Wrapper that calls STL_string_dtor and returns 0x01058920 10 thunk_to_STL_string_dtor_01058920 stl Wrapper that calls STL_string_dtor and returns 0x01058930 10 thunk_to_STL_string_dtor_01058930 stl Wrapper that calls STL_string_dtor and returns 0x01058940 10 thunk_to_STL_string_dtor_01058940 stl Wrapper that calls STL_string_dtor and returns 0x01058950 10 thunk_to_STL_string_dtor_01058950 stl Wrapper that calls STL_string_dtor and returns 0x010589D0 280 atexit_unregister_window_classes_and_cleanup_010589d0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01058AF0 66 atexit_STL_map_destroy_wrapper_01058af0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01058B40 10 thunk_to_STL_string_dtor_01058b40 stl Wrapper that calls STL_string_dtor and returns 0x01058B50 10 thunk_to_STL_string_dtor_01058b50 stl Wrapper that calls STL_string_dtor and returns 0x01058B60 10 thunk_to_STL_string_dtor_01058b60 stl Wrapper that calls STL_string_dtor and returns 0x01058B70 10 thunk_to_STL_string_dtor_01058b70 stl Wrapper that calls STL_string_dtor and returns immediately 0x01058B80 10 thunk_to_STL_string_dtor_01058b80 stl Wrapper that calls STL_string_dtor and returns 0x01058B90 10 thunk_to_STL_string_dtor_01058b90 stl Wrapper that calls STL_string_dtor and returns 0x01058BA0 10 thunk_to_STL_string_dtor_01058ba0 stl Wrapper that calls STL_string_dtor and returns 0x01058BB0 10 thunk_to_STL_string_dtor_01058bb0 stl Wrapper that calls STL_string_dtor and returns 0x01058BC0 10 thunk_to_STL_string_dtor_01058bc0 stl Wrapper that calls STL_string_dtor and returns 0x01058BD0 10 thunk_to_STL_string_dtor_01058bd0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01058BE0 10 thunk_to_STL_string_dtor_01058be0 stl Wrapper that calls STL_string_dtor and returns 0x01058BF0 10 thunk_to_STL_string_dtor_01058bf0 stl Wrapper that calls STL_string_dtor and returns 0x01058C00 10 thunk_to_STL_string_dtor_01058c00 stl Wrapper that calls STL_string_dtor and returns 0x01058C10 10 thunk_to_STL_string_dtor_01058c10 stl Wrapper that calls STL_string_dtor and returns 0x01058C20 10 thunk_to_STL_string_dtor_01058c20 stl Wrapper that calls STL_string_dtor and returns 0x01058C30 10 thunk_to_STL_string_dtor_01058c30 stl Wrapper that calls STL_string_dtor and returns 0x01058C40 10 thunk_to_STL_string_dtor_01058c40 stl Wrapper that calls STL_string_dtor and returns 0x01058C50 10 thunk_to_STL_string_dtor_01058c50 stl Wrapper that calls STL_string_dtor and returns 0x01058C60 10 thunk_to_STL_string_dtor_01058c60 stl Wrapper that calls STL_string_dtor and returns 0x01058C70 10 thunk_to_STL_string_dtor_01058c70 stl Wrapper that calls STL_string_dtor and returns 0x01058C80 10 thunk_to_STL_string_dtor_01058c80 stl Wrapper that calls STL_string_dtor and returns 0x01058C90 10 thunk_to_STL_string_dtor_01058c90 stl Wrapper that calls STL_string_dtor and returns 0x01058CA0 10 thunk_to_STL_string_dtor_01058ca0 stl Wrapper that calls STL_string_dtor and returns 0x01058CB0 10 thunk_to_STL_string_dtor_01058cb0 stl Wrapper that calls STL_string_dtor and returns 0x01058CC0 10 thunk_to_STL_string_dtor_01058cc0 stl Wrapper that calls STL_string_dtor and returns 0x01058D40 280 atexit_unregister_window_classes_and_cleanup_01058d40 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01058E60 66 atexit_STL_map_destroy_wrapper_01058e60 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01058EB0 10 thunk_to_STL_string_dtor_01058eb0 stl Wrapper that calls STL_string_dtor and returns 0x01058EC0 10 thunk_to_STL_string_dtor_01058ec0 stl Wrapper that calls STL_string_dtor and returns 0x01058ED0 10 thunk_to_STL_string_dtor_01058ed0 stl Wrapper that calls STL_string_dtor and returns 0x01058EE0 10 thunk_to_STL_string_dtor_01058ee0 stl Wrapper function that calls STL_string_dtor and returns 0x01058EF0 10 thunk_to_STL_string_dtor_01058ef0 stl Wrapper that calls STL_string_dtor and returns 0x01058F00 10 thunk_to_STL_string_dtor_01058f00 stl Wrapper that calls STL_string_dtor and returns 0x01058F10 10 thunk_to_STL_string_dtor_01058f10 stl Wrapper that calls STL_string_dtor and returns 0x01058F20 10 thunk_to_STL_string_dtor_01058f20 stl Wrapper that calls STL_string_dtor and returns 0x01058F30 10 thunk_to_STL_string_dtor_01058f30 stl Wrapper that calls STL_string_dtor and returns 0x01058F40 10 thunk_to_STL_string_dtor_01058f40 stl Wrapper that calls STL_string_dtor and returns immediately 0x01058F50 10 thunk_to_STL_string_dtor_01058f50 stl Wrapper function that calls STL_string_dtor and returns 0x01058F60 10 thunk_to_STL_string_dtor_01058f60 stl Wrapper that calls STL_string_dtor and returns 0x01058F70 10 thunk_to_STL_string_dtor_01058f70 stl Wrapper that calls STL_string_dtor and returns 0x01058F80 10 thunk_to_STL_string_dtor_01058f80 stl Wrapper that calls STL_string_dtor and returns 0x01058F90 10 thunk_to_STL_string_dtor_01058f90 stl Wrapper that calls STL_string_dtor and returns 0x01058FA0 10 thunk_to_STL_string_dtor_01058fa0 stl Wrapper that calls STL_string_dtor and returns 0x01058FB0 10 thunk_to_STL_string_dtor_01058fb0 stl Wrapper that calls STL_string_dtor and returns 0x01058FC0 10 thunk_to_STL_string_dtor_01058fc0 stl Wrapper that calls STL_string_dtor and returns 0x01058FD0 10 thunk_to_STL_string_dtor_01058fd0 stl Wrapper that calls STL_string_dtor and returns 0x01058FE0 10 thunk_to_STL_string_dtor_01058fe0 stl Wrapper that calls STL_string_dtor and returns 0x01058FF0 10 thunk_to_STL_string_dtor_01058ff0 stl Wrapper that calls STL_string_dtor and returns 0x01059000 10 thunk_to_STL_string_dtor_01059000 stl Wrapper that calls STL_string_dtor and returns 0x01059010 10 thunk_to_STL_string_dtor_01059010 stl Wrapper that calls STL_string_dtor and returns 0x01059020 10 thunk_to_STL_string_dtor_01059020 stl Wrapper that calls STL_string_dtor and returns 0x01059030 10 thunk_to_STL_string_dtor_01059030 stl Wrapper that calls STL_string_dtor and returns 0x010590B0 280 atexit_unregister_window_classes_and_cleanup_010590b0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010591D0 66 atexit_STL_map_destroy_wrapper_010591d0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01059220 10 thunk_to_STL_string_dtor_01059220 stl Wrapper that calls STL_string_dtor and returns 0x01059230 10 thunk_to_STL_string_dtor_01059230 stl Wrapper that calls STL_string_dtor and returns 0x01059240 10 thunk_to_STL_string_dtor_01059240 stl Wrapper that calls STL_string_dtor and returns 0x01059250 10 thunk_to_STL_string_dtor_01059250 stl Wrapper calling STL string destructor 0x01059260 10 thunk_to_STL_string_dtor_01059260 stl Wrapper that calls STL_string_dtor and returns 0x01059270 10 thunk_to_STL_string_dtor_01059270 stl Wrapper that calls STL_string_dtor and returns 0x01059280 10 thunk_to_STL_string_dtor_01059280 stl Wrapper that calls STL_string_dtor and returns 0x01059290 10 thunk_to_STL_string_dtor_01059290 stl Wrapper that calls STL_string_dtor and returns 0x010592A0 10 thunk_to_STL_string_dtor_010592a0 stl Wrapper that calls STL_string_dtor and returns 0x010592B0 10 thunk_to_STL_string_dtor_010592b0 stl Wrapper that calls STL_string_dtor and returns 0x010592C0 10 thunk_to_STL_string_dtor_010592c0 stl Wrapper that calls STL_string_dtor and returns 0x010592D0 10 thunk_to_STL_string_dtor_010592d0 stl Wrapper that calls STL_string_dtor and returns 0x010592E0 10 thunk_to_STL_string_dtor_010592e0 stl Wrapper that calls STL_string_dtor and returns 0x010592F0 10 thunk_to_STL_string_dtor_010592f0 stl Wrapper that calls STL_string_dtor and returns 0x01059300 10 thunk_to_STL_string_dtor_01059300 stl Wrapper that calls STL_string_dtor and returns 0x01059310 10 thunk_to_STL_string_dtor_01059310 stl Wrapper that calls STL_string_dtor and returns 0x01059320 10 thunk_to_STL_string_dtor_01059320 stl Wrapper that calls STL_string_dtor and returns 0x01059330 10 thunk_to_STL_string_dtor_01059330 stl Wrapper that calls STL_string_dtor and returns 0x01059340 10 thunk_to_STL_string_dtor_01059340 stl Wrapper that calls STL_string_dtor and returns 0x01059350 10 thunk_to_STL_string_dtor_01059350 stl Wrapper that calls STL_string_dtor and returns 0x01059360 10 thunk_to_STL_string_dtor_01059360 stl Wrapper that calls STL_string_dtor and returns 0x01059370 10 thunk_to_STL_string_dtor_01059370 stl Wrapper that calls STL_string_dtor and returns 0x01059380 10 thunk_to_STL_string_dtor_01059380 stl Wrapper that calls STL_string_dtor and returns 0x01059390 10 thunk_to_STL_string_dtor_01059390 stl Wrapper that calls STL_string_dtor and returns 0x010593A0 10 thunk_to_STL_string_dtor_010593a0 stl Wrapper that calls STL_string_dtor and returns 0x01059420 280 atexit_unregister_window_classes_and_cleanup_01059420 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01059540 10 thunk_to_STL_string_dtor_01059540 stl Wrapper that calls STL_string_dtor and returns 0x01059550 10 thunk_to_STL_string_dtor_01059550 stl Wrapper that calls STL_string_dtor and returns 0x01059560 10 thunk_to_STL_string_dtor_01059560 stl Wrapper that calls STL_string_dtor and returns 0x01059570 10 thunk_to_STL_string_dtor_01059570 stl Wrapper that calls STL_string_dtor and returns 0x01059580 10 thunk_to_STL_string_dtor_01059580 stl Wrapper that calls STL_string_dtor and returns 0x01059590 10 thunk_to_STL_string_dtor_01059590 stl Wrapper that calls STL_string_dtor and returns 0x010595A0 10 thunk_to_STL_string_dtor_010595a0 stl Wrapper function that calls STL_string_dtor and returns 0x010595B0 10 thunk_to_STL_string_dtor_010595b0 stl Wrapper that calls STL_string_dtor and returns 0x010595C0 10 thunk_to_STL_string_dtor_010595c0 stl Wrapper that calls STL_string_dtor and returns 0x010595D0 10 thunk_to_STL_string_dtor_010595d0 stl Wrapper that calls STL_string_dtor and returns 0x010595E0 10 thunk_to_STL_string_dtor_010595e0 stl Wrapper that calls STL_string_dtor and returns 0x010595F0 10 thunk_to_STL_string_dtor_010595f0 stl Wrapper that calls STL_string_dtor and returns 0x01059600 10 thunk_to_STL_string_dtor_01059600 stl Wrapper that calls STL_string_dtor and returns 0x01059610 10 thunk_to_STL_string_dtor_01059610 stl Wrapper that calls STL_string_dtor and returns 0x01059620 10 thunk_to_STL_string_dtor_01059620 stl Wrapper that calls STL_string_dtor and returns 0x01059630 10 thunk_to_STL_string_dtor_01059630 stl Wrapper that calls STL_string_dtor and returns 0x01059640 10 thunk_to_STL_string_dtor_01059640 stl Wrapper that calls STL_string_dtor and returns 0x01059650 10 thunk_to_STL_string_dtor_01059650 stl Wrapper that calls STL string destructor 0x01059660 10 thunk_to_STL_string_dtor_01059660 stl Wrapper that calls STL_string_dtor and returns 0x01059670 10 thunk_to_STL_string_dtor_01059670 stl Wrapper that calls STL_string_dtor and returns 0x01059680 10 thunk_to_STL_string_dtor_01059680 stl Wrapper that calls STL_string_dtor and returns 0x01059690 10 thunk_to_STL_string_dtor_01059690 stl Wrapper calling STL_string_dtor destructor 0x010596A0 10 thunk_to_STL_string_dtor_010596a0 stl Wrapper that calls STL_string_dtor and returns 0x010596B0 10 thunk_to_STL_string_dtor_010596b0 stl Wrapper that calls STL_string_dtor and returns 0x010596C0 10 thunk_to_STL_string_dtor_010596c0 stl Wrapper that calls STL_string_dtor and returns 0x01059740 280 atexit_unregister_window_classes_and_cleanup_01059740 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01059860 66 atexit_STL_map_destroy_wrapper_01059860 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010598B0 10 thunk_to_STL_string_dtor_010598b0 stl Wrapper that calls STL_string_dtor and returns 0x010598C0 10 thunk_to_STL_string_dtor_010598c0 stl Wrapper that calls STL_string_dtor and returns 0x010598D0 10 thunk_to_STL_string_dtor_010598d0 stl Wrapper that calls STL_string_dtor and returns 0x010598E0 10 thunk_to_STL_string_dtor_010598e0 stl Wrapper that calls STL_string_dtor and returns 0x010598F0 10 thunk_to_STL_string_dtor_010598f0 stl Wrapper that calls STL_string_dtor and returns 0x01059900 10 thunk_to_STL_string_dtor_01059900 stl Wrapper that calls STL_string_dtor and returns 0x01059910 10 thunk_to_STL_string_dtor_01059910 stl Wrapper that calls STL_string_dtor and returns 0x01059920 10 thunk_to_STL_string_dtor_01059920 stl Wrapper that calls STL_string_dtor and returns 0x01059930 10 thunk_to_STL_string_dtor_01059930 stl Wrapper that calls STL_string_dtor and returns 0x01059940 10 thunk_to_STL_string_dtor_01059940 stl Wrapper that calls STL_string_dtor and returns 0x01059950 10 thunk_to_STL_string_dtor_01059950 stl Wrapper that calls STL_string_dtor and returns 0x01059960 10 thunk_to_STL_string_dtor_01059960 stl Wrapper that calls STL_string_dtor and returns 0x01059970 10 thunk_to_STL_string_dtor_01059970 stl Wrapper that calls STL_string_dtor and returns 0x01059980 10 thunk_to_STL_string_dtor_01059980 stl Wrapper that calls STL_string_dtor and returns 0x01059990 10 thunk_to_STL_string_dtor_01059990 stl Wrapper that calls STL_string_dtor and returns 0x010599A0 10 thunk_to_STL_string_dtor_010599a0 stl Wrapper function that calls STL_string_dtor and returns 0x010599B0 10 thunk_to_STL_string_dtor_010599b0 stl Wrapper that calls STL_string_dtor and returns 0x010599C0 10 thunk_to_STL_string_dtor_010599c0 stl Wrapper that calls STL_string_dtor and returns 0x010599D0 10 thunk_to_STL_string_dtor_010599d0 stl Wrapper that calls STL_string_dtor and returns 0x010599E0 10 thunk_to_STL_string_dtor_010599e0 stl Wrapper that calls STL_string_dtor and returns 0x010599F0 10 thunk_to_STL_string_dtor_010599f0 stl Wrapper that calls STL_string_dtor and returns 0x01059A00 10 thunk_to_STL_string_dtor_01059a00 stl Wrapper that calls STL_string_dtor and returns 0x01059A10 10 thunk_to_STL_string_dtor_01059a10 stl Wrapper that calls STL_string_dtor and returns 0x01059A20 10 thunk_to_STL_string_dtor_01059a20 stl Wrapper that calls STL_string_dtor and returns 0x01059A30 10 thunk_to_STL_string_dtor_01059a30 stl Wrapper that calls STL_string_dtor and returns 0x01059AB0 280 atexit_unregister_window_classes_and_cleanup_01059ab0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01059BD0 66 atexit_STL_map_destroy_wrapper_01059bd0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01059C20 69 tls_clear_field_at_0x2184 crt TLS field initializer: zeroes 0x13 bytes at offset 0x2184 in the thread-local storage block. Called during thread init to clear a TLS string/buffer field. 0x01059C70 69 tls_clear_field_at_0x219c crt TLS field initializer: zeroes 0x13 bytes at offset 0x219c in the thread-local storage block. Called during thread init to clear a TLS string/buffer field. 0x01059CC0 69 tls_clear_field_at_0x2128 crt TLS field initializer: zeroes 0x55 bytes at offset 0x2128 in the thread-local storage block. Called during thread init to clear a TLS string/buffer field. 0x01059D10 10 thunk_to_STL_string_dtor_01059d10 stl Wrapper that calls STL_string_dtor and returns 0x01059D20 10 thunk_to_STL_string_dtor_01059d20 stl Wrapper that calls STL_string_dtor and returns 0x01059D30 10 thunk_to_STL_string_dtor_01059d30 stl Wrapper that calls STL_string_dtor and returns 0x01059D40 10 thunk_to_STL_string_dtor_01059d40 stl Wrapper that calls STL_string_dtor and returns 0x01059D50 10 thunk_to_STL_string_dtor_01059d50 stl Wrapper that calls STL_string_dtor and returns 0x01059D60 10 thunk_to_STL_string_dtor_01059d60 stl Wrapper that calls STL_string_dtor and returns 0x01059D70 10 thunk_to_STL_string_dtor_01059d70 stl Wrapper that calls STL_string_dtor and returns 0x01059D80 10 thunk_to_STL_string_dtor_01059d80 stl Wrapper that calls STL_string_dtor and returns 0x01059D90 10 thunk_to_STL_string_dtor_01059d90 stl Wrapper that calls STL_string_dtor and returns 0x01059DA0 10 thunk_to_STL_string_dtor_01059da0 stl Wrapper that calls STL_string_dtor and returns 0x01059DB0 10 thunk_to_STL_string_dtor_01059db0 stl Wrapper that calls STL_string_dtor and returns 0x01059DC0 10 thunk_to_STL_string_dtor_01059dc0 stl Wrapper that calls STL_string_dtor and returns 0x01059DD0 10 thunk_to_STL_string_dtor_01059dd0 stl Wrapper that calls STL_string_dtor and returns 0x01059DE0 10 thunk_to_STL_string_dtor_01059de0 stl Wrapper that calls STL_string_dtor and returns 0x01059DF0 10 thunk_to_STL_string_dtor_01059df0 stl Wrapper that calls STL_string_dtor and returns 0x01059E00 10 thunk_to_STL_string_dtor_01059e00 stl Wrapper that calls STL_string_dtor and returns 0x01059E10 10 thunk_to_STL_string_dtor_01059e10 stl Wrapper that calls STL_string_dtor and returns 0x01059E20 10 thunk_to_STL_string_dtor_01059e20 stl Wrapper that calls STL_string_dtor and returns 0x01059E30 10 thunk_to_STL_string_dtor_01059e30 stl Wrapper calling STL_string_dtor destructor function 0x01059E40 10 thunk_to_STL_string_dtor_01059e40 stl Wrapper that calls STL_string_dtor and returns 0x01059E50 10 thunk_to_STL_string_dtor_01059e50 stl Wrapper that calls STL_string_dtor and returns 0x01059E60 10 thunk_to_STL_string_dtor_01059e60 stl Wrapper that calls STL_string_dtor and returns 0x01059E70 10 thunk_to_STL_string_dtor_01059e70 stl Wrapper that calls STL_string_dtor and returns 0x01059E80 10 thunk_to_STL_string_dtor_01059e80 stl Wrapper that calls STL_string_dtor and returns 0x01059E90 10 thunk_to_STL_string_dtor_01059e90 stl Wrapper that calls STL_string_dtor and returns 0x01059F10 280 atexit_unregister_window_classes_and_cleanup_01059f10 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105A030 66 atexit_STL_map_destroy_wrapper_0105a030 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105A080 10 thunk_to_STL_string_dtor_0105a080 stl Wrapper that calls STL_string_dtor and returns 0x0105A090 10 thunk_to_STL_string_dtor_0105a090 stl Wrapper that calls STL_string_dtor and returns 0x0105A0A0 10 thunk_to_STL_string_dtor_0105a0a0 stl Wrapper that calls STL_string_dtor and returns 0x0105A0B0 10 thunk_to_STL_string_dtor_0105a0b0 stl Wrapper that calls STL_string_dtor and returns 0x0105A0C0 10 thunk_to_STL_string_dtor_0105a0c0 stl Wrapper that calls STL_string_dtor and returns 0x0105A0D0 10 thunk_to_STL_string_dtor_0105a0d0 stl Wrapper that calls STL_string_dtor and returns 0x0105A0E0 10 thunk_to_STL_string_dtor_0105a0e0 stl Wrapper that calls STL_string_dtor and returns 0x0105A0F0 10 thunk_to_STL_string_dtor_0105a0f0 stl Wrapper that calls STL_string_dtor and returns 0x0105A100 10 thunk_to_STL_string_dtor_0105a100 stl Wrapper that calls STL_string_dtor and returns 0x0105A110 10 thunk_to_STL_string_dtor_0105a110 stl Wrapper that calls STL_string_dtor and returns 0x0105A120 10 thunk_to_STL_string_dtor_0105a120 stl Wrapper that calls STL_string_dtor and returns 0x0105A130 10 thunk_to_STL_string_dtor_0105a130 stl Wrapper that calls STL_string_dtor and returns 0x0105A140 10 thunk_to_STL_string_dtor_0105a140 stl Wrapper that calls STL_string_dtor and returns 0x0105A150 10 thunk_to_STL_string_dtor_0105a150 stl Wrapper that calls STL_string_dtor and returns 0x0105A160 10 thunk_to_STL_string_dtor_0105a160 stl Wrapper that calls STL_string_dtor and returns 0x0105A170 10 thunk_to_STL_string_dtor_0105a170 stl Wrapper that calls STL_string_dtor and returns 0x0105A180 10 thunk_to_STL_string_dtor_0105a180 stl Wrapper that calls STL_string_dtor and returns 0x0105A190 10 thunk_to_STL_string_dtor_0105a190 stl Wrapper that calls STL_string_dtor and returns 0x0105A1A0 10 thunk_to_STL_string_dtor_0105a1a0 stl Wrapper that calls STL_string_dtor and returns 0x0105A1B0 10 thunk_to_STL_string_dtor_0105a1b0 stl Wrapper that calls STL_string_dtor and returns 0x0105A1C0 10 thunk_to_STL_string_dtor_0105a1c0 stl Wrapper that calls STL_string_dtor and returns 0x0105A1D0 10 thunk_to_STL_string_dtor_0105a1d0 stl Wrapper that calls STL_string_dtor and returns 0x0105A1E0 10 thunk_to_STL_string_dtor_0105a1e0 stl Wrapper that calls STL_string_dtor and returns 0x0105A1F0 10 thunk_to_STL_string_dtor_0105a1f0 stl Wrapper that calls STL_string_dtor and returns 0x0105A200 10 thunk_to_STL_string_dtor_0105a200 stl Wrapper that calls STL_string_dtor and returns 0x0105A280 280 atexit_unregister_window_classes_and_cleanup_0105a280 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105A3A0 66 atexit_STL_map_destroy_wrapper_0105a3a0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105A3F0 10 thunk_to_STL_string_dtor_0105a3f0 stl Wrapper that calls STL_string_dtor and returns 0x0105A400 10 thunk_to_STL_string_dtor_0105a400 stl Wrapper that calls STL_string_dtor and returns 0x0105A410 10 thunk_to_STL_string_dtor_0105a410 stl Wrapper that calls STL_string_dtor and returns 0x0105A420 10 thunk_to_STL_string_dtor_0105a420 stl Wrapper that calls STL_string_dtor and returns 0x0105A430 10 thunk_to_STL_string_dtor_0105a430 stl Wrapper that calls STL_string_dtor and returns 0x0105A440 10 thunk_to_STL_string_dtor_0105a440 stl Wrapper function that calls STL_string_dtor and returns 0x0105A450 10 thunk_to_STL_string_dtor_0105a450 stl Wrapper that calls STL_string_dtor and returns immediately 0x0105A460 10 thunk_to_STL_string_dtor_0105a460 stl Wrapper that calls STL_string_dtor and returns 0x0105A470 10 thunk_to_STL_string_dtor_0105a470 stl Wrapper that calls STL_string_dtor and returns 0x0105A480 10 thunk_to_STL_string_dtor_0105a480 stl Wrapper that calls STL_string_dtor and returns 0x0105A490 10 thunk_to_STL_string_dtor_0105a490 stl Wrapper that calls STL_string_dtor and returns 0x0105A4A0 10 thunk_to_STL_string_dtor_0105a4a0 stl Wrapper that calls STL_string_dtor and returns 0x0105A4B0 10 thunk_to_STL_string_dtor_0105a4b0 stl Wrapper that calls STL_string_dtor and returns 0x0105A4C0 10 thunk_to_STL_string_dtor_0105a4c0 stl Wrapper that calls STL_string_dtor and returns 0x0105A4D0 10 thunk_to_STL_string_dtor_0105a4d0 stl Wrapper that calls STL_string_dtor and returns 0x0105A4E0 10 thunk_to_STL_string_dtor_0105a4e0 stl Wrapper that calls STL_string_dtor and returns 0x0105A4F0 10 thunk_to_STL_string_dtor_0105a4f0 stl Wrapper that calls STL_string_dtor and returns 0x0105A500 10 thunk_to_STL_string_dtor_0105a500 stl Wrapper that calls STL_string_dtor and returns 0x0105A510 10 thunk_to_STL_string_dtor_0105a510 stl Wrapper that calls STL_string_dtor and returns 0x0105A520 10 thunk_to_STL_string_dtor_0105a520 stl Wrapper that calls STL_string_dtor and returns 0x0105A530 10 thunk_to_STL_string_dtor_0105a530 stl Wrapper that calls STL_string_dtor and returns 0x0105A540 10 thunk_to_STL_string_dtor_0105a540 stl Wrapper that calls STL_string_dtor and returns 0x0105A550 10 thunk_to_STL_string_dtor_0105a550 stl Wrapper that calls STL_string_dtor and returns 0x0105A560 10 thunk_to_STL_string_dtor_0105a560 stl Wrapper that calls STL_string_dtor and returns 0x0105A570 10 thunk_to_STL_string_dtor_0105a570 stl Wrapper that calls STL_string_dtor and returns 0x0105A5F0 280 atexit_unregister_window_classes_and_cleanup_0105a5f0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105A710 66 atexit_STL_map_destroy_wrapper_0105a710 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105A7D0 280 atexit_unregister_window_classes_and_cleanup_0105a7d0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105A8F0 10 thunk_to_STL_string_dtor_0105a8f0 stl Wrapper that calls STL_string_dtor and returns 0x0105A900 10 thunk_to_STL_string_dtor_0105a900 stl Wrapper calling STL string destructor 0x0105A910 10 thunk_to_STL_string_dtor_0105a910 stl Wrapper that calls STL_string_dtor and returns 0x0105A920 10 thunk_to_STL_string_dtor_0105a920 stl Wrapper that calls STL_string_dtor and returns 0x0105A930 10 thunk_to_STL_string_dtor_0105a930 stl Wrapper that calls STL_string_dtor and returns 0x0105A940 10 thunk_to_STL_string_dtor_0105a940 stl Wrapper that calls STL_string_dtor and returns 0x0105A950 10 thunk_to_STL_string_dtor_0105a950 stl Wrapper that calls STL_string_dtor and returns 0x0105A960 10 thunk_to_STL_string_dtor_0105a960 stl Wrapper that calls STL_string_dtor and returns 0x0105A970 10 thunk_to_STL_string_dtor_0105a970 stl Wrapper that calls STL_string_dtor and returns 0x0105A980 10 thunk_to_STL_string_dtor_0105a980 stl Wrapper that calls STL_string_dtor and returns 0x0105A990 10 thunk_to_STL_string_dtor_0105a990 stl Wrapper that calls STL_string_dtor and returns 0x0105A9A0 10 thunk_to_STL_string_dtor_0105a9a0 stl Wrapper that calls STL_string_dtor and returns 0x0105A9B0 10 thunk_to_STL_string_dtor_0105a9b0 stl Wrapper that calls STL_string_dtor and returns 0x0105A9C0 10 thunk_to_STL_string_dtor_0105a9c0 stl Wrapper that calls STL_string_dtor and returns 0x0105A9D0 10 thunk_to_STL_string_dtor_0105a9d0 stl Wrapper that calls STL_string_dtor and returns 0x0105A9E0 10 thunk_to_STL_string_dtor_0105a9e0 stl Wrapper that calls STL_string_dtor and returns 0x0105A9F0 10 thunk_to_STL_string_dtor_0105a9f0 stl Wrapper that calls STL_string_dtor and returns 0x0105AA00 10 thunk_to_STL_string_dtor_0105aa00 stl Wrapper that calls STL_string_dtor and returns 0x0105AA10 10 thunk_to_STL_string_dtor_0105aa10 stl Wrapper that calls STL_string_dtor and returns 0x0105AA20 10 thunk_to_STL_string_dtor_0105aa20 stl Wrapper that calls STL_string_dtor and returns 0x0105AA30 10 thunk_to_STL_string_dtor_0105aa30 stl Wrapper that calls STL_string_dtor and returns 0x0105AA40 10 thunk_to_STL_string_dtor_0105aa40 stl Wrapper that calls STL_string_dtor and returns 0x0105AA50 10 thunk_to_STL_string_dtor_0105aa50 stl Wrapper that calls STL_string_dtor and returns 0x0105AA60 10 thunk_to_STL_string_dtor_0105aa60 stl Wrapper that calls STL_string_dtor and returns 0x0105AA70 10 thunk_to_STL_string_dtor_0105aa70 stl Wrapper that calls STL_string_dtor and returns 0x0105AAF0 280 atexit_unregister_window_classes_and_cleanup_0105aaf0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105AC10 66 atexit_STL_map_destroy_wrapper_0105ac10 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105ACD0 280 atexit_unregister_window_classes_and_cleanup_0105acd0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105AE00 10 thunk_to_STL_string_dtor_0105ae00 stl Wrapper that calls STL_string_dtor and returns 0x0105AE10 10 thunk_to_STL_string_dtor_0105ae10 stl Wrapper that calls STL_string_dtor and returns 0x0105AE20 10 thunk_to_STL_string_dtor_0105ae20 stl Wrapper that calls STL_string_dtor and returns 0x0105AE30 10 thunk_to_STL_string_dtor_0105ae30 stl Wrapper that calls STL_string_dtor and returns 0x0105AE40 10 thunk_to_STL_string_dtor_0105ae40 stl Wrapper that calls STL_string_dtor and returns 0x0105AE50 10 thunk_to_STL_string_dtor_0105ae50 stl Wrapper that calls STL_string_dtor and returns 0x0105AE60 10 thunk_to_STL_string_dtor_0105ae60 stl Wrapper that calls STL_string_dtor and returns 0x0105AE70 10 thunk_to_STL_string_dtor_0105ae70 stl Wrapper that calls STL_string_dtor and returns 0x0105AE80 10 thunk_to_STL_string_dtor_0105ae80 stl Wrapper that calls STL_string_dtor and returns 0x0105AE90 10 thunk_to_STL_string_dtor_0105ae90 stl Wrapper that calls STL_string_dtor and returns 0x0105AEA0 10 thunk_to_STL_string_dtor_0105aea0 stl Wrapper that calls STL_string_dtor and returns 0x0105AEB0 10 thunk_to_STL_string_dtor_0105aeb0 stl Wrapper that calls STL_string_dtor and returns 0x0105AEC0 10 thunk_to_STL_string_dtor_0105aec0 stl Wrapper that calls STL_string_dtor and returns 0x0105AED0 10 thunk_to_STL_string_dtor_0105aed0 stl Wrapper that calls STL_string_dtor and returns 0x0105AEE0 10 thunk_to_STL_string_dtor_0105aee0 stl Wrapper that calls STL_string_dtor and returns 0x0105AEF0 10 thunk_to_STL_string_dtor_0105aef0 stl Wrapper function that calls STL_string_dtor and returns 0x0105AF00 10 thunk_to_STL_string_dtor_0105af00 stl Wrapper that calls STL_string_dtor and returns 0x0105AF10 10 thunk_to_STL_string_dtor_0105af10 stl Wrapper that calls STL_string_dtor and returns 0x0105AF20 10 thunk_to_STL_string_dtor_0105af20 stl Wrapper that calls STL_string_dtor and returns 0x0105AF30 10 thunk_to_STL_string_dtor_0105af30 stl Wrapper that calls STL_string_dtor and returns 0x0105AF40 10 thunk_to_STL_string_dtor_0105af40 stl Wrapper that calls STL_string_dtor and returns 0x0105AF50 10 thunk_to_STL_string_dtor_0105af50 stl Wrapper that calls STL_string_dtor and returns 0x0105AF60 10 thunk_to_STL_string_dtor_0105af60 stl Wrapper that calls STL_string_dtor and returns 0x0105AF70 10 thunk_to_STL_string_dtor_0105af70 stl Wrapper that calls STL_string_dtor and returns 0x0105AF80 10 thunk_to_STL_string_dtor_0105af80 stl Wrapper that calls STL_string_dtor and returns 0x0105AF90 10 thunk_to_STL_string_dtor_0105af90 stl Wrapper that calls STL_string_dtor and returns 0x0105B010 280 atexit_unregister_window_classes_and_cleanup_0105b010 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105B130 66 atexit_STL_map_destroy_wrapper_0105b130 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105B200 280 atexit_unregister_window_classes_and_cleanup_0105b200 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105B390 280 atexit_unregister_window_classes_and_cleanup_0105b390 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105B520 280 atexit_unregister_window_classes_and_cleanup_0105b520 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105B640 10 thunk_to_STL_string_dtor_0105b640 stl Wrapper that calls STL_string_dtor and returns 0x0105B650 10 thunk_to_STL_string_dtor_0105b650 stl Wrapper that calls STL_string_dtor and returns 0x0105B660 10 thunk_to_STL_string_dtor_0105b660 stl Wrapper that calls STL_string_dtor and returns 0x0105B670 10 thunk_to_STL_string_dtor_0105b670 stl Wrapper that calls STL_string_dtor and returns 0x0105B680 10 thunk_to_STL_string_dtor_0105b680 stl Wrapper that calls STL_string_dtor and returns 0x0105B690 10 thunk_to_STL_string_dtor_0105b690 stl Wrapper that calls STL_string_dtor and returns 0x0105B6A0 10 thunk_to_STL_string_dtor_0105b6a0 stl Wrapper that calls STL_string_dtor and returns 0x0105B6B0 10 thunk_to_STL_string_dtor_0105b6b0 stl Wrapper that calls STL_string_dtor and returns 0x0105B6C0 10 thunk_to_STL_string_dtor_0105b6c0 stl Wrapper that calls STL_string_dtor and returns 0x0105B6D0 10 thunk_to_STL_string_dtor_0105b6d0 stl Wrapper that calls STL_string_dtor and returns 0x0105B6E0 10 thunk_to_STL_string_dtor_0105b6e0 stl Wrapper that calls STL_string_dtor and returns 0x0105B6F0 10 thunk_to_STL_string_dtor_0105b6f0 stl Wrapper that calls STL_string_dtor and returns 0x0105B700 10 thunk_to_STL_string_dtor_0105b700 stl Wrapper that calls STL_string_dtor and returns 0x0105B710 10 thunk_to_STL_string_dtor_0105b710 stl Wrapper that calls STL_string_dtor and returns 0x0105B720 10 thunk_to_STL_string_dtor_0105b720 stl Wrapper that calls STL_string_dtor and returns 0x0105B730 10 thunk_to_STL_string_dtor_0105b730 stl Wrapper that calls STL_string_dtor and returns 0x0105B740 10 thunk_to_STL_string_dtor_0105b740 stl Wrapper that calls STL_string_dtor and returns 0x0105B750 10 thunk_to_STL_string_dtor_0105b750 stl Wrapper that calls STL_string_dtor and returns 0x0105B760 10 thunk_to_STL_string_dtor_0105b760 stl Wrapper that calls STL_string_dtor and returns 0x0105B770 10 thunk_to_STL_string_dtor_0105b770 stl Wrapper that calls STL_string_dtor and returns 0x0105B780 10 thunk_to_STL_string_dtor_0105b780 stl Wrapper that calls STL_string_dtor and returns 0x0105B790 10 thunk_to_STL_string_dtor_0105b790 stl Wrapper function that calls STL_string_dtor and returns 0x0105B7A0 10 thunk_to_STL_string_dtor_0105b7a0 stl Wrapper that calls STL_string_dtor and returns 0x0105B7B0 10 thunk_to_STL_string_dtor_0105b7b0 stl Wrapper that calls STL_string_dtor and returns 0x0105B7C0 10 thunk_to_STL_string_dtor_0105b7c0 stl Wrapper that calls STL_string_dtor and returns 0x0105B840 280 atexit_unregister_window_classes_and_cleanup_0105b840 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105B960 66 atexit_STL_map_destroy_wrapper_0105b960 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105B9B0 10 thunk_to_STL_string_dtor_0105b9b0 stl Wrapper that calls STL_string_dtor and returns 0x0105B9C0 10 thunk_to_STL_string_dtor_0105b9c0 stl Wrapper that calls STL_string_dtor and returns 0x0105B9D0 10 thunk_to_STL_string_dtor_0105b9d0 stl Wrapper that calls STL_string_dtor and returns 0x0105B9E0 10 thunk_to_STL_string_dtor_0105b9e0 stl Wrapper that calls STL_string_dtor and returns 0x0105B9F0 10 thunk_to_STL_string_dtor_0105b9f0 stl Wrapper that calls STL_string_dtor and returns 0x0105BA00 10 thunk_to_STL_string_dtor_0105ba00 stl Wrapper that calls STL_string_dtor and returns 0x0105BA10 10 thunk_to_STL_string_dtor_0105ba10 stl Wrapper that calls STL_string_dtor and returns 0x0105BA20 10 thunk_to_STL_string_dtor_0105ba20 stl Wrapper that calls STL_string_dtor and returns 0x0105BA30 10 thunk_to_STL_string_dtor_0105ba30 stl Wrapper that calls STL_string_dtor and returns 0x0105BA40 10 thunk_to_STL_string_dtor_0105ba40 stl Wrapper that calls STL_string_dtor and returns 0x0105BA50 10 thunk_to_STL_string_dtor_0105ba50 stl Wrapper that calls STL_string_dtor and returns 0x0105BA60 10 thunk_to_STL_string_dtor_0105ba60 stl Wrapper that calls STL_string_dtor and returns 0x0105BA70 10 thunk_to_STL_string_dtor_0105ba70 stl Wrapper that calls STL_string_dtor and returns 0x0105BA80 10 thunk_to_STL_string_dtor_0105ba80 stl Wrapper that calls STL_string_dtor and returns 0x0105BA90 10 thunk_to_STL_string_dtor_0105ba90 stl Wrapper that calls STL_string_dtor and returns 0x0105BAA0 10 thunk_to_STL_string_dtor_0105baa0 stl Wrapper that calls STL_string_dtor and returns 0x0105BAB0 10 thunk_to_STL_string_dtor_0105bab0 stl Wrapper that calls STL_string_dtor and returns 0x0105BAC0 10 thunk_to_STL_string_dtor_0105bac0 stl Wrapper that calls STL_string_dtor and returns 0x0105BAD0 10 thunk_to_STL_string_dtor_0105bad0 stl Wrapper that calls STL_string_dtor and returns 0x0105BAE0 10 thunk_to_STL_string_dtor_0105bae0 stl Wrapper that calls STL_string_dtor and returns 0x0105BAF0 10 thunk_to_STL_string_dtor_0105baf0 stl Wrapper that calls STL_string_dtor and returns 0x0105BB00 10 thunk_to_STL_string_dtor_0105bb00 stl Wrapper that calls STL_string_dtor and returns 0x0105BB10 10 thunk_to_STL_string_dtor_0105bb10 stl Wrapper that calls STL_string_dtor and returns 0x0105BB20 10 thunk_to_STL_string_dtor_0105bb20 stl Wrapper that calls STL_string_dtor and returns 0x0105BB30 10 thunk_to_STL_string_dtor_0105bb30 stl Wrapper that calls STL_string_dtor and returns immediately 0x0105BBB0 280 atexit_unregister_window_classes_and_cleanup_0105bbb0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105BCD0 66 atexit_STL_map_destroy_wrapper_0105bcd0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105BD20 10 thunk_to_STL_string_dtor_0105bd20 stl Wrapper that calls STL_string_dtor and returns 0x0105BD30 10 thunk_to_STL_string_dtor_0105bd30 stl Wrapper that calls STL_string_dtor and returns 0x0105BD40 10 thunk_to_STL_string_dtor_0105bd40 stl Wrapper that calls STL_string_dtor and returns 0x0105BD50 10 thunk_to_STL_string_dtor_0105bd50 stl Wrapper that calls STL_string_dtor and returns 0x0105BD60 10 thunk_to_STL_string_dtor_0105bd60 stl Wrapper that calls STL_string_dtor and returns 0x0105BD70 10 thunk_to_STL_string_dtor_0105bd70 stl Wrapper that calls STL_string_dtor and returns 0x0105BD80 10 thunk_to_STL_string_dtor_0105bd80 stl Wrapper that calls STL_string_dtor and returns 0x0105BD90 10 thunk_to_STL_string_dtor_0105bd90 stl Wrapper that calls STL_string_dtor and returns 0x0105BDA0 10 thunk_to_STL_string_dtor_0105bda0 stl Wrapper that calls STL_string_dtor and returns 0x0105BDB0 10 thunk_to_STL_string_dtor_0105bdb0 stl Wrapper that calls STL_string_dtor and returns 0x0105BDC0 10 thunk_to_STL_string_dtor_0105bdc0 stl Wrapper that calls STL_string_dtor and returns 0x0105BDD0 10 thunk_to_STL_string_dtor_0105bdd0 stl Wrapper that calls STL_string_dtor and returns 0x0105BDE0 10 thunk_to_STL_string_dtor_0105bde0 stl Wrapper that calls STL_string_dtor and returns 0x0105BDF0 10 thunk_to_STL_string_dtor_0105bdf0 stl Wrapper that calls STL_string_dtor and returns 0x0105BE00 10 thunk_to_STL_string_dtor_0105be00 stl Wrapper that calls STL_string_dtor and returns 0x0105BE10 10 thunk_to_STL_string_dtor_0105be10 stl Wrapper that calls STL_string_dtor and returns 0x0105BE20 10 thunk_to_STL_string_dtor_0105be20 stl Wrapper that calls STL_string_dtor and returns 0x0105BE30 10 thunk_to_STL_string_dtor_0105be30 stl Wrapper that calls STL_string_dtor and returns 0x0105BE40 10 thunk_to_STL_string_dtor_0105be40 stl Wrapper that calls STL_string_dtor and returns 0x0105BE50 10 thunk_to_STL_string_dtor_0105be50 stl Wrapper that calls STL_string_dtor and returns 0x0105BE60 10 thunk_to_STL_string_dtor_0105be60 stl Wrapper that calls STL_string_dtor and returns 0x0105BE70 10 thunk_to_STL_string_dtor_0105be70 stl Wrapper that calls STL_string_dtor and returns 0x0105BE80 10 thunk_to_STL_string_dtor_0105be80 stl Wrapper that calls STL_string_dtor and returns 0x0105BE90 10 thunk_to_STL_string_dtor_0105be90 stl Wrapper that calls STL_string_dtor and returns 0x0105BEA0 10 thunk_to_STL_string_dtor_0105bea0 stl Wrapper that calls STL_string_dtor and returns 0x0105BF20 280 atexit_unregister_window_classes_and_cleanup_0105bf20 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105C040 66 atexit_STL_map_destroy_wrapper_0105c040 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105C090 10 thunk_to_STL_string_dtor_0105c090 stl Wrapper that calls STL_string_dtor and returns 0x0105C0A0 10 thunk_to_STL_string_dtor_0105c0a0 stl Wrapper that calls STL_string_dtor and returns 0x0105C0B0 10 thunk_to_STL_string_dtor_0105c0b0 stl Wrapper that calls STL_string_dtor and returns 0x0105C0C0 10 thunk_to_STL_string_dtor_0105c0c0 stl Wrapper that calls STL_string_dtor and returns 0x0105C0D0 10 thunk_to_STL_string_dtor_0105c0d0 stl Wrapper that calls STL_string_dtor and returns 0x0105C0E0 10 thunk_to_STL_string_dtor_0105c0e0 stl Wrapper that calls STL_string_dtor and returns 0x0105C0F0 10 thunk_to_STL_string_dtor_0105c0f0 stl Wrapper that calls STL_string_dtor and returns 0x0105C100 10 thunk_to_STL_string_dtor_0105c100 stl Wrapper that calls STL_string_dtor and returns 0x0105C110 10 thunk_to_STL_string_dtor_0105c110 stl Wrapper that calls STL_string_dtor and returns 0x0105C120 10 thunk_to_STL_string_dtor_0105c120 stl Wrapper that calls STL_string_dtor and returns 0x0105C130 10 thunk_to_STL_string_dtor_0105c130 stl Wrapper that calls STL_string_dtor and returns 0x0105C140 10 thunk_to_STL_string_dtor_0105c140 stl Wrapper that calls STL_string_dtor and returns 0x0105C150 10 thunk_to_STL_string_dtor_0105c150 stl Wrapper that calls STL string destructor 0x0105C160 10 thunk_to_STL_string_dtor_0105c160 stl Wrapper that calls STL_string_dtor and returns 0x0105C170 10 thunk_to_STL_string_dtor_0105c170 stl Wrapper that calls STL_string_dtor and returns 0x0105C180 10 thunk_to_STL_string_dtor_0105c180 stl Wrapper function that calls STL_string_dtor and returns 0x0105C190 10 thunk_to_STL_string_dtor_0105c190 stl Wrapper that calls STL_string_dtor and returns 0x0105C1A0 10 thunk_to_STL_string_dtor_0105c1a0 stl Wrapper that calls STL_string_dtor and returns 0x0105C1B0 10 thunk_to_STL_string_dtor_0105c1b0 stl Wrapper that calls STL_string_dtor and returns 0x0105C1C0 10 thunk_to_STL_string_dtor_0105c1c0 stl Wrapper that calls STL_string_dtor and returns 0x0105C1D0 10 thunk_to_STL_string_dtor_0105c1d0 stl Wrapper that calls STL_string_dtor and returns 0x0105C1E0 10 thunk_to_STL_string_dtor_0105c1e0 stl Wrapper that calls STL_string_dtor and returns 0x0105C1F0 10 thunk_to_STL_string_dtor_0105c1f0 stl Wrapper that calls STL_string_dtor and returns 0x0105C200 10 thunk_to_STL_string_dtor_0105c200 stl Wrapper that calls STL_string_dtor and returns 0x0105C210 10 thunk_to_STL_string_dtor_0105c210 stl Wrapper that calls STL_string_dtor and returns 0x0105C290 280 atexit_unregister_window_classes_and_cleanup_0105c290 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105C3B0 66 atexit_STL_map_destroy_wrapper_0105c3b0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105C400 10 thunk_to_STL_string_dtor_0105c400 stl Wrapper function that calls STL_string_dtor and returns 0x0105C410 10 thunk_to_STL_string_dtor_0105c410 stl Wrapper that calls STL_string_dtor and returns 0x0105C420 10 thunk_to_STL_string_dtor_0105c420 stl Wrapper that calls STL_string_dtor and returns 0x0105C430 10 thunk_to_STL_string_dtor_0105c430 stl Wrapper that calls STL_string_dtor and returns 0x0105C440 10 thunk_to_STL_string_dtor_0105c440 stl Wrapper that calls STL_string_dtor and returns 0x0105C450 10 thunk_to_STL_string_dtor_0105c450 stl Wrapper that calls STL_string_dtor and returns 0x0105C460 10 thunk_to_STL_string_dtor_0105c460 stl Wrapper that calls STL_string_dtor and returns 0x0105C470 10 thunk_to_STL_string_dtor_0105c470 stl Wrapper that calls STL_string_dtor and returns 0x0105C480 10 thunk_to_STL_string_dtor_0105c480 stl Wrapper that calls STL_string_dtor and returns 0x0105C490 10 thunk_to_STL_string_dtor_0105c490 stl Wrapper that calls STL_string_dtor and returns 0x0105C4A0 10 thunk_to_STL_string_dtor_0105c4a0 stl Wrapper calling STL string destructor 0x0105C4B0 10 thunk_to_STL_string_dtor_0105c4b0 stl Wrapper that calls STL_string_dtor and returns 0x0105C4C0 10 thunk_to_STL_string_dtor_0105c4c0 stl Wrapper that calls STL_string_dtor and returns 0x0105C4D0 10 thunk_to_STL_string_dtor_0105c4d0 stl Wrapper that calls STL_string_dtor and returns 0x0105C4E0 10 thunk_to_STL_string_dtor_0105c4e0 stl Wrapper that calls STL_string_dtor and returns 0x0105C4F0 10 thunk_to_STL_string_dtor_0105c4f0 stl Wrapper that calls STL_string_dtor and returns 0x0105C500 10 thunk_to_STL_string_dtor_0105c500 stl Wrapper that calls STL_string_dtor and returns 0x0105C510 10 thunk_to_STL_string_dtor_0105c510 stl Wrapper that calls STL_string_dtor and returns immediately 0x0105C520 10 thunk_to_STL_string_dtor_0105c520 stl Wrapper that calls STL_string_dtor and returns 0x0105C530 10 thunk_to_STL_string_dtor_0105c530 stl Wrapper that calls STL_string_dtor and returns 0x0105C540 10 thunk_to_STL_string_dtor_0105c540 stl Wrapper that calls STL_string_dtor and returns 0x0105C550 10 thunk_to_STL_string_dtor_0105c550 stl Wrapper that calls STL_string_dtor and returns 0x0105C560 10 thunk_to_STL_string_dtor_0105c560 stl Wrapper that calls STL_string_dtor and returns 0x0105C570 10 thunk_to_STL_string_dtor_0105c570 stl Wrapper that calls STL_string_dtor and returns 0x0105C580 10 thunk_to_STL_string_dtor_0105c580 stl Wrapper function that calls STL_string_dtor and returns 0x0105C600 280 atexit_unregister_window_classes_and_cleanup_0105c600 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105C720 66 atexit_STL_map_destroy_wrapper_0105c720 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105C7E0 280 atexit_unregister_window_classes_and_cleanup_0105c7e0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105C970 280 atexit_unregister_window_classes_and_cleanup_0105c970 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105CA90 10 thunk_to_STL_string_dtor_0105ca90 stl Wrapper function that calls STL_string_dtor and returns 0x0105CAA0 10 thunk_to_STL_string_dtor_0105caa0 stl Wrapper that calls STL_string_dtor and returns 0x0105CAB0 10 thunk_to_STL_string_dtor_0105cab0 stl Wrapper that calls STL_string_dtor and returns 0x0105CAC0 10 thunk_to_STL_string_dtor_0105cac0 stl Wrapper that calls STL_string_dtor and returns 0x0105CAD0 10 thunk_to_STL_string_dtor_0105cad0 stl Wrapper that calls STL_string_dtor and returns 0x0105CAE0 10 thunk_to_STL_string_dtor_0105cae0 stl Wrapper that calls STL_string_dtor and returns 0x0105CAF0 10 thunk_to_STL_string_dtor_0105caf0 stl Wrapper that calls STL_string_dtor and returns 0x0105CB00 10 thunk_to_STL_string_dtor_0105cb00 stl Wrapper that calls STL_string_dtor and returns 0x0105CB10 10 thunk_to_STL_string_dtor_0105cb10 stl Wrapper that calls STL_string_dtor and returns 0x0105CB20 10 thunk_to_STL_string_dtor_0105cb20 stl Wrapper that calls STL_string_dtor and returns 0x0105CB30 10 thunk_to_STL_string_dtor_0105cb30 stl Wrapper that calls STL_string_dtor and returns 0x0105CB40 10 thunk_to_STL_string_dtor_0105cb40 stl Wrapper that calls STL_string_dtor and returns 0x0105CB50 10 thunk_to_STL_string_dtor_0105cb50 stl Wrapper that calls STL_string_dtor and returns 0x0105CB60 10 thunk_to_STL_string_dtor_0105cb60 stl Wrapper that calls STL_string_dtor and returns 0x0105CB70 10 thunk_to_STL_string_dtor_0105cb70 stl Wrapper that calls STL_string_dtor and returns 0x0105CB80 10 thunk_to_STL_string_dtor_0105cb80 stl Wrapper function that calls STL_string_dtor and returns 0x0105CB90 10 thunk_to_STL_string_dtor_0105cb90 stl Wrapper that calls STL_string_dtor and returns 0x0105CBA0 10 thunk_to_STL_string_dtor_0105cba0 stl Wrapper that calls STL_string_dtor and returns 0x0105CBB0 10 thunk_to_STL_string_dtor_0105cbb0 stl Wrapper that calls STL_string_dtor and returns 0x0105CBC0 10 thunk_to_STL_string_dtor_0105cbc0 stl Wrapper that calls STL_string_dtor and returns 0x0105CBD0 10 thunk_to_STL_string_dtor_0105cbd0 stl Wrapper that calls STL_string_dtor and returns 0x0105CBE0 10 thunk_to_STL_string_dtor_0105cbe0 stl Wrapper that calls STL_string_dtor and returns 0x0105CBF0 10 thunk_to_STL_string_dtor_0105cbf0 stl Wrapper that calls STL_string_dtor and returns 0x0105CC00 10 thunk_to_STL_string_dtor_0105cc00 stl Wrapper that calls STL_string_dtor and returns 0x0105CC10 10 thunk_to_STL_string_dtor_0105cc10 stl Wrapper that calls STL_string_dtor and returns 0x0105CC90 280 atexit_unregister_window_classes_and_cleanup_0105cc90 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105CDB0 66 atexit_STL_map_destroy_wrapper_0105cdb0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105CE00 10 thunk_to_STL_string_dtor_0105ce00 stl Wrapper that calls STL_string_dtor and returns 0x0105CE10 10 thunk_to_STL_string_dtor_0105ce10 stl Wrapper that calls STL_string_dtor and returns 0x0105CE20 10 thunk_to_STL_string_dtor_0105ce20 stl Wrapper that calls STL_string_dtor and returns 0x0105CE30 10 thunk_to_STL_string_dtor_0105ce30 stl Wrapper that calls STL_string_dtor and returns 0x0105CE40 10 thunk_to_STL_string_dtor_0105ce40 stl Wrapper that calls STL_string_dtor and returns 0x0105CE50 10 thunk_to_STL_string_dtor_0105ce50 stl Wrapper that calls STL_string_dtor and returns 0x0105CE60 10 thunk_to_STL_string_dtor_0105ce60 stl Wrapper that calls STL_string_dtor and returns 0x0105CE70 10 thunk_to_STL_string_dtor_0105ce70 stl Wrapper that calls STL_string_dtor and returns 0x0105CE80 10 thunk_to_STL_string_dtor_0105ce80 stl Wrapper that calls STL_string_dtor and returns 0x0105CE90 10 thunk_to_STL_string_dtor_0105ce90 stl Wrapper that calls STL_string_dtor and returns 0x0105CEA0 10 thunk_to_STL_string_dtor_0105cea0 stl Wrapper that calls STL_string_dtor and returns 0x0105CEB0 10 thunk_to_STL_string_dtor_0105ceb0 stl Wrapper that calls STL_string_dtor and returns 0x0105CEC0 10 thunk_to_STL_string_dtor_0105cec0 stl Wrapper calling STL string destructor 0x0105CED0 10 thunk_to_STL_string_dtor_0105ced0 stl Wrapper that calls STL_string_dtor and returns 0x0105CEE0 10 thunk_to_STL_string_dtor_0105cee0 stl Wrapper that calls STL_string_dtor and returns 0x0105CEF0 10 thunk_to_STL_string_dtor_0105cef0 stl Wrapper that calls STL_string_dtor and returns 0x0105CF00 10 thunk_to_STL_string_dtor_0105cf00 stl Wrapper that calls STL_string_dtor and returns 0x0105CF10 10 thunk_to_STL_string_dtor_0105cf10 stl Wrapper that calls STL_string_dtor and returns 0x0105CF20 10 thunk_to_STL_string_dtor_0105cf20 stl Wrapper that calls STL_string_dtor and returns 0x0105CF30 10 thunk_to_STL_string_dtor_0105cf30 stl Wrapper calling STL string destructor 0x0105CF40 10 thunk_to_STL_string_dtor_0105cf40 stl Wrapper that calls STL_string_dtor and returns 0x0105CF50 10 thunk_to_STL_string_dtor_0105cf50 stl Wrapper that calls STL_string_dtor and returns 0x0105CF60 10 thunk_to_STL_string_dtor_0105cf60 stl Wrapper that calls STL_string_dtor and returns 0x0105CF70 10 thunk_to_STL_string_dtor_0105cf70 stl Wrapper that calls STL_string_dtor and returns 0x0105CF80 10 thunk_to_STL_string_dtor_0105cf80 stl Wrapper that calls STL_string_dtor and returns 0x0105D000 280 atexit_unregister_window_classes_and_cleanup_0105d000 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105D120 66 atexit_STL_map_destroy_wrapper_0105d120 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105D170 10 thunk_to_STL_string_dtor_0105d170 stl Wrapper that calls STL_string_dtor and returns 0x0105D180 10 thunk_to_STL_string_dtor_0105d180 stl Wrapper that calls STL_string_dtor and returns 0x0105D190 10 thunk_to_STL_string_dtor_0105d190 stl Wrapper that calls STL_string_dtor and returns 0x0105D1A0 10 thunk_to_STL_string_dtor_0105d1a0 stl Wrapper that calls STL_string_dtor and returns 0x0105D1B0 10 thunk_to_STL_string_dtor_0105d1b0 stl Wrapper that calls STL_string_dtor and returns 0x0105D1C0 10 thunk_to_STL_string_dtor_0105d1c0 stl Wrapper function that calls STL_string_dtor and returns 0x0105D1D0 10 thunk_to_STL_string_dtor_0105d1d0 stl Wrapper that calls STL_string_dtor and returns 0x0105D1E0 10 thunk_to_STL_string_dtor_0105d1e0 stl Wrapper that calls STL_string_dtor and returns 0x0105D1F0 10 thunk_to_STL_string_dtor_0105d1f0 stl Wrapper that calls STL_string_dtor and returns 0x0105D200 10 thunk_to_STL_string_dtor_0105d200 stl Wrapper that calls STL_string_dtor and returns 0x0105D210 10 thunk_to_STL_string_dtor_0105d210 stl Wrapper that calls STL_string_dtor and returns 0x0105D220 10 thunk_to_STL_string_dtor_0105d220 stl Wrapper that calls STL_string_dtor and returns 0x0105D230 10 thunk_to_STL_string_dtor_0105d230 stl Wrapper that calls STL_string_dtor and returns 0x0105D240 10 thunk_to_STL_string_dtor_0105d240 stl Wrapper that calls STL_string_dtor and returns 0x0105D250 10 thunk_to_STL_string_dtor_0105d250 stl Wrapper that calls STL_string_dtor and returns 0x0105D260 10 thunk_to_STL_string_dtor_0105d260 stl Wrapper that calls STL_string_dtor and returns 0x0105D270 10 thunk_to_STL_string_dtor_0105d270 stl Wrapper that calls STL_string_dtor and returns 0x0105D280 10 thunk_to_STL_string_dtor_0105d280 stl Wrapper that calls STL_string_dtor and returns 0x0105D290 10 thunk_to_STL_string_dtor_0105d290 stl Wrapper that calls STL_string_dtor and returns 0x0105D2A0 10 thunk_to_STL_string_dtor_0105d2a0 stl Wrapper that calls STL_string_dtor and returns 0x0105D2B0 10 thunk_to_STL_string_dtor_0105d2b0 stl Wrapper that calls STL_string_dtor and returns 0x0105D2C0 10 thunk_to_STL_string_dtor_0105d2c0 stl Wrapper function that calls STL_string_dtor and returns 0x0105D2D0 10 thunk_to_STL_string_dtor_0105d2d0 stl Wrapper that calls STL_string_dtor and returns 0x0105D2E0 10 thunk_to_STL_string_dtor_0105d2e0 stl Wrapper that calls STL_string_dtor and returns 0x0105D2F0 10 thunk_to_STL_string_dtor_0105d2f0 stl Wrapper that calls STL_string_dtor and returns 0x0105D370 280 atexit_unregister_window_classes_and_cleanup_0105d370 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105D490 66 atexit_STL_map_destroy_wrapper_0105d490 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105D4E0 10 thunk_to_STL_string_dtor_0105d4e0 stl Wrapper that calls STL_string_dtor and returns 0x0105D4F0 10 thunk_to_STL_string_dtor_0105d4f0 stl Wrapper that calls STL_string_dtor and returns 0x0105D500 10 thunk_to_STL_string_dtor_0105d500 stl Wrapper that calls STL_string_dtor and returns 0x0105D510 10 thunk_to_STL_string_dtor_0105d510 stl Wrapper that calls STL_string_dtor and returns 0x0105D520 10 thunk_to_STL_string_dtor_0105d520 stl Wrapper that calls STL_string_dtor and returns 0x0105D530 10 thunk_to_STL_string_dtor_0105d530 stl Wrapper function that calls STL_string_dtor and returns 0x0105D540 10 thunk_to_STL_string_dtor_0105d540 stl Wrapper that calls STL_string_dtor and returns 0x0105D550 10 thunk_to_STL_string_dtor_0105d550 stl Wrapper that calls STL_string_dtor and returns 0x0105D560 10 thunk_to_STL_string_dtor_0105d560 stl Wrapper that calls STL_string_dtor and returns 0x0105D570 10 thunk_to_STL_string_dtor_0105d570 stl Wrapper that calls STL_string_dtor and returns 0x0105D580 10 thunk_to_STL_string_dtor_0105d580 stl Wrapper that calls STL_string_dtor and returns 0x0105D590 10 thunk_to_STL_string_dtor_0105d590 stl Wrapper that calls STL_string_dtor and returns 0x0105D5A0 10 thunk_to_STL_string_dtor_0105d5a0 stl Wrapper that calls STL_string_dtor and returns 0x0105D5B0 10 thunk_to_STL_string_dtor_0105d5b0 stl Wrapper that calls STL_string_dtor and returns 0x0105D5C0 10 thunk_to_STL_string_dtor_0105d5c0 stl Wrapper that calls STL_string_dtor and returns 0x0105D5D0 10 thunk_to_STL_string_dtor_0105d5d0 stl Wrapper that calls STL_string_dtor and returns 0x0105D5E0 10 thunk_to_STL_string_dtor_0105d5e0 stl Wrapper that calls STL_string_dtor and returns 0x0105D5F0 10 thunk_to_STL_string_dtor_0105d5f0 stl Wrapper that calls STL_string_dtor and returns 0x0105D600 10 thunk_to_STL_string_dtor_0105d600 stl Wrapper that calls STL_string_dtor and returns 0x0105D610 10 thunk_to_STL_string_dtor_0105d610 stl Wrapper that calls STL_string_dtor and returns 0x0105D620 10 thunk_to_STL_string_dtor_0105d620 stl Wrapper that calls STL_string_dtor and returns 0x0105D630 10 thunk_to_STL_string_dtor_0105d630 stl Wrapper that calls STL_string_dtor and returns 0x0105D640 10 thunk_to_STL_string_dtor_0105d640 stl Wrapper that calls STL_string_dtor and returns 0x0105D650 10 thunk_to_STL_string_dtor_0105d650 stl Wrapper that calls STL_string_dtor and returns 0x0105D660 10 thunk_to_STL_string_dtor_0105d660 stl Wrapper that calls STL_string_dtor and returns 0x0105D6E0 280 atexit_unregister_window_classes_and_cleanup_0105d6e0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105D800 66 atexit_STL_map_destroy_wrapper_0105d800 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105D850 10 thunk_to_STL_string_dtor_0105d850 stl Wrapper that calls STL_string_dtor and returns 0x0105D860 10 thunk_to_STL_string_dtor_0105d860 stl Wrapper that calls STL_string_dtor and returns 0x0105D870 10 thunk_to_STL_string_dtor_0105d870 stl Wrapper that calls STL_string_dtor and returns 0x0105D880 10 thunk_to_STL_string_dtor_0105d880 stl Wrapper that calls STL_string_dtor and returns 0x0105D890 10 thunk_to_STL_string_dtor_0105d890 stl Wrapper that calls STL_string_dtor and returns 0x0105D8A0 10 thunk_to_STL_string_dtor_0105d8a0 stl Wrapper that calls STL_string_dtor and returns 0x0105D8B0 10 thunk_to_STL_string_dtor_0105d8b0 stl Wrapper that calls STL_string_dtor and returns 0x0105D8C0 10 thunk_to_STL_string_dtor_0105d8c0 stl Wrapper that calls STL_string_dtor and returns 0x0105D8D0 10 thunk_to_STL_string_dtor_0105d8d0 stl Wrapper that calls STL_string_dtor and returns 0x0105D8E0 10 thunk_to_STL_string_dtor_0105d8e0 stl Wrapper function that calls STL_string_dtor and returns 0x0105D8F0 10 thunk_to_STL_string_dtor_0105d8f0 stl Wrapper that calls STL_string_dtor and returns 0x0105D900 10 thunk_to_STL_string_dtor_0105d900 stl Wrapper that calls STL_string_dtor and returns 0x0105D910 10 thunk_to_STL_string_dtor_0105d910 stl Wrapper that calls STL_string_dtor and returns 0x0105D920 10 thunk_to_STL_string_dtor_0105d920 stl Wrapper that calls STL_string_dtor and returns 0x0105D930 10 thunk_to_STL_string_dtor_0105d930 stl Wrapper that calls STL_string_dtor and returns 0x0105D940 10 thunk_to_STL_string_dtor_0105d940 stl Wrapper that calls STL_string_dtor and returns 0x0105D950 10 thunk_to_STL_string_dtor_0105d950 stl Wrapper that calls STL_string_dtor and returns 0x0105D960 10 thunk_to_STL_string_dtor_0105d960 stl Wrapper that calls STL_string_dtor and returns 0x0105D970 10 thunk_to_STL_string_dtor_0105d970 stl Wrapper that calls STL_string_dtor and returns 0x0105D980 10 thunk_to_STL_string_dtor_0105d980 stl Wrapper that calls STL_string_dtor and returns immediately 0x0105D990 10 thunk_to_STL_string_dtor_0105d990 stl Wrapper that calls STL_string_dtor and returns 0x0105D9A0 10 thunk_to_STL_string_dtor_0105d9a0 stl Wrapper that calls STL_string_dtor and returns 0x0105D9B0 10 thunk_to_STL_string_dtor_0105d9b0 stl Wrapper that calls STL_string_dtor and returns 0x0105D9C0 10 thunk_to_STL_string_dtor_0105d9c0 stl Wrapper that calls STL_string_dtor and returns 0x0105D9D0 10 thunk_to_STL_string_dtor_0105d9d0 stl Wrapper that calls STL_string_dtor and returns 0x0105DA50 280 atexit_unregister_window_classes_and_cleanup_0105da50 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105DB70 66 atexit_STL_map_destroy_wrapper_0105db70 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105DBC0 10 thunk_to_STL_string_dtor_0105dbc0 stl Wrapper that calls STL_string_dtor and returns 0x0105DBD0 10 thunk_to_STL_string_dtor_0105dbd0 stl Wrapper that calls STL_string_dtor and returns 0x0105DBE0 10 thunk_to_STL_string_dtor_0105dbe0 stl Wrapper that calls STL_string_dtor and returns 0x0105DBF0 10 thunk_to_STL_string_dtor_0105dbf0 stl Wrapper that calls STL_string_dtor and returns 0x0105DC00 10 thunk_to_STL_string_dtor_0105dc00 stl Wrapper that calls STL_string_dtor and returns 0x0105DC10 10 thunk_to_STL_string_dtor_0105dc10 stl Wrapper that calls STL_string_dtor and returns 0x0105DC20 10 thunk_to_STL_string_dtor_0105dc20 stl Wrapper that calls STL_string_dtor and returns 0x0105DC30 10 thunk_to_STL_string_dtor_0105dc30 stl Wrapper that calls STL_string_dtor and returns 0x0105DC40 10 thunk_to_STL_string_dtor_0105dc40 stl Wrapper that calls STL_string_dtor and returns 0x0105DC50 10 thunk_to_STL_string_dtor_0105dc50 stl Wrapper that calls STL_string_dtor and returns 0x0105DC60 10 thunk_to_STL_string_dtor_0105dc60 stl Wrapper that calls STL_string_dtor and returns 0x0105DC70 10 thunk_to_STL_string_dtor_0105dc70 stl Wrapper that calls STL_string_dtor and returns 0x0105DC80 10 thunk_to_STL_string_dtor_0105dc80 stl Wrapper that calls STL_string_dtor and returns 0x0105DC90 10 thunk_to_STL_string_dtor_0105dc90 stl Wrapper that calls STL_string_dtor and returns 0x0105DCA0 10 thunk_to_STL_string_dtor_0105dca0 stl Wrapper that calls STL_string_dtor and returns 0x0105DCB0 10 thunk_to_STL_string_dtor_0105dcb0 stl Wrapper that calls STL_string_dtor and returns 0x0105DCC0 10 thunk_to_STL_string_dtor_0105dcc0 stl Wrapper that calls STL_string_dtor and returns 0x0105DCD0 10 thunk_to_STL_string_dtor_0105dcd0 stl Wrapper that calls STL_string_dtor and returns 0x0105DCE0 10 thunk_to_STL_string_dtor_0105dce0 stl Wrapper that calls STL_string_dtor and returns 0x0105DCF0 10 thunk_to_STL_string_dtor_0105dcf0 stl Wrapper that calls STL_string_dtor and returns 0x0105DD00 10 thunk_to_STL_string_dtor_0105dd00 stl Wrapper that calls STL_string_dtor and returns 0x0105DD10 10 thunk_to_STL_string_dtor_0105dd10 stl Wrapper that calls STL_string_dtor and returns 0x0105DD20 10 thunk_to_STL_string_dtor_0105dd20 stl Wrapper that calls STL_string_dtor and returns 0x0105DD30 10 thunk_to_STL_string_dtor_0105dd30 stl Wrapper that calls STL_string_dtor and returns 0x0105DD40 10 thunk_to_STL_string_dtor_0105dd40 stl Wrapper that calls STL_string_dtor and returns 0x0105DDC0 280 atexit_unregister_window_classes_and_cleanup_0105ddc0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105DEE0 66 atexit_STL_map_destroy_wrapper_0105dee0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105DF30 10 thunk_to_STL_string_dtor_0105df30 stl Wrapper that calls STL_string_dtor and returns 0x0105DF40 10 thunk_to_STL_string_dtor_0105df40 stl Wrapper that calls STL_string_dtor and returns 0x0105DF50 10 thunk_to_STL_string_dtor_0105df50 stl Wrapper that calls STL_string_dtor and returns 0x0105DF60 10 thunk_to_STL_string_dtor_0105df60 stl Wrapper that calls STL_string_dtor and returns 0x0105DF70 10 thunk_to_STL_string_dtor_0105df70 stl Wrapper that calls STL_string_dtor and returns 0x0105DF80 10 thunk_to_STL_string_dtor_0105df80 stl Wrapper that calls STL_string_dtor and returns 0x0105DF90 10 thunk_to_STL_string_dtor_0105df90 stl Wrapper that calls STL_string_dtor and returns 0x0105DFA0 10 thunk_to_STL_string_dtor_0105dfa0 stl Wrapper that calls STL_string_dtor and returns 0x0105DFB0 10 thunk_to_STL_string_dtor_0105dfb0 stl Wrapper that calls STL_string_dtor and returns 0x0105DFC0 10 thunk_to_STL_string_dtor_0105dfc0 stl Wrapper that calls STL_string_dtor and returns 0x0105DFD0 10 thunk_to_STL_string_dtor_0105dfd0 stl Wrapper that calls STL_string_dtor and returns 0x0105DFE0 10 thunk_to_STL_string_dtor_0105dfe0 stl Wrapper that calls STL_string_dtor and returns 0x0105DFF0 10 thunk_to_STL_string_dtor_0105dff0 stl Wrapper that calls STL_string_dtor and returns 0x0105E000 10 thunk_to_STL_string_dtor_0105e000 stl Wrapper that calls STL_string_dtor and returns 0x0105E010 10 thunk_to_STL_string_dtor_0105e010 stl Wrapper that calls STL_string_dtor and returns 0x0105E020 10 thunk_to_STL_string_dtor_0105e020 stl Wrapper function that calls STL_string_dtor and returns 0x0105E030 10 thunk_to_STL_string_dtor_0105e030 stl Wrapper that calls STL_string_dtor and returns 0x0105E040 10 thunk_to_STL_string_dtor_0105e040 stl Wrapper that calls STL_string_dtor and returns 0x0105E050 10 thunk_to_STL_string_dtor_0105e050 stl Wrapper that calls STL_string_dtor and returns 0x0105E060 10 thunk_to_STL_string_dtor_0105e060 stl Wrapper that calls STL_string_dtor and returns 0x0105E070 10 thunk_to_STL_string_dtor_0105e070 stl Wrapper that calls STL_string_dtor and returns 0x0105E080 10 thunk_to_STL_string_dtor_0105e080 stl Wrapper that calls STL_string_dtor and returns 0x0105E090 10 thunk_to_STL_string_dtor_0105e090 stl Wrapper that calls STL_string_dtor and returns 0x0105E0A0 10 thunk_to_STL_string_dtor_0105e0a0 stl Wrapper that calls STL_string_dtor and returns 0x0105E0B0 10 thunk_to_STL_string_dtor_0105e0b0 stl Wrapper that calls STL_string_dtor and returns 0x0105E130 280 atexit_unregister_window_classes_and_cleanup_0105e130 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105E250 66 atexit_STL_map_destroy_wrapper_0105e250 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105E2A0 10 thunk_to_STL_string_dtor_0105e2a0 stl Wrapper that calls STL_string_dtor and returns 0x0105E2B0 10 thunk_to_STL_string_dtor_0105e2b0 stl Wrapper that calls STL_string_dtor and returns 0x0105E2C0 10 thunk_to_STL_string_dtor_0105e2c0 stl Wrapper that calls STL_string_dtor and returns 0x0105E2D0 10 thunk_to_STL_string_dtor_0105e2d0 stl Wrapper that calls STL_string_dtor and returns 0x0105E2E0 10 thunk_to_STL_string_dtor_0105e2e0 stl Wrapper that calls STL_string_dtor and returns 0x0105E2F0 10 thunk_to_STL_string_dtor_0105e2f0 stl Wrapper that calls STL_string_dtor and returns 0x0105E300 10 thunk_to_STL_string_dtor_0105e300 stl Wrapper that calls STL_string_dtor and returns 0x0105E310 10 thunk_to_STL_string_dtor_0105e310 stl Wrapper that calls STL_string_dtor and returns 0x0105E320 10 thunk_to_STL_string_dtor_0105e320 stl Wrapper that calls STL_string_dtor and returns 0x0105E330 10 thunk_to_STL_string_dtor_0105e330 stl Wrapper that calls STL_string_dtor and returns 0x0105E340 10 thunk_to_STL_string_dtor_0105e340 stl Wrapper that calls STL_string_dtor and returns 0x0105E350 10 thunk_to_STL_string_dtor_0105e350 stl Wrapper that calls STL_string_dtor and returns 0x0105E360 10 thunk_to_STL_string_dtor_0105e360 stl Wrapper that calls STL_string_dtor and returns 0x0105E370 10 thunk_to_STL_string_dtor_0105e370 stl Wrapper that calls STL_string_dtor and returns 0x0105E380 10 thunk_to_STL_string_dtor_0105e380 stl Wrapper that calls STL_string_dtor and returns 0x0105E390 10 thunk_to_STL_string_dtor_0105e390 stl Wrapper that calls STL_string_dtor and returns 0x0105E3A0 10 thunk_to_STL_string_dtor_0105e3a0 stl Wrapper that calls STL_string_dtor and returns 0x0105E3B0 10 thunk_to_STL_string_dtor_0105e3b0 stl Wrapper that calls STL_string_dtor and returns 0x0105E3C0 10 thunk_to_STL_string_dtor_0105e3c0 stl Wrapper that calls STL_string_dtor and returns 0x0105E3D0 10 thunk_to_STL_string_dtor_0105e3d0 stl Wrapper that calls STL_string_dtor and returns 0x0105E3E0 10 thunk_to_STL_string_dtor_0105e3e0 stl Wrapper that calls STL_string_dtor and returns 0x0105E3F0 10 thunk_to_STL_string_dtor_0105e3f0 stl Wrapper that calls STL_string_dtor and returns 0x0105E400 10 thunk_to_STL_string_dtor_0105e400 stl Wrapper that calls STL_string_dtor and returns 0x0105E410 10 thunk_to_STL_string_dtor_0105e410 stl Wrapper that calls STL_string_dtor and returns 0x0105E420 10 thunk_to_STL_string_dtor_0105e420 stl Wrapper that calls STL_string_dtor and returns 0x0105E4A0 280 atexit_unregister_window_classes_and_cleanup_0105e4a0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105E5C0 66 atexit_STL_map_destroy_wrapper_0105e5c0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105E610 10 thunk_to_STL_string_dtor_0105e610 stl Wrapper calling STL_string_dtor destructor 0x0105E620 10 thunk_to_STL_string_dtor_0105e620 stl Wrapper that calls STL_string_dtor and returns 0x0105E630 10 thunk_to_STL_string_dtor_0105e630 stl Wrapper that calls STL_string_dtor and returns 0x0105E640 10 thunk_to_STL_string_dtor_0105e640 stl Wrapper that calls STL_string_dtor and returns 0x0105E650 10 thunk_to_STL_string_dtor_0105e650 stl Wrapper that calls STL_string_dtor and returns 0x0105E660 10 thunk_to_STL_string_dtor_0105e660 stl Wrapper that calls STL_string_dtor and returns 0x0105E670 10 thunk_to_STL_string_dtor_0105e670 stl Wrapper that calls STL_string_dtor and returns 0x0105E680 10 thunk_to_STL_string_dtor_0105e680 stl Wrapper that calls STL_string_dtor and returns 0x0105E690 10 thunk_to_STL_string_dtor_0105e690 stl Wrapper that calls STL_string_dtor and returns 0x0105E6A0 10 thunk_to_STL_string_dtor_0105e6a0 stl Wrapper function that calls STL_string_dtor and returns 0x0105E6B0 10 thunk_to_STL_string_dtor_0105e6b0 stl Wrapper that calls STL_string_dtor and returns 0x0105E6C0 10 thunk_to_STL_string_dtor_0105e6c0 stl Wrapper that calls STL_string_dtor and returns 0x0105E6D0 10 thunk_to_STL_string_dtor_0105e6d0 stl Wrapper that calls STL_string_dtor and returns 0x0105E6E0 10 thunk_to_STL_string_dtor_0105e6e0 stl Wrapper that calls STL_string_dtor and returns 0x0105E6F0 10 thunk_to_STL_string_dtor_0105e6f0 stl Wrapper that calls STL_string_dtor and returns 0x0105E700 10 thunk_to_STL_string_dtor_0105e700 stl Wrapper that calls STL_string_dtor and returns 0x0105E710 10 thunk_to_STL_string_dtor_0105e710 stl Wrapper that calls STL_string_dtor and returns 0x0105E720 10 thunk_to_STL_string_dtor_0105e720 stl Wrapper that calls STL_string_dtor and returns 0x0105E730 10 thunk_to_STL_string_dtor_0105e730 stl Wrapper that calls STL_string_dtor and returns 0x0105E740 10 thunk_to_STL_string_dtor_0105e740 stl Wrapper that calls STL_string_dtor and returns 0x0105E750 10 thunk_to_STL_string_dtor_0105e750 stl Wrapper that calls STL_string_dtor and returns 0x0105E760 10 thunk_to_STL_string_dtor_0105e760 stl Wrapper that calls STL_string_dtor and returns 0x0105E770 10 thunk_to_STL_string_dtor_0105e770 stl Wrapper that calls STL_string_dtor and returns 0x0105E780 10 thunk_to_STL_string_dtor_0105e780 stl Wrapper that calls STL_string_dtor and returns 0x0105E790 10 thunk_to_STL_string_dtor_0105e790 stl Wrapper that calls STL_string_dtor and returns 0x0105E810 280 atexit_unregister_window_classes_and_cleanup_0105e810 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105E930 66 atexit_STL_map_destroy_wrapper_0105e930 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105E980 10 thunk_to_STL_string_dtor_0105e980 stl Wrapper function that calls STL_string_dtor and returns 0x0105E990 10 thunk_to_STL_string_dtor_0105e990 stl Wrapper that calls STL_string_dtor and returns 0x0105E9A0 10 thunk_to_STL_string_dtor_0105e9a0 stl Wrapper that calls STL_string_dtor and returns 0x0105E9B0 10 thunk_to_STL_string_dtor_0105e9b0 stl Wrapper that calls STL_string_dtor and returns 0x0105E9C0 10 thunk_to_STL_string_dtor_0105e9c0 stl Wrapper that calls STL_string_dtor and returns 0x0105E9D0 10 thunk_to_STL_string_dtor_0105e9d0 stl Wrapper that calls STL_string_dtor and returns 0x0105E9E0 10 thunk_to_STL_string_dtor_0105e9e0 stl Wrapper that calls STL_string_dtor and returns 0x0105E9F0 10 thunk_to_STL_string_dtor_0105e9f0 stl Wrapper that calls STL_string_dtor and returns 0x0105EA00 10 thunk_to_STL_string_dtor_0105ea00 stl Wrapper function that calls STL_string_dtor and returns 0x0105EA10 10 thunk_to_STL_string_dtor_0105ea10 stl Wrapper that calls STL_string_dtor and returns 0x0105EA20 10 thunk_to_STL_string_dtor_0105ea20 stl Wrapper that calls STL_string_dtor and returns 0x0105EA30 10 thunk_to_STL_string_dtor_0105ea30 stl Wrapper that calls STL_string_dtor and returns 0x0105EA40 10 thunk_to_STL_string_dtor_0105ea40 stl Wrapper that calls STL_string_dtor and returns 0x0105EA50 10 thunk_to_STL_string_dtor_0105ea50 stl Wrapper that calls STL_string_dtor and returns 0x0105EA60 10 thunk_to_STL_string_dtor_0105ea60 stl Wrapper that calls STL_string_dtor and returns 0x0105EA70 10 thunk_to_STL_string_dtor_0105ea70 stl Wrapper that calls STL_string_dtor and returns 0x0105EA80 10 thunk_to_STL_string_dtor_0105ea80 stl Wrapper that calls STL_string_dtor and returns 0x0105EA90 10 thunk_to_STL_string_dtor_0105ea90 stl Wrapper that calls STL_string_dtor and returns 0x0105EAA0 10 thunk_to_STL_string_dtor_0105eaa0 stl Wrapper that calls STL_string_dtor and returns 0x0105EAB0 10 thunk_to_STL_string_dtor_0105eab0 stl Wrapper that calls STL_string_dtor and returns 0x0105EAC0 10 thunk_to_STL_string_dtor_0105eac0 stl Wrapper that calls STL_string_dtor and returns 0x0105EAD0 10 thunk_to_STL_string_dtor_0105ead0 stl Wrapper that calls STL_string_dtor and returns 0x0105EAE0 10 thunk_to_STL_string_dtor_0105eae0 stl Wrapper that calls STL_string_dtor and returns 0x0105EAF0 10 thunk_to_STL_string_dtor_0105eaf0 stl Wrapper that calls STL_string_dtor and returns 0x0105EB00 10 thunk_to_STL_string_dtor_0105eb00 stl Wrapper that calls STL_string_dtor and returns 0x0105EB80 280 atexit_unregister_window_classes_and_cleanup_0105eb80 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105ECA0 66 atexit_STL_map_destroy_wrapper_0105eca0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105ECF0 10 thunk_to_STL_string_dtor_0105ecf0 stl Wrapper that calls STL_string_dtor and returns 0x0105ED00 10 thunk_to_STL_string_dtor_0105ed00 stl Wrapper that calls STL_string_dtor and returns 0x0105ED10 10 thunk_to_STL_string_dtor_0105ed10 stl Wrapper that calls STL_string_dtor and returns 0x0105ED20 10 thunk_to_STL_string_dtor_0105ed20 stl Wrapper that calls STL_string_dtor and returns 0x0105ED30 10 thunk_to_STL_string_dtor_0105ed30 stl Wrapper that calls STL_string_dtor and returns 0x0105ED40 10 thunk_to_STL_string_dtor_0105ed40 stl Wrapper that calls STL_string_dtor and returns 0x0105ED50 10 thunk_to_STL_string_dtor_0105ed50 stl Wrapper that calls STL_string_dtor and returns 0x0105ED60 10 thunk_to_STL_string_dtor_0105ed60 stl Wrapper that calls STL_string_dtor and returns 0x0105ED70 10 thunk_to_STL_string_dtor_0105ed70 stl Wrapper that calls STL_string_dtor and returns 0x0105ED80 10 thunk_to_STL_string_dtor_0105ed80 stl Wrapper that calls STL_string_dtor and returns 0x0105ED90 10 thunk_to_STL_string_dtor_0105ed90 stl Wrapper that calls STL_string_dtor and returns 0x0105EDA0 10 thunk_to_STL_string_dtor_0105eda0 stl Wrapper that calls STL_string_dtor and returns 0x0105EDB0 10 thunk_to_STL_string_dtor_0105edb0 stl Wrapper that calls STL_string_dtor and returns 0x0105EDC0 10 thunk_to_STL_string_dtor_0105edc0 stl Wrapper that calls STL_string_dtor and returns 0x0105EDD0 10 thunk_to_STL_string_dtor_0105edd0 stl Wrapper that calls STL_string_dtor and returns 0x0105EDE0 10 thunk_to_STL_string_dtor_0105ede0 stl Wrapper that calls STL_string_dtor and returns 0x0105EDF0 10 thunk_to_STL_string_dtor_0105edf0 stl Wrapper that calls STL_string_dtor and returns 0x0105EE00 10 thunk_to_STL_string_dtor_0105ee00 stl Wrapper that calls STL_string_dtor and returns 0x0105EE10 10 thunk_to_STL_string_dtor_0105ee10 stl Wrapper that calls STL_string_dtor and returns 0x0105EE20 10 thunk_to_STL_string_dtor_0105ee20 stl Wrapper that calls STL_string_dtor and returns 0x0105EE30 10 thunk_to_STL_string_dtor_0105ee30 stl Wrapper that calls STL_string_dtor and returns 0x0105EE40 10 thunk_to_STL_string_dtor_0105ee40 stl Wrapper that calls STL_string_dtor and returns 0x0105EE50 10 thunk_to_STL_string_dtor_0105ee50 stl Wrapper that calls STL_string_dtor and returns 0x0105EE60 10 thunk_to_STL_string_dtor_0105ee60 stl Wrapper that calls STL_string_dtor and returns 0x0105EE70 10 thunk_to_STL_string_dtor_0105ee70 stl Wrapper that calls STL_string_dtor and returns 0x0105EEF0 280 atexit_unregister_window_classes_and_cleanup_0105eef0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105F010 66 atexit_STL_map_destroy_wrapper_0105f010 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105F0D0 280 atexit_unregister_window_classes_and_cleanup_0105f0d0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105F1F0 10 thunk_to_STL_string_dtor_0105f1f0 stl Wrapper function that calls STL_string_dtor and returns 0x0105F200 10 thunk_to_STL_string_dtor_0105f200 stl Wrapper that calls STL_string_dtor and returns 0x0105F210 10 thunk_to_STL_string_dtor_0105f210 stl Wrapper that calls STL_string_dtor and returns 0x0105F220 10 thunk_to_STL_string_dtor_0105f220 stl Wrapper that calls STL_string_dtor and returns 0x0105F230 10 thunk_to_STL_string_dtor_0105f230 stl Wrapper that calls STL_string_dtor and returns 0x0105F240 10 thunk_to_STL_string_dtor_0105f240 stl Wrapper that calls STL_string_dtor and returns 0x0105F250 10 thunk_to_STL_string_dtor_0105f250 stl Wrapper that calls STL_string_dtor and returns 0x0105F260 10 thunk_to_STL_string_dtor_0105f260 stl Wrapper calling STL string destructor 0x0105F270 10 thunk_to_STL_string_dtor_0105f270 stl Wrapper that calls STL_string_dtor and returns 0x0105F280 10 thunk_to_STL_string_dtor_0105f280 stl Wrapper that calls STL_string_dtor and returns 0x0105F290 10 thunk_to_STL_string_dtor_0105f290 stl Wrapper that calls STL_string_dtor and returns 0x0105F2A0 10 thunk_to_STL_string_dtor_0105f2a0 stl Wrapper that calls STL_string_dtor and returns 0x0105F2B0 10 thunk_to_STL_string_dtor_0105f2b0 stl Wrapper that calls STL_string_dtor and returns 0x0105F2C0 10 thunk_to_STL_string_dtor_0105f2c0 stl Wrapper that calls STL_string_dtor and returns 0x0105F2D0 10 thunk_to_STL_string_dtor_0105f2d0 stl Wrapper that calls STL_string_dtor and returns 0x0105F2E0 10 thunk_to_STL_string_dtor_0105f2e0 stl Wrapper that calls STL_string_dtor and returns 0x0105F2F0 10 thunk_to_STL_string_dtor_0105f2f0 stl Wrapper that calls STL_string_dtor and returns 0x0105F300 10 thunk_to_STL_string_dtor_0105f300 stl Wrapper that calls STL_string_dtor and returns 0x0105F310 10 thunk_to_STL_string_dtor_0105f310 stl Wrapper that calls STL_string_dtor and returns 0x0105F320 10 thunk_to_STL_string_dtor_0105f320 stl Wrapper that calls STL_string_dtor and returns 0x0105F330 10 thunk_to_STL_string_dtor_0105f330 stl Wrapper that calls STL_string_dtor and returns 0x0105F340 10 thunk_to_STL_string_dtor_0105f340 stl Wrapper that calls STL_string_dtor and returns 0x0105F350 10 thunk_to_STL_string_dtor_0105f350 stl Wrapper that calls STL_string_dtor and returns 0x0105F360 10 thunk_to_STL_string_dtor_0105f360 stl Wrapper that calls STL_string_dtor and returns 0x0105F370 10 thunk_to_STL_string_dtor_0105f370 stl Wrapper that calls STL_string_dtor and returns 0x0105F3F0 280 atexit_unregister_window_classes_and_cleanup_0105f3f0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105F510 66 atexit_STL_map_destroy_wrapper_0105f510 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105F560 10 thunk_to_STL_string_dtor_0105f560 stl Wrapper that calls STL_string_dtor and returns 0x0105F570 10 thunk_to_STL_string_dtor_0105f570 stl Wrapper that calls STL_string_dtor and returns 0x0105F580 10 thunk_to_STL_string_dtor_0105f580 stl Wrapper that calls STL_string_dtor and returns 0x0105F590 10 thunk_to_STL_string_dtor_0105f590 stl Wrapper that calls STL_string_dtor and returns 0x0105F5A0 10 thunk_to_STL_string_dtor_0105f5a0 stl Wrapper that calls STL_string_dtor and returns 0x0105F5B0 10 thunk_to_STL_string_dtor_0105f5b0 stl Wrapper that calls STL_string_dtor and returns 0x0105F5C0 10 thunk_to_STL_string_dtor_0105f5c0 stl Wrapper that calls STL_string_dtor and returns 0x0105F5D0 10 thunk_to_STL_string_dtor_0105f5d0 stl Wrapper that calls STL_string_dtor and returns 0x0105F5E0 10 thunk_to_STL_string_dtor_0105f5e0 stl Wrapper that calls STL_string_dtor and returns 0x0105F5F0 10 thunk_to_STL_string_dtor_0105f5f0 stl Wrapper that calls STL_string_dtor and returns 0x0105F600 10 thunk_to_STL_string_dtor_0105f600 stl Wrapper that calls STL_string_dtor and returns 0x0105F610 10 thunk_to_STL_string_dtor_0105f610 stl Wrapper that calls STL_string_dtor and returns 0x0105F630 10 thunk_to_STL_string_dtor_0105f630 stl Wrapper that calls STL_string_dtor and returns 0x0105F640 10 thunk_to_STL_string_dtor_0105f640 stl Wrapper that calls STL_string_dtor and returns 0x0105F650 10 thunk_to_STL_string_dtor_0105f650 stl Wrapper that calls STL_string_dtor and returns 0x0105F660 10 thunk_to_STL_string_dtor_0105f660 stl Wrapper that calls STL_string_dtor and returns 0x0105F670 10 thunk_to_STL_string_dtor_0105f670 stl Wrapper that calls STL_string_dtor and returns 0x0105F680 10 thunk_to_STL_string_dtor_0105f680 stl Wrapper that calls STL_string_dtor and returns 0x0105F690 10 thunk_to_STL_string_dtor_0105f690 stl Wrapper that calls STL_string_dtor and returns 0x0105F6A0 10 thunk_to_STL_string_dtor_0105f6a0 stl Wrapper that calls STL_string_dtor and returns 0x0105F6B0 10 thunk_to_STL_string_dtor_0105f6b0 stl Wrapper that calls STL_string_dtor and returns 0x0105F6C0 10 thunk_to_STL_string_dtor_0105f6c0 stl Wrapper that calls STL_string_dtor and returns 0x0105F6D0 10 thunk_to_STL_string_dtor_0105f6d0 stl Wrapper that calls STL_string_dtor and returns 0x0105F6E0 10 thunk_to_STL_string_dtor_0105f6e0 stl Wrapper that calls STL_string_dtor and returns 0x0105F760 280 atexit_unregister_window_classes_and_cleanup_0105f760 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105F880 66 atexit_STL_map_destroy_wrapper_0105f880 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105F8D0 10 thunk_to_STL_string_dtor_0105f8d0 stl Wrapper that calls STL_string_dtor and returns 0x0105F8E0 10 thunk_to_STL_string_dtor_0105f8e0 stl Wrapper that calls STL_string_dtor and returns 0x0105F8F0 10 thunk_to_STL_string_dtor_0105f8f0 stl Wrapper that calls STL_string_dtor and returns 0x0105F900 10 thunk_to_STL_string_dtor_0105f900 stl Wrapper that calls STL_string_dtor and returns 0x0105F910 10 thunk_to_STL_string_dtor_0105f910 stl Wrapper that calls STL_string_dtor and returns 0x0105F920 10 thunk_to_STL_string_dtor_0105f920 stl Wrapper that calls STL_string_dtor and returns 0x0105F930 10 thunk_to_STL_string_dtor_0105f930 stl Wrapper that calls STL_string_dtor and returns 0x0105F940 10 thunk_to_STL_string_dtor_0105f940 stl Wrapper that calls STL_string_dtor and returns 0x0105F950 10 thunk_to_STL_string_dtor_0105f950 stl Wrapper function that calls STL_string_dtor and returns 0x0105F960 10 thunk_to_STL_string_dtor_0105f960 stl Wrapper that calls STL_string_dtor and returns 0x0105F970 10 thunk_to_STL_string_dtor_0105f970 stl Wrapper that calls STL_string_dtor and returns 0x0105F980 10 thunk_to_STL_string_dtor_0105f980 stl Wrapper that calls STL_string_dtor and returns 0x0105F990 10 thunk_to_STL_string_dtor_0105f990 stl Wrapper that calls STL_string_dtor and returns 0x0105F9A0 10 thunk_to_STL_string_dtor_0105f9a0 stl Wrapper that calls STL_string_dtor and returns 0x0105F9B0 10 thunk_to_STL_string_dtor_0105f9b0 stl Wrapper that calls STL_string_dtor and returns 0x0105F9C0 10 thunk_to_STL_string_dtor_0105f9c0 stl Wrapper that calls STL_string_dtor and returns 0x0105F9D0 10 thunk_to_STL_string_dtor_0105f9d0 stl Wrapper that calls STL_string_dtor and returns 0x0105F9E0 10 thunk_to_STL_string_dtor_0105f9e0 stl Wrapper that calls STL_string_dtor and returns 0x0105F9F0 10 thunk_to_STL_string_dtor_0105f9f0 stl Wrapper that calls STL_string_dtor and returns 0x0105FA00 10 thunk_to_STL_string_dtor_0105fa00 stl Wrapper that calls STL_string_dtor and returns 0x0105FA10 10 thunk_to_STL_string_dtor_0105fa10 stl Wrapper that calls STL_string_dtor and returns 0x0105FA20 10 thunk_to_STL_string_dtor_0105fa20 stl Wrapper that calls STL_string_dtor and returns 0x0105FA30 10 thunk_to_STL_string_dtor_0105fa30 stl Wrapper that calls STL_string_dtor and returns 0x0105FA40 10 thunk_to_STL_string_dtor_0105fa40 stl Wrapper that calls STL_string_dtor and returns 0x0105FA50 10 thunk_to_STL_string_dtor_0105fa50 stl Wrapper that calls STL_string_dtor and returns 0x0105FAD0 280 atexit_unregister_window_classes_and_cleanup_0105fad0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105FBF0 66 atexit_STL_map_destroy_wrapper_0105fbf0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105FC40 10 thunk_to_STL_string_dtor_0105fc40 stl Wrapper that calls STL_string_dtor and returns 0x0105FC50 10 thunk_to_STL_string_dtor_0105fc50 stl Wrapper that calls STL_string_dtor and returns 0x0105FC60 10 thunk_to_STL_string_dtor_0105fc60 stl Wrapper that calls STL_string_dtor and returns 0x0105FC70 10 thunk_to_STL_string_dtor_0105fc70 stl Wrapper that calls STL_string_dtor and returns 0x0105FC80 10 thunk_to_STL_string_dtor_0105fc80 stl Wrapper that calls STL_string_dtor and returns 0x0105FC90 10 thunk_to_STL_string_dtor_0105fc90 stl Wrapper that calls STL_string_dtor and returns 0x0105FCA0 10 thunk_to_STL_string_dtor_0105fca0 stl Wrapper that calls STL_string_dtor and returns 0x0105FCB0 10 thunk_to_STL_string_dtor_0105fcb0 stl Wrapper that calls STL_string_dtor and returns 0x0105FCC0 10 thunk_to_STL_string_dtor_0105fcc0 stl Wrapper function that calls STL_string_dtor and returns 0x0105FCD0 10 thunk_to_STL_string_dtor_0105fcd0 stl Wrapper that calls STL_string_dtor and returns 0x0105FCE0 10 thunk_to_STL_string_dtor_0105fce0 stl Wrapper that calls STL_string_dtor and returns 0x0105FCF0 10 thunk_to_STL_string_dtor_0105fcf0 stl Wrapper that calls STL_string_dtor and returns 0x0105FD00 10 thunk_to_STL_string_dtor_0105fd00 stl Wrapper that calls STL_string_dtor and returns 0x0105FD10 10 thunk_to_STL_string_dtor_0105fd10 stl Wrapper function that calls STL_string_dtor and returns 0x0105FD20 10 thunk_to_STL_string_dtor_0105fd20 stl Wrapper that calls STL_string_dtor and returns 0x0105FD30 10 thunk_to_STL_string_dtor_0105fd30 stl Wrapper that calls STL_string_dtor and returns 0x0105FD40 10 thunk_to_STL_string_dtor_0105fd40 stl Wrapper that calls STL_string_dtor and returns 0x0105FD50 10 thunk_to_STL_string_dtor_0105fd50 stl Wrapper that calls STL_string_dtor and returns 0x0105FD60 10 thunk_to_STL_string_dtor_0105fd60 stl Wrapper that calls STL_string_dtor and returns 0x0105FD70 10 thunk_to_STL_string_dtor_0105fd70 stl Wrapper that calls STL_string_dtor and returns 0x0105FD80 10 thunk_to_STL_string_dtor_0105fd80 stl Wrapper calling STL string destructor 0x0105FD90 10 thunk_to_STL_string_dtor_0105fd90 stl Wrapper that calls STL_string_dtor and returns 0x0105FDA0 10 thunk_to_STL_string_dtor_0105fda0 stl Wrapper that calls STL_string_dtor and returns 0x0105FDB0 10 thunk_to_STL_string_dtor_0105fdb0 stl Wrapper function that calls STL_string_dtor and returns 0x0105FDC0 10 thunk_to_STL_string_dtor_0105fdc0 stl Wrapper that calls STL_string_dtor and returns 0x0105FE40 280 atexit_unregister_window_classes_and_cleanup_0105fe40 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0105FF60 66 atexit_STL_map_destroy_wrapper_0105ff60 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0105FFB0 10 thunk_to_STL_string_dtor_0105ffb0 stl Wrapper that calls STL_string_dtor and returns 0x0105FFC0 10 thunk_to_STL_string_dtor_0105ffc0 stl Wrapper that calls STL_string_dtor and returns 0x0105FFD0 10 thunk_to_STL_string_dtor_0105ffd0 stl Wrapper that calls STL_string_dtor and returns 0x0105FFE0 10 thunk_to_STL_string_dtor_0105ffe0 stl Wrapper that calls STL_string_dtor and returns 0x0105FFF0 10 thunk_to_STL_string_dtor_0105fff0 stl Wrapper that calls STL_string_dtor and returns 0x01060000 10 thunk_to_STL_string_dtor_01060000 stl Wrapper that calls STL_string_dtor and returns 0x01060010 10 thunk_to_STL_string_dtor_01060010 stl Wrapper that calls STL_string_dtor and returns 0x01060020 10 thunk_to_STL_string_dtor_01060020 stl Wrapper that calls STL_string_dtor and returns 0x01060030 10 thunk_to_STL_string_dtor_01060030 stl Wrapper that calls STL_string_dtor and returns 0x01060040 10 thunk_to_STL_string_dtor_01060040 stl Wrapper that calls STL_string_dtor and returns 0x01060050 10 thunk_to_STL_string_dtor_01060050 stl Wrapper that calls STL_string_dtor and returns 0x01060060 10 thunk_to_STL_string_dtor_01060060 stl Wrapper that calls STL_string_dtor and returns 0x01060070 10 thunk_to_STL_string_dtor_01060070 stl Wrapper that calls STL_string_dtor and returns 0x01060080 10 thunk_to_STL_string_dtor_01060080 stl Wrapper that calls STL_string_dtor and returns 0x01060090 10 thunk_to_STL_string_dtor_01060090 stl Wrapper that calls STL_string_dtor and returns 0x010600A0 10 thunk_to_STL_string_dtor_010600a0 stl Wrapper that calls STL_string_dtor and returns 0x010600B0 10 thunk_to_STL_string_dtor_010600b0 stl Wrapper that calls STL_string_dtor and returns 0x010600C0 10 thunk_to_STL_string_dtor_010600c0 stl Wrapper that calls STL_string_dtor and returns 0x010600D0 10 thunk_to_STL_string_dtor_010600d0 stl Wrapper that calls STL_string_dtor and returns 0x010600E0 10 thunk_to_STL_string_dtor_010600e0 stl Wrapper that calls STL_string_dtor and returns 0x010600F0 10 thunk_to_STL_string_dtor_010600f0 stl Wrapper that calls STL_string_dtor and returns 0x01060100 10 thunk_to_STL_string_dtor_01060100 stl Wrapper that calls STL_string_dtor and returns 0x01060110 10 thunk_to_STL_string_dtor_01060110 stl Wrapper that calls STL_string_dtor and returns 0x01060120 10 thunk_to_STL_string_dtor_01060120 stl Wrapper that calls STL_string_dtor and returns 0x01060130 10 thunk_to_STL_string_dtor_01060130 stl Wrapper that calls STL_string_dtor and returns 0x010601B0 280 atexit_unregister_window_classes_and_cleanup_010601b0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010602D0 66 atexit_STL_map_destroy_wrapper_010602d0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01060320 66 atexit_CRenderPipeline_destroy_wrapper_01060320 crt atexit cleanup wrapper: calls CRenderPipeline__destroy_linked_list_and_vector to destroy a global render pipeline linked list. SEH-protected with stack cookie. 0x01060370 10 thunk_to_STL_string_dtor_01060370 stl Wrapper that calls STL_string_dtor and returns 0x01060380 10 thunk_to_STL_string_dtor_01060380 stl Wrapper that calls STL_string_dtor and returns 0x01060390 10 thunk_to_STL_string_dtor_01060390 stl Wrapper that calls STL_string_dtor and returns 0x010603A0 10 thunk_to_STL_string_dtor_010603a0 stl Wrapper that calls STL_string_dtor and returns 0x010603B0 10 thunk_to_STL_string_dtor_010603b0 stl Wrapper that calls STL_string_dtor and returns 0x010603C0 10 thunk_to_STL_string_dtor_010603c0 stl Wrapper that calls STL_string_dtor and returns 0x010603D0 10 thunk_to_STL_string_dtor_010603d0 stl Wrapper function that calls STL_string_dtor destructor 0x010603E0 10 thunk_to_STL_string_dtor_010603e0 stl Wrapper that calls STL_string_dtor and returns 0x010603F0 10 thunk_to_STL_string_dtor_010603f0 stl Wrapper that calls STL_string_dtor and returns 0x01060400 10 thunk_to_STL_string_dtor_01060400 stl Wrapper that calls STL_string_dtor and returns 0x01060410 10 thunk_to_STL_string_dtor_01060410 stl Wrapper that calls STL_string_dtor and returns 0x01060420 10 thunk_to_STL_string_dtor_01060420 stl Wrapper that calls STL_string_dtor and returns 0x01060430 10 thunk_to_STL_string_dtor_01060430 stl Wrapper that calls STL_string_dtor and returns 0x01060440 10 thunk_to_STL_string_dtor_01060440 stl Wrapper that calls STL_string_dtor and returns 0x01060450 10 thunk_to_STL_string_dtor_01060450 stl Wrapper that calls STL_string_dtor and returns 0x01060460 10 thunk_to_STL_string_dtor_01060460 stl Wrapper that calls STL_string_dtor and returns 0x01060470 10 thunk_to_STL_string_dtor_01060470 stl Wrapper that calls STL_string_dtor and returns 0x01060480 10 thunk_to_STL_string_dtor_01060480 stl Wrapper that calls STL_string_dtor and returns 0x01060490 10 thunk_to_STL_string_dtor_01060490 stl Wrapper that calls STL_string_dtor and returns 0x010604A0 10 thunk_to_STL_string_dtor_010604a0 stl Wrapper that calls STL_string_dtor and returns 0x010604B0 10 thunk_to_STL_string_dtor_010604b0 stl Wrapper that calls STL_string_dtor and returns 0x010604C0 10 thunk_to_STL_string_dtor_010604c0 stl Wrapper that calls STL_string_dtor and returns 0x010604D0 10 thunk_to_STL_string_dtor_010604d0 stl Wrapper that calls STL_string_dtor and returns 0x010604E0 10 thunk_to_STL_string_dtor_010604e0 stl Wrapper that calls STL_string_dtor and returns 0x010604F0 10 thunk_to_STL_string_dtor_010604f0 stl Wrapper that calls STL_string_dtor and returns 0x01060570 280 atexit_unregister_window_classes_and_cleanup_01060570 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01060690 66 atexit_STL_map_destroy_wrapper_01060690 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010606E0 10 thunk_to_STL_string_dtor_010606e0 stl Wrapper that calls STL_string_dtor and returns 0x010606F0 10 thunk_to_STL_string_dtor_010606f0 stl Wrapper that calls STL_string_dtor and returns 0x01060700 10 thunk_to_STL_string_dtor_01060700 stl Wrapper that calls STL_string_dtor and returns 0x01060710 10 thunk_to_STL_string_dtor_01060710 stl Wrapper that calls STL_string_dtor and returns 0x01060720 10 thunk_to_STL_string_dtor_01060720 stl Wrapper that calls STL_string_dtor and returns 0x01060730 10 thunk_to_STL_string_dtor_01060730 stl Wrapper that calls STL_string_dtor and returns 0x01060740 10 thunk_to_STL_string_dtor_01060740 stl Wrapper that calls STL_string_dtor and returns 0x01060750 10 thunk_to_STL_string_dtor_01060750 stl Wrapper that calls STL_string_dtor and returns 0x01060760 10 thunk_to_STL_string_dtor_01060760 stl Wrapper that calls STL_string_dtor and returns 0x01060770 10 thunk_to_STL_string_dtor_01060770 stl Wrapper that calls STL_string_dtor and returns 0x01060780 10 thunk_to_STL_string_dtor_01060780 stl Wrapper that calls STL_string_dtor and returns 0x01060790 10 thunk_to_STL_string_dtor_01060790 stl Wrapper that calls STL_string_dtor and returns 0x010607A0 10 thunk_to_STL_string_dtor_010607a0 stl Wrapper that calls STL_string_dtor and returns 0x010607B0 10 thunk_to_STL_string_dtor_010607b0 stl Wrapper that calls STL_string_dtor and returns 0x010607C0 10 thunk_to_STL_string_dtor_010607c0 stl Wrapper that calls STL_string_dtor and returns 0x010607D0 10 thunk_to_STL_string_dtor_010607d0 stl Wrapper that calls STL_string_dtor and returns 0x010607E0 10 thunk_to_STL_string_dtor_010607e0 stl Wrapper that calls STL_string_dtor and returns 0x010607F0 10 thunk_to_STL_string_dtor_010607f0 stl Wrapper function that calls STL_string_dtor and returns 0x01060800 10 thunk_to_STL_string_dtor_01060800 stl Wrapper that calls STL_string_dtor and returns 0x01060810 10 thunk_to_STL_string_dtor_01060810 stl Wrapper that calls STL_string_dtor and returns 0x01060820 10 thunk_to_STL_string_dtor_01060820 stl Wrapper that calls STL_string_dtor and returns 0x01060830 10 thunk_to_STL_string_dtor_01060830 stl Wrapper function that calls STL_string_dtor and returns 0x01060840 10 thunk_to_STL_string_dtor_01060840 stl Wrapper that calls STL_string_dtor and returns 0x01060850 10 thunk_to_STL_string_dtor_01060850 stl Wrapper that calls STL_string_dtor and returns 0x01060860 10 thunk_to_STL_string_dtor_01060860 stl Wrapper that calls STL_string_dtor and returns 0x010608E0 280 atexit_unregister_window_classes_and_cleanup_010608e0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01060A00 66 atexit_STL_map_destroy_wrapper_01060a00 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01060A50 10 thunk_to_STL_string_dtor_01060a50 stl Wrapper that calls STL_string_dtor and returns 0x01060A60 10 thunk_to_STL_string_dtor_01060a60 stl Wrapper that calls STL_string_dtor and returns 0x01060A70 10 thunk_to_STL_string_dtor_01060a70 stl Wrapper that calls STL_string_dtor and returns 0x01060A80 10 thunk_to_STL_string_dtor_01060a80 stl Wrapper that calls STL_string_dtor and returns 0x01060A90 10 thunk_to_STL_string_dtor_01060a90 stl Wrapper that calls STL_string_dtor and returns 0x01060AA0 10 thunk_to_STL_string_dtor_01060aa0 stl Wrapper that calls STL_string_dtor and returns 0x01060AB0 10 thunk_to_STL_string_dtor_01060ab0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01060AC0 10 thunk_to_STL_string_dtor_01060ac0 stl Wrapper that calls STL_string_dtor and returns 0x01060AD0 10 thunk_to_STL_string_dtor_01060ad0 stl Wrapper that calls STL_string_dtor and returns 0x01060AE0 10 thunk_to_STL_string_dtor_01060ae0 stl Wrapper that calls STL_string_dtor and returns 0x01060AF0 10 thunk_to_STL_string_dtor_01060af0 stl Wrapper that calls STL_string_dtor and returns 0x01060B00 10 thunk_to_STL_string_dtor_01060b00 stl Wrapper that calls STL_string_dtor and returns 0x01060B10 10 thunk_to_STL_string_dtor_01060b10 stl Wrapper that calls STL_string_dtor and returns 0x01060B20 10 thunk_to_STL_string_dtor_01060b20 stl Wrapper that calls STL_string_dtor and returns 0x01060B30 10 thunk_to_STL_string_dtor_01060b30 stl Wrapper that calls STL_string_dtor and returns 0x01060B40 10 thunk_to_STL_string_dtor_01060b40 stl Wrapper that calls STL_string_dtor and returns 0x01060B50 10 thunk_to_STL_string_dtor_01060b50 stl Wrapper that calls STL_string_dtor and returns 0x01060B60 10 thunk_to_STL_string_dtor_01060b60 stl Wrapper that calls STL_string_dtor and returns 0x01060B70 10 thunk_to_STL_string_dtor_01060b70 stl Wrapper that calls STL_string_dtor and returns 0x01060B80 10 thunk_to_STL_string_dtor_01060b80 stl Wrapper that calls STL_string_dtor and returns 0x01060B90 10 thunk_to_STL_string_dtor_01060b90 stl Wrapper that calls STL_string_dtor and returns 0x01060BA0 10 thunk_to_STL_string_dtor_01060ba0 stl Wrapper that calls STL_string_dtor and returns 0x01060BB0 10 thunk_to_STL_string_dtor_01060bb0 stl Wrapper that calls STL_string_dtor and returns 0x01060BC0 10 thunk_to_STL_string_dtor_01060bc0 stl Wrapper that calls STL_string_dtor and returns 0x01060BD0 10 thunk_to_STL_string_dtor_01060bd0 stl Wrapper that calls STL_string_dtor and returns 0x01060C50 280 atexit_unregister_window_classes_and_cleanup_01060c50 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01060D70 66 atexit_STL_map_destroy_wrapper_01060d70 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01060DC0 10 thunk_to_STL_string_dtor_01060dc0 stl Wrapper that calls STL_string_dtor and returns 0x01060DD0 10 thunk_to_STL_string_dtor_01060dd0 stl Wrapper that calls STL_string_dtor and returns 0x01060DE0 10 thunk_to_STL_string_dtor_01060de0 stl Wrapper that calls STL_string_dtor and returns 0x01060DF0 10 thunk_to_STL_string_dtor_01060df0 stl Wrapper that calls STL_string_dtor and returns 0x01060E00 10 thunk_to_STL_string_dtor_01060e00 stl Wrapper that calls STL_string_dtor and returns immediately 0x01060E10 10 thunk_to_STL_string_dtor_01060e10 stl Wrapper that calls STL_string_dtor and returns 0x01060E20 10 thunk_to_STL_string_dtor_01060e20 stl Wrapper that calls STL_string_dtor and returns 0x01060E30 10 thunk_to_STL_string_dtor_01060e30 stl Wrapper that calls STL_string_dtor and returns 0x01060E40 10 thunk_to_STL_string_dtor_01060e40 stl Wrapper that calls STL_string_dtor and returns 0x01060E50 10 thunk_to_STL_string_dtor_01060e50 stl Wrapper that calls STL_string_dtor and returns 0x01060E60 10 thunk_to_STL_string_dtor_01060e60 stl Wrapper that calls STL_string_dtor and returns 0x01060E70 10 thunk_to_STL_string_dtor_01060e70 stl Wrapper that calls STL_string_dtor and returns 0x01060E80 10 thunk_to_STL_string_dtor_01060e80 stl Wrapper that calls STL_string_dtor and returns 0x01060E90 10 thunk_to_STL_string_dtor_01060e90 stl Wrapper that calls STL_string_dtor and returns 0x01060EA0 10 thunk_to_STL_string_dtor_01060ea0 stl Wrapper that calls STL_string_dtor and returns 0x01060EB0 10 thunk_to_STL_string_dtor_01060eb0 stl Wrapper that calls STL_string_dtor and returns 0x01060EC0 10 thunk_to_STL_string_dtor_01060ec0 stl Wrapper that calls STL_string_dtor and returns 0x01060ED0 10 thunk_to_STL_string_dtor_01060ed0 stl Wrapper that calls STL_string_dtor and returns 0x01060EE0 10 thunk_to_STL_string_dtor_01060ee0 stl Wrapper that calls STL_string_dtor and returns 0x01060EF0 10 thunk_to_STL_string_dtor_01060ef0 stl Wrapper that calls STL_string_dtor and returns 0x01060F00 10 thunk_to_STL_string_dtor_01060f00 stl Wrapper that calls STL_string_dtor and returns 0x01060F10 10 thunk_to_STL_string_dtor_01060f10 stl Wrapper that calls STL_string_dtor and returns 0x01060F20 10 thunk_to_STL_string_dtor_01060f20 stl Wrapper that calls STL_string_dtor and returns 0x01060F30 10 thunk_to_STL_string_dtor_01060f30 stl Wrapper that calls STL_string_dtor and returns 0x01060F40 10 thunk_to_STL_string_dtor_01060f40 stl Wrapper that calls STL_string_dtor and returns 0x01060FC0 280 atexit_unregister_window_classes_and_cleanup_01060fc0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010610E0 66 atexit_STL_map_destroy_wrapper_010610e0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01061130 10 thunk_to_STL_string_dtor_01061130 stl Wrapper that calls STL_string_dtor and returns 0x01061140 10 thunk_to_STL_string_dtor_01061140 stl Wrapper that calls STL_string_dtor and returns 0x01061150 10 thunk_to_STL_string_dtor_01061150 stl Wrapper that calls STL_string_dtor and returns 0x01061160 10 thunk_to_STL_string_dtor_01061160 stl Wrapper that calls STL_string_dtor and returns 0x01061170 10 thunk_to_STL_string_dtor_01061170 stl Wrapper that calls STL_string_dtor and returns 0x01061180 10 thunk_to_STL_string_dtor_01061180 stl Wrapper that calls STL_string_dtor and returns 0x01061190 10 thunk_to_STL_string_dtor_01061190 stl Wrapper that calls STL_string_dtor and returns 0x010611A0 10 thunk_to_STL_string_dtor_010611a0 stl Wrapper that calls STL_string_dtor and returns 0x010611B0 10 thunk_to_STL_string_dtor_010611b0 stl Wrapper that calls STL_string_dtor and returns 0x010611C0 10 thunk_to_STL_string_dtor_010611c0 stl Wrapper that calls STL_string_dtor and returns 0x010611D0 10 thunk_to_STL_string_dtor_010611d0 stl Wrapper that calls STL_string_dtor and returns 0x010611E0 10 thunk_to_STL_string_dtor_010611e0 stl Wrapper that calls STL_string_dtor and returns 0x010611F0 10 thunk_to_STL_string_dtor_010611f0 stl Wrapper that calls STL_string_dtor and returns 0x01061200 10 thunk_to_STL_string_dtor_01061200 stl Wrapper calling STL_string_dtor destructor 0x01061210 10 thunk_to_STL_string_dtor_01061210 stl Wrapper that calls STL_string_dtor and returns 0x01061220 10 thunk_to_STL_string_dtor_01061220 stl Wrapper that calls STL_string_dtor and returns 0x01061230 10 thunk_to_STL_string_dtor_01061230 stl Wrapper that calls STL_string_dtor and returns 0x01061240 10 thunk_to_STL_string_dtor_01061240 stl Wrapper that calls STL_string_dtor and returns 0x01061250 10 thunk_to_STL_string_dtor_01061250 stl Wrapper that calls STL string destructor 0x01061260 10 thunk_to_STL_string_dtor_01061260 stl Wrapper that calls STL_string_dtor and returns 0x01061270 10 thunk_to_STL_string_dtor_01061270 stl Wrapper function that calls STL_string_dtor and returns 0x01061280 10 thunk_to_STL_string_dtor_01061280 stl Wrapper that calls STL_string_dtor destructor 0x01061290 10 thunk_to_STL_string_dtor_01061290 stl Wrapper that calls STL string destructor 0x010612A0 10 thunk_to_STL_string_dtor_010612a0 stl Wrapper that calls STL_string_dtor and returns 0x010612B0 10 thunk_to_STL_string_dtor_010612b0 stl Wrapper that calls STL_string_dtor and returns 0x01061330 280 atexit_unregister_window_classes_and_cleanup_01061330 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01061450 66 atexit_STL_map_destroy_wrapper_01061450 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010614A0 10 thunk_to_STL_string_dtor_010614a0 stl Wrapper that calls STL_string_dtor and returns 0x010614B0 10 thunk_to_STL_string_dtor_010614b0 stl Wrapper that calls STL_string_dtor and returns 0x010614C0 10 thunk_to_STL_string_dtor_010614c0 stl Wrapper that calls STL_string_dtor and returns 0x010614D0 10 thunk_to_STL_string_dtor_010614d0 stl Wrapper that calls STL_string_dtor and returns 0x010614E0 10 thunk_to_STL_string_dtor_010614e0 stl Wrapper that calls STL_string_dtor and returns 0x010614F0 10 thunk_to_STL_string_dtor_010614f0 stl Wrapper that calls STL_string_dtor and returns 0x01061500 10 thunk_to_STL_string_dtor_01061500 stl Wrapper that calls STL_string_dtor and returns 0x01061510 10 thunk_to_STL_string_dtor_01061510 stl Wrapper that calls STL_string_dtor and returns 0x01061520 10 thunk_to_STL_string_dtor_01061520 stl Wrapper that calls STL_string_dtor and returns 0x01061530 10 thunk_to_STL_string_dtor_01061530 stl Wrapper that calls STL_string_dtor and returns 0x01061540 10 thunk_to_STL_string_dtor_01061540 stl Wrapper that calls STL_string_dtor and returns 0x01061550 10 thunk_to_STL_string_dtor_01061550 stl Wrapper that calls STL_string_dtor and returns 0x01061560 10 thunk_to_STL_string_dtor_01061560 stl Wrapper that calls STL_string_dtor and returns 0x01061570 10 thunk_to_STL_string_dtor_01061570 stl Wrapper that calls STL_string_dtor and returns 0x01061580 10 thunk_to_STL_string_dtor_01061580 stl Wrapper that calls STL_string_dtor and returns 0x01061590 10 thunk_to_STL_string_dtor_01061590 stl Wrapper that calls STL_string_dtor and returns 0x010615A0 10 thunk_to_STL_string_dtor_010615a0 stl Wrapper that calls STL_string_dtor and returns 0x010615B0 10 thunk_to_STL_string_dtor_010615b0 stl Wrapper that calls STL_string_dtor and returns 0x010615C0 10 thunk_to_STL_string_dtor_010615c0 stl Wrapper function that calls STL_string_dtor and returns 0x010615D0 10 thunk_to_STL_string_dtor_010615d0 stl Wrapper that calls STL_string_dtor and returns 0x010615E0 10 thunk_to_STL_string_dtor_010615e0 stl Wrapper that calls STL_string_dtor and returns 0x010615F0 10 thunk_to_STL_string_dtor_010615f0 stl Wrapper that calls STL_string_dtor and returns 0x01061600 10 thunk_to_STL_string_dtor_01061600 stl Wrapper that calls STL_string_dtor and returns 0x01061610 10 thunk_to_STL_string_dtor_01061610 stl Wrapper that calls STL_string_dtor and returns 0x01061620 10 thunk_to_STL_string_dtor_01061620 stl Wrapper that calls STL_string_dtor and returns 0x010616A0 280 atexit_unregister_window_classes_and_cleanup_010616a0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010617C0 66 atexit_STL_map_destroy_wrapper_010617c0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01061880 280 atexit_unregister_window_classes_and_cleanup_01061880 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010619A0 10 thunk_to_STL_string_dtor_010619a0 stl Wrapper that calls STL_string_dtor and returns 0x010619B0 10 thunk_to_STL_string_dtor_010619b0 stl Wrapper that calls STL_string_dtor and returns 0x010619C0 10 thunk_to_STL_string_dtor_010619c0 stl Wrapper that calls STL_string_dtor and returns 0x010619D0 10 thunk_to_STL_string_dtor_010619d0 stl Wrapper that calls STL_string_dtor and returns 0x010619E0 10 thunk_to_STL_string_dtor_010619e0 stl Wrapper that calls STL_string_dtor and returns 0x010619F0 10 thunk_to_STL_string_dtor_010619f0 stl Wrapper function that calls STL_string_dtor and returns 0x01061A00 10 thunk_to_STL_string_dtor_01061a00 stl Wrapper that calls STL_string_dtor and returns 0x01061A10 10 thunk_to_STL_string_dtor_01061a10 stl Wrapper that calls STL_string_dtor and returns 0x01061A20 10 thunk_to_STL_string_dtor_01061a20 stl Wrapper that calls STL_string_dtor and returns 0x01061A30 10 thunk_to_STL_string_dtor_01061a30 stl Wrapper that calls STL_string_dtor and returns 0x01061A40 10 thunk_to_STL_string_dtor_01061a40 stl Wrapper that calls STL_string_dtor and returns 0x01061A50 10 thunk_to_STL_string_dtor_01061a50 stl Wrapper that calls STL_string_dtor and returns 0x01061A60 10 thunk_to_STL_string_dtor_01061a60 stl Wrapper that calls STL_string_dtor and returns 0x01061A70 10 thunk_to_STL_string_dtor_01061a70 stl Wrapper that calls STL_string_dtor and returns 0x01061A80 10 thunk_to_STL_string_dtor_01061a80 stl Wrapper that calls STL_string_dtor and returns 0x01061A90 10 thunk_to_STL_string_dtor_01061a90 stl Wrapper function that calls STL_string_dtor and returns 0x01061AA0 10 thunk_to_STL_string_dtor_01061aa0 stl Wrapper that calls STL_string_dtor and returns 0x01061AB0 10 thunk_to_STL_string_dtor_01061ab0 stl Wrapper that calls STL_string_dtor and returns 0x01061AC0 10 thunk_to_STL_string_dtor_01061ac0 stl Wrapper that calls STL_string_dtor and returns 0x01061AD0 10 thunk_to_STL_string_dtor_01061ad0 stl Wrapper that calls STL_string_dtor and returns 0x01061AE0 10 thunk_to_STL_string_dtor_01061ae0 stl Wrapper that calls STL_string_dtor and returns 0x01061AF0 10 thunk_to_STL_string_dtor_01061af0 stl Wrapper that calls STL_string_dtor and returns 0x01061B00 10 thunk_to_STL_string_dtor_01061b00 stl Wrapper that calls STL_string_dtor and returns 0x01061B10 10 thunk_to_STL_string_dtor_01061b10 stl Wrapper that calls STL_string_dtor and returns 0x01061B20 10 thunk_to_STL_string_dtor_01061b20 stl Wrapper that calls STL_string_dtor and returns 0x01061BA0 280 atexit_unregister_window_classes_and_cleanup_01061ba0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01061CC0 66 atexit_STL_map_destroy_wrapper_01061cc0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01061D10 10 thunk_to_STL_string_dtor_01061d10 stl Wrapper that calls STL_string_dtor and returns 0x01061D20 10 thunk_to_STL_string_dtor_01061d20 stl Wrapper that calls STL_string_dtor and returns 0x01061D30 10 thunk_to_STL_string_dtor_01061d30 stl Wrapper that calls STL_string_dtor and returns 0x01061D40 10 thunk_to_STL_string_dtor_01061d40 stl Wrapper that calls STL_string_dtor and returns 0x01061D50 10 thunk_to_STL_string_dtor_01061d50 stl Wrapper that calls STL_string_dtor and returns 0x01061D60 10 thunk_to_STL_string_dtor_01061d60 stl Wrapper that calls STL_string_dtor and returns 0x01061D70 10 thunk_to_STL_string_dtor_01061d70 stl Wrapper that calls STL_string_dtor and returns 0x01061D80 10 thunk_to_STL_string_dtor_01061d80 stl Wrapper that calls STL_string_dtor and returns 0x01061D90 10 thunk_to_STL_string_dtor_01061d90 stl Wrapper that calls STL_string_dtor and returns 0x01061DA0 10 thunk_to_STL_string_dtor_01061da0 stl Wrapper that calls STL_string_dtor and returns 0x01061DB0 10 thunk_to_STL_string_dtor_01061db0 stl Wrapper that calls STL_string_dtor and returns 0x01061DC0 10 thunk_to_STL_string_dtor_01061dc0 stl Wrapper that calls STL_string_dtor and returns 0x01061DD0 10 thunk_to_STL_string_dtor_01061dd0 stl Wrapper that calls STL_string_dtor and returns 0x01061DE0 10 thunk_to_STL_string_dtor_01061de0 stl Wrapper that calls STL_string_dtor and returns 0x01061DF0 10 thunk_to_STL_string_dtor_01061df0 stl Wrapper that calls STL_string_dtor and returns 0x01061E00 10 thunk_to_STL_string_dtor_01061e00 stl Wrapper that calls STL_string_dtor and returns 0x01061E10 10 thunk_to_STL_string_dtor_01061e10 stl Wrapper that calls STL_string_dtor and returns 0x01061E20 10 thunk_to_STL_string_dtor_01061e20 stl Wrapper that calls STL_string_dtor and returns 0x01061E30 10 thunk_to_STL_string_dtor_01061e30 stl Wrapper that calls STL_string_dtor and returns 0x01061E40 10 thunk_to_STL_string_dtor_01061e40 stl Wrapper that calls STL_string_dtor and returns 0x01061E50 10 thunk_to_STL_string_dtor_01061e50 stl Wrapper that calls STL_string_dtor and returns 0x01061E60 10 thunk_to_STL_string_dtor_01061e60 stl Wrapper that calls STL_string_dtor and returns 0x01061E70 10 thunk_to_STL_string_dtor_01061e70 stl Wrapper that calls STL_string_dtor and returns 0x01061E80 10 thunk_to_STL_string_dtor_01061e80 stl Wrapper that calls STL_string_dtor and returns 0x01061E90 10 thunk_to_STL_string_dtor_01061e90 stl Wrapper that calls STL_string_dtor and returns 0x01061F10 280 atexit_unregister_window_classes_and_cleanup_01061f10 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01062030 66 atexit_STL_map_destroy_wrapper_01062030 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01062080 10 thunk_to_STL_string_dtor_01062080 stl Wrapper that calls STL_string_dtor and returns 0x01062090 10 thunk_to_STL_string_dtor_01062090 stl Wrapper that calls STL_string_dtor and returns 0x010620A0 10 thunk_to_STL_string_dtor_010620a0 stl Wrapper that calls STL_string_dtor and returns 0x010620B0 10 thunk_to_STL_string_dtor_010620b0 stl Wrapper that calls STL_string_dtor and returns 0x010620C0 10 thunk_to_STL_string_dtor_010620c0 stl Wrapper that calls STL_string_dtor and returns 0x010620D0 10 thunk_to_STL_string_dtor_010620d0 stl Wrapper that calls STL_string_dtor and returns 0x010620E0 10 thunk_to_STL_string_dtor_010620e0 stl Wrapper that calls STL_string_dtor and returns 0x010620F0 10 thunk_to_STL_string_dtor_010620f0 stl Wrapper that calls STL_string_dtor and returns 0x01062100 10 thunk_to_STL_string_dtor_01062100 stl Wrapper that calls STL_string_dtor and returns 0x01062110 10 thunk_to_STL_string_dtor_01062110 stl Wrapper that calls STL_string_dtor and returns 0x01062120 10 thunk_to_STL_string_dtor_01062120 stl Wrapper that calls STL_string_dtor and returns 0x01062130 10 thunk_to_STL_string_dtor_01062130 stl Wrapper that calls STL_string_dtor and returns 0x01062140 10 thunk_to_STL_string_dtor_01062140 stl Wrapper that calls STL_string_dtor and returns 0x01062150 10 thunk_to_STL_string_dtor_01062150 stl Wrapper that calls STL_string_dtor and returns immediately 0x01062160 10 thunk_to_STL_string_dtor_01062160 stl Wrapper that calls STL_string_dtor and returns immediately 0x01062170 10 thunk_to_STL_string_dtor_01062170 stl Wrapper that calls STL_string_dtor and returns 0x01062180 10 thunk_to_STL_string_dtor_01062180 stl Wrapper that calls STL_string_dtor and returns 0x01062190 10 thunk_to_STL_string_dtor_01062190 stl Wrapper that calls STL_string_dtor and returns 0x010621A0 10 thunk_to_STL_string_dtor_010621a0 stl Wrapper that calls STL_string_dtor and returns 0x010621B0 10 thunk_to_STL_string_dtor_010621b0 stl Wrapper that calls STL_string_dtor and returns 0x010621C0 10 thunk_to_STL_string_dtor_010621c0 stl Wrapper that calls STL_string_dtor and returns 0x010621D0 10 thunk_to_STL_string_dtor_010621d0 stl Wrapper that calls STL_string_dtor and returns 0x010621E0 10 thunk_to_STL_string_dtor_010621e0 stl Wrapper that calls STL_string_dtor and returns 0x010621F0 10 thunk_to_STL_string_dtor_010621f0 stl Wrapper that calls STL_string_dtor and returns 0x01062200 10 thunk_to_STL_string_dtor_01062200 stl Wrapper that calls STL_string_dtor and returns 0x01062280 280 atexit_unregister_window_classes_and_cleanup_01062280 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010623A0 66 atexit_STL_map_destroy_wrapper_010623a0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010623F0 10 thunk_to_STL_string_dtor_010623f0 stl Wrapper that calls STL_string_dtor and returns 0x01062400 10 thunk_to_STL_string_dtor_01062400 stl Wrapper that calls STL_string_dtor and returns 0x01062410 10 thunk_to_STL_string_dtor_01062410 stl Wrapper that calls STL_string_dtor and returns 0x01062420 10 thunk_to_STL_string_dtor_01062420 stl Wrapper that calls STL_string_dtor and returns 0x01062430 10 thunk_to_STL_string_dtor_01062430 stl Wrapper that calls STL_string_dtor and returns 0x01062440 10 thunk_to_STL_string_dtor_01062440 stl Wrapper that calls STL_string_dtor and returns 0x01062450 10 thunk_to_STL_string_dtor_01062450 stl Wrapper that calls STL_string_dtor and returns 0x01062460 10 thunk_to_STL_string_dtor_01062460 stl Wrapper that calls STL_string_dtor and returns 0x01062470 10 thunk_to_STL_string_dtor_01062470 stl Wrapper that calls STL_string_dtor and returns 0x01062480 10 thunk_to_STL_string_dtor_01062480 stl Wrapper that calls STL_string_dtor and returns 0x01062490 10 thunk_to_STL_string_dtor_01062490 stl Wrapper that calls STL_string_dtor and returns 0x010624A0 10 thunk_to_STL_string_dtor_010624a0 stl Wrapper that calls STL_string_dtor and returns 0x010624B0 10 thunk_to_STL_string_dtor_010624b0 stl Wrapper that calls STL_string_dtor and returns 0x010624C0 10 thunk_to_STL_string_dtor_010624c0 stl Wrapper that calls STL_string_dtor and returns 0x010624D0 10 thunk_to_STL_string_dtor_010624d0 stl Wrapper that calls STL_string_dtor and returns 0x010624E0 10 thunk_to_STL_string_dtor_010624e0 stl Wrapper that calls STL_string_dtor and returns 0x010624F0 10 thunk_to_STL_string_dtor_010624f0 stl Wrapper that calls STL_string_dtor and returns 0x01062500 10 thunk_to_STL_string_dtor_01062500 stl Wrapper that calls STL_string_dtor and returns 0x01062510 10 thunk_to_STL_string_dtor_01062510 stl Wrapper that calls STL_string_dtor and returns 0x01062520 10 thunk_to_STL_string_dtor_01062520 stl Wrapper that calls STL_string_dtor and returns 0x01062530 10 thunk_to_STL_string_dtor_01062530 stl Wrapper that calls STL_string_dtor and returns 0x01062540 10 thunk_to_STL_string_dtor_01062540 stl Wrapper that calls STL_string_dtor and returns 0x01062550 10 thunk_to_STL_string_dtor_01062550 stl Wrapper that calls STL_string_dtor and returns 0x01062560 10 thunk_to_STL_string_dtor_01062560 stl Wrapper that calls STL_string_dtor and returns 0x01062570 10 thunk_to_STL_string_dtor_01062570 stl Wrapper that calls STL_string_dtor and returns 0x010625F0 280 atexit_unregister_window_classes_and_cleanup_010625f0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01062710 10 thunk_to_std__vector_8byte__clear_and_free_01062710 stl Thunk: jumps directly to std__vector_8byte__clear_and_free (00837230). Clears and frees an 8-byte element STL vector. 0x01062720 66 atexit_STL_map_destroy_wrapper_01062720 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01062770 10 thunk_to_STL_string_dtor_01062770 stl Wrapper that calls STL_string_dtor and returns 0x01062780 10 thunk_to_STL_string_dtor_01062780 stl Wrapper function that calls STL_string_dtor and returns 0x01062790 10 thunk_to_STL_string_dtor_01062790 stl Wrapper that calls STL_string_dtor and returns 0x010627A0 10 thunk_to_STL_string_dtor_010627a0 stl Wrapper that calls STL_string_dtor and returns 0x010627B0 10 thunk_to_STL_string_dtor_010627b0 stl Wrapper that calls STL_string_dtor and returns 0x010627C0 10 thunk_to_STL_string_dtor_010627c0 stl Wrapper that calls STL_string_dtor and returns 0x010627D0 10 thunk_to_STL_string_dtor_010627d0 stl Wrapper that calls STL_string_dtor and returns 0x010627E0 10 thunk_to_STL_string_dtor_010627e0 stl Wrapper that calls STL_string_dtor and returns 0x010627F0 10 thunk_to_STL_string_dtor_010627f0 stl Wrapper that calls STL_string_dtor and returns 0x01062800 10 thunk_to_STL_string_dtor_01062800 stl Wrapper that calls STL_string_dtor and returns 0x01062810 10 thunk_to_STL_string_dtor_01062810 stl Wrapper that calls STL_string_dtor and returns 0x01062820 10 thunk_to_STL_string_dtor_01062820 stl Wrapper that calls STL_string_dtor and returns 0x01062830 10 thunk_to_STL_string_dtor_01062830 stl Wrapper that calls STL_string_dtor and returns 0x01062840 10 thunk_to_STL_string_dtor_01062840 stl Wrapper that calls STL_string_dtor and returns 0x01062850 10 thunk_to_STL_string_dtor_01062850 stl Wrapper that calls STL_string_dtor and returns 0x01062860 10 thunk_to_STL_string_dtor_01062860 stl Wrapper that calls STL_string_dtor and returns 0x01062870 10 thunk_to_STL_string_dtor_01062870 stl Wrapper that calls STL_string_dtor and returns 0x01062880 10 thunk_to_STL_string_dtor_01062880 stl Wrapper that calls STL_string_dtor and returns 0x01062890 10 thunk_to_STL_string_dtor_01062890 stl Wrapper that calls STL_string_dtor and returns 0x010628A0 10 thunk_to_STL_string_dtor_010628a0 stl Wrapper that calls STL_string_dtor and returns 0x010628B0 10 thunk_to_STL_string_dtor_010628b0 stl Wrapper that calls STL_string_dtor and returns 0x010628C0 10 thunk_to_STL_string_dtor_010628c0 stl Wrapper that calls STL_string_dtor and returns 0x010628D0 10 thunk_to_STL_string_dtor_010628d0 stl Wrapper that calls STL_string_dtor and returns 0x010628E0 10 thunk_to_STL_string_dtor_010628e0 stl Wrapper that calls STL_string_dtor and returns 0x010628F0 10 thunk_to_STL_string_dtor_010628f0 stl Wrapper that calls STL_string_dtor and returns 0x01062970 280 atexit_unregister_window_classes_and_cleanup_01062970 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01062A90 66 atexit_STL_map_destroy_wrapper_01062a90 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01062AE0 10 thunk_to_STL_string_dtor_01062ae0 stl Wrapper that calls STL_string_dtor and returns 0x01062AF0 10 thunk_to_STL_string_dtor_01062af0 stl Wrapper that calls STL_string_dtor and returns 0x01062B00 10 thunk_to_STL_string_dtor_01062b00 stl Wrapper that calls STL_string_dtor and returns 0x01062B10 10 thunk_to_STL_string_dtor_01062b10 stl Wrapper that calls STL_string_dtor and returns 0x01062B20 10 thunk_to_STL_string_dtor_01062b20 stl Wrapper that calls STL_string_dtor and returns 0x01062B30 10 thunk_to_STL_string_dtor_01062b30 stl Wrapper calling STL string destructor 0x01062B40 10 thunk_to_STL_string_dtor_01062b40 stl Wrapper that calls STL_string_dtor and returns 0x01062B50 10 thunk_to_STL_string_dtor_01062b50 stl Wrapper that calls STL_string_dtor and returns 0x01062B60 10 thunk_to_STL_string_dtor_01062b60 stl Wrapper that calls STL_string_dtor and returns 0x01062B70 10 thunk_to_STL_string_dtor_01062b70 stl Wrapper that calls STL_string_dtor and returns 0x01062B80 10 thunk_to_STL_string_dtor_01062b80 stl Wrapper that calls STL_string_dtor and returns 0x01062B90 10 thunk_to_STL_string_dtor_01062b90 stl Wrapper calling STL string destructor 0x01062BA0 10 thunk_to_STL_string_dtor_01062ba0 stl Wrapper that calls STL_string_dtor and returns 0x01062BB0 10 thunk_to_STL_string_dtor_01062bb0 stl Wrapper that calls STL_string_dtor and returns 0x01062BC0 10 thunk_to_STL_string_dtor_01062bc0 stl Wrapper that calls STL_string_dtor and returns 0x01062BD0 10 thunk_to_STL_string_dtor_01062bd0 stl Wrapper that calls STL_string_dtor and returns 0x01062BE0 10 thunk_to_STL_string_dtor_01062be0 stl Wrapper that calls STL_string_dtor and returns 0x01062BF0 10 thunk_to_STL_string_dtor_01062bf0 stl Wrapper that calls STL_string_dtor and returns 0x01062C00 10 thunk_to_STL_string_dtor_01062c00 stl Wrapper that calls STL_string_dtor and returns 0x01062C10 10 thunk_to_STL_string_dtor_01062c10 stl Wrapper that calls STL_string_dtor and returns 0x01062C20 10 thunk_to_STL_string_dtor_01062c20 stl Wrapper that calls STL_string_dtor and returns 0x01062C30 10 thunk_to_STL_string_dtor_01062c30 stl Wrapper that calls STL_string_dtor and returns 0x01062C40 10 thunk_to_STL_string_dtor_01062c40 stl Wrapper that calls STL_string_dtor and returns 0x01062C50 10 thunk_to_STL_string_dtor_01062c50 stl Wrapper that calls STL_string_dtor and returns 0x01062C60 10 thunk_to_STL_string_dtor_01062c60 stl Wrapper that calls STL_string_dtor and returns 0x01062CE0 280 atexit_unregister_window_classes_and_cleanup_01062ce0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01062E00 66 atexit_STL_map_destroy_wrapper_01062e00 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01062E50 10 thunk_to_STL_string_dtor_01062e50 stl Wrapper that calls STL_string_dtor and returns 0x01062E60 10 thunk_to_STL_string_dtor_01062e60 stl Wrapper that calls STL_string_dtor and returns 0x01062E70 10 thunk_to_STL_string_dtor_01062e70 stl Wrapper that calls STL_string_dtor and returns 0x01062E80 10 thunk_to_STL_string_dtor_01062e80 stl Wrapper that calls STL_string_dtor and returns 0x01062E90 10 thunk_to_STL_string_dtor_01062e90 stl Wrapper that calls STL_string_dtor and returns 0x01062EA0 10 thunk_to_STL_string_dtor_01062ea0 stl Wrapper that calls STL_string_dtor and returns 0x01062EB0 10 thunk_to_STL_string_dtor_01062eb0 stl Wrapper that calls STL_string_dtor and returns 0x01062EC0 10 thunk_to_STL_string_dtor_01062ec0 stl Wrapper that calls STL_string_dtor and returns 0x01062ED0 10 thunk_to_STL_string_dtor_01062ed0 stl Wrapper function that calls STL_string_dtor and returns 0x01062EE0 10 thunk_to_STL_string_dtor_01062ee0 stl Wrapper that calls STL_string_dtor and returns 0x01062EF0 10 thunk_to_STL_string_dtor_01062ef0 stl Wrapper that calls STL_string_dtor and returns 0x01062F00 10 thunk_to_STL_string_dtor_01062f00 stl Wrapper that calls STL_string_dtor and returns 0x01062F10 10 thunk_to_STL_string_dtor_01062f10 stl Wrapper that calls STL_string_dtor and returns 0x01062F20 10 thunk_to_STL_string_dtor_01062f20 stl Wrapper that calls STL_string_dtor and returns 0x01062F30 10 thunk_to_STL_string_dtor_01062f30 stl Wrapper that calls STL_string_dtor and returns 0x01062F40 10 thunk_to_STL_string_dtor_01062f40 stl Wrapper that calls STL_string_dtor and returns 0x01062F50 10 thunk_to_STL_string_dtor_01062f50 stl Wrapper that calls STL_string_dtor and returns 0x01062F60 10 thunk_to_STL_string_dtor_01062f60 stl Wrapper that calls STL_string_dtor and returns 0x01062F70 10 thunk_to_STL_string_dtor_01062f70 stl Wrapper that calls STL_string_dtor and returns 0x01062F80 10 thunk_to_STL_string_dtor_01062f80 stl Wrapper that calls STL_string_dtor and returns 0x01062F90 10 thunk_to_STL_string_dtor_01062f90 stl Wrapper that calls STL_string_dtor and returns 0x01062FA0 10 thunk_to_STL_string_dtor_01062fa0 stl Wrapper that calls STL_string_dtor and returns 0x01062FB0 10 thunk_to_STL_string_dtor_01062fb0 stl Wrapper that calls STL_string_dtor and returns 0x01062FC0 10 thunk_to_STL_string_dtor_01062fc0 stl Wrapper that calls STL_string_dtor and returns 0x01062FD0 10 thunk_to_STL_string_dtor_01062fd0 stl Wrapper that calls STL_string_dtor and returns 0x01063050 280 atexit_unregister_window_classes_and_cleanup_01063050 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01063170 66 atexit_STL_map_destroy_wrapper_01063170 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010631C0 10 thunk_to_STL_string_dtor_010631c0 stl Wrapper that calls STL_string_dtor and returns 0x010631D0 10 thunk_to_STL_string_dtor_010631d0 stl Wrapper that calls STL_string_dtor and returns 0x010631E0 10 thunk_to_STL_string_dtor_010631e0 stl Wrapper that calls STL_string_dtor and returns 0x010631F0 10 thunk_to_STL_string_dtor_010631f0 stl Wrapper that calls STL_string_dtor and returns 0x01063200 10 thunk_to_STL_string_dtor_01063200 stl Wrapper that calls STL_string_dtor and returns 0x01063210 10 thunk_to_STL_string_dtor_01063210 stl Wrapper that calls STL_string_dtor and returns 0x01063220 10 thunk_to_STL_string_dtor_01063220 stl Wrapper that calls STL_string_dtor and returns 0x01063230 10 thunk_to_STL_string_dtor_01063230 stl Wrapper that calls STL_string_dtor and returns 0x01063240 10 thunk_to_STL_string_dtor_01063240 stl Wrapper that calls STL_string_dtor and returns 0x01063250 10 thunk_to_STL_string_dtor_01063250 stl Wrapper that calls STL_string_dtor and returns 0x01063260 10 thunk_to_STL_string_dtor_01063260 stl Wrapper that calls STL_string_dtor and returns 0x01063270 10 thunk_to_STL_string_dtor_01063270 stl Wrapper that calls STL_string_dtor and returns 0x01063280 10 thunk_to_STL_string_dtor_01063280 stl Wrapper function that calls STL_string_dtor and returns 0x01063290 10 thunk_to_STL_string_dtor_01063290 stl Wrapper that calls STL_string_dtor and returns 0x010632A0 10 thunk_to_STL_string_dtor_010632a0 stl Wrapper that calls STL_string_dtor and returns 0x010632B0 10 thunk_to_STL_string_dtor_010632b0 stl Wrapper that calls STL_string_dtor and returns 0x010632C0 10 thunk_to_STL_string_dtor_010632c0 stl Wrapper that calls STL_string_dtor and returns 0x010632D0 10 thunk_to_STL_string_dtor_010632d0 stl Wrapper that calls STL_string_dtor and returns 0x010632E0 10 thunk_to_STL_string_dtor_010632e0 stl Wrapper that calls STL_string_dtor and returns 0x010632F0 10 thunk_to_STL_string_dtor_010632f0 stl Wrapper that calls STL_string_dtor and returns 0x01063300 10 thunk_to_STL_string_dtor_01063300 stl Wrapper that calls STL_string_dtor and returns 0x01063310 10 thunk_to_STL_string_dtor_01063310 stl Wrapper that calls STL_string_dtor and returns 0x01063320 10 thunk_to_STL_string_dtor_01063320 stl Wrapper that calls STL_string_dtor and returns 0x01063330 10 thunk_to_STL_string_dtor_01063330 stl Wrapper that calls STL_string_dtor and returns 0x01063340 10 thunk_to_STL_string_dtor_01063340 stl Wrapper that calls STL_string_dtor and returns 0x010633C0 280 atexit_unregister_window_classes_and_cleanup_010633c0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010634E0 66 atexit_STL_map_destroy_wrapper_010634e0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01063530 10 thunk_to_STL_string_dtor_01063530 stl Wrapper that calls STL_string_dtor and returns 0x01063540 10 thunk_to_STL_string_dtor_01063540 stl Wrapper function that calls STL_string_dtor and returns 0x01063550 10 thunk_to_STL_string_dtor_01063550 stl Wrapper that calls STL_string_dtor and returns 0x01063560 10 thunk_to_STL_string_dtor_01063560 stl Wrapper that calls STL_string_dtor and returns 0x01063570 10 thunk_to_STL_string_dtor_01063570 stl Wrapper that calls STL_string_dtor and returns 0x01063580 10 thunk_to_STL_string_dtor_01063580 stl Wrapper that calls STL_string_dtor and returns 0x01063590 10 thunk_to_STL_string_dtor_01063590 stl Wrapper that calls STL_string_dtor and returns 0x010635A0 10 thunk_to_STL_string_dtor_010635a0 stl Wrapper that calls STL_string_dtor and returns 0x010635B0 10 thunk_to_STL_string_dtor_010635b0 stl Wrapper that calls STL_string_dtor and returns 0x010635C0 10 thunk_to_STL_string_dtor_010635c0 stl Wrapper that calls STL_string_dtor and returns 0x010635D0 10 thunk_to_STL_string_dtor_010635d0 stl Wrapper that calls STL_string_dtor and returns 0x010635E0 10 thunk_to_STL_string_dtor_010635e0 stl Wrapper that calls STL_string_dtor and returns 0x010635F0 10 thunk_to_STL_string_dtor_010635f0 stl Wrapper that calls STL_string_dtor and returns 0x01063600 10 thunk_to_STL_string_dtor_01063600 stl Wrapper that calls STL_string_dtor and returns 0x01063610 10 thunk_to_STL_string_dtor_01063610 stl Wrapper function that calls STL_string_dtor and returns 0x01063620 10 thunk_to_STL_string_dtor_01063620 stl Wrapper that calls STL_string_dtor and returns 0x01063630 10 thunk_to_STL_string_dtor_01063630 stl Wrapper that calls STL_string_dtor and returns 0x01063640 10 thunk_to_STL_string_dtor_01063640 stl Wrapper that calls STL_string_dtor and returns 0x01063650 10 thunk_to_STL_string_dtor_01063650 stl Wrapper that calls STL_string_dtor and returns 0x01063660 10 thunk_to_STL_string_dtor_01063660 stl Wrapper function that calls STL_string_dtor and returns 0x01063670 10 thunk_to_STL_string_dtor_01063670 stl Wrapper that calls STL_string_dtor and returns 0x01063680 10 thunk_to_STL_string_dtor_01063680 stl Wrapper that calls STL_string_dtor and returns 0x01063690 10 thunk_to_STL_string_dtor_01063690 stl Wrapper that calls STL_string_dtor and returns 0x010636A0 10 thunk_to_STL_string_dtor_010636a0 stl Wrapper that calls STL_string_dtor and returns 0x010636B0 10 thunk_to_STL_string_dtor_010636b0 stl Wrapper that calls STL_string_dtor and returns 0x01063730 280 atexit_unregister_window_classes_and_cleanup_01063730 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01063850 66 atexit_STL_map_destroy_wrapper_01063850 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010638A0 10 thunk_to_STL_string_dtor_010638a0 stl Wrapper that calls STL_string_dtor and returns 0x010638B0 10 thunk_to_STL_string_dtor_010638b0 stl Wrapper that calls STL_string_dtor and returns 0x010638C0 10 thunk_to_STL_string_dtor_010638c0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010638D0 10 thunk_to_STL_string_dtor_010638d0 stl Wrapper that calls STL_string_dtor and returns 0x010638E0 10 thunk_to_STL_string_dtor_010638e0 stl Wrapper that calls STL_string_dtor and returns 0x010638F0 10 thunk_to_STL_string_dtor_010638f0 stl Wrapper that calls STL_string_dtor and returns 0x01063900 10 thunk_to_STL_string_dtor_01063900 stl Wrapper that calls STL_string_dtor and returns 0x01063910 10 thunk_to_STL_string_dtor_01063910 stl Wrapper that calls STL_string_dtor and returns 0x01063920 10 thunk_to_STL_string_dtor_01063920 stl Wrapper that calls STL_string_dtor and returns 0x01063930 10 thunk_to_STL_string_dtor_01063930 stl Wrapper that calls STL_string_dtor and returns 0x01063940 10 thunk_to_STL_string_dtor_01063940 stl Wrapper calling STL string destructor 0x01063950 10 thunk_to_STL_string_dtor_01063950 stl Wrapper that calls STL_string_dtor and returns 0x01063960 10 thunk_to_STL_string_dtor_01063960 stl Wrapper that calls STL_string_dtor and returns 0x01063970 10 thunk_to_STL_string_dtor_01063970 stl Wrapper that calls STL_string_dtor and returns 0x01063980 10 thunk_to_STL_string_dtor_01063980 stl Wrapper that calls STL_string_dtor and returns 0x01063990 10 thunk_to_STL_string_dtor_01063990 stl Wrapper function that calls STL_string_dtor and returns 0x010639A0 10 thunk_to_STL_string_dtor_010639a0 stl Wrapper that calls STL_string_dtor and returns 0x010639B0 10 thunk_to_STL_string_dtor_010639b0 stl Wrapper that calls STL_string_dtor and returns 0x010639C0 10 thunk_to_STL_string_dtor_010639c0 stl Wrapper that calls STL_string_dtor and returns 0x010639D0 10 thunk_to_STL_string_dtor_010639d0 stl Wrapper that calls STL_string_dtor and returns 0x010639E0 10 thunk_to_STL_string_dtor_010639e0 stl Wrapper that calls STL_string_dtor and returns 0x010639F0 10 thunk_to_STL_string_dtor_010639f0 stl Wrapper that calls STL_string_dtor and returns 0x01063A00 10 thunk_to_STL_string_dtor_01063a00 stl Wrapper function that calls STL_string_dtor and returns 0x01063A10 10 thunk_to_STL_string_dtor_01063a10 stl Wrapper that calls STL_string_dtor and returns 0x01063A20 10 thunk_to_STL_string_dtor_01063a20 stl Wrapper calling STL string destructor 0x01063AA0 280 atexit_unregister_window_classes_and_cleanup_01063aa0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01063BC0 66 atexit_STL_map_destroy_wrapper_01063bc0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01063C10 66 atexit_CRenderPipeline_destroy_wrapper_01063c10 crt atexit cleanup wrapper: calls CRenderPipeline__destroy_linked_list_and_vector to destroy a global render pipeline linked list. SEH-protected with stack cookie. 0x01063C60 10 thunk_to_STL_string_dtor_01063c60 stl Wrapper that calls STL_string_dtor and returns 0x01063C70 10 thunk_to_STL_string_dtor_01063c70 stl Wrapper that calls STL_string_dtor and returns 0x01063C80 10 thunk_to_STL_string_dtor_01063c80 stl Wrapper that calls STL_string_dtor and returns 0x01063C90 10 thunk_to_STL_string_dtor_01063c90 stl Wrapper that calls STL_string_dtor and returns 0x01063CA0 10 thunk_to_STL_string_dtor_01063ca0 stl Wrapper that calls STL_string_dtor and returns 0x01063CB0 10 thunk_to_STL_string_dtor_01063cb0 stl Wrapper that calls STL_string_dtor and returns 0x01063CC0 10 thunk_to_STL_string_dtor_01063cc0 stl Wrapper that calls STL_string_dtor and returns 0x01063CD0 10 thunk_to_STL_string_dtor_01063cd0 stl Wrapper that calls STL_string_dtor and returns 0x01063CE0 10 thunk_to_STL_string_dtor_01063ce0 stl Wrapper that calls STL_string_dtor and returns 0x01063CF0 10 thunk_to_STL_string_dtor_01063cf0 stl Wrapper that calls STL_string_dtor and returns 0x01063D00 10 thunk_to_STL_string_dtor_01063d00 stl Wrapper that calls STL_string_dtor and returns 0x01063D10 10 thunk_to_STL_string_dtor_01063d10 stl Wrapper that calls STL_string_dtor and returns 0x01063D20 10 thunk_to_STL_string_dtor_01063d20 stl Wrapper that calls STL_string_dtor and returns 0x01063D30 10 thunk_to_STL_string_dtor_01063d30 stl Wrapper that calls STL_string_dtor and returns 0x01063D40 10 thunk_to_STL_string_dtor_01063d40 stl Wrapper that calls STL_string_dtor and returns 0x01063D50 10 thunk_to_STL_string_dtor_01063d50 stl Wrapper that calls STL_string_dtor and returns 0x01063D60 10 thunk_to_STL_string_dtor_01063d60 stl Wrapper that calls STL_string_dtor and returns 0x01063D70 10 thunk_to_STL_string_dtor_01063d70 stl Wrapper that calls STL_string_dtor and returns 0x01063D80 10 thunk_to_STL_string_dtor_01063d80 stl Wrapper that calls STL_string_dtor and returns 0x01063D90 10 thunk_to_STL_string_dtor_01063d90 stl Wrapper that calls STL_string_dtor and returns 0x01063DA0 10 thunk_to_STL_string_dtor_01063da0 stl Wrapper that calls STL_string_dtor and returns 0x01063DB0 10 thunk_to_STL_string_dtor_01063db0 stl Wrapper that calls STL_string_dtor and returns 0x01063DC0 10 thunk_to_STL_string_dtor_01063dc0 stl Wrapper that calls STL_string_dtor and returns 0x01063DD0 10 thunk_to_STL_string_dtor_01063dd0 stl Wrapper that calls STL_string_dtor and returns 0x01063DE0 10 thunk_to_STL_string_dtor_01063de0 stl Wrapper function that calls STL_string_dtor and returns 0x01063E60 280 atexit_unregister_window_classes_and_cleanup_01063e60 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01063F80 66 atexit_STL_map_destroy_wrapper_01063f80 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01063FD0 10 thunk_to_STL_string_dtor_01063fd0 stl Wrapper that calls STL_string_dtor and returns 0x01063FE0 10 thunk_to_STL_string_dtor_01063fe0 stl Wrapper calling STL_string_dtor destructor 0x01063FF0 10 thunk_to_STL_string_dtor_01063ff0 stl Wrapper that calls STL_string_dtor and returns 0x01064000 10 thunk_to_STL_string_dtor_01064000 stl Wrapper that calls STL_string_dtor and returns 0x01064010 10 thunk_to_STL_string_dtor_01064010 stl Wrapper that calls STL_string_dtor and returns 0x01064020 10 thunk_to_STL_string_dtor_01064020 stl Wrapper that calls STL_string_dtor and returns 0x01064030 10 thunk_to_STL_string_dtor_01064030 stl Wrapper that calls STL_string_dtor and returns 0x01064040 10 thunk_to_STL_string_dtor_01064040 stl Wrapper that calls STL_string_dtor and returns 0x01064050 10 thunk_to_STL_string_dtor_01064050 stl Wrapper that calls STL_string_dtor and returns 0x01064060 10 thunk_to_STL_string_dtor_01064060 stl Wrapper that calls STL_string_dtor and returns 0x01064070 10 thunk_to_STL_string_dtor_01064070 stl Wrapper that calls STL_string_dtor and returns 0x01064080 10 thunk_to_STL_string_dtor_01064080 stl Wrapper that calls STL_string_dtor and returns 0x01064090 10 thunk_to_STL_string_dtor_01064090 stl Wrapper that calls STL_string_dtor and returns 0x010640A0 10 thunk_to_STL_string_dtor_010640a0 stl Wrapper that calls STL_string_dtor and returns 0x010640B0 10 thunk_to_STL_string_dtor_010640b0 stl Wrapper that calls STL_string_dtor and returns 0x010640C0 10 thunk_to_STL_string_dtor_010640c0 stl Wrapper that calls STL_string_dtor and returns 0x010640D0 10 thunk_to_STL_string_dtor_010640d0 stl Wrapper that calls STL_string_dtor and returns 0x010640E0 10 thunk_to_STL_string_dtor_010640e0 stl Wrapper that calls STL_string_dtor and returns 0x010640F0 10 thunk_to_STL_string_dtor_010640f0 stl Wrapper that calls STL_string_dtor and returns 0x01064100 10 thunk_to_STL_string_dtor_01064100 stl Wrapper that calls STL_string_dtor and returns 0x01064110 10 thunk_to_STL_string_dtor_01064110 stl Wrapper that calls STL_string_dtor and returns 0x01064120 10 thunk_to_STL_string_dtor_01064120 stl Wrapper that calls STL_string_dtor and returns 0x01064130 10 thunk_to_STL_string_dtor_01064130 stl Wrapper that calls STL_string_dtor and returns 0x01064140 10 thunk_to_STL_string_dtor_01064140 stl Wrapper that calls STL_string_dtor and returns 0x01064150 10 thunk_to_STL_string_dtor_01064150 stl Wrapper that calls STL_string_dtor and returns 0x010641D0 280 atexit_unregister_window_classes_and_cleanup_010641d0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010642F0 66 atexit_STL_map_destroy_wrapper_010642f0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010643B0 280 atexit_unregister_window_classes_and_cleanup_010643b0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010644D0 10 thunk_to_STL_string_dtor_010644d0 stl Wrapper that calls STL_string_dtor and returns 0x010644E0 10 thunk_to_STL_string_dtor_010644e0 stl Wrapper that calls STL_string_dtor and returns 0x010644F0 10 thunk_to_STL_string_dtor_010644f0 stl Wrapper that calls STL_string_dtor and returns 0x01064500 10 thunk_to_STL_string_dtor_01064500 stl Wrapper that calls STL_string_dtor and returns 0x01064510 10 thunk_to_STL_string_dtor_01064510 stl Wrapper that calls STL_string_dtor and returns 0x01064520 10 thunk_to_STL_string_dtor_01064520 stl Wrapper that calls STL_string_dtor and returns 0x01064530 10 thunk_to_STL_string_dtor_01064530 stl Wrapper that calls STL_string_dtor and returns 0x01064540 10 thunk_to_STL_string_dtor_01064540 stl Wrapper that calls STL_string_dtor and returns 0x01064550 10 thunk_to_STL_string_dtor_01064550 stl Wrapper that calls STL_string_dtor and returns 0x01064560 10 thunk_to_STL_string_dtor_01064560 stl Wrapper that calls STL_string_dtor and returns 0x01064570 10 thunk_to_STL_string_dtor_01064570 stl Wrapper that calls STL_string_dtor and returns 0x01064580 10 thunk_to_STL_string_dtor_01064580 stl Wrapper that calls STL_string_dtor and returns 0x01064590 10 thunk_to_STL_string_dtor_01064590 stl Wrapper that calls STL_string_dtor and returns 0x010645A0 10 thunk_to_STL_string_dtor_010645a0 stl Wrapper that calls STL_string_dtor and returns 0x010645B0 10 thunk_to_STL_string_dtor_010645b0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010645C0 10 thunk_to_STL_string_dtor_010645c0 stl Wrapper that calls STL_string_dtor and returns 0x010645D0 10 thunk_to_STL_string_dtor_010645d0 stl Wrapper that calls STL_string_dtor and returns 0x010645E0 10 thunk_to_STL_string_dtor_010645e0 stl Wrapper that calls STL_string_dtor and returns 0x010645F0 10 thunk_to_STL_string_dtor_010645f0 stl Wrapper that calls STL_string_dtor and returns 0x01064600 10 thunk_to_STL_string_dtor_01064600 stl Wrapper that calls STL_string_dtor and returns 0x01064610 10 thunk_to_STL_string_dtor_01064610 stl Wrapper that calls STL_string_dtor and returns 0x01064620 10 thunk_to_STL_string_dtor_01064620 stl Wrapper that calls STL_string_dtor and returns 0x01064630 10 thunk_to_STL_string_dtor_01064630 stl Wrapper that calls STL_string_dtor and returns 0x01064640 10 thunk_to_STL_string_dtor_01064640 stl Wrapper that calls STL_string_dtor and returns 0x01064650 10 thunk_to_STL_string_dtor_01064650 stl Wrapper that calls STL_string_dtor and returns 0x010646D0 280 atexit_unregister_window_classes_and_cleanup_010646d0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010647F0 66 atexit_STL_map_destroy_wrapper_010647f0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01064840 66 atexit_CRenderPipeline_destroy_wrapper_01064840 crt atexit cleanup wrapper: calls CRenderPipeline__destroy_linked_list_and_vector to destroy a global render pipeline linked list. SEH-protected with stack cookie. 0x01064890 10 thunk_to_STL_string_dtor_01064890 stl Wrapper that calls STL_string_dtor and returns 0x010648A0 10 thunk_to_STL_string_dtor_010648a0 stl Wrapper that calls STL_string_dtor and returns 0x010648B0 10 thunk_to_STL_string_dtor_010648b0 stl Wrapper that calls STL_string_dtor and returns 0x010648C0 10 thunk_to_STL_string_dtor_010648c0 stl Wrapper that calls STL_string_dtor and returns 0x010648D0 10 thunk_to_STL_string_dtor_010648d0 stl Wrapper that calls STL_string_dtor and returns 0x010648E0 10 thunk_to_STL_string_dtor_010648e0 stl Wrapper that calls STL_string_dtor and returns 0x010648F0 10 thunk_to_STL_string_dtor_010648f0 stl Wrapper that calls STL_string_dtor and returns 0x01064900 10 thunk_to_STL_string_dtor_01064900 stl Wrapper that calls STL_string_dtor and returns 0x01064910 10 thunk_to_STL_string_dtor_01064910 stl Wrapper that calls STL_string_dtor and returns 0x01064920 10 thunk_to_STL_string_dtor_01064920 stl Wrapper that calls STL_string_dtor and returns 0x01064930 10 thunk_to_STL_string_dtor_01064930 stl Wrapper that calls STL_string_dtor and returns 0x01064940 10 thunk_to_STL_string_dtor_01064940 stl Wrapper that calls STL_string_dtor and returns 0x01064950 10 thunk_to_STL_string_dtor_01064950 stl Wrapper that calls STL_string_dtor and returns 0x01064960 10 thunk_to_STL_string_dtor_01064960 stl Wrapper that calls STL_string_dtor and returns 0x01064970 10 thunk_to_STL_string_dtor_01064970 stl Wrapper that calls STL_string_dtor and returns 0x01064980 10 thunk_to_STL_string_dtor_01064980 stl Wrapper that calls STL_string_dtor and returns 0x01064990 10 thunk_to_STL_string_dtor_01064990 stl Wrapper function that calls STL_string_dtor and returns 0x010649A0 10 thunk_to_STL_string_dtor_010649a0 stl Wrapper that calls STL_string_dtor and returns 0x010649B0 10 thunk_to_STL_string_dtor_010649b0 stl Wrapper that calls STL_string_dtor and returns 0x010649C0 10 thunk_to_STL_string_dtor_010649c0 stl Wrapper that calls STL_string_dtor and returns 0x010649D0 10 thunk_to_STL_string_dtor_010649d0 stl Wrapper that calls STL_string_dtor and returns 0x010649E0 10 thunk_to_STL_string_dtor_010649e0 stl Wrapper that calls STL_string_dtor and returns 0x010649F0 10 thunk_to_STL_string_dtor_010649f0 stl Wrapper that calls STL_string_dtor and returns 0x01064A00 10 thunk_to_STL_string_dtor_01064a00 stl Wrapper that calls STL_string_dtor and returns 0x01064A10 10 thunk_to_STL_string_dtor_01064a10 stl Wrapper that calls STL_string_dtor and returns 0x01064A90 280 atexit_unregister_window_classes_and_cleanup_01064a90 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01064BB0 66 atexit_STL_map_destroy_wrapper_01064bb0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01064C00 69 tls_clear_field_at_0x23a0 crt TLS field initializer: zeroes 0x33 bytes at offset 0x23a0 in the thread-local storage block. Called during thread init to clear a TLS string/buffer field. 0x01064C50 69 tls_clear_field_at_0x23d8 crt TLS field initializer: zeroes 0x31 bytes at offset 0x23d8 in the thread-local storage block. Called during thread init to clear a TLS string/buffer field. 0x01064CA0 69 tls_clear_field_at_0x2410 crt TLS field initializer: zeroes 0x32 bytes at offset 0x2410 in the thread-local storage block. Called during thread init. 0x01064CF0 69 tls_clear_field_at_0x2448 crt TLS field initializer: zeroes 0x34 bytes at offset 0x2448 in the thread-local storage block. Called during thread init. 0x01064D40 69 tls_clear_field_at_0x2484 crt TLS field initializer: zeroes 0x32 bytes at offset 0x2484 in the thread-local storage block. Called during thread init. 0x01064D90 69 tls_clear_field_at_0x24bc crt TLS field initializer: zeroes 0x33 bytes at offset 0x24bc in the thread-local storage block. Called during thread init. 0x01064DE0 69 tls_clear_field_at_0x24f4 crt TLS field initializer: zeroes 9 bytes at offset 0x24f4 in the thread-local storage block. Called during thread init. 0x01064E30 69 tls_clear_field_at_0x2504 crt TLS field initializer: zeroes 0x10 bytes at offset 0x2504 in the thread-local storage block. Called during thread init. 0x01064E80 69 tls_clear_field_at_0x251c crt TLS field initializer: zeroes 0x11 bytes at offset 0x251c in the thread-local storage block. Called during thread init. 0x01064ED0 69 tls_clear_field_at_0x2534 crt TLS field initializer: zeroes 0x20 bytes at offset 0x2534 in the thread-local storage block. Called during thread init. 0x01064F20 69 tls_clear_field_at_0x26b0 crt TLS field initializer: zeroes 0x10 bytes at offset 0x26b0 in the thread-local storage block. Called during thread init. 0x01064F70 69 tls_clear_field_at_0x21dc crt TLS field initializer: zeroes 0x2c bytes at offset 0x21dc in the thread-local storage block. Called during thread init. 0x01064FC0 69 tls_clear_field_at_0x2794 crt TLS field initializer: zeroes 0x2e bytes at offset 0x2794 in the thread-local storage block. Called during thread init. 0x01065010 69 tls_clear_field_at_0x276c crt TLS field initializer: zeroes 0xc bytes at offset 0x276c in the thread-local storage block. Called during thread init. 0x01065060 69 tls_clear_field_at_0x21b4 crt TLS field initializer: zeroes 3 bytes at offset 0x21b4 in the thread-local storage block. Called during thread init. 0x010650B0 69 tls_clear_field_010650b0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065100 69 tls_clear_field_01065100 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065150 69 tls_clear_field_01065150 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010651A0 69 tls_clear_field_010651a0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010651F0 69 tls_clear_field_010651f0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065240 69 tls_clear_field_01065240 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065290 69 tls_clear_field_01065290 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010652E0 69 tls_clear_field_010652e0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065330 69 tls_clear_field_01065330 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065380 69 tls_clear_field_01065380 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010653D0 69 tls_clear_field_010653d0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065420 69 tls_clear_field_01065420 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065470 69 tls_clear_field_01065470 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010654C0 69 tls_clear_field_010654c0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065510 69 tls_clear_field_01065510 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065560 69 tls_clear_field_01065560 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010655B0 69 tls_clear_field_010655b0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065600 69 tls_clear_field_01065600 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065650 69 tls_clear_field_01065650 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010656A0 69 tls_clear_field_010656a0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010656F0 69 tls_clear_field_010656f0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065740 69 tls_clear_field_01065740 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065790 69 tls_clear_field_01065790 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010657E0 69 tls_clear_field_010657e0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065830 69 tls_clear_field_01065830 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065880 69 tls_clear_field_01065880 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010658D0 69 tls_clear_field_010658d0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065920 69 tls_clear_field_01065920 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065970 69 tls_clear_field_01065970 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010659C0 69 tls_clear_field_010659c0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065A10 69 tls_clear_field_01065a10 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065A60 69 tls_clear_field_01065a60 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065AB0 69 tls_clear_field_01065ab0 crt TLS field initializer: zeroes a byte buffer at a specific offset in the thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01065B00 66 atexit_CRenderPipeline_destroy_wrapper_01065b00 crt atexit cleanup wrapper: calls CRenderPipeline__destroy_linked_list_and_vector to destroy a global render pipeline linked list. SEH-protected with stack cookie. 0x01065B50 10 thunk_to_STL_string_dtor_01065b50 stl Wrapper that calls STL_string_dtor and returns 0x01065B60 10 thunk_to_STL_string_dtor_01065b60 stl Wrapper that calls STL_string_dtor and returns 0x01065B70 10 thunk_to_STL_string_dtor_01065b70 stl Wrapper that calls STL_string_dtor and returns 0x01065B80 10 thunk_to_STL_string_dtor_01065b80 stl Wrapper that calls STL_string_dtor and returns 0x01065B90 10 thunk_to_STL_string_dtor_01065b90 stl Wrapper that calls STL_string_dtor and returns 0x01065BA0 10 thunk_to_STL_string_dtor_01065ba0 stl Wrapper that calls STL_string_dtor and returns 0x01065BB0 10 thunk_to_STL_string_dtor_01065bb0 stl Wrapper that calls STL_string_dtor and returns 0x01065BC0 10 thunk_to_STL_string_dtor_01065bc0 stl Wrapper that calls STL_string_dtor and returns 0x01065BD0 10 thunk_to_STL_string_dtor_01065bd0 stl Wrapper that calls STL_string_dtor and returns 0x01065BE0 10 thunk_to_STL_string_dtor_01065be0 stl Wrapper that calls STL_string_dtor and returns 0x01065BF0 10 thunk_to_STL_string_dtor_01065bf0 stl Wrapper that calls STL_string_dtor and returns 0x01065C00 10 thunk_to_STL_string_dtor_01065c00 stl Wrapper that calls STL_string_dtor and returns 0x01065C10 10 thunk_to_STL_string_dtor_01065c10 stl Wrapper that calls STL_string_dtor and returns 0x01065C20 10 thunk_to_STL_string_dtor_01065c20 stl Wrapper that calls STL_string_dtor and returns 0x01065C30 10 thunk_to_STL_string_dtor_01065c30 stl Wrapper that calls STL_string_dtor and returns 0x01065C40 10 thunk_to_STL_string_dtor_01065c40 stl Wrapper that calls STL_string_dtor and returns 0x01065C50 10 thunk_to_STL_string_dtor_01065c50 stl Wrapper that calls STL_string_dtor and returns 0x01065C60 10 thunk_to_STL_string_dtor_01065c60 stl Wrapper that calls STL_string_dtor and returns 0x01065C70 10 thunk_to_STL_string_dtor_01065c70 stl Wrapper that calls STL_string_dtor and returns 0x01065C80 10 thunk_to_STL_string_dtor_01065c80 stl Wrapper that calls STL_string_dtor and returns 0x01065C90 10 thunk_to_STL_string_dtor_01065c90 stl Wrapper that calls STL_string_dtor and returns 0x01065CA0 10 thunk_to_STL_string_dtor_01065ca0 stl Wrapper that calls STL_string_dtor and returns 0x01065CB0 10 thunk_to_STL_string_dtor_01065cb0 stl Wrapper that calls STL_string_dtor and returns 0x01065CC0 10 thunk_to_STL_string_dtor_01065cc0 stl Wrapper that calls STL_string_dtor and returns 0x01065CD0 10 thunk_to_STL_string_dtor_01065cd0 stl Wrapper that calls STL_string_dtor and returns 0x01065CE0 10 thunk_to_STL_string_dtor_01065ce0 stl Wrapper that calls STL_string_dtor and returns 0x01065CF0 10 thunk_to_STL_string_dtor_01065cf0 stl Wrapper that calls STL_string_dtor and returns 0x01065D70 280 atexit_unregister_window_classes_and_cleanup_01065d70 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01065E90 66 atexit_STL_map_destroy_wrapper_01065e90 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01065EE0 95 atexit_STL_tree_delete_and_free_01065ee0 crt atexit cleanup: deletes all nodes from a global STL tree (0x30-byte nodes with string keys) at DAT_01456f6c, then frees the tree header. SEH-protected with stack cookie. 0x01065F40 95 atexit_STL_tree_delete_and_free_01065f40 crt atexit cleanup: deletes all nodes from a global STL tree (0x34-byte nodes with formatted keys) at DAT_01456f7c, then frees the tree header. SEH-protected with stack cookie. 0x01065FA0 10 thunk_to_STL_string_dtor_01065fa0 stl Wrapper that calls STL_string_dtor and returns 0x01065FB0 10 thunk_to_STL_string_dtor_01065fb0 stl Wrapper that calls STL_string_dtor and returns 0x01065FC0 10 thunk_to_STL_string_dtor_01065fc0 stl Wrapper that calls STL_string_dtor and returns 0x01065FD0 10 thunk_to_STL_string_dtor_01065fd0 stl Wrapper that calls STL_string_dtor and returns 0x01065FE0 10 thunk_to_STL_string_dtor_01065fe0 stl Wrapper that calls STL_string_dtor and returns 0x01065FF0 10 thunk_to_STL_string_dtor_01065ff0 stl Wrapper that calls STL_string_dtor and returns 0x01066000 10 thunk_to_STL_string_dtor_01066000 stl Wrapper that calls STL_string_dtor and returns 0x01066010 10 thunk_to_STL_string_dtor_01066010 stl Wrapper function that calls STL_string_dtor and returns 0x01066020 10 thunk_to_STL_string_dtor_01066020 stl Wrapper that calls STL_string_dtor and returns 0x01066030 10 thunk_to_STL_string_dtor_01066030 stl Wrapper function that calls STL_string_dtor and returns 0x01066040 10 thunk_to_STL_string_dtor_01066040 stl Wrapper that calls STL_string_dtor and returns 0x01066050 10 thunk_to_STL_string_dtor_01066050 stl Wrapper that calls STL_string_dtor and returns 0x01066060 10 thunk_to_STL_string_dtor_01066060 stl Wrapper that calls STL_string_dtor and returns 0x01066070 10 thunk_to_STL_string_dtor_01066070 stl Wrapper that calls STL_string_dtor and returns 0x01066080 10 thunk_to_STL_string_dtor_01066080 stl Wrapper that calls STL string destructor 0x01066090 10 thunk_to_STL_string_dtor_01066090 stl Wrapper that calls STL_string_dtor and returns 0x010660A0 10 thunk_to_STL_string_dtor_010660a0 stl Wrapper that calls STL_string_dtor and returns 0x010660B0 10 thunk_to_STL_string_dtor_010660b0 stl Wrapper that calls STL_string_dtor and returns 0x010660C0 10 thunk_to_STL_string_dtor_010660c0 stl Wrapper that calls STL_string_dtor and returns 0x010660D0 10 thunk_to_STL_string_dtor_010660d0 stl Wrapper that calls STL_string_dtor and returns 0x010660E0 10 thunk_to_STL_string_dtor_010660e0 stl Wrapper that calls STL_string_dtor and returns 0x010660F0 10 thunk_to_STL_string_dtor_010660f0 stl Wrapper that calls STL_string_dtor and returns 0x01066100 10 thunk_to_STL_string_dtor_01066100 stl Wrapper that calls STL_string_dtor and returns 0x01066110 10 thunk_to_STL_string_dtor_01066110 stl Wrapper that calls STL_string_dtor and returns 0x01066120 10 thunk_to_STL_string_dtor_01066120 stl Wrapper that calls STL_string_dtor and returns 0x010661A0 280 atexit_unregister_window_classes_and_cleanup_010661a0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010662C0 66 atexit_STL_map_destroy_wrapper_010662c0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01066310 66 atexit_CRenderPipeline_destroy_wrapper_01066310 crt atexit cleanup wrapper: calls CRenderPipeline__destroy_linked_list_and_vector to destroy a global render pipeline linked list. SEH-protected with stack cookie. 0x01066360 10 thunk_to_STL_string_dtor_01066360 stl Wrapper that calls STL_string_dtor and returns 0x01066370 10 thunk_to_STL_string_dtor_01066370 stl Wrapper that calls STL_string_dtor and returns 0x01066380 10 thunk_to_STL_string_dtor_01066380 stl Wrapper that calls STL_string_dtor and returns 0x01066390 10 thunk_to_STL_string_dtor_01066390 stl Wrapper that calls STL_string_dtor and returns 0x010663A0 10 thunk_to_STL_string_dtor_010663a0 stl Wrapper that calls STL_string_dtor and returns 0x010663B0 10 thunk_to_STL_string_dtor_010663b0 stl Wrapper that calls STL_string_dtor and returns 0x010663C0 10 thunk_to_STL_string_dtor_010663c0 stl Wrapper that calls STL_string_dtor and returns 0x010663D0 10 thunk_to_STL_string_dtor_010663d0 stl Wrapper that calls STL_string_dtor and returns 0x010663E0 10 thunk_to_STL_string_dtor_010663e0 stl Wrapper that calls STL_string_dtor and returns 0x010663F0 10 thunk_to_STL_string_dtor_010663f0 stl Wrapper that calls STL_string_dtor and returns 0x01066400 10 thunk_to_STL_string_dtor_01066400 stl Wrapper that calls STL_string_dtor and returns 0x01066410 10 thunk_to_STL_string_dtor_01066410 stl Wrapper that calls STL_string_dtor and returns 0x01066420 10 thunk_to_STL_string_dtor_01066420 stl Wrapper that calls STL_string_dtor and returns 0x01066430 10 thunk_to_STL_string_dtor_01066430 stl Wrapper that calls STL_string_dtor and returns 0x01066440 10 thunk_to_STL_string_dtor_01066440 stl Wrapper that calls STL_string_dtor and returns 0x01066450 10 thunk_to_STL_string_dtor_01066450 stl Wrapper that calls STL_string_dtor and returns 0x01066460 10 thunk_to_STL_string_dtor_01066460 stl Wrapper that calls STL_string_dtor and returns 0x01066470 10 thunk_to_STL_string_dtor_01066470 stl Wrapper that calls STL_string_dtor and returns 0x01066480 10 thunk_to_STL_string_dtor_01066480 stl Wrapper that calls STL_string_dtor and returns 0x01066490 10 thunk_to_STL_string_dtor_01066490 stl Wrapper that calls STL_string_dtor and returns 0x010664A0 10 thunk_to_STL_string_dtor_010664a0 stl Wrapper that calls STL_string_dtor and returns 0x010664B0 10 thunk_to_STL_string_dtor_010664b0 stl Wrapper that calls STL_string_dtor and returns 0x010664C0 10 thunk_to_STL_string_dtor_010664c0 stl Wrapper that calls STL_string_dtor and returns 0x010664D0 10 thunk_to_STL_string_dtor_010664d0 stl Wrapper that calls STL_string_dtor and returns 0x010664E0 10 thunk_to_STL_string_dtor_010664e0 stl Wrapper that calls STL_string_dtor and returns 0x01066560 280 atexit_unregister_window_classes_and_cleanup_01066560 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01066680 66 atexit_STL_map_destroy_wrapper_01066680 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010666D0 10 thunk_to_STL_string_dtor_010666d0 stl Wrapper function that calls STL_string_dtor and returns 0x010666E0 10 thunk_to_STL_string_dtor_010666e0 stl Wrapper that calls STL_string_dtor and returns 0x010666F0 10 thunk_to_STL_string_dtor_010666f0 stl Wrapper that calls STL_string_dtor and returns 0x01066700 10 thunk_to_STL_string_dtor_01066700 stl Wrapper that calls STL_string_dtor and returns 0x01066720 10 thunk_to_STL_string_dtor_01066720 stl Wrapper that calls STL_string_dtor and returns 0x01066730 10 thunk_to_STL_string_dtor_01066730 stl Wrapper that calls STL_string_dtor and returns 0x01066740 10 thunk_to_STL_string_dtor_01066740 stl Wrapper that calls STL_string_dtor and returns 0x01066750 10 thunk_to_STL_string_dtor_01066750 stl Wrapper function that calls STL_string_dtor and returns 0x01066760 10 thunk_to_STL_string_dtor_01066760 stl Wrapper that calls STL_string_dtor and returns 0x01066770 10 thunk_to_STL_string_dtor_01066770 stl Wrapper that calls STL_string_dtor and returns 0x01066780 10 thunk_to_STL_string_dtor_01066780 stl Wrapper that calls STL_string_dtor and returns 0x01066790 10 thunk_to_STL_string_dtor_01066790 stl Wrapper that calls STL_string_dtor and returns 0x010667A0 10 thunk_to_STL_string_dtor_010667a0 stl Wrapper that calls STL_string_dtor and returns 0x010667B0 10 thunk_to_STL_string_dtor_010667b0 stl Wrapper that calls STL_string_dtor and returns 0x010667C0 10 thunk_to_STL_string_dtor_010667c0 stl Wrapper that calls STL_string_dtor and returns 0x010667D0 10 thunk_to_STL_string_dtor_010667d0 stl Wrapper that calls STL_string_dtor and returns 0x010667E0 10 thunk_to_STL_string_dtor_010667e0 stl Wrapper that calls STL_string_dtor and returns 0x010667F0 10 thunk_to_STL_string_dtor_010667f0 stl Wrapper that calls STL_string_dtor and returns 0x01066800 10 thunk_to_STL_string_dtor_01066800 stl Wrapper that calls STL_string_dtor and returns 0x01066810 10 thunk_to_STL_string_dtor_01066810 stl Wrapper that calls STL_string_dtor and returns 0x01066820 10 thunk_to_STL_string_dtor_01066820 stl Wrapper that calls STL_string_dtor and returns 0x01066830 10 thunk_to_STL_string_dtor_01066830 stl Wrapper that calls STL_string_dtor and returns 0x01066840 10 thunk_to_STL_string_dtor_01066840 stl Wrapper that calls STL_string_dtor and returns 0x01066850 10 thunk_to_STL_string_dtor_01066850 stl Wrapper that calls STL_string_dtor and returns 0x010668D0 280 atexit_unregister_window_classes_and_cleanup_010668d0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010669F0 66 atexit_STL_map_destroy_wrapper_010669f0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01066A40 66 atexit_STL_string_dtor_wrapper crt atexit cleanup wrapper: calls STL_string_dtor to destroy a global STL string. SEH-protected with stack cookie. 0x01066A90 10 thunk_to_STL_string_dtor_01066a90 stl Wrapper that calls STL_string_dtor and returns 0x01066AA0 10 thunk_to_STL_string_dtor_01066aa0 stl Wrapper that calls STL_string_dtor and returns 0x01066AB0 10 thunk_to_STL_string_dtor_01066ab0 stl Wrapper that calls STL_string_dtor and returns 0x01066AC0 10 thunk_to_STL_string_dtor_01066ac0 stl Wrapper that calls STL_string_dtor and returns 0x01066AD0 10 thunk_to_STL_string_dtor_01066ad0 stl Wrapper that calls STL_string_dtor and returns 0x01066AE0 10 thunk_to_STL_string_dtor_01066ae0 stl Wrapper that calls STL_string_dtor and returns 0x01066AF0 10 thunk_to_STL_string_dtor_01066af0 stl Wrapper that calls STL_string_dtor and returns 0x01066B00 10 thunk_to_STL_string_dtor_01066b00 stl Wrapper that calls STL_string_dtor and returns 0x01066B10 10 thunk_to_STL_string_dtor_01066b10 stl Wrapper that calls STL_string_dtor and returns 0x01066B20 10 thunk_to_STL_string_dtor_01066b20 stl Wrapper that calls STL_string_dtor and returns 0x01066B30 10 thunk_to_STL_string_dtor_01066b30 stl Wrapper that calls STL_string_dtor and returns 0x01066B40 10 thunk_to_STL_string_dtor_01066b40 stl Wrapper that calls STL_string_dtor and returns 0x01066B50 10 thunk_to_STL_string_dtor_01066b50 stl Wrapper that calls STL_string_dtor and returns 0x01066B60 10 thunk_to_STL_string_dtor_01066b60 stl Wrapper that calls STL_string_dtor and returns 0x01066B70 10 thunk_to_STL_string_dtor_01066b70 stl Wrapper that calls STL_string_dtor and returns 0x01066B80 10 thunk_to_STL_string_dtor_01066b80 stl Wrapper that calls STL_string_dtor and returns 0x01066B90 10 thunk_to_STL_string_dtor_01066b90 stl Wrapper that calls STL_string_dtor and returns 0x01066BA0 10 thunk_to_STL_string_dtor_01066ba0 stl Wrapper that calls STL_string_dtor and returns 0x01066BB0 10 thunk_to_STL_string_dtor_01066bb0 stl Wrapper that calls STL_string_dtor and returns 0x01066BC0 10 thunk_to_STL_string_dtor_01066bc0 stl Wrapper that calls STL_string_dtor and returns 0x01066BD0 10 thunk_to_STL_string_dtor_01066bd0 stl Wrapper that calls STL_string_dtor and returns 0x01066BE0 10 thunk_to_STL_string_dtor_01066be0 stl Wrapper that calls STL_string_dtor and returns 0x01066BF0 10 thunk_to_STL_string_dtor_01066bf0 stl Wrapper that calls STL_string_dtor and returns 0x01066C00 10 thunk_to_STL_string_dtor_01066c00 stl Wrapper function that calls STL_string_dtor and returns 0x01066C10 10 thunk_to_STL_string_dtor_01066c10 stl Wrapper that calls STL_string_dtor and returns 0x01066C90 280 atexit_unregister_window_classes_and_cleanup_01066c90 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01066DB0 66 atexit_STL_map_destroy_wrapper_01066db0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01066E00 10 thunk_to_STL_string_dtor_01066e00 stl Wrapper that calls STL_string_dtor and returns 0x01066E10 10 thunk_to_STL_string_dtor_01066e10 stl Wrapper that calls STL_string_dtor and returns 0x01066E20 10 thunk_to_STL_string_dtor_01066e20 stl Wrapper that calls STL_string_dtor and returns 0x01066E30 10 thunk_to_STL_string_dtor_01066e30 stl Wrapper that calls STL_string_dtor and returns 0x01066E40 10 thunk_to_STL_string_dtor_01066e40 stl Wrapper that calls STL_string_dtor and returns 0x01066E50 10 thunk_to_STL_string_dtor_01066e50 stl Wrapper that calls STL_string_dtor and returns 0x01066E60 10 thunk_to_STL_string_dtor_01066e60 stl Wrapper that calls STL_string_dtor and returns 0x01066E70 10 thunk_to_STL_string_dtor_01066e70 stl Wrapper that calls STL_string_dtor and returns 0x01066E80 10 thunk_to_STL_string_dtor_01066e80 stl Wrapper function that calls STL_string_dtor and returns 0x01066E90 10 thunk_to_STL_string_dtor_01066e90 stl Wrapper that calls STL_string_dtor and returns 0x01066EA0 10 thunk_to_STL_string_dtor_01066ea0 stl Wrapper that calls STL_string_dtor and returns 0x01066EB0 10 thunk_to_STL_string_dtor_01066eb0 stl Wrapper that calls STL_string_dtor and returns 0x01066EC0 10 thunk_to_STL_string_dtor_01066ec0 stl Wrapper that calls STL_string_dtor and returns 0x01066ED0 10 thunk_to_STL_string_dtor_01066ed0 stl Wrapper function that calls STL_string_dtor and returns 0x01066EE0 10 thunk_to_STL_string_dtor_01066ee0 stl Wrapper that calls STL_string_dtor and returns 0x01066EF0 10 thunk_to_STL_string_dtor_01066ef0 stl Wrapper that calls STL_string_dtor and returns 0x01066F00 10 thunk_to_STL_string_dtor_01066f00 stl Wrapper that calls STL_string_dtor and returns 0x01066F10 10 thunk_to_STL_string_dtor_01066f10 stl Wrapper that calls STL_string_dtor and returns 0x01066F20 10 thunk_to_STL_string_dtor_01066f20 stl Wrapper that calls STL_string_dtor and returns 0x01066F30 10 thunk_to_STL_string_dtor_01066f30 stl Wrapper that calls STL_string_dtor and returns 0x01066F40 10 thunk_to_STL_string_dtor_01066f40 stl Wrapper that calls STL_string_dtor and returns 0x01066F50 10 thunk_to_STL_string_dtor_01066f50 stl Wrapper that calls STL_string_dtor and returns 0x01066F60 10 thunk_to_STL_string_dtor_01066f60 stl Wrapper that calls STL_string_dtor and returns 0x01066F70 10 thunk_to_STL_string_dtor_01066f70 stl Wrapper that calls STL_string_dtor and returns 0x01066F80 10 thunk_to_STL_string_dtor_01066f80 stl Wrapper that calls STL_string_dtor and returns 0x01067000 280 atexit_unregister_window_classes_and_cleanup_01067000 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01067120 66 atexit_STL_map_destroy_wrapper_01067120 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01067170 10 thunk_to_STL_string_dtor_01067170 stl Wrapper that calls STL_string_dtor and returns 0x01067180 10 thunk_to_STL_string_dtor_01067180 stl Wrapper that calls STL_string_dtor and returns 0x01067190 10 thunk_to_STL_string_dtor_01067190 stl Wrapper that calls STL_string_dtor and returns 0x010671A0 10 thunk_to_STL_string_dtor_010671a0 stl Wrapper that calls STL_string_dtor and returns 0x010671B0 10 thunk_to_STL_string_dtor_010671b0 stl Wrapper that calls STL_string_dtor and returns 0x010671C0 10 thunk_to_STL_string_dtor_010671c0 stl Wrapper that calls STL_string_dtor and returns 0x010671D0 10 thunk_to_STL_string_dtor_010671d0 stl Wrapper that calls STL_string_dtor and returns 0x010671E0 10 thunk_to_STL_string_dtor_010671e0 stl Wrapper that calls STL_string_dtor and returns 0x010671F0 10 thunk_to_STL_string_dtor_010671f0 stl Wrapper that calls STL_string_dtor and returns 0x01067200 10 thunk_to_STL_string_dtor_01067200 stl Wrapper that calls STL_string_dtor destructor 0x01067210 10 thunk_to_STL_string_dtor_01067210 stl Wrapper that calls STL_string_dtor and returns 0x01067220 10 thunk_to_STL_string_dtor_01067220 stl Wrapper that calls STL_string_dtor and returns 0x01067230 10 thunk_to_STL_string_dtor_01067230 stl Wrapper that calls STL_string_dtor and returns 0x01067240 10 thunk_to_STL_string_dtor_01067240 stl Wrapper that calls STL_string_dtor and returns 0x01067250 10 thunk_to_STL_string_dtor_01067250 stl Wrapper function that calls STL_string_dtor and returns 0x01067260 10 thunk_to_STL_string_dtor_01067260 stl Wrapper that calls STL_string_dtor and returns 0x01067270 10 thunk_to_STL_string_dtor_01067270 stl Wrapper that calls STL string destructor and returns 0x01067280 10 thunk_to_STL_string_dtor_01067280 stl Wrapper that calls STL_string_dtor and returns 0x01067290 10 thunk_to_STL_string_dtor_01067290 stl Wrapper that calls STL_string_dtor and returns 0x010672A0 10 thunk_to_STL_string_dtor_010672a0 stl Wrapper that calls STL_string_dtor and returns 0x010672B0 10 thunk_to_STL_string_dtor_010672b0 stl Wrapper that calls STL_string_dtor and returns 0x010672C0 10 thunk_to_STL_string_dtor_010672c0 stl Wrapper that calls STL_string_dtor and returns 0x010672D0 10 thunk_to_STL_string_dtor_010672d0 stl Wrapper that calls STL_string_dtor and returns 0x010672E0 10 thunk_to_STL_string_dtor_010672e0 stl Wrapper that calls STL_string_dtor and returns 0x010672F0 10 thunk_to_STL_string_dtor_010672f0 stl Wrapper that calls STL_string_dtor and returns 0x01067370 280 atexit_unregister_window_classes_and_cleanup_01067370 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01067490 66 atexit_STL_map_destroy_wrapper_01067490 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010674E0 10 thunk_to_STL_string_dtor_010674e0 stl Wrapper that calls STL_string_dtor and returns 0x010674F0 10 thunk_to_STL_string_dtor_010674f0 stl Wrapper that calls STL_string_dtor and returns 0x01067500 10 thunk_to_STL_string_dtor_01067500 stl Wrapper that calls STL_string_dtor and returns 0x01067510 10 thunk_to_STL_string_dtor_01067510 stl Wrapper that calls STL_string_dtor and returns 0x01067520 10 thunk_to_STL_string_dtor_01067520 stl Wrapper that calls STL_string_dtor and returns 0x01067530 10 thunk_to_STL_string_dtor_01067530 stl Wrapper that calls STL_string_dtor and returns 0x01067540 10 thunk_to_STL_string_dtor_01067540 stl Wrapper that calls STL_string_dtor and returns 0x01067550 10 thunk_to_STL_string_dtor_01067550 stl Wrapper that calls STL_string_dtor and returns 0x01067560 10 thunk_to_STL_string_dtor_01067560 stl Wrapper that calls STL_string_dtor and returns 0x01067570 10 thunk_to_STL_string_dtor_01067570 stl Wrapper that calls STL_string_dtor and returns 0x01067580 10 thunk_to_STL_string_dtor_01067580 stl Wrapper that calls STL_string_dtor and returns 0x01067590 10 thunk_to_STL_string_dtor_01067590 stl Wrapper that calls STL_string_dtor and returns 0x010675A0 10 thunk_to_STL_string_dtor_010675a0 stl Wrapper that calls STL_string_dtor and returns 0x010675B0 10 thunk_to_STL_string_dtor_010675b0 stl Wrapper that calls STL_string_dtor and returns 0x010675C0 10 thunk_to_STL_string_dtor_010675c0 stl Wrapper that calls STL_string_dtor and returns 0x010675D0 10 thunk_to_STL_string_dtor_010675d0 stl Wrapper that calls STL_string_dtor and returns 0x010675E0 10 thunk_to_STL_string_dtor_010675e0 stl Wrapper that calls STL_string_dtor and returns 0x010675F0 10 thunk_to_STL_string_dtor_010675f0 stl Wrapper that calls STL_string_dtor and returns 0x01067600 10 thunk_to_STL_string_dtor_01067600 stl Wrapper that calls STL_string_dtor and returns 0x01067610 10 thunk_to_STL_string_dtor_01067610 stl Wrapper that calls STL_string_dtor and returns 0x01067620 10 thunk_to_STL_string_dtor_01067620 stl Wrapper that calls STL_string_dtor and returns 0x01067630 10 thunk_to_STL_string_dtor_01067630 stl Wrapper that calls STL_string_dtor and returns 0x01067640 10 thunk_to_STL_string_dtor_01067640 stl Wrapper that calls STL_string_dtor and returns 0x01067650 10 thunk_to_STL_string_dtor_01067650 stl Wrapper that calls STL_string_dtor and returns 0x01067660 10 thunk_to_STL_string_dtor_01067660 stl Wrapper that calls STL_string_dtor and returns 0x010676E0 280 atexit_unregister_window_classes_and_cleanup_010676e0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01067800 66 atexit_STL_map_destroy_wrapper_01067800 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01067850 66 atexit_CRenderPipeline_destroy_wrapper_01067850 crt atexit cleanup wrapper: calls CRenderPipeline__destroy_linked_list_and_vector to destroy a global render pipeline linked list. SEH-protected with stack cookie. 0x010678A0 10 thunk_to_STL_string_dtor_010678a0 stl Wrapper that calls STL_string_dtor and returns 0x010678B0 10 thunk_to_STL_string_dtor_010678b0 stl Wrapper that calls STL_string_dtor and returns 0x010678C0 10 thunk_to_STL_string_dtor_010678c0 stl Wrapper that calls STL_string_dtor and returns 0x010678D0 10 thunk_to_STL_string_dtor_010678d0 stl Wrapper that calls STL_string_dtor and returns 0x010678E0 10 thunk_to_STL_string_dtor_010678e0 stl Wrapper that calls STL_string_dtor and returns 0x010678F0 10 thunk_to_STL_string_dtor_010678f0 stl Wrapper that calls STL_string_dtor and returns 0x01067900 10 thunk_to_STL_string_dtor_01067900 stl Wrapper that calls STL_string_dtor and returns 0x01067910 10 thunk_to_STL_string_dtor_01067910 stl Wrapper calling STL_string_dtor destructor 0x01067920 10 thunk_to_STL_string_dtor_01067920 stl Wrapper that calls STL_string_dtor and returns 0x01067930 10 thunk_to_STL_string_dtor_01067930 stl Wrapper that calls STL_string_dtor and returns 0x01067940 10 thunk_to_STL_string_dtor_01067940 stl Wrapper that calls STL_string_dtor destructor 0x01067950 10 thunk_to_STL_string_dtor_01067950 stl Wrapper that calls STL_string_dtor and returns 0x01067960 10 thunk_to_STL_string_dtor_01067960 stl Wrapper that calls STL_string_dtor and returns 0x01067970 10 thunk_to_STL_string_dtor_01067970 stl Wrapper that calls STL_string_dtor and returns 0x01067980 10 thunk_to_STL_string_dtor_01067980 stl Wrapper that calls STL_string_dtor and returns 0x01067990 10 thunk_to_STL_string_dtor_01067990 stl Wrapper that calls STL_string_dtor and returns 0x010679A0 10 thunk_to_STL_string_dtor_010679a0 stl Wrapper that calls STL_string_dtor and returns 0x010679B0 10 thunk_to_STL_string_dtor_010679b0 stl Wrapper that calls STL_string_dtor and returns 0x010679C0 10 thunk_to_STL_string_dtor_010679c0 stl Wrapper that calls STL_string_dtor and returns 0x010679D0 10 thunk_to_STL_string_dtor_010679d0 stl Wrapper that calls STL_string_dtor and returns 0x010679E0 10 thunk_to_STL_string_dtor_010679e0 stl Wrapper that calls STL_string_dtor and returns 0x010679F0 10 thunk_to_STL_string_dtor_010679f0 stl Wrapper that calls STL_string_dtor and returns 0x01067A00 10 thunk_to_STL_string_dtor_01067a00 stl Wrapper that calls STL_string_dtor and returns 0x01067A10 10 thunk_to_STL_string_dtor_01067a10 stl Wrapper that calls STL_string_dtor and returns 0x01067A20 10 thunk_to_STL_string_dtor_01067a20 stl Wrapper that calls STL_string_dtor and returns 0x01067AA0 280 atexit_unregister_window_classes_and_cleanup_01067aa0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01067BC0 66 atexit_STL_map_destroy_wrapper_01067bc0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. Same pattern as other atexit_STL_map_destroy_wrapper functions. 0x01067C10 141 atexit_STL_tree_0x814_destroy_all_nodes crt atexit cleanup: iterates a linked list of STL tree nodes (size 0x814 each) at global DAT_01457010, recursively destroys each tree node's subtree via std__tree_0x814__recursive_destroy, then frees each 0x814-byte node. Finally destroys the root sentinel. SEH-protected with stack cookie. 0x01067CA0 10 thunk_to_STL_string_dtor_01067ca0 stl Wrapper that calls STL_string_dtor and returns 0x01067CB0 10 thunk_to_STL_string_dtor_01067cb0 stl Wrapper that calls STL_string_dtor and returns 0x01067CC0 10 thunk_to_STL_string_dtor_01067cc0 stl Wrapper that calls STL_string_dtor and returns 0x01067CD0 10 thunk_to_STL_string_dtor_01067cd0 stl Wrapper that calls STL_string_dtor and returns 0x01067CE0 10 thunk_to_STL_string_dtor_01067ce0 stl Wrapper that calls STL_string_dtor and returns 0x01067CF0 10 thunk_to_STL_string_dtor_01067cf0 stl Wrapper that calls STL_string_dtor and returns 0x01067D00 10 thunk_to_STL_string_dtor_01067d00 stl Wrapper that calls STL_string_dtor and returns 0x01067D10 10 thunk_to_STL_string_dtor_01067d10 stl Wrapper that calls STL_string_dtor and returns 0x01067D20 10 thunk_to_STL_string_dtor_01067d20 stl Wrapper that calls STL_string_dtor and returns 0x01067D30 10 thunk_to_STL_string_dtor_01067d30 stl Wrapper that calls STL_string_dtor and returns 0x01067D40 10 thunk_to_STL_string_dtor_01067d40 stl Wrapper that calls STL_string_dtor and returns 0x01067D50 10 thunk_to_STL_string_dtor_01067d50 stl Wrapper that calls STL_string_dtor and returns 0x01067D60 10 thunk_to_STL_string_dtor_01067d60 stl Wrapper that calls STL_string_dtor and returns 0x01067D70 10 thunk_to_STL_string_dtor_01067d70 stl Wrapper that calls STL_string_dtor and returns 0x01067D80 10 thunk_to_STL_string_dtor_01067d80 stl Wrapper that calls STL_string_dtor and returns 0x01067D90 10 thunk_to_STL_string_dtor_01067d90 stl Wrapper that calls STL_string_dtor and returns 0x01067DA0 10 thunk_to_STL_string_dtor_01067da0 stl Wrapper that calls STL_string_dtor and returns 0x01067DB0 10 thunk_to_STL_string_dtor_01067db0 stl Wrapper that calls STL_string_dtor and returns 0x01067DC0 10 thunk_to_STL_string_dtor_01067dc0 stl Wrapper that calls STL_string_dtor and returns 0x01067DD0 10 thunk_to_STL_string_dtor_01067dd0 stl Wrapper that calls STL_string_dtor and returns 0x01067DE0 10 thunk_to_STL_string_dtor_01067de0 stl Wrapper that calls STL_string_dtor and returns 0x01067DF0 10 thunk_to_STL_string_dtor_01067df0 stl Wrapper that calls STL_string_dtor and returns 0x01067E00 10 thunk_to_STL_string_dtor_01067e00 stl Wrapper that calls STL_string_dtor and returns 0x01067E10 10 thunk_to_STL_string_dtor_01067e10 stl Wrapper that calls STL_string_dtor and returns 0x01067E20 10 thunk_to_STL_string_dtor_01067e20 stl Wrapper that calls STL_string_dtor and returns 0x01067EA0 280 CRT_atexit_unregister_window_classes_01067ea0 crt Atexit cleanup handler: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy for separate compilation unit. 0x01067FC0 66 tls_destroy_map_01067fc0 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x01068080 280 CRT_atexit_unregister_window_classes_01068080 crt Atexit cleanup handler: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy for separate compilation unit. 0x01068210 280 CRT_atexit_unregister_window_classes_01068210 crt Atexit cleanup handler: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy for separate compilation unit. 0x010683A0 280 CRT_atexit_unregister_window_classes_010683a0 crt Atexit cleanup handler: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy for separate compilation unit. 0x01068530 280 CRT_atexit_unregister_window_classes_01068530 crt Atexit cleanup handler: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy for separate compilation unit. 0x010686C0 280 CRT_atexit_unregister_window_classes_010686c0 crt Atexit cleanup handler: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy for separate compilation unit. 0x010687E0 10 thunk_to_STL_string_dtor_010687e0 stl Wrapper that calls STL_string_dtor and returns 0x010687F0 10 thunk_to_STL_string_dtor_010687f0 stl Wrapper that calls STL_string_dtor and returns 0x01068800 10 thunk_to_STL_string_dtor_01068800 stl Wrapper that calls STL_string_dtor and returns 0x01068810 10 thunk_to_STL_string_dtor_01068810 stl Wrapper that calls STL_string_dtor and returns 0x01068820 10 thunk_to_STL_string_dtor_01068820 stl Wrapper that calls STL_string_dtor and returns 0x01068830 10 thunk_to_STL_string_dtor_01068830 stl Wrapper that calls STL_string_dtor and returns 0x01068840 10 thunk_to_STL_string_dtor_01068840 stl Wrapper that calls STL_string_dtor and returns 0x01068850 10 thunk_to_STL_string_dtor_01068850 stl Wrapper that calls STL_string_dtor and returns 0x01068860 10 thunk_to_STL_string_dtor_01068860 stl Wrapper that calls STL_string_dtor and returns 0x01068870 10 thunk_to_STL_string_dtor_01068870 stl Wrapper that calls STL_string_dtor and returns 0x01068880 10 thunk_to_STL_string_dtor_01068880 stl Wrapper that calls STL_string_dtor and returns 0x01068890 10 thunk_to_STL_string_dtor_01068890 stl Wrapper that calls STL_string_dtor and returns 0x010688A0 10 thunk_to_STL_string_dtor_010688a0 stl Wrapper that calls STL_string_dtor and returns 0x010688B0 10 thunk_to_STL_string_dtor_010688b0 stl Wrapper function that calls STL_string_dtor and returns 0x010688C0 10 thunk_to_STL_string_dtor_010688c0 stl Wrapper that calls STL_string_dtor and returns 0x010688D0 10 thunk_to_STL_string_dtor_010688d0 stl Wrapper that calls STL_string_dtor and returns 0x010688E0 10 thunk_to_STL_string_dtor_010688e0 stl Wrapper that calls STL_string_dtor and returns 0x010688F0 10 thunk_to_STL_string_dtor_010688f0 stl Wrapper that calls STL_string_dtor and returns 0x01068900 10 thunk_to_STL_string_dtor_01068900 stl Wrapper that calls STL_string_dtor and returns 0x01068910 10 thunk_to_STL_string_dtor_01068910 stl Wrapper that calls STL_string_dtor and returns 0x01068920 10 thunk_to_STL_string_dtor_01068920 stl Wrapper that calls STL_string_dtor and returns 0x01068930 10 thunk_to_STL_string_dtor_01068930 stl Wrapper that calls STL_string_dtor and returns 0x01068940 10 thunk_to_STL_string_dtor_01068940 stl Wrapper that calls STL_string_dtor and returns immediately 0x01068950 10 thunk_to_STL_string_dtor_01068950 stl Wrapper that calls STL_string_dtor and returns 0x01068960 10 thunk_to_STL_string_dtor_01068960 stl Wrapper that calls STL_string_dtor and returns 0x010689E0 280 CRT_atexit_unregister_window_classes_010689e0 crt Atexit cleanup handler: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy for separate compilation unit. 0x01068B00 66 tls_destroy_map_01068b00 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x01068B50 10 thunk_to_STL_string_dtor_01068b50 stl Wrapper that calls STL_string_dtor and returns 0x01068B60 10 thunk_to_STL_string_dtor_01068b60 stl Wrapper that calls STL_string_dtor and returns 0x01068B70 10 thunk_to_STL_string_dtor_01068b70 stl Wrapper that calls STL_string_dtor and returns 0x01068B80 10 thunk_to_STL_string_dtor_01068b80 stl Wrapper that calls STL_string_dtor and returns 0x01068B90 10 thunk_to_STL_string_dtor_01068b90 stl Wrapper that calls STL_string_dtor and returns 0x01068BA0 10 thunk_to_STL_string_dtor_01068ba0 stl Wrapper that calls STL_string_dtor and returns 0x01068BB0 10 thunk_to_STL_string_dtor_01068bb0 stl Wrapper that calls STL_string_dtor and returns 0x01068BC0 10 thunk_to_STL_string_dtor_01068bc0 stl Wrapper that calls STL_string_dtor and returns 0x01068BD0 10 thunk_to_STL_string_dtor_01068bd0 stl Wrapper that calls STL_string_dtor and returns 0x01068BE0 10 thunk_to_STL_string_dtor_01068be0 stl Wrapper that calls STL_string_dtor and returns 0x01068BF0 10 thunk_to_STL_string_dtor_01068bf0 stl Wrapper that calls STL_string_dtor and returns 0x01068C00 10 thunk_to_STL_string_dtor_01068c00 stl Wrapper that calls STL_string_dtor and returns 0x01068C10 10 thunk_to_STL_string_dtor_01068c10 stl Wrapper that calls STL_string_dtor and returns 0x01068C20 10 thunk_to_STL_string_dtor_01068c20 stl Wrapper that calls STL_string_dtor and returns 0x01068C30 10 thunk_to_STL_string_dtor_01068c30 stl Wrapper that calls STL_string_dtor and returns 0x01068C40 10 thunk_to_STL_string_dtor_01068c40 stl Wrapper function that calls STL_string_dtor and returns 0x01068C50 10 thunk_to_STL_string_dtor_01068c50 stl Wrapper that calls STL_string_dtor and returns 0x01068C60 10 thunk_to_STL_string_dtor_01068c60 stl Wrapper that calls STL_string_dtor and returns 0x01068C70 10 thunk_to_STL_string_dtor_01068c70 stl Wrapper that calls STL_string_dtor and returns 0x01068C80 10 thunk_to_STL_string_dtor_01068c80 stl Wrapper that calls STL_string_dtor and returns 0x01068C90 10 thunk_to_STL_string_dtor_01068c90 stl Wrapper that calls STL_string_dtor and returns 0x01068CA0 10 thunk_to_STL_string_dtor_01068ca0 stl Wrapper that calls STL_string_dtor and returns 0x01068CB0 10 thunk_to_STL_string_dtor_01068cb0 stl Wrapper that calls STL_string_dtor and returns 0x01068CC0 10 thunk_to_STL_string_dtor_01068cc0 stl Wrapper that calls STL_string_dtor and returns 0x01068CD0 10 thunk_to_STL_string_dtor_01068cd0 stl Wrapper that calls STL_string_dtor and returns 0x01068D50 280 CRT_atexit_unregister_window_classes_01068d50 crt Atexit cleanup handler: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy for separate compilation unit. 0x01068E70 66 tls_destroy_map_01068e70 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x01068EC0 10 thunk_to_STL_string_dtor_01068ec0 stl Wrapper that calls STL_string_dtor and returns 0x01068ED0 10 thunk_to_STL_string_dtor_01068ed0 stl Wrapper that calls STL_string_dtor and returns 0x01068EE0 10 thunk_to_STL_string_dtor_01068ee0 stl Wrapper that calls STL_string_dtor and returns 0x01068EF0 10 thunk_to_STL_string_dtor_01068ef0 stl Wrapper that calls STL_string_dtor and returns 0x01068F00 10 thunk_to_STL_string_dtor_01068f00 stl Wrapper that calls STL_string_dtor and returns 0x01068F10 10 thunk_to_STL_string_dtor_01068f10 stl Wrapper that calls STL_string_dtor and returns 0x01068F20 10 thunk_to_STL_string_dtor_01068f20 stl Wrapper that calls STL_string_dtor and returns 0x01068F30 10 thunk_to_STL_string_dtor_01068f30 stl Wrapper that calls STL_string_dtor and returns 0x01068F40 10 thunk_to_STL_string_dtor_01068f40 stl Wrapper that calls STL_string_dtor and returns 0x01068F50 10 thunk_to_STL_string_dtor_01068f50 stl Wrapper that calls STL_string_dtor and returns 0x01068F60 10 thunk_to_STL_string_dtor_01068f60 stl Wrapper that calls STL_string_dtor and returns 0x01068F70 10 thunk_to_STL_string_dtor_01068f70 stl Wrapper that calls STL_string_dtor and returns immediately 0x01068F80 10 thunk_to_STL_string_dtor_01068f80 stl Wrapper that calls STL_string_dtor and returns 0x01068F90 10 thunk_to_STL_string_dtor_01068f90 stl Wrapper that calls STL_string_dtor and returns 0x01068FA0 10 thunk_to_STL_string_dtor_01068fa0 stl Wrapper that calls STL_string_dtor and returns 0x01068FB0 10 thunk_to_STL_string_dtor_01068fb0 stl Wrapper that calls STL_string_dtor and returns 0x01068FC0 10 thunk_to_STL_string_dtor_01068fc0 stl Wrapper that calls STL_string_dtor and returns 0x01068FD0 10 thunk_to_STL_string_dtor_01068fd0 stl Wrapper that calls STL_string_dtor and returns 0x01068FE0 10 thunk_to_STL_string_dtor_01068fe0 stl Wrapper that calls STL_string_dtor and returns 0x01068FF0 10 thunk_to_STL_string_dtor_01068ff0 stl Wrapper that calls STL_string_dtor and returns 0x01069000 10 thunk_to_STL_string_dtor_01069000 stl Wrapper that calls STL_string_dtor and returns 0x01069010 10 thunk_to_STL_string_dtor_01069010 stl Wrapper that calls STL_string_dtor and returns 0x01069020 10 thunk_to_STL_string_dtor_01069020 stl Wrapper that calls STL_string_dtor and returns 0x01069030 10 thunk_to_STL_string_dtor_01069030 stl Wrapper that calls STL_string_dtor and returns 0x01069040 10 thunk_to_STL_string_dtor_01069040 stl Wrapper that calls STL_string_dtor and returns 0x010690C0 280 CRT_atexit_unregister_window_classes_010690c0 crt Atexit cleanup handler: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy for separate compilation unit. 0x010691E0 66 tls_destroy_map_010691e0 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x01069230 10 thunk_to_STL_string_dtor_01069230 stl Wrapper that calls STL_string_dtor and returns 0x01069240 10 thunk_to_STL_string_dtor_01069240 stl Wrapper that calls STL_string_dtor and returns 0x01069250 10 thunk_to_STL_string_dtor_01069250 stl Wrapper that calls STL_string_dtor and returns 0x01069260 10 thunk_to_STL_string_dtor_01069260 stl Wrapper that calls STL_string_dtor and returns 0x01069270 10 thunk_to_STL_string_dtor_01069270 stl Wrapper that calls STL_string_dtor and returns 0x01069280 10 thunk_to_STL_string_dtor_01069280 stl Wrapper that calls STL_string_dtor and returns 0x01069290 10 thunk_to_STL_string_dtor_01069290 stl Wrapper that calls STL_string_dtor and returns 0x010692A0 10 thunk_to_STL_string_dtor_010692a0 stl Wrapper that calls STL_string_dtor and returns 0x010692B0 10 thunk_to_STL_string_dtor_010692b0 stl Wrapper that calls STL_string_dtor and returns 0x010692C0 10 thunk_to_STL_string_dtor_010692c0 stl Wrapper that calls STL_string_dtor and returns 0x010692D0 10 thunk_to_STL_string_dtor_010692d0 stl Wrapper that calls STL_string_dtor and returns 0x010692E0 10 thunk_to_STL_string_dtor_010692e0 stl Wrapper that calls STL_string_dtor and returns 0x010692F0 10 thunk_to_STL_string_dtor_010692f0 stl Wrapper that calls STL_string_dtor and returns 0x01069300 10 thunk_to_STL_string_dtor_01069300 stl Wrapper that calls STL_string_dtor destructor 0x01069310 10 thunk_to_STL_string_dtor_01069310 stl Wrapper that calls STL_string_dtor and returns 0x01069320 10 thunk_to_STL_string_dtor_01069320 stl Wrapper that calls STL_string_dtor and returns 0x01069330 10 thunk_to_STL_string_dtor_01069330 stl Wrapper that calls STL_string_dtor and returns 0x01069340 10 thunk_to_STL_string_dtor_01069340 stl Wrapper that calls STL_string_dtor and returns 0x01069350 10 thunk_to_STL_string_dtor_01069350 stl Wrapper that calls STL_string_dtor and returns 0x01069360 10 thunk_to_STL_string_dtor_01069360 stl Wrapper function that calls STL_string_dtor and returns 0x01069370 10 thunk_to_STL_string_dtor_01069370 stl Wrapper that calls STL_string_dtor and returns 0x01069380 10 thunk_to_STL_string_dtor_01069380 stl Wrapper that calls STL_string_dtor and returns 0x01069390 10 thunk_to_STL_string_dtor_01069390 stl Wrapper that calls STL_string_dtor and returns 0x010693A0 10 thunk_to_STL_string_dtor_010693a0 stl Wrapper that calls STL_string_dtor and returns 0x010693B0 10 thunk_to_STL_string_dtor_010693b0 stl Wrapper that calls STL_string_dtor and returns 0x01069430 280 CRT_unregister_window_classes_cleanup_01069430 crt Atexit cleanup: iterates registered window class ATOMs, calls UnregisterClassA for each, frees the ATOM array, deletes the critical section, and resets global state. Part of CRT shutdown. 0x01069550 66 tls_destroy_map_01069550 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x010695A0 10 thunk_to_STL_string_dtor_010695a0 stl Wrapper that calls STL_string_dtor and returns 0x010695B0 10 thunk_to_STL_string_dtor_010695b0 stl Wrapper that calls STL_string_dtor and returns 0x010695C0 10 thunk_to_STL_string_dtor_010695c0 stl Wrapper that calls STL_string_dtor and returns 0x010695D0 10 thunk_to_STL_string_dtor_010695d0 stl Wrapper that calls STL_string_dtor and returns 0x010695E0 10 thunk_to_STL_string_dtor_010695e0 stl Wrapper that calls STL_string_dtor and returns 0x010695F0 10 thunk_to_STL_string_dtor_010695f0 stl Wrapper calling STL_string_dtor destructor 0x01069600 10 thunk_to_STL_string_dtor_01069600 stl Wrapper that calls STL_string_dtor and returns 0x01069610 10 thunk_to_STL_string_dtor_01069610 stl Wrapper that calls STL_string_dtor and returns 0x01069620 10 thunk_to_STL_string_dtor_01069620 stl Wrapper that calls STL_string_dtor and returns 0x01069630 10 thunk_to_STL_string_dtor_01069630 stl Wrapper that calls STL_string_dtor and returns 0x01069640 10 thunk_to_STL_string_dtor_01069640 stl Wrapper that calls STL_string_dtor and returns 0x01069650 10 thunk_to_STL_string_dtor_01069650 stl Wrapper that calls STL_string_dtor and returns 0x01069660 10 thunk_to_STL_string_dtor_01069660 stl Wrapper that calls STL_string_dtor and returns 0x01069670 10 thunk_to_STL_string_dtor_01069670 stl Wrapper that calls STL_string_dtor and returns 0x01069680 10 thunk_to_STL_string_dtor_01069680 stl Wrapper that calls STL_string_dtor and returns 0x01069690 10 thunk_to_STL_string_dtor_01069690 stl Wrapper that calls STL_string_dtor and returns 0x010696A0 10 thunk_to_STL_string_dtor_010696a0 stl Wrapper that calls STL_string_dtor and returns 0x010696B0 10 thunk_to_STL_string_dtor_010696b0 stl Wrapper that calls STL_string_dtor and returns 0x010696C0 10 thunk_to_STL_string_dtor_010696c0 stl Wrapper that calls STL_string_dtor and returns 0x010696D0 10 thunk_to_STL_string_dtor_010696d0 stl Wrapper that calls STL_string_dtor and returns 0x010696E0 10 thunk_to_STL_string_dtor_010696e0 stl Wrapper that calls STL_string_dtor and returns 0x010696F0 10 thunk_to_STL_string_dtor_010696f0 stl Wrapper that calls STL_string_dtor and returns 0x01069700 10 thunk_to_STL_string_dtor_01069700 stl Wrapper that calls STL_string_dtor and returns 0x01069710 10 thunk_to_STL_string_dtor_01069710 stl Wrapper that calls STL_string_dtor and returns 0x01069720 10 thunk_to_STL_string_dtor_01069720 stl Wrapper that calls STL_string_dtor and returns 0x010697A0 280 CRT_unregister_window_classes_cleanup_010697a0 crt Atexit cleanup: iterates registered window class ATOMs, calls UnregisterClassA for each, frees the ATOM array, deletes the critical section, and resets global state. Part of CRT shutdown. 0x010698C0 66 tls_destroy_map_010698c0 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x01069910 10 thunk_to_STL_string_dtor_01069910 stl Wrapper that calls STL_string_dtor and returns 0x01069920 10 thunk_to_STL_string_dtor_01069920 stl Wrapper that calls STL_string_dtor and returns 0x01069930 10 thunk_to_STL_string_dtor_01069930 stl Wrapper that calls STL_string_dtor and returns 0x01069940 10 thunk_to_STL_string_dtor_01069940 stl Wrapper that calls STL_string_dtor and returns 0x01069950 10 thunk_to_STL_string_dtor_01069950 stl Wrapper that calls STL_string_dtor and returns 0x01069960 10 thunk_to_STL_string_dtor_01069960 stl Wrapper calling STL_string_dtor destructor 0x01069970 10 thunk_to_STL_string_dtor_01069970 stl Wrapper that calls STL_string_dtor and returns 0x01069980 10 thunk_to_STL_string_dtor_01069980 stl Wrapper that calls STL_string_dtor and returns 0x01069990 10 thunk_to_STL_string_dtor_01069990 stl Wrapper that calls STL_string_dtor and returns 0x010699A0 10 thunk_to_STL_string_dtor_010699a0 stl Wrapper that calls STL_string_dtor and returns 0x010699B0 10 thunk_to_STL_string_dtor_010699b0 stl Wrapper that calls STL_string_dtor and returns 0x010699C0 10 thunk_to_STL_string_dtor_010699c0 stl Wrapper function that calls STL_string_dtor and returns 0x010699D0 10 thunk_to_STL_string_dtor_010699d0 stl Wrapper that calls STL_string_dtor and returns 0x010699E0 10 thunk_to_STL_string_dtor_010699e0 stl Wrapper that calls STL_string_dtor and returns 0x010699F0 10 thunk_to_STL_string_dtor_010699f0 stl Wrapper that calls STL_string_dtor and returns 0x01069A00 10 thunk_to_STL_string_dtor_01069a00 stl Wrapper that calls STL_string_dtor and returns 0x01069A10 10 thunk_to_STL_string_dtor_01069a10 stl Wrapper that calls STL_string_dtor and returns 0x01069A20 10 thunk_to_STL_string_dtor_01069a20 stl Wrapper that calls STL_string_dtor and returns 0x01069A30 10 thunk_to_STL_string_dtor_01069a30 stl Wrapper that calls STL_string_dtor and returns 0x01069A40 10 thunk_to_STL_string_dtor_01069a40 stl Wrapper that calls STL_string_dtor and returns 0x01069A50 10 thunk_to_STL_string_dtor_01069a50 stl Wrapper that calls STL_string_dtor and returns 0x01069A60 10 thunk_to_STL_string_dtor_01069a60 stl Wrapper that calls STL_string_dtor and returns 0x01069A70 10 thunk_to_STL_string_dtor_01069a70 stl Wrapper that calls STL_string_dtor and returns 0x01069A80 10 thunk_to_STL_string_dtor_01069a80 stl Wrapper that calls STL_string_dtor and returns 0x01069A90 10 thunk_to_STL_string_dtor_01069a90 stl Wrapper that calls STL_string_dtor and returns 0x01069B10 280 CRT_unregister_window_classes_cleanup_01069b10 crt Atexit cleanup: iterates registered window class ATOMs, calls UnregisterClassA for each, frees the ATOM array, deletes the critical section, and resets global state. Part of CRT shutdown. 0x01069C30 66 tls_destroy_map_01069c30 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x01069C80 10 thunk_to_STL_string_dtor_01069c80 stl Wrapper that calls STL_string_dtor and returns 0x01069C90 10 thunk_to_STL_string_dtor_01069c90 stl Wrapper that calls STL_string_dtor and returns 0x01069CA0 10 thunk_to_STL_string_dtor_01069ca0 stl Wrapper that calls STL_string_dtor and returns 0x01069CB0 10 thunk_to_STL_string_dtor_01069cb0 stl Wrapper that calls STL_string_dtor and returns 0x01069CC0 10 thunk_to_STL_string_dtor_01069cc0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01069CD0 10 thunk_to_STL_string_dtor_01069cd0 stl Wrapper that calls STL_string_dtor and returns 0x01069CE0 10 thunk_to_STL_string_dtor_01069ce0 stl Wrapper that calls STL_string_dtor and returns 0x01069CF0 10 thunk_to_STL_string_dtor_01069cf0 stl Wrapper that calls STL_string_dtor and returns 0x01069D00 10 thunk_to_STL_string_dtor_01069d00 stl Wrapper that calls STL_string_dtor and returns 0x01069D10 10 thunk_to_STL_string_dtor_01069d10 stl Wrapper function that calls STL_string_dtor and returns 0x01069D20 10 thunk_to_STL_string_dtor_01069d20 stl Wrapper that calls STL_string_dtor and returns 0x01069D30 10 thunk_to_STL_string_dtor_01069d30 stl Wrapper that calls STL_string_dtor and returns 0x01069D40 10 thunk_to_STL_string_dtor_01069d40 stl Wrapper that calls STL_string_dtor and returns 0x01069D50 10 thunk_to_STL_string_dtor_01069d50 stl Wrapper that calls STL_string_dtor and returns 0x01069D60 10 thunk_to_STL_string_dtor_01069d60 stl Wrapper that calls STL_string_dtor and returns 0x01069D70 10 thunk_to_STL_string_dtor_01069d70 stl Wrapper that calls STL_string_dtor and returns 0x01069D80 10 thunk_to_STL_string_dtor_01069d80 stl Wrapper that calls STL_string_dtor and returns 0x01069D90 10 thunk_to_STL_string_dtor_01069d90 stl Wrapper that calls STL_string_dtor and returns 0x01069DA0 10 thunk_to_STL_string_dtor_01069da0 stl Wrapper that calls STL_string_dtor and returns 0x01069DB0 10 thunk_to_STL_string_dtor_01069db0 stl Wrapper that calls STL_string_dtor and returns 0x01069DC0 10 thunk_to_STL_string_dtor_01069dc0 stl Wrapper that calls STL_string_dtor and returns 0x01069DD0 10 thunk_to_STL_string_dtor_01069dd0 stl Wrapper that calls STL_string_dtor and returns 0x01069DE0 10 thunk_to_STL_string_dtor_01069de0 stl Wrapper that calls STL_string_dtor and returns 0x01069DF0 10 thunk_to_STL_string_dtor_01069df0 stl Wrapper that calls STL_string_dtor and returns 0x01069E00 10 thunk_to_STL_string_dtor_01069e00 stl Wrapper that calls STL_string_dtor and returns 0x01069E80 280 crt_atexit_unregister_window_classes crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, and deletes the protecting critical section. Part of CRT window class registration cleanup. 0x01069FA0 66 tls_destroy_map_01069fa0 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x0106A060 280 crt_atexit_unregister_window_classes_0106a060 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, and deletes the protecting critical section. Duplicate instance for a different atexit registration. 0x0106A180 10 thunk_to_STL_string_dtor_0106a180 stl Wrapper that calls STL_string_dtor and returns 0x0106A190 10 thunk_to_STL_string_dtor_0106a190 stl Wrapper that calls STL_string_dtor and returns 0x0106A1A0 10 thunk_to_STL_string_dtor_0106a1a0 stl Wrapper that calls STL_string_dtor and returns 0x0106A1B0 10 thunk_to_STL_string_dtor_0106a1b0 stl Wrapper that calls STL_string_dtor and returns 0x0106A1C0 10 thunk_to_STL_string_dtor_0106a1c0 stl Wrapper calling STL string destructor 0x0106A1D0 10 thunk_to_STL_string_dtor_0106a1d0 stl Wrapper that calls STL_string_dtor and returns 0x0106A1E0 10 thunk_to_STL_string_dtor_0106a1e0 stl Wrapper that calls STL_string_dtor and returns 0x0106A1F0 10 thunk_to_STL_string_dtor_0106a1f0 stl Wrapper that calls STL_string_dtor and returns 0x0106A200 10 thunk_to_STL_string_dtor_0106a200 stl Wrapper that calls STL_string_dtor and returns 0x0106A210 10 thunk_to_STL_string_dtor_0106a210 stl Wrapper that calls STL_string_dtor and returns 0x0106A220 10 thunk_to_STL_string_dtor_0106a220 stl Wrapper that calls STL_string_dtor and returns 0x0106A230 10 thunk_to_STL_string_dtor_0106a230 stl Wrapper that calls STL_string_dtor and returns 0x0106A240 10 thunk_to_STL_string_dtor_0106a240 stl Wrapper that calls STL_string_dtor and returns 0x0106A250 10 thunk_to_STL_string_dtor_0106a250 stl Wrapper that calls STL_string_dtor and returns 0x0106A260 10 thunk_to_STL_string_dtor_0106a260 stl Wrapper that calls STL_string_dtor and returns 0x0106A270 10 thunk_to_STL_string_dtor_0106a270 stl Wrapper that calls STL_string_dtor and returns 0x0106A280 10 thunk_to_STL_string_dtor_0106a280 stl Wrapper that calls STL_string_dtor and returns 0x0106A290 10 thunk_to_STL_string_dtor_0106a290 stl Wrapper that calls STL_string_dtor and returns 0x0106A2A0 10 thunk_to_STL_string_dtor_0106a2a0 stl Wrapper that calls STL_string_dtor and returns 0x0106A2B0 10 thunk_to_STL_string_dtor_0106a2b0 stl Wrapper that calls STL_string_dtor and returns 0x0106A2C0 10 thunk_to_STL_string_dtor_0106a2c0 stl Wrapper that calls STL_string_dtor and returns 0x0106A2D0 10 thunk_to_STL_string_dtor_0106a2d0 stl Wrapper that calls STL_string_dtor and returns 0x0106A2E0 10 thunk_to_STL_string_dtor_0106a2e0 stl Wrapper that calls STL_string_dtor and returns 0x0106A2F0 10 thunk_to_STL_string_dtor_0106a2f0 stl Wrapper that calls STL_string_dtor and returns 0x0106A300 10 thunk_to_STL_string_dtor_0106a300 stl Wrapper that calls STL_string_dtor and returns 0x0106A380 280 crt_atexit_unregister_window_classes_0106a380 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, and deletes the protecting critical section. Duplicate instance for a different atexit registration. 0x0106A4A0 66 tls_destroy_map_0106a4a0 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x0106A4F0 10 thunk_to_STL_string_dtor_0106a4f0 stl Wrapper that calls STL_string_dtor and returns 0x0106A500 10 thunk_to_STL_string_dtor_0106a500 stl Wrapper that calls STL_string_dtor and returns 0x0106A510 10 thunk_to_STL_string_dtor_0106a510 stl Wrapper that calls STL_string_dtor and returns 0x0106A520 10 thunk_to_STL_string_dtor_0106a520 stl Wrapper that calls STL_string_dtor and returns 0x0106A530 10 thunk_to_STL_string_dtor_0106a530 stl Wrapper that calls STL_string_dtor and returns 0x0106A540 10 thunk_to_STL_string_dtor_0106a540 stl Wrapper that calls STL_string_dtor and returns 0x0106A550 10 thunk_to_STL_string_dtor_0106a550 stl Wrapper that calls STL_string_dtor and returns 0x0106A560 10 thunk_to_STL_string_dtor_0106a560 stl Wrapper that calls STL_string_dtor and returns 0x0106A570 10 thunk_to_STL_string_dtor_0106a570 stl Wrapper that calls STL_string_dtor and returns 0x0106A580 10 thunk_to_STL_string_dtor_0106a580 stl Wrapper that calls STL_string_dtor and returns 0x0106A590 10 thunk_to_STL_string_dtor_0106a590 stl Wrapper that calls STL_string_dtor and returns 0x0106A5A0 10 thunk_to_STL_string_dtor_0106a5a0 stl Wrapper that calls STL_string_dtor and returns 0x0106A5B0 10 thunk_to_STL_string_dtor_0106a5b0 stl Wrapper that calls STL_string_dtor and returns 0x0106A5C0 10 thunk_to_STL_string_dtor_0106a5c0 stl Wrapper that calls STL_string_dtor and returns 0x0106A5D0 10 thunk_to_STL_string_dtor_0106a5d0 stl Wrapper that calls STL_string_dtor and returns 0x0106A5E0 10 thunk_to_STL_string_dtor_0106a5e0 stl Wrapper that calls STL_string_dtor and returns 0x0106A5F0 10 thunk_to_STL_string_dtor_0106a5f0 stl Wrapper that calls STL_string_dtor and returns 0x0106A600 10 thunk_to_STL_string_dtor_0106a600 stl Wrapper that calls STL_string_dtor and returns 0x0106A610 10 thunk_to_STL_string_dtor_0106a610 stl Wrapper that calls STL_string_dtor and returns 0x0106A620 10 thunk_to_STL_string_dtor_0106a620 stl Wrapper that calls STL_string_dtor and returns 0x0106A630 10 thunk_to_STL_string_dtor_0106a630 stl Wrapper that calls STL_string_dtor and returns 0x0106A640 10 thunk_to_STL_string_dtor_0106a640 stl Wrapper that calls STL_string_dtor and returns 0x0106A650 10 thunk_to_STL_string_dtor_0106a650 stl Wrapper that calls STL_string_dtor and returns 0x0106A660 10 thunk_to_STL_string_dtor_0106a660 stl Wrapper that calls STL_string_dtor and returns 0x0106A670 10 thunk_to_STL_string_dtor_0106a670 stl Wrapper that calls STL_string_dtor and returns 0x0106A6F0 280 crt_atexit_unregister_window_classes_0106a6f0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, and deletes the protecting critical section. Duplicate instance for a different atexit registration. 0x0106A810 66 tls_destroy_map_0106a810 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x0106A860 10 thunk_to_STL_string_dtor_0106a860 stl Wrapper that calls STL_string_dtor and returns 0x0106A870 10 thunk_to_STL_string_dtor_0106a870 stl Wrapper that calls STL_string_dtor and returns 0x0106A880 10 thunk_to_STL_string_dtor_0106a880 stl Wrapper that calls STL_string_dtor and returns 0x0106A890 10 thunk_to_STL_string_dtor_0106a890 stl Wrapper that calls STL_string_dtor and returns 0x0106A8A0 10 thunk_to_STL_string_dtor_0106a8a0 stl Wrapper that calls STL_string_dtor and returns 0x0106A8B0 10 thunk_to_STL_string_dtor_0106a8b0 stl Wrapper that calls STL_string_dtor and returns 0x0106A8C0 10 thunk_to_STL_string_dtor_0106a8c0 stl Wrapper that calls STL_string_dtor and returns 0x0106A8D0 10 thunk_to_STL_string_dtor_0106a8d0 stl Wrapper that calls STL_string_dtor and returns 0x0106A8E0 10 thunk_to_STL_string_dtor_0106a8e0 stl Wrapper that calls STL_string_dtor and returns 0x0106A8F0 10 thunk_to_STL_string_dtor_0106a8f0 stl Wrapper that calls STL_string_dtor and returns 0x0106A900 10 thunk_to_STL_string_dtor_0106a900 stl Wrapper that calls STL_string_dtor and returns 0x0106A910 10 thunk_to_STL_string_dtor_0106a910 stl Wrapper that calls STL_string_dtor and returns 0x0106A920 10 thunk_to_STL_string_dtor_0106a920 stl Wrapper that calls STL_string_dtor and returns 0x0106A930 10 thunk_to_STL_string_dtor_0106a930 stl Wrapper that calls STL_string_dtor and returns 0x0106A940 10 thunk_to_STL_string_dtor_0106a940 stl Wrapper that calls STL_string_dtor and returns 0x0106A950 10 thunk_to_STL_string_dtor_0106a950 stl Wrapper that calls STL_string_dtor and returns 0x0106A960 10 thunk_to_STL_string_dtor_0106a960 stl Wrapper that calls STL_string_dtor and returns 0x0106A970 10 thunk_to_STL_string_dtor_0106a970 stl Wrapper that calls STL_string_dtor and returns 0x0106A980 10 thunk_to_STL_string_dtor_0106a980 stl Wrapper that calls STL_string_dtor and returns 0x0106A990 10 thunk_to_STL_string_dtor_0106a990 stl Wrapper that calls STL_string_dtor and returns 0x0106A9A0 10 thunk_to_STL_string_dtor_0106a9a0 stl Wrapper that calls STL_string_dtor and returns 0x0106A9B0 10 thunk_to_STL_string_dtor_0106a9b0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0106A9C0 10 thunk_to_STL_string_dtor_0106a9c0 stl Wrapper that calls STL_string_dtor and returns 0x0106A9D0 10 thunk_to_STL_string_dtor_0106a9d0 stl Wrapper that calls STL_string_dtor and returns 0x0106A9E0 10 thunk_to_STL_string_dtor_0106a9e0 stl Wrapper that calls STL_string_dtor and returns 0x0106AA60 280 crt_atexit_unregister_window_classes_0106aa60 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, and deletes the protecting critical section. Duplicate instance for a different atexit registration. 0x0106AB80 66 tls_destroy_map_0106ab80 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x0106ABD0 69 tls_clear_field_27c8 crt TLS destructor: zeros byte array at TLS offset 0x27c8. Registered via tls_register_destructor to clear thread-local encrypted string buffer. 0x0106AC20 10 thunk_to_STL_string_dtor_0106ac20 stl Wrapper that calls STL_string_dtor and returns 0x0106AC30 10 thunk_to_STL_string_dtor_0106ac30 stl Wrapper that calls STL_string_dtor and returns 0x0106AC40 10 thunk_to_STL_string_dtor_0106ac40 stl Wrapper that calls STL_string_dtor and returns 0x0106AC50 10 thunk_to_STL_string_dtor_0106ac50 stl Wrapper that calls STL_string_dtor and returns 0x0106AC60 10 thunk_to_STL_string_dtor_0106ac60 stl Wrapper that calls STL_string_dtor and returns 0x0106AC70 10 thunk_to_STL_string_dtor_0106ac70 stl Wrapper that calls STL_string_dtor and returns 0x0106AC80 10 thunk_to_STL_string_dtor_0106ac80 stl Wrapper that calls STL_string_dtor and returns 0x0106AC90 10 thunk_to_STL_string_dtor_0106ac90 stl Wrapper that calls STL_string_dtor and returns 0x0106ACA0 10 thunk_to_STL_string_dtor_0106aca0 stl Wrapper that calls STL_string_dtor and returns 0x0106ACB0 10 thunk_to_STL_string_dtor_0106acb0 stl Wrapper that calls STL_string_dtor and returns 0x0106ACC0 10 thunk_to_STL_string_dtor_0106acc0 stl Wrapper that calls STL_string_dtor and returns 0x0106ACD0 10 thunk_to_STL_string_dtor_0106acd0 stl Wrapper that calls STL_string_dtor and returns 0x0106ACE0 10 thunk_to_STL_string_dtor_0106ace0 stl Wrapper that calls STL_string_dtor and returns 0x0106ACF0 10 thunk_to_STL_string_dtor_0106acf0 stl Wrapper that calls STL_string_dtor and returns 0x0106AD00 10 thunk_to_STL_string_dtor_0106ad00 stl Wrapper that calls STL_string_dtor and returns 0x0106AD10 10 thunk_to_STL_string_dtor_0106ad10 stl Wrapper that calls STL_string_dtor and returns 0x0106AD20 10 thunk_to_STL_string_dtor_0106ad20 stl Wrapper that calls STL_string_dtor and returns 0x0106AD30 10 thunk_to_STL_string_dtor_0106ad30 stl Wrapper that calls STL_string_dtor and returns 0x0106AD40 10 thunk_to_STL_string_dtor_0106ad40 stl Wrapper that calls STL_string_dtor and returns 0x0106AD50 10 thunk_to_STL_string_dtor_0106ad50 stl Wrapper that calls STL_string_dtor and returns 0x0106AD60 10 thunk_to_STL_string_dtor_0106ad60 stl Wrapper that calls STL_string_dtor and returns 0x0106AD70 10 thunk_to_STL_string_dtor_0106ad70 stl Wrapper that calls STL_string_dtor and returns 0x0106AD80 10 thunk_to_STL_string_dtor_0106ad80 stl Wrapper that calls STL_string_dtor and returns 0x0106AD90 10 thunk_to_STL_string_dtor_0106ad90 stl Wrapper that calls STL_string_dtor and returns 0x0106ADA0 10 thunk_to_STL_string_dtor_0106ada0 stl Wrapper function that calls STL_string_dtor and returns 0x0106AE20 280 CRT_unregister_window_classes_atexit crt CRT atexit handler: unregisters all window classes by atom from the global registration table, frees the atom array, deletes the critical section protecting it, and resets all counters. Called during process exit cleanup. 0x0106AF40 10 thunk_to_STL_string_dtor_0106af40 stl Wrapper that calls STL_string_dtor and returns 0x0106AF50 10 thunk_to_STL_string_dtor_0106af50 stl Wrapper that calls STL_string_dtor and returns 0x0106AF60 10 thunk_to_STL_string_dtor_0106af60 stl Wrapper function that calls STL_string_dtor and returns 0x0106AF70 10 thunk_to_STL_string_dtor_0106af70 stl Wrapper that calls STL_string_dtor and returns 0x0106AF80 10 thunk_to_STL_string_dtor_0106af80 stl Wrapper that calls STL_string_dtor and returns 0x0106AF90 10 thunk_to_STL_string_dtor_0106af90 stl Wrapper that calls STL_string_dtor and returns 0x0106AFA0 10 thunk_to_STL_string_dtor_0106afa0 stl Wrapper that calls STL_string_dtor and returns 0x0106AFB0 10 thunk_to_STL_string_dtor_0106afb0 stl Wrapper that calls STL_string_dtor and returns 0x0106AFC0 10 thunk_to_STL_string_dtor_0106afc0 stl Wrapper that calls STL_string_dtor and returns 0x0106AFD0 10 thunk_to_STL_string_dtor_0106afd0 stl Wrapper that calls STL_string_dtor and returns 0x0106AFE0 10 thunk_to_STL_string_dtor_0106afe0 stl Wrapper that calls STL_string_dtor and returns 0x0106AFF0 10 thunk_to_STL_string_dtor_0106aff0 stl Wrapper that calls STL_string_dtor and returns 0x0106B000 10 thunk_to_STL_string_dtor_0106b000 stl Wrapper that calls STL_string_dtor and returns 0x0106B010 10 thunk_to_STL_string_dtor_0106b010 stl Wrapper that calls STL_string_dtor and returns 0x0106B020 10 thunk_to_STL_string_dtor_0106b020 stl Wrapper that calls STL_string_dtor and returns 0x0106B030 10 thunk_to_STL_string_dtor_0106b030 stl Wrapper that calls STL_string_dtor and returns 0x0106B040 10 thunk_to_STL_string_dtor_0106b040 stl Wrapper that calls STL_string_dtor and returns 0x0106B050 10 thunk_to_STL_string_dtor_0106b050 stl Wrapper that calls STL_string_dtor and returns 0x0106B060 10 thunk_to_STL_string_dtor_0106b060 stl Wrapper that calls STL_string_dtor and returns 0x0106B070 10 thunk_to_STL_string_dtor_0106b070 stl Wrapper that calls STL_string_dtor and returns 0x0106B080 10 thunk_to_STL_string_dtor_0106b080 stl Wrapper that calls STL_string_dtor and returns 0x0106B090 10 thunk_to_STL_string_dtor_0106b090 stl Wrapper that calls STL_string_dtor and returns 0x0106B0A0 10 thunk_to_STL_string_dtor_0106b0a0 stl Wrapper that calls STL_string_dtor and returns 0x0106B0B0 10 thunk_to_STL_string_dtor_0106b0b0 stl Wrapper that calls STL_string_dtor and returns 0x0106B0C0 10 thunk_to_STL_string_dtor_0106b0c0 stl Wrapper that calls STL_string_dtor and returns 0x0106B140 280 CRT_unregister_window_classes_atexit_0106b140 crt CRT atexit handler: unregisters all window classes by atom from the global registration table, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy from different compilation unit. 0x0106B260 66 tls_destroy_map_0106b260 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x0106B2B0 10 thunk_to_STL_string_dtor_0106b2b0 stl Wrapper that calls STL_string_dtor and returns 0x0106B2C0 10 thunk_to_STL_string_dtor_0106b2c0 stl Wrapper that calls STL_string_dtor and returns 0x0106B2D0 10 thunk_to_STL_string_dtor_0106b2d0 stl Wrapper that calls STL_string_dtor and returns 0x0106B2E0 10 thunk_to_STL_string_dtor_0106b2e0 stl Wrapper that calls STL_string_dtor and returns 0x0106B2F0 10 thunk_to_STL_string_dtor_0106b2f0 stl Wrapper that calls STL_string_dtor and returns 0x0106B300 10 thunk_to_STL_string_dtor_0106b300 stl Wrapper that calls STL_string_dtor and returns 0x0106B310 10 thunk_to_STL_string_dtor_0106b310 stl Wrapper that calls STL_string_dtor and returns 0x0106B320 10 thunk_to_STL_string_dtor_0106b320 stl Wrapper that calls STL_string_dtor and returns immediately 0x0106B330 10 thunk_to_STL_string_dtor_0106b330 stl Wrapper that calls STL_string_dtor and returns 0x0106B340 10 thunk_to_STL_string_dtor_0106b340 stl Wrapper that calls STL_string_dtor and returns 0x0106B350 10 thunk_to_STL_string_dtor_0106b350 stl Wrapper that calls STL_string_dtor and returns 0x0106B360 10 thunk_to_STL_string_dtor_0106b360 stl Wrapper that calls STL_string_dtor and returns 0x0106B370 10 thunk_to_STL_string_dtor_0106b370 stl Wrapper that calls STL_string_dtor and returns 0x0106B380 10 thunk_to_STL_string_dtor_0106b380 stl Wrapper that calls STL_string_dtor and returns 0x0106B390 10 thunk_to_STL_string_dtor_0106b390 stl Wrapper that calls STL_string_dtor and returns 0x0106B3A0 10 thunk_to_STL_string_dtor_0106b3a0 stl Wrapper function that calls STL_string_dtor and returns 0x0106B3B0 10 thunk_to_STL_string_dtor_0106b3b0 stl Wrapper that calls STL_string_dtor and returns 0x0106B3C0 10 thunk_to_STL_string_dtor_0106b3c0 stl Wrapper that calls STL_string_dtor and returns 0x0106B3D0 10 thunk_to_STL_string_dtor_0106b3d0 stl Wrapper that calls STL_string_dtor and returns 0x0106B3E0 10 thunk_to_STL_string_dtor_0106b3e0 stl Wrapper that calls STL_string_dtor and returns 0x0106B3F0 10 thunk_to_STL_string_dtor_0106b3f0 stl Wrapper that calls STL_string_dtor and returns 0x0106B400 10 thunk_to_STL_string_dtor_0106b400 stl Wrapper that calls STL_string_dtor and returns 0x0106B410 10 thunk_to_STL_string_dtor_0106b410 stl Wrapper that calls STL_string_dtor and returns 0x0106B420 10 thunk_to_STL_string_dtor_0106b420 stl Wrapper that calls STL_string_dtor and returns 0x0106B430 10 thunk_to_STL_string_dtor_0106b430 stl Wrapper that calls STL_string_dtor and returns 0x0106B4B0 280 CRT_unregister_window_classes_atexit_0106b4b0 crt CRT atexit handler: unregisters all window classes by atom from the global registration table, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy from different compilation unit. 0x0106B5D0 66 tls_destroy_map_0106b5d0 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x0106B620 10 thunk_to_std__vector_56byte__destroy stl Thunk: jumps to std__vector_56byte__destroy to destroy a 56-byte element vector. 0x0106B630 10 thunk_to_STL_string_dtor_0106b630 stl Wrapper that calls STL_string_dtor and returns 0x0106B640 10 thunk_to_STL_string_dtor_0106b640 stl Wrapper that calls STL_string_dtor and returns 0x0106B650 10 thunk_to_STL_string_dtor_0106b650 stl Wrapper that calls STL_string_dtor and returns 0x0106B660 10 thunk_to_STL_string_dtor_0106b660 stl Wrapper that calls STL_string_dtor and returns 0x0106B670 10 thunk_to_STL_string_dtor_0106b670 stl Wrapper that calls STL_string_dtor and returns immediately 0x0106B680 10 thunk_to_STL_string_dtor_0106b680 stl Wrapper that calls STL_string_dtor and returns 0x0106B690 10 thunk_to_STL_string_dtor_0106b690 stl Wrapper that calls STL_string_dtor and returns 0x0106B6A0 10 thunk_to_STL_string_dtor_0106b6a0 stl Wrapper that calls STL_string_dtor and returns 0x0106B6B0 10 thunk_to_STL_string_dtor_0106b6b0 stl Wrapper that calls STL_string_dtor and returns 0x0106B6C0 10 thunk_to_STL_string_dtor_0106b6c0 stl Wrapper that calls STL_string_dtor and returns 0x0106B6D0 10 thunk_to_STL_string_dtor_0106b6d0 stl Wrapper that calls STL_string_dtor and returns 0x0106B6E0 10 thunk_to_STL_string_dtor_0106b6e0 stl Wrapper that calls STL_string_dtor and returns 0x0106B6F0 10 thunk_to_STL_string_dtor_0106b6f0 stl Wrapper that calls STL_string_dtor and returns 0x0106B700 10 thunk_to_STL_string_dtor_0106b700 stl Wrapper that calls STL_string_dtor and returns 0x0106B710 10 thunk_to_STL_string_dtor_0106b710 stl Wrapper that calls STL_string_dtor and returns 0x0106B720 10 thunk_to_STL_string_dtor_0106b720 stl Wrapper that calls STL_string_dtor and returns 0x0106B730 10 thunk_to_STL_string_dtor_0106b730 stl Wrapper that calls STL_string_dtor and returns 0x0106B740 10 thunk_to_STL_string_dtor_0106b740 stl Wrapper that calls STL_string_dtor and returns 0x0106B750 10 thunk_to_STL_string_dtor_0106b750 stl Wrapper that calls STL_string_dtor and returns 0x0106B760 10 thunk_to_STL_string_dtor_0106b760 stl Wrapper that calls STL_string_dtor and returns 0x0106B770 10 thunk_to_STL_string_dtor_0106b770 stl Wrapper function that calls STL_string_dtor and returns 0x0106B780 10 thunk_to_STL_string_dtor_0106b780 stl Wrapper that calls STL_string_dtor and returns 0x0106B790 10 thunk_to_STL_string_dtor_0106b790 stl Wrapper that calls STL_string_dtor and returns 0x0106B7A0 10 thunk_to_STL_string_dtor_0106b7a0 stl Wrapper that calls STL_string_dtor and returns 0x0106B7B0 10 thunk_to_STL_string_dtor_0106b7b0 stl Wrapper that calls STL_string_dtor and returns 0x0106B830 280 CRT_unregister_window_classes_atexit_0106b830 crt CRT atexit handler: unregisters all window classes by atom from the global registration table, frees the atom array, deletes the critical section protecting it, and resets all counters. Duplicate copy from different compilation unit. 0x0106B950 66 tls_destroy_map_0106b950 game_core TLS destructor that destroys an STL map stored in thread-local storage. 0x0106B9A0 69 tls_clear_field_4198 crt TLS destructor: zeros 0x33 bytes at TLS offset 0x4198. Clears thread-local encrypted string buffer. 0x0106B9F0 69 tls_clear_field_4390 crt TLS destructor: zeros 0x30 bytes at TLS offset 0x4390. Clears thread-local encrypted string buffer. 0x0106BA40 69 tls_clear_field_2988 crt TLS destructor: zeros 0x30 bytes at TLS offset 0x2988. Clears thread-local encrypted string buffer. 0x0106BA90 69 tls_clear_field_3d08 crt TLS destructor: zeros 0x32 bytes at TLS offset 0x3d08. Clears thread-local encrypted string buffer. 0x0106BAE0 69 tls_clear_buffer_at_38c8 crt Clears 0x32 bytes at TLS offset 0x38c8. Compiler-generated TLS variable initializer. 0x0106BB30 69 tls_clear_buffer_at_35c0 crt Clears 0x32 bytes at TLS offset 0x35c0. Compiler-generated TLS variable initializer. 0x0106BB80 69 tls_clear_buffer_at_32e4 crt Clears 0x32 bytes at TLS offset 0x32e4. Compiler-generated TLS variable initializer. 0x0106BBD0 69 tls_clear_buffer_at_2efc crt Clears 0x32 bytes at TLS offset 0x2efc. Compiler-generated TLS variable initializer. 0x0106BC20 69 tls_clear_buffer_at_2c14 crt Clears 0x32 bytes at TLS offset 0x2c14. Compiler-generated TLS variable initializer. 0x0106BC70 69 tls_clear_buffer_at_41d0 crt Clears 0x34 bytes at TLS offset 0x41d0. Compiler-generated TLS variable initializer. 0x0106BCC0 69 tls_clear_buffer_at_29c0 crt Clears 0x32 bytes at TLS offset 0x29c0. Compiler-generated TLS variable initializer. 0x0106BD10 69 tls_clear_buffer_at_3d40 crt Clears 0x33 bytes at TLS offset 0x3d40. Compiler-generated TLS variable initializer. 0x0106BD60 69 tls_clear_buffer_at_3900 crt Clears 0x34 bytes at TLS offset 0x3900. Compiler-generated TLS variable initializer. 0x0106BDB0 69 tls_clear_buffer_at_35f8 crt Clears 0x33 bytes at TLS offset 0x35f8. Compiler-generated TLS variable initializer. 0x0106BE00 69 tls_clear_buffer_at_331c crt Clears 0x34 bytes at TLS offset 0x331c. Compiler-generated TLS variable initializer. 0x0106BE50 69 tls_clear_buffer_at_2f34 crt Clears 0x33 bytes at TLS offset 0x2f34. Compiler-generated TLS variable initializer. 0x0106BEA0 69 tls_clear_buffer_at_2c4c crt Clears 0x34 bytes at TLS offset 0x2c4c. Compiler-generated TLS variable initializer. 0x0106BEF0 69 tls_clear_buffer_at_43c8 crt Clears 0x31 bytes at TLS offset 0x43c8. Compiler-generated TLS variable initializer. 0x0106BF40 69 tls_clear_buffer_at_29f8 crt Clears 0x33 bytes at TLS offset 0x29f8. Compiler-generated TLS variable initializer. 0x0106BF90 69 tls_clear_buffer_at_3d78 crt Clears 0x34 bytes at TLS offset 0x3d78. Compiler-generated TLS variable initializer. 0x0106BFE0 69 tls_clear_buffer_at_393c crt Clears 0x30 bytes at TLS offset 0x393c. Compiler-generated TLS variable initializer. 0x0106C030 69 tls_clear_buffer_at_3630 crt Clears 0x34 bytes at TLS offset 0x3630. Compiler-generated TLS variable initializer. 0x0106C080 69 tls_clear_buffer_at_3358 crt Clears 0x30 bytes at TLS offset 0x3358. Compiler-generated TLS variable initializer. 0x0106C0D0 69 tls_clear_buffer_at_2f6c crt Clears 0x34 bytes at TLS offset 0x2f6c. Compiler-generated TLS variable initializer. 0x0106C120 69 tls_clear_buffer_at_2c88 crt Clears 0x30 bytes at TLS offset 0x2c88. Compiler-generated TLS variable initializer. 0x0106C170 69 tls_clear_buffer_at_4400 crt Clears 0x30 bytes at TLS offset 0x4400. Compiler-generated TLS variable initializer. 0x0106C1C0 69 tls_clear_buffer_at_2a30 crt Clears 0x34 bytes at TLS offset 0x2a30. Compiler-generated TLS variable initializer. 0x0106C210 69 tls_clear_buffer_at_3974 crt Clears 0x32 bytes at TLS offset 0x3974. Compiler-generated TLS variable initializer. 0x0106C260 69 tls_clear_buffer_at_3390 crt Clears 0x32 bytes at TLS offset 0x3390. Compiler-generated TLS variable initializer. 0x0106C2B0 69 tls_clear_buffer_at_2cc0 crt Clears 0x32 bytes at TLS offset 0x2cc0. Compiler-generated TLS variable initializer. 0x0106C300 69 tls_clear_buffer_at_4438 crt Clears 0x30 bytes at TLS offset 0x4438. Compiler-generated TLS variable initializer. 0x0106C350 69 tls_clear_buffer_at_3db4 crt Clears 0x32 bytes at TLS offset 0x3db4. Compiler-generated TLS variable initializer. 0x0106C3A0 69 tls_clear_buffer_at_39ac crt Clears 0x33 bytes at TLS offset 0x39ac. Compiler-generated TLS variable initializer. 0x0106C3F0 69 tls_clear_buffer_at_366c crt Clears 0x32 bytes at TLS offset 0x366c. Compiler-generated TLS variable initializer. 0x0106C440 69 tls_clear_buffer_at_33c8 crt Clears 0x33 bytes at TLS offset 0x33c8. Compiler-generated TLS variable initializer. 0x0106C490 69 tls_clear_buffer_at_2fa8 crt Clears 0x32 bytes at TLS offset 0x2fa8. Compiler-generated TLS variable initializer. 0x0106C4E0 69 tls_clear_buffer_at_2cf8 crt Clears 0x33 bytes at TLS offset 0x2cf8. Compiler-generated TLS variable initializer. 0x0106C530 69 tls_clear_buffer_at_4470 crt Clears 0x31 bytes at TLS offset 0x4470. Compiler-generated TLS variable initializer. 0x0106C580 69 tls_clear_buffer_at_3dec crt Clears 0x31 bytes at TLS offset 0x3dec. Compiler-generated TLS variable initializer. 0x0106C5D0 69 tls_clear_buffer_at_39e4 crt Clears 0x34 bytes at TLS offset 0x39e4. Compiler-generated TLS variable initializer. 0x0106C620 69 tls_clear_buffer_at_36a4 crt Clears 0x31 bytes at TLS offset 0x36a4. Compiler-generated TLS variable initializer. 0x0106C670 69 tls_clear_buffer_at_3400 crt Clears 0x34 bytes at TLS offset 0x3400. Compiler-generated TLS variable initializer. 0x0106C6C0 69 tls_clear_buffer_at_2fe0 crt Clears 0x31 bytes at TLS offset 0x2fe0. Compiler-generated TLS variable initializer. 0x0106C710 69 tls_clear_buffer_at_2d30 crt Clears 0x34 bytes at TLS offset 0x2d30. Compiler-generated TLS variable initializer. 0x0106C760 69 tls_clear_buffer_at_44a8 crt Clears 0x6 bytes at TLS offset 0x44a8. Compiler-generated TLS variable initializer. 0x0106C7B0 69 tls_clear_buffer_at_3e24 crt Clears 0x30 bytes at TLS offset 0x3e24. Compiler-generated TLS variable initializer. 0x0106C800 69 tls_clear_buffer_at_3a20 crt Clears 0x6 bytes at TLS offset 0x3a20. Compiler-generated TLS variable initializer. 0x0106C850 69 tls_clear_buffer_at_36dc crt Clears 0x30 bytes at TLS offset 0x36dc. Compiler-generated TLS variable initializer. 0x0106C8A0 69 tls_clear_buffer_at_3018 crt Clears 0x30 bytes at TLS offset 0x3018. Compiler-generated TLS variable initializer. 0x0106C8F0 69 tls_clear_buffer_at_2d6c crt Clears 0x6 bytes at TLS offset 0x2d6c. Compiler-generated TLS variable initializer. 0x0106C940 69 tls_clear_buffer_at_3e5c crt Clears 0x33 bytes at TLS offset 0x3e5c. Compiler-generated TLS variable initializer. 0x0106C990 69 tls_clear_buffer_at_3a2c crt Clears 0x32 bytes at TLS offset 0x3a2c. Compiler-generated TLS variable initializer. 0x0106C9E0 69 tls_clear_buffer_at_3714 crt Clears 0x33 bytes at TLS offset 0x3714. Compiler-generated TLS variable initializer. 0x0106CA30 69 tls_clear_buffer_at_3050 crt Clears 0x33 bytes at TLS offset 0x3050. Compiler-generated TLS variable initializer. 0x0106CA80 69 tls_clear_buffer_at_44b4 crt Clears 0x31 bytes at TLS offset 0x44b4. Compiler-generated TLS variable initializer. 0x0106CAD0 69 tls_clear_buffer_at_3a64 crt Clears 0x34 bytes at TLS offset 0x3a64. Compiler-generated TLS variable initializer. 0x0106CB20 69 tls_clear_buffer_at_44ec crt Clears 0x30 bytes at TLS offset 0x44ec. Compiler-generated TLS variable initializer. 0x0106CB70 69 tls_clear_buffer_at_3e94 crt Clears 0x32 bytes at TLS offset 0x3e94. Compiler-generated TLS variable initializer. 0x0106CBC0 69 tls_clear_buffer_at_3aa0 crt Clears 0x30 bytes at TLS offset 0x3aa0. Compiler-generated TLS variable initializer. 0x0106CC10 69 tls_clear_buffer_at_3088 crt Clears 0x32 bytes at TLS offset 0x3088. Compiler-generated TLS variable initializer. 0x0106CC60 69 tls_clear_buffer_at_420c crt Clears 0x2b bytes at TLS offset 0x420c. Compiler-generated TLS variable initializer. 0x0106CCB0 69 tls_clear_buffer_at_27e4 crt Clears 0x6 bytes at TLS offset 0x27e4. Compiler-generated TLS variable initializer. 0x0106CD00 69 tls_clear_buffer_at_2820 crt Clears 0x2c bytes at TLS offset 0x2820. Compiler-generated TLS variable initializer. 0x0106CD50 69 tls_clear_buffer_at_374c crt Clears 0x6 bytes at TLS offset 0x374c. Compiler-generated TLS variable initializer. 0x0106CDA0 69 tls_clear_buffer_at_3168 crt Clears 0x6 bytes at TLS offset 0x3168. Compiler-generated TLS variable initializer. 0x0106CDF0 69 tls_clear_buffer_at_2a6c crt Clears 0x32 bytes at TLS offset 0x2a6c. Compiler-generated TLS variable initializer. 0x0106CE40 69 tls_clear_buffer_at_3f74 crt Clears 0x6 bytes at TLS offset 0x3f74. Compiler-generated TLS variable initializer. 0x0106CE90 69 tls_clear_buffer_at_3fbc crt Clears 0x6 bytes at TLS offset 0x3fbc. Compiler-generated TLS variable initializer. 0x0106CEE0 69 tls_clear_buffer_at_2808 crt Clears 0x6 bytes at TLS offset 0x2808. Compiler-generated TLS variable initializer. 0x0106CF30 69 tls_clear_buffer_at_4524 crt Clears 0x2f bytes at TLS offset 0x4524. Compiler-generated TLS variable initializer. 0x0106CF80 69 tls_clear_buffer_at_3ecc crt Clears 0x31 bytes at TLS offset 0x3ecc. Compiler-generated TLS variable initializer. 0x0106CFD0 69 tls_clear_buffer_at_3ad8 crt Clears 0x32 bytes at TLS offset 0x3ad8. Compiler-generated TLS variable initializer. 0x0106D020 69 tls_clear_buffer_at_30c0 crt Clears 0x31 bytes at TLS offset 0x30c0. Compiler-generated TLS variable initializer. 0x0106D070 69 tls_clear_buffer_at_4558 crt Clears 0x31 bytes at TLS offset 0x4558. Compiler-generated TLS variable initializer. 0x0106D0C0 69 tls_clear_buffer_at_3f04 crt Clears 0x30 bytes at TLS offset 0x3f04. Compiler-generated TLS variable initializer. 0x0106D110 69 tls_clear_buffer_at_3b10 crt Clears 0x33 bytes at TLS offset 0x3b10. Compiler-generated TLS variable initializer. 0x0106D160 69 tls_clear_buffer_at_30f8 crt Clears 0x30 bytes at TLS offset 0x30f8. Compiler-generated TLS variable initializer. 0x0106D1B0 69 tls_clear_buffer_at_4590 crt Clears 0x32 bytes at TLS offset 0x4590. Compiler-generated TLS variable initializer. 0x0106D200 69 tls_clear_buffer_at_3f3c crt Clears 0x33 bytes at TLS offset 0x3f3c. Compiler-generated TLS variable initializer. 0x0106D250 69 tls_clear_buffer_at_3b48 crt Clears 0x34 bytes at TLS offset 0x3b48. Compiler-generated TLS variable initializer. 0x0106D2A0 69 tls_clear_buffer_at_3130 crt Clears 0x33 bytes at TLS offset 0x3130. Compiler-generated TLS variable initializer. 0x0106D2F0 69 tls_clear_buffer_at_45c8 crt Clears 0x34 bytes at TLS offset 0x45c8. Compiler-generated TLS variable initializer. 0x0106D340 69 tls_clear_field_4604 crt TLS field clear: zeros 0x30 bytes at TLS offset 0x4604. Compiler-generated TLS variable initializer via TLS slot DAT_0173aeac. 0x0106D390 69 tls_clear_field_463c crt TLS field clear: zeros 0x32 bytes at TLS offset 0x463c. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D3E0 69 tls_clear_field_4674 crt TLS field clear: zeros 0x33 bytes at TLS offset 0x4674. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D430 69 tls_clear_field_46ac crt TLS field clear: zeros 0x34 bytes at TLS offset 0x46ac. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D480 69 tls_clear_field_3fc8 crt TLS field clear: zeros 0x35 bytes at TLS offset 0x3fc8. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D4D0 69 tls_clear_field_423c crt TLS field clear: zeros 0x31 bytes at TLS offset 0x423c. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D520 69 tls_clear_field_27f0 crt TLS field clear: zeros 6 bytes at TLS offset 0x27f0. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D570 69 tls_clear_field_3758 crt TLS field clear: zeros 6 bytes at TLS offset 0x3758. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D5C0 69 tls_clear_field_3174 crt TLS field clear: zeros 6 bytes at TLS offset 0x3174. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D610 69 tls_clear_field_2aa4 crt TLS field clear: zeros 6 bytes at TLS offset 0x2aa4. Compiler-generated TLS variable initializer via TLS slot DAT_0173aeac. 0x0106D660 69 tls_clear_field_3f80 crt TLS field clear: zeros 0x36 bytes at TLS offset 0x3f80. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D6B0 69 tls_clear_field_2814 crt TLS field clear: zeros 6 bytes at TLS offset 0x2814. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D700 69 tls_clear_field_4004 crt TLS field clear: zeros 0x34 bytes at TLS offset 0x4004. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D750 69 tls_clear_field_4274 crt TLS field clear: zeros 0x30 bytes at TLS offset 0x4274. Compiler-generated TLS variable initializer via TLS slot DAT_0173aeac. 0x0106D7A0 69 tls_clear_field_27fc crt TLS field clear: zeros 6 bytes at TLS offset 0x27fc. Compiler-generated TLS variable initializer via TLS slot DAT_0173aeac. 0x0106D7F0 69 tls_clear_field_3b84 crt Zeroes out bytes at TLS field offset 0x3b84. Reads the thread-local storage block via FS:[0x2c] and clears a region of up to 0x30 bytes. 0x0106D840 69 tls_clear_field_3764 crt Zeroes out bytes at TLS field offset 0x3764. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106D890 69 tls_clear_field_343c crt TLS field clear: zeros 0x30 bytes at TLS offset 0x343c. Compiler-generated TLS variable initializer via TLS slot DAT_0173aeac. 0x0106D8E0 69 tls_clear_field_3180 crt TLS field clear: zeros 0x32 bytes at TLS offset 0x3180. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106D930 69 tls_clear_field_2d78 crt TLS field clear: zeros 0x30 bytes at TLS offset 0x2d78. Compiler-generated TLS variable initializer via TLS slot DAT_0173aeac. 0x0106D980 69 tls_clear_field_2ab0 crt TLS field clear: zeros 0x32 bytes at TLS offset 0x2ab0. Compiler-generated TLS variable initializer via TLS slot DAT_0173aeac. 0x0106D9D0 69 tls_clear_field_4040 crt TLS field clear: zeros 0x33 bytes at TLS offset 0x4040. Compiler-generated TLS variable initializer via TLS slot DAT_0173aeac. 0x0106DA20 69 tls_clear_field_42ac crt Zeroes out bytes at TLS field offset 0x42ac. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DA70 69 tls_clear_field_2854 crt Zeroes out bytes at TLS field offset 0x2854. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DAC0 69 tls_clear_field_3bbc crt Zeroes out bytes at TLS field offset 0x3bbc. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DB10 69 tls_clear_field_379c crt Zeroes out bytes at TLS field offset 0x379c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DB60 69 tls_clear_field_3474 crt TLS field clear: zeros 0x2f bytes at TLS offset 0x3474. Accesses thread-local storage via TLS slot DAT_0173aeac. 0x0106DBB0 69 tls_clear_field_31b8 crt Zeroes out bytes at TLS field offset 0x31b8. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DC00 69 tls_clear_field_2db0 crt Zeroes out bytes at TLS field offset 0x2db0. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DC50 69 tls_clear_field_2ae8 crt Zeroes out bytes at TLS field offset 0x2ae8. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DCA0 69 tls_clear_field_4078 crt Zeroes out bytes at TLS field offset 0x4078. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DCF0 69 tls_clear_field_42e4 crt Zeroes out bytes at TLS field offset 0x42e4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DD40 69 tls_clear_field_2884 crt Zeroes out bytes at TLS field offset 0x2884. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DD90 69 tls_clear_field_3bf0 crt Zeroes out bytes at TLS field offset 0x3bf0. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DDE0 69 tls_clear_field_37d8 crt Zeroes out bytes at TLS field offset 0x37d8. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DE30 69 tls_clear_field_34a8 crt Zeroes out bytes at TLS field offset 0x34a8. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DE80 69 tls_clear_field_31f4 crt Zeroes out bytes at TLS field offset 0x31f4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DED0 69 tls_clear_field_2de4 crt Zeroes out bytes at TLS field offset 0x2de4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DF20 69 tls_clear_field_2b24 crt Zeroes out bytes at TLS field offset 0x2b24. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DF70 69 tls_clear_field_40b4 crt Zeroes out bytes at TLS field offset 0x40b4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106DFC0 69 tls_clear_field_28b4 crt Zeroes out bytes at TLS field offset 0x28b4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E010 69 tls_clear_field_3c24 crt Zeroes out bytes at TLS field offset 0x3c24. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E060 69 tls_clear_field_3810 crt Zeroes out bytes at TLS field offset 0x3810. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E0B0 69 tls_clear_field_34dc crt Zeroes out bytes at TLS field offset 0x34dc. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E100 69 tls_clear_field_322c crt Zeroes out bytes at TLS field offset 0x322c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E150 69 tls_clear_field_2e18 crt Zeroes out bytes at TLS field offset 0x2e18. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E1A0 69 tls_clear_field_2b5c crt Zeroes out bytes at TLS field offset 0x2b5c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E1F0 69 tls_clear_field_40ec crt Zeroes out bytes at TLS field offset 0x40ec. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E240 69 tls_clear_field_42f0 crt Zeroes out bytes at TLS field offset 0x42f0. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E290 69 tls_clear_field_28e4 crt Zeroes out bytes at TLS field offset 0x28e4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E2E0 69 tls_clear_field_3c5c crt Zeroes out bytes at TLS field offset 0x3c5c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E330 69 tls_clear_field_3848 crt Zeroes out bytes at TLS field offset 0x3848. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E380 69 tls_clear_field_3514 crt Zeroes out bytes at TLS field offset 0x3514. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E3D0 69 tls_clear_field_3264 crt Zeroes out bytes at TLS field offset 0x3264. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E420 69 tls_clear_field_2e50 crt Zeroes out bytes at TLS field offset 0x2e50. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E470 69 tls_clear_field_2b94 crt Zeroes out bytes at TLS field offset 0x2b94. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E4C0 69 tls_clear_field_4128 crt Zeroes out bytes at TLS field offset 0x4128. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E510 69 tls_clear_field_4328 crt Zeroes out bytes at TLS field offset 0x4328. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E560 69 tls_clear_field_2914 crt Zeroes out bytes at TLS field offset 0x2914. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E5B0 69 tls_clear_field_3c94 crt Zeroes out bytes at TLS field offset 0x3c94. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E600 69 tls_clear_field_3880 crt Zeroes out bytes at TLS field offset 0x3880. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E650 69 tls_clear_field_354c crt Zeroes out bytes at TLS field offset 0x354c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E6A0 69 tls_clear_field_329c crt Zeroes out bytes at TLS field offset 0x329c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E6F0 69 tls_clear_field_2e88 crt Zeroes out bytes at TLS field offset 0x2e88. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E740 69 tls_clear_field_2bcc crt Zeroes out bytes at TLS field offset 0x2bcc. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E790 69 tls_clear_field_4160 crt Zeroes out bytes at TLS field offset 0x4160. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E7E0 69 tls_clear_field_435c crt Zeroes out bytes at TLS field offset 0x435c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E830 69 tls_clear_field_294c crt Zeroes out bytes at TLS field offset 0x294c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E880 69 tls_clear_field_3cd0 crt Zeroes out bytes at TLS field offset 0x3cd0. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E8D0 69 tls_clear_field_38bc crt Zeroes out bytes at TLS field offset 0x38bc. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E920 69 tls_clear_field_3588 crt Zeroes out bytes at TLS field offset 0x3588. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E970 69 tls_clear_field_32d8 crt Zeroes out bytes at TLS field offset 0x32d8. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106E9C0 69 tls_clear_field_2ec4 crt Zeroes out bytes at TLS field offset 0x2ec4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106EA10 69 tls_clear_field_2c08 crt Zeroes out bytes at TLS field offset 0x2c08. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0106EA60 10 thunk_to_STL_string_dtor_0106ea60 stl Wrapper that calls STL_string_dtor and returns 0x0106EA70 10 thunk_to_STL_string_dtor_0106ea70 stl Wrapper that calls STL_string_dtor and returns 0x0106EA80 10 thunk_to_STL_string_dtor_0106ea80 stl Wrapper that calls STL_string_dtor and returns 0x0106EA90 10 thunk_to_STL_string_dtor_0106ea90 stl Wrapper that calls STL_string_dtor and returns 0x0106EAA0 10 thunk_to_STL_string_dtor_0106eaa0 stl Wrapper function that calls STL_string_dtor and returns 0x0106EAB0 10 thunk_to_STL_string_dtor_0106eab0 stl Wrapper that calls STL_string_dtor and returns 0x0106EAC0 10 thunk_to_STL_string_dtor_0106eac0 stl Wrapper that calls STL_string_dtor and returns 0x0106EAD0 10 thunk_to_STL_string_dtor_0106ead0 stl Wrapper that calls STL_string_dtor and returns 0x0106EAE0 10 thunk_to_STL_string_dtor_0106eae0 stl Wrapper that calls STL_string_dtor and returns 0x0106EAF0 10 thunk_to_STL_string_dtor_0106eaf0 stl Wrapper that calls STL_string_dtor and returns 0x0106EB00 10 thunk_to_STL_string_dtor_0106eb00 stl Wrapper that calls STL_string_dtor and returns 0x0106EB10 10 thunk_to_STL_string_dtor_0106eb10 stl Wrapper that calls STL_string_dtor and returns 0x0106EB20 10 thunk_to_STL_string_dtor_0106eb20 stl Wrapper that calls STL_string_dtor and returns 0x0106EB30 10 thunk_to_STL_string_dtor_0106eb30 stl Wrapper that calls STL_string_dtor and returns 0x0106EB40 10 thunk_to_STL_string_dtor_0106eb40 stl Wrapper that calls STL_string_dtor and returns immediately 0x0106EB50 10 thunk_to_STL_string_dtor_0106eb50 stl Wrapper that calls STL_string_dtor and returns 0x0106EB60 10 thunk_to_STL_string_dtor_0106eb60 stl Wrapper that calls STL_string_dtor and returns 0x0106EB70 10 thunk_to_STL_string_dtor_0106eb70 stl Wrapper that calls STL_string_dtor and returns 0x0106EB80 10 thunk_to_STL_string_dtor_0106eb80 stl Wrapper that calls STL_string_dtor and returns 0x0106EB90 10 thunk_to_STL_string_dtor_0106eb90 stl Wrapper that calls STL_string_dtor and returns 0x0106EBA0 10 thunk_to_STL_string_dtor_0106eba0 stl Wrapper that calls STL_string_dtor and returns 0x0106EBB0 10 thunk_to_STL_string_dtor_0106ebb0 stl Wrapper that calls STL_string_dtor and returns 0x0106EBC0 10 thunk_to_STL_string_dtor_0106ebc0 stl Wrapper that calls STL_string_dtor and returns 0x0106EBD0 10 thunk_to_STL_string_dtor_0106ebd0 stl Wrapper that calls STL_string_dtor and returns 0x0106EBE0 10 thunk_to_STL_string_dtor_0106ebe0 stl Wrapper that calls STL_string_dtor and returns 0x0106EC60 280 atexit_unregister_window_classes_0106ec60 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0106ED80 66 atexit_STL_map_destroy_wrapper_0106ed80 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0106EE40 280 atexit_unregister_window_classes_0106ee40 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0106EFD0 280 atexit_unregister_window_classes_0106efd0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0106F160 280 atexit_unregister_window_classes_0106f160 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0106F2F0 280 atexit_unregister_window_classes_0106f2f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0106F480 280 atexit_unregister_window_classes_0106f480 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0106F610 280 atexit_unregister_window_classes_0106f610 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0106F730 10 thunk_to_STL_string_dtor_0106f730 stl Wrapper that calls STL_string_dtor and returns 0x0106F740 10 thunk_to_STL_string_dtor_0106f740 stl Wrapper that calls STL_string_dtor and returns 0x0106F750 10 thunk_to_STL_string_dtor_0106f750 stl Wrapper that calls STL_string_dtor and returns 0x0106F760 10 thunk_to_STL_string_dtor_0106f760 stl Wrapper that calls STL_string_dtor and returns immediately 0x0106F770 10 thunk_to_STL_string_dtor_0106f770 stl Wrapper that calls STL_string_dtor and returns 0x0106F780 10 thunk_to_STL_string_dtor_0106f780 stl Wrapper that calls STL_string_dtor and returns 0x0106F790 10 thunk_to_STL_string_dtor_0106f790 stl Wrapper that calls STL_string_dtor and returns 0x0106F7A0 10 thunk_to_STL_string_dtor_0106f7a0 stl Wrapper that calls STL_string_dtor and returns 0x0106F7B0 10 thunk_to_STL_string_dtor_0106f7b0 stl Wrapper that calls STL_string_dtor and returns 0x0106F7C0 10 thunk_to_STL_string_dtor_0106f7c0 stl Wrapper that calls STL_string_dtor and returns 0x0106F7D0 10 thunk_to_STL_string_dtor_0106f7d0 stl Wrapper that calls STL_string_dtor and returns 0x0106F7E0 10 thunk_to_STL_string_dtor_0106f7e0 stl Wrapper that calls STL_string_dtor and returns 0x0106F7F0 10 thunk_to_STL_string_dtor_0106f7f0 stl Wrapper that calls STL_string_dtor and returns 0x0106F800 10 thunk_to_STL_string_dtor_0106f800 stl Wrapper that calls STL_string_dtor and returns 0x0106F810 10 thunk_to_STL_string_dtor_0106f810 stl Wrapper that calls STL_string_dtor and returns 0x0106F820 10 thunk_to_STL_string_dtor_0106f820 stl Wrapper function that calls STL_string_dtor and returns 0x0106F830 10 thunk_to_STL_string_dtor_0106f830 stl Wrapper that calls STL_string_dtor and returns 0x0106F840 10 thunk_to_STL_string_dtor_0106f840 stl Wrapper that calls STL_string_dtor and returns 0x0106F850 10 thunk_to_STL_string_dtor_0106f850 stl Wrapper that calls STL_string_dtor and returns 0x0106F860 10 thunk_to_STL_string_dtor_0106f860 stl Wrapper that calls STL_string_dtor and returns 0x0106F870 10 thunk_to_STL_string_dtor_0106f870 stl Wrapper that calls STL_string_dtor and returns 0x0106F880 10 thunk_to_STL_string_dtor_0106f880 stl Wrapper that calls STL_string_dtor and returns 0x0106F890 10 thunk_to_STL_string_dtor_0106f890 stl Wrapper that calls STL_string_dtor and returns 0x0106F8A0 10 thunk_to_STL_string_dtor_0106f8a0 stl Wrapper that calls STL_string_dtor and returns 0x0106F8B0 10 thunk_to_STL_string_dtor_0106f8b0 stl Wrapper function that calls STL_string_dtor and returns 0x0106F930 280 atexit_unregister_window_classes_0106f930 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0106FA50 66 atexit_STL_map_destroy_wrapper_0106fa50 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x0106FAA0 10 thunk_to_STL_string_dtor_0106faa0 stl Wrapper that calls STL_string_dtor and returns 0x0106FAB0 10 thunk_to_STL_string_dtor_0106fab0 stl Wrapper that calls STL_string_dtor and returns 0x0106FAC0 10 thunk_to_STL_string_dtor_0106fac0 stl Wrapper that calls STL_string_dtor and returns 0x0106FAD0 10 thunk_to_STL_string_dtor_0106fad0 stl Wrapper that calls STL_string_dtor and returns 0x0106FAE0 10 thunk_to_STL_string_dtor_0106fae0 stl Wrapper that calls STL_string_dtor and returns 0x0106FAF0 10 thunk_to_STL_string_dtor_0106faf0 stl Wrapper that calls STL_string_dtor and returns 0x0106FB00 10 thunk_to_STL_string_dtor_0106fb00 stl Wrapper that calls STL_string_dtor and returns 0x0106FB10 10 thunk_to_STL_string_dtor_0106fb10 stl Wrapper that calls STL_string_dtor and returns immediately 0x0106FB20 10 thunk_to_STL_string_dtor_0106fb20 stl Wrapper that calls STL_string_dtor and returns 0x0106FB30 10 thunk_to_STL_string_dtor_0106fb30 stl Wrapper that calls STL_string_dtor and returns 0x0106FB40 10 thunk_to_STL_string_dtor_0106fb40 stl Wrapper that calls STL_string_dtor and returns 0x0106FB50 10 thunk_to_STL_string_dtor_0106fb50 stl Wrapper that calls STL_string_dtor and returns 0x0106FB60 10 thunk_to_STL_string_dtor_0106fb60 stl Wrapper that calls STL_string_dtor and returns 0x0106FB70 10 thunk_to_STL_string_dtor_0106fb70 stl Wrapper that calls STL_string_dtor and returns 0x0106FB80 10 thunk_to_STL_string_dtor_0106fb80 stl Wrapper that calls STL_string_dtor and returns 0x0106FB90 10 thunk_to_STL_string_dtor_0106fb90 stl Wrapper that calls STL_string_dtor and returns 0x0106FBA0 10 thunk_to_STL_string_dtor_0106fba0 stl Wrapper that calls STL_string_dtor and returns 0x0106FBB0 10 thunk_to_STL_string_dtor_0106fbb0 stl Wrapper that calls STL_string_dtor and returns 0x0106FBC0 10 thunk_to_STL_string_dtor_0106fbc0 stl Wrapper that calls STL_string_dtor and returns 0x0106FBD0 10 thunk_to_STL_string_dtor_0106fbd0 stl Wrapper that calls STL_string_dtor and returns 0x0106FBE0 10 thunk_to_STL_string_dtor_0106fbe0 stl Wrapper that calls STL_string_dtor and returns 0x0106FBF0 10 thunk_to_STL_string_dtor_0106fbf0 stl Wrapper that calls STL_string_dtor and returns 0x0106FC00 10 thunk_to_STL_string_dtor_0106fc00 stl Wrapper that calls STL_string_dtor and returns 0x0106FC10 10 thunk_to_STL_string_dtor_0106fc10 stl Wrapper that calls STL_string_dtor and returns 0x0106FC20 10 thunk_to_STL_string_dtor_0106fc20 stl Wrapper that calls STL_string_dtor and returns 0x0106FCA0 280 atexit_unregister_window_classes_0106fca0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x0106FDC0 66 atexit_STL_map_destroy_wrapper_0106fdc0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x0106FE10 10 thunk_to_STL_string_dtor_0106fe10 stl Wrapper that calls STL_string_dtor and returns 0x0106FE20 10 thunk_to_STL_string_dtor_0106fe20 stl Wrapper that calls STL_string_dtor and returns 0x0106FE30 10 thunk_to_STL_string_dtor_0106fe30 stl Wrapper that calls STL_string_dtor and returns 0x0106FE40 10 thunk_to_STL_string_dtor_0106fe40 stl Wrapper that calls STL_string_dtor and returns 0x0106FE50 10 thunk_to_STL_string_dtor_0106fe50 stl Wrapper that calls STL_string_dtor and returns 0x0106FE60 10 thunk_to_STL_string_dtor_0106fe60 stl Wrapper that calls STL_string_dtor and returns 0x0106FE70 10 thunk_to_STL_string_dtor_0106fe70 stl Wrapper that calls STL_string_dtor and returns 0x0106FE80 10 thunk_to_STL_string_dtor_0106fe80 stl Wrapper that calls STL_string_dtor and returns 0x0106FE90 10 thunk_to_STL_string_dtor_0106fe90 stl Wrapper that calls STL_string_dtor and returns 0x0106FEA0 10 thunk_to_STL_string_dtor_0106fea0 stl Wrapper that calls STL_string_dtor and returns 0x0106FEB0 10 thunk_to_STL_string_dtor_0106feb0 stl Wrapper that calls STL_string_dtor and returns 0x0106FEC0 10 thunk_to_STL_string_dtor_0106fec0 stl Wrapper that calls STL_string_dtor and returns 0x0106FED0 10 thunk_to_STL_string_dtor_0106fed0 stl Wrapper that calls STL_string_dtor and returns 0x0106FEE0 10 thunk_to_STL_string_dtor_0106fee0 stl Wrapper that calls STL_string_dtor and returns 0x0106FEF0 10 thunk_to_STL_string_dtor_0106fef0 stl Wrapper that calls STL_string_dtor and returns 0x0106FF00 10 thunk_to_STL_string_dtor_0106ff00 stl Wrapper that calls STL_string_dtor and returns 0x0106FF10 10 thunk_to_STL_string_dtor_0106ff10 stl Wrapper that calls STL_string_dtor and returns 0x0106FF20 10 thunk_to_STL_string_dtor_0106ff20 stl Wrapper that calls STL_string_dtor and returns 0x0106FF30 10 thunk_to_STL_string_dtor_0106ff30 stl Wrapper that calls STL_string_dtor and returns 0x0106FF40 10 thunk_to_STL_string_dtor_0106ff40 stl Wrapper that calls STL_string_dtor and returns 0x0106FF50 10 thunk_to_STL_string_dtor_0106ff50 stl Wrapper that calls STL_string_dtor and returns 0x0106FF60 10 thunk_to_STL_string_dtor_0106ff60 stl Wrapper that calls STL_string_dtor and returns 0x0106FF70 10 thunk_to_STL_string_dtor_0106ff70 stl Wrapper that calls STL_string_dtor and returns 0x0106FF80 10 thunk_to_STL_string_dtor_0106ff80 stl Wrapper that calls STL_string_dtor and returns 0x0106FF90 10 thunk_to_STL_string_dtor_0106ff90 stl Wrapper that calls STL_string_dtor and returns 0x01070010 280 atexit_unregister_window_classes_01070010 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01070130 10 thunk_to_STL_string_dtor_01070130 stl Wrapper that calls STL_string_dtor and returns 0x01070140 10 thunk_to_STL_string_dtor_01070140 stl Wrapper that calls STL_string_dtor and returns 0x01070150 10 thunk_to_STL_string_dtor_01070150 stl Wrapper that calls STL_string_dtor and returns 0x01070160 10 thunk_to_STL_string_dtor_01070160 stl Wrapper that calls STL_string_dtor and returns 0x01070170 10 thunk_to_STL_string_dtor_01070170 stl Wrapper that calls STL_string_dtor and returns 0x01070180 10 thunk_to_STL_string_dtor_01070180 stl Wrapper that calls STL_string_dtor and returns 0x01070190 10 thunk_to_STL_string_dtor_01070190 stl Wrapper that calls STL_string_dtor and returns 0x010701A0 10 thunk_to_STL_string_dtor_010701a0 stl Wrapper that calls STL_string_dtor and returns 0x010701B0 10 thunk_to_STL_string_dtor_010701b0 stl Wrapper that calls STL_string_dtor and returns 0x010701C0 10 thunk_to_STL_string_dtor_010701c0 stl Wrapper that calls STL_string_dtor and returns 0x010701D0 10 thunk_to_STL_string_dtor_010701d0 stl Wrapper that calls STL_string_dtor and returns 0x010701E0 10 thunk_to_STL_string_dtor_010701e0 stl Wrapper that calls STL_string_dtor and returns 0x010701F0 10 thunk_to_STL_string_dtor_010701f0 stl Wrapper that calls STL_string_dtor and returns 0x01070200 10 thunk_to_STL_string_dtor_01070200 stl Wrapper that calls STL_string_dtor and returns 0x01070210 10 thunk_to_STL_string_dtor_01070210 stl Wrapper that calls STL_string_dtor and returns 0x01070220 10 thunk_to_STL_string_dtor_01070220 stl Wrapper function that calls STL_string_dtor and returns 0x01070230 10 thunk_to_STL_string_dtor_01070230 stl Wrapper that calls STL_string_dtor and returns 0x01070240 10 thunk_to_STL_string_dtor_01070240 stl Wrapper that calls STL_string_dtor and returns 0x01070250 10 thunk_to_STL_string_dtor_01070250 stl Wrapper that calls STL_string_dtor and returns 0x01070260 10 thunk_to_STL_string_dtor_01070260 stl Wrapper that calls STL_string_dtor and returns 0x01070270 10 thunk_to_STL_string_dtor_01070270 stl Wrapper that calls STL_string_dtor and returns 0x01070280 10 thunk_to_STL_string_dtor_01070280 stl Wrapper that calls STL_string_dtor and returns 0x01070290 10 thunk_to_STL_string_dtor_01070290 stl Wrapper function that calls STL_string_dtor and returns 0x010702A0 10 thunk_to_STL_string_dtor_010702a0 stl Wrapper that calls STL_string_dtor and returns 0x010702B0 10 thunk_to_STL_string_dtor_010702b0 stl Wrapper that calls STL_string_dtor and returns 0x01070330 280 atexit_unregister_window_classes_01070330 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01070450 66 atexit_STL_map_destroy_wrapper_01070450 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x010704A0 10 thunk_to_STL_string_dtor_010704a0 stl Wrapper that calls STL_string_dtor and returns 0x010704B0 10 thunk_to_STL_string_dtor_010704b0 stl Wrapper that calls STL_string_dtor and returns 0x010704C0 10 thunk_to_STL_string_dtor_010704c0 stl Wrapper that calls STL_string_dtor and returns 0x010704D0 10 thunk_to_STL_string_dtor_010704d0 stl Wrapper that calls STL_string_dtor and returns 0x010704E0 10 thunk_to_STL_string_dtor_010704e0 stl Wrapper that calls STL_string_dtor and returns 0x010704F0 10 thunk_to_STL_string_dtor_010704f0 stl Wrapper that calls STL_string_dtor and returns 0x01070500 10 thunk_to_STL_string_dtor_01070500 stl Wrapper that calls STL_string_dtor and returns 0x01070510 10 thunk_to_STL_string_dtor_01070510 stl Wrapper that calls STL_string_dtor and returns 0x01070520 10 thunk_to_STL_string_dtor_01070520 stl Wrapper that calls STL_string_dtor and returns 0x01070530 10 thunk_to_STL_string_dtor_01070530 stl Wrapper that calls STL_string_dtor and returns 0x01070540 10 thunk_to_STL_string_dtor_01070540 stl Wrapper that calls STL_string_dtor and returns 0x01070550 10 thunk_to_STL_string_dtor_01070550 stl Wrapper that calls STL_string_dtor and returns 0x01070560 10 thunk_to_STL_string_dtor_01070560 stl Wrapper that calls STL_string_dtor and returns 0x01070570 10 thunk_to_STL_string_dtor_01070570 stl Wrapper function that calls STL_string_dtor and returns 0x01070580 10 thunk_to_STL_string_dtor_01070580 stl Wrapper that calls STL_string_dtor and returns 0x01070590 10 thunk_to_STL_string_dtor_01070590 stl Wrapper that calls STL_string_dtor and returns 0x010705A0 10 thunk_to_STL_string_dtor_010705a0 stl Wrapper that calls STL_string_dtor and returns 0x010705B0 10 thunk_to_STL_string_dtor_010705b0 stl Wrapper that calls STL_string_dtor and returns 0x010705C0 10 thunk_to_STL_string_dtor_010705c0 stl Wrapper that calls STL_string_dtor and returns 0x010705D0 10 thunk_to_STL_string_dtor_010705d0 stl Wrapper that calls STL_string_dtor and returns 0x010705E0 10 thunk_to_STL_string_dtor_010705e0 stl Wrapper that calls STL_string_dtor and returns 0x010705F0 10 thunk_to_STL_string_dtor_010705f0 stl Wrapper that calls STL_string_dtor and returns 0x01070600 10 thunk_to_STL_string_dtor_01070600 stl Wrapper that calls STL_string_dtor and returns 0x01070610 10 thunk_to_STL_string_dtor_01070610 stl Wrapper that calls STL_string_dtor and returns 0x01070620 10 thunk_to_STL_string_dtor_01070620 stl Wrapper that calls STL_string_dtor and returns 0x010706A0 280 atexit_unregister_window_classes_010706a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010707C0 66 atexit_STL_map_destroy_wrapper_010707c0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01070810 10 thunk_to_STL_string_dtor_01070810 stl Wrapper that calls STL_string_dtor and returns 0x01070820 10 thunk_to_STL_string_dtor_01070820 stl Wrapper that calls STL_string_dtor and returns 0x01070830 10 thunk_to_STL_string_dtor_01070830 stl Wrapper that calls STL_string_dtor and returns 0x01070840 10 thunk_to_STL_string_dtor_01070840 stl Wrapper that calls STL_string_dtor and returns 0x01070850 10 thunk_to_STL_string_dtor_01070850 stl Wrapper that calls STL_string_dtor and returns 0x01070860 10 thunk_to_STL_string_dtor_01070860 stl Wrapper that calls STL_string_dtor and returns 0x01070870 10 thunk_to_STL_string_dtor_01070870 stl Wrapper that calls STL_string_dtor and returns 0x01070880 10 thunk_to_STL_string_dtor_01070880 stl Wrapper function that calls STL_string_dtor and returns 0x01070890 10 thunk_to_STL_string_dtor_01070890 stl Wrapper that calls STL_string_dtor and returns 0x010708A0 10 thunk_to_STL_string_dtor_010708a0 stl Wrapper that calls STL_string_dtor and returns 0x010708B0 10 thunk_to_STL_string_dtor_010708b0 stl Wrapper that calls STL_string_dtor and returns 0x010708C0 10 thunk_to_STL_string_dtor_010708c0 stl Wrapper that calls STL_string_dtor and returns 0x010708D0 10 thunk_to_STL_string_dtor_010708d0 stl Wrapper that calls STL_string_dtor and returns 0x010708E0 10 thunk_to_STL_string_dtor_010708e0 stl Wrapper that calls STL_string_dtor destructor 0x010708F0 10 thunk_to_STL_string_dtor_010708f0 stl Wrapper that calls STL_string_dtor and returns 0x01070900 10 thunk_to_STL_string_dtor_01070900 stl Wrapper that calls STL_string_dtor and returns 0x01070910 10 thunk_to_STL_string_dtor_01070910 stl Wrapper that calls STL_string_dtor and returns 0x01070920 10 thunk_to_STL_string_dtor_01070920 stl Wrapper that calls STL_string_dtor and returns 0x01070930 10 thunk_to_STL_string_dtor_01070930 stl Wrapper that calls STL_string_dtor and returns 0x01070940 10 thunk_to_STL_string_dtor_01070940 stl Wrapper that calls STL_string_dtor and returns 0x01070950 10 thunk_to_STL_string_dtor_01070950 stl Wrapper that calls STL_string_dtor and returns 0x01070960 10 thunk_to_STL_string_dtor_01070960 stl Wrapper that calls STL_string_dtor and returns 0x01070970 10 thunk_to_STL_string_dtor_01070970 stl Wrapper that calls STL_string_dtor and returns 0x01070980 10 thunk_to_STL_string_dtor_01070980 stl Wrapper that calls STL_string_dtor and returns 0x01070990 10 thunk_to_STL_string_dtor_01070990 stl Wrapper that calls STL_string_dtor and returns 0x01070A10 280 atexit_unregister_window_classes_01070a10 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01070B30 66 atexit_STL_map_destroy_wrapper_01070b30 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01070B80 10 thunk_to_STL_string_dtor_01070b80 stl Wrapper that calls STL_string_dtor and returns 0x01070B90 10 thunk_to_STL_string_dtor_01070b90 stl Wrapper that calls STL_string_dtor and returns 0x01070BA0 10 thunk_to_STL_string_dtor_01070ba0 stl Wrapper that calls STL_string_dtor and returns 0x01070BB0 10 thunk_to_STL_string_dtor_01070bb0 stl Wrapper that calls STL_string_dtor and returns 0x01070BC0 10 thunk_to_STL_string_dtor_01070bc0 stl Wrapper function that calls STL_string_dtor and returns 0x01070BD0 10 thunk_to_STL_string_dtor_01070bd0 stl Wrapper that calls STL_string_dtor and returns 0x01070BE0 10 thunk_to_STL_string_dtor_01070be0 stl Wrapper that calls STL_string_dtor and returns 0x01070BF0 10 thunk_to_STL_string_dtor_01070bf0 stl Wrapper that calls STL_string_dtor and returns 0x01070C00 10 thunk_to_STL_string_dtor_01070c00 stl Wrapper that calls STL_string_dtor and returns 0x01070C10 10 thunk_to_STL_string_dtor_01070c10 stl Wrapper that calls STL_string_dtor and returns 0x01070C20 10 thunk_to_STL_string_dtor_01070c20 stl Wrapper that calls STL_string_dtor and returns 0x01070C30 10 thunk_to_STL_string_dtor_01070c30 stl Wrapper that calls STL_string_dtor and returns 0x01070C40 10 thunk_to_STL_string_dtor_01070c40 stl Wrapper that calls STL_string_dtor and returns 0x01070C50 10 thunk_to_STL_string_dtor_01070c50 stl Wrapper that calls STL_string_dtor and returns 0x01070C60 10 thunk_to_STL_string_dtor_01070c60 stl Wrapper that calls STL_string_dtor and returns 0x01070C70 10 thunk_to_STL_string_dtor_01070c70 stl Wrapper that calls STL_string_dtor and returns 0x01070C80 10 thunk_to_STL_string_dtor_01070c80 stl Wrapper that calls STL_string_dtor and returns 0x01070C90 10 thunk_to_STL_string_dtor_01070c90 stl Wrapper that calls STL_string_dtor and returns 0x01070CA0 10 thunk_to_STL_string_dtor_01070ca0 stl Wrapper that calls STL_string_dtor and returns 0x01070CB0 10 thunk_to_STL_string_dtor_01070cb0 stl Wrapper that calls STL_string_dtor and returns 0x01070CC0 10 thunk_to_STL_string_dtor_01070cc0 stl Wrapper that calls STL_string_dtor and returns 0x01070CD0 10 thunk_to_STL_string_dtor_01070cd0 stl Wrapper that calls STL_string_dtor and returns 0x01070CE0 10 thunk_to_STL_string_dtor_01070ce0 stl Wrapper that calls STL_string_dtor and returns 0x01070CF0 10 thunk_to_STL_string_dtor_01070cf0 stl Wrapper that calls STL_string_dtor and returns 0x01070D00 10 thunk_to_STL_string_dtor_01070d00 stl Wrapper that calls STL_string_dtor and returns 0x01070D80 280 atexit_unregister_window_classes_01070d80 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01070EA0 66 atexit_STL_map_destroy_wrapper_01070ea0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01070EF0 10 thunk_to_STL_string_dtor_01070ef0 stl Wrapper that calls STL_string_dtor and returns 0x01070F00 10 thunk_to_STL_string_dtor_01070f00 stl Wrapper that calls STL_string_dtor and returns 0x01070F10 10 thunk_to_STL_string_dtor_01070f10 stl Wrapper that calls STL_string_dtor and returns 0x01070F20 10 thunk_to_STL_string_dtor_01070f20 stl Wrapper that calls STL_string_dtor and returns 0x01070F30 10 thunk_to_STL_string_dtor_01070f30 stl Wrapper that calls STL_string_dtor and returns 0x01070F40 10 thunk_to_STL_string_dtor_01070f40 stl Wrapper that calls STL_string_dtor and returns 0x01070F50 10 thunk_to_STL_string_dtor_01070f50 stl Wrapper that calls STL_string_dtor and returns 0x01070F60 10 thunk_to_STL_string_dtor_01070f60 stl Wrapper that calls STL_string_dtor and returns 0x01070F70 10 thunk_to_STL_string_dtor_01070f70 stl Wrapper that calls STL_string_dtor and returns 0x01070F80 10 thunk_to_STL_string_dtor_01070f80 stl Wrapper that calls STL_string_dtor and returns 0x01070F90 10 thunk_to_STL_string_dtor_01070f90 stl Wrapper function that calls STL_string_dtor and returns 0x01070FA0 10 thunk_to_STL_string_dtor_01070fa0 stl Wrapper that calls STL_string_dtor and returns 0x01070FB0 10 thunk_to_STL_string_dtor_01070fb0 stl Wrapper that calls STL_string_dtor and returns 0x01070FC0 10 thunk_to_STL_string_dtor_01070fc0 stl Wrapper that calls STL_string_dtor and returns 0x01070FD0 10 thunk_to_STL_string_dtor_01070fd0 stl Wrapper that calls STL_string_dtor and returns 0x01070FE0 10 thunk_to_STL_string_dtor_01070fe0 stl Wrapper that calls STL_string_dtor and returns 0x01070FF0 10 thunk_to_STL_string_dtor_01070ff0 stl Wrapper that calls STL_string_dtor and returns 0x01071000 10 thunk_to_STL_string_dtor_01071000 stl Wrapper that calls STL_string_dtor and returns 0x01071010 10 thunk_to_STL_string_dtor_01071010 stl Wrapper that calls STL_string_dtor and returns 0x01071020 10 thunk_to_STL_string_dtor_01071020 stl Wrapper that calls STL_string_dtor and returns 0x01071030 10 thunk_to_STL_string_dtor_01071030 stl Wrapper that calls STL_string_dtor and returns 0x01071040 10 thunk_to_STL_string_dtor_01071040 stl Wrapper that calls STL_string_dtor and returns 0x01071050 10 thunk_to_STL_string_dtor_01071050 stl Wrapper that calls STL string destructor 0x01071060 10 thunk_to_STL_string_dtor_01071060 stl Wrapper that calls STL_string_dtor and returns 0x01071070 10 thunk_to_STL_string_dtor_01071070 stl Wrapper that calls STL_string_dtor and returns 0x010710F0 280 atexit_unregister_window_classes_010710f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01071210 66 atexit_STL_map_destroy_wrapper_01071210 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01071260 69 tls_clear_field_46e8 crt Zeroes out bytes at TLS field offset 0x46e8. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x010712B0 69 tls_clear_field_4710 crt Zeroes out bytes at TLS field offset 0x4710. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01071300 69 tls_clear_field_4734 crt Zeroes out bytes at TLS field offset 0x4734. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01071350 69 tls_clear_field_475c crt Zeroes out bytes at TLS field offset 0x475c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x010713A0 10 thunk_to_STL_string_dtor_010713a0 stl Wrapper that calls STL_string_dtor and returns 0x010713B0 10 thunk_to_STL_string_dtor_010713b0 stl Wrapper that calls STL_string_dtor and returns 0x010713C0 10 thunk_to_STL_string_dtor_010713c0 stl Wrapper that calls STL_string_dtor and returns 0x010713D0 10 thunk_to_STL_string_dtor_010713d0 stl Wrapper that calls STL_string_dtor and returns 0x010713E0 10 thunk_to_STL_string_dtor_010713e0 stl Wrapper that calls STL_string_dtor and returns 0x010713F0 10 thunk_to_STL_string_dtor_010713f0 stl Wrapper that calls STL_string_dtor and returns 0x01071400 10 thunk_to_STL_string_dtor_01071400 stl Wrapper that calls STL_string_dtor and returns 0x01071410 10 thunk_to_STL_string_dtor_01071410 stl Wrapper function that calls STL_string_dtor and returns 0x01071420 10 thunk_to_STL_string_dtor_01071420 stl Wrapper that calls STL string destructor 0x01071430 10 thunk_to_STL_string_dtor_01071430 stl Wrapper that calls STL_string_dtor and returns 0x01071440 10 thunk_to_STL_string_dtor_01071440 stl Wrapper that calls STL_string_dtor destructor 0x01071450 10 thunk_to_STL_string_dtor_01071450 stl Wrapper that calls STL_string_dtor and returns 0x01071460 10 thunk_to_STL_string_dtor_01071460 stl Wrapper calling STL string destructor 0x01071470 10 thunk_to_STL_string_dtor_01071470 stl Wrapper that calls STL_string_dtor and returns 0x01071480 10 thunk_to_STL_string_dtor_01071480 stl Wrapper that calls STL_string_dtor and returns 0x01071490 10 thunk_to_STL_string_dtor_01071490 stl Wrapper that calls STL_string_dtor and returns 0x010714A0 10 thunk_to_STL_string_dtor_010714a0 stl Wrapper that calls STL_string_dtor and returns 0x010714B0 10 thunk_to_STL_string_dtor_010714b0 stl Wrapper that calls STL_string_dtor and returns 0x010714C0 10 thunk_to_STL_string_dtor_010714c0 stl Wrapper that calls STL_string_dtor and returns 0x010714D0 10 thunk_to_STL_string_dtor_010714d0 stl Wrapper that calls STL_string_dtor and returns 0x010714E0 10 thunk_to_STL_string_dtor_010714e0 stl Wrapper calling STL_string_dtor destructor 0x010714F0 10 thunk_to_STL_string_dtor_010714f0 stl Wrapper that calls STL_string_dtor and returns 0x01071500 10 thunk_to_STL_string_dtor_01071500 stl Wrapper that calls STL_string_dtor and returns 0x01071510 10 thunk_to_STL_string_dtor_01071510 stl Wrapper that calls STL_string_dtor and returns 0x01071520 10 thunk_to_STL_string_dtor_01071520 stl Wrapper that calls STL_string_dtor and returns 0x010715A0 280 atexit_unregister_window_classes_010715a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010716C0 66 atexit_STL_map_destroy_wrapper_010716c0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01071710 10 thunk_to_STL_string_dtor_01071710 stl Wrapper that calls STL_string_dtor and returns 0x01071720 10 thunk_to_STL_string_dtor_01071720 stl Wrapper that calls STL_string_dtor and returns 0x01071730 10 thunk_to_STL_string_dtor_01071730 stl Wrapper that calls STL_string_dtor and returns 0x01071740 10 thunk_to_STL_string_dtor_01071740 stl Wrapper that calls STL_string_dtor and returns 0x01071750 10 thunk_to_STL_string_dtor_01071750 stl Wrapper that calls STL_string_dtor and returns 0x01071760 10 thunk_to_STL_string_dtor_01071760 stl Wrapper that calls STL_string_dtor and returns 0x01071770 10 thunk_to_STL_string_dtor_01071770 stl Wrapper that calls STL_string_dtor and returns 0x01071780 10 thunk_to_STL_string_dtor_01071780 stl Wrapper that calls STL_string_dtor and returns 0x01071790 10 thunk_to_STL_string_dtor_01071790 stl Wrapper that calls STL_string_dtor and returns 0x010717A0 10 thunk_to_STL_string_dtor_010717a0 stl Wrapper that calls STL_string_dtor and returns 0x010717B0 10 thunk_to_STL_string_dtor_010717b0 stl Wrapper that calls STL_string_dtor and returns 0x010717C0 10 thunk_to_STL_string_dtor_010717c0 stl Wrapper that calls STL_string_dtor and returns 0x010717D0 10 thunk_to_STL_string_dtor_010717d0 stl Wrapper that calls STL_string_dtor and returns 0x010717E0 10 thunk_to_STL_string_dtor_010717e0 stl Wrapper that calls STL_string_dtor and returns 0x010717F0 10 thunk_to_STL_string_dtor_010717f0 stl Wrapper that calls STL_string_dtor and returns 0x01071800 10 thunk_to_STL_string_dtor_01071800 stl Wrapper that calls STL_string_dtor and returns 0x01071810 10 thunk_to_STL_string_dtor_01071810 stl Wrapper that calls STL_string_dtor and returns 0x01071820 10 thunk_to_STL_string_dtor_01071820 stl Wrapper that calls STL_string_dtor and returns 0x01071830 10 thunk_to_STL_string_dtor_01071830 stl Wrapper that calls STL_string_dtor and returns 0x01071840 10 thunk_to_STL_string_dtor_01071840 stl Wrapper that calls STL_string_dtor and returns 0x01071850 10 thunk_to_STL_string_dtor_01071850 stl Wrapper that calls STL_string_dtor and returns 0x01071860 10 thunk_to_STL_string_dtor_01071860 stl Wrapper that calls STL_string_dtor and returns 0x01071870 10 thunk_to_STL_string_dtor_01071870 stl Wrapper that calls STL_string_dtor and returns 0x01071880 10 thunk_to_STL_string_dtor_01071880 stl Wrapper that calls STL_string_dtor and returns 0x01071890 10 thunk_to_STL_string_dtor_01071890 stl Wrapper that calls STL_string_dtor and returns 0x01071910 280 atexit_unregister_window_classes_01071910 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01071A30 66 atexit_STL_map_destroy_wrapper_01071a30 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01071A80 10 thunk_to_STL_string_dtor_01071a80 stl Wrapper that calls STL_string_dtor and returns 0x01071A90 10 thunk_to_STL_string_dtor_01071a90 stl Wrapper that calls STL_string_dtor and returns 0x01071AA0 10 thunk_to_STL_string_dtor_01071aa0 stl Wrapper function that calls STL_string_dtor and returns 0x01071AB0 10 thunk_to_STL_string_dtor_01071ab0 stl Wrapper that calls STL_string_dtor and returns 0x01071AC0 10 thunk_to_STL_string_dtor_01071ac0 stl Wrapper function that calls STL_string_dtor and returns 0x01071AD0 10 thunk_to_STL_string_dtor_01071ad0 stl Wrapper that calls STL_string_dtor and returns 0x01071AE0 10 thunk_to_STL_string_dtor_01071ae0 stl Wrapper that calls STL_string_dtor and returns 0x01071AF0 10 thunk_to_STL_string_dtor_01071af0 stl Wrapper that calls STL_string_dtor and returns 0x01071B00 10 thunk_to_STL_string_dtor_01071b00 stl Wrapper that calls STL_string_dtor and returns 0x01071B10 10 thunk_to_STL_string_dtor_01071b10 stl Wrapper that calls STL_string_dtor and returns 0x01071B20 10 thunk_to_STL_string_dtor_01071b20 stl Wrapper that calls STL_string_dtor and returns 0x01071B30 10 thunk_to_STL_string_dtor_01071b30 stl Wrapper that calls STL_string_dtor and returns 0x01071B40 10 thunk_to_STL_string_dtor_01071b40 stl Wrapper that calls STL_string_dtor and returns 0x01071B50 10 thunk_to_STL_string_dtor_01071b50 stl Wrapper that calls STL_string_dtor and returns 0x01071B60 10 thunk_to_STL_string_dtor_01071b60 stl Wrapper that calls STL_string_dtor and returns 0x01071B70 10 thunk_to_STL_string_dtor_01071b70 stl Wrapper that calls STL_string_dtor and returns 0x01071B80 10 thunk_to_STL_string_dtor_01071b80 stl Wrapper that calls STL_string_dtor and returns 0x01071B90 10 thunk_to_STL_string_dtor_01071b90 stl Wrapper that calls STL_string_dtor and returns 0x01071BA0 10 thunk_to_STL_string_dtor_01071ba0 stl Wrapper that calls STL_string_dtor and returns 0x01071BB0 10 thunk_to_STL_string_dtor_01071bb0 stl Wrapper that calls STL_string_dtor and returns 0x01071BC0 10 thunk_to_STL_string_dtor_01071bc0 stl Wrapper that calls STL_string_dtor and returns 0x01071BD0 10 thunk_to_STL_string_dtor_01071bd0 stl Wrapper that calls STL_string_dtor and returns 0x01071BE0 10 thunk_to_STL_string_dtor_01071be0 stl Wrapper that calls STL_string_dtor and returns 0x01071BF0 10 thunk_to_STL_string_dtor_01071bf0 stl Wrapper function that calls STL_string_dtor and returns 0x01071C00 10 thunk_to_STL_string_dtor_01071c00 stl Wrapper function that calls STL_string_dtor and returns 0x01071C80 280 atexit_unregister_window_classes_01071c80 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01071DA0 10 thunk_to_STL_string_dtor_01071da0 stl Wrapper that calls STL_string_dtor and returns 0x01071DB0 10 thunk_to_STL_string_dtor_01071db0 stl Wrapper that calls STL_string_dtor and returns 0x01071DC0 10 thunk_to_STL_string_dtor_01071dc0 stl Wrapper that calls STL_string_dtor and returns 0x01071DD0 10 thunk_to_STL_string_dtor_01071dd0 stl Wrapper that calls STL_string_dtor and returns 0x01071DE0 10 thunk_to_STL_string_dtor_01071de0 stl Wrapper that calls STL_string_dtor and returns 0x01071DF0 10 thunk_to_STL_string_dtor_01071df0 stl Wrapper that calls STL_string_dtor and returns 0x01071E00 10 thunk_to_STL_string_dtor_01071e00 stl Wrapper that calls STL_string_dtor and returns 0x01071E10 10 thunk_to_STL_string_dtor_01071e10 stl Wrapper that calls STL_string_dtor and returns 0x01071E20 10 thunk_to_STL_string_dtor_01071e20 stl Wrapper that calls STL_string_dtor and returns 0x01071E30 10 thunk_to_STL_string_dtor_01071e30 stl Wrapper that calls STL_string_dtor and returns 0x01071E40 10 thunk_to_STL_string_dtor_01071e40 stl Wrapper that calls STL_string_dtor and returns 0x01071E50 10 thunk_to_STL_string_dtor_01071e50 stl Wrapper that calls STL_string_dtor and returns 0x01071E60 10 thunk_to_STL_string_dtor_01071e60 stl Wrapper that calls STL_string_dtor and returns 0x01071E70 10 thunk_to_STL_string_dtor_01071e70 stl Wrapper that calls STL_string_dtor and returns 0x01071E80 10 thunk_to_STL_string_dtor_01071e80 stl Wrapper that calls STL_string_dtor and returns 0x01071E90 10 thunk_to_STL_string_dtor_01071e90 stl Wrapper that calls STL_string_dtor and returns 0x01071EA0 10 thunk_to_STL_string_dtor_01071ea0 stl Wrapper that calls STL_string_dtor and returns 0x01071EB0 10 thunk_to_STL_string_dtor_01071eb0 stl Wrapper that calls STL_string_dtor and returns 0x01071EC0 10 thunk_to_STL_string_dtor_01071ec0 stl Wrapper that calls STL_string_dtor and returns 0x01071ED0 10 thunk_to_STL_string_dtor_01071ed0 stl Wrapper that calls STL_string_dtor and returns 0x01071EE0 10 thunk_to_STL_string_dtor_01071ee0 stl Wrapper that calls STL_string_dtor and returns 0x01071EF0 10 thunk_to_STL_string_dtor_01071ef0 stl Wrapper that calls STL_string_dtor and returns 0x01071F00 10 thunk_to_STL_string_dtor_01071f00 stl Wrapper that calls STL_string_dtor and returns 0x01071F10 10 thunk_to_STL_string_dtor_01071f10 stl Wrapper that calls STL_string_dtor and returns 0x01071F20 10 thunk_to_STL_string_dtor_01071f20 stl Wrapper that calls STL_string_dtor and returns 0x01071FA0 280 atexit_unregister_window_classes_01071fa0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010720C0 66 atexit_STL_map_destroy_wrapper_010720c0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01072110 10 thunk_to_STL_string_dtor_01072110 stl Wrapper that calls STL_string_dtor and returns 0x01072120 10 thunk_to_STL_string_dtor_01072120 stl Wrapper that calls STL_string_dtor and returns 0x01072130 10 thunk_to_STL_string_dtor_01072130 stl Wrapper that calls STL_string_dtor and returns 0x01072140 10 thunk_to_STL_string_dtor_01072140 stl Wrapper that calls STL_string_dtor and returns 0x01072150 10 thunk_to_STL_string_dtor_01072150 stl Wrapper that calls STL_string_dtor and returns 0x01072160 10 thunk_to_STL_string_dtor_01072160 stl Wrapper that calls STL_string_dtor and returns 0x01072170 10 thunk_to_STL_string_dtor_01072170 stl Wrapper that calls STL_string_dtor and returns 0x01072180 10 thunk_to_STL_string_dtor_01072180 stl Wrapper that calls STL_string_dtor and returns 0x01072190 10 thunk_to_STL_string_dtor_01072190 stl Wrapper that calls STL_string_dtor and returns 0x010721A0 10 thunk_to_STL_string_dtor_010721a0 stl Wrapper that calls STL_string_dtor and returns 0x010721B0 10 thunk_to_STL_string_dtor_010721b0 stl Wrapper that calls STL_string_dtor and returns 0x010721C0 10 thunk_to_STL_string_dtor_010721c0 stl Wrapper that calls STL_string_dtor and returns 0x010721D0 10 thunk_to_STL_string_dtor_010721d0 stl Wrapper that calls STL_string_dtor and returns 0x010721E0 10 thunk_to_STL_string_dtor_010721e0 stl Wrapper that calls STL_string_dtor and returns 0x010721F0 10 thunk_to_STL_string_dtor_010721f0 stl Wrapper that calls STL_string_dtor and returns 0x01072200 10 thunk_to_STL_string_dtor_01072200 stl Wrapper that calls STL_string_dtor and returns 0x01072210 10 thunk_to_STL_string_dtor_01072210 stl Wrapper that calls STL_string_dtor and returns 0x01072220 10 thunk_to_STL_string_dtor_01072220 stl Wrapper that calls STL_string_dtor and returns 0x01072230 10 thunk_to_STL_string_dtor_01072230 stl Wrapper that calls STL_string_dtor and returns 0x01072240 10 thunk_to_STL_string_dtor_01072240 stl Wrapper that calls STL_string_dtor and returns 0x01072250 10 thunk_to_STL_string_dtor_01072250 stl Wrapper that calls STL_string_dtor and returns 0x01072260 10 thunk_to_STL_string_dtor_01072260 stl Wrapper that calls STL_string_dtor and returns 0x01072270 10 thunk_to_STL_string_dtor_01072270 stl Wrapper that calls STL_string_dtor and returns 0x01072280 10 thunk_to_STL_string_dtor_01072280 stl Wrapper that calls STL_string_dtor and returns 0x01072290 10 thunk_to_STL_string_dtor_01072290 stl Wrapper that calls STL_string_dtor and returns immediately 0x01072310 280 atexit_unregister_window_classes_01072310 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01072430 66 atexit_STL_map_destroy_wrapper_01072430 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01072480 10 thunk_to_STL_string_dtor_01072480 stl Wrapper that calls STL_string_dtor and returns 0x01072490 10 thunk_to_STL_string_dtor_01072490 stl Wrapper that calls STL_string_dtor and returns 0x010724A0 10 thunk_to_STL_string_dtor_010724a0 stl Wrapper function that calls STL_string_dtor and returns 0x010724B0 10 thunk_to_STL_string_dtor_010724b0 stl Wrapper that calls STL_string_dtor and returns 0x010724C0 10 thunk_to_STL_string_dtor_010724c0 stl Wrapper that calls STL_string_dtor and returns 0x010724D0 10 thunk_to_STL_string_dtor_010724d0 stl Wrapper that calls STL_string_dtor and returns 0x010724E0 10 thunk_to_STL_string_dtor_010724e0 stl Wrapper that calls STL_string_dtor and returns 0x010724F0 10 thunk_to_STL_string_dtor_010724f0 stl Wrapper that calls STL_string_dtor and returns 0x01072500 10 thunk_to_STL_string_dtor_01072500 stl Wrapper that calls STL_string_dtor and returns 0x01072510 10 thunk_to_STL_string_dtor_01072510 stl Wrapper that calls STL_string_dtor and returns 0x01072520 10 thunk_to_STL_string_dtor_01072520 stl Wrapper that calls STL_string_dtor and returns 0x01072530 10 thunk_to_STL_string_dtor_01072530 stl Wrapper that calls STL_string_dtor and returns 0x01072540 10 thunk_to_STL_string_dtor_01072540 stl Wrapper that calls STL_string_dtor and returns 0x01072550 10 thunk_to_STL_string_dtor_01072550 stl Wrapper that calls STL_string_dtor and returns 0x01072560 10 thunk_to_STL_string_dtor_01072560 stl Wrapper that calls STL_string_dtor and returns 0x01072570 10 thunk_to_STL_string_dtor_01072570 stl Wrapper that calls STL_string_dtor and returns 0x01072580 10 thunk_to_STL_string_dtor_01072580 stl Wrapper that calls STL string destructor 0x01072590 10 thunk_to_STL_string_dtor_01072590 stl Wrapper that calls STL_string_dtor destructor 0x010725A0 10 thunk_to_STL_string_dtor_010725a0 stl Wrapper that calls STL_string_dtor and returns 0x010725B0 10 thunk_to_STL_string_dtor_010725b0 stl Wrapper that calls STL_string_dtor and returns 0x010725C0 10 thunk_to_STL_string_dtor_010725c0 stl Wrapper that calls STL_string_dtor and returns 0x010725D0 10 thunk_to_STL_string_dtor_010725d0 stl Wrapper that calls STL_string_dtor and returns 0x010725E0 10 thunk_to_STL_string_dtor_010725e0 stl Wrapper that calls STL_string_dtor and returns 0x010725F0 10 thunk_to_STL_string_dtor_010725f0 stl Wrapper that calls STL_string_dtor and returns 0x01072600 10 thunk_to_STL_string_dtor_01072600 stl Wrapper that calls STL string destructor 0x01072680 280 atexit_unregister_window_classes_01072680 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010727A0 66 atexit_STL_map_destroy_wrapper_010727a0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x010727F0 10 thunk_to_STL_string_dtor_010727f0 stl Wrapper that calls STL_string_dtor and returns 0x01072800 10 thunk_to_STL_string_dtor_01072800 stl Wrapper that calls STL_string_dtor and returns 0x01072810 10 thunk_to_STL_string_dtor_01072810 stl Wrapper that calls STL_string_dtor and returns 0x01072820 10 thunk_to_STL_string_dtor_01072820 stl Wrapper that calls STL_string_dtor and returns 0x01072830 10 thunk_to_STL_string_dtor_01072830 stl Wrapper that calls STL_string_dtor and returns 0x01072840 10 thunk_to_STL_string_dtor_01072840 stl Wrapper that calls STL_string_dtor and returns 0x01072850 10 thunk_to_STL_string_dtor_01072850 stl Wrapper function that calls STL_string_dtor and returns 0x01072860 10 thunk_to_STL_string_dtor_01072860 stl Wrapper that calls STL_string_dtor and returns 0x01072870 10 thunk_to_STL_string_dtor_01072870 stl Wrapper that calls STL_string_dtor and returns 0x01072880 10 thunk_to_STL_string_dtor_01072880 stl Wrapper that calls STL_string_dtor and returns 0x01072890 10 thunk_to_STL_string_dtor_01072890 stl Wrapper that calls STL_string_dtor and returns 0x010728A0 10 thunk_to_STL_string_dtor_010728a0 stl Wrapper that calls STL_string_dtor and returns 0x010728B0 10 thunk_to_STL_string_dtor_010728b0 stl Wrapper that calls STL_string_dtor and returns 0x010728C0 10 thunk_to_STL_string_dtor_010728c0 stl Wrapper that calls STL_string_dtor and returns 0x010728D0 10 thunk_to_STL_string_dtor_010728d0 stl Wrapper that calls STL_string_dtor and returns 0x010728E0 10 thunk_to_STL_string_dtor_010728e0 stl Wrapper that calls STL_string_dtor and returns 0x010728F0 10 thunk_to_STL_string_dtor_010728f0 stl Wrapper that calls STL_string_dtor and returns 0x01072900 10 thunk_to_STL_string_dtor_01072900 stl Wrapper that calls STL_string_dtor and returns 0x01072910 10 thunk_to_STL_string_dtor_01072910 stl Wrapper that calls STL_string_dtor and returns 0x01072920 10 thunk_to_STL_string_dtor_01072920 stl Wrapper that calls STL_string_dtor and returns 0x01072930 10 thunk_to_STL_string_dtor_01072930 stl Wrapper that calls STL_string_dtor and returns 0x01072940 10 thunk_to_STL_string_dtor_01072940 stl Wrapper that calls STL string destructor 0x01072950 10 thunk_to_STL_string_dtor_01072950 stl Wrapper that calls STL_string_dtor and returns 0x01072960 10 thunk_to_STL_string_dtor_01072960 stl Wrapper that calls STL_string_dtor and returns 0x01072970 10 thunk_to_STL_string_dtor_01072970 stl Wrapper that calls STL_string_dtor and returns 0x010729F0 280 atexit_unregister_window_classes_010729f0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01072B10 66 atexit_STL_map_destroy_wrapper_01072b10 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01072B60 10 thunk_to_STL_string_dtor_01072b60 stl Wrapper that calls STL_string_dtor and returns 0x01072B70 10 thunk_to_STL_string_dtor_01072b70 stl Wrapper that calls STL_string_dtor and returns 0x01072B80 10 thunk_to_STL_string_dtor_01072b80 stl Wrapper that calls STL_string_dtor and returns 0x01072B90 10 thunk_to_STL_string_dtor_01072b90 stl Wrapper that calls STL_string_dtor and returns 0x01072BA0 10 thunk_to_STL_string_dtor_01072ba0 stl Wrapper that calls STL_string_dtor and returns 0x01072BB0 10 thunk_to_STL_string_dtor_01072bb0 stl Wrapper that calls STL_string_dtor and returns 0x01072BC0 10 thunk_to_STL_string_dtor_01072bc0 stl Wrapper that calls STL_string_dtor and returns 0x01072BD0 10 thunk_to_STL_string_dtor_01072bd0 stl Wrapper that calls STL_string_dtor and returns 0x01072BE0 10 thunk_to_STL_string_dtor_01072be0 stl Wrapper that calls STL_string_dtor and returns 0x01072BF0 10 thunk_to_STL_string_dtor_01072bf0 stl Wrapper that calls STL_string_dtor and returns 0x01072C00 10 thunk_to_STL_string_dtor_01072c00 stl Wrapper that calls STL_string_dtor and returns 0x01072C10 10 thunk_to_STL_string_dtor_01072c10 stl Wrapper function that calls STL_string_dtor and returns 0x01072C20 10 thunk_to_STL_string_dtor_01072c20 stl Wrapper that calls STL_string_dtor and returns 0x01072C30 10 thunk_to_STL_string_dtor_01072c30 stl Wrapper that calls STL_string_dtor and returns 0x01072C40 10 thunk_to_STL_string_dtor_01072c40 stl Wrapper that calls STL_string_dtor and returns 0x01072C50 10 thunk_to_STL_string_dtor_01072c50 stl Wrapper that calls STL_string_dtor and returns 0x01072C60 10 thunk_to_STL_string_dtor_01072c60 stl Wrapper that calls STL_string_dtor and returns 0x01072C70 10 thunk_to_STL_string_dtor_01072c70 stl Wrapper that calls STL_string_dtor and returns 0x01072C80 10 thunk_to_STL_string_dtor_01072c80 stl Wrapper that calls STL_string_dtor and returns 0x01072C90 10 thunk_to_STL_string_dtor_01072c90 stl Wrapper that calls STL_string_dtor and returns 0x01072CA0 10 thunk_to_STL_string_dtor_01072ca0 stl Wrapper that calls STL_string_dtor and returns 0x01072CB0 10 thunk_to_STL_string_dtor_01072cb0 stl Wrapper that calls STL_string_dtor and returns 0x01072CC0 10 thunk_to_STL_string_dtor_01072cc0 stl Wrapper that calls STL_string_dtor and returns 0x01072CD0 10 thunk_to_STL_string_dtor_01072cd0 stl Wrapper that calls STL_string_dtor and returns 0x01072CE0 10 thunk_to_STL_string_dtor_01072ce0 stl Wrapper that calls STL_string_dtor and returns 0x01072D60 280 atexit_unregister_window_classes_01072d60 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01072E80 66 atexit_STL_map_destroy_wrapper_01072e80 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01072ED0 10 thunk_to_STL_string_dtor_01072ed0 stl Wrapper that calls STL_string_dtor and returns 0x01072EE0 10 thunk_to_STL_string_dtor_01072ee0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01072EF0 10 thunk_to_STL_string_dtor_01072ef0 stl Wrapper function that calls STL_string_dtor and returns 0x01072F00 10 thunk_to_STL_string_dtor_01072f00 stl Wrapper that calls STL_string_dtor and returns 0x01072F10 10 thunk_to_STL_string_dtor_01072f10 stl Wrapper that calls STL_string_dtor and returns 0x01072F20 10 thunk_to_STL_string_dtor_01072f20 stl Wrapper that calls STL_string_dtor and returns 0x01072F30 10 thunk_to_STL_string_dtor_01072f30 stl Wrapper that calls STL_string_dtor and returns 0x01072F40 10 thunk_to_STL_string_dtor_01072f40 stl Wrapper that calls STL_string_dtor and returns 0x01072F50 10 thunk_to_STL_string_dtor_01072f50 stl Wrapper that calls STL_string_dtor and returns 0x01072F60 10 thunk_to_STL_string_dtor_01072f60 stl Wrapper that calls STL_string_dtor and returns 0x01072F70 10 thunk_to_STL_string_dtor_01072f70 stl Wrapper function that calls STL_string_dtor and returns 0x01072F80 10 thunk_to_STL_string_dtor_01072f80 stl Wrapper that calls STL_string_dtor and returns 0x01072F90 10 thunk_to_STL_string_dtor_01072f90 stl Wrapper that calls STL_string_dtor and returns 0x01072FA0 10 thunk_to_STL_string_dtor_01072fa0 stl Wrapper that calls STL_string_dtor and returns 0x01072FB0 10 thunk_to_STL_string_dtor_01072fb0 stl Wrapper that calls STL_string_dtor and returns 0x01072FC0 10 thunk_to_STL_string_dtor_01072fc0 stl Wrapper that calls STL_string_dtor and returns 0x01072FD0 10 thunk_to_STL_string_dtor_01072fd0 stl Wrapper function that calls STL_string_dtor and returns 0x01072FE0 10 thunk_to_STL_string_dtor_01072fe0 stl Wrapper that calls STL_string_dtor and returns 0x01072FF0 10 thunk_to_STL_string_dtor_01072ff0 stl Wrapper that calls STL_string_dtor and returns 0x01073000 10 thunk_to_STL_string_dtor_01073000 stl Wrapper that calls STL_string_dtor and returns 0x01073010 10 thunk_to_STL_string_dtor_01073010 stl Wrapper that calls STL_string_dtor and returns 0x01073020 10 thunk_to_STL_string_dtor_01073020 stl Wrapper that calls STL_string_dtor and returns 0x01073030 10 thunk_to_STL_string_dtor_01073030 stl Wrapper that calls STL_string_dtor and returns 0x01073040 10 thunk_to_STL_string_dtor_01073040 stl Wrapper that calls STL_string_dtor and returns 0x01073050 10 thunk_to_STL_string_dtor_01073050 stl Wrapper that calls STL_string_dtor and returns 0x010730D0 280 atexit_unregister_window_classes_010730d0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010731F0 66 atexit_STL_map_destroy_wrapper_010731f0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01073240 10 thunk_to_STL_string_dtor_01073240 stl Wrapper that calls STL_string_dtor and returns 0x01073250 10 thunk_to_STL_string_dtor_01073250 stl Wrapper that calls STL_string_dtor and returns 0x01073260 10 thunk_to_STL_string_dtor_01073260 stl Wrapper function that calls STL_string_dtor and returns 0x01073270 10 thunk_to_STL_string_dtor_01073270 stl Wrapper that calls STL_string_dtor and returns 0x01073280 10 thunk_to_STL_string_dtor_01073280 stl Wrapper that calls STL_string_dtor and returns 0x01073290 10 thunk_to_STL_string_dtor_01073290 stl Wrapper that calls STL_string_dtor and returns 0x010732A0 10 thunk_to_STL_string_dtor_010732a0 stl Wrapper that calls STL_string_dtor and returns 0x010732B0 10 thunk_to_STL_string_dtor_010732b0 stl Wrapper that calls STL_string_dtor and returns 0x010732C0 10 thunk_to_STL_string_dtor_010732c0 stl Wrapper that calls STL_string_dtor and returns 0x010732D0 10 thunk_to_STL_string_dtor_010732d0 stl Wrapper that calls STL_string_dtor and returns 0x010732E0 10 thunk_to_STL_string_dtor_010732e0 stl Wrapper that calls STL_string_dtor and returns 0x010732F0 10 thunk_to_STL_string_dtor_010732f0 stl Wrapper that calls STL_string_dtor and returns 0x01073300 10 thunk_to_STL_string_dtor_01073300 stl Wrapper that calls STL_string_dtor and returns 0x01073310 10 thunk_to_STL_string_dtor_01073310 stl Wrapper that calls STL_string_dtor and returns 0x01073320 10 thunk_to_STL_string_dtor_01073320 stl Wrapper that calls STL_string_dtor and returns 0x01073330 10 thunk_to_STL_string_dtor_01073330 stl Wrapper function that calls STL_string_dtor and returns 0x01073340 10 thunk_to_STL_string_dtor_01073340 stl Wrapper that calls STL_string_dtor and returns 0x01073350 10 thunk_to_STL_string_dtor_01073350 stl Wrapper that calls STL_string_dtor and returns 0x01073360 10 thunk_to_STL_string_dtor_01073360 stl Wrapper that calls STL_string_dtor and returns 0x01073370 10 thunk_to_STL_string_dtor_01073370 stl Wrapper that calls STL_string_dtor and returns 0x01073380 10 thunk_to_STL_string_dtor_01073380 stl Wrapper that calls STL_string_dtor and returns 0x01073390 10 thunk_to_STL_string_dtor_01073390 stl Wrapper function that calls STL_string_dtor and returns 0x010733A0 10 thunk_to_STL_string_dtor_010733a0 stl Wrapper that calls STL_string_dtor and returns 0x010733B0 10 thunk_to_STL_string_dtor_010733b0 stl Wrapper that calls STL_string_dtor and returns 0x010733C0 10 thunk_to_STL_string_dtor_010733c0 stl Wrapper that calls STL_string_dtor and returns 0x01073440 280 atexit_unregister_window_classes_01073440 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01073560 10 thunk_to_STL_string_dtor_01073560 stl Wrapper that calls STL_string_dtor and returns 0x01073570 10 thunk_to_STL_string_dtor_01073570 stl Wrapper that calls STL_string_dtor and returns 0x01073580 10 thunk_to_STL_string_dtor_01073580 stl Wrapper that calls STL_string_dtor and returns 0x01073590 10 thunk_to_STL_string_dtor_01073590 stl Wrapper that calls STL_string_dtor and returns 0x010735A0 10 thunk_to_STL_string_dtor_010735a0 stl Wrapper function that calls STL_string_dtor and returns 0x010735B0 10 thunk_to_STL_string_dtor_010735b0 stl Wrapper that calls STL_string_dtor and returns 0x010735C0 10 thunk_to_STL_string_dtor_010735c0 stl Wrapper that calls STL_string_dtor and returns 0x010735D0 10 thunk_to_STL_string_dtor_010735d0 stl Wrapper that calls STL_string_dtor and returns 0x010735E0 10 thunk_to_STL_string_dtor_010735e0 stl Wrapper that calls STL_string_dtor and returns 0x010735F0 10 thunk_to_STL_string_dtor_010735f0 stl Wrapper that calls STL_string_dtor and returns 0x01073600 10 thunk_to_STL_string_dtor_01073600 stl Wrapper function that calls STL_string_dtor and returns 0x01073610 10 thunk_to_STL_string_dtor_01073610 stl Wrapper that calls STL_string_dtor and returns 0x01073620 10 thunk_to_STL_string_dtor_01073620 stl Wrapper that calls STL_string_dtor and returns 0x01073630 10 thunk_to_STL_string_dtor_01073630 stl Wrapper that calls STL_string_dtor and returns 0x01073640 10 thunk_to_STL_string_dtor_01073640 stl Wrapper that calls STL_string_dtor and returns 0x01073650 10 thunk_to_STL_string_dtor_01073650 stl Wrapper that calls STL_string_dtor and returns 0x01073660 10 thunk_to_STL_string_dtor_01073660 stl Wrapper that calls STL_string_dtor and returns 0x01073670 10 thunk_to_STL_string_dtor_01073670 stl Wrapper that calls STL_string_dtor and returns 0x01073680 10 thunk_to_STL_string_dtor_01073680 stl Wrapper that calls STL_string_dtor and returns 0x01073690 10 thunk_to_STL_string_dtor_01073690 stl Wrapper that calls STL_string_dtor and returns 0x010736A0 10 thunk_to_STL_string_dtor_010736a0 stl Wrapper that calls STL_string_dtor and returns 0x010736B0 10 thunk_to_STL_string_dtor_010736b0 stl Wrapper that calls STL_string_dtor and returns 0x010736C0 10 thunk_to_STL_string_dtor_010736c0 stl Wrapper that calls STL_string_dtor and returns 0x010736D0 10 thunk_to_STL_string_dtor_010736d0 stl Wrapper that calls STL_string_dtor and returns 0x010736E0 10 thunk_to_STL_string_dtor_010736e0 stl Wrapper that calls STL_string_dtor and returns 0x01073760 280 atexit_unregister_window_classes_01073760 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01073880 66 atexit_STL_map_destroy_wrapper_01073880 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x010738D0 10 thunk_to_STL_string_dtor_010738d0 stl Wrapper that calls STL_string_dtor and returns 0x010738E0 10 thunk_to_STL_string_dtor_010738e0 stl Wrapper that calls STL_string_dtor and returns 0x010738F0 10 thunk_to_STL_string_dtor_010738f0 stl Wrapper that calls STL_string_dtor and returns 0x01073900 10 thunk_to_STL_string_dtor_01073900 stl Wrapper that calls STL_string_dtor and returns 0x01073910 10 thunk_to_STL_string_dtor_01073910 stl Wrapper that calls STL_string_dtor and returns 0x01073920 10 thunk_to_STL_string_dtor_01073920 stl Wrapper that calls STL_string_dtor and returns 0x01073930 10 thunk_to_STL_string_dtor_01073930 stl Wrapper that calls STL_string_dtor and returns 0x01073940 10 thunk_to_STL_string_dtor_01073940 stl Wrapper that calls STL_string_dtor and returns 0x01073950 10 thunk_to_STL_string_dtor_01073950 stl Wrapper calling STL_string_dtor destructor 0x01073960 10 thunk_to_STL_string_dtor_01073960 stl Wrapper that calls STL_string_dtor and returns 0x01073970 10 thunk_to_STL_string_dtor_01073970 stl Wrapper that calls STL_string_dtor and returns 0x01073980 10 thunk_to_STL_string_dtor_01073980 stl Wrapper that calls STL_string_dtor and returns 0x01073990 10 thunk_to_STL_string_dtor_01073990 stl Wrapper that calls STL_string_dtor and returns 0x010739A0 10 thunk_to_STL_string_dtor_010739a0 stl Wrapper that calls STL_string_dtor and returns 0x010739B0 10 thunk_to_STL_string_dtor_010739b0 stl Wrapper function that calls STL_string_dtor and returns 0x010739C0 10 thunk_to_STL_string_dtor_010739c0 stl Wrapper that calls STL_string_dtor and returns 0x010739D0 10 thunk_to_STL_string_dtor_010739d0 stl Wrapper that calls STL_string_dtor and returns 0x010739E0 10 thunk_to_STL_string_dtor_010739e0 stl Wrapper that calls STL_string_dtor and returns 0x010739F0 10 thunk_to_STL_string_dtor_010739f0 stl Wrapper that calls STL_string_dtor and returns 0x01073A00 10 thunk_to_STL_string_dtor_01073a00 stl Wrapper that calls STL_string_dtor and returns 0x01073A10 10 thunk_to_STL_string_dtor_01073a10 stl Wrapper that calls STL_string_dtor and returns 0x01073A20 10 thunk_to_STL_string_dtor_01073a20 stl Wrapper that calls STL_string_dtor and returns 0x01073A30 10 thunk_to_STL_string_dtor_01073a30 stl Wrapper that calls STL_string_dtor and returns 0x01073A40 10 thunk_to_STL_string_dtor_01073a40 stl Wrapper that calls STL_string_dtor and returns 0x01073A50 10 thunk_to_STL_string_dtor_01073a50 stl Wrapper that calls STL_string_dtor and returns 0x01073AD0 280 atexit_unregister_window_classes_01073ad0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01073BF0 66 atexit_STL_map_destroy_wrapper_01073bf0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01073C40 10 thunk_to_STL_string_dtor_01073c40 stl Wrapper that calls STL_string_dtor and returns 0x01073C50 10 thunk_to_STL_string_dtor_01073c50 stl Wrapper function that calls STL_string_dtor and returns 0x01073C60 10 thunk_to_STL_string_dtor_01073c60 stl Wrapper that calls STL_string_dtor and returns 0x01073C70 10 thunk_to_STL_string_dtor_01073c70 stl Wrapper that calls STL_string_dtor and returns 0x01073C80 10 thunk_to_STL_string_dtor_01073c80 stl Wrapper that calls STL_string_dtor and returns 0x01073C90 10 thunk_to_STL_string_dtor_01073c90 stl Wrapper that calls STL_string_dtor and returns 0x01073CA0 10 thunk_to_STL_string_dtor_01073ca0 stl Wrapper that calls STL_string_dtor and returns 0x01073CB0 10 thunk_to_STL_string_dtor_01073cb0 stl Wrapper that calls STL_string_dtor and returns 0x01073CC0 10 thunk_to_STL_string_dtor_01073cc0 stl Wrapper that calls STL_string_dtor and returns 0x01073CD0 10 thunk_to_STL_string_dtor_01073cd0 stl Wrapper that calls STL_string_dtor and returns 0x01073CE0 10 thunk_to_STL_string_dtor_01073ce0 stl Wrapper that calls STL_string_dtor and returns 0x01073CF0 10 thunk_to_STL_string_dtor_01073cf0 stl Wrapper that calls STL_string_dtor and returns 0x01073D00 10 thunk_to_STL_string_dtor_01073d00 stl Wrapper that calls STL_string_dtor and returns 0x01073D10 10 thunk_to_STL_string_dtor_01073d10 stl Wrapper that calls STL_string_dtor and returns 0x01073D20 10 thunk_to_STL_string_dtor_01073d20 stl Wrapper that calls STL_string_dtor and returns 0x01073D30 10 thunk_to_STL_string_dtor_01073d30 stl Wrapper that calls STL_string_dtor and returns 0x01073D40 10 thunk_to_STL_string_dtor_01073d40 stl Wrapper that calls STL_string_dtor and returns 0x01073D50 10 thunk_to_STL_string_dtor_01073d50 stl Wrapper that calls STL_string_dtor and returns 0x01073D60 10 thunk_to_STL_string_dtor_01073d60 stl Wrapper that calls STL_string_dtor and returns 0x01073D70 10 thunk_to_STL_string_dtor_01073d70 stl Wrapper that calls STL_string_dtor and returns 0x01073D80 10 thunk_to_STL_string_dtor_01073d80 stl Wrapper that calls STL_string_dtor and returns 0x01073D90 10 thunk_to_STL_string_dtor_01073d90 stl Wrapper that calls STL_string_dtor and returns 0x01073DA0 10 thunk_to_STL_string_dtor_01073da0 stl Wrapper that calls STL_string_dtor and returns 0x01073DB0 10 thunk_to_STL_string_dtor_01073db0 stl Wrapper that calls STL_string_dtor and returns 0x01073DC0 10 thunk_to_STL_string_dtor_01073dc0 stl Wrapper that calls STL_string_dtor and returns 0x01073E40 280 atexit_unregister_window_classes_01073e40 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01073F60 10 thunk_to_STL_string_dtor_01073f60 stl Wrapper that calls STL_string_dtor and returns 0x01073F70 10 thunk_to_STL_string_dtor_01073f70 stl Wrapper that calls STL_string_dtor and returns immediately 0x01073F80 10 thunk_to_STL_string_dtor_01073f80 stl Wrapper that calls STL_string_dtor and returns 0x01073F90 10 thunk_to_STL_string_dtor_01073f90 stl Wrapper function that calls STL_string_dtor and returns 0x01073FA0 10 thunk_to_STL_string_dtor_01073fa0 stl Wrapper that calls STL_string_dtor and returns 0x01073FB0 10 thunk_to_STL_string_dtor_01073fb0 stl Wrapper that calls STL_string_dtor and returns 0x01073FC0 10 thunk_to_STL_string_dtor_01073fc0 stl Wrapper function that calls STL_string_dtor and returns 0x01073FD0 10 thunk_to_STL_string_dtor_01073fd0 stl Wrapper that calls STL_string_dtor and returns 0x01073FE0 10 thunk_to_STL_string_dtor_01073fe0 stl Wrapper that calls STL_string_dtor and returns 0x01073FF0 10 thunk_to_STL_string_dtor_01073ff0 stl Wrapper function that calls STL_string_dtor and returns 0x01074000 10 thunk_to_STL_string_dtor_01074000 stl Wrapper that calls STL_string_dtor and returns 0x01074010 10 thunk_to_STL_string_dtor_01074010 stl Wrapper that calls STL_string_dtor and returns 0x01074020 10 thunk_to_STL_string_dtor_01074020 stl Wrapper that calls STL_string_dtor and returns 0x01074030 10 thunk_to_STL_string_dtor_01074030 stl Wrapper that calls STL_string_dtor and returns 0x01074040 10 thunk_to_STL_string_dtor_01074040 stl Wrapper that calls STL_string_dtor and returns 0x01074050 10 thunk_to_STL_string_dtor_01074050 stl Wrapper that calls STL_string_dtor and returns 0x01074060 10 thunk_to_STL_string_dtor_01074060 stl Wrapper that calls STL_string_dtor and returns 0x01074070 10 thunk_to_STL_string_dtor_01074070 stl Wrapper that calls STL_string_dtor and returns immediately 0x01074080 10 thunk_to_STL_string_dtor_01074080 stl Wrapper that calls STL_string_dtor and returns 0x01074090 10 thunk_to_STL_string_dtor_01074090 stl Wrapper that calls STL_string_dtor and returns 0x010740A0 10 thunk_to_STL_string_dtor_010740a0 stl Wrapper that calls STL_string_dtor and returns 0x010740B0 10 thunk_to_STL_string_dtor_010740b0 stl Wrapper that calls STL_string_dtor and returns 0x010740C0 10 thunk_to_STL_string_dtor_010740c0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010740D0 10 thunk_to_STL_string_dtor_010740d0 stl Wrapper that calls STL_string_dtor and returns 0x010740E0 10 thunk_to_STL_string_dtor_010740e0 stl Wrapper that calls STL_string_dtor and returns 0x01074160 280 atexit_unregister_window_classes_01074160 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01074280 10 thunk_to_STL_string_dtor_01074280 stl Wrapper that calls STL_string_dtor and returns 0x01074290 10 thunk_to_STL_string_dtor_01074290 stl Wrapper that calls STL_string_dtor and returns 0x010742A0 10 thunk_to_STL_string_dtor_010742a0 stl Wrapper that calls STL_string_dtor and returns 0x010742B0 10 thunk_to_STL_string_dtor_010742b0 stl Wrapper that calls STL_string_dtor and returns 0x010742C0 10 thunk_to_STL_string_dtor_010742c0 stl Wrapper that calls STL_string_dtor and returns 0x010742D0 10 thunk_to_STL_string_dtor_010742d0 stl Wrapper that calls STL_string_dtor and returns 0x010742E0 10 thunk_to_STL_string_dtor_010742e0 stl Wrapper that calls STL_string_dtor and returns 0x010742F0 10 thunk_to_STL_string_dtor_010742f0 stl Wrapper that calls STL_string_dtor and returns 0x01074300 10 thunk_to_STL_string_dtor_01074300 stl Wrapper that calls STL_string_dtor and returns 0x01074310 10 thunk_to_STL_string_dtor_01074310 stl Wrapper that calls STL_string_dtor and returns 0x01074320 10 thunk_to_STL_string_dtor_01074320 stl Wrapper that calls STL_string_dtor and returns 0x01074330 10 thunk_to_STL_string_dtor_01074330 stl Wrapper that calls STL_string_dtor and returns 0x01074340 10 thunk_to_STL_string_dtor_01074340 stl Wrapper that calls STL_string_dtor and returns 0x01074350 10 thunk_to_STL_string_dtor_01074350 stl Wrapper that calls STL_string_dtor and returns 0x01074360 10 thunk_to_STL_string_dtor_01074360 stl Wrapper that calls STL_string_dtor and returns 0x01074370 10 thunk_to_STL_string_dtor_01074370 stl Wrapper function that calls STL_string_dtor and returns 0x01074380 10 thunk_to_STL_string_dtor_01074380 stl Wrapper function that calls STL_string_dtor and returns 0x01074390 10 thunk_to_STL_string_dtor_01074390 stl Wrapper that calls STL_string_dtor and returns 0x010743A0 10 thunk_to_STL_string_dtor_010743a0 stl Wrapper that calls STL_string_dtor and returns 0x010743B0 10 thunk_to_STL_string_dtor_010743b0 stl Wrapper that calls STL_string_dtor and returns 0x010743C0 10 thunk_to_STL_string_dtor_010743c0 stl Wrapper function that calls STL_string_dtor and returns 0x010743D0 10 thunk_to_STL_string_dtor_010743d0 stl Wrapper that calls STL_string_dtor and returns 0x010743E0 10 thunk_to_STL_string_dtor_010743e0 stl Wrapper that calls STL_string_dtor and returns 0x010743F0 10 thunk_to_STL_string_dtor_010743f0 stl Wrapper that calls STL_string_dtor and returns 0x01074400 10 thunk_to_STL_string_dtor_01074400 stl Wrapper function that calls STL_string_dtor and returns 0x01074480 280 atexit_unregister_window_classes_01074480 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010745A0 10 thunk_to_STL_string_dtor_010745a0 stl Wrapper that calls STL_string_dtor and returns 0x010745B0 10 thunk_to_STL_string_dtor_010745b0 stl Wrapper that calls STL_string_dtor and returns 0x010745C0 10 thunk_to_STL_string_dtor_010745c0 stl Wrapper that calls STL_string_dtor and returns 0x010745D0 10 thunk_to_STL_string_dtor_010745d0 stl Wrapper that calls STL_string_dtor and returns 0x010745E0 10 thunk_to_STL_string_dtor_010745e0 stl Wrapper that calls STL_string_dtor and returns 0x010745F0 10 thunk_to_STL_string_dtor_010745f0 stl Wrapper that calls STL_string_dtor and returns 0x01074600 10 thunk_to_STL_string_dtor_01074600 stl Wrapper that calls STL_string_dtor and returns 0x01074610 10 thunk_to_STL_string_dtor_01074610 stl Wrapper that calls STL_string_dtor and returns 0x01074620 10 thunk_to_STL_string_dtor_01074620 stl Wrapper function that calls STL_string_dtor and returns 0x01074630 10 thunk_to_STL_string_dtor_01074630 stl Wrapper that calls STL_string_dtor and returns 0x01074640 10 thunk_to_STL_string_dtor_01074640 stl Wrapper that calls STL_string_dtor and returns 0x01074650 10 thunk_to_STL_string_dtor_01074650 stl Wrapper that calls STL_string_dtor and returns 0x01074660 10 thunk_to_STL_string_dtor_01074660 stl Wrapper that calls STL_string_dtor and returns 0x01074670 10 thunk_to_STL_string_dtor_01074670 stl Wrapper that calls STL_string_dtor and returns 0x01074680 10 thunk_to_STL_string_dtor_01074680 stl Wrapper that calls STL_string_dtor and returns 0x01074690 10 thunk_to_STL_string_dtor_01074690 stl Wrapper that calls STL_string_dtor and returns 0x010746A0 10 thunk_to_STL_string_dtor_010746a0 stl Wrapper that calls STL_string_dtor and returns 0x010746B0 10 thunk_to_STL_string_dtor_010746b0 stl Wrapper that calls STL_string_dtor and returns 0x010746C0 10 thunk_to_STL_string_dtor_010746c0 stl Wrapper that calls STL_string_dtor and returns 0x010746D0 10 thunk_to_STL_string_dtor_010746d0 stl Wrapper that calls STL_string_dtor and returns 0x010746E0 10 thunk_to_STL_string_dtor_010746e0 stl Wrapper that calls STL_string_dtor and returns 0x010746F0 10 thunk_to_STL_string_dtor_010746f0 stl Wrapper that calls STL_string_dtor and returns 0x01074700 10 thunk_to_STL_string_dtor_01074700 stl Wrapper that calls STL_string_dtor and returns 0x01074710 10 thunk_to_STL_string_dtor_01074710 stl Wrapper that calls STL_string_dtor and returns 0x01074720 10 thunk_to_STL_string_dtor_01074720 stl Wrapper that calls STL_string_dtor and returns 0x010747A0 280 atexit_unregister_window_classes_010747a0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010748C0 66 atexit_STL_map_destroy_wrapper_010748c0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01074980 280 atexit_unregister_window_classes_01074980 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01074AA0 10 thunk_to_STL_string_dtor_01074aa0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01074AB0 10 thunk_to_STL_string_dtor_01074ab0 stl Wrapper that calls STL_string_dtor and returns 0x01074AC0 10 thunk_to_STL_string_dtor_01074ac0 stl Wrapper that calls STL_string_dtor and returns 0x01074AD0 10 thunk_to_STL_string_dtor_01074ad0 stl Wrapper that calls STL_string_dtor and returns 0x01074AE0 10 thunk_to_STL_string_dtor_01074ae0 stl Wrapper that calls STL_string_dtor and returns 0x01074AF0 10 thunk_to_STL_string_dtor_01074af0 stl Wrapper that calls STL_string_dtor and returns 0x01074B00 10 thunk_to_STL_string_dtor_01074b00 stl Wrapper that calls STL_string_dtor and returns 0x01074B10 10 thunk_to_STL_string_dtor_01074b10 stl Wrapper that calls STL_string_dtor and returns 0x01074B20 10 thunk_to_STL_string_dtor_01074b20 stl Wrapper that calls STL_string_dtor and returns 0x01074B30 10 thunk_to_STL_string_dtor_01074b30 stl Wrapper that calls STL_string_dtor and returns 0x01074B40 10 thunk_to_STL_string_dtor_01074b40 stl Wrapper that calls STL_string_dtor and returns 0x01074B50 10 thunk_to_STL_string_dtor_01074b50 stl Wrapper that calls STL_string_dtor and returns 0x01074B60 10 thunk_to_STL_string_dtor_01074b60 stl Wrapper that calls STL_string_dtor and returns 0x01074B70 10 thunk_to_STL_string_dtor_01074b70 stl Wrapper that calls STL_string_dtor and returns 0x01074B80 10 thunk_to_STL_string_dtor_01074b80 stl Wrapper that calls STL_string_dtor and returns 0x01074B90 10 thunk_to_STL_string_dtor_01074b90 stl Wrapper that calls STL_string_dtor and returns 0x01074BA0 10 thunk_to_STL_string_dtor_01074ba0 stl Wrapper that calls STL_string_dtor and returns 0x01074BB0 10 thunk_to_STL_string_dtor_01074bb0 stl Wrapper that calls STL_string_dtor and returns 0x01074BC0 10 thunk_to_STL_string_dtor_01074bc0 stl Wrapper that calls STL_string_dtor and returns 0x01074BD0 10 thunk_to_STL_string_dtor_01074bd0 stl Wrapper that calls STL_string_dtor and returns 0x01074BE0 10 thunk_to_STL_string_dtor_01074be0 stl Wrapper that calls STL_string_dtor and returns 0x01074BF0 10 thunk_to_STL_string_dtor_01074bf0 stl Wrapper that calls STL_string_dtor and returns 0x01074C00 10 thunk_to_STL_string_dtor_01074c00 stl Wrapper that calls STL_string_dtor and returns 0x01074C10 10 thunk_to_STL_string_dtor_01074c10 stl Wrapper that calls STL_string_dtor and returns 0x01074C20 10 thunk_to_STL_string_dtor_01074c20 stl Wrapper that calls STL_string_dtor and returns 0x01074CA0 280 atexit_unregister_window_classes_01074ca0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01074DC0 66 atexit_STL_map_destroy_wrapper_01074dc0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01074E10 10 thunk_to_STL_string_dtor_01074e10 stl Wrapper that calls STL_string_dtor and returns 0x01074E20 10 thunk_to_STL_string_dtor_01074e20 stl Wrapper that calls STL_string_dtor and returns 0x01074E30 10 thunk_to_STL_string_dtor_01074e30 stl Wrapper that calls STL_string_dtor and returns 0x01074E40 10 thunk_to_STL_string_dtor_01074e40 stl Wrapper function that calls STL_string_dtor and returns 0x01074E50 10 thunk_to_STL_string_dtor_01074e50 stl Wrapper that calls STL_string_dtor and returns 0x01074E60 10 thunk_to_STL_string_dtor_01074e60 stl Wrapper that calls STL_string_dtor and returns 0x01074E70 10 thunk_to_STL_string_dtor_01074e70 stl Wrapper that calls STL_string_dtor and returns 0x01074E80 10 thunk_to_STL_string_dtor_01074e80 stl Wrapper that calls STL_string_dtor and returns 0x01074E90 10 thunk_to_STL_string_dtor_01074e90 stl Wrapper that calls STL_string_dtor and returns 0x01074EA0 10 thunk_to_STL_string_dtor_01074ea0 stl Wrapper that calls STL_string_dtor and returns 0x01074EB0 10 thunk_to_STL_string_dtor_01074eb0 stl Wrapper that calls STL_string_dtor and returns 0x01074EC0 10 thunk_to_STL_string_dtor_01074ec0 stl Wrapper that calls STL_string_dtor and returns 0x01074ED0 10 thunk_to_STL_string_dtor_01074ed0 stl Wrapper that calls STL_string_dtor and returns 0x01074EE0 10 thunk_to_STL_string_dtor_01074ee0 stl Wrapper that calls STL_string_dtor and returns 0x01074EF0 10 thunk_to_STL_string_dtor_01074ef0 stl Wrapper function that calls STL_string_dtor and returns 0x01074F00 10 thunk_to_STL_string_dtor_01074f00 stl Wrapper that calls STL_string_dtor and returns 0x01074F10 10 thunk_to_STL_string_dtor_01074f10 stl Wrapper that calls STL_string_dtor and returns 0x01074F20 10 thunk_to_STL_string_dtor_01074f20 stl Wrapper that calls STL_string_dtor and returns 0x01074F30 10 thunk_to_STL_string_dtor_01074f30 stl Wrapper that calls STL_string_dtor and returns 0x01074F40 10 thunk_to_STL_string_dtor_01074f40 stl Wrapper that calls STL_string_dtor and returns 0x01074F50 10 thunk_to_STL_string_dtor_01074f50 stl Wrapper that calls STL_string_dtor and returns 0x01074F60 10 thunk_to_STL_string_dtor_01074f60 stl Wrapper that calls STL_string_dtor and returns 0x01074F70 10 thunk_to_STL_string_dtor_01074f70 stl Wrapper that calls STL_string_dtor and returns 0x01074F80 10 thunk_to_STL_string_dtor_01074f80 stl Wrapper that calls STL_string_dtor and returns 0x01074F90 10 thunk_to_STL_string_dtor_01074f90 stl Wrapper that calls STL_string_dtor and returns 0x01075010 280 atexit_unregister_window_classes_01075010 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01075130 66 atexit_STL_map_destroy_wrapper_01075130 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01075180 10 thunk_to_STL_string_dtor_01075180 stl Wrapper that calls STL_string_dtor and returns 0x01075190 10 thunk_to_STL_string_dtor_01075190 stl Wrapper that calls STL_string_dtor and returns 0x010751A0 10 thunk_to_STL_string_dtor_010751a0 stl Wrapper that calls STL_string_dtor and returns 0x010751B0 10 thunk_to_STL_string_dtor_010751b0 stl Wrapper that calls STL_string_dtor and returns 0x010751C0 10 thunk_to_STL_string_dtor_010751c0 stl Wrapper that calls STL_string_dtor and returns 0x010751D0 10 thunk_to_STL_string_dtor_010751d0 stl Wrapper that calls STL_string_dtor and returns 0x010751E0 10 thunk_to_STL_string_dtor_010751e0 stl Wrapper that calls STL_string_dtor and returns 0x010751F0 10 thunk_to_STL_string_dtor_010751f0 stl Wrapper that calls STL_string_dtor and returns 0x01075200 10 thunk_to_STL_string_dtor_01075200 stl Wrapper that calls STL_string_dtor and returns 0x01075210 10 thunk_to_STL_string_dtor_01075210 stl Wrapper that calls STL_string_dtor and returns 0x01075220 10 thunk_to_STL_string_dtor_01075220 stl Wrapper that calls STL_string_dtor and returns 0x01075230 10 thunk_to_STL_string_dtor_01075230 stl Wrapper that calls STL_string_dtor and returns 0x01075240 10 thunk_to_STL_string_dtor_01075240 stl Wrapper that calls STL_string_dtor destructor 0x01075250 10 thunk_to_STL_string_dtor_01075250 stl Wrapper that calls STL_string_dtor and returns 0x01075260 10 thunk_to_STL_string_dtor_01075260 stl Wrapper that calls STL_string_dtor and returns 0x01075270 10 thunk_to_STL_string_dtor_01075270 stl Wrapper that calls STL_string_dtor and returns 0x01075280 10 thunk_to_STL_string_dtor_01075280 stl Wrapper that calls STL_string_dtor and returns 0x01075290 10 thunk_to_STL_string_dtor_01075290 stl Wrapper that calls STL_string_dtor and returns 0x010752A0 10 thunk_to_STL_string_dtor_010752a0 stl Wrapper that calls STL_string_dtor and returns 0x010752B0 10 thunk_to_STL_string_dtor_010752b0 stl Wrapper that calls STL_string_dtor and returns 0x010752C0 10 thunk_to_STL_string_dtor_010752c0 stl Wrapper that calls STL_string_dtor and returns 0x010752D0 10 thunk_to_STL_string_dtor_010752d0 stl Wrapper that calls STL_string_dtor and returns 0x010752E0 10 thunk_to_STL_string_dtor_010752e0 stl Wrapper that calls STL_string_dtor and returns 0x010752F0 10 thunk_to_STL_string_dtor_010752f0 stl Wrapper that calls STL_string_dtor and returns 0x01075300 10 thunk_to_STL_string_dtor_01075300 stl Wrapper that calls STL_string_dtor and returns 0x01075380 280 atexit_unregister_window_classes_01075380 crt Atexit handler that unregisters all window classes. Iterates the registered atom array, calls UnregisterClassA for each, frees the array, deletes the critical section, and resets globals. 0x010754A0 66 atexit_STL_map_destroy_wrapper_010754a0 crt Atexit handler wrapper with SEH. Calls STL_map_destroy to clean up a global STL map at process exit. 0x010754F0 69 tls_clear_field_4b68 crt Clears 0x27 bytes at TLS offset 0x4b68. Compiler-generated TLS variable initializer. 0x01075540 69 tls_clear_field_51ec crt Clears 0x31 bytes at TLS offset 0x51ec. Compiler-generated TLS variable initializer. 0x01075590 69 tls_clear_field_490c crt Clears 0x21 bytes at TLS offset 0x490c. Compiler-generated TLS variable initializer. 0x010755E0 69 tls_clear_field_4b94 crt Clears 0x28 bytes at TLS offset 0x4b94. Compiler-generated TLS variable initializer. 0x01075630 69 tls_clear_field_4934 crt Clears 0x22 bytes at TLS offset 0x4934. Compiler-generated TLS variable initializer. 0x01075680 69 tls_clear_field_4bc4 crt Clears bytes at TLS offset 0x4bc4. Compiler-generated TLS variable initializer. 0x010756D0 69 tls_clear_field_495c crt Clears bytes at TLS offset 0x495c. Compiler-generated TLS variable initializer. 0x01075720 69 tls_clear_field_5224 crt Clears bytes at TLS offset 0x5224. Compiler-generated TLS variable initializer. 0x01075770 69 tls_clear_field_5254 crt Clears bytes at TLS offset 0x5254. Compiler-generated TLS variable initializer. 0x010757C0 69 tls_clear_field_5288 crt Clears bytes at TLS offset 0x5288. Compiler-generated TLS variable initializer. 0x01075810 69 tls_clear_field_52bc crt Clears bytes at TLS offset 0x52bc. Compiler-generated TLS variable initializer. 0x01075860 69 tls_clear_field_52ec crt Clears bytes at TLS offset 0x52ec. Compiler-generated TLS variable initializer. 0x010758B0 69 tls_clear_field_5320 crt Clears bytes at TLS offset 0x5320. Compiler-generated TLS variable initializer. 0x01075900 69 tls_clear_field_5354 crt Clears bytes at TLS offset 0x5354. Compiler-generated TLS variable initializer. 0x01075950 69 tls_clear_field_49f8 crt Clears bytes at TLS offset 0x49f8. Compiler-generated TLS variable initializer. 0x010759A0 69 tls_clear_buffer_at_4a04 crt Clears 0x28 bytes at TLS offset 0x4a04. Compiler-generated TLS variable initializer. 0x010759F0 69 tls_clear_buffer_at_5060 crt Clears 0x2a bytes at TLS offset 0x5060. Compiler-generated TLS variable initializer. 0x01075A40 69 tls_clear_buffer_at_4984 crt Clears 0x28 bytes at TLS offset 0x4984. Compiler-generated TLS variable initializer. 0x01075A90 69 tls_clear_buffer_at_4cc0 crt Clears 0x30 bytes at TLS offset 0x4cc0. Compiler-generated TLS variable initializer. 0x01075AE0 69 tls_clear_buffer_at_4c00 crt Clears 0x29 bytes at TLS offset 0x4c00. Compiler-generated TLS variable initializer. 0x01075B30 69 tls_clear_buffer_at_4bd0 crt Clears 0x29 bytes at TLS offset 0x4bd0. Compiler-generated TLS variable initializer. 0x01075B80 69 tls_clear_buffer_at_4c90 crt Clears 0x28 bytes at TLS offset 0x4c90. Compiler-generated TLS variable initializer. 0x01075BD0 69 tls_clear_buffer_at_4784 crt Clears 0x2d bytes at TLS offset 0x4784. Compiler-generated TLS variable initializer. 0x01075C20 69 tls_clear_buffer_at_4e90 crt Clears 0x30 bytes at TLS offset 0x4e90. Compiler-generated TLS variable initializer. 0x01075C70 69 tls_clear_buffer_at_4c60 crt Clears 0x29 bytes at TLS offset 0x4c60. Compiler-generated TLS variable initializer. 0x01075CC0 69 tls_clear_buffer_at_4c30 crt Clears 0x29 bytes at TLS offset 0x4c30. Compiler-generated TLS variable initializer. 0x01075D10 69 tls_clear_buffer_at_5380 crt Clears 0x28 bytes at TLS offset 0x5380. Compiler-generated TLS variable initializer. 0x01075D60 69 tls_clear_buffer_at_53b0 crt Clears 0x30 bytes at TLS offset 0x53b0. Compiler-generated TLS variable initializer. 0x01075DB0 69 tls_clear_buffer_at_53e8 crt Clears 0x33 bytes at TLS offset 0x53e8. Compiler-generated TLS variable initializer. 0x01075E00 69 tls_clear_buffer_at_5420 crt Clears 0x30 bytes at TLS offset 0x5420. Compiler-generated TLS variable initializer. 0x01075E50 69 tls_clear_buffer_at_5458 crt Clears 0x30 bytes at TLS offset 0x5458. Compiler-generated TLS variable initializer. 0x01075EA0 69 tls_clear_buffer_at_5490 crt Clears 0x2e bytes at TLS offset 0x5490. Compiler-generated TLS variable initializer. 0x01075EF0 69 tls_clear_buffer_at_54c4 crt Clears 0x31 bytes at TLS offset 0x54c4. Compiler-generated TLS variable initializer. 0x01075F40 69 tls_clear_buffer_at_54fc crt Clears 0x2e bytes at TLS offset 0x54fc. Compiler-generated TLS variable initializer. 0x01075F90 69 tls_clear_buffer_at_5530 crt Clears 0x2e bytes at TLS offset 0x5530. Compiler-generated TLS variable initializer. 0x01075FE0 69 tls_clear_buffer_at_5564 crt Clears 0x2f bytes at TLS offset 0x5564. Compiler-generated TLS variable initializer. 0x01076030 69 tls_clear_buffer_at_5090 crt Clears 0x31 bytes at TLS offset 0x5090. Compiler-generated TLS variable initializer. 0x01076080 69 tls_clear_buffer_at_49b4 crt Clears 0x27 bytes at TLS offset 0x49b4. Compiler-generated TLS variable initializer. 0x010760D0 69 tls_clear_buffer_at_4cf8 crt Clears 0x34 bytes at TLS offset 0x4cf8. Compiler-generated TLS variable initializer. 0x01076120 69 tls_clear_buffer_at_47c4 crt Clears 0x2c bytes at TLS offset 0x47c4. Compiler-generated TLS variable initializer. 0x01076170 69 tls_clear_buffer_at_47b8 crt Clears 0x6 bytes at TLS offset 0x47b8. Compiler-generated TLS variable initializer. 0x010761C0 69 tls_clear_buffer_at_4ec8 crt Clears 0x34 bytes at TLS offset 0x4ec8. Compiler-generated TLS variable initializer. 0x01076210 69 tls_clear_buffer_at_5598 crt Clears 0x32 bytes at TLS offset 0x5598. Compiler-generated TLS variable initializer. 0x01076260 69 tls_clear_buffer_at_55d0 crt Clears 0x2f bytes at TLS offset 0x55d0. Compiler-generated TLS variable initializer. 0x010762B0 69 tls_clear_buffer_at_5604 crt Clears 0x2f bytes at TLS offset 0x5604. Compiler-generated TLS variable initializer. 0x01076300 69 tls_clear_buffer_at_5638 crt Clears 0x29 bytes at TLS offset 0x5638. Compiler-generated TLS variable initializer. 0x01076350 69 tls_clear_buffer_at_5668 crt Clears 0x29 bytes at TLS offset 0x5668. Compiler-generated TLS variable initializer. 0x010763A0 69 tls_clear_buffer_at_5698 crt Clears 0x29 bytes at TLS offset 0x5698. Compiler-generated TLS variable initializer. 0x010763F0 69 tls_clear_buffer_at_56c8 crt Clears 0x29 bytes at TLS offset 0x56c8. Compiler-generated TLS variable initializer. 0x01076440 69 tls_clear_buffer_at_56f8 crt Clears 0x6 bytes at TLS offset 0x56f8. Compiler-generated TLS variable initializer. 0x01076490 69 tls_clear_buffer_at_5704 crt Clears 0x1d bytes at TLS offset 0x5704. Compiler-generated TLS variable initializer. 0x010764E0 69 tls_clear_buffer_at_5728 crt Clears 0x1f bytes at TLS offset 0x5728. Compiler-generated TLS variable initializer. 0x01076530 69 tls_clear_buffer_at_50c8 crt Clears 0x30 bytes at TLS offset 0x50c8. Compiler-generated TLS variable initializer. 0x01076580 69 tls_clear_buffer_at_49e0 crt Clears 0x6 bytes at TLS offset 0x49e0. Compiler-generated TLS variable initializer. 0x010765D0 69 tls_clear_buffer_at_4d34 crt Clears 0x30 bytes at TLS offset 0x4d34. Compiler-generated TLS variable initializer. 0x01076620 69 tls_clear_buffer_at_47f8 crt Clears 0x2f bytes at TLS offset 0x47f8. Compiler-generated TLS variable initializer. 0x01076670 69 tls_clear_buffer_at_4f04 crt Clears 0x30 bytes at TLS offset 0x4f04. Compiler-generated TLS variable initializer. 0x010766C0 69 tls_clear_buffer_at_574c crt Clears 0x1e bytes at TLS offset 0x574c. Compiler-generated TLS variable initializer. 0x01076710 69 tls_clear_buffer_at_5770 crt Clears 0x21 bytes at TLS offset 0x5770. Compiler-generated TLS variable initializer. 0x01076760 69 tls_clear_buffer_at_5798 crt Clears 0x22 bytes at TLS offset 0x5798. Compiler-generated TLS variable initializer. 0x010767B0 69 tls_clear_buffer_at_57c0 crt Clears 0x23 bytes at TLS offset 0x57c0. Compiler-generated TLS variable initializer. 0x01076800 69 tls_clear_buffer_at_4a34 crt Clears 0x2a bytes at TLS offset 0x4a34. Compiler-generated TLS variable initializer. 0x01076850 69 tls_clear_buffer_at_5100 crt Clears 0x32 bytes at TLS offset 0x5100. Compiler-generated TLS variable initializer. 0x010768A0 69 tls_clear_buffer_at_49ec crt Clears 0x6 bytes at TLS offset 0x49ec. Compiler-generated TLS variable initializer. 0x010768F0 69 tls_clear_buffer_at_4d6c crt Clears 0x34 bytes at TLS offset 0x4d6c. Compiler-generated TLS variable initializer. 0x01076940 69 tls_clear_field_482c crt Clears 0x2d bytes at TLS offset 0x482c. Compiler-generated TLS variable initializer. 0x01076990 69 tls_clear_field_4f3c crt Clears bytes at TLS offset 0x4f3c. Compiler-generated TLS variable initializer. 0x010769E0 69 tls_clear_field_4a64 crt Clears bytes at TLS offset 0x4a64. Compiler-generated TLS variable initializer. 0x01076A30 69 tls_clear_field_5138 crt Clears bytes at TLS offset 0x5138. Compiler-generated TLS variable initializer. 0x01076A80 69 tls_clear_field_4da8 crt Clears bytes at TLS offset 0x4da8. Compiler-generated TLS variable initializer. 0x01076AD0 69 tls_clear_field_4860 crt Clears bytes at TLS offset 0x4860. Compiler-generated TLS variable initializer. 0x01076B20 69 tls_clear_field_4f78 crt Clears bytes at TLS offset 0x4f78. Compiler-generated TLS variable initializer. 0x01076B70 69 tls_clear_field_4a9c crt Clears bytes at TLS offset 0x4a9c. Compiler-generated TLS variable initializer. 0x01076BC0 69 tls_clear_field_4de0 crt Clears bytes at TLS offset 0x4de0. Compiler-generated TLS variable initializer. 0x01076C10 69 tls_clear_field_4894 crt Clears bytes at TLS offset 0x4894. Compiler-generated TLS variable initializer. 0x01076C60 69 tls_clear_field_4fb0 crt Clears bytes at TLS offset 0x4fb0. Compiler-generated TLS variable initializer. 0x01076CB0 69 tls_clear_field_4ad0 crt Clears bytes at TLS offset 0x4ad0. Compiler-generated TLS variable initializer. 0x01076D00 69 tls_clear_field_5144 crt Clears bytes at TLS offset 0x5144. Compiler-generated TLS variable initializer. 0x01076D50 69 tls_clear_field_4e1c crt Clears bytes at TLS offset 0x4e1c. Compiler-generated TLS variable initializer. 0x01076DA0 69 tls_clear_field_48a0 crt Clears bytes at TLS offset 0x48a0. Compiler-generated TLS variable initializer. 0x01076DF0 69 tls_clear_field_4fec crt Clears bytes at TLS offset 0x4fec. Compiler-generated TLS variable initializer. 0x01076E40 69 tls_clear_field_4b00 crt Clears bytes at TLS offset 0x4b00. Compiler-generated TLS variable initializer. 0x01076E90 69 tls_clear_field_517c crt Clears 0x30 bytes at TLS offset 0x517c. Compiler-generated TLS variable initializer. 0x01076EE0 69 tls_clear_field_4e54 crt Clears bytes at TLS offset 0x4e54. Compiler-generated TLS variable initializer. 0x01076F30 69 tls_clear_field_48c4 crt Clears bytes at TLS offset 0x48c4. Compiler-generated TLS variable initializer. 0x01076F80 69 tls_clear_field_5024 crt Clears bytes at TLS offset 0x5024. Compiler-generated TLS variable initializer. 0x01076FD0 69 tls_clear_field_4b34 crt Clears 0x2f bytes at TLS offset 0x4b34. Compiler-generated TLS variable initializer. 0x01077020 69 tls_clear_field_51b4 crt Zeroes out bytes at TLS field offset 0x51b4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077070 69 tls_clear_field_48e8 crt Zeroes out bytes at TLS field offset 0x48e8. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x010770C0 10 thunk_to_STL_string_dtor_010770c0 stl Wrapper that calls STL_string_dtor and returns 0x010770D0 10 thunk_to_STL_string_dtor_010770d0 stl Wrapper that calls STL_string_dtor and returns 0x010770E0 10 thunk_to_STL_string_dtor_010770e0 stl Wrapper that calls STL_string_dtor and returns 0x010770F0 10 thunk_to_STL_string_dtor_010770f0 stl Wrapper that calls STL_string_dtor and returns 0x01077100 10 thunk_to_STL_string_dtor_01077100 stl Wrapper that calls STL_string_dtor and returns 0x01077110 10 thunk_to_STL_string_dtor_01077110 stl Wrapper that calls STL_string_dtor and returns 0x01077120 10 thunk_to_STL_string_dtor_01077120 stl Wrapper that calls STL_string_dtor and returns 0x01077130 10 thunk_to_STL_string_dtor_01077130 stl Wrapper that calls STL_string_dtor and returns 0x01077140 10 thunk_to_STL_string_dtor_01077140 stl Wrapper that calls STL_string_dtor and returns 0x01077150 10 thunk_to_STL_string_dtor_01077150 stl Wrapper that calls STL_string_dtor and returns 0x01077160 10 thunk_to_STL_string_dtor_01077160 stl Wrapper that calls STL_string_dtor and returns 0x01077170 10 thunk_to_STL_string_dtor_01077170 stl Wrapper that calls STL_string_dtor and returns 0x01077180 10 thunk_to_STL_string_dtor_01077180 stl Wrapper that calls STL_string_dtor and returns 0x01077190 10 thunk_to_STL_string_dtor_01077190 stl Wrapper that calls STL_string_dtor and returns 0x010771A0 10 thunk_to_STL_string_dtor_010771a0 stl Wrapper that calls STL_string_dtor and returns 0x010771B0 10 thunk_to_STL_string_dtor_010771b0 stl Wrapper that calls STL_string_dtor and returns 0x010771C0 10 thunk_to_STL_string_dtor_010771c0 stl Wrapper that calls STL_string_dtor and returns 0x010771D0 10 thunk_to_STL_string_dtor_010771d0 stl Wrapper that calls STL_string_dtor and returns 0x010771E0 10 thunk_to_STL_string_dtor_010771e0 stl Wrapper that calls STL_string_dtor and returns 0x010771F0 10 thunk_to_STL_string_dtor_010771f0 stl Wrapper that calls STL_string_dtor and returns 0x01077200 10 thunk_to_STL_string_dtor_01077200 stl Wrapper that calls STL_string_dtor and returns 0x01077210 10 thunk_to_STL_string_dtor_01077210 stl Wrapper that calls STL_string_dtor and returns 0x01077220 10 thunk_to_STL_string_dtor_01077220 stl Wrapper that calls STL_string_dtor and returns 0x01077230 10 thunk_to_STL_string_dtor_01077230 stl Wrapper that calls STL_string_dtor and returns 0x01077240 10 thunk_to_STL_string_dtor_01077240 stl Wrapper that calls STL_string_dtor and returns 0x010772C0 280 atexit_unregister_window_classes_010772c0 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x010773E0 66 atexit_STL_map_destroy_wrapper_010773e0 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x01077430 10 thunk_to_STL_string_dtor_01077430 stl Wrapper that calls STL_string_dtor and returns 0x01077440 10 thunk_to_STL_string_dtor_01077440 stl Wrapper that calls STL_string_dtor and returns 0x01077450 10 thunk_to_STL_string_dtor_01077450 stl Wrapper function that calls STL_string_dtor and returns 0x01077460 10 thunk_to_STL_string_dtor_01077460 stl Wrapper calling STL_string_dtor destructor 0x01077470 10 thunk_to_STL_string_dtor_01077470 stl Wrapper that calls STL_string_dtor and returns 0x01077480 10 thunk_to_STL_string_dtor_01077480 stl Wrapper that calls STL_string_dtor and returns 0x01077490 10 thunk_to_STL_string_dtor_01077490 stl Wrapper that calls STL_string_dtor and returns 0x010774A0 10 thunk_to_STL_string_dtor_010774a0 stl Wrapper that calls STL_string_dtor and returns 0x010774B0 10 thunk_to_STL_string_dtor_010774b0 stl Wrapper that calls STL_string_dtor and returns 0x010774C0 10 thunk_to_STL_string_dtor_010774c0 stl Wrapper that calls STL_string_dtor and returns 0x010774D0 10 thunk_to_STL_string_dtor_010774d0 stl Wrapper that calls STL_string_dtor and returns 0x010774E0 10 thunk_to_STL_string_dtor_010774e0 stl Wrapper that calls STL_string_dtor and returns 0x010774F0 10 thunk_to_STL_string_dtor_010774f0 stl Wrapper that calls STL_string_dtor and returns 0x01077500 10 thunk_to_STL_string_dtor_01077500 stl Wrapper that calls STL_string_dtor and returns 0x01077510 10 thunk_to_STL_string_dtor_01077510 stl Wrapper that calls STL_string_dtor and returns 0x01077520 10 thunk_to_STL_string_dtor_01077520 stl Wrapper function that calls STL_string_dtor and returns 0x01077530 10 thunk_to_STL_string_dtor_01077530 stl Wrapper that calls STL_string_dtor and returns 0x01077540 10 thunk_to_STL_string_dtor_01077540 stl Wrapper that calls STL string destructor 0x01077550 10 thunk_to_STL_string_dtor_01077550 stl Wrapper that calls STL_string_dtor and returns 0x01077560 10 thunk_to_STL_string_dtor_01077560 stl Wrapper that calls STL_string_dtor and returns 0x01077570 10 thunk_to_STL_string_dtor_01077570 stl Wrapper that calls STL_string_dtor and returns 0x01077580 10 thunk_to_STL_string_dtor_01077580 stl Wrapper that calls STL_string_dtor and returns 0x01077590 10 thunk_to_STL_string_dtor_01077590 stl Wrapper that calls STL_string_dtor and returns 0x010775A0 10 thunk_to_STL_string_dtor_010775a0 stl Wrapper that calls STL_string_dtor and returns 0x010775B0 10 thunk_to_STL_string_dtor_010775b0 stl Wrapper that calls STL_string_dtor and returns 0x01077630 280 atexit_unregister_window_classes_01077630 crt ATL atexit handler. Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets state. 0x01077750 66 atexit_STL_map_destroy_wrapper_01077750 crt Atexit handler that destroys a global STL map. SEH-protected wrapper calling STL_map_destroy. 0x010777A0 69 tls_clear_field_598c crt Zeroes out bytes at TLS field offset 0x598c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x010777F0 69 tls_clear_field_59c4 crt Zeroes out bytes at TLS field offset 0x59c4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077840 69 tls_clear_field_59fc crt Zeroes out bytes at TLS field offset 0x59fc. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077890 69 tls_clear_field_5a34 crt Zeroes out bytes at TLS field offset 0x5a34. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x010778E0 69 tls_clear_field_5a6c crt Zeroes out bytes at TLS field offset 0x5a6c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077930 69 tls_clear_field_5a90 crt Zeroes out bytes at TLS field offset 0x5a90. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077980 69 tls_clear_field_5ab4 crt Zeroes out bytes at TLS field offset 0x5ab4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x010779D0 69 tls_clear_field_5800 crt Zeroes out bytes at TLS field offset 0x5800. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077A20 69 tls_clear_field_57e8 crt Zeroes out bytes at TLS field offset 0x57e8. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077A70 69 tls_clear_field_5ad8 crt Zeroes out bytes at TLS field offset 0x5ad8. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077AC0 69 tls_clear_field_5b00 crt Zeroes out bytes at TLS field offset 0x5b00. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077B10 69 tls_clear_field_5b28 crt Zeroes out bytes at TLS field offset 0x5b28. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077B60 69 tls_clear_field_5b50 crt Zeroes out bytes at TLS field offset 0x5b50. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077BB0 69 tls_clear_field_5b5c crt Zeroes out bytes at TLS field offset 0x5b5c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077C00 69 tls_clear_field_5b68 crt Zeroes out bytes at TLS field offset 0x5b68. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077C50 69 tls_clear_field_5b74 crt Zeroes out bytes at TLS field offset 0x5b74. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077CA0 69 tls_clear_field_5838 crt Zeroes out bytes at TLS field offset 0x5838. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077CF0 69 tls_clear_field_57f4 crt Zeroes out bytes at TLS field offset 0x57f4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077D40 69 tls_clear_field_5b80 crt Zeroes out bytes at TLS field offset 0x5b80. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077D90 69 tls_clear_field_5b8c crt Zeroes out bytes at TLS field offset 0x5b8c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077DE0 69 tls_clear_field_5b98 crt Zeroes out bytes at TLS field offset 0x5b98. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077E30 69 tls_clear_field_5ba4 crt Zeroes out bytes at TLS field offset 0x5ba4. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x01077E80 69 tls_clear_field_5bb0 crt TLS field initializer: zeroes 5 bytes at offset 0x5BB0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01077ED0 69 tls_clear_field_5bbc crt TLS field initializer: zeroes 6 bytes at offset 0x5BBC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01077F20 69 tls_clear_field_5870 crt TLS field initializer: zeroes 0x32 (50) bytes at offset 0x5870 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01077F70 69 tls_clear_field_5bc8 crt TLS field initializer: zeroes 5 bytes at offset 0x5BC8 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01077FC0 69 tls_clear_field_5bd4 crt TLS field initializer: zeroes 6 bytes at offset 0x5BD4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078010 69 tls_clear_field_5be0 crt TLS field initializer: zeroes 5 bytes at offset 0x5BE0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078060 69 tls_clear_field_5bec crt TLS field initializer: zeroes 6 bytes at offset 0x5BEC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010780B0 69 tls_clear_field_5bf8 crt TLS field initializer: zeroes 5 bytes at offset 0x5BF8 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078100 69 tls_clear_field_5c04 crt TLS field initializer: zeroes 6 bytes at offset 0x5C04 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078150 69 tls_clear_field_5c10 crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x5C10 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010781A0 69 tls_clear_field_58a8 crt TLS field initializer: zeroes 6 bytes at offset 0x58A8 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010781F0 69 tls_clear_field_58b4 crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x58B4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078240 69 tls_clear_field_58ec crt TLS field initializer: zeroes 0x2F (47) bytes at offset 0x58EC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078290 69 tls_clear_field_5920 crt TLS field initializer: zeroes 0x2F (47) bytes at offset 0x5920 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010782E0 69 tls_clear_field_5954 crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x5954 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078330 10 thunk_to_STL_string_dtor_01078330 stl Wrapper that calls STL_string_dtor and returns 0x01078340 10 thunk_to_STL_string_dtor_01078340 stl Wrapper that calls STL_string_dtor and returns 0x01078350 10 thunk_to_STL_string_dtor_01078350 stl Wrapper that calls STL_string_dtor and returns 0x01078360 10 thunk_to_STL_string_dtor_01078360 stl Wrapper that calls STL_string_dtor and returns 0x01078370 10 thunk_to_STL_string_dtor_01078370 stl Wrapper that calls STL_string_dtor and returns 0x01078380 10 thunk_to_STL_string_dtor_01078380 stl Wrapper that calls STL_string_dtor and returns 0x01078390 10 thunk_to_STL_string_dtor_01078390 stl Wrapper function that calls STL_string_dtor and returns 0x010783A0 10 thunk_to_STL_string_dtor_010783a0 stl Wrapper that calls STL_string_dtor and returns 0x010783B0 10 thunk_to_STL_string_dtor_010783b0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010783C0 10 thunk_to_STL_string_dtor_010783c0 stl Wrapper that calls STL_string_dtor and returns 0x010783D0 10 thunk_to_STL_string_dtor_010783d0 stl Wrapper that calls STL_string_dtor and returns 0x010783E0 10 thunk_to_STL_string_dtor_010783e0 stl Wrapper that calls STL_string_dtor and returns 0x010783F0 10 thunk_to_STL_string_dtor_010783f0 stl Wrapper that calls STL_string_dtor and returns 0x01078400 10 thunk_to_STL_string_dtor_01078400 stl Wrapper that calls STL_string_dtor and returns 0x01078410 10 thunk_to_STL_string_dtor_01078410 stl Wrapper that calls STL_string_dtor and returns 0x01078420 10 thunk_to_STL_string_dtor_01078420 stl Wrapper function that calls STL_string_dtor and returns 0x01078430 10 thunk_to_STL_string_dtor_01078430 stl Wrapper that calls STL_string_dtor and returns 0x01078440 10 thunk_to_STL_string_dtor_01078440 stl Wrapper that calls STL_string_dtor and returns 0x01078450 10 thunk_to_STL_string_dtor_01078450 stl Wrapper that calls STL_string_dtor and returns 0x01078460 10 thunk_to_STL_string_dtor_01078460 stl Wrapper that calls STL_string_dtor and returns 0x01078470 10 thunk_to_STL_string_dtor_01078470 stl Wrapper that calls STL string destructor and returns 0x01078480 10 thunk_to_STL_string_dtor_01078480 stl Wrapper that calls STL_string_dtor and returns 0x01078490 10 thunk_to_STL_string_dtor_01078490 stl Wrapper that calls STL_string_dtor and returns 0x010784A0 10 thunk_to_STL_string_dtor_010784a0 stl Wrapper that calls STL_string_dtor and returns 0x010784B0 10 thunk_to_STL_string_dtor_010784b0 stl Wrapper that calls STL_string_dtor and returns 0x01078530 280 atexit_unregister_window_classes_01078530 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01078650 66 atexit_STL_map_destroy_01078650 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01078710 280 atexit_unregister_window_classes_01078710 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010788A0 280 atexit_unregister_window_classes_010788a0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010789C0 10 thunk_to_STL_string_dtor_010789c0 stl Wrapper that calls STL_string_dtor and returns 0x010789D0 10 thunk_to_STL_string_dtor_010789d0 stl Wrapper that calls STL_string_dtor and returns 0x010789E0 10 thunk_to_STL_string_dtor_010789e0 stl Wrapper that calls STL_string_dtor and returns 0x010789F0 10 thunk_to_STL_string_dtor_010789f0 stl Wrapper that calls STL_string_dtor and returns 0x01078A00 10 thunk_to_STL_string_dtor_01078a00 stl Wrapper function that calls STL_string_dtor and returns 0x01078A10 10 thunk_to_STL_string_dtor_01078a10 stl Wrapper that calls STL_string_dtor and returns 0x01078A20 10 thunk_to_STL_string_dtor_01078a20 stl Wrapper that calls STL_string_dtor and returns 0x01078A30 10 thunk_to_STL_string_dtor_01078a30 stl Wrapper that calls STL_string_dtor and returns 0x01078A40 10 thunk_to_STL_string_dtor_01078a40 stl Wrapper function that calls STL_string_dtor and returns 0x01078A50 10 thunk_to_STL_string_dtor_01078a50 stl Wrapper that calls STL_string_dtor and returns 0x01078A60 10 thunk_to_STL_string_dtor_01078a60 stl Wrapper that calls STL_string_dtor and returns 0x01078A70 10 thunk_to_STL_string_dtor_01078a70 stl Wrapper that calls STL_string_dtor and returns 0x01078A80 10 thunk_to_STL_string_dtor_01078a80 stl Wrapper that calls STL_string_dtor and returns 0x01078A90 10 thunk_to_STL_string_dtor_01078a90 stl Wrapper that calls STL_string_dtor and returns 0x01078AA0 10 thunk_to_STL_string_dtor_01078aa0 stl Wrapper that calls STL_string_dtor and returns 0x01078AB0 10 thunk_to_STL_string_dtor_01078ab0 stl Wrapper that calls STL_string_dtor and returns 0x01078AC0 10 thunk_to_STL_string_dtor_01078ac0 stl Wrapper that calls STL_string_dtor and returns 0x01078AD0 10 thunk_to_STL_string_dtor_01078ad0 stl Wrapper that calls STL_string_dtor and returns 0x01078AE0 10 thunk_to_STL_string_dtor_01078ae0 stl Wrapper that calls STL_string_dtor and returns 0x01078AF0 10 thunk_to_STL_string_dtor_01078af0 stl Wrapper that calls STL_string_dtor and returns 0x01078B00 10 thunk_to_STL_string_dtor_01078b00 stl Wrapper that calls STL_string_dtor and returns 0x01078B10 10 thunk_to_STL_string_dtor_01078b10 stl Wrapper that calls STL_string_dtor and returns 0x01078B20 10 thunk_to_STL_string_dtor_01078b20 stl Wrapper that calls STL_string_dtor and returns 0x01078B30 10 thunk_to_STL_string_dtor_01078b30 stl Wrapper that calls STL_string_dtor and returns 0x01078B40 10 thunk_to_STL_string_dtor_01078b40 stl Wrapper that calls STL_string_dtor and returns 0x01078BC0 280 atexit_unregister_window_classes_01078bc0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01078CE0 66 atexit_STL_map_destroy_01078ce0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01078D30 69 tls_clear_field_5d9c crt TLS field initializer: zeroes 0x1F (31) bytes at offset 0x5D9C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078D80 69 tls_clear_field_5dc0 crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x5DC0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078DD0 69 tls_clear_field_5de4 crt TLS field initializer: zeroes 0x21 (33) bytes at offset 0x5DE4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078E20 69 tls_clear_field_5e0c crt TLS field initializer: zeroes 0x22 (34) bytes at offset 0x5E0C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078E70 69 tls_clear_field_5e34 crt TLS field initializer: zeroes 0x23 (35) bytes at offset 0x5E34 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078EC0 69 tls_clear_field_5e5c crt TLS field initializer: zeroes 2 bytes at offset 0x5E5C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078F10 69 tls_clear_field_5e64 crt TLS field initializer: zeroes 6 bytes at offset 0x5E64 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078F60 69 tls_clear_field_5e70 crt TLS field initializer: zeroes 2 bytes at offset 0x5E70 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01078FB0 69 tls_clear_field_5e78 crt TLS field initializer: zeroes 6 bytes at offset 0x5E78 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079000 69 tls_clear_field_5e84 crt TLS field initializer: zeroes 2 bytes at offset 0x5E84 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079050 69 tls_clear_field_5c80 crt TLS field initializer: zeroes 0x31 (49) bytes at offset 0x5C80 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010790A0 69 tls_clear_field_5c34 crt TLS field initializer: zeroes 0x2F (47) bytes at offset 0x5C34 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010790F0 69 tls_clear_field_5e8c crt TLS field initializer: zeroes 6 bytes at offset 0x5E8C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079140 69 tls_clear_field_5e98 crt TLS field initializer: zeroes 0x1D (29) bytes at offset 0x5E98 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079190 69 tls_clear_field_5ebc crt TLS field initializer: zeroes 0x1F (31) bytes at offset 0x5EBC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010791E0 69 tls_clear_field_5ee0 crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x5EE0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079230 69 tls_clear_field_5f04 crt TLS field initializer: zeroes 0x21 (33) bytes at offset 0x5F04 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079280 69 tls_clear_field_5f2c crt TLS field initializer: zeroes 0x22 (34) bytes at offset 0x5F2C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010792D0 69 tls_clear_field_5f54 crt TLS field initializer: zeroes 0x23 (35) bytes at offset 0x5F54 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079320 69 tls_clear_field_5cb8 crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x5CB8 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079370 69 tls_clear_field_5c68 crt TLS field initializer: zeroes 6 bytes at offset 0x5C68 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010793C0 69 tls_clear_field_5f7c crt TLS field initializer: zeroes 2 bytes at offset 0x5F7C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079410 69 tls_clear_field_5f84 crt TLS field initializer: zeroes 6 bytes at offset 0x5F84 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079460 69 tls_clear_field_5f90 crt TLS field initializer: zeroes 2 bytes at offset 0x5F90 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010794B0 69 tls_clear_field_5f98 crt TLS field initializer: zeroes 6 bytes at offset 0x5F98 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079500 69 tls_clear_field_5fa4 crt TLS field initializer: zeroes 2 bytes at offset 0x5FA4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079550 69 tls_clear_field_5fac crt TLS field initializer: zeroes 6 bytes at offset 0x5FAC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010795A0 69 tls_clear_field_5fb8 crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x5FB8 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010795F0 69 tls_clear_field_5fdc crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x5FDC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079640 69 tls_clear_field_6000 crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x6000 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079690 69 tls_clear_field_5cf0 crt TLS field initializer: zeroes 0x32 (50) bytes at offset 0x5CF0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010796E0 69 tls_clear_field_5c74 crt TLS field initializer: zeroes 6 bytes at offset 0x5C74 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079730 69 tls_clear_field_6024 crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x6024 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079780 69 tls_clear_field_6048 crt TLS field initializer: zeroes 6 bytes at offset 0x6048 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010797D0 69 tls_clear_field_6054 crt TLS field initializer: zeroes 0x1A (26) bytes at offset 0x6054 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079820 69 tls_clear_field_6074 crt TLS field initializer: zeroes 0x1C (28) bytes at offset 0x6074 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079870 69 tls_clear_field_6098 crt TLS field initializer: zeroes 0x1C (28) bytes at offset 0x6098 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010798C0 69 tls_clear_field_60bc crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x60BC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079910 69 tls_clear_field_60e0 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x60E0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079960 69 tls_clear_field_6108 crt TLS field initializer: zeroes 0x22 (34) bytes at offset 0x6108 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x010799B0 69 tls_clear_field_5d28 crt TLS field initializer: zeroes 6 bytes at offset 0x5D28 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079A00 69 tls_clear_field_6130 crt TLS field initializer: zeroes 0x22 (34) bytes at offset 0x6130 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079A50 69 tls_clear_field_6158 crt TLS field initializer: zeroes 0x24 (36) bytes at offset 0x6158 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079AA0 69 tls_clear_field_6184 crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x6184 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079AF0 69 tls_clear_field_61a8 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x61A8 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079B40 69 tls_clear_field_61d0 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x61D0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079B90 69 tls_clear_field_61f8 crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x61F8 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079BE0 69 tls_clear_field_5d34 crt TLS field initializer: zeroes 6 bytes at offset 0x5D34 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079C30 69 tls_clear_field_5d40 crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x5D40 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079C80 69 tls_clear_field_5d78 crt TLS field initializer: zeroes 0x1D (29) bytes at offset 0x5D78 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x01079CD0 10 thunk_to_STL_string_dtor_01079cd0 stl Wrapper that calls STL_string_dtor and returns 0x01079CE0 10 thunk_to_STL_string_dtor_01079ce0 stl Wrapper that calls STL_string_dtor and returns 0x01079CF0 10 thunk_to_STL_string_dtor_01079cf0 stl Wrapper that calls STL_string_dtor and returns 0x01079D00 10 thunk_to_STL_string_dtor_01079d00 stl Wrapper function that calls STL_string_dtor and returns 0x01079D10 10 thunk_to_STL_string_dtor_01079d10 stl Wrapper that calls STL_string_dtor and returns 0x01079D20 10 thunk_to_STL_string_dtor_01079d20 stl Wrapper that calls STL_string_dtor and returns 0x01079D30 10 thunk_to_STL_string_dtor_01079d30 stl Wrapper function that calls STL_string_dtor and returns 0x01079D40 10 thunk_to_STL_string_dtor_01079d40 stl Wrapper that calls STL_string_dtor and returns 0x01079D50 10 thunk_to_STL_string_dtor_01079d50 stl Wrapper that calls STL_string_dtor and returns 0x01079D60 10 thunk_to_STL_string_dtor_01079d60 stl Wrapper that calls STL_string_dtor and returns 0x01079D70 10 thunk_to_STL_string_dtor_01079d70 stl Wrapper that calls STL_string_dtor and returns 0x01079D80 10 thunk_to_STL_string_dtor_01079d80 stl Wrapper that calls STL_string_dtor and returns 0x01079D90 10 thunk_to_STL_string_dtor_01079d90 stl Wrapper that calls STL_string_dtor and returns 0x01079DA0 10 thunk_to_STL_string_dtor_01079da0 stl Wrapper that calls STL_string_dtor and returns 0x01079DB0 10 thunk_to_STL_string_dtor_01079db0 stl Wrapper function that calls STL_string_dtor and returns 0x01079DC0 10 thunk_to_STL_string_dtor_01079dc0 stl Wrapper that calls STL_string_dtor and returns 0x01079DD0 10 thunk_to_STL_string_dtor_01079dd0 stl Wrapper that calls STL_string_dtor and returns 0x01079DE0 10 thunk_to_STL_string_dtor_01079de0 stl Wrapper that calls STL_string_dtor and returns 0x01079DF0 10 thunk_to_STL_string_dtor_01079df0 stl Wrapper that calls STL_string_dtor and returns 0x01079E00 10 thunk_to_STL_string_dtor_01079e00 stl Wrapper that calls STL_string_dtor and returns immediately 0x01079E10 10 thunk_to_STL_string_dtor_01079e10 stl Wrapper that calls STL_string_dtor and returns 0x01079E20 10 thunk_to_STL_string_dtor_01079e20 stl Wrapper that calls STL_string_dtor and returns 0x01079E30 10 thunk_to_STL_string_dtor_01079e30 stl Wrapper that calls STL_string_dtor and returns 0x01079E40 10 thunk_to_STL_string_dtor_01079e40 stl Wrapper that calls STL_string_dtor and returns 0x01079E50 10 thunk_to_STL_string_dtor_01079e50 stl Wrapper that calls STL_string_dtor and returns 0x01079ED0 280 atexit_unregister_window_classes_01079ed0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01079FF0 66 atexit_STL_map_destroy_01079ff0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0107A040 10 thunk_to_STL_string_dtor_0107a040 stl Wrapper that calls STL_string_dtor and returns 0x0107A050 10 thunk_to_STL_string_dtor_0107a050 stl Wrapper that calls STL_string_dtor and returns 0x0107A060 10 thunk_to_STL_string_dtor_0107a060 stl Wrapper that calls STL_string_dtor and returns 0x0107A070 10 thunk_to_STL_string_dtor_0107a070 stl Wrapper that calls STL_string_dtor and returns 0x0107A080 10 thunk_to_STL_string_dtor_0107a080 stl Wrapper function that calls STL_string_dtor and returns 0x0107A090 10 thunk_to_STL_string_dtor_0107a090 stl Wrapper that calls STL_string_dtor and returns 0x0107A0A0 10 thunk_to_STL_string_dtor_0107a0a0 stl Wrapper that calls STL_string_dtor and returns 0x0107A0B0 10 thunk_to_STL_string_dtor_0107a0b0 stl Wrapper that calls STL_string_dtor and returns 0x0107A0C0 10 thunk_to_STL_string_dtor_0107a0c0 stl Wrapper that calls STL_string_dtor and returns 0x0107A0D0 10 thunk_to_STL_string_dtor_0107a0d0 stl Wrapper that calls STL_string_dtor and returns 0x0107A0F0 10 thunk_to_STL_string_dtor_0107a0f0 stl Wrapper that calls STL_string_dtor and returns 0x0107A100 10 thunk_to_STL_string_dtor_0107a100 stl Wrapper that calls STL_string_dtor and returns 0x0107A110 10 thunk_to_STL_string_dtor_0107a110 stl Wrapper that calls STL_string_dtor and returns 0x0107A120 10 thunk_to_STL_string_dtor_0107a120 stl Wrapper that calls STL_string_dtor and returns 0x0107A130 10 thunk_to_STL_string_dtor_0107a130 stl Wrapper that calls STL_string_dtor and returns 0x0107A140 10 thunk_to_STL_string_dtor_0107a140 stl Wrapper that calls STL_string_dtor and returns 0x0107A150 10 thunk_to_STL_string_dtor_0107a150 stl Wrapper that calls STL_string_dtor and returns 0x0107A160 10 thunk_to_STL_string_dtor_0107a160 stl Wrapper that calls STL_string_dtor and returns 0x0107A170 10 thunk_to_STL_string_dtor_0107a170 stl Wrapper that calls STL_string_dtor and returns 0x0107A180 10 thunk_to_STL_string_dtor_0107a180 stl Wrapper that calls STL_string_dtor and returns 0x0107A190 10 thunk_to_STL_string_dtor_0107a190 stl Wrapper function that calls STL_string_dtor and returns 0x0107A1A0 10 thunk_to_STL_string_dtor_0107a1a0 stl Wrapper that calls STL_string_dtor and returns 0x0107A1B0 10 thunk_to_STL_string_dtor_0107a1b0 stl Wrapper that calls STL_string_dtor and returns 0x0107A1C0 10 thunk_to_STL_string_dtor_0107a1c0 stl Wrapper that calls STL_string_dtor and returns 0x0107A240 280 atexit_unregister_window_classes_0107a240 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0107A360 66 atexit_STL_map_destroy_0107a360 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0107A3B0 69 tls_clear_field_79e4 crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x79E4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A400 69 tls_clear_field_7258 crt TLS field initializer: zeroes 6 bytes at offset 0x7258 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A450 69 tls_clear_field_66b4 crt TLS field initializer: zeroes 0x22 (34) bytes at offset 0x66B4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A4A0 69 tls_clear_field_63b0 crt TLS field initializer: zeroes 0x3A (58) bytes at offset 0x63B0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A4F0 69 tls_clear_field_6a30 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6A30 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A540 69 tls_clear_field_7638 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x7638 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A590 69 tls_clear_field_7264 crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x7264 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A5E0 69 tls_clear_field_6f8c crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6F8C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A630 69 tls_clear_field_6d50 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6D50 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A680 69 tls_clear_field_6bb8 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6BB8 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A6D0 69 tls_clear_field_66dc crt TLS field initializer: zeroes 0x24 (36) bytes at offset 0x66DC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A720 69 tls_clear_field_77cc crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x77CC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A770 69 tls_clear_field_7a1c crt TLS field initializer: zeroes 0x31 (49) bytes at offset 0x7A1C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A7C0 69 tls_clear_field_6a58 crt TLS field initializer: zeroes 0x1F (31) bytes at offset 0x6A58 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A810 69 tls_clear_field_7660 crt TLS field initializer: zeroes 0x1F (31) bytes at offset 0x7660 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A860 69 tls_clear_field_729c crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x729C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A8B0 69 tls_clear_field_6fb4 crt TLS field initializer: zeroes 0x1F (31) bytes at offset 0x6FB4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A900 69 tls_clear_field_6d78 crt TLS field initializer: zeroes 0x1F (31) bytes at offset 0x6D78 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A950 69 tls_clear_field_6be0 crt TLS field initializer: zeroes 0x1F (31) bytes at offset 0x6BE0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A9A0 69 tls_clear_field_77f4 crt TLS field initializer: zeroes 0x1F (31) bytes at offset 0x77F4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107A9F0 69 tls_clear_field_63f0 crt TLS field initializer: zeroes 6 bytes at offset 0x63F0 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AA40 69 tls_clear_field_7a54 crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x7A54 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AA90 69 tls_clear_field_6a7c crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6A7C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AAE0 69 tls_clear_field_7684 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x7684 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AB30 69 tls_clear_field_72d4 crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x72D4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AB80 69 tls_clear_field_6fd8 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6FD8 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107ABD0 69 tls_clear_field_6d9c crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6D9C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AC20 69 tls_clear_field_6c04 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6C04 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AC70 69 tls_clear_field_6708 crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x6708 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107ACC0 69 tls_clear_field_7818 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x7818 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AD10 69 tls_clear_field_63fc crt TLS field initializer: zeroes 6 bytes at offset 0x63FC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AD60 69 tls_clear_field_7a8c crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x7A8C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107ADB0 69 tls_clear_field_6aa4 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6AA4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AE00 69 tls_clear_field_76ac crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x76AC in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AE50 69 tls_clear_field_730c crt TLS field initializer: zeroes 0x30 (48) bytes at offset 0x730C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AEA0 69 tls_clear_field_7000 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x7000 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AEF0 69 tls_clear_field_6dc4 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6DC4 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AF40 69 tls_clear_field_6c2c crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x6C2C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AF90 69 tls_clear_field_672c crt TLS field initializer: zeroes 0x1E (30) bytes at offset 0x672C in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107AFE0 69 tls_clear_field_7840 crt TLS field initializer: zeroes 0x20 (32) bytes at offset 0x7840 in thread-local storage block via FS:[0x2C] + DAT_0173aeac*4. 0x0107B030 69 tls_clear_buffer_at_7ac4 crt Clears 0x31 bytes at TLS offset 0x7ac4. Compiler-generated TLS variable initializer. 0x0107B080 69 tls_clear_buffer_at_6acc crt Clears 0x7 bytes at TLS offset 0x6acc. Compiler-generated TLS variable initializer. 0x0107B0D0 69 tls_clear_buffer_at_76d4 crt Clears 0xc bytes at TLS offset 0x76d4. Compiler-generated TLS variable initializer. 0x0107B120 69 tls_clear_buffer_at_7028 crt Clears 0x5 bytes at TLS offset 0x7028. Compiler-generated TLS variable initializer. 0x0107B170 69 tls_clear_buffer_at_6dec crt Clears 0x5 bytes at TLS offset 0x6dec. Compiler-generated TLS variable initializer. 0x0107B1C0 69 tls_clear_buffer_at_6c54 crt Clears 0x14 bytes at TLS offset 0x6c54. Compiler-generated TLS variable initializer. 0x0107B210 69 tls_clear_buffer_at_6750 crt Clears 0x1e bytes at TLS offset 0x6750. Compiler-generated TLS variable initializer. 0x0107B260 69 tls_clear_buffer_at_7868 crt Clears 0x5 bytes at TLS offset 0x7868. Compiler-generated TLS variable initializer. 0x0107B2B0 69 tls_clear_buffer_at_6ad8 crt Clears 0x6 bytes at TLS offset 0x6ad8. Compiler-generated TLS variable initializer. 0x0107B300 69 tls_clear_buffer_at_76e8 crt Clears 0x6 bytes at TLS offset 0x76e8. Compiler-generated TLS variable initializer. 0x0107B350 69 tls_clear_buffer_at_7034 crt Clears 0x6 bytes at TLS offset 0x7034. Compiler-generated TLS variable initializer. 0x0107B3A0 69 tls_clear_buffer_at_6df8 crt Clears 0x6 bytes at TLS offset 0x6df8. Compiler-generated TLS variable initializer. 0x0107B3F0 69 tls_clear_buffer_at_6c70 crt Clears 0x6 bytes at TLS offset 0x6c70. Compiler-generated TLS variable initializer. 0x0107B440 69 tls_clear_buffer_at_6774 crt Clears 0x1e bytes at TLS offset 0x6774. Compiler-generated TLS variable initializer. 0x0107B490 69 tls_clear_buffer_at_7874 crt Clears 0x6 bytes at TLS offset 0x7874. Compiler-generated TLS variable initializer. 0x0107B4E0 69 tls_clear_buffer_at_6798 crt Clears 0x5 bytes at TLS offset 0x6798. Compiler-generated TLS variable initializer. 0x0107B530 69 tls_clear_buffer_at_7afc crt Clears 0xa bytes at TLS offset 0x7afc. Compiler-generated TLS variable initializer. 0x0107B580 69 tls_clear_buffer_at_6e04 crt Clears 0x20 bytes at TLS offset 0x6e04. Compiler-generated TLS variable initializer. 0x0107B5D0 69 tls_clear_buffer_at_67a4 crt Clears 0x6 bytes at TLS offset 0x67a4. Compiler-generated TLS variable initializer. 0x0107B620 69 tls_clear_buffer_at_7b0c crt Clears 0x6 bytes at TLS offset 0x7b0c. Compiler-generated TLS variable initializer. 0x0107B670 69 tls_clear_buffer_at_6e2c crt Clears 0x1f bytes at TLS offset 0x6e2c. Compiler-generated TLS variable initializer. 0x0107B6C0 69 tls_clear_buffer_at_67b0 crt Clears 0x7 bytes at TLS offset 0x67b0. Compiler-generated TLS variable initializer. 0x0107B710 69 tls_clear_buffer_at_621c crt Clears 0x6 bytes at TLS offset 0x621c. Compiler-generated TLS variable initializer. 0x0107B760 69 tls_clear_buffer_at_7880 crt Clears 0x31 bytes at TLS offset 0x7880. Compiler-generated TLS variable initializer. 0x0107B7B0 69 tls_clear_buffer_at_695c crt Clears 0xe bytes at TLS offset 0x695c. Compiler-generated TLS variable initializer. 0x0107B800 69 tls_clear_buffer_at_7560 crt Clears 0xa bytes at TLS offset 0x7560. Compiler-generated TLS variable initializer. 0x0107B850 69 tls_clear_buffer_at_713c crt Clears 0x11 bytes at TLS offset 0x713c. Compiler-generated TLS variable initializer. 0x0107B8A0 69 tls_clear_buffer_at_7040 crt Clears 0xb bytes at TLS offset 0x7040. Compiler-generated TLS variable initializer. 0x0107B8F0 69 tls_clear_buffer_at_6eb8 crt Clears 0xc bytes at TLS offset 0x6eb8. Compiler-generated TLS variable initializer. 0x0107B940 69 tls_clear_buffer_at_6c7c crt Clears 0xe bytes at TLS offset 0x6c7c. Compiler-generated TLS variable initializer. 0x0107B990 69 tls_clear_buffer_at_6ae4 crt Clears 0x5 bytes at TLS offset 0x6ae4. Compiler-generated TLS variable initializer. 0x0107B9E0 69 tls_clear_buffer_at_64ec crt Clears 0x5 bytes at TLS offset 0x64ec. Compiler-generated TLS variable initializer. 0x0107BA30 69 tls_clear_buffer_at_65e4 crt Clears 0xc bytes at TLS offset 0x65e4. Compiler-generated TLS variable initializer. 0x0107BA80 69 tls_clear_buffer_at_7344 crt Clears 0x12 bytes at TLS offset 0x7344. Compiler-generated TLS variable initializer. 0x0107BAD0 69 tls_clear_buffer_at_7454 crt Clears 0xe bytes at TLS offset 0x7454. Compiler-generated TLS variable initializer. 0x0107BB20 69 tls_clear_buffer_at_76f4 crt Clears 0x12 bytes at TLS offset 0x76f4. Compiler-generated TLS variable initializer. 0x0107BB70 69 tls_clear_buffer_at_6e50 crt Clears 0x20 bytes at TLS offset 0x6e50. Compiler-generated TLS variable initializer. 0x0107BBC0 69 tls_clear_buffer_at_67bc crt Clears 0x6 bytes at TLS offset 0x67bc. Compiler-generated TLS variable initializer. 0x0107BC10 69 tls_clear_buffer_at_7b18 crt Clears 0xc bytes at TLS offset 0x7b18. Compiler-generated TLS variable initializer. 0x0107BC60 69 tls_clear_buffer_at_6e78 crt Clears 0x20 bytes at TLS offset 0x6e78. Compiler-generated TLS variable initializer. 0x0107BCB0 69 tls_clear_buffer_at_7b2c crt Clears 0x6 bytes at TLS offset 0x7b2c. Compiler-generated TLS variable initializer. 0x0107BD00 69 tls_clear_buffer_at_6ea0 crt Clears 0x5 bytes at TLS offset 0x6ea0. Compiler-generated TLS variable initializer. 0x0107BD50 69 tls_clear_buffer_at_67c8 crt Clears 0x1f bytes at TLS offset 0x67c8. Compiler-generated TLS variable initializer. 0x0107BDA0 69 tls_clear_buffer_at_6eac crt Clears 0x6 bytes at TLS offset 0x6eac. Compiler-generated TLS variable initializer. 0x0107BDF0 69 tls_clear_buffer_at_67ec crt Clears 0x20 bytes at TLS offset 0x67ec. Compiler-generated TLS variable initializer. 0x0107BE40 69 tls_clear_buffer_at_7b38 crt Clears 0xc bytes at TLS offset 0x7b38. Compiler-generated TLS variable initializer. 0x0107BE90 69 tls_clear_buffer_at_6814 crt Clears 0x1e bytes at TLS offset 0x6814. Compiler-generated TLS variable initializer. 0x0107BEE0 69 tls_clear_buffer_at_7b4c crt Clears 0x6 bytes at TLS offset 0x7b4c. Compiler-generated TLS variable initializer. 0x0107BF30 69 tls_clear_buffer_at_6838 crt Clears 0x23 bytes at TLS offset 0x6838. Compiler-generated TLS variable initializer. 0x0107BF80 69 tls_clear_buffer_at_6860 crt Clears 0x22 bytes at TLS offset 0x6860. Compiler-generated TLS variable initializer. 0x0107BFD0 69 tls_clear_buffer_at_7b58 crt Clears 0xc bytes at TLS offset 0x7b58. Compiler-generated TLS variable initializer. 0x0107C020 69 tls_clear_buffer_at_6888 crt Clears 0x24 bytes at TLS offset 0x6888. Compiler-generated TLS variable initializer. 0x0107C070 69 tls_clear_buffer_at_7b6c crt Clears 0x6 bytes at TLS offset 0x7b6c. Compiler-generated TLS variable initializer. 0x0107C0C0 69 tls_clear_buffer_at_68b4 crt Clears 0x1e bytes at TLS offset 0x68b4. Compiler-generated TLS variable initializer. 0x0107C110 69 tls_clear_buffer_at_78b8 crt Clears 0x30 bytes at TLS offset 0x78b8. Compiler-generated TLS variable initializer. 0x0107C160 69 tls_clear_buffer_at_6970 crt Clears 0x6 bytes at TLS offset 0x6970. Compiler-generated TLS variable initializer. 0x0107C1B0 69 tls_clear_buffer_at_7570 crt Clears 0x6 bytes at TLS offset 0x7570. Compiler-generated TLS variable initializer. 0x0107C200 69 tls_clear_buffer_at_7154 crt Clears 0x6 bytes at TLS offset 0x7154. Compiler-generated TLS variable initializer. 0x0107C250 69 tls_clear_buffer_at_7050 crt Clears 0x6 bytes at TLS offset 0x7050. Compiler-generated TLS variable initializer. 0x0107C2A0 69 tls_clear_buffer_at_6ecc crt Clears 0x6 bytes at TLS offset 0x6ecc. Compiler-generated TLS variable initializer. 0x0107C2F0 69 tls_clear_buffer_at_6c90 crt Clears 0x6 bytes at TLS offset 0x6c90. Compiler-generated TLS variable initializer. 0x0107C340 69 tls_clear_buffer_at_6af0 crt Clears 0x6 bytes at TLS offset 0x6af0. Compiler-generated TLS variable initializer. 0x0107C390 69 tls_clear_buffer_at_64f8 crt Clears 0x6 bytes at TLS offset 0x64f8. Compiler-generated TLS variable initializer. 0x0107C3E0 69 tls_clear_buffer_at_65f8 crt Clears 0x6 bytes at TLS offset 0x65f8. Compiler-generated TLS variable initializer. 0x0107C430 69 tls_clear_buffer_at_735c crt Clears 0x6 bytes at TLS offset 0x735c. Compiler-generated TLS variable initializer. 0x0107C480 69 tls_clear_buffer_at_7468 crt Clears 0x6 bytes at TLS offset 0x7468. Compiler-generated TLS variable initializer. 0x0107C4D0 69 tls_clear_buffer_at_770c crt Clears 0x6 bytes at TLS offset 0x770c. Compiler-generated TLS variable initializer. 0x0107C520 69 tls_clear_buffer_at_6228 crt Clears 0x2d bytes at TLS offset 0x6228. Compiler-generated TLS variable initializer. 0x0107C570 69 tls_clear_buffer_at_7b78 crt Clears 0xa bytes at TLS offset 0x7b78. Compiler-generated TLS variable initializer. 0x0107C5C0 69 tls_clear_buffer_at_68d8 crt Clears 0x1e bytes at TLS offset 0x68d8. Compiler-generated TLS variable initializer. 0x0107C610 69 tls_clear_buffer_at_7b88 crt Clears 0x6 bytes at TLS offset 0x7b88. Compiler-generated TLS variable initializer. 0x0107C660 69 tls_clear_buffer_at_68fc crt Clears 0x1e bytes at TLS offset 0x68fc. Compiler-generated TLS variable initializer. 0x0107C6B0 69 tls_clear_field_6920 crt TLS encrypted string field destructor. Zeros out bytes at offset 0x6920 (count 0x1e) in the TLS block accessed via FS:[0x2c] + DAT_0173aeac*4. Registered as atexit callback by tls_register_destructor to clean up XOR-encrypted resource path strings stored in thread-local storage. 0x0107C700 69 tls_clear_field_7b94 crt Zeroes out bytes at TLS field offset 0x7b94. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107C750 69 tls_clear_field_6944 crt Zeros 5 bytes at TLS offset 0x6944. Compiler-generated TLS variable destructor registered via atexit. 0x0107C7A0 69 tls_clear_field_7bb8 crt Zeros 0x1f bytes at TLS offset 0x7bb8. Compiler-generated TLS variable destructor registered via atexit. 0x0107C7F0 69 tls_clear_field_6950 crt Zeroes out bytes at TLS field offset 0x6950. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107C840 69 tls_clear_field_7bdc crt Zeros 0x1f bytes at TLS offset 0x7bdc. Compiler-generated TLS variable destructor registered via atexit. 0x0107C890 69 tls_clear_field_7c00 crt Zeroes out bytes at TLS field offset 0x7c00. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107C8E0 69 tls_clear_field_7c24 crt Zeroes out bytes at TLS field offset 0x7c24. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107C930 69 tls_clear_field_7c48 crt Zeros 0x1f bytes at TLS offset 0x7c48. Compiler-generated TLS variable destructor registered via atexit. 0x0107C980 69 tls_clear_field_7f0c crt Zeroes out bytes at TLS field offset 0x7f0c. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107C9D0 69 tls_clear_field_7ff0 crt Zeros 0x1d bytes at TLS offset 0x7ff0. Compiler-generated TLS variable destructor registered via atexit. 0x0107CA20 69 tls_clear_field_7e28 crt Zeros 0x1d bytes at TLS offset 0x7e28. Compiler-generated TLS variable destructor registered via atexit. 0x0107CA70 69 tls_clear_field_7d44 crt Zeros 0x1d bytes at TLS offset 0x7d44. Compiler-generated TLS variable destructor registered via atexit. 0x0107CAC0 69 tls_clear_field_78f0 crt Zeros 0x32 bytes at TLS offset 0x78f0. Compiler-generated TLS variable destructor registered via atexit. 0x0107CB10 69 tls_clear_field_7160 crt Zeros 0x30 bytes at TLS offset 0x7160. Compiler-generated TLS variable destructor registered via atexit. 0x0107CB60 69 tls_clear_field_705c crt Zeros 0x30 bytes at TLS offset 0x705c. Compiler-generated TLS variable destructor registered via atexit. 0x0107CBB0 69 tls_clear_field_6504 crt Zeros 0x30 bytes at TLS offset 0x6504. Compiler-generated TLS variable destructor registered via atexit. 0x0107CC00 69 tls_clear_field_6604 crt Zeros 7 bytes at TLS offset 0x6604. Compiler-generated TLS variable destructor registered via atexit. 0x0107CC50 69 tls_clear_field_6408 crt Zeros 0x1d bytes at TLS offset 0x6408. Compiler-generated TLS variable destructor registered via atexit. 0x0107CCA0 69 tls_clear_field_625c crt Zeros 0x2c bytes at TLS offset 0x625c. Compiler-generated TLS variable destructor registered via atexit. 0x0107CCF0 69 tls_clear_field_7c6c crt Zeros 0x1f bytes at TLS offset 0x7c6c. Compiler-generated TLS variable destructor registered via atexit. 0x0107CD40 69 tls_clear_field_7c90 crt Zeros 0x1d bytes at TLS offset 0x7c90. Compiler-generated TLS variable destructor registered via atexit. 0x0107CD90 69 tls_clear_field_7cb4 crt Zeros 0x1d bytes at TLS offset 0x7cb4. Compiler-generated TLS variable destructor registered via atexit. 0x0107CDE0 69 tls_clear_field_7cd8 crt Zeros 0x1f bytes at TLS offset 0x7cd8. Compiler-generated TLS variable destructor registered via atexit. 0x0107CE30 69 tls_clear_field_7cfc crt Zeros 0x1f bytes at TLS offset 0x7cfc. Compiler-generated TLS variable destructor registered via atexit. 0x0107CE80 69 tls_clear_field_7d20 crt Zeros 0x1d bytes at TLS offset 0x7d20. Compiler-generated TLS variable destructor registered via atexit. 0x0107CED0 69 tls_clear_field_7f30 crt Zeros 0x1f bytes at TLS offset 0x7f30. Compiler-generated TLS variable destructor registered via atexit. 0x0107CF20 69 tls_clear_field_8014 crt Zeros 0x1f bytes at TLS offset 0x8014. Compiler-generated TLS variable destructor registered via atexit. 0x0107CF70 69 tls_clear_field_7e4c crt Zeros 0x1f bytes at TLS offset 0x7e4c. Compiler-generated TLS variable destructor registered via atexit. 0x0107CFC0 69 tls_clear_field_7d68 crt Zeros 0x1f bytes at TLS offset 0x7d68. Compiler-generated TLS variable destructor registered via atexit. 0x0107D010 69 tls_clear_field_7928 crt Zeros 10 bytes at TLS offset 0x7928. Compiler-generated TLS variable destructor registered via atexit. 0x0107D060 69 tls_clear_field_697c crt Zeros 0x20 bytes at TLS offset 0x697c. Compiler-generated TLS variable destructor registered via atexit. 0x0107D0B0 69 tls_clear_field_757c crt Zeros 0x20 bytes at TLS offset 0x757c. Compiler-generated TLS variable destructor registered via atexit. 0x0107D100 69 tls_clear_field_7198 crt Zeros 0x30 bytes at TLS offset 0x7198. Compiler-generated TLS variable destructor registered via atexit. 0x0107D150 69 tls_clear_field_7094 crt Zeros 0x30 bytes at TLS offset 0x7094. Compiler-generated TLS variable destructor registered via atexit. 0x0107D1A0 69 tls_clear_field_6ed8 crt Zeros 0x20 bytes at TLS offset 0x6ed8. Compiler-generated TLS variable destructor registered via atexit. 0x0107D1F0 69 tls_clear_field_at_0107d1f0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D240 69 tls_clear_field_at_0107d240 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D290 69 tls_clear_field_at_0107d290 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D2E0 69 tls_clear_field_at_0107d2e0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D330 69 tls_clear_field_at_0107d330 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D380 69 tls_clear_field_at_0107d380 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D3D0 69 tls_clear_field_at_0107d3d0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D420 69 tls_clear_field_at_0107d420 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D470 69 tls_clear_field_at_0107d470 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D4C0 69 tls_clear_field_at_0107d4c0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D510 69 tls_clear_field_at_0107d510 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D560 69 tls_clear_field_at_0107d560 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D5B0 69 tls_clear_field_at_0107d5b0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D600 69 tls_clear_field_7938 crt Zeroes out bytes at TLS field offset 0x7938. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D650 69 tls_clear_field_at_0107d650 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D6A0 69 tls_clear_field_at_0107d6a0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D6F0 69 tls_clear_field_at_0107d6f0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D740 69 tls_clear_field_at_0107d740 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D790 69 tls_clear_field_at_0107d790 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D7E0 69 tls_clear_field_at_0107d7e0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D830 69 tls_clear_field_at_0107d830 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D880 69 tls_clear_field_at_0107d880 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D8D0 69 tls_clear_field_at_0107d8d0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D920 69 tls_clear_field_at_0107d920 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D970 69 tls_clear_field_at_0107d970 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107D9C0 69 tls_clear_field_at_0107d9c0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DA10 69 tls_clear_field_at_0107da10 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DA60 69 tls_clear_field_at_0107da60 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DAB0 69 tls_clear_field_at_0107dab0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DB00 69 tls_clear_field_at_0107db00 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DB50 69 tls_clear_field_at_0107db50 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DBA0 69 tls_clear_field_at_0107dba0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DBF0 69 tls_clear_field_at_0107dbf0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DC40 69 tls_clear_field_at_0107dc40 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DC90 69 tls_clear_field_at_0107dc90 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DCE0 69 tls_clear_field_at_0107dce0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DD30 69 tls_clear_field_at_0107dd30 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DD80 69 tls_clear_field_at_0107dd80 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DDD0 69 tls_clear_field_at_0107ddd0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DE20 69 tls_clear_field_at_0107de20 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DE70 69 tls_clear_field_at_0107de70 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DEC0 69 tls_clear_field_at_0107dec0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DF10 69 tls_clear_field_at_0107df10 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DF60 69 tls_clear_field_at_0107df60 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107DFB0 69 tls_clear_field_at_0107dfb0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E000 69 tls_clear_field_at_0107e000 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E050 69 tls_clear_field_at_0107e050 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E0A0 69 tls_clear_field_at_0107e0a0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E0F0 69 tls_clear_field_at_0107e0f0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E140 69 tls_clear_field_at_0107e140 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E190 69 tls_clear_field_at_0107e190 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E1E0 69 tls_clear_field_at_0107e1e0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E230 69 tls_clear_field_at_0107e230 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E280 69 tls_clear_field_at_0107e280 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E2D0 69 tls_clear_field_at_0107e2d0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E320 69 tls_clear_field_at_0107e320 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E370 69 tls_clear_field_at_0107e370 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E3C0 69 tls_clear_field_at_0107e3c0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E410 69 tls_clear_field_at_0107e410 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E460 69 tls_clear_field_at_0107e460 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E4B0 69 tls_clear_field_at_0107e4b0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E500 69 tls_clear_field_at_0107e500 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E550 69 tls_clear_field_at_0107e550 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E5A0 69 tls_clear_field_at_0107e5a0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E5F0 69 tls_clear_field_at_0107e5f0 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E640 69 tls_clear_field_at_0107e640 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E690 69 tls_clear_field_at_0107e690 crt Zeroes out bytes at a TLS field offset. Reads the thread-local storage block via FS:[0x2c] and clears a region of bytes. 0x0107E6E0 69 tls_clear_field_at_0107e6e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107E730 69 tls_clear_field_at_0107e730 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107E780 69 tls_clear_field_at_0107e780 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107E7D0 69 tls_clear_field_at_0107e7d0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107E820 69 tls_clear_field_at_0107e820 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107E870 69 tls_clear_field_at_0107e870 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107E8C0 69 tls_clear_field_at_0107e8c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107E910 69 tls_clear_field_at_0107e910 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107E960 69 tls_clear_field_at_0107e960 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107E9B0 69 tls_clear_field_at_0107e9b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107EA00 69 tls_clear_field_at_0107ea00 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107EA50 69 tls_clear_field_at_0107ea50 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107EAA0 69 tls_clear_field_at_0107eaa0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107EAF0 69 tls_clear_field_at_0107eaf0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107EB40 69 tls_clear_field_at_0107eb40 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107EB90 69 tls_clear_field_at_0107eb90 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107EBE0 69 tls_clear_field_at_0107ebe0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107EC30 69 tls_clear_field_at_0107ec30 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107EC80 69 tls_clear_field_at_0107ec80 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107ECD0 69 tls_clear_field_at_0107ecd0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107ED20 69 tls_clear_field_at_0107ed20 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107ED70 66 CRenderPipeline__seh_destroy_linked_list_and_vector game_render SEH-wrapped call to CRenderPipeline__destroy_linked_list_and_vector. Sets up FS-based exception handler frame with stack cookie, calls the destroy function, then tears down the SEH frame. 0x0107EDC0 10 thunk_to_STL_string_dtor_0107edc0 stl Wrapper that calls STL_string_dtor and returns 0x0107EDD0 10 thunk_to_STL_string_dtor_0107edd0 stl Wrapper that calls STL_string_dtor and returns 0x0107EDE0 10 thunk_to_STL_string_dtor_0107ede0 stl Wrapper that calls STL_string_dtor and returns 0x0107EDF0 10 thunk_to_STL_string_dtor_0107edf0 stl Wrapper that calls STL_string_dtor and returns 0x0107EE00 10 thunk_to_STL_string_dtor_0107ee00 stl Wrapper that calls STL_string_dtor and returns 0x0107EE10 10 thunk_to_STL_string_dtor_0107ee10 stl Wrapper that calls STL_string_dtor and returns 0x0107EE20 10 thunk_to_STL_string_dtor_0107ee20 stl Wrapper that calls STL_string_dtor and returns 0x0107EE30 10 thunk_to_STL_string_dtor_0107ee30 stl Wrapper that calls STL_string_dtor and returns 0x0107EE40 10 thunk_to_STL_string_dtor_0107ee40 stl Wrapper that calls STL_string_dtor and returns 0x0107EE50 10 thunk_to_STL_string_dtor_0107ee50 stl Wrapper that calls STL_string_dtor and returns 0x0107EE60 10 thunk_to_STL_string_dtor_0107ee60 stl Wrapper that calls STL_string_dtor and returns 0x0107EE70 10 thunk_to_STL_string_dtor_0107ee70 stl Wrapper that calls STL_string_dtor and returns 0x0107EE80 10 thunk_to_STL_string_dtor_0107ee80 stl Wrapper that calls STL_string_dtor and returns 0x0107EE90 10 thunk_to_STL_string_dtor_0107ee90 stl Wrapper that calls STL_string_dtor and returns 0x0107EEA0 10 thunk_to_STL_string_dtor_0107eea0 stl Wrapper that calls STL_string_dtor and returns 0x0107EEB0 10 thunk_to_STL_string_dtor_0107eeb0 stl Wrapper that calls STL_string_dtor and returns 0x0107EEC0 10 thunk_to_STL_string_dtor_0107eec0 stl Wrapper that calls STL_string_dtor and returns 0x0107EED0 10 thunk_to_STL_string_dtor_0107eed0 stl Wrapper that calls STL_string_dtor and returns 0x0107EEE0 10 thunk_to_STL_string_dtor_0107eee0 stl Wrapper that calls STL_string_dtor and returns 0x0107EEF0 10 thunk_to_STL_string_dtor_0107eef0 stl Wrapper that calls STL_string_dtor and returns 0x0107EF00 10 thunk_to_STL_string_dtor_0107ef00 stl Wrapper that calls STL_string_dtor and returns 0x0107EF10 10 thunk_to_STL_string_dtor_0107ef10 stl Wrapper that calls STL_string_dtor and returns 0x0107EF20 10 thunk_to_STL_string_dtor_0107ef20 stl Wrapper that calls STL_string_dtor and returns 0x0107EF30 10 thunk_to_STL_string_dtor_0107ef30 stl Wrapper that calls STL_string_dtor and returns 0x0107EF40 10 thunk_to_STL_string_dtor_0107ef40 stl Wrapper that calls STL_string_dtor and returns 0x0107EFC0 280 atexit_unregister_window_classes_0107efc0 crt Atexit cleanup handler for registered window classes. Unregisters all window classes by atom from DAT_013871fc array, frees the atom array, deletes the critical section DAT_013871e0, and resets tracking globals. Uses SEH for exception safety. Called during process shutdown. 0x0107F0E0 66 atexit_STL_map_destroy_wrapper_0107f0e0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0107F130 66 atexit_std_map_clear_and_destroy_wrapper crt atexit cleanup wrapper: calls std__map__clear_and_destroy to fully destroy a global STL map. SEH-protected with stack cookie. 0x0107F180 69 tls_clear_buffer_at_80d4 crt Clears 0xB bytes in TLS data at offset 0x80D4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F1D0 69 tls_clear_buffer_at_8110 crt Clears 0xE bytes in TLS data at offset 0x8110. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F220 69 tls_clear_buffer_at_80e4 crt Clears 5 bytes in TLS data at offset 0x80E4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F270 69 tls_clear_buffer_at_80f0 crt Clears 0xE bytes in TLS data at offset 0x80F0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F2C0 69 tls_clear_buffer_at_8104 crt Clears 7 bytes in TLS data at offset 0x8104. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F310 10 thunk_to_STL_string_dtor_0107f310 stl Wrapper that calls STL_string_dtor and returns 0x0107F320 10 thunk_to_STL_string_dtor_0107f320 stl Wrapper that calls STL_string_dtor and returns 0x0107F330 10 thunk_to_STL_string_dtor_0107f330 stl Wrapper that calls STL_string_dtor and returns 0x0107F340 10 thunk_to_STL_string_dtor_0107f340 stl Wrapper that calls STL_string_dtor and returns 0x0107F350 10 thunk_to_STL_string_dtor_0107f350 stl Wrapper that calls STL_string_dtor and returns 0x0107F360 10 thunk_to_STL_string_dtor_0107f360 stl Wrapper that calls STL_string_dtor and returns 0x0107F370 10 thunk_to_STL_string_dtor_0107f370 stl Wrapper that calls STL_string_dtor and returns 0x0107F380 10 thunk_to_STL_string_dtor_0107f380 stl Wrapper that calls STL_string_dtor and returns 0x0107F390 10 thunk_to_STL_string_dtor_0107f390 stl Wrapper that calls STL_string_dtor and returns 0x0107F3A0 10 thunk_to_STL_string_dtor_0107f3a0 stl Wrapper that calls STL_string_dtor and returns 0x0107F3B0 10 thunk_to_STL_string_dtor_0107f3b0 stl Wrapper that calls STL_string_dtor and returns 0x0107F3C0 10 thunk_to_STL_string_dtor_0107f3c0 stl Wrapper that calls STL_string_dtor and returns 0x0107F3D0 10 thunk_to_STL_string_dtor_0107f3d0 stl Wrapper that calls STL_string_dtor and returns 0x0107F3E0 10 thunk_to_STL_string_dtor_0107f3e0 stl Wrapper that calls STL_string_dtor and returns 0x0107F3F0 10 thunk_to_STL_string_dtor_0107f3f0 stl Wrapper that calls STL_string_dtor and returns 0x0107F400 10 thunk_to_STL_string_dtor_0107f400 stl Wrapper that calls STL_string_dtor and returns 0x0107F410 10 thunk_to_STL_string_dtor_0107f410 stl Wrapper that calls STL_string_dtor and returns 0x0107F420 10 thunk_to_STL_string_dtor_0107f420 stl Wrapper function that calls STL_string_dtor and returns 0x0107F430 10 thunk_to_STL_string_dtor_0107f430 stl Wrapper that calls STL_string_dtor and returns 0x0107F440 10 thunk_to_STL_string_dtor_0107f440 stl Wrapper that calls STL_string_dtor and returns 0x0107F450 10 thunk_to_STL_string_dtor_0107f450 stl Wrapper that calls STL_string_dtor and returns 0x0107F460 10 thunk_to_STL_string_dtor_0107f460 stl Wrapper that calls STL_string_dtor and returns 0x0107F470 10 thunk_to_STL_string_dtor_0107f470 stl Wrapper that calls STL_string_dtor and returns 0x0107F480 10 thunk_to_STL_string_dtor_0107f480 stl Wrapper that calls STL_string_dtor and returns 0x0107F490 10 thunk_to_STL_string_dtor_0107f490 stl Wrapper that calls STL_string_dtor and returns 0x0107F510 280 atexit_unregister_window_classes_0107f510 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0107F630 66 atexit_STL_map_destroy_wrapper_0107f630 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0107F680 69 tls_clear_buffer_at_8288 crt Clears 0x2F bytes in TLS data at offset 0x8288. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F6D0 69 tls_clear_buffer_at_82bc crt Clears 0x30 bytes in TLS data at offset 0x82BC. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F720 69 tls_clear_buffer_at_82f4 crt Clears 0x31 bytes in TLS data at offset 0x82F4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F770 69 tls_clear_buffer_at_832c crt Clears 0x30 bytes in TLS data at offset 0x832C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F7C0 69 tls_clear_buffer_at_8364 crt Clears 0x30 bytes in TLS data at offset 0x8364. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F810 69 tls_clear_buffer_at_839c crt Clears 0x31 bytes in TLS data at offset 0x839C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F860 69 tls_clear_buffer_at_83d4 crt Clears 0x18 bytes in TLS data at offset 0x83D4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F8B0 69 tls_clear_buffer_at_83f4 crt Clears 0x18 bytes in TLS data at offset 0x83F4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F900 69 tls_clear_buffer_at_8124 crt Clears 0x2E bytes in TLS data at offset 0x8124. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F950 69 tls_clear_buffer_at_8414 crt Clears 6 bytes in TLS data at offset 0x8414. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F9A0 69 tls_clear_buffer_at_8420 crt Clears 0x14 bytes in TLS data at offset 0x8420. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107F9F0 69 tls_clear_buffer_at_843c crt Clears 6 bytes in TLS data at offset 0x843C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FA40 69 tls_clear_buffer_at_8448 crt Clears 0x26 bytes in TLS data at offset 0x8448. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FA90 69 tls_clear_buffer_at_8474 crt Clears 0x25 bytes in TLS data at offset 0x8474. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FAE0 69 tls_clear_buffer_at_84a0 crt Clears 0x24 bytes in TLS data at offset 0x84A0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FB30 69 tls_clear_buffer_at_84cc crt Clears 0x27 bytes in TLS data at offset 0x84CC. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FB80 69 tls_clear_buffer_at_84f8 crt Clears 0x25 bytes in TLS data at offset 0x84F8. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FBD0 69 tls_clear_buffer_at_8158 crt Clears 0x31 bytes in TLS data at offset 0x8158. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FC20 69 tls_clear_buffer_at_8524 crt Clears 0x24 bytes in TLS data at offset 0x8524. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FC70 69 tls_clear_buffer_at_8550 crt Zeros a TLS buffer by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107FCC0 69 tls_clear_buffer_at_8578 crt Zeros a TLS buffer by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107FD10 69 tls_clear_buffer_at_85a4 crt Zeros a TLS buffer by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107FD60 69 tls_clear_buffer_at_85cc crt Zeros a TLS buffer by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107FDB0 69 tls_clear_buffer_at_85f0 crt Zeros a TLS buffer by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0107FE00 69 tls_clear_buffer_at_8618 crt Clears 0x20 bytes in TLS data at offset 0x8618. Accesses TLS via FS:[0x2C] + TLS slot index. Called from SettingsUI setup. 0x0107FE50 69 tls_clear_buffer_at_8640 crt Clears 0x20 bytes in TLS data at offset 0x8640. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FEA0 69 tls_clear_buffer_at_8190 crt Clears 0x30 bytes in TLS data at offset 0x8190. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FEF0 69 tls_clear_buffer_at_8668 crt Clears 0x1F bytes in TLS data at offset 0x8668. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FF40 69 tls_clear_buffer_at_868c crt Clears 0x20 bytes in TLS data at offset 0x868C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FF90 69 tls_clear_buffer_at_86b4 crt Clears 0x20 bytes in TLS data at offset 0x86B4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0107FFE0 69 tls_clear_buffer_at_86dc crt Clears 0x26 bytes in TLS data at offset 0x86DC. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01080030 69 tls_clear_buffer_at_8708 crt Clears 6 bytes in TLS data at offset 0x8708. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01080080 69 tls_clear_buffer_at_81c8 crt Clears 0x32 bytes in TLS data at offset 0x81C8. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010800D0 69 tls_clear_buffer_at_8200 crt Clears 10 bytes in TLS data at offset 0x8200. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01080120 69 tls_clear_buffer_at_8210 crt Clears 6 bytes in TLS data at offset 0x8210. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01080170 69 tls_clear_buffer_at_821c crt Clears 0x30 bytes in TLS data at offset 0x821C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010801C0 69 tls_clear_buffer_at_8254 crt Clears 0x2F bytes in TLS data at offset 0x8254. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01080210 10 thunk_to_STL_string_dtor_01080210 stl Wrapper that calls STL_string_dtor and returns 0x01080220 10 thunk_to_STL_string_dtor_01080220 stl Wrapper that calls STL string destructor 0x01080230 10 thunk_to_STL_string_dtor_01080230 stl Wrapper that calls STL_string_dtor and returns 0x01080240 10 thunk_to_STL_string_dtor_01080240 stl Wrapper that calls STL_string_dtor and returns 0x01080250 10 thunk_to_STL_string_dtor_01080250 stl Wrapper that calls STL_string_dtor and returns 0x01080260 10 thunk_to_STL_string_dtor_01080260 stl Wrapper that calls STL_string_dtor and returns 0x01080270 10 thunk_to_STL_string_dtor_01080270 stl Wrapper that calls STL_string_dtor and returns 0x01080280 10 thunk_to_STL_string_dtor_01080280 stl Wrapper that calls STL_string_dtor and returns 0x01080290 10 thunk_to_STL_string_dtor_01080290 stl Wrapper that calls STL_string_dtor and returns 0x010802A0 10 thunk_to_STL_string_dtor_010802a0 stl Wrapper that calls STL_string_dtor and returns 0x010802B0 10 thunk_to_STL_string_dtor_010802b0 stl Wrapper that calls STL_string_dtor and returns 0x010802C0 10 thunk_to_STL_string_dtor_010802c0 stl Wrapper that calls STL_string_dtor and returns 0x010802D0 10 thunk_to_STL_string_dtor_010802d0 stl Wrapper that calls STL_string_dtor and returns 0x010802E0 10 thunk_to_STL_string_dtor_010802e0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010802F0 10 thunk_to_STL_string_dtor_010802f0 stl Wrapper that calls STL_string_dtor and returns 0x01080300 10 thunk_to_STL_string_dtor_01080300 stl Wrapper that calls STL_string_dtor and returns 0x01080310 10 thunk_to_STL_string_dtor_01080310 stl Wrapper that calls STL_string_dtor and returns 0x01080320 10 thunk_to_STL_string_dtor_01080320 stl Wrapper that calls STL_string_dtor and returns 0x01080330 10 thunk_to_STL_string_dtor_01080330 stl Wrapper that calls STL_string_dtor and returns 0x01080340 10 thunk_to_STL_string_dtor_01080340 stl Wrapper that calls STL_string_dtor and returns 0x01080350 10 thunk_to_STL_string_dtor_01080350 stl Wrapper that calls STL_string_dtor and returns 0x01080360 10 thunk_to_STL_string_dtor_01080360 stl Wrapper that calls STL_string_dtor and returns 0x01080370 10 thunk_to_STL_string_dtor_01080370 stl Wrapper that calls STL_string_dtor and returns 0x01080380 10 thunk_to_STL_string_dtor_01080380 stl Wrapper that calls STL_string_dtor and returns 0x01080390 10 thunk_to_STL_string_dtor_01080390 stl Wrapper that calls STL_string_dtor and returns 0x01080410 280 atexit_unregister_window_classes_01080410 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01080530 66 atexit_STL_map_destroy_wrapper_01080530 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010805F0 280 atexit_unregister_window_classes_010805f0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01080780 280 atexit_unregister_window_classes_01080780 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. (Was misnamed seh_wrapper_destroy_map) 0x01080910 280 atexit_unregister_window_classes_01080910 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01080AA0 280 atexit_unregister_window_classes_01080aa0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01080BC0 10 thunk_to_STL_string_dtor_01080bc0 stl Wrapper that calls STL_string_dtor and returns 0x01080BD0 10 thunk_to_STL_string_dtor_01080bd0 stl Wrapper that calls STL_string_dtor and returns 0x01080BE0 10 thunk_to_STL_string_dtor_01080be0 stl Wrapper that calls STL_string_dtor and returns 0x01080BF0 10 thunk_to_STL_string_dtor_01080bf0 stl Wrapper that calls STL_string_dtor and returns 0x01080C00 10 thunk_to_STL_string_dtor_01080c00 stl Wrapper that calls STL_string_dtor and returns 0x01080C10 10 thunk_to_STL_string_dtor_01080c10 stl Wrapper that calls STL_string_dtor and returns 0x01080C20 10 thunk_to_STL_string_dtor_01080c20 stl Wrapper that calls STL_string_dtor and returns 0x01080C30 10 thunk_to_STL_string_dtor_01080c30 stl Wrapper that calls STL_string_dtor and returns 0x01080C40 10 thunk_to_STL_string_dtor_01080c40 stl Wrapper that calls STL_string_dtor and returns 0x01080C50 10 thunk_to_STL_string_dtor_01080c50 stl Wrapper that calls STL_string_dtor and returns 0x01080C60 10 thunk_to_STL_string_dtor_01080c60 stl Wrapper that calls STL_string_dtor and returns 0x01080C70 10 thunk_to_STL_string_dtor_01080c70 stl Wrapper that calls STL_string_dtor and returns 0x01080C80 10 thunk_to_STL_string_dtor_01080c80 stl Wrapper that calls STL_string_dtor and returns 0x01080C90 10 thunk_to_STL_string_dtor_01080c90 stl Wrapper that calls STL_string_dtor and returns 0x01080CA0 10 thunk_to_STL_string_dtor_01080ca0 stl Wrapper that calls STL_string_dtor and returns 0x01080CB0 10 thunk_to_STL_string_dtor_01080cb0 stl Wrapper that calls STL_string_dtor and returns 0x01080CC0 10 thunk_to_STL_string_dtor_01080cc0 stl Wrapper function that calls STL_string_dtor and returns 0x01080CD0 10 thunk_to_STL_string_dtor_01080cd0 stl Wrapper that calls STL_string_dtor and returns 0x01080CE0 10 thunk_to_STL_string_dtor_01080ce0 stl Wrapper that calls STL_string_dtor and returns 0x01080CF0 10 thunk_to_STL_string_dtor_01080cf0 stl Wrapper that calls STL_string_dtor and returns 0x01080D00 10 thunk_to_STL_string_dtor_01080d00 stl Wrapper that calls STL_string_dtor and returns 0x01080D10 10 thunk_to_STL_string_dtor_01080d10 stl Wrapper that calls STL_string_dtor and returns 0x01080D20 10 thunk_to_STL_string_dtor_01080d20 stl Wrapper function that calls STL_string_dtor and returns 0x01080D30 10 thunk_to_STL_string_dtor_01080d30 stl Wrapper that calls STL_string_dtor and returns 0x01080D40 10 thunk_to_STL_string_dtor_01080d40 stl Wrapper that calls STL_string_dtor and returns 0x01080D50 10 thunk_to_STL_string_dtor_01080d50 stl Wrapper that calls STL_string_dtor and returns 0x01080D60 10 thunk_to_STL_string_dtor_01080d60 stl Wrapper that calls STL_string_dtor and returns 0x01080DE0 280 atexit_unregister_window_classes_01080de0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01080F00 66 atexit_STL_map_destroy_wrapper_01080f00 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01080F50 69 tls_clear_buffer_at_8890 crt Clears 0x30 bytes in TLS data at offset 0x8890. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01080FA0 69 tls_clear_buffer_at_88c8 crt Clears 0x31 bytes in TLS data at offset 0x88C8. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01080FF0 69 tls_clear_buffer_at_8900 crt Clears 0x30 bytes in TLS data at offset 0x8900. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081040 69 tls_clear_buffer_at_8938 crt Clears 0x30 bytes in TLS data at offset 0x8938. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081090 69 tls_clear_buffer_at_8970 crt Clears 0x31 bytes in TLS data at offset 0x8970. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010810E0 69 tls_clear_buffer_at_89a8 crt Clears 0xC bytes in TLS data at offset 0x89A8. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081130 69 tls_clear_buffer_at_89bc crt Clears 6 bytes in TLS data at offset 0x89BC. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081180 69 tls_clear_buffer_at_8714 crt Clears 6 bytes in TLS data at offset 0x8714. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010811D0 69 tls_clear_buffer_at_872c crt Clears 0x31 bytes in TLS data at offset 0x872C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081220 69 tls_clear_buffer_at_89c8 crt Clears 0x3E bytes in TLS data at offset 0x89C8. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081270 69 tls_clear_buffer_at_8a0c crt Clears 0x3D bytes in TLS data at offset 0x8A0C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010812C0 69 tls_clear_buffer_at_8a50 crt Clears 0x3C bytes in TLS data at offset 0x8A50. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081310 69 tls_clear_buffer_at_8a94 crt Clears 0x3E bytes in TLS data at offset 0x8A94. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081360 69 tls_clear_buffer_at_8ad8 crt Clears 6 bytes in TLS data at offset 0x8AD8. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010813B0 69 tls_clear_buffer_at_8ae4 crt Clears 5 bytes in TLS data at offset 0x8AE4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081400 69 tls_clear_buffer_at_8af0 crt Clears 6 bytes in TLS data at offset 0x8AF0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081450 69 tls_clear_buffer_at_8afc crt Clears 0x1D bytes in TLS data at offset 0x8AFC. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010814A0 69 tls_clear_buffer_at_8720 crt Clears 6 bytes in TLS data at offset 0x8720. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010814F0 69 tls_clear_buffer_at_8764 crt Clears 0x30 bytes in TLS data at offset 0x8764. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081540 69 tls_clear_buffer_at_8b20 crt Clears 0x1F bytes in TLS data at offset 0x8B20. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081590 69 tls_clear_buffer_at_8b44 crt Clears 0x1E bytes in TLS data at offset 0x8B44. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010815E0 69 tls_clear_buffer_at_8b68 crt Clears 0x21 bytes in TLS data at offset 0x8B68. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081630 69 tls_clear_buffer_at_8b90 crt Clears 0x22 bytes in TLS data at offset 0x8B90. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081680 69 tls_clear_buffer_at_8bb8 crt Clears 0x23 bytes in TLS data at offset 0x8BB8. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010816D0 69 tls_clear_buffer_at_879c crt Clears 0x32 bytes in TLS data at offset 0x879C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081720 69 tls_clear_buffer_at_87d4 crt Clears 10 bytes in TLS data at offset 0x87D4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081770 69 tls_clear_buffer_at_87e4 crt Clears 6 bytes in TLS data at offset 0x87E4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010817C0 69 tls_clear_buffer_at_87f0 crt Clears 0x30 bytes in TLS data at offset 0x87F0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081810 69 tls_clear_buffer_at_8828 crt Clears 0x2F bytes in TLS data at offset 0x8828. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01081860 69 tls_clear_buffer_at_885c crt Clears 0x2F bytes in TLS data at offset 0x885C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010818B0 10 thunk_to_STL_string_dtor_010818b0 stl Wrapper that calls STL_string_dtor and returns 0x010818C0 10 thunk_to_STL_string_dtor_010818c0 stl Wrapper that calls STL_string_dtor and returns 0x010818D0 10 thunk_to_STL_string_dtor_010818d0 stl Wrapper that calls STL_string_dtor and returns 0x010818E0 10 thunk_to_STL_string_dtor_010818e0 stl Wrapper that calls STL_string_dtor and returns 0x010818F0 10 thunk_to_STL_string_dtor_010818f0 stl Wrapper that calls STL_string_dtor and returns 0x01081900 10 thunk_to_STL_string_dtor_01081900 stl Wrapper that calls STL_string_dtor and returns 0x01081910 10 thunk_to_STL_string_dtor_01081910 stl Wrapper that calls STL_string_dtor and returns 0x01081920 10 thunk_to_STL_string_dtor_01081920 stl Wrapper that calls STL_string_dtor and returns 0x01081930 10 thunk_to_STL_string_dtor_01081930 stl Wrapper that calls STL_string_dtor and returns 0x01081940 10 thunk_to_STL_string_dtor_01081940 stl Wrapper that calls STL_string_dtor and returns 0x01081950 10 thunk_to_STL_string_dtor_01081950 stl Wrapper that calls STL_string_dtor and returns 0x01081960 10 thunk_to_STL_string_dtor_01081960 stl Wrapper that calls STL_string_dtor and returns 0x01081970 10 thunk_to_STL_string_dtor_01081970 stl Wrapper that calls STL_string_dtor and returns 0x01081980 10 thunk_to_STL_string_dtor_01081980 stl Wrapper that calls STL_string_dtor and returns 0x01081990 10 thunk_to_STL_string_dtor_01081990 stl Wrapper that calls STL_string_dtor and returns 0x010819A0 10 thunk_to_STL_string_dtor_010819a0 stl Wrapper that calls STL_string_dtor and returns 0x010819B0 10 thunk_to_STL_string_dtor_010819b0 stl Wrapper that calls STL_string_dtor and returns 0x010819C0 10 thunk_to_STL_string_dtor_010819c0 stl Wrapper that calls STL_string_dtor and returns 0x010819D0 10 thunk_to_STL_string_dtor_010819d0 stl Wrapper function that calls STL_string_dtor and returns 0x010819E0 10 thunk_to_STL_string_dtor_010819e0 stl Wrapper that calls STL_string_dtor and returns 0x010819F0 10 thunk_to_STL_string_dtor_010819f0 stl Wrapper that calls STL_string_dtor and returns 0x01081A00 10 thunk_to_STL_string_dtor_01081a00 stl Wrapper that calls STL_string_dtor and returns 0x01081A10 10 thunk_to_STL_string_dtor_01081a10 stl Wrapper that calls STL_string_dtor and returns 0x01081A20 10 thunk_to_STL_string_dtor_01081a20 stl Wrapper that calls STL_string_dtor and returns 0x01081A30 10 thunk_to_STL_string_dtor_01081a30 stl Wrapper that calls STL_string_dtor and returns 0x01081A40 10 thunk_to_STL_string_dtor_01081a40 stl Wrapper that calls STL_string_dtor and returns 0x01081A50 10 thunk_to_STL_string_dtor_01081a50 stl Wrapper that calls STL_string_dtor and returns 0x01081AD0 280 atexit_unregister_window_classes_01081ad0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01081BF0 66 atexit_STL_map_destroy_wrapper_01081bf0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01081CB0 280 atexit_unregister_window_classes_01081cb0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01081E40 280 atexit_unregister_window_classes_01081e40 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01081FD0 280 atexit_unregister_window_classes_01081fd0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01082160 280 atexit_unregister_window_classes_01082160 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010822F0 280 atexit_unregister_window_classes_010822f0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01082480 280 atexit_unregister_window_classes_01082480 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010825A0 10 thunk_to_STL_string_dtor_010825a0 stl Wrapper that calls STL_string_dtor and returns 0x010825B0 10 thunk_to_STL_string_dtor_010825b0 stl Wrapper that calls STL_string_dtor and returns 0x010825C0 10 thunk_to_STL_string_dtor_010825c0 stl Wrapper that calls STL_string_dtor and returns 0x010825D0 10 thunk_to_STL_string_dtor_010825d0 stl Wrapper that calls STL_string_dtor and returns 0x010825E0 10 thunk_to_STL_string_dtor_010825e0 stl Wrapper that calls STL_string_dtor and returns 0x010825F0 10 thunk_to_STL_string_dtor_010825f0 stl Wrapper that calls STL_string_dtor and returns 0x01082600 10 thunk_to_STL_string_dtor_01082600 stl Wrapper that calls STL_string_dtor and returns 0x01082610 10 thunk_to_STL_string_dtor_01082610 stl Wrapper that calls STL_string_dtor destructor 0x01082620 10 thunk_to_STL_string_dtor_01082620 stl Wrapper that calls STL_string_dtor and returns 0x01082630 10 thunk_to_STL_string_dtor_01082630 stl Wrapper that calls STL_string_dtor and returns 0x01082640 10 thunk_to_STL_string_dtor_01082640 stl Wrapper that calls STL_string_dtor and returns 0x01082650 10 thunk_to_STL_string_dtor_01082650 stl Wrapper that calls STL_string_dtor and returns 0x01082660 10 thunk_to_STL_string_dtor_01082660 stl Wrapper that calls STL string destructor 0x01082670 10 thunk_to_STL_string_dtor_01082670 stl Wrapper that calls STL_string_dtor and returns 0x01082680 10 thunk_to_STL_string_dtor_01082680 stl Wrapper that calls STL_string_dtor and returns 0x01082690 10 thunk_to_STL_string_dtor_01082690 stl Wrapper that calls STL_string_dtor and returns 0x010826A0 10 thunk_to_STL_string_dtor_010826a0 stl Wrapper that calls STL_string_dtor and returns 0x010826B0 10 thunk_to_STL_string_dtor_010826b0 stl Wrapper that calls STL_string_dtor and returns 0x010826C0 10 thunk_to_STL_string_dtor_010826c0 stl Wrapper that calls STL_string_dtor and returns 0x010826D0 10 thunk_to_STL_string_dtor_010826d0 stl Wrapper function that calls STL_string_dtor and returns 0x010826E0 10 thunk_to_STL_string_dtor_010826e0 stl Wrapper that calls STL_string_dtor and returns 0x010826F0 10 thunk_to_STL_string_dtor_010826f0 stl Wrapper that calls STL_string_dtor and returns 0x01082700 10 thunk_to_STL_string_dtor_01082700 stl Wrapper that calls STL_string_dtor and returns 0x01082710 10 thunk_to_STL_string_dtor_01082710 stl Wrapper that calls STL_string_dtor and returns 0x01082720 10 thunk_to_STL_string_dtor_01082720 stl Wrapper that calls STL_string_dtor and returns 0x010827A0 280 atexit_unregister_window_classes_010827a0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x010828C0 66 atexit_STL_map_destroy_wrapper_010828c0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01082910 10 thunk_to_STL_string_dtor_01082910 stl Wrapper calling STL string destructor 0x01082920 10 thunk_to_STL_string_dtor_01082920 stl Wrapper that calls STL_string_dtor and returns 0x01082930 10 thunk_to_STL_string_dtor_01082930 stl Wrapper that calls STL_string_dtor and returns 0x01082940 10 thunk_to_STL_string_dtor_01082940 stl Wrapper function that calls STL_string_dtor and returns 0x01082950 10 thunk_to_STL_string_dtor_01082950 stl Wrapper that calls STL_string_dtor and returns 0x01082960 10 thunk_to_STL_string_dtor_01082960 stl Wrapper function that calls STL_string_dtor and returns 0x01082970 10 thunk_to_STL_string_dtor_01082970 stl Wrapper that calls STL_string_dtor and returns 0x01082980 10 thunk_to_STL_string_dtor_01082980 stl Wrapper that calls STL_string_dtor and returns 0x01082990 10 thunk_to_STL_string_dtor_01082990 stl Wrapper that calls STL_string_dtor and returns 0x010829A0 10 thunk_to_STL_string_dtor_010829a0 stl Wrapper that calls STL_string_dtor and returns 0x010829B0 10 thunk_to_STL_string_dtor_010829b0 stl Wrapper that calls STL_string_dtor and returns 0x010829C0 10 thunk_to_STL_string_dtor_010829c0 stl Wrapper that calls STL_string_dtor and returns 0x010829D0 10 thunk_to_STL_string_dtor_010829d0 stl Wrapper function that calls STL_string_dtor and returns 0x010829E0 10 thunk_to_STL_string_dtor_010829e0 stl Wrapper that calls STL_string_dtor and returns 0x010829F0 10 thunk_to_STL_string_dtor_010829f0 stl Wrapper that calls STL_string_dtor and returns 0x01082A00 10 thunk_to_STL_string_dtor_01082a00 stl Wrapper that calls STL_string_dtor and returns 0x01082A10 10 thunk_to_STL_string_dtor_01082a10 stl Wrapper that calls STL_string_dtor and returns 0x01082A20 10 thunk_to_STL_string_dtor_01082a20 stl Wrapper that calls STL_string_dtor and returns 0x01082A30 10 thunk_to_STL_string_dtor_01082a30 stl Wrapper that calls STL_string_dtor and returns 0x01082A40 10 thunk_to_STL_string_dtor_01082a40 stl Wrapper that calls STL_string_dtor and returns 0x01082A50 10 thunk_to_STL_string_dtor_01082a50 stl Wrapper that calls STL_string_dtor and returns 0x01082A60 10 thunk_to_STL_string_dtor_01082a60 stl Wrapper that calls STL_string_dtor and returns 0x01082A70 10 thunk_to_STL_string_dtor_01082a70 stl Wrapper that calls STL_string_dtor and returns 0x01082A80 10 thunk_to_STL_string_dtor_01082a80 stl Wrapper that calls STL_string_dtor and returns 0x01082A90 10 thunk_to_STL_string_dtor_01082a90 stl Wrapper that calls STL_string_dtor and returns 0x01082B10 280 atexit_unregister_window_classes_01082b10 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01082C30 66 atexit_STL_map_destroy_wrapper_01082c30 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01082C80 10 thunk_to_STL_string_dtor_01082c80 stl Wrapper that calls STL_string_dtor and returns 0x01082C90 10 thunk_to_STL_string_dtor_01082c90 stl Wrapper that calls STL_string_dtor and returns 0x01082CA0 10 thunk_to_STL_string_dtor_01082ca0 stl Wrapper that calls STL_string_dtor and returns 0x01082CB0 10 thunk_to_STL_string_dtor_01082cb0 stl Wrapper that calls STL_string_dtor and returns 0x01082CC0 10 thunk_to_STL_string_dtor_01082cc0 stl Wrapper that calls STL_string_dtor and returns 0x01082CD0 10 thunk_to_STL_string_dtor_01082cd0 stl Wrapper that calls STL_string_dtor and returns 0x01082CE0 10 thunk_to_STL_string_dtor_01082ce0 stl Wrapper that calls STL_string_dtor and returns 0x01082CF0 10 thunk_to_STL_string_dtor_01082cf0 stl Wrapper that calls STL_string_dtor and returns 0x01082D00 10 thunk_to_STL_string_dtor_01082d00 stl Wrapper that calls STL_string_dtor and returns 0x01082D10 10 thunk_to_STL_string_dtor_01082d10 stl Wrapper that calls STL_string_dtor and returns 0x01082D20 10 thunk_to_STL_string_dtor_01082d20 stl Wrapper calling STL_string_dtor destructor 0x01082D30 10 thunk_to_STL_string_dtor_01082d30 stl Wrapper that calls STL_string_dtor and returns 0x01082D40 10 thunk_to_STL_string_dtor_01082d40 stl Wrapper that calls STL_string_dtor and returns 0x01082D50 10 thunk_to_STL_string_dtor_01082d50 stl Wrapper that calls STL_string_dtor and returns 0x01082D60 10 thunk_to_STL_string_dtor_01082d60 stl Wrapper that calls STL_string_dtor and returns 0x01082D70 10 thunk_to_STL_string_dtor_01082d70 stl Wrapper that calls STL_string_dtor and returns 0x01082D80 10 thunk_to_STL_string_dtor_01082d80 stl Wrapper that calls STL_string_dtor and returns 0x01082D90 10 thunk_to_STL_string_dtor_01082d90 stl Wrapper that calls STL_string_dtor and returns 0x01082DA0 10 thunk_to_STL_string_dtor_01082da0 stl Wrapper that calls STL_string_dtor and returns 0x01082DB0 10 thunk_to_STL_string_dtor_01082db0 stl Wrapper that calls STL_string_dtor and returns 0x01082DC0 10 thunk_to_STL_string_dtor_01082dc0 stl Wrapper that calls STL_string_dtor and returns 0x01082DD0 10 thunk_to_STL_string_dtor_01082dd0 stl Wrapper that calls STL_string_dtor and returns 0x01082DE0 10 thunk_to_STL_string_dtor_01082de0 stl Wrapper that calls STL_string_dtor and returns 0x01082DF0 10 thunk_to_STL_string_dtor_01082df0 stl Wrapper that calls STL_string_dtor and returns 0x01082E00 10 thunk_to_STL_string_dtor_01082e00 stl Wrapper that calls STL_string_dtor and returns 0x01082E80 280 atexit_unregister_window_classes_01082e80 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01082FA0 66 atexit_STL_map_destroy_wrapper_01082fa0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01082FF0 10 thunk_to_STL_string_dtor_01082ff0 stl Wrapper that calls STL_string_dtor and returns 0x01083000 10 thunk_to_STL_string_dtor_01083000 stl Wrapper that calls STL_string_dtor and returns 0x01083010 10 thunk_to_STL_string_dtor_01083010 stl Wrapper that calls STL_string_dtor and returns 0x01083020 10 thunk_to_STL_string_dtor_01083020 stl Wrapper that calls STL_string_dtor and returns 0x01083030 10 thunk_to_STL_string_dtor_01083030 stl Wrapper that calls STL_string_dtor and returns 0x01083040 10 thunk_to_STL_string_dtor_01083040 stl Wrapper that calls STL_string_dtor and returns 0x01083050 10 thunk_to_STL_string_dtor_01083050 stl Wrapper that calls STL_string_dtor and returns 0x01083060 10 thunk_to_STL_string_dtor_01083060 stl Wrapper function that calls STL_string_dtor and returns 0x01083070 10 thunk_to_STL_string_dtor_01083070 stl Wrapper that calls STL_string_dtor and returns 0x01083080 10 thunk_to_STL_string_dtor_01083080 stl Wrapper that calls STL_string_dtor and returns 0x01083090 10 thunk_to_STL_string_dtor_01083090 stl Wrapper that calls STL_string_dtor and returns 0x010830A0 10 thunk_to_STL_string_dtor_010830a0 stl Wrapper that calls STL_string_dtor and returns 0x010830B0 10 thunk_to_STL_string_dtor_010830b0 stl Wrapper that calls STL_string_dtor and returns 0x010830C0 10 thunk_to_STL_string_dtor_010830c0 stl Wrapper that calls STL_string_dtor and returns 0x010830D0 10 thunk_to_STL_string_dtor_010830d0 stl Wrapper that calls STL_string_dtor and returns 0x010830E0 10 thunk_to_STL_string_dtor_010830e0 stl Wrapper that calls STL_string_dtor and returns 0x010830F0 10 thunk_to_STL_string_dtor_010830f0 stl Wrapper that calls STL_string_dtor and returns 0x01083100 10 thunk_to_STL_string_dtor_01083100 stl Wrapper that calls STL_string_dtor and returns 0x01083110 10 thunk_to_STL_string_dtor_01083110 stl Wrapper that calls STL_string_dtor and returns 0x01083120 10 thunk_to_STL_string_dtor_01083120 stl Wrapper that calls STL_string_dtor and returns 0x01083130 10 thunk_to_STL_string_dtor_01083130 stl Wrapper that calls STL_string_dtor and returns 0x01083140 10 thunk_to_STL_string_dtor_01083140 stl Wrapper that calls STL_string_dtor and returns 0x01083150 10 thunk_to_STL_string_dtor_01083150 stl Wrapper that calls STL_string_dtor and returns 0x01083160 10 thunk_to_STL_string_dtor_01083160 stl Wrapper that calls STL_string_dtor and returns 0x01083170 10 thunk_to_STL_string_dtor_01083170 stl Wrapper that calls STL_string_dtor and returns 0x010831F0 280 atexit_unregister_window_classes_010831f0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01083310 66 atexit_STL_map_destroy_wrapper_01083310 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x01083360 10 thunk_to_STL_string_dtor_01083360 stl Wrapper that calls STL_string_dtor and returns 0x01083370 10 thunk_to_STL_string_dtor_01083370 stl Wrapper function that calls STL_string_dtor and returns 0x01083380 10 thunk_to_STL_string_dtor_01083380 stl Wrapper that calls STL_string_dtor and returns 0x01083390 10 thunk_to_STL_string_dtor_01083390 stl Wrapper that calls STL_string_dtor and returns 0x010833A0 10 thunk_to_STL_string_dtor_010833a0 stl Wrapper that calls STL_string_dtor and returns 0x010833B0 10 thunk_to_STL_string_dtor_010833b0 stl Wrapper that calls STL_string_dtor and returns 0x010833C0 10 thunk_to_STL_string_dtor_010833c0 stl Wrapper that calls STL_string_dtor and returns 0x010833D0 10 thunk_to_STL_string_dtor_010833d0 stl Wrapper that calls STL_string_dtor and returns 0x010833E0 10 thunk_to_STL_string_dtor_010833e0 stl Wrapper that calls STL_string_dtor and returns 0x010833F0 10 thunk_to_STL_string_dtor_010833f0 stl Wrapper that calls STL_string_dtor and returns 0x01083400 10 thunk_to_STL_string_dtor_01083400 stl Wrapper that calls STL_string_dtor and returns 0x01083410 10 thunk_to_STL_string_dtor_01083410 stl Wrapper that calls STL_string_dtor and returns 0x01083420 10 thunk_to_STL_string_dtor_01083420 stl Wrapper that calls STL_string_dtor and returns 0x01083430 10 thunk_to_STL_string_dtor_01083430 stl Wrapper that calls STL_string_dtor and returns 0x01083440 10 thunk_to_STL_string_dtor_01083440 stl Wrapper that calls STL string destructor 0x01083450 10 thunk_to_STL_string_dtor_01083450 stl Wrapper that calls STL_string_dtor and returns 0x01083460 10 thunk_to_STL_string_dtor_01083460 stl Wrapper that calls STL_string_dtor and returns 0x01083470 10 thunk_to_STL_string_dtor_01083470 stl Wrapper that calls STL_string_dtor and returns 0x01083480 10 thunk_to_STL_string_dtor_01083480 stl Wrapper that calls STL_string_dtor and returns 0x01083490 10 thunk_to_STL_string_dtor_01083490 stl Wrapper that calls STL_string_dtor and returns 0x010834A0 10 thunk_to_STL_string_dtor_010834a0 stl Wrapper that calls STL_string_dtor and returns 0x010834B0 10 thunk_to_STL_string_dtor_010834b0 stl Wrapper that calls STL_string_dtor and returns 0x010834C0 10 thunk_to_STL_string_dtor_010834c0 stl Wrapper that calls STL_string_dtor and returns 0x010834D0 10 thunk_to_STL_string_dtor_010834d0 stl Wrapper that calls STL_string_dtor and returns 0x010834E0 10 thunk_to_STL_string_dtor_010834e0 stl Wrapper that calls STL_string_dtor and returns 0x01083560 280 atexit_unregister_window_classes_01083560 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x01083680 66 atexit_STL_map_destroy_wrapper_01083680 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x010836D0 69 tls_clear_field_8cf8 crt Clears 0x2E bytes in TLS data at offset 0x8CF8. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083720 69 tls_clear_field_8f1c crt Clears 0x32 bytes in TLS data at offset 0x8F1C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083770 69 tls_clear_field_90ec crt Clears 0x30 bytes in TLS data at offset 0x90EC. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010837C0 69 tls_clear_field_8d2c crt Clears 0x29 bytes in TLS data at offset 0x8D2C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083810 69 tls_clear_field_8f54 crt Clears 0x33 bytes in TLS data at offset 0x8F54. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083860 69 tls_clear_field_9124 crt Clears 0x2A bytes in TLS data at offset 0x9124. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010838B0 69 tls_clear_field_8d5c crt Clears 0x29 bytes in TLS data at offset 0x8D5C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083900 69 tls_clear_field_9154 crt Clears 6 bytes in TLS data at offset 0x9154. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083950 69 tls_clear_field_9160 crt Clears 0x31 bytes in TLS data at offset 0x9160. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010839A0 69 tls_clear_field_9198 crt Clears 0x30 bytes in TLS data at offset 0x9198. Accesses TLS via FS:[0x2C] + TLS slot index. 0x010839F0 69 tls_clear_field_91d0 crt Clears 0x31 bytes in TLS data at offset 0x91D0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083A40 69 tls_clear_field_9208 crt Clears 0x31 bytes in TLS data at offset 0x9208. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083A90 69 tls_clear_field_8be0 crt Clears 6 bytes in TLS data at offset 0x8BE0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083AE0 69 tls_clear_field_8f8c crt Clears 0x31 bytes in TLS data at offset 0x8F8C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083B30 69 tls_clear_field_9240 crt Clears 6 bytes in TLS data at offset 0x9240. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083B80 69 tls_clear_field_924c crt Clears 0x35 bytes in TLS data at offset 0x924C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083BD0 69 tls_clear_field_9288 crt Clears 0x34 bytes in TLS data at offset 0x9288. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083C20 69 tls_clear_field_92c4 crt Clears 0x35 bytes in TLS data at offset 0x92C4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083C70 69 tls_clear_field_9300 crt Clears 0x35 bytes in TLS data at offset 0x9300. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083CC0 69 tls_clear_field_933c crt Clears 6 bytes in TLS data at offset 0x933C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083D10 69 tls_clear_field_9348 crt Clears 0x2E bytes in TLS data at offset 0x9348. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083D60 69 tls_clear_field_937c crt Clears 0x2D bytes in TLS data at offset 0x937C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083DB0 69 tls_clear_field_93b0 crt Clears 0x2E bytes in TLS data at offset 0x93B0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083E00 69 tls_clear_field_8bec crt Clears 6 bytes in TLS data at offset 0x8BEC. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083E50 69 tls_clear_field_8fc4 crt Clears 0x30 bytes in TLS data at offset 0x8FC4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083EA0 69 tls_clear_field_93e4 crt Clears 0x2E bytes in TLS data at offset 0x93E4. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083EF0 69 tls_clear_field_9418 crt Clears 6 bytes in TLS data at offset 0x9418. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083F40 69 tls_clear_field_9424 crt Clears 0x2E bytes in TLS data at offset 0x9424. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083F90 69 tls_clear_field_9458 crt Clears 0x2D bytes in TLS data at offset 0x9458. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01083FE0 69 tls_clear_field_948c crt Clears 0x2E bytes in TLS data at offset 0x948C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x01084030 69 tls_clear_field_94c0 crt Clears 0x2E bytes in TLS data at offset 0x94C0. Per-thread buffer zeroing for thread-local game state. 0x01084080 69 tls_clear_field_94f4 crt Clears 0x2E bytes in TLS data at offset 0x94F4. Per-thread buffer zeroing for thread-local game state. 0x010840D0 69 tls_clear_field_9528 crt Clears 0x2D bytes in TLS data at offset 0x9528. Per-thread buffer zeroing for thread-local game state. 0x01084120 69 tls_clear_field_8d8c crt Clears 0x2E bytes in TLS data at offset 0x8D8C. Per-thread buffer zeroing for thread-local game state. 0x01084170 69 tls_clear_field_8ffc crt Clears 0x32 bytes in TLS data at offset 0x8FFC. Per-thread buffer zeroing for thread-local game state. 0x010841C0 69 tls_clear_field_955c crt Clears 0x2E bytes in TLS data at offset 0x955C. Per-thread buffer zeroing for thread-local game state. 0x01084210 69 tls_clear_field_9590 crt Clears 0x2E bytes in TLS data at offset 0x9590. Per-thread buffer zeroing for thread-local game state. 0x01084260 69 tls_clear_field_95c4 crt Clears 6 bytes in TLS data at offset 0x95C4. Per-thread buffer zeroing for thread-local game state. 0x010842B0 69 tls_clear_field_95d0 crt Clears 0x2D bytes in TLS data at offset 0x95D0. Per-thread buffer zeroing for thread-local game state. 0x01084300 69 tls_clear_field_9604 crt Clears 0x2F bytes in TLS data at offset 0x9604. Per-thread buffer zeroing for thread-local game state. 0x01084350 69 tls_clear_field_9638 crt Clears 0x2F bytes in TLS data at offset 0x9638. Per-thread buffer zeroing for thread-local game state. 0x010843A0 69 tls_clear_field_966c crt Clears 45 bytes of TLS flags at offset 0x966c. Zeros out a per-thread byte array used for game state tracking. 0x010843F0 69 tls_clear_field_96a0 crt Clears 0x2B bytes in TLS data at offset 0x96A0. Per-thread buffer zeroing for thread-local game state. 0x01084440 69 tls_clear_field_8bf8 crt Clears 0x2E bytes in TLS data at offset 0x8BF8. Per-thread buffer zeroing for thread-local game state. 0x01084490 69 tls_clear_field_8dc0 crt Clears 0x34 bytes in TLS data at offset 0x8DC0. Per-thread buffer zeroing for thread-local game state. 0x010844E0 69 tls_clear_field_9034 crt Clears 6 bytes in TLS data at offset 0x9034. Per-thread buffer zeroing for thread-local game state. 0x01084530 69 tls_clear_field_96d0 crt Clears 6 bytes in TLS data at offset 0x96D0. Per-thread buffer zeroing for thread-local game state. 0x01084580 69 tls_clear_field_96dc crt Clears 45 bytes of TLS flags at offset 0x96dc. Zeros out a per-thread byte array used for game state tracking. 0x010845D0 69 tls_clear_field_9710 crt Clears 44 bytes of TLS flags at offset 0x9710. Zeros out a per-thread byte array used for game state tracking. 0x01084620 69 tls_clear_field_9744 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084670 69 tls_clear_field_9778 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010846C0 69 tls_clear_field_97ac crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084710 69 tls_clear_field_97b8 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084760 69 tls_clear_field_97f0 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010847B0 69 tls_clear_field_8c2c crt Clears 0x2D bytes in TLS data at offset 0x8C2C. Per-thread buffer zeroing for thread-local game state. 0x01084800 69 tls_clear_field_8dfc crt Clears 0x2E bytes in TLS data at offset 0x8DFC. Per-thread buffer zeroing for thread-local game state. 0x01084850 69 tls_clear_field_9040 crt Clears 6 bytes in TLS data at offset 0x9040. Per-thread buffer zeroing for thread-local game state. 0x010848A0 69 tls_clear_field_9824 crt Clears 0x30 bytes in TLS data at offset 0x9824. Per-thread buffer zeroing for thread-local game state. 0x010848F0 69 tls_clear_field_985c crt Clears 0x30 bytes in TLS data at offset 0x985C. Per-thread buffer zeroing for thread-local game state. 0x01084940 69 tls_clear_field_9894 crt Clears 6 bytes in TLS data at offset 0x9894. Per-thread buffer zeroing for thread-local game state. 0x01084990 69 tls_clear_field_98a0 crt Clears 0x2D bytes in TLS data at offset 0x98A0. Per-thread buffer zeroing for thread-local game state. 0x010849E0 69 tls_clear_field_98d4 crt Clears 0x2C bytes in TLS data at offset 0x98D4. Per-thread buffer zeroing for thread-local game state. 0x01084A30 69 tls_clear_field_9908 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084A80 69 tls_clear_field_993c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084AD0 69 tls_clear_field_9970 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084B20 69 tls_clear_field_8c60 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084B70 69 tls_clear_field_8e30 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084BC0 69 tls_clear_field_997c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084C10 69 tls_clear_field_99b0 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084C60 69 tls_clear_field_99e4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084CB0 69 tls_clear_field_9a18 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01084D00 69 tls_clear_field_9a4c crt Clears 6 bytes of TLS data at offset 0x9a4c. Zeros per-thread byte array for game state initialization. 0x01084D50 69 tls_clear_field_9a58 crt Clears 47 bytes of TLS data at offset 0x9a58. Zeros per-thread byte array for game state initialization. 0x01084DA0 69 tls_clear_field_9a8c crt Clears 46 bytes of TLS data at offset 0x9a8c. Zeros per-thread byte array for game state initialization. 0x01084DF0 69 tls_clear_field_9ac0 crt Clears 47 bytes of TLS data at offset 0x9ac0. Zeros per-thread byte array for game state initialization. 0x01084E40 69 tls_clear_field_9af4 crt Clears 47 bytes of TLS data at offset 0x9af4. Zeros per-thread byte array for game state initialization. 0x01084E90 69 tls_clear_field_8c94 crt Clears 46 bytes of TLS data at offset 0x8c94. Zeros per-thread byte array for game state initialization. 0x01084EE0 69 tls_clear_field_8e64 crt Clears 58 bytes of TLS data at offset 0x8e64. Zeros per-thread byte array for game state initialization. 0x01084F30 69 tls_clear_field_904c crt Clears 48 bytes of TLS data at offset 0x904c. Zeros per-thread byte array for game state initialization. 0x01084F80 69 tls_clear_field_9b28 crt Clears 6 bytes of TLS data at offset 0x9b28. Zeros per-thread byte array for game state initialization. 0x01084FD0 69 tls_clear_field_9b34 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01085020 69 tls_clear_field_9b68 crt Clears 44 bytes of TLS data at offset 0x9b68. Zeros per-thread byte array for game state initialization. 0x01085070 69 tls_clear_field_9b9c crt Clears 45 bytes of TLS data at offset 0x9b9c. Zeros per-thread byte array for game state initialization. 0x010850C0 69 tls_clear_field_9bd0 crt Clears 45 bytes of TLS data at offset 0x9bd0. Zeros per-thread byte array for game state initialization. 0x01085110 69 tls_clear_field_9c04 crt Clears 51 bytes of TLS data at offset 0x9c04. Zeros per-thread byte array for game state initialization. 0x01085160 69 tls_clear_field_9c3c crt Clears 50 bytes of TLS data at offset 0x9c3c. Zeros per-thread byte array for game state initialization. 0x010851B0 69 tls_clear_field_8ea4 crt Clears 57 bytes of TLS data at offset 0x8ea4. Zeros per-thread byte array for game state initialization. 0x01085200 69 tls_clear_field_9084 crt Clears 47 bytes of TLS data at offset 0x9084. Zeros per-thread byte array for game state initialization. 0x01085250 69 tls_clear_field_9c74 crt Clears 49 bytes of TLS data at offset 0x9c74. Zeros per-thread byte array for game state initialization. 0x010852A0 69 tls_clear_field_9cac crt Clears 52 bytes of TLS data at offset 0x9cac. Zeros per-thread byte array for game state initialization. 0x010852F0 69 tls_clear_field_8cc8 crt Clears 41 bytes of TLS data at offset 0x8cc8. Zeros per-thread byte array for game state initialization. 0x01085340 69 tls_clear_field_8ee4 crt Clears 49 bytes of TLS data at offset 0x8ee4. Zeros per-thread byte array for game state initialization. 0x01085390 69 tls_clear_field_90b8 crt Clears 47 bytes of TLS data at offset 0x90b8. Zeros per-thread byte array for game state initialization. 0x010853E0 10 thunk_to_STL_string_dtor_010853e0 stl Wrapper that calls STL_string_dtor and returns 0x010853F0 10 thunk_to_STL_string_dtor_010853f0 stl Wrapper that calls STL_string_dtor and returns 0x01085400 10 thunk_to_STL_string_dtor_01085400 stl Wrapper that calls STL_string_dtor and returns 0x01085410 10 thunk_to_STL_string_dtor_01085410 stl Wrapper that calls STL_string_dtor and returns 0x01085420 10 thunk_to_STL_string_dtor_01085420 stl Wrapper that calls STL_string_dtor and returns 0x01085430 10 thunk_to_STL_string_dtor_01085430 stl Wrapper that calls STL_string_dtor and returns 0x01085440 10 thunk_to_STL_string_dtor_01085440 stl Wrapper that calls STL_string_dtor and returns 0x01085450 10 thunk_to_STL_string_dtor_01085450 stl Wrapper that calls STL string destructor 0x01085460 10 thunk_to_STL_string_dtor_01085460 stl Wrapper calling STL_string_dtor destructor 0x01085470 10 thunk_to_STL_string_dtor_01085470 stl Wrapper that calls STL_string_dtor and returns 0x01085480 10 thunk_to_STL_string_dtor_01085480 stl Wrapper that calls STL_string_dtor and returns 0x01085490 10 thunk_to_STL_string_dtor_01085490 stl Wrapper that calls STL_string_dtor and returns 0x010854A0 10 thunk_to_STL_string_dtor_010854a0 stl Wrapper that calls STL_string_dtor and returns 0x010854B0 10 thunk_to_STL_string_dtor_010854b0 stl Wrapper that calls STL_string_dtor and returns 0x010854C0 10 thunk_to_STL_string_dtor_010854c0 stl Wrapper that calls STL_string_dtor and returns 0x010854D0 10 thunk_to_STL_string_dtor_010854d0 stl Wrapper that calls STL_string_dtor and returns 0x010854E0 10 thunk_to_STL_string_dtor_010854e0 stl Wrapper that calls STL_string_dtor and returns 0x010854F0 10 thunk_to_STL_string_dtor_010854f0 stl Wrapper that calls STL_string_dtor and returns 0x01085500 10 thunk_to_STL_string_dtor_01085500 stl Wrapper that calls STL_string_dtor and returns 0x01085510 10 thunk_to_STL_string_dtor_01085510 stl Wrapper that calls STL_string_dtor and returns 0x01085520 10 thunk_to_STL_string_dtor_01085520 stl Wrapper that calls STL_string_dtor and returns 0x01085530 10 thunk_to_STL_string_dtor_01085530 stl Wrapper that calls STL_string_dtor and returns 0x01085540 10 thunk_to_STL_string_dtor_01085540 stl Wrapper that calls STL_string_dtor and returns 0x01085550 10 thunk_to_STL_string_dtor_01085550 stl Wrapper that calls STL_string_dtor and returns 0x01085560 10 thunk_to_STL_string_dtor_01085560 stl Wrapper that calls STL_string_dtor and returns 0x010855E0 280 atexit_unregister_window_classes_010855e0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01085700 66 atexit_STL_map_destroy_wrapper_01085700 crt SEH-wrapped atexit handler that calls STL_map_destroy to clean up a global STL map container. 0x010857C0 280 atexit_unregister_window_classes_010857c0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01085950 280 atexit_unregister_window_classes_01085950 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01085AE0 280 atexit_unregister_window_classes_01085ae0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01085C70 280 atexit_unregister_window_classes_01085c70 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01085E00 280 atexit_unregister_window_classes_01085e00 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01085F90 280 atexit_unregister_window_classes_01085f90 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01086120 280 atexit_unregister_window_classes_01086120 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x010862B0 280 atexit_unregister_window_classes_010862b0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01086440 280 atexit_unregister_window_classes_01086440 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x010865D0 280 atexit_unregister_window_classes_010865d0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01086760 280 atexit_unregister_window_classes_01086760 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x010868F0 280 atexit_unregister_window_classes_010868f0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01086A80 280 atexit_unregister_window_classes_01086a80 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01086C10 280 atexit_unregister_window_classes_01086c10 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01086DA0 280 atexit_unregister_window_classes_01086da0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01086F30 280 atexit_unregister_window_classes_01086f30 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x010870C0 280 atexit_unregister_window_classes_010870c0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01087250 280 atexit_unregister_window_classes_01087250 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x010873E0 280 atexit_unregister_window_classes_010873e0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01087570 280 atexit_unregister_window_classes_01087570 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01087700 280 atexit_unregister_window_classes_01087700 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01087890 280 atexit_unregister_window_classes_01087890 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01087A20 280 atexit_unregister_window_classes_01087a20 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01087BB0 280 atexit_unregister_window_classes_01087bb0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01087CD0 10 thunk_to_STL_string_dtor_01087cd0 stl Wrapper that calls STL_string_dtor and returns 0x01087CE0 10 thunk_to_STL_string_dtor_01087ce0 stl Wrapper that calls STL_string_dtor and returns 0x01087CF0 10 thunk_to_STL_string_dtor_01087cf0 stl Wrapper function that calls STL_string_dtor and returns 0x01087D00 10 thunk_to_STL_string_dtor_01087d00 stl Wrapper that calls STL_string_dtor and returns 0x01087D10 10 thunk_to_STL_string_dtor_01087d10 stl Wrapper that calls STL_string_dtor and returns 0x01087D20 10 thunk_to_STL_string_dtor_01087d20 stl Wrapper that calls STL_string_dtor and returns 0x01087D30 10 thunk_to_STL_string_dtor_01087d30 stl Wrapper that calls STL_string_dtor and returns 0x01087D40 10 thunk_to_STL_string_dtor_01087d40 stl Wrapper that calls STL_string_dtor and returns 0x01087D50 10 thunk_to_STL_string_dtor_01087d50 stl Wrapper that calls STL_string_dtor and returns 0x01087D60 10 thunk_to_STL_string_dtor_01087d60 stl Wrapper that calls STL_string_dtor and returns 0x01087D70 10 thunk_to_STL_string_dtor_01087d70 stl Wrapper that calls STL_string_dtor and returns 0x01087D80 10 thunk_to_STL_string_dtor_01087d80 stl Wrapper that calls STL_string_dtor and returns 0x01087D90 10 thunk_to_STL_string_dtor_01087d90 stl Wrapper that calls STL_string_dtor and returns 0x01087DA0 10 thunk_to_STL_string_dtor_01087da0 stl Wrapper that calls STL_string_dtor and returns 0x01087DB0 10 thunk_to_STL_string_dtor_01087db0 stl Wrapper function that calls STL_string_dtor and returns 0x01087DC0 10 thunk_to_STL_string_dtor_01087dc0 stl Wrapper that calls STL_string_dtor and returns 0x01087DD0 10 thunk_to_STL_string_dtor_01087dd0 stl Wrapper that calls STL_string_dtor and returns immediately 0x01087DE0 10 thunk_to_STL_string_dtor_01087de0 stl Wrapper that calls STL_string_dtor and returns 0x01087DF0 10 thunk_to_STL_string_dtor_01087df0 stl Wrapper function that calls STL_string_dtor and returns 0x01087E00 10 thunk_to_STL_string_dtor_01087e00 stl Wrapper that calls STL_string_dtor and returns 0x01087E10 10 thunk_to_STL_string_dtor_01087e10 stl Wrapper that calls STL_string_dtor and returns 0x01087E20 10 thunk_to_STL_string_dtor_01087e20 stl Wrapper that calls STL_string_dtor and returns 0x01087E30 10 thunk_to_STL_string_dtor_01087e30 stl Wrapper that calls STL_string_dtor and returns 0x01087E40 10 thunk_to_STL_string_dtor_01087e40 stl Wrapper that calls STL_string_dtor and returns 0x01087E50 10 thunk_to_STL_string_dtor_01087e50 stl Wrapper that calls STL_string_dtor and returns 0x01087ED0 280 atexit_unregister_window_classes_01087ed0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01087FF0 66 atexit_STL_map_destroy_wrapper_01087ff0 crt SEH-wrapped atexit handler that calls STL_map_destroy to clean up a global STL map container. 0x01088040 69 tls_clear_field_9ebc crt Clears 49 bytes of TLS data at offset 0x9ebc. Zeros per-thread byte array for game state initialization. 0x01088090 69 tls_clear_field_9ef4 crt Clears 48 bytes of TLS data at offset 0x9ef4. Zeros per-thread byte array for game state initialization. 0x010880E0 69 tls_clear_field_9f2c crt Clears 48 bytes of TLS data at offset 0x9f2c. Zeros per-thread byte array for game state initialization. 0x01088130 69 tls_clear_field_9f64 crt Clears 49 bytes of TLS data at offset 0x9f64. Zeros per-thread byte array for game state initialization. 0x01088180 69 tls_clear_field_9f9c crt Clears 46 bytes of TLS data at offset 0x9f9c. Zeros per-thread byte array for game state initialization. 0x010881D0 69 tls_clear_field_9fd0 crt Clears 47 bytes of TLS data at offset 0x9fd0. Zeros per-thread byte array for game state initialization. 0x01088220 69 tls_clear_field_a004 crt Clears 46 bytes of TLS data at offset 0xa004. Zeros per-thread byte array for game state initialization. 0x01088270 69 tls_clear_field_9cf4 crt Clears 43 bytes of TLS data at offset 0x9cf4. Zeros per-thread byte array for game state initialization. 0x010882C0 69 tls_clear_field_9d30 crt Clears 49 bytes of TLS data at offset 0x9d30. Zeros per-thread byte array for game state initialization. 0x01088310 69 tls_clear_field_9ce8 crt Clears 6 bytes of TLS data at offset 0x9ce8. Zeros per-thread byte array for game state initialization. 0x01088360 69 tls_clear_field_a038 crt Clears 46 bytes of TLS data at offset 0xa038. Zeros per-thread byte array for game state initialization. 0x010883B0 69 tls_clear_field_a06c crt Clears 29 bytes of TLS data at offset 0xa06c. Zeros per-thread byte array for game state initialization. 0x01088400 69 tls_clear_field_a090 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088450 69 tls_clear_field_a0b4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010884A0 69 tls_clear_field_a0d8 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010884F0 69 tls_clear_field_a100 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088540 69 tls_clear_field_a128 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088590 69 tls_clear_field_a150 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010885E0 69 tls_clear_field_9d24 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088630 69 tls_clear_field_9d68 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088680 69 tls_clear_field_a180 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010886D0 69 tls_clear_field_a1b0 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088720 69 tls_clear_field_a1e0 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088770 69 tls_clear_field_a210 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010887C0 69 tls_clear_field_a234 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088810 69 tls_clear_field_a258 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088860 69 tls_clear_field_a27c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010888B0 69 tls_clear_field_a2a4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088900 69 tls_clear_field_a2cc crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088950 69 tls_clear_field_9da0 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010889A0 69 tls_clear_field_a2f4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010889F0 69 tls_clear_field_a300 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088A40 69 tls_clear_field_9dd8 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088A90 69 tls_clear_field_9de4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088AE0 69 tls_clear_field_9e1c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088B30 69 tls_clear_field_9e50 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088B80 69 tls_clear_field_9e84 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088BD0 10 thunk_to_STL_string_dtor_01088bd0 stl Wrapper that calls STL_string_dtor and returns 0x01088BE0 10 thunk_to_STL_string_dtor_01088be0 stl Wrapper that calls STL_string_dtor and returns 0x01088BF0 10 thunk_to_STL_string_dtor_01088bf0 stl Wrapper that calls STL_string_dtor and returns 0x01088C00 10 thunk_to_STL_string_dtor_01088c00 stl Wrapper that calls STL_string_dtor and returns 0x01088C10 10 thunk_to_STL_string_dtor_01088c10 stl Wrapper that calls STL_string_dtor and returns 0x01088C20 10 thunk_to_STL_string_dtor_01088c20 stl Wrapper that calls STL_string_dtor and returns 0x01088C30 10 thunk_to_STL_string_dtor_01088c30 stl Wrapper that calls STL_string_dtor and returns 0x01088C40 10 thunk_to_STL_string_dtor_01088c40 stl Wrapper that calls STL_string_dtor and returns 0x01088C50 10 thunk_to_STL_string_dtor_01088c50 stl Wrapper that calls STL_string_dtor and returns 0x01088C60 10 thunk_to_STL_string_dtor_01088c60 stl Wrapper that calls STL_string_dtor and returns 0x01088C70 10 thunk_to_STL_string_dtor_01088c70 stl Wrapper that calls STL_string_dtor and returns 0x01088C80 10 thunk_to_STL_string_dtor_01088c80 stl Wrapper that calls STL_string_dtor and returns 0x01088C90 10 thunk_to_STL_string_dtor_01088c90 stl Wrapper that calls STL_string_dtor and returns 0x01088CA0 10 thunk_to_STL_string_dtor_01088ca0 stl Wrapper that calls STL_string_dtor and returns 0x01088CB0 10 thunk_to_STL_string_dtor_01088cb0 stl Wrapper that calls STL_string_dtor and returns 0x01088CC0 10 thunk_to_STL_string_dtor_01088cc0 stl Wrapper that calls STL_string_dtor and returns 0x01088CD0 10 thunk_to_STL_string_dtor_01088cd0 stl Wrapper that calls STL_string_dtor and returns 0x01088CE0 10 thunk_to_STL_string_dtor_01088ce0 stl Wrapper that calls STL_string_dtor and returns 0x01088CF0 10 thunk_to_STL_string_dtor_01088cf0 stl Wrapper that calls STL_string_dtor and returns 0x01088D00 10 thunk_to_STL_string_dtor_01088d00 stl Wrapper that calls STL_string_dtor and returns 0x01088D10 10 thunk_to_STL_string_dtor_01088d10 stl Wrapper that calls STL_string_dtor and returns 0x01088D20 10 thunk_to_STL_string_dtor_01088d20 stl Wrapper that calls STL_string_dtor and returns 0x01088D30 10 thunk_to_STL_string_dtor_01088d30 stl Wrapper that calls STL_string_dtor and returns 0x01088D40 10 thunk_to_STL_string_dtor_01088d40 stl Wrapper that calls STL_string_dtor and returns 0x01088D50 10 thunk_to_STL_string_dtor_01088d50 stl Wrapper that calls STL_string_dtor and returns 0x01088DD0 280 atexit_unregister_window_classes_01088dd0 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x01088EF0 66 atexit_STL_map_destroy_wrapper_01088ef0 crt SEH-wrapped atexit handler that calls STL_map_destroy to clean up a global STL map container. 0x01088F40 69 tls_clear_field_a30c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088F90 69 tls_clear_field_a33c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01088FE0 69 tls_clear_field_a374 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089030 69 tls_clear_field_a3ac crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089080 10 thunk_to_STL_string_dtor_01089080 stl Wrapper that calls STL_string_dtor and returns 0x01089090 10 thunk_to_STL_string_dtor_01089090 stl Wrapper that calls STL_string_dtor and returns 0x010890A0 10 thunk_to_STL_string_dtor_010890a0 stl Wrapper that calls STL_string_dtor and returns 0x010890B0 10 thunk_to_STL_string_dtor_010890b0 stl Wrapper function that calls STL_string_dtor and returns 0x010890C0 10 thunk_to_STL_string_dtor_010890c0 stl Wrapper that calls STL_string_dtor and returns 0x010890D0 10 thunk_to_STL_string_dtor_010890d0 stl Wrapper that calls STL_string_dtor and returns 0x010890E0 10 thunk_to_STL_string_dtor_010890e0 stl Wrapper that calls STL_string_dtor and returns 0x010890F0 10 thunk_to_STL_string_dtor_010890f0 stl Wrapper that calls STL_string_dtor and returns 0x01089100 10 thunk_to_STL_string_dtor_01089100 stl Wrapper that calls STL_string_dtor and returns 0x01089110 10 thunk_to_STL_string_dtor_01089110 stl Wrapper that calls STL_string_dtor and returns 0x01089120 10 thunk_to_STL_string_dtor_01089120 stl Wrapper that calls STL_string_dtor and returns 0x01089130 10 thunk_to_STL_string_dtor_01089130 stl Wrapper that calls STL_string_dtor and returns 0x01089140 10 thunk_to_STL_string_dtor_01089140 stl Wrapper that calls STL_string_dtor and returns 0x01089150 10 thunk_to_STL_string_dtor_01089150 stl Wrapper that calls STL_string_dtor and returns immediately 0x01089160 10 thunk_to_STL_string_dtor_01089160 stl Wrapper that calls STL_string_dtor and returns 0x01089170 10 thunk_to_STL_string_dtor_01089170 stl Wrapper that calls STL_string_dtor and returns 0x01089180 10 thunk_to_STL_string_dtor_01089180 stl Wrapper that calls STL_string_dtor and returns 0x01089190 10 thunk_to_STL_string_dtor_01089190 stl Wrapper function that calls STL_string_dtor and returns 0x010891A0 10 thunk_to_STL_string_dtor_010891a0 stl Wrapper that calls STL_string_dtor and returns 0x010891B0 10 thunk_to_STL_string_dtor_010891b0 stl Wrapper that calls STL_string_dtor and returns 0x010891C0 10 thunk_to_STL_string_dtor_010891c0 stl Wrapper that calls STL_string_dtor and returns 0x010891D0 10 thunk_to_STL_string_dtor_010891d0 stl Wrapper that calls STL_string_dtor and returns 0x010891E0 10 thunk_to_STL_string_dtor_010891e0 stl Wrapper that calls STL_string_dtor and returns 0x010891F0 10 thunk_to_STL_string_dtor_010891f0 stl Wrapper that calls STL_string_dtor and returns 0x01089200 10 thunk_to_STL_string_dtor_01089200 stl Wrapper that calls STL_string_dtor destructor 0x01089280 280 atexit_unregister_window_classes_01089280 crt Atexit handler that unregisters window classes. Iterates through registered atom IDs, calls UnregisterClassA for each, frees the class list, and destroys the critical section. 0x010893A0 66 atexit_STL_map_destroy_wrapper_010893a0 crt SEH-wrapped atexit handler that calls STL_map_destroy to clean up a global STL map container. 0x010893F0 69 tls_clear_field_a564 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089440 69 tls_clear_field_a59c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089490 69 tls_clear_field_a5d4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010894E0 69 tls_clear_field_a60c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089530 69 tls_clear_field_a644 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089580 69 tls_clear_field_a67c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010895D0 69 tls_clear_field_a688 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089620 69 tls_clear_field_a694 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089670 69 tls_clear_field_a6a0 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010896C0 69 tls_clear_field_a3f0 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089710 69 tls_clear_field_a3fc crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089760 69 tls_clear_field_a3e4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010897B0 69 tls_clear_field_a6ac crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089800 69 tls_clear_field_a6b8 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089850 69 tls_clear_field_a6c4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010898A0 69 tls_clear_field_a6d0 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010898F0 69 tls_clear_field_a6dc crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089940 69 tls_clear_field_a6e8 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089990 69 tls_clear_field_a6f4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010899E0 69 tls_clear_field_a700 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089A30 69 tls_clear_field_a70c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089A80 69 tls_clear_field_a718 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089AD0 69 tls_clear_field_a434 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089B20 69 tls_clear_field_a724 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089B70 69 tls_clear_field_a730 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089BC0 69 tls_clear_field_a754 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089C10 69 tls_clear_field_a778 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089C60 69 tls_clear_field_a79c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089CB0 69 tls_clear_field_a7c4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089D00 69 tls_clear_field_a7ec crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089D50 69 tls_clear_field_a814 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089DA0 69 tls_clear_field_a46c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089DF0 69 tls_clear_field_a820 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089E40 69 tls_clear_field_a844 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089E90 69 tls_clear_field_a868 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089EE0 69 tls_clear_field_a88c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089F30 69 tls_clear_field_a8b4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089F80 69 tls_clear_field_a8dc crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x01089FD0 69 tls_clear_field_a4a4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x0108A020 69 tls_clear_field_a4b8 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x0108A070 69 tls_clear_field_a4c4 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x0108A0C0 69 tls_clear_field_a4fc crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x0108A110 69 tls_clear_field_a530 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x0108A160 10 thunk_to_STL_string_dtor_0108a160 stl Wrapper that calls STL_string_dtor and returns 0x0108A170 10 thunk_to_STL_string_dtor_0108a170 stl Wrapper that calls STL_string_dtor and returns 0x0108A180 10 thunk_to_STL_string_dtor_0108a180 stl Wrapper that calls STL_string_dtor and returns 0x0108A190 10 thunk_to_STL_string_dtor_0108a190 stl Wrapper that calls STL_string_dtor and returns 0x0108A1A0 10 thunk_to_STL_string_dtor_0108a1a0 stl Wrapper that calls STL_string_dtor and returns 0x0108A1B0 10 thunk_to_STL_string_dtor_0108a1b0 stl Wrapper that calls STL_string_dtor and returns 0x0108A1C0 10 thunk_to_STL_string_dtor_0108a1c0 stl Wrapper that calls STL_string_dtor and returns 0x0108A1D0 10 thunk_to_STL_string_dtor_0108a1d0 stl Wrapper that calls STL_string_dtor and returns 0x0108A1E0 10 thunk_to_STL_string_dtor_0108a1e0 stl Wrapper that calls STL_string_dtor and returns 0x0108A1F0 10 thunk_to_STL_string_dtor_0108a1f0 stl Wrapper that calls STL_string_dtor and returns 0x0108A200 10 thunk_to_STL_string_dtor_0108a200 stl Wrapper that calls STL_string_dtor and returns 0x0108A210 10 thunk_to_STL_string_dtor_0108a210 stl Wrapper that calls STL_string_dtor and returns 0x0108A220 10 thunk_to_STL_string_dtor_0108a220 stl Wrapper that calls STL_string_dtor and returns 0x0108A230 10 thunk_to_STL_string_dtor_0108a230 stl Wrapper that calls STL_string_dtor and returns 0x0108A240 10 thunk_to_STL_string_dtor_0108a240 stl Wrapper that calls STL_string_dtor and returns 0x0108A250 10 thunk_to_STL_string_dtor_0108a250 stl Wrapper that calls STL_string_dtor and returns 0x0108A260 10 thunk_to_STL_string_dtor_0108a260 stl Wrapper that calls STL_string_dtor and returns 0x0108A270 10 thunk_to_STL_string_dtor_0108a270 stl Wrapper that calls STL_string_dtor and returns 0x0108A280 10 thunk_to_STL_string_dtor_0108a280 stl Wrapper that calls STL_string_dtor and returns 0x0108A290 10 thunk_to_STL_string_dtor_0108a290 stl Wrapper that calls STL_string_dtor and returns 0x0108A2A0 10 thunk_to_STL_string_dtor_0108a2a0 stl Wrapper that calls STL_string_dtor and returns 0x0108A2B0 10 thunk_to_STL_string_dtor_0108a2b0 stl Wrapper that calls STL_string_dtor and returns 0x0108A2C0 10 thunk_to_STL_string_dtor_0108a2c0 stl Wrapper that calls STL_string_dtor and returns 0x0108A2D0 10 thunk_to_STL_string_dtor_0108a2d0 stl Wrapper that calls STL_string_dtor and returns 0x0108A2E0 10 thunk_to_STL_string_dtor_0108a2e0 stl Wrapper that calls STL_string_dtor and returns 0x0108A360 280 atexit_unregister_window_classes_0108a360 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x0108A480 66 atexit_STL_map_destroy_wrapper_0108a480 crt Atexit handler that destroys an STL map with SEH exception framing. 0x0108A540 280 atexit_unregister_window_classes_0108a540 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x0108A6D0 280 atexit_unregister_window_classes_0108a6d0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x0108A7F0 10 thunk_to_STL_string_dtor_0108a7f0 stl Wrapper that calls STL_string_dtor and returns 0x0108A800 10 thunk_to_STL_string_dtor_0108a800 stl Wrapper that calls STL_string_dtor and returns 0x0108A810 10 thunk_to_STL_string_dtor_0108a810 stl Wrapper that calls STL_string_dtor and returns 0x0108A820 10 thunk_to_STL_string_dtor_0108a820 stl Wrapper that calls STL_string_dtor and returns 0x0108A830 10 thunk_to_STL_string_dtor_0108a830 stl Wrapper that calls STL_string_dtor and returns 0x0108A840 10 thunk_to_STL_string_dtor_0108a840 stl Wrapper that calls STL_string_dtor and returns 0x0108A850 10 thunk_to_STL_string_dtor_0108a850 stl Wrapper that calls STL_string_dtor and returns 0x0108A860 10 thunk_to_STL_string_dtor_0108a860 stl Wrapper that calls STL_string_dtor and returns 0x0108A870 10 thunk_to_STL_string_dtor_0108a870 stl Wrapper that calls STL_string_dtor and returns 0x0108A880 10 thunk_to_STL_string_dtor_0108a880 stl Wrapper that calls STL_string_dtor and returns 0x0108A890 10 thunk_to_STL_string_dtor_0108a890 stl Wrapper that calls STL_string_dtor and returns immediately 0x0108A8A0 10 thunk_to_STL_string_dtor_0108a8a0 stl Wrapper that calls STL_string_dtor and returns 0x0108A8B0 10 thunk_to_STL_string_dtor_0108a8b0 stl Wrapper that calls STL_string_dtor and returns 0x0108A8C0 10 thunk_to_STL_string_dtor_0108a8c0 stl Wrapper that calls STL_string_dtor and returns 0x0108A8D0 10 thunk_to_STL_string_dtor_0108a8d0 stl Wrapper that calls STL_string_dtor and returns 0x0108A8E0 10 thunk_to_STL_string_dtor_0108a8e0 stl Wrapper calling STL string destructor 0x0108A8F0 10 thunk_to_STL_string_dtor_0108a8f0 stl Wrapper that calls STL_string_dtor and returns 0x0108A900 10 thunk_to_STL_string_dtor_0108a900 stl Wrapper that calls STL_string_dtor and returns 0x0108A910 10 thunk_to_STL_string_dtor_0108a910 stl Wrapper that calls STL_string_dtor and returns 0x0108A920 10 thunk_to_STL_string_dtor_0108a920 stl Wrapper that calls STL_string_dtor and returns 0x0108A930 10 thunk_to_STL_string_dtor_0108a930 stl Wrapper that calls STL_string_dtor and returns 0x0108A940 10 thunk_to_STL_string_dtor_0108a940 stl Wrapper function that calls STL_string_dtor and returns 0x0108A950 10 thunk_to_STL_string_dtor_0108a950 stl Wrapper that calls STL_string_dtor and returns 0x0108A960 10 thunk_to_STL_string_dtor_0108a960 stl Wrapper that calls STL_string_dtor and returns 0x0108A970 10 thunk_to_STL_string_dtor_0108a970 stl Wrapper that calls STL_string_dtor and returns 0x0108A9F0 280 atexit_unregister_window_classes_0108a9f0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x0108AB10 66 atexit_STL_map_destroy_wrapper_0108ab10 crt Atexit handler that destroys an STL map with SEH exception framing. 0x0108AB60 10 thunk_to_STL_string_dtor_0108ab60 stl Wrapper that calls STL_string_dtor and returns 0x0108AB70 10 thunk_to_STL_string_dtor_0108ab70 stl Wrapper that calls STL_string_dtor and returns 0x0108AB80 10 thunk_to_STL_string_dtor_0108ab80 stl Wrapper that calls STL_string_dtor and returns 0x0108AB90 10 thunk_to_STL_string_dtor_0108ab90 stl Wrapper that calls STL_string_dtor and returns 0x0108ABA0 10 thunk_to_STL_string_dtor_0108aba0 stl Wrapper that calls STL_string_dtor and returns 0x0108ABB0 10 thunk_to_STL_string_dtor_0108abb0 stl Wrapper that calls STL_string_dtor and returns 0x0108ABC0 10 thunk_to_STL_string_dtor_0108abc0 stl Wrapper that calls STL_string_dtor and returns 0x0108ABD0 10 thunk_to_STL_string_dtor_0108abd0 stl Wrapper function that calls STL_string_dtor and returns 0x0108ABE0 10 thunk_to_STL_string_dtor_0108abe0 stl Wrapper that calls STL_string_dtor and returns 0x0108ABF0 10 thunk_to_STL_string_dtor_0108abf0 stl Wrapper that calls STL_string_dtor and returns 0x0108AC00 10 thunk_to_STL_string_dtor_0108ac00 stl Wrapper that calls STL_string_dtor and returns 0x0108AC10 10 thunk_to_STL_string_dtor_0108ac10 stl Wrapper that calls STL_string_dtor and returns immediately 0x0108AC20 10 thunk_to_STL_string_dtor_0108ac20 stl Wrapper that calls STL_string_dtor and returns 0x0108AC30 10 thunk_to_STL_string_dtor_0108ac30 stl Wrapper that calls STL_string_dtor and returns 0x0108AC40 10 thunk_to_STL_string_dtor_0108ac40 stl Wrapper that calls STL_string_dtor and returns 0x0108AC50 10 thunk_to_STL_string_dtor_0108ac50 stl Wrapper that calls STL_string_dtor and returns 0x0108AC60 10 thunk_to_STL_string_dtor_0108ac60 stl Wrapper that calls STL_string_dtor and returns 0x0108AC70 10 thunk_to_STL_string_dtor_0108ac70 stl Wrapper that calls STL_string_dtor and returns 0x0108AC80 10 thunk_to_STL_string_dtor_0108ac80 stl Wrapper that calls STL_string_dtor and returns 0x0108AC90 10 thunk_to_STL_string_dtor_0108ac90 stl Wrapper that calls STL_string_dtor and returns 0x0108ACA0 10 thunk_to_STL_string_dtor_0108aca0 stl Wrapper that calls STL_string_dtor and returns 0x0108ACB0 10 thunk_to_STL_string_dtor_0108acb0 stl Wrapper that calls STL_string_dtor and returns 0x0108ACC0 10 thunk_to_STL_string_dtor_0108acc0 stl Wrapper that calls STL_string_dtor and returns 0x0108ACD0 10 thunk_to_STL_string_dtor_0108acd0 stl Wrapper that calls STL_string_dtor and returns 0x0108ACE0 10 thunk_to_STL_string_dtor_0108ace0 stl Wrapper that calls STL_string_dtor and returns 0x0108AD60 280 atexit_unregister_window_classes_0108ad60 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x0108AE80 66 atexit_STL_map_destroy_wrapper_0108ae80 crt Atexit handler that destroys an STL map with SEH exception framing. 0x0108AEE0 10 thunk_to_STL_string_dtor_0108aee0 stl Wrapper that calls STL_string_dtor and returns 0x0108AEF0 66 atexit_CRenderPipeline_destroy_wrapper_0108aef0 crt SEH-wrapped atexit handler that calls CRenderPipeline__destroy_linked_list_and_vector to clean up a global CRenderPipeline container. Previously misnamed as atexit_STL_map_destroy_wrapper. 0x0108AF40 10 thunk_to_STL_string_dtor_0108af40 stl Wrapper that calls STL_string_dtor and returns 0x0108AF50 10 thunk_to_STL_string_dtor_0108af50 stl Wrapper that calls STL_string_dtor and returns 0x0108AF60 10 thunk_to_STL_string_dtor_0108af60 stl Wrapper that calls STL_string_dtor and returns 0x0108AF70 10 thunk_to_STL_string_dtor_0108af70 stl Wrapper that calls STL_string_dtor and returns 0x0108AF80 10 thunk_to_STL_string_dtor_0108af80 stl Wrapper that calls STL_string_dtor and returns 0x0108AF90 10 thunk_to_STL_string_dtor_0108af90 stl Wrapper that calls STL_string_dtor and returns 0x0108AFA0 10 thunk_to_STL_string_dtor_0108afa0 stl Wrapper that calls STL_string_dtor and returns 0x0108AFB0 10 thunk_to_STL_string_dtor_0108afb0 stl Wrapper that calls STL_string_dtor and returns 0x0108AFC0 10 thunk_to_STL_string_dtor_0108afc0 stl Wrapper that calls STL_string_dtor and returns 0x0108AFD0 10 thunk_to_STL_string_dtor_0108afd0 stl Wrapper that calls STL_string_dtor and returns 0x0108AFE0 10 thunk_to_STL_string_dtor_0108afe0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0108AFF0 10 thunk_to_STL_string_dtor_0108aff0 stl Wrapper that calls STL_string_dtor and returns 0x0108B000 10 thunk_to_STL_string_dtor_0108b000 stl Wrapper that calls STL_string_dtor and returns 0x0108B010 10 thunk_to_STL_string_dtor_0108b010 stl Wrapper function that calls STL_string_dtor and returns 0x0108B020 10 thunk_to_STL_string_dtor_0108b020 stl Wrapper that calls STL_string_dtor and returns 0x0108B030 10 thunk_to_STL_string_dtor_0108b030 stl Wrapper that calls STL_string_dtor and returns 0x0108B040 10 thunk_to_STL_string_dtor_0108b040 stl Wrapper that calls STL_string_dtor and returns 0x0108B050 10 thunk_to_STL_string_dtor_0108b050 stl Wrapper that calls STL_string_dtor and returns 0x0108B060 10 thunk_to_STL_string_dtor_0108b060 stl Wrapper that calls STL_string_dtor and returns 0x0108B070 10 thunk_to_STL_string_dtor_0108b070 stl Wrapper that calls STL_string_dtor and returns 0x0108B080 10 thunk_to_STL_string_dtor_0108b080 stl Wrapper that calls STL_string_dtor and returns 0x0108B090 10 thunk_to_STL_string_dtor_0108b090 stl Wrapper that calls STL_string_dtor and returns 0x0108B0A0 10 thunk_to_STL_string_dtor_0108b0a0 stl Wrapper that calls STL_string_dtor and returns 0x0108B0B0 10 thunk_to_STL_string_dtor_0108b0b0 stl Wrapper that calls STL_string_dtor and returns 0x0108B0C0 10 thunk_to_STL_string_dtor_0108b0c0 stl Wrapper that calls STL_string_dtor and returns 0x0108B140 280 atexit_unregister_window_classes_0108b140 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x0108B260 66 atexit_STL_map_destroy_wrapper_0108b260 crt Atexit handler that destroys an STL map with SEH exception framing. 0x0108B2B0 10 thunk_to_CGameObject__destroy_all_containers game_core Thunk that calls CGameObject__destroy_all_containers. Used as an atexit callback to clean up all game object containers at shutdown. 0x0108B2C0 125 atexit_free_global_vector_014a6938 crt Atexit handler that frees the global vector at DAT_014a6938. Vector elements are 0x1c (28) bytes each. Calls operator_delete to free the backing memory and zeros the vector pointers (begin, end, capacity). 0x0108B340 10 thunk_to_STL_string_dtor_0108b340 stl Wrapper that calls STL_string_dtor and returns 0x0108B350 10 thunk_to_STL_string_dtor_0108b350 stl Wrapper that calls STL_string_dtor and returns 0x0108B360 10 thunk_to_STL_string_dtor_0108b360 stl Wrapper that calls STL_string_dtor and returns 0x0108B370 10 thunk_to_STL_string_dtor_0108b370 stl Wrapper that calls STL_string_dtor and returns 0x0108B380 10 thunk_to_STL_string_dtor_0108b380 stl Wrapper that calls STL_string_dtor and returns 0x0108B390 10 thunk_to_STL_string_dtor_0108b390 stl Wrapper that calls STL_string_dtor and returns 0x0108B3A0 10 thunk_to_STL_string_dtor_0108b3a0 stl Wrapper that calls STL_string_dtor and returns 0x0108B3B0 10 thunk_to_STL_string_dtor_0108b3b0 stl Wrapper that calls STL_string_dtor and returns 0x0108B3C0 10 thunk_to_STL_string_dtor_0108b3c0 stl Wrapper that calls STL_string_dtor and returns 0x0108B3D0 10 thunk_to_STL_string_dtor_0108b3d0 stl Wrapper that calls STL_string_dtor and returns 0x0108B3E0 10 thunk_to_STL_string_dtor_0108b3e0 stl Wrapper that calls STL_string_dtor and returns 0x0108B3F0 10 thunk_to_STL_string_dtor_0108b3f0 stl Wrapper that calls STL_string_dtor and returns 0x0108B400 10 thunk_to_STL_string_dtor_0108b400 stl Wrapper that calls STL_string_dtor and returns 0x0108B410 10 thunk_to_STL_string_dtor_0108b410 stl Wrapper that calls STL_string_dtor and returns 0x0108B420 10 thunk_to_STL_string_dtor_0108b420 stl Wrapper that calls STL_string_dtor and returns 0x0108B430 10 thunk_to_STL_string_dtor_0108b430 stl Wrapper that calls STL_string_dtor and returns 0x0108B440 10 thunk_to_STL_string_dtor_0108b440 stl Wrapper that calls STL_string_dtor and returns 0x0108B450 10 thunk_to_STL_string_dtor_0108b450 stl Wrapper that calls STL_string_dtor and returns 0x0108B460 10 thunk_to_STL_string_dtor_0108b460 stl Wrapper that calls STL_string_dtor and returns 0x0108B470 10 thunk_to_STL_string_dtor_0108b470 stl Wrapper that calls STL_string_dtor and returns 0x0108B480 10 thunk_to_STL_string_dtor_0108b480 stl Wrapper that calls STL_string_dtor and returns 0x0108B490 10 thunk_to_STL_string_dtor_0108b490 stl Wrapper that calls STL_string_dtor and returns 0x0108B4A0 10 thunk_to_STL_string_dtor_0108b4a0 stl Wrapper that calls STL_string_dtor and returns 0x0108B4B0 10 thunk_to_STL_string_dtor_0108b4b0 stl Wrapper that calls STL_string_dtor and returns 0x0108B4C0 10 thunk_to_STL_string_dtor_0108b4c0 stl Wrapper that calls STL_string_dtor and returns 0x0108B540 280 atexit_unregister_window_classes_0108b540 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x0108B660 66 atexit_STL_map_destroy_wrapper_0108b660 crt Atexit handler that destroys an STL map with SEH exception framing. 0x0108B6B0 66 atexit_CRenderPipeline_destroy_wrapper_0108b6b0 crt atexit cleanup wrapper: calls CRenderPipeline__destroy_linked_list_and_vector to destroy a global CRenderPipeline container. SEH-protected with stack cookie. 0x0108B700 10 thunk_to_STL_string_dtor_0108b700 stl Wrapper that calls STL_string_dtor and returns 0x0108B710 10 thunk_to_STL_string_dtor_0108b710 stl Wrapper that calls STL_string_dtor and returns 0x0108B720 10 thunk_to_STL_string_dtor_0108b720 stl Wrapper that calls STL_string_dtor and returns 0x0108B730 10 thunk_to_STL_string_dtor_0108b730 stl Wrapper that calls STL_string_dtor and returns 0x0108B740 10 thunk_to_STL_string_dtor_0108b740 stl Wrapper that calls STL_string_dtor and returns 0x0108B750 10 thunk_to_STL_string_dtor_0108b750 stl Wrapper that calls STL_string_dtor and returns 0x0108B760 10 thunk_to_STL_string_dtor_0108b760 stl Wrapper that calls STL_string_dtor and returns 0x0108B770 10 thunk_to_STL_string_dtor_0108b770 stl Wrapper that calls STL_string_dtor and returns 0x0108B780 10 thunk_to_STL_string_dtor_0108b780 stl Wrapper that calls STL_string_dtor and returns 0x0108B790 10 thunk_to_STL_string_dtor_0108b790 stl Wrapper that calls STL_string_dtor and returns 0x0108B7A0 10 thunk_to_STL_string_dtor_0108b7a0 stl Wrapper that calls STL_string_dtor and returns 0x0108B7B0 10 thunk_to_STL_string_dtor_0108b7b0 stl Wrapper that calls STL_string_dtor and returns 0x0108B7C0 10 thunk_to_STL_string_dtor_0108b7c0 stl Wrapper that calls STL_string_dtor and returns 0x0108B7D0 10 thunk_to_STL_string_dtor_0108b7d0 stl Wrapper that calls STL_string_dtor and returns 0x0108B7E0 10 thunk_to_STL_string_dtor_0108b7e0 stl Wrapper that calls STL_string_dtor and returns 0x0108B7F0 10 thunk_to_STL_string_dtor_0108b7f0 stl Wrapper that calls STL_string_dtor and returns 0x0108B800 10 thunk_to_STL_string_dtor_0108b800 stl Wrapper that calls STL_string_dtor and returns 0x0108B810 10 thunk_to_STL_string_dtor_0108b810 stl Wrapper that calls STL_string_dtor and returns 0x0108B820 10 thunk_to_STL_string_dtor_0108b820 stl Wrapper that calls STL_string_dtor and returns 0x0108B830 10 thunk_to_STL_string_dtor_0108b830 stl Wrapper that calls STL_string_dtor and returns 0x0108B840 10 thunk_to_STL_string_dtor_0108b840 stl Wrapper that calls STL_string_dtor and returns 0x0108B850 10 thunk_to_STL_string_dtor_0108b850 stl Wrapper that calls STL_string_dtor and returns 0x0108B860 10 thunk_to_STL_string_dtor_0108b860 stl Wrapper that calls STL_string_dtor and returns 0x0108B870 10 thunk_to_STL_string_dtor_0108b870 stl Wrapper that calls STL_string_dtor and returns 0x0108B880 10 thunk_to_STL_string_dtor_0108b880 stl Wrapper that calls STL_string_dtor and returns 0x0108B900 280 atexit_unregister_window_classes_0108b900 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x0108BA20 66 atexit_STL_map_destroy_wrapper_0108ba20 crt Atexit handler that destroys an STL map with SEH exception framing. 0x0108BA70 10 thunk_to_STL_string_dtor_0108ba70 stl Wrapper that calls STL_string_dtor and returns 0x0108BA80 10 thunk_to_STL_string_dtor_0108ba80 stl Wrapper that calls STL_string_dtor and returns 0x0108BA90 10 thunk_to_STL_string_dtor_0108ba90 stl Wrapper that calls STL_string_dtor and returns 0x0108BAA0 10 thunk_to_STL_string_dtor_0108baa0 stl Wrapper that calls STL_string_dtor and returns 0x0108BAB0 10 thunk_to_STL_string_dtor_0108bab0 stl Wrapper that calls STL_string_dtor and returns 0x0108BAC0 10 thunk_to_STL_string_dtor_0108bac0 stl Wrapper that calls STL_string_dtor and returns 0x0108BAD0 10 thunk_to_STL_string_dtor_0108bad0 stl Wrapper that calls STL_string_dtor and returns 0x0108BAE0 10 thunk_to_STL_string_dtor_0108bae0 stl Wrapper that calls STL_string_dtor and returns 0x0108BAF0 10 thunk_to_STL_string_dtor_0108baf0 stl Wrapper that calls STL_string_dtor and returns 0x0108BB00 10 thunk_to_STL_string_dtor_0108bb00 stl Wrapper that calls STL_string_dtor and returns 0x0108BB10 10 thunk_to_STL_string_dtor_0108bb10 stl Wrapper that calls STL_string_dtor and returns 0x0108BB20 10 thunk_to_STL_string_dtor_0108bb20 stl Wrapper that calls STL_string_dtor and returns 0x0108BB30 10 thunk_to_STL_string_dtor_0108bb30 stl Wrapper that calls STL_string_dtor and returns 0x0108BB40 10 thunk_to_STL_string_dtor_0108bb40 stl Wrapper that calls STL_string_dtor and returns 0x0108BB50 10 thunk_to_STL_string_dtor_0108bb50 stl Wrapper that calls STL_string_dtor and returns 0x0108BB60 10 thunk_to_STL_string_dtor_0108bb60 stl Wrapper that calls STL_string_dtor and returns 0x0108BB70 10 thunk_to_STL_string_dtor_0108bb70 stl Wrapper that calls STL_string_dtor and returns 0x0108BB80 10 thunk_to_STL_string_dtor_0108bb80 stl Wrapper that calls STL_string_dtor and returns 0x0108BB90 10 thunk_to_STL_string_dtor_0108bb90 stl Wrapper that calls STL_string_dtor and returns 0x0108BBA0 10 thunk_to_STL_string_dtor_0108bba0 stl Wrapper that calls STL_string_dtor and returns 0x0108BBB0 10 thunk_to_STL_string_dtor_0108bbb0 stl Wrapper that calls STL_string_dtor and returns 0x0108BBC0 10 thunk_to_STL_string_dtor_0108bbc0 stl Wrapper that calls STL_string_dtor and returns 0x0108BBD0 10 thunk_to_STL_string_dtor_0108bbd0 stl Wrapper that calls STL_string_dtor and returns 0x0108BBE0 10 thunk_to_STL_string_dtor_0108bbe0 stl Wrapper that calls STL_string_dtor and returns 0x0108BBF0 10 thunk_to_STL_string_dtor_0108bbf0 stl Wrapper that calls STL_string_dtor and returns 0x0108BC70 280 atexit_unregister_window_classes_0108bc70 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108BD90 66 atexit_STL_map_destroy_wrapper_0108bd90 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108BDE0 10 thunk_to_STL_string_dtor_0108bde0 stl Wrapper that calls STL_string_dtor and returns 0x0108BDF0 10 thunk_to_STL_string_dtor_0108bdf0 stl Wrapper that calls STL_string_dtor and returns 0x0108BE00 10 thunk_to_STL_string_dtor_0108be00 stl Wrapper that calls STL_string_dtor and returns 0x0108BE10 10 thunk_to_STL_string_dtor_0108be10 stl Wrapper that calls STL_string_dtor and returns 0x0108BE20 10 thunk_to_STL_string_dtor_0108be20 stl Wrapper that calls STL_string_dtor and returns 0x0108BE30 10 thunk_to_STL_string_dtor_0108be30 stl Wrapper that calls STL_string_dtor and returns 0x0108BE40 10 thunk_to_STL_string_dtor_0108be40 stl Wrapper that calls STL_string_dtor and returns 0x0108BE50 10 thunk_to_STL_string_dtor_0108be50 stl Wrapper that calls STL_string_dtor and returns 0x0108BE60 10 thunk_to_STL_string_dtor_0108be60 stl Wrapper that calls STL_string_dtor and returns 0x0108BE70 10 thunk_to_STL_string_dtor_0108be70 stl Wrapper that calls STL_string_dtor and returns 0x0108BE80 10 thunk_to_STL_string_dtor_0108be80 stl Wrapper that calls STL_string_dtor and returns 0x0108BE90 10 thunk_to_STL_string_dtor_0108be90 stl Wrapper that calls STL_string_dtor and returns 0x0108BEA0 10 thunk_to_STL_string_dtor_0108bea0 stl Wrapper that calls STL_string_dtor and returns 0x0108BEB0 10 thunk_to_STL_string_dtor_0108beb0 stl Wrapper that calls STL_string_dtor and returns 0x0108BEC0 10 thunk_to_STL_string_dtor_0108bec0 stl Wrapper that calls STL_string_dtor and returns 0x0108BED0 10 thunk_to_STL_string_dtor_0108bed0 stl Wrapper that calls STL_string_dtor and returns 0x0108BEE0 10 thunk_to_STL_string_dtor_0108bee0 stl Wrapper that calls STL_string_dtor and returns 0x0108BEF0 10 thunk_to_STL_string_dtor_0108bef0 stl Wrapper that calls STL_string_dtor and returns 0x0108BF00 10 thunk_to_STL_string_dtor_0108bf00 stl Wrapper that calls STL_string_dtor and returns 0x0108BF10 10 thunk_to_STL_string_dtor_0108bf10 stl Wrapper that calls STL_string_dtor and returns 0x0108BF20 10 thunk_to_STL_string_dtor_0108bf20 stl Wrapper that calls STL_string_dtor and returns 0x0108BF30 10 thunk_to_STL_string_dtor_0108bf30 stl Wrapper that calls STL_string_dtor and returns 0x0108BF40 10 thunk_to_STL_string_dtor_0108bf40 stl Wrapper that calls STL_string_dtor and returns 0x0108BF50 10 thunk_to_STL_string_dtor_0108bf50 stl Wrapper that calls STL_string_dtor and returns 0x0108BF60 10 thunk_to_STL_string_dtor_0108bf60 stl Wrapper that calls STL_string_dtor and returns 0x0108BFE0 280 atexit_unregister_window_classes_0108bfe0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108C100 66 atexit_STL_map_destroy_wrapper_0108c100 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108C150 10 thunk_to_STL_string_dtor_0108c150 stl Wrapper that calls STL_string_dtor and returns 0x0108C160 10 thunk_to_STL_string_dtor_0108c160 stl Wrapper that calls STL_string_dtor and returns 0x0108C170 10 thunk_to_STL_string_dtor_0108c170 stl Wrapper that calls STL_string_dtor and returns 0x0108C180 10 thunk_to_STL_string_dtor_0108c180 stl Wrapper that calls STL_string_dtor and returns 0x0108C190 10 thunk_to_STL_string_dtor_0108c190 stl Wrapper that calls STL_string_dtor and returns 0x0108C1A0 10 thunk_to_STL_string_dtor_0108c1a0 stl Wrapper that calls STL_string_dtor and returns 0x0108C1B0 10 thunk_to_STL_string_dtor_0108c1b0 stl Wrapper that calls STL_string_dtor and returns 0x0108C1C0 10 thunk_to_STL_string_dtor_0108c1c0 stl Wrapper that calls STL_string_dtor and returns 0x0108C1D0 10 thunk_to_STL_string_dtor_0108c1d0 stl Wrapper that calls STL_string_dtor and returns 0x0108C1E0 10 thunk_to_STL_string_dtor_0108c1e0 stl Wrapper that calls STL_string_dtor and returns 0x0108C1F0 10 thunk_to_STL_string_dtor_0108c1f0 stl Wrapper that calls STL_string_dtor and returns 0x0108C200 10 thunk_to_STL_string_dtor_0108c200 stl Wrapper that calls STL_string_dtor and returns 0x0108C210 10 thunk_to_STL_string_dtor_0108c210 stl Wrapper that calls STL_string_dtor and returns 0x0108C220 10 thunk_to_STL_string_dtor_0108c220 stl Wrapper that calls STL_string_dtor and returns 0x0108C230 10 thunk_to_STL_string_dtor_0108c230 stl Wrapper that calls STL_string_dtor and returns 0x0108C240 10 thunk_to_STL_string_dtor_0108c240 stl Wrapper that calls STL_string_dtor and returns 0x0108C250 10 thunk_to_STL_string_dtor_0108c250 stl Wrapper that calls STL_string_dtor and returns 0x0108C260 10 thunk_to_STL_string_dtor_0108c260 stl Wrapper that calls STL_string_dtor and returns 0x0108C270 10 thunk_to_STL_string_dtor_0108c270 stl Wrapper that calls STL_string_dtor and returns 0x0108C280 10 thunk_to_STL_string_dtor_0108c280 stl Wrapper that calls STL_string_dtor and returns 0x0108C290 10 thunk_to_STL_string_dtor_0108c290 stl Wrapper that calls STL_string_dtor and returns 0x0108C2A0 10 thunk_to_STL_string_dtor_0108c2a0 stl Wrapper that calls STL_string_dtor and returns 0x0108C2B0 10 thunk_to_STL_string_dtor_0108c2b0 stl Wrapper that calls STL_string_dtor and returns 0x0108C2C0 10 thunk_to_STL_string_dtor_0108c2c0 stl Wrapper that calls STL_string_dtor and returns 0x0108C2D0 10 thunk_to_STL_string_dtor_0108c2d0 stl Wrapper that calls STL_string_dtor and returns 0x0108C350 280 atexit_unregister_window_classes_0108c350 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108C470 66 atexit_STL_map_destroy_wrapper_0108c470 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108C4C0 10 thunk_to_STL_string_dtor_0108c4c0 stl Wrapper that calls STL_string_dtor and returns 0x0108C4D0 10 thunk_to_STL_string_dtor_0108c4d0 stl Wrapper that calls STL_string_dtor and returns 0x0108C4E0 10 thunk_to_STL_string_dtor_0108c4e0 stl Wrapper that calls STL_string_dtor and returns 0x0108C4F0 10 thunk_to_STL_string_dtor_0108c4f0 stl Wrapper that calls STL_string_dtor and returns 0x0108C500 10 thunk_to_STL_string_dtor_0108c500 stl Wrapper that calls STL_string_dtor and returns 0x0108C510 10 thunk_to_STL_string_dtor_0108c510 stl Wrapper function that calls STL_string_dtor and returns 0x0108C520 10 thunk_to_STL_string_dtor_0108c520 stl Wrapper that calls STL_string_dtor and returns 0x0108C530 10 thunk_to_STL_string_dtor_0108c530 stl Wrapper that calls STL_string_dtor and returns 0x0108C540 10 thunk_to_STL_string_dtor_0108c540 stl Wrapper that calls STL_string_dtor and returns 0x0108C550 10 thunk_to_STL_string_dtor_0108c550 stl Wrapper that calls STL_string_dtor and returns 0x0108C560 10 thunk_to_STL_string_dtor_0108c560 stl Wrapper that calls STL_string_dtor and returns 0x0108C570 10 thunk_to_STL_string_dtor_0108c570 stl Wrapper that calls STL_string_dtor and returns 0x0108C580 10 thunk_to_STL_string_dtor_0108c580 stl Wrapper that calls STL_string_dtor and returns 0x0108C590 10 thunk_to_STL_string_dtor_0108c590 stl Wrapper that calls STL_string_dtor and returns 0x0108C5A0 10 thunk_to_STL_string_dtor_0108c5a0 stl Wrapper that calls STL_string_dtor and returns 0x0108C5B0 10 thunk_to_STL_string_dtor_0108c5b0 stl Wrapper that calls STL_string_dtor and returns 0x0108C5C0 10 thunk_to_STL_string_dtor_0108c5c0 stl Wrapper that calls STL_string_dtor and returns 0x0108C5D0 10 thunk_to_STL_string_dtor_0108c5d0 stl Wrapper that calls STL_string_dtor and returns 0x0108C5E0 10 thunk_to_STL_string_dtor_0108c5e0 stl Wrapper that calls STL_string_dtor and returns 0x0108C5F0 10 thunk_to_STL_string_dtor_0108c5f0 stl Wrapper that calls STL_string_dtor and returns 0x0108C600 10 thunk_to_STL_string_dtor_0108c600 stl Wrapper that calls STL_string_dtor and returns 0x0108C610 10 thunk_to_STL_string_dtor_0108c610 stl Wrapper that calls STL_string_dtor and returns 0x0108C620 10 thunk_to_STL_string_dtor_0108c620 stl Wrapper that calls STL_string_dtor and returns 0x0108C630 10 thunk_to_STL_string_dtor_0108c630 stl Wrapper that calls STL_string_dtor and returns 0x0108C640 10 thunk_to_STL_string_dtor_0108c640 stl Wrapper that calls STL_string_dtor and returns 0x0108C6C0 280 atexit_unregister_window_classes_0108c6c0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108C7E0 66 atexit_STL_map_destroy_wrapper_0108c7e0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108C830 10 thunk_to_STL_string_dtor_0108c830 stl Wrapper that calls STL_string_dtor and returns 0x0108C840 10 thunk_to_STL_string_dtor_0108c840 stl Wrapper that calls STL_string_dtor and returns 0x0108C850 10 thunk_to_STL_string_dtor_0108c850 stl Wrapper that calls STL_string_dtor and returns 0x0108C860 10 thunk_to_STL_string_dtor_0108c860 stl Wrapper that calls STL_string_dtor and returns 0x0108C870 10 thunk_to_STL_string_dtor_0108c870 stl Wrapper that calls STL_string_dtor and returns 0x0108C880 10 thunk_to_STL_string_dtor_0108c880 stl Wrapper that calls STL_string_dtor and returns 0x0108C890 10 thunk_to_STL_string_dtor_0108c890 stl Wrapper that calls STL_string_dtor and returns 0x0108C8A0 10 thunk_to_STL_string_dtor_0108c8a0 stl Wrapper that calls STL_string_dtor and returns 0x0108C8B0 10 thunk_to_STL_string_dtor_0108c8b0 stl Wrapper that calls STL_string_dtor and returns 0x0108C8C0 10 thunk_to_STL_string_dtor_0108c8c0 stl Wrapper that calls STL_string_dtor and returns 0x0108C8D0 10 thunk_to_STL_string_dtor_0108c8d0 stl Wrapper that calls STL_string_dtor and returns 0x0108C8E0 10 thunk_to_STL_string_dtor_0108c8e0 stl Wrapper that calls STL_string_dtor and returns 0x0108C8F0 10 thunk_to_STL_string_dtor_0108c8f0 stl Wrapper that calls STL_string_dtor and returns 0x0108C900 10 thunk_to_STL_string_dtor_0108c900 stl Wrapper that calls STL_string_dtor and returns immediately 0x0108C910 10 thunk_to_STL_string_dtor_0108c910 stl Wrapper that calls STL_string_dtor and returns 0x0108C920 10 thunk_to_STL_string_dtor_0108c920 stl Wrapper that calls STL_string_dtor and returns 0x0108C930 10 thunk_to_STL_string_dtor_0108c930 stl Wrapper that calls STL_string_dtor and returns 0x0108C940 10 thunk_to_STL_string_dtor_0108c940 stl Wrapper that calls STL_string_dtor and returns 0x0108C950 10 thunk_to_STL_string_dtor_0108c950 stl Wrapper that calls STL_string_dtor and returns 0x0108C960 10 thunk_to_STL_string_dtor_0108c960 stl Wrapper that calls STL_string_dtor and returns 0x0108C970 10 thunk_to_STL_string_dtor_0108c970 stl Wrapper that calls STL_string_dtor and returns 0x0108C980 10 thunk_to_STL_string_dtor_0108c980 stl Wrapper that calls STL_string_dtor and returns 0x0108C990 10 thunk_to_STL_string_dtor_0108c990 stl Wrapper function that calls STL_string_dtor and returns 0x0108C9A0 10 thunk_to_STL_string_dtor_0108c9a0 stl Wrapper that calls STL_string_dtor and returns 0x0108C9B0 10 thunk_to_STL_string_dtor_0108c9b0 stl Wrapper that calls STL_string_dtor and returns 0x0108CA30 280 atexit_unregister_window_classes_0108ca30 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108CB50 66 atexit_STL_map_destroy_wrapper_0108cb50 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108CBA0 10 thunk_to_STL_string_dtor_0108cba0 stl Wrapper that calls STL_string_dtor and returns 0x0108CBB0 10 thunk_to_STL_string_dtor_0108cbb0 stl Wrapper that calls STL_string_dtor and returns 0x0108CBC0 10 thunk_to_STL_string_dtor_0108cbc0 stl Wrapper that calls STL_string_dtor and returns 0x0108CBD0 10 thunk_to_STL_string_dtor_0108cbd0 stl Wrapper that calls STL_string_dtor and returns 0x0108CBE0 10 thunk_to_STL_string_dtor_0108cbe0 stl Wrapper that calls STL_string_dtor and returns 0x0108CBF0 10 thunk_to_STL_string_dtor_0108cbf0 stl Wrapper that calls STL_string_dtor and returns 0x0108CC00 10 thunk_to_STL_string_dtor_0108cc00 stl Wrapper that calls STL_string_dtor and returns 0x0108CC10 10 thunk_to_STL_string_dtor_0108cc10 stl Wrapper that calls STL_string_dtor and returns 0x0108CC20 10 thunk_to_STL_string_dtor_0108cc20 stl Wrapper that calls STL_string_dtor and returns 0x0108CC30 10 thunk_to_STL_string_dtor_0108cc30 stl Wrapper that calls STL_string_dtor and returns 0x0108CC40 10 thunk_to_STL_string_dtor_0108cc40 stl Wrapper that calls STL_string_dtor and returns immediately 0x0108CC50 10 thunk_to_STL_string_dtor_0108cc50 stl Wrapper that calls STL_string_dtor and returns 0x0108CC60 10 thunk_to_STL_string_dtor_0108cc60 stl Wrapper that calls STL_string_dtor and returns 0x0108CC70 10 thunk_to_STL_string_dtor_0108cc70 stl Wrapper that calls STL_string_dtor and returns 0x0108CC80 10 thunk_to_STL_string_dtor_0108cc80 stl Wrapper that calls STL_string_dtor and returns 0x0108CC90 10 thunk_to_STL_string_dtor_0108cc90 stl Wrapper that calls STL_string_dtor and returns 0x0108CCA0 10 thunk_to_STL_string_dtor_0108cca0 stl Wrapper that calls STL_string_dtor and returns 0x0108CCB0 10 thunk_to_STL_string_dtor_0108ccb0 stl Wrapper function that calls STL_string_dtor and returns 0x0108CCC0 10 thunk_to_STL_string_dtor_0108ccc0 stl Wrapper that calls STL_string_dtor and returns 0x0108CCD0 10 thunk_to_STL_string_dtor_0108ccd0 stl Wrapper that calls STL_string_dtor and returns 0x0108CCE0 10 thunk_to_STL_string_dtor_0108cce0 stl Wrapper that calls STL_string_dtor and returns 0x0108CCF0 10 thunk_to_STL_string_dtor_0108ccf0 stl Wrapper that calls STL_string_dtor and returns 0x0108CD00 10 thunk_to_STL_string_dtor_0108cd00 stl Wrapper that calls STL_string_dtor and returns 0x0108CD10 10 thunk_to_STL_string_dtor_0108cd10 stl Wrapper that calls STL_string_dtor and returns 0x0108CD20 10 thunk_to_STL_string_dtor_0108cd20 stl Wrapper that calls STL_string_dtor and returns 0x0108CDA0 280 atexit_unregister_window_classes_0108cda0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108CEC0 10 thunk_to_STL_string_dtor_0108cec0 stl Wrapper that calls STL_string_dtor and returns 0x0108CED0 10 thunk_to_STL_string_dtor_0108ced0 stl Wrapper function that calls STL_string_dtor and returns 0x0108CEE0 10 thunk_to_STL_string_dtor_0108cee0 stl Wrapper that calls STL_string_dtor and returns 0x0108CEF0 10 thunk_to_STL_string_dtor_0108cef0 stl Wrapper that calls STL_string_dtor and returns 0x0108CF00 10 thunk_to_STL_string_dtor_0108cf00 stl Wrapper that calls STL_string_dtor and returns 0x0108CF10 10 thunk_to_STL_string_dtor_0108cf10 stl Wrapper that calls STL_string_dtor and returns 0x0108CF20 10 thunk_to_STL_string_dtor_0108cf20 stl Wrapper that calls STL_string_dtor and returns 0x0108CF30 10 thunk_to_STL_string_dtor_0108cf30 stl Wrapper that calls STL_string_dtor and returns 0x0108CF40 10 thunk_to_STL_string_dtor_0108cf40 stl Wrapper that calls STL_string_dtor and returns 0x0108CF50 10 thunk_to_STL_string_dtor_0108cf50 stl Wrapper that calls STL_string_dtor and returns 0x0108CF60 10 thunk_to_STL_string_dtor_0108cf60 stl Wrapper calling STL_string_dtor destructor 0x0108CF70 10 thunk_to_STL_string_dtor_0108cf70 stl Wrapper that calls STL_string_dtor and returns 0x0108CF80 10 thunk_to_STL_string_dtor_0108cf80 stl Wrapper that calls STL_string_dtor and returns 0x0108CF90 10 thunk_to_STL_string_dtor_0108cf90 stl Wrapper that calls STL_string_dtor and returns 0x0108CFA0 10 thunk_to_STL_string_dtor_0108cfa0 stl Wrapper that calls STL_string_dtor and returns 0x0108CFB0 10 thunk_to_STL_string_dtor_0108cfb0 stl Wrapper that calls STL_string_dtor and returns 0x0108CFC0 10 thunk_to_STL_string_dtor_0108cfc0 stl Wrapper that calls STL_string_dtor and returns 0x0108CFD0 10 thunk_to_STL_string_dtor_0108cfd0 stl Wrapper that calls STL_string_dtor and returns 0x0108CFE0 10 thunk_to_STL_string_dtor_0108cfe0 stl Wrapper that calls STL_string_dtor and returns 0x0108CFF0 10 thunk_to_STL_string_dtor_0108cff0 stl Wrapper that calls STL_string_dtor and returns 0x0108D000 10 thunk_to_STL_string_dtor_0108d000 stl Wrapper that calls STL_string_dtor and returns 0x0108D010 10 thunk_to_STL_string_dtor_0108d010 stl Wrapper that calls STL_string_dtor and returns 0x0108D020 10 thunk_to_STL_string_dtor_0108d020 stl Wrapper that calls STL_string_dtor and returns 0x0108D030 10 thunk_to_STL_string_dtor_0108d030 stl Wrapper that calls STL_string_dtor and returns 0x0108D040 10 thunk_to_STL_string_dtor_0108d040 stl Wrapper that calls STL_string_dtor and returns 0x0108D0C0 280 atexit_unregister_window_classes_0108d0c0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108D1E0 66 atexit_STL_map_destroy_wrapper_0108d1e0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108D230 10 thunk_to_STL_string_dtor_0108d230 stl Wrapper that calls STL_string_dtor and returns 0x0108D240 10 thunk_to_STL_string_dtor_0108d240 stl Wrapper that calls STL_string_dtor and returns 0x0108D250 10 thunk_to_STL_string_dtor_0108d250 stl Wrapper that calls STL_string_dtor and returns 0x0108D260 10 thunk_to_STL_string_dtor_0108d260 stl Wrapper that calls STL_string_dtor and returns immediately 0x0108D270 10 thunk_to_STL_string_dtor_0108d270 stl Wrapper that calls STL_string_dtor and returns 0x0108D280 10 thunk_to_STL_string_dtor_0108d280 stl Wrapper that calls STL_string_dtor and returns 0x0108D290 10 thunk_to_STL_string_dtor_0108d290 stl Wrapper that calls STL_string_dtor and returns 0x0108D2A0 10 thunk_to_STL_string_dtor_0108d2a0 stl Wrapper that calls STL_string_dtor and returns 0x0108D2B0 10 thunk_to_STL_string_dtor_0108d2b0 stl Wrapper that calls STL_string_dtor and returns 0x0108D2C0 10 thunk_to_STL_string_dtor_0108d2c0 stl Wrapper that calls STL_string_dtor and returns 0x0108D2D0 10 thunk_to_STL_string_dtor_0108d2d0 stl Wrapper that calls STL_string_dtor and returns 0x0108D2E0 10 thunk_to_STL_string_dtor_0108d2e0 stl Wrapper that calls STL_string_dtor and returns 0x0108D2F0 10 thunk_to_STL_string_dtor_0108d2f0 stl Wrapper that calls STL_string_dtor and returns 0x0108D300 10 thunk_to_STL_string_dtor_0108d300 stl Wrapper that calls STL_string_dtor and returns 0x0108D310 10 thunk_to_STL_string_dtor_0108d310 stl Wrapper that calls STL_string_dtor and returns 0x0108D320 10 thunk_to_STL_string_dtor_0108d320 stl Wrapper that calls STL_string_dtor and returns 0x0108D330 10 thunk_to_STL_string_dtor_0108d330 stl Wrapper that calls STL_string_dtor and returns 0x0108D340 10 thunk_to_STL_string_dtor_0108d340 stl Wrapper that calls STL_string_dtor and returns 0x0108D350 10 thunk_to_STL_string_dtor_0108d350 stl Wrapper that calls STL_string_dtor and returns 0x0108D360 10 thunk_to_STL_string_dtor_0108d360 stl Wrapper that calls STL_string_dtor and returns 0x0108D370 10 thunk_to_STL_string_dtor_0108d370 stl Wrapper that calls STL_string_dtor and returns 0x0108D380 10 thunk_to_STL_string_dtor_0108d380 stl Wrapper that calls STL_string_dtor and returns 0x0108D390 10 thunk_to_STL_string_dtor_0108d390 stl Wrapper that calls STL_string_dtor and returns 0x0108D3A0 10 thunk_to_STL_string_dtor_0108d3a0 stl Wrapper that calls STL_string_dtor and returns 0x0108D3B0 10 thunk_to_STL_string_dtor_0108d3b0 stl Wrapper that calls STL_string_dtor and returns 0x0108D430 280 atexit_unregister_window_classes_0108d430 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108D550 66 atexit_STL_map_destroy_wrapper_0108d550 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108D5A0 10 thunk_to_STL_string_dtor_0108d5a0 stl Wrapper function that calls STL_string_dtor and returns 0x0108D5B0 10 thunk_to_STL_string_dtor_0108d5b0 stl Wrapper that calls STL_string_dtor and returns 0x0108D5C0 10 thunk_to_STL_string_dtor_0108d5c0 stl Wrapper that calls STL_string_dtor and returns 0x0108D5D0 10 thunk_to_STL_string_dtor_0108d5d0 stl Wrapper that calls STL_string_dtor and returns 0x0108D5E0 10 thunk_to_STL_string_dtor_0108d5e0 stl Wrapper that calls STL_string_dtor and returns 0x0108D5F0 10 thunk_to_STL_string_dtor_0108d5f0 stl Wrapper function that calls STL_string_dtor and returns 0x0108D600 10 thunk_to_STL_string_dtor_0108d600 stl Wrapper that calls STL_string_dtor and returns 0x0108D610 10 thunk_to_STL_string_dtor_0108d610 stl Wrapper that calls STL_string_dtor and returns 0x0108D620 10 thunk_to_STL_string_dtor_0108d620 stl Wrapper that calls STL_string_dtor and returns 0x0108D630 10 thunk_to_STL_string_dtor_0108d630 stl Wrapper that calls STL_string_dtor and returns 0x0108D640 10 thunk_to_STL_string_dtor_0108d640 stl Wrapper that calls STL_string_dtor and returns 0x0108D650 10 thunk_to_STL_string_dtor_0108d650 stl Wrapper that calls STL_string_dtor and returns 0x0108D660 10 thunk_to_STL_string_dtor_0108d660 stl Wrapper that calls STL_string_dtor and returns 0x0108D670 10 thunk_to_STL_string_dtor_0108d670 stl Wrapper that calls STL_string_dtor and returns 0x0108D680 10 thunk_to_STL_string_dtor_0108d680 stl Wrapper that calls STL_string_dtor and returns 0x0108D690 10 thunk_to_STL_string_dtor_0108d690 stl Wrapper that calls STL_string_dtor and returns 0x0108D6A0 10 thunk_to_STL_string_dtor_0108d6a0 stl Wrapper that calls STL_string_dtor and returns 0x0108D6B0 10 thunk_to_STL_string_dtor_0108d6b0 stl Wrapper that calls STL_string_dtor and returns 0x0108D6C0 10 thunk_to_STL_string_dtor_0108d6c0 stl Wrapper that calls STL_string_dtor and returns 0x0108D6D0 10 thunk_to_STL_string_dtor_0108d6d0 stl Wrapper that calls STL_string_dtor and returns 0x0108D6E0 10 thunk_to_STL_string_dtor_0108d6e0 stl Wrapper that calls STL_string_dtor and returns 0x0108D6F0 10 thunk_to_STL_string_dtor_0108d6f0 stl Wrapper that calls STL_string_dtor and returns 0x0108D700 10 thunk_to_STL_string_dtor_0108d700 stl Wrapper that calls STL_string_dtor and returns 0x0108D710 10 thunk_to_STL_string_dtor_0108d710 stl Wrapper that calls STL_string_dtor and returns 0x0108D720 10 thunk_to_STL_string_dtor_0108d720 stl Wrapper that calls STL_string_dtor and returns 0x0108D7A0 280 atexit_unregister_window_classes_0108d7a0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108D8C0 66 atexit_STL_map_destroy_wrapper_0108d8c0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108D910 10 thunk_to_STL_string_dtor_0108d910 stl Wrapper that calls STL_string_dtor and returns immediately 0x0108D920 10 thunk_to_STL_string_dtor_0108d920 stl Wrapper that calls STL_string_dtor and returns 0x0108D930 10 thunk_to_STL_string_dtor_0108d930 stl Wrapper that calls STL_string_dtor and returns 0x0108D940 10 thunk_to_STL_string_dtor_0108d940 stl Wrapper that calls STL_string_dtor and returns 0x0108D950 10 thunk_to_STL_string_dtor_0108d950 stl Wrapper that calls STL_string_dtor and returns 0x0108D960 10 thunk_to_STL_string_dtor_0108d960 stl Wrapper that calls STL_string_dtor and returns 0x0108D970 10 thunk_to_STL_string_dtor_0108d970 stl Wrapper that calls STL_string_dtor and returns 0x0108D980 10 thunk_to_STL_string_dtor_0108d980 stl Wrapper that calls STL_string_dtor and returns 0x0108D990 10 thunk_to_STL_string_dtor_0108d990 stl Wrapper that calls STL_string_dtor and returns 0x0108D9A0 10 thunk_to_STL_string_dtor_0108d9a0 stl Wrapper that calls STL_string_dtor and returns 0x0108D9B0 10 thunk_to_STL_string_dtor_0108d9b0 stl Wrapper that calls STL_string_dtor and returns 0x0108D9C0 10 thunk_to_STL_string_dtor_0108d9c0 stl Wrapper that calls STL_string_dtor and returns 0x0108D9D0 10 thunk_to_STL_string_dtor_0108d9d0 stl Wrapper that calls STL_string_dtor and returns 0x0108D9E0 10 thunk_to_STL_string_dtor_0108d9e0 stl Wrapper that calls STL_string_dtor and returns 0x0108D9F0 10 thunk_to_STL_string_dtor_0108d9f0 stl Wrapper that calls STL_string_dtor and returns 0x0108DA00 10 thunk_to_STL_string_dtor_0108da00 stl Wrapper that calls STL_string_dtor and returns 0x0108DA10 10 thunk_to_STL_string_dtor_0108da10 stl Wrapper that calls STL_string_dtor and returns 0x0108DA20 10 thunk_to_STL_string_dtor_0108da20 stl Wrapper that calls STL_string_dtor and returns 0x0108DA30 10 thunk_to_STL_string_dtor_0108da30 stl Wrapper that calls STL_string_dtor and returns 0x0108DA40 10 thunk_to_STL_string_dtor_0108da40 stl Wrapper that calls STL_string_dtor and returns 0x0108DA50 10 thunk_to_STL_string_dtor_0108da50 stl Wrapper that calls STL_string_dtor and returns 0x0108DA60 10 thunk_to_STL_string_dtor_0108da60 stl Wrapper that calls STL_string_dtor and returns 0x0108DA70 10 thunk_to_STL_string_dtor_0108da70 stl Wrapper that calls STL_string_dtor and returns 0x0108DA80 10 thunk_to_STL_string_dtor_0108da80 stl Wrapper that calls STL_string_dtor and returns 0x0108DA90 10 thunk_to_STL_string_dtor_0108da90 stl Wrapper that calls STL_string_dtor and returns 0x0108DB10 280 atexit_unregister_window_classes_0108db10 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108DC30 66 atexit_STL_map_destroy_wrapper_0108dc30 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108DC80 10 thunk_to_STL_string_dtor_0108dc80 stl Wrapper that calls STL_string_dtor and returns 0x0108DC90 10 thunk_to_STL_string_dtor_0108dc90 stl Wrapper that calls STL_string_dtor and returns 0x0108DCA0 10 thunk_to_STL_string_dtor_0108dca0 stl Wrapper that calls STL_string_dtor and returns 0x0108DCB0 10 thunk_to_STL_string_dtor_0108dcb0 stl Wrapper that calls STL_string_dtor and returns 0x0108DCC0 10 thunk_to_STL_string_dtor_0108dcc0 stl Wrapper that calls STL_string_dtor and returns 0x0108DCD0 10 thunk_to_STL_string_dtor_0108dcd0 stl Wrapper that calls STL_string_dtor and returns 0x0108DCE0 10 thunk_to_STL_string_dtor_0108dce0 stl Wrapper that calls STL_string_dtor and returns 0x0108DCF0 10 thunk_to_STL_string_dtor_0108dcf0 stl Wrapper that calls STL_string_dtor and returns 0x0108DD00 10 thunk_to_STL_string_dtor_0108dd00 stl Wrapper that calls STL_string_dtor and returns 0x0108DD10 10 thunk_to_STL_string_dtor_0108dd10 stl Wrapper that calls STL_string_dtor and returns 0x0108DD20 10 thunk_to_STL_string_dtor_0108dd20 stl Wrapper calling STL string destructor 0x0108DD30 10 thunk_to_STL_string_dtor_0108dd30 stl Wrapper that calls STL_string_dtor and returns 0x0108DD40 10 thunk_to_STL_string_dtor_0108dd40 stl Wrapper that calls STL_string_dtor and returns 0x0108DD50 10 thunk_to_STL_string_dtor_0108dd50 stl Wrapper that calls STL_string_dtor and returns 0x0108DD60 10 thunk_to_STL_string_dtor_0108dd60 stl Wrapper that calls STL_string_dtor and returns 0x0108DD70 10 thunk_to_STL_string_dtor_0108dd70 stl Wrapper that calls STL_string_dtor and returns 0x0108DD80 10 thunk_to_STL_string_dtor_0108dd80 stl Wrapper that calls STL_string_dtor and returns 0x0108DD90 10 thunk_to_STL_string_dtor_0108dd90 stl Wrapper that calls STL_string_dtor and returns 0x0108DDA0 10 thunk_to_STL_string_dtor_0108dda0 stl Wrapper that calls STL_string_dtor and returns 0x0108DDB0 10 thunk_to_STL_string_dtor_0108ddb0 stl Wrapper that calls STL_string_dtor and returns 0x0108DDC0 10 thunk_to_STL_string_dtor_0108ddc0 stl Wrapper that calls STL_string_dtor and returns 0x0108DDD0 10 thunk_to_STL_string_dtor_0108ddd0 stl Wrapper that calls STL_string_dtor and returns 0x0108DDE0 10 thunk_to_STL_string_dtor_0108dde0 stl Wrapper that calls STL_string_dtor and returns 0x0108DDF0 10 thunk_to_STL_string_dtor_0108ddf0 stl Wrapper that calls STL_string_dtor and returns 0x0108DE00 10 thunk_to_STL_string_dtor_0108de00 stl Wrapper that calls STL_string_dtor and returns 0x0108DE80 280 atexit_unregister_window_classes_0108de80 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108DFA0 66 atexit_STL_map_destroy_wrapper_0108dfa0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108DFF0 69 tls_clear_buffer_at_a944 crt Clears 0x26 bytes in TLS data at offset 0xA944. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108E040 69 tls_clear_buffer_at_a904 crt Clears 0x1A bytes in TLS data at offset 0xA904. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108E090 69 tls_clear_buffer_at_a924 crt Clears 0x1A bytes in TLS data at offset 0xA924. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108E150 280 atexit_unregister_window_classes_0108e150 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108E270 10 thunk_to_STL_string_dtor_0108e270 stl Wrapper that calls STL_string_dtor and returns 0x0108E280 10 thunk_to_STL_string_dtor_0108e280 stl Wrapper that calls STL_string_dtor and returns 0x0108E290 10 thunk_to_STL_string_dtor_0108e290 stl Wrapper that calls STL_string_dtor and returns 0x0108E2A0 10 thunk_to_STL_string_dtor_0108e2a0 stl Wrapper that calls STL_string_dtor and returns 0x0108E2B0 10 thunk_to_STL_string_dtor_0108e2b0 stl Wrapper that calls STL_string_dtor and returns 0x0108E2C0 10 thunk_to_STL_string_dtor_0108e2c0 stl Wrapper that calls STL_string_dtor and returns 0x0108E2D0 10 thunk_to_STL_string_dtor_0108e2d0 stl Wrapper that calls STL_string_dtor and returns 0x0108E2E0 10 thunk_to_STL_string_dtor_0108e2e0 stl Wrapper that calls STL_string_dtor and returns 0x0108E2F0 10 thunk_to_STL_string_dtor_0108e2f0 stl Wrapper that calls STL_string_dtor and returns 0x0108E300 10 thunk_to_STL_string_dtor_0108e300 stl Wrapper that calls STL_string_dtor and returns 0x0108E310 10 thunk_to_STL_string_dtor_0108e310 stl Wrapper that calls STL_string_dtor and returns 0x0108E320 10 thunk_to_STL_string_dtor_0108e320 stl Wrapper that calls STL_string_dtor destructor 0x0108E330 10 thunk_to_STL_string_dtor_0108e330 stl Wrapper that calls STL_string_dtor and returns 0x0108E340 10 thunk_to_STL_string_dtor_0108e340 stl Wrapper that calls STL_string_dtor and returns 0x0108E350 10 thunk_to_STL_string_dtor_0108e350 stl Wrapper that calls STL_string_dtor and returns 0x0108E360 10 thunk_to_STL_string_dtor_0108e360 stl Wrapper that calls STL_string_dtor and returns 0x0108E370 10 thunk_to_STL_string_dtor_0108e370 stl Wrapper that calls STL_string_dtor and returns 0x0108E380 10 thunk_to_STL_string_dtor_0108e380 stl Wrapper that calls STL_string_dtor and returns 0x0108E390 10 thunk_to_STL_string_dtor_0108e390 stl Wrapper that calls STL_string_dtor and returns 0x0108E3A0 10 thunk_to_STL_string_dtor_0108e3a0 stl Wrapper that calls STL_string_dtor and returns 0x0108E3B0 10 thunk_to_STL_string_dtor_0108e3b0 stl Wrapper that calls STL_string_dtor and returns 0x0108E3C0 10 thunk_to_STL_string_dtor_0108e3c0 stl Wrapper that calls STL_string_dtor and returns 0x0108E3D0 10 thunk_to_STL_string_dtor_0108e3d0 stl Wrapper that calls STL_string_dtor and returns 0x0108E3E0 10 thunk_to_STL_string_dtor_0108e3e0 stl Wrapper that calls STL_string_dtor and returns 0x0108E3F0 10 thunk_to_STL_string_dtor_0108e3f0 stl Wrapper that calls STL_string_dtor and returns 0x0108E470 280 atexit_unregister_window_classes_0108e470 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108E590 66 atexit_CRenderPipeline_destroy_wrapper_0108e590 crt atexit cleanup wrapper: calls CRenderPipeline__destroy_linked_list_and_vector to destroy a global CRenderPipeline container. SEH-protected with stack cookie. 0x0108E5E0 10 thunk_to_STL_string_dtor_0108e5e0 stl Wrapper that calls STL_string_dtor and returns 0x0108E5F0 10 thunk_to_STL_string_dtor_0108e5f0 stl Wrapper that calls STL_string_dtor and returns 0x0108E600 10 thunk_to_STL_string_dtor_0108e600 stl Wrapper that calls STL_string_dtor and returns 0x0108E610 10 thunk_to_STL_string_dtor_0108e610 stl Wrapper that calls STL_string_dtor and returns 0x0108E620 10 thunk_to_STL_string_dtor_0108e620 stl Wrapper that calls STL_string_dtor and returns 0x0108E630 10 thunk_to_STL_string_dtor_0108e630 stl Wrapper that calls STL_string_dtor and returns 0x0108E640 10 thunk_to_STL_string_dtor_0108e640 stl Wrapper that calls STL_string_dtor and returns 0x0108E650 10 thunk_to_STL_string_dtor_0108e650 stl Wrapper that calls STL_string_dtor and returns 0x0108E660 10 thunk_to_STL_string_dtor_0108e660 stl Wrapper that calls STL_string_dtor and returns 0x0108E670 10 thunk_to_STL_string_dtor_0108e670 stl Wrapper that calls STL_string_dtor and returns 0x0108E680 10 thunk_to_STL_string_dtor_0108e680 stl Wrapper that calls STL_string_dtor and returns 0x0108E690 10 thunk_to_STL_string_dtor_0108e690 stl Wrapper that calls STL_string_dtor and returns 0x0108E6A0 10 thunk_to_STL_string_dtor_0108e6a0 stl Wrapper that calls STL_string_dtor and returns 0x0108E6B0 10 thunk_to_STL_string_dtor_0108e6b0 stl Wrapper that calls STL_string_dtor and returns 0x0108E6C0 10 thunk_to_STL_string_dtor_0108e6c0 stl Wrapper function that calls STL_string_dtor and returns 0x0108E6D0 10 thunk_to_STL_string_dtor_0108e6d0 stl Wrapper that calls STL_string_dtor and returns 0x0108E6E0 10 thunk_to_STL_string_dtor_0108e6e0 stl Wrapper that calls STL_string_dtor and returns 0x0108E6F0 10 thunk_to_STL_string_dtor_0108e6f0 stl Wrapper that calls STL_string_dtor and returns 0x0108E700 10 thunk_to_STL_string_dtor_0108e700 stl Wrapper that calls STL_string_dtor and returns 0x0108E710 10 thunk_to_STL_string_dtor_0108e710 stl Wrapper that calls STL_string_dtor and returns 0x0108E720 10 thunk_to_STL_string_dtor_0108e720 stl Wrapper that calls STL_string_dtor and returns 0x0108E730 10 thunk_to_STL_string_dtor_0108e730 stl Wrapper that calls STL_string_dtor and returns 0x0108E740 10 thunk_to_STL_string_dtor_0108e740 stl Wrapper that calls STL_string_dtor and returns 0x0108E750 10 thunk_to_STL_string_dtor_0108e750 stl Wrapper that calls STL_string_dtor and returns 0x0108E760 10 thunk_to_STL_string_dtor_0108e760 stl Wrapper that calls STL_string_dtor and returns 0x0108E7E0 280 atexit_unregister_window_classes_0108e7e0 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108E970 280 atexit_unregister_window_classes_0108e970 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108EA90 10 thunk_to_STL_string_dtor_0108ea90 stl Wrapper that calls STL_string_dtor and returns 0x0108EAA0 10 thunk_to_STL_string_dtor_0108eaa0 stl Wrapper that calls STL_string_dtor and returns 0x0108EAB0 10 thunk_to_STL_string_dtor_0108eab0 stl Wrapper that calls STL_string_dtor and returns 0x0108EAC0 10 thunk_to_STL_string_dtor_0108eac0 stl Wrapper that calls STL_string_dtor and returns 0x0108EAD0 10 thunk_to_STL_string_dtor_0108ead0 stl Wrapper function that calls STL_string_dtor and returns 0x0108EAE0 10 thunk_to_STL_string_dtor_0108eae0 stl Wrapper that calls STL_string_dtor and returns 0x0108EAF0 10 thunk_to_STL_string_dtor_0108eaf0 stl Wrapper that calls STL_string_dtor and returns 0x0108EB00 10 thunk_to_STL_string_dtor_0108eb00 stl Wrapper that calls STL_string_dtor and returns 0x0108EB10 10 thunk_to_STL_string_dtor_0108eb10 stl Wrapper that calls STL_string_dtor and returns 0x0108EB20 10 thunk_to_STL_string_dtor_0108eb20 stl Wrapper that calls STL_string_dtor and returns 0x0108EB30 10 thunk_to_STL_string_dtor_0108eb30 stl Wrapper that calls STL_string_dtor and returns 0x0108EB40 10 thunk_to_STL_string_dtor_0108eb40 stl Wrapper that calls STL_string_dtor and returns 0x0108EB50 10 thunk_to_STL_string_dtor_0108eb50 stl Wrapper that calls STL_string_dtor and returns 0x0108EB60 10 thunk_to_STL_string_dtor_0108eb60 stl Wrapper that calls STL_string_dtor and returns 0x0108EB70 10 thunk_to_STL_string_dtor_0108eb70 stl Wrapper that calls STL_string_dtor and returns 0x0108EB80 10 thunk_to_STL_string_dtor_0108eb80 stl Wrapper that calls STL_string_dtor and returns 0x0108EB90 10 thunk_to_STL_string_dtor_0108eb90 stl Wrapper that calls STL_string_dtor and returns 0x0108EBA0 10 thunk_to_STL_string_dtor_0108eba0 stl Wrapper function that calls STL_string_dtor and returns 0x0108EBB0 10 thunk_to_STL_string_dtor_0108ebb0 stl Wrapper that calls STL_string_dtor and returns 0x0108EBC0 10 thunk_to_STL_string_dtor_0108ebc0 stl Wrapper that calls STL_string_dtor and returns 0x0108EBD0 10 thunk_to_STL_string_dtor_0108ebd0 stl Wrapper that calls STL_string_dtor and returns 0x0108EBE0 10 thunk_to_STL_string_dtor_0108ebe0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0108EBF0 10 thunk_to_STL_string_dtor_0108ebf0 stl Wrapper that calls STL_string_dtor and returns 0x0108EC00 10 thunk_to_STL_string_dtor_0108ec00 stl Wrapper that calls STL_string_dtor and returns 0x0108EC10 10 thunk_to_STL_string_dtor_0108ec10 stl Wrapper that calls STL_string_dtor and returns 0x0108EC90 280 atexit_unregister_window_classes_0108ec90 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108EE20 280 atexit_unregister_window_classes_0108ee20 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108EF40 10 thunk_to_STL_string_dtor_0108ef40 stl Wrapper that calls STL_string_dtor and returns 0x0108EF50 10 thunk_to_STL_string_dtor_0108ef50 stl Wrapper that calls STL_string_dtor and returns 0x0108EF60 10 thunk_to_STL_string_dtor_0108ef60 stl Wrapper that calls STL_string_dtor and returns 0x0108EF70 10 thunk_to_STL_string_dtor_0108ef70 stl Wrapper that calls STL_string_dtor and returns 0x0108EF80 10 thunk_to_STL_string_dtor_0108ef80 stl Wrapper that calls STL_string_dtor and returns 0x0108EF90 10 thunk_to_STL_string_dtor_0108ef90 stl Wrapper that calls STL_string_dtor and returns 0x0108EFA0 10 thunk_to_STL_string_dtor_0108efa0 stl Wrapper that calls STL_string_dtor and returns 0x0108EFB0 10 thunk_to_STL_string_dtor_0108efb0 stl Wrapper that calls STL_string_dtor and returns 0x0108EFC0 10 thunk_to_STL_string_dtor_0108efc0 stl Wrapper that calls STL_string_dtor and returns 0x0108EFD0 10 thunk_to_STL_string_dtor_0108efd0 stl Wrapper that calls STL_string_dtor and returns 0x0108EFE0 10 thunk_to_STL_string_dtor_0108efe0 stl Wrapper that calls STL_string_dtor and returns 0x0108EFF0 10 thunk_to_STL_string_dtor_0108eff0 stl Wrapper that calls STL_string_dtor and returns 0x0108F000 10 thunk_to_STL_string_dtor_0108f000 stl Wrapper that calls STL_string_dtor and returns 0x0108F010 10 thunk_to_STL_string_dtor_0108f010 stl Wrapper that calls STL_string_dtor and returns 0x0108F020 10 thunk_to_STL_string_dtor_0108f020 stl Wrapper that calls STL_string_dtor and returns 0x0108F030 10 thunk_to_STL_string_dtor_0108f030 stl Wrapper that calls STL_string_dtor and returns 0x0108F040 10 thunk_to_STL_string_dtor_0108f040 stl Wrapper that calls STL_string_dtor and returns 0x0108F050 10 thunk_to_STL_string_dtor_0108f050 stl Wrapper that calls STL_string_dtor and returns 0x0108F060 10 thunk_to_STL_string_dtor_0108f060 stl Wrapper that calls STL_string_dtor and returns 0x0108F070 10 thunk_to_STL_string_dtor_0108f070 stl Wrapper that calls STL_string_dtor and returns 0x0108F080 10 thunk_to_STL_string_dtor_0108f080 stl Wrapper that calls STL_string_dtor and returns 0x0108F090 10 thunk_to_STL_string_dtor_0108f090 stl Wrapper that calls STL_string_dtor and returns 0x0108F0A0 10 thunk_to_STL_string_dtor_0108f0a0 stl Wrapper that calls STL_string_dtor and returns 0x0108F0B0 10 thunk_to_STL_string_dtor_0108f0b0 stl Wrapper that calls STL_string_dtor and returns 0x0108F0C0 10 thunk_to_STL_string_dtor_0108f0c0 stl Wrapper that calls STL_string_dtor and returns 0x0108F140 280 atexit_unregister_window_classes_0108f140 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108F260 93 atexit_free_vector_016d3438 crt atexit handler: frees global vector at DAT_016d3438 using operator_delete with size validation. Resets all 3 vector pointers (start, size, capacity) to 0. 0x0108F2C0 66 atexit_STL_map_destroy_wrapper_0108f2c0 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108F310 10 thunk_to_STL_string_dtor_0108f310 stl Wrapper that calls STL_string_dtor and returns 0x0108F320 10 thunk_to_STL_string_dtor_0108f320 stl Wrapper that calls STL_string_dtor and returns 0x0108F330 10 thunk_to_STL_string_dtor_0108f330 stl Wrapper that calls STL_string_dtor and returns 0x0108F340 10 thunk_to_STL_string_dtor_0108f340 stl Wrapper that calls STL_string_dtor and returns 0x0108F350 10 thunk_to_STL_string_dtor_0108f350 stl Wrapper that calls STL_string_dtor and returns 0x0108F360 10 thunk_to_STL_string_dtor_0108f360 stl Wrapper that calls STL_string_dtor and returns 0x0108F370 10 thunk_to_STL_string_dtor_0108f370 stl Wrapper that calls STL_string_dtor and returns 0x0108F380 10 thunk_to_STL_string_dtor_0108f380 stl Wrapper that calls STL_string_dtor and returns 0x0108F390 10 thunk_to_STL_string_dtor_0108f390 stl Wrapper that calls STL_string_dtor and returns 0x0108F3A0 10 thunk_to_STL_string_dtor_0108f3a0 stl Wrapper that calls STL_string_dtor and returns 0x0108F3B0 10 thunk_to_STL_string_dtor_0108f3b0 stl Wrapper that calls STL_string_dtor and returns 0x0108F3C0 10 thunk_to_STL_string_dtor_0108f3c0 stl Wrapper that calls STL_string_dtor and returns 0x0108F3D0 10 thunk_to_STL_string_dtor_0108f3d0 stl Wrapper that calls STL_string_dtor and returns 0x0108F3E0 10 thunk_to_STL_string_dtor_0108f3e0 stl Wrapper that calls STL_string_dtor and returns 0x0108F3F0 10 thunk_to_STL_string_dtor_0108f3f0 stl Wrapper that calls STL_string_dtor and returns 0x0108F400 10 thunk_to_STL_string_dtor_0108f400 stl Wrapper that calls STL_string_dtor and returns 0x0108F410 10 thunk_to_STL_string_dtor_0108f410 stl Wrapper that calls STL_string_dtor and returns 0x0108F420 10 thunk_to_STL_string_dtor_0108f420 stl Wrapper that calls STL_string_dtor and returns 0x0108F430 10 thunk_to_STL_string_dtor_0108f430 stl Wrapper that calls STL_string_dtor and returns 0x0108F440 10 thunk_to_STL_string_dtor_0108f440 stl Wrapper that calls STL_string_dtor and returns 0x0108F450 10 thunk_to_STL_string_dtor_0108f450 stl Wrapper that calls STL_string_dtor and returns 0x0108F460 10 thunk_to_STL_string_dtor_0108f460 stl Wrapper that calls STL_string_dtor and returns 0x0108F470 10 thunk_to_STL_string_dtor_0108f470 stl Wrapper that calls STL_string_dtor and returns 0x0108F480 10 thunk_to_STL_string_dtor_0108f480 stl Wrapper that calls STL_string_dtor and returns 0x0108F490 10 thunk_to_STL_string_dtor_0108f490 stl Wrapper that calls STL_string_dtor and returns 0x0108F510 280 atexit_unregister_window_classes_0108f510 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108F630 66 atexit_STL_map_destroy_wrapper_0108f630 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108F680 10 thunk_to_CTrie__destroy hangul Thunk that calls CTrie__destroy to destroy a global trie structure. 0x0108F690 10 thunk_to_STL_string_dtor_0108f690 stl Wrapper that calls STL_string_dtor and returns 0x0108F6A0 10 thunk_to_STL_string_dtor_0108f6a0 stl Wrapper that calls STL_string_dtor and returns 0x0108F6B0 10 thunk_to_STL_string_dtor_0108f6b0 stl Wrapper that calls STL_string_dtor and returns 0x0108F6C0 10 thunk_to_STL_string_dtor_0108f6c0 stl Wrapper that calls STL_string_dtor and returns 0x0108F6D0 10 thunk_to_STL_string_dtor_0108f6d0 stl Wrapper that calls STL_string_dtor and returns 0x0108F6E0 10 thunk_to_STL_string_dtor_0108f6e0 stl Wrapper that calls STL_string_dtor and returns 0x0108F6F0 10 thunk_to_STL_string_dtor_0108f6f0 stl Wrapper that calls STL_string_dtor and returns 0x0108F700 10 thunk_to_STL_string_dtor_0108f700 stl Wrapper that calls STL_string_dtor and returns 0x0108F710 10 thunk_to_STL_string_dtor_0108f710 stl Wrapper that calls STL_string_dtor and returns 0x0108F720 10 thunk_to_STL_string_dtor_0108f720 stl Wrapper that calls STL_string_dtor and returns 0x0108F730 10 thunk_to_STL_string_dtor_0108f730 stl Wrapper that calls STL_string_dtor and returns 0x0108F740 10 thunk_to_STL_string_dtor_0108f740 stl Wrapper that calls STL_string_dtor and returns 0x0108F750 10 thunk_to_STL_string_dtor_0108f750 stl Wrapper that calls STL_string_dtor and returns 0x0108F760 10 thunk_to_STL_string_dtor_0108f760 stl Wrapper that calls STL_string_dtor and returns 0x0108F770 10 thunk_to_STL_string_dtor_0108f770 stl Wrapper that calls STL_string_dtor and returns 0x0108F780 10 thunk_to_STL_string_dtor_0108f780 stl Wrapper that calls STL_string_dtor and returns 0x0108F790 10 thunk_to_STL_string_dtor_0108f790 stl Wrapper that calls STL_string_dtor and returns 0x0108F7A0 10 thunk_to_STL_string_dtor_0108f7a0 stl Wrapper that calls STL_string_dtor and returns 0x0108F7B0 10 thunk_to_STL_string_dtor_0108f7b0 stl Wrapper that calls STL_string_dtor and returns 0x0108F7C0 10 thunk_to_STL_string_dtor_0108f7c0 stl Wrapper that calls STL_string_dtor and returns 0x0108F7D0 10 thunk_to_STL_string_dtor_0108f7d0 stl Wrapper that calls STL_string_dtor and returns 0x0108F7E0 10 thunk_to_STL_string_dtor_0108f7e0 stl Wrapper that calls STL_string_dtor and returns 0x0108F7F0 10 thunk_to_STL_string_dtor_0108f7f0 stl Wrapper that calls STL_string_dtor and returns 0x0108F800 10 thunk_to_STL_string_dtor_0108f800 stl Wrapper that calls STL_string_dtor and returns 0x0108F810 10 thunk_to_STL_string_dtor_0108f810 stl Wrapper that calls STL_string_dtor and returns 0x0108F890 280 atexit_unregister_window_classes_0108f890 crt atexit cleanup handler: unregisters all window classes by atom, frees the class atom array, deletes the critical section, and resets global state. SEH-protected with stack cookie. 0x0108F9B0 83 atexit_xml_node_destroy_and_cleanup crt atexit handler: destroys a global XML node via xml_node_destroy, then calls xml_node_cleanup. SEH-protected with stack cookie. 0x0108FA10 66 atexit_STL_map_destroy_wrapper_0108fa10 crt atexit cleanup wrapper: calls STL_map_destroy to destroy a global STL map. SEH-protected with stack cookie. 0x0108FA70 66 atexit_CInputMgr_dtor_wrapper_0108fa70 crt atexit cleanup wrapper: calls CInputMgr__dtor to destroy a global CInputMgr instance. SEH-protected with stack cookie. 0x0108FAC0 132 atexit_free_linked_list_and_CInputMgr_dtor crt atexit handler: walks a linked list at DAT_016d3cf8, deletes each node, then deletes the list head, then calls CInputMgr__dtor. SEH-protected with stack cookie. 0x0108FB50 66 atexit_CInputMgr_dtor_wrapper_0108fb50 crt atexit cleanup wrapper: calls CInputMgr__dtor to destroy a global CInputMgr instance. SEH-protected with stack cookie. 0x0108FBA0 69 tls_clear_buffer_at_ae14 crt Clears 4 bytes in TLS data at offset 0xAE14. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108FBF0 69 tls_clear_buffer_at_abb0 crt Clears 9 bytes in TLS data at offset 0xABB0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108FC40 69 tls_clear_buffer_at_aeb0 crt Clears 0x10 bytes in TLS data at offset 0xAEB0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108FC90 69 tls_clear_buffer_at_b068 crt Clears 0x1E bytes in TLS data at offset 0xB068. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108FCE0 69 tls_clear_buffer_at_aa44 crt Clears 0x18 bytes in TLS data at offset 0xAA44. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108FD30 69 tls_clear_buffer_at_aa64 crt Clears 0xB bytes in TLS data at offset 0xAA64. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108FD80 69 tls_clear_buffer_at_ae1c crt Clears 6 bytes in TLS data at offset 0xAE1C. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108FDD0 69 tls_clear_buffer_at_abc0 crt Clears 10 bytes in TLS data at offset 0xABC0. Accesses TLS via FS:[0x2C] + TLS slot index. 0x0108FE20 69 tls_clear_field_at_0108fe20 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0108FE70 69 tls_clear_field_at_0108fe70 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0108FEC0 69 tls_clear_field_at_0108fec0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0108FF10 69 tls_clear_field_at_0108ff10 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0108FF60 69 tls_clear_field_at_0108ff60 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x0108FFB0 69 tls_clear_field_at_0108ffb0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090000 69 tls_clear_field_at_01090000 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090050 69 tls_clear_field_at_01090050 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010900A0 69 tls_clear_field_at_010900a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010900F0 69 tls_clear_field_at_010900f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090140 69 tls_clear_field_at_01090140 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090190 69 tls_clear_field_at_01090190 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010901E0 69 tls_clear_field_at_010901e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090230 69 tls_clear_field_at_01090230 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090280 69 tls_clear_field_at_01090280 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010902D0 69 tls_clear_field_at_010902d0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090320 69 tls_clear_field_at_01090320 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090370 69 tls_clear_field_at_01090370 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010903C0 69 tls_clear_field_at_010903c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090410 69 tls_clear_field_at_01090410 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090460 69 tls_clear_field_at_01090460 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010904B0 69 tls_clear_field_at_010904b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090500 69 tls_clear_field_at_01090500 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090550 69 tls_clear_field_at_01090550 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010905A0 69 tls_clear_field_at_010905a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010905F0 69 tls_clear_field_at_010905f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090640 69 tls_clear_field_at_01090640 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090690 69 tls_clear_field_at_01090690 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010906E0 69 tls_clear_field_at_010906e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090730 69 tls_clear_field_at_01090730 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090780 69 tls_clear_field_at_01090780 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010907D0 69 tls_clear_field_at_010907d0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090820 69 tls_clear_field_at_01090820 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090870 69 tls_clear_field_at_01090870 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010908C0 69 tls_clear_field_at_010908c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090910 69 tls_clear_field_at_01090910 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090960 69 tls_clear_field_at_01090960 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010909B0 69 tls_clear_field_at_010909b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090A00 69 tls_clear_field_at_01090a00 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090A50 69 tls_clear_field_at_01090a50 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090AA0 69 tls_clear_field_0xad88 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090AF0 69 tls_clear_field_0xaf6c crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090B40 69 tls_clear_field_0xae44 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x01090B90 69 tls_clear_field_ada8 crt TLS destructor: zeros 0xb bytes at TLS offset 0xada8. Clears thread-local encrypted string buffer. 0x01090BE0 69 tls_clear_field_b144 crt TLS destructor: zeros 0x1f bytes at TLS offset 0xb144. Clears thread-local encrypted string buffer. 0x01090C30 69 tls_clear_field_b168 crt TLS destructor: zeros 0x21 bytes at TLS offset 0xb168. Clears thread-local encrypted string buffer. 0x01090C80 69 tls_clear_field_ac3c crt TLS destructor: zeros 4 bytes at TLS offset 0xac3c. Clears thread-local encrypted string buffer. 0x01090CD0 69 tls_clear_field_af10 crt TLS destructor: zeros 8 bytes at TLS offset 0xaf10. Clears thread-local encrypted string buffer. 0x01090D20 69 tls_clear_field_ac48 crt TLS destructor: zeros 3 bytes at TLS offset 0xac48. Clears thread-local encrypted string buffer. 0x01090D70 69 tls_clear_field_af1c crt TLS destructor: zeros 9 bytes at TLS offset 0xaf1c. Clears thread-local encrypted string buffer. 0x01090DC0 69 tls_clear_field_ac50 crt TLS destructor: zeros 0x15 bytes at TLS offset 0xac50. Clears thread-local encrypted string buffer. 0x01090E10 69 tls_clear_field_af28 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xaf28. Clears thread-local encrypted string buffer. 0x01090E60 69 tls_clear_field_af3c crt TLS destructor: zeros 4 bytes at TLS offset 0xaf3c. Clears thread-local encrypted string buffer. 0x01090EB0 69 tls_clear_field_ac6c crt TLS destructor: zeros 0x12 bytes at TLS offset 0xac6c. Clears thread-local encrypted string buffer. 0x01090F00 69 tls_clear_field_af44 crt TLS destructor: zeros 6 bytes at TLS offset 0xaf44. Clears thread-local encrypted string buffer. 0x01090F50 69 tls_clear_field_ac84 crt TLS destructor: zeros 0xb bytes at TLS offset 0xac84. Clears thread-local encrypted string buffer. 0x01090FA0 69 tls_clear_field_af4c crt TLS destructor: zeros 6 bytes at TLS offset 0xaf4c. Clears thread-local encrypted string buffer. 0x01090FF0 69 tls_clear_field_ac94 crt TLS destructor: zeros 8 bytes at TLS offset 0xac94. Clears thread-local encrypted string buffer. 0x01091040 69 tls_clear_field_aca4 crt TLS destructor: zeros 7 bytes at TLS offset 0xaca4. Clears thread-local encrypted string buffer. 0x01091090 69 tls_clear_field_af54 crt TLS destructor: zeros 7 bytes at TLS offset 0xaf54. Clears thread-local encrypted string buffer. 0x010910E0 69 tls_clear_field_acb0 crt TLS destructor: zeros 6 bytes at TLS offset 0xacb0. Clears thread-local encrypted string buffer. 0x01091130 69 tls_clear_array_6_at_0xaf5c crt TLS (Thread Local Storage) initializer callback. Zeros 6 bytes in the TLS block at offset 0xAF5C. Registered via __dyn_tls_init for per-thread initialization. 0x01091180 69 tls_clear_field_acbc crt TLS destructor: zeros 3 bytes at TLS offset 0xacbc. Clears thread-local encrypted string buffer. 0x010911D0 69 tls_clear_field_af64 crt TLS destructor: zeros 6 bytes at TLS offset 0xaf64. Clears thread-local encrypted string buffer. 0x01091220 69 tls_clear_field_acc4 crt TLS destructor: zeros 0x14 bytes at TLS offset 0xacc4. Clears thread-local encrypted string buffer. 0x01091270 69 tls_clear_field_a994 crt TLS destructor: zeros 0x1f bytes at TLS offset 0xa994. Clears thread-local encrypted string buffer. 0x010912C0 69 tls_clear_field_af98 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xaf98. Clears thread-local encrypted string buffer. 0x01091310 69 tls_clear_field_ab44 crt TLS destructor: zeros 6 bytes at TLS offset 0xab44. Clears thread-local encrypted string buffer. 0x01091360 69 tls_clear_field_ae50 crt TLS destructor: zeros 0xb bytes at TLS offset 0xae50. Clears thread-local encrypted string buffer. 0x010913B0 69 tls_clear_field_adb4 crt TLS destructor: zeros 0xb bytes at TLS offset 0xadb4. Clears thread-local encrypted string buffer. 0x01091400 69 tls_clear_field_a970 crt TLS destructor: zeros 10 bytes at TLS offset 0xa970. Clears thread-local encrypted string buffer. 0x01091450 69 tls_clear_field_ace0 crt TLS destructor: zeros 0x11 bytes at TLS offset 0xace0. Clears thread-local encrypted string buffer. 0x010914A0 69 tls_clear_field_acf8 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xacf8. Clears thread-local encrypted string buffer. 0x010914F0 69 tls_clear_field_ad10 crt TLS destructor: zeros 0xd bytes at TLS offset 0xad10. Clears thread-local encrypted string buffer. 0x01091540 69 tls_clear_field_ad24 crt TLS destructor: zeros 0xb bytes at TLS offset 0xad24. Clears thread-local encrypted string buffer. 0x01091590 69 tls_clear_field_ad34 crt TLS destructor: zeros 8 bytes at TLS offset 0xad34. Clears thread-local encrypted string buffer. 0x010915E0 69 tls_clear_field_ad44 crt TLS destructor: zeros 6 bytes at TLS offset 0xad44. Clears thread-local encrypted string buffer. 0x01091630 69 tls_clear_field_ad50 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xad50. Clears thread-local encrypted string buffer. 0x01091680 69 tls_clear_field_ad68 crt TLS destructor: zeros 6 bytes at TLS offset 0xad68. Clears thread-local encrypted string buffer. 0x010916D0 69 tls_clear_field_ad74 crt TLS destructor: zeros 0xd bytes at TLS offset 0xad74. Clears thread-local encrypted string buffer. 0x01091720 69 tls_clear_field_a9b8 crt TLS destructor: zeros 9 bytes at TLS offset 0xa9b8. Clears thread-local encrypted string buffer. 0x01091770 69 tls_clear_field_afb8 crt TLS destructor: zeros 4 bytes at TLS offset 0xafb8. Clears thread-local encrypted string buffer. 0x010917C0 69 tls_clear_field_ab50 crt TLS destructor: zeros 8 bytes at TLS offset 0xab50. Clears thread-local encrypted string buffer. 0x01091810 69 tls_clear_field_ae5c crt TLS destructor: zeros 0xe bytes at TLS offset 0xae5c. Clears thread-local encrypted string buffer. 0x01091860 69 tls_clear_field_adc0 crt TLS destructor: zeros 8 bytes at TLS offset 0xadc0. Clears thread-local encrypted string buffer. 0x010918B0 69 tls_clear_field_afc4 crt TLS destructor: zeros 0x1e bytes at TLS offset 0xafc4. Clears thread-local encrypted string buffer. 0x01091900 69 tls_clear_field_adcc crt TLS destructor: zeros 5 bytes at TLS offset 0xadcc. Clears thread-local encrypted string buffer. 0x01091950 69 tls_clear_field_ae6c crt TLS destructor: zeros 0xe bytes at TLS offset 0xae6c. Clears thread-local encrypted string buffer. 0x010919A0 69 tls_clear_field_a9c8 crt TLS destructor: zeros 4 bytes at TLS offset 0xa9c8. Clears thread-local encrypted string buffer. 0x010919F0 69 tls_clear_field_ab60 crt TLS destructor: zeros 6 bytes at TLS offset 0xab60. Clears thread-local encrypted string buffer. 0x01091A40 69 tls_clear_field_afe8 crt TLS destructor: zeros 3 bytes at TLS offset 0xafe8. Clears thread-local encrypted string buffer. 0x01091A90 69 tls_clear_field_add4 crt TLS destructor: zeros 7 bytes at TLS offset 0xadd4. Clears thread-local encrypted string buffer. 0x01091AE0 69 tls_clear_field_ae7c crt TLS destructor: zeros 8 bytes at TLS offset 0xae7c. Clears thread-local encrypted string buffer. 0x01091B30 69 tls_clear_field_a9d4 crt TLS destructor: zeros 0xf bytes at TLS offset 0xa9d4. Clears thread-local encrypted string buffer. 0x01091B80 69 tls_clear_field_ab6c crt TLS destructor: zeros 6 bytes at TLS offset 0xab6c. Clears thread-local encrypted string buffer. 0x01091BD0 69 tls_clear_field_aff0 crt TLS destructor: zeros 0x22 bytes at TLS offset 0xaff0. Clears thread-local encrypted string buffer. 0x01091C20 69 tls_clear_field_ab78 crt TLS destructor: zeros 7 bytes at TLS offset 0xab78. Clears thread-local encrypted string buffer. 0x01091C70 69 tls_clear_field_addc crt TLS destructor: zeros 10 bytes at TLS offset 0xaddc. Clears thread-local encrypted string buffer. 0x01091CC0 69 tls_clear_field_ae88 crt TLS destructor: zeros 5 bytes at TLS offset 0xae88. Clears thread-local encrypted string buffer. 0x01091D10 69 tls_clear_field_a9e8 crt TLS destructor: zeros 0xe bytes at TLS offset 0xa9e8. Clears thread-local encrypted string buffer. 0x01091D60 69 tls_clear_field_b018 crt TLS destructor: zeros 0x1d bytes at TLS offset 0xb018. Clears thread-local encrypted string buffer. 0x01091DB0 69 tls_clear_field_ab84 crt TLS destructor: zeros 5 bytes at TLS offset 0xab84. Clears thread-local encrypted string buffer. 0x01091E00 69 tls_clear_field_ade8 crt TLS destructor: zeros 8 bytes at TLS offset 0xade8. Clears thread-local encrypted string buffer. 0x01091E50 69 tls_clear_field_ae90 crt TLS destructor: zeros 7 bytes at TLS offset 0xae90. Clears thread-local encrypted string buffer. 0x01091EA0 69 tls_clear_field_a9fc crt TLS destructor: zeros 0x1a bytes at TLS offset 0xa9fc. Clears thread-local encrypted string buffer. 0x01091EF0 69 tls_clear_field_b03c crt TLS destructor: zeros 6 bytes at TLS offset 0xb03c. Clears thread-local encrypted string buffer. 0x01091F40 69 tls_clear_field_adf4 crt TLS destructor: zeros 9 bytes at TLS offset 0xadf4. Clears thread-local encrypted string buffer. 0x01091F90 69 tls_clear_field_ab90 crt TLS destructor: zeros 10 bytes at TLS offset 0xab90. Clears thread-local encrypted string buffer. 0x01091FE0 69 tls_clear_field_ae98 crt TLS destructor: zeros 8 bytes at TLS offset 0xae98. Clears thread-local encrypted string buffer. 0x01092030 69 tls_clear_field_aa1c crt TLS destructor: zeros 0xd bytes at TLS offset 0xaa1c. Clears thread-local encrypted string buffer. 0x01092080 69 tls_clear_field_b048 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xb048. Clears thread-local encrypted string buffer. 0x010920D0 69 tls_clear_field_ae00 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xae00. Clears thread-local encrypted string buffer. 0x01092120 69 tls_clear_array_11_at_0xaba0 crt TLS initializer callback. Zeros 11 bytes in the TLS block at offset 0xABA0. 0x01092170 69 tls_clear_field_aea4 crt TLS destructor: zeros 9 bytes at TLS offset 0xaea4. Clears thread-local encrypted string buffer. 0x010921C0 69 tls_clear_field_aa30 crt TLS destructor: zeros 0xc bytes at TLS offset 0xaa30. Clears thread-local encrypted string buffer. 0x01092210 10 thunk_to_STL_vector_free_01092210 stl Wrapper that calls STL_vector_free and returns 0x01092220 10 thunk_to_STL_vector_free_01092220 stl Wrapper function that calls STL_vector_free and returns 0x01092230 10 thunk_to_CFmt__vector_of_structs_dtor fmtlib Thunk that calls CFmt__vector_of_structs_dtor and returns. 0x01092240 10 thunk_to_STL_string_dtor_01092240 stl Wrapper that calls STL_string_dtor and returns 0x01092250 10 thunk_to_STL_string_dtor_01092250 stl Wrapper that calls STL_string_dtor and returns 0x01092260 10 thunk_to_STL_string_dtor_01092260 stl Wrapper that calls STL string destructor 0x01092270 10 thunk_to_STL_string_dtor_01092270 stl Wrapper that calls STL_string_dtor and returns 0x01092280 10 thunk_to_STL_string_dtor_01092280 stl Wrapper that calls STL_string_dtor and returns 0x01092290 10 thunk_to_STL_string_dtor_01092290 stl Wrapper that calls STL_string_dtor and returns 0x010922A0 10 thunk_to_STL_string_dtor_010922a0 stl Wrapper that calls STL_string_dtor and returns 0x010922B0 10 thunk_to_STL_string_dtor_010922b0 stl Wrapper that calls STL_string_dtor and returns 0x010922C0 10 thunk_to_STL_string_dtor_010922c0 stl Wrapper that calls STL_string_dtor and returns 0x010922D0 10 thunk_to_STL_string_dtor_010922d0 stl Wrapper that calls STL_string_dtor and returns 0x010922E0 10 thunk_to_STL_string_dtor_010922e0 stl Wrapper that calls STL_string_dtor and returns 0x010922F0 10 thunk_to_STL_string_dtor_010922f0 stl Wrapper that calls STL_string_dtor and returns 0x01092300 10 thunk_to_STL_string_dtor_01092300 stl Wrapper that calls STL_string_dtor and returns 0x01092310 10 thunk_to_STL_string_dtor_01092310 stl Wrapper that calls STL_string_dtor and returns 0x01092320 10 thunk_to_STL_string_dtor_01092320 stl Wrapper that calls STL_string_dtor and returns 0x01092330 10 thunk_to_STL_string_dtor_01092330 stl Wrapper that calls STL_string_dtor and returns 0x01092340 10 thunk_to_STL_string_dtor_01092340 stl Wrapper that calls STL_string_dtor and returns 0x01092350 10 thunk_to_STL_string_dtor_01092350 stl Wrapper that calls STL_string_dtor and returns 0x01092360 10 thunk_to_STL_string_dtor_01092360 stl Wrapper that calls STL_string_dtor and returns 0x01092370 10 thunk_to_STL_string_dtor_01092370 stl Wrapper that calls STL_string_dtor and returns 0x01092380 10 thunk_to_STL_string_dtor_01092380 stl Wrapper that calls STL_string_dtor and returns 0x01092390 10 thunk_to_STL_string_dtor_01092390 stl Wrapper that calls STL_string_dtor and returns 0x010923A0 10 thunk_to_STL_string_dtor_010923a0 stl Wrapper that calls STL_string_dtor and returns 0x010923B0 10 thunk_to_STL_string_dtor_010923b0 stl Wrapper that calls STL_string_dtor and returns 0x010923C0 10 thunk_to_STL_string_dtor_010923c0 stl Wrapper that calls STL_string_dtor and returns 0x010923D0 10 thunk_to_STL_string_dtor_010923d0 stl Wrapper that calls STL_string_dtor and returns 0x01092450 280 atexit_unregister_window_classes_and_cleanup_01092450 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section at DAT_013871e0, resets all counters. 0x01092570 66 atexit_destroy_STL_map_01092570 crt Static destructor (atexit callback) for a global STL map. Sets up SEH frame, calls STL_map_destroy to free all tree nodes, then restores SEH chain. Registered via atexit() during static initialization. 0x010925C0 10 thunk_to_STL_string_dtor_010925c0 stl Wrapper that calls STL_string_dtor and returns 0x010925D0 10 thunk_to_STL_string_dtor_010925d0 stl Wrapper that calls STL_string_dtor and returns 0x010925E0 10 thunk_to_STL_string_dtor_010925e0 stl Wrapper that calls STL_string_dtor and returns 0x010925F0 10 thunk_to_STL_string_dtor_010925f0 stl Wrapper function that calls STL_string_dtor and returns 0x01092600 10 thunk_to_STL_string_dtor_01092600 stl Wrapper that calls STL string destructor 0x01092610 10 thunk_to_STL_string_dtor_01092610 stl Wrapper that calls STL_string_dtor and returns 0x01092620 10 thunk_to_STL_string_dtor_01092620 stl Wrapper that calls STL_string_dtor and returns 0x01092630 10 thunk_to_STL_string_dtor_01092630 stl Wrapper that calls STL_string_dtor and returns 0x01092640 10 thunk_to_STL_string_dtor_01092640 stl Wrapper that calls STL_string_dtor and returns 0x01092650 10 thunk_to_STL_string_dtor_01092650 stl Wrapper that calls STL_string_dtor and returns 0x01092660 10 thunk_to_STL_string_dtor_01092660 stl Wrapper that calls STL_string_dtor and returns 0x01092670 10 thunk_to_STL_string_dtor_01092670 stl Wrapper that calls STL_string_dtor and returns 0x01092680 10 thunk_to_STL_string_dtor_01092680 stl Wrapper that calls STL string destructor 0x01092690 10 thunk_to_STL_string_dtor_01092690 stl Wrapper that calls STL_string_dtor and returns 0x010926A0 10 thunk_to_STL_string_dtor_010926a0 stl Wrapper that calls STL_string_dtor and returns 0x010926B0 10 thunk_to_STL_string_dtor_010926b0 stl Wrapper that calls STL_string_dtor and returns 0x010926C0 10 thunk_to_STL_string_dtor_010926c0 stl Wrapper that calls STL_string_dtor and returns 0x010926D0 10 thunk_to_STL_string_dtor_010926d0 stl Wrapper that calls STL_string_dtor and returns 0x010926E0 10 thunk_to_STL_string_dtor_010926e0 stl Wrapper that calls STL_string_dtor and returns 0x010926F0 10 thunk_to_STL_string_dtor_010926f0 stl Wrapper that calls STL_string_dtor and returns 0x01092700 10 thunk_to_STL_string_dtor_01092700 stl Wrapper that calls STL_string_dtor and returns 0x01092710 10 thunk_to_STL_string_dtor_01092710 stl Wrapper that calls STL_string_dtor and returns 0x01092720 10 thunk_to_STL_string_dtor_01092720 stl Wrapper that calls STL_string_dtor and returns 0x01092730 10 thunk_to_STL_string_dtor_01092730 stl Wrapper that calls STL_string_dtor and returns 0x01092740 10 thunk_to_STL_string_dtor_01092740 stl Wrapper that calls STL_string_dtor and returns 0x010927C0 280 atexit_unregister_window_classes_and_cleanup_010927c0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section at DAT_013871e0, resets all counters. Duplicate of 01092450. 0x010928E0 66 atexit_destroy_STL_map_010928e0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010929A0 280 atexit_unregister_window_classes_and_cleanup_010929a0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section at DAT_013871e0, resets all counters. Duplicate of 01092450. 0x01092AD0 66 atexit_destroy_render_pipeline_01092ad0 crt Static destructor (atexit callback) for a global CRenderPipeline linked list and vector. Sets up SEH frame, calls CRenderPipeline__destroy_linked_list_and_vector, then restores SEH chain. 0x01092B20 10 thunk_to_STL_string_dtor_01092b20 stl Wrapper that calls STL_string_dtor and returns 0x01092B30 10 thunk_to_STL_string_dtor_01092b30 stl Wrapper that calls STL_string_dtor and returns 0x01092B40 10 thunk_to_STL_string_dtor_01092b40 stl Wrapper that calls STL_string_dtor and returns 0x01092B50 10 thunk_to_STL_string_dtor_01092b50 stl Wrapper that calls STL_string_dtor and returns 0x01092B60 10 thunk_to_STL_string_dtor_01092b60 stl Wrapper that calls STL_string_dtor and returns 0x01092B70 10 thunk_to_STL_string_dtor_01092b70 stl Wrapper that calls STL_string_dtor and returns 0x01092B80 10 thunk_to_STL_string_dtor_01092b80 stl Wrapper that calls STL_string_dtor and returns 0x01092B90 10 thunk_to_STL_string_dtor_01092b90 stl Wrapper that calls STL_string_dtor and returns 0x01092BA0 10 thunk_to_STL_string_dtor_01092ba0 stl Wrapper that calls STL_string_dtor and returns 0x01092BB0 10 thunk_to_STL_string_dtor_01092bb0 stl Wrapper that calls STL_string_dtor and returns 0x01092BC0 10 thunk_to_STL_string_dtor_01092bc0 stl Wrapper that calls STL_string_dtor and returns 0x01092BD0 10 thunk_to_STL_string_dtor_01092bd0 stl Wrapper that calls STL_string_dtor and returns 0x01092BE0 10 thunk_to_STL_string_dtor_01092be0 stl Wrapper that calls STL_string_dtor and returns 0x01092BF0 10 thunk_to_STL_string_dtor_01092bf0 stl Wrapper that calls STL_string_dtor and returns 0x01092C00 10 thunk_to_STL_string_dtor_01092c00 stl Wrapper that calls STL_string_dtor and returns 0x01092C10 10 thunk_to_STL_string_dtor_01092c10 stl Wrapper that calls STL_string_dtor and returns 0x01092C20 10 thunk_to_STL_string_dtor_01092c20 stl Wrapper that calls STL_string_dtor and returns 0x01092C30 10 thunk_to_STL_string_dtor_01092c30 stl Wrapper that calls STL_string_dtor and returns 0x01092C40 10 thunk_to_STL_string_dtor_01092c40 stl Wrapper that calls STL_string_dtor and returns 0x01092C50 10 thunk_to_STL_string_dtor_01092c50 stl Wrapper that calls STL_string_dtor and returns 0x01092C60 10 thunk_to_STL_string_dtor_01092c60 stl Wrapper that calls STL_string_dtor and returns 0x01092C70 10 thunk_to_STL_string_dtor_01092c70 stl Wrapper that calls STL_string_dtor and returns 0x01092C80 10 thunk_to_STL_string_dtor_01092c80 stl Wrapper that calls STL_string_dtor and returns 0x01092C90 10 thunk_to_STL_string_dtor_01092c90 stl Wrapper that calls STL_string_dtor and returns 0x01092CA0 10 thunk_to_STL_string_dtor_01092ca0 stl Wrapper that calls STL_string_dtor and returns 0x01092D20 280 CRT_unregister_window_classes_and_cleanup crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section. SEH-protected. 0x01092EB0 280 CRT_unregister_window_classes_and_cleanup_01092eb0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section. SEH-protected. Duplicate of 01092d20. 0x01092FD0 10 thunk_to_STL_string_dtor_01092fd0 stl Wrapper that calls STL_string_dtor and returns 0x01092FE0 10 thunk_to_STL_string_dtor_01092fe0 stl Wrapper that calls STL_string_dtor and returns 0x01092FF0 10 thunk_to_STL_string_dtor_01092ff0 stl Wrapper that calls STL_string_dtor and returns 0x01093000 10 thunk_to_STL_string_dtor_01093000 stl Wrapper that calls STL_string_dtor and returns 0x01093010 10 thunk_to_STL_string_dtor_01093010 stl Wrapper that calls STL_string_dtor and returns 0x01093020 10 thunk_to_STL_string_dtor_01093020 stl Wrapper that calls STL_string_dtor and returns 0x01093030 10 thunk_to_STL_string_dtor_01093030 stl Wrapper that calls STL_string_dtor and returns 0x01093040 10 thunk_to_STL_string_dtor_01093040 stl Wrapper that calls STL_string_dtor and returns 0x01093050 10 thunk_to_STL_string_dtor_01093050 stl Wrapper that calls STL_string_dtor and returns 0x01093060 10 thunk_to_STL_string_dtor_01093060 stl Wrapper that calls STL_string_dtor and returns 0x01093070 10 thunk_to_STL_string_dtor_01093070 stl Wrapper that calls STL_string_dtor and returns 0x01093080 10 thunk_to_STL_string_dtor_01093080 stl Wrapper that calls STL_string_dtor and returns 0x01093090 10 thunk_to_STL_string_dtor_01093090 stl Wrapper that calls STL_string_dtor and returns 0x010930A0 10 thunk_to_STL_string_dtor_010930a0 stl Wrapper that calls STL_string_dtor and returns 0x010930B0 10 thunk_to_STL_string_dtor_010930b0 stl Wrapper that calls STL_string_dtor and returns 0x010930C0 10 thunk_to_STL_string_dtor_010930c0 stl Wrapper that calls STL_string_dtor and returns 0x010930D0 10 thunk_to_STL_string_dtor_010930d0 stl Wrapper that calls STL_string_dtor and returns 0x010930E0 10 thunk_to_STL_string_dtor_010930e0 stl Wrapper that calls STL_string_dtor and returns 0x010930F0 10 thunk_to_STL_string_dtor_010930f0 stl Wrapper that calls STL_string_dtor and returns 0x01093100 10 thunk_to_STL_string_dtor_01093100 stl Wrapper that calls STL_string_dtor and returns 0x01093110 10 thunk_to_STL_string_dtor_01093110 stl Wrapper that calls STL_string_dtor and returns 0x01093120 10 thunk_to_STL_string_dtor_01093120 stl Wrapper that calls STL_string_dtor and returns 0x01093130 10 thunk_to_STL_string_dtor_01093130 stl Wrapper that calls STL_string_dtor and returns 0x01093140 10 thunk_to_STL_string_dtor_01093140 stl Wrapper that calls STL_string_dtor and returns 0x01093150 10 thunk_to_STL_string_dtor_01093150 stl Wrapper that calls STL_string_dtor and returns 0x010931D0 280 CRT_unregister_window_classes_and_cleanup_010931d0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section. SEH-protected. Duplicate of 01092d20. 0x010932F0 10 thunk_to_STL_string_dtor_010932f0 stl Wrapper function that calls STL_string_dtor and returns 0x01093300 10 thunk_to_STL_string_dtor_01093300 stl Wrapper that calls STL_string_dtor and returns 0x01093310 10 thunk_to_STL_string_dtor_01093310 stl Wrapper that calls STL_string_dtor and returns 0x01093320 10 thunk_to_STL_string_dtor_01093320 stl Wrapper that calls STL_string_dtor and returns 0x01093330 10 thunk_to_STL_string_dtor_01093330 stl Wrapper that calls STL_string_dtor and returns 0x01093340 10 thunk_to_STL_string_dtor_01093340 stl Wrapper function that calls STL_string_dtor and returns 0x01093350 10 thunk_to_STL_string_dtor_01093350 stl Wrapper that calls STL_string_dtor and returns 0x01093360 10 thunk_to_STL_string_dtor_01093360 stl Wrapper that calls STL_string_dtor and returns 0x01093370 10 thunk_to_STL_string_dtor_01093370 stl Wrapper that calls STL_string_dtor and returns 0x01093380 10 thunk_to_STL_string_dtor_01093380 stl Wrapper that calls STL_string_dtor and returns 0x01093390 10 thunk_to_STL_string_dtor_01093390 stl Wrapper that calls STL_string_dtor and returns 0x010933A0 10 thunk_to_STL_string_dtor_010933a0 stl Wrapper that calls STL_string_dtor and returns 0x010933B0 10 thunk_to_STL_string_dtor_010933b0 stl Wrapper that calls STL_string_dtor and returns 0x010933C0 10 thunk_to_STL_string_dtor_010933c0 stl Wrapper that calls STL_string_dtor and returns 0x010933D0 10 thunk_to_STL_string_dtor_010933d0 stl Wrapper function that calls STL_string_dtor and returns 0x010933E0 10 thunk_to_STL_string_dtor_010933e0 stl Wrapper that calls STL_string_dtor and returns 0x010933F0 10 thunk_to_STL_string_dtor_010933f0 stl Wrapper that calls STL_string_dtor and returns 0x01093400 10 thunk_to_STL_string_dtor_01093400 stl Wrapper that calls STL_string_dtor and returns 0x01093410 10 thunk_to_STL_string_dtor_01093410 stl Wrapper that calls STL_string_dtor and returns 0x01093420 10 thunk_to_STL_string_dtor_01093420 stl Wrapper that calls STL_string_dtor and returns 0x01093430 10 thunk_to_STL_string_dtor_01093430 stl Wrapper that calls STL_string_dtor and returns 0x01093440 10 thunk_to_STL_string_dtor_01093440 stl Wrapper that calls STL_string_dtor and returns 0x01093450 10 thunk_to_STL_string_dtor_01093450 stl Wrapper that calls STL_string_dtor and returns 0x01093460 10 thunk_to_STL_string_dtor_01093460 stl Wrapper that calls STL_string_dtor and returns 0x01093470 10 thunk_to_STL_string_dtor_01093470 stl Wrapper that calls STL_string_dtor and returns 0x010934F0 280 CRT_unregister_window_classes_and_cleanup_010934f0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section. SEH-protected. Duplicate of 01092d20. 0x01093610 66 atexit_destroy_STL_map_01093610 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x01093660 10 thunk_to_STL_string_dtor_01093660 stl Wrapper that calls STL_string_dtor and returns 0x01093670 10 thunk_to_STL_string_dtor_01093670 stl Wrapper that calls STL_string_dtor and returns 0x01093680 10 thunk_to_STL_string_dtor_01093680 stl Wrapper that calls STL_string_dtor and returns 0x01093690 10 thunk_to_STL_string_dtor_01093690 stl Wrapper that calls STL_string_dtor and returns 0x010936A0 10 thunk_to_STL_string_dtor_010936a0 stl Wrapper that calls STL_string_dtor and returns 0x010936B0 10 thunk_to_STL_string_dtor_010936b0 stl Wrapper that calls STL_string_dtor and returns 0x010936C0 10 thunk_to_STL_string_dtor_010936c0 stl Wrapper that calls STL_string_dtor and returns 0x010936D0 10 thunk_to_STL_string_dtor_010936d0 stl Wrapper that calls STL_string_dtor and returns 0x010936E0 10 thunk_to_STL_string_dtor_010936e0 stl Wrapper that calls STL_string_dtor and returns 0x010936F0 10 thunk_to_STL_string_dtor_010936f0 stl Wrapper that calls STL_string_dtor and returns 0x01093700 10 thunk_to_STL_string_dtor_01093700 stl Wrapper that calls STL_string_dtor and returns 0x01093710 10 thunk_to_STL_string_dtor_01093710 stl Wrapper that calls STL_string_dtor and returns 0x01093720 10 thunk_to_STL_string_dtor_01093720 stl Wrapper that calls STL_string_dtor and returns 0x01093730 10 thunk_to_STL_string_dtor_01093730 stl Wrapper that calls STL_string_dtor and returns 0x01093740 10 thunk_to_STL_string_dtor_01093740 stl Wrapper that calls STL_string_dtor and returns 0x01093750 10 thunk_to_STL_string_dtor_01093750 stl Wrapper that calls STL_string_dtor and returns 0x01093760 10 thunk_to_STL_string_dtor_01093760 stl Wrapper function that calls STL_string_dtor and returns 0x01093770 10 thunk_to_STL_string_dtor_01093770 stl Wrapper that calls STL_string_dtor and returns 0x01093780 10 thunk_to_STL_string_dtor_01093780 stl Wrapper that calls STL_string_dtor and returns 0x01093790 10 thunk_to_STL_string_dtor_01093790 stl Wrapper that calls STL_string_dtor and returns 0x010937A0 10 thunk_to_STL_string_dtor_010937a0 stl Wrapper that calls STL_string_dtor and returns 0x010937B0 10 thunk_to_STL_string_dtor_010937b0 stl Wrapper that calls STL_string_dtor and returns 0x010937C0 10 thunk_to_STL_string_dtor_010937c0 stl Wrapper that calls STL_string_dtor and returns 0x010937D0 10 thunk_to_STL_string_dtor_010937d0 stl Wrapper that calls STL_string_dtor and returns 0x010937E0 10 thunk_to_STL_string_dtor_010937e0 stl Wrapper that calls STL_string_dtor and returns 0x01093860 280 CRT_unregister_window_classes_and_cleanup_01093860 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section. SEH-protected. Duplicate of 01092d20. 0x01093980 10 thunk_to_STL_string_dtor_01093980 stl Wrapper that calls STL_string_dtor and returns 0x01093990 10 thunk_to_STL_string_dtor_01093990 stl Wrapper that calls STL_string_dtor and returns 0x010939A0 10 thunk_to_STL_string_dtor_010939a0 stl Wrapper that calls STL_string_dtor and returns 0x010939B0 10 thunk_to_STL_string_dtor_010939b0 stl Wrapper that calls STL_string_dtor and returns 0x010939C0 10 thunk_to_STL_string_dtor_010939c0 stl Wrapper that calls STL_string_dtor and returns 0x010939D0 10 thunk_to_STL_string_dtor_010939d0 stl Wrapper that calls STL_string_dtor and returns 0x010939E0 10 thunk_to_STL_string_dtor_010939e0 stl Wrapper that calls STL_string_dtor and returns 0x010939F0 10 thunk_to_STL_string_dtor_010939f0 stl Wrapper that calls STL_string_dtor and returns 0x01093A00 10 thunk_to_STL_string_dtor_01093a00 stl Wrapper that calls STL_string_dtor and returns 0x01093A10 10 thunk_to_STL_string_dtor_01093a10 stl Wrapper that calls STL_string_dtor and returns 0x01093A20 10 thunk_to_STL_string_dtor_01093a20 stl Wrapper that calls STL_string_dtor and returns 0x01093A30 10 thunk_to_STL_string_dtor_01093a30 stl Wrapper that calls STL_string_dtor and returns 0x01093A40 10 thunk_to_STL_string_dtor_01093a40 stl Wrapper that calls STL_string_dtor and returns 0x01093A50 10 thunk_to_STL_string_dtor_01093a50 stl Wrapper that calls STL_string_dtor and returns 0x01093A60 10 thunk_to_STL_string_dtor_01093a60 stl Wrapper that calls STL_string_dtor and returns 0x01093A70 10 thunk_to_STL_string_dtor_01093a70 stl Wrapper that calls STL_string_dtor and returns 0x01093A80 10 thunk_to_STL_string_dtor_01093a80 stl Wrapper that calls STL_string_dtor and returns 0x01093A90 10 thunk_to_STL_string_dtor_01093a90 stl Wrapper that calls STL_string_dtor and returns immediately 0x01093AA0 10 thunk_to_STL_string_dtor_01093aa0 stl Wrapper that calls STL_string_dtor and returns 0x01093AB0 10 thunk_to_STL_string_dtor_01093ab0 stl Wrapper that calls STL_string_dtor and returns 0x01093AC0 10 thunk_to_STL_string_dtor_01093ac0 stl Wrapper that calls STL_string_dtor and returns 0x01093AD0 10 thunk_to_STL_string_dtor_01093ad0 stl Wrapper that calls STL_string_dtor and returns 0x01093AE0 10 thunk_to_STL_string_dtor_01093ae0 stl Wrapper that calls STL_string_dtor and returns 0x01093AF0 10 thunk_to_STL_string_dtor_01093af0 stl Wrapper function that calls STL_string_dtor and returns 0x01093B00 10 thunk_to_STL_string_dtor_01093b00 stl Wrapper function that calls STL_string_dtor and returns 0x01093B80 280 CRT_unregister_window_classes_and_cleanup_01093b80 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section. SEH-protected. Duplicate of 01092d20. 0x01093CA0 10 thunk_to_STL_string_dtor_01093ca0 stl Wrapper that calls STL_string_dtor and returns 0x01093CB0 10 thunk_to_STL_string_dtor_01093cb0 stl Wrapper function that calls STL_string_dtor and returns 0x01093CC0 10 thunk_to_STL_string_dtor_01093cc0 stl Wrapper that calls STL_string_dtor and returns 0x01093CD0 10 thunk_to_STL_string_dtor_01093cd0 stl Wrapper that calls STL_string_dtor and returns 0x01093CE0 10 thunk_to_STL_string_dtor_01093ce0 stl Wrapper that calls STL_string_dtor and returns 0x01093CF0 10 thunk_to_STL_string_dtor_01093cf0 stl Wrapper that calls STL_string_dtor and returns 0x01093D00 10 thunk_to_STL_string_dtor_01093d00 stl Wrapper that calls STL_string_dtor and returns 0x01093D10 10 thunk_to_STL_string_dtor_01093d10 stl Wrapper that calls STL_string_dtor and returns 0x01093D20 10 thunk_to_STL_string_dtor_01093d20 stl Wrapper that calls STL_string_dtor and returns 0x01093D30 10 thunk_to_STL_string_dtor_01093d30 stl Wrapper that calls STL_string_dtor and returns 0x01093D40 10 thunk_to_STL_string_dtor_01093d40 stl Wrapper that calls STL_string_dtor and returns 0x01093D50 10 thunk_to_STL_string_dtor_01093d50 stl Wrapper that calls STL_string_dtor and returns 0x01093D60 10 thunk_to_STL_string_dtor_01093d60 stl Wrapper that calls STL_string_dtor and returns 0x01093D70 10 thunk_to_STL_string_dtor_01093d70 stl Wrapper that calls STL_string_dtor and returns 0x01093D80 10 thunk_to_STL_string_dtor_01093d80 stl Wrapper function that calls STL_string_dtor and returns 0x01093D90 10 thunk_to_STL_string_dtor_01093d90 stl Wrapper that calls STL_string_dtor and returns 0x01093DA0 10 thunk_to_STL_string_dtor_01093da0 stl Wrapper that calls STL_string_dtor and returns 0x01093DB0 10 thunk_to_STL_string_dtor_01093db0 stl Wrapper that calls STL_string_dtor and returns 0x01093DC0 10 thunk_to_STL_string_dtor_01093dc0 stl Wrapper that calls STL_string_dtor and returns 0x01093DD0 10 thunk_to_STL_string_dtor_01093dd0 stl Wrapper that calls STL_string_dtor and returns 0x01093DE0 10 thunk_to_STL_string_dtor_01093de0 stl Wrapper that calls STL_string_dtor and returns 0x01093DF0 10 thunk_to_STL_string_dtor_01093df0 stl Wrapper that calls STL_string_dtor and returns 0x01093E00 10 thunk_to_STL_string_dtor_01093e00 stl Wrapper that calls STL_string_dtor and returns 0x01093E10 10 thunk_to_STL_string_dtor_01093e10 stl Wrapper that calls STL_string_dtor and returns 0x01093E20 10 thunk_to_STL_string_dtor_01093e20 stl Wrapper that calls STL_string_dtor and returns 0x01093EA0 280 CRT_unregister_window_classes_and_cleanup_01093ea0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section. SEH-protected. Duplicate of 01092d20. 0x01093FE0 10 thunk_to_STL_string_dtor_01093fe0 stl Wrapper that calls STL_string_dtor and returns 0x01093FF0 10 thunk_to_STL_string_dtor_01093ff0 stl Wrapper that calls STL_string_dtor and returns 0x01094000 10 thunk_to_STL_string_dtor_01094000 stl Wrapper that calls STL_string_dtor and returns 0x01094010 10 thunk_to_STL_string_dtor_01094010 stl Wrapper that calls STL_string_dtor and returns 0x01094020 10 thunk_to_STL_string_dtor_01094020 stl Wrapper that calls STL_string_dtor and returns 0x01094030 10 thunk_to_STL_string_dtor_01094030 stl Wrapper that calls STL_string_dtor and returns 0x01094040 10 thunk_to_STL_string_dtor_01094040 stl Wrapper that calls STL_string_dtor and returns 0x01094050 10 thunk_to_STL_string_dtor_01094050 stl Wrapper function that calls STL_string_dtor and returns 0x01094060 10 thunk_to_STL_string_dtor_01094060 stl Wrapper that calls STL_string_dtor and returns 0x01094070 10 thunk_to_STL_string_dtor_01094070 stl Wrapper that calls STL_string_dtor and returns 0x01094080 10 thunk_to_STL_string_dtor_01094080 stl Wrapper that calls STL_string_dtor and returns 0x01094090 10 thunk_to_STL_string_dtor_01094090 stl Wrapper that calls STL_string_dtor and returns 0x010940A0 10 thunk_to_STL_string_dtor_010940a0 stl Wrapper that calls STL_string_dtor and returns 0x010940B0 10 thunk_to_STL_string_dtor_010940b0 stl Wrapper that calls STL_string_dtor and returns 0x010940C0 10 thunk_to_STL_string_dtor_010940c0 stl Wrapper function that calls STL_string_dtor and returns 0x010940D0 10 thunk_to_STL_string_dtor_010940d0 stl Wrapper that calls STL_string_dtor and returns 0x010940E0 10 thunk_to_STL_string_dtor_010940e0 stl Wrapper that calls STL_string_dtor and returns 0x010940F0 10 thunk_to_STL_string_dtor_010940f0 stl Wrapper that calls STL_string_dtor and returns 0x01094100 10 thunk_to_STL_string_dtor_01094100 stl Wrapper that calls STL_string_dtor and returns 0x01094110 10 thunk_to_STL_string_dtor_01094110 stl Wrapper that calls STL_string_dtor and returns 0x01094120 10 thunk_to_STL_string_dtor_01094120 stl Wrapper that calls STL_string_dtor and returns 0x01094130 10 thunk_to_STL_string_dtor_01094130 stl Wrapper that calls STL_string_dtor and returns 0x01094140 10 thunk_to_STL_string_dtor_01094140 stl Wrapper that calls STL_string_dtor and returns 0x01094150 10 thunk_to_STL_string_dtor_01094150 stl Wrapper that calls STL_string_dtor and returns 0x01094160 10 thunk_to_STL_string_dtor_01094160 stl Wrapper that calls STL_string_dtor and returns 0x010941E0 280 CRT_unregister_window_classes_and_cleanup_010941e0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section. SEH-protected. Duplicate of 01092d20. 0x01094300 10 thunk_to_CTownInfoMgr__dtor game_map Thunk: jumps directly to CTownInfoMgr__dtor. Used as atexit callback for global CTownInfoMgr instance destruction. 0x01094310 66 atexit_destroy_STL_map_01094310 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x01094360 10 thunk_to_STL_string_dtor_01094360 stl Wrapper that calls STL_string_dtor and returns 0x01094370 10 thunk_to_STL_string_dtor_01094370 stl Wrapper that calls STL_string_dtor and returns 0x01094380 10 thunk_to_STL_string_dtor_01094380 stl Wrapper that calls STL_string_dtor and returns 0x01094390 10 thunk_to_STL_string_dtor_01094390 stl Wrapper that calls STL_string_dtor and returns 0x010943A0 10 thunk_to_STL_string_dtor_010943a0 stl Wrapper that calls STL_string_dtor and returns 0x010943B0 10 thunk_to_STL_string_dtor_010943b0 stl Wrapper that calls STL_string_dtor and returns 0x010943C0 10 thunk_to_STL_string_dtor_010943c0 stl Wrapper that calls STL_string_dtor and returns 0x010943D0 10 thunk_to_STL_string_dtor_010943d0 stl Wrapper that calls STL_string_dtor and returns 0x010943E0 10 thunk_to_STL_string_dtor_010943e0 stl Wrapper that calls STL_string_dtor and returns 0x010943F0 10 thunk_to_STL_string_dtor_010943f0 stl Wrapper that calls STL_string_dtor and returns 0x01094400 10 thunk_to_STL_string_dtor_01094400 stl Wrapper that calls STL_string_dtor and returns 0x01094410 10 thunk_to_STL_string_dtor_01094410 stl Wrapper that calls STL_string_dtor and returns 0x01094420 10 thunk_to_STL_string_dtor_01094420 stl Wrapper that calls STL_string_dtor and returns 0x01094430 10 thunk_to_STL_string_dtor_01094430 stl Wrapper that calls STL_string_dtor and returns 0x01094440 10 thunk_to_STL_string_dtor_01094440 stl Wrapper that calls STL_string_dtor and returns 0x01094450 10 thunk_to_STL_string_dtor_01094450 stl Wrapper that calls STL_string_dtor and returns 0x01094460 10 thunk_to_STL_string_dtor_01094460 stl Wrapper that calls STL_string_dtor and returns 0x01094470 10 thunk_to_STL_string_dtor_01094470 stl Wrapper function that calls STL_string_dtor destructor 0x01094480 10 thunk_to_STL_string_dtor_01094480 stl Wrapper that calls STL_string_dtor and returns 0x01094490 10 thunk_to_STL_string_dtor_01094490 stl Wrapper that calls STL_string_dtor and returns 0x010944A0 10 thunk_to_STL_string_dtor_010944a0 stl Wrapper that calls STL_string_dtor and returns 0x010944B0 10 thunk_to_STL_string_dtor_010944b0 stl Wrapper that calls STL_string_dtor and returns 0x010944C0 10 thunk_to_STL_string_dtor_010944c0 stl Wrapper that calls STL_string_dtor and returns 0x010944D0 10 thunk_to_STL_string_dtor_010944d0 stl Wrapper that calls STL_string_dtor and returns 0x010944E0 10 thunk_to_STL_string_dtor_010944e0 stl Wrapper that calls STL_string_dtor and returns 0x01094560 280 CRT_unregister_window_classes_and_cleanup_01094560 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees atom array, deletes critical section. SEH-protected. Duplicate of 01092d20. 0x01094680 66 atexit_clear_vector_0xc_01094680 crt Static destructor (atexit callback) for a global vector of 0xC-byte elements. Calls vector_0xc__clear_and_free with SEH protection. 0x010946D0 66 atexit_destroy_STL_map_010946d0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x01094720 10 thunk_to_STL_string_dtor_01094720 stl Wrapper function that calls STL_string_dtor and returns 0x01094730 10 thunk_to_STL_string_dtor_01094730 stl Wrapper that calls STL_string_dtor and returns 0x01094740 10 thunk_to_STL_string_dtor_01094740 stl Wrapper that calls STL_string_dtor and returns 0x01094750 10 thunk_to_STL_string_dtor_01094750 stl Wrapper that calls STL_string_dtor and returns 0x01094760 10 thunk_to_STL_string_dtor_01094760 stl Wrapper that calls STL_string_dtor and returns 0x01094770 10 thunk_to_STL_string_dtor_01094770 stl Wrapper that calls STL_string_dtor and returns 0x01094780 10 thunk_to_STL_string_dtor_01094780 stl Wrapper that calls STL_string_dtor and returns 0x01094790 10 thunk_to_STL_string_dtor_01094790 stl Wrapper that calls STL_string_dtor and returns 0x010947A0 10 thunk_to_STL_string_dtor_010947a0 stl Wrapper that calls STL_string_dtor and returns 0x010947B0 10 thunk_to_STL_string_dtor_010947b0 stl Wrapper that calls STL_string_dtor and returns 0x010947C0 10 thunk_to_STL_string_dtor_010947c0 stl Wrapper function that calls STL_string_dtor and returns 0x010947D0 10 thunk_to_STL_string_dtor_010947d0 stl Wrapper that calls STL_string_dtor and returns 0x010947E0 10 thunk_to_STL_string_dtor_010947e0 stl Wrapper that calls STL_string_dtor and returns 0x010947F0 10 thunk_to_STL_string_dtor_010947f0 stl Wrapper that calls STL_string_dtor and returns 0x01094800 10 thunk_to_STL_string_dtor_01094800 stl Wrapper that calls STL_string_dtor and returns 0x01094810 10 thunk_to_STL_string_dtor_01094810 stl Wrapper that calls STL_string_dtor and returns 0x01094820 10 thunk_to_STL_string_dtor_01094820 stl Wrapper function that calls STL_string_dtor and returns 0x01094830 10 thunk_to_STL_string_dtor_01094830 stl Wrapper that calls STL_string_dtor and returns 0x01094840 10 thunk_to_STL_string_dtor_01094840 stl Wrapper function that calls STL_string_dtor and returns 0x01094850 10 thunk_to_STL_string_dtor_01094850 stl Wrapper that calls STL_string_dtor and returns 0x01094860 10 thunk_to_STL_string_dtor_01094860 stl Wrapper that calls STL_string_dtor and returns 0x01094870 10 thunk_to_STL_string_dtor_01094870 stl Wrapper that calls STL_string_dtor and returns 0x01094880 10 thunk_to_STL_string_dtor_01094880 stl Wrapper that calls STL_string_dtor and returns 0x01094890 10 thunk_to_STL_string_dtor_01094890 stl Wrapper that calls STL_string_dtor and returns 0x010948A0 10 thunk_to_STL_string_dtor_010948a0 stl Wrapper that calls STL_string_dtor and returns 0x01094920 280 CRT_unregister_window_classes_and_cleanup_01094920 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. 0x01094A40 66 atexit_clear_vector_int_01094a40 crt Static destructor (atexit callback) for a global vector of ints. Calls vector_int__clear_and_free with SEH protection. 0x01094A90 66 atexit_destroy_STL_map_01094a90 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x01094AE0 93 atexit_destroy_CSVParser_and_vector_01094ae0 crt Static destructor (atexit callback) for a global CSVParser. Sets vtable to CItemInfoMgr scalar dtor, calls CSVParser__free_all_line_buffers, then STL_vector_free_aligned with SEH protection. 0x01094B40 10 thunk_to_STL_string_dtor_01094b40 stl Wrapper that calls STL_string_dtor and returns 0x01094B50 10 thunk_to_STL_string_dtor_01094b50 stl Wrapper that calls STL_string_dtor and returns 0x01094B60 10 thunk_to_STL_string_dtor_01094b60 stl Wrapper that calls STL_string_dtor and returns 0x01094B70 10 thunk_to_STL_string_dtor_01094b70 stl Wrapper that calls STL_string_dtor and returns 0x01094B80 10 thunk_to_STL_string_dtor_01094b80 stl Wrapper that calls STL_string_dtor and returns 0x01094B90 10 thunk_to_STL_string_dtor_01094b90 stl Wrapper that calls STL_string_dtor and returns 0x01094BA0 10 thunk_to_STL_string_dtor_01094ba0 stl Wrapper that calls STL_string_dtor and returns 0x01094BB0 10 thunk_to_STL_string_dtor_01094bb0 stl Wrapper that calls STL_string_dtor and returns 0x01094BC0 10 thunk_to_STL_string_dtor_01094bc0 stl Wrapper that calls STL_string_dtor and returns 0x01094BD0 10 thunk_to_STL_string_dtor_01094bd0 stl Wrapper that calls STL_string_dtor and returns 0x01094BE0 10 thunk_to_STL_string_dtor_01094be0 stl Wrapper that calls STL_string_dtor and returns 0x01094BF0 10 thunk_to_STL_string_dtor_01094bf0 stl Wrapper that calls STL_string_dtor and returns 0x01094C00 10 thunk_to_STL_string_dtor_01094c00 stl Wrapper that calls STL_string_dtor and returns 0x01094C10 10 thunk_to_STL_string_dtor_01094c10 stl Wrapper that calls STL_string_dtor and returns 0x01094C20 10 thunk_to_STL_string_dtor_01094c20 stl Wrapper that calls STL_string_dtor and returns 0x01094C30 10 thunk_to_STL_string_dtor_01094c30 stl Wrapper that calls STL_string_dtor and returns 0x01094C40 10 thunk_to_STL_string_dtor_01094c40 stl Wrapper that calls STL_string_dtor and returns 0x01094C50 10 thunk_to_STL_string_dtor_01094c50 stl Wrapper that calls STL_string_dtor and returns 0x01094C60 10 thunk_to_STL_string_dtor_01094c60 stl Wrapper that calls STL_string_dtor and returns 0x01094C70 10 thunk_to_STL_string_dtor_01094c70 stl Wrapper that calls STL_string_dtor and returns 0x01094C80 10 thunk_to_STL_string_dtor_01094c80 stl Wrapper that calls STL_string_dtor and returns 0x01094C90 10 thunk_to_STL_string_dtor_01094c90 stl Wrapper that calls STL_string_dtor and returns 0x01094CA0 10 thunk_to_STL_string_dtor_01094ca0 stl Wrapper that calls STL_string_dtor and returns 0x01094CB0 10 thunk_to_STL_string_dtor_01094cb0 stl Wrapper that calls STL_string_dtor and returns 0x01094CC0 10 thunk_to_STL_string_dtor_01094cc0 stl Wrapper that calls STL_string_dtor and returns 0x01094D40 280 CRT_unregister_window_classes_and_cleanup_01094d40 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01094E60 10 thunk_to_STL_string_dtor_01094e60 stl Wrapper that calls STL_string_dtor and returns 0x01094E70 10 thunk_to_STL_string_dtor_01094e70 stl Wrapper that calls STL_string_dtor and returns 0x01094E80 10 thunk_to_STL_string_dtor_01094e80 stl Wrapper that calls STL_string_dtor and returns 0x01094E90 10 thunk_to_STL_string_dtor_01094e90 stl Wrapper that calls STL_string_dtor and returns 0x01094EA0 10 thunk_to_STL_string_dtor_01094ea0 stl Wrapper that calls STL_string_dtor and returns 0x01094EB0 10 thunk_to_STL_string_dtor_01094eb0 stl Wrapper that calls STL_string_dtor and returns 0x01094EC0 10 thunk_to_STL_string_dtor_01094ec0 stl Wrapper that calls STL_string_dtor and returns 0x01094ED0 10 thunk_to_STL_string_dtor_01094ed0 stl Wrapper function that calls STL_string_dtor and returns 0x01094EE0 10 thunk_to_STL_string_dtor_01094ee0 stl Wrapper that calls STL_string_dtor and returns 0x01094EF0 10 thunk_to_STL_string_dtor_01094ef0 stl Wrapper that calls STL_string_dtor and returns 0x01094F00 10 thunk_to_STL_string_dtor_01094f00 stl Wrapper that calls STL_string_dtor and returns 0x01094F10 10 thunk_to_STL_string_dtor_01094f10 stl Wrapper function that calls STL_string_dtor and returns 0x01094F20 10 thunk_to_STL_string_dtor_01094f20 stl Wrapper that calls STL_string_dtor and returns 0x01094F30 10 thunk_to_STL_string_dtor_01094f30 stl Wrapper that calls STL_string_dtor and returns 0x01094F40 10 thunk_to_STL_string_dtor_01094f40 stl Wrapper that calls STL_string_dtor and returns 0x01094F50 10 thunk_to_STL_string_dtor_01094f50 stl Wrapper that calls STL_string_dtor and returns 0x01094F60 10 thunk_to_STL_string_dtor_01094f60 stl Wrapper that calls STL_string_dtor and returns 0x01094F70 10 thunk_to_STL_string_dtor_01094f70 stl Wrapper that calls STL_string_dtor and returns 0x01094F80 10 thunk_to_STL_string_dtor_01094f80 stl Wrapper that calls STL_string_dtor and returns 0x01094F90 10 thunk_to_STL_string_dtor_01094f90 stl Wrapper that calls STL_string_dtor and returns 0x01094FA0 10 thunk_to_STL_string_dtor_01094fa0 stl Wrapper that calls STL_string_dtor and returns 0x01094FB0 10 thunk_to_STL_string_dtor_01094fb0 stl Wrapper that calls STL_string_dtor and returns 0x01094FC0 10 thunk_to_STL_string_dtor_01094fc0 stl Wrapper that calls STL_string_dtor and returns 0x01094FD0 10 thunk_to_STL_string_dtor_01094fd0 stl Wrapper that calls STL_string_dtor and returns 0x01094FE0 10 thunk_to_STL_string_dtor_01094fe0 stl Wrapper that calls STL_string_dtor and returns 0x01095060 280 atexit_unregister_window_classes_and_delete_critsec_01095060 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01095180 10 thunk_to_STL_string_dtor_01095180 stl Wrapper that calls STL_string_dtor and returns 0x01095190 10 thunk_to_STL_string_dtor_01095190 stl Wrapper that calls STL_string_dtor and returns 0x010951A0 10 thunk_to_STL_string_dtor_010951a0 stl Wrapper that calls STL_string_dtor and returns 0x010951B0 10 thunk_to_STL_string_dtor_010951b0 stl Wrapper that calls STL_string_dtor and returns 0x010951C0 10 thunk_to_STL_string_dtor_010951c0 stl Wrapper that calls STL_string_dtor and returns 0x010951D0 10 thunk_to_STL_string_dtor_010951d0 stl Wrapper that calls STL_string_dtor and returns 0x010951E0 10 thunk_to_STL_string_dtor_010951e0 stl Wrapper that calls STL_string_dtor and returns 0x010951F0 10 thunk_to_STL_string_dtor_010951f0 stl Wrapper that calls STL_string_dtor and returns 0x01095200 10 thunk_to_STL_string_dtor_01095200 stl Wrapper that calls STL_string_dtor and returns 0x01095210 10 thunk_to_STL_string_dtor_01095210 stl Wrapper that calls STL_string_dtor and returns 0x01095220 10 thunk_to_STL_string_dtor_01095220 stl Wrapper that calls STL_string_dtor and returns 0x01095230 10 thunk_to_STL_string_dtor_01095230 stl Wrapper that calls STL_string_dtor and returns 0x01095240 10 thunk_to_STL_string_dtor_01095240 stl Wrapper that calls STL_string_dtor and returns 0x01095250 10 thunk_to_STL_string_dtor_01095250 stl Wrapper that calls STL string destructor 0x01095260 10 thunk_to_STL_string_dtor_01095260 stl Wrapper that calls STL_string_dtor and returns 0x01095270 10 thunk_to_STL_string_dtor_01095270 stl Wrapper that calls STL_string_dtor and returns 0x01095280 10 thunk_to_STL_string_dtor_01095280 stl Wrapper that calls STL_string_dtor and returns 0x01095290 10 thunk_to_STL_string_dtor_01095290 stl Wrapper that calls STL_string_dtor and returns 0x010952A0 10 thunk_to_STL_string_dtor_010952a0 stl Wrapper that calls STL_string_dtor and returns 0x010952B0 10 thunk_to_STL_string_dtor_010952b0 stl Wrapper that calls STL_string_dtor and returns 0x010952C0 10 thunk_to_STL_string_dtor_010952c0 stl Wrapper that calls STL_string_dtor and returns 0x010952D0 10 thunk_to_STL_string_dtor_010952d0 stl Wrapper that calls STL_string_dtor and returns 0x010952E0 10 thunk_to_STL_string_dtor_010952e0 stl Wrapper that calls STL_string_dtor and returns 0x010952F0 10 thunk_to_STL_string_dtor_010952f0 stl Wrapper function that calls STL_string_dtor and returns 0x01095300 10 thunk_to_STL_string_dtor_01095300 stl Wrapper that calls STL_string_dtor and returns 0x01095380 280 atexit_unregister_window_classes_and_delete_critsec_01095380 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x010954A0 66 atexit_destroy_STL_map_010954a0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010954F0 66 atexit_clear_UIWindow_vector_010954f0 crt Static destructor (atexit callback) for a global UIWindow vector of 0xC-byte elements. Calls UIWindow__clear_and_free_vector_0xc with SEH protection. 0x010955B0 280 atexit_unregister_window_classes_and_delete_critsec_010955b0 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01095740 280 atexit_unregister_window_classes_and_delete_critsec_01095740 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x010958D0 280 atexit_unregister_window_classes_and_delete_critsec_010958d0 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01095A60 280 atexit_unregister_window_classes_and_delete_critsec_01095a60 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01095B80 236 atexit_destroy_global_resource_list crt Atexit handler: iterates a global linked list (DAT_016d5688), calls virtual destructors on resource nodes, then frees all nodes and the sentinel. Full resource teardown with SEH protection. 0x01095C70 10 thunk_to_STL_string_dtor_01095c70 stl Wrapper that calls STL_string_dtor and returns 0x01095C80 10 thunk_to_STL_string_dtor_01095c80 stl Wrapper that calls STL_string_dtor and returns 0x01095C90 10 thunk_to_STL_string_dtor_01095c90 stl Wrapper that calls STL_string_dtor and returns 0x01095CA0 10 thunk_to_STL_string_dtor_01095ca0 stl Wrapper function that calls STL_string_dtor and returns 0x01095CB0 10 thunk_to_STL_string_dtor_01095cb0 stl Wrapper that calls STL_string_dtor and returns 0x01095CC0 10 thunk_to_STL_string_dtor_01095cc0 stl Wrapper calling STL_string_dtor destructor 0x01095CD0 10 thunk_to_STL_string_dtor_01095cd0 stl Wrapper that calls STL_string_dtor and returns 0x01095CE0 10 thunk_to_STL_string_dtor_01095ce0 stl Wrapper that calls STL_string_dtor and returns 0x01095CF0 10 thunk_to_STL_string_dtor_01095cf0 stl Wrapper that calls STL_string_dtor and returns 0x01095D00 10 thunk_to_STL_string_dtor_01095d00 stl Wrapper that calls STL_string_dtor and returns 0x01095D10 10 thunk_to_STL_string_dtor_01095d10 stl Wrapper that calls STL_string_dtor and returns 0x01095D20 10 thunk_to_STL_string_dtor_01095d20 stl Wrapper that calls STL_string_dtor and returns 0x01095D30 10 thunk_to_STL_string_dtor_01095d30 stl Wrapper that calls STL_string_dtor and returns 0x01095D40 10 thunk_to_STL_string_dtor_01095d40 stl Wrapper that calls STL_string_dtor and returns 0x01095D50 10 thunk_to_STL_string_dtor_01095d50 stl Wrapper that calls STL_string_dtor and returns 0x01095D60 10 thunk_to_STL_string_dtor_01095d60 stl Wrapper that calls STL_string_dtor and returns 0x01095D70 10 thunk_to_STL_string_dtor_01095d70 stl Wrapper that calls STL_string_dtor and returns 0x01095D80 10 thunk_to_STL_string_dtor_01095d80 stl Wrapper function that calls STL_string_dtor and returns 0x01095D90 10 thunk_to_STL_string_dtor_01095d90 stl Wrapper that calls STL_string_dtor and returns 0x01095DA0 10 thunk_to_STL_string_dtor_01095da0 stl Wrapper that calls STL_string_dtor and returns 0x01095DB0 10 thunk_to_STL_string_dtor_01095db0 stl Wrapper that calls STL_string_dtor and returns 0x01095DC0 10 thunk_to_STL_string_dtor_01095dc0 stl Wrapper that calls STL_string_dtor and returns 0x01095DD0 10 thunk_to_STL_string_dtor_01095dd0 stl Wrapper that calls STL_string_dtor and returns 0x01095DE0 10 thunk_to_STL_string_dtor_01095de0 stl Wrapper that calls STL_string_dtor and returns 0x01095DF0 10 thunk_to_STL_string_dtor_01095df0 stl Wrapper that calls STL_string_dtor and returns 0x01095E70 280 atexit_unregister_window_classes_and_delete_critsec_01095e70 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01096030 280 atexit_unregister_window_classes_and_delete_critsec_01096030 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x010961C0 280 atexit_unregister_window_classes_and_delete_critsec_010961c0 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x010962E0 69 tls_clear_field_b190 crt TLS destructor: zeros 0xe bytes at TLS offset 0xb190. Clears thread-local encrypted string buffer. 0x01096330 69 tls_clear_field_b1a4 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xb1a4. Clears thread-local encrypted string buffer. 0x010963D3 1 CRT_stub_010963d3 crt Crt stub 010963d3, small utility function 0x010963F0 280 atexit_unregister_window_classes_and_delete_critsec_010963f0 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01096580 280 atexit_unregister_window_classes_and_delete_critsec_01096580 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01096710 280 atexit_unregister_window_classes_and_delete_critsec_01096710 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01096830 10 thunk_to_STL_string_dtor_01096830 stl Wrapper that calls STL_string_dtor and returns 0x01096840 10 thunk_to_STL_string_dtor_01096840 stl Wrapper that calls STL_string_dtor and returns 0x01096850 10 thunk_to_STL_string_dtor_01096850 stl Wrapper that calls STL_string_dtor and returns 0x01096860 10 thunk_to_STL_string_dtor_01096860 stl Wrapper that calls STL_string_dtor and returns 0x01096870 10 thunk_to_STL_string_dtor_01096870 stl Wrapper that calls STL_string_dtor and returns 0x01096880 10 thunk_to_STL_string_dtor_01096880 stl Wrapper that calls STL_string_dtor and returns 0x01096890 120 atexit_destroy_CTreeMap_rbtree crt Atexit handler: sets vtable to CTreeMap__scalar_deleting_dtor, destroys the global CTreeMap red-black tree nodes with string keys (28-byte entries), then frees the root node. 0x01096910 10 thunk_to_STL_string_dtor_01096910 stl Wrapper function that calls STL_string_dtor and returns 0x01096920 10 thunk_to_STL_string_dtor_01096920 stl Wrapper that calls STL_string_dtor and returns 0x01096930 10 thunk_to_STL_string_dtor_01096930 stl Wrapper that calls STL_string_dtor and returns 0x01096940 10 thunk_to_STL_string_dtor_01096940 stl Wrapper that calls STL_string_dtor and returns 0x01096950 10 thunk_to_STL_string_dtor_01096950 stl Wrapper that calls STL_string_dtor and returns 0x01096960 10 thunk_to_STL_string_dtor_01096960 stl Wrapper that calls STL_string_dtor and returns 0x01096970 10 thunk_to_STL_string_dtor_01096970 stl Wrapper that calls STL_string_dtor and returns 0x01096980 10 thunk_to_STL_string_dtor_01096980 stl Wrapper that calls STL_string_dtor and returns 0x01096990 10 thunk_to_STL_string_dtor_01096990 stl Wrapper that calls STL_string_dtor and returns 0x010969A0 10 thunk_to_STL_string_dtor_010969a0 stl Wrapper that calls STL_string_dtor and returns 0x010969B0 10 thunk_to_STL_string_dtor_010969b0 stl Wrapper that calls STL_string_dtor and returns 0x010969C0 10 thunk_to_STL_string_dtor_010969c0 stl Wrapper that calls STL_string_dtor and returns 0x010969D0 10 thunk_to_STL_string_dtor_010969d0 stl Wrapper that calls STL_string_dtor and returns 0x010969E0 10 thunk_to_STL_string_dtor_010969e0 stl Wrapper that calls STL_string_dtor and returns 0x010969F0 10 thunk_to_STL_string_dtor_010969f0 stl Wrapper that calls STL_string_dtor and returns 0x01096A00 10 thunk_to_STL_string_dtor_01096a00 stl Wrapper that calls STL_string_dtor and returns 0x01096A10 10 thunk_to_STL_string_dtor_01096a10 stl Wrapper that calls STL_string_dtor and returns 0x01096A20 10 thunk_to_STL_string_dtor_01096a20 stl Wrapper that calls STL_string_dtor and returns 0x01096A30 10 thunk_to_STL_string_dtor_01096a30 stl Wrapper that calls STL_string_dtor and returns 0x01096AB0 280 atexit_unregister_window_classes_and_delete_critsec_01096ab0 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01096BD0 66 atexit_destroy_STL_map_01096bd0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x01096C30 10 thunk_to_STL_string_dtor_01096c30 stl Wrapper that calls STL_string_dtor and returns 0x01096C40 10 thunk_to_STL_string_dtor_01096c40 stl Wrapper that calls STL_string_dtor and returns 0x01096C50 10 thunk_to_STL_string_dtor_01096c50 stl Wrapper that calls STL_string_dtor and returns 0x01096C60 10 thunk_to_STL_string_dtor_01096c60 stl Wrapper that calls STL_string_dtor and returns 0x01096C70 10 thunk_to_STL_string_dtor_01096c70 stl Wrapper that calls STL_string_dtor and returns 0x01096C80 10 thunk_to_STL_string_dtor_01096c80 stl Wrapper that calls STL_string_dtor and returns 0x01096C90 10 thunk_to_STL_string_dtor_01096c90 stl Wrapper that calls STL_string_dtor and returns 0x01096CA0 10 thunk_to_STL_string_dtor_01096ca0 stl Wrapper that calls STL_string_dtor and returns 0x01096CB0 10 thunk_to_STL_string_dtor_01096cb0 stl Wrapper that calls STL_string_dtor and returns 0x01096CC0 10 thunk_to_STL_string_dtor_01096cc0 stl Wrapper that calls STL_string_dtor and returns 0x01096CD0 10 thunk_to_STL_string_dtor_01096cd0 stl Wrapper that calls STL_string_dtor and returns 0x01096CE0 10 thunk_to_STL_string_dtor_01096ce0 stl Wrapper that calls STL_string_dtor and returns 0x01096CF0 10 thunk_to_STL_string_dtor_01096cf0 stl Wrapper that calls STL_string_dtor and returns 0x01096D00 10 thunk_to_STL_string_dtor_01096d00 stl Wrapper that calls STL_string_dtor and returns 0x01096D10 10 thunk_to_STL_string_dtor_01096d10 stl Wrapper function that calls STL_string_dtor and returns 0x01096D20 10 thunk_to_STL_string_dtor_01096d20 stl Wrapper that calls STL_string_dtor and returns 0x01096D30 10 thunk_to_STL_string_dtor_01096d30 stl Wrapper that calls STL_string_dtor and returns 0x01096D40 10 thunk_to_STL_string_dtor_01096d40 stl Wrapper that calls STL_string_dtor and returns 0x01096D50 10 thunk_to_STL_string_dtor_01096d50 stl Wrapper that calls STL_string_dtor and returns 0x01096D60 10 thunk_to_STL_string_dtor_01096d60 stl Wrapper that calls STL_string_dtor and returns 0x01096D70 10 thunk_to_STL_string_dtor_01096d70 stl Wrapper that calls STL_string_dtor and returns 0x01096D80 10 thunk_to_STL_string_dtor_01096d80 stl Wrapper that calls STL_string_dtor and returns 0x01096D90 10 thunk_to_STL_string_dtor_01096d90 stl Wrapper that calls STL_string_dtor and returns 0x01096DA0 10 thunk_to_STL_string_dtor_01096da0 stl Wrapper that calls STL_string_dtor and returns 0x01096DB0 10 thunk_to_STL_string_dtor_01096db0 stl Wrapper that calls STL_string_dtor and returns 0x01096E30 280 atexit_unregister_window_classes_and_delete_critsec_01096e30 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01096F50 10 thunk_to_STL_string_dtor_01096f50 stl Wrapper that calls STL_string_dtor and returns 0x01096F60 10 thunk_to_STL_string_dtor_01096f60 stl Wrapper that calls STL_string_dtor and returns 0x01096F70 10 thunk_to_STL_string_dtor_01096f70 stl Wrapper that calls STL_string_dtor and returns immediately 0x01096F80 10 thunk_to_STL_string_dtor_01096f80 stl Wrapper that calls STL_string_dtor and returns 0x01096F90 10 thunk_to_STL_string_dtor_01096f90 stl Wrapper that calls STL_string_dtor and returns 0x01096FA0 10 thunk_to_STL_string_dtor_01096fa0 stl Wrapper that calls STL_string_dtor and returns 0x01096FB0 10 thunk_to_STL_string_dtor_01096fb0 stl Wrapper that calls STL_string_dtor and returns 0x01096FC0 10 thunk_to_STL_string_dtor_01096fc0 stl Wrapper that calls STL_string_dtor and returns 0x01096FD0 10 thunk_to_STL_string_dtor_01096fd0 stl Wrapper that calls STL_string_dtor and returns 0x01096FE0 10 thunk_to_STL_string_dtor_01096fe0 stl Wrapper that calls STL_string_dtor and returns 0x01096FF0 10 thunk_to_STL_string_dtor_01096ff0 stl Wrapper that calls STL_string_dtor and returns 0x01097000 10 thunk_to_STL_string_dtor_01097000 stl Wrapper that calls STL_string_dtor and returns 0x01097010 10 thunk_to_STL_string_dtor_01097010 stl Wrapper that calls STL_string_dtor and returns 0x01097020 10 thunk_to_STL_string_dtor_01097020 stl Wrapper that calls STL_string_dtor and returns 0x01097030 10 thunk_to_STL_string_dtor_01097030 stl Wrapper function that calls STL_string_dtor and returns 0x01097040 10 thunk_to_STL_string_dtor_01097040 stl Wrapper that calls STL_string_dtor and returns 0x01097050 10 thunk_to_STL_string_dtor_01097050 stl Wrapper that calls STL_string_dtor and returns 0x01097060 10 thunk_to_STL_string_dtor_01097060 stl Wrapper that calls STL_string_dtor and returns 0x01097070 10 thunk_to_STL_string_dtor_01097070 stl Wrapper that calls STL_string_dtor and returns 0x01097080 10 thunk_to_STL_string_dtor_01097080 stl Wrapper that calls STL_string_dtor and returns 0x01097090 10 thunk_to_STL_string_dtor_01097090 stl Wrapper that calls STL_string_dtor and returns 0x010970A0 10 thunk_to_STL_string_dtor_010970a0 stl Wrapper that calls STL_string_dtor and returns 0x010970B0 10 thunk_to_STL_string_dtor_010970b0 stl Wrapper that calls STL_string_dtor and returns 0x010970C0 10 thunk_to_STL_string_dtor_010970c0 stl Wrapper that calls STL_string_dtor and returns 0x010970D0 10 thunk_to_STL_string_dtor_010970d0 stl Wrapper that calls STL_string_dtor and returns 0x01097150 280 atexit_unregister_window_classes_and_delete_critsec_01097150 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01097270 69 tls_clear_field_b250 crt TLS destructor: zeros 0xe bytes at TLS offset 0xb250. Clears thread-local encrypted string buffer. 0x010972C0 69 tls_clear_field_b1bc crt TLS destructor: zeros 9 bytes at TLS offset 0xb1bc. Clears thread-local encrypted string buffer. 0x01097310 69 tls_clear_array_8_at_0xb1cc crt TLS initializer callback. Zeros 8 bytes in the TLS block at offset 0xB1CC. 0x01097360 69 tls_clear_field_b1dc crt TLS destructor: zeros 10 bytes at TLS offset 0xb1dc. Clears thread-local encrypted string buffer. 0x010973B0 69 tls_clear_field_b1ec crt TLS destructor: zeros 8 bytes at TLS offset 0xb1ec. Clears thread-local encrypted string buffer. 0x01097400 69 tls_clear_field_b1fc crt TLS destructor: zeros 10 bytes at TLS offset 0xb1fc. Clears thread-local encrypted string buffer. 0x01097450 69 tls_clear_field_b20c crt TLS destructor: zeros 10 bytes at TLS offset 0xb20c. Clears thread-local encrypted string buffer. 0x010974A0 69 tls_clear_field_b21c crt TLS destructor: zeros 9 bytes at TLS offset 0xb21c. Clears thread-local encrypted string buffer. 0x010974F0 69 tls_clear_field_b22c crt TLS destructor: zeros 0xf bytes at TLS offset 0xb22c. Clears thread-local encrypted string buffer. 0x01097540 69 tls_clear_field_b240 crt TLS destructor: zeros 0xb bytes at TLS offset 0xb240. Clears thread-local encrypted string buffer. 0x01097600 280 atexit_unregister_window_classes_and_delete_critsec_01097600 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x01097790 280 atexit_unregister_window_classes_and_delete_critsec_01097790 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section at DAT_013871e0, and resets globals. SEH-protected. Duplicate of 01094920. 0x010978B0 10 thunk_to_STL_string_dtor_010978b0 stl Wrapper that calls STL_string_dtor and returns 0x010978C0 10 thunk_to_STL_string_dtor_010978c0 stl Wrapper that calls STL_string_dtor and returns 0x010978D0 10 thunk_to_STL_string_dtor_010978d0 stl Wrapper that calls STL_string_dtor and returns 0x010978E0 10 thunk_to_STL_string_dtor_010978e0 stl Wrapper that calls STL_string_dtor and returns 0x010978F0 10 thunk_to_STL_string_dtor_010978f0 stl Wrapper that calls STL_string_dtor and returns 0x01097900 10 thunk_to_STL_string_dtor_01097900 stl Wrapper that calls STL_string_dtor and returns 0x01097910 10 thunk_to_STL_string_dtor_01097910 stl Wrapper that calls STL_string_dtor and returns 0x01097920 10 thunk_to_STL_string_dtor_01097920 stl Wrapper that calls STL_string_dtor and returns 0x01097930 10 thunk_to_STL_string_dtor_01097930 stl Wrapper that calls STL_string_dtor and returns 0x01097940 10 thunk_to_STL_string_dtor_01097940 stl Wrapper that calls STL_string_dtor and returns 0x01097950 10 thunk_to_STL_string_dtor_01097950 stl Wrapper that calls STL_string_dtor and returns 0x01097960 10 thunk_to_STL_string_dtor_01097960 stl Wrapper that calls STL_string_dtor and returns 0x01097970 10 thunk_to_STL_string_dtor_01097970 stl Wrapper that calls STL_string_dtor and returns 0x01097980 10 thunk_to_STL_string_dtor_01097980 stl Wrapper that calls STL_string_dtor and returns 0x01097990 10 thunk_to_STL_string_dtor_01097990 stl Wrapper that calls STL_string_dtor and returns 0x010979A0 10 thunk_to_STL_string_dtor_010979a0 stl Wrapper that calls STL_string_dtor and returns 0x010979B0 10 thunk_to_STL_string_dtor_010979b0 stl Wrapper that calls STL_string_dtor and returns 0x010979C0 10 thunk_to_STL_string_dtor_010979c0 stl Wrapper that calls STL_string_dtor and returns 0x010979D0 10 thunk_to_STL_string_dtor_010979d0 stl Wrapper that calls STL_string_dtor and returns 0x010979E0 10 thunk_to_STL_string_dtor_010979e0 stl Wrapper that calls STL_string_dtor and returns 0x010979F0 10 thunk_to_STL_string_dtor_010979f0 stl Wrapper that calls STL_string_dtor and returns 0x01097A00 10 thunk_to_STL_string_dtor_01097a00 stl Wrapper that calls STL_string_dtor and returns 0x01097A10 10 thunk_to_STL_string_dtor_01097a10 stl Wrapper that calls STL_string_dtor and returns 0x01097A20 10 thunk_to_STL_string_dtor_01097a20 stl Wrapper that calls STL_string_dtor and returns 0x01097A30 10 thunk_to_STL_string_dtor_01097a30 stl Wrapper that calls STL_string_dtor and returns 0x01097AB0 280 atexit_unregister_window_classes_and_cleanup_01097ab0 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01097BD0 66 atexit_destroy_STL_map_01097bd0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x01097C20 10 thunk_to_STL_string_dtor_01097c20 stl Wrapper that calls STL_string_dtor and returns 0x01097C30 10 thunk_to_STL_string_dtor_01097c30 stl Wrapper that calls STL_string_dtor and returns 0x01097C40 10 thunk_to_STL_string_dtor_01097c40 stl Wrapper that calls STL_string_dtor and returns 0x01097C50 10 thunk_to_STL_string_dtor_01097c50 stl Wrapper that calls STL_string_dtor and returns 0x01097C60 10 thunk_to_STL_string_dtor_01097c60 stl Wrapper that calls STL_string_dtor and returns 0x01097C70 10 thunk_to_STL_string_dtor_01097c70 stl Wrapper that calls STL_string_dtor and returns 0x01097C80 10 thunk_to_STL_string_dtor_01097c80 stl Wrapper that calls STL_string_dtor and returns 0x01097C90 10 thunk_to_STL_string_dtor_01097c90 stl Wrapper function that calls STL_string_dtor and returns 0x01097CA0 10 thunk_to_STL_string_dtor_01097ca0 stl Wrapper that calls STL_string_dtor and returns 0x01097CB0 10 thunk_to_STL_string_dtor_01097cb0 stl Wrapper function that calls STL_string_dtor and returns 0x01097CC0 10 thunk_to_STL_string_dtor_01097cc0 stl Wrapper that calls STL_string_dtor and returns 0x01097CD0 10 thunk_to_STL_string_dtor_01097cd0 stl Wrapper that calls STL_string_dtor and returns 0x01097CE0 10 thunk_to_STL_string_dtor_01097ce0 stl Wrapper that calls STL_string_dtor and returns 0x01097CF0 10 thunk_to_STL_string_dtor_01097cf0 stl Wrapper that calls STL_string_dtor and returns 0x01097D00 10 thunk_to_STL_string_dtor_01097d00 stl Wrapper that calls STL_string_dtor and returns 0x01097D10 10 thunk_to_STL_string_dtor_01097d10 stl Wrapper that calls STL_string_dtor and returns 0x01097D20 10 thunk_to_STL_string_dtor_01097d20 stl Wrapper that calls STL_string_dtor and returns 0x01097D30 10 thunk_to_STL_string_dtor_01097d30 stl Wrapper that calls STL_string_dtor and returns 0x01097D40 10 thunk_to_STL_string_dtor_01097d40 stl Wrapper that calls STL_string_dtor and returns 0x01097D50 10 thunk_to_STL_string_dtor_01097d50 stl Wrapper that calls STL_string_dtor and returns 0x01097D60 10 thunk_to_STL_string_dtor_01097d60 stl Wrapper that calls STL_string_dtor and returns 0x01097D70 10 thunk_to_STL_string_dtor_01097d70 stl Wrapper that calls STL_string_dtor and returns 0x01097D80 10 thunk_to_STL_string_dtor_01097d80 stl Wrapper that calls STL_string_dtor and returns 0x01097D90 10 thunk_to_STL_string_dtor_01097d90 stl Wrapper that calls STL_string_dtor and returns 0x01097DA0 10 thunk_to_STL_string_dtor_01097da0 stl Wrapper that calls STL_string_dtor and returns 0x01097E20 280 atexit_unregister_window_classes_and_cleanup_01097e20 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01097F40 66 atexit_destroy_render_pipeline_01097f40 crt Static destructor (atexit callback) for a global CRenderPipeline linked list and vector. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x01097F90 10 thunk_to_STL_string_dtor_01097f90 stl Wrapper that calls STL_string_dtor and returns 0x01097FA0 10 thunk_to_STL_string_dtor_01097fa0 stl Wrapper that calls STL_string_dtor and returns 0x01097FB0 10 thunk_to_STL_string_dtor_01097fb0 stl Wrapper that calls STL_string_dtor and returns 0x01097FC0 10 thunk_to_STL_string_dtor_01097fc0 stl Wrapper that calls STL_string_dtor and returns 0x01097FD0 10 thunk_to_STL_string_dtor_01097fd0 stl Wrapper function that calls STL_string_dtor and returns 0x01097FE0 10 thunk_to_STL_string_dtor_01097fe0 stl Wrapper that calls STL_string_dtor and returns 0x01097FF0 10 thunk_to_STL_string_dtor_01097ff0 stl Wrapper that calls STL_string_dtor and returns 0x01098000 10 thunk_to_STL_string_dtor_01098000 stl Wrapper that calls STL_string_dtor and returns 0x01098010 10 thunk_to_STL_string_dtor_01098010 stl Wrapper calling STL_string_dtor destructor 0x01098020 10 thunk_to_STL_string_dtor_01098020 stl Wrapper that calls STL_string_dtor and returns 0x01098030 10 thunk_to_STL_string_dtor_01098030 stl Wrapper that calls STL_string_dtor destructor 0x01098040 10 thunk_to_STL_string_dtor_01098040 stl Wrapper that calls STL_string_dtor and returns 0x01098050 10 thunk_to_STL_string_dtor_01098050 stl Wrapper that calls STL_string_dtor and returns 0x01098060 10 thunk_to_STL_string_dtor_01098060 stl Wrapper that calls STL_string_dtor and returns 0x01098070 10 thunk_to_STL_string_dtor_01098070 stl Wrapper that calls STL_string_dtor and returns 0x01098080 10 thunk_to_STL_string_dtor_01098080 stl Wrapper that calls STL_string_dtor and returns 0x01098090 10 thunk_to_STL_string_dtor_01098090 stl Wrapper that calls STL_string_dtor and returns 0x010980A0 10 thunk_to_STL_string_dtor_010980a0 stl Wrapper that calls STL_string_dtor and returns 0x010980B0 10 thunk_to_STL_string_dtor_010980b0 stl Wrapper that calls STL_string_dtor and returns 0x010980C0 10 thunk_to_STL_string_dtor_010980c0 stl Wrapper that calls STL_string_dtor and returns 0x010980D0 10 thunk_to_STL_string_dtor_010980d0 stl Wrapper that calls STL_string_dtor and returns 0x010980E0 10 thunk_to_STL_string_dtor_010980e0 stl Wrapper that calls STL_string_dtor and returns 0x010980F0 10 thunk_to_STL_string_dtor_010980f0 stl Wrapper that calls STL_string_dtor and returns 0x01098100 10 thunk_to_STL_string_dtor_01098100 stl Wrapper that calls STL_string_dtor and returns 0x01098110 10 thunk_to_STL_string_dtor_01098110 stl Wrapper that calls STL_string_dtor and returns 0x01098190 280 atexit_unregister_window_classes_and_cleanup_01098190 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x010982B0 66 atexit_destroy_STL_map_010982b0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x01098300 10 thunk_to_STL_string_dtor_01098300 stl Wrapper that calls STL_string_dtor and returns 0x01098310 10 thunk_to_STL_string_dtor_01098310 stl Wrapper that calls STL_string_dtor and returns 0x01098320 10 thunk_to_STL_string_dtor_01098320 stl Wrapper that calls STL_string_dtor and returns 0x01098330 10 thunk_to_STL_string_dtor_01098330 stl Wrapper that calls STL_string_dtor and returns 0x01098340 10 thunk_to_STL_string_dtor_01098340 stl Wrapper that calls STL_string_dtor and returns 0x01098350 10 thunk_to_STL_string_dtor_01098350 stl Wrapper that calls STL_string_dtor and returns 0x01098360 10 thunk_to_STL_string_dtor_01098360 stl Wrapper that calls STL_string_dtor and returns 0x01098370 10 thunk_to_STL_string_dtor_01098370 stl Wrapper that calls STL_string_dtor and returns 0x01098380 10 thunk_to_STL_string_dtor_01098380 stl Wrapper that calls STL_string_dtor and returns 0x01098390 10 thunk_to_STL_string_dtor_01098390 stl Wrapper that calls STL_string_dtor and returns 0x010983A0 10 thunk_to_STL_string_dtor_010983a0 stl Wrapper that calls STL_string_dtor and returns 0x010983B0 10 thunk_to_STL_string_dtor_010983b0 stl Wrapper that calls STL_string_dtor and returns 0x010983C0 10 thunk_to_STL_string_dtor_010983c0 stl Wrapper that calls STL_string_dtor and returns 0x010983D0 10 thunk_to_STL_string_dtor_010983d0 stl Wrapper that calls STL_string_dtor and returns 0x010983E0 10 thunk_to_STL_string_dtor_010983e0 stl Wrapper that calls STL_string_dtor and returns 0x010983F0 10 thunk_to_STL_string_dtor_010983f0 stl Wrapper that calls STL_string_dtor and returns 0x01098400 10 thunk_to_STL_string_dtor_01098400 stl Wrapper that calls STL_string_dtor and returns 0x01098410 10 thunk_to_STL_string_dtor_01098410 stl Wrapper that calls STL_string_dtor and returns 0x01098420 10 thunk_to_STL_string_dtor_01098420 stl Wrapper that calls STL_string_dtor and returns 0x01098430 10 thunk_to_STL_string_dtor_01098430 stl Wrapper that calls STL_string_dtor and returns 0x01098440 10 thunk_to_STL_string_dtor_01098440 stl Wrapper that calls STL_string_dtor and returns 0x01098450 10 thunk_to_STL_string_dtor_01098450 stl Wrapper that calls STL_string_dtor and returns 0x01098460 10 thunk_to_STL_string_dtor_01098460 stl Wrapper that calls STL_string_dtor and returns 0x01098470 10 thunk_to_STL_string_dtor_01098470 stl Wrapper that calls STL_string_dtor and returns 0x01098480 10 thunk_to_STL_string_dtor_01098480 stl Wrapper that calls STL_string_dtor and returns 0x01098500 280 atexit_unregister_window_classes_and_cleanup_01098500 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01098620 10 thunk_to_STL_string_dtor_01098620 stl Wrapper that calls STL_string_dtor destructor 0x01098630 10 thunk_to_STL_string_dtor_01098630 stl Wrapper function that calls STL_string_dtor and returns 0x01098640 10 thunk_to_STL_string_dtor_01098640 stl Wrapper that calls STL_string_dtor and returns 0x01098650 10 thunk_to_STL_string_dtor_01098650 stl Wrapper that calls STL_string_dtor and returns 0x01098660 10 thunk_to_STL_string_dtor_01098660 stl Wrapper that calls STL_string_dtor and returns 0x01098670 10 thunk_to_STL_string_dtor_01098670 stl Wrapper that calls STL_string_dtor and returns 0x01098680 10 thunk_to_STL_string_dtor_01098680 stl Wrapper that calls STL_string_dtor and returns 0x01098690 10 thunk_to_STL_string_dtor_01098690 stl Wrapper that calls STL_string_dtor and returns 0x010986A0 10 thunk_to_STL_string_dtor_010986a0 stl Wrapper that calls STL_string_dtor and returns 0x010986B0 10 thunk_to_STL_string_dtor_010986b0 stl Wrapper that calls STL_string_dtor and returns 0x010986C0 10 thunk_to_STL_string_dtor_010986c0 stl Wrapper that calls STL_string_dtor and returns 0x010986D0 10 thunk_to_STL_string_dtor_010986d0 stl Wrapper that calls STL_string_dtor and returns 0x010986E0 10 thunk_to_STL_string_dtor_010986e0 stl Wrapper that calls STL_string_dtor and returns 0x010986F0 10 thunk_to_STL_string_dtor_010986f0 stl Wrapper that calls STL_string_dtor and returns 0x01098700 10 thunk_to_STL_string_dtor_01098700 stl Wrapper that calls STL_string_dtor and returns 0x01098710 10 thunk_to_STL_string_dtor_01098710 stl Wrapper that calls STL_string_dtor and returns 0x01098720 10 thunk_to_STL_string_dtor_01098720 stl Wrapper that calls STL_string_dtor and returns 0x01098730 10 thunk_to_STL_string_dtor_01098730 stl Wrapper that calls STL_string_dtor and returns 0x01098740 10 thunk_to_STL_string_dtor_01098740 stl Wrapper that calls STL_string_dtor and returns 0x01098750 10 thunk_to_STL_string_dtor_01098750 stl Wrapper that calls STL_string_dtor and returns 0x01098760 10 thunk_to_STL_string_dtor_01098760 stl Wrapper that calls STL_string_dtor and returns 0x01098770 10 thunk_to_STL_string_dtor_01098770 stl Wrapper that calls STL_string_dtor and returns 0x01098780 10 thunk_to_STL_string_dtor_01098780 stl Wrapper function that calls STL_string_dtor and returns 0x01098790 10 thunk_to_STL_string_dtor_01098790 stl Wrapper that calls STL_string_dtor and returns 0x010987A0 10 thunk_to_STL_string_dtor_010987a0 stl Wrapper that calls STL_string_dtor and returns 0x01098820 280 atexit_unregister_window_classes_and_cleanup_01098820 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01098940 10 thunk_to_STL_string_dtor_01098940 stl Wrapper that calls STL_string_dtor and returns 0x01098950 105 atexit_destroy_vector_and_linked_list crt Atexit handler: destroys a global STL vector (4-byte aligned dealloc) and a linked list (0x24 node size). Frees list head node via operator_delete. SEH protected. 0x010989C0 10 thunk_to_CFmt__destroy_string_vector fmtlib Thunk: jumps to CFmt__destroy_string_vector. 0x010989D0 93 atexit_destroy_CSVParser_and_vector_010989d0 crt Static destructor (atexit callback) for a global CSVParser. Sets vtable to CItemInfoMgr scalar dtor, calls CSVParser__free_all_line_buffers, then STL_vector_free_aligned with SEH protection. 0x01098A30 10 thunk_to_STL_string_dtor_01098a30 stl Wrapper that calls STL_string_dtor and returns 0x01098AB0 280 atexit_unregister_window_classes_and_cleanup_01098ab0 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01098BD0 10 thunk_to_std__tree_destroy_all stl Thunk: jumps to std__tree_0x20__destroy_all_wrapper2 (STL red-black tree destructor). 0x01098C50 280 atexit_unregister_window_classes_and_cleanup_01098c50 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01098DE0 280 atexit_unregister_window_classes_and_cleanup_01098de0 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01098F70 280 atexit_unregister_window_classes_and_cleanup_01098f70 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01099100 280 atexit_unregister_window_classes_and_cleanup_01099100 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01099290 280 atexit_unregister_window_classes_and_cleanup_01099290 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01099420 280 atexit_unregister_window_classes_and_cleanup_01099420 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x010995B0 280 atexit_unregister_window_classes_and_cleanup_010995b0 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01099740 280 atexit_unregister_window_classes_and_cleanup_01099740 crt Atexit handler: unregisters all window classes via UnregisterClassA, frees the class atom array, deletes the critical section, and resets globals. SEH protected. 0x01099860 10 thunk_to_STL_string_dtor_01099860 stl Wrapper that calls STL_string_dtor and returns 0x01099870 10 thunk_to_STL_string_dtor_01099870 stl Wrapper that calls STL_string_dtor and returns 0x01099880 10 thunk_to_STL_string_dtor_01099880 stl Wrapper that calls STL_string_dtor and returns 0x01099890 10 thunk_to_STL_string_dtor_01099890 stl Wrapper that calls STL_string_dtor and returns 0x010998A0 10 thunk_to_STL_string_dtor_010998a0 stl Wrapper that calls STL_string_dtor and returns 0x010998B0 10 thunk_to_STL_string_dtor_010998b0 stl Wrapper that calls STL_string_dtor and returns 0x010998C0 10 thunk_to_STL_string_dtor_010998c0 stl Wrapper that calls STL_string_dtor and returns 0x010998D0 10 thunk_to_STL_string_dtor_010998d0 stl Wrapper that calls STL_string_dtor and returns 0x010998E0 10 thunk_to_STL_string_dtor_010998e0 stl Wrapper that calls STL_string_dtor and returns 0x010998F0 10 thunk_to_STL_string_dtor_010998f0 stl Wrapper that calls STL_string_dtor and returns 0x01099900 10 thunk_to_STL_string_dtor_01099900 stl Wrapper that calls STL_string_dtor and returns 0x01099910 10 thunk_to_STL_string_dtor_01099910 stl Wrapper that calls STL_string_dtor and returns 0x01099920 10 thunk_to_STL_string_dtor_01099920 stl Wrapper that calls STL_string_dtor and returns 0x01099930 10 thunk_to_STL_string_dtor_01099930 stl Wrapper that calls STL_string_dtor and returns 0x01099940 10 thunk_to_STL_string_dtor_01099940 stl Wrapper that calls STL_string_dtor and returns 0x01099950 10 thunk_to_STL_string_dtor_01099950 stl Wrapper that calls STL_string_dtor and returns 0x01099960 10 thunk_to_STL_string_dtor_01099960 stl Wrapper that calls STL_string_dtor and returns 0x01099970 10 thunk_to_STL_string_dtor_01099970 stl Wrapper that calls STL_string_dtor and returns 0x01099980 10 thunk_to_STL_string_dtor_01099980 stl Wrapper that calls STL_string_dtor and returns 0x01099990 10 thunk_to_STL_string_dtor_01099990 stl Wrapper that calls STL_string_dtor and returns 0x010999A0 10 thunk_to_STL_string_dtor_010999a0 stl Wrapper that calls STL_string_dtor and returns 0x010999B0 10 thunk_to_STL_string_dtor_010999b0 stl Wrapper that calls STL_string_dtor and returns 0x010999C0 10 thunk_to_STL_string_dtor_010999c0 stl Wrapper that calls STL_string_dtor and returns 0x010999D0 10 thunk_to_STL_string_dtor_010999d0 stl Wrapper that calls STL_string_dtor and returns 0x010999E0 10 thunk_to_STL_string_dtor_010999e0 stl Wrapper that calls STL_string_dtor and returns 0x01099A60 280 atexit_unregister_window_classes_01099a60 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x01099BF0 280 atexit_unregister_window_classes_01099bf0 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x01099D80 280 atexit_unregister_window_classes_01099d80 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x01099F10 280 atexit_unregister_window_classes_01099f10 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x0109A030 10 thunk_to_STL_string_dtor_0109a030 stl Wrapper that calls STL_string_dtor and returns 0x0109A040 10 thunk_to_STL_string_dtor_0109a040 stl Wrapper that calls STL_string_dtor and returns 0x0109A050 10 thunk_to_STL_string_dtor_0109a050 stl Wrapper that calls STL_string_dtor and returns 0x0109A060 10 thunk_to_STL_string_dtor_0109a060 stl Wrapper that calls STL_string_dtor and returns 0x0109A070 10 thunk_to_STL_string_dtor_0109a070 stl Wrapper function that calls STL_string_dtor and returns 0x0109A080 10 thunk_to_STL_string_dtor_0109a080 stl Wrapper that calls STL_string_dtor and returns 0x0109A090 10 thunk_to_STL_string_dtor_0109a090 stl Wrapper that calls STL_string_dtor and returns 0x0109A0A0 10 thunk_to_STL_string_dtor_0109a0a0 stl Wrapper that calls STL_string_dtor and returns 0x0109A0B0 10 thunk_to_STL_string_dtor_0109a0b0 stl Wrapper that calls STL_string_dtor and returns 0x0109A0C0 10 thunk_to_STL_string_dtor_0109a0c0 stl Wrapper that calls STL_string_dtor and returns 0x0109A0D0 10 thunk_to_STL_string_dtor_0109a0d0 stl Wrapper that calls STL_string_dtor and returns 0x0109A0E0 10 thunk_to_STL_string_dtor_0109a0e0 stl Wrapper that calls STL_string_dtor and returns 0x0109A0F0 10 thunk_to_STL_string_dtor_0109a0f0 stl Wrapper that calls STL_string_dtor and returns 0x0109A100 10 thunk_to_STL_string_dtor_0109a100 stl Wrapper that calls STL_string_dtor and returns 0x0109A110 10 thunk_to_STL_string_dtor_0109a110 stl Wrapper that calls STL_string_dtor and returns 0x0109A120 10 thunk_to_STL_string_dtor_0109a120 stl Wrapper that calls STL_string_dtor and returns 0x0109A130 10 thunk_to_STL_string_dtor_0109a130 stl Wrapper that calls STL_string_dtor and returns 0x0109A140 10 thunk_to_STL_string_dtor_0109a140 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109A150 10 thunk_to_STL_string_dtor_0109a150 stl Wrapper that calls STL_string_dtor and returns 0x0109A160 10 thunk_to_STL_string_dtor_0109a160 stl Wrapper that calls STL_string_dtor and returns 0x0109A170 10 thunk_to_STL_string_dtor_0109a170 stl Wrapper that calls STL_string_dtor and returns 0x0109A180 10 thunk_to_STL_string_dtor_0109a180 stl Wrapper that calls STL_string_dtor and returns 0x0109A190 10 thunk_to_STL_string_dtor_0109a190 stl Wrapper that calls STL_string_dtor and returns 0x0109A1A0 10 thunk_to_STL_string_dtor_0109a1a0 stl Wrapper that calls STL_string_dtor and returns 0x0109A1B0 10 thunk_to_STL_string_dtor_0109a1b0 stl Wrapper that calls STL_string_dtor and returns 0x0109A230 280 atexit_unregister_window_classes_0109a230 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x0109A350 66 atexit_destroy_STL_map_0109a350 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x0109A3A0 66 atexit_destroy_render_pipeline_0109a3a0 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x0109A3F0 83 atexit_destroy_vector_and_linked_list_0109a3f0 crt Static destructor (atexit callback) with two-stage cleanup. Calls STL_vector_dealloc_and_clear, then destroy_linked_list_0x18_sentinel with SEH protection. 0x0109A450 10 thunk_to_STL_string_dtor_0109a450 stl Wrapper that calls STL_string_dtor and returns 0x0109A460 10 thunk_to_STL_string_dtor_0109a460 stl Wrapper that calls STL_string_dtor and returns 0x0109A470 10 thunk_to_STL_string_dtor_0109a470 stl Wrapper that calls STL_string_dtor and returns 0x0109A480 10 thunk_to_STL_string_dtor_0109a480 stl Wrapper that calls STL_string_dtor and returns 0x0109A490 10 thunk_to_STL_string_dtor_0109a490 stl Wrapper that calls STL_string_dtor and returns 0x0109A4A0 10 thunk_to_STL_string_dtor_0109a4a0 stl Wrapper that calls STL_string_dtor and returns 0x0109A4B0 10 thunk_to_STL_string_dtor_0109a4b0 stl Wrapper that calls STL_string_dtor and returns 0x0109A4C0 10 thunk_to_STL_string_dtor_0109a4c0 stl Wrapper that calls STL_string_dtor and returns 0x0109A4D0 10 thunk_to_STL_string_dtor_0109a4d0 stl Wrapper that calls STL_string_dtor and returns 0x0109A4E0 10 thunk_to_STL_string_dtor_0109a4e0 stl Wrapper that calls STL_string_dtor and returns 0x0109A4F0 10 thunk_to_STL_string_dtor_0109a4f0 stl Wrapper that calls STL_string_dtor and returns 0x0109A500 10 thunk_to_STL_string_dtor_0109a500 stl Wrapper that calls STL_string_dtor and returns 0x0109A510 10 thunk_to_STL_string_dtor_0109a510 stl Wrapper function that calls STL_string_dtor and returns 0x0109A520 10 thunk_to_STL_string_dtor_0109a520 stl Wrapper that calls STL_string_dtor and returns 0x0109A530 10 thunk_to_STL_string_dtor_0109a530 stl Wrapper that calls STL_string_dtor and returns 0x0109A540 10 thunk_to_STL_string_dtor_0109a540 stl Wrapper that calls STL_string_dtor and returns 0x0109A550 10 thunk_to_STL_string_dtor_0109a550 stl Wrapper that calls STL_string_dtor and returns 0x0109A560 10 thunk_to_STL_string_dtor_0109a560 stl Wrapper that calls STL_string_dtor and returns 0x0109A570 10 thunk_to_STL_string_dtor_0109a570 stl Wrapper that calls STL_string_dtor and returns 0x0109A580 10 thunk_to_STL_string_dtor_0109a580 stl Wrapper that calls STL_string_dtor and returns 0x0109A590 10 thunk_to_STL_string_dtor_0109a590 stl Wrapper that calls STL_string_dtor and returns 0x0109A5A0 10 thunk_to_STL_string_dtor_0109a5a0 stl Wrapper that calls STL_string_dtor and returns 0x0109A5B0 10 thunk_to_STL_string_dtor_0109a5b0 stl Wrapper that calls STL_string_dtor and returns 0x0109A5C0 10 thunk_to_STL_string_dtor_0109a5c0 stl Wrapper that calls STL_string_dtor and returns 0x0109A5D0 10 thunk_to_STL_string_dtor_0109a5d0 stl Wrapper that calls STL_string_dtor and returns 0x0109A600 1 CRT_stub_0109a600 crt Crt stub 0109a600, small utility function 0x0109A650 280 atexit_unregister_window_classes_0109a650 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x0109A770 66 atexit_destroy_STL_map_0109a770 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x0109A7C0 69 tls_clear_field_b268 crt TLS destructor: zeros 0x44 bytes at TLS offset 0xb268. Clears thread-local encrypted string buffer. 0x0109A810 69 tls_clear_field_b2b4 crt TLS destructor: zeros 0x3b bytes at TLS offset 0xb2b4. Clears thread-local encrypted string buffer. 0x0109A860 10 thunk_to_STL_string_dtor_0109a860 stl Wrapper that calls STL_string_dtor and returns 0x0109A870 10 thunk_to_STL_string_dtor_0109a870 stl Wrapper that calls STL_string_dtor and returns 0x0109A880 10 thunk_to_STL_string_dtor_0109a880 stl Wrapper that calls STL_string_dtor and returns 0x0109A890 10 thunk_to_STL_string_dtor_0109a890 stl Wrapper that calls STL_string_dtor and returns 0x0109A8A0 10 thunk_to_STL_string_dtor_0109a8a0 stl Wrapper that calls STL_string_dtor and returns 0x0109A8B0 10 thunk_to_STL_string_dtor_0109a8b0 stl Wrapper that calls STL_string_dtor and returns 0x0109A8C0 10 thunk_to_STL_string_dtor_0109a8c0 stl Wrapper that calls STL_string_dtor and returns 0x0109A8D0 10 thunk_to_STL_string_dtor_0109a8d0 stl Wrapper that calls STL_string_dtor and returns 0x0109A8E0 10 thunk_to_STL_string_dtor_0109a8e0 stl Wrapper that calls STL_string_dtor and returns 0x0109A8F0 10 thunk_to_STL_string_dtor_0109a8f0 stl Wrapper that calls STL_string_dtor and returns 0x0109A900 10 thunk_to_STL_string_dtor_0109a900 stl Wrapper that calls STL_string_dtor and returns 0x0109A910 10 thunk_to_STL_string_dtor_0109a910 stl Wrapper that calls STL_string_dtor and returns 0x0109A920 10 thunk_to_STL_string_dtor_0109a920 stl Wrapper that calls STL_string_dtor and returns 0x0109A930 10 thunk_to_STL_string_dtor_0109a930 stl Wrapper that calls STL_string_dtor and returns 0x0109A940 10 thunk_to_STL_string_dtor_0109a940 stl Wrapper that calls STL_string_dtor and returns 0x0109A950 10 thunk_to_STL_string_dtor_0109a950 stl Wrapper that calls STL_string_dtor and returns 0x0109A960 10 thunk_to_STL_string_dtor_0109a960 stl Wrapper that calls STL_string_dtor and returns 0x0109A970 10 thunk_to_STL_string_dtor_0109a970 stl Wrapper that calls STL_string_dtor and returns 0x0109A980 10 thunk_to_STL_string_dtor_0109a980 stl Wrapper that calls STL_string_dtor and returns 0x0109A990 10 thunk_to_STL_string_dtor_0109a990 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109A9A0 10 thunk_to_STL_string_dtor_0109a9a0 stl Wrapper that calls STL_string_dtor and returns 0x0109A9B0 10 thunk_to_STL_string_dtor_0109a9b0 stl Wrapper that calls STL_string_dtor and returns 0x0109A9C0 10 thunk_to_STL_string_dtor_0109a9c0 stl Wrapper that calls STL_string_dtor and returns 0x0109A9D0 10 thunk_to_STL_string_dtor_0109a9d0 stl Wrapper that calls STL_string_dtor and returns 0x0109A9E0 10 thunk_to_STL_string_dtor_0109a9e0 stl Wrapper that calls STL_string_dtor and returns 0x0109AA60 280 atexit_unregister_window_classes_0109aa60 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x0109AB80 66 atexit_destroy_render_pipeline_0109ab80 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x0109ABD0 10 thunk_to_STL_string_dtor_0109abd0 stl Wrapper that calls STL_string_dtor and returns 0x0109ABE0 10 thunk_to_STL_string_dtor_0109abe0 stl Wrapper that calls STL_string_dtor and returns 0x0109ABF0 10 thunk_to_STL_string_dtor_0109abf0 stl Wrapper that calls STL_string_dtor and returns 0x0109AC00 10 thunk_to_STL_string_dtor_0109ac00 stl Wrapper function that calls STL_string_dtor and returns 0x0109AC10 10 thunk_to_STL_string_dtor_0109ac10 stl Wrapper that calls STL_string_dtor and returns 0x0109AC20 10 thunk_to_STL_string_dtor_0109ac20 stl Wrapper that calls STL_string_dtor and returns 0x0109AC30 10 thunk_to_STL_string_dtor_0109ac30 stl Wrapper that calls STL_string_dtor and returns 0x0109AC40 10 thunk_to_STL_string_dtor_0109ac40 stl Wrapper that calls STL_string_dtor and returns 0x0109AC50 10 thunk_to_STL_string_dtor_0109ac50 stl Wrapper that calls STL_string_dtor and returns 0x0109AC60 10 thunk_to_STL_string_dtor_0109ac60 stl Wrapper that calls STL_string_dtor and returns 0x0109AC70 10 thunk_to_STL_string_dtor_0109ac70 stl Wrapper that calls STL_string_dtor and returns 0x0109AC80 10 thunk_to_STL_string_dtor_0109ac80 stl Wrapper that calls STL_string_dtor and returns 0x0109AC90 10 thunk_to_STL_string_dtor_0109ac90 stl Wrapper that calls STL_string_dtor and returns 0x0109ACA0 10 thunk_to_STL_string_dtor_0109aca0 stl Wrapper function that calls STL_string_dtor and returns 0x0109ACB0 10 thunk_to_STL_string_dtor_0109acb0 stl Wrapper function that calls STL_string_dtor and returns 0x0109ACC0 10 thunk_to_STL_string_dtor_0109acc0 stl Wrapper that calls STL_string_dtor and returns 0x0109ACD0 10 thunk_to_STL_string_dtor_0109acd0 stl Wrapper that calls STL_string_dtor and returns 0x0109ACE0 10 thunk_to_STL_string_dtor_0109ace0 stl Wrapper that calls STL_string_dtor and returns 0x0109ACF0 10 thunk_to_STL_string_dtor_0109acf0 stl Wrapper that calls STL_string_dtor and returns 0x0109AD00 10 thunk_to_STL_string_dtor_0109ad00 stl Wrapper that calls STL_string_dtor and returns 0x0109AD10 10 thunk_to_STL_string_dtor_0109ad10 stl Wrapper that calls STL_string_dtor and returns 0x0109AD20 10 thunk_to_STL_string_dtor_0109ad20 stl Wrapper that calls STL_string_dtor and returns 0x0109AD30 10 thunk_to_STL_string_dtor_0109ad30 stl Wrapper that calls STL_string_dtor and returns 0x0109AD40 10 thunk_to_STL_string_dtor_0109ad40 stl Wrapper that calls STL_string_dtor and returns 0x0109AD50 10 thunk_to_STL_string_dtor_0109ad50 stl Wrapper that calls STL_string_dtor and returns 0x0109ADD0 280 atexit_unregister_window_classes_0109add0 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x0109AEF0 66 atexit_destroy_STL_map_0109aef0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x0109AF40 10 thunk_to_STL_string_dtor_0109af40 stl Wrapper that calls STL_string_dtor and returns 0x0109AF50 10 thunk_to_STL_string_dtor_0109af50 stl Wrapper that calls STL_string_dtor and returns 0x0109AF60 10 thunk_to_STL_string_dtor_0109af60 stl Wrapper that calls STL_string_dtor and returns 0x0109AF70 10 thunk_to_STL_string_dtor_0109af70 stl Wrapper that calls STL_string_dtor and returns 0x0109AF80 10 thunk_to_STL_string_dtor_0109af80 stl Wrapper that calls STL_string_dtor and returns 0x0109AF90 10 thunk_to_STL_string_dtor_0109af90 stl Wrapper that calls STL_string_dtor and returns 0x0109AFA0 10 thunk_to_STL_string_dtor_0109afa0 stl Wrapper that calls STL_string_dtor and returns 0x0109AFB0 10 thunk_to_STL_string_dtor_0109afb0 stl Wrapper that calls STL_string_dtor and returns 0x0109AFC0 10 thunk_to_STL_string_dtor_0109afc0 stl Wrapper that calls STL_string_dtor and returns 0x0109AFD0 10 thunk_to_STL_string_dtor_0109afd0 stl Wrapper that calls STL_string_dtor and returns 0x0109AFE0 10 thunk_to_STL_string_dtor_0109afe0 stl Wrapper that calls STL_string_dtor and returns 0x0109AFF0 10 thunk_to_STL_string_dtor_0109aff0 stl Wrapper that calls STL_string_dtor and returns 0x0109B000 10 thunk_to_STL_string_dtor_0109b000 stl Wrapper that calls STL_string_dtor and returns 0x0109B010 10 thunk_to_STL_string_dtor_0109b010 stl Wrapper that calls STL_string_dtor and returns 0x0109B020 10 thunk_to_STL_string_dtor_0109b020 stl Wrapper that calls STL_string_dtor and returns 0x0109B030 10 thunk_to_STL_string_dtor_0109b030 stl Wrapper that calls STL_string_dtor and returns 0x0109B040 10 thunk_to_STL_string_dtor_0109b040 stl Wrapper that calls STL_string_dtor and returns 0x0109B050 10 thunk_to_STL_string_dtor_0109b050 stl Wrapper that calls STL_string_dtor and returns 0x0109B060 10 thunk_to_STL_string_dtor_0109b060 stl Wrapper that calls STL_string_dtor and returns 0x0109B070 10 thunk_to_STL_string_dtor_0109b070 stl Wrapper that calls STL_string_dtor and returns 0x0109B080 10 thunk_to_STL_string_dtor_0109b080 stl Wrapper that calls STL_string_dtor and returns 0x0109B090 10 thunk_to_STL_string_dtor_0109b090 stl Wrapper that calls STL_string_dtor and returns 0x0109B0A0 10 thunk_to_STL_string_dtor_0109b0a0 stl Wrapper that calls STL_string_dtor and returns 0x0109B0B0 10 thunk_to_STL_string_dtor_0109b0b0 stl Wrapper that calls STL_string_dtor and returns 0x0109B0C0 10 thunk_to_STL_string_dtor_0109b0c0 stl Wrapper that calls STL_string_dtor and returns 0x0109B140 280 atexit_unregister_window_classes_0109b140 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x0109B2D0 280 atexit_unregister_window_classes_0109b2d0 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x0109B3F0 10 thunk_to_STL_string_dtor_0109b3f0 stl Wrapper that calls STL_string_dtor and returns 0x0109B400 10 thunk_to_STL_string_dtor_0109b400 stl Wrapper that calls STL_string_dtor and returns 0x0109B410 10 thunk_to_STL_string_dtor_0109b410 stl Wrapper function that calls STL_string_dtor and returns 0x0109B420 10 thunk_to_STL_string_dtor_0109b420 stl Wrapper that calls STL_string_dtor and returns 0x0109B430 10 thunk_to_STL_string_dtor_0109b430 stl Wrapper that calls STL_string_dtor and returns 0x0109B440 10 thunk_to_STL_string_dtor_0109b440 stl Wrapper that calls STL_string_dtor and returns 0x0109B450 10 thunk_to_STL_string_dtor_0109b450 stl Wrapper that calls STL_string_dtor and returns 0x0109B460 10 thunk_to_STL_string_dtor_0109b460 stl Wrapper that calls STL_string_dtor and returns 0x0109B470 10 thunk_to_STL_string_dtor_0109b470 stl Wrapper that calls STL_string_dtor and returns 0x0109B480 10 thunk_to_STL_string_dtor_0109b480 stl Wrapper that calls STL_string_dtor and returns 0x0109B490 10 thunk_to_STL_string_dtor_0109b490 stl Wrapper that calls STL_string_dtor and returns 0x0109B4A0 10 thunk_to_STL_string_dtor_0109b4a0 stl Wrapper that calls STL_string_dtor and returns 0x0109B4B0 10 thunk_to_STL_string_dtor_0109b4b0 stl Wrapper that calls STL_string_dtor and returns 0x0109B4C0 10 thunk_to_STL_string_dtor_0109b4c0 stl Wrapper that calls STL_string_dtor and returns 0x0109B4D0 10 thunk_to_STL_string_dtor_0109b4d0 stl Wrapper that calls STL_string_dtor and returns 0x0109B4E0 10 thunk_to_STL_string_dtor_0109b4e0 stl Wrapper that calls STL_string_dtor and returns 0x0109B4F0 10 thunk_to_STL_string_dtor_0109b4f0 stl Wrapper that calls STL_string_dtor and returns 0x0109B500 10 thunk_to_STL_string_dtor_0109b500 stl Wrapper that calls STL_string_dtor and returns 0x0109B510 10 thunk_to_STL_string_dtor_0109b510 stl Wrapper that calls STL_string_dtor and returns 0x0109B520 10 thunk_to_STL_string_dtor_0109b520 stl Wrapper that calls STL_string_dtor and returns 0x0109B530 10 thunk_to_STL_string_dtor_0109b530 stl Wrapper that calls STL_string_dtor and returns 0x0109B540 10 thunk_to_STL_string_dtor_0109b540 stl Wrapper that calls STL_string_dtor and returns 0x0109B550 10 thunk_to_STL_string_dtor_0109b550 stl Wrapper that calls STL_string_dtor and returns 0x0109B560 10 thunk_to_STL_string_dtor_0109b560 stl Wrapper that calls STL_string_dtor and returns 0x0109B570 10 thunk_to_STL_string_dtor_0109b570 stl Wrapper that calls STL_string_dtor and returns 0x0109B5F0 280 atexit_unregister_window_classes_0109b5f0 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x0109B710 66 atexit_destroy_render_pipeline_0109b710 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x0109B760 10 thunk_to_STL_string_dtor_0109b760 stl Wrapper that calls STL_string_dtor and returns 0x0109B770 10 thunk_to_STL_string_dtor_0109b770 stl Wrapper that calls STL_string_dtor and returns 0x0109B780 10 thunk_to_STL_string_dtor_0109b780 stl Wrapper that calls STL_string_dtor and returns 0x0109B790 10 thunk_to_STL_string_dtor_0109b790 stl Wrapper that calls STL_string_dtor and returns 0x0109B7A0 10 thunk_to_STL_string_dtor_0109b7a0 stl Wrapper that calls STL_string_dtor and returns 0x0109B7B0 10 thunk_to_STL_string_dtor_0109b7b0 stl Wrapper that calls STL_string_dtor and returns 0x0109B7C0 10 thunk_to_STL_string_dtor_0109b7c0 stl Wrapper that calls STL_string_dtor and returns 0x0109B7D0 10 thunk_to_STL_string_dtor_0109b7d0 stl Wrapper that calls STL_string_dtor and returns 0x0109B7E0 10 thunk_to_STL_string_dtor_0109b7e0 stl Wrapper that calls STL_string_dtor and returns 0x0109B7F0 10 thunk_to_STL_string_dtor_0109b7f0 stl Wrapper that calls STL_string_dtor and returns 0x0109B800 10 thunk_to_STL_string_dtor_0109b800 stl Wrapper that calls STL_string_dtor and returns 0x0109B810 10 thunk_to_STL_string_dtor_0109b810 stl Wrapper that calls STL_string_dtor and returns 0x0109B820 10 thunk_to_STL_string_dtor_0109b820 stl Wrapper that calls STL_string_dtor and returns 0x0109B830 10 thunk_to_STL_string_dtor_0109b830 stl Wrapper that calls STL_string_dtor and returns 0x0109B840 10 thunk_to_STL_string_dtor_0109b840 stl Wrapper that calls STL_string_dtor and returns 0x0109B850 10 thunk_to_STL_string_dtor_0109b850 stl Wrapper that calls STL_string_dtor and returns 0x0109B860 10 thunk_to_STL_string_dtor_0109b860 stl Wrapper that calls STL_string_dtor and returns 0x0109B870 10 thunk_to_STL_string_dtor_0109b870 stl Wrapper that calls STL_string_dtor and returns 0x0109B880 10 thunk_to_STL_string_dtor_0109b880 stl Wrapper that calls STL_string_dtor and returns 0x0109B890 10 thunk_to_STL_string_dtor_0109b890 stl Wrapper that calls STL_string_dtor and returns 0x0109B8A0 10 thunk_to_STL_string_dtor_0109b8a0 stl Wrapper that calls STL_string_dtor and returns 0x0109B8B0 10 thunk_to_STL_string_dtor_0109b8b0 stl Wrapper that calls STL_string_dtor and returns 0x0109B8C0 10 thunk_to_STL_string_dtor_0109b8c0 stl Wrapper that calls STL_string_dtor and returns 0x0109B8D0 10 thunk_to_STL_string_dtor_0109b8d0 stl Wrapper that calls STL_string_dtor and returns 0x0109B8E0 10 thunk_to_STL_string_dtor_0109b8e0 stl Wrapper that calls STL_string_dtor and returns 0x0109B960 280 atexit_unregister_window_classes_0109b960 crt Atexit callback: unregisters all window classes (UnregisterClassA), frees class atom array, deletes critical section, resets globals. SEH-protected. 0x0109BA80 10 thunk_to_STL_string_dtor_0109ba80 stl Wrapper that calls STL_string_dtor and returns 0x0109BA90 10 thunk_to_STL_string_dtor_0109ba90 stl Wrapper that calls STL_string_dtor and returns 0x0109BAA0 10 thunk_to_STL_string_dtor_0109baa0 stl Wrapper that calls STL_string_dtor and returns 0x0109BAB0 10 thunk_to_STL_string_dtor_0109bab0 stl Wrapper that calls STL_string_dtor and returns 0x0109BAC0 10 thunk_to_STL_string_dtor_0109bac0 stl Wrapper that calls STL_string_dtor and returns 0x0109BAD0 10 thunk_to_STL_string_dtor_0109bad0 stl Wrapper that calls STL_string_dtor and returns 0x0109BAE0 10 thunk_to_STL_string_dtor_0109bae0 stl Wrapper that calls STL_string_dtor and returns 0x0109BAF0 10 thunk_to_STL_string_dtor_0109baf0 stl Wrapper that calls STL_string_dtor and returns 0x0109BB00 10 thunk_to_STL_string_dtor_0109bb00 stl Wrapper that calls STL_string_dtor and returns 0x0109BB10 10 thunk_to_STL_string_dtor_0109bb10 stl Wrapper that calls STL_string_dtor and returns 0x0109BB20 10 thunk_to_STL_string_dtor_0109bb20 stl Wrapper that calls STL_string_dtor and returns 0x0109BB30 10 thunk_to_STL_string_dtor_0109bb30 stl Wrapper that calls STL_string_dtor and returns 0x0109BB40 10 thunk_to_STL_string_dtor_0109bb40 stl Wrapper that calls STL_string_dtor and returns 0x0109BB50 10 thunk_to_STL_string_dtor_0109bb50 stl Wrapper that calls STL_string_dtor and returns 0x0109BB60 10 thunk_to_STL_string_dtor_0109bb60 stl Wrapper that calls STL_string_dtor and returns 0x0109BB70 10 thunk_to_STL_string_dtor_0109bb70 stl Wrapper function that calls STL_string_dtor and returns 0x0109BB80 10 thunk_to_STL_string_dtor_0109bb80 stl Wrapper that calls STL_string_dtor and returns 0x0109BB90 10 thunk_to_STL_string_dtor_0109bb90 stl Wrapper that calls STL_string_dtor and returns 0x0109BBA0 10 thunk_to_STL_string_dtor_0109bba0 stl Wrapper that calls STL_string_dtor and returns 0x0109BBB0 10 thunk_to_STL_string_dtor_0109bbb0 stl Wrapper that calls STL_string_dtor and returns 0x0109BBC0 10 thunk_to_STL_string_dtor_0109bbc0 stl Wrapper that calls STL_string_dtor and returns 0x0109BBD0 10 thunk_to_STL_string_dtor_0109bbd0 stl Wrapper that calls STL_string_dtor and returns 0x0109BBE0 10 thunk_to_STL_string_dtor_0109bbe0 stl Wrapper that calls STL_string_dtor and returns 0x0109BBF0 10 thunk_to_STL_string_dtor_0109bbf0 stl Wrapper that calls STL_string_dtor and returns 0x0109BC00 10 thunk_to_STL_string_dtor_0109bc00 stl Wrapper that calls STL_string_dtor and returns 0x0109BC80 280 CRT_atexit_unregister_window_classes_0109bc80 crt CRT atexit cleanup handler. Iterates registered window class atoms array, calls UnregisterClassA for each using app HINSTANCE, frees the atom array, deletes the critical section, and resets global state. One of multiple identical copies (COMDAT folding artifact). 0x0109BDA0 10 thunk_to_STL_string_dtor_0109bda0 stl Wrapper that calls STL_string_dtor and returns 0x0109BDB0 10 thunk_to_STL_string_dtor_0109bdb0 stl Wrapper that calls STL_string_dtor and returns 0x0109BDC0 10 thunk_to_STL_string_dtor_0109bdc0 stl Wrapper that calls STL_string_dtor and returns 0x0109BDD0 10 thunk_to_STL_string_dtor_0109bdd0 stl Wrapper that calls STL_string_dtor and returns 0x0109BDE0 10 thunk_to_STL_string_dtor_0109bde0 stl Wrapper that calls STL_string_dtor and returns 0x0109BDF0 10 thunk_to_STL_string_dtor_0109bdf0 stl Wrapper that calls STL_string_dtor and returns 0x0109BE00 10 thunk_to_STL_string_dtor_0109be00 stl Wrapper that calls STL_string_dtor and returns 0x0109BE10 10 thunk_to_STL_string_dtor_0109be10 stl Wrapper that calls STL_string_dtor and returns 0x0109BE20 10 thunk_to_STL_string_dtor_0109be20 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109BE30 10 thunk_to_STL_string_dtor_0109be30 stl Wrapper that calls STL_string_dtor and returns 0x0109BE40 10 thunk_to_STL_string_dtor_0109be40 stl Wrapper that calls STL_string_dtor and returns 0x0109BE50 10 thunk_to_STL_string_dtor_0109be50 stl Wrapper that calls STL_string_dtor and returns 0x0109BE60 10 thunk_to_STL_string_dtor_0109be60 stl Wrapper that calls STL_string_dtor and returns 0x0109BE70 10 thunk_to_STL_string_dtor_0109be70 stl Wrapper that calls STL_string_dtor and returns 0x0109BE80 10 thunk_to_STL_string_dtor_0109be80 stl Wrapper that calls STL_string_dtor and returns 0x0109BE90 10 thunk_to_STL_string_dtor_0109be90 stl Wrapper that calls STL_string_dtor and returns 0x0109BEA0 10 thunk_to_STL_string_dtor_0109bea0 stl Wrapper that calls STL_string_dtor and returns 0x0109BEB0 10 thunk_to_STL_string_dtor_0109beb0 stl Wrapper that calls STL_string_dtor and returns 0x0109BEC0 10 thunk_to_STL_string_dtor_0109bec0 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109BED0 10 thunk_to_STL_string_dtor_0109bed0 stl Wrapper that calls STL_string_dtor and returns 0x0109BEE0 10 thunk_to_STL_string_dtor_0109bee0 stl Wrapper that calls STL_string_dtor and returns 0x0109BEF0 10 thunk_to_STL_string_dtor_0109bef0 stl Wrapper that calls STL_string_dtor and returns 0x0109BF00 10 thunk_to_STL_string_dtor_0109bf00 stl Wrapper that calls STL_string_dtor and returns 0x0109BF10 10 thunk_to_STL_string_dtor_0109bf10 stl Wrapper that calls STL_string_dtor and returns 0x0109BF20 10 thunk_to_STL_string_dtor_0109bf20 stl Wrapper that calls STL_string_dtor and returns 0x0109BFA0 280 CRT_atexit_unregister_window_classes_0109bfa0 crt CRT atexit cleanup handler. Iterates registered window class atoms array, calls UnregisterClassA for each using app HINSTANCE, frees the atom array, deletes the critical section, and resets global state. One of multiple identical copies (COMDAT folding artifact). 0x0109C0C0 10 thunk_to_STL_string_dtor_0109c0c0 stl Wrapper that calls STL_string_dtor and returns 0x0109C0D0 10 thunk_to_STL_string_dtor_0109c0d0 stl Wrapper that calls STL_string_dtor and returns 0x0109C0E0 10 thunk_to_STL_string_dtor_0109c0e0 stl Wrapper that calls STL_string_dtor and returns 0x0109C0F0 10 thunk_to_STL_string_dtor_0109c0f0 stl Wrapper function that calls STL_string_dtor and returns 0x0109C100 10 thunk_to_STL_string_dtor_0109c100 stl Wrapper that calls STL_string_dtor and returns 0x0109C110 10 thunk_to_STL_string_dtor_0109c110 stl Wrapper that calls STL_string_dtor and returns 0x0109C120 10 thunk_to_STL_string_dtor_0109c120 stl Wrapper that calls STL_string_dtor and returns 0x0109C130 10 thunk_to_STL_string_dtor_0109c130 stl Wrapper that calls STL_string_dtor and returns 0x0109C140 10 thunk_to_STL_string_dtor_0109c140 stl Wrapper that calls STL_string_dtor and returns 0x0109C150 10 thunk_to_STL_string_dtor_0109c150 stl Wrapper that calls STL_string_dtor and returns 0x0109C160 10 thunk_to_STL_string_dtor_0109c160 stl Wrapper that calls STL_string_dtor and returns 0x0109C170 10 thunk_to_STL_string_dtor_0109c170 stl Wrapper that calls STL_string_dtor and returns 0x0109C180 10 thunk_to_STL_string_dtor_0109c180 stl Wrapper that calls STL_string_dtor and returns 0x0109C190 10 thunk_to_STL_string_dtor_0109c190 stl Wrapper that calls STL_string_dtor and returns 0x0109C1A0 10 thunk_to_STL_string_dtor_0109c1a0 stl Wrapper that calls STL_string_dtor and returns 0x0109C1B0 10 thunk_to_STL_string_dtor_0109c1b0 stl Wrapper that calls STL_string_dtor and returns 0x0109C1C0 10 thunk_to_STL_string_dtor_0109c1c0 stl Wrapper that calls STL_string_dtor and returns 0x0109C1D0 10 thunk_to_STL_string_dtor_0109c1d0 stl Wrapper that calls STL_string_dtor and returns 0x0109C1E0 10 thunk_to_STL_string_dtor_0109c1e0 stl Wrapper that calls STL_string_dtor and returns 0x0109C1F0 10 thunk_to_STL_string_dtor_0109c1f0 stl Wrapper that calls STL_string_dtor and returns 0x0109C200 10 thunk_to_STL_string_dtor_0109c200 stl Wrapper function that calls STL_string_dtor and returns 0x0109C210 10 thunk_to_STL_string_dtor_0109c210 stl Wrapper that calls STL_string_dtor and returns 0x0109C220 10 thunk_to_STL_string_dtor_0109c220 stl Wrapper that calls STL_string_dtor and returns 0x0109C230 10 thunk_to_STL_string_dtor_0109c230 stl Wrapper that calls STL_string_dtor and returns 0x0109C240 10 thunk_to_STL_string_dtor_0109c240 stl Wrapper that calls STL_string_dtor and returns 0x0109C2C0 280 CRT_atexit_unregister_window_classes_0109c2c0 crt CRT atexit cleanup handler. Iterates registered window class atoms array, calls UnregisterClassA for each using app HINSTANCE, frees the atom array, deletes the critical section, and resets global state. One of multiple identical copies (COMDAT folding artifact). 0x0109C3E0 10 thunk_to_STL_string_dtor_0109c3e0 stl Wrapper that calls STL_string_dtor and returns 0x0109C3F0 10 thunk_to_STL_string_dtor_0109c3f0 stl Wrapper that calls STL_string_dtor and returns 0x0109C400 10 thunk_to_STL_string_dtor_0109c400 stl Wrapper that calls STL_string_dtor and returns 0x0109C410 10 thunk_to_STL_string_dtor_0109c410 stl Wrapper that calls STL_string_dtor and returns 0x0109C420 10 thunk_to_STL_string_dtor_0109c420 stl Wrapper that calls STL_string_dtor and returns 0x0109C430 10 thunk_to_STL_string_dtor_0109c430 stl Wrapper that calls STL_string_dtor and returns 0x0109C440 10 thunk_to_STL_string_dtor_0109c440 stl Wrapper that calls STL_string_dtor and returns 0x0109C450 10 thunk_to_STL_string_dtor_0109c450 stl Wrapper that calls STL_string_dtor and returns 0x0109C460 10 thunk_to_STL_string_dtor_0109c460 stl Wrapper that calls STL_string_dtor and returns 0x0109C470 10 thunk_to_STL_string_dtor_0109c470 stl Wrapper that calls STL_string_dtor and returns 0x0109C480 10 thunk_to_STL_string_dtor_0109c480 stl Wrapper that calls STL_string_dtor and returns 0x0109C490 10 thunk_to_STL_string_dtor_0109c490 stl Wrapper that calls STL_string_dtor and returns 0x0109C4A0 10 thunk_to_STL_string_dtor_0109c4a0 stl Wrapper that calls STL_string_dtor and returns 0x0109C4B0 10 thunk_to_STL_string_dtor_0109c4b0 stl Wrapper that calls STL_string_dtor and returns 0x0109C4C0 10 thunk_to_STL_string_dtor_0109c4c0 stl Wrapper that calls STL_string_dtor and returns 0x0109C4D0 10 thunk_to_STL_string_dtor_0109c4d0 stl Wrapper that calls STL_string_dtor and returns 0x0109C4E0 10 thunk_to_STL_string_dtor_0109c4e0 stl Wrapper that calls STL_string_dtor and returns 0x0109C4F0 10 thunk_to_STL_string_dtor_0109c4f0 stl Wrapper that calls STL_string_dtor and returns 0x0109C500 10 thunk_to_STL_string_dtor_0109c500 stl Wrapper that calls STL_string_dtor and returns 0x0109C510 10 thunk_to_STL_string_dtor_0109c510 stl Wrapper that calls STL_string_dtor and returns 0x0109C520 10 thunk_to_STL_string_dtor_0109c520 stl Wrapper that calls STL_string_dtor and returns 0x0109C530 10 thunk_to_STL_string_dtor_0109c530 stl Wrapper that calls STL_string_dtor and returns 0x0109C540 10 thunk_to_STL_string_dtor_0109c540 stl Wrapper that calls STL_string_dtor and returns 0x0109C550 10 thunk_to_STL_string_dtor_0109c550 stl Wrapper that calls STL_string_dtor and returns 0x0109C560 10 thunk_to_STL_string_dtor_0109c560 stl Wrapper that calls STL_string_dtor and returns 0x0109C5E0 280 CRT_atexit_unregister_window_classes_0109c5e0 crt CRT atexit cleanup handler. Iterates registered window class atoms array, calls UnregisterClassA for each using app HINSTANCE, frees the atom array, deletes the critical section, and resets global state. One of multiple identical copies (COMDAT folding artifact). 0x0109C700 10 thunk_to_STL_string_dtor_0109c700 stl Wrapper that calls STL_string_dtor and returns 0x0109C710 10 thunk_to_STL_string_dtor_0109c710 stl Wrapper that calls STL_string_dtor and returns 0x0109C720 10 thunk_to_STL_string_dtor_0109c720 stl Wrapper that calls STL_string_dtor and returns 0x0109C730 10 thunk_to_STL_string_dtor_0109c730 stl Wrapper that calls STL_string_dtor and returns 0x0109C740 10 thunk_to_STL_string_dtor_0109c740 stl Wrapper that calls STL_string_dtor and returns 0x0109C750 10 thunk_to_STL_string_dtor_0109c750 stl Wrapper that calls STL_string_dtor and returns 0x0109C760 10 thunk_to_STL_string_dtor_0109c760 stl Wrapper that calls STL_string_dtor and returns 0x0109C770 10 thunk_to_STL_string_dtor_0109c770 stl Wrapper that calls STL_string_dtor and returns 0x0109C780 10 thunk_to_STL_string_dtor_0109c780 stl Wrapper that calls STL_string_dtor and returns 0x0109C790 10 thunk_to_STL_string_dtor_0109c790 stl Wrapper that calls STL_string_dtor and returns 0x0109C7A0 10 thunk_to_STL_string_dtor_0109c7a0 stl Wrapper that calls STL_string_dtor and returns 0x0109C7B0 10 thunk_to_STL_string_dtor_0109c7b0 stl Wrapper that calls STL_string_dtor and returns 0x0109C7C0 10 thunk_to_STL_string_dtor_0109c7c0 stl Wrapper that calls STL_string_dtor and returns 0x0109C7D0 10 thunk_to_STL_string_dtor_0109c7d0 stl Wrapper that calls STL_string_dtor and returns 0x0109C7E0 10 thunk_to_STL_string_dtor_0109c7e0 stl Wrapper that calls STL_string_dtor and returns 0x0109C7F0 10 thunk_to_STL_string_dtor_0109c7f0 stl Wrapper that calls STL_string_dtor and returns 0x0109C800 10 thunk_to_STL_string_dtor_0109c800 stl Wrapper that calls STL_string_dtor and returns 0x0109C810 10 thunk_to_STL_string_dtor_0109c810 stl Wrapper that calls STL_string_dtor and returns 0x0109C820 10 thunk_to_STL_string_dtor_0109c820 stl Wrapper that calls STL_string_dtor and returns 0x0109C830 10 thunk_to_STL_string_dtor_0109c830 stl Wrapper that calls STL_string_dtor and returns 0x0109C840 10 thunk_to_STL_string_dtor_0109c840 stl Wrapper function that calls STL_string_dtor and returns 0x0109C850 10 thunk_to_STL_string_dtor_0109c850 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109C860 10 thunk_to_STL_string_dtor_0109c860 stl Wrapper that calls STL_string_dtor and returns 0x0109C870 10 thunk_to_STL_string_dtor_0109c870 stl Wrapper that calls STL_string_dtor and returns 0x0109C880 10 thunk_to_STL_string_dtor_0109c880 stl Wrapper that calls STL_string_dtor and returns 0x0109C900 280 CRT_atexit_unregister_window_classes_0109c900 crt CRT atexit cleanup handler. Iterates registered window class atoms array, calls UnregisterClassA for each using app HINSTANCE, frees the atom array, deletes the critical section, and resets global state. One of multiple identical copies (COMDAT folding artifact). 0x0109CA20 10 thunk_to_STL_string_dtor_0109ca20 stl Wrapper that calls STL_string_dtor and returns 0x0109CA30 10 thunk_to_STL_string_dtor_0109ca30 stl Wrapper that calls STL_string_dtor and returns 0x0109CA40 10 thunk_to_STL_string_dtor_0109ca40 stl Wrapper that calls STL_string_dtor and returns 0x0109CA50 10 thunk_to_STL_string_dtor_0109ca50 stl Wrapper that calls STL_string_dtor and returns 0x0109CA60 10 thunk_to_STL_string_dtor_0109ca60 stl Wrapper that calls STL_string_dtor and returns 0x0109CA70 10 thunk_to_STL_string_dtor_0109ca70 stl Wrapper that calls STL_string_dtor and returns 0x0109CA80 10 thunk_to_STL_string_dtor_0109ca80 stl Wrapper that calls STL_string_dtor and returns 0x0109CA90 10 thunk_to_STL_string_dtor_0109ca90 stl Wrapper that calls STL_string_dtor and returns 0x0109CAA0 10 thunk_to_STL_string_dtor_0109caa0 stl Wrapper that calls STL_string_dtor and returns 0x0109CAB0 10 thunk_to_STL_string_dtor_0109cab0 stl Wrapper that calls STL_string_dtor and returns 0x0109CAC0 10 thunk_to_STL_string_dtor_0109cac0 stl Wrapper that calls STL_string_dtor and returns 0x0109CAD0 10 thunk_to_STL_string_dtor_0109cad0 stl Wrapper that calls STL_string_dtor and returns 0x0109CAE0 10 thunk_to_STL_string_dtor_0109cae0 stl Wrapper that calls STL_string_dtor and returns 0x0109CAF0 10 thunk_to_STL_string_dtor_0109caf0 stl Wrapper that calls STL_string_dtor and returns 0x0109CB00 10 thunk_to_STL_string_dtor_0109cb00 stl Wrapper that calls STL_string_dtor and returns 0x0109CB10 10 thunk_to_STL_string_dtor_0109cb10 stl Wrapper that calls STL_string_dtor and returns 0x0109CB20 10 thunk_to_STL_string_dtor_0109cb20 stl Wrapper that calls STL_string_dtor and returns 0x0109CB30 10 thunk_to_STL_string_dtor_0109cb30 stl Wrapper that calls STL_string_dtor and returns 0x0109CB40 10 thunk_to_STL_string_dtor_0109cb40 stl Wrapper that calls STL_string_dtor and returns 0x0109CB50 10 thunk_to_STL_string_dtor_0109cb50 stl Wrapper that calls STL_string_dtor and returns 0x0109CB60 10 thunk_to_STL_string_dtor_0109cb60 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109CB70 10 thunk_to_STL_string_dtor_0109cb70 stl Wrapper that calls STL_string_dtor and returns 0x0109CB80 10 thunk_to_STL_string_dtor_0109cb80 stl Wrapper that calls STL_string_dtor and returns 0x0109CB90 10 thunk_to_STL_string_dtor_0109cb90 stl Wrapper that calls STL_string_dtor and returns 0x0109CBA0 10 thunk_to_STL_string_dtor_0109cba0 stl Wrapper that calls STL_string_dtor and returns 0x0109CC20 280 CRT_atexit_unregister_window_classes_0109cc20 crt CRT atexit cleanup handler. Iterates registered window class atoms array, calls UnregisterClassA for each using app HINSTANCE, frees the atom array, deletes the critical section, and resets global state. One of multiple identical copies (COMDAT folding artifact). 0x0109CD40 10 thunk_to_STL_string_dtor_0109cd40 stl Wrapper that calls STL_string_dtor and returns 0x0109CD50 10 thunk_to_STL_string_dtor_0109cd50 stl Wrapper that calls STL_string_dtor and returns 0x0109CD60 10 thunk_to_STL_string_dtor_0109cd60 stl Wrapper that calls STL_string_dtor and returns 0x0109CD70 10 thunk_to_STL_string_dtor_0109cd70 stl Wrapper that calls STL_string_dtor and returns 0x0109CD80 10 thunk_to_STL_string_dtor_0109cd80 stl Wrapper that calls STL_string_dtor and returns 0x0109CD90 10 thunk_to_STL_string_dtor_0109cd90 stl Wrapper that calls STL_string_dtor and returns 0x0109CDA0 10 thunk_to_STL_string_dtor_0109cda0 stl Wrapper that calls STL_string_dtor and returns 0x0109CDB0 10 thunk_to_STL_string_dtor_0109cdb0 stl Wrapper that calls STL_string_dtor and returns 0x0109CDC0 10 thunk_to_STL_string_dtor_0109cdc0 stl Wrapper that calls STL_string_dtor and returns 0x0109CDD0 10 thunk_to_STL_string_dtor_0109cdd0 stl Wrapper that calls STL_string_dtor and returns 0x0109CDE0 10 thunk_to_STL_string_dtor_0109cde0 stl Wrapper that calls STL_string_dtor and returns 0x0109CDF0 10 thunk_to_STL_string_dtor_0109cdf0 stl Wrapper that calls STL_string_dtor and returns 0x0109CE00 10 thunk_to_STL_string_dtor_0109ce00 stl Wrapper that calls STL_string_dtor and returns 0x0109CE10 10 thunk_to_STL_string_dtor_0109ce10 stl Wrapper that calls STL_string_dtor and returns 0x0109CE20 10 thunk_to_STL_string_dtor_0109ce20 stl Wrapper that calls STL_string_dtor and returns 0x0109CE30 10 thunk_to_STL_string_dtor_0109ce30 stl Wrapper that calls STL_string_dtor and returns 0x0109CE40 10 thunk_to_STL_string_dtor_0109ce40 stl Wrapper that calls STL_string_dtor and returns 0x0109CE50 10 thunk_to_STL_string_dtor_0109ce50 stl Wrapper that calls STL_string_dtor and returns 0x0109CE60 10 thunk_to_STL_string_dtor_0109ce60 stl Wrapper that calls STL_string_dtor and returns 0x0109CE70 10 thunk_to_STL_string_dtor_0109ce70 stl Wrapper that calls STL_string_dtor and returns 0x0109CE80 10 thunk_to_STL_string_dtor_0109ce80 stl Wrapper that calls STL_string_dtor and returns 0x0109CE90 10 thunk_to_STL_string_dtor_0109ce90 stl Wrapper that calls STL_string_dtor and returns 0x0109CEA0 10 thunk_to_STL_string_dtor_0109cea0 stl Wrapper that calls STL_string_dtor and returns 0x0109CEB0 10 thunk_to_STL_string_dtor_0109ceb0 stl Wrapper that calls STL_string_dtor and returns 0x0109CEC0 10 thunk_to_STL_string_dtor_0109cec0 stl Wrapper that calls STL_string_dtor and returns 0x0109CF40 280 CRT_atexit_unregister_window_classes_0109cf40 crt CRT atexit cleanup handler. Iterates registered window class atoms array, calls UnregisterClassA for each using app HINSTANCE, frees the atom array, deletes the critical section, and resets global state. One of multiple identical copies (COMDAT folding artifact). 0x0109D060 10 thunk_to_STL_string_dtor_0109d060 stl Wrapper calling STL_string_dtor destructor 0x0109D070 10 thunk_to_STL_string_dtor_0109d070 stl Wrapper that calls STL_string_dtor and returns 0x0109D080 10 thunk_to_STL_string_dtor_0109d080 stl Wrapper that calls STL_string_dtor and returns 0x0109D090 10 thunk_to_STL_string_dtor_0109d090 stl Wrapper that calls STL_string_dtor and returns 0x0109D0A0 10 thunk_to_STL_string_dtor_0109d0a0 stl Wrapper calling STL_string_dtor destructor 0x0109D0B0 10 thunk_to_STL_string_dtor_0109d0b0 stl Wrapper that calls STL_string_dtor and returns 0x0109D0C0 10 thunk_to_STL_string_dtor_0109d0c0 stl Wrapper that calls STL_string_dtor and returns 0x0109D0D0 10 thunk_to_STL_string_dtor_0109d0d0 stl Wrapper that calls STL_string_dtor and returns 0x0109D0E0 10 thunk_to_STL_string_dtor_0109d0e0 stl Wrapper that calls STL_string_dtor and returns 0x0109D0F0 10 thunk_to_STL_string_dtor_0109d0f0 stl Wrapper that calls STL_string_dtor and returns 0x0109D100 10 thunk_to_STL_string_dtor_0109d100 stl Wrapper that calls STL_string_dtor and returns 0x0109D110 10 thunk_to_STL_string_dtor_0109d110 stl Wrapper that calls STL_string_dtor and returns 0x0109D120 10 thunk_to_STL_string_dtor_0109d120 stl Wrapper that calls STL_string_dtor and returns 0x0109D130 10 thunk_to_STL_string_dtor_0109d130 stl Wrapper that calls STL_string_dtor and returns 0x0109D140 10 thunk_to_STL_string_dtor_0109d140 stl Wrapper that calls STL_string_dtor destructor 0x0109D150 10 thunk_to_STL_string_dtor_0109d150 stl Wrapper that calls STL_string_dtor and returns 0x0109D160 10 thunk_to_STL_string_dtor_0109d160 stl Wrapper calling STL string destructor 0x0109D170 10 thunk_to_STL_string_dtor_0109d170 stl Wrapper that calls STL_string_dtor and returns 0x0109D180 10 thunk_to_STL_string_dtor_0109d180 stl Wrapper that calls STL_string_dtor and returns 0x0109D190 10 thunk_to_STL_string_dtor_0109d190 stl Wrapper that calls STL_string_dtor and returns 0x0109D1A0 10 thunk_to_STL_string_dtor_0109d1a0 stl Wrapper that calls STL_string_dtor and returns 0x0109D1B0 10 thunk_to_STL_string_dtor_0109d1b0 stl Wrapper that calls STL_string_dtor and returns 0x0109D1C0 10 thunk_to_STL_string_dtor_0109d1c0 stl Wrapper that calls STL_string_dtor and returns 0x0109D1D0 10 thunk_to_STL_string_dtor_0109d1d0 stl Wrapper that calls STL_string_dtor and returns 0x0109D1E0 10 thunk_to_STL_string_dtor_0109d1e0 stl Wrapper that calls STL_string_dtor and returns 0x0109D260 280 CRT_unregister_window_classes_cleanup_0109d260 crt CRT atexit handler: iterates registered window class atoms via UnregisterClassA, frees atom array, deletes critical section, resets global state. SEH-protected duplicate instance at different exception handler address. 0x0109D380 10 thunk_to_STL_string_dtor_0109d380 stl Wrapper that calls STL_string_dtor and returns 0x0109D390 10 thunk_to_STL_string_dtor_0109d390 stl Wrapper that calls STL_string_dtor and returns 0x0109D3A0 10 thunk_to_STL_string_dtor_0109d3a0 stl Wrapper that calls STL_string_dtor and returns 0x0109D3B0 10 thunk_to_STL_string_dtor_0109d3b0 stl Wrapper that calls STL_string_dtor and returns 0x0109D3C0 10 thunk_to_STL_string_dtor_0109d3c0 stl Wrapper that calls STL_string_dtor and returns 0x0109D3D0 10 thunk_to_STL_string_dtor_0109d3d0 stl Wrapper that calls STL_string_dtor and returns 0x0109D3E0 10 thunk_to_STL_string_dtor_0109d3e0 stl Wrapper that calls STL_string_dtor and returns 0x0109D3F0 10 thunk_to_STL_string_dtor_0109d3f0 stl Wrapper that calls STL_string_dtor and returns 0x0109D400 10 thunk_to_STL_string_dtor_0109d400 stl Wrapper that calls STL_string_dtor and returns 0x0109D410 10 thunk_to_STL_string_dtor_0109d410 stl Wrapper that calls STL_string_dtor and returns 0x0109D420 10 thunk_to_STL_string_dtor_0109d420 stl Wrapper that calls STL_string_dtor and returns 0x0109D430 10 thunk_to_STL_string_dtor_0109d430 stl Wrapper that calls STL_string_dtor and returns 0x0109D440 10 thunk_to_STL_string_dtor_0109d440 stl Wrapper that calls STL_string_dtor and returns 0x0109D450 10 thunk_to_STL_string_dtor_0109d450 stl Wrapper that calls STL_string_dtor and returns 0x0109D460 10 thunk_to_STL_string_dtor_0109d460 stl Wrapper that calls STL_string_dtor and returns 0x0109D470 10 thunk_to_STL_string_dtor_0109d470 stl Wrapper that calls STL_string_dtor and returns 0x0109D480 10 thunk_to_STL_string_dtor_0109d480 stl Wrapper that calls STL_string_dtor and returns 0x0109D490 10 thunk_to_STL_string_dtor_0109d490 stl Wrapper that calls STL_string_dtor and returns 0x0109D4A0 10 thunk_to_STL_string_dtor_0109d4a0 stl Wrapper that calls STL_string_dtor and returns 0x0109D4B0 10 thunk_to_STL_string_dtor_0109d4b0 stl Wrapper that calls STL_string_dtor and returns 0x0109D4C0 10 thunk_to_STL_string_dtor_0109d4c0 stl Wrapper that calls STL_string_dtor and returns 0x0109D4D0 10 thunk_to_STL_string_dtor_0109d4d0 stl Wrapper that calls STL_string_dtor and returns 0x0109D4E0 10 thunk_to_STL_string_dtor_0109d4e0 stl Wrapper that calls STL_string_dtor and returns 0x0109D4F0 10 thunk_to_STL_string_dtor_0109d4f0 stl Wrapper that calls STL_string_dtor and returns 0x0109D500 10 thunk_to_STL_string_dtor_0109d500 stl Wrapper that calls STL_string_dtor and returns 0x0109D580 280 CRT_unregister_window_classes_cleanup_0109d580 crt CRT atexit handler: iterates registered window class atoms via UnregisterClassA, frees atom array, deletes critical section, resets global state. SEH-protected duplicate instance at different exception handler address. 0x0109D6A0 10 thunk_to_STL_string_dtor_0109d6a0 stl Wrapper that calls STL_string_dtor and returns 0x0109D6B0 10 thunk_to_STL_string_dtor_0109d6b0 stl Wrapper that calls STL_string_dtor and returns 0x0109D6C0 10 thunk_to_STL_string_dtor_0109d6c0 stl Wrapper that calls STL_string_dtor and returns 0x0109D6D0 10 thunk_to_STL_string_dtor_0109d6d0 stl Wrapper that calls STL_string_dtor and returns 0x0109D6E0 10 thunk_to_STL_string_dtor_0109d6e0 stl Wrapper that calls STL_string_dtor and returns 0x0109D6F0 10 thunk_to_STL_string_dtor_0109d6f0 stl Wrapper that calls STL_string_dtor and returns 0x0109D700 10 thunk_to_STL_string_dtor_0109d700 stl Wrapper that calls STL_string_dtor and returns 0x0109D710 10 thunk_to_STL_string_dtor_0109d710 stl Wrapper that calls STL_string_dtor and returns 0x0109D720 10 thunk_to_STL_string_dtor_0109d720 stl Wrapper that calls STL_string_dtor and returns 0x0109D730 10 thunk_to_STL_string_dtor_0109d730 stl Wrapper that calls STL_string_dtor and returns 0x0109D740 10 thunk_to_STL_string_dtor_0109d740 stl Wrapper that calls STL_string_dtor and returns 0x0109D750 10 thunk_to_STL_string_dtor_0109d750 stl Wrapper that calls STL_string_dtor and returns 0x0109D760 10 thunk_to_STL_string_dtor_0109d760 stl Wrapper that calls STL_string_dtor and returns 0x0109D770 10 thunk_to_STL_string_dtor_0109d770 stl Wrapper that calls STL_string_dtor and returns 0x0109D77F 1 __break game_core Debug breakpoint instruction (INT3) 0x0109D780 10 thunk_to_STL_string_dtor_0109d780 stl Wrapper that calls STL_string_dtor and returns 0x0109D790 10 thunk_to_STL_string_dtor_0109d790 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109D7A0 10 thunk_to_STL_string_dtor_0109d7a0 stl Wrapper that calls STL_string_dtor and returns 0x0109D7B0 10 thunk_to_STL_string_dtor_0109d7b0 stl Wrapper that calls STL_string_dtor and returns 0x0109D7C0 10 thunk_to_STL_string_dtor_0109d7c0 stl Wrapper that calls STL_string_dtor and returns 0x0109D7D0 10 thunk_to_STL_string_dtor_0109d7d0 stl Wrapper that calls STL_string_dtor and returns 0x0109D7E0 10 thunk_to_STL_string_dtor_0109d7e0 stl Wrapper that calls STL_string_dtor and returns 0x0109D7F0 10 thunk_to_STL_string_dtor_0109d7f0 stl Wrapper that calls STL_string_dtor and returns 0x0109D800 10 thunk_to_STL_string_dtor_0109d800 stl Wrapper that calls STL_string_dtor and returns 0x0109D810 10 thunk_to_STL_string_dtor_0109d810 stl Wrapper that calls STL_string_dtor and returns 0x0109D820 10 thunk_to_STL_string_dtor_0109d820 stl Wrapper that calls STL_string_dtor and returns 0x0109D8A0 280 CRT_unregister_window_classes_cleanup_0109d8a0 crt Critical section management function. 0x0109D9C0 10 thunk_to_STL_string_dtor_0109d9c0 stl Wrapper that calls STL_string_dtor and returns 0x0109D9D0 10 thunk_to_STL_string_dtor_0109d9d0 stl Wrapper that calls STL_string_dtor and returns 0x0109D9E0 10 thunk_to_STL_string_dtor_0109d9e0 stl Wrapper that calls STL_string_dtor and returns 0x0109D9F0 10 thunk_to_STL_string_dtor_0109d9f0 stl Wrapper that calls STL_string_dtor and returns 0x0109DA00 10 thunk_to_STL_string_dtor_0109da00 stl Wrapper that calls STL_string_dtor and returns 0x0109DA10 10 thunk_to_STL_string_dtor_0109da10 stl Wrapper function that calls STL_string_dtor and returns 0x0109DA20 10 thunk_to_STL_string_dtor_0109da20 stl Wrapper that calls STL_string_dtor and returns 0x0109DA30 10 thunk_to_STL_string_dtor_0109da30 stl Wrapper that calls STL_string_dtor and returns 0x0109DA40 10 thunk_to_STL_string_dtor_0109da40 stl Wrapper that calls STL_string_dtor and returns 0x0109DA50 10 thunk_to_STL_string_dtor_0109da50 stl Wrapper that calls STL_string_dtor and returns 0x0109DA60 10 thunk_to_STL_string_dtor_0109da60 stl Wrapper that calls STL_string_dtor and returns 0x0109DA70 10 thunk_to_STL_string_dtor_0109da70 stl Wrapper function that calls STL_string_dtor and returns 0x0109DA80 10 thunk_to_STL_string_dtor_0109da80 stl Wrapper that calls STL_string_dtor and returns 0x0109DA90 10 thunk_to_STL_string_dtor_0109da90 stl Wrapper that calls STL_string_dtor and returns 0x0109DAA0 10 thunk_to_STL_string_dtor_0109daa0 stl Wrapper that calls STL_string_dtor and returns 0x0109DAB0 10 thunk_to_STL_string_dtor_0109dab0 stl Wrapper that calls STL_string_dtor and returns 0x0109DAC0 10 thunk_to_STL_string_dtor_0109dac0 stl Wrapper that calls STL_string_dtor and returns 0x0109DAD0 10 thunk_to_STL_string_dtor_0109dad0 stl Wrapper that calls STL_string_dtor and returns 0x0109DAE0 10 thunk_to_STL_string_dtor_0109dae0 stl Wrapper that calls STL_string_dtor and returns 0x0109DAF0 10 thunk_to_STL_string_dtor_0109daf0 stl Wrapper that calls STL_string_dtor and returns 0x0109DB00 10 thunk_to_STL_string_dtor_0109db00 stl Wrapper that calls STL_string_dtor and returns 0x0109DB10 10 thunk_to_STL_string_dtor_0109db10 stl Wrapper that calls STL_string_dtor and returns 0x0109DB20 10 thunk_to_STL_string_dtor_0109db20 stl Wrapper that calls STL_string_dtor and returns 0x0109DB30 10 thunk_to_STL_string_dtor_0109db30 stl Wrapper that calls STL_string_dtor and returns 0x0109DB40 10 thunk_to_STL_string_dtor_0109db40 stl Wrapper that calls STL_string_dtor and returns 0x0109DBC0 280 CRT_unregister_window_classes_cleanup_0109dbc0 crt Critical section management function. 0x0109DCE0 10 thunk_to_STL_string_dtor_0109dce0 stl Wrapper that calls STL_string_dtor and returns 0x0109DCF0 10 thunk_to_STL_string_dtor_0109dcf0 stl Wrapper that calls STL_string_dtor and returns 0x0109DD00 10 thunk_to_STL_string_dtor_0109dd00 stl Wrapper that calls STL_string_dtor and returns 0x0109DD10 10 thunk_to_STL_string_dtor_0109dd10 stl Wrapper that calls STL_string_dtor and returns 0x0109DD20 10 thunk_to_STL_string_dtor_0109dd20 stl Wrapper that calls STL_string_dtor and returns 0x0109DD30 10 thunk_to_STL_string_dtor_0109dd30 stl Wrapper that calls STL_string_dtor and returns 0x0109DD40 10 thunk_to_STL_string_dtor_0109dd40 stl Wrapper that calls STL_string_dtor and returns 0x0109DD50 10 thunk_to_STL_string_dtor_0109dd50 stl Wrapper that calls STL_string_dtor and returns 0x0109DD60 10 thunk_to_STL_string_dtor_0109dd60 stl Wrapper that calls STL_string_dtor and returns 0x0109DD70 10 thunk_to_STL_string_dtor_0109dd70 stl Wrapper that calls STL_string_dtor and returns 0x0109DD80 10 thunk_to_STL_string_dtor_0109dd80 stl Wrapper that calls STL_string_dtor and returns 0x0109DD90 10 thunk_to_STL_string_dtor_0109dd90 stl Wrapper that calls STL_string_dtor and returns 0x0109DDA0 10 thunk_to_STL_string_dtor_0109dda0 stl Wrapper that calls STL_string_dtor and returns 0x0109DDB0 10 thunk_to_STL_string_dtor_0109ddb0 stl Wrapper that calls STL_string_dtor and returns 0x0109DDC0 10 thunk_to_STL_string_dtor_0109ddc0 stl Wrapper that calls STL_string_dtor and returns 0x0109DDD0 10 thunk_to_STL_string_dtor_0109ddd0 stl Wrapper that calls STL_string_dtor and returns 0x0109DDE0 10 thunk_to_STL_string_dtor_0109dde0 stl Wrapper that calls STL_string_dtor and returns 0x0109DDF0 10 thunk_to_STL_string_dtor_0109ddf0 stl Wrapper that calls STL_string_dtor and returns 0x0109DE00 10 thunk_to_STL_string_dtor_0109de00 stl Wrapper that calls STL_string_dtor and returns 0x0109DE10 10 thunk_to_STL_string_dtor_0109de10 stl Wrapper that calls STL_string_dtor and returns 0x0109DE20 10 thunk_to_STL_string_dtor_0109de20 stl Wrapper that calls STL_string_dtor and returns 0x0109DE30 10 thunk_to_STL_string_dtor_0109de30 stl Wrapper that calls STL_string_dtor and returns 0x0109DE40 10 thunk_to_STL_string_dtor_0109de40 stl Wrapper that calls STL_string_dtor and returns 0x0109DE50 10 thunk_to_STL_string_dtor_0109de50 stl Wrapper that calls STL_string_dtor destructor 0x0109DE60 10 thunk_to_STL_string_dtor_0109de60 stl Wrapper that calls STL_string_dtor and returns 0x0109DEE0 280 CRT_unregister_window_classes_cleanup_0109dee0 crt Critical section management function. 0x0109E000 66 atexit_destroy_render_pipeline_0109e000 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x0109E050 10 thunk_to_STL_string_dtor_0109e050 stl Wrapper that calls STL_string_dtor and returns 0x0109E060 10 thunk_to_STL_string_dtor_0109e060 stl Wrapper that calls STL_string_dtor and returns 0x0109E070 10 thunk_to_STL_string_dtor_0109e070 stl Wrapper that calls STL_string_dtor and returns 0x0109E080 10 thunk_to_STL_string_dtor_0109e080 stl Wrapper that calls STL_string_dtor and returns 0x0109E090 10 thunk_to_STL_string_dtor_0109e090 stl Wrapper that calls STL_string_dtor and returns 0x0109E0A0 10 thunk_to_STL_string_dtor_0109e0a0 stl Wrapper that calls STL_string_dtor and returns 0x0109E0B0 10 thunk_to_STL_string_dtor_0109e0b0 stl Wrapper that calls STL_string_dtor and returns 0x0109E0C0 10 thunk_to_STL_string_dtor_0109e0c0 stl Wrapper that calls STL_string_dtor and returns 0x0109E0D0 10 thunk_to_STL_string_dtor_0109e0d0 stl Wrapper that calls STL_string_dtor and returns 0x0109E0E0 10 thunk_to_STL_string_dtor_0109e0e0 stl Wrapper that calls STL_string_dtor and returns 0x0109E0F0 10 thunk_to_STL_string_dtor_0109e0f0 stl Wrapper that calls STL_string_dtor and returns 0x0109E100 10 thunk_to_STL_string_dtor_0109e100 stl Wrapper that calls STL_string_dtor and returns 0x0109E110 10 thunk_to_STL_string_dtor_0109e110 stl Wrapper that calls STL_string_dtor and returns 0x0109E120 10 thunk_to_STL_string_dtor_0109e120 stl Wrapper that calls STL_string_dtor and returns 0x0109E130 10 thunk_to_STL_string_dtor_0109e130 stl Wrapper that calls STL_string_dtor and returns 0x0109E140 10 thunk_to_STL_string_dtor_0109e140 stl Wrapper that calls STL_string_dtor and returns 0x0109E150 10 thunk_to_STL_string_dtor_0109e150 stl Wrapper that calls STL_string_dtor and returns 0x0109E160 10 thunk_to_STL_string_dtor_0109e160 stl Wrapper that calls STL_string_dtor and returns 0x0109E170 10 thunk_to_STL_string_dtor_0109e170 stl Wrapper that calls STL_string_dtor and returns 0x0109E180 10 thunk_to_STL_string_dtor_0109e180 stl Wrapper that calls STL_string_dtor and returns 0x0109E190 10 thunk_to_STL_string_dtor_0109e190 stl Wrapper that calls STL_string_dtor and returns 0x0109E1A0 10 thunk_to_STL_string_dtor_0109e1a0 stl Wrapper calling STL string destructor 0x0109E1B0 10 thunk_to_STL_string_dtor_0109e1b0 stl Wrapper that calls STL_string_dtor and returns 0x0109E1C0 10 thunk_to_STL_string_dtor_0109e1c0 stl Wrapper that calls STL_string_dtor and returns 0x0109E1D0 10 thunk_to_STL_string_dtor_0109e1d0 stl Wrapper that calls STL_string_dtor and returns 0x0109E250 280 CRT_unregister_window_classes_cleanup_0109e250 crt Critical section management function. 0x0109E370 66 atexit_destroy_STL_map_0109e370 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x0109E3C0 10 thunk_to_STL_string_dtor_0109e3c0 stl Wrapper that calls STL_string_dtor and returns 0x0109E3D0 10 thunk_to_STL_string_dtor_0109e3d0 stl Wrapper that calls STL_string_dtor and returns 0x0109E3E0 10 thunk_to_STL_string_dtor_0109e3e0 stl Wrapper that calls STL_string_dtor and returns 0x0109E3F0 10 thunk_to_STL_string_dtor_0109e3f0 stl Wrapper that calls STL_string_dtor and returns 0x0109E400 10 thunk_to_STL_string_dtor_0109e400 stl Wrapper that calls STL_string_dtor and returns 0x0109E410 10 thunk_to_STL_string_dtor_0109e410 stl Wrapper function that calls STL_string_dtor and returns 0x0109E420 10 thunk_to_STL_string_dtor_0109e420 stl Wrapper that calls STL_string_dtor and returns 0x0109E430 10 thunk_to_STL_string_dtor_0109e430 stl Wrapper that calls STL_string_dtor and returns 0x0109E440 10 thunk_to_STL_string_dtor_0109e440 stl Wrapper that calls STL_string_dtor and returns 0x0109E450 10 thunk_to_STL_string_dtor_0109e450 stl Wrapper that calls STL_string_dtor and returns 0x0109E460 10 thunk_to_STL_string_dtor_0109e460 stl Wrapper that calls STL_string_dtor and returns 0x0109E470 10 thunk_to_STL_string_dtor_0109e470 stl Wrapper that calls STL_string_dtor and returns 0x0109E480 10 thunk_to_STL_string_dtor_0109e480 stl Wrapper that calls STL_string_dtor and returns 0x0109E490 10 thunk_to_STL_string_dtor_0109e490 stl Wrapper that calls STL_string_dtor and returns 0x0109E4A0 10 thunk_to_STL_string_dtor_0109e4a0 stl Wrapper that calls STL_string_dtor and returns 0x0109E4B0 10 thunk_to_STL_string_dtor_0109e4b0 stl Wrapper function that calls STL_string_dtor and returns 0x0109E4C0 10 thunk_to_STL_string_dtor_0109e4c0 stl Wrapper that calls STL_string_dtor and returns 0x0109E4D0 10 thunk_to_STL_string_dtor_0109e4d0 stl Wrapper that calls STL_string_dtor and returns 0x0109E4E0 10 thunk_to_STL_string_dtor_0109e4e0 stl Wrapper that calls STL_string_dtor and returns 0x0109E4F0 10 thunk_to_STL_string_dtor_0109e4f0 stl Wrapper function that calls STL_string_dtor and returns 0x0109E500 10 thunk_to_STL_string_dtor_0109e500 stl Wrapper that calls STL_string_dtor and returns 0x0109E510 10 thunk_to_STL_string_dtor_0109e510 stl Wrapper that calls STL_string_dtor and returns 0x0109E520 10 thunk_to_STL_string_dtor_0109e520 stl Wrapper that calls STL_string_dtor and returns 0x0109E530 10 thunk_to_STL_string_dtor_0109e530 stl Wrapper that calls STL_string_dtor and returns 0x0109E540 10 thunk_to_STL_string_dtor_0109e540 stl Wrapper that calls STL_string_dtor and returns 0x0109E5C0 280 CRT_unregister_window_classes_cleanup_0109e5c0 crt Critical section management function. 0x0109E6E0 10 thunk_to_STL_string_dtor_0109e6e0 stl Wrapper that calls STL_string_dtor and returns 0x0109E6F0 10 thunk_to_STL_string_dtor_0109e6f0 stl Wrapper that calls STL_string_dtor and returns 0x0109E700 10 thunk_to_STL_string_dtor_0109e700 stl Wrapper that calls STL_string_dtor and returns 0x0109E710 10 thunk_to_STL_string_dtor_0109e710 stl Wrapper that calls STL_string_dtor and returns 0x0109E720 10 thunk_to_STL_string_dtor_0109e720 stl Wrapper that calls STL_string_dtor and returns 0x0109E730 10 thunk_to_STL_string_dtor_0109e730 stl Wrapper that calls STL_string_dtor and returns 0x0109E740 10 thunk_to_STL_string_dtor_0109e740 stl Wrapper that calls STL_string_dtor and returns 0x0109E750 10 thunk_to_STL_string_dtor_0109e750 stl Wrapper that calls STL_string_dtor and returns 0x0109E760 10 thunk_to_STL_string_dtor_0109e760 stl Wrapper that calls STL_string_dtor and returns 0x0109E770 10 thunk_to_STL_string_dtor_0109e770 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109E780 10 thunk_to_STL_string_dtor_0109e780 stl Wrapper that calls STL_string_dtor and returns 0x0109E790 10 thunk_to_STL_string_dtor_0109e790 stl Wrapper that calls STL_string_dtor and returns 0x0109E7A0 10 thunk_to_STL_string_dtor_0109e7a0 stl Wrapper that calls STL_string_dtor and returns 0x0109E7B0 10 thunk_to_STL_string_dtor_0109e7b0 stl Wrapper that calls STL_string_dtor and returns 0x0109E7C0 10 thunk_to_STL_string_dtor_0109e7c0 stl Wrapper that calls STL_string_dtor and returns 0x0109E7D0 10 thunk_to_STL_string_dtor_0109e7d0 stl Wrapper that calls STL_string_dtor and returns 0x0109E7E0 10 thunk_to_STL_string_dtor_0109e7e0 stl Wrapper that calls STL_string_dtor and returns 0x0109E7F0 10 thunk_to_STL_string_dtor_0109e7f0 stl Wrapper that calls STL_string_dtor and returns 0x0109E800 10 thunk_to_STL_string_dtor_0109e800 stl Wrapper that calls STL_string_dtor and returns 0x0109E810 10 thunk_to_STL_string_dtor_0109e810 stl Wrapper that calls STL_string_dtor and returns 0x0109E820 10 thunk_to_STL_string_dtor_0109e820 stl Wrapper that calls STL_string_dtor and returns 0x0109E830 10 thunk_to_STL_string_dtor_0109e830 stl Wrapper that calls STL_string_dtor and returns 0x0109E840 10 thunk_to_STL_string_dtor_0109e840 stl Wrapper that calls STL_string_dtor and returns 0x0109E850 10 thunk_to_STL_string_dtor_0109e850 stl Wrapper that calls STL_string_dtor and returns 0x0109E860 10 thunk_to_STL_string_dtor_0109e860 stl Wrapper that calls STL_string_dtor and returns 0x0109E8E0 280 CRT_unregister_window_classes_cleanup_0109e8e0 crt Critical section management function. 0x0109EA00 10 thunk_to_STL_string_dtor_0109ea00 stl Wrapper that calls STL_string_dtor and returns 0x0109EA10 10 thunk_to_STL_string_dtor_0109ea10 stl Wrapper that calls STL_string_dtor and returns 0x0109EA20 10 thunk_to_STL_string_dtor_0109ea20 stl Wrapper that calls STL_string_dtor and returns 0x0109EA30 10 thunk_to_STL_string_dtor_0109ea30 stl Wrapper that calls STL_string_dtor and returns 0x0109EA40 10 thunk_to_STL_string_dtor_0109ea40 stl Wrapper that calls STL_string_dtor and returns 0x0109EA50 10 thunk_to_STL_string_dtor_0109ea50 stl Wrapper function that calls STL_string_dtor and returns 0x0109EA60 10 thunk_to_STL_string_dtor_0109ea60 stl Wrapper that calls STL_string_dtor and returns 0x0109EA70 10 thunk_to_STL_string_dtor_0109ea70 stl Wrapper that calls STL_string_dtor and returns 0x0109EA80 10 thunk_to_STL_string_dtor_0109ea80 stl Wrapper that calls STL_string_dtor and returns 0x0109EA90 10 thunk_to_STL_string_dtor_0109ea90 stl Wrapper that calls STL_string_dtor and returns 0x0109EAA0 10 thunk_to_STL_string_dtor_0109eaa0 stl Wrapper that calls STL_string_dtor and returns 0x0109EAB0 10 thunk_to_STL_string_dtor_0109eab0 stl Wrapper that calls STL_string_dtor and returns 0x0109EAC0 10 thunk_to_STL_string_dtor_0109eac0 stl Wrapper that calls STL_string_dtor and returns 0x0109EAD0 10 thunk_to_STL_string_dtor_0109ead0 stl Wrapper that calls STL_string_dtor and returns 0x0109EAE0 10 thunk_to_STL_string_dtor_0109eae0 stl Wrapper that calls STL_string_dtor and returns 0x0109EAF0 10 thunk_to_STL_string_dtor_0109eaf0 stl Wrapper function that calls STL_string_dtor and returns 0x0109EB00 10 thunk_to_STL_string_dtor_0109eb00 stl Wrapper that calls STL_string_dtor and returns 0x0109EB10 10 thunk_to_STL_string_dtor_0109eb10 stl Wrapper that calls STL_string_dtor and returns 0x0109EB20 10 thunk_to_STL_string_dtor_0109eb20 stl Wrapper that calls STL_string_dtor and returns 0x0109EB30 10 thunk_to_STL_string_dtor_0109eb30 stl Wrapper that calls STL_string_dtor and returns 0x0109EB40 10 thunk_to_STL_string_dtor_0109eb40 stl Wrapper that calls STL_string_dtor and returns 0x0109EB50 10 thunk_to_STL_string_dtor_0109eb50 stl Wrapper that calls STL_string_dtor and returns 0x0109EB60 10 thunk_to_STL_string_dtor_0109eb60 stl Wrapper that calls STL_string_dtor and returns 0x0109EB70 10 thunk_to_STL_string_dtor_0109eb70 stl Wrapper that calls STL_string_dtor and returns 0x0109EB80 10 thunk_to_STL_string_dtor_0109eb80 stl Wrapper that calls STL_string_dtor and returns 0x0109EC00 280 CRT_unregister_window_classes_cleanup_0109ec00 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. SEH-protected. 0x0109ED20 66 atexit_destroy_render_pipeline_0109ed20 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x0109ED70 10 thunk_to_STL_string_dtor_0109ed70 stl Wrapper that calls STL_string_dtor and returns 0x0109ED80 10 thunk_to_STL_string_dtor_0109ed80 stl Wrapper that calls STL_string_dtor and returns 0x0109ED90 10 thunk_to_STL_string_dtor_0109ed90 stl Wrapper that calls STL_string_dtor and returns 0x0109EDA0 10 thunk_to_STL_string_dtor_0109eda0 stl Wrapper that calls STL_string_dtor and returns 0x0109EDB0 10 thunk_to_STL_string_dtor_0109edb0 stl Wrapper that calls STL_string_dtor and returns 0x0109EDC0 10 thunk_to_STL_string_dtor_0109edc0 stl Wrapper that calls STL_string_dtor and returns 0x0109EDD0 10 thunk_to_STL_string_dtor_0109edd0 stl Wrapper that calls STL_string_dtor and returns 0x0109EDE0 10 thunk_to_STL_string_dtor_0109ede0 stl Wrapper that calls STL_string_dtor and returns 0x0109EDF0 10 thunk_to_STL_string_dtor_0109edf0 stl Wrapper that calls STL_string_dtor and returns 0x0109EE00 10 thunk_to_STL_string_dtor_0109ee00 stl Wrapper that calls STL_string_dtor and returns 0x0109EE10 10 thunk_to_STL_string_dtor_0109ee10 stl Wrapper that calls STL_string_dtor and returns 0x0109EE20 10 thunk_to_STL_string_dtor_0109ee20 stl Wrapper that calls STL_string_dtor and returns 0x0109EE30 10 thunk_to_STL_string_dtor_0109ee30 stl Wrapper that calls STL_string_dtor and returns 0x0109EE40 10 thunk_to_STL_string_dtor_0109ee40 stl Wrapper calling STL_string_dtor destructor 0x0109EE50 10 thunk_to_STL_string_dtor_0109ee50 stl Wrapper that calls STL_string_dtor and returns 0x0109EE60 10 thunk_to_STL_string_dtor_0109ee60 stl Wrapper calling STL_string_dtor destructor 0x0109EE70 10 thunk_to_STL_string_dtor_0109ee70 stl Wrapper that calls STL_string_dtor and returns 0x0109EE80 10 thunk_to_STL_string_dtor_0109ee80 stl Wrapper that calls STL_string_dtor and returns 0x0109EE90 10 thunk_to_STL_string_dtor_0109ee90 stl Wrapper that calls STL_string_dtor and returns 0x0109EEA0 10 thunk_to_STL_string_dtor_0109eea0 stl Wrapper that calls STL_string_dtor and returns 0x0109EEB0 10 thunk_to_STL_string_dtor_0109eeb0 stl Wrapper that calls STL_string_dtor and returns 0x0109EEC0 10 thunk_to_STL_string_dtor_0109eec0 stl Wrapper that calls STL_string_dtor and returns 0x0109EED0 10 thunk_to_STL_string_dtor_0109eed0 stl Wrapper that calls STL_string_dtor and returns 0x0109EEE0 10 thunk_to_STL_string_dtor_0109eee0 stl Wrapper that calls STL_string_dtor and returns 0x0109EEF0 10 thunk_to_STL_string_dtor_0109eef0 stl Wrapper that calls STL_string_dtor and returns 0x0109EF70 280 CRT_unregister_window_classes_cleanup_0109ef70 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. SEH-protected. 0x0109F090 10 thunk_to_STL_string_dtor_0109f090 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109F0A0 10 thunk_to_STL_string_dtor_0109f0a0 stl Wrapper that calls STL_string_dtor and returns 0x0109F0B0 10 thunk_to_STL_string_dtor_0109f0b0 stl Wrapper that calls STL_string_dtor and returns 0x0109F0C0 10 thunk_to_STL_string_dtor_0109f0c0 stl Wrapper that calls STL_string_dtor and returns 0x0109F0D0 10 thunk_to_STL_string_dtor_0109f0d0 stl Wrapper that calls STL_string_dtor and returns 0x0109F0E0 10 thunk_to_STL_string_dtor_0109f0e0 stl Wrapper that calls STL_string_dtor and returns 0x0109F0F0 10 thunk_to_STL_string_dtor_0109f0f0 stl Wrapper that calls STL_string_dtor and returns 0x0109F100 10 thunk_to_STL_string_dtor_0109f100 stl Wrapper that calls STL_string_dtor and returns 0x0109F110 10 thunk_to_STL_string_dtor_0109f110 stl Wrapper that calls STL_string_dtor and returns 0x0109F120 10 thunk_to_STL_string_dtor_0109f120 stl Wrapper that calls STL_string_dtor and returns 0x0109F130 10 thunk_to_STL_string_dtor_0109f130 stl Wrapper that calls STL_string_dtor and returns 0x0109F140 10 thunk_to_STL_string_dtor_0109f140 stl Wrapper that calls STL_string_dtor and returns 0x0109F150 10 thunk_to_STL_string_dtor_0109f150 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109F160 10 thunk_to_STL_string_dtor_0109f160 stl Wrapper that calls STL_string_dtor and returns 0x0109F170 10 thunk_to_STL_string_dtor_0109f170 stl Wrapper that calls STL_string_dtor and returns 0x0109F180 10 thunk_to_STL_string_dtor_0109f180 stl Wrapper that calls STL_string_dtor and returns 0x0109F190 10 thunk_to_STL_string_dtor_0109f190 stl Wrapper that calls STL_string_dtor and returns 0x0109F1A0 10 thunk_to_STL_string_dtor_0109f1a0 stl Wrapper that calls STL_string_dtor and returns 0x0109F1B0 10 thunk_to_STL_string_dtor_0109f1b0 stl Wrapper that calls STL_string_dtor and returns 0x0109F1C0 10 thunk_to_STL_string_dtor_0109f1c0 stl Wrapper that calls STL_string_dtor and returns 0x0109F1D0 10 thunk_to_STL_string_dtor_0109f1d0 stl Wrapper that calls STL_string_dtor and returns 0x0109F1E0 10 thunk_to_STL_string_dtor_0109f1e0 stl Wrapper that calls STL_string_dtor and returns 0x0109F1F0 10 thunk_to_STL_string_dtor_0109f1f0 stl Wrapper that calls STL_string_dtor and returns 0x0109F200 10 thunk_to_STL_string_dtor_0109f200 stl Wrapper that calls STL_string_dtor and returns 0x0109F210 10 thunk_to_STL_string_dtor_0109f210 stl Wrapper that calls STL_string_dtor and returns 0x0109F290 280 CRT_unregister_window_classes_cleanup_0109f290 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. SEH-protected. 0x0109F3B0 10 thunk_to_STL_string_dtor_0109f3b0 stl Wrapper that calls STL_string_dtor and returns 0x0109F3C0 10 thunk_to_STL_string_dtor_0109f3c0 stl Wrapper that calls STL_string_dtor and returns 0x0109F3D0 10 thunk_to_STL_string_dtor_0109f3d0 stl Wrapper that calls STL_string_dtor and returns 0x0109F3E0 10 thunk_to_STL_string_dtor_0109f3e0 stl Wrapper that calls STL_string_dtor and returns 0x0109F3F0 10 thunk_to_STL_string_dtor_0109f3f0 stl Wrapper function that calls STL_string_dtor and returns 0x0109F400 10 thunk_to_STL_string_dtor_0109f400 stl Wrapper that calls STL_string_dtor and returns 0x0109F410 10 thunk_to_STL_string_dtor_0109f410 stl Wrapper that calls STL_string_dtor and returns 0x0109F420 10 thunk_to_STL_string_dtor_0109f420 stl Wrapper that calls STL_string_dtor and returns 0x0109F430 10 thunk_to_STL_string_dtor_0109f430 stl Wrapper that calls STL_string_dtor and returns 0x0109F440 10 thunk_to_STL_string_dtor_0109f440 stl Wrapper that calls STL_string_dtor and returns 0x0109F450 10 thunk_to_STL_string_dtor_0109f450 stl Wrapper that calls STL_string_dtor and returns 0x0109F460 10 thunk_to_STL_string_dtor_0109f460 stl Wrapper that calls STL_string_dtor and returns 0x0109F470 10 thunk_to_STL_string_dtor_0109f470 stl Wrapper that calls STL_string_dtor and returns 0x0109F480 10 thunk_to_STL_string_dtor_0109f480 stl Wrapper that calls STL_string_dtor and returns 0x0109F490 10 thunk_to_STL_string_dtor_0109f490 stl Wrapper that calls STL_string_dtor and returns 0x0109F4A0 10 thunk_to_STL_string_dtor_0109f4a0 stl Wrapper that calls STL_string_dtor and returns 0x0109F4B0 10 thunk_to_STL_string_dtor_0109f4b0 stl Wrapper that calls STL_string_dtor and returns 0x0109F4C0 10 thunk_to_STL_string_dtor_0109f4c0 stl Wrapper that calls STL_string_dtor and returns 0x0109F4D0 10 thunk_to_STL_string_dtor_0109f4d0 stl Wrapper that calls STL_string_dtor and returns 0x0109F4E0 10 thunk_to_STL_string_dtor_0109f4e0 stl Wrapper that calls STL_string_dtor and returns 0x0109F4F0 10 thunk_to_STL_string_dtor_0109f4f0 stl Wrapper that calls STL_string_dtor and returns 0x0109F500 10 thunk_to_STL_string_dtor_0109f500 stl Wrapper that calls STL_string_dtor and returns 0x0109F510 10 thunk_to_STL_string_dtor_0109f510 stl Wrapper that calls STL_string_dtor and returns 0x0109F520 10 thunk_to_STL_string_dtor_0109f520 stl Wrapper that calls STL_string_dtor and returns 0x0109F530 10 thunk_to_STL_string_dtor_0109f530 stl Wrapper that calls STL_string_dtor and returns 0x0109F5B0 280 CRT_unregister_window_classes_cleanup_0109f5b0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. SEH-protected. 0x0109F6D0 10 thunk_to_STL_string_dtor_0109f6d0 stl Wrapper that calls STL_string_dtor and returns 0x0109F6E0 10 thunk_to_STL_string_dtor_0109f6e0 stl Wrapper that calls STL_string_dtor and returns 0x0109F6F0 10 thunk_to_STL_string_dtor_0109f6f0 stl Wrapper that calls STL_string_dtor and returns 0x0109F700 10 thunk_to_STL_string_dtor_0109f700 stl Wrapper that calls STL_string_dtor and returns 0x0109F710 10 thunk_to_STL_string_dtor_0109f710 stl Wrapper that calls STL_string_dtor and returns 0x0109F720 10 thunk_to_STL_string_dtor_0109f720 stl Wrapper calling STL_string_dtor destructor 0x0109F730 10 thunk_to_STL_string_dtor_0109f730 stl Wrapper that calls STL_string_dtor and returns immediately 0x0109F740 10 thunk_to_STL_string_dtor_0109f740 stl Wrapper that calls STL_string_dtor and returns 0x0109F750 10 thunk_to_STL_string_dtor_0109f750 stl Wrapper that calls STL_string_dtor and returns 0x0109F760 10 thunk_to_STL_string_dtor_0109f760 stl Wrapper that calls STL_string_dtor and returns 0x0109F770 10 thunk_to_STL_string_dtor_0109f770 stl Wrapper that calls STL_string_dtor and returns 0x0109F780 10 thunk_to_STL_string_dtor_0109f780 stl Wrapper that calls STL_string_dtor and returns 0x0109F790 10 thunk_to_STL_string_dtor_0109f790 stl Wrapper that calls STL_string_dtor and returns 0x0109F7A0 10 thunk_to_STL_string_dtor_0109f7a0 stl Wrapper that calls STL_string_dtor and returns 0x0109F7B0 10 thunk_to_STL_string_dtor_0109f7b0 stl Wrapper that calls STL_string_dtor and returns 0x0109F7C0 10 thunk_to_STL_string_dtor_0109f7c0 stl Wrapper that calls STL_string_dtor and returns 0x0109F7D0 10 thunk_to_STL_string_dtor_0109f7d0 stl Wrapper that calls STL_string_dtor and returns 0x0109F7E0 10 thunk_to_STL_string_dtor_0109f7e0 stl Wrapper that calls STL_string_dtor and returns 0x0109F7F0 10 thunk_to_STL_string_dtor_0109f7f0 stl Wrapper that calls STL_string_dtor and returns 0x0109F800 10 thunk_to_STL_string_dtor_0109f800 stl Wrapper that calls STL_string_dtor and returns 0x0109F810 10 thunk_to_STL_string_dtor_0109f810 stl Wrapper that calls STL_string_dtor and returns 0x0109F820 10 thunk_to_STL_string_dtor_0109f820 stl Wrapper that calls STL_string_dtor and returns 0x0109F830 10 thunk_to_STL_string_dtor_0109f830 stl Wrapper that calls STL_string_dtor and returns 0x0109F840 10 thunk_to_STL_string_dtor_0109f840 stl Wrapper that calls STL_string_dtor and returns 0x0109F850 10 thunk_to_STL_string_dtor_0109f850 stl Wrapper that calls STL_string_dtor and returns 0x0109F8D0 280 CRT_unregister_window_classes_cleanup_0109f8d0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. SEH-protected. 0x0109F9F0 10 thunk_to_STL_string_dtor_0109f9f0 stl Wrapper that calls STL_string_dtor and returns 0x0109FA00 10 thunk_to_STL_string_dtor_0109fa00 stl Wrapper that calls STL_string_dtor and returns 0x0109FA10 10 thunk_to_STL_string_dtor_0109fa10 stl Wrapper that calls STL_string_dtor and returns 0x0109FA20 10 thunk_to_STL_string_dtor_0109fa20 stl Wrapper that calls STL_string_dtor and returns 0x0109FA30 10 thunk_to_STL_string_dtor_0109fa30 stl Wrapper that calls STL_string_dtor and returns 0x0109FA40 10 thunk_to_STL_string_dtor_0109fa40 stl Wrapper that calls STL_string_dtor and returns 0x0109FA50 10 thunk_to_STL_string_dtor_0109fa50 stl Wrapper that calls STL_string_dtor and returns 0x0109FA60 10 thunk_to_STL_string_dtor_0109fa60 stl Wrapper that calls STL_string_dtor and returns 0x0109FA70 10 thunk_to_STL_string_dtor_0109fa70 stl Wrapper that calls STL_string_dtor destructor 0x0109FA80 10 thunk_to_STL_string_dtor_0109fa80 stl Wrapper that calls STL_string_dtor and returns 0x0109FA90 10 thunk_to_STL_string_dtor_0109fa90 stl Wrapper that calls STL_string_dtor and returns 0x0109FAA0 10 thunk_to_STL_string_dtor_0109faa0 stl Wrapper that calls STL_string_dtor and returns 0x0109FAB0 10 thunk_to_STL_string_dtor_0109fab0 stl Wrapper that calls STL_string_dtor and returns 0x0109FAC0 10 thunk_to_STL_string_dtor_0109fac0 stl Wrapper that calls STL_string_dtor and returns 0x0109FAD0 10 thunk_to_STL_string_dtor_0109fad0 stl Wrapper that calls STL_string_dtor and returns 0x0109FAE0 10 thunk_to_STL_string_dtor_0109fae0 stl Wrapper that calls STL_string_dtor and returns 0x0109FAF0 10 thunk_to_STL_string_dtor_0109faf0 stl Wrapper that calls STL_string_dtor and returns 0x0109FB00 10 thunk_to_STL_string_dtor_0109fb00 stl Wrapper that calls STL_string_dtor and returns 0x0109FB10 10 thunk_to_STL_string_dtor_0109fb10 stl Wrapper that calls STL_string_dtor and returns 0x0109FB20 10 thunk_to_STL_string_dtor_0109fb20 stl Wrapper that calls STL_string_dtor and returns 0x0109FB30 10 thunk_to_STL_string_dtor_0109fb30 stl Wrapper that calls STL_string_dtor and returns 0x0109FB40 10 thunk_to_STL_string_dtor_0109fb40 stl Wrapper that calls STL_string_dtor and returns 0x0109FB50 10 thunk_to_STL_string_dtor_0109fb50 stl Wrapper that calls STL_string_dtor and returns 0x0109FB60 10 thunk_to_STL_string_dtor_0109fb60 stl Wrapper that calls STL_string_dtor and returns 0x0109FB70 10 thunk_to_STL_string_dtor_0109fb70 stl Wrapper that calls STL_string_dtor and returns 0x0109FBF0 280 CRT_unregister_window_classes_cleanup_0109fbf0 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. SEH-protected. 0x0109FD10 10 thunk_to_STL_string_dtor_0109fd10 stl Wrapper that calls STL_string_dtor and returns 0x0109FD20 10 thunk_to_STL_string_dtor_0109fd20 stl Wrapper that calls STL_string_dtor and returns 0x0109FD30 10 thunk_to_STL_string_dtor_0109fd30 stl Wrapper that calls STL_string_dtor and returns 0x0109FD40 10 thunk_to_STL_string_dtor_0109fd40 stl Wrapper that calls STL_string_dtor and returns 0x0109FD50 10 thunk_to_STL_string_dtor_0109fd50 stl Wrapper that calls STL_string_dtor and returns 0x0109FD60 10 thunk_to_STL_string_dtor_0109fd60 stl Wrapper that calls STL_string_dtor and returns 0x0109FD70 10 thunk_to_STL_string_dtor_0109fd70 stl Wrapper that calls STL_string_dtor and returns 0x0109FD80 10 thunk_to_STL_string_dtor_0109fd80 stl Wrapper that calls STL_string_dtor and returns 0x0109FD90 10 thunk_to_STL_string_dtor_0109fd90 stl Wrapper that calls STL_string_dtor and returns 0x0109FDA0 10 thunk_to_STL_string_dtor_0109fda0 stl Wrapper that calls STL_string_dtor and returns 0x0109FDB0 10 thunk_to_STL_string_dtor_0109fdb0 stl Wrapper that calls STL_string_dtor and returns 0x0109FDC0 10 thunk_to_STL_string_dtor_0109fdc0 stl Wrapper that calls STL_string_dtor and returns 0x0109FDD0 10 thunk_to_STL_string_dtor_0109fdd0 stl Wrapper that calls STL_string_dtor and returns 0x0109FDE0 10 thunk_to_STL_string_dtor_0109fde0 stl Wrapper that calls STL_string_dtor and returns 0x0109FDF0 10 thunk_to_STL_string_dtor_0109fdf0 stl Wrapper that calls STL_string_dtor and returns 0x0109FE00 10 thunk_to_STL_string_dtor_0109fe00 stl Wrapper that calls STL_string_dtor and returns 0x0109FE10 10 thunk_to_STL_string_dtor_0109fe10 stl Wrapper that calls STL_string_dtor and returns 0x0109FE20 10 thunk_to_STL_string_dtor_0109fe20 stl Wrapper that calls STL_string_dtor destructor 0x0109FE30 10 thunk_to_STL_string_dtor_0109fe30 stl Wrapper that calls STL_string_dtor and returns 0x0109FE40 10 thunk_to_STL_string_dtor_0109fe40 stl Wrapper that calls STL_string_dtor and returns 0x0109FE50 10 thunk_to_STL_string_dtor_0109fe50 stl Wrapper that calls STL_string_dtor and returns 0x0109FE60 10 thunk_to_STL_string_dtor_0109fe60 stl Wrapper that calls STL_string_dtor and returns 0x0109FE70 10 thunk_to_STL_string_dtor_0109fe70 stl Wrapper that calls STL_string_dtor and returns 0x0109FE80 10 thunk_to_STL_string_dtor_0109fe80 stl Wrapper that calls STL_string_dtor and returns 0x0109FE90 10 thunk_to_STL_string_dtor_0109fe90 stl Wrapper that calls STL_string_dtor and returns 0x0109FF10 280 CRT_unregister_window_classes_cleanup_0109ff10 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. SEH-protected. 0x010A0030 10 thunk_to_STL_string_dtor_010a0030 stl Wrapper that calls STL_string_dtor and returns 0x010A0040 10 thunk_to_STL_string_dtor_010a0040 stl Wrapper function that calls STL_string_dtor and returns 0x010A0050 10 thunk_to_STL_string_dtor_010a0050 stl Wrapper that calls STL_string_dtor and returns 0x010A0060 10 thunk_to_STL_string_dtor_010a0060 stl Wrapper function that calls STL_string_dtor and returns 0x010A0070 10 thunk_to_STL_string_dtor_010a0070 stl Wrapper that calls STL_string_dtor and returns 0x010A0080 10 thunk_to_STL_string_dtor_010a0080 stl Wrapper that calls STL_string_dtor and returns 0x010A0090 10 thunk_to_STL_string_dtor_010a0090 stl Wrapper that calls STL_string_dtor and returns 0x010A00A0 10 thunk_to_STL_string_dtor_010a00a0 stl Wrapper that calls STL_string_dtor and returns 0x010A00B0 10 thunk_to_STL_string_dtor_010a00b0 stl Wrapper that calls STL_string_dtor and returns 0x010A00C0 10 thunk_to_STL_string_dtor_010a00c0 stl Wrapper that calls STL_string_dtor and returns 0x010A00D0 10 thunk_to_STL_string_dtor_010a00d0 stl Wrapper that calls STL_string_dtor and returns 0x010A00E0 10 thunk_to_STL_string_dtor_010a00e0 stl Wrapper that calls STL_string_dtor and returns 0x010A00F0 10 thunk_to_STL_string_dtor_010a00f0 stl Wrapper that calls STL_string_dtor and returns 0x010A0100 10 thunk_to_STL_string_dtor_010a0100 stl Wrapper that calls STL_string_dtor and returns 0x010A0110 10 thunk_to_STL_string_dtor_010a0110 stl Wrapper that calls STL_string_dtor and returns 0x010A0120 10 thunk_to_STL_string_dtor_010a0120 stl Wrapper that calls STL_string_dtor and returns 0x010A0130 10 thunk_to_STL_string_dtor_010a0130 stl Wrapper that calls STL_string_dtor and returns 0x010A0140 10 thunk_to_STL_string_dtor_010a0140 stl Wrapper that calls STL_string_dtor and returns 0x010A0150 10 thunk_to_STL_string_dtor_010a0150 stl Wrapper that calls STL_string_dtor and returns 0x010A0160 10 thunk_to_STL_string_dtor_010a0160 stl Wrapper that calls STL_string_dtor and returns 0x010A0170 10 thunk_to_STL_string_dtor_010a0170 stl Wrapper that calls STL_string_dtor and returns 0x010A0180 10 thunk_to_STL_string_dtor_010a0180 stl Wrapper that calls STL_string_dtor and returns 0x010A0190 10 thunk_to_STL_string_dtor_010a0190 stl Wrapper that calls STL_string_dtor and returns 0x010A01A0 10 thunk_to_STL_string_dtor_010a01a0 stl Wrapper that calls STL_string_dtor and returns 0x010A01B0 10 thunk_to_STL_string_dtor_010a01b0 stl Wrapper that calls STL_string_dtor and returns 0x010A0230 280 CRT_unregister_window_classes_cleanup_010a0230 crt Atexit cleanup: iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section protecting it, and resets all counters. SEH-protected. 0x010A0350 10 thunk_to_STL_string_dtor_010a0350 stl Wrapper that calls STL_string_dtor and returns 0x010A0360 10 thunk_to_STL_string_dtor_010a0360 stl Wrapper that calls STL_string_dtor and returns 0x010A0370 10 thunk_to_STL_string_dtor_010a0370 stl Wrapper that calls STL_string_dtor and returns 0x010A0380 10 thunk_to_STL_string_dtor_010a0380 stl Wrapper that calls STL_string_dtor and returns 0x010A0390 10 thunk_to_STL_string_dtor_010a0390 stl Wrapper that calls STL_string_dtor and returns 0x010A03A0 10 thunk_to_STL_string_dtor_010a03a0 stl Wrapper that calls STL_string_dtor and returns 0x010A03B0 10 thunk_to_STL_string_dtor_010a03b0 stl Wrapper that calls STL_string_dtor and returns 0x010A03C0 10 thunk_to_STL_string_dtor_010a03c0 stl Wrapper that calls STL_string_dtor and returns 0x010A03D0 10 thunk_to_STL_string_dtor_010a03d0 stl Wrapper that calls STL_string_dtor and returns 0x010A03E0 10 thunk_to_STL_string_dtor_010a03e0 stl Wrapper that calls STL_string_dtor and returns 0x010A03F0 10 thunk_to_STL_string_dtor_010a03f0 stl Wrapper that calls STL_string_dtor and returns 0x010A0400 10 thunk_to_STL_string_dtor_010a0400 stl Wrapper that calls STL_string_dtor and returns 0x010A0410 10 thunk_to_STL_string_dtor_010a0410 stl Wrapper that calls STL_string_dtor and returns 0x010A0420 10 thunk_to_STL_string_dtor_010a0420 stl Wrapper that calls STL_string_dtor and returns 0x010A0430 10 thunk_to_STL_string_dtor_010a0430 stl Wrapper that calls STL_string_dtor and returns 0x010A0440 10 thunk_to_STL_string_dtor_010a0440 stl Wrapper that calls STL_string_dtor and returns 0x010A0450 10 thunk_to_STL_string_dtor_010a0450 stl Wrapper that calls STL_string_dtor and returns 0x010A0460 10 thunk_to_STL_string_dtor_010a0460 stl Wrapper that calls STL_string_dtor and returns 0x010A0470 10 thunk_to_STL_string_dtor_010a0470 stl Wrapper that calls STL_string_dtor and returns 0x010A0480 10 thunk_to_STL_string_dtor_010a0480 stl Wrapper that calls STL_string_dtor and returns 0x010A0490 10 thunk_to_STL_string_dtor_010a0490 stl Wrapper that calls STL_string_dtor and returns 0x010A04A0 10 thunk_to_STL_string_dtor_010a04a0 stl Wrapper that calls STL_string_dtor and returns 0x010A04B0 10 thunk_to_STL_string_dtor_010a04b0 stl Wrapper that calls STL_string_dtor and returns 0x010A04C0 10 thunk_to_STL_string_dtor_010a04c0 stl Wrapper that calls STL_string_dtor and returns 0x010A04D0 10 thunk_to_STL_string_dtor_010a04d0 stl Wrapper that calls STL_string_dtor and returns 0x010A0550 280 CRT_unregister_window_classes_cleanup_010a0550 crt Atexit cleanup: Unregisters all window classes by atom via UnregisterClassA, frees the class atom array, deletes the associated critical section, and resets class tracking globals. Uses SEH frame for exception safety. 0x010A0670 10 thunk_to_STL_string_dtor_010a0670 stl Wrapper that calls STL_string_dtor and returns 0x010A0680 10 thunk_to_STL_string_dtor_010a0680 stl Wrapper function that calls STL_string_dtor and returns 0x010A0690 10 thunk_to_STL_string_dtor_010a0690 stl Wrapper that calls STL_string_dtor and returns 0x010A06A0 10 thunk_to_STL_string_dtor_010a06a0 stl Wrapper that calls STL_string_dtor and returns 0x010A06B0 10 thunk_to_STL_string_dtor_010a06b0 stl Wrapper that calls STL_string_dtor and returns 0x010A06C0 10 thunk_to_STL_string_dtor_010a06c0 stl Wrapper that calls STL_string_dtor and returns 0x010A06D0 10 thunk_to_STL_string_dtor_010a06d0 stl Wrapper that calls STL_string_dtor and returns 0x010A06E0 10 thunk_to_STL_string_dtor_010a06e0 stl Wrapper that calls STL_string_dtor and returns 0x010A06F0 10 thunk_to_STL_string_dtor_010a06f0 stl Wrapper that calls STL_string_dtor and returns 0x010A0700 10 thunk_to_STL_string_dtor_010a0700 stl Wrapper that calls STL_string_dtor and returns 0x010A0710 10 thunk_to_STL_string_dtor_010a0710 stl Wrapper that calls STL_string_dtor and returns 0x010A0720 10 thunk_to_STL_string_dtor_010a0720 stl Wrapper that calls STL_string_dtor and returns 0x010A0730 10 thunk_to_STL_string_dtor_010a0730 stl Wrapper that calls STL_string_dtor and returns 0x010A0740 10 thunk_to_STL_string_dtor_010a0740 stl Wrapper that calls STL_string_dtor and returns 0x010A0750 10 thunk_to_STL_string_dtor_010a0750 stl Wrapper function that calls STL_string_dtor and returns 0x010A0760 10 thunk_to_STL_string_dtor_010a0760 stl Wrapper that calls STL_string_dtor and returns 0x010A0770 10 thunk_to_STL_string_dtor_010a0770 stl Wrapper that calls STL_string_dtor and returns 0x010A0780 10 thunk_to_STL_string_dtor_010a0780 stl Wrapper that calls STL_string_dtor and returns 0x010A0790 10 thunk_to_STL_string_dtor_010a0790 stl Wrapper that calls STL_string_dtor and returns 0x010A07A0 10 thunk_to_STL_string_dtor_010a07a0 stl Wrapper that calls STL_string_dtor and returns 0x010A07B0 10 thunk_to_STL_string_dtor_010a07b0 stl Wrapper that calls STL_string_dtor and returns 0x010A07C0 10 thunk_to_STL_string_dtor_010a07c0 stl Wrapper that calls STL_string_dtor and returns 0x010A07D0 10 thunk_to_STL_string_dtor_010a07d0 stl Wrapper that calls STL_string_dtor and returns 0x010A07E0 10 thunk_to_STL_string_dtor_010a07e0 stl Wrapper that calls STL_string_dtor and returns 0x010A07F0 10 thunk_to_STL_string_dtor_010a07f0 stl Wrapper that calls STL_string_dtor and returns 0x010A0870 280 CRT_unregister_window_classes_cleanup_010a0870 crt Atexit cleanup: Unregisters all window classes by atom via UnregisterClassA, frees the class atom array, deletes the associated critical section, and resets class tracking globals. Uses SEH frame for exception safety. 0x010A0990 10 thunk_to_STL_string_dtor_010a0990 stl Wrapper that calls STL_string_dtor and returns 0x010A09A0 10 thunk_to_STL_string_dtor_010a09a0 stl Wrapper that calls STL_string_dtor and returns 0x010A09B0 10 thunk_to_STL_string_dtor_010a09b0 stl Wrapper that calls STL_string_dtor and returns 0x010A09C0 10 thunk_to_STL_string_dtor_010a09c0 stl Wrapper that calls STL_string_dtor and returns 0x010A09D0 10 thunk_to_STL_string_dtor_010a09d0 stl Wrapper that calls STL_string_dtor and returns 0x010A09E0 10 thunk_to_STL_string_dtor_010a09e0 stl Wrapper that calls STL_string_dtor and returns 0x010A09F0 10 thunk_to_STL_string_dtor_010a09f0 stl Wrapper that calls STL_string_dtor and returns 0x010A0A00 10 thunk_to_STL_string_dtor_010a0a00 stl Wrapper that calls STL_string_dtor and returns 0x010A0A10 10 thunk_to_STL_string_dtor_010a0a10 stl Wrapper that calls STL_string_dtor and returns 0x010A0A20 10 thunk_to_STL_string_dtor_010a0a20 stl Wrapper that calls STL_string_dtor and returns 0x010A0A30 10 thunk_to_STL_string_dtor_010a0a30 stl Wrapper that calls STL_string_dtor and returns 0x010A0A40 10 thunk_to_STL_string_dtor_010a0a40 stl Wrapper that calls STL_string_dtor and returns 0x010A0A50 10 thunk_to_STL_string_dtor_010a0a50 stl Wrapper function that calls STL_string_dtor and returns 0x010A0A60 10 thunk_to_STL_string_dtor_010a0a60 stl Wrapper that calls STL_string_dtor and returns 0x010A0A70 10 thunk_to_STL_string_dtor_010a0a70 stl Wrapper that calls STL_string_dtor and returns 0x010A0A80 10 thunk_to_STL_string_dtor_010a0a80 stl Wrapper that calls STL_string_dtor and returns 0x010A0A90 10 thunk_to_STL_string_dtor_010a0a90 stl Wrapper that calls STL_string_dtor and returns 0x010A0AA0 10 thunk_to_STL_string_dtor_010a0aa0 stl Wrapper that calls STL_string_dtor and returns 0x010A0AB0 10 thunk_to_STL_string_dtor_010a0ab0 stl Wrapper that calls STL_string_dtor and returns 0x010A0AC0 10 thunk_to_STL_string_dtor_010a0ac0 stl Wrapper that calls STL_string_dtor and returns 0x010A0AD0 10 thunk_to_STL_string_dtor_010a0ad0 stl Wrapper that calls STL_string_dtor and returns 0x010A0AE0 10 thunk_to_STL_string_dtor_010a0ae0 stl Wrapper that calls STL_string_dtor and returns 0x010A0AF0 10 thunk_to_STL_string_dtor_010a0af0 stl Wrapper that calls STL_string_dtor and returns 0x010A0B00 10 thunk_to_STL_string_dtor_010a0b00 stl Wrapper that calls STL_string_dtor and returns 0x010A0B10 10 thunk_to_STL_string_dtor_010a0b10 stl Wrapper that calls STL_string_dtor and returns 0x010A0B90 280 CRT_unregister_window_classes_cleanup_010a0b90 crt Atexit cleanup: Unregisters all window classes by atom via UnregisterClassA, frees the class atom array, deletes the associated critical section, and resets class tracking globals. Uses SEH frame for exception safety. 0x010A0CB0 10 thunk_to_STL_string_dtor_010a0cb0 stl Wrapper that calls STL_string_dtor and returns 0x010A0CC0 10 thunk_to_STL_string_dtor_010a0cc0 stl Wrapper that calls STL_string_dtor and returns 0x010A0CD0 10 thunk_to_STL_string_dtor_010a0cd0 stl Wrapper that calls STL_string_dtor and returns 0x010A0CE0 10 thunk_to_STL_string_dtor_010a0ce0 stl Wrapper that calls STL_string_dtor and returns 0x010A0CF0 10 thunk_to_STL_string_dtor_010a0cf0 stl Wrapper that calls STL_string_dtor and returns 0x010A0D00 10 thunk_to_STL_string_dtor_010a0d00 stl Wrapper that calls STL_string_dtor and returns 0x010A0D10 10 thunk_to_STL_string_dtor_010a0d10 stl Wrapper that calls STL_string_dtor and returns 0x010A0D20 10 thunk_to_STL_string_dtor_010a0d20 stl Wrapper that calls STL_string_dtor and returns 0x010A0D30 10 thunk_to_STL_string_dtor_010a0d30 stl Wrapper that calls STL_string_dtor and returns 0x010A0D40 10 thunk_to_STL_string_dtor_010a0d40 stl Wrapper that calls STL_string_dtor and returns 0x010A0D50 10 thunk_to_STL_string_dtor_010a0d50 stl Wrapper that calls STL_string_dtor and returns 0x010A0D60 10 thunk_to_STL_string_dtor_010a0d60 stl Wrapper that calls STL_string_dtor and returns 0x010A0D70 10 thunk_to_STL_string_dtor_010a0d70 stl Wrapper that calls STL_string_dtor and returns 0x010A0D80 10 thunk_to_STL_string_dtor_010a0d80 stl Wrapper that calls STL_string_dtor and returns 0x010A0D90 10 thunk_to_STL_string_dtor_010a0d90 stl Wrapper that calls STL_string_dtor and returns 0x010A0DA0 10 thunk_to_STL_string_dtor_010a0da0 stl Wrapper that calls STL_string_dtor and returns 0x010A0DB0 10 thunk_to_STL_string_dtor_010a0db0 stl Wrapper that calls STL_string_dtor and returns 0x010A0DC0 10 thunk_to_STL_string_dtor_010a0dc0 stl Wrapper that calls STL_string_dtor and returns 0x010A0DD0 10 thunk_to_STL_string_dtor_010a0dd0 stl Wrapper that calls STL_string_dtor and returns 0x010A0DE0 10 thunk_to_STL_string_dtor_010a0de0 stl Wrapper that calls STL_string_dtor and returns 0x010A0DF0 10 thunk_to_STL_string_dtor_010a0df0 stl Wrapper that calls STL_string_dtor and returns 0x010A0E00 10 thunk_to_STL_string_dtor_010a0e00 stl Wrapper that calls STL_string_dtor and returns 0x010A0E10 10 thunk_to_STL_string_dtor_010a0e10 stl Wrapper function that calls STL_string_dtor and returns 0x010A0E20 10 thunk_to_STL_string_dtor_010a0e20 stl Wrapper that calls STL_string_dtor and returns 0x010A0E30 10 thunk_to_STL_string_dtor_010a0e30 stl Wrapper that calls STL_string_dtor and returns 0x010A0EB0 280 CRT_unregister_window_classes_cleanup_010a0eb0 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A0FD0 10 thunk_to_STL_string_dtor_010a0fd0 stl Wrapper that calls STL_string_dtor and returns 0x010A0FE0 10 thunk_to_STL_string_dtor_010a0fe0 stl Wrapper that calls STL_string_dtor and returns 0x010A0FF0 10 thunk_to_STL_string_dtor_010a0ff0 stl Wrapper that calls STL_string_dtor and returns 0x010A1000 10 thunk_to_STL_string_dtor_010a1000 stl Wrapper that calls STL_string_dtor and returns 0x010A1010 10 thunk_to_STL_string_dtor_010a1010 stl Wrapper that calls STL_string_dtor and returns 0x010A1020 10 thunk_to_STL_string_dtor_010a1020 stl Wrapper function that calls STL_string_dtor and returns 0x010A1030 10 thunk_to_STL_string_dtor_010a1030 stl Wrapper that calls STL_string_dtor and returns 0x010A1040 10 thunk_to_STL_string_dtor_010a1040 stl Wrapper that calls STL_string_dtor and returns 0x010A1050 10 thunk_to_STL_string_dtor_010a1050 stl Wrapper that calls STL_string_dtor and returns 0x010A1060 10 thunk_to_STL_string_dtor_010a1060 stl Wrapper that calls STL_string_dtor and returns 0x010A1070 10 thunk_to_STL_string_dtor_010a1070 stl Wrapper that calls STL_string_dtor and returns 0x010A1080 10 thunk_to_STL_string_dtor_010a1080 stl Wrapper that calls STL_string_dtor and returns 0x010A1090 10 thunk_to_STL_string_dtor_010a1090 stl Wrapper that calls STL_string_dtor and returns 0x010A10A0 10 thunk_to_STL_string_dtor_010a10a0 stl Wrapper that calls STL_string_dtor and returns 0x010A10B0 10 thunk_to_STL_string_dtor_010a10b0 stl Wrapper that calls STL_string_dtor and returns 0x010A10C0 10 thunk_to_STL_string_dtor_010a10c0 stl Wrapper that calls STL_string_dtor and returns 0x010A10D0 10 thunk_to_STL_string_dtor_010a10d0 stl Wrapper that calls STL_string_dtor and returns 0x010A10E0 10 thunk_to_STL_string_dtor_010a10e0 stl Wrapper that calls STL_string_dtor and returns 0x010A10F0 10 thunk_to_STL_string_dtor_010a10f0 stl Wrapper that calls STL_string_dtor and returns 0x010A1100 10 thunk_to_STL_string_dtor_010a1100 stl Wrapper that calls STL_string_dtor and returns 0x010A1110 10 thunk_to_STL_string_dtor_010a1110 stl Wrapper that calls STL_string_dtor and returns 0x010A1120 10 thunk_to_STL_string_dtor_010a1120 stl Wrapper that calls STL_string_dtor and returns 0x010A1130 10 thunk_to_STL_string_dtor_010a1130 stl Wrapper function that calls STL_string_dtor and returns 0x010A1140 10 thunk_to_STL_string_dtor_010a1140 stl Wrapper that calls STL_string_dtor and returns 0x010A1150 10 thunk_to_STL_string_dtor_010a1150 stl Wrapper that calls STL_string_dtor and returns 0x010A11D0 280 CRT_unregister_window_classes_cleanup_010a11d0 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A12F0 10 thunk_to_STL_string_dtor_010a12f0 stl Wrapper that calls STL_string_dtor and returns 0x010A1300 10 thunk_to_STL_string_dtor_010a1300 stl Wrapper that calls STL string destructor 0x010A1310 10 thunk_to_STL_string_dtor_010a1310 stl Wrapper that calls STL_string_dtor and returns 0x010A1320 10 thunk_to_STL_string_dtor_010a1320 stl Wrapper that calls STL_string_dtor and returns 0x010A1330 10 thunk_to_STL_string_dtor_010a1330 stl Wrapper that calls STL_string_dtor and returns 0x010A1340 10 thunk_to_STL_string_dtor_010a1340 stl Wrapper that calls STL_string_dtor and returns 0x010A1350 10 thunk_to_STL_string_dtor_010a1350 stl Wrapper that calls STL_string_dtor and returns 0x010A1360 10 thunk_to_STL_string_dtor_010a1360 stl Wrapper that calls STL_string_dtor and returns 0x010A1370 10 thunk_to_STL_string_dtor_010a1370 stl Wrapper that calls STL_string_dtor and returns 0x010A1380 10 thunk_to_STL_string_dtor_010a1380 stl Wrapper that calls STL_string_dtor and returns 0x010A1390 10 thunk_to_STL_string_dtor_010a1390 stl Wrapper that calls STL_string_dtor and returns 0x010A13A0 10 thunk_to_STL_string_dtor_010a13a0 stl Wrapper that calls STL_string_dtor and returns 0x010A13B0 10 thunk_to_STL_string_dtor_010a13b0 stl Wrapper that calls STL_string_dtor and returns 0x010A13C0 10 thunk_to_STL_string_dtor_010a13c0 stl Wrapper that calls STL_string_dtor and returns 0x010A13D0 10 thunk_to_STL_string_dtor_010a13d0 stl Wrapper that calls STL_string_dtor and returns 0x010A13E0 10 thunk_to_STL_string_dtor_010a13e0 stl Wrapper that calls STL_string_dtor and returns 0x010A13F0 10 thunk_to_STL_string_dtor_010a13f0 stl Wrapper that calls STL_string_dtor and returns 0x010A1400 10 thunk_to_STL_string_dtor_010a1400 stl Wrapper that calls STL_string_dtor and returns 0x010A1410 10 thunk_to_STL_string_dtor_010a1410 stl Wrapper that calls STL_string_dtor and returns 0x010A1420 10 thunk_to_STL_string_dtor_010a1420 stl Wrapper that calls STL_string_dtor and returns 0x010A1430 10 thunk_to_STL_string_dtor_010a1430 stl Wrapper that calls STL_string_dtor and returns 0x010A1440 10 thunk_to_STL_string_dtor_010a1440 stl Wrapper that calls STL_string_dtor and returns 0x010A1450 10 thunk_to_STL_string_dtor_010a1450 stl Wrapper that calls STL_string_dtor and returns 0x010A1460 10 thunk_to_STL_string_dtor_010a1460 stl Wrapper that calls STL_string_dtor and returns 0x010A1470 10 thunk_to_STL_string_dtor_010a1470 stl Wrapper that calls STL_string_dtor and returns 0x010A14F0 280 CRT_unregister_window_classes_cleanup_010a14f0 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A1610 10 thunk_to_STL_string_dtor_010a1610 stl Wrapper that calls STL_string_dtor and returns 0x010A1620 10 thunk_to_STL_string_dtor_010a1620 stl Wrapper that calls STL_string_dtor and returns 0x010A1630 10 thunk_to_STL_string_dtor_010a1630 stl Calls STL_string_dtor and returns 0x010A1640 10 thunk_to_STL_string_dtor_010a1640 stl Wrapper that calls STL_string_dtor and returns 0x010A1650 10 thunk_to_STL_string_dtor_010a1650 stl Wrapper that calls STL_string_dtor and returns 0x010A1660 10 thunk_to_STL_string_dtor_010a1660 stl Wrapper that calls STL_string_dtor and returns 0x010A1670 10 thunk_to_STL_string_dtor_010a1670 stl Wrapper that calls STL_string_dtor and returns 0x010A1680 10 thunk_to_STL_string_dtor_010a1680 stl Wrapper that calls STL_string_dtor and returns 0x010A1690 10 thunk_to_STL_string_dtor_010a1690 stl Wrapper that calls STL_string_dtor and returns 0x010A16A0 10 thunk_to_STL_string_dtor_010a16a0 stl Wrapper that calls STL_string_dtor and returns 0x010A16B0 10 thunk_to_STL_string_dtor_010a16b0 stl Wrapper that calls STL_string_dtor and returns 0x010A16C0 10 thunk_to_STL_string_dtor_010a16c0 stl Wrapper that calls STL_string_dtor and returns 0x010A16D0 10 thunk_to_STL_string_dtor_010a16d0 stl Wrapper that calls STL_string_dtor and returns 0x010A16E0 10 thunk_to_STL_string_dtor_010a16e0 stl Wrapper that calls STL_string_dtor and returns 0x010A16F0 10 thunk_to_STL_string_dtor_010a16f0 stl Wrapper that calls STL_string_dtor and returns 0x010A1700 10 thunk_to_STL_string_dtor_010a1700 stl Wrapper that calls STL_string_dtor and returns 0x010A1710 10 thunk_to_STL_string_dtor_010a1710 stl Wrapper that calls STL_string_dtor and returns 0x010A1720 10 thunk_to_STL_string_dtor_010a1720 stl Wrapper that calls STL_string_dtor and returns 0x010A1730 10 thunk_to_STL_string_dtor_010a1730 stl Wrapper that calls STL_string_dtor and returns 0x010A1740 10 thunk_to_STL_string_dtor_010a1740 stl Wrapper that calls STL_string_dtor and returns 0x010A1750 10 thunk_to_STL_string_dtor_010a1750 stl Wrapper that calls STL_string_dtor and returns 0x010A1760 10 thunk_to_STL_string_dtor_010a1760 stl Wrapper that calls STL_string_dtor and returns 0x010A1770 10 thunk_to_STL_string_dtor_010a1770 stl Wrapper that calls STL_string_dtor and returns 0x010A1780 10 thunk_to_STL_string_dtor_010a1780 stl Wrapper that calls STL_string_dtor and returns 0x010A1790 10 thunk_to_STL_string_dtor_010a1790 stl Wrapper that calls STL_string_dtor and returns 0x010A1810 280 CRT_unregister_window_classes_cleanup_010a1810 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A1930 10 thunk_to_STL_string_dtor_010a1930 stl Wrapper function that calls STL_string_dtor and returns 0x010A1940 10 thunk_to_STL_string_dtor_010a1940 stl Wrapper that calls STL_string_dtor and returns 0x010A1950 10 thunk_to_STL_string_dtor_010a1950 stl Wrapper that calls STL_string_dtor and returns 0x010A1960 10 thunk_to_STL_string_dtor_010a1960 stl Wrapper that calls STL_string_dtor and returns 0x010A1970 10 thunk_to_STL_string_dtor_010a1970 stl Wrapper that calls STL_string_dtor and returns 0x010A1980 10 thunk_to_STL_string_dtor_010a1980 stl Wrapper that calls STL_string_dtor and returns 0x010A1990 10 thunk_to_STL_string_dtor_010a1990 stl Wrapper that calls STL_string_dtor and returns 0x010A19A0 10 thunk_to_STL_string_dtor_010a19a0 stl Wrapper that calls STL_string_dtor and returns 0x010A19B0 10 thunk_to_STL_string_dtor_010a19b0 stl Wrapper function that calls STL_string_dtor and returns 0x010A19C0 10 thunk_to_STL_string_dtor_010a19c0 stl Wrapper function that calls STL_string_dtor and returns 0x010A19D0 10 thunk_to_STL_string_dtor_010a19d0 stl Wrapper that calls STL_string_dtor and returns 0x010A19E0 10 thunk_to_STL_string_dtor_010a19e0 stl Wrapper that calls STL_string_dtor and returns 0x010A19F0 10 thunk_to_STL_string_dtor_010a19f0 stl Wrapper that calls STL_string_dtor and returns 0x010A1A00 10 thunk_to_STL_string_dtor_010a1a00 stl Wrapper that calls STL_string_dtor and returns 0x010A1A10 10 thunk_to_STL_string_dtor_010a1a10 stl Wrapper that calls STL_string_dtor and returns 0x010A1A20 10 thunk_to_STL_string_dtor_010a1a20 stl Wrapper that calls STL_string_dtor and returns 0x010A1A30 10 thunk_to_STL_string_dtor_010a1a30 stl Wrapper that calls STL_string_dtor and returns 0x010A1A40 10 thunk_to_STL_string_dtor_010a1a40 stl Wrapper that calls STL_string_dtor and returns 0x010A1A50 10 thunk_to_STL_string_dtor_010a1a50 stl Wrapper that calls STL_string_dtor and returns 0x010A1A60 10 thunk_to_STL_string_dtor_010a1a60 stl Wrapper function that calls STL_string_dtor and returns 0x010A1A70 10 thunk_to_STL_string_dtor_010a1a70 stl Wrapper that calls STL_string_dtor and returns 0x010A1A80 10 thunk_to_STL_string_dtor_010a1a80 stl Wrapper that calls STL_string_dtor and returns 0x010A1A90 10 thunk_to_STL_string_dtor_010a1a90 stl Wrapper that calls STL_string_dtor and returns 0x010A1AA0 10 thunk_to_STL_string_dtor_010a1aa0 stl Wrapper that calls STL_string_dtor and returns 0x010A1AB0 10 thunk_to_STL_string_dtor_010a1ab0 stl Wrapper that calls STL_string_dtor and returns 0x010A1B30 280 CRT_unregister_window_classes_cleanup_010a1b30 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A1C50 10 thunk_to_STL_string_dtor_010a1c50 stl Wrapper that calls STL_string_dtor and returns 0x010A1C60 10 thunk_to_STL_string_dtor_010a1c60 stl Wrapper that calls STL_string_dtor and returns 0x010A1C70 10 thunk_to_STL_string_dtor_010a1c70 stl Wrapper that calls STL_string_dtor and returns 0x010A1C80 10 thunk_to_STL_string_dtor_010a1c80 stl Wrapper that calls STL_string_dtor and returns 0x010A1C90 10 thunk_to_STL_string_dtor_010a1c90 stl Wrapper that calls STL_string_dtor and returns 0x010A1CA0 10 thunk_to_STL_string_dtor_010a1ca0 stl Wrapper that calls STL_string_dtor and returns 0x010A1CB0 10 thunk_to_STL_string_dtor_010a1cb0 stl Wrapper that calls STL_string_dtor and returns 0x010A1CC0 10 thunk_to_STL_string_dtor_010a1cc0 stl Wrapper that calls STL_string_dtor and returns 0x010A1CD0 10 thunk_to_STL_string_dtor_010a1cd0 stl Wrapper that calls STL_string_dtor and returns 0x010A1CE0 10 thunk_to_STL_string_dtor_010a1ce0 stl Wrapper that calls STL_string_dtor and returns 0x010A1CF0 10 thunk_to_STL_string_dtor_010a1cf0 stl Wrapper that calls STL_string_dtor and returns 0x010A1D00 10 thunk_to_STL_string_dtor_010a1d00 stl Wrapper function that calls STL_string_dtor and returns 0x010A1D10 10 thunk_to_STL_string_dtor_010a1d10 stl Wrapper that calls STL_string_dtor and returns 0x010A1D20 10 thunk_to_STL_string_dtor_010a1d20 stl Wrapper that calls STL_string_dtor and returns 0x010A1D30 10 thunk_to_STL_string_dtor_010a1d30 stl Wrapper that calls STL_string_dtor and returns 0x010A1D40 10 thunk_to_STL_string_dtor_010a1d40 stl Wrapper that calls STL_string_dtor and returns 0x010A1D50 10 thunk_to_STL_string_dtor_010a1d50 stl Wrapper that calls STL_string_dtor and returns 0x010A1D60 10 thunk_to_STL_string_dtor_010a1d60 stl Wrapper that calls STL string destructor 0x010A1D70 10 thunk_to_STL_string_dtor_010a1d70 stl Wrapper that calls STL_string_dtor and returns 0x010A1D80 10 thunk_to_STL_string_dtor_010a1d80 stl Wrapper that calls STL_string_dtor and returns 0x010A1D90 10 thunk_to_STL_string_dtor_010a1d90 stl Wrapper that calls STL_string_dtor and returns 0x010A1DA0 10 thunk_to_STL_string_dtor_010a1da0 stl Wrapper that calls STL_string_dtor and returns 0x010A1DB0 10 thunk_to_STL_string_dtor_010a1db0 stl Wrapper that calls STL_string_dtor and returns 0x010A1DC0 10 thunk_to_STL_string_dtor_010a1dc0 stl Wrapper that calls STL_string_dtor and returns 0x010A1DD0 10 thunk_to_STL_string_dtor_010a1dd0 stl Wrapper that calls STL_string_dtor and returns 0x010A1E50 280 CRT_unregister_window_classes_cleanup_010a1e50 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A1F70 10 thunk_to_STL_string_dtor_010a1f70 stl Wrapper that calls STL_string_dtor and returns 0x010A1F80 10 thunk_to_STL_string_dtor_010a1f80 stl Wrapper that calls STL_string_dtor and returns 0x010A1F90 10 thunk_to_STL_string_dtor_010a1f90 stl Wrapper that calls STL_string_dtor and returns 0x010A1FA0 10 thunk_to_STL_string_dtor_010a1fa0 stl Wrapper that calls STL_string_dtor and returns 0x010A1FB0 10 thunk_to_STL_string_dtor_010a1fb0 stl Wrapper function that calls STL_string_dtor and returns 0x010A1FC0 10 thunk_to_STL_string_dtor_010a1fc0 stl Wrapper that calls STL_string_dtor and returns 0x010A1FD0 10 thunk_to_STL_string_dtor_010a1fd0 stl Wrapper that calls STL_string_dtor and returns 0x010A1FE0 10 thunk_to_STL_string_dtor_010a1fe0 stl Wrapper that calls STL_string_dtor and returns 0x010A1FF0 10 thunk_to_STL_string_dtor_010a1ff0 stl Wrapper that calls STL_string_dtor and returns 0x010A2000 10 thunk_to_STL_string_dtor_010a2000 stl Wrapper that calls STL_string_dtor and returns 0x010A2010 10 thunk_to_STL_string_dtor_010a2010 stl Wrapper that calls STL_string_dtor and returns 0x010A2020 10 thunk_to_STL_string_dtor_010a2020 stl Wrapper that calls STL_string_dtor and returns 0x010A2030 10 thunk_to_STL_string_dtor_010a2030 stl Wrapper that calls STL_string_dtor and returns 0x010A2040 10 thunk_to_STL_string_dtor_010a2040 stl Wrapper that calls STL_string_dtor and returns 0x010A2050 10 thunk_to_STL_string_dtor_010a2050 stl Wrapper that calls STL_string_dtor and returns 0x010A2060 10 thunk_to_STL_string_dtor_010a2060 stl Wrapper that calls STL_string_dtor and returns 0x010A2070 10 thunk_to_STL_string_dtor_010a2070 stl Wrapper that calls STL string destructor 0x010A2080 10 thunk_to_STL_string_dtor_010a2080 stl Wrapper that calls STL_string_dtor and returns 0x010A2090 10 thunk_to_STL_string_dtor_010a2090 stl Wrapper that calls STL_string_dtor and returns 0x010A20A0 10 thunk_to_STL_string_dtor_010a20a0 stl Wrapper that calls STL_string_dtor and returns 0x010A20B0 10 thunk_to_STL_string_dtor_010a20b0 stl Wrapper function that calls STL_string_dtor and returns 0x010A20C0 10 thunk_to_STL_string_dtor_010a20c0 stl Wrapper that calls STL_string_dtor and returns 0x010A20D0 10 thunk_to_STL_string_dtor_010a20d0 stl Wrapper that calls STL_string_dtor and returns 0x010A20E0 10 thunk_to_STL_string_dtor_010a20e0 stl Wrapper that calls STL_string_dtor and returns 0x010A20F0 10 thunk_to_STL_string_dtor_010a20f0 stl Wrapper that calls STL_string_dtor and returns 0x010A2170 280 CRT_unregister_window_classes_cleanup_010a2170 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A2290 10 thunk_to_STL_string_dtor_010a2290 stl Wrapper that calls STL_string_dtor and returns 0x010A22A0 10 thunk_to_STL_string_dtor_010a22a0 stl Wrapper that calls STL_string_dtor and returns 0x010A22B0 10 thunk_to_STL_string_dtor_010a22b0 stl Wrapper that calls STL_string_dtor and returns 0x010A22C0 10 thunk_to_STL_string_dtor_010a22c0 stl Wrapper that calls STL_string_dtor and returns 0x010A22D0 10 thunk_to_STL_string_dtor_010a22d0 stl Wrapper that calls STL_string_dtor and returns 0x010A22E0 10 thunk_to_STL_string_dtor_010a22e0 stl Wrapper that calls STL_string_dtor and returns 0x010A22F0 10 thunk_to_STL_string_dtor_010a22f0 stl Wrapper that calls STL_string_dtor and returns 0x010A2300 10 thunk_to_STL_string_dtor_010a2300 stl Wrapper that calls STL_string_dtor and returns 0x010A2310 10 thunk_to_STL_string_dtor_010a2310 stl Wrapper that calls STL_string_dtor and returns 0x010A2320 10 thunk_to_STL_string_dtor_010a2320 stl Wrapper that calls STL_string_dtor and returns 0x010A2330 10 thunk_to_STL_string_dtor_010a2330 stl Wrapper that calls STL_string_dtor and returns 0x010A2340 10 thunk_to_STL_string_dtor_010a2340 stl Wrapper that calls STL_string_dtor and returns 0x010A2350 10 thunk_to_STL_string_dtor_010a2350 stl Wrapper that calls STL_string_dtor and returns 0x010A2360 10 thunk_to_STL_string_dtor_010a2360 stl Wrapper that calls STL_string_dtor and returns 0x010A2370 10 thunk_to_STL_string_dtor_010a2370 stl Wrapper that calls STL_string_dtor and returns 0x010A2380 10 thunk_to_STL_string_dtor_010a2380 stl Wrapper that calls STL_string_dtor and returns 0x010A2390 10 thunk_to_STL_string_dtor_010a2390 stl Wrapper that calls STL_string_dtor and returns 0x010A23A0 10 thunk_to_STL_string_dtor_010a23a0 stl Wrapper that calls STL_string_dtor and returns 0x010A23B0 10 thunk_to_STL_string_dtor_010a23b0 stl Wrapper that calls STL_string_dtor and returns 0x010A23C0 10 thunk_to_STL_string_dtor_010a23c0 stl Wrapper that calls STL_string_dtor and returns 0x010A23D0 10 thunk_to_STL_string_dtor_010a23d0 stl Wrapper that calls STL_string_dtor and returns 0x010A23E0 10 thunk_to_STL_string_dtor_010a23e0 stl Wrapper that calls STL_string_dtor and returns 0x010A23F0 10 thunk_to_STL_string_dtor_010a23f0 stl Wrapper that calls STL_string_dtor and returns 0x010A2400 10 thunk_to_STL_string_dtor_010a2400 stl Wrapper that calls STL_string_dtor and returns 0x010A2410 10 thunk_to_STL_string_dtor_010a2410 stl Wrapper that calls STL_string_dtor and returns 0x010A2490 280 CRT_unregister_window_classes_cleanup_010a2490 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A25B0 10 thunk_to_STL_string_dtor_010a25b0 stl Wrapper that calls STL_string_dtor and returns 0x010A25C0 10 thunk_to_STL_string_dtor_010a25c0 stl Wrapper that calls STL_string_dtor and returns 0x010A25D0 10 thunk_to_STL_string_dtor_010a25d0 stl Wrapper that calls STL_string_dtor and returns 0x010A25E0 10 thunk_to_STL_string_dtor_010a25e0 stl Wrapper that calls STL_string_dtor and returns 0x010A25F0 10 thunk_to_STL_string_dtor_010a25f0 stl Wrapper that calls STL_string_dtor and returns 0x010A2600 10 thunk_to_STL_string_dtor_010a2600 stl Wrapper that calls STL_string_dtor and returns 0x010A2610 10 thunk_to_STL_string_dtor_010a2610 stl Wrapper that calls STL_string_dtor and returns 0x010A2620 10 thunk_to_STL_string_dtor_010a2620 stl Wrapper that calls STL_string_dtor and returns 0x010A2630 10 thunk_to_STL_string_dtor_010a2630 stl Wrapper that calls STL_string_dtor and returns 0x010A2640 10 thunk_to_STL_string_dtor_010a2640 stl Wrapper that calls STL_string_dtor and returns 0x010A2650 10 thunk_to_STL_string_dtor_010a2650 stl Wrapper that calls STL_string_dtor and returns 0x010A2660 10 thunk_to_STL_string_dtor_010a2660 stl Wrapper that calls STL_string_dtor and returns 0x010A2670 10 thunk_to_STL_string_dtor_010a2670 stl Wrapper that calls STL_string_dtor and returns 0x010A2680 10 thunk_to_STL_string_dtor_010a2680 stl Wrapper that calls STL_string_dtor and returns 0x010A2690 10 thunk_to_STL_string_dtor_010a2690 stl Wrapper that calls STL_string_dtor and returns 0x010A26A0 10 thunk_to_STL_string_dtor_010a26a0 stl Wrapper function that calls STL_string_dtor and returns 0x010A26B0 10 thunk_to_STL_string_dtor_010a26b0 stl Wrapper that calls STL_string_dtor and returns 0x010A26C0 10 thunk_to_STL_string_dtor_010a26c0 stl Wrapper that calls STL_string_dtor and returns 0x010A26D0 10 thunk_to_STL_string_dtor_010a26d0 stl Wrapper that calls STL_string_dtor and returns 0x010A26E0 10 thunk_to_STL_string_dtor_010a26e0 stl Wrapper that calls STL_string_dtor and returns 0x010A26F0 10 thunk_to_STL_string_dtor_010a26f0 stl Wrapper that calls STL_string_dtor and returns 0x010A2700 10 thunk_to_STL_string_dtor_010a2700 stl Wrapper that calls STL_string_dtor destructor 0x010A2710 10 thunk_to_STL_string_dtor_010a2710 stl Wrapper that calls STL_string_dtor and returns 0x010A2720 10 thunk_to_STL_string_dtor_010a2720 stl Wrapper that calls STL_string_dtor and returns 0x010A2730 10 thunk_to_STL_string_dtor_010a2730 stl Wrapper that calls STL_string_dtor and returns 0x010A27B0 280 CRT_unregister_window_classes_cleanup_010a27b0 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A28D0 10 thunk_to_STL_string_dtor_010a28d0 stl Wrapper that calls STL_string_dtor and returns 0x010A28E0 10 thunk_to_STL_string_dtor_010a28e0 stl Wrapper that calls STL_string_dtor and returns 0x010A28F0 10 thunk_to_STL_string_dtor_010a28f0 stl Wrapper that calls STL_string_dtor and returns 0x010A2900 10 thunk_to_STL_string_dtor_010a2900 stl Wrapper that calls STL_string_dtor and returns 0x010A2910 10 thunk_to_STL_string_dtor_010a2910 stl Wrapper function that calls STL_string_dtor and returns 0x010A2920 10 thunk_to_STL_string_dtor_010a2920 stl Wrapper that calls STL_string_dtor and returns 0x010A2930 10 thunk_to_STL_string_dtor_010a2930 stl Wrapper that calls STL_string_dtor and returns 0x010A2940 10 thunk_to_STL_string_dtor_010a2940 stl Wrapper that calls STL_string_dtor and returns 0x010A2950 10 thunk_to_STL_string_dtor_010a2950 stl Wrapper that calls STL_string_dtor and returns 0x010A2960 10 thunk_to_STL_string_dtor_010a2960 stl Wrapper that calls STL_string_dtor and returns 0x010A2970 10 thunk_to_STL_string_dtor_010a2970 stl Wrapper that calls STL_string_dtor and returns 0x010A2980 10 thunk_to_STL_string_dtor_010a2980 stl Wrapper that calls STL_string_dtor and returns 0x010A2990 10 thunk_to_STL_string_dtor_010a2990 stl Wrapper that calls STL string destructor 0x010A29A0 10 thunk_to_STL_string_dtor_010a29a0 stl Wrapper that calls STL_string_dtor and returns 0x010A29B0 10 thunk_to_STL_string_dtor_010a29b0 stl Wrapper that calls STL_string_dtor and returns 0x010A29C0 10 thunk_to_STL_string_dtor_010a29c0 stl Wrapper that calls STL_string_dtor and returns 0x010A29D0 10 thunk_to_STL_string_dtor_010a29d0 stl Wrapper that calls STL_string_dtor and returns 0x010A29E0 10 thunk_to_STL_string_dtor_010a29e0 stl Wrapper that calls STL_string_dtor and returns 0x010A29F0 10 thunk_to_STL_string_dtor_010a29f0 stl Wrapper that calls STL_string_dtor and returns 0x010A2A00 10 thunk_to_STL_string_dtor_010a2a00 stl Wrapper that calls STL_string_dtor and returns 0x010A2A10 10 thunk_to_STL_string_dtor_010a2a10 stl Wrapper that calls STL_string_dtor and returns 0x010A2A20 10 thunk_to_STL_string_dtor_010a2a20 stl Wrapper that calls STL_string_dtor and returns 0x010A2A30 10 thunk_to_STL_string_dtor_010a2a30 stl Wrapper that calls STL_string_dtor and returns 0x010A2A40 10 thunk_to_STL_string_dtor_010a2a40 stl Wrapper that calls STL_string_dtor and returns 0x010A2A50 10 thunk_to_STL_string_dtor_010a2a50 stl Wrapper that calls STL_string_dtor and returns 0x010A2AD0 280 CRT_unregister_window_classes_cleanup_010a2ad0 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A2BF0 69 tls_clear_field_b2f4 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xb2f4. Clears thread-local encrypted string buffer. 0x010A2C40 69 tls_clear_field_b314 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xb314. Clears thread-local encrypted string buffer. 0x010A2C90 10 thunk_to_STL_string_dtor_010a2c90 stl Wrapper that calls STL_string_dtor and returns 0x010A2CA0 10 thunk_to_STL_string_dtor_010a2ca0 stl Wrapper that calls STL_string_dtor and returns 0x010A2CB0 10 thunk_to_STL_string_dtor_010a2cb0 stl Wrapper that calls STL_string_dtor and returns 0x010A2CC0 10 thunk_to_STL_string_dtor_010a2cc0 stl Wrapper that calls STL_string_dtor and returns 0x010A2CD0 10 thunk_to_STL_string_dtor_010a2cd0 stl Wrapper that calls STL_string_dtor and returns 0x010A2CE0 10 thunk_to_STL_string_dtor_010a2ce0 stl Wrapper that calls STL_string_dtor and returns 0x010A2CF0 10 thunk_to_STL_string_dtor_010a2cf0 stl Wrapper that calls STL_string_dtor and returns 0x010A2D00 10 thunk_to_STL_string_dtor_010a2d00 stl Wrapper that calls STL_string_dtor and returns 0x010A2D10 10 thunk_to_STL_string_dtor_010a2d10 stl Wrapper that calls STL_string_dtor and returns 0x010A2D20 10 thunk_to_STL_string_dtor_010a2d20 stl Wrapper that calls STL_string_dtor and returns 0x010A2D30 10 thunk_to_STL_string_dtor_010a2d30 stl Wrapper that calls STL_string_dtor and returns 0x010A2D40 10 thunk_to_STL_string_dtor_010a2d40 stl Wrapper that calls STL_string_dtor and returns 0x010A2D50 10 thunk_to_STL_string_dtor_010a2d50 stl Wrapper that calls STL_string_dtor and returns 0x010A2D60 10 thunk_to_STL_string_dtor_010a2d60 stl Wrapper that calls STL_string_dtor and returns 0x010A2D70 10 thunk_to_STL_string_dtor_010a2d70 stl Wrapper that calls STL_string_dtor and returns 0x010A2D80 10 thunk_to_STL_string_dtor_010a2d80 stl Wrapper that calls STL_string_dtor and returns 0x010A2D90 10 thunk_to_STL_string_dtor_010a2d90 stl Wrapper that calls STL_string_dtor and returns 0x010A2DA0 10 thunk_to_STL_string_dtor_010a2da0 stl Wrapper that calls STL_string_dtor and returns 0x010A2DB0 10 thunk_to_STL_string_dtor_010a2db0 stl Wrapper that calls STL_string_dtor and returns 0x010A2DC0 10 thunk_to_STL_string_dtor_010a2dc0 stl Wrapper that calls STL_string_dtor and returns 0x010A2DD0 10 thunk_to_STL_string_dtor_010a2dd0 stl Wrapper that calls STL_string_dtor and returns 0x010A2DE0 10 thunk_to_STL_string_dtor_010a2de0 stl Wrapper that calls STL_string_dtor and returns 0x010A2DF0 10 thunk_to_STL_string_dtor_010a2df0 stl Wrapper that calls STL_string_dtor and returns 0x010A2E00 10 thunk_to_STL_string_dtor_010a2e00 stl Wrapper that calls STL_string_dtor and returns 0x010A2E10 10 thunk_to_STL_string_dtor_010a2e10 stl Wrapper that calls STL_string_dtor and returns 0x010A2E90 280 CRT_unregister_window_classes_cleanup_010a2e90 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A2FB0 66 atexit_destroy_render_pipeline_010a2fb0 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010A3000 10 thunk_to_STL_string_dtor_010a3000 stl Wrapper that calls STL_string_dtor and returns 0x010A3010 10 thunk_to_STL_string_dtor_010a3010 stl Wrapper that calls STL_string_dtor and returns 0x010A3020 10 thunk_to_STL_string_dtor_010a3020 stl Wrapper that calls STL_string_dtor and returns 0x010A3030 10 thunk_to_STL_string_dtor_010a3030 stl Wrapper that calls STL_string_dtor and returns 0x010A3040 10 thunk_to_STL_string_dtor_010a3040 stl Wrapper that calls STL_string_dtor and returns 0x010A3050 10 thunk_to_STL_string_dtor_010a3050 stl Wrapper that calls STL_string_dtor and returns 0x010A3060 10 thunk_to_STL_string_dtor_010a3060 stl Wrapper that calls STL_string_dtor and returns 0x010A3070 10 thunk_to_STL_string_dtor_010a3070 stl Wrapper that calls STL_string_dtor and returns immediately 0x010A3080 10 thunk_to_STL_string_dtor_010a3080 stl Wrapper that calls STL_string_dtor and returns 0x010A3090 10 thunk_to_STL_string_dtor_010a3090 stl Wrapper that calls STL_string_dtor and returns 0x010A30A0 10 thunk_to_STL_string_dtor_010a30a0 stl Wrapper that calls STL_string_dtor and returns 0x010A30B0 10 thunk_to_STL_string_dtor_010a30b0 stl Wrapper that calls STL_string_dtor and returns 0x010A30C0 10 thunk_to_STL_string_dtor_010a30c0 stl Wrapper that calls STL_string_dtor and returns 0x010A30D0 10 thunk_to_STL_string_dtor_010a30d0 stl Wrapper that calls STL_string_dtor and returns 0x010A30E0 10 thunk_to_STL_string_dtor_010a30e0 stl Wrapper that calls STL_string_dtor and returns 0x010A30F0 10 thunk_to_STL_string_dtor_010a30f0 stl Wrapper that calls STL_string_dtor and returns 0x010A3100 10 thunk_to_STL_string_dtor_010a3100 stl Wrapper that calls STL_string_dtor and returns 0x010A3110 10 thunk_to_STL_string_dtor_010a3110 stl Wrapper that calls STL_string_dtor and returns 0x010A3120 10 thunk_to_STL_string_dtor_010a3120 stl Wrapper that calls STL_string_dtor and returns 0x010A3130 10 thunk_to_STL_string_dtor_010a3130 stl Wrapper that calls STL_string_dtor and returns 0x010A3140 10 thunk_to_STL_string_dtor_010a3140 stl Wrapper that calls STL_string_dtor and returns 0x010A3150 10 thunk_to_STL_string_dtor_010a3150 stl Wrapper calling STL_string_dtor destructor 0x010A3160 10 thunk_to_STL_string_dtor_010a3160 stl Wrapper that calls STL_string_dtor and returns 0x010A3170 10 thunk_to_STL_string_dtor_010a3170 stl Wrapper that calls STL_string_dtor and returns 0x010A3180 10 thunk_to_STL_string_dtor_010a3180 stl Wrapper that calls STL_string_dtor and returns 0x010A3200 280 CRT_unregister_window_classes_cleanup_010a3200 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A3320 10 thunk_to_STL_string_dtor_010a3320 stl Wrapper that calls STL_string_dtor and returns 0x010A3330 10 thunk_to_STL_string_dtor_010a3330 stl Wrapper that calls STL_string_dtor and returns 0x010A3340 10 thunk_to_STL_string_dtor_010a3340 stl Wrapper that calls STL_string_dtor and returns 0x010A3350 10 thunk_to_STL_string_dtor_010a3350 stl Wrapper that calls STL_string_dtor and returns 0x010A3360 10 thunk_to_STL_string_dtor_010a3360 stl Wrapper that calls STL_string_dtor and returns 0x010A3370 10 thunk_to_STL_string_dtor_010a3370 stl Wrapper that calls STL_string_dtor and returns 0x010A3380 10 thunk_to_STL_string_dtor_010a3380 stl Wrapper that calls STL_string_dtor and returns 0x010A3390 10 thunk_to_STL_string_dtor_010a3390 stl Wrapper that calls STL_string_dtor and returns 0x010A33A0 10 thunk_to_STL_string_dtor_010a33a0 stl Wrapper that calls STL_string_dtor and returns 0x010A33B0 10 thunk_to_STL_string_dtor_010a33b0 stl Wrapper that calls STL_string_dtor and returns 0x010A33C0 10 thunk_to_STL_string_dtor_010a33c0 stl Wrapper that calls STL_string_dtor and returns 0x010A33D0 10 thunk_to_STL_string_dtor_010a33d0 stl Wrapper that calls STL_string_dtor and returns 0x010A33E0 10 thunk_to_STL_string_dtor_010a33e0 stl Wrapper function that calls STL_string_dtor and returns 0x010A33F0 10 thunk_to_STL_string_dtor_010a33f0 stl Wrapper function that calls STL_string_dtor and returns 0x010A3400 10 thunk_to_STL_string_dtor_010a3400 stl Wrapper that calls STL_string_dtor and returns 0x010A3410 10 thunk_to_STL_string_dtor_010a3410 stl Wrapper that calls STL_string_dtor and returns 0x010A3420 10 thunk_to_STL_string_dtor_010a3420 stl Wrapper that calls STL_string_dtor and returns 0x010A3430 10 thunk_to_STL_string_dtor_010a3430 stl Wrapper that calls STL_string_dtor and returns 0x010A3440 10 thunk_to_STL_string_dtor_010a3440 stl Wrapper that calls STL_string_dtor and returns 0x010A3450 10 thunk_to_STL_string_dtor_010a3450 stl Wrapper that calls STL_string_dtor and returns 0x010A3460 10 thunk_to_STL_string_dtor_010a3460 stl Wrapper that calls STL_string_dtor and returns 0x010A3470 10 thunk_to_STL_string_dtor_010a3470 stl Wrapper that calls STL_string_dtor and returns 0x010A3480 10 thunk_to_STL_string_dtor_010a3480 stl Wrapper that calls STL_string_dtor and returns 0x010A3490 10 thunk_to_STL_string_dtor_010a3490 stl Wrapper that calls STL_string_dtor and returns 0x010A34A0 10 thunk_to_STL_string_dtor_010a34a0 stl Wrapper that calls STL_string_dtor and returns 0x010A3520 280 CRT_unregister_window_classes_cleanup_010a3520 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A3640 10 thunk_to_STL_string_dtor_010a3640 stl Wrapper that calls STL_string_dtor and returns 0x010A3650 10 thunk_to_STL_string_dtor_010a3650 stl Wrapper that calls STL_string_dtor and returns 0x010A3660 10 thunk_to_STL_string_dtor_010a3660 stl Wrapper that calls STL_string_dtor and returns 0x010A3670 10 thunk_to_STL_string_dtor_010a3670 stl Wrapper that calls STL_string_dtor and returns 0x010A3680 10 thunk_to_STL_string_dtor_010a3680 stl Wrapper that calls STL_string_dtor and returns 0x010A3690 10 thunk_to_STL_string_dtor_010a3690 stl Wrapper that calls STL_string_dtor and returns 0x010A36A0 10 thunk_to_STL_string_dtor_010a36a0 stl Wrapper that calls STL_string_dtor and returns 0x010A36B0 10 thunk_to_STL_string_dtor_010a36b0 stl Wrapper that calls STL_string_dtor and returns 0x010A36C0 10 thunk_to_STL_string_dtor_010a36c0 stl Wrapper that calls STL_string_dtor and returns 0x010A36D0 10 thunk_to_STL_string_dtor_010a36d0 stl Wrapper that calls STL_string_dtor and returns 0x010A36E0 10 thunk_to_STL_string_dtor_010a36e0 stl Wrapper that calls STL_string_dtor and returns 0x010A36F0 10 thunk_to_STL_string_dtor_010a36f0 stl Wrapper that calls STL_string_dtor and returns 0x010A3700 10 thunk_to_STL_string_dtor_010a3700 stl Wrapper that calls STL_string_dtor and returns 0x010A3710 10 thunk_to_STL_string_dtor_010a3710 stl Wrapper that calls STL_string_dtor and returns 0x010A3720 10 thunk_to_STL_string_dtor_010a3720 stl Wrapper that calls STL string destructor 0x010A3730 10 thunk_to_STL_string_dtor_010a3730 stl Wrapper that calls STL_string_dtor and returns 0x010A3740 10 thunk_to_STL_string_dtor_010a3740 stl Wrapper function that calls STL_string_dtor and returns 0x010A3750 10 thunk_to_STL_string_dtor_010a3750 stl Wrapper that calls STL_string_dtor and returns 0x010A3760 10 thunk_to_STL_string_dtor_010a3760 stl Wrapper that calls STL_string_dtor and returns 0x010A3770 10 thunk_to_STL_string_dtor_010a3770 stl Wrapper that calls STL_string_dtor and returns 0x010A3780 10 thunk_to_STL_string_dtor_010a3780 stl Wrapper that calls STL_string_dtor and returns 0x010A3790 10 thunk_to_STL_string_dtor_010a3790 stl Wrapper that calls STL_string_dtor and returns 0x010A37A0 10 thunk_to_STL_string_dtor_010a37a0 stl Wrapper that calls STL_string_dtor and returns 0x010A37B0 10 thunk_to_STL_string_dtor_010a37b0 stl Wrapper that calls STL_string_dtor and returns 0x010A37C0 10 thunk_to_STL_string_dtor_010a37c0 stl Wrapper that calls STL_string_dtor and returns 0x010A3840 280 CRT_unregister_window_classes_cleanup_010a3840 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A3960 10 thunk_to_STL_string_dtor_010a3960 stl Wrapper that calls STL_string_dtor and returns 0x010A3970 10 thunk_to_STL_string_dtor_010a3970 stl Wrapper that calls STL_string_dtor and returns 0x010A3980 10 thunk_to_STL_string_dtor_010a3980 stl Wrapper that calls STL_string_dtor and returns 0x010A3990 10 thunk_to_STL_string_dtor_010a3990 stl Wrapper that calls STL_string_dtor destructor 0x010A39A0 10 thunk_to_STL_string_dtor_010a39a0 stl Wrapper that calls STL_string_dtor and returns 0x010A39B0 10 thunk_to_STL_string_dtor_010a39b0 stl Wrapper that calls STL_string_dtor and returns 0x010A39C0 10 thunk_to_STL_string_dtor_010a39c0 stl Wrapper that calls STL_string_dtor and returns 0x010A39D0 10 thunk_to_STL_string_dtor_010a39d0 stl Wrapper that calls STL_string_dtor and returns 0x010A39E0 10 thunk_to_STL_string_dtor_010a39e0 stl Wrapper that calls STL_string_dtor and returns 0x010A39F0 10 thunk_to_STL_string_dtor_010a39f0 stl Wrapper that calls STL_string_dtor and returns 0x010A3A00 10 thunk_to_STL_string_dtor_010a3a00 stl Wrapper that calls STL_string_dtor and returns 0x010A3A10 10 thunk_to_STL_string_dtor_010a3a10 stl Wrapper that calls STL_string_dtor and returns 0x010A3A20 10 thunk_to_STL_string_dtor_010a3a20 stl Wrapper that calls STL_string_dtor and returns 0x010A3A30 10 thunk_to_STL_string_dtor_010a3a30 stl Wrapper that calls STL_string_dtor and returns 0x010A3A40 10 thunk_to_STL_string_dtor_010a3a40 stl Wrapper that calls STL_string_dtor and returns 0x010A3A50 10 thunk_to_STL_string_dtor_010a3a50 stl Wrapper that calls STL_string_dtor and returns 0x010A3A60 10 thunk_to_STL_string_dtor_010a3a60 stl Wrapper that calls STL_string_dtor and returns 0x010A3A70 10 thunk_to_STL_string_dtor_010a3a70 stl Wrapper that calls STL_string_dtor and returns 0x010A3A80 10 thunk_to_STL_string_dtor_010a3a80 stl Wrapper that calls STL_string_dtor and returns 0x010A3A90 10 thunk_to_STL_string_dtor_010a3a90 stl Wrapper that calls STL_string_dtor and returns 0x010A3AA0 10 thunk_to_STL_string_dtor_010a3aa0 stl Wrapper that calls STL_string_dtor and returns 0x010A3AB0 10 thunk_to_STL_string_dtor_010a3ab0 stl Wrapper that calls STL_string_dtor and returns 0x010A3AC0 10 thunk_to_STL_string_dtor_010a3ac0 stl Wrapper function that calls STL_string_dtor and returns 0x010A3AD0 10 thunk_to_STL_string_dtor_010a3ad0 stl Wrapper that calls STL_string_dtor and returns 0x010A3AE0 10 thunk_to_STL_string_dtor_010a3ae0 stl Wrapper that calls STL_string_dtor and returns 0x010A3B60 280 CRT_unregister_window_classes_cleanup_010a3b60 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A3CF0 280 CRT_unregister_window_classes_cleanup_010a3cf0 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A3E80 280 CRT_unregister_window_classes_cleanup_010a3e80 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A3FA0 10 thunk_to_STL_string_dtor_010a3fa0 stl Wrapper that calls STL_string_dtor and returns 0x010A3FB0 10 thunk_to_STL_string_dtor_010a3fb0 stl Wrapper that calls STL_string_dtor and returns 0x010A3FC0 10 thunk_to_STL_string_dtor_010a3fc0 stl Wrapper that calls STL_string_dtor and returns 0x010A3FD0 10 thunk_to_STL_string_dtor_010a3fd0 stl Wrapper that calls STL_string_dtor and returns 0x010A3FE0 10 thunk_to_STL_string_dtor_010a3fe0 stl Wrapper that calls STL_string_dtor and returns 0x010A3FF0 10 thunk_to_STL_string_dtor_010a3ff0 stl Wrapper that calls STL_string_dtor and returns 0x010A4000 10 thunk_to_STL_string_dtor_010a4000 stl Wrapper that calls STL_string_dtor and returns 0x010A4010 10 thunk_to_STL_string_dtor_010a4010 stl Wrapper that calls STL_string_dtor and returns 0x010A4020 10 thunk_to_STL_string_dtor_010a4020 stl Wrapper that calls STL_string_dtor and returns 0x010A4030 10 thunk_to_STL_string_dtor_010a4030 stl Wrapper that calls STL_string_dtor and returns 0x010A4040 10 thunk_to_STL_string_dtor_010a4040 stl Wrapper that calls STL_string_dtor and returns 0x010A4050 10 thunk_to_STL_string_dtor_010a4050 stl Wrapper that calls STL_string_dtor and returns 0x010A4060 10 thunk_to_STL_string_dtor_010a4060 stl Wrapper that calls STL string destructor 0x010A4070 10 thunk_to_STL_string_dtor_010a4070 stl Wrapper function that calls STL_string_dtor and returns 0x010A4080 10 thunk_to_STL_string_dtor_010a4080 stl Wrapper that calls STL_string_dtor and returns 0x010A4090 10 thunk_to_STL_string_dtor_010a4090 stl Wrapper that calls STL_string_dtor and returns 0x010A40A0 10 thunk_to_STL_string_dtor_010a40a0 stl Wrapper that calls STL_string_dtor and returns 0x010A40B0 10 thunk_to_STL_string_dtor_010a40b0 stl Wrapper that calls STL_string_dtor and returns 0x010A40C0 10 thunk_to_STL_string_dtor_010a40c0 stl Wrapper that calls STL_string_dtor and returns 0x010A40E0 10 thunk_to_STL_string_dtor_010a40e0 stl Wrapper that calls STL_string_dtor and returns 0x010A40F0 10 thunk_to_STL_string_dtor_010a40f0 stl Wrapper that calls STL_string_dtor and returns 0x010A4100 10 thunk_to_STL_string_dtor_010a4100 stl Wrapper that calls STL_string_dtor and returns 0x010A4110 10 thunk_to_STL_string_dtor_010a4110 stl Wrapper that calls STL_string_dtor and returns 0x010A4120 10 thunk_to_STL_string_dtor_010a4120 stl Wrapper that calls STL_string_dtor and returns 0x010A41A0 280 CRT_unregister_window_classes_cleanup_010a41a0 crt CRT cleanup handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A42C0 10 thunk_to_STL_string_dtor_010a42c0 stl Wrapper that calls STL_string_dtor and returns 0x010A42D0 10 thunk_to_STL_string_dtor_010a42d0 stl Wrapper function that calls STL_string_dtor and returns 0x010A42E0 10 thunk_to_STL_string_dtor_010a42e0 stl Wrapper that calls STL_string_dtor and returns 0x010A42F0 10 thunk_to_STL_string_dtor_010a42f0 stl Wrapper that calls STL_string_dtor and returns 0x010A4300 10 thunk_to_STL_string_dtor_010a4300 stl Wrapper that calls STL_string_dtor and returns 0x010A4310 10 thunk_to_STL_string_dtor_010a4310 stl Wrapper that calls STL_string_dtor and returns 0x010A4320 10 thunk_to_STL_string_dtor_010a4320 stl Wrapper that calls STL_string_dtor and returns 0x010A4330 10 thunk_to_STL_string_dtor_010a4330 stl Wrapper that calls STL_string_dtor and returns 0x010A4340 10 thunk_to_STL_string_dtor_010a4340 stl Wrapper that calls STL_string_dtor and returns 0x010A4350 10 thunk_to_STL_string_dtor_010a4350 stl Wrapper that calls STL_string_dtor and returns 0x010A4360 10 thunk_to_STL_string_dtor_010a4360 stl Wrapper that calls STL_string_dtor and returns 0x010A4370 10 thunk_to_STL_string_dtor_010a4370 stl Wrapper that calls STL_string_dtor and returns 0x010A4380 10 thunk_to_STL_string_dtor_010a4380 stl Wrapper that calls STL_string_dtor and returns 0x010A4390 10 thunk_to_STL_string_dtor_010a4390 stl Wrapper function that calls STL_string_dtor and returns 0x010A43A0 10 thunk_to_STL_string_dtor_010a43a0 stl Wrapper that calls STL_string_dtor and returns 0x010A43B0 10 thunk_to_STL_string_dtor_010a43b0 stl Wrapper that calls STL_string_dtor and returns 0x010A43C0 10 thunk_to_STL_string_dtor_010a43c0 stl Wrapper that calls STL_string_dtor and returns 0x010A43D0 10 thunk_to_STL_string_dtor_010a43d0 stl Wrapper that calls STL_string_dtor and returns 0x010A43E0 10 thunk_to_STL_string_dtor_010a43e0 stl Wrapper that calls STL_string_dtor and returns 0x010A43F0 10 thunk_to_STL_string_dtor_010a43f0 stl Wrapper that calls STL_string_dtor and returns 0x010A4400 10 thunk_to_STL_string_dtor_010a4400 stl Wrapper that calls STL_string_dtor and returns 0x010A4410 10 thunk_to_STL_string_dtor_010a4410 stl Wrapper that calls STL_string_dtor and returns 0x010A4420 10 thunk_to_STL_string_dtor_010a4420 stl Wrapper that calls STL_string_dtor and returns 0x010A4430 10 thunk_to_STL_string_dtor_010a4430 stl Wrapper that calls STL_string_dtor and returns 0x010A4440 10 thunk_to_STL_string_dtor_010a4440 stl Wrapper that calls STL_string_dtor and returns 0x010A44C0 280 atexit_unregister_window_classes_010a44c0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A45E0 10 thunk_to_STL_string_dtor_010a45e0 stl Wrapper that calls STL_string_dtor and returns 0x010A45F0 10 thunk_to_STL_string_dtor_010a45f0 stl Wrapper that calls STL_string_dtor and returns 0x010A4600 10 thunk_to_STL_string_dtor_010a4600 stl Wrapper that calls STL_string_dtor and returns 0x010A4610 10 thunk_to_STL_string_dtor_010a4610 stl Wrapper that calls STL_string_dtor and returns 0x010A4620 10 thunk_to_STL_string_dtor_010a4620 stl Wrapper that calls STL_string_dtor and returns 0x010A4630 10 thunk_to_STL_string_dtor_010a4630 stl Wrapper that calls STL_string_dtor and returns 0x010A4640 10 thunk_to_STL_string_dtor_010a4640 stl Wrapper that calls STL_string_dtor and returns 0x010A4650 10 thunk_to_STL_string_dtor_010a4650 stl Wrapper that calls STL_string_dtor and returns 0x010A4660 10 thunk_to_STL_string_dtor_010a4660 stl Wrapper that calls STL_string_dtor and returns 0x010A4670 10 thunk_to_STL_string_dtor_010a4670 stl Wrapper that calls STL_string_dtor and returns 0x010A4680 10 thunk_to_STL_string_dtor_010a4680 stl Wrapper that calls STL_string_dtor and returns 0x010A4690 10 thunk_to_STL_string_dtor_010a4690 stl Wrapper that calls STL_string_dtor and returns 0x010A46A0 10 thunk_to_STL_string_dtor_010a46a0 stl Wrapper that calls STL_string_dtor and returns 0x010A46B0 10 thunk_to_STL_string_dtor_010a46b0 stl Wrapper that calls STL_string_dtor and returns 0x010A46C0 10 thunk_to_STL_string_dtor_010a46c0 stl Wrapper that calls STL_string_dtor and returns 0x010A46D0 10 thunk_to_STL_string_dtor_010a46d0 stl Wrapper function that calls STL_string_dtor and returns 0x010A46E0 10 thunk_to_STL_string_dtor_010a46e0 stl Wrapper that calls STL_string_dtor and returns 0x010A46F0 10 thunk_to_STL_string_dtor_010a46f0 stl Wrapper function that calls STL_string_dtor and returns 0x010A4700 10 thunk_to_STL_string_dtor_010a4700 stl Wrapper that calls STL_string_dtor and returns 0x010A4710 10 thunk_to_STL_string_dtor_010a4710 stl Wrapper that calls STL_string_dtor and returns 0x010A4720 10 thunk_to_STL_string_dtor_010a4720 stl Wrapper that calls STL_string_dtor and returns 0x010A4730 10 thunk_to_STL_string_dtor_010a4730 stl Wrapper that calls STL_string_dtor and returns 0x010A4740 10 thunk_to_STL_string_dtor_010a4740 stl Wrapper that calls STL_string_dtor and returns 0x010A4750 10 thunk_to_STL_string_dtor_010a4750 stl Wrapper that calls STL_string_dtor and returns 0x010A4760 10 thunk_to_STL_string_dtor_010a4760 stl Wrapper that calls STL_string_dtor and returns 0x010A47E0 280 atexit_unregister_window_classes_010a47e0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A4900 10 thunk_to_STL_string_dtor_010a4900 stl Wrapper that calls STL_string_dtor and returns 0x010A4910 10 thunk_to_STL_string_dtor_010a4910 stl Wrapper that calls STL_string_dtor and returns 0x010A4920 10 thunk_to_STL_string_dtor_010a4920 stl Wrapper that calls STL_string_dtor and returns 0x010A4930 10 thunk_to_STL_string_dtor_010a4930 stl Wrapper that calls STL_string_dtor and returns 0x010A4940 10 thunk_to_STL_string_dtor_010a4940 stl Wrapper that calls STL_string_dtor and returns 0x010A4950 10 thunk_to_STL_string_dtor_010a4950 stl Wrapper that calls STL_string_dtor and returns 0x010A4960 10 thunk_to_STL_string_dtor_010a4960 stl Wrapper that calls STL_string_dtor and returns 0x010A4970 10 thunk_to_STL_string_dtor_010a4970 stl Wrapper that calls STL_string_dtor and returns 0x010A4980 10 thunk_to_STL_string_dtor_010a4980 stl Wrapper function that calls STL_string_dtor and returns 0x010A4990 10 thunk_to_STL_string_dtor_010a4990 stl Wrapper that calls STL_string_dtor and returns 0x010A49A0 10 thunk_to_STL_string_dtor_010a49a0 stl Wrapper that calls STL_string_dtor and returns 0x010A49B0 10 thunk_to_STL_string_dtor_010a49b0 stl Wrapper that calls STL_string_dtor and returns 0x010A49C0 10 thunk_to_STL_string_dtor_010a49c0 stl Wrapper that calls STL_string_dtor and returns 0x010A49D0 10 thunk_to_STL_string_dtor_010a49d0 stl Wrapper that calls STL_string_dtor and returns 0x010A49E0 10 thunk_to_STL_string_dtor_010a49e0 stl Wrapper that calls STL_string_dtor and returns 0x010A49F0 10 thunk_to_STL_string_dtor_010a49f0 stl Wrapper that calls STL_string_dtor and returns 0x010A4A00 10 thunk_to_STL_string_dtor_010a4a00 stl Wrapper function that calls STL_string_dtor and returns 0x010A4A10 10 thunk_to_STL_string_dtor_010a4a10 stl Wrapper that calls STL_string_dtor and returns 0x010A4A20 10 thunk_to_STL_string_dtor_010a4a20 stl Wrapper function that calls STL_string_dtor and returns 0x010A4A30 10 thunk_to_STL_string_dtor_010a4a30 stl Wrapper that calls STL_string_dtor and returns 0x010A4A40 10 thunk_to_STL_string_dtor_010a4a40 stl Wrapper that calls STL_string_dtor and returns 0x010A4A50 10 thunk_to_STL_string_dtor_010a4a50 stl Wrapper that calls STL string destructor 0x010A4A60 10 thunk_to_STL_string_dtor_010a4a60 stl Wrapper that calls STL_string_dtor and returns 0x010A4A70 10 thunk_to_STL_string_dtor_010a4a70 stl Wrapper that calls STL_string_dtor and returns 0x010A4A80 10 thunk_to_STL_string_dtor_010a4a80 stl Wrapper that calls STL_string_dtor and returns 0x010A4B00 280 atexit_unregister_window_classes_010a4b00 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A4C20 151 atexit_destroy_EffectMap_file_and_vectors crt Static destructor (atexit callback) for EffectMap globals. Flushes remaining write data if file handle is open (DAT_016f732c), closes the file, calls _eh_vector_destructor_iterator_ on 10 elements of size 0x1a, then frees the 16-byte vector. 0x010A4CC0 124 atexit_reset_EffectMap_entries_and_buffer crt Static destructor (atexit callback) that resets EffectMap entries. Zeros global counters, calls EffectMap__reset_entries_from_backup, zeros 16000 bytes of effect buffer starting at DAT_016f7478, then frees the 108-byte vector. 0x010A4DB0 280 atexit_unregister_window_classes_010a4db0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A4ED0 10 thunk_to_STL_string_dtor_010a4ed0 stl Wrapper that calls STL_string_dtor and returns 0x010A4EE0 10 thunk_to_STL_string_dtor_010a4ee0 stl Wrapper that calls STL_string_dtor and returns 0x010A4EF0 10 thunk_to_STL_string_dtor_010a4ef0 stl Wrapper that calls STL_string_dtor and returns 0x010A4F00 10 thunk_to_STL_string_dtor_010a4f00 stl Wrapper that calls STL_string_dtor and returns 0x010A4F10 10 thunk_to_STL_string_dtor_010a4f10 stl Wrapper that calls STL_string_dtor and returns 0x010A4F20 10 thunk_to_STL_string_dtor_010a4f20 stl Wrapper that calls STL_string_dtor and returns 0x010A4F30 10 thunk_to_STL_string_dtor_010a4f30 stl Wrapper that calls STL_string_dtor and returns 0x010A4F40 10 thunk_to_STL_string_dtor_010a4f40 stl Wrapper that calls STL_string_dtor and returns 0x010A4F50 10 thunk_to_STL_string_dtor_010a4f50 stl Wrapper that calls STL_string_dtor and returns 0x010A4F60 10 thunk_to_STL_string_dtor_010a4f60 stl Wrapper that calls STL_string_dtor and returns 0x010A4F70 10 thunk_to_STL_string_dtor_010a4f70 stl Wrapper that calls STL_string_dtor and returns 0x010A4F80 10 thunk_to_STL_string_dtor_010a4f80 stl Wrapper that calls STL_string_dtor and returns 0x010A4F90 10 thunk_to_STL_string_dtor_010a4f90 stl Wrapper that calls STL_string_dtor and returns 0x010A4FA0 10 thunk_to_STL_string_dtor_010a4fa0 stl Wrapper that calls STL_string_dtor and returns 0x010A4FB0 10 thunk_to_STL_string_dtor_010a4fb0 stl Wrapper that calls STL_string_dtor and returns 0x010A4FC0 10 thunk_to_STL_string_dtor_010a4fc0 stl Wrapper that calls STL_string_dtor and returns 0x010A4FD0 10 thunk_to_STL_string_dtor_010a4fd0 stl Wrapper that calls STL_string_dtor and returns 0x010A4FE0 10 thunk_to_STL_string_dtor_010a4fe0 stl Wrapper function that calls STL_string_dtor and returns 0x010A4FF0 10 thunk_to_STL_string_dtor_010a4ff0 stl Wrapper that calls STL_string_dtor and returns 0x010A5000 10 thunk_to_STL_string_dtor_010a5000 stl Wrapper that calls STL_string_dtor and returns 0x010A5010 10 thunk_to_STL_string_dtor_010a5010 stl Wrapper that calls STL_string_dtor and returns 0x010A5020 10 thunk_to_STL_string_dtor_010a5020 stl Wrapper that calls STL_string_dtor and returns 0x010A5030 10 thunk_to_STL_string_dtor_010a5030 stl Wrapper that calls STL_string_dtor and returns 0x010A5040 10 thunk_to_STL_string_dtor_010a5040 stl Wrapper that calls STL_string_dtor and returns 0x010A5050 10 thunk_to_STL_string_dtor_010a5050 stl Wrapper that calls STL_string_dtor and returns 0x010A50D0 280 atexit_unregister_window_classes_010a50d0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A51F0 66 atexit_destroy_STL_map_010a51f0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A5240 10 thunk_to_STL_string_dtor_010a5240 stl Wrapper that calls STL_string_dtor and returns 0x010A5250 10 thunk_to_STL_string_dtor_010a5250 stl Wrapper that calls STL_string_dtor and returns 0x010A5260 10 thunk_to_STL_string_dtor_010a5260 stl Wrapper that calls STL_string_dtor and returns 0x010A5270 10 thunk_to_STL_string_dtor_010a5270 stl Wrapper that calls STL_string_dtor and returns 0x010A5280 10 thunk_to_STL_string_dtor_010a5280 stl Wrapper that calls STL_string_dtor and returns 0x010A5290 10 thunk_to_STL_string_dtor_010a5290 stl Wrapper that calls STL_string_dtor and returns 0x010A52A0 10 thunk_to_STL_string_dtor_010a52a0 stl Wrapper that calls STL_string_dtor and returns 0x010A52B0 10 thunk_to_STL_string_dtor_010a52b0 stl Wrapper that calls STL_string_dtor and returns 0x010A52C0 10 thunk_to_STL_string_dtor_010a52c0 stl Wrapper that calls STL_string_dtor and returns 0x010A52D0 10 thunk_to_STL_string_dtor_010a52d0 stl Wrapper that calls STL_string_dtor and returns 0x010A52E0 10 thunk_to_STL_string_dtor_010a52e0 stl Wrapper that calls STL_string_dtor and returns 0x010A52F0 10 thunk_to_STL_string_dtor_010a52f0 stl Wrapper that calls STL_string_dtor and returns 0x010A5300 10 thunk_to_STL_string_dtor_010a5300 stl Wrapper that calls STL_string_dtor and returns 0x010A5310 10 thunk_to_STL_string_dtor_010a5310 stl Wrapper that calls STL_string_dtor and returns 0x010A5320 10 thunk_to_STL_string_dtor_010a5320 stl Wrapper that calls STL_string_dtor and returns 0x010A5330 10 thunk_to_STL_string_dtor_010a5330 stl Wrapper that calls STL_string_dtor and returns 0x010A5340 10 thunk_to_STL_string_dtor_010a5340 stl Wrapper that calls STL_string_dtor and returns 0x010A5350 10 thunk_to_STL_string_dtor_010a5350 stl Wrapper that calls STL_string_dtor and returns 0x010A5360 10 thunk_to_STL_string_dtor_010a5360 stl Wrapper that calls STL_string_dtor and returns 0x010A5370 10 thunk_to_STL_string_dtor_010a5370 stl Wrapper that calls STL_string_dtor and returns 0x010A5380 10 thunk_to_STL_string_dtor_010a5380 stl Wrapper that calls STL_string_dtor and returns 0x010A5390 10 thunk_to_STL_string_dtor_010a5390 stl Wrapper that calls STL_string_dtor and returns 0x010A53A0 10 thunk_to_STL_string_dtor_010a53a0 stl Wrapper that calls STL_string_dtor and returns 0x010A53B0 10 thunk_to_STL_string_dtor_010a53b0 stl Wrapper that calls STL_string_dtor and returns 0x010A53C0 10 thunk_to_STL_string_dtor_010a53c0 stl Wrapper that calls STL_string_dtor and returns 0x010A5440 280 atexit_unregister_window_classes_010a5440 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A5560 10 thunk_to_CNavigator__dtor game_core Thunk that forwards to CNavigator__dtor(). Used as atexit callback. 0x010A5570 66 atexit_destroy_STL_map_010a5570 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A55C0 66 atexit_destroy_rb_tree_010a55c0 crt Static destructor (atexit callback) for a global red-black tree. Calls rb_tree__destroy_all with SEH protection. 0x010A5610 10 thunk_to_STL_string_dtor_010a5610 stl Wrapper that calls STL_string_dtor and returns 0x010A5620 10 thunk_to_STL_string_dtor_010a5620 stl Wrapper that calls STL_string_dtor and returns 0x010A5630 10 thunk_to_STL_string_dtor_010a5630 stl Wrapper that calls STL_string_dtor and returns 0x010A5640 10 thunk_to_STL_string_dtor_010a5640 stl Wrapper that calls STL_string_dtor and returns 0x010A5650 10 thunk_to_STL_string_dtor_010a5650 stl Wrapper that calls STL_string_dtor and returns 0x010A5660 10 thunk_to_STL_string_dtor_010a5660 stl Wrapper that calls STL_string_dtor and returns 0x010A5670 10 thunk_to_STL_string_dtor_010a5670 stl Wrapper that calls STL_string_dtor and returns 0x010A5680 10 thunk_to_STL_string_dtor_010a5680 stl Wrapper that calls STL_string_dtor and returns 0x010A5690 10 thunk_to_STL_string_dtor_010a5690 stl Wrapper that calls STL_string_dtor and returns 0x010A56A0 10 thunk_to_STL_string_dtor_010a56a0 stl Wrapper that calls STL_string_dtor and returns 0x010A56B0 10 thunk_to_STL_string_dtor_010a56b0 stl Wrapper that calls STL_string_dtor and returns 0x010A56C0 10 thunk_to_STL_string_dtor_010a56c0 stl Wrapper that calls STL_string_dtor and returns 0x010A56D0 10 thunk_to_STL_string_dtor_010a56d0 stl Wrapper that calls STL_string_dtor and returns 0x010A56E0 10 thunk_to_STL_string_dtor_010a56e0 stl Wrapper that calls STL_string_dtor and returns 0x010A56F0 10 thunk_to_STL_string_dtor_010a56f0 stl Wrapper that calls STL_string_dtor and returns 0x010A5700 10 thunk_to_STL_string_dtor_010a5700 stl Wrapper that calls STL_string_dtor and returns 0x010A5710 10 thunk_to_STL_string_dtor_010a5710 stl Wrapper that calls STL_string_dtor and returns 0x010A5720 10 thunk_to_STL_string_dtor_010a5720 stl Wrapper that calls STL_string_dtor and returns 0x010A5730 10 thunk_to_STL_string_dtor_010a5730 stl Wrapper that calls STL_string_dtor and returns 0x010A5740 10 thunk_to_STL_string_dtor_010a5740 stl Wrapper that calls STL_string_dtor and returns 0x010A5750 10 thunk_to_STL_string_dtor_010a5750 stl Wrapper that calls STL_string_dtor and returns 0x010A5760 10 thunk_to_STL_string_dtor_010a5760 stl Wrapper that calls STL_string_dtor and returns 0x010A5770 10 thunk_to_STL_string_dtor_010a5770 stl Wrapper that calls STL_string_dtor and returns 0x010A5780 10 thunk_to_STL_string_dtor_010a5780 stl Wrapper that calls STL_string_dtor and returns 0x010A5790 10 thunk_to_STL_string_dtor_010a5790 stl Wrapper that calls STL_string_dtor and returns 0x010A5810 280 atexit_unregister_window_classes_010a5810 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A5930 66 atexit_destroy_STL_map_010a5930 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A5980 10 thunk_to_STL_string_dtor_010a5980 stl Wrapper function that calls STL_string_dtor and returns 0x010A5990 10 thunk_to_STL_string_dtor_010a5990 stl Wrapper that calls STL_string_dtor and returns 0x010A59A0 10 thunk_to_STL_string_dtor_010a59a0 stl Wrapper that calls STL_string_dtor and returns 0x010A59B0 10 thunk_to_STL_string_dtor_010a59b0 stl Wrapper that calls STL_string_dtor and returns 0x010A59C0 10 thunk_to_STL_string_dtor_010a59c0 stl Wrapper that calls STL_string_dtor and returns 0x010A59D0 10 thunk_to_STL_string_dtor_010a59d0 stl Wrapper that calls STL_string_dtor and returns 0x010A59E0 10 thunk_to_STL_string_dtor_010a59e0 stl Wrapper that calls STL_string_dtor and returns 0x010A59F0 10 thunk_to_STL_string_dtor_010a59f0 stl Wrapper that calls STL_string_dtor and returns 0x010A5A00 10 thunk_to_STL_string_dtor_010a5a00 stl Wrapper that calls STL_string_dtor and returns 0x010A5A10 10 thunk_to_STL_string_dtor_010a5a10 stl Wrapper that calls STL_string_dtor and returns 0x010A5A20 10 thunk_to_STL_string_dtor_010a5a20 stl Wrapper that calls STL_string_dtor and returns 0x010A5A30 10 thunk_to_STL_string_dtor_010a5a30 stl Wrapper that calls STL_string_dtor and returns 0x010A5A40 10 thunk_to_STL_string_dtor_010a5a40 stl Wrapper that calls STL_string_dtor and returns 0x010A5A50 10 thunk_to_STL_string_dtor_010a5a50 stl Wrapper that calls STL_string_dtor and returns 0x010A5A60 10 thunk_to_STL_string_dtor_010a5a60 stl Wrapper that calls STL_string_dtor and returns 0x010A5A70 10 thunk_to_STL_string_dtor_010a5a70 stl Wrapper that calls STL_string_dtor and returns 0x010A5A80 10 thunk_to_STL_string_dtor_010a5a80 stl Wrapper that calls STL_string_dtor and returns 0x010A5A90 10 thunk_to_STL_string_dtor_010a5a90 stl Wrapper that calls STL_string_dtor and returns 0x010A5AA0 10 thunk_to_STL_string_dtor_010a5aa0 stl Wrapper that calls STL_string_dtor and returns 0x010A5AB0 10 thunk_to_STL_string_dtor_010a5ab0 stl Wrapper that calls STL_string_dtor and returns 0x010A5AC0 10 thunk_to_STL_string_dtor_010a5ac0 stl Wrapper that calls STL_string_dtor and returns 0x010A5AD0 10 thunk_to_STL_string_dtor_010a5ad0 stl Wrapper that calls STL_string_dtor and returns 0x010A5AE0 10 thunk_to_STL_string_dtor_010a5ae0 stl Wrapper that calls STL_string_dtor and returns 0x010A5AF0 10 thunk_to_STL_string_dtor_010a5af0 stl Wrapper that calls STL_string_dtor and returns 0x010A5B00 10 thunk_to_STL_string_dtor_010a5b00 stl Wrapper that calls STL_string_dtor and returns 0x010A5B80 280 atexit_unregister_window_classes_010a5b80 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A5CA0 66 atexit_destroy_STL_map_010a5ca0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A5CF0 10 thunk_to_STL_string_dtor_010a5cf0 stl Wrapper that calls STL_string_dtor and returns 0x010A5D00 10 thunk_to_STL_string_dtor_010a5d00 stl Wrapper that calls STL_string_dtor and returns 0x010A5D10 10 thunk_to_STL_string_dtor_010a5d10 stl Wrapper that calls STL_string_dtor and returns 0x010A5D20 10 thunk_to_STL_string_dtor_010a5d20 stl Wrapper that calls STL_string_dtor and returns 0x010A5D30 10 thunk_to_STL_string_dtor_010a5d30 stl Wrapper that calls STL_string_dtor and returns 0x010A5D40 10 thunk_to_STL_string_dtor_010a5d40 stl Wrapper that calls STL_string_dtor and returns 0x010A5D50 10 thunk_to_STL_string_dtor_010a5d50 stl Wrapper that calls STL_string_dtor and returns 0x010A5D60 10 thunk_to_STL_string_dtor_010a5d60 stl Wrapper that calls STL_string_dtor and returns 0x010A5D70 10 thunk_to_STL_string_dtor_010a5d70 stl Wrapper that calls STL_string_dtor and returns 0x010A5D80 10 thunk_to_STL_string_dtor_010a5d80 stl Wrapper that calls STL_string_dtor and returns 0x010A5D90 10 thunk_to_STL_string_dtor_010a5d90 stl Wrapper that calls STL_string_dtor and returns 0x010A5DA0 10 thunk_to_STL_string_dtor_010a5da0 stl Wrapper that calls STL_string_dtor and returns 0x010A5DB0 10 thunk_to_STL_string_dtor_010a5db0 stl Wrapper that calls STL_string_dtor and returns 0x010A5DC0 10 thunk_to_STL_string_dtor_010a5dc0 stl Wrapper that calls STL_string_dtor and returns 0x010A5DD0 10 thunk_to_STL_string_dtor_010a5dd0 stl Wrapper that calls STL_string_dtor and returns 0x010A5DE0 10 thunk_to_STL_string_dtor_010a5de0 stl Wrapper that calls STL_string_dtor and returns 0x010A5DF0 10 thunk_to_STL_string_dtor_010a5df0 stl Wrapper that calls STL_string_dtor and returns 0x010A5E00 10 thunk_to_STL_string_dtor_010a5e00 stl Wrapper that calls STL_string_dtor and returns 0x010A5E10 10 thunk_to_STL_string_dtor_010a5e10 stl Wrapper that calls STL_string_dtor and returns 0x010A5E20 10 thunk_to_STL_string_dtor_010a5e20 stl Wrapper that calls STL_string_dtor and returns 0x010A5E30 10 thunk_to_STL_string_dtor_010a5e30 stl Wrapper that calls STL_string_dtor and returns 0x010A5E40 10 thunk_to_STL_string_dtor_010a5e40 stl Wrapper that calls STL_string_dtor and returns 0x010A5E50 10 thunk_to_STL_string_dtor_010a5e50 stl Wrapper that calls STL_string_dtor and returns 0x010A5E60 10 thunk_to_STL_string_dtor_010a5e60 stl Wrapper that calls STL_string_dtor and returns 0x010A5E70 10 thunk_to_STL_string_dtor_010a5e70 stl Wrapper that calls STL_string_dtor and returns 0x010A5EF0 280 atexit_unregister_window_classes_010a5ef0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A6010 10 thunk_to_STL_string_dtor_010a6010 stl Wrapper that calls STL_string_dtor and returns 0x010A6020 10 thunk_to_STL_string_dtor_010a6020 stl Wrapper that calls STL_string_dtor and returns 0x010A6030 10 thunk_to_STL_string_dtor_010a6030 stl Wrapper that calls STL_string_dtor and returns 0x010A6040 10 thunk_to_STL_string_dtor_010a6040 stl Wrapper that calls STL_string_dtor and returns 0x010A6050 10 thunk_to_STL_string_dtor_010a6050 stl Wrapper that calls STL_string_dtor and returns 0x010A6060 10 thunk_to_STL_string_dtor_010a6060 stl Wrapper that calls STL_string_dtor and returns 0x010A6070 10 thunk_to_STL_string_dtor_010a6070 stl Wrapper that calls STL_string_dtor and returns 0x010A6080 10 thunk_to_STL_string_dtor_010a6080 stl Wrapper that calls STL_string_dtor and returns 0x010A6090 10 thunk_to_STL_string_dtor_010a6090 stl Wrapper that calls STL_string_dtor and returns 0x010A60A0 10 thunk_to_STL_string_dtor_010a60a0 stl Wrapper that calls STL_string_dtor and returns 0x010A60B0 10 thunk_to_STL_string_dtor_010a60b0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010A60C0 10 thunk_to_STL_string_dtor_010a60c0 stl Wrapper that calls STL_string_dtor and returns 0x010A60D0 10 thunk_to_STL_string_dtor_010a60d0 stl Wrapper that calls STL_string_dtor and returns 0x010A60E0 10 thunk_to_STL_string_dtor_010a60e0 stl Wrapper that calls STL_string_dtor and returns 0x010A60F0 10 thunk_to_STL_string_dtor_010a60f0 stl Wrapper that calls STL_string_dtor and returns 0x010A6100 10 thunk_to_STL_string_dtor_010a6100 stl Wrapper that calls STL_string_dtor and returns 0x010A6110 10 thunk_to_STL_string_dtor_010a6110 stl Wrapper that calls STL_string_dtor and returns 0x010A6120 10 thunk_to_STL_string_dtor_010a6120 stl Wrapper that calls STL_string_dtor and returns 0x010A6130 10 thunk_to_STL_string_dtor_010a6130 stl Wrapper that calls STL_string_dtor and returns 0x010A6140 10 thunk_to_STL_string_dtor_010a6140 stl Wrapper that calls STL_string_dtor and returns 0x010A6150 10 thunk_to_STL_string_dtor_010a6150 stl Wrapper that calls STL_string_dtor and returns 0x010A6160 10 thunk_to_STL_string_dtor_010a6160 stl Wrapper that calls STL_string_dtor and returns 0x010A6170 10 thunk_to_STL_string_dtor_010a6170 stl Wrapper that calls STL_string_dtor and returns 0x010A6180 10 thunk_to_STL_string_dtor_010a6180 stl Wrapper that calls STL_string_dtor and returns 0x010A6190 10 thunk_to_STL_string_dtor_010a6190 stl Wrapper that calls STL_string_dtor and returns 0x010A6210 280 atexit_unregister_window_classes_010a6210 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A6330 66 atexit_destroy_STL_map_010a6330 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A6380 10 thunk_to_STL_string_dtor_010a6380 stl Wrapper that calls STL_string_dtor and returns 0x010A6390 10 thunk_to_STL_string_dtor_010a6390 stl Wrapper that calls STL_string_dtor and returns 0x010A63A0 10 thunk_to_STL_string_dtor_010a63a0 stl Wrapper that calls STL_string_dtor and returns 0x010A63B0 10 thunk_to_STL_string_dtor_010a63b0 stl Wrapper that calls STL_string_dtor and returns 0x010A63C0 10 thunk_to_STL_string_dtor_010a63c0 stl Wrapper that calls STL_string_dtor and returns 0x010A63D0 10 thunk_to_STL_string_dtor_010a63d0 stl Wrapper that calls STL_string_dtor and returns 0x010A63E0 10 thunk_to_STL_string_dtor_010a63e0 stl Wrapper that calls STL_string_dtor and returns 0x010A63F0 10 thunk_to_STL_string_dtor_010a63f0 stl Wrapper that calls STL_string_dtor and returns 0x010A6400 10 thunk_to_STL_string_dtor_010a6400 stl Wrapper that calls STL_string_dtor and returns 0x010A6410 10 thunk_to_STL_string_dtor_010a6410 stl Wrapper function that calls STL_string_dtor and returns 0x010A6420 10 thunk_to_STL_string_dtor_010a6420 stl Wrapper that calls STL_string_dtor and returns 0x010A6430 10 thunk_to_STL_string_dtor_010a6430 stl Wrapper that calls STL_string_dtor and returns 0x010A6440 10 thunk_to_STL_string_dtor_010a6440 stl Wrapper that calls STL_string_dtor and returns 0x010A6450 10 thunk_to_STL_string_dtor_010a6450 stl Wrapper that calls STL_string_dtor and returns 0x010A6460 10 thunk_to_STL_string_dtor_010a6460 stl Wrapper that calls STL_string_dtor and returns 0x010A6470 10 thunk_to_STL_string_dtor_010a6470 stl Wrapper that calls STL_string_dtor and returns 0x010A6480 10 thunk_to_STL_string_dtor_010a6480 stl Wrapper that calls STL_string_dtor and returns 0x010A6490 10 thunk_to_STL_string_dtor_010a6490 stl Wrapper that calls STL_string_dtor and returns 0x010A64A0 10 thunk_to_STL_string_dtor_010a64a0 stl Wrapper that calls STL_string_dtor and returns 0x010A64B0 10 thunk_to_STL_string_dtor_010a64b0 stl Wrapper that calls STL_string_dtor and returns 0x010A64C0 10 thunk_to_STL_string_dtor_010a64c0 stl Wrapper that calls STL_string_dtor and returns 0x010A64D0 10 thunk_to_STL_string_dtor_010a64d0 stl Wrapper that calls STL_string_dtor and returns 0x010A64E0 10 thunk_to_STL_string_dtor_010a64e0 stl Wrapper that calls STL_string_dtor and returns 0x010A64F0 10 thunk_to_STL_string_dtor_010a64f0 stl Wrapper that calls STL_string_dtor and returns 0x010A6500 10 thunk_to_STL_string_dtor_010a6500 stl Wrapper that calls STL_string_dtor and returns 0x010A6580 280 atexit_unregister_window_classes_010a6580 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A66A0 66 atexit_destroy_STL_map_010a66a0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A66F0 10 thunk_to_STL_string_dtor_010a66f0 stl Wrapper that calls STL_string_dtor and returns 0x010A6700 10 thunk_to_STL_string_dtor_010a6700 stl Wrapper that calls STL_string_dtor and returns 0x010A6710 10 thunk_to_STL_string_dtor_010a6710 stl Wrapper that calls STL_string_dtor and returns 0x010A6720 10 thunk_to_STL_string_dtor_010a6720 stl Wrapper that calls STL_string_dtor and returns 0x010A6730 10 thunk_to_STL_string_dtor_010a6730 stl Wrapper that calls STL_string_dtor and returns 0x010A6740 10 thunk_to_STL_string_dtor_010a6740 stl Wrapper that calls STL_string_dtor and returns 0x010A6750 10 thunk_to_STL_string_dtor_010a6750 stl Wrapper that calls STL_string_dtor and returns 0x010A6760 10 thunk_to_STL_string_dtor_010a6760 stl Wrapper that calls STL_string_dtor and returns 0x010A6770 10 thunk_to_STL_string_dtor_010a6770 stl Wrapper that calls STL_string_dtor and returns 0x010A6780 10 thunk_to_STL_string_dtor_010a6780 stl Wrapper that calls STL_string_dtor and returns 0x010A6790 10 thunk_to_STL_string_dtor_010a6790 stl Wrapper that calls STL_string_dtor and returns 0x010A67A0 10 thunk_to_STL_string_dtor_010a67a0 stl Wrapper that calls STL_string_dtor and returns 0x010A67B0 10 thunk_to_STL_string_dtor_010a67b0 stl Wrapper that calls STL_string_dtor and returns 0x010A67C0 10 thunk_to_STL_string_dtor_010a67c0 stl Wrapper that calls STL_string_dtor and returns 0x010A67D0 10 thunk_to_STL_string_dtor_010a67d0 stl Wrapper that calls STL_string_dtor and returns 0x010A67E0 10 thunk_to_STL_string_dtor_010a67e0 stl Wrapper that calls STL_string_dtor and returns 0x010A67F0 10 thunk_to_STL_string_dtor_010a67f0 stl Wrapper that calls STL_string_dtor and returns 0x010A6800 10 thunk_to_STL_string_dtor_010a6800 stl Wrapper that calls STL_string_dtor and returns 0x010A6810 10 thunk_to_STL_string_dtor_010a6810 stl Wrapper that calls STL_string_dtor and returns 0x010A6820 10 thunk_to_STL_string_dtor_010a6820 stl Wrapper that calls STL_string_dtor and returns 0x010A6830 10 thunk_to_STL_string_dtor_010a6830 stl Wrapper that calls STL_string_dtor and returns 0x010A6840 10 thunk_to_STL_string_dtor_010a6840 stl Wrapper that calls STL_string_dtor and returns 0x010A6850 10 thunk_to_STL_string_dtor_010a6850 stl Wrapper that calls STL_string_dtor and returns 0x010A6860 10 thunk_to_STL_string_dtor_010a6860 stl Wrapper that calls STL_string_dtor and returns 0x010A6870 10 thunk_to_STL_string_dtor_010a6870 stl Wrapper that calls STL_string_dtor and returns 0x010A68F0 280 atexit_unregister_window_classes_010a68f0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A6A10 66 atexit_destroy_STL_map_010a6a10 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A6AD0 280 atexit_unregister_window_classes_010a6ad0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A6BF0 10 thunk_to_STL_string_dtor_010a6bf0 stl Wrapper that calls STL_string_dtor and returns 0x010A6C00 10 thunk_to_STL_string_dtor_010a6c00 stl Wrapper that calls STL_string_dtor and returns 0x010A6C10 10 thunk_to_STL_string_dtor_010a6c10 stl Wrapper that calls STL_string_dtor and returns immediately 0x010A6C20 10 thunk_to_STL_string_dtor_010a6c20 stl Wrapper that calls STL_string_dtor and returns 0x010A6C30 10 thunk_to_STL_string_dtor_010a6c30 stl Wrapper that calls STL_string_dtor and returns 0x010A6C40 10 thunk_to_STL_string_dtor_010a6c40 stl Wrapper that calls STL_string_dtor and returns 0x010A6C50 10 thunk_to_STL_string_dtor_010a6c50 stl Wrapper that calls STL_string_dtor and returns 0x010A6C60 10 thunk_to_STL_string_dtor_010a6c60 stl Wrapper that calls STL_string_dtor and returns 0x010A6C70 10 thunk_to_STL_string_dtor_010a6c70 stl Wrapper that calls STL_string_dtor and returns 0x010A6C80 10 thunk_to_STL_string_dtor_010a6c80 stl Wrapper that calls STL_string_dtor and returns 0x010A6C90 10 thunk_to_STL_string_dtor_010a6c90 stl Wrapper that calls STL_string_dtor and returns 0x010A6CA0 10 thunk_to_STL_string_dtor_010a6ca0 stl Wrapper that calls STL_string_dtor and returns 0x010A6CB0 10 thunk_to_STL_string_dtor_010a6cb0 stl Wrapper that calls STL_string_dtor and returns 0x010A6CC0 10 thunk_to_STL_string_dtor_010a6cc0 stl Wrapper that calls STL_string_dtor and returns 0x010A6CD0 10 thunk_to_STL_string_dtor_010a6cd0 stl Wrapper that calls STL_string_dtor and returns 0x010A6CE0 10 thunk_to_STL_string_dtor_010a6ce0 stl Wrapper that calls STL_string_dtor and returns 0x010A6CF0 10 thunk_to_STL_string_dtor_010a6cf0 stl Wrapper that calls STL_string_dtor and returns 0x010A6D00 10 thunk_to_STL_string_dtor_010a6d00 stl Wrapper that calls STL_string_dtor and returns 0x010A6D10 10 thunk_to_STL_string_dtor_010a6d10 stl Wrapper that calls STL_string_dtor and returns 0x010A6D20 10 thunk_to_STL_string_dtor_010a6d20 stl Wrapper that calls STL_string_dtor and returns 0x010A6D30 10 thunk_to_STL_string_dtor_010a6d30 stl Wrapper that calls STL_string_dtor and returns 0x010A6D40 10 thunk_to_STL_string_dtor_010a6d40 stl Wrapper that calls STL_string_dtor and returns 0x010A6D50 10 thunk_to_STL_string_dtor_010a6d50 stl Wrapper that calls STL_string_dtor and returns 0x010A6D60 10 thunk_to_STL_string_dtor_010a6d60 stl Wrapper that calls STL_string_dtor and returns 0x010A6D70 10 thunk_to_STL_string_dtor_010a6d70 stl Wrapper that calls STL_string_dtor and returns 0x010A6DF0 280 atexit_unregister_window_classes_010a6df0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A6F10 66 atexit_destroy_STL_map_010a6f10 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A6F60 10 thunk_to_STL_string_dtor_010a6f60 stl Wrapper that calls STL_string_dtor and returns 0x010A6F70 10 thunk_to_STL_string_dtor_010a6f70 stl Wrapper that calls STL_string_dtor and returns 0x010A6F80 10 thunk_to_STL_string_dtor_010a6f80 stl Wrapper that calls STL_string_dtor and returns 0x010A6F90 10 thunk_to_STL_string_dtor_010a6f90 stl Wrapper that calls STL_string_dtor and returns 0x010A6FA0 10 thunk_to_STL_string_dtor_010a6fa0 stl Wrapper that calls STL_string_dtor and returns 0x010A6FB0 10 thunk_to_STL_string_dtor_010a6fb0 stl Wrapper that calls STL_string_dtor and returns 0x010A6FC0 10 thunk_to_STL_string_dtor_010a6fc0 stl Wrapper that calls STL_string_dtor and returns 0x010A6FD0 10 thunk_to_STL_string_dtor_010a6fd0 stl Wrapper that calls STL_string_dtor and returns 0x010A6FE0 10 thunk_to_STL_string_dtor_010a6fe0 stl Wrapper that calls STL_string_dtor and returns 0x010A6FF0 10 thunk_to_STL_string_dtor_010a6ff0 stl Wrapper that calls STL_string_dtor and returns 0x010A7000 10 thunk_to_STL_string_dtor_010a7000 stl Wrapper that calls STL_string_dtor and returns 0x010A7010 10 thunk_to_STL_string_dtor_010a7010 stl Wrapper that calls STL_string_dtor and returns 0x010A7020 10 thunk_to_STL_string_dtor_010a7020 stl Wrapper that calls STL_string_dtor and returns 0x010A7040 10 thunk_to_STL_string_dtor_010a7040 stl Wrapper that calls STL_string_dtor and returns 0x010A7050 10 thunk_to_STL_string_dtor_010a7050 stl Wrapper that calls STL_string_dtor and returns 0x010A7060 10 thunk_to_STL_string_dtor_010a7060 stl Wrapper that calls STL_string_dtor and returns 0x010A7070 10 thunk_to_STL_string_dtor_010a7070 stl Wrapper that calls STL_string_dtor and returns 0x010A7080 10 thunk_to_STL_string_dtor_010a7080 stl Wrapper that calls STL_string_dtor and returns 0x010A7090 10 thunk_to_STL_string_dtor_010a7090 stl Wrapper that calls STL_string_dtor and returns 0x010A70A0 10 thunk_to_STL_string_dtor_010a70a0 stl Wrapper that calls STL_string_dtor and returns 0x010A70B0 10 thunk_to_STL_string_dtor_010a70b0 stl Wrapper that calls STL_string_dtor and returns 0x010A70C0 10 thunk_to_STL_string_dtor_010a70c0 stl Wrapper that calls STL_string_dtor and returns 0x010A70D0 10 thunk_to_STL_string_dtor_010a70d0 stl Wrapper that calls STL_string_dtor and returns 0x010A70E0 10 thunk_to_STL_string_dtor_010a70e0 stl Wrapper that calls STL_string_dtor and returns 0x010A7160 280 atexit_unregister_window_classes_010a7160 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A7280 66 atexit_destroy_STL_map_010a7280 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A72D0 10 thunk_to_STL_string_dtor_010a72d0 stl Wrapper that calls STL_string_dtor and returns 0x010A72E0 10 thunk_to_STL_string_dtor_010a72e0 stl Wrapper that calls STL_string_dtor and returns 0x010A72F0 10 thunk_to_STL_string_dtor_010a72f0 stl Wrapper that calls STL_string_dtor and returns 0x010A7300 10 thunk_to_STL_string_dtor_010a7300 stl Wrapper that calls STL_string_dtor and returns 0x010A7310 10 thunk_to_STL_string_dtor_010a7310 stl Wrapper that calls STL_string_dtor and returns 0x010A7320 10 thunk_to_STL_string_dtor_010a7320 stl Wrapper that calls STL_string_dtor and returns 0x010A7330 10 thunk_to_STL_string_dtor_010a7330 stl Wrapper that calls STL_string_dtor and returns 0x010A7340 10 thunk_to_STL_string_dtor_010a7340 stl Wrapper that calls STL_string_dtor and returns 0x010A7350 10 thunk_to_STL_string_dtor_010a7350 stl Wrapper that calls STL_string_dtor and returns 0x010A7360 10 thunk_to_STL_string_dtor_010a7360 stl Wrapper that calls STL_string_dtor and returns 0x010A7370 10 thunk_to_STL_string_dtor_010a7370 stl Wrapper that calls STL_string_dtor and returns 0x010A7380 10 thunk_to_STL_string_dtor_010a7380 stl Wrapper that calls STL_string_dtor and returns 0x010A7390 10 thunk_to_STL_string_dtor_010a7390 stl Wrapper that calls STL_string_dtor and returns 0x010A73A0 10 thunk_to_STL_string_dtor_010a73a0 stl Wrapper that calls STL_string_dtor and returns 0x010A73B0 10 thunk_to_STL_string_dtor_010a73b0 stl Wrapper that calls STL_string_dtor and returns 0x010A73C0 10 thunk_to_STL_string_dtor_010a73c0 stl Wrapper that calls STL_string_dtor and returns 0x010A73D0 10 thunk_to_STL_string_dtor_010a73d0 stl Wrapper that calls STL_string_dtor and returns 0x010A73E0 10 thunk_to_STL_string_dtor_010a73e0 stl Wrapper that calls STL_string_dtor and returns 0x010A73F0 10 thunk_to_STL_string_dtor_010a73f0 stl Wrapper that calls STL_string_dtor and returns 0x010A7400 10 thunk_to_STL_string_dtor_010a7400 stl Wrapper that calls STL_string_dtor and returns 0x010A7410 10 thunk_to_STL_string_dtor_010a7410 stl Wrapper that calls STL_string_dtor and returns 0x010A7420 10 thunk_to_STL_string_dtor_010a7420 stl Wrapper that calls STL_string_dtor and returns 0x010A7430 10 thunk_to_STL_string_dtor_010a7430 stl Wrapper that calls STL_string_dtor and returns 0x010A7440 10 thunk_to_STL_string_dtor_010a7440 stl Wrapper that calls STL string destructor 0x010A7450 10 thunk_to_STL_string_dtor_010a7450 stl Wrapper that calls STL_string_dtor and returns 0x010A74D0 280 atexit_unregister_window_classes_010a74d0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A75F0 66 atexit_destroy_STL_map_010a75f0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A7640 11 atexit_set_CUIEventNotice_vtable crt Static initializer (atexit callback) that sets the vtable pointer for a global CUIEventNotice instance to its scalar deleting destructor vtable. 0x010A76C0 280 atexit_unregister_window_classes_010a76c0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A77E0 10 thunk_to_STL_string_dtor_010a77e0 stl Wrapper that calls STL_string_dtor and returns 0x010A77F0 10 thunk_to_STL_string_dtor_010a77f0 stl Wrapper that calls STL_string_dtor and returns 0x010A7800 10 thunk_to_STL_string_dtor_010a7800 stl Wrapper that calls STL_string_dtor and returns 0x010A7810 10 thunk_to_STL_string_dtor_010a7810 stl Wrapper that calls STL_string_dtor and returns 0x010A7820 10 thunk_to_STL_string_dtor_010a7820 stl Wrapper function that calls STL_string_dtor and returns 0x010A7830 10 thunk_to_STL_string_dtor_010a7830 stl Wrapper that calls STL_string_dtor and returns 0x010A7840 10 thunk_to_STL_string_dtor_010a7840 stl Wrapper that calls STL_string_dtor and returns 0x010A7850 10 thunk_to_STL_string_dtor_010a7850 stl Wrapper that calls STL_string_dtor and returns 0x010A7860 10 thunk_to_STL_string_dtor_010a7860 stl Wrapper that calls STL_string_dtor and returns 0x010A7870 10 thunk_to_STL_string_dtor_010a7870 stl Wrapper that calls STL_string_dtor and returns 0x010A7880 10 thunk_to_STL_string_dtor_010a7880 stl Wrapper that calls STL_string_dtor and returns 0x010A7890 10 thunk_to_STL_string_dtor_010a7890 stl Wrapper that calls STL_string_dtor and returns 0x010A78A0 10 thunk_to_STL_string_dtor_010a78a0 stl Wrapper that calls STL_string_dtor and returns 0x010A78B0 10 thunk_to_STL_string_dtor_010a78b0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010A78C0 10 thunk_to_STL_string_dtor_010a78c0 stl Wrapper that calls STL_string_dtor and returns 0x010A78D0 10 thunk_to_STL_string_dtor_010a78d0 stl Wrapper that calls STL_string_dtor and returns 0x010A78E0 10 thunk_to_STL_string_dtor_010a78e0 stl Wrapper function that calls STL_string_dtor and returns 0x010A78F0 10 thunk_to_STL_string_dtor_010a78f0 stl Wrapper that calls STL_string_dtor and returns 0x010A7900 10 thunk_to_STL_string_dtor_010a7900 stl Wrapper that calls STL_string_dtor and returns 0x010A7910 10 thunk_to_STL_string_dtor_010a7910 stl Wrapper that calls STL_string_dtor and returns 0x010A7920 10 thunk_to_STL_string_dtor_010a7920 stl Wrapper that calls STL_string_dtor and returns 0x010A7930 10 thunk_to_STL_string_dtor_010a7930 stl Wrapper that calls STL_string_dtor and returns 0x010A7940 10 thunk_to_STL_string_dtor_010a7940 stl Wrapper that calls STL_string_dtor and returns 0x010A7950 10 thunk_to_STL_string_dtor_010a7950 stl Wrapper that calls STL_string_dtor and returns 0x010A7960 10 thunk_to_STL_string_dtor_010a7960 stl Wrapper that calls STL_string_dtor and returns 0x010A79E0 280 atexit_unregister_window_classes_010a79e0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A7B00 66 atexit_destroy_STL_map_010a7b00 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A7BC0 280 atexit_unregister_window_classes_010a7bc0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A7CE0 10 thunk_to_STL_string_dtor_010a7ce0 stl Wrapper that calls STL_string_dtor and returns 0x010A7CF0 10 thunk_to_STL_string_dtor_010a7cf0 stl Wrapper that calls STL_string_dtor and returns 0x010A7D00 10 thunk_to_STL_string_dtor_010a7d00 stl Wrapper that calls STL_string_dtor and returns 0x010A7D10 10 thunk_to_STL_string_dtor_010a7d10 stl Wrapper that calls STL_string_dtor and returns 0x010A7D20 10 thunk_to_STL_string_dtor_010a7d20 stl Wrapper that calls STL_string_dtor and returns 0x010A7D30 10 thunk_to_STL_string_dtor_010a7d30 stl Wrapper that calls STL_string_dtor and returns 0x010A7D40 10 thunk_to_STL_string_dtor_010a7d40 stl Wrapper that calls STL_string_dtor and returns 0x010A7D50 10 thunk_to_STL_string_dtor_010a7d50 stl Wrapper that calls STL_string_dtor and returns 0x010A7D60 10 thunk_to_STL_string_dtor_010a7d60 stl Wrapper that calls STL_string_dtor and returns 0x010A7D70 10 thunk_to_STL_string_dtor_010a7d70 stl Wrapper that calls STL_string_dtor and returns 0x010A7D80 10 thunk_to_STL_string_dtor_010a7d80 stl Wrapper that calls STL_string_dtor and returns 0x010A7D90 10 thunk_to_STL_string_dtor_010a7d90 stl Wrapper that calls STL_string_dtor and returns 0x010A7DA0 10 thunk_to_STL_string_dtor_010a7da0 stl Wrapper that calls STL_string_dtor and returns 0x010A7DB0 10 thunk_to_STL_string_dtor_010a7db0 stl Wrapper that calls STL_string_dtor and returns 0x010A7DC0 10 thunk_to_STL_string_dtor_010a7dc0 stl Wrapper that calls STL_string_dtor and returns 0x010A7DD0 10 thunk_to_STL_string_dtor_010a7dd0 stl Wrapper that calls STL_string_dtor and returns 0x010A7DE0 10 thunk_to_STL_string_dtor_010a7de0 stl Wrapper that calls STL_string_dtor and returns 0x010A7DF0 10 thunk_to_STL_string_dtor_010a7df0 stl Wrapper that calls STL_string_dtor and returns 0x010A7E00 10 thunk_to_STL_string_dtor_010a7e00 stl Wrapper that calls STL_string_dtor and returns 0x010A7E10 10 thunk_to_STL_string_dtor_010a7e10 stl Wrapper that calls STL_string_dtor and returns 0x010A7E20 10 thunk_to_STL_string_dtor_010a7e20 stl Wrapper that calls STL_string_dtor and returns 0x010A7E30 10 thunk_to_STL_string_dtor_010a7e30 stl Wrapper that calls STL_string_dtor and returns 0x010A7E40 10 thunk_to_STL_string_dtor_010a7e40 stl Wrapper that calls STL_string_dtor and returns 0x010A7E50 10 thunk_to_STL_string_dtor_010a7e50 stl Wrapper that calls STL_string_dtor and returns 0x010A7E60 10 thunk_to_STL_string_dtor_010a7e60 stl Wrapper that calls STL_string_dtor and returns 0x010A7EE0 280 atexit_unregister_window_classes_010a7ee0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A8000 66 atexit_destroy_STL_map_010a8000 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A8050 66 atexit_destroy_render_pipeline_010a8050 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010A80A0 10 thunk_to_STL_string_dtor_010a80a0 stl Wrapper that calls STL_string_dtor and returns 0x010A80B0 10 thunk_to_STL_string_dtor_010a80b0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010A80C0 10 thunk_to_STL_string_dtor_010a80c0 stl Wrapper calling STL string destructor 0x010A80D0 10 thunk_to_STL_string_dtor_010a80d0 stl Wrapper that calls STL_string_dtor and returns 0x010A80E0 10 thunk_to_STL_string_dtor_010a80e0 stl Wrapper that calls STL_string_dtor and returns 0x010A80F0 10 thunk_to_STL_string_dtor_010a80f0 stl Wrapper that calls STL_string_dtor and returns 0x010A8100 10 thunk_to_STL_string_dtor_010a8100 stl Wrapper that calls STL_string_dtor and returns 0x010A8110 10 thunk_to_STL_string_dtor_010a8110 stl Wrapper that calls STL_string_dtor and returns 0x010A8120 10 thunk_to_STL_string_dtor_010a8120 stl Wrapper that calls STL_string_dtor and returns 0x010A8130 10 thunk_to_STL_string_dtor_010a8130 stl Wrapper that calls STL_string_dtor and returns 0x010A8140 10 thunk_to_STL_string_dtor_010a8140 stl Wrapper that calls STL_string_dtor and returns 0x010A8150 10 thunk_to_STL_string_dtor_010a8150 stl Wrapper that calls STL_string_dtor and returns 0x010A8160 10 thunk_to_STL_string_dtor_010a8160 stl Wrapper that calls STL_string_dtor and returns 0x010A8170 10 thunk_to_STL_string_dtor_010a8170 stl Wrapper that calls STL_string_dtor and returns 0x010A8180 10 thunk_to_STL_string_dtor_010a8180 stl Wrapper function that calls STL_string_dtor and returns 0x010A8190 10 thunk_to_STL_string_dtor_010a8190 stl Wrapper that calls STL_string_dtor and returns 0x010A81A0 10 thunk_to_STL_string_dtor_010a81a0 stl Wrapper function that calls STL_string_dtor and returns 0x010A81B0 10 thunk_to_STL_string_dtor_010a81b0 stl Wrapper that calls STL_string_dtor and returns 0x010A81C0 10 thunk_to_STL_string_dtor_010a81c0 stl Wrapper that calls STL_string_dtor and returns 0x010A81D0 10 thunk_to_STL_string_dtor_010a81d0 stl Wrapper that calls STL_string_dtor and returns 0x010A81E0 10 thunk_to_STL_string_dtor_010a81e0 stl Wrapper that calls STL_string_dtor and returns 0x010A81F0 10 thunk_to_STL_string_dtor_010a81f0 stl Wrapper that calls STL_string_dtor and returns 0x010A8200 10 thunk_to_STL_string_dtor_010a8200 stl Wrapper that calls STL_string_dtor and returns 0x010A8210 10 thunk_to_STL_string_dtor_010a8210 stl Wrapper that calls STL_string_dtor and returns 0x010A8220 10 thunk_to_STL_string_dtor_010a8220 stl Wrapper that calls STL_string_dtor and returns 0x010A82A0 280 atexit_unregister_window_classes_010a82a0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A83C0 10 thunk_to_std__vector_0x30_clear_and_free_wrapper_010a83c0 stl Thunk to std__vector_0x30_clear_and_free_wrapper (target was renamed after thunk was originally named with raw hex address). 0x010A83D0 66 atexit_destroy_STL_map_010a83d0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A8420 66 atexit_destroy_render_pipeline_010a8420 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010A8470 10 thunk_to_STL_string_dtor_010a8470 stl Wrapper that calls STL_string_dtor and returns 0x010A8480 10 thunk_to_STL_string_dtor_010a8480 stl Wrapper that calls STL_string_dtor and returns 0x010A8490 10 thunk_to_STL_string_dtor_010a8490 stl Wrapper that calls STL_string_dtor and returns 0x010A84A0 10 thunk_to_STL_string_dtor_010a84a0 stl Wrapper function that calls STL_string_dtor and returns 0x010A84B0 10 thunk_to_STL_string_dtor_010a84b0 stl Wrapper that calls STL_string_dtor and returns 0x010A84C0 10 thunk_to_STL_string_dtor_010a84c0 stl Wrapper that calls STL_string_dtor and returns 0x010A84D0 10 thunk_to_STL_string_dtor_010a84d0 stl Wrapper that calls STL_string_dtor and returns 0x010A84E0 10 thunk_to_STL_string_dtor_010a84e0 stl Wrapper that calls STL_string_dtor and returns 0x010A84F0 10 thunk_to_STL_string_dtor_010a84f0 stl Wrapper function that calls STL_string_dtor and returns 0x010A8500 10 thunk_to_STL_string_dtor_010a8500 stl Wrapper that calls STL_string_dtor and returns 0x010A8510 10 thunk_to_STL_string_dtor_010a8510 stl Wrapper that calls STL_string_dtor and returns 0x010A8520 10 thunk_to_STL_string_dtor_010a8520 stl Wrapper that calls STL_string_dtor and returns 0x010A8530 10 thunk_to_STL_string_dtor_010a8530 stl Wrapper that calls STL_string_dtor and returns 0x010A8540 10 thunk_to_STL_string_dtor_010a8540 stl Wrapper that calls STL_string_dtor and returns 0x010A8550 10 thunk_to_STL_string_dtor_010a8550 stl Wrapper that calls STL_string_dtor and returns 0x010A8560 10 thunk_to_STL_string_dtor_010a8560 stl Wrapper that calls STL_string_dtor and returns 0x010A8570 10 thunk_to_STL_string_dtor_010a8570 stl Wrapper that calls STL_string_dtor and returns 0x010A8580 10 thunk_to_STL_string_dtor_010a8580 stl Wrapper that calls STL_string_dtor and returns 0x010A8590 10 thunk_to_STL_string_dtor_010a8590 stl Wrapper that calls STL_string_dtor and returns 0x010A85A0 10 thunk_to_STL_string_dtor_010a85a0 stl Wrapper that calls STL_string_dtor and returns 0x010A85B0 10 thunk_to_STL_string_dtor_010a85b0 stl Wrapper that calls STL_string_dtor and returns 0x010A85C0 10 thunk_to_STL_string_dtor_010a85c0 stl Wrapper that calls STL_string_dtor and returns 0x010A85D0 10 thunk_to_STL_string_dtor_010a85d0 stl Wrapper that calls STL_string_dtor and returns 0x010A85E0 10 thunk_to_STL_string_dtor_010a85e0 stl Wrapper that calls STL_string_dtor and returns 0x010A85F0 10 thunk_to_STL_string_dtor_010a85f0 stl Wrapper that calls STL_string_dtor and returns 0x010A8670 280 atexit_unregister_window_classes_010a8670 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A8790 66 atexit_destroy_STL_map_010a8790 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A87E0 66 atexit_destroy_render_pipeline_010a87e0 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010A8830 10 thunk_to_STL_string_dtor_010a8830 stl Wrapper that calls STL_string_dtor and returns 0x010A8840 10 thunk_to_STL_string_dtor_010a8840 stl Wrapper that calls STL_string_dtor and returns 0x010A8850 10 thunk_to_STL_string_dtor_010a8850 stl Wrapper that calls STL_string_dtor and returns 0x010A8860 10 thunk_to_STL_string_dtor_010a8860 stl Wrapper that calls STL_string_dtor and returns 0x010A8870 10 thunk_to_STL_string_dtor_010a8870 stl Wrapper that calls STL_string_dtor and returns 0x010A8880 10 thunk_to_STL_string_dtor_010a8880 stl Wrapper that calls STL_string_dtor and returns 0x010A8890 10 thunk_to_STL_string_dtor_010a8890 stl Wrapper that calls STL_string_dtor and returns 0x010A88A0 10 thunk_to_STL_string_dtor_010a88a0 stl Wrapper that calls STL_string_dtor and returns 0x010A88B0 10 thunk_to_STL_string_dtor_010a88b0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010A88C0 10 thunk_to_STL_string_dtor_010a88c0 stl Wrapper that calls STL_string_dtor and returns 0x010A88D0 10 thunk_to_STL_string_dtor_010a88d0 stl Wrapper that calls STL_string_dtor and returns 0x010A88E0 10 thunk_to_STL_string_dtor_010a88e0 stl Wrapper that calls STL_string_dtor and returns 0x010A88F0 10 thunk_to_STL_string_dtor_010a88f0 stl Wrapper that calls STL_string_dtor and returns 0x010A8900 10 thunk_to_STL_string_dtor_010a8900 stl Wrapper that calls STL_string_dtor and returns 0x010A8910 10 thunk_to_STL_string_dtor_010a8910 stl Wrapper that calls STL_string_dtor and returns 0x010A8920 10 thunk_to_STL_string_dtor_010a8920 stl Wrapper that calls STL_string_dtor and returns 0x010A8930 10 thunk_to_STL_string_dtor_010a8930 stl Wrapper that calls STL_string_dtor and returns 0x010A8940 10 thunk_to_STL_string_dtor_010a8940 stl Wrapper that calls STL_string_dtor and returns 0x010A8950 10 thunk_to_STL_string_dtor_010a8950 stl Wrapper that calls STL_string_dtor and returns 0x010A8960 10 thunk_to_STL_string_dtor_010a8960 stl Wrapper that calls STL_string_dtor and returns 0x010A8970 10 thunk_to_STL_string_dtor_010a8970 stl Wrapper that calls STL_string_dtor and returns 0x010A8980 10 thunk_to_STL_string_dtor_010a8980 stl Wrapper that calls STL_string_dtor and returns 0x010A8990 10 thunk_to_STL_string_dtor_010a8990 stl Wrapper that calls STL_string_dtor and returns 0x010A89A0 10 thunk_to_STL_string_dtor_010a89a0 stl Wrapper that calls STL_string_dtor and returns 0x010A89B0 10 thunk_to_STL_string_dtor_010a89b0 stl Wrapper that calls STL_string_dtor and returns 0x010A8A30 280 atexit_unregister_window_classes_010a8a30 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A8B50 66 atexit_destroy_linked_list_010a8b50 crt Static destructor (atexit callback) for a global linked list. Calls linked_list_destroy_all_nodes_00bf87d0 with SEH protection. 0x010A8BA0 66 atexit_destroy_STL_map_010a8ba0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A8BF0 66 atexit_destroy_render_pipeline_010a8bf0 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010A8C40 10 thunk_to_STL_string_dtor_010a8c40 stl Wrapper that calls STL_string_dtor and returns 0x010A8C50 10 thunk_to_STL_string_dtor_010a8c50 stl Wrapper that calls STL_string_dtor and returns 0x010A8C60 10 thunk_to_STL_string_dtor_010a8c60 stl Wrapper that calls STL_string_dtor and returns 0x010A8C70 10 thunk_to_STL_string_dtor_010a8c70 stl Wrapper that calls STL_string_dtor and returns 0x010A8C80 10 thunk_to_STL_string_dtor_010a8c80 stl Wrapper that calls STL_string_dtor and returns 0x010A8C90 10 thunk_to_STL_string_dtor_010a8c90 stl Wrapper that calls STL_string_dtor and returns 0x010A8CA0 10 thunk_to_STL_string_dtor_010a8ca0 stl Wrapper that calls STL_string_dtor and returns 0x010A8CB0 10 thunk_to_STL_string_dtor_010a8cb0 stl Wrapper that calls STL_string_dtor and returns 0x010A8CC0 10 thunk_to_STL_string_dtor_010a8cc0 stl Wrapper that calls STL_string_dtor and returns 0x010A8CD0 10 thunk_to_STL_string_dtor_010a8cd0 stl Wrapper that calls STL_string_dtor and returns 0x010A8CE0 10 thunk_to_STL_string_dtor_010a8ce0 stl Wrapper that calls STL_string_dtor and returns 0x010A8CF0 10 thunk_to_STL_string_dtor_010a8cf0 stl Wrapper that calls STL_string_dtor and returns 0x010A8D00 10 thunk_to_STL_string_dtor_010a8d00 stl Wrapper that calls STL_string_dtor and returns 0x010A8D10 10 thunk_to_STL_string_dtor_010a8d10 stl Wrapper that calls STL_string_dtor and returns 0x010A8D20 10 thunk_to_STL_string_dtor_010a8d20 stl Wrapper that calls STL_string_dtor and returns 0x010A8D30 10 thunk_to_STL_string_dtor_010a8d30 stl Wrapper that calls STL_string_dtor and returns 0x010A8D40 10 thunk_to_STL_string_dtor_010a8d40 stl Wrapper that calls STL_string_dtor and returns 0x010A8D50 10 thunk_to_STL_string_dtor_010a8d50 stl Wrapper that calls STL_string_dtor and returns 0x010A8D60 10 thunk_to_STL_string_dtor_010a8d60 stl Wrapper function that calls STL_string_dtor and returns 0x010A8D70 10 thunk_to_STL_string_dtor_010a8d70 stl Wrapper that calls STL_string_dtor and returns 0x010A8D80 10 thunk_to_STL_string_dtor_010a8d80 stl Wrapper that calls STL_string_dtor and returns 0x010A8D90 10 thunk_to_STL_string_dtor_010a8d90 stl Wrapper that calls STL_string_dtor and returns 0x010A8DA0 10 thunk_to_STL_string_dtor_010a8da0 stl Wrapper that calls STL_string_dtor and returns 0x010A8DB0 10 thunk_to_STL_string_dtor_010a8db0 stl Wrapper that calls STL_string_dtor and returns 0x010A8DC0 10 thunk_to_STL_string_dtor_010a8dc0 stl Wrapper that calls STL_string_dtor and returns 0x010A8E40 280 atexit_unregister_window_classes_010a8e40 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A8F60 66 atexit_destroy_STL_map_010a8f60 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010A8FB0 66 atexit_destroy_render_pipeline_010a8fb0 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010A9000 10 thunk_to_STL_string_dtor_010a9000 stl Wrapper that calls STL_string_dtor and returns 0x010A9010 10 thunk_to_STL_string_dtor_010a9010 stl Wrapper that calls STL_string_dtor and returns 0x010A9020 10 thunk_to_STL_string_dtor_010a9020 stl Wrapper that calls STL_string_dtor and returns 0x010A9030 10 thunk_to_STL_string_dtor_010a9030 stl Wrapper that calls STL_string_dtor and returns 0x010A9040 10 thunk_to_STL_string_dtor_010a9040 stl Wrapper that calls STL_string_dtor and returns 0x010A9050 10 thunk_to_STL_string_dtor_010a9050 stl Wrapper that calls STL_string_dtor and returns 0x010A9060 10 thunk_to_STL_string_dtor_010a9060 stl Wrapper that calls STL_string_dtor and returns 0x010A9070 10 thunk_to_STL_string_dtor_010a9070 stl Wrapper that calls STL_string_dtor and returns 0x010A9080 10 thunk_to_STL_string_dtor_010a9080 stl Wrapper that calls STL_string_dtor and returns 0x010A9090 10 thunk_to_STL_string_dtor_010a9090 stl Wrapper that calls STL_string_dtor and returns 0x010A90A0 10 thunk_to_STL_string_dtor_010a90a0 stl Wrapper that calls STL_string_dtor and returns 0x010A90B0 10 thunk_to_STL_string_dtor_010a90b0 stl Wrapper that calls STL_string_dtor and returns 0x010A90C0 10 thunk_to_STL_string_dtor_010a90c0 stl Wrapper that calls STL_string_dtor and returns 0x010A90D0 10 thunk_to_STL_string_dtor_010a90d0 stl Wrapper that calls STL_string_dtor and returns 0x010A90E0 10 thunk_to_STL_string_dtor_010a90e0 stl Wrapper that calls STL_string_dtor and returns 0x010A90F0 10 thunk_to_STL_string_dtor_010a90f0 stl Wrapper that calls STL_string_dtor and returns 0x010A9100 10 thunk_to_STL_string_dtor_010a9100 stl Wrapper that calls STL_string_dtor and returns 0x010A9110 10 thunk_to_STL_string_dtor_010a9110 stl Wrapper that calls STL_string_dtor and returns 0x010A9120 10 thunk_to_STL_string_dtor_010a9120 stl Wrapper function that calls STL_string_dtor and returns 0x010A9130 10 thunk_to_STL_string_dtor_010a9130 stl Wrapper that calls STL_string_dtor and returns 0x010A9140 10 thunk_to_STL_string_dtor_010a9140 stl Wrapper that calls STL_string_dtor and returns 0x010A9150 10 thunk_to_STL_string_dtor_010a9150 stl Wrapper function that calls STL_string_dtor and returns 0x010A9160 10 thunk_to_STL_string_dtor_010a9160 stl Wrapper that calls STL_string_dtor and returns 0x010A9170 10 thunk_to_STL_string_dtor_010a9170 stl Wrapper function that calls STL_string_dtor and returns 0x010A9180 10 thunk_to_STL_string_dtor_010a9180 stl Wrapper that calls STL_string_dtor and returns 0x010A9200 280 atexit_unregister_window_classes_010a9200 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A9320 66 atexit_destroy_render_pipeline_010a9320 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010A9370 10 thunk_to_STL_string_dtor_010a9370 stl Wrapper that calls STL_string_dtor and returns 0x010A9380 10 thunk_to_STL_string_dtor_010a9380 stl Wrapper that calls STL_string_dtor and returns 0x010A9390 10 thunk_to_STL_string_dtor_010a9390 stl Wrapper that calls STL_string_dtor and returns 0x010A93A0 10 thunk_to_STL_string_dtor_010a93a0 stl Wrapper that calls STL_string_dtor and returns 0x010A93B0 10 thunk_to_STL_string_dtor_010a93b0 stl Wrapper that calls STL_string_dtor and returns 0x010A93C0 10 thunk_to_STL_string_dtor_010a93c0 stl Wrapper that calls STL_string_dtor and returns 0x010A93D0 10 thunk_to_STL_string_dtor_010a93d0 stl Wrapper that calls STL_string_dtor and returns 0x010A93E0 10 thunk_to_STL_string_dtor_010a93e0 stl Wrapper that calls STL_string_dtor and returns 0x010A93F0 10 thunk_to_STL_string_dtor_010a93f0 stl Wrapper that calls STL_string_dtor and returns 0x010A9400 10 thunk_to_STL_string_dtor_010a9400 stl Wrapper that calls STL_string_dtor and returns 0x010A9410 10 thunk_to_STL_string_dtor_010a9410 stl Wrapper that calls STL_string_dtor and returns 0x010A9420 10 thunk_to_STL_string_dtor_010a9420 stl Wrapper that calls STL_string_dtor and returns 0x010A9430 10 thunk_to_STL_string_dtor_010a9430 stl Wrapper that calls STL_string_dtor and returns 0x010A9440 10 thunk_to_STL_string_dtor_010a9440 stl Wrapper that calls STL_string_dtor and returns 0x010A9450 10 thunk_to_STL_string_dtor_010a9450 stl Wrapper that calls STL_string_dtor and returns 0x010A9460 10 thunk_to_STL_string_dtor_010a9460 stl Wrapper that calls STL_string_dtor and returns 0x010A9470 10 thunk_to_STL_string_dtor_010a9470 stl Wrapper that calls STL_string_dtor and returns 0x010A9480 10 thunk_to_STL_string_dtor_010a9480 stl Wrapper that calls STL_string_dtor and returns 0x010A9490 10 thunk_to_STL_string_dtor_010a9490 stl Wrapper that calls STL_string_dtor and returns 0x010A94A0 10 thunk_to_STL_string_dtor_010a94a0 stl Wrapper that calls STL_string_dtor and returns 0x010A94B0 10 thunk_to_STL_string_dtor_010a94b0 stl Wrapper that calls STL_string_dtor and returns 0x010A94C0 10 thunk_to_STL_string_dtor_010a94c0 stl Wrapper that calls STL_string_dtor and returns 0x010A94D0 10 thunk_to_STL_string_dtor_010a94d0 stl Wrapper function that calls STL_string_dtor and returns 0x010A94E0 10 thunk_to_STL_string_dtor_010a94e0 stl Wrapper that calls STL_string_dtor and returns 0x010A94F0 10 thunk_to_STL_string_dtor_010a94f0 stl Wrapper that calls STL_string_dtor and returns 0x010A9570 280 atexit_unregister_window_classes_010a9570 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A9690 10 thunk_to_STL_string_dtor_010a9690 stl Wrapper that calls STL_string_dtor and returns 0x010A96A0 10 thunk_to_STL_string_dtor_010a96a0 stl Wrapper that calls STL_string_dtor and returns 0x010A96B0 10 thunk_to_STL_string_dtor_010a96b0 stl Wrapper that calls STL_string_dtor and returns 0x010A96C0 10 thunk_to_STL_string_dtor_010a96c0 stl Wrapper that calls STL_string_dtor and returns 0x010A96D0 10 thunk_to_STL_string_dtor_010a96d0 stl Wrapper that calls STL_string_dtor and returns 0x010A96E0 10 thunk_to_STL_string_dtor_010a96e0 stl Wrapper function that calls STL_string_dtor and returns 0x010A96F0 10 thunk_to_STL_string_dtor_010a96f0 stl Wrapper that calls STL_string_dtor and returns 0x010A9700 10 thunk_to_STL_string_dtor_010a9700 stl Wrapper that calls STL_string_dtor and returns 0x010A9710 10 thunk_to_STL_string_dtor_010a9710 stl Wrapper that calls STL_string_dtor and returns 0x010A9720 10 thunk_to_STL_string_dtor_010a9720 stl Wrapper that calls STL_string_dtor and returns 0x010A9730 10 thunk_to_STL_string_dtor_010a9730 stl Wrapper that calls STL_string_dtor and returns 0x010A9740 10 thunk_to_STL_string_dtor_010a9740 stl Wrapper that calls STL_string_dtor and returns 0x010A9750 10 thunk_to_STL_string_dtor_010a9750 stl Wrapper that calls STL_string_dtor and returns 0x010A9760 10 thunk_to_STL_string_dtor_010a9760 stl Wrapper that calls STL_string_dtor and returns 0x010A9770 10 thunk_to_STL_string_dtor_010a9770 stl Wrapper that calls STL_string_dtor and returns 0x010A9780 10 thunk_to_STL_string_dtor_010a9780 stl Wrapper that calls STL_string_dtor and returns 0x010A9790 10 thunk_to_STL_string_dtor_010a9790 stl Wrapper that calls STL_string_dtor and returns 0x010A97A0 10 thunk_to_STL_string_dtor_010a97a0 stl Wrapper that calls STL_string_dtor and returns 0x010A97B0 10 thunk_to_STL_string_dtor_010a97b0 stl Wrapper that calls STL_string_dtor and returns 0x010A97C0 10 thunk_to_STL_string_dtor_010a97c0 stl Wrapper that calls STL_string_dtor and returns 0x010A97D0 10 thunk_to_STL_string_dtor_010a97d0 stl Wrapper that calls STL_string_dtor and returns 0x010A97E0 10 thunk_to_STL_string_dtor_010a97e0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010A97F0 10 thunk_to_STL_string_dtor_010a97f0 stl Wrapper that calls STL_string_dtor and returns 0x010A9800 10 thunk_to_STL_string_dtor_010a9800 stl Wrapper that calls STL_string_dtor and returns 0x010A9810 10 thunk_to_STL_string_dtor_010a9810 stl Wrapper that calls STL_string_dtor and returns 0x010A9890 280 atexit_unregister_window_classes_010a9890 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A99B0 114 atexit_destroy_CEffectManager_network_buffers crt Static destructor (atexit callback) for CEffectManager. Sets vtable pointer to CEffectManager dtor, then calls CNetworkBuffer__dtor_safe three times (stages 2, 1, 0) to destroy three network buffer members. 0x010A9A30 69 tls_clear_field_b334 crt TLS destructor: zeros 0x20 bytes at TLS offset 0xb334. Clears thread-local encrypted string buffer. 0x010A9A80 69 tls_clear_field_b35c crt TLS destructor: zeros 0xb bytes at TLS offset 0xb35c. Clears thread-local encrypted string buffer. 0x010A9AD0 69 tls_clear_field_b36c crt TLS destructor: zeros 5 bytes at TLS offset 0xb36c. Clears thread-local encrypted string buffer. 0x010A9B20 69 tls_clear_field_b378 crt TLS destructor: zeros 5 bytes at TLS offset 0xb378. Clears thread-local encrypted string buffer. 0x010A9B70 69 tls_clear_field_b384 crt TLS destructor: zeros 0x1f bytes at TLS offset 0xb384. Clears thread-local encrypted string buffer. 0x010A9BC0 69 tls_clear_field_b3a8 crt TLS destructor: zeros 0x15 bytes at TLS offset 0xb3a8. Clears thread-local encrypted string buffer. 0x010A9C10 69 tls_clear_field_b3c4 crt TLS destructor: zeros 0x1f bytes at TLS offset 0xb3c4. Clears thread-local encrypted string buffer. 0x010A9C60 69 tls_clear_field_b3e8 crt TLS destructor: zeros 0x15 bytes at TLS offset 0xb3e8. Clears thread-local encrypted string buffer. 0x010A9D20 280 atexit_unregister_window_classes_010a9d20 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010A9EB0 280 atexit_unregister_window_classes_010a9eb0 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010AA040 280 atexit_unregister_window_classes_010aa040 crt Atexit handler that unregisters all window classes from a global array, frees the class name buffer, and deletes the associated critical section. 0x010AA1D0 280 atexit_unregister_window_classes_010aa1d0 crt Critical section management function. 0x010AA360 280 atexit_unregister_window_classes_010aa360 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AA4F0 280 atexit_unregister_window_classes_010aa4f0 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AA680 280 atexit_unregister_window_classes_010aa680 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AA810 280 atexit_unregister_window_classes_010aa810 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AA9A0 280 atexit_unregister_window_classes_010aa9a0 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AAB30 280 atexit_unregister_window_classes_010aab30 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AACC0 280 atexit_unregister_window_classes_010aacc0 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AADE0 10 thunk_to_STL_string_dtor_010aade0 stl Wrapper that calls STL_string_dtor and returns 0x010AADF0 10 thunk_to_STL_string_dtor_010aadf0 stl Wrapper that calls STL_string_dtor and returns 0x010AAE00 10 thunk_to_STL_string_dtor_010aae00 stl Wrapper that calls STL_string_dtor and returns 0x010AAE10 10 thunk_to_STL_string_dtor_010aae10 stl Wrapper that calls STL_string_dtor and returns 0x010AAE20 10 thunk_to_STL_string_dtor_010aae20 stl Wrapper that calls STL_string_dtor and returns 0x010AAE30 10 thunk_to_STL_string_dtor_010aae30 stl Wrapper that calls STL_string_dtor and returns 0x010AAE40 10 thunk_to_STL_string_dtor_010aae40 stl Wrapper that calls STL_string_dtor and returns 0x010AAE50 10 thunk_to_STL_string_dtor_010aae50 stl Wrapper that calls STL_string_dtor and returns 0x010AAE60 10 thunk_to_STL_string_dtor_010aae60 stl Wrapper that calls STL_string_dtor and returns 0x010AAE70 10 thunk_to_STL_string_dtor_010aae70 stl Wrapper that calls STL_string_dtor and returns 0x010AAE80 10 thunk_to_STL_string_dtor_010aae80 stl Wrapper that calls STL_string_dtor and returns 0x010AAE90 10 thunk_to_STL_string_dtor_010aae90 stl Wrapper that calls STL_string_dtor and returns 0x010AAEA0 10 thunk_to_STL_string_dtor_010aaea0 stl Wrapper that calls STL_string_dtor and returns 0x010AAEB0 10 thunk_to_STL_string_dtor_010aaeb0 stl Wrapper that calls STL_string_dtor and returns 0x010AAEC0 10 thunk_to_STL_string_dtor_010aaec0 stl Wrapper that calls STL_string_dtor and returns 0x010AAED0 10 thunk_to_STL_string_dtor_010aaed0 stl Wrapper that calls STL_string_dtor and returns 0x010AAEE0 10 thunk_to_STL_string_dtor_010aaee0 stl Wrapper that calls STL_string_dtor and returns 0x010AAEF0 10 thunk_to_STL_string_dtor_010aaef0 stl Wrapper that calls STL_string_dtor and returns 0x010AAF00 10 thunk_to_STL_string_dtor_010aaf00 stl Wrapper that calls STL_string_dtor and returns 0x010AAF10 10 thunk_to_STL_string_dtor_010aaf10 stl Wrapper that calls STL_string_dtor and returns 0x010AAF20 10 thunk_to_STL_string_dtor_010aaf20 stl Wrapper that calls STL_string_dtor and returns 0x010AAF30 10 thunk_to_STL_string_dtor_010aaf30 stl Wrapper that calls STL_string_dtor and returns 0x010AAF40 10 thunk_to_STL_string_dtor_010aaf40 stl Wrapper that calls STL_string_dtor and returns immediately 0x010AAF50 10 thunk_to_STL_string_dtor_010aaf50 stl Wrapper that calls STL_string_dtor and returns 0x010AAF60 10 thunk_to_STL_string_dtor_010aaf60 stl Wrapper that calls STL_string_dtor and returns 0x010AAFE0 280 atexit_unregister_window_classes_010aafe0 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AB100 10 thunk_to_STL_string_dtor_010ab100 stl Wrapper that calls STL_string_dtor and returns 0x010AB110 10 thunk_to_STL_string_dtor_010ab110 stl Wrapper that calls STL_string_dtor and returns 0x010AB120 10 thunk_to_STL_string_dtor_010ab120 stl Wrapper that calls STL_string_dtor and returns 0x010AB130 10 thunk_to_STL_string_dtor_010ab130 stl Wrapper that calls STL_string_dtor and returns 0x010AB140 10 thunk_to_STL_string_dtor_010ab140 stl Wrapper that calls STL_string_dtor and returns 0x010AB150 10 thunk_to_STL_string_dtor_010ab150 stl Wrapper that calls STL_string_dtor and returns 0x010AB160 10 thunk_to_STL_string_dtor_010ab160 stl Wrapper that calls STL_string_dtor and returns 0x010AB170 10 thunk_to_STL_string_dtor_010ab170 stl Wrapper that calls STL_string_dtor and returns 0x010AB180 10 thunk_to_STL_string_dtor_010ab180 stl Wrapper that calls STL_string_dtor and returns 0x010AB190 10 thunk_to_STL_string_dtor_010ab190 stl Wrapper that calls STL_string_dtor and returns 0x010AB1A0 10 thunk_to_STL_string_dtor_010ab1a0 stl Wrapper that calls STL_string_dtor and returns 0x010AB1B0 10 thunk_to_STL_string_dtor_010ab1b0 stl Wrapper that calls STL_string_dtor and returns 0x010AB1C0 10 thunk_to_STL_string_dtor_010ab1c0 stl Wrapper that calls STL_string_dtor and returns 0x010AB1D0 10 thunk_to_STL_string_dtor_010ab1d0 stl Wrapper that calls STL_string_dtor and returns 0x010AB1E0 10 thunk_to_STL_string_dtor_010ab1e0 stl Wrapper that calls STL_string_dtor and returns 0x010AB1F0 10 thunk_to_STL_string_dtor_010ab1f0 stl Wrapper that calls STL_string_dtor and returns 0x010AB200 10 thunk_to_STL_string_dtor_010ab200 stl Wrapper that calls STL_string_dtor and returns 0x010AB210 10 thunk_to_STL_string_dtor_010ab210 stl Wrapper that calls STL_string_dtor and returns 0x010AB220 10 thunk_to_STL_string_dtor_010ab220 stl Wrapper that calls STL_string_dtor and returns 0x010AB230 10 thunk_to_STL_string_dtor_010ab230 stl Wrapper that calls STL_string_dtor and returns 0x010AB240 10 thunk_to_STL_string_dtor_010ab240 stl Wrapper that calls STL_string_dtor and returns 0x010AB250 10 thunk_to_STL_string_dtor_010ab250 stl Wrapper that calls STL_string_dtor and returns 0x010AB260 10 thunk_to_STL_string_dtor_010ab260 stl Wrapper that calls STL_string_dtor and returns 0x010AB270 10 thunk_to_STL_string_dtor_010ab270 stl Wrapper that calls STL_string_dtor and returns 0x010AB280 10 thunk_to_STL_string_dtor_010ab280 stl Wrapper function that calls STL_string_dtor and returns 0x010AB300 280 atexit_unregister_window_classes_010ab300 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AB420 10 thunk_to_STL_string_dtor_010ab420 stl Wrapper that calls STL_string_dtor and returns 0x010AB430 10 thunk_to_STL_string_dtor_010ab430 stl Wrapper that calls STL_string_dtor and returns 0x010AB440 10 thunk_to_STL_string_dtor_010ab440 stl Wrapper function that calls STL_string_dtor and returns 0x010AB450 10 thunk_to_STL_string_dtor_010ab450 stl Wrapper that calls STL string destructor 0x010AB460 10 thunk_to_STL_string_dtor_010ab460 stl Wrapper that calls STL_string_dtor and returns 0x010AB470 10 thunk_to_STL_string_dtor_010ab470 stl Wrapper function that calls STL_string_dtor and returns 0x010AB480 10 thunk_to_STL_string_dtor_010ab480 stl Wrapper that calls STL_string_dtor and returns 0x010AB490 10 thunk_to_STL_string_dtor_010ab490 stl Wrapper that calls STL_string_dtor and returns 0x010AB4A0 10 thunk_to_STL_string_dtor_010ab4a0 stl Wrapper that calls STL_string_dtor and returns 0x010AB4B0 10 thunk_to_STL_string_dtor_010ab4b0 stl Wrapper that calls STL_string_dtor and returns 0x010AB4C0 10 thunk_to_STL_string_dtor_010ab4c0 stl Wrapper that calls STL_string_dtor and returns 0x010AB4D0 10 thunk_to_STL_string_dtor_010ab4d0 stl Wrapper that calls STL_string_dtor and returns 0x010AB4E0 10 thunk_to_STL_string_dtor_010ab4e0 stl Wrapper function that calls STL_string_dtor and returns 0x010AB4F0 10 thunk_to_STL_string_dtor_010ab4f0 stl Wrapper that calls STL_string_dtor and returns 0x010AB500 10 thunk_to_STL_string_dtor_010ab500 stl Wrapper that calls STL_string_dtor and returns 0x010AB510 10 thunk_to_STL_string_dtor_010ab510 stl Wrapper that calls STL_string_dtor and returns 0x010AB520 10 thunk_to_STL_string_dtor_010ab520 stl Wrapper that calls STL_string_dtor and returns 0x010AB530 10 thunk_to_STL_string_dtor_010ab530 stl Wrapper that calls STL_string_dtor and returns 0x010AB540 10 thunk_to_STL_string_dtor_010ab540 stl Wrapper that calls STL_string_dtor and returns 0x010AB550 10 thunk_to_STL_string_dtor_010ab550 stl Wrapper function that calls STL_string_dtor and returns 0x010AB560 10 thunk_to_STL_string_dtor_010ab560 stl Wrapper that calls STL_string_dtor and returns 0x010AB570 10 thunk_to_STL_string_dtor_010ab570 stl Wrapper function that calls STL_string_dtor and returns 0x010AB580 10 thunk_to_STL_string_dtor_010ab580 stl Wrapper that calls STL_string_dtor and returns 0x010AB590 10 thunk_to_STL_string_dtor_010ab590 stl Wrapper that calls STL_string_dtor and returns 0x010AB5A0 10 thunk_to_STL_string_dtor_010ab5a0 stl Wrapper that calls STL_string_dtor and returns 0x010AB620 280 atexit_unregister_window_classes_010ab620 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AB7B0 280 atexit_unregister_window_classes_010ab7b0 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010AB940 280 atexit_unregister_window_classes_010ab940 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010ABAD0 280 atexit_unregister_window_classes_010abad0 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010ABC60 280 atexit_unregister_window_classes_010abc60 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010ABDF0 280 atexit_unregister_window_classes_010abdf0 crt Static destructor (atexit callback). Iterates registered window class atoms, calls UnregisterClassA for each, frees the atom array, deletes the critical section, and resets all global state. 0x010ABF10 66 atexit_destroy_render_pipeline_010abf10 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010ABF60 10 thunk_to_STL_string_dtor_010abf60 stl Wrapper that calls STL_string_dtor and returns 0x010ABF70 10 thunk_to_STL_string_dtor_010abf70 stl Wrapper that calls STL_string_dtor and returns 0x010ABF80 10 thunk_to_STL_string_dtor_010abf80 stl Wrapper that calls STL_string_dtor and returns 0x010ABF90 10 thunk_to_STL_string_dtor_010abf90 stl Wrapper that calls STL_string_dtor and returns 0x010ABFA0 10 thunk_to_STL_string_dtor_010abfa0 stl Wrapper that calls STL_string_dtor and returns 0x010ABFB0 10 thunk_to_STL_string_dtor_010abfb0 stl Wrapper that calls STL_string_dtor and returns 0x010ABFC0 11 atexit_set_CReportConfig_vtable crt Static initializer (atexit callback) that sets the vtable pointer for a global CReportConfig instance to its scalar deleting destructor vtable. 0x010ABFD0 10 thunk_to_STL_string_dtor_010abfd0 stl Wrapper that calls STL_string_dtor and returns 0x010ABFE0 10 thunk_to_STL_string_dtor_010abfe0 stl Wrapper that calls STL_string_dtor and returns 0x010ABFF0 10 thunk_to_STL_string_dtor_010abff0 stl Wrapper that calls STL_string_dtor and returns 0x010AC000 10 thunk_to_STL_string_dtor_010ac000 stl Wrapper that calls STL_string_dtor and returns 0x010AC010 10 thunk_to_STL_string_dtor_010ac010 stl Wrapper that calls STL_string_dtor and returns 0x010AC020 10 thunk_to_STL_string_dtor_010ac020 stl Wrapper that calls STL_string_dtor and returns 0x010AC030 10 thunk_to_STL_string_dtor_010ac030 stl Wrapper function that calls STL_string_dtor and returns 0x010AC040 10 thunk_to_STL_string_dtor_010ac040 stl Wrapper that calls STL_string_dtor and returns 0x010AC050 10 thunk_to_STL_string_dtor_010ac050 stl Wrapper that calls STL_string_dtor and returns 0x010AC060 10 thunk_to_STL_string_dtor_010ac060 stl Wrapper that calls STL_string_dtor and returns 0x010AC070 10 thunk_to_STL_string_dtor_010ac070 stl Wrapper that calls STL_string_dtor and returns 0x010AC080 10 thunk_to_STL_string_dtor_010ac080 stl Wrapper that calls STL_string_dtor and returns 0x010AC090 10 thunk_to_STL_string_dtor_010ac090 stl Wrapper that calls STL_string_dtor and returns 0x010AC0A0 10 thunk_to_STL_string_dtor_010ac0a0 stl Wrapper that calls STL_string_dtor and returns 0x010AC0B0 10 thunk_to_STL_string_dtor_010ac0b0 stl Wrapper that calls STL_string_dtor and returns 0x010AC0C0 10 thunk_to_STL_string_dtor_010ac0c0 stl Wrapper that calls STL_string_dtor and returns 0x010AC0D0 10 thunk_to_STL_string_dtor_010ac0d0 stl Wrapper that calls STL_string_dtor and returns 0x010AC0E0 10 thunk_to_STL_string_dtor_010ac0e0 stl Wrapper that calls STL_string_dtor and returns 0x010AC0F0 10 thunk_to_STL_string_dtor_010ac0f0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010AC170 280 atexit_unregister_window_classes_010ac170 crt Atexit callback: unregisters all window classes from the global atom array, frees the array, and deletes the associated critical section. SEH-protected. 0x010AC290 66 atexit_destroy_STL_map_010ac290 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010AC2E0 69 tls_clear_field_b404 crt TLS destructor: zeros 10 bytes at TLS offset 0xb404. Clears thread-local encrypted string buffer. 0x010AC330 69 tls_clear_field_b414 crt TLS destructor: zeros 10 bytes at TLS offset 0xb414. Clears thread-local encrypted string buffer. 0x010AC380 69 tls_clear_field_b424 crt TLS destructor: zeros 9 bytes at TLS offset 0xb424. Clears thread-local encrypted string buffer. 0x010AC3D0 69 tls_clear_field_b434 crt TLS destructor: zeros 0xc bytes at TLS offset 0xb434. Clears thread-local encrypted string buffer. 0x010AC420 69 tls_clear_field_b448 crt TLS destructor: zeros 0xc bytes at TLS offset 0xb448. Clears thread-local encrypted string buffer. 0x010AC470 69 tls_clear_field_b45c crt TLS destructor: zeros 0xb bytes at TLS offset 0xb45c. Clears thread-local encrypted string buffer. 0x010AC4C0 10 thunk_to_STL_string_dtor_010ac4c0 stl Wrapper that calls STL_string_dtor and returns 0x010AC4D0 10 thunk_to_STL_string_dtor_010ac4d0 stl Wrapper that calls STL_string_dtor and returns 0x010AC4E0 10 thunk_to_STL_string_dtor_010ac4e0 stl Wrapper that calls STL_string_dtor and returns 0x010AC4F0 10 thunk_to_STL_string_dtor_010ac4f0 stl Wrapper that calls STL_string_dtor and returns 0x010AC500 10 thunk_to_STL_string_dtor_010ac500 stl Wrapper that calls STL_string_dtor and returns 0x010AC510 10 thunk_to_STL_string_dtor_010ac510 stl Wrapper that calls STL_string_dtor and returns 0x010AC520 10 thunk_to_STL_string_dtor_010ac520 stl Wrapper that calls STL_string_dtor and returns 0x010AC530 10 thunk_to_STL_string_dtor_010ac530 stl Wrapper calling STL_string_dtor destructor 0x010AC540 10 thunk_to_STL_string_dtor_010ac540 stl Wrapper that calls STL_string_dtor and returns 0x010AC550 10 thunk_to_STL_string_dtor_010ac550 stl Wrapper that calls STL_string_dtor and returns 0x010AC560 10 thunk_to_STL_string_dtor_010ac560 stl Wrapper that calls STL_string_dtor and returns 0x010AC570 10 thunk_to_STL_string_dtor_010ac570 stl Wrapper that calls STL_string_dtor and returns 0x010AC580 10 thunk_to_STL_string_dtor_010ac580 stl Wrapper that calls STL_string_dtor and returns 0x010AC590 10 thunk_to_STL_string_dtor_010ac590 stl Wrapper that calls STL_string_dtor destructor 0x010AC5A0 10 thunk_to_STL_string_dtor_010ac5a0 stl Wrapper that calls STL_string_dtor and returns 0x010AC5B0 10 thunk_to_STL_string_dtor_010ac5b0 stl Wrapper that calls STL_string_dtor and returns 0x010AC5C0 10 thunk_to_STL_string_dtor_010ac5c0 stl Wrapper that calls STL_string_dtor and returns 0x010AC5D0 10 thunk_to_STL_string_dtor_010ac5d0 stl Wrapper that calls STL_string_dtor and returns 0x010AC5E0 10 thunk_to_STL_string_dtor_010ac5e0 stl Wrapper that calls STL_string_dtor and returns 0x010AC5F0 10 thunk_to_STL_string_dtor_010ac5f0 stl Wrapper that calls STL_string_dtor and returns 0x010AC600 10 thunk_to_STL_string_dtor_010ac600 stl Wrapper that calls STL_string_dtor and returns 0x010AC610 10 thunk_to_STL_string_dtor_010ac610 stl Wrapper that calls STL_string_dtor and returns 0x010AC620 10 thunk_to_STL_string_dtor_010ac620 stl Wrapper that calls STL_string_dtor and returns 0x010AC630 10 thunk_to_STL_string_dtor_010ac630 stl Wrapper that calls STL_string_dtor and returns 0x010AC640 10 thunk_to_STL_string_dtor_010ac640 stl Wrapper that calls STL_string_dtor and returns 0x010AC6C0 280 atexit_unregister_window_classes_010ac6c0 crt Atexit callback: unregisters all window classes from the global atom array, frees the array, and deletes the associated critical section. SEH-protected. 0x010AC7E0 66 atexit_destroy_render_pipeline_010ac7e0 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010AC830 10 thunk_to_STL_string_dtor_010ac830 stl Wrapper that calls STL_string_dtor and returns 0x010AC840 10 thunk_to_STL_string_dtor_010ac840 stl Wrapper that calls STL_string_dtor and returns 0x010AC850 10 thunk_to_STL_string_dtor_010ac850 stl Wrapper that calls STL_string_dtor and returns 0x010AC860 10 thunk_to_STL_string_dtor_010ac860 stl Wrapper that calls STL_string_dtor and returns 0x010AC870 10 thunk_to_STL_string_dtor_010ac870 stl Wrapper that calls STL_string_dtor and returns 0x010AC880 10 thunk_to_STL_string_dtor_010ac880 stl Wrapper that calls STL_string_dtor and returns 0x010AC890 10 thunk_to_STL_string_dtor_010ac890 stl Wrapper that calls STL_string_dtor and returns 0x010AC8A0 10 thunk_to_STL_string_dtor_010ac8a0 stl Wrapper that calls STL_string_dtor and returns 0x010AC8B0 10 thunk_to_STL_string_dtor_010ac8b0 stl Wrapper that calls STL_string_dtor and returns 0x010AC8C0 10 thunk_to_STL_string_dtor_010ac8c0 stl Wrapper that calls STL_string_dtor and returns 0x010AC8D0 10 thunk_to_STL_string_dtor_010ac8d0 stl Wrapper function that calls STL_string_dtor and returns 0x010AC8E0 10 thunk_to_STL_string_dtor_010ac8e0 stl Wrapper that calls STL_string_dtor and returns 0x010AC8F0 10 thunk_to_STL_string_dtor_010ac8f0 stl Wrapper calling STL_string_dtor destructor 0x010AC900 10 thunk_to_STL_string_dtor_010ac900 stl Wrapper that calls STL_string_dtor and returns 0x010AC910 10 thunk_to_STL_string_dtor_010ac910 stl Wrapper that calls STL_string_dtor and returns 0x010AC920 10 thunk_to_STL_string_dtor_010ac920 stl Wrapper that calls STL_string_dtor and returns 0x010AC930 10 thunk_to_STL_string_dtor_010ac930 stl Wrapper that calls STL_string_dtor and returns 0x010AC940 10 thunk_to_STL_string_dtor_010ac940 stl Wrapper that calls STL_string_dtor and returns 0x010AC950 10 thunk_to_STL_string_dtor_010ac950 stl Wrapper that calls STL_string_dtor and returns 0x010AC960 10 thunk_to_STL_string_dtor_010ac960 stl Wrapper that calls STL_string_dtor and returns 0x010AC970 10 thunk_to_STL_string_dtor_010ac970 stl Wrapper that calls STL_string_dtor and returns 0x010AC980 10 thunk_to_STL_string_dtor_010ac980 stl Wrapper that calls STL_string_dtor and returns 0x010AC990 10 thunk_to_STL_string_dtor_010ac990 stl Wrapper that calls STL_string_dtor and returns 0x010AC9A0 10 thunk_to_STL_string_dtor_010ac9a0 stl Wrapper that calls STL_string_dtor and returns 0x010AC9B0 10 thunk_to_STL_string_dtor_010ac9b0 stl Wrapper that calls STL_string_dtor and returns 0x010ACA30 280 atexit_unregister_window_classes_010aca30 crt Atexit callback: unregisters all window classes from the global atom array, frees the array, and deletes the associated critical section. SEH-protected. 0x010ACB50 66 atexit_destroy_STL_map_010acb50 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010ACBA0 66 atexit_destroy_render_pipeline_010acba0 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010ACBF0 10 thunk_to_STL_string_dtor_010acbf0 stl Wrapper that calls STL_string_dtor and returns 0x010ACC00 10 thunk_to_STL_string_dtor_010acc00 stl Wrapper that calls STL_string_dtor and returns 0x010ACC10 10 thunk_to_STL_string_dtor_010acc10 stl Wrapper that calls STL_string_dtor and returns 0x010ACC20 10 thunk_to_STL_string_dtor_010acc20 stl Wrapper that calls STL_string_dtor and returns 0x010ACC30 10 thunk_to_STL_string_dtor_010acc30 stl Wrapper that calls STL_string_dtor and returns 0x010ACC40 10 thunk_to_STL_string_dtor_010acc40 stl Wrapper that calls STL_string_dtor and returns 0x010ACC50 10 thunk_to_STL_string_dtor_010acc50 stl Wrapper calling STL string destructor 0x010ACC60 10 thunk_to_STL_string_dtor_010acc60 stl Wrapper that calls STL_string_dtor and returns 0x010ACC70 10 thunk_to_STL_string_dtor_010acc70 stl Wrapper that calls STL_string_dtor and returns 0x010ACC80 10 thunk_to_STL_string_dtor_010acc80 stl Wrapper that calls STL_string_dtor and returns 0x010ACC90 10 thunk_to_STL_string_dtor_010acc90 stl Wrapper that calls STL_string_dtor and returns 0x010ACCA0 10 thunk_to_STL_string_dtor_010acca0 stl Wrapper that calls STL_string_dtor and returns 0x010ACCB0 10 thunk_to_STL_string_dtor_010accb0 stl Wrapper that calls STL_string_dtor and returns 0x010ACCC0 10 thunk_to_STL_string_dtor_010accc0 stl Wrapper that calls STL_string_dtor and returns 0x010ACCD0 10 thunk_to_STL_string_dtor_010accd0 stl Wrapper that calls STL_string_dtor and returns 0x010ACCE0 10 thunk_to_STL_string_dtor_010acce0 stl Wrapper that calls STL_string_dtor and returns immediately 0x010ACCF0 10 thunk_to_STL_string_dtor_010accf0 stl Wrapper that calls STL_string_dtor and returns 0x010ACD00 10 thunk_to_STL_string_dtor_010acd00 stl Wrapper that calls STL_string_dtor and returns 0x010ACD10 10 thunk_to_STL_string_dtor_010acd10 stl Wrapper that calls STL_string_dtor and returns 0x010ACD20 10 thunk_to_STL_string_dtor_010acd20 stl Wrapper that calls STL_string_dtor and returns 0x010ACD30 10 thunk_to_STL_string_dtor_010acd30 stl Wrapper that calls STL_string_dtor and returns immediately 0x010ACD40 10 thunk_to_STL_string_dtor_010acd40 stl Wrapper that calls STL_string_dtor and returns 0x010ACD50 10 thunk_to_STL_string_dtor_010acd50 stl Wrapper that calls STL_string_dtor and returns 0x010ACD60 10 thunk_to_STL_string_dtor_010acd60 stl Wrapper that calls STL_string_dtor and returns 0x010ACD70 10 thunk_to_STL_string_dtor_010acd70 stl Wrapper that calls STL_string_dtor and returns 0x010ACDF0 280 atexit_unregister_window_classes_010acdf0 crt Atexit callback: unregisters all window classes from the global atom array, frees the array, and deletes the associated critical section. SEH-protected. 0x010ACF10 66 atexit_destroy_STL_map_010acf10 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010ACF60 10 thunk_to_CPathFinder__dtor pathfinding Thunk that calls CPathFinder__dtor to destroy the global pathfinder instance. 0x010ACF70 59 atexit_free_linked_list_0xc_nodes crt Static destructor (atexit callback) that frees a singly-linked list of 0xC-byte nodes. Zeros the count field, walks the linked list freeing each node, then frees the list head structure itself. 0x010ACFB0 69 tls_clear_field_b484 crt TLS destructor: zeros 0x14 bytes at TLS offset 0xb484. Clears thread-local encrypted string buffer. 0x010AD000 69 tls_clear_field_b46c crt TLS destructor: zeros 0x13 bytes at TLS offset 0xb46c. Clears thread-local encrypted string buffer. 0x010AD050 69 tls_clear_field_b4bc crt TLS destructor: zeros 0x10 bytes at TLS offset 0xb4bc. Clears thread-local encrypted string buffer. 0x010AD0A0 69 tls_clear_field_b4a0 crt TLS destructor: zeros 0x14 bytes at TLS offset 0xb4a0. Clears thread-local encrypted string buffer. 0x010AD0F0 69 tls_clear_field_b4d4 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xb4d4. Clears thread-local encrypted string buffer. 0x010AD140 69 tls_clear_array_11_at_0xb4ec crt TLS initializer callback. Zeros 11 bytes in the TLS block at offset 0xB4EC. 0x010AD190 69 tls_clear_array_16_at_0xb4fc crt TLS initializer callback. Zeros 16 bytes in the TLS block at offset 0xB4FC. 0x010AD1E0 69 tls_clear_field_b514 crt TLS destructor: zeros 5 bytes at TLS offset 0xb514. Clears thread-local encrypted string buffer. 0x010AD230 93 atexit_destroy_CLuaInstance_filestream crt Atexit callback: destroys a global CLuaInstance-derived filestream object. Sets vtable to CLuaInstance base, closes file handle via CFileStream__close_handle, then destructs the STL string member. SEH-protected. 0x010AD290 66 atexit_destroy_tree_24_010ad290 crt Static destructor (atexit callback) for a global STL tree with 24-byte nodes. Calls std__tree_destroy_and_free_24 with SEH protection. 0x010AD2E0 66 atexit_destroy_render_pipeline_010ad2e0 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010AD330 10 thunk_to_STL_string_dtor_010ad330 stl Wrapper that calls STL_string_dtor and returns 0x010AD340 10 thunk_to_STL_string_dtor_010ad340 stl Wrapper that calls STL_string_dtor and returns 0x010AD350 10 thunk_to_STL_string_dtor_010ad350 stl Wrapper that calls STL_string_dtor and returns 0x010AD360 10 thunk_to_STL_string_dtor_010ad360 stl Wrapper that calls STL_string_dtor and returns 0x010AD370 10 thunk_to_STL_string_dtor_010ad370 stl Wrapper that calls STL_string_dtor and returns 0x010AD380 10 thunk_to_STL_string_dtor_010ad380 stl Wrapper that calls STL_string_dtor and returns 0x010AD390 10 thunk_to_STL_string_dtor_010ad390 stl Wrapper that calls STL_string_dtor and returns 0x010AD3A0 10 thunk_to_STL_string_dtor_010ad3a0 stl Wrapper that calls STL_string_dtor and returns 0x010AD3B0 10 thunk_to_STL_string_dtor_010ad3b0 stl Wrapper that calls STL_string_dtor and returns 0x010AD3C0 10 thunk_to_STL_string_dtor_010ad3c0 stl Wrapper that calls STL_string_dtor and returns 0x010AD3D0 10 thunk_to_STL_string_dtor_010ad3d0 stl Wrapper that calls STL_string_dtor and returns 0x010AD3E0 10 thunk_to_STL_string_dtor_010ad3e0 stl Wrapper that calls STL_string_dtor and returns 0x010AD3F0 10 thunk_to_STL_string_dtor_010ad3f0 stl Wrapper that calls STL_string_dtor and returns 0x010AD400 10 thunk_to_STL_string_dtor_010ad400 stl Wrapper that calls STL_string_dtor and returns 0x010AD410 10 thunk_to_STL_string_dtor_010ad410 stl Wrapper that calls STL_string_dtor and returns 0x010AD420 10 thunk_to_STL_string_dtor_010ad420 stl Wrapper that calls STL_string_dtor and returns 0x010AD430 10 thunk_to_STL_string_dtor_010ad430 stl Wrapper that calls STL_string_dtor and returns 0x010AD440 10 thunk_to_STL_string_dtor_010ad440 stl Wrapper that calls STL_string_dtor and returns 0x010AD450 10 thunk_to_STL_string_dtor_010ad450 stl Wrapper function that calls STL_string_dtor and returns 0x010AD460 10 thunk_to_STL_string_dtor_010ad460 stl Wrapper that calls STL_string_dtor and returns 0x010AD470 10 thunk_to_STL_string_dtor_010ad470 stl Wrapper that calls STL_string_dtor and returns 0x010AD480 10 thunk_to_STL_string_dtor_010ad480 stl Wrapper that calls STL_string_dtor and returns 0x010AD490 10 thunk_to_STL_string_dtor_010ad490 stl Wrapper that calls STL_string_dtor and returns 0x010AD4A0 10 thunk_to_STL_string_dtor_010ad4a0 stl Wrapper that calls STL_string_dtor and returns 0x010AD4B0 10 thunk_to_STL_string_dtor_010ad4b0 stl Wrapper that calls STL_string_dtor and returns 0x010AD530 280 atexit_unregister_window_classes_010ad530 crt Atexit callback: unregisters all window classes from the global atom array, frees the array, and deletes the associated critical section. SEH-protected. 0x010AD650 66 atexit_destroy_STL_map_010ad650 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010AD6A0 66 atexit_destroy_render_pipeline_010ad6a0 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010AD6F0 66 atexit_destroy_CReportStorage_tree_010ad6f0 crt Static destructor (atexit callback) for a global CReportStorage tree. Calls CReportStorage__destroy_tree_and_sentinel with SEH protection. 0x010AD740 66 atexit_destroy_CReportStorage_tree_010ad740 crt Static destructor (atexit callback) for a global CReportStorage tree. Calls CReportStorage__destroy_tree_and_sentinel with SEH protection. 0x010AD790 10 thunk_to_STL_string_dtor_010ad790 stl Wrapper that calls STL_string_dtor and returns 0x010AD7A0 10 thunk_to_STL_string_dtor_010ad7a0 stl Wrapper that calls STL_string_dtor and returns 0x010AD7B0 10 thunk_to_STL_string_dtor_010ad7b0 stl Wrapper that calls STL_string_dtor and returns 0x010AD7C0 10 thunk_to_STL_string_dtor_010ad7c0 stl Wrapper that calls STL_string_dtor and returns 0x010AD7D0 10 thunk_to_STL_string_dtor_010ad7d0 stl Wrapper that calls STL_string_dtor and returns 0x010AD7E0 10 thunk_to_STL_string_dtor_010ad7e0 stl Wrapper that calls STL_string_dtor and returns 0x010AD7F0 10 thunk_to_STL_string_dtor_010ad7f0 stl Wrapper that calls STL_string_dtor and returns 0x010AD800 10 thunk_to_STL_string_dtor_010ad800 stl Wrapper that calls STL_string_dtor and returns 0x010AD810 10 thunk_to_STL_string_dtor_010ad810 stl Wrapper that calls STL_string_dtor and returns 0x010AD820 10 thunk_to_STL_string_dtor_010ad820 stl Wrapper that calls STL_string_dtor and returns 0x010AD830 10 thunk_to_STL_string_dtor_010ad830 stl Wrapper that calls STL_string_dtor and returns 0x010AD840 10 thunk_to_STL_string_dtor_010ad840 stl Wrapper that calls STL_string_dtor and returns 0x010AD850 10 thunk_to_STL_string_dtor_010ad850 stl Wrapper that calls STL_string_dtor and returns 0x010AD860 10 thunk_to_STL_string_dtor_010ad860 stl Wrapper that calls STL_string_dtor and returns 0x010AD870 10 thunk_to_STL_string_dtor_010ad870 stl Wrapper that calls STL_string_dtor and returns 0x010AD880 10 thunk_to_STL_string_dtor_010ad880 stl Wrapper that calls STL_string_dtor and returns 0x010AD890 10 thunk_to_STL_string_dtor_010ad890 stl Wrapper function that calls STL_string_dtor and returns 0x010AD8A0 10 thunk_to_STL_string_dtor_010ad8a0 stl Wrapper that calls STL_string_dtor and returns 0x010AD8B0 10 thunk_to_STL_string_dtor_010ad8b0 stl Wrapper that calls STL_string_dtor and returns 0x010AD8C0 10 thunk_to_STL_string_dtor_010ad8c0 stl Wrapper that calls STL_string_dtor and returns 0x010AD8D0 10 thunk_to_STL_string_dtor_010ad8d0 stl Wrapper that calls STL_string_dtor and returns 0x010AD8E0 10 thunk_to_STL_string_dtor_010ad8e0 stl Wrapper that calls STL_string_dtor and returns 0x010AD8F0 10 thunk_to_STL_string_dtor_010ad8f0 stl Wrapper that calls STL_string_dtor and returns 0x010AD900 10 thunk_to_STL_string_dtor_010ad900 stl Wrapper that calls STL_string_dtor and returns 0x010AD910 10 thunk_to_STL_string_dtor_010ad910 stl Wrapper that calls STL_string_dtor and returns 0x010AD990 280 atexit_unregister_window_classes_and_cleanup_010ad990 crt Atexit cleanup: unregisters all window classes by atom, frees class array, deletes critical section, zeros globals. SEH-protected. 0x010ADAB0 66 atexit_destroy_STL_map_010adab0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010ADB00 66 atexit_destroy_rb_tree_0x20_010adb00 crt Static destructor (atexit callback) for a global red-black tree with 0x20-byte nodes. Calls rb_tree_destroy_all_nodes_0x20 with SEH protection. 0x010ADB50 69 tls_clear_field_b520 crt TLS destructor: zeros 0xc bytes at TLS offset 0xb520. Clears thread-local encrypted string buffer. 0x010ADBA0 69 tls_clear_field_b540 crt TLS destructor: zeros 0x18 bytes at TLS offset 0xb540. Clears thread-local encrypted string buffer. 0x010ADBF0 69 tls_clear_field_b534 crt TLS destructor: zeros 4 bytes at TLS offset 0xb534. Clears thread-local encrypted string buffer. 0x010ADC40 69 tls_clear_field_b560 crt TLS destructor: zeros 0x3d bytes at TLS offset 0xb560. Clears thread-local encrypted string buffer. 0x010ADC90 66 atexit_destroy_render_pipeline_010adc90 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010ADCE0 10 thunk_to_STL_string_dtor_010adce0 stl Wrapper that calls STL_string_dtor and returns 0x010ADCF0 10 thunk_to_STL_string_dtor_010adcf0 stl Wrapper that calls STL_string_dtor and returns 0x010ADD00 10 thunk_to_STL_string_dtor_010add00 stl Wrapper that calls STL_string_dtor and returns 0x010ADD10 10 thunk_to_STL_string_dtor_010add10 stl Wrapper that calls STL_string_dtor and returns 0x010ADD20 10 thunk_to_STL_string_dtor_010add20 stl Wrapper that calls STL_string_dtor and returns 0x010ADD30 10 thunk_to_STL_string_dtor_010add30 stl Wrapper that calls STL_string_dtor and returns 0x010ADD40 10 thunk_to_STL_string_dtor_010add40 stl Wrapper that calls STL_string_dtor and returns 0x010ADD50 10 thunk_to_STL_string_dtor_010add50 stl Wrapper that calls STL_string_dtor and returns 0x010ADD60 10 thunk_to_STL_string_dtor_010add60 stl Wrapper that calls STL_string_dtor and returns 0x010ADD70 10 thunk_to_STL_string_dtor_010add70 stl Wrapper that calls STL_string_dtor and returns 0x010ADD80 10 thunk_to_STL_string_dtor_010add80 stl Wrapper that calls STL_string_dtor and returns 0x010ADD90 10 thunk_to_STL_string_dtor_010add90 stl Wrapper that calls STL_string_dtor and returns 0x010ADDA0 10 thunk_to_STL_string_dtor_010adda0 stl Wrapper that calls STL_string_dtor and returns 0x010ADDB0 10 thunk_to_STL_string_dtor_010addb0 stl Wrapper that calls STL_string_dtor and returns 0x010ADDC0 10 thunk_to_STL_string_dtor_010addc0 stl Wrapper that calls STL_string_dtor and returns 0x010ADDD0 10 thunk_to_STL_string_dtor_010addd0 stl Wrapper that calls STL_string_dtor and returns 0x010ADDE0 10 thunk_to_STL_string_dtor_010adde0 stl Wrapper that calls STL_string_dtor and returns 0x010ADDF0 10 thunk_to_STL_string_dtor_010addf0 stl Wrapper that calls STL_string_dtor and returns 0x010ADE00 10 thunk_to_STL_string_dtor_010ade00 stl Wrapper that calls STL_string_dtor and returns 0x010ADE10 10 thunk_to_STL_string_dtor_010ade10 stl Wrapper that calls STL_string_dtor and returns 0x010ADE20 10 thunk_to_STL_string_dtor_010ade20 stl Wrapper that calls STL_string_dtor and returns 0x010ADE30 10 thunk_to_STL_string_dtor_010ade30 stl Wrapper that calls STL_string_dtor and returns 0x010ADE40 10 thunk_to_STL_string_dtor_010ade40 stl Wrapper that calls STL_string_dtor and returns 0x010ADE50 10 thunk_to_STL_string_dtor_010ade50 stl Wrapper that calls STL_string_dtor and returns 0x010ADE60 10 thunk_to_STL_string_dtor_010ade60 stl Wrapper that calls STL_string_dtor and returns 0x010ADEE0 280 atexit_unregister_window_classes_and_cleanup_010adee0 crt Atexit cleanup: unregisters all window classes by atom, frees class array, deletes critical section, zeros globals. SEH-protected. 0x010AE000 66 atexit_destroy_STL_map_010ae000 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010AE050 10 thunk_to_STL_string_dtor_010ae050 stl Wrapper that calls STL_string_dtor and returns 0x010AE060 10 thunk_to_STL_string_dtor_010ae060 stl Wrapper that calls STL_string_dtor and returns 0x010AE070 10 thunk_to_STL_string_dtor_010ae070 stl Wrapper that calls STL_string_dtor and returns 0x010AE080 10 thunk_to_STL_string_dtor_010ae080 stl Wrapper that calls STL_string_dtor and returns 0x010AE090 10 thunk_to_STL_string_dtor_010ae090 stl Wrapper function that calls STL_string_dtor and returns 0x010AE0A0 10 thunk_to_STL_string_dtor_010ae0a0 stl Wrapper that calls STL_string_dtor and returns 0x010AE0B0 10 thunk_to_STL_string_dtor_010ae0b0 stl Wrapper that calls STL_string_dtor and returns 0x010AE0C0 10 thunk_to_STL_string_dtor_010ae0c0 stl Wrapper that calls STL_string_dtor and returns 0x010AE0D0 10 thunk_to_STL_string_dtor_010ae0d0 stl Wrapper that calls STL_string_dtor and returns 0x010AE0E0 10 thunk_to_STL_string_dtor_010ae0e0 stl Wrapper that calls STL_string_dtor and returns 0x010AE0F0 10 thunk_to_STL_string_dtor_010ae0f0 stl Wrapper that calls STL_string_dtor and returns 0x010AE100 10 thunk_to_STL_string_dtor_010ae100 stl Wrapper that calls STL_string_dtor and returns 0x010AE110 10 thunk_to_STL_string_dtor_010ae110 stl Wrapper that calls STL_string_dtor and returns 0x010AE120 10 thunk_to_STL_string_dtor_010ae120 stl Wrapper that calls STL_string_dtor and returns 0x010AE130 10 thunk_to_STL_string_dtor_010ae130 stl Wrapper that calls STL_string_dtor and returns 0x010AE140 10 thunk_to_STL_string_dtor_010ae140 stl Wrapper that calls STL_string_dtor and returns 0x010AE150 10 thunk_to_STL_string_dtor_010ae150 stl Wrapper that calls STL_string_dtor and returns 0x010AE160 10 thunk_to_STL_string_dtor_010ae160 stl Wrapper that calls STL_string_dtor and returns 0x010AE170 10 thunk_to_STL_string_dtor_010ae170 stl Wrapper that calls STL_string_dtor and returns 0x010AE180 10 thunk_to_STL_string_dtor_010ae180 stl Wrapper that calls STL_string_dtor and returns 0x010AE190 10 thunk_to_STL_string_dtor_010ae190 stl Wrapper that calls STL_string_dtor and returns 0x010AE1A0 10 thunk_to_STL_string_dtor_010ae1a0 stl Wrapper that calls STL_string_dtor and returns 0x010AE1B0 10 thunk_to_STL_string_dtor_010ae1b0 stl Wrapper that calls STL_string_dtor and returns 0x010AE1C0 10 thunk_to_STL_string_dtor_010ae1c0 stl Wrapper that calls STL_string_dtor and returns 0x010AE1D0 10 thunk_to_STL_string_dtor_010ae1d0 stl Wrapper that calls STL_string_dtor and returns 0x010AE250 280 atexit_unregister_window_classes_and_cleanup_010ae250 crt Atexit cleanup: unregisters all window classes by atom, frees class array, deletes critical section, zeros globals. SEH-protected. 0x010AE370 66 atexit_destroy_render_pipeline_010ae370 crt Static destructor (atexit callback) for a global CRenderPipeline. Calls CRenderPipeline__destroy_linked_list_and_vector with SEH protection. 0x010AE3C0 10 thunk_to_STL_string_dtor_010ae3c0 stl Wrapper function that calls STL_string_dtor and returns 0x010AE3D0 10 thunk_to_STL_string_dtor_010ae3d0 stl Wrapper that calls STL_string_dtor and returns 0x010AE3E0 10 thunk_to_STL_string_dtor_010ae3e0 stl Wrapper that calls STL_string_dtor and returns 0x010AE3F0 10 thunk_to_STL_string_dtor_010ae3f0 stl Wrapper that calls STL_string_dtor and returns 0x010AE400 10 thunk_to_STL_string_dtor_010ae400 stl Wrapper calling STL_string_dtor destructor 0x010AE410 10 thunk_to_STL_string_dtor_010ae410 stl Wrapper that calls STL_string_dtor and returns 0x010AE420 10 thunk_to_STL_string_dtor_010ae420 stl Wrapper that calls STL_string_dtor and returns 0x010AE430 10 thunk_to_STL_string_dtor_010ae430 stl Wrapper that calls STL_string_dtor and returns 0x010AE440 10 thunk_to_STL_string_dtor_010ae440 stl Wrapper that calls STL_string_dtor and returns 0x010AE450 10 thunk_to_STL_string_dtor_010ae450 stl Wrapper that calls STL_string_dtor and returns 0x010AE460 10 thunk_to_STL_string_dtor_010ae460 stl Wrapper function that calls STL_string_dtor and returns 0x010AE470 10 thunk_to_STL_string_dtor_010ae470 stl Wrapper that calls STL_string_dtor and returns 0x010AE480 10 thunk_to_STL_string_dtor_010ae480 stl Wrapper that calls STL_string_dtor and returns 0x010AE490 10 thunk_to_STL_string_dtor_010ae490 stl Wrapper that calls STL_string_dtor and returns 0x010AE4A0 10 thunk_to_STL_string_dtor_010ae4a0 stl Wrapper that calls STL_string_dtor and returns 0x010AE4B0 10 thunk_to_STL_string_dtor_010ae4b0 stl Wrapper that calls STL_string_dtor and returns 0x010AE4C0 10 thunk_to_STL_string_dtor_010ae4c0 stl Wrapper that calls STL_string_dtor and returns 0x010AE4D0 10 thunk_to_STL_string_dtor_010ae4d0 stl Wrapper that calls STL_string_dtor and returns 0x010AE4E0 10 thunk_to_STL_string_dtor_010ae4e0 stl Wrapper that calls STL_string_dtor and returns 0x010AE4F0 10 thunk_to_STL_string_dtor_010ae4f0 stl Wrapper that calls STL_string_dtor and returns 0x010AE500 10 thunk_to_STL_string_dtor_010ae500 stl Wrapper that calls STL_string_dtor and returns 0x010AE510 10 thunk_to_STL_string_dtor_010ae510 stl Wrapper that calls STL_string_dtor and returns 0x010AE520 10 thunk_to_STL_string_dtor_010ae520 stl Wrapper function that calls STL_string_dtor and returns 0x010AE530 10 thunk_to_STL_string_dtor_010ae530 stl Wrapper that calls STL_string_dtor and returns 0x010AE540 10 thunk_to_STL_string_dtor_010ae540 stl Wrapper that calls STL_string_dtor and returns 0x010AE5C0 280 atexit_unregister_window_classes_and_cleanup_010ae5c0 crt Atexit cleanup: unregisters all window classes by atom, frees class array, deletes critical section, zeros globals. SEH-protected. 0x010AE6E0 66 atexit_destroy_STL_map_010ae6e0 crt Static destructor (atexit callback) for a global STL map. Calls STL_map_destroy with SEH protection. 0x010AE730 69 tls_clear_field_b990 crt TLS destructor: zeros 3 bytes at TLS offset 0xb990. Clears thread-local encrypted string buffer. 0x010AE780 69 tls_clear_field_bc84 crt TLS destructor: zeros 8 bytes at TLS offset 0xbc84. Clears thread-local encrypted string buffer. 0x010AE7D0 69 tls_clear_field_bb04 crt TLS destructor: zeros 5 bytes at TLS offset 0xbb04. Clears thread-local encrypted string buffer. 0x010AE820 69 tls_clear_field_b6cc crt TLS destructor: zeros 0x22 bytes at TLS offset 0xb6cc. Clears thread-local encrypted string buffer. 0x010AE870 69 tls_clear_field_b998 crt TLS destructor: zeros 7 bytes at TLS offset 0xb998. Clears thread-local encrypted string buffer. 0x010AE8C0 69 tls_clear_field_bb10 crt TLS destructor: zeros 5 bytes at TLS offset 0xbb10. Clears thread-local encrypted string buffer. 0x010AE910 69 tls_clear_field_b6f4 crt TLS destructor: zeros 5 bytes at TLS offset 0xb6f4. Clears thread-local encrypted string buffer. 0x010AE960 69 tls_clear_field_b700 crt TLS destructor: zeros 3 bytes at TLS offset 0xb700. Clears thread-local encrypted string buffer. 0x010AE9B0 69 tls_clear_field_b708 crt TLS destructor: zeros 3 bytes at TLS offset 0xb708. Clears thread-local encrypted string buffer. 0x010AEA00 69 tls_clear_field_b710 crt TLS destructor: zeros 3 bytes at TLS offset 0xb710. Clears thread-local encrypted string buffer. 0x010AEA50 69 tls_clear_field_at_010aea50 crt TLS cleanup: zeros byte array at TLS offset 0xb718 (count: 10). Called at program exit. 0x010AEAA0 69 tls_clear_field_at_010aeaa0 crt TLS cleanup: zeros byte array at TLS offset 0xb728 (count: 3). Called at program exit. 0x010AEAF0 69 tls_clear_field_at_010aeaf0 crt TLS cleanup: zeros byte array at TLS offset 0xb730 (count: 0x1d). Called at program exit. 0x010AEB40 69 tls_clear_field_at_010aeb40 crt TLS cleanup: zeros byte array at TLS offset 0xb754 (count: 3). Called at program exit. 0x010AEB90 69 tls_clear_field_at_010aeb90 crt TLS cleanup: zeros byte array at TLS offset 0xb75c (count: 0x1e). Called at program exit. 0x010AEBE0 69 tls_clear_field_at_010aebe0 crt TLS cleanup: zeros byte array at TLS offset 0xb940 (count: 3). Called at program exit. 0x010AEC30 69 tls_clear_field_at_010aec30 crt TLS cleanup: zeros byte array at TLS offset 0xb948 (count: 3). Called at program exit. 0x010AEC80 69 tls_clear_field_at_010aec80 crt TLS cleanup: zeros byte array at TLS offset 0xb9a4 (count: 7). Called at program exit. 0x010AECD0 69 tls_clear_field_at_010aecd0 crt TLS cleanup: zeros byte array at TLS offset 0xbbc0 (count: 0x19). Called at program exit. 0x010AED20 69 tls_clear_field_at_010aed20 crt TLS cleanup: zeros byte array at TLS offset 0xbc90 (count: 2). Called at program exit. 0x010AED70 69 tls_clear_field_at_010aed70 crt TLS cleanup: zeros byte array at TLS offset 0xbb20 (count: 0x4b). Called at program exit. 0x010AEDC0 69 tls_clear_field_at_010aedc0 crt TLS cleanup: zeros byte array at TLS offset 0xbdcc (count: 0x37). Called at program exit. 0x010AEE10 69 tls_clear_field_at_010aee10 crt TLS cleanup: zeros byte array at TLS offset 0xbd00 (count: 0x22). Called at program exit. 0x010AEE60 69 tls_clear_field_at_010aee60 crt TLS cleanup: zeros byte array at TLS offset 0xbb7c (count: 4). Called at program exit. 0x010AEEB0 69 tls_clear_field_at_010aeeb0 crt TLS cleanup: zeros byte array at TLS offset 0xbcb4 (count: 0x1a). Called at program exit. 0x010AEF00 69 tls_clear_field_at_010aef00 crt TLS cleanup: zeros byte array at TLS offset 0xb818 (count: 5). Called at program exit. 0x010AEF50 69 tls_clear_field_at_010aef50 crt TLS cleanup: zeros byte array at TLS offset 0xb5a4 (count: 0x12). Called at program exit. 0x010AEFA0 69 tls_clear_field_at_010aefa0 crt TLS cleanup: zeros byte array at TLS offset 0xbc18 (count: 0xb). Called at program exit. 0x010AEFF0 69 tls_clear_field_at_010aeff0 crt TLS cleanup: zeros byte array at TLS offset 0xbbe0 (count: 0xb). Called at program exit. 0x010AF040 69 tls_clear_field_at_010af040 crt TLS cleanup: zeros byte array at TLS offset 0xb5f8 (count: 0x2c). Called at program exit. 0x010AF090 69 tls_clear_field_at_010af090 crt TLS cleanup: zeros byte array at TLS offset 0xbe30 (count: 0x1f). Called at program exit. 0x010AF0E0 69 tls_clear_field_at_010af0e0 crt TLS cleanup: zeros byte array at TLS offset 0xb928 (count: 7). Called at program exit. 0x010AF130 69 tls_clear_field_at_010af130 crt TLS cleanup: zeros byte array at TLS offset 0xbda8 (count: 7). Called at program exit. 0x010AF180 69 tls_clear_field_at_010af180 crt TLS cleanup: zeros byte array at TLS offset 0xbd28 (count: 7). Called at program exit. 0x010AF1D0 69 tls_clear_field_at_010af1d0 crt TLS cleanup: zeros byte array at TLS offset 0xb8d4 (count: 5). Called at program exit. 0x010AF220 69 tls_clear_field_at_010af220 crt TLS cleanup: zeros byte array at TLS offset 0xbd4c (count: 5). Called at program exit. 0x010AF270 69 tls_clear_field_at_010af270 crt TLS cleanup: zeros byte array at TLS offset 0xb9b0 (count: 0x67). Called at program exit. 0x010AF2C0 69 tls_clear_field_at_010af2c0 crt TLS cleanup: zeros byte array at TLS offset 0xb5e0 (count: 0x13). Called at program exit. 0x010AF310 69 tls_clear_field_at_010af310 crt TLS cleanup: zeros byte array at TLS offset 0xbb70 (count: 7). Called at program exit. 0x010AF360 69 tls_clear_field_at_010af360 crt TLS cleanup: zeros byte array at TLS offset 0xb780 (count: 0x10). Called at program exit. 0x010AF3B0 69 tls_clear_field_at_010af3b0 crt TLS cleanup: zeros a byte array in thread-local storage. Called at program exit. 0x010AF400 69 tls_clear_field_at_010af400 crt TLS cleanup: zeros byte array at TLS offset 0xb7b0 (count: 9). Called at program exit. 0x010AF450 69 tls_clear_field_at_010af450 crt TLS cleanup: zeros byte array at TLS offset 0xb7c0 (count: 0xe). Called at program exit. 0x010AF4A0 69 tls_clear_field_at_010af4a0 crt TLS cleanup: zeros byte array at TLS offset 0xb7d4 (count: 0x2c). Called at program exit. 0x010AF4F0 69 tls_clear_field_at_010af4f0 crt TLS cleanup: zeros byte array at TLS offset 0xb808 (count: 8). Called at program exit. 0x010AF540 69 tls_clear_field_at_010af540 crt TLS cleanup: zeros byte array at TLS offset 0xb5bc (count: 0x1e). Called at program exit. 0x010AF590 69 tls_clear_field_at_010af590 crt TLS cleanup: zeros byte array at TLS offset 0xbc98 (count: 0x15). Called at program exit. 0x010AF5E0 69 tls_clear_field_at_010af5e0 crt TLS cleanup: zeros byte array at TLS offset 0xb950 (count: 3). Called at program exit. 0x010AF630 69 tls_clear_field_at_010af630 crt TLS cleanup: zeros byte array at TLS offset 0xbcd4 (count: 0xd). Called at program exit. 0x010AF680 69 tls_clear_field_at_010af680 crt TLS cleanup: zeros byte array at TLS offset 0xb824 (count: 5). Called at program exit. 0x010AF6D0 69 tls_clear_field_at_010af6d0 crt TLS cleanup: zeros byte array at TLS offset 0xbe08 (count: 0x21). Called at program exit. 0x010AF720 69 tls_clear_field_at_010af720 crt TLS cleanup: zeros byte array at TLS offset 0xb62c (count: 0x2b). Called at program exit. 0x010AF770 69 tls_clear_field_at_010af770 crt TLS cleanup: zeros byte array at TLS offset 0xbb88 (count: 4). Called at program exit. 0x010AF7C0 69 tls_clear_field_at_010af7c0 crt TLS cleanup: zeros byte array at TLS offset 0xba1c (count: 5). Called at program exit. 0x010AF810 69 tls_clear_field_at_010af810 crt TLS cleanup: zeros byte array at TLS offset 0xb934 (count: 5). Called at program exit. 0x010AF860 69 tls_clear_field_at_010af860 crt TLS cleanup: zeros byte array at TLS offset 0xbdb4 (count: 7). Called at program exit. 0x010AF8B0 69 tls_clear_field_at_010af8b0 crt TLS cleanup: zeros byte array at TLS offset 0xbd34 (count: 7). Called at program exit. 0x010AF900 69 tls_clear_field_at_010af900 crt TLS cleanup: zeros byte array at TLS offset 0xb8e0 (count: 5). Called at program exit. 0x010AF950 69 tls_clear_field_at_010af950 crt TLS cleanup: zeros byte array at TLS offset 0xbe54 (count: 0x1f). Called at program exit. 0x010AF9A0 69 tls_clear_field_at_010af9a0 crt TLS cleanup: zeros byte array at TLS offset 0xbd58 (count: 0x15). Called at program exit. 0x010AF9F0 69 tls_clear_field_at_010af9f0 crt TLS cleanup: zeros byte array at TLS offset 0xbc24 (count: 0xb). Called at program exit. 0x010AFA40 69 tls_clear_field_at_010afa40 crt TLS cleanup: zeros byte array at TLS offset 0xbbec (count: 8). Called at program exit. 0x010AFA90 69 tls_clear_field_at_010afa90 crt TLS cleanup: zeros byte array at TLS offset 0xb958 (count: 3). Called at program exit. 0x010AFAE0 69 tls_clear_field_at_010afae0 crt TLS cleanup: zeros byte array at TLS offset 0xb830 (count: 5). Called at program exit. 0x010AFB30 69 tls_clear_field_at_010afb30 crt TLS cleanup: zeros byte array at TLS offset 0xbce8 (count: 0x10). Called at program exit. 0x010AFB80 69 tls_clear_field_at_010afb80 crt TLS cleanup: zeros byte array at TLS offset 0xbc30 (count: 0xe). Called at program exit. 0x010AFBD0 69 tls_clear_field_at_010afbd0 crt TLS cleanup: zeros byte array at TLS offset 0xba28 (count: 0x17). Called at program exit. 0x010AFC20 69 tls_clear_field_at_010afc20 crt TLS cleanup: zeros byte array at TLS offset 0xbdc0 (count: 7). Called at program exit. 0x010AFC70 69 tls_clear_field_at_010afc70 crt TLS cleanup: zeros byte array at TLS offset 0xbd40 (count: 7). Called at program exit. 0x010AFCC0 69 tls_clear_field_at_010afcc0 crt TLS cleanup: zeros byte array at TLS offset 0xb8ec (count: 9). Called at program exit. 0x010AFD10 69 tls_clear_field_at_010afd10 crt TLS cleanup: zeros byte array at TLS offset 0xbd74 (count: 0x15). Called at program exit. 0x010AFD60 69 tls_clear_field_at_010afd60 crt TLS cleanup: zeros byte array at TLS offset 0xbbf8 (count: 5). Called at program exit. 0x010AFDB0 69 tls_clear_field_at_010afdb0 crt TLS cleanup: zeros byte array at TLS offset 0xbb94 (count: 4). Called at program exit. 0x010AFE00 69 tls_clear_field_at_010afe00 crt TLS cleanup: zeros byte array at TLS offset 0xbe78 (count: 0xf). Called at program exit. 0x010AFE50 69 tls_clear_field_at_010afe50 crt TLS cleanup: zeros byte array at TLS offset 0xb65c (count: 0xd). Called at program exit. 0x010AFEA0 69 tls_clear_field_at_010afea0 crt TLS cleanup: zeros byte array at TLS offset 0xb960 (count: 3). Called at program exit. 0x010AFEF0 69 tls_clear_field_at_010afef0 crt TLS cleanup: zeros byte array at TLS offset 0xb83c (count: 0x3d). Called at program exit. 0x010AFF40 69 tls_clear_field_at_010aff40 crt TLS cleanup: zeros byte array at TLS offset 0xbc00 (count: 8). Called at program exit. 0x010AFF90 69 tls_clear_field_at_010aff90 crt TLS cleanup: zeros byte array at TLS offset 0xbe8c (count: 0xf). Called at program exit. 0x010AFFE0 69 tls_clear_field_at_010affe0 crt TLS cleanup: zeros byte array at TLS offset 0xba44 (count: 5). Called at program exit. 0x010B0030 69 tls_clear_field_at_010b0030 crt TLS cleanup: zeros byte array at TLS offset 0xbc40 (count: 8). Called at program exit. 0x010B0080 69 tls_clear_field_at_010b0080 crt TLS cleanup: zeros byte array at TLS offset 0xbba0 (count: 4). Called at program exit. 0x010B00D0 69 tls_clear_field_at_010b00d0 crt TLS cleanup: zeros byte array at TLS offset 0xb8fc (count: 9). Called at program exit. 0x010B0120 69 tls_clear_field_at_010b0120 crt TLS cleanup: zeros byte array at TLS offset 0xbd90 (count: 5). Called at program exit. 0x010B0170 69 tls_clear_field_at_010b0170 crt TLS cleanup: zeros byte array at TLS offset 0xb670 (count: 10). Called at program exit. 0x010B01C0 69 tls_clear_field_at_010b01c0 crt TLS cleanup: zeros byte array at TLS offset 0xb968 (count: 3). Called at program exit. 0x010B0210 69 tls_clear_field_at_010b0210 crt TLS cleanup: zeros byte array at TLS offset 0xb880 (count: 5). Called at program exit. 0x010B0260 69 tls_clear_field_at_010b0260 crt TLS cleanup: zeros byte array at TLS offset 0xbea0 (count: 0xe). Called at program exit. 0x010B02B0 69 tls_clear_field_at_010b02b0 crt TLS cleanup: zeros byte array at TLS offset 0xba50 (count: 0x16). Called at program exit. 0x010B0300 69 tls_clear_field_at_010b0300 crt TLS cleanup: zeros byte array at TLS offset 0xb680 (count: 0xb). Called at program exit. 0x010B0350 69 tls_clear_field_at_010b0350 crt TLS cleanup: zeros byte array at TLS offset 0xbc4c (count: 5). Called at program exit. 0x010B03A0 69 tls_clear_field_at_010b03a0 crt TLS cleanup: zeros byte array at TLS offset 0xbbac (count: 4). Called at program exit. 0x010B03F0 69 tls_clear_field_at_010b03f0 crt TLS cleanup: zeros byte array at TLS offset 0xb90c (count: 0xc). Called at program exit. 0x010B0440 69 tls_clear_field_at_010b0440 crt TLS cleanup: zeros byte array at TLS offset 0xbc0c (count: 0xb). Called at program exit. 0x010B0490 69 tls_clear_field_at_010b0490 crt TLS cleanup: zeros byte array at TLS offset 0xbd9c (count: 6). Called at program exit. 0x010B04E0 69 tls_clear_field_at_010b04e0 crt TLS cleanup: zeros byte array at TLS offset 0xb970 (count: 3). Called at program exit. 0x010B0530 69 tls_clear_field_at_010b0530 crt TLS cleanup: zeros byte array at TLS offset 0xb88c (count: 0x36). Called at program exit. 0x010B0580 69 tls_clear_field_at_010b0580 crt TLS cleanup: zeros byte array at TLS offset 0xba6c (count: 0x30). Called at program exit. 0x010B05D0 69 tls_clear_field_at_010b05d0 crt TLS cleanup: zeros byte array at TLS offset 0xbc54 (count: 8). Called at program exit. 0x010B0620 69 tls_clear_field_at_010b0620 crt TLS cleanup: zeros byte array at TLS offset 0xbbb8 (count: 2). Called at program exit. 0x010B0670 69 tls_clear_field_at_010b0670 crt TLS cleanup: zeros byte array at TLS offset 0xb68c (count: 0xb). Called at program exit. 0x010B06C0 69 tls_clear_field_at_010b06c0 crt TLS cleanup: zeros byte array at TLS offset 0xb920 (count: 3). Called at program exit. 0x010B0710 69 tls_clear_field_at_010b0710 crt TLS cleanup: zeros byte array at TLS offset 0xb978 (count: 3). Called at program exit. 0x010B0760 69 tls_clear_field_at_010b0760 crt TLS cleanup: zeros byte array at TLS offset 0xb8c8 (count: 5). Called at program exit. 0x010B07B0 69 tls_clear_field_at_010b07b0 crt TLS cleanup: zeros byte array at TLS offset 0xbc60 (count: 0xe). Called at program exit. 0x010B0800 69 tls_clear_field_at_010b0800 crt TLS cleanup: zeros byte array at TLS offset 0xbaa4 (count: 5). Called at program exit. 0x010B0850 69 tls_clear_field_at_010b0850 crt TLS cleanup: zeros byte array at TLS offset 0xb698 (count: 6). Called at program exit. 0x010B08A0 69 tls_clear_field_at_010b08a0 crt TLS cleanup: zeros byte array at TLS offset 0xb980 (count: 3). Called at program exit. 0x010B08F0 69 tls_clear_field_at_010b08f0 crt TLS cleanup: zeros byte array at TLS offset 0xbab0 (count: 0x41). Called at program exit. 0x010B0940 69 tls_clear_field_at_010b0940 crt TLS cleanup: zeros byte array at TLS offset 0xbc70 (count: 8). Called at program exit. 0x010B0990 69 tls_clear_field_at_010b0990 crt TLS cleanup: zeros byte array at TLS offset 0xb6a4 (count: 0x1a). Called at program exit. 0x010B09E0 69 tls_clear_field_at_010b09e0 crt TLS cleanup: zeros byte array at TLS offset 0xb988 (count: 3). Called at program exit. 0x010B0A30 69 tls_clear_field_at_010b0a30 crt TLS cleanup: zeros byte array at TLS offset 0xbaf8 (count: 5). Called at program exit. 0x010B0A80 69 tls_clear_field_at_010b0a80 crt TLS cleanup: zeros byte array at TLS offset 0xbc7c (count: 5). Called at program exit. 0x010B0AD0 69 tls_clear_field_at_010b0ad0 crt TLS cleanup: zeros byte array at TLS offset 0xb6c4 (count: 3). Called at program exit. 0x010B0B20 10 thunk_to_STL_string_dtor_010b0b20 stl Wrapper that calls STL_string_dtor and returns 0x010B0B30 10 thunk_to_STL_string_dtor_010b0b30 stl Wrapper that calls STL_string_dtor and returns 0x010B0B40 10 thunk_to_STL_string_dtor_010b0b40 stl Wrapper that calls STL_string_dtor and returns 0x010B0B50 10 thunk_to_STL_string_dtor_010b0b50 stl Wrapper that calls STL_string_dtor and returns 0x010B0B60 10 thunk_to_STL_string_dtor_010b0b60 stl Wrapper that calls STL_string_dtor and returns 0x010B0B70 10 thunk_to_STL_string_dtor_010b0b70 stl Wrapper that calls STL_string_dtor and returns 0x010B0B80 10 thunk_to_STL_string_dtor_010b0b80 stl Wrapper that calls STL_string_dtor and returns 0x010B0B90 10 thunk_to_STL_string_dtor_010b0b90 stl Wrapper that calls STL_string_dtor and returns 0x010B0BA0 10 thunk_to_STL_string_dtor_010b0ba0 stl Wrapper that calls STL_string_dtor and returns 0x010B0BB0 10 thunk_to_STL_string_dtor_010b0bb0 stl Wrapper that calls STL_string_dtor and returns 0x010B0BC0 10 thunk_to_STL_string_dtor_010b0bc0 stl Wrapper that calls STL_string_dtor and returns 0x010B0BD0 10 thunk_to_STL_string_dtor_010b0bd0 stl Wrapper that calls STL_string_dtor and returns 0x010B0BE0 10 thunk_to_STL_string_dtor_010b0be0 stl Wrapper that calls STL_string_dtor and returns 0x010B0BF0 10 thunk_to_STL_string_dtor_010b0bf0 stl Wrapper that calls STL_string_dtor and returns 0x010B0C00 10 thunk_to_STL_string_dtor_010b0c00 stl Wrapper that calls STL_string_dtor and returns 0x010B0C10 10 thunk_to_STL_string_dtor_010b0c10 stl Wrapper that calls STL_string_dtor and returns 0x010B0C20 10 thunk_to_STL_string_dtor_010b0c20 stl Wrapper that calls STL_string_dtor and returns 0x010B0C30 10 thunk_to_STL_string_dtor_010b0c30 stl Wrapper that calls STL_string_dtor and returns 0x010B0C40 10 thunk_to_STL_string_dtor_010b0c40 stl Wrapper that calls STL_string_dtor and returns 0x010B0C50 10 thunk_to_STL_string_dtor_010b0c50 stl Wrapper that calls STL_string_dtor and returns 0x010B0C60 10 thunk_to_STL_string_dtor_010b0c60 stl Wrapper that calls STL_string_dtor and returns 0x010B0C70 10 thunk_to_STL_string_dtor_010b0c70 stl Wrapper that calls STL_string_dtor and returns 0x010B0C80 10 thunk_to_STL_string_dtor_010b0c80 stl Wrapper that calls STL_string_dtor and returns 0x010B0C90 10 thunk_to_STL_string_dtor_010b0c90 stl Wrapper that calls STL_string_dtor and returns 0x010B0CA0 10 thunk_to_STL_string_dtor_010b0ca0 stl Wrapper that calls STL_string_dtor and returns 0x010B0D20 280 atexit_unregister_window_classes_010b0d20 crt Atexit callback: unregisters all window class atoms, frees atom array, deletes critical section. UI cleanup at exit. 0x010B0E40 66 seh_STL_map_destroy_010b0e40 game_core SEH wrapper calling STL_map_destroy. Atexit/destructor callback for map cleanup. 0x010B0E90 10 thunk_to_STL_string_dtor_010b0e90 stl Wrapper that calls STL_string_dtor and returns 0x010B0EA0 66 seh_CRenderPipeline_destroy_010b0ea0 game_core SEH wrapper calling CRenderPipeline__destroy_linked_list_and_vector. Render pipeline cleanup. 0x010B0EF0 10 thunk_to_STL_string_dtor_010b0ef0 stl Wrapper that calls STL_string_dtor and returns 0x010B0F00 10 thunk_to_STL_string_dtor_010b0f00 stl Wrapper that calls STL_string_dtor and returns 0x010B0F10 10 thunk_to_STL_string_dtor_010b0f10 stl Wrapper that calls STL_string_dtor and returns 0x010B0F20 10 thunk_to_STL_string_dtor_010b0f20 stl Wrapper that calls STL_string_dtor and returns 0x010B0F30 10 thunk_to_STL_string_dtor_010b0f30 stl Wrapper that calls STL_string_dtor and returns 0x010B0F40 10 thunk_to_STL_string_dtor_010b0f40 stl Wrapper that calls STL_string_dtor and returns 0x010B0F50 10 thunk_to_STL_string_dtor_010b0f50 stl Wrapper function that calls STL_string_dtor and returns 0x010B0F60 10 thunk_to_STL_string_dtor_010b0f60 stl Wrapper that calls STL_string_dtor and returns 0x010B0F70 10 thunk_to_STL_string_dtor_010b0f70 stl Wrapper that calls STL_string_dtor and returns 0x010B0F80 10 thunk_to_STL_string_dtor_010b0f80 stl Wrapper that calls STL_string_dtor and returns 0x010B0F90 10 thunk_to_STL_string_dtor_010b0f90 stl Wrapper that calls STL_string_dtor and returns 0x010B0FA0 10 thunk_to_STL_string_dtor_010b0fa0 stl Wrapper that calls STL_string_dtor and returns 0x010B0FB0 10 thunk_to_STL_string_dtor_010b0fb0 stl Wrapper that calls STL_string_dtor and returns 0x010B0FC0 10 thunk_to_STL_string_dtor_010b0fc0 stl Wrapper that calls STL_string_dtor and returns 0x010B0FD0 10 thunk_to_STL_string_dtor_010b0fd0 stl Wrapper that calls STL_string_dtor and returns 0x010B0FE0 10 thunk_to_STL_string_dtor_010b0fe0 stl Wrapper that calls STL_string_dtor and returns 0x010B0FF0 10 thunk_to_STL_string_dtor_010b0ff0 stl Wrapper that calls STL_string_dtor and returns 0x010B1000 10 thunk_to_STL_string_dtor_010b1000 stl Wrapper that calls STL_string_dtor and returns 0x010B1010 10 thunk_to_STL_string_dtor_010b1010 stl Wrapper that calls STL_string_dtor and returns 0x010B1020 10 thunk_to_STL_string_dtor_010b1020 stl Wrapper calling STL string destructor 0x010B1030 10 thunk_to_STL_string_dtor_010b1030 stl Wrapper that calls STL_string_dtor and returns 0x010B1040 10 thunk_to_STL_string_dtor_010b1040 stl Wrapper that calls STL_string_dtor and returns 0x010B1050 10 thunk_to_STL_string_dtor_010b1050 stl Wrapper function that calls STL_string_dtor and returns 0x010B1060 10 thunk_to_STL_string_dtor_010b1060 stl Wrapper that calls STL_string_dtor and returns 0x010B1070 10 thunk_to_STL_string_dtor_010b1070 stl Wrapper that calls STL_string_dtor and returns 0x010B10F0 280 atexit_unregister_window_classes_010b10f0 crt Atexit callback: unregisters all window class atoms, frees atom array, deletes critical section. UI cleanup at exit. 0x010B1210 66 seh_STL_map_destroy_010b1210 game_core SEH wrapper calling STL_map_destroy. Atexit/destructor callback for map cleanup. 0x010B1260 66 seh_CRenderPipeline_destroy_010b1260 game_core SEH wrapper calling CRenderPipeline__destroy_linked_list_and_vector. Render pipeline cleanup. 0x010B12B0 10 thunk_to_STL_string_dtor_010b12b0 stl Wrapper that calls STL_string_dtor and returns 0x010B12C0 10 thunk_to_STL_string_dtor_010b12c0 stl Wrapper that calls STL_string_dtor and returns 0x010B12D0 10 thunk_to_STL_string_dtor_010b12d0 stl Wrapper that calls STL_string_dtor and returns 0x010B12E0 10 thunk_to_STL_string_dtor_010b12e0 stl Wrapper that calls STL_string_dtor and returns 0x010B12F0 10 thunk_to_STL_string_dtor_010b12f0 stl Wrapper that calls STL_string_dtor and returns 0x010B1300 10 thunk_to_STL_string_dtor_010b1300 stl Wrapper that calls STL_string_dtor and returns 0x010B1310 10 thunk_to_STL_string_dtor_010b1310 stl Wrapper that calls STL_string_dtor and returns 0x010B1320 10 thunk_to_STL_string_dtor_010b1320 stl Wrapper that calls STL_string_dtor and returns 0x010B1330 10 thunk_to_STL_string_dtor_010b1330 stl Wrapper that calls STL_string_dtor and returns 0x010B1340 10 thunk_to_STL_string_dtor_010b1340 stl Wrapper that calls STL_string_dtor and returns 0x010B1350 10 thunk_to_STL_string_dtor_010b1350 stl Wrapper that calls STL_string_dtor and returns 0x010B1360 10 thunk_to_STL_string_dtor_010b1360 stl Wrapper that calls STL_string_dtor and returns 0x010B1370 10 thunk_to_STL_string_dtor_010b1370 stl Wrapper that calls STL_string_dtor and returns 0x010B1380 10 thunk_to_STL_string_dtor_010b1380 stl Wrapper that calls STL_string_dtor and returns 0x010B1390 10 thunk_to_STL_string_dtor_010b1390 stl Wrapper that calls STL_string_dtor and returns 0x010B13A0 10 thunk_to_STL_string_dtor_010b13a0 stl Wrapper that calls STL_string_dtor and returns 0x010B13B0 10 thunk_to_STL_string_dtor_010b13b0 stl Wrapper that calls STL_string_dtor and returns 0x010B13C0 10 thunk_to_STL_string_dtor_010b13c0 stl Wrapper that calls STL_string_dtor and returns 0x010B13D0 10 thunk_to_STL_string_dtor_010b13d0 stl Wrapper that calls STL_string_dtor and returns 0x010B13E0 10 thunk_to_STL_string_dtor_010b13e0 stl Wrapper that calls STL_string_dtor and returns 0x010B13F0 10 thunk_to_STL_string_dtor_010b13f0 stl Wrapper that calls STL_string_dtor and returns 0x010B1400 10 thunk_to_STL_string_dtor_010b1400 stl Wrapper that calls STL_string_dtor and returns 0x010B1410 10 thunk_to_STL_string_dtor_010b1410 stl Wrapper that calls STL_string_dtor and returns 0x010B1420 10 thunk_to_STL_string_dtor_010b1420 stl Wrapper that calls STL_string_dtor and returns 0x010B1430 10 thunk_to_STL_string_dtor_010b1430 stl Wrapper that calls STL_string_dtor and returns 0x010B14B0 280 atexit_unregister_window_classes_010b14b0 crt Atexit callback: unregisters all window class atoms, frees atom array, deletes critical section. UI cleanup at exit. 0x010B15D0 66 seh_STL_map_destroy_010b15d0 game_core SEH wrapper calling STL_map_destroy. Atexit/destructor callback for map cleanup. 0x010B1620 66 seh_CRenderPipeline_destroy_010b1620 game_core SEH wrapper calling CRenderPipeline__destroy_linked_list_and_vector. Render pipeline cleanup. 0x010B1670 10 thunk_to_STL_string_dtor_010b1670 stl Wrapper function that calls STL_string_dtor and returns 0x010B1680 10 thunk_to_STL_string_dtor_010b1680 stl Wrapper that calls STL_string_dtor and returns 0x010B1690 10 thunk_to_STL_string_dtor_010b1690 stl Wrapper that calls STL_string_dtor and returns 0x010B16A0 10 thunk_to_STL_string_dtor_010b16a0 stl Wrapper that calls STL_string_dtor and returns 0x010B16B0 10 thunk_to_STL_string_dtor_010b16b0 stl Wrapper that calls STL_string_dtor and returns 0x010B16C0 10 thunk_to_STL_string_dtor_010b16c0 stl Wrapper that calls STL_string_dtor and returns 0x010B16D0 10 thunk_to_STL_string_dtor_010b16d0 stl Wrapper that calls STL_string_dtor and returns 0x010B16E0 10 thunk_to_STL_string_dtor_010b16e0 stl Wrapper that calls STL_string_dtor and returns 0x010B16F0 10 thunk_to_STL_string_dtor_010b16f0 stl Wrapper that calls STL_string_dtor and returns 0x010B1700 10 thunk_to_STL_string_dtor_010b1700 stl Wrapper that calls STL_string_dtor and returns 0x010B1710 10 thunk_to_STL_string_dtor_010b1710 stl Wrapper that calls STL_string_dtor and returns 0x010B1720 10 thunk_to_STL_string_dtor_010b1720 stl Wrapper that calls STL_string_dtor and returns 0x010B1730 10 thunk_to_STL_string_dtor_010b1730 stl Wrapper that calls STL_string_dtor and returns 0x010B1740 10 thunk_to_STL_string_dtor_010b1740 stl Wrapper that calls STL_string_dtor and returns 0x010B1750 10 thunk_to_STL_string_dtor_010b1750 stl Wrapper that calls STL_string_dtor and returns 0x010B1760 10 thunk_to_STL_string_dtor_010b1760 stl Wrapper that calls STL_string_dtor and returns 0x010B1770 10 thunk_to_STL_string_dtor_010b1770 stl Wrapper that calls STL_string_dtor and returns 0x010B1780 10 thunk_to_STL_string_dtor_010b1780 stl Wrapper that calls STL_string_dtor and returns 0x010B1790 10 thunk_to_STL_string_dtor_010b1790 stl Wrapper that calls STL_string_dtor and returns 0x010B17A0 10 thunk_to_STL_string_dtor_010b17a0 stl Wrapper that calls STL_string_dtor and returns 0x010B17B0 10 thunk_to_STL_string_dtor_010b17b0 stl Wrapper that calls STL_string_dtor and returns 0x010B17C0 10 thunk_to_STL_string_dtor_010b17c0 stl Wrapper that calls STL_string_dtor and returns 0x010B17D0 10 thunk_to_STL_string_dtor_010b17d0 stl Wrapper that calls STL_string_dtor and returns 0x010B17E0 10 thunk_to_STL_string_dtor_010b17e0 stl Wrapper that calls STL_string_dtor and returns 0x010B17F0 10 thunk_to_STL_string_dtor_010b17f0 stl Wrapper function that calls STL_string_dtor and returns 0x010B1870 280 atexit_unregister_window_classes_010b1870 crt Atexit callback: unregisters all window class atoms, frees atom array, deletes critical section. UI cleanup at exit. 0x010B1990 66 seh_STL_map_destroy_010b1990 game_core SEH wrapper calling STL_map_destroy. Atexit/destructor callback for map cleanup. 0x010B19E0 66 seh_CRenderPipeline_destroy_010b19e0 game_core SEH wrapper calling CRenderPipeline__destroy_linked_list_and_vector. Render pipeline cleanup. 0x010B1A30 10 thunk_to_STL_string_dtor_010b1a30 stl Wrapper that calls STL_string_dtor and returns 0x010B1A40 10 thunk_to_STL_string_dtor_010b1a40 stl Wrapper that calls STL_string_dtor and returns 0x010B1A50 10 thunk_to_STL_string_dtor_010b1a50 stl Wrapper that calls STL_string_dtor and returns 0x010B1A60 10 thunk_to_STL_string_dtor_010b1a60 stl Wrapper that calls STL_string_dtor and returns 0x010B1A70 10 thunk_to_STL_string_dtor_010b1a70 stl Wrapper that calls STL_string_dtor and returns 0x010B1A80 10 thunk_to_STL_string_dtor_010b1a80 stl Wrapper that calls STL_string_dtor and returns 0x010B1A90 10 thunk_to_STL_string_dtor_010b1a90 stl Wrapper that calls STL_string_dtor and returns 0x010B1AA0 10 thunk_to_STL_string_dtor_010b1aa0 stl Wrapper that calls STL_string_dtor and returns 0x010B1AB0 10 thunk_to_STL_string_dtor_010b1ab0 stl Wrapper that calls STL_string_dtor and returns 0x010B1AC0 10 thunk_to_STL_string_dtor_010b1ac0 stl Wrapper that calls STL_string_dtor and returns 0x010B1AD0 10 thunk_to_STL_string_dtor_010b1ad0 stl Wrapper that calls STL_string_dtor and returns 0x010B1AE0 10 thunk_to_STL_string_dtor_010b1ae0 stl Wrapper that calls STL_string_dtor and returns 0x010B1AF0 10 thunk_to_STL_string_dtor_010b1af0 stl Wrapper that calls STL_string_dtor and returns 0x010B1B00 10 thunk_to_STL_string_dtor_010b1b00 stl Wrapper that calls STL_string_dtor and returns 0x010B1B10 10 thunk_to_STL_string_dtor_010b1b10 stl Wrapper that calls STL_string_dtor and returns 0x010B1B20 10 thunk_to_STL_string_dtor_010b1b20 stl Wrapper that calls STL_string_dtor and returns 0x010B1B30 10 thunk_to_STL_string_dtor_010b1b30 stl Wrapper that calls STL_string_dtor and returns 0x010B1B40 10 thunk_to_STL_string_dtor_010b1b40 stl Wrapper that calls STL_string_dtor and returns 0x010B1B50 10 thunk_to_STL_string_dtor_010b1b50 stl Wrapper that calls STL_string_dtor and returns 0x010B1B60 10 thunk_to_STL_string_dtor_010b1b60 stl Wrapper that calls STL_string_dtor and returns 0x010B1B70 10 thunk_to_STL_string_dtor_010b1b70 stl Wrapper that calls STL_string_dtor and returns 0x010B1B80 10 thunk_to_STL_string_dtor_010b1b80 stl Wrapper that calls STL_string_dtor and returns 0x010B1B90 10 thunk_to_STL_string_dtor_010b1b90 stl Wrapper that calls STL_string_dtor and returns 0x010B1BA0 10 thunk_to_STL_string_dtor_010b1ba0 stl Wrapper that calls STL_string_dtor and returns 0x010B1BB0 10 thunk_to_STL_string_dtor_010b1bb0 stl Wrapper that calls STL_string_dtor and returns 0x010B1C30 280 atexit_unregister_window_classes_010b1c30 crt Atexit callback: unregisters all window class atoms, frees atom array, deletes critical section. UI cleanup at exit. 0x010B1D50 66 seh_STL_map_destroy_010b1d50 game_core SEH wrapper calling STL_map_destroy. Atexit/destructor callback for map cleanup. 0x010B1DA0 10 thunk_to_CGameMode__dtor game_core Thunk: jumps to CGameMode__dtor at 0x00dc61d0. 0x010B1DB0 10 thunk_to_STL_string_dtor_010b1db0 stl Wrapper that calls STL_string_dtor and returns 0x010B1DC0 10 thunk_to_STL_string_dtor_010b1dc0 stl Wrapper that calls STL_string_dtor and returns 0x010B1DD0 69 tls_clear_field_at_010b1dd0 crt TLS cleanup: zeros byte array at TLS offset 0xc9f0 (count: 10). Called at program exit. 0x010B1E20 69 tls_clear_field_at_010b1e20 crt TLS cleanup: zeros byte array at TLS offset 0xca00 (count: 0xe). Called at program exit. 0x010B1E70 69 tls_clear_field_at_010b1e70 crt TLS cleanup: zeros byte array at TLS offset 0xca14 (count: 0xe). Called at program exit. 0x010B1EC0 69 tls_clear_field_at_010b1ec0 crt TLS cleanup: zeros byte array at TLS offset 0xca28 (count: 0x12). Called at program exit. 0x010B1F10 69 tls_clear_field_at_010b1f10 crt TLS cleanup: zeros byte array at TLS offset 0xca40 (count: 0xe). Called at program exit. 0x010B1F60 69 tls_clear_field_at_010b1f60 crt TLS cleanup: zeros byte array at TLS offset 0xca54 (count: 0xe). Called at program exit. 0x010B1FB0 69 tls_clear_field_at_010b1fb0 crt TLS cleanup: zeros byte array at TLS offset 0xca68 (count: 10). Called at program exit. 0x010B2000 69 tls_clear_field_at_010b2000 crt TLS cleanup: zeros byte array at TLS offset 0xca78 (count: 10). Called at program exit. 0x010B2050 69 tls_clear_field_at_010b2050 crt TLS cleanup: zeros byte array at TLS offset 0xca88 (count: 10). Called at program exit. 0x010B20A0 69 tls_clear_field_at_010b20a0 crt TLS cleanup: zeros byte array at TLS offset 0xca98 (count: 0x12). Called at program exit. 0x010B20F0 69 tls_clear_field_at_010b20f0 crt TLS cleanup: zeros byte array at TLS offset 0xc168 (count: 0x1c). Called at program exit. 0x010B2140 69 tls_clear_field_at_010b2140 crt TLS cleanup: zeros byte array at TLS offset 0xc344 (count: 0xe). Called at program exit. 0x010B2190 69 tls_clear_field_at_010b2190 crt TLS cleanup: zeros byte array at TLS offset 0xbfb8 (count: 6). Called at program exit. 0x010B21E0 69 tls_clear_field_at_010b21e0 crt TLS cleanup: zeros byte array at TLS offset 0xcab0 (count: 10). Called at program exit. 0x010B2230 69 tls_clear_field_at_010b2230 crt TLS cleanup: zeros byte array at TLS offset 0xcac0 (count: 0xe). Called at program exit. 0x010B2280 69 tls_clear_field_at_010b2280 crt TLS cleanup: zeros byte array at TLS offset 0xcad4 (count: 10). Called at program exit. 0x010B22D0 69 tls_clear_field_at_010b22d0 crt TLS cleanup: zeros byte array at TLS offset 0xcae4 (count: 0xe). Called at program exit. 0x010B2320 69 tls_clear_field_at_010b2320 crt TLS cleanup: zeros byte array at TLS offset 0xcaf8 (count: 10). Called at program exit. 0x010B2370 69 tls_clear_field_at_010b2370 crt TLS cleanup: zeros byte array at TLS offset 0xcb08 (count: 0xe). Called at program exit. 0x010B23C0 69 tls_clear_field_at_010b23c0 crt TLS cleanup: zeros byte array at TLS offset 0xcb1c (count: 10). Called at program exit. 0x010B2410 69 tls_clear_field_at_010b2410 crt TLS cleanup: zeros byte array at TLS offset 0xcb2c (count: 10). Called at program exit. 0x010B2460 69 tls_clear_field_at_010b2460 crt TLS cleanup: zeros byte array at TLS offset 0xcb3c (count: 10). Called at program exit. 0x010B24B0 69 tls_clear_field_at_010b24b0 crt TLS cleanup: zeros byte array at TLS offset 0xcb4c (count: 0xe). Called at program exit. 0x010B2500 69 tls_clear_field_at_010b2500 crt TLS cleanup: zeros byte array at TLS offset 0xc18c (count: 0x24). Called at program exit. 0x010B2550 69 tls_clear_field_at_010b2550 crt TLS cleanup: zeros byte array at TLS offset 0xc358 (count: 0xe). Called at program exit. 0x010B25A0 69 tls_clear_field_at_010b25a0 crt TLS cleanup: zeros byte array at TLS offset 0xcb60 (count: 10). Called at program exit. 0x010B25F0 69 tls_clear_field_at_010b25f0 crt TLS cleanup: zeros byte array at TLS offset 0xcb70 (count: 0xe). Called at program exit. 0x010B2640 69 tls_clear_field_at_010b2640 crt TLS cleanup: zeros byte array at TLS offset 0xcb84 (count: 10). Called at program exit. 0x010B2690 69 tls_clear_field_at_010b2690 crt TLS cleanup: zeros byte array at TLS offset 0xcb94 (count: 0xe). Called at program exit. 0x010B26E0 69 tls_clear_field_at_010b26e0 crt TLS cleanup: zeros byte array at TLS offset 0xcba8 (count: 10). Called at program exit. 0x010B2730 69 tls_clear_field_at_010b2730 crt TLS cleanup: zeros byte array at TLS offset 0xcbb8 (count: 10). Called at program exit. 0x010B2780 69 tls_clear_field_at_010b2780 crt TLS cleanup: zeros byte array at TLS offset 0xcbc8 (count: 10). Called at program exit. 0x010B27D0 69 tls_clear_field_at_010b27d0 crt TLS cleanup: zeros byte array at TLS offset 0xcbd8 (count: 0x12). Called at program exit. 0x010B2820 69 tls_clear_field_at_010b2820 crt TLS cleanup: zeros byte array at TLS offset 0xcbf0 (count: 0xe). Called at program exit. 0x010B2870 69 tls_clear_field_at_010b2870 crt TLS cleanup: zeros byte array at TLS offset 0xcc04 (count: 0xe). Called at program exit. 0x010B28C0 69 tls_clear_field_at_010b28c0 crt TLS cleanup: zeros byte array at TLS offset 0xc1b8 (count: 0x24). Called at program exit. 0x010B2910 69 tls_clear_field_at_010b2910 crt TLS cleanup: zeros byte array at TLS offset 0xc36c (count: 0xe). Called at program exit. 0x010B2960 69 tls_clear_field_at_010b2960 crt TLS cleanup: zeros byte array at TLS offset 0xcc18 (count: 10). Called at program exit. 0x010B29B0 69 tls_clear_field_at_010b29b0 crt TLS cleanup: zeros byte array at TLS offset 0xcc28 (count: 0xe). Called at program exit. 0x010B2A00 69 tls_clear_field_at_010b2a00 crt TLS cleanup: zeros byte array at TLS offset 0xcc3c (count: 0x1c). Called at program exit. 0x010B2A50 69 tls_clear_field_at_010b2a50 crt TLS cleanup: zeros byte array at TLS offset 0xcc60 (count: 0x16). Called at program exit. 0x010B2AA0 69 tls_clear_field_at_010b2aa0 crt TLS cleanup: zeros byte array at TLS offset 0xcc7c (count: 10). Called at program exit. 0x010B2AF0 69 tls_clear_field_at_010b2af0 crt TLS cleanup: zeros byte array at TLS offset 0xcc8c (count: 0xe). Called at program exit. 0x010B2B40 69 tls_clear_field_at_010b2b40 crt TLS cleanup: zeros byte array at TLS offset 0xcca0 (count: 10). Called at program exit. 0x010B2B90 69 tls_clear_field_at_010b2b90 crt TLS cleanup: zeros byte array at TLS offset 0xccb0 (count: 0x12). Called at program exit. 0x010B2BE0 69 tls_clear_field_at_010b2be0 crt TLS cleanup: zeros byte array at TLS offset 0xccc8 (count: 10). Called at program exit. 0x010B2C30 69 tls_clear_field_at_010b2c30 crt TLS cleanup: zeros byte array at TLS offset 0xccd8 (count: 10). Called at program exit. 0x010B2C80 69 tls_clear_field_at_010b2c80 crt TLS cleanup: zeros byte array at TLS offset 0xc1e4 (count: 0x26). Called at program exit. 0x010B2CD0 69 tls_clear_field_at_010b2cd0 crt TLS cleanup: zeros byte array at TLS offset 0xc380 (count: 10). Called at program exit. 0x010B2D20 69 tls_clear_field_at_010b2d20 crt TLS cleanup: zeros byte array at TLS offset 0xcce8 (count: 0x22). Called at program exit. 0x010B2D70 69 tls_clear_field_at_010b2d70 crt TLS cleanup: zeros byte array at TLS offset 0xcd10 (count: 0xe). Called at program exit. 0x010B2DC0 69 tls_clear_field_at_010b2dc0 crt TLS cleanup: zeros byte array at TLS offset 0xcd24 (count: 10). Called at program exit. 0x010B2E10 69 tls_clear_field_at_010b2e10 crt TLS cleanup: zeros byte array at TLS offset 0xcd34 (count: 0xe). Called at program exit. 0x010B2E60 69 tls_clear_field_at_010b2e60 crt TLS cleanup: zeros byte array at TLS offset 0xcd48 (count: 10). Called at program exit. 0x010B2EB0 69 tls_clear_field_at_010b2eb0 crt TLS cleanup: zeros byte array at TLS offset 0xcd58 (count: 0xe). Called at program exit. 0x010B2F00 69 tls_clear_field_at_010b2f00 crt TLS cleanup: zeros byte array at TLS offset 0xcd6c (count: 10). Called at program exit. 0x010B2F50 69 tls_clear_field_at_010b2f50 crt TLS cleanup: zeros byte array at TLS offset 0xcd7c (count: 10). Called at program exit. 0x010B2FA0 69 tls_clear_field_at_010b2fa0 crt TLS cleanup: zeros byte array at TLS offset 0xcd8c (count: 10). Called at program exit. 0x010B2FF0 69 tls_clear_field_at_010b2ff0 crt TLS cleanup: zeros byte array at TLS offset 0xcd9c (count: 0x12). Called at program exit. 0x010B3040 69 tls_clear_field_at_010b3040 crt TLS cleanup: zeros byte array at TLS offset 0xc390 (count: 0xe). Called at program exit. 0x010B3090 69 tls_clear_field_at_010b3090 crt TLS cleanup: zeros byte array at TLS offset 0xcdb4 (count: 0xe). Called at program exit. 0x010B30E0 69 tls_clear_field_at_010b30e0 crt TLS cleanup: zeros byte array at TLS offset 0xcdc8 (count: 0xe). Called at program exit. 0x010B3130 69 tls_clear_field_at_010b3130 crt TLS cleanup: zeros byte array at TLS offset 0xcddc (count: 10). Called at program exit. 0x010B3180 69 tls_clear_field_at_010b3180 crt TLS cleanup: zeros byte array at TLS offset 0xcdec (count: 0xe). Called at program exit. 0x010B31D0 69 tls_clear_field_at_010b31d0 crt TLS cleanup: zeros byte array at TLS offset 0xce00 (count: 0x1c). Called at program exit. 0x010B3220 69 tls_clear_field_at_010b3220 crt TLS cleanup: zeros byte array at TLS offset 0xce24 (count: 0x16). Called at program exit. 0x010B3270 69 tls_clear_field_at_010b3270 crt TLS cleanup: zeros byte array at TLS offset 0xce40 (count: 10). Called at program exit. 0x010B32C0 69 tls_clear_field_at_010b32c0 crt TLS cleanup: zeros byte array at TLS offset 0xce50 (count: 0xe). Called at program exit. 0x010B3310 69 tls_clear_field_at_010b3310 crt TLS cleanup: zeros byte array at TLS offset 0xce64 (count: 10). Called at program exit. 0x010B3360 69 tls_clear_field_at_010b3360 crt TLS cleanup: zeros byte array at TLS offset 0xce74 (count: 0x12). Called at program exit. 0x010B33B0 69 tls_clear_field_at_010b33b0 crt TLS cleanup: zeros byte array at TLS offset 0xc3a4 (count: 10). Called at program exit. 0x010B3400 69 tls_clear_field_at_010b3400 crt TLS cleanup: zeros byte array at TLS offset 0xce8c (count: 10). Called at program exit. 0x010B3450 69 tls_clear_field_at_010b3450 crt TLS cleanup: zeros byte array at TLS offset 0xce9c (count: 10). Called at program exit. 0x010B34A0 69 tls_clear_field_at_010b34a0 crt TLS cleanup: zeros byte array at TLS offset 0xceac (count: 0x22). Called at program exit. 0x010B34F0 69 tls_clear_field_at_010b34f0 crt TLS cleanup: zeros byte array at TLS offset 0xced4 (count: 0xe). Called at program exit. 0x010B3540 69 tls_clear_field_at_010b3540 crt TLS cleanup: zeros byte array at TLS offset 0xcee8 (count: 0x12). Called at program exit. 0x010B3590 69 tls_clear_field_at_010b3590 crt TLS cleanup: zeros byte array at TLS offset 0xcf00 (count: 0x12). Called at program exit. 0x010B35E0 69 tls_clear_field_at_010b35e0 crt TLS cleanup: zeros byte array at TLS offset 0xcf18 (count: 0x12). Called at program exit. 0x010B3630 69 tls_clear_field_at_010b3630 crt TLS cleanup: zeros byte array at TLS offset 0xcf30 (count: 0xe). Called at program exit. 0x010B3680 69 tls_clear_field_at_010b3680 crt TLS cleanup: zeros byte array at TLS offset 0xcf44 (count: 0xe). Called at program exit. 0x010B36D0 69 tls_clear_field_at_010b36d0 crt TLS cleanup: zeros byte array at TLS offset 0xcf58 (count: 10). Called at program exit. 0x010B3720 69 tls_clear_field_c3b4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc3b4. Clears thread-local encrypted string buffer. 0x010B3770 69 tls_clear_field_cf68 crt TLS destructor: zeros 0xe bytes at TLS offset 0xcf68. Clears thread-local encrypted string buffer. 0x010B37C0 69 tls_clear_field_cf7c crt TLS destructor: zeros 10 bytes at TLS offset 0xcf7c. Clears thread-local encrypted string buffer. 0x010B3810 69 tls_clear_field_cf8c crt TLS destructor: zeros 10 bytes at TLS offset 0xcf8c. Clears thread-local encrypted string buffer. 0x010B3860 69 tls_clear_field_cf9c crt TLS destructor: zeros 0x1c bytes at TLS offset 0xcf9c. Clears thread-local encrypted string buffer. 0x010B38B0 69 tls_clear_field_cfc0 crt TLS destructor: zeros 0x1c bytes at TLS offset 0xcfc0. Clears thread-local encrypted string buffer. 0x010B3900 69 tls_clear_field_cfe4 crt TLS destructor: zeros 0x1c bytes at TLS offset 0xcfe4. Clears thread-local encrypted string buffer. 0x010B3950 69 tls_clear_field_d008 crt TLS destructor: zeros 0x1c bytes at TLS offset 0xd008. Clears thread-local encrypted string buffer. 0x010B39A0 69 tls_clear_field_d02c crt TLS destructor: zeros 0x1c bytes at TLS offset 0xd02c. Clears thread-local encrypted string buffer. 0x010B39F0 69 tls_clear_field_d050 crt TLS destructor: zeros 0x1c bytes at TLS offset 0xd050. Clears thread-local encrypted string buffer. 0x010B3A40 69 tls_clear_field_d074 crt TLS destructor: zeros 0x1c bytes at TLS offset 0xd074. Clears thread-local encrypted string buffer. 0x010B3A90 69 tls_clear_field_c3c8 crt TLS destructor: zeros 10 bytes at TLS offset 0xc3c8. Clears thread-local encrypted string buffer. 0x010B3AE0 69 tls_clear_field_d098 crt TLS destructor: zeros 0x1c bytes at TLS offset 0xd098. Clears thread-local encrypted string buffer. 0x010B3B30 69 tls_clear_field_d0bc crt TLS destructor: zeros 0x1c bytes at TLS offset 0xd0bc. Clears thread-local encrypted string buffer. 0x010B3B80 69 tls_clear_field_d0e0 crt TLS destructor: zeros 0x1c bytes at TLS offset 0xd0e0. Clears thread-local encrypted string buffer. 0x010B3BD0 69 tls_clear_field_d104 crt TLS destructor: zeros 0x1c bytes at TLS offset 0xd104. Clears thread-local encrypted string buffer. 0x010B3C20 69 tls_clear_field_d128 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd128. Clears thread-local encrypted string buffer. 0x010B3C70 69 tls_clear_array_18_at_0xd140 crt TLS initializer callback. Zeros 18 bytes in the TLS block at offset 0xD140. 0x010B3CC0 69 tls_clear_field_d158 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd158. Clears thread-local encrypted string buffer. 0x010B3D10 69 tls_clear_field_d16c crt TLS destructor: zeros 0xe bytes at TLS offset 0xd16c. Clears thread-local encrypted string buffer. 0x010B3D60 69 tls_clear_field_d180 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd180. Clears thread-local encrypted string buffer. 0x010B3DB0 69 tls_clear_field_d194 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd194. Clears thread-local encrypted string buffer. 0x010B3E00 69 tls_clear_field_c3d8 crt TLS destructor: zeros 10 bytes at TLS offset 0xc3d8. Clears thread-local encrypted string buffer. 0x010B3E50 69 tls_clear_field_d1a8 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd1a8. Clears thread-local encrypted string buffer. 0x010B3EA0 69 tls_clear_field_d1c0 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd1c0. Clears thread-local encrypted string buffer. 0x010B3EF0 69 tls_clear_field_d1d8 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd1d8. Clears thread-local encrypted string buffer. 0x010B3F40 69 tls_clear_field_d1f0 crt TLS destructor: zeros 10 bytes at TLS offset 0xd1f0. Clears thread-local encrypted string buffer. 0x010B3F90 69 tls_clear_field_d200 crt TLS destructor: zeros 10 bytes at TLS offset 0xd200. Clears thread-local encrypted string buffer. 0x010B3FE0 69 tls_clear_field_d210 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd210. Clears thread-local encrypted string buffer. 0x010B4030 69 tls_clear_field_d22c crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd22c. Clears thread-local encrypted string buffer. 0x010B4080 69 tls_clear_field_d248 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd248. Clears thread-local encrypted string buffer. 0x010B40D0 69 tls_clear_field_d264 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd264. Clears thread-local encrypted string buffer. 0x010B4120 69 tls_clear_field_d278 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd278. Clears thread-local encrypted string buffer. 0x010B4170 69 tls_clear_field_c3e8 crt TLS destructor: zeros 10 bytes at TLS offset 0xc3e8. Clears thread-local encrypted string buffer. 0x010B41C0 69 tls_clear_field_c00c crt TLS destructor: zeros 0x1b bytes at TLS offset 0xc00c. Clears thread-local encrypted string buffer. 0x010B4210 69 tls_clear_field_e0b4 crt TLS destructor: zeros 0x11 bytes at TLS offset 0xe0b4. Clears thread-local encrypted string buffer. 0x010B4260 69 tls_clear_byte_array_0xab30 crt TLS cleanup: zeros byte array at TLS offset 0xab30 (up to 0xc bytes). Called at program exit to clear thread-local state. 0x010B42B0 69 tls_clear_byte_array_0xbfc4 crt TLS cleanup: zeros byte array at TLS offset 0xbfc4 (up to 0x20 bytes). Called at program exit to clear thread-local state. 0x010B4300 69 tls_clear_byte_array_0xc2ac crt TLS cleanup: zeros byte array at TLS offset 0xc2ac (up to 0xf bytes). Called at program exit to clear thread-local state. 0x010B4350 69 tls_clear_byte_array_0xbeb4 crt TLS cleanup: zeros byte array at TLS offset 0xbeb4 (up to 0x21 bytes). Called at program exit to clear thread-local state. 0x010B43A0 69 tls_clear_field_at_010b43a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B43F0 69 tls_clear_field_e0cc crt TLS destructor: zeros 0x19 bytes at TLS offset 0xe0cc. Clears thread-local encrypted string buffer. 0x010B4440 69 tls_clear_field_e134 crt TLS destructor: zeros 0x1b bytes at TLS offset 0xe134. Clears thread-local encrypted string buffer. 0x010B4490 69 tls_clear_field_d28c crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd28c. Clears thread-local encrypted string buffer. 0x010B44E0 69 tls_clear_field_d2a8 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd2a8. Clears thread-local encrypted string buffer. 0x010B4530 69 tls_clear_field_d2c4 crt TLS destructor: zeros 0x22 bytes at TLS offset 0xd2c4. Clears thread-local encrypted string buffer. 0x010B4580 69 tls_clear_field_d2ec crt TLS destructor: zeros 0x22 bytes at TLS offset 0xd2ec. Clears thread-local encrypted string buffer. 0x010B45D0 69 tls_clear_field_d314 crt TLS destructor: zeros 0x22 bytes at TLS offset 0xd314. Clears thread-local encrypted string buffer. 0x010B4620 69 tls_clear_field_d33c crt TLS destructor: zeros 10 bytes at TLS offset 0xd33c. Clears thread-local encrypted string buffer. 0x010B4670 69 tls_clear_field_d34c crt TLS destructor: zeros 10 bytes at TLS offset 0xd34c. Clears thread-local encrypted string buffer. 0x010B46C0 69 tls_clear_field_d35c crt TLS destructor: zeros 0xe bytes at TLS offset 0xd35c. Clears thread-local encrypted string buffer. 0x010B4710 69 tls_clear_field_d370 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd370. Clears thread-local encrypted string buffer. 0x010B4760 69 tls_clear_field_d384 crt TLS destructor: zeros 10 bytes at TLS offset 0xd384. Clears thread-local encrypted string buffer. 0x010B47B0 69 tls_clear_field_c3f8 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xc3f8. Clears thread-local encrypted string buffer. 0x010B4800 69 tls_clear_field_d394 crt TLS destructor: zeros 10 bytes at TLS offset 0xd394. Clears thread-local encrypted string buffer. 0x010B4850 69 tls_clear_field_d3a4 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd3a4. Clears thread-local encrypted string buffer. 0x010B48A0 69 tls_clear_field_d3bc crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd3bc. Clears thread-local encrypted string buffer. 0x010B48F0 69 tls_clear_field_d3d4 crt TLS destructor: zeros 10 bytes at TLS offset 0xd3d4. Clears thread-local encrypted string buffer. 0x010B4940 69 tls_clear_field_d3e4 crt TLS destructor: zeros 10 bytes at TLS offset 0xd3e4. Clears thread-local encrypted string buffer. 0x010B4990 69 tls_clear_field_d3f4 crt TLS destructor: zeros 10 bytes at TLS offset 0xd3f4. Clears thread-local encrypted string buffer. 0x010B49E0 69 tls_clear_field_d404 crt TLS destructor: zeros 10 bytes at TLS offset 0xd404. Clears thread-local encrypted string buffer. 0x010B4A30 69 tls_clear_field_d414 crt TLS destructor: zeros 10 bytes at TLS offset 0xd414. Clears thread-local encrypted string buffer. 0x010B4A80 69 tls_clear_field_d424 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd424. Clears thread-local encrypted string buffer. 0x010B4AD0 69 tls_clear_field_d438 crt TLS destructor: zeros 10 bytes at TLS offset 0xd438. Clears thread-local encrypted string buffer. 0x010B4B20 69 tls_clear_field_c410 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc410. Clears thread-local encrypted string buffer. 0x010B4B70 69 tls_clear_field_d448 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd448. Clears thread-local encrypted string buffer. 0x010B4BC0 69 tls_clear_field_d460 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd460. Clears thread-local encrypted string buffer. 0x010B4C10 69 tls_clear_field_d474 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd474. Clears thread-local encrypted string buffer. 0x010B4C60 69 tls_clear_field_d488 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd488. Clears thread-local encrypted string buffer. 0x010B4CB0 69 tls_clear_field_d4a4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd4a4. Clears thread-local encrypted string buffer. 0x010B4D00 69 tls_clear_field_d4b8 crt TLS destructor: zeros 10 bytes at TLS offset 0xd4b8. Clears thread-local encrypted string buffer. 0x010B4D50 69 tls_clear_field_d4c8 crt TLS destructor: zeros 10 bytes at TLS offset 0xd4c8. Clears thread-local encrypted string buffer. 0x010B4DA0 69 tls_clear_field_d4d8 crt TLS destructor: zeros 10 bytes at TLS offset 0xd4d8. Clears thread-local encrypted string buffer. 0x010B4DF0 69 tls_clear_field_d4e8 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd4e8. Clears thread-local encrypted string buffer. 0x010B4E40 69 tls_clear_field_d500 crt TLS destructor: zeros 10 bytes at TLS offset 0xd500. Clears thread-local encrypted string buffer. 0x010B4E90 69 tls_clear_field_c424 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc424. Clears thread-local encrypted string buffer. 0x010B4EE0 69 tls_clear_field_d510 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd510. Clears thread-local encrypted string buffer. 0x010B4F30 69 tls_clear_field_d524 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd524. Clears thread-local encrypted string buffer. 0x010B4F80 69 tls_clear_field_d538 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd538. Clears thread-local encrypted string buffer. 0x010B4FD0 69 tls_clear_field_d54c crt TLS destructor: zeros 0xe bytes at TLS offset 0xd54c. Clears thread-local encrypted string buffer. 0x010B5020 69 tls_clear_field_d560 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd560. Clears thread-local encrypted string buffer. 0x010B5070 69 tls_clear_field_d578 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd578. Clears thread-local encrypted string buffer. 0x010B50C0 69 tls_clear_field_d58c crt TLS destructor: zeros 0xe bytes at TLS offset 0xd58c. Clears thread-local encrypted string buffer. 0x010B5110 69 tls_clear_field_d5a0 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd5a0. Clears thread-local encrypted string buffer. 0x010B5160 69 tls_clear_field_d5b4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd5b4. Clears thread-local encrypted string buffer. 0x010B51B0 69 tls_clear_field_d5c8 crt TLS destructor: zeros 10 bytes at TLS offset 0xd5c8. Clears thread-local encrypted string buffer. 0x010B5200 69 tls_clear_field_c438 crt TLS destructor: zeros 10 bytes at TLS offset 0xc438. Clears thread-local encrypted string buffer. 0x010B5250 69 tls_clear_field_d5d8 crt TLS destructor: zeros 10 bytes at TLS offset 0xd5d8. Clears thread-local encrypted string buffer. 0x010B52A0 69 tls_clear_field_d5e8 crt TLS destructor: zeros 10 bytes at TLS offset 0xd5e8. Clears thread-local encrypted string buffer. 0x010B52F0 69 tls_clear_field_d5f8 crt TLS destructor: zeros 10 bytes at TLS offset 0xd5f8. Clears thread-local encrypted string buffer. 0x010B5340 69 tls_clear_field_d608 crt TLS destructor: zeros 10 bytes at TLS offset 0xd608. Clears thread-local encrypted string buffer. 0x010B5390 69 tls_clear_field_d618 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd618. Clears thread-local encrypted string buffer. 0x010B53E0 69 tls_clear_field_d634 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd634. Clears thread-local encrypted string buffer. 0x010B5430 69 tls_clear_field_d650 crt TLS destructor: zeros 10 bytes at TLS offset 0xd650. Clears thread-local encrypted string buffer. 0x010B5480 69 tls_clear_field_d660 crt TLS destructor: zeros 10 bytes at TLS offset 0xd660. Clears thread-local encrypted string buffer. 0x010B54D0 69 tls_clear_field_d670 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd670. Clears thread-local encrypted string buffer. 0x010B5520 69 tls_clear_field_d68c crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd68c. Clears thread-local encrypted string buffer. 0x010B5570 69 tls_clear_field_c448 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc448. Clears thread-local encrypted string buffer. 0x010B55C0 69 tls_clear_field_d6a8 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xd6a8. Clears thread-local encrypted string buffer. 0x010B5610 69 tls_clear_field_d6c4 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xd6c4. Clears thread-local encrypted string buffer. 0x010B5660 69 tls_clear_field_d6dc crt TLS destructor: zeros 0xc bytes at TLS offset 0xd6dc. Clears thread-local encrypted string buffer. 0x010B56B0 69 tls_clear_field_d6f0 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xd6f0. Clears thread-local encrypted string buffer. 0x010B5700 69 tls_clear_field_d708 crt TLS destructor: zeros 0xc bytes at TLS offset 0xd708. Clears thread-local encrypted string buffer. 0x010B5750 69 tls_clear_field_d71c crt TLS destructor: zeros 0x14 bytes at TLS offset 0xd71c. Clears thread-local encrypted string buffer. 0x010B57A0 69 tls_clear_field_d738 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd738. Clears thread-local encrypted string buffer. 0x010B57F0 69 tls_clear_field_d750 crt TLS destructor: zeros 0x17 bytes at TLS offset 0xd750. Clears thread-local encrypted string buffer. 0x010B5840 69 tls_clear_field_d76c crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd76c. Clears thread-local encrypted string buffer. 0x010B5890 69 tls_clear_field_d784 crt TLS destructor: zeros 0x17 bytes at TLS offset 0xd784. Clears thread-local encrypted string buffer. 0x010B58E0 69 tls_clear_field_c45c crt TLS destructor: zeros 0x1c bytes at TLS offset 0xc45c. Clears thread-local encrypted string buffer. 0x010B5930 69 tls_clear_field_d7a0 crt TLS destructor: zeros 10 bytes at TLS offset 0xd7a0. Clears thread-local encrypted string buffer. 0x010B5980 69 tls_clear_field_d7b0 crt TLS destructor: zeros 10 bytes at TLS offset 0xd7b0. Clears thread-local encrypted string buffer. 0x010B59D0 69 tls_clear_field_d7c0 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xd7c0. Clears thread-local encrypted string buffer. 0x010B5A20 69 tls_clear_field_d7d8 crt TLS destructor: zeros 0xc bytes at TLS offset 0xd7d8. Clears thread-local encrypted string buffer. 0x010B5A70 69 tls_clear_field_d7ec crt TLS destructor: zeros 0x10 bytes at TLS offset 0xd7ec. Clears thread-local encrypted string buffer. 0x010B5AC0 69 tls_clear_field_d804 crt TLS destructor: zeros 0xc bytes at TLS offset 0xd804. Clears thread-local encrypted string buffer. 0x010B5B10 69 tls_clear_field_d818 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd818. Clears thread-local encrypted string buffer. 0x010B5B60 69 tls_clear_field_d830 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd830. Clears thread-local encrypted string buffer. 0x010B5BB0 69 tls_clear_field_d848 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd848. Clears thread-local encrypted string buffer. 0x010B5C00 69 tls_clear_field_d860 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd860. Clears thread-local encrypted string buffer. 0x010B5C50 69 tls_clear_field_c480 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xc480. Clears thread-local encrypted string buffer. 0x010B5CA0 69 tls_clear_field_d878 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd878. Clears thread-local encrypted string buffer. 0x010B5CF0 69 tls_clear_field_d890 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd890. Clears thread-local encrypted string buffer. 0x010B5D40 69 tls_clear_field_d8a4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd8a4. Clears thread-local encrypted string buffer. 0x010B5D90 69 tls_clear_field_d8b8 crt TLS destructor: zeros 10 bytes at TLS offset 0xd8b8. Clears thread-local encrypted string buffer. 0x010B5DE0 69 tls_clear_field_d8c8 crt TLS destructor: zeros 10 bytes at TLS offset 0xd8c8. Clears thread-local encrypted string buffer. 0x010B5E30 69 tls_clear_field_d8d8 crt TLS destructor: zeros 0x14 bytes at TLS offset 0xd8d8. Clears thread-local encrypted string buffer. 0x010B5E80 69 tls_clear_field_d8f4 crt TLS destructor: zeros 0x14 bytes at TLS offset 0xd8f4. Clears thread-local encrypted string buffer. 0x010B5ED0 69 tls_clear_field_d910 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd910. Clears thread-local encrypted string buffer. 0x010B5F20 69 tls_clear_field_d928 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd928. Clears thread-local encrypted string buffer. 0x010B5F70 69 tls_clear_field_d93c crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd93c. Clears thread-local encrypted string buffer. 0x010B5FC0 69 tls_clear_field_c49c crt TLS destructor: zeros 10 bytes at TLS offset 0xc49c. Clears thread-local encrypted string buffer. 0x010B6010 69 tls_clear_field_d954 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd954. Clears thread-local encrypted string buffer. 0x010B6060 69 tls_clear_field_d968 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd968. Clears thread-local encrypted string buffer. 0x010B60B0 69 tls_clear_field_d980 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd980. Clears thread-local encrypted string buffer. 0x010B6100 69 tls_clear_field_d998 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd998. Clears thread-local encrypted string buffer. 0x010B6150 69 tls_clear_field_d9b0 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd9b0. Clears thread-local encrypted string buffer. 0x010B61A0 69 tls_clear_field_d9c4 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xd9c4. Clears thread-local encrypted string buffer. 0x010B61F0 69 tls_clear_field_d9dc crt TLS destructor: zeros 0xe bytes at TLS offset 0xd9dc. Clears thread-local encrypted string buffer. 0x010B6240 69 tls_clear_field_d9f0 crt TLS destructor: zeros 0xe bytes at TLS offset 0xd9f0. Clears thread-local encrypted string buffer. 0x010B6290 69 tls_clear_field_da04 crt TLS destructor: zeros 0xe bytes at TLS offset 0xda04. Clears thread-local encrypted string buffer. 0x010B62E0 69 tls_clear_field_da18 crt TLS destructor: zeros 0xe bytes at TLS offset 0xda18. Clears thread-local encrypted string buffer. 0x010B6330 69 tls_clear_field_c4ac crt TLS destructor: zeros 0xe bytes at TLS offset 0xc4ac. Clears thread-local encrypted string buffer. 0x010B6380 69 tls_clear_field_da2c crt TLS destructor: zeros 0xe bytes at TLS offset 0xda2c. Clears thread-local encrypted string buffer. 0x010B63D0 69 tls_clear_field_da40 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xda40. Clears thread-local encrypted string buffer. 0x010B6420 69 tls_clear_field_da58 crt TLS destructor: zeros 0x17 bytes at TLS offset 0xda58. Clears thread-local encrypted string buffer. 0x010B6470 69 tls_clear_field_da74 crt TLS destructor: zeros 0x19 bytes at TLS offset 0xda74. Clears thread-local encrypted string buffer. 0x010B64C0 69 tls_clear_field_da94 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xda94. Clears thread-local encrypted string buffer. 0x010B6510 69 tls_clear_field_dab0 crt TLS destructor: zeros 0x1d bytes at TLS offset 0xdab0. Clears thread-local encrypted string buffer. 0x010B6560 69 tls_clear_field_dad4 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xdad4. Clears thread-local encrypted string buffer. 0x010B65B0 69 tls_clear_field_daec crt TLS destructor: zeros 0x19 bytes at TLS offset 0xdaec. Clears thread-local encrypted string buffer. 0x010B6600 69 tls_clear_field_db0c crt TLS destructor: zeros 0x12 bytes at TLS offset 0xdb0c. Clears thread-local encrypted string buffer. 0x010B6650 69 tls_clear_field_db24 crt TLS destructor: zeros 0x19 bytes at TLS offset 0xdb24. Clears thread-local encrypted string buffer. 0x010B66A0 69 tls_clear_field_c4c0 crt TLS destructor: zeros 10 bytes at TLS offset 0xc4c0. Clears thread-local encrypted string buffer. 0x010B66F0 69 tls_clear_field_c02c crt TLS destructor: zeros 0x23 bytes at TLS offset 0xc02c. Clears thread-local encrypted string buffer. 0x010B6740 69 tls_clear_field_c2cc crt TLS destructor: zeros 6 bytes at TLS offset 0xc2cc. Clears thread-local encrypted string buffer. 0x010B6790 69 tls_clear_field_bedc crt TLS destructor: zeros 6 bytes at TLS offset 0xbedc. Clears thread-local encrypted string buffer. 0x010B67E0 69 tls_clear_field_c228 crt TLS destructor: zeros 6 bytes at TLS offset 0xc228. Clears thread-local encrypted string buffer. 0x010B6830 69 tls_clear_field_e0ec crt TLS destructor: zeros 7 bytes at TLS offset 0xe0ec. Clears thread-local encrypted string buffer. 0x010B6880 69 tls_clear_field_bfec crt TLS destructor: zeros 8 bytes at TLS offset 0xbfec. Clears thread-local encrypted string buffer. 0x010B68D0 69 tls_clear_field_e154 crt TLS destructor: zeros 0x1b bytes at TLS offset 0xe154. Clears thread-local encrypted string buffer. 0x010B6920 69 tls_clear_field_db44 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xdb44. Clears thread-local encrypted string buffer. 0x010B6970 69 tls_clear_field_db60 crt TLS destructor: zeros 0x1d bytes at TLS offset 0xdb60. Clears thread-local encrypted string buffer. 0x010B69C0 69 tls_clear_field_db84 crt TLS destructor: zeros 0xc bytes at TLS offset 0xdb84. Clears thread-local encrypted string buffer. 0x010B6A10 69 tls_clear_field_db98 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xdb98. Clears thread-local encrypted string buffer. 0x010B6A60 69 tls_clear_field_dbb8 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xdbb8. Clears thread-local encrypted string buffer. 0x010B6AB0 69 tls_clear_field_dbd0 crt TLS destructor: zeros 0x1e bytes at TLS offset 0xdbd0. Clears thread-local encrypted string buffer. 0x010B6B00 69 tls_clear_field_dbf4 crt TLS destructor: zeros 0x23 bytes at TLS offset 0xdbf4. Clears thread-local encrypted string buffer. 0x010B6B50 69 tls_clear_field_dc1c crt TLS destructor: zeros 0x1c bytes at TLS offset 0xdc1c. Clears thread-local encrypted string buffer. 0x010B6BA0 69 tls_clear_field_dc40 crt TLS destructor: zeros 0x2a bytes at TLS offset 0xdc40. Clears thread-local encrypted string buffer. 0x010B6BF0 69 tls_clear_field_dc70 crt TLS destructor: zeros 0x2c bytes at TLS offset 0xdc70. Clears thread-local encrypted string buffer. 0x010B6C40 69 tls_clear_field_c4d0 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xc4d0. Clears thread-local encrypted string buffer. 0x010B6C90 69 tls_clear_field_dca4 crt TLS destructor: zeros 0x1e bytes at TLS offset 0xdca4. Clears thread-local encrypted string buffer. 0x010B6CE0 69 tls_clear_field_dcc8 crt TLS destructor: zeros 0x2c bytes at TLS offset 0xdcc8. Clears thread-local encrypted string buffer. 0x010B6D30 69 tls_clear_array_46_at_0xdcfc crt TLS initializer callback. Zeros 46 bytes in the TLS block at offset 0xDCFC. 0x010B6D80 69 tls_clear_field_dd30 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xdd30. Clears thread-local encrypted string buffer. 0x010B6DD0 69 tls_clear_field_dd50 crt TLS destructor: zeros 0x21 bytes at TLS offset 0xdd50. Clears thread-local encrypted string buffer. 0x010B6E20 69 tls_clear_field_dd78 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xdd78. Clears thread-local encrypted string buffer. 0x010B6E70 69 tls_clear_field_dd98 crt TLS destructor: zeros 0x21 bytes at TLS offset 0xdd98. Clears thread-local encrypted string buffer. 0x010B6EC0 69 tls_clear_field_ddc0 crt TLS destructor: zeros 0x18 bytes at TLS offset 0xddc0. Clears thread-local encrypted string buffer. 0x010B6F10 69 tls_clear_field_dde0 crt TLS destructor: zeros 0x19 bytes at TLS offset 0xdde0. Clears thread-local encrypted string buffer. 0x010B6F60 69 tls_clear_field_de00 crt TLS destructor: zeros 0x1f bytes at TLS offset 0xde00. Clears thread-local encrypted string buffer. 0x010B6FB0 69 tls_clear_field_c4e8 crt TLS destructor: zeros 10 bytes at TLS offset 0xc4e8. Clears thread-local encrypted string buffer. 0x010B7000 69 tls_clear_field_de24 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xde24. Clears thread-local encrypted string buffer. 0x010B7050 69 tls_clear_field_de44 crt TLS destructor: zeros 0x21 bytes at TLS offset 0xde44. Clears thread-local encrypted string buffer. 0x010B70A0 69 tls_clear_field_de6c crt TLS destructor: zeros 0x12 bytes at TLS offset 0xde6c. Clears thread-local encrypted string buffer. 0x010B70F0 69 tls_clear_field_de84 crt TLS destructor: zeros 0x19 bytes at TLS offset 0xde84. Clears thread-local encrypted string buffer. 0x010B7140 69 tls_clear_field_dea4 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xdea4. Clears thread-local encrypted string buffer. 0x010B7190 69 tls_clear_field_debc crt TLS destructor: zeros 0x19 bytes at TLS offset 0xdebc. Clears thread-local encrypted string buffer. 0x010B71E0 69 tls_clear_field_dedc crt TLS destructor: zeros 0x18 bytes at TLS offset 0xdedc. Clears thread-local encrypted string buffer. 0x010B7230 69 tls_clear_field_defc crt TLS destructor: zeros 0x1f bytes at TLS offset 0xdefc. Clears thread-local encrypted string buffer. 0x010B7280 69 tls_clear_field_df20 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xdf20. Clears thread-local encrypted string buffer. 0x010B72D0 69 tls_clear_field_df40 crt TLS destructor: zeros 0x21 bytes at TLS offset 0xdf40. Clears thread-local encrypted string buffer. 0x010B7320 69 tls_clear_field_c4f8 crt TLS destructor: zeros 10 bytes at TLS offset 0xc4f8. Clears thread-local encrypted string buffer. 0x010B7370 69 tls_clear_field_df68 crt TLS destructor: zeros 0x1e bytes at TLS offset 0xdf68. Clears thread-local encrypted string buffer. 0x010B73C0 69 tls_clear_field_df8c crt TLS destructor: zeros 0x25 bytes at TLS offset 0xdf8c. Clears thread-local encrypted string buffer. 0x010B7410 69 tls_clear_field_dfb8 crt TLS destructor: zeros 0xc bytes at TLS offset 0xdfb8. Clears thread-local encrypted string buffer. 0x010B7460 69 tls_clear_field_dfcc crt TLS destructor: zeros 0xc bytes at TLS offset 0xdfcc. Clears thread-local encrypted string buffer. 0x010B74B0 69 tls_clear_field_dfe0 crt TLS destructor: zeros 0xe bytes at TLS offset 0xdfe0. Clears thread-local encrypted string buffer. 0x010B7500 69 tls_clear_field_dff4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xdff4. Clears thread-local encrypted string buffer. 0x010B7550 69 tls_clear_field_e008 crt TLS destructor: zeros 0xe bytes at TLS offset 0xe008. Clears thread-local encrypted string buffer. 0x010B75A0 69 tls_clear_field_e01c crt TLS destructor: zeros 6 bytes at TLS offset 0xe01c. Clears thread-local encrypted string buffer. 0x010B75F0 69 tls_clear_field_e028 crt TLS destructor: zeros 6 bytes at TLS offset 0xe028. Clears thread-local encrypted string buffer. 0x010B7640 69 tls_clear_field_e034 crt TLS destructor: zeros 7 bytes at TLS offset 0xe034. Clears thread-local encrypted string buffer. 0x010B7690 69 tls_clear_field_c508 crt TLS destructor: zeros 0x22 bytes at TLS offset 0xc508. Clears thread-local encrypted string buffer. 0x010B76E0 69 tls_clear_field_e040 crt TLS destructor: zeros 7 bytes at TLS offset 0xe040. Clears thread-local encrypted string buffer. 0x010B7730 69 tls_clear_field_e04c crt TLS destructor: zeros 7 bytes at TLS offset 0xe04c. Clears thread-local encrypted string buffer. 0x010B7780 69 tls_clear_field_e058 crt TLS destructor: zeros 9 bytes at TLS offset 0xe058. Clears thread-local encrypted string buffer. 0x010B77D0 69 tls_clear_field_e068 crt TLS destructor: zeros 0xb bytes at TLS offset 0xe068. Clears thread-local encrypted string buffer. 0x010B7820 69 tls_clear_field_e078 crt TLS destructor: zeros 0xd bytes at TLS offset 0xe078. Clears thread-local encrypted string buffer. 0x010B7870 69 tls_clear_field_e08c crt TLS destructor: zeros 0xe bytes at TLS offset 0xe08c. Clears thread-local encrypted string buffer. 0x010B78C0 69 tls_clear_field_e0a0 crt TLS destructor: zeros 0xe bytes at TLS offset 0xe0a0. Clears thread-local encrypted string buffer. 0x010B7910 69 tls_clear_field_c530 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc530. Clears thread-local encrypted string buffer. 0x010B7960 69 tls_clear_field_c544 crt TLS destructor: zeros 10 bytes at TLS offset 0xc544. Clears thread-local encrypted string buffer. 0x010B79B0 69 tls_clear_field_c554 crt TLS destructor: zeros 10 bytes at TLS offset 0xc554. Clears thread-local encrypted string buffer. 0x010B7A00 69 tls_clear_field_c564 crt TLS destructor: zeros 10 bytes at TLS offset 0xc564. Clears thread-local encrypted string buffer. 0x010B7A50 69 tls_clear_field_c574 crt TLS destructor: zeros 10 bytes at TLS offset 0xc574. Clears thread-local encrypted string buffer. 0x010B7AA0 69 tls_clear_field_c584 crt TLS destructor: zeros 10 bytes at TLS offset 0xc584. Clears thread-local encrypted string buffer. 0x010B7AF0 69 tls_clear_field_c054 crt TLS destructor: zeros 0x23 bytes at TLS offset 0xc054. Clears thread-local encrypted string buffer. 0x010B7B40 69 tls_clear_field_c2d8 crt TLS destructor: zeros 7 bytes at TLS offset 0xc2d8. Clears thread-local encrypted string buffer. 0x010B7B90 69 tls_clear_field_bee8 crt TLS destructor: zeros 0x2f bytes at TLS offset 0xbee8. Clears thread-local encrypted string buffer. 0x010B7BE0 69 tls_clear_field_e0f8 crt TLS destructor: zeros 0x29 bytes at TLS offset 0xe0f8. Clears thread-local encrypted string buffer. 0x010B7C30 69 tls_clear_field_c234 crt TLS destructor: zeros 0x17 bytes at TLS offset 0xc234. Clears thread-local encrypted string buffer. 0x010B7C80 69 tls_clear_field_bffc crt TLS destructor: zeros 0xb bytes at TLS offset 0xbffc. Clears thread-local encrypted string buffer. 0x010B7CD0 69 tls_clear_field_e174 crt TLS destructor: zeros 0x1b bytes at TLS offset 0xe174. Clears thread-local encrypted string buffer. 0x010B7D20 69 tls_clear_field_c594 crt TLS destructor: zeros 10 bytes at TLS offset 0xc594. Clears thread-local encrypted string buffer. 0x010B7D70 69 tls_clear_field_c5a4 crt TLS destructor: zeros 10 bytes at TLS offset 0xc5a4. Clears thread-local encrypted string buffer. 0x010B7DC0 69 tls_clear_field_c5b4 crt TLS destructor: zeros 10 bytes at TLS offset 0xc5b4. Clears thread-local encrypted string buffer. 0x010B7E10 69 tls_clear_field_c5c4 crt TLS destructor: zeros 10 bytes at TLS offset 0xc5c4. Clears thread-local encrypted string buffer. 0x010B7E60 69 tls_clear_field_c5d4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc5d4. Clears thread-local encrypted string buffer. 0x010B7EB0 69 tls_clear_field_c5e8 crt TLS destructor: zeros 10 bytes at TLS offset 0xc5e8. Clears thread-local encrypted string buffer. 0x010B7F00 69 tls_clear_field_c5f8 crt TLS destructor: zeros 10 bytes at TLS offset 0xc5f8. Clears thread-local encrypted string buffer. 0x010B7F50 69 tls_clear_field_c608 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc608. Clears thread-local encrypted string buffer. 0x010B7FA0 69 tls_clear_field_c61c crt TLS destructor: zeros 10 bytes at TLS offset 0xc61c. Clears thread-local encrypted string buffer. 0x010B7FF0 69 tls_clear_field_c62c crt TLS destructor: zeros 0x12 bytes at TLS offset 0xc62c. Clears thread-local encrypted string buffer. 0x010B8040 69 tls_clear_field_c07c crt TLS destructor: zeros 0x22 bytes at TLS offset 0xc07c. Clears thread-local encrypted string buffer. 0x010B8090 69 tls_clear_field_c2e4 crt TLS destructor: zeros 7 bytes at TLS offset 0xc2e4. Clears thread-local encrypted string buffer. 0x010B80E0 69 tls_clear_array_at_bf1c crt TLS array initializer: zeroes 6 bytes at TLS offset 0xBF1C. Used as a destructor callback registered with tls_register_destructor. 0x010B8130 69 tls_clear_array_at_e128 crt Zeros a TLS array by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B8180 69 tls_clear_array_at_38c8 crt Zeros a TLS array by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B81D0 69 tls_clear_array_at_010b81d0 crt Zeros a TLS array by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B8220 69 tls_clear_array_at_c644 crt Zeros a TLS array by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B8270 69 tls_clear_array_at_c65c crt Zeros a TLS array by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B82C0 69 tls_clear_array_at_c66c crt Zeros a TLS array by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B8310 69 tls_clear_array_at_c684 crt Zeros a TLS array by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B8360 69 tls_clear_array_at_c698 crt Zeros a TLS array by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B83B0 69 tls_clear_array_at_c6a8 crt Zeros a TLS array by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B8400 69 tls_clear_field_at_010b8400 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010B8450 69 tls_clear_field_c6cc crt TLS destructor: zeros 0xe bytes at TLS offset 0xc6cc. Clears thread-local encrypted string buffer. 0x010B84A0 69 tls_clear_field_c6e0 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xc6e0. Clears thread-local encrypted string buffer. 0x010B84F0 69 tls_clear_field_c6f8 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc6f8. Clears thread-local encrypted string buffer. 0x010B8540 69 tls_clear_field_c0a4 crt TLS destructor: zeros 0x24 bytes at TLS offset 0xc0a4. Clears thread-local encrypted string buffer. 0x010B8590 69 tls_clear_field_c2f0 crt TLS destructor: zeros 7 bytes at TLS offset 0xc2f0. Clears thread-local encrypted string buffer. 0x010B85E0 69 tls_clear_field_bf28 crt TLS destructor: zeros 0x30 bytes at TLS offset 0xbf28. Clears thread-local encrypted string buffer. 0x010B8630 69 tls_clear_field_c25c crt TLS destructor: zeros 0x19 bytes at TLS offset 0xc25c. Clears thread-local encrypted string buffer. 0x010B8680 69 tls_clear_field_c70c crt TLS destructor: zeros 0xe bytes at TLS offset 0xc70c. Clears thread-local encrypted string buffer. 0x010B86D0 69 tls_clear_field_c720 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc720. Clears thread-local encrypted string buffer. 0x010B8720 69 tls_clear_field_c734 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc734. Clears thread-local encrypted string buffer. 0x010B8770 69 tls_clear_field_c748 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc748. Clears thread-local encrypted string buffer. 0x010B87C0 69 tls_clear_field_c75c crt TLS destructor: zeros 0xe bytes at TLS offset 0xc75c. Clears thread-local encrypted string buffer. 0x010B8810 69 tls_clear_field_c770 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc770. Clears thread-local encrypted string buffer. 0x010B8860 69 tls_clear_field_c784 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xc784. Clears thread-local encrypted string buffer. 0x010B88B0 69 tls_clear_field_c79c crt TLS destructor: zeros 0xe bytes at TLS offset 0xc79c. Clears thread-local encrypted string buffer. 0x010B8900 69 tls_clear_field_c7b0 crt TLS destructor: zeros 10 bytes at TLS offset 0xc7b0. Clears thread-local encrypted string buffer. 0x010B8950 69 tls_clear_field_c7c0 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc7c0. Clears thread-local encrypted string buffer. 0x010B89A0 69 tls_clear_field_c0d0 crt TLS destructor: zeros 0x18 bytes at TLS offset 0xc0d0. Clears thread-local encrypted string buffer. 0x010B89F0 69 tls_clear_field_c2fc crt TLS destructor: zeros 9 bytes at TLS offset 0xc2fc. Clears thread-local encrypted string buffer. 0x010B8A40 69 tls_clear_field_bf60 crt TLS destructor: zeros 6 bytes at TLS offset 0xbf60. Clears thread-local encrypted string buffer. 0x010B8A90 69 tls_clear_field_c27c crt TLS destructor: zeros 6 bytes at TLS offset 0xc27c. Clears thread-local encrypted string buffer. 0x010B8AE0 69 tls_clear_field_c7d4 crt TLS destructor: zeros 10 bytes at TLS offset 0xc7d4. Clears thread-local encrypted string buffer. 0x010B8B30 69 tls_clear_field_c7e4 crt TLS destructor: zeros 10 bytes at TLS offset 0xc7e4. Clears thread-local encrypted string buffer. 0x010B8B80 69 tls_clear_field_c7f4 crt TLS destructor: zeros 10 bytes at TLS offset 0xc7f4. Clears thread-local encrypted string buffer. 0x010B8BD0 69 tls_clear_field_c804 crt TLS destructor: zeros 10 bytes at TLS offset 0xc804. Clears thread-local encrypted string buffer. 0x010B8C20 69 tls_clear_field_c814 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc814. Clears thread-local encrypted string buffer. 0x010B8C70 69 tls_clear_field_c828 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc828. Clears thread-local encrypted string buffer. 0x010B8CC0 69 tls_clear_field_c83c crt TLS destructor: zeros 10 bytes at TLS offset 0xc83c. Clears thread-local encrypted string buffer. 0x010B8D10 69 tls_clear_field_c84c crt TLS destructor: zeros 10 bytes at TLS offset 0xc84c. Clears thread-local encrypted string buffer. 0x010B8D60 69 tls_clear_field_c85c crt TLS destructor: zeros 10 bytes at TLS offset 0xc85c. Clears thread-local encrypted string buffer. 0x010B8DB0 69 tls_clear_field_c86c crt TLS destructor: zeros 10 bytes at TLS offset 0xc86c. Clears thread-local encrypted string buffer. 0x010B8E00 69 tls_clear_field_c0f0 crt TLS destructor: zeros 0x25 bytes at TLS offset 0xc0f0. Clears thread-local encrypted string buffer. 0x010B8E50 69 tls_clear_field_c30c crt TLS destructor: zeros 0xb bytes at TLS offset 0xc30c. Clears thread-local encrypted string buffer. 0x010B8EA0 69 tls_clear_field_bf6c crt TLS destructor: zeros 0x1b bytes at TLS offset 0xbf6c. Clears thread-local encrypted string buffer. 0x010B8EF0 69 tls_clear_field_c288 crt TLS destructor: zeros 0x11 bytes at TLS offset 0xc288. Clears thread-local encrypted string buffer. 0x010B8F40 69 tls_clear_field_c87c crt TLS destructor: zeros 10 bytes at TLS offset 0xc87c. Clears thread-local encrypted string buffer. 0x010B8F90 69 tls_clear_field_c88c crt TLS destructor: zeros 10 bytes at TLS offset 0xc88c. Clears thread-local encrypted string buffer. 0x010B8FE0 69 tls_clear_field_c89c crt TLS destructor: zeros 10 bytes at TLS offset 0xc89c. Clears thread-local encrypted string buffer. 0x010B9030 69 tls_clear_field_c8ac crt TLS destructor: zeros 10 bytes at TLS offset 0xc8ac. Clears thread-local encrypted string buffer. 0x010B9080 69 tls_clear_field_c8bc crt TLS destructor: zeros 0x12 bytes at TLS offset 0xc8bc. Clears thread-local encrypted string buffer. 0x010B90D0 69 tls_clear_field_c8d4 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xc8d4. Clears thread-local encrypted string buffer. 0x010B9120 69 tls_clear_field_c8ec crt TLS destructor: zeros 0x12 bytes at TLS offset 0xc8ec. Clears thread-local encrypted string buffer. 0x010B9170 69 tls_clear_field_c904 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc904. Clears thread-local encrypted string buffer. 0x010B91C0 69 tls_clear_field_c918 crt TLS destructor: zeros 10 bytes at TLS offset 0xc918. Clears thread-local encrypted string buffer. 0x010B9210 69 tls_clear_field_c928 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc928. Clears thread-local encrypted string buffer. 0x010B9260 69 tls_clear_field_c11c crt TLS destructor: zeros 0x24 bytes at TLS offset 0xc11c. Clears thread-local encrypted string buffer. 0x010B92B0 69 tls_clear_field_c31c crt TLS destructor: zeros 0xd bytes at TLS offset 0xc31c. Clears thread-local encrypted string buffer. 0x010B9300 69 tls_clear_field_bf8c crt TLS destructor: zeros 6 bytes at TLS offset 0xbf8c. Clears thread-local encrypted string buffer. 0x010B9350 69 tls_clear_field_c2a0 crt TLS destructor: zeros 6 bytes at TLS offset 0xc2a0. Clears thread-local encrypted string buffer. 0x010B93A0 69 tls_clear_field_c93c crt TLS destructor: zeros 10 bytes at TLS offset 0xc93c. Clears thread-local encrypted string buffer. 0x010B93F0 69 tls_clear_field_c94c crt TLS destructor: zeros 0xe bytes at TLS offset 0xc94c. Clears thread-local encrypted string buffer. 0x010B9440 69 tls_clear_field_c960 crt TLS destructor: zeros 10 bytes at TLS offset 0xc960. Clears thread-local encrypted string buffer. 0x010B9490 69 tls_clear_field_c970 crt TLS destructor: zeros 10 bytes at TLS offset 0xc970. Clears thread-local encrypted string buffer. 0x010B94E0 69 tls_clear_field_c980 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc980. Clears thread-local encrypted string buffer. 0x010B9530 69 tls_clear_field_c994 crt TLS destructor: zeros 10 bytes at TLS offset 0xc994. Clears thread-local encrypted string buffer. 0x010B9580 69 tls_clear_field_c9a4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xc9a4. Clears thread-local encrypted string buffer. 0x010B95D0 69 tls_clear_field_c9b8 crt TLS destructor: zeros 10 bytes at TLS offset 0xc9b8. Clears thread-local encrypted string buffer. 0x010B9620 69 tls_clear_field_0xc9c8_010b9620 crt Clears 0x12 bytes at TLS offset 0xc9c8 (thread-local field initializer) 0x010B9670 69 tls_clear_field_0xc9e0_010b9670 crt Clears None bytes at TLS offset 0xc9e0 (thread-local field initializer) 0x010B96C0 69 tls_clear_field_0xc148_010b96c0 crt Clears 0x1a bytes at TLS offset 0xc148 (thread-local field initializer) 0x010B9710 69 tls_clear_field_0xc330_010b9710 crt Clears 0xe bytes at TLS offset 0xc330 (thread-local field initializer) 0x010B9760 69 tls_clear_field_0xbf98_010b9760 crt Clears 0x1a bytes at TLS offset 0xbf98 (thread-local field initializer) 0x010B97C0 10 thunk_to_CFmt__destroy_string_vector_010b97c0 fmtlib Wrapper that calls CFmt__func_0058c230 and returns 0x010B97D0 10 thunk_to_CFmt__destroy_string_vector_010b97d0 fmtlib Wrapper that calls CFmt__func_0058c230 and returns 0x010B97E0 66 seh_wrapper_CRenderPipeline__destroy_linked_list_and_vector_010b97e0 crt SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector 0x010B9830 10 thunk_to_STL_string_dtor_010b9830 stl Wrapper that calls STL_string_dtor and returns 0x010B9840 10 thunk_to_STL_string_dtor_010b9840 stl Wrapper that calls STL_string_dtor and returns 0x010B9850 10 thunk_to_STL_string_dtor_010b9850 stl Wrapper that calls STL_string_dtor and returns 0x010B9860 10 thunk_to_STL_string_dtor_010b9860 stl Wrapper that calls STL_string_dtor and returns 0x010B9870 10 thunk_to_STL_string_dtor_010b9870 stl Wrapper that calls STL_string_dtor and returns 0x010B9880 10 thunk_to_STL_string_dtor_010b9880 stl Wrapper that calls STL_string_dtor and returns 0x010B9890 10 thunk_to_STL_string_dtor_010b9890 stl Wrapper that calls STL_string_dtor and returns 0x010B98A0 10 thunk_to_STL_string_dtor_010b98a0 stl Wrapper that calls STL_string_dtor and returns 0x010B98B0 10 thunk_to_STL_string_dtor_010b98b0 stl Wrapper that calls STL_string_dtor and returns 0x010B98C0 10 thunk_to_STL_string_dtor_010b98c0 stl Wrapper that calls STL_string_dtor and returns 0x010B98D0 10 thunk_to_STL_string_dtor_010b98d0 stl Wrapper that calls STL_string_dtor and returns 0x010B98E0 10 thunk_to_STL_string_dtor_010b98e0 stl Wrapper that calls STL_string_dtor and returns 0x010B98F0 10 thunk_to_STL_string_dtor_010b98f0 stl Wrapper that calls STL_string_dtor and returns 0x010B9900 10 thunk_to_STL_string_dtor_010b9900 stl Wrapper that calls STL_string_dtor destructor 0x010B9910 10 thunk_to_STL_string_dtor_010b9910 stl Wrapper that calls STL_string_dtor and returns 0x010B9920 10 thunk_to_STL_string_dtor_010b9920 stl Wrapper that calls STL_string_dtor and returns 0x010B9930 10 thunk_to_STL_string_dtor_010b9930 stl Wrapper that calls STL_string_dtor and returns 0x010B9940 10 thunk_to_STL_string_dtor_010b9940 stl Wrapper that calls STL_string_dtor and returns 0x010B9950 10 thunk_to_STL_string_dtor_010b9950 stl Wrapper that calls STL_string_dtor and returns 0x010B9960 10 thunk_to_STL_string_dtor_010b9960 stl Wrapper that calls STL_string_dtor and returns 0x010B9970 10 thunk_to_STL_string_dtor_010b9970 stl Wrapper that calls STL_string_dtor and returns 0x010B9980 10 thunk_to_STL_string_dtor_010b9980 stl Wrapper that calls STL_string_dtor and returns 0x010B9990 10 thunk_to_STL_string_dtor_010b9990 stl Wrapper that calls STL_string_dtor and returns 0x010B99A0 10 thunk_to_STL_string_dtor_010b99a0 stl Wrapper that calls STL_string_dtor and returns 0x010B99B0 10 thunk_to_STL_string_dtor_010b99b0 stl Wrapper that calls STL_string_dtor and returns 0x010B9A30 280 atexit_unregister_window_classes_and_delete_critsec_010b9a30 crt Atexit cleanup handler: unregisters all stored ATOM window classes via UnregisterClassA, frees the class array, and deletes the global critical section. The CRT_raise_exception_wrapper call is only a bounds-check guard (STATUS_ARRAY_BOUNDS_EXCEEDED). Paired with CRT_init_critical_section functions that register this as their atexit handler. 0x010B9B50 66 seh_wrapper_STL_map_destroy_010b9b50 crt SEH-protected wrapper calling STL_map_destroy 0x010B9BA0 69 tls_clear_field_0xe7ec_010b9ba0 crt Clears None bytes at TLS offset 0xe7ec (thread-local field initializer) 0x010B9BF0 69 tls_clear_field_0xe7f8_010b9bf0 crt Clears None bytes at TLS offset 0xe7f8 (thread-local field initializer) 0x010B9C40 69 tls_clear_field_0xe804_010b9c40 crt Clears None bytes at TLS offset 0xe804 (thread-local field initializer) 0x010B9C90 69 tls_clear_field_0xe810_010b9c90 crt Clears 0x14 bytes at TLS offset 0xe810 (thread-local field initializer) 0x010B9CE0 69 tls_clear_field_0xe82c_010b9ce0 crt Clears 0xe bytes at TLS offset 0xe82c (thread-local field initializer) 0x010B9D30 69 tls_clear_field_0xe840_010b9d30 crt Clears 0x11 bytes at TLS offset 0xe840 (thread-local field initializer) 0x010B9D80 69 tls_clear_field_0xe858_010b9d80 crt Clears 0xe bytes at TLS offset 0xe858 (thread-local field initializer) 0x010B9DD0 69 tls_clear_field_0xe86c_010b9dd0 crt Clears 0xe bytes at TLS offset 0xe86c (thread-local field initializer) 0x010B9E20 69 tls_clear_field_0xe880_010b9e20 crt Clears 0xf bytes at TLS offset 0xe880 (thread-local field initializer) 0x010B9E70 69 tls_clear_field_0xe894_010b9e70 crt Clears None bytes at TLS offset 0xe894 (thread-local field initializer) 0x010B9EC0 69 tls_clear_field_0xe238_010b9ec0 crt Clears 0x11 bytes at TLS offset 0xe238 (thread-local field initializer) 0x010B9F10 69 tls_clear_field_0xe8a4_010b9f10 crt Clears None bytes at TLS offset 0xe8a4 (thread-local field initializer) 0x010B9F60 69 tls_clear_field_0xe8b4_010b9f60 crt Clears 0xc bytes at TLS offset 0xe8b4 (thread-local field initializer) 0x010B9FB0 69 tls_clear_field_0xe8c8_010b9fb0 crt Clears 0xc bytes at TLS offset 0xe8c8 (thread-local field initializer) 0x010BA000 69 tls_clear_field_0xe8dc_010ba000 crt Clears 0xb bytes at TLS offset 0xe8dc (thread-local field initializer) 0x010BA050 69 tls_clear_field_0xe8ec_010ba050 crt Clears 0xf bytes at TLS offset 0xe8ec (thread-local field initializer) 0x010BA0A0 69 tls_clear_field_0xe900_010ba0a0 crt Clears None bytes at TLS offset 0xe900 (thread-local field initializer) 0x010BA0F0 69 tls_clear_field_0xe910_010ba0f0 crt Clears 0xf bytes at TLS offset 0xe910 (thread-local field initializer) 0x010BA140 69 tls_clear_field_0xe924_010ba140 crt Clears 0xb bytes at TLS offset 0xe924 (thread-local field initializer) 0x010BA190 69 tls_clear_field_0xe934_010ba190 crt Clears 0x14 bytes at TLS offset 0xe934 (thread-local field initializer) 0x010BA1E0 69 tls_clear_field_0xe950_010ba1e0 crt Clears 0xb bytes at TLS offset 0xe950 (thread-local field initializer) 0x010BA230 69 tls_clear_field_0xe250_010ba230 crt Clears None bytes at TLS offset 0xe250 (thread-local field initializer) 0x010BA280 69 tls_clear_field_0xe960_010ba280 crt Clears None bytes at TLS offset 0xe960 (thread-local field initializer) 0x010BA2D0 69 tls_clear_field_0xe970_010ba2d0 crt Clears 0xd bytes at TLS offset 0xe970 (thread-local field initializer) 0x010BA320 69 tls_clear_field_0xe984_010ba320 crt Clears 0x11 bytes at TLS offset 0xe984 (thread-local field initializer) 0x010BA370 69 tls_clear_field_0xe99c_010ba370 crt Clears 0xf bytes at TLS offset 0xe99c (thread-local field initializer) 0x010BA3C0 69 tls_clear_field_0xe9b0_010ba3c0 crt Clears None bytes at TLS offset 0xe9b0 (thread-local field initializer) 0x010BA410 69 tls_clear_field_0xe9bc_010ba410 crt Clears 0xd bytes at TLS offset 0xe9bc (thread-local field initializer) 0x010BA460 69 tls_clear_field_0xe9d0_010ba460 crt Clears 0xd bytes at TLS offset 0xe9d0 (thread-local field initializer) 0x010BA4B0 69 tls_clear_field_0xe9e4_010ba4b0 crt Clears None bytes at TLS offset 0xe9e4 (thread-local field initializer) 0x010BA500 69 tls_clear_field_0xe9f4_010ba500 crt Clears 0xe bytes at TLS offset 0xe9f4 (thread-local field initializer) 0x010BA550 69 tls_clear_field_0xea08_010ba550 crt Clears 0xe bytes at TLS offset 0xea08 (thread-local field initializer) 0x010BA5A0 69 tls_clear_field_0xe25c_010ba5a0 crt Clears 0xd bytes at TLS offset 0xe25c (thread-local field initializer) 0x010BA5F0 69 tls_clear_field_0xea1c_010ba5f0 crt Clears 0xb bytes at TLS offset 0xea1c (thread-local field initializer) 0x010BA640 69 tls_clear_field_0xea2c_010ba640 crt Clears 0xd bytes at TLS offset 0xea2c (thread-local field initializer) 0x010BA690 69 tls_clear_field_0xea40_010ba690 crt Clears 0xd bytes at TLS offset 0xea40 (thread-local field initializer) 0x010BA6E0 69 tls_clear_field_0xea54_010ba6e0 crt Clears None bytes at TLS offset 0xea54 (thread-local field initializer) 0x010BA730 69 tls_clear_field_0xea64_010ba730 crt Clears None bytes at TLS offset 0xea64 (thread-local field initializer) 0x010BA780 69 tls_clear_field_0xea74_010ba780 crt Clears None bytes at TLS offset 0xea74 (thread-local field initializer) 0x010BA7D0 69 tls_clear_field_0xea84_010ba7d0 crt Clears 0x11 bytes at TLS offset 0xea84 (thread-local field initializer) 0x010BA820 69 tls_clear_field_0xea9c_010ba820 crt Clears None bytes at TLS offset 0xea9c (thread-local field initializer) 0x010BA870 69 tls_clear_field_0xeaac_010ba870 crt Clears None bytes at TLS offset 0xeaac (thread-local field initializer) 0x010BA8C0 69 tls_clear_field_0xeabc_010ba8c0 crt Clears None bytes at TLS offset 0xeabc (thread-local field initializer) 0x010BA910 69 tls_clear_field_0xe270_010ba910 crt Clears None bytes at TLS offset 0xe270 (thread-local field initializer) 0x010BA960 69 tls_clear_field_0xeac8_010ba960 crt Clears 0xc bytes at TLS offset 0xeac8 (thread-local field initializer) 0x010BA9B0 69 tls_clear_field_0xeadc_010ba9b0 crt Clears None bytes at TLS offset 0xeadc (thread-local field initializer) 0x010BAA00 69 tls_clear_field_0xeaec_010baa00 crt Clears None bytes at TLS offset 0xeaec (thread-local field initializer) 0x010BAA50 69 tls_clear_field_0xeaf8_010baa50 crt Clears 0x10 bytes at TLS offset 0xeaf8 (thread-local field initializer) 0x010BAAA0 69 tls_clear_field_0xeb10_010baaa0 crt Clears None bytes at TLS offset 0xeb10 (thread-local field initializer) 0x010BAAF0 69 tls_clear_field_0xeb20_010baaf0 crt Clears None bytes at TLS offset 0xeb20 (thread-local field initializer) 0x010BAB40 69 tls_clear_field_0xeb30_010bab40 crt Clears None bytes at TLS offset 0xeb30 (thread-local field initializer) 0x010BAB90 69 tls_clear_field_0xeb40_010bab90 crt Clears 0xb bytes at TLS offset 0xeb40 (thread-local field initializer) 0x010BABE0 69 tls_clear_field_0xeb50_010babe0 crt Clears 0xc bytes at TLS offset 0xeb50 (thread-local field initializer) 0x010BAC30 69 tls_clear_field_0xeb64_010bac30 crt Clears None bytes at TLS offset 0xeb64 (thread-local field initializer) 0x010BAC80 69 tls_clear_field_0xe280_010bac80 crt Clears None bytes at TLS offset 0xe280 (thread-local field initializer) 0x010BACD0 69 tls_clear_field_0xe28c_010bacd0 crt Clears None bytes at TLS offset 0xe28c (thread-local field initializer) 0x010BAD20 69 tls_clear_field_0xe298_010bad20 crt Clears 0xc bytes at TLS offset 0xe298 (thread-local field initializer) 0x010BAD70 69 tls_clear_field_0xe2ac_010bad70 crt Clears None bytes at TLS offset 0xe2ac (thread-local field initializer) 0x010BADC0 69 tls_clear_field_0xe2b8_010badc0 crt Clears None bytes at TLS offset 0xe2b8 (thread-local field initializer) 0x010BAE10 69 tls_clear_field_0xe2c4_010bae10 crt Clears None bytes at TLS offset 0xe2c4 (thread-local field initializer) 0x010BAE60 69 tls_clear_field_0xe1b4_010bae60 crt Clears None bytes at TLS offset 0xe1b4 (thread-local field initializer) 0x010BAEB0 69 tls_clear_field_0xe2d0_010baeb0 crt Clears None bytes at TLS offset 0xe2d0 (thread-local field initializer) 0x010BAF00 69 tls_clear_field_0xe2dc_010baf00 crt Clears None bytes at TLS offset 0xe2dc (thread-local field initializer) 0x010BAF50 69 tls_clear_field_0xe2e8_010baf50 crt Clears None bytes at TLS offset 0xe2e8 (thread-local field initializer) 0x010BAFA0 69 tls_clear_field_0xe2f8_010bafa0 crt Clears 0xb bytes at TLS offset 0xe2f8 (thread-local field initializer) 0x010BAFF0 69 tls_clear_field_0xe308_010baff0 crt Clears 0xc bytes at TLS offset 0xe308 (thread-local field initializer) 0x010BB040 69 tls_clear_field_0xe31c_010bb040 crt Clears None bytes at TLS offset 0xe31c (thread-local field initializer) 0x010BB090 69 tls_clear_field_0xe32c_010bb090 crt Clears None bytes at TLS offset 0xe32c (thread-local field initializer) 0x010BB0E0 69 tls_clear_field_0xe33c_010bb0e0 crt Clears None bytes at TLS offset 0xe33c (thread-local field initializer) 0x010BB130 69 tls_clear_field_0xe34c_010bb130 crt Clears None bytes at TLS offset 0xe34c (thread-local field initializer) 0x010BB180 69 tls_clear_field_0xe358_010bb180 crt Clears 0xf bytes at TLS offset 0xe358 (thread-local field initializer) 0x010BB1D0 69 tls_clear_field_0xe1c0_010bb1d0 crt Clears None bytes at TLS offset 0xe1c0 (thread-local field initializer) 0x010BB220 69 tls_clear_field_0xe36c_010bb220 crt Clears 0xd bytes at TLS offset 0xe36c (thread-local field initializer) 0x010BB270 69 tls_clear_field_0xe380_010bb270 crt Clears None bytes at TLS offset 0xe380 (thread-local field initializer) 0x010BB2C0 69 tls_clear_field_0xe390_010bb2c0 crt Clears None bytes at TLS offset 0xe390 (thread-local field initializer) 0x010BB310 69 tls_clear_field_0xe3a0_010bb310 crt Clears None bytes at TLS offset 0xe3a0 (thread-local field initializer) 0x010BB360 69 tls_clear_field_0xe3b0_010bb360 crt Clears None bytes at TLS offset 0xe3b0 (thread-local field initializer) 0x010BB3B0 69 tls_clear_field_0xe3c0_010bb3b0 crt Clears None bytes at TLS offset 0xe3c0 (thread-local field initializer) 0x010BB400 69 tls_clear_field_0xe3d0_010bb400 crt Clears None bytes at TLS offset 0xe3d0 (thread-local field initializer) 0x010BB450 69 tls_clear_field_0xe3e0_010bb450 crt Clears None bytes at TLS offset 0xe3e0 (thread-local field initializer) 0x010BB4A0 69 tls_clear_field_0xe3f0_010bb4a0 crt Clears 0xb bytes at TLS offset 0xe3f0 (thread-local field initializer) 0x010BB4F0 69 tls_clear_field_0xe400_010bb4f0 crt Clears None bytes at TLS offset 0xe400 (thread-local field initializer) 0x010BB540 69 tls_clear_field_0xe1cc_010bb540 crt Clears None bytes at TLS offset 0xe1cc (thread-local field initializer) 0x010BB590 69 tls_clear_field_0xe410_010bb590 crt Clears 0xe bytes at TLS offset 0xe410 (thread-local field initializer) 0x010BB5E0 69 tls_clear_field_0xe424_010bb5e0 crt Clears None bytes at TLS offset 0xe424 (thread-local field initializer) 0x010BB630 69 tls_clear_field_0xe434_010bb630 crt Clears None bytes at TLS offset 0xe434 (thread-local field initializer) 0x010BB680 69 tls_clear_field_0xe444_010bb680 crt Clears 0xb bytes at TLS offset 0xe444 (thread-local field initializer) 0x010BB6D0 69 tls_clear_field_0xe454_010bb6d0 crt Clears None bytes at TLS offset 0xe454 (thread-local field initializer) 0x010BB720 69 tls_clear_field_0xe464_010bb720 crt Clears None bytes at TLS offset 0xe464 (thread-local field initializer) 0x010BB770 69 tls_clear_field_0xe474_010bb770 crt Clears None bytes at TLS offset 0xe474 (thread-local field initializer) 0x010BB7C0 69 tls_clear_field_0xe484_010bb7c0 crt Clears 0xe bytes at TLS offset 0xe484 (thread-local field initializer) 0x010BB810 69 tls_clear_field_0xe498_010bb810 crt Clears None bytes at TLS offset 0xe498 (thread-local field initializer) 0x010BB860 69 tls_clear_field_0xe4a4_010bb860 crt Clears None bytes at TLS offset 0xe4a4 (thread-local field initializer) 0x010BB8B0 69 tls_clear_field_0xe1d8_010bb8b0 crt Clears None bytes at TLS offset 0xe1d8 (thread-local field initializer) 0x010BB900 69 tls_clear_field_0xe4b0_010bb900 crt Clears None bytes at TLS offset 0xe4b0 (thread-local field initializer) 0x010BB950 69 tls_clear_field_0xe4c0_010bb950 crt Clears None bytes at TLS offset 0xe4c0 (thread-local field initializer) 0x010BB9A0 69 tls_clear_field_0xe4cc_010bb9a0 crt Clears 0xe bytes at TLS offset 0xe4cc (thread-local field initializer) 0x010BB9F0 69 tls_clear_field_0xe4e0_010bb9f0 crt Clears 0x11 bytes at TLS offset 0xe4e0 (thread-local field initializer) 0x010BBA40 69 tls_clear_field_0xe4f8_010bba40 crt Clears 0xe bytes at TLS offset 0xe4f8 (thread-local field initializer) 0x010BBA90 69 tls_clear_field_0xe50c_010bba90 crt Clears None bytes at TLS offset 0xe50c (thread-local field initializer) 0x010BBAE0 69 tls_clear_field_0xe51c_010bbae0 crt Clears 0xd bytes at TLS offset 0xe51c (thread-local field initializer) 0x010BBB30 69 tls_clear_field_0xe530_010bbb30 crt Clears None bytes at TLS offset 0xe530 (thread-local field initializer) 0x010BBB80 69 tls_clear_field_0xe540_010bbb80 crt Clears 0xd bytes at TLS offset 0xe540 (thread-local field initializer) 0x010BBBD0 69 tls_clear_field_0xe554_010bbbd0 crt Clears None bytes at TLS offset 0xe554 (thread-local field initializer) 0x010BBC20 69 tls_clear_field_0xe1e8_010bbc20 crt Clears None bytes at TLS offset 0xe1e8 (thread-local field initializer) 0x010BBC70 69 tls_clear_field_0xe564_010bbc70 crt Clears None bytes at TLS offset 0xe564 (thread-local field initializer) 0x010BBCC0 69 tls_clear_field_0xe570_010bbcc0 crt Clears None bytes at TLS offset 0xe570 (thread-local field initializer) 0x010BBD10 69 tls_clear_field_0xe580_010bbd10 crt Clears 0xe bytes at TLS offset 0xe580 (thread-local field initializer) 0x010BBD60 69 tls_clear_field_0xe594_010bbd60 crt Clears 0xc bytes at TLS offset 0xe594 (thread-local field initializer) 0x010BBDB0 69 tls_clear_field_0xe5a8_010bbdb0 crt Clears 0xe bytes at TLS offset 0xe5a8 (thread-local field initializer) 0x010BBE00 69 tls_clear_field_0xe5bc_010bbe00 crt Clears 0xd bytes at TLS offset 0xe5bc (thread-local field initializer) 0x010BBE50 69 tls_clear_field_0xe5d0_010bbe50 crt Clears None bytes at TLS offset 0xe5d0 (thread-local field initializer) 0x010BBEA0 69 tls_clear_field_0xe5e0_010bbea0 crt Clears None bytes at TLS offset 0xe5e0 (thread-local field initializer) 0x010BBEF0 69 tls_clear_field_0xe5ec_010bbef0 crt Clears 0xb bytes at TLS offset 0xe5ec (thread-local field initializer) 0x010BBF40 69 tls_clear_field_0xe5fc_010bbf40 crt Clears None bytes at TLS offset 0xe5fc (thread-local field initializer) 0x010BBF90 69 tls_clear_field_0xe1f8_010bbf90 crt Clears None bytes at TLS offset 0xe1f8 (thread-local field initializer) 0x010BBFE0 69 tls_clear_field_0xe60c_010bbfe0 crt Clears 0xc bytes at TLS offset 0xe60c (thread-local field initializer) 0x010BC030 69 tls_clear_field_0xe620_010bc030 crt Clears None bytes at TLS offset 0xe620 (thread-local field initializer) 0x010BC080 69 tls_clear_field_0xe630_010bc080 crt Clears 0xb bytes at TLS offset 0xe630 (thread-local field initializer) 0x010BC0D0 69 tls_clear_field_0xe640_010bc0d0 crt Clears None bytes at TLS offset 0xe640 (thread-local field initializer) 0x010BC120 69 tls_clear_field_0xe64c_010bc120 crt Clears None bytes at TLS offset 0xe64c (thread-local field initializer) 0x010BC170 69 tls_clear_field_0xe658_010bc170 crt Clears None bytes at TLS offset 0xe658 (thread-local field initializer) 0x010BC1C0 69 tls_clear_field_0xe664_010bc1c0 crt Clears 0xb bytes at TLS offset 0xe664 (thread-local field initializer) 0x010BC210 69 tls_clear_field_0xe674_010bc210 crt Clears None bytes at TLS offset 0xe674 (thread-local field initializer) 0x010BC260 69 tls_clear_field_e684 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC2B0 69 tls_clear_field_e69c crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC300 69 tls_clear_field_e204 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC350 69 tls_clear_field_e6ac crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC3A0 69 tls_clear_field_0xe6bc_010bc3a0 crt Clears 0xb bytes at TLS offset 0xe6bc (thread-local field initializer) 0x010BC3F0 69 tls_clear_field_0xe6cc_010bc3f0 crt Clears None bytes at TLS offset 0xe6cc (thread-local field initializer) 0x010BC440 69 tls_clear_field_e6dc crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC490 69 tls_clear_field_e6ec crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC4E0 69 tls_clear_field_e6f8 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC530 69 tls_clear_field_e704 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC580 69 tls_clear_field_e710 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC5D0 69 tls_clear_field_e720 crt Zeros a TLS field by writing 0 to each byte at the specified TLS offset. 0x010BC620 69 tls_clear_field_0xe730_010bc620 crt Clears 0xe bytes at TLS offset 0xe730 (thread-local field initializer) 0x010BC670 69 tls_clear_field_0xe214_010bc670 crt Clears 0xf bytes at TLS offset 0xe214 (thread-local field initializer) 0x010BC6C0 69 tls_clear_field_0xe744_010bc6c0 crt Clears 0xe bytes at TLS offset 0xe744 (thread-local field initializer) 0x010BC710 69 tls_clear_field_0xe758_010bc710 crt Clears 0xd bytes at TLS offset 0xe758 (thread-local field initializer) 0x010BC760 69 tls_clear_field_0xe76c_010bc760 crt Clears None bytes at TLS offset 0xe76c (thread-local field initializer) 0x010BC7B0 69 tls_clear_field_0xe77c_010bc7b0 crt Clears None bytes at TLS offset 0xe77c (thread-local field initializer) 0x010BC800 69 tls_clear_field_0xe78c_010bc800 crt Clears None bytes at TLS offset 0xe78c (thread-local field initializer) 0x010BC850 69 tls_clear_field_0xe79c_010bc850 crt Clears None bytes at TLS offset 0xe79c (thread-local field initializer) 0x010BC8A0 69 tls_clear_field_0xe7ac_010bc8a0 crt Clears None bytes at TLS offset 0xe7ac (thread-local field initializer) 0x010BC8F0 69 tls_clear_field_0xe7bc_010bc8f0 crt Clears None bytes at TLS offset 0xe7bc (thread-local field initializer) 0x010BC940 69 tls_clear_field_0xe7cc_010bc940 crt Clears None bytes at TLS offset 0xe7cc (thread-local field initializer) 0x010BC990 69 tls_clear_field_0xe7dc_010bc990 crt Clears None bytes at TLS offset 0xe7dc (thread-local field initializer) 0x010BC9E0 69 tls_clear_field_0xe228_010bc9e0 crt Clears 0xb bytes at TLS offset 0xe228 (thread-local field initializer) 0x010BCA30 66 seh_wrapper_CRenderPipeline__destroy_linked_list_and_vector_010bca30 crt SEH-protected wrapper calling CRenderPipeline__destroy_linked_list_and_vector 0x010BCA80 10 thunk_to_STL_string_dtor_010bca80 stl Wrapper that calls STL_string_dtor and returns 0x010BCA90 10 thunk_to_STL_string_dtor_010bca90 stl Wrapper that calls STL_string_dtor and returns 0x010BCAA0 10 thunk_to_STL_string_dtor_010bcaa0 stl Wrapper that calls STL_string_dtor and returns 0x010BCAB0 10 thunk_to_STL_string_dtor_010bcab0 stl Wrapper that calls STL_string_dtor and returns 0x010BCAC0 10 thunk_to_STL_string_dtor_010bcac0 stl Wrapper that calls STL_string_dtor and returns 0x010BCAD0 10 thunk_to_STL_string_dtor_010bcad0 stl Wrapper that calls STL_string_dtor and returns 0x010BCAE0 10 thunk_to_STL_string_dtor_010bcae0 stl Wrapper that calls STL_string_dtor and returns 0x010BCAF0 10 thunk_to_STL_string_dtor_010bcaf0 stl Wrapper that calls STL_string_dtor and returns 0x010BCB00 10 thunk_to_STL_string_dtor_010bcb00 stl Wrapper that calls STL_string_dtor and returns 0x010BCB10 10 thunk_to_STL_string_dtor_010bcb10 stl Wrapper that calls STL_string_dtor and returns 0x010BCB20 10 thunk_to_STL_string_dtor_010bcb20 stl Wrapper that calls STL_string_dtor and returns 0x010BCB30 10 thunk_to_STL_string_dtor_010bcb30 stl Wrapper that calls STL_string_dtor and returns 0x010BCB40 10 thunk_to_STL_string_dtor_010bcb40 stl Wrapper that calls STL_string_dtor and returns 0x010BCB50 10 thunk_to_STL_string_dtor_010bcb50 stl Wrapper that calls STL_string_dtor and returns 0x010BCB60 10 thunk_to_STL_string_dtor_010bcb60 stl Wrapper that calls STL_string_dtor and returns 0x010BCB70 10 thunk_to_STL_string_dtor_010bcb70 stl Wrapper that calls STL_string_dtor and returns 0x010BCB80 10 thunk_to_STL_string_dtor_010bcb80 stl Wrapper that calls STL_string_dtor and returns 0x010BCB90 10 thunk_to_STL_string_dtor_010bcb90 stl Wrapper that calls STL_string_dtor and returns 0x010BCBA0 10 thunk_to_STL_string_dtor_010bcba0 stl Wrapper that calls STL_string_dtor and returns 0x010BCBB0 10 thunk_to_STL_string_dtor_010bcbb0 stl Wrapper that calls STL_string_dtor and returns 0x010BCBC0 10 thunk_to_STL_string_dtor_010bcbc0 stl Wrapper that calls STL_string_dtor and returns 0x010BCBD0 10 thunk_to_STL_string_dtor_010bcbd0 stl Wrapper that calls STL_string_dtor and returns 0x010BCBE0 10 thunk_to_STL_string_dtor_010bcbe0 stl Wrapper that calls STL_string_dtor and returns 0x010BCBF0 10 thunk_to_STL_string_dtor_010bcbf0 stl Wrapper that calls STL_string_dtor and returns 0x010BCC00 10 thunk_to_STL_string_dtor_010bcc00 stl Wrapper that calls STL_string_dtor and returns 0x010BCC80 280 atexit_unregister_window_classes_and_delete_critsec_010bcc80 crt Atexit cleanup handler: unregisters all stored ATOM window classes via UnregisterClassA, frees the class array, and deletes the global critical section. The CRT_raise_exception_wrapper call is only a bounds-check guard (STATUS_ARRAY_BOUNDS_EXCEEDED). Paired with CRT_init_critical_section functions that register this as their atexit handler. 0x010BCDA0 66 seh_wrapper_STL_map_destroy_010bcda0 crt SEH-protected wrapper calling STL_map_destroy 0x010BCDF0 69 tls_clear_field_0xf2c4_010bcdf0 crt Clears None bytes at TLS offset 0xf2c4 (thread-local field initializer) 0x010BCE40 69 tls_clear_field_0xf2d4_010bce40 crt Clears 0xe bytes at TLS offset 0xf2d4 (thread-local field initializer) 0x010BCE90 69 tls_clear_field_0xf2e8_010bce90 crt Clears None bytes at TLS offset 0xf2e8 (thread-local field initializer) 0x010BCEE0 69 tls_clear_field_0xf2f8_010bcee0 crt Clears 0xe bytes at TLS offset 0xf2f8 (thread-local field initializer) 0x010BCF30 69 tls_clear_field_0xf30c_010bcf30 crt Clears None bytes at TLS offset 0xf30c (thread-local field initializer) 0x010BCF80 69 tls_clear_field_0xf31c_010bcf80 crt Clears 0xe bytes at TLS offset 0xf31c (thread-local field initializer) 0x010BCFD0 69 tls_clear_field_0xf330_010bcfd0 crt Clears None bytes at TLS offset 0xf330 (thread-local field initializer) 0x010BD020 69 tls_clear_field_0xf340_010bd020 crt Clears None bytes at TLS offset 0xf340 (thread-local field initializer) 0x010BD070 69 tls_clear_field_0xf350_010bd070 crt Clears None bytes at TLS offset 0xf350 (thread-local field initializer) 0x010BD0C0 69 tls_clear_field_0xf360_010bd0c0 crt Clears 0xe bytes at TLS offset 0xf360 (thread-local field initializer) 0x010BD110 69 tls_clear_field_0xec10_010bd110 crt Clears 0x12 bytes at TLS offset 0xec10 (thread-local field initializer) 0x010BD160 69 tls_clear_field_0xf374_010bd160 crt Clears None bytes at TLS offset 0xf374 (thread-local field initializer) 0x010BD1B0 69 tls_clear_field_0xf384_010bd1b0 crt Clears 0xe bytes at TLS offset 0xf384 (thread-local field initializer) 0x010BD200 69 tls_clear_field_0xf398_010bd200 crt Clears None bytes at TLS offset 0xf398 (thread-local field initializer) 0x010BD250 69 tls_clear_field_0xf3a8_010bd250 crt Clears 0xe bytes at TLS offset 0xf3a8 (thread-local field initializer) 0x010BD2A0 69 tls_clear_field_0xf3bc_010bd2a0 crt Clears None bytes at TLS offset 0xf3bc (thread-local field initializer) 0x010BD2F0 69 tls_clear_field_0xf3cc_010bd2f0 crt Clears None bytes at TLS offset 0xf3cc (thread-local field initializer) 0x010BD340 69 tls_clear_field_0xf3dc_010bd340 crt Clears None bytes at TLS offset 0xf3dc (thread-local field initializer) 0x010BD390 69 tls_clear_field_0xf3ec_010bd390 crt Clears 0x12 bytes at TLS offset 0xf3ec (thread-local field initializer) 0x010BD3E0 69 tls_clear_field_0xf404_010bd3e0 crt Clears 0xe bytes at TLS offset 0xf404 (thread-local field initializer) 0x010BD430 69 tls_clear_field_0xf418_010bd430 crt Clears 0xe bytes at TLS offset 0xf418 (thread-local field initializer) 0x010BD480 69 tls_clear_field_0xec28_010bd480 crt Clears 0xe bytes at TLS offset 0xec28 (thread-local field initializer) 0x010BD4D0 69 tls_clear_field_0xf42c_010bd4d0 crt Clears None bytes at TLS offset 0xf42c (thread-local field initializer) 0x010BD520 69 tls_clear_field_0xf43c_010bd520 crt Clears 0xe bytes at TLS offset 0xf43c (thread-local field initializer) 0x010BD570 69 tls_clear_field_0xf450_010bd570 crt Clears 0x1c bytes at TLS offset 0xf450 (thread-local field initializer) 0x010BD5C0 69 tls_clear_field_0xf474_010bd5c0 crt Clears 0x16 bytes at TLS offset 0xf474 (thread-local field initializer) 0x010BD610 69 tls_clear_field_0xf490_010bd610 crt Clears None bytes at TLS offset 0xf490 (thread-local field initializer) 0x010BD660 69 tls_clear_field_0xf4a0_010bd660 crt Clears 0xe bytes at TLS offset 0xf4a0 (thread-local field initializer) 0x010BD6B0 69 tls_clear_field_0xf4b4_010bd6b0 crt Clears None bytes at TLS offset 0xf4b4 (thread-local field initializer) 0x010BD700 69 tls_clear_field_0xf4c4_010bd700 crt Clears 0x12 bytes at TLS offset 0xf4c4 (thread-local field initializer) 0x010BD750 69 tls_clear_field_0xf4dc_010bd750 crt Clears None bytes at TLS offset 0xf4dc (thread-local field initializer) 0x010BD7A0 69 tls_clear_field_0xf4ec_010bd7a0 crt Clears None bytes at TLS offset 0xf4ec (thread-local field initializer) 0x010BD7F0 69 tls_clear_field_0xec3c_010bd7f0 crt Clears 0xe bytes at TLS offset 0xec3c (thread-local field initializer) 0x010BD840 69 tls_clear_field_0xf4fc_010bd840 crt Clears 0x22 bytes at TLS offset 0xf4fc (thread-local field initializer) 0x010BD890 69 tls_clear_field_0xf524_010bd890 crt Clears 0xe bytes at TLS offset 0xf524 (thread-local field initializer) 0x010BD8E0 69 tls_clear_field_0xf538_010bd8e0 crt Clears None bytes at TLS offset 0xf538 (thread-local field initializer) 0x010BD930 69 tls_clear_field_0xf548_010bd930 crt Clears 0xe bytes at TLS offset 0xf548 (thread-local field initializer) 0x010BD980 69 tls_clear_field_0xf55c_010bd980 crt Clears None bytes at TLS offset 0xf55c (thread-local field initializer) 0x010BD9D0 69 tls_clear_field_0xf56c_010bd9d0 crt Clears 0xe bytes at TLS offset 0xf56c (thread-local field initializer) 0x010BDA20 69 tls_clear_field_0xf580_010bda20 crt Clears None bytes at TLS offset 0xf580 (thread-local field initializer) 0x010BDA70 69 tls_clear_field_0xf590_010bda70 crt Clears None bytes at TLS offset 0xf590 (thread-local field initializer) 0x010BDAC0 69 tls_clear_field_0xf5a0_010bdac0 crt Clears None bytes at TLS offset 0xf5a0 (thread-local field initializer) 0x010BDB10 69 tls_clear_field_0xf5b0_010bdb10 crt Clears 0x12 bytes at TLS offset 0xf5b0 (thread-local field initializer) 0x010BDB60 69 tls_clear_field_0xec50_010bdb60 crt Clears None bytes at TLS offset 0xec50 (thread-local field initializer) 0x010BDBB0 69 tls_clear_field_0xf5c8_010bdbb0 crt Clears 0xe bytes at TLS offset 0xf5c8 (thread-local field initializer) 0x010BDC00 69 tls_clear_field_0xf5dc_010bdc00 crt Clears 0xe bytes at TLS offset 0xf5dc (thread-local field initializer) 0x010BDC50 69 tls_clear_field_0xf5f0_010bdc50 crt Clears None bytes at TLS offset 0xf5f0 (thread-local field initializer) 0x010BDCA0 69 tls_clear_field_0xf600_010bdca0 crt Clears 0xe bytes at TLS offset 0xf600 (thread-local field initializer) 0x010BDCF0 69 tls_clear_field_0xf614_010bdcf0 crt Clears 0x1c bytes at TLS offset 0xf614 (thread-local field initializer) 0x010BDD40 69 tls_clear_field_0xf638_010bdd40 crt Clears 0x16 bytes at TLS offset 0xf638 (thread-local field initializer) 0x010BDD90 69 tls_clear_field_f654 crt TLS destructor: zeros 10 bytes at TLS offset 0xf654. Clears thread-local encrypted string buffer. 0x010BDDE0 69 tls_clear_field_f664 crt TLS destructor: zeros 0xe bytes at TLS offset 0xf664. Clears thread-local encrypted string buffer. 0x010BDE30 69 tls_clear_field_f678 crt TLS destructor: zeros 10 bytes at TLS offset 0xf678. Clears thread-local encrypted string buffer. 0x010BDE80 69 tls_clear_field_f688 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xf688. Clears thread-local encrypted string buffer. 0x010BDED0 69 tls_clear_field_ec60 crt TLS destructor: zeros 0xe bytes at TLS offset 0xec60. Clears thread-local encrypted string buffer. 0x010BDF20 69 tls_clear_field_f6a0 crt TLS destructor: zeros 10 bytes at TLS offset 0xf6a0. Clears thread-local encrypted string buffer. 0x010BDF70 69 tls_clear_field_f6b0 crt TLS destructor: zeros 10 bytes at TLS offset 0xf6b0. Clears thread-local encrypted string buffer. 0x010BDFC0 69 tls_clear_field_f6c0 crt TLS destructor: zeros 0x22 bytes at TLS offset 0xf6c0. Clears thread-local encrypted string buffer. 0x010BE010 69 tls_clear_field_f6e8 crt TLS destructor: zeros 0xe bytes at TLS offset 0xf6e8. Clears thread-local encrypted string buffer. 0x010BE060 69 tls_clear_field_f6fc crt TLS destructor: zeros 0x12 bytes at TLS offset 0xf6fc. Clears thread-local encrypted string buffer. 0x010BE0B0 69 tls_clear_field_f714 crt TLS destructor: zeros 10 bytes at TLS offset 0xf714. Clears thread-local encrypted string buffer. 0x010BE100 69 tls_clear_field_f724 crt TLS destructor: zeros 10 bytes at TLS offset 0xf724. Clears thread-local encrypted string buffer. 0x010BE150 69 tls_clear_field_f734 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xf734. Clears thread-local encrypted string buffer. 0x010BE1A0 69 tls_clear_field_f74c crt TLS destructor: zeros 0xe bytes at TLS offset 0xf74c. Clears thread-local encrypted string buffer. 0x010BE1F0 69 tls_clear_field_f760 crt TLS destructor: zeros 10 bytes at TLS offset 0xf760. Clears thread-local encrypted string buffer. 0x010BE240 69 tls_clear_field_ec74 crt TLS destructor: zeros 0x1c bytes at TLS offset 0xec74. Clears thread-local encrypted string buffer. 0x010BE290 69 tls_clear_field_f770 crt TLS destructor: zeros 0xe bytes at TLS offset 0xf770. Clears thread-local encrypted string buffer. 0x010BE2E0 69 tls_clear_field_f784 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xf784. Clears thread-local encrypted string buffer. 0x010BE330 69 tls_clear_field_f79c crt TLS destructor: zeros 0x12 bytes at TLS offset 0xf79c. Clears thread-local encrypted string buffer. 0x010BE380 69 tls_clear_field_f7b4 crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf7b4. Clears thread-local encrypted string buffer. 0x010BE3D0 69 tls_clear_field_f7e0 crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf7e0. Clears thread-local encrypted string buffer. 0x010BE420 69 tls_clear_field_f80c crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf80c. Clears thread-local encrypted string buffer. 0x010BE470 69 tls_clear_field_f838 crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf838. Clears thread-local encrypted string buffer. 0x010BE4C0 69 tls_clear_field_f864 crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf864. Clears thread-local encrypted string buffer. 0x010BE510 69 tls_clear_field_f890 crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf890. Clears thread-local encrypted string buffer. 0x010BE560 69 tls_clear_field_f8bc crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf8bc. Clears thread-local encrypted string buffer. 0x010BE5B0 69 tls_clear_field_ec98 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xec98. Clears thread-local encrypted string buffer. 0x010BE600 69 tls_clear_field_f8e8 crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf8e8. Clears thread-local encrypted string buffer. 0x010BE650 69 tls_clear_field_f914 crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf914. Clears thread-local encrypted string buffer. 0x010BE6A0 69 tls_clear_field_f940 crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf940. Clears thread-local encrypted string buffer. 0x010BE6F0 69 tls_clear_field_f96c crt TLS destructor: zeros 0x24 bytes at TLS offset 0xf96c. Clears thread-local encrypted string buffer. 0x010BE740 69 tls_clear_array_18_at_0xf998 crt TLS initializer callback. Zeros 18 bytes in the TLS block at offset 0xF998. 0x010BE790 69 tls_clear_array_18_at_0xf9b0 crt TLS initializer callback. Zeros 18 bytes in the TLS block at offset 0xF9B0. 0x010BE7E0 69 tls_clear_field_f9c8 crt TLS destructor: zeros 10 bytes at TLS offset 0xf9c8. Clears thread-local encrypted string buffer. 0x010BE830 69 tls_clear_field_f9d8 crt TLS destructor: zeros 10 bytes at TLS offset 0xf9d8. Clears thread-local encrypted string buffer. 0x010BE880 69 tls_clear_field_f9e8 crt TLS destructor: zeros 0xe bytes at TLS offset 0xf9e8. Clears thread-local encrypted string buffer. 0x010BE8D0 69 tls_clear_field_f9fc crt TLS destructor: zeros 0xe bytes at TLS offset 0xf9fc. Clears thread-local encrypted string buffer. 0x010BE920 69 tls_clear_field_ecb4 crt TLS destructor: zeros 10 bytes at TLS offset 0xecb4. Clears thread-local encrypted string buffer. 0x010BE970 69 tls_clear_field_fa10 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfa10. Clears thread-local encrypted string buffer. 0x010BE9C0 69 tls_clear_field_fa28 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfa28. Clears thread-local encrypted string buffer. 0x010BEA10 69 tls_clear_field_fa40 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfa40. Clears thread-local encrypted string buffer. 0x010BEA60 69 tls_clear_field_fa58 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfa58. Clears thread-local encrypted string buffer. 0x010BEAB0 69 tls_clear_field_fa6c crt TLS destructor: zeros 0xe bytes at TLS offset 0xfa6c. Clears thread-local encrypted string buffer. 0x010BEB00 69 tls_clear_field_fa80 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xfa80. Clears thread-local encrypted string buffer. 0x010BEB50 69 tls_clear_field_fa9c crt TLS destructor: zeros 0x16 bytes at TLS offset 0xfa9c. Clears thread-local encrypted string buffer. 0x010BEBA0 69 tls_clear_field_fab8 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xfab8. Clears thread-local encrypted string buffer. 0x010BEBF0 69 tls_clear_field_fad4 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xfad4. Clears thread-local encrypted string buffer. 0x010BEC40 69 tls_clear_field_faf4 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xfaf4. Clears thread-local encrypted string buffer. 0x010BEC90 69 tls_clear_field_ecc4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xecc4. Clears thread-local encrypted string buffer. 0x010BECE0 69 tls_clear_field_fb14 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfb14. Clears thread-local encrypted string buffer. 0x010BED30 69 tls_clear_field_fb2c crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfb2c. Clears thread-local encrypted string buffer. 0x010BED80 69 tls_clear_field_fb44 crt TLS destructor: zeros 0x1e bytes at TLS offset 0xfb44. Clears thread-local encrypted string buffer. 0x010BEDD0 69 tls_clear_field_fb68 crt TLS destructor: zeros 0x1e bytes at TLS offset 0xfb68. Clears thread-local encrypted string buffer. 0x010BEE20 69 tls_clear_field_fb8c crt TLS destructor: zeros 0x1e bytes at TLS offset 0xfb8c. Clears thread-local encrypted string buffer. 0x010BEE70 69 tls_clear_field_fbb0 crt TLS destructor: zeros 10 bytes at TLS offset 0xfbb0. Clears thread-local encrypted string buffer. 0x010BEEC0 69 tls_clear_field_fbc0 crt TLS destructor: zeros 10 bytes at TLS offset 0xfbc0. Clears thread-local encrypted string buffer. 0x010BEF10 69 tls_clear_field_fbd0 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfbd0. Clears thread-local encrypted string buffer. 0x010BEF60 69 tls_clear_field_fbe4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfbe4. Clears thread-local encrypted string buffer. 0x010BEFB0 69 tls_clear_field_fbf8 crt TLS destructor: zeros 10 bytes at TLS offset 0xfbf8. Clears thread-local encrypted string buffer. 0x010BF000 69 tls_clear_field_ecd8 crt TLS destructor: zeros 10 bytes at TLS offset 0xecd8. Clears thread-local encrypted string buffer. 0x010BF050 69 tls_clear_field_eb70 crt TLS destructor: zeros 0xe bytes at TLS offset 0xeb70. Clears thread-local encrypted string buffer. 0x010BF0A0 69 tls_clear_field_fc08 crt TLS destructor: zeros 10 bytes at TLS offset 0xfc08. Clears thread-local encrypted string buffer. 0x010BF0F0 69 tls_clear_field_fc18 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfc18. Clears thread-local encrypted string buffer. 0x010BF140 69 tls_clear_field_fc2c crt TLS destructor: zeros 0xe bytes at TLS offset 0xfc2c. Clears thread-local encrypted string buffer. 0x010BF190 69 tls_clear_field_fc40 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfc40. Clears thread-local encrypted string buffer. 0x010BF1E0 69 tls_clear_field_fc54 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfc54. Clears thread-local encrypted string buffer. 0x010BF230 69 tls_clear_field_fc68 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfc68. Clears thread-local encrypted string buffer. 0x010BF280 69 tls_clear_field_fc80 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfc80. Clears thread-local encrypted string buffer. 0x010BF2D0 69 tls_clear_field_fc98 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfc98. Clears thread-local encrypted string buffer. 0x010BF320 69 tls_clear_field_fcb0 crt TLS destructor: zeros 10 bytes at TLS offset 0xfcb0. Clears thread-local encrypted string buffer. 0x010BF370 69 tls_clear_field_fcc0 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfcc0. Clears thread-local encrypted string buffer. 0x010BF3C0 69 tls_clear_field_ece8 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xece8. Clears thread-local encrypted string buffer. 0x010BF410 69 tls_clear_field_fcd4 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfcd4. Clears thread-local encrypted string buffer. 0x010BF460 69 tls_clear_field_fcec crt TLS destructor: zeros 0xe bytes at TLS offset 0xfcec. Clears thread-local encrypted string buffer. 0x010BF4B0 69 tls_clear_field_fd00 crt TLS destructor: zeros 0x1a bytes at TLS offset 0xfd00. Clears thread-local encrypted string buffer. 0x010BF500 69 tls_clear_field_fd20 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfd20. Clears thread-local encrypted string buffer. 0x010BF550 69 tls_clear_field_fd38 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfd38. Clears thread-local encrypted string buffer. 0x010BF5A0 69 tls_clear_field_fd4c crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfd4c. Clears thread-local encrypted string buffer. 0x010BF5F0 69 tls_clear_field_fd64 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfd64. Clears thread-local encrypted string buffer. 0x010BF640 69 tls_clear_field_fd78 crt TLS destructor: zeros 10 bytes at TLS offset 0xfd78. Clears thread-local encrypted string buffer. 0x010BF690 69 tls_clear_field_fd88 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfd88. Clears thread-local encrypted string buffer. 0x010BF6E0 69 tls_clear_field_fd9c crt TLS destructor: zeros 10 bytes at TLS offset 0xfd9c. Clears thread-local encrypted string buffer. 0x010BF730 69 tls_clear_field_ed00 crt TLS destructor: zeros 10 bytes at TLS offset 0xed00. Clears thread-local encrypted string buffer. 0x010BF780 69 tls_clear_array_14_at_0xfdac crt TLS initializer callback. Zeros 14 bytes in the TLS block at offset 0xFDAC. 0x010BF7D0 69 tls_clear_array_14_at_0xfdc0 crt TLS initializer callback. Zeros 14 bytes in the TLS block at offset 0xFDC0. 0x010BF820 69 tls_clear_field_fdd4 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfdd4. Clears thread-local encrypted string buffer. 0x010BF870 69 tls_clear_array_14_at_0xfde8 crt TLS initializer callback. Zeros 14 bytes in the TLS block at offset 0xFDE8. 0x010BF8C0 69 tls_clear_field_fdfc crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfdfc. Clears thread-local encrypted string buffer. 0x010BF910 69 tls_clear_field_fe14 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfe14. Clears thread-local encrypted string buffer. 0x010BF960 69 tls_clear_field_fe28 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfe28. Clears thread-local encrypted string buffer. 0x010BF9B0 69 tls_clear_field_fe3c crt TLS destructor: zeros 0xe bytes at TLS offset 0xfe3c. Clears thread-local encrypted string buffer. 0x010BFA00 69 tls_clear_field_fe50 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfe50. Clears thread-local encrypted string buffer. 0x010BFA50 69 tls_clear_field_fe64 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfe64. Clears thread-local encrypted string buffer. 0x010BFAA0 69 tls_clear_field_ed10 crt TLS destructor: zeros 10 bytes at TLS offset 0xed10. Clears thread-local encrypted string buffer. 0x010BFAF0 69 tls_clear_field_fe78 crt TLS destructor: zeros 0xe bytes at TLS offset 0xfe78. Clears thread-local encrypted string buffer. 0x010BFB40 69 tls_clear_field_fe8c crt TLS destructor: zeros 10 bytes at TLS offset 0xfe8c. Clears thread-local encrypted string buffer. 0x010BFB90 69 tls_clear_field_fe9c crt TLS destructor: zeros 10 bytes at TLS offset 0xfe9c. Clears thread-local encrypted string buffer. 0x010BFBE0 69 tls_clear_field_feac crt TLS destructor: zeros 10 bytes at TLS offset 0xfeac. Clears thread-local encrypted string buffer. 0x010BFC30 69 tls_clear_field_febc crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfebc. Clears thread-local encrypted string buffer. 0x010BFC80 69 tls_clear_field_fed4 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfed4. Clears thread-local encrypted string buffer. 0x010BFCD0 69 tls_clear_field_feec crt TLS destructor: zeros 0x12 bytes at TLS offset 0xfeec. Clears thread-local encrypted string buffer. 0x010BFD20 69 tls_clear_field_ff04 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xff04. Clears thread-local encrypted string buffer. 0x010BFD70 69 tls_clear_field_ff1c crt TLS destructor: zeros 0x16 bytes at TLS offset 0xff1c. Clears thread-local encrypted string buffer. 0x010BFDC0 69 tls_clear_field_ff38 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xff38. Clears thread-local encrypted string buffer. 0x010BFE10 69 tls_clear_field_ed20 crt TLS destructor: zeros 0x22 bytes at TLS offset 0xed20. Clears thread-local encrypted string buffer. 0x010BFE60 69 tls_clear_field_ff54 crt TLS destructor: zeros 0x16 bytes at TLS offset 0xff54. Clears thread-local encrypted string buffer. 0x010BFEB0 69 tls_clear_field_ff70 crt TLS destructor: zeros 0x10 bytes at TLS offset 0xff70. Clears thread-local encrypted string buffer. 0x010BFF00 69 tls_clear_field_ff88 crt TLS destructor: zeros 0xc bytes at TLS offset 0xff88. Clears thread-local encrypted string buffer. 0x010BFF50 69 tls_clear_field_ff9c crt TLS destructor: zeros 0x10 bytes at TLS offset 0xff9c. Clears thread-local encrypted string buffer. 0x010BFFA0 69 tls_clear_field_ffb4 crt TLS destructor: zeros 0xc bytes at TLS offset 0xffb4. Clears thread-local encrypted string buffer. 0x010BFFF0 69 tls_clear_field_ffc8 crt TLS destructor: zeros 0x14 bytes at TLS offset 0xffc8. Clears thread-local encrypted string buffer. 0x010C0040 69 tls_clear_field_ffe4 crt TLS destructor: zeros 0x12 bytes at TLS offset 0xffe4. Clears thread-local encrypted string buffer. 0x010C0090 69 tls_clear_field_fffc crt TLS destructor: zeros 0x17 bytes at TLS offset 0xfffc. Clears thread-local encrypted string buffer. 0x010C00E0 69 tls_clear_field_10018 crt TLS destructor: zeros 0x12 bytes at TLS offset 0x10018. Clears thread-local encrypted string buffer. 0x010C0130 69 tls_clear_field_10030 crt TLS destructor: zeros 0x17 bytes at TLS offset 0x10030. Clears thread-local encrypted string buffer. 0x010C0180 69 tls_clear_field_ed48 crt TLS destructor: zeros 0xe bytes at TLS offset 0xed48. Clears thread-local encrypted string buffer. 0x010C01D0 69 tls_clear_field_1004c crt TLS destructor: zeros 10 bytes at TLS offset 0x1004c. Clears thread-local encrypted string buffer. 0x010C0220 69 tls_clear_field_1005c crt TLS destructor: zeros 10 bytes at TLS offset 0x1005c. Clears thread-local encrypted string buffer. 0x010C0270 69 tls_clear_field_1006c crt TLS destructor: zeros 0x10 bytes at TLS offset 0x1006c. Clears thread-local encrypted string buffer. 0x010C02C0 69 tls_clear_field_10084 crt TLS destructor: zeros 0xc bytes at TLS offset 0x10084. Clears thread-local encrypted string buffer. 0x010C0310 69 tls_clear_field_10098 crt TLS destructor: zeros 0x10 bytes at TLS offset 0x10098. Clears thread-local encrypted string buffer. 0x010C0360 69 tls_clear_field_100b0 crt TLS destructor: zeros 0xc bytes at TLS offset 0x100b0. Clears thread-local encrypted string buffer. 0x010C03B0 69 tls_clear_field_0x100c4 crt Clears a TLS byte array at offset 0x100c4 (18 bytes). Accesses thread-local storage via FS:[0x2c] + TLS_index, then zeroes out the field in a loop. 0x010C0400 69 tls_clear_field_at_010c0400 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0450 69 tls_clear_field_0x100f4 crt Clears a TLS byte array at offset 0x100f4 (10 bytes). Accesses thread-local storage via FS:[0x2c] + TLS_index, then zeroes out the field in a loop. 0x010C04A0 69 tls_clear_field_0x10104 crt Clears a TLS byte array at offset 0x10104 (10 bytes). Accesses thread-local storage via FS:[0x2c] + TLS_index, then zeroes out the field in a loop. 0x010C04F0 69 tls_clear_field_0xed5c crt Clears a TLS byte array at offset 0xed5c (10 bytes). Accesses thread-local storage via FS:[0x2c] + TLS_index, then zeroes out the field in a loop. 0x010C0540 69 tls_clear_field_0x10114 crt Clears a TLS byte array at offset 0x10114 (10 bytes). Accesses thread-local storage via FS:[0x2c] + TLS_index, then zeroes out the field in a loop. 0x010C0590 69 tls_clear_field_at_010c0590 crt TLS array clear function: zeroes a byte array in thread-local storage at a specific offset. Used as a destructor callback registered with tls_register_destructor to clean up encrypted string buffers. 0x010C05E0 69 tls_clear_field_at_010c05e0 crt TLS array clear function: zeroes a byte array in thread-local storage at a specific offset. Used as a destructor callback registered with tls_register_destructor to clean up encrypted string buffers. 0x010C0630 69 tls_clear_field_at_010c0630 crt TLS array clear function: zeroes a byte array in thread-local storage at a specific offset. Used as a destructor callback registered with tls_register_destructor to clean up encrypted string buffers. 0x010C0680 69 tls_clear_field_at_010c0680 crt TLS array clear function: zeroes a byte array in thread-local storage at a specific offset. Used as a destructor callback registered with tls_register_destructor to clean up encrypted string buffers. 0x010C06D0 69 tls_clear_field_at_010c06d0 crt TLS array clear function: zeroes a byte array in thread-local storage at a specific offset. Used as a destructor callback registered with tls_register_destructor to clean up encrypted string buffers. 0x010C0720 69 tls_clear_field_at_010c0720 crt TLS array clear function: zeroes a byte array in thread-local storage at a specific offset. Used as a destructor callback registered with tls_register_destructor to clean up encrypted string buffers. 0x010C0770 69 tls_clear_field_at_010c0770 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C07C0 69 tls_clear_field_at_010c07c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0810 69 tls_clear_field_at_010c0810 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0860 69 tls_clear_field_at_010c0860 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C08B0 69 tls_clear_field_at_010c08b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0900 69 tls_clear_field_at_010c0900 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0950 69 tls_clear_field_at_010c0950 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C09A0 69 tls_clear_field_at_010c09a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C09F0 69 tls_clear_field_at_010c09f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0A40 69 tls_clear_field_at_010c0a40 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0A90 69 tls_clear_field_at_010c0a90 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0AE0 69 tls_clear_field_at_010c0ae0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0B30 69 tls_clear_field_at_010c0b30 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0B80 69 tls_clear_field_at_010c0b80 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0BD0 69 tls_clear_field_at_010c0bd0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0C20 69 tls_clear_field_at_010c0c20 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0C70 69 tls_clear_field_at_010c0c70 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0CC0 69 tls_clear_field_at_010c0cc0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0D10 69 tls_clear_field_at_010c0d10 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0D60 69 tls_clear_field_at_010c0d60 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0DB0 69 tls_clear_field_at_010c0db0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0E00 69 tls_clear_field_at_010c0e00 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0E50 69 tls_clear_field_at_010c0e50 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0EA0 69 tls_clear_field_at_010c0ea0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0EF0 69 tls_clear_field_at_010c0ef0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0F40 69 tls_clear_field_at_010c0f40 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0F90 69 tls_clear_field_at_010c0f90 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C0FE0 69 tls_clear_field_at_010c0fe0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1030 69 tls_clear_field_at_010c1030 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1080 69 tls_clear_field_at_010c1080 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C10D0 69 tls_clear_field_at_010c10d0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1120 69 tls_clear_field_at_010c1120 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1170 69 tls_clear_field_at_010c1170 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C11C0 69 tls_clear_field_at_010c11c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1210 69 tls_clear_field_at_010c1210 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1260 69 tls_clear_field_at_010c1260 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C12B0 69 tls_clear_field_at_010c12b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1300 69 tls_clear_field_at_010c1300 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1350 69 tls_clear_field_at_010c1350 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C13A0 69 tls_clear_field_at_010c13a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C13F0 69 tls_clear_field_at_010c13f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1440 69 tls_clear_field_at_010c1440 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1490 69 tls_clear_field_at_010c1490 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C14E0 69 tls_clear_field_at_010c14e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1530 69 tls_clear_field_at_010c1530 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1580 69 tls_clear_field_at_010c1580 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C15D0 69 tls_clear_field_at_010c15d0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1620 69 tls_clear_field_at_010c1620 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1670 69 tls_clear_field_at_010c1670 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C16C0 69 tls_clear_field_at_010c16c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1710 69 tls_clear_field_at_010c1710 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1760 69 tls_clear_field_at_010c1760 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C17B0 69 tls_clear_field_at_010c17b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1800 69 tls_clear_field_at_010c1800 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1850 69 tls_clear_field_at_010c1850 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C18A0 69 tls_clear_field_at_010c18a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C18F0 69 tls_clear_field_at_010c18f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1940 69 tls_clear_field_at_010c1940 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1990 69 tls_clear_field_at_010c1990 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C19E0 69 tls_clear_field_at_010c19e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1A30 69 tls_clear_field_at_010c1a30 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1A80 69 tls_clear_field_at_010c1a80 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1AD0 69 tls_clear_field_at_010c1ad0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1B20 69 tls_clear_field_at_010c1b20 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1B70 69 tls_clear_field_at_010c1b70 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1BC0 69 tls_clear_field_at_010c1bc0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1C10 69 tls_clear_field_at_010c1c10 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1C60 69 tls_clear_field_at_010c1c60 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1CB0 69 tls_clear_field_at_010c1cb0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1D00 69 tls_clear_field_at_010c1d00 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1D50 69 tls_clear_field_at_010c1d50 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1DA0 69 tls_clear_field_at_010c1da0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1DF0 69 tls_clear_field_at_010c1df0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1E40 69 tls_clear_field_at_010c1e40 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1E90 69 tls_clear_field_at_010c1e90 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1EE0 69 tls_clear_field_at_010c1ee0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1F30 69 tls_clear_field_at_010c1f30 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1F80 69 tls_clear_field_at_010c1f80 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C1FD0 69 tls_clear_field_at_010c1fd0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2020 69 tls_clear_field_at_010c2020 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2070 69 tls_clear_field_at_010c2070 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C20C0 69 tls_clear_field_at_010c20c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2110 69 tls_clear_field_at_010c2110 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2160 69 tls_clear_field_at_010c2160 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C21B0 69 tls_clear_field_at_010c21b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2200 69 tls_clear_field_at_010c2200 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2250 69 tls_clear_field_at_010c2250 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C22A0 69 tls_clear_field_at_010c22a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C22F0 69 tls_clear_field_at_010c22f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2340 69 tls_clear_field_at_010c2340 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2390 69 tls_clear_field_at_010c2390 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C23E0 69 tls_clear_field_at_010c23e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2430 69 tls_clear_field_at_010c2430 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2480 69 tls_clear_field_at_010c2480 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C24D0 69 tls_clear_field_at_010c24d0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2520 69 tls_clear_field_at_010c2520 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2570 69 tls_clear_field_at_010c2570 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C25C0 69 tls_clear_field_at_010c25c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2610 69 tls_clear_field_at_010c2610 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2660 69 tls_clear_field_at_010c2660 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C26B0 69 tls_clear_field_at_010c26b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2700 69 tls_clear_field_at_010c2700 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2750 69 tls_clear_field_at_010c2750 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C27A0 69 tls_clear_field_at_010c27a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C27F0 69 tls_clear_field_at_010c27f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2840 69 tls_clear_field_at_010c2840 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2890 69 tls_clear_field_at_010c2890 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C28E0 69 tls_clear_field_at_010c28e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2930 69 tls_clear_field_at_010c2930 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2980 69 tls_clear_field_at_010c2980 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C29D0 69 tls_clear_field_at_010c29d0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2A20 69 tls_clear_field_at_010c2a20 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2A70 69 tls_clear_field_at_010c2a70 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2AC0 69 tls_clear_field_at_010c2ac0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2B10 69 tls_clear_field_at_010c2b10 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2B60 69 tls_clear_field_at_010c2b60 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2BB0 69 tls_clear_field_at_010c2bb0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2C00 69 tls_clear_field_at_010c2c00 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2C50 69 tls_clear_field_at_010c2c50 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2CA0 69 tls_clear_field_at_010c2ca0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2CF0 69 tls_clear_field_at_010c2cf0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2D40 69 tls_clear_field_at_010c2d40 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2D90 69 tls_clear_field_at_010c2d90 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2DE0 69 tls_clear_field_at_010c2de0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2E30 69 tls_clear_field_at_010c2e30 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2E80 69 tls_clear_field_at_010c2e80 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2ED0 69 tls_clear_field_at_010c2ed0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2F20 69 tls_clear_field_at_010c2f20 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2F70 69 tls_clear_field_at_010c2f70 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C2FC0 69 tls_clear_field_at_010c2fc0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3010 69 tls_clear_field_at_010c3010 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3060 69 tls_clear_field_at_010c3060 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C30B0 69 tls_clear_field_at_010c30b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3100 69 tls_clear_field_at_010c3100 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3150 69 tls_clear_field_at_010c3150 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C31A0 69 tls_clear_field_at_010c31a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C31F0 69 tls_clear_field_at_010c31f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3240 69 tls_clear_field_at_010c3240 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3290 69 tls_clear_field_at_010c3290 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C32E0 69 tls_clear_field_at_010c32e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3330 69 tls_clear_field_at_010c3330 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3380 69 tls_clear_field_at_010c3380 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C33D0 66 seh_wrapper_destroy_render_pipeline crt SEH wrapper that calls CRenderPipeline__destroy_linked_list_and_vector within an exception handler frame. Registered as an atexit/destructor callback for render pipeline cleanup. 0x010C3420 10 thunk_to_STL_string_dtor_010c3420 stl Wrapper that calls STL_string_dtor and returns 0x010C3430 10 thunk_to_STL_string_dtor_010c3430 stl Wrapper that calls STL_string_dtor and returns 0x010C3440 10 thunk_to_STL_string_dtor_010c3440 stl Wrapper that calls STL_string_dtor and returns 0x010C3450 10 thunk_to_STL_string_dtor_010c3450 stl Wrapper that calls STL_string_dtor and returns 0x010C3460 10 thunk_to_STL_string_dtor_010c3460 stl Wrapper that calls STL_string_dtor and returns 0x010C3470 10 thunk_to_STL_string_dtor_010c3470 stl Wrapper that calls STL_string_dtor and returns 0x010C3480 10 thunk_to_STL_string_dtor_010c3480 stl Wrapper that calls STL string destructor 0x010C3490 10 thunk_to_STL_string_dtor_010c3490 stl Wrapper that calls STL_string_dtor and returns 0x010C34A0 10 thunk_to_STL_string_dtor_010c34a0 stl Wrapper that calls STL_string_dtor and returns 0x010C34B0 10 thunk_to_STL_string_dtor_010c34b0 stl Wrapper that calls STL_string_dtor and returns 0x010C34C0 10 thunk_to_STL_string_dtor_010c34c0 stl Wrapper that calls STL_string_dtor and returns 0x010C34D0 10 thunk_to_STL_string_dtor_010c34d0 stl Wrapper that calls STL_string_dtor and returns 0x010C34E0 10 thunk_to_STL_string_dtor_010c34e0 stl Wrapper that calls STL string destructor 0x010C34F0 10 thunk_to_STL_string_dtor_010c34f0 stl Wrapper that calls STL_string_dtor and returns 0x010C3500 10 thunk_to_STL_string_dtor_010c3500 stl Wrapper that calls STL_string_dtor and returns 0x010C3510 10 thunk_to_STL_string_dtor_010c3510 stl Wrapper that calls STL_string_dtor and returns 0x010C3520 10 thunk_to_STL_string_dtor_010c3520 stl Wrapper that calls STL string destructor 0x010C3530 10 thunk_to_STL_string_dtor_010c3530 stl Wrapper that calls STL_string_dtor and returns 0x010C3540 10 thunk_to_STL_string_dtor_010c3540 stl Wrapper that calls STL_string_dtor and returns 0x010C3550 10 thunk_to_STL_string_dtor_010c3550 stl Wrapper that calls STL_string_dtor and returns 0x010C3560 10 thunk_to_STL_string_dtor_010c3560 stl Wrapper that calls STL_string_dtor and returns 0x010C3570 10 thunk_to_STL_string_dtor_010c3570 stl Wrapper that calls STL_string_dtor and returns 0x010C3580 10 thunk_to_STL_string_dtor_010c3580 stl Wrapper that calls STL_string_dtor and returns 0x010C3590 10 thunk_to_STL_string_dtor_010c3590 stl Wrapper that calls STL_string_dtor and returns immediately 0x010C35A0 10 thunk_to_STL_string_dtor_010c35a0 stl Wrapper that calls STL_string_dtor and returns 0x010C3620 280 atexit_unregister_window_classes_and_cleanup_010c3620 crt Atexit cleanup: unregisters all window classes by atom, frees class array, deletes critical section, zeros globals. SEH-protected. 0x010C3740 66 seh_wrapper_destroy_render_pipeline_010c3740 crt SEH wrapper that calls CRenderPipeline__destroy_linked_list_and_vector within an exception handler frame. Registered as an atexit/destructor callback for render pipeline cleanup. Duplicate instance. 0x010C3800 280 atexit_unregister_window_classes_010c3800 crt Atexit cleanup handler (duplicate): Unregisters all registered window classes by atom, frees the class atom array, deletes the associated critical section, and resets class tracking globals. Uses SEH frame for exception safety. 0x010C3990 280 atexit_unregister_window_classes_010c3990 crt Atexit cleanup handler (duplicate): Unregisters all registered window classes by atom, frees the class atom array, deletes the associated critical section, and resets class tracking globals. Uses SEH frame for exception safety. 0x010C3AB0 66 seh_wrapper_destroy_render_pipeline_010c3ab0 crt SEH wrapper that calls CRenderPipeline__destroy_linked_list_and_vector within an exception handler frame. Registered as an atexit/destructor callback for render pipeline cleanup. Duplicate instance. 0x010C3B00 10 thunk_to_STL_string_dtor_010c3b00 stl Wrapper that calls STL_string_dtor and returns 0x010C3B10 10 thunk_to_STL_string_dtor_010c3b10 stl Wrapper that calls STL_string_dtor and returns 0x010C3B20 10 thunk_to_STL_string_dtor_010c3b20 stl Wrapper that calls STL_string_dtor and returns 0x010C3B30 10 thunk_to_STL_string_dtor_010c3b30 stl Wrapper that calls STL_string_dtor and returns 0x010C3B40 10 thunk_to_STL_string_dtor_010c3b40 stl Wrapper that calls STL_string_dtor and returns 0x010C3B50 10 thunk_to_STL_string_dtor_010c3b50 stl Wrapper that calls STL_string_dtor and returns 0x010C3B60 10 thunk_to_STL_string_dtor_010c3b60 stl Wrapper that calls STL_string_dtor and returns 0x010C3B70 10 thunk_to_STL_string_dtor_010c3b70 stl Wrapper that calls STL_string_dtor and returns 0x010C3B80 10 thunk_to_STL_string_dtor_010c3b80 stl Wrapper that calls STL_string_dtor and returns 0x010C3B90 10 thunk_to_STL_string_dtor_010c3b90 stl Wrapper that calls STL_string_dtor and returns 0x010C3BA0 10 thunk_to_STL_string_dtor_010c3ba0 stl Wrapper that calls STL_string_dtor and returns 0x010C3BB0 10 thunk_to_STL_string_dtor_010c3bb0 stl Wrapper that calls STL_string_dtor and returns 0x010C3BC0 10 thunk_to_STL_string_dtor_010c3bc0 stl Wrapper that calls STL_string_dtor and returns 0x010C3BD0 10 thunk_to_STL_string_dtor_010c3bd0 stl Wrapper that calls STL_string_dtor and returns 0x010C3BE0 10 thunk_to_STL_string_dtor_010c3be0 stl Wrapper that calls STL_string_dtor and returns 0x010C3BF0 10 thunk_to_STL_string_dtor_010c3bf0 stl Wrapper that calls STL_string_dtor and returns 0x010C3C00 10 thunk_to_STL_string_dtor_010c3c00 stl Wrapper that calls STL_string_dtor and returns 0x010C3C10 10 thunk_to_STL_string_dtor_010c3c10 stl Wrapper that calls STL_string_dtor and returns 0x010C3C20 10 thunk_to_STL_string_dtor_010c3c20 stl Wrapper that calls STL_string_dtor and returns 0x010C3C30 10 thunk_to_STL_string_dtor_010c3c30 stl Wrapper that calls STL_string_dtor and returns 0x010C3C40 10 thunk_to_STL_string_dtor_010c3c40 stl Wrapper that calls STL_string_dtor and returns 0x010C3C50 10 thunk_to_STL_string_dtor_010c3c50 stl Wrapper that calls STL_string_dtor and returns 0x010C3C60 10 thunk_to_STL_string_dtor_010c3c60 stl Wrapper that calls STL_string_dtor and returns 0x010C3C70 10 thunk_to_STL_string_dtor_010c3c70 stl Wrapper that calls STL_string_dtor and returns 0x010C3C80 10 thunk_to_STL_string_dtor_010c3c80 stl Wrapper that calls STL_string_dtor and returns 0x010C3D00 280 atexit_unregister_window_classes_010c3d00 crt Atexit cleanup handler (duplicate): Unregisters all registered window classes by atom, frees the class atom array, deletes the associated critical section, and resets class tracking globals. Uses SEH frame for exception safety. 0x010C3E20 66 seh_wrapper_destroy_render_pipeline_010c3e20 crt SEH wrapper that calls CRenderPipeline__destroy_linked_list_and_vector within an exception handler frame. Registered as an atexit/destructor callback for render pipeline cleanup. Duplicate instance. 0x010C3E70 69 tls_clear_field_at_010c3e70 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3EC0 69 tls_clear_field_at_010c3ec0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3F10 69 tls_clear_field_at_010c3f10 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3F60 69 tls_clear_field_at_010c3f60 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C3FB0 69 tls_clear_field_at_010c3fb0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4000 69 tls_clear_field_at_010c4000 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4050 69 tls_clear_field_at_010c4050 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C40A0 69 tls_clear_field_at_010c40a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C40F0 69 tls_clear_field_at_010c40f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4140 69 tls_clear_field_at_010c4140 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4190 69 tls_clear_field_at_010c4190 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C41E0 69 tls_clear_field_at_010c41e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4230 69 tls_clear_field_at_010c4230 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4280 69 tls_clear_field_at_010c4280 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C42D0 69 tls_clear_field_at_010c42d0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4320 69 tls_clear_field_at_010c4320 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4370 69 tls_clear_field_at_010c4370 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C43C0 69 tls_clear_field_at_010c43c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4410 69 tls_clear_field_at_010c4410 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4460 69 tls_clear_field_at_010c4460 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C44B0 69 tls_clear_field_at_010c44b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4500 69 tls_clear_field_at_010c4500 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4550 69 tls_clear_field_at_010c4550 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C45A0 69 tls_clear_field_at_010c45a0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C45F0 69 tls_clear_field_at_010c45f0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4640 69 tls_clear_field_at_010c4640 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4690 69 tls_clear_field_at_010c4690 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C46E0 69 tls_clear_field_at_010c46e0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4730 69 tls_clear_field_at_010c4730 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4780 69 tls_clear_field_at_010c4780 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C47D0 69 tls_clear_field_at_010c47d0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4820 69 tls_clear_field_at_010c4820 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4870 69 tls_clear_field_at_010c4870 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C48C0 69 tls_clear_field_at_010c48c0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4910 69 tls_clear_field_at_010c4910 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4960 69 tls_clear_field_at_010c4960 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C49B0 69 tls_clear_field_at_010c49b0 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4A00 69 tls_clear_field_at_010c4a00 crt Zeros a TLS field by writing 0 to each byte in a small range at the specified offset in thread-local storage. 0x010C4A50 69 tls_clear_field_113a4 crt TLS destructor: zeros 0x26 bytes at TLS offset 0x113a4. Clears thread-local encrypted string buffer. 0x010C4AA0 69 tls_clear_field_10fac crt TLS destructor: zeros 0x2e bytes at TLS offset 0x10fac. Clears thread-local encrypted string buffer. 0x010C4AF0 69 tls_clear_field_113d0 crt TLS destructor: zeros 0xc bytes at TLS offset 0x113d0. Clears thread-local encrypted string buffer. 0x010C4B40 69 tls_clear_field_10fe0 crt TLS destructor: zeros 0x1e bytes at TLS offset 0x10fe0. Clears thread-local encrypted string buffer. 0x010C4B90 69 tls_clear_field_113e4 crt TLS destructor: zeros 6 bytes at TLS offset 0x113e4. Clears thread-local encrypted string buffer. 0x010C4BE0 69 tls_clear_field_11004 crt TLS destructor: zeros 0x20 bytes at TLS offset 0x11004. Clears thread-local encrypted string buffer. 0x010C4C30 69 tls_clear_field_113f0 crt TLS destructor: zeros 6 bytes at TLS offset 0x113f0. Clears thread-local encrypted string buffer. 0x010C4C80 69 tls_clear_field_1102c crt TLS destructor: zeros 0x21 bytes at TLS offset 0x1102c. Clears thread-local encrypted string buffer. 0x010C4CD0 69 tls_clear_field_113fc crt TLS destructor: zeros 6 bytes at TLS offset 0x113fc. Clears thread-local encrypted string buffer. 0x010C4D20 69 tls_clear_field_11054 crt TLS destructor: zeros 0x23 bytes at TLS offset 0x11054. Clears thread-local encrypted string buffer. 0x010C4D70 69 tls_clear_field_11408 crt TLS destructor: zeros 6 bytes at TLS offset 0x11408. Clears thread-local encrypted string buffer. 0x010C4DC0 69 tls_clear_field_1107c crt TLS destructor: zeros 0x28 bytes at TLS offset 0x1107c. Clears thread-local encrypted string buffer. 0x010C4E10 69 tls_clear_array_6_at_0x11414 crt TLS initializer callback. Zeros 6 bytes in the TLS block at offset 0x11414. 0x010C4E60 69 tls_clear_array_28_at_0x110ac crt TLS initializer callback. Zeros 28 bytes in the TLS block at offset 0x110AC. 0x010C4EB0 69 tls_clear_field_11420 crt TLS destructor: zeros 5 bytes at TLS offset 0x11420. Clears thread-local encrypted string buffer. 0x010C4F00 69 tls_clear_field_1142c crt TLS destructor: zeros 10 bytes at TLS offset 0x1142c. Clears thread-local encrypted string buffer. 0x010C4F50 69 tls_clear_field_110d0 crt TLS destructor: zeros 0x21 bytes at TLS offset 0x110d0. Clears thread-local encrypted string buffer. 0x010C4FA0 69 tls_clear_field_111ec crt TLS destructor: zeros 0x12 bytes at TLS offset 0x111ec. Clears thread-local encrypted string buffer. 0x010C4FF0 69 tls_clear_field_10bfc crt TLS destructor: zeros 3 bytes at TLS offset 0x10bfc. Clears thread-local encrypted string buffer. 0x010C5040 69 tls_clear_field_10914 crt TLS destructor: zeros 0x19 bytes at TLS offset 0x10914. Clears thread-local encrypted string buffer. 0x010C5090 69 tls_clear_field_10a04 crt TLS destructor: zeros 0xe bytes at TLS offset 0x10a04. Clears thread-local encrypted string buffer. 0x010C50E0 69 tls_clear_field_10c8c crt TLS destructor: zeros 0x23 bytes at TLS offset 0x10c8c. Clears thread-local encrypted string buffer. 0x010C5130 69 tls_clear_field_10af8 crt TLS destructor: zeros 0x10 bytes at TLS offset 0x10af8. Clears thread-local encrypted string buffer. 0x010C5180 69 tls_clear_field_10ce4 crt TLS destructor: zeros 0x1c bytes at TLS offset 0x10ce4. Clears thread-local encrypted string buffer. 0x010C51D0 69 tls_clear_field_11218 crt TLS destructor: zeros 0x2f bytes at TLS offset 0x11218. Clears thread-local encrypted string buffer. 0x010C5220 69 tls_clear_field_10a90 crt TLS destructor: zeros 0xc bytes at TLS offset 0x10a90. Clears thread-local encrypted string buffer. 0x010C5270 69 tls_clear_field_108d8 crt TLS destructor: zeros 0x21 bytes at TLS offset 0x108d8. Clears thread-local encrypted string buffer. 0x010C52C0 69 tls_clear_field_1143c crt TLS destructor: zeros 9 bytes at TLS offset 0x1143c. Clears thread-local encrypted string buffer. 0x010C5310 69 tls_clear_field_110f8 crt TLS destructor: zeros 0x1a bytes at TLS offset 0x110f8. Clears thread-local encrypted string buffer. 0x010C5360 69 tls_clear_field_11118 crt TLS destructor: zeros 0x20 bytes at TLS offset 0x11118. Clears thread-local encrypted string buffer. 0x010C53B0 69 tls_clear_field_1144c crt TLS destructor: zeros 0xf bytes at TLS offset 0x1144c. Clears thread-local encrypted string buffer. 0x010C5400 69 tls_clear_field_11140 crt TLS destructor: zeros 0x27 bytes at TLS offset 0x11140. Clears thread-local encrypted string buffer. 0x010C5450 69 tls_clear_field_11460 crt TLS destructor: zeros 0xc bytes at TLS offset 0x11460. Clears thread-local encrypted string buffer. 0x010C54A0 69 tls_clear_field_11474 crt TLS destructor: zeros 10 bytes at TLS offset 0x11474. Clears thread-local encrypted string buffer. 0x010C54F0 69 tls_clear_field_1116c crt TLS destructor: zeros 0x28 bytes at TLS offset 0x1116c. Clears thread-local encrypted string buffer. 0x010C5540 69 tls_clear_field_11484 crt TLS destructor: zeros 9 bytes at TLS offset 0x11484. Clears thread-local encrypted string buffer. 0x010C5590 69 tls_clear_field_1119c crt TLS destructor: zeros 0x25 bytes at TLS offset 0x1119c. Clears thread-local encrypted string buffer. 0x010C55E0 69 tls_clear_field_111c8 crt TLS destructor: zeros 5 bytes at TLS offset 0x111c8. Clears thread-local encrypted string buffer. 0x010C5630 69 tls_clear_field_11494 crt TLS destructor: zeros 9 bytes at TLS offset 0x11494. Clears thread-local encrypted string buffer. 0x010C5680 69 tls_clear_field_114a4 crt TLS destructor: zeros 0x19 bytes at TLS offset 0x114a4. Clears thread-local encrypted string buffer. 0x010C56D0 69 tls_clear_field_114c4 crt TLS destructor: zeros 0x3b bytes at TLS offset 0x114c4. Clears thread-local encrypted string buffer. 0x010C5720 69 tls_clear_field_11504 crt TLS destructor: zeros 0x11 bytes at TLS offset 0x11504. Clears thread-local encrypted string buffer. 0x010C5770 69 tls_clear_field_1151c crt TLS destructor: zeros 6 bytes at TLS offset 0x1151c. Clears thread-local encrypted string buffer. 0x010C57C0 69 tls_clear_field_10934 crt TLS destructor: zeros 0xf bytes at TLS offset 0x10934. Clears thread-local encrypted string buffer. 0x010C5810 69 tls_clear_field_10a18 crt TLS destructor: zeros 0x13 bytes at TLS offset 0x10a18. Clears thread-local encrypted string buffer. 0x010C5860 69 tls_clear_field_10cb4 crt TLS destructor: zeros 6 bytes at TLS offset 0x10cb4. Clears thread-local encrypted string buffer. 0x010C58B0 69 tls_clear_field_10c04 crt TLS destructor: zeros 10 bytes at TLS offset 0x10c04. Clears thread-local encrypted string buffer. 0x010C5900 69 tls_clear_field_10b10 crt TLS destructor: zeros 0xb bytes at TLS offset 0x10b10. Clears thread-local encrypted string buffer. 0x010C5950 69 tls_clear_field_10aa4 crt TLS destructor: zeros 0xe bytes at TLS offset 0x10aa4. Clears thread-local encrypted string buffer. 0x010C59A0 69 tls_clear_field_10d08 crt TLS destructor: zeros 0x1e bytes at TLS offset 0x10d08. Clears thread-local encrypted string buffer. 0x010C59F0 69 tls_clear_field_1124c crt TLS destructor: zeros 10 bytes at TLS offset 0x1124c. Clears thread-local encrypted string buffer. 0x010C5A40 69 tls_clear_field_11528 crt TLS destructor: zeros 0x1e bytes at TLS offset 0x11528. Clears thread-local encrypted string buffer. 0x010C5A90 69 tls_clear_field_1154c crt TLS destructor: zeros 5 bytes at TLS offset 0x1154c. Clears thread-local encrypted string buffer. 0x010C5AE0 69 tls_clear_array_7_at_0x115c8 crt TLS initializer callback. Zeros 7 bytes in the TLS block at offset 0x115C8. 0x010C5B30 69 tls_clear_field_11564 crt TLS destructor: zeros 7 bytes at TLS offset 0x11564. Clears thread-local encrypted string buffer. 0x010C5B80 69 tls_clear_field_11570 crt TLS destructor: zeros 0xf bytes at TLS offset 0x11570. Clears thread-local encrypted string buffer. 0x010C5BD0 69 tls_clear_field_11584 crt TLS destructor: zeros 4 bytes at TLS offset 0x11584. Clears thread-local encrypted string buffer. 0x010C5C20 69 tls_clear_field_11590 crt TLS destructor: zeros 5 bytes at TLS offset 0x11590. Clears thread-local encrypted string buffer. 0x010C5C70 69 tls_clear_field_1159c crt TLS destructor: zeros 0x3e bytes at TLS offset 0x1159c. Clears thread-local encrypted string buffer. 0x010C5CC0 69 tls_clear_field_115e0 crt TLS destructor: zeros 0x3e bytes at TLS offset 0x115e0. Clears thread-local encrypted string buffer. 0x010C5D10 69 tls_clear_field_11624 crt TLS destructor: zeros 5 bytes at TLS offset 0x11624. Clears thread-local encrypted string buffer. 0x010C5D60 69 tls_clear_field_10948 crt TLS destructor: zeros 0xe bytes at TLS offset 0x10948. Clears thread-local encrypted string buffer. 0x010C5DB0 69 tls_clear_field_10a30 crt TLS destructor: zeros 0x13 bytes at TLS offset 0x10a30. Clears thread-local encrypted string buffer. 0x010C5E00 69 tls_clear_field_10b20 crt TLS destructor: zeros 0xb bytes at TLS offset 0x10b20. Clears thread-local encrypted string buffer. 0x010C5E50 69 tls_clear_array_18_at_0x1125c crt TLS initializer callback. Zeros 18 bytes in the TLS block at offset 0x1125C. 0x010C5EA0 69 tls_clear_array_23_at_0x10ab8 crt TLS initializer callback. Zeros 23 bytes in the TLS block at offset 0x10AB8. 0x010C5EF0 69 tls_clear_field_10c14 crt TLS destructor: zeros 10 bytes at TLS offset 0x10c14. Clears thread-local encrypted string buffer. 0x010C5F40 69 tls_clear_field_10d2c crt TLS destructor: zeros 0x27 bytes at TLS offset 0x10d2c. Clears thread-local encrypted string buffer. 0x010C5F90 69 tls_clear_field_11630 crt TLS destructor: zeros 0x3e bytes at TLS offset 0x11630. Clears thread-local encrypted string buffer. 0x010C5FE0 69 tls_clear_field_11674 crt TLS destructor: zeros 0x3e bytes at TLS offset 0x11674. Clears thread-local encrypted string buffer. 0x010C6030 69 tls_clear_field_116b8 crt TLS destructor: zeros 5 bytes at TLS offset 0x116b8. Clears thread-local encrypted string buffer. 0x010C6080 69 tls_clear_field_10c24 crt TLS destructor: zeros 3 bytes at TLS offset 0x10c24. Clears thread-local encrypted string buffer. 0x010C60D0 69 tls_clear_field_10b30 crt TLS destructor: zeros 0xb bytes at TLS offset 0x10b30. Clears thread-local encrypted string buffer. 0x010C6120 69 tls_clear_field_10d58 crt TLS destructor: zeros 0x1d bytes at TLS offset 0x10d58. Clears thread-local encrypted string buffer. 0x010C6170 69 tls_clear_field_11274 crt TLS destructor: zeros 0x16 bytes at TLS offset 0x11274. Clears thread-local encrypted string buffer. 0x010C61C0 69 tls_clear_field_10a48 crt TLS destructor: zeros 0xb bytes at TLS offset 0x10a48. Clears thread-local encrypted string buffer. 0x010C6210 69 tls_clear_field_1095c crt TLS destructor: zeros 0xb bytes at TLS offset 0x1095c. Clears thread-local encrypted string buffer. 0x010C6260 69 tls_clear_field_10ad4 crt TLS destructor: zeros 6 bytes at TLS offset 0x10ad4. Clears thread-local encrypted string buffer. 0x010C62B0 69 tls_clear_field_10c2c crt TLS destructor: zeros 10 bytes at TLS offset 0x10c2c. Clears thread-local encrypted string buffer. 0x010C6300 69 tls_clear_field_10b40 crt TLS destructor: zeros 10 bytes at TLS offset 0x10b40. Clears thread-local encrypted string buffer. 0x010C6350 69 tls_clear_field_10d7c crt TLS destructor: zeros 0x23 bytes at TLS offset 0x10d7c. Clears thread-local encrypted string buffer. 0x010C63A0 69 tls_clear_field_11290 crt TLS destructor: zeros 7 bytes at TLS offset 0x11290. Clears thread-local encrypted string buffer. 0x010C63F0 69 tls_clear_field_10a58 crt TLS destructor: zeros 0xb bytes at TLS offset 0x10a58. Clears thread-local encrypted string buffer. 0x010C6440 69 tls_clear_field_1096c crt TLS destructor: zeros 0xb bytes at TLS offset 0x1096c. Clears thread-local encrypted string buffer. 0x010C6490 69 tls_clear_field_10c3c crt TLS destructor: zeros 9 bytes at TLS offset 0x10c3c. Clears thread-local encrypted string buffer. 0x010C64E0 69 tls_clear_field_10b50 crt TLS destructor: zeros 0xc bytes at TLS offset 0x10b50. Clears thread-local encrypted string buffer. 0x010C6530 69 tls_clear_field_10da4 crt TLS destructor: zeros 0x21 bytes at TLS offset 0x10da4. Clears thread-local encrypted string buffer. 0x010C6580 69 tls_clear_field_10a68 crt TLS destructor: zeros 0xd bytes at TLS offset 0x10a68. Clears thread-local encrypted string buffer. 0x010C65D0 69 tls_clear_field_1097c crt TLS destructor: zeros 0xd bytes at TLS offset 0x1097c. Clears thread-local encrypted string buffer. 0x010C6620 69 tls_clear_field_1129c crt TLS destructor: zeros 5 bytes at TLS offset 0x1129c. Clears thread-local encrypted string buffer. 0x010C6670 69 tls_clear_field_10c4c crt TLS destructor: zeros 3 bytes at TLS offset 0x10c4c. Clears thread-local encrypted string buffer. 0x010C66C0 69 tls_clear_field_10b64 crt TLS destructor: zeros 0x10 bytes at TLS offset 0x10b64. Clears thread-local encrypted string buffer. 0x010C6710 69 tls_clear_field_10dcc crt TLS destructor: zeros 0x21 bytes at TLS offset 0x10dcc. Clears thread-local encrypted string buffer. 0x010C6760 69 tls_clear_field_10990 crt TLS destructor: zeros 0xf bytes at TLS offset 0x10990. Clears thread-local encrypted string buffer. 0x010C67B0 69 tls_clear_field_112a8 crt TLS destructor: zeros 6 bytes at TLS offset 0x112a8. Clears thread-local encrypted string buffer. 0x010C6800 69 tls_clear_field_10b7c crt TLS destructor: zeros 0x10 bytes at TLS offset 0x10b7c. Clears thread-local encrypted string buffer. 0x010C6850 69 tls_clear_field_10df4 crt TLS destructor: zeros 0x21 bytes at TLS offset 0x10df4. Clears thread-local encrypted string buffer. 0x010C68A0 69 tls_clear_field_109a4 crt TLS destructor: zeros 0xf bytes at TLS offset 0x109a4. Clears thread-local encrypted string buffer. 0x010C68F0 69 tls_clear_field_112b4 crt TLS destructor: zeros 9 bytes at TLS offset 0x112b4. Clears thread-local encrypted string buffer. 0x010C6940 10 thunk_to_STL_string_dtor_010c6940 stl Wrapper that calls STL_string_dtor and returns 0x010C6950 10 thunk_to_STL_string_dtor_010c6950 stl Wrapper that calls STL_string_dtor and returns 0x010C6960 10 thunk_to_STL_string_dtor_010c6960 stl Wrapper that calls STL_string_dtor and returns 0x010C6970 10 thunk_to_STL_string_dtor_010c6970 stl Wrapper that calls STL_string_dtor and returns 0x010C6980 10 thunk_to_STL_string_dtor_010c6980 stl Wrapper that calls STL_string_dtor and returns 0x010C6990 10 thunk_to_STL_string_dtor_010c6990 stl Wrapper that calls STL_string_dtor and returns 0x010C69A0 10 thunk_to_STL_string_dtor_010c69a0 stl Wrapper that calls STL_string_dtor and returns 0x010C69B0 10 thunk_to_STL_string_dtor_010c69b0 stl Wrapper that calls STL_string_dtor and returns 0x010C69C0 10 thunk_to_STL_string_dtor_010c69c0 stl Wrapper that calls STL_string_dtor and returns 0x010C69D0 10 thunk_to_STL_string_dtor_010c69d0 stl Wrapper that calls STL_string_dtor and returns 0x010C69E0 10 thunk_to_STL_string_dtor_010c69e0 stl Wrapper that calls STL_string_dtor and returns 0x010C69F0 10 thunk_to_STL_string_dtor_010c69f0 stl Wrapper that calls STL_string_dtor and returns 0x010C6A00 10 thunk_to_STL_string_dtor_010c6a00 stl Wrapper that calls STL_string_dtor and returns 0x010C6A10 10 thunk_to_STL_string_dtor_010c6a10 stl Wrapper that calls STL_string_dtor and returns 0x010C6A20 10 thunk_to_STL_string_dtor_010c6a20 stl Wrapper that calls STL_string_dtor and returns 0x010C6A30 10 thunk_to_STL_string_dtor_010c6a30 stl Wrapper that calls STL_string_dtor and returns 0x010C6A40 10 thunk_to_STL_string_dtor_010c6a40 stl Wrapper that calls STL_string_dtor and returns 0x010C6A50 10 thunk_to_STL_string_dtor_010c6a50 stl Wrapper that calls STL_string_dtor and returns 0x010C6A60 10 thunk_to_STL_string_dtor_010c6a60 stl Wrapper function that calls STL_string_dtor and returns 0x010C6A70 10 thunk_to_STL_string_dtor_010c6a70 stl Wrapper calling STL_string_dtor destructor 0x010C6A80 10 thunk_to_STL_string_dtor_010c6a80 stl Wrapper that calls STL_string_dtor and returns immediately 0x010C6A90 10 thunk_to_STL_string_dtor_010c6a90 stl Wrapper that calls STL_string_dtor and returns 0x010C6AA0 10 thunk_to_STL_string_dtor_010c6aa0 stl Wrapper that calls STL_string_dtor and returns 0x010C6AB0 10 thunk_to_STL_string_dtor_010c6ab0 stl Wrapper that calls STL_string_dtor and returns 0x010C6AC0 10 thunk_to_STL_string_dtor_010c6ac0 stl Wrapper function that calls STL_string_dtor and returns 0x010C6B40 280 atexit_unregister_window_classes_and_cleanup_010c6b40 crt Atexit cleanup: unregisters all window classes by atom, frees class array, deletes critical section, zeros globals. SEH-protected. 0x010C6C59 10 thunk_to_std__destroy_facet_node_chain_010c6c59 stl Simple wrapper that calls FUN_00e60e88 and returns 0x010C6C63 10 thunk_to_CAtlBaseModule_destructor_010c6c63 game_core Calls CAtlBaseModule destructor on global ATL module instance 0x010C6C70 11 nop_stub_010c6c70 game_core Empty no-op stub function. Does nothing and returns immediately. 0x010C6C80 22 atexit_delete_critical_section_0173b628 crt Static destructor (atexit callback) that deletes the CRITICAL_SECTION at DAT_0173b628 and zeros the initialized flag at DAT_0173b640. 0x010C6CC0 22 atexit_delete_critical_section_0173e5e8 crt Static destructor (atexit callback) that deletes the CRITICAL_SECTION at DAT_0173e5e8 and zeros the initialized flag at DAT_0173e600. 0x010C6CE0 10 thunk_to_null_stub_6f00_010c6ce0 crt Wrapper function that calls null_stub_6f00 and returns 0x01908A43 34 themida_null_stub_01908a43 crt Null stub function that returns immediately with no operation 0x019A1151 34 themida_null_stub_019a1151 crt Null stub function that returns immediately with no operation 0x01ADBB26 34 themida_null_stub_01adbb26 crt Null stub function that returns immediately with no operation 0x01F51F2B 34 themida_null_stub_01f51f2b crt Null stub function that returns immediately with no operation 0x02094258 34 themida_null_stub_02094258 crt Null stub function that returns immediately with no operation 0x02103506 34 themida_null_stub_02103506 crt Null stub function that returns immediately with no operation 0x0219F428 34 themida_null_stub_0219f428 crt Null stub function that returns immediately with no operation 0x021C43F1 34 themida_null_stub_021c43f1 crt Null stub function that returns immediately with no operation 0x021CA219 34 themida_null_stub_021ca219 crt Null stub function that returns immediately with no operation 0x022EC5C6 34 themida_null_stub_022ec5c6 crt Null stub function that returns immediately with no operation 0x027112DC 34 themida_null_stub_027112dc crt Null stub function that returns immediately with no operation 0x0271E2BA 34 themida_null_stub_0271e2ba crt Null stub function that returns immediately with no operation 0x0271F8EB 34 themida_null_stub_0271f8eb crt Null stub function that returns immediately with no operation 0x02772B67 34 themida_null_stub_02772b67 crt Null stub function that returns immediately with no operation 0x027762DE 34 themida_null_stub_027762de crt Null stub function that returns immediately with no operation 0x0277FD42 34 themida_null_stub_0277fd42 crt Null stub function that returns immediately with no operation 0x02781AA4 34 themida_null_stub_02781aa4 crt Null stub function that returns immediately with no operation 0x0278230F 34 themida_null_stub_0278230f crt Null stub function that returns immediately with no operation 0x02786CA5 34 themida_null_stub_02786ca5 crt Null stub function that returns immediately with no operation 0x02787144 34 themida_null_stub_02787144 crt Null stub function that returns immediately with no operation 0x02792035 34 themida_null_stub_02792035 crt Null stub function that returns immediately with no operation 0x027A9E96 34 themida_null_stub_027a9e96 crt Null stub function that returns immediately with no operation 0x027AABCA 34 themida_null_stub_027aabca crt Null stub function that returns immediately with no operation 0x027F1165 34 themida_null_stub_027f1165 crt Null stub function that returns immediately with no operation 0x02805AF4 34 themida_null_stub_02805af4 crt Null stub function that returns immediately with no operation 0x0280FD06 34 themida_null_stub_0280fd06 crt Null stub function that returns immediately with no operation 0x0282E703 34 themida_null_stub_0282e703 crt Null stub function that returns immediately with no operation 0x0282F0F5 34 themida_null_stub_0282f0f5 crt Null stub function that returns immediately with no operation 0x02872074 34 themida_null_stub_02872074 crt Null stub function that returns immediately with no operation 0x0289381D 34 themida_null_stub_0289381d crt Null stub function that returns immediately with no operation 0x028C9829 34 themida_null_stub_028c9829 crt Null stub function that returns immediately with no operation 0x028FEE46 34 themida_null_stub_028fee46 crt Null stub function that returns immediately with no operation 0x02900EB3 34 themida_null_stub_02900eb3 crt Null stub function that returns immediately with no operation 0x02933AE1 34 themida_null_stub_02933ae1 crt Null stub function that returns immediately with no operation 0x03DE8040 191 resolve_api_function_03de8040 game_core Dynamically resolves API function address via GetProcAddress.