STL
STL templates: vector, map, set, list, deque, unordered_map, rb-tree, sort, regex, std::function, thunks
| Address | Size | Name | Description |
|---|---|---|---|
| 0x00401C60 | 64 | memcpy_dwords | Copies memory in 4-byte (DWORD) chunks using a counted loop |
| 0x00405490 | 95 | STL_init_map_tree_00405490 | 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. |
| 0x004057F0 | 194 | STL_init_unordered_map_004057f0 | 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. |
| 0x00405F10 | 194 | STL_init_unordered_map_00405f10 | 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. |
| 0x004074D0 | 103 | STL_init_map_tree_004074d0 | 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. |
| 0x00408290 | 95 | STL_init_map_tree_00408290 | 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. |
| 0x00409E50 | 95 | STL_init_map_tree_00409e50 | 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. |
| 0x0040A400 | 95 | STL_init_map_tree_0040a400 | 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. |
| 0x0040A9B0 | 95 | STL_init_map_tree_0040a9b0 | 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. |
| 0x0040B160 | 95 | STL_init_map_tree_0040b160 | 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. |
| 0x0040BD60 | 194 | STL_init_unordered_map_0040bd60 | 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. |
| 0x0040F3C0 | 194 | STL_init_unordered_map_0040f3c0 | 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. |
| 0x00410EE0 | 95 | STL_init_map_tree_00410ee0 | 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. |
| 0x004119A0 | 95 | STL_init_map_tree_004119a0 | 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. |
| 0x00411F50 | 95 | STL_init_map_tree_00411f50 | 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. |
| 0x00412600 | 95 | STL_init_map_tree_00412600 | 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. |
| 0x00412CB0 | 95 | STL_init_map_tree_00412cb0 | 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. |
| 0x00413790 | 95 | STL_init_map_tree_00413790 | 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. |
| 0x00413E30 | 95 | STL_init_map_tree_00413e30 | 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. |
| 0x004145E0 | 95 | STL_init_map_tree_004145e0 | 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. |
| 0x00414B90 | 95 | STL_init_map_tree_00414b90 | 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. |
| 0x00415140 | 95 | STL_init_map_tree_00415140 | 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. |
| 0x004156F0 | 95 | STL_init_map_tree_004156f0 | 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. |
| 0x00415960 | 194 | STL_init_unordered_map_00415960 | 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. |
| 0x00415F80 | 95 | STL_init_map_tree_00415f80 | 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. |
| 0x00416B30 | 95 | STL_init_map_tree_00416b30 | 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. |
| 0x004177E0 | 95 | STL_init_map_tree_004177e0 | 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. |
| 0x00417D90 | 95 | STL_init_map_tree_00417d90 | 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. |
| 0x00418340 | 95 | STL_init_map_tree_00418340 | 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. |
| 0x004188F0 | 95 | STL_init_map_tree_004188f0 | 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. |
| 0x00418EA0 | 95 | STL_init_map_tree_00418ea0 | 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. |
| 0x00419950 | 95 | STL_init_map_tree_00419950 | 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. |
| 0x0041B710 | 95 | STL_init_map_tree_0041b710 | 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. |
| 0x0041BCC0 | 95 | STL_init_map_tree_0041bcc0 | 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. |
| 0x0041C670 | 95 | STL_init_map_tree_0041c670 | 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. |
| 0x0041DD30 | 95 | STL_init_map_tree_0041dd30 | 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. |
| 0x0041E9E0 | 95 | STL_init_map_tree_0041e9e0 | 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. |
| 0x00420E30 | 95 | STL_init_map_tree_00420e30 | 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. |
| 0x004213E0 | 95 | STL_init_map_tree_004213e0 | 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. |
| 0x00421990 | 95 | STL_init_map_tree_00421990 | 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. |
| 0x00422240 | 95 | STL_init_map_tree_00422240 | 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. |
| 0x00422900 | 95 | STL_init_map_tree_00422900 | 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. |
| 0x00422EB0 | 95 | STL_init_map_tree_00422eb0 | 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. |
| 0x00423460 | 95 | STL_init_map_tree_00423460 | 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. |
| 0x00423A10 | 95 | STL_init_map_tree_00423a10 | 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 | 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. |
| 0x00424090 | 95 | STL_init_map_tree_00424090 | 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. |
| 0x00424740 | 95 | STL_init_map_tree_00424740 | 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. |
| 0x00424CF0 | 95 | STL_init_map_tree_00424cf0 | 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 | 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. |
| 0x00425370 | 95 | STL_init_map_tree_00425370 | 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. |
| 0x00425C20 | 194 | STL_init_unordered_map_00425c20 | 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 |
| 0x00425E00 | 194 | STL_init_unordered_map_00425e00 | 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 | 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 |
| 0x00426CF0 | 95 | STL_init_rbtree_sentinel_00426cf0 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x00428690 | 95 | STL_init_rbtree_sentinel_00428690 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x00428C40 | 95 | STL_init_rbtree_sentinel_00428c40 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x004291F0 | 95 | STL_init_rbtree_sentinel_004291f0 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x004299A0 | 95 | STL_init_rbtree_sentinel_004299a0 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x00429B00 | 194 | STL_init_unordered_map_00429b00 | 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 |
| 0x0042A120 | 95 | STL_init_rbtree_sentinel_0042a120 | 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 | 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 |
| 0x0042A7A0 | 95 | STL_init_rbtree_sentinel_0042a7a0 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x0042BAA0 | 95 | STL_init_rbtree_sentinel_0042baa0 | 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 | 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 | 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 | 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 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x0042D800 | 194 | STL_init_unordered_map_0042d800 | 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 |
| 0x0042F460 | 194 | STL_init_unordered_map_0042f460 | 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 |
| 0x00437F50 | 194 | STL_init_unordered_map_00437f50 | 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 |
| 0x00438AC0 | 194 | STL_init_unordered_map_00438ac0 | 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 |
| 0x0043CD50 | 194 | STL_init_unordered_map_0043cd50 | 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 |
| 0x0043D370 | 194 | STL_init_unordered_map_0043d370 | 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 |
| 0x0043FFC0 | 95 | STL_init_rbtree_sentinel_0043ffc0 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x00443640 | 194 | STL_init_unordered_map_00443640 | 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 |
| 0x00447430 | 194 | STL_init_unordered_map_00447430 | 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 |
| 0x00449940 | 95 | STL_init_rbtree_sentinel_00449940 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x0044A0F0 | 95 | STL_init_rbtree_sentinel_0044a0f0 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x0044A6A0 | 95 | STL_init_rbtree_sentinel_0044a6a0 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x0044AC50 | 95 | STL_init_rbtree_sentinel_0044ac50 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x0044B200 | 95 | STL_init_rbtree_sentinel_0044b200 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x0044B7B0 | 95 | STL_init_rbtree_sentinel_0044b7b0 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x0044BD60 | 95 | STL_init_rbtree_sentinel_0044bd60 | Allocates 0x18-byte RB-tree sentinel node with circular self-pointers and 0x101 color flags, registers atexit cleanup for std::map destruction |
| 0x00492C10 | 95 | STL_init_rbtree_sentinel_00492c10 | Static init: allocates 0x18-byte RB-tree sentinel node at DAT_0145715c with triple self-pointer + 0x101 flag + atexit cleanup |
| 0x004932C0 | 95 | STL_init_rbtree_sentinel_004932c0 | Static init: allocates 0x18-byte RB-tree sentinel node at DAT_01457168 with triple self-pointer + 0x101 flag + atexit cleanup |
| 0x00493870 | 95 | STL_init_rbtree_sentinel_00493870 | Allocates 0x18-byte RB-tree sentinel node at DAT_01457170 with atexit cleanup |
| 0x00494120 | 95 | STL_init_rbtree_sentinel_00494120 | Allocates 0x18-byte RB-tree sentinel node at DAT_0145717c with atexit cleanup |
| 0x004946D0 | 95 | STL_init_rbtree_sentinel_004946d0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x00494D80 | 95 | STL_init_rbtree_sentinel_00494d80 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x00495400 | 95 | STL_init_rbtree_sentinel_00495400 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x00495460 | 325 | STL_init_map_with_entries_00495460 | Initializes STL map with pre-populated entries via Insert_node |
| 0x00495C00 | 95 | STL_init_rbtree_sentinel_00495c00 | Allocates 0x18-byte RB-tree sentinel node at DAT_014571ac with atexit cleanup |
| 0x004961B0 | 95 | STL_init_rbtree_sentinel_004961b0 | Allocates 0x18-byte RB-tree sentinel node at DAT_014571b4 with atexit cleanup |
| 0x00496CD0 | 95 | STL_init_rbtree_sentinel_00496cd0 | Allocates 0x18-byte RB-tree sentinel node at DAT_014571c0 with atexit cleanup |
| 0x004972F0 | 95 | STL_init_rbtree_sentinel_004972f0 | Allocates 0x18-byte RB-tree sentinel node at DAT_014571c8 with atexit cleanup |
| 0x00497FA0 | 95 | STL_init_rbtree_sentinel_00497fa0 | Allocates 0x18-byte RB-tree sentinel node at DAT_014571d4 with atexit cleanup |
| 0x00498550 | 95 | STL_init_rbtree_sentinel_00498550 | Allocates 0x18-byte RB-tree sentinel node at DAT_014571dc with atexit cleanup |
| 0x00498C00 | 95 | STL_init_rbtree_sentinel_00498c00 | Allocates 0x18-byte RB-tree sentinel node at DAT_014571e8 with atexit cleanup |
| 0x004991B0 | 95 | STL_init_rbtree_sentinel_004991b0 | Allocates 0x18-byte RB-tree sentinel node at DAT_014571f0 with atexit cleanup |
| 0x00499860 | 95 | STL_init_rbtree_sentinel_00499860 | Allocates 0x18-byte RB-tree sentinel node at DAT_014571fc with atexit cleanup |
| 0x00499E10 | 95 | STL_init_rbtree_sentinel_00499e10 | Allocates 0x18-byte RB-tree sentinel node at DAT_01457204 with atexit cleanup |
| 0x0049BCC0 | 95 | STL_init_rbtree_sentinel_0049bcc0 | Allocates 0x18-byte RB-tree sentinel node at DAT_01457210 with atexit cleanup |
| 0x0049C270 | 95 | STL_init_rbtree_sentinel_0049c270 | Allocates 0x18-byte RB-tree sentinel node at DAT_01457218 with atexit cleanup |
| 0x0049C920 | 95 | STL_init_rbtree_sentinel_0049c920 | Allocates 0x18-byte RB-tree sentinel node at DAT_01457224 with atexit cleanup |
| 0x0049CED0 | 95 | STL_init_rbtree_sentinel_0049ced0 | Allocates 0x18-byte RB-tree sentinel node at DAT_0145722c with atexit cleanup |
| 0x0049D680 | 95 | STL_init_rbtree_sentinel_0049d680 | Allocates 0x18-byte RB-tree sentinel node at DAT_01457234 with atexit cleanup |
| 0x0049DC30 | 95 | STL_init_rbtree_sentinel_0049dc30 | Allocates 0x18-byte RB-tree sentinel node at DAT_01457240 with atexit cleanup |
| 0x0049E2B0 | 95 | STL_init_rbtree_sentinel_0049e2b0 | Allocates 0x18-byte RB-tree sentinel node at DAT_014a6930 with atexit cleanup |
| 0x0049E890 | 95 | STL_init_rbtree_sentinel_0049e890 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x0049EF10 | 95 | STL_init_rbtree_sentinel_0049ef10 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x0049F4C0 | 95 | STL_init_rbtree_sentinel_0049f4c0 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x0049FA70 | 95 | STL_init_rbtree_sentinel_0049fa70 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A0020 | 95 | STL_init_rbtree_sentinel_004a0020 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A05D0 | 95 | STL_init_rbtree_sentinel_004a05d0 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A0B80 | 95 | STL_init_rbtree_sentinel_004a0b80 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A1680 | 95 | STL_init_rbtree_sentinel_004a1680 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A1C30 | 95 | STL_init_rbtree_sentinel_004a1c30 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A21E0 | 95 | STL_init_rbtree_sentinel_004a21e0 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A2790 | 95 | STL_init_rbtree_sentinel_004a2790 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A2D40 | 95 | STL_init_rbtree_sentinel_004a2d40 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit cleanup |
| 0x004A46B0 | 95 | STL_init_rbtree_sentinel_004a46b0 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A4C70 | 95 | STL_init_rbtree_sentinel_004a4c70 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A5240 | 101 | STL_init_xml_document_regex_004a5240 | 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 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004A5990 | 95 | STL_init_rbtree_sentinel_004a5990 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A5F40 | 95 | STL_init_rbtree_sentinel_004a5f40 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit cleanup |
| 0x004A60A0 | 103 | STL_init_list_sentinel_and_globals_004a60a0 | Static init: allocates 0xC-byte doubly-linked list sentinel (not rbtree, only 2 self-pointers), clears 4 global counters, registers atexit cleanup |
| 0x004A72D0 | 95 | STL_init_rbtree_sentinel_004a72d0 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A8890 | 95 | STL_init_rbtree_sentinel_004a8890 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A8E40 | 69 | STL_register_atexit_clear_vector_004a8e40 | 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 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004A9440 | 69 | STL_register_atexit_clear_vector_int_004a9440 | Static init: registers atexit handler to clear a vector of ints. No allocation, only cleanup registration. |
| 0x004A9490 | 95 | STL_init_rbtree_sentinel_004a9490 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004AA540 | 95 | STL_init_rbtree_sentinel_004aa540 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004AA9F0 | 86 | STL_init_list_node_004aa9f0 | Allocates 0x10-byte doubly-linked list node (prev/next self-pointers) with atexit cleanup registration |
| 0x004AB5C0 | 124 | STL_init_list_with_critsect_004ab5c0 | Allocates 0x28-byte list node and initializes critical section with atexit |
| 0x004ABA70 | 95 | STL_init_rbtree_sentinel_004aba70 | Allocates 0x18-byte RB-tree sentinel node at DAT_016d56c0 with atexit cleanup |
| 0x004ACCC0 | 95 | STL_init_rbtree_sentinel_004accc0 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004AD890 | 95 | STL_init_rbtree_sentinel_004ad890 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004AFB80 | 95 | STL_init_rbtree_sentinel_004afb80 | Allocates 0x18-byte RB-tree sentinel node at DAT_016f711c with atexit cleanup |
| 0x004B02D0 | 95 | STL_init_rbtree_sentinel_004b02d0 | Allocates 0x18-byte RB-tree sentinel node with self-referencing pointers and sentinel flag 0x101, registers atexit destructor |
| 0x004B0EA0 | 95 | STL_init_rbtree_sentinel_004b0ea0 | Allocates 0x18-byte RB-tree sentinel node with self-referencing pointers and sentinel flag 0x101, registers atexit destructor |
| 0x004B66A0 | 95 | STL_init_rbtree_sentinel_004b66a0 | Allocates 0x18-byte RB-tree sentinel node with self-referencing pointers and sentinel flag 0x101, registers atexit destructor |
| 0x004C1AF0 | 95 | STL_init_rbtree_sentinel_004c1af0 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C20C0 | 95 | STL_init_rbtree_sentinel_004c20c0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004C2120 | 95 | STL_init_rbtree_sentinel_004c2120 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C26D0 | 95 | STL_init_rbtree_sentinel_004c26d0 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C2C80 | 95 | STL_init_rbtree_sentinel_004c2c80 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C3780 | 95 | STL_init_rbtree_sentinel_004c3780 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C3D30 | 95 | STL_init_rbtree_sentinel_004c3d30 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C42E0 | 95 | STL_init_rbtree_sentinel_004c42e0 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C4990 | 95 | STL_init_rbtree_sentinel_004c4990 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C4F40 | 95 | STL_init_rbtree_sentinel_004c4f40 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C54F0 | 95 | STL_init_rbtree_sentinel_004c54f0 | Allocates 0x18-byte RB-tree sentinel node (triple self-pointer, color=1, isNil=1) for global STL map/set and registers atexit cleanup |
| 0x004C5C00 | 95 | STL_init_rbtree_sentinel_004c5c00 | Initializes render state list/tree with alloc and atexit cleanup |
| 0x004C62B0 | 95 | STL_init_rbtree_sentinel_004c62b0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004C6950 | 95 | STL_init_rbtree_sentinel_004c6950 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004C6FD0 | 95 | STL_init_rbtree_sentinel_004c6fd0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004C7670 | 95 | STL_init_rbtree_sentinel_004c7670 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004C7CF0 | 95 | STL_init_rbtree_sentinel_004c7cf0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004CB500 | 95 | STL_init_rbtree_sentinel_004cb500 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and registers atexit cleanup |
| 0x004CC0D0 | 95 | STL_init_rbtree_sentinel_004cc0d0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004CC7F0 | 69 | STL_register_atexit_destroy_json_stream_004cc7f0 | Static init: registers atexit handler to destroy JSON filestream and associated string. No allocation, only cleanup registration. |
| 0x004CCE60 | 95 | STL_init_rbtree_sentinel_004cce60 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004CD4E0 | 95 | STL_init_rbtree_sentinel_004cd4e0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004CDB60 | 95 | STL_init_rbtree_sentinel_004cdb60 | Registers singleton factory via operator_new(0x34) and FUN_009d31f0 with atexit |
| 0x004CE730 | 95 | STL_init_rbtree_sentinel_004ce730 | 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. |
| 0x004CECE0 | 95 | STL_init_rbtree_sentinel_004cece0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004CF360 | 95 | STL_init_rbtree_sentinel_004cf360 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004CF9E0 | 95 | STL_init_rbtree_sentinel_004cf9e0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004D0060 | 95 | STL_init_rbtree_sentinel_004d0060 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004D06E0 | 95 | STL_init_rbtree_sentinel_004d06e0 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004D0D80 | 95 | STL_init_rbtree_sentinel_004d0d80 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004D1400 | 95 | STL_init_rbtree_sentinel_004d1400 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004D1A80 | 95 | STL_init_rbtree_sentinel_004d1a80 | 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. |
| 0x004D2300 | 95 | STL_init_rbtree_sentinel_004d2300 | Allocates 0x18-byte RB-tree sentinel node with triple self-pointer and atexit |
| 0x004DF5A0 | 19 | free_and_return_zero | Frees a heap-allocated block and returns 0. Simple cleanup helper. |
| 0x004DF910 | 153 | STL_json_token_ctor_type5_with_seed | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x004E07E0 | 384 | STL_sort_merge_with_buffer_0x28_elements | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 template instantiation: STL regex mismatch search case sensitive |
| 0x004E1510 | 119 | STL_regex_mismatch_search_case_insensitive | STL template instantiation: STL regex mismatch search case insensitive |
| 0x004E1590 | 319 | STL_regex_mismatch_search_with_collate | 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 template instantiation: STL regex range match case sensitive |
| 0x004E1720 | 129 | STL_regex_range_match_case_insensitive | STL template instantiation: STL regex range match case insensitive |
| 0x004E17B0 | 499 | STL_regex_compile_pattern | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Vector emplace for 0x28-byte elements with 7-arg constructor (variant 2). |
| 0x004E2960 | 337 | STL_vector_0x28_emplace_with_6arg_ctor | Vector emplace for 0x28-byte elements with 6-arg constructor. |
| 0x004E2AE0 | 337 | STL_vector_0x28_emplace_with_6arg_ctor_v2 | Vector emplace for 0x28-byte elements with 6-arg constructor (variant 2). |
| 0x004E2C60 | 337 | STL_vector_0x28_emplace_with_6arg_ctor_v3 | Vector emplace for 0x28-byte elements with 6-arg constructor (variant 3). |
| 0x004E2DE0 | 337 | STL_vector_0x28_emplace_with_6arg_ctor_v4 | Vector emplace for 0x28-byte elements with 6-arg constructor (variant 4). |
| 0x004E2F60 | 455 | STL_vector_0x10_emplace_with_4arg_ctor | 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 | Vector emplace for 0x28-byte elements (variant 4). Calls different inner constructor/initializer. |
| 0x004E32B0 | 330 | STL_vector_0x28_emplace_with_3arg_move_ctor | 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 | 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 | 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 | Vector emplace for 8-byte elements. Copies 2 dwords. Max 0x1fffffff elements. |
| 0x004E3860 | 271 | STL_vector_8byte_emplace_with_copy_ctor_v2 | Vector emplace for 8-byte elements (variant 2). Same layout, different callers. |
| 0x004E3990 | 25 | STL_memset_zero_dwords | Zeroes param_2 dwords starting at param_1 using memset. Simple memory initialization wrapper. |
| 0x004E39B0 | 28 | STL_fputc_wrapper | Wrapper around fputc. Writes single character to FILE stream. Returns true if successful (not EOF). |
| 0x004E39D0 | 79 | STL_allocate_0x28_array_with_retry | 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. |
| 0x004E3A70 | 465 | STL_sort_partition_0x28_string_keyed | 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 | 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 | 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 | 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 | Returns true (1) if the pointed-to value is zero/null, false otherwise. Simple null/zero check. |
| 0x004E4400 | 32 | STL_string_range_compare_wrapper | 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 | 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 | 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 template instantiation: STL linked list multi pattern search |
| 0x004E4510 | 1664 | STL_string_search_with_tolower_transform | 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 | 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 | 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 | 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 template instantiation: STL rotate backward 0x28 elements |
| 0x004E4EC0 | 84 | STL_rotate_forward_0x28_elements | STL template instantiation: STL rotate forward 0x28 elements |
| 0x004E4F20 | 499 | STL_regex_match_search_driver | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x004E5C90 | 153 | STL_uint_to_string_buffer | 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 | 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 | 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 | 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 | 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 | 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 | 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<> | Zeroes a memory range [param_1, param_2) using memset. VS2019 library template instantiation for unsigned int pointers. |
| 0x004E6190 | 28 | _Zero_range<> | 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 | Returns whether basic_filebuf has an open file |
| 0x004E61F0 | 39 | STL_basic_filebuf_overflow | Handles basic_filebuf overflow by flushing to file |
| 0x004E6220 | 138 | STL_basic_filebuf_underflow | Handles basic_filebuf underflow by reading from file |
| 0x004E62B0 | 109 | STL_basic_filebuf_seekoff | Seeks to offset in basic_filebuf file |
| 0x004E6320 | 109 | STL_basic_filebuf_seekpos | Seeks to position in basic_filebuf file |
| 0x004E6390 | 1052 | STL_utf8_multibyte_decode_to_string | 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 | 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 | 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 | 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 | Seeks to offset in basic_stringbuf |
| 0x004E6AF0 | 113 | STL_basic_stringbuf_seekpos | Seeks to position in basic_stringbuf |
| 0x004E6B90 | 191 | STL_basic_stringbuf_pbackfail | Handles putback failure in basic_stringbuf |
| 0x004E6C50 | 843 | STL_basic_istringstream_init | Initializes basic_istringstream with string |
| 0x004E6FA0 | 1053 | STL_basic_ostringstream_init | Initializes basic_ostringstream with string |
| 0x004E73C0 | 193 | STL_detect_bom_encoding | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x004E8130 | 202 | STL_regex_classify_char_class | Classifies regex char class name (alnum etc) with case-insensitive compare |
| 0x004E8200 | 20 | STL_regex_traits_init_vtable | Initializes regex_traits vtable at PTR_FUN_010d65b8 |
| 0x004E8220 | 168 | STL_regex_node_allocate | Allocates 0x18-byte regex parse tree node with vtable PTR_FUN_010d509c |
| 0x004E82D0 | 650 | STL_json_parser_parse_value | 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 | Reads chars from input stream into std::string with capacity growth |
| 0x004E8850 | 778 | STL_read_stream_into_string | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Parse signed 64-bit integer from char range with overflow detection |
| 0x004EC200 | 409 | STL_parse_uint64_from_chars | Parse unsigned 64-bit integer from char range with overflow detection |
| 0x004EC3A0 | 259 | STL_bytes_to_hex_string_12 | Convert 12 bytes to 24-char hex string using DAT_010d5c70 lookup table |
| 0x004EC4B0 | 569 | STL_collate_tolower_transform_004ec4b0 | STL collate transform: tolower range then virtual transform |
| 0x004EC6F0 | 569 | STL_collate_tolower_transform_004ec6f0 | STL collate transform variant: tolower range then virtual transform |
| 0x004EC930 | 584 | STL_collate_tolower_transform_004ec930 | STL collate transform variant: tolower then virtual transform |
| 0x004ECB80 | 244 | STL_use_facet_codecvt_char | std::use_facet<codecvt<char,char,_Mbstatet>> retrieves codecvt facet |
| 0x004ECC80 | 432 | STL_use_facet_collate_char | std::use_facet<collate<char>> retrieves or creates collate facet |
| 0x004ECE30 | 244 | STL_use_facet_ctype_char | std::use_facet<ctype<char>> retrieves ctype facet from locale |
| 0x004ECF30 | 247 | STL_validate_utf8_sequence | Validate UTF-8 byte sequence using length table; returns error code |
| 0x004ED070 | 205 | STL_basic_stringbuf_ctor_with_mode | Construct basic_stringbuf with streambuf vtable; sets ios flags |
| 0x004ED140 | 427 | STL_regex_match_context_init | Initialize regex match context: zeroes struct, sets match groups |
| 0x004ED2F0 | 458 | STL_basic_regex_ctor_with_flags | Construct basic_regex with syntax flags; sets magic constants per type |
| 0x004ED4C0 | 230 | STL_regex_match_result_copy_ctor | Copy construct regex match_results; deep copies sub_match vector |
| 0x004ED5B0 | 497 | STL_basic_ifstream_open_ctor | Construct basic_ifstream: creates streambuf, opens file, sets codecvt |
| 0x004ED7B0 | 121 | STL_json_value_destroy_by_type | Destroy JSON value by type nibble; dispatches to destroy or dealloc |
| 0x004ED850 | 226 | STL_json_value_construct_string | Construct JSON string value: inline if len<14, heap if len>=14 |
| 0x004ED940 | 474 | STL_regex_pattern_dtor | Destruct regex pattern: resets vtable, clears 9 string members + flags |
| 0x004EDB20 | 399 | STL_regex_pattern_copy_ctor | Copy construct regex pattern: copies 8 string fields + bit flags |
| 0x004EDCB0 | 1062 | STL_json_parser_ctor | Construct JSON parser: init pattern, locale, token buffer, special values |
| 0x004EE0E0 | 357 | STL_basic_regex_compile_pattern | Compile regex pattern from C-string; inits locale, builds NFA |
| 0x004EE250 | 135 | STL_string_copy_construct | Copy construct std::string; SSO inline if len<16, heap if larger |
| 0x004EE2E0 | 61 | STL_string_construct_from_cstr | Construct std::string from null-terminated C-string via strlen |
| 0x004EE320 | 224 | STL_json_value_array_copy_ctor | Copy construct JSON array: allocates 16-byte value vector, deep copies |
| 0x004EE400 | 305 | STL_json_lexer_ctor | Construct JSON lexer: vtable PTR_FUN_010d5e74, reserves 1000 tokens |
| 0x004EE540 | 187 | STL_regex_error_ctor_from_exception | Construct regex_error from exception; vtable PTR_FUN_010d62e0 |
| 0x004EE600 | 203 | STL_regex_error_ctor_from_string | Construct regex_error from std::string for __std_exception_copy |
| 0x004EE6D0 | 187 | STL_json_parse_error_ctor_from_exception | Construct json::parse_error; vtable PTR_FUN_010d64b4 |
| 0x004EE790 | 203 | STL_json_parse_error_ctor_from_string | Construct json::parse_error from std::string message |
| 0x004EE860 | 143 | STL_json_key_value_move_ctor | Move construct JSON key-value pair: steals string+value from source |
| 0x004EE8F0 | 263 | STL_json_object_member_vector_copy_ctor | Copy construct JSON object member vector: 0x28-byte entries |
| 0x004EEA00 | 410 | STL_basic_istream_with_buffer_ctor | Construct basic_istream with internal buffer and vtable |
| 0x004EEBA0 | 181 | STL_vector_int_copy_ctor | Copy construct vector of ints; allocates and memcpys array |
| 0x004EEC60 | 130 | STL_json_serializer_ctor | Construct JSON serializer: vtable, init output string and indent |
| 0x004EECF0 | 109 | STL_basic_streambuf_locale_ctor | Construct basic_streambuf with locale facet id 0x11 |
| 0x004EED60 | 124 | STL_basic_streambuf_with_locale_ctor | Construct basic_streambuf with locale param and facet id 0x10 |
| 0x004EEDE0 | 528 | STL_json_type_error_ctor | Construct json::type_error with error id and formatter callback |
| 0x004EEFF0 | 140 | STL_json_type_error_copy_ctor | Copy construct json::type_error; copies message + error id |
| 0x004EF080 | 126 | STL_json_exception_copy_ctor | Copy construct json::exception base class; vtable PTR_FUN_010d50d4 |
| 0x004EF100 | 143 | STL_json_exception_ctor_from_string | Construct json::exception from std::string |
| 0x004EF190 | 113 | STL_bad_alloc_copy_ctor | Copy construct std::bad_alloc; vtable PTR_FUN_010d4e54 |
| 0x004EF210 | 126 | STL_bad_array_new_length_copy_ctor | Copy construct std::bad_array_new_length |
| 0x004EF290 | 109 | STL_bad_array_new_length_default_ctor | Default construct std::bad_array_new_length with static message |
| 0x004EF300 | 113 | STL_bad_cast_copy_ctor | Copy construct std::bad_cast; vtable PTR_FUN_010d4f48 |
| 0x004EF380 | 96 | STL_bad_cast_default_ctor | Default construct std::bad_cast with static message string |
| 0x004EF3E0 | 47 | STL_regex_pattern_base_dtor | Destruct regex pattern base; resets vtable, size 0x400 |
| 0x004EF410 | 126 | STL_runtime_error_copy_ctor | Copy construct std::runtime_error; vtable PTR_FUN_010d4ea0 |
| 0x004EF490 | 89 | STL_exception_copy_ctor | Copy construct std::exception; vtable PTR_FUN_010d4e34 |
| 0x004EF4F0 | 126 | STL_invalid_argument_copy_ctor | Copy construct std::invalid_argument; vtable PTR_FUN_010d4eac |
| 0x004EF580 | 217 | STL_system_error_copy_ctor | Copy construct std::system_error; copies exception + two strings |
| 0x004EF660 | 113 | STL_logic_error_copy_ctor | Copy construct std::logic_error; vtable PTR_FUN_010d4e94 |
| 0x004EF6E0 | 204 | STL_json_out_of_range_copy_ctor | Copy construct json::out_of_range; vtable PTR_FUN_010d5160 |
| 0x004EF7B0 | 126 | STL_range_error_copy_ctor | Copy construct std::range_error; vtable PTR_FUN_010d4eb8 |
| 0x004EF830 | 113 | STL_json_detail_exception_copy_ctor | Copy construct json detail exception base |
| 0x004EF8B0 | 164 | STL_ios_base_failure_copy_ctor | Copy construct ios_base::failure; vtable PTR_FUN_010d5180 |
| 0x004EF960 | 194 | STL_ios_base_failure_ctor_with_type_error | Construct ios_base::failure from type_error params |
| 0x004EFA30 | 176 | STL_ios_base_failure_ctor_with_code | Construct ios_base::failure with error code params |
| 0x004EFAE0 | 143 | STL_json_key_value_move_ctor_004efae0 | Move construct JSON key-value pair variant |
| 0x004EFB70 | 153 | STL_json_other_error_copy_ctor | Copy construct json::other_error; copies id + formatter ptr |
| 0x004EFC10 | 240 | STL_json_other_error_ctor_from_type | Construct json::other_error from type_error params |
| 0x004EFD00 | 80 | STL_vector_dealloc_4byte_at_offset4 | EH cleanup wrapper: deallocates vector of 4-byte elements at object offset +4 |
| 0x004EFD50 | 61 | STL_free_buffer_at_offset8 | Free heap buffer stored at offset +8 of the object |
| 0x004EFDA0 | 33 | STL_release_streambuf_locale | Release streambuf locale facet reference at offset +0x24 |
| 0x004EFDD0 | 167 | STL_regex_cleanup_sequence | Sequential cleanup: regex state dtor, string dtors |
| 0x004EFE90 | 80 | STL_vector_dealloc_4byte_at_offset14 | EH cleanup wrapper: deallocates vector of 4-byte elements at object offset +0x14 |
| 0x004EFEE0 | 84 | STL_release_locale_facet_ref | Release locale facet ref at offset +0xC; virtual clone then dtor |
| 0x004EFF40 | 99 | STL_string_dtor_and_cleanup | Destroy std::string member then call cleanup function |
| 0x004F0040 | 105 | STL_vector_0x28_destroy_elements | Destroy vector of 0x28-byte elements per element |
| 0x004F00D0 | 79 | STL_vector_0x10_destroy_elements | Destroy vector of 0x10-byte elements per element |
| 0x004F0150 | 65 | STL_vector_dealloc_4byte_wrapper_004f0150 | EH cleanup wrapper: deallocates vector of 4-byte elements |
| 0x004F01A0 | 198 | STL_ifstream_full_dtor | Full ifstream destructor: filebuf + streambuf + istream + ios |
| 0x004F0270 | 99 | STL_regex_state_cleanup | Cleanup regex state: destroy match result, dealloc string |
| 0x004F02E0 | 65 | STL_ifstream_dtor_wrapper | Wrapper calling full ifstream destructor |
| 0x004F0330 | 111 | STL_regex_state_cleanup_variant | Cleanup regex state variant: destroy match + string + state |
| 0x004F03A0 | 136 | STL_filebuf_dtor | Destruct filebuf: flushes buffers, frees conversion buffer |
| 0x004F0430 | 190 | STL_ifstream_vbase_dtor | Destruct ifstream via virtual base: filebuf + streambuf + istream |
| 0x004F04F0 | 235 | STL_json_value_heap_dealloc | Deallocate heap-backed JSON value by type nibble |
| 0x004F05F0 | 183 | STL_regex_pattern_9string_dtor | Destroy 9 std::string members of regex pattern sequentially |
| 0x004F06B0 | 193 | STL_json_parser_dtor | Destruct JSON parser: frees locale, destroys vectors + pattern |
| 0x004F0780 | 89 | STL_json_parser_and_stream_dtor | Destroy JSON parser then associated input stream |
| 0x004F07F0 | 115 | STL_regex_state_release_and_cleanup | Release regex NFA state via vtable+8 then virtual destroy |
| 0x004F0870 | 5 | STL_string_dtor | std::string destructor: frees heap buffer if capacity > 0xF (SSO threshold), resets length=0, capacity=0xF |
| 0x004F0880 | 92 | STL_release_streambuf_locale_wrapper | Release streambuf locale at offset +0x24 via dtor |
| 0x004F08E0 | 84 | STL_json_object_ordered_map_dtor | Destroy JSON ordered_map: key-value pairs then storage |
| 0x004F0940 | 111 | STL_json_value_full_dtor | Full JSON value destructor: containers, strings, heap deallocs |
| 0x004F09B0 | 147 | STL_istream_chain_dtor | Destroy istream chain: streambuf + istream + ios |
| 0x004F0A50 | 86 | STL_json_member_dtor_and_dealloc | Destroy single JSON member then deallocate |
| 0x004F0AB0 | 68 | STL_json_serializer_dtor_wrapper | Wrapper calling JSON serializer destructor |
| 0x004F0B00 | 84 | STL_release_locale_facet_ref_wrapper | Release locale facet ref at +0xC; virtual clone+destroy |
| 0x004F0B60 | 285 | STL_json_object_destroy_nonempty_values | Iterate JSON object; recursively destroy nested values |
| 0x004F0CA0 | 137 | STL_istream_chain_dtor_variant | Destroy istream chain variant with cleanup |
| 0x004F0D30 | 137 | STL_istream_chain_dtor_variant2 | Destroy istream chain variant2 with string dtor |
| 0x004F0DC0 | 103 | STL_dealloc_heap_string_small | Deallocate small heap string: size = *(ptr+8) + 0x10 |
| 0x004F0E30 | 103 | STL_dealloc_heap_string_large | Deallocate large heap string: size = *(ptr+8) + 0x20 |
| 0x004F0EC0 | 5 | STL_vector_dealloc_raw_buffer | Thunk to STL_lib_func_004f9500: deallocates raw byte vector buffer |
| 0x004F0ED0 | 5 | STL_vector_dealloc_raw_buffer_v2 | Thunk to STL_lib_func_004f9590: deallocates raw byte vector buffer |
| 0x004F0EE0 | 5 | STL_vector_dealloc_4byte_elements | STL template instantiation: STL vector dealloc 4byte elements |
| 0x004F0EF0 | 129 | STL_vector_dealloc_0x10_elements | Deallocate vector of 0x10-byte elements; frees buffer |
| 0x004F0F90 | 129 | STL_vector_dealloc_8byte_elements | Deallocate vector of 8-byte elements; frees buffer |
| 0x004F1020 | 151 | STL_vector_dealloc_0x14_elements | Deallocate vector of 0x14-byte elements; frees buffer |
| 0x004F10C0 | 166 | STL_vector_dealloc_0x28_elements | Deallocate vector of 0x28-byte elements; destroys+frees |
| 0x004F1170 | 129 | STL_vector_dealloc_8byte_elements_004f1170 | Deallocate vector of 8-byte elements variant |
| 0x004F1220 | 150 | STL_vector_dealloc_0xc_elements | Deallocate vector of 0xC-byte elements; frees buffer |
| 0x004F12C0 | 126 | STL_vector_dealloc_raw_bytes | Deallocate raw byte vector; frees buffer and zeros ptrs |
| 0x004F1350 | 65 | STL_vector_dealloc_4byte_wrapper_004f1350 | EH cleanup wrapper: deallocates vector of 4-byte elements |
| 0x004F13A0 | 93 | STL_json_serializer_dtor | Destruct JSON serializer: dealloc string + value |
| 0x004F1410 | 78 | STL_exception_dtor_004f1410 | Destruct std::exception; resets vtable + __std_exception_destroy |
| 0x004F1470 | 108 | STL_json_value_destroy_ordered_map_node | Destroy JSON ordered_map node, frees 0x10 bytes |
| 0x004F14E0 | 78 | STL_exception_dtor_004f14e0 | Destruct std::exception variant |
| 0x004F1530 | 78 | STL_exception_dtor_004f1530 | Destruct std::exception variant |
| 0x004F1580 | 78 | STL_exception_dtor_004f1580 | Destruct std::exception variant |
| 0x004F15D0 | 78 | STL_exception_dtor_004f15d0 | Destruct std::exception variant |
| 0x004F1630 | 115 | STL_dealloc_json_string_heap_large | Deallocate large JSON heap string at offset +4 |
| 0x004F16B0 | 60 | STL_free_locale | Free CRT locale object via _free_locale |
| 0x004F1700 | 78 | STL_exception_dtor_004f1700 | Destruct std::exception; resets vtable + __std_exception_destroy |
| 0x004F1760 | 67 | STL_exception_dtor_004f1760 | Destruct std::exception; resets vtable + __std_exception_destroy |
| 0x004F17B0 | 78 | STL_exception_dtor_004f17b0 | Destruct std::exception; resets vtable + __std_exception_destroy |
| 0x004F1810 | 142 | STL_system_error_dtor | Destruct system_error: destroys two string members + exception base |
| 0x004F18C0 | 78 | STL_exception_dtor_004f18c0 | Destruct std::exception; resets vtable + __std_exception_destroy |
| 0x004F1910 | 115 | STL_dealloc_json_string_heap_small | Deallocate small JSON heap string at offset +4 |
| 0x004F1990 | 142 | STL_json_out_of_range_dtor | Destruct json::out_of_range: destroys two strings + base |
| 0x004F1A20 | 66 | STL_basic_streambuf_dtor_wrapper | Wrapper calling basic_streambuf destructor |
| 0x004F1A70 | 78 | STL_json_object_node_destroy_and_free | Destroy JSON object node recursively then free |
| 0x004F1AD0 | 78 | STL_exception_dtor_004f1ad0 | Destruct std::exception; resets vtable + __std_exception_destroy |
| 0x004F1B20 | 78 | STL_exception_dtor_004f1b20 | Destruct std::exception; resets vtable + __std_exception_destroy |
| 0x004F1B80 | 78 | STL_exception_dtor_004f1b80 | Destruct std::exception; resets vtable + __std_exception_destroy |
| 0x004F1BD0 | 117 | STL_vector_copy_assign_004f1bd0 | 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 | 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 | 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 | 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 | Advance a deque bit-iterator by param_2 positions. Handles forward and backward movement with 32-element block stride |
| 0x004F1D70 | 199 | STL_istringstream_dtor | Destructor for std::istringstream. Resets stringbuf vtable, optionally flushes buffer, destroys streambuf, istream, and basic_ios bases |
| 0x004F1E50 | 107 | STL_istringstream_base_dtor | Base destructor for istringstream: destroys streambuf at +0x10, istream at +0x18, basic_ios at +0x50 |
| 0x004F1EC0 | 111 | STL_runtime_error_derived_dtor_004f1ec0 | 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 | 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 | 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 | Destruct json::out_of_range variant |
| 0x004F20C0 | 97 | STL_exception_with_string_dtor_004f20c0 | 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 | 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 | 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 | 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 | 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 | Trivial scalar deleting destructor. No member cleanup, just optionally deletes self (0x10 bytes) |
| 0x004F23C0 | 157 | STL_stringbuf_scalar_deleting_dtor | 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 | 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 | 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 | 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 | Scalar deleting destructor for JSON parser. Calls STL_json_parser_dtor, optionally deletes self (0x188 bytes) |
| 0x004F2520 | 30 | STL_scalar_deleting_dtor_0x04_004f2520 | Trivial scalar deleting destructor. No member cleanup, just optionally deletes self (4 bytes) |
| 0x004F2540 | 135 | STL_istringstream_ios_scalar_deleting_dtor | 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 | Scalar deleting destructor for std::codecvt<char,char,_Mbstatet>. Frees C string at +0xc, calls base codecvt destructor. Optionally deletes self (0x10 bytes) |
| 0x004F2650 | 132 | STL_json_serializer_scalar_deleting_dtor | 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 | 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 | 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 | Trivial scalar deleting destructor. No member cleanup, just optionally deletes self (8 bytes) |
| 0x004F2820 | 30 | STL_json_node_scalar_deleting_dtor_004f2820 | Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. |
| 0x004F2840 | 114 | STL_json_string_node_dtor_004f2840 | 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 | Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. |
| 0x004F28E0 | 138 | STL_regex_nfa_state_list_dtor_004f28e0 | 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 | Regex NFA state destructor. Sets base vtable and conditionally frees 0x18 bytes. |
| 0x004F29D0 | 36 | STL_regex_nfa_state_base_dtor_004f29d0 | 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 | Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x18 bytes. |
| 0x004F2A60 | 91 | STL_regex_nfa_state_dtor_004f2a60 | Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x18 bytes. |
| 0x004F2AC0 | 91 | STL_regex_nfa_state_dtor_004f2ac0 | Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x18 bytes. |
| 0x004F2B20 | 91 | STL_regex_nfa_state_dtor_004f2b20 | Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x14 bytes. |
| 0x004F2B80 | 193 | STL_regex_nfa_group_state_dtor_004f2b80 | 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 | Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x28 bytes. |
| 0x004F2CB0 | 91 | STL_regex_nfa_state_dtor_004f2cb0 | Regex NFA state destructor variant. Sets base vtable and conditionally frees 0x24 bytes. |
| 0x004F2D10 | 103 | STL_json_exception_dtor_004f2d10 | JSON exception destructor. Destroys std::exception base, conditionally frees 0x14 bytes. |
| 0x004F2D80 | 30 | STL_json_node_scalar_deleting_dtor_004f2d80 | Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. |
| 0x004F2DA0 | 103 | STL_json_exception_dtor_004f2da0 | JSON exception destructor. Destroys std::exception base, conditionally frees 0xc bytes. |
| 0x004F2E10 | 103 | STL_json_exception_dtor_004f2e10 | JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. |
| 0x004F2E80 | 103 | STL_json_exception_dtor_004f2e80 | JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. |
| 0x004F2EF0 | 103 | STL_json_exception_dtor_004f2ef0 | JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. |
| 0x004F2F60 | 31 | STL_regex_base_offset_scalar_deleting_dtor_004f2f60 | 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 | Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. |
| 0x004F2FA0 | 30 | STL_json_node_scalar_deleting_dtor_004f2fa0 | Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. |
| 0x004F2FC0 | 30 | STL_json_node_scalar_deleting_dtor_004f2fc0 | Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. |
| 0x004F2FE0 | 103 | STL_json_exception_dtor_004f2fe0 | JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. |
| 0x004F3050 | 92 | STL_json_exception_base_dtor_004f3050 | 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 | JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. |
| 0x004F3130 | 30 | STL_json_node_scalar_deleting_dtor_004f3130 | Scalar deleting destructor for 8-byte JSON/regex node. Conditionally frees heap memory. |
| 0x004F3150 | 30 | STL_regex_node_scalar_deleting_dtor_004f3150 | Scalar deleting destructor for 4-byte regex node. Conditionally frees heap memory. |
| 0x004F3170 | 163 | STL_json_regex_exception_dtor_004f3170 | 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 | JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. |
| 0x004F3290 | 163 | STL_json_regex_exception_dtor_004f3290 | 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 | Scalar deleting destructor for basic_streambuf<char>. Calls ~basic_streambuf then conditionally frees 0x38 bytes. |
| 0x004F33A0 | 103 | STL_json_exception_dtor_004f33a0 | JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. |
| 0x004F3410 | 103 | STL_json_exception_dtor_004f3410 | JSON exception destructor variant. Destroys std::exception base, conditionally frees 0xc bytes. |
| 0x004F3480 | 30 | STL_regex_node_scalar_deleting_dtor_004f3480 | Scalar deleting destructor for 4-byte regex node. Conditionally frees heap memory. |
| 0x004F34A0 | 118 | STL_json_parse_exception_dtor_004f34a0 | 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 | JSON exception destructor variant. Destroys std::exception base, conditionally frees 0x14 bytes. |
| 0x004F3590 | 235 | STL_json_value_deep_destroy | Deep destroy JSON value: frees strings, arrays, objects |
| 0x004F3690 | 395 | STL_json_value_resolve_reference_004f3690 | 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 | 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 | Deep copy JSON value by type nibble; all value types handled |
| 0x004F3A60 | 516 | STL_json_parse_from_string_004f3a60 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Create regex NFA node: alloc 0x20 bytes, link into list |
| 0x004F5120 | 903 | STL_regex_parser_parse_atom_004f5120 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 template instantiation: STL regex nfa analyze loop nodes 004f5ac0 |
| 0x004F5B90 | 85 | STL_regex_vector_replace_buffer_004f5b90 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 template instantiation: STL regex vector destroy range 0x10 004f6a30 |
| 0x004F6A60 | 22 | STL_regex_vector_destroy_range_0x28b_004f6a60 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Set regex anchor flag: 'a' sets type 7, 'b' sets type 8. Returns 1 on match, 0 otherwise. |
| 0x004F7460 | 602 | STL_regex_match_alternation | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Throw a std::regex_error with the given error code. Calls std::_Xregex_error which does not return. |
| 0x004F7DD0 | 28 | STL_regex_expect_token | Expect a specific regex token. If current token matches param_2, advance parser. Otherwise throw regex_error with param_3 error code. |
| 0x004F7E60 | 3 | STL_regex_identity_transform_a | Identity transform function for regex - returns param_1 unchanged. Used as a no-op character transform callback. |
| 0x004F7EB0 | 3 | STL_regex_identity_transform_b | Identity transform function for regex - returns param_1 unchanged. Second instance, used as alternate no-op transform callback. |
| 0x004F7EE0 | 34 | STL_regex_parse_hex_escape | 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 | 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 | 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 | 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 | 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 | 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 | Set the vtable pointer for a regex NFA node to the default node vtable at 010d6744. |
| 0x004F89F0 | 165 | STL_regex_nfa_alloc_state | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x004F90E0 | 125 | STL_vector_0xc_resize | 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 | 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 | Throw std::bad_array_new_length via _CxxThrowException |
| 0x004F9460 | 28 | STL_throw_bad_cast | Throw std::bad_cast exception via _CxxThrowException. |
| 0x004F9480 | 48 | STL_regex_nfa_destroy_node_list | 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 | 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 | 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 | 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 | Deallocate vector of 4-byte elements; frees buffer |
| 0x004F96B0 | 129 | STL_vector_dealloc_8byte_elements_004f96b0 | 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 | 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 | 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 | Destruct std::string; frees heap buffer if capacity > 15 |
| 0x004F9930 | 260 | STL_regex_lexer_next_token | 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 | 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 | 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 template instantiation: STL uninitialized fill n pair |
| 0x004F9BC0 | 51 | STL_uninitialized_fill_n_8byte | 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 template instantiation: STL uninitialized fill n 0xc |
| 0x004F9C30 | 36 | STL_uninitialized_copy_0x10 | STL template instantiation: STL uninitialized copy 0x10 |
| 0x004F9C60 | 44 | STL_uninitialized_copy_0x14 | STL template instantiation: STL uninitialized copy 0x14 |
| 0x004F9C90 | 44 | STL_uninitialized_copy_8byte | STL template instantiation: STL uninitialized copy 8byte |
| 0x004F9CC0 | 36 | STL_copy_elements_16byte_004f9cc0 | 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 | 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 | 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 | 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 | 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 | 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 | Throws std::_Xlength_error with "vector<bool> too long". Template instantiation for vector<bool>::_Xlen(). |
| 0x004F9ED0 | 10 | STL_throw_string_too_long | 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 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9EF0 | 10 | STL_throw_vector_too_long_004f9ef0 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F00 | 10 | STL_throw_vector_too_long_004f9f00 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F10 | 10 | STL_throw_vector_too_long_004f9f10 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F20 | 10 | STL_throw_vector_too_long_004f9f20 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F30 | 10 | STL_throw_vector_too_long_004f9f30 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F40 | 10 | STL_throw_vector_too_long_004f9f40 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F50 | 10 | STL_throw_vector_too_long_004f9f50 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F60 | 10 | STL_throw_vector_too_long_004f9f60 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F70 | 10 | STL_throw_vector_too_long_004f9f70 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F80 | 10 | STL_throw_vector_too_long_004f9f80 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9F90 | 10 | STL_throw_vector_too_long_004f9f90 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9FA0 | 10 | STL_throw_vector_too_long_004f9fa0 | Throws std::_Xlength_error with "vector too long". Template instantiation for vector::_Xlen(). |
| 0x004F9FB0 | 10 | STL_throw_invalid_string_position | 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 | 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 | Allocate heap with 32-byte alignment for sizes >= 0x1000 |
| 0x004FA0B0 | 82 | STL_aligned_heap_alloc_004fa0b0 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x004FA5C0 | 342 | STL_string_append_buffer | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Virtual call dispatcher. Calls vtable[2] (offset +8) on the object pointed to by param_1. |
| 0x004FB2C0 | 5 | STL_vtable_dispatch_offset8_004fb2c0 | 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 | 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 | 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 | 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 | 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 | Simple getter returning *param_1, the first dword (type/tag field) of a JSON node. |
| 0x004FB4C0 | 56 | STL_json_dealloc_0x10_stride_array_004fb4c0 | 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 | 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 | 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 allocator deallocate for 4-byte elements. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x004FB5C0 | 58 | STL_json_dealloc_0x10_stride_004fb5c0 | Frees a 0x10-stride JSON array allocation. Computes size as param_2 * 0x10, uses aligned deallocation for large blocks. |
| 0x004FB600 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x004FB640 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x004FB680 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x004FB6C0 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x004FB700 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x004FB740 | 58 | STL_json_dealloc_0x10_stride_004fb740 | Frees a 0x10-stride JSON array allocation. Identical to 004fb5c0, used in a different code path. |
| 0x004FB780 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x004FB7C0 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x004FB800 | 55 | STL_aligned_dealloc_004fb800 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x004FD0B0 | 192 | STL_json_vector__erase_and_move_004fd0b0 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Simple getter returning *(param_1 + 4), the data/payload pointer of a JSON node. |
| 0x004FDC40 | 5 | STL_vtable_dispatch_offset4_004fdc40 | Virtual call dispatcher. Calls vtable[1] (offset +4) on the object pointed to by param_1. |
| 0x004FDC50 | 5 | STL_vtable_dispatch_offset4_004fdc50 | 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 | Returns the current parse position from the JSON parser state at offset 0x130. |
| 0x004FDC80 | 173 | STL_json_make_error_code_pair_004fdc80 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | std::vector<bool> 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 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 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 | 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 | 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 | 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). |
| 0x00505CB0 | 32 | STL_json_sax_get_result_with_position_00505cb0 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Virtual dispatch thunk: calls vtable[0x60/4] |
| 0x00507530 | 14 | STL_virtual_dispatch_offset_0x70_00507530 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 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 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x005127E0 | 296 | STL_string__grow_and_insert | std::string: grows buffer with 1.5x strategy and inserts data |
| 0x00512910 | 377 | STL_vector__reallocate_12byte_elements | std::vector reallocation for 0xC-byte elements with 1.5x growth |
| 0x00512C30 | 173 | STL_string__move_range_24byte_elements | Move-constructs range of 24-byte std::string elements |
| 0x00512CE0 | 162 | STL_string__move_range_12byte_elements | Move-constructs range of 12-byte elements |
| 0x00513320 | 64 | STL_string__move_construct_24byte | Move-constructs a 24-byte std::string SSO |
| 0x00517440 | 109 | STL_string__move_construct_with_seh | Move-constructs std::string with SEH |
| 0x00517DE0 | 181 | STL_vector__copy_construct_4byte_elements | Copy-constructs vector of 4-byte elements |
| 0x0051BF90 | 37 | _Adjust_manually_vector_aligned | Adjusts a manually vector-aligned pointer for deallocation. Retrieves the original allocation pointer stored at offset -4 and adds 0x23 to the size. |
| 0x0051C1E0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051C3F0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051C600 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051C810 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051CA20 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051CC30 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051CE40 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051D050 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051D260 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051D470 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051D680 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051D890 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0051E9B0 | 60 | deallocate | phmap allocator_traits::deallocate for 8-byte stride elements. Frees aligned memory, validating alignment header for large allocations (>0xFFF bytes). |
| 0x0051E9F0 | 62 | deallocate | std::allocator::deallocate for 4-byte stride elements (unsigned int, CHN*, etc). Frees aligned memory, validating alignment header for large allocations. |
| 0x0051EA30 | 62 | deallocate | std::allocator::deallocate for 8-byte stride elements (phmap Deallocate<8> wrapper types). Frees aligned memory, validating alignment header for large allocations. |
| 0x0051EAC0 | 61 | deallocate | std::allocator::deallocate for 0x18-byte (24 decimal) stride elements (GSISymbolEntry, FileSymbolInfo). Frees aligned memory with validation for large allocations. |
| 0x0051EB00 | 61 | deallocate | std::allocator::deallocate for 0xC-byte (12 decimal) stride elements (GSISymbolEntry variant). Frees aligned memory with validation for large allocations. |
| 0x0051EB40 | 61 | deallocate | std::allocator::deallocate for 0xC-byte (12 decimal) stride elements. Identical to 0051eb00 but separate instantiation. Frees aligned memory with validation. |
| 0x0051EB80 | 62 | deallocate | std::allocator::deallocate for 8-byte stride elements (phmap Deallocate<8> wrapper types). Another instantiation of the same pattern. Frees aligned memory with validation. |
| 0x0053E9D0 | 34 | STL_uninitialized_copy_0053e9d0 | STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest |
| 0x0053EA00 | 34 | STL_uninitialized_copy_0053ea00 | STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest |
| 0x0053EA30 | 34 | STL_uninitialized_copy_0053ea30 | STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest |
| 0x0053EA60 | 34 | STL_uninitialized_copy_0053ea60 | STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest |
| 0x0053EA90 | 34 | STL_uninitialized_copy_0053ea90 | STL uninitialized_copy: memcpy range [first,last) to dest, returns end of dest |
| 0x0053EAC0 | 321 | STL_vector_insert_reallocate_0053eac0 | STL vector insert with reallocation for 20-byte elements, grows by 1.5x capacity |
| 0x0053EC20 | 272 | STL_vector_insert_reallocate_8byte | STL vector insert with reallocation for 8-byte elements, grows by 1.5x capacity |
| 0x0053ED50 | 321 | STL_vector_insert_reallocate_0053ed50 | STL vector insert with reallocation for 20-byte elements, variant B |
| 0x0053EEB0 | 267 | STL_vector_insert_reallocate_16byte | STL vector insert with reallocation for 16-byte elements, grows by 1.5x capacity |
| 0x0053EFE0 | 321 | STL_vector_insert_reallocate_0053efe0 | STL vector insert with reallocation for 20-byte elements, variant C |
| 0x0053F140 | 275 | STL_vector_insert_reallocate_32byte | STL vector insert with reallocation for 32-byte elements, grows by 1.5x capacity |
| 0x0053F270 | 321 | STL_vector_insert_reallocate_0053f270 | STL vector insert with reallocation for 20-byte elements, variant D |
| 0x0053F3D0 | 272 | STL_vector_insert_reallocate_8byte_B | STL vector insert with reallocation for 8-byte elements, variant B |
| 0x0053F500 | 321 | STL_vector_insert_reallocate_0053f500 | STL vector insert with reallocation for 20-byte elements, variant E |
| 0x0053F660 | 267 | STL_vector_insert_reallocate_16byte_B | STL vector insert with reallocation for 16-byte elements, variant B |
| 0x0053F790 | 321 | STL_vector_insert_reallocate_0053f790 | STL vector insert with reallocation for 20-byte elements, variant F |
| 0x0053F8F0 | 275 | STL_vector_insert_reallocate_32byte_B | STL vector insert with reallocation for 32-byte elements, variant B |
| 0x0053FA20 | 131 | STL_map_destroy_subtree_0053fa20 | Recursively destroys map/set red-black tree nodes and frees 32-byte node memory |
| 0x0053FAB0 | 75 | STL_map_lower_bound | STL map lower_bound: finds first node with key >= search key using int comparison |
| 0x0053FBA0 | 67 | STL_map_node_free | Frees a single map/set tree node (32 bytes) if non-null |
| 0x0053FBF0 | 116 | STL_map_clear | Clears a map/set: destroys all nodes then frees the sentinel node |
| 0x0053FC70 | 78 | STL_map_destroy_sentinel | Frees the sentinel/header node (32 bytes) of a map/set if non-null |
| 0x0053FCC0 | 68 | STL_map_destroy_all | Destroys all nodes in a map/set tree via recursive subtree destruction |
| 0x0053FD10 | 129 | STL_vector_deallocate | Frees STL vector's backing memory, handles large allocation pointer fixup, zeros pointers |
| 0x0053FDA0 | 121 | STL_vector_assign_20byte | Assigns content of one vector to another for 20-byte elements, reallocates if needed |
| 0x0053FE20 | 250 | STL_map_insert_or_find | Map operator[]: finds or inserts node by int key, returns pointer to value (offset 0x14) |
| 0x0053FF20 | 83 | STL_vector_push_back_16byte | Pushes a 16-byte element (e.g. 4 floats) onto vector, reallocates if at capacity |
| 0x0053FF80 | 89 | STL_vector_push_back_20byte | Pushes a 20-byte element onto vector, reallocates if at capacity |
| 0x005401E0 | 89 | STL_vector_push_back_20byte_B | Pushes a 20-byte element onto vector variant B, reallocates if at capacity |
| 0x005402A0 | 47 | STL_vector_push_back_20byte_C | Pushes a 20-byte element onto vector variant C, reallocates if at capacity |
| 0x005402E0 | 120 | STL_vector_copy_assign_20byte | Copy-assigns vector contents for 20-byte elements, clears then copies from source |
| 0x005415E0 | 33 | STL_map_clear_and_reset | Destroys all map nodes and resets sentinel pointers to empty state |
| 0x00541EC0 | 118 | STL_vector_change_array_20byte | 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 | 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 | 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 | Frees old buffer and sets new buffer/size/capacity pointers for 16-byte element vector |
| 0x00542080 | 118 | STL_vector_change_array_20byte_00542080 | 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 | Frees old buffer and sets new buffer/size/capacity pointers for 32-byte element vector |
| 0x00542160 | 183 | STL_vector_reserve_20byte_A | Reserves capacity for 20-byte element vector, frees old buffer and allocates new |
| 0x00542220 | 183 | STL_vector_reserve_20byte_B | Reserves capacity for 20-byte element vector variant B, frees old buffer |
| 0x005422E0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x005424F0 | 44 | STL_copy_elements_20byte_A | STL template instantiation: STL copy elements 20byte A |
| 0x00542520 | 44 | STL_copy_elements_8byte | STL template instantiation: STL copy elements 8byte |
| 0x00542550 | 44 | STL_copy_elements_20byte_B | STL template instantiation: STL copy elements 20byte B |
| 0x00542580 | 36 | STL_copy_elements_16byte | STL template instantiation: STL copy elements 16byte |
| 0x005425B0 | 44 | STL_copy_elements_20byte_C | STL template instantiation: STL copy elements 20byte C |
| 0x005425E0 | 44 | STL_copy_elements_32byte | STL template instantiation: STL copy elements 32byte |
| 0x00542610 | 45 | STL_relocate_elements_20byte_A | Relocates 20-byte elements by offset: copies each element to (ptr + offset) |
| 0x00542640 | 45 | STL_relocate_elements_8byte | Relocates 8-byte elements by offset: copies each element to (ptr + offset) |
| 0x00542670 | 45 | STL_relocate_elements_20byte_B | Relocates 20-byte elements by offset variant B |
| 0x005426A0 | 36 | STL_relocate_elements_16byte | Relocates 16-byte elements by offset |
| 0x005426D0 | 45 | STL_relocate_elements_20byte_C | Relocates 20-byte elements by offset variant C |
| 0x00542700 | 45 | STL_relocate_elements_32byte | Relocates 32-byte elements by offset |
| 0x00542730 | 10 | STL_vector_throw_length_error_A | Throws std::length_error for vector too long, does not return |
| 0x00542740 | 10 | STL_vector_throw_length_error_B | Throws std::length_error for vector too long, does not return |
| 0x00542750 | 10 | STL_vector_throw_length_error_C | Throws std::length_error for vector too long, does not return |
| 0x00542760 | 10 | STL_vector_throw_length_error_D | Throws std::length_error for vector too long, does not return |
| 0x00542770 | 10 | STL_vector_throw_length_error_E | Throws std::length_error for vector too long, does not return |
| 0x00542780 | 10 | STL_vector_throw_length_error_F | Throws std::length_error for vector too long, does not return |
| 0x00542790 | 95 | STL_allocate_20byte_array_A | Allocates aligned array of 20-byte elements with overflow check |
| 0x005427F0 | 92 | STL_allocate_8byte_array | Allocates aligned array of 8-byte elements with overflow check |
| 0x00542850 | 95 | STL_allocate_20byte_array_B | Allocates aligned array of 20-byte elements variant B |
| 0x005428B0 | 92 | STL_allocate_16byte_array | Allocates aligned array of 16-byte elements with overflow check |
| 0x00542910 | 95 | STL_allocate_20byte_array_C | Allocates aligned array of 20-byte elements variant C |
| 0x00542970 | 92 | STL_allocate_32byte_array | Allocates aligned array of 32-byte elements with overflow check |
| 0x005429D0 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00542A10 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00542A50 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00542A90 | 58 | STL_deallocate_16byte_array | Frees aligned array of 16-byte elements with large allocation fixup |
| 0x00542AD0 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00542B10 | 58 | STL_deallocate_32byte_array | Frees aligned array of 32-byte elements with large allocation fixup |
| 0x00543A50 | 34 | STL_uninitialized_copy_00543a50 | STL uninitialized_copy: memcpy range to dest, returns end of dest |
| 0x00543A80 | 37 | _Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_> | Value-initializes n elements in uninitialized memory by zeroing the range. |
| 0x00543AB0 | 28 | _Zero_range<> | Fills a memory range with zeros using memset. |
| 0x00543AD0 | 34 | STL_uninitialized_copy_00543ad0 | STL uninitialized_copy: memcpy range to dest, returns end of dest |
| 0x005453E0 | 400 | STL_deque_grow_map | Grows deque block map by doubling capacity, reallocates and copies block pointers to new map array |
| 0x00545580 | 10 | STL_deque_throw_length_error | Throws std::length_error with message "deque too long" |
| 0x00545590 | 34 | memcpy_range | Copies memory from [param1, param2) to param3, returns pointer past copied data in dest |
| 0x005455C0 | 388 | STL_vector_reallocate | Reallocates STL vector with 1.5x growth, copies old elements and zero-fills new slots |
| 0x00545770 | 28 | _Zero_range<> | Fills a memory range with zeros using memset. |
| 0x00545950 | 129 | STL_vector_free | Frees STL vector buffer with aligned deallocation support and zeros all 3 pointers |
| 0x00548B40 | 10 | STL_vector_throw_length_error_00548b40 | Throws std::length_error with message "vector too long" |
| 0x00548B50 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00548B90 | 103 | STL_vector_resize | Resizes vector to new count: truncates, zero-fills, or reallocates as needed |
| 0x0054C5D0 | 23 | free_if_different | Frees first pointer only if it differs from second pointer (avoids freeing static/stack buffers) |
| 0x0054C5F0 | 390 | STL_wstring_append_chars | Appends range of char values as wchar_t to STL wstring with 1.5x growth reallocation |
| 0x0054C7A0 | 522 | STL_vector_0x18_insert_realloc | Inserts 24-byte element into vector with 1.5x growth reallocation, copies existing elements around insertion point |
| 0x0054C9B0 | 421 | STL_vector_8byte_insert_realloc | Inserts 8-byte element into vector with 1.5x growth reallocation, copies existing elements around insertion |
| 0x0054CB80 | 103 | STL_tree_destroy_recursive | Recursively destroys std::map/set tree nodes, freeing each 24-byte node via right-child traversal |
| 0x0054CBF0 | 367 | heap_sift_down_0x18 | Builds max-heap from 24-byte elements using sift-down with 3-field comparison (render sort key) |
| 0x0054D140 | 309 | heap_sift_and_bubble_0x18 | Sifts down then bubbles up a 24-byte element in heap at given position with 3-field comparison |
| 0x0054D620 | 111 | STL_map_destroy | Destroys std::map by recursively freeing all tree nodes and sentinel node |
| 0x0054D6B0 | 151 | STL_vector_0x18_free | Frees vector of 24-byte elements with aligned deallocation, zeros all 3 pointers |
| 0x0054D750 | 129 | STL_vector_8byte_free | Frees vector of 8-byte elements with aligned deallocation, zeros all 3 pointers |
| 0x00550370 | 131 | STL_wstring_dtor | std::wstring destructor: frees heap buffer if capacity>7, resets to empty SSO state |
| 0x00550400 | 46 | STL_copy_0x18_elements | STL template instantiation: STL copy 0x18 elements |
| 0x00550430 | 44 | STL_copy_8byte_elements | STL template instantiation: STL copy 8byte elements |
| 0x00550460 | 47 | STL_move_0x18_elements | Moves array of 24-byte (0x18) elements to offset destination (overlapping safe via offset copy) |
| 0x00550490 | 45 | STL_move_8byte_elements | Moves array of 8-byte elements to offset destination (overlapping safe via offset copy) |
| 0x005504C0 | 10 | STL_vector_xlength_error_0x18 | Throws std::length_error("vector too long") for 0x18-element vector |
| 0x005504D0 | 10 | STL_vector_xlength_error_8byte | Throws std::length_error("vector too long") for 8-byte element vector |
| 0x00550780 | 91 | STL_wstring_allocate_buffer | Allocates wide char buffer (size*2 bytes), uses aligned allocation for blocks >= 0x1000 |
| 0x005507E0 | 257 | STL_wstring_assign | std::wstring assign: copies wchar data, grows buffer if needed, null-terminates |
| 0x005508F0 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00550930 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00550970 | 264 | STL_wstring_reserve | std::wstring reserve: grows capacity if needed, copies existing data to new buffer |
| 0x005519B0 | 276 | STL_vector_4byte_insert_realloc | Inserts single 4-byte element into vector with reallocation, grows capacity by 1.5x |
| 0x00551AF0 | 131 | STL_rbtree_destroy_nodes | Recursively destroys red-black tree nodes, freeing left/right subtrees and each node's memory |
| 0x00551BA0 | 144 | STL_object_ctor_with_array_551ba0 | 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 | Destructor: frees a 0x20-byte node at offset +4 if non-null via operator_delete |
| 0x00551CA0 | 76 | STL_rbtree_destroy_and_free | 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 | 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 | 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 | 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. |
| 0x00552650 | 90 | STL_vector_change_array_4byte_00552650 | Reallocates a vector internal array to accommodate more 4-byte elements. Copies existing data and frees old buffer. |
| 0x005526B0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00556E70 | 29 | STL_uninitialized_copy_backward_4byte | Copies range backward using memcpy |
| 0x00556E90 | 29 | STL_uninitialized_copy_backward_8byte | Copies range backward using memcpy |
| 0x00556EB0 | 29 | STL_uninitialized_copy_backward_12byte | Copies range backward using memcpy |
| 0x00556ED0 | 34 | STL_uninitialized_copy_forward_4byte | Copies range to destination, returns end |
| 0x00556F00 | 34 | STL_uninitialized_copy_forward_8byte | Copies range to destination, returns end |
| 0x00556F30 | 34 | STL_uninitialized_copy_forward_12byte | Copies range to destination, returns end |
| 0x00556F60 | 276 | STL_vector_insert_realloc_4byte | STL vector insert with reallocation, grows by 1.5x |
| 0x005570A0 | 276 | STL_vector_insert_realloc_4byte_alt | STL vector insert realloc variant B |
| 0x005571E0 | 276 | STL_vector_insert_realloc_4byte_alt2 | STL vector insert realloc variant C |
| 0x00557320 | 272 | STL_vector_insert_realloc_8byte | STL vector insert realloc for 8-byte elements |
| 0x00558670 | 146 | heap_sift_adjust_by_offset8 | Heap sift for pointer array by offset 0x8 |
| 0x00558710 | 198 | heap_sift_adjust_by_offset10_14 | Heap sift for pointer array by offsets 0x10/0x14 |
| 0x005587E0 | 202 | heap_sift_adjust_by_offset10_14_alt | Heap sift alternate comparison at 0x10/0x14 |
| 0x005588B0 | 321 | heap_sift_adjust_float_pair | Heap sift for float pair array |
| 0x00559210 | 37 | _Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_> | Value-initializes n elements in uninitialized memory by zeroing the range. |
| 0x00559240 | 28 | _Zero_range<> | Fills a memory range with zeros using memset. |
| 0x005593D0 | 34 | STL_uninitialized_copy_forward_generic | Copies range via memcpy, returns end |
| 0x00559400 | 31 | STL_fill_range_4byte | STL template instantiation: STL fill range 4byte |
| 0x00559850 | 125 | STL_vector_deallocate_and_reset | Deallocates STL vector buffer, resets to null |
| 0x00559950 | 129 | STL_vector_deallocate_32byte_elements | Deallocates STL vector with 32-byte elements |
| 0x0055FBE0 | 320 | STL_vector_resize_and_fill_4byte | Resizes STL vector of 4-byte elements, fills with value |
| 0x0055FD30 | 90 | STL_vector__Change_array_0055fd30 | Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. |
| 0x0055FD90 | 90 | STL_vector__Change_array_0055fd90 | Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. |
| 0x0055FDF0 | 90 | STL_vector__Change_array_0055fdf0 | Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. |
| 0x0055FE50 | 90 | STL_vector__Change_array_0055fe50 | Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. |
| 0x0055FEB0 | 94 | STL_vector_swap_buffer_32byte | Frees old buffer and sets new begin/end/capacity for 32-byte vector |
| 0x005600B0 | 197 | STL_vector_reserve_4byte_typeA | Reserves capacity for 4-byte element vector variant A |
| 0x005601A0 | 197 | STL_vector_reserve_4byte_typeB | Reserves capacity for 4-byte element vector variant B |
| 0x00560290 | 197 | STL_vector_reserve_4byte_typeC | Reserves capacity for 4-byte element vector variant C |
| 0x00560380 | 189 | STL_vector_reserve_8byte | Reserves capacity for 8-byte element vector |
| 0x00560470 | 128 | STL_vector_reserve_32byte | Reserves capacity for 32-byte element vector |
| 0x00560520 | 44 | STL_copy_8byte_elements_forward | STL template instantiation: STL copy 8byte elements forward |
| 0x00560550 | 45 | STL_copy_8byte_elements_to_offset | Copies 8-byte elements to destination at offset |
| 0x00560580 | 45 | STL_copy_32byte_elements_to_offset | Copies 32-byte elements to destination at offset |
| 0x005605B0 | 10 | STL_throw_deque_too_long | Throws std::length_error deque too long |
| 0x005605C0 | 10 | STL_throw_vector_too_long_A | Throws std::length_error vector too long |
| 0x005605D0 | 10 | STL_throw_vector_too_long_B | Throws std::length_error vector too long |
| 0x005605E0 | 10 | STL_throw_vector_too_long_C | Throws std::length_error vector too long |
| 0x005605F0 | 10 | STL_throw_vector_too_long_D | Throws std::length_error vector too long |
| 0x00560600 | 10 | STL_throw_vector_too_long_E | Throws std::length_error vector too long |
| 0x00560610 | 92 | STL_aligned_allocate_4byte_A | Allocates N*4 bytes with 32-byte alignment for large allocs |
| 0x00560670 | 92 | STL_aligned_allocate_4byte_B | Allocates N*4 bytes with 32-byte alignment for large allocs |
| 0x005606D0 | 92 | STL_aligned_allocate_4byte_C | Allocates N*4 bytes with 32-byte alignment for large allocs |
| 0x00560730 | 92 | STL_aligned_allocate_8byte | Allocates N*8 bytes with 32-byte alignment |
| 0x00560790 | 92 | STL_aligned_allocate_32byte | Allocates N*32 bytes with 32-byte alignment |
| 0x005607F0 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00560830 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00560870 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x005608B0 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x005608F0 | 58 | STL_aligned_free_32byte | Frees 32-byte aligned allocation |
| 0x00560930 | 48 | STL_vector_push_back_8byte_element | 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 | Copies range via memcpy, returns end |
| 0x00560990 | 37 | _Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_> | Value-initializes n elements in uninitialized memory by zeroing the range. |
| 0x005609C0 | 28 | _Zero_range<> | Fills a memory range with zeros using memset. |
| 0x005609E0 | 34 | STL_uninitialized_copy_forward_20byte | Copies range via memcpy, returns end |
| 0x00560A10 | 31 | STL_fill_range_4byte_alt | STL template instantiation: STL fill range 4byte alt |
| 0x005617C0 | 125 | STL_vector_deallocate_005617c0 | Deallocates an STL vector: frees the backing buffer (with aligned allocation support for >4KB), zeroes start/end/capacity pointers |
| 0x00561D20 | 129 | STL_vector_deallocate_4byte | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x00562660 | 10 | STL_throw_deque_too_long_00562660 | Throws std::length_error with message "deque<T> too long" - called when circular buffer exceeds max capacity |
| 0x00562670 | 389 | STL_sort_median_of_9_by_offset8_A | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 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 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 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 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 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 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. |
| 0x00569600 | 604 | STL_vector_insert_render_item_1c | 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 | 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 | 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. |
| 0x005699B0 | 91 | STL_vector_destroy_elements_1c | 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 | 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 | 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 | 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. |
| 0x0056A860 | 93 | STL_vector_destroy_render_items_1c | 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 | Throws std::length_error("vector too long") for render item vectors (0x1c stride). |
| 0x0056A8D0 | 67 | STL_deallocate_render_items_1c | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x0056B090 | 222 | STL_move_construct_display_mode_item_68 | 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 | 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 | Destroys resolution items in range [begin, end) with 0x24 stride. Calls STL_string_dtor for each element's embedded string. |
| 0x0056C4F0 | 22 | STL_vector_destroy_display_mode_items_68_wrapper | 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 | 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 | Throws std::length_error("vector too long") for display mode vectors (0x68 stride). |
| 0x0056C580 | 10 | STL_vector_throw_length_error_resolution_24 | Throws std::length_error("vector too long") for resolution item vectors (0x24 stride). |
| 0x0056C590 | 56 | STL_deallocate_display_mode_68 | 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 allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x0056C610 | 271 | STL_vector_reallocate_insert_pair8 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x0056D0F0 | 129 | STL_vector_free_pair8 | 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). |
| 0x0056D240 | 172 | STL_shared_ptr_move_assign | 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. |
| 0x0056E410 | 90 | STL_vector__Change_array_0056e410 | 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 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 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. |
| 0x0056E620 | 189 | STL_vector_reserve_pair8 | 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 | 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 | 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 template instantiation: STL copy pair8 range |
| 0x0056E8C0 | 45 | STL_copy_pair8_to_offset | 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 | Throws std::length_error with message "vector too long". Called when vector size exceeds maximum. |
| 0x0056E900 | 92 | STL_allocate_pair8_array | 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 | 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 | 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 allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x0056EAF0 | 34 | memcpy_range_return_end | 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 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. |
| 0x0056ED50 | 460 | STL_vector_reallocate_40byte_elements | 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). |
| 0x0056F120 | 97 | fill<> | 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 | 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 | 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 | 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. |
| 0x00570020 | 90 | STL_vector__Change_array_00570020 | 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. |
| 0x00570310 | 197 | STL_vector_reserve_4byte_00570310 | 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. |
| 0x00570480 | 10 | STL_vector_throw_length_error_00570480 | Throws std::length_error("vector too long"). Called when a vector exceeds max_size(). |
| 0x00570490 | 10 | STL_vector_throw_length_error_00570490 | Throws std::length_error("vector too long"). Duplicate of STL_vector_throw_length_error at different address. |
| 0x005704A0 | 92 | STL_vector_allocate_4byte | 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. |
| 0x00570610 | 62 | deallocate | 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 allocator::deallocate for 0x28 (40) byte elements. Computes byte size (count*0x28), handles aligned deallocation for large blocks (>0xFFF bytes), calls operator_delete. |
| 0x005710A0 | 103 | STL_rbtree_destroy_nodes_005710a0 | 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 | 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 | 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]. |
| 0x00571480 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x00571FA0 | 517 | Insert_node | 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 | 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 | 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. |
| 0x00575860 | 34 | memcpy_range_00575860 | 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 | 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<struct_std::_Parallelism_allocator<unsigned_int>_> | Value-initializes n elements in uninitialized memory by zeroing the range. |
| 0x005759A0 | 28 | _Zero_range<> | Fills a memory range with zeros using memset. |
| 0x005759C0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x00575A30 | 55 | STL_string__fnv1a_hash | 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. |
| 0x0057AED0 | 690 | STL_unordered_map__rehash | std::unordered_map rehash; reallocates bucket array |
| 0x0057B190 | 418 | STL_deque__grow_buffer | Grows deque backing buffer; doubles capacity |
| 0x0057B340 | 95 | STL_unordered_map__insert_node | Inserts node into unordered_map bucket chain |
| 0x0057B3A0 | 133 | STL_unordered_map__check_load_factor_and_rehash | Checks load factor and rehashes if needed |
| 0x0057B430 | 417 | STL_unordered_map__erase_range | Erases nodes in [first,last) range |
| 0x0057B5E0 | 10 | STL_deque__xlength_error | Throws std::length_error deque too long |
| 0x0057B5F0 | 95 | STL_list__allocate_node_array | Allocates aligned array of list nodes |
| 0x0057B650 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x0057B690 | 133 | STL_deque__push_back | Pushes element to back of deque |
| 0x0057B720 | 165 | STL_list__push_back | Pushes element to back of linked list |
| 0x0057B7D0 | 34 | memcpy_range_to_dest | Copies memory range [src, end) to dest |
| 0x0057B800 | 305 | STL_string__replace_grow | Grows std::string buffer for replace |
| 0x0057C380 | 240 | STL_vector_byte__reserve | Reserves byte vector capacity |
| 0x0057C480 | 260 | STL_string__find_substr | Finds substring in std::string |
| 0x0057C590 | 365 | STL_string__replace | STL template instantiation: STL string replace |
| 0x0057C8D0 | 94 | STL_vector_byte__resize | STL template instantiation: STL vector byte resize |
| 0x0057C930 | 416 | STL_vector_pair__emplace_grow | Grows pair vector and inserts |
| 0x0057CAF0 | 330 | STL_make_heap_pair8 | Builds max-heap from pair array |
| 0x0057CC40 | 249 | STL_sort3_pair8 | Sorts 3 pair elements |
| 0x0057CD40 | 997 | STL_partition_pair8 | Three-way partition for introsort |
| 0x0057D130 | 274 | STL_sift_down_pair8 | STL template instantiation: STL sift down pair8 |
| 0x0057D250 | 505 | STL_introsort_pair8 | STL template instantiation: STL introsort pair8 |
| 0x0057D450 | 129 | STL_vector_pair__clear_and_free | STL template instantiation: STL vector pair clear and free |
| 0x0057D8D0 | 10 | STL_vector__xlength_error | Throws vector too long |
| 0x0057DA30 | 192 | STL_search_bytes | Searches for byte pattern |
| 0x0057DC30 | 34 | memcpy_range_to_dest_0057dc30 | Memcpy range to dest 0057dc30 |
| 0x0057DC60 | 34 | memcpy_range_to_dest_0057dc60 | Memcpy range to dest 0057dc60 |
| 0x0057DC90 | 34 | memcpy_range_to_dest_0057dc90 | Memcpy range to dest 0057dc90 |
| 0x0057DCC0 | 526 | STL_vector_string__emplace_grow | STL template instantiation: STL vector string emplace grow |
| 0x0057E5D0 | 41 | STL_string__construct_copy | Constructs string copy |
| 0x005920C0 | 446 | STL_vector_int_pair_reallocate_emplace | 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. |
| 0x00592340 | 129 | STL_vector_int_pair_clear_and_free | 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. |
| 0x00592470 | 44 | STL_copy_int_pairs_forward | STL template instantiation: STL copy int pairs forward |
| 0x005924A0 | 45 | STL_copy_int_pairs_by_offset | 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 | Throws std::length_error with message "vector too long". Called when a vector operation would exceed max_size (0x1FFFFFFF elements). |
| 0x005924E0 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x005928F0 | 29 | STL_memmove_backward | 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 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 hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x00592B40 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x00592BB0 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x00592C20 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x00592C90 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x00592D00 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x00592D70 | 137 | STL_hash_find_last_by_string | 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 | 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 | 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 | 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. |
| 0x00592FD0 | 122 | STL_hash_list_destroy_string_nodes_40 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x00593600 | 58 | STL_fnv1a_hash_4bytes | 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. |
| 0x00593A70 | 100 | STL_memcmp_4byte_aligned | 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. |
| 0x005944C0 | 540 | STL_unordered_map_emplace_string_value | 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 | 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 | 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 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 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 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 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 template instantiation: STL vector range push back |
| 0x00595350 | 534 | STL_unordered_map_insert_uint32_key_byte_value | 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 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 fill algorithm. Sets all elements in a range to a specified value. |
| 0x005957F0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x00595860 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x005958D0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x00595940 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x005959B0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x00595A20 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x00595A90 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x00595B00 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x00595B70 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x00595BE0 | 108 | STL_unordered_map_find_string_key | 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 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 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 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 | Fill uint32 range, small utility function |
| 0x00596050 | 31 | fill_uint32_range_00596050 | Fill uint32 range 00596050 |
| 0x00596070 | 31 | fill_uint32_range_00596070 | Fill uint32 range 00596070 |
| 0x00596090 | 31 | fill_uint32_range_00596090 | Fill uint32 range 00596090 |
| 0x005960B0 | 31 | fill_uint32_range_005960b0 | Fill uint32 range 005960b0 |
| 0x005960D0 | 31 | fill_uint32_range_005960d0 | Fill uint32 range 005960d0 |
| 0x005960F0 | 31 | fill_uint32_range_005960f0 | Fill uint32 range 005960f0 |
| 0x00596110 | 31 | fill_uint32_range_00596110 | Fill uint32 range 00596110 |
| 0x00596130 | 31 | fill_uint32_range_00596130 | Fill uint32 range 00596130 |
| 0x00596150 | 31 | fill_uint32_range_00596150 | Fill uint32 range 00596150 |
| 0x00596170 | 168 | STL_unordered_map_ctor_0x10_node | 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 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 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 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. |
| 0x00596800 | 67 | STL_unordered_map_free_sentinel_0x10_00596800 | Frees the 0x10-byte sentinel node buffer from an STL unordered_map. Called during map destruction. |
| 0x00596850 | 67 | STL_unordered_map_free_sentinel_0x40 | Frees the 0x40-byte sentinel node buffer from an STL unordered_map. Called during map destruction. |
| 0x005968A0 | 67 | STL_unordered_map_free_sentinel_0x24 | Frees the 0x24-byte sentinel node buffer from an STL unordered_map. Called during map destruction. |
| 0x005968F0 | 67 | STL_unordered_map_free_sentinel_0x2c | Frees the 0x2c-byte sentinel node buffer from an STL unordered_map. Called during map destruction. |
| 0x00596940 | 67 | STL_unordered_map_free_sentinel_0x18 | Frees the 0x18-byte sentinel node buffer from an STL unordered_map. Called during map destruction. |
| 0x00596990 | 67 | STL_unordered_map_free_sentinel_0x3c | 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 | 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 | 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 | Frees the 0x28-byte sentinel node buffer from an STL unordered_map. Called during map destruction. |
| 0x00596AD0 | 67 | STL_unordered_map_free_sentinel_0x10 | 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 | Frees the 0x10-byte sentinel node buffer from an STL unordered_map (variant 2). Called during map destruction. |
| 0x00596BA0 | 131 | STL_unordered_map_dtor_0x10_nodes | 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 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. |
| 0x00598840 | 190 | STL_unordered_map_int__clear | Clears int-keyed unordered_map |
| 0x0059D5E0 | 235 | STL_vector_resize_fill_0059d5e0 | STL vector resize with fill value |
| 0x0059D6D0 | 235 | STL_vector_resize_fill_0059d6d0 | STL vector resize with fill value |
| 0x0059D7C0 | 235 | STL_vector_resize_fill_0059d7c0 | STL vector resize with fill value |
| 0x0059D8B0 | 235 | STL_vector_resize_fill_0059d8b0 | STL vector resize with fill value |
| 0x0059D9A0 | 235 | STL_vector_resize_fill_0059d9a0 | STL vector resize with fill value |
| 0x0059DA90 | 235 | STL_vector_resize_fill_0059da90 | STL vector resize with fill value |
| 0x0059DB80 | 235 | STL_vector_resize_fill_0059db80 | STL vector resize with fill value |
| 0x0059DC70 | 235 | STL_vector_resize_fill_0059dc70 | STL vector resize with fill value |
| 0x0059DD60 | 235 | STL_vector_resize_fill_0059dd60 | STL vector resize with fill value |
| 0x0059DE50 | 235 | STL_vector_resize_fill_0059de50 | STL vector resize with fill value |
| 0x0059DF40 | 22 | STL_hash_iterator_ctor_0059df40 | Constructs hash map iterator, sets vtable and copies list pointer |
| 0x0059DF60 | 22 | STL_hash_iterator_ctor_0059df60 | Constructs hash map iterator, sets vtable and copies list pointer |
| 0x0059DF80 | 68 | STL_hash_iterator_dtor_0059df80 | Destructor for hash iterator, frees 8-byte allocation |
| 0x0059DFD0 | 68 | STL_hash_iterator_dtor_0059dfd0 | Destructor for hash iterator, frees 8-byte allocation |
| 0x0059E060 | 426 | STL_unordered_map_rehash_0059e060 | Rehashes unordered_map buckets using FNV-1a on 4-byte key |
| 0x0059E210 | 362 | STL_unordered_map_rehash_0059e210 | Rehashes unordered_map buckets using integer key directly |
| 0x0059E380 | 362 | STL_unordered_map_rehash_0059e380 | Rehashes unordered_map buckets using integer key directly |
| 0x0059E4F0 | 362 | STL_unordered_map_rehash_0059e4f0 | Rehashes unordered_map buckets using integer key directly |
| 0x0059E660 | 362 | STL_unordered_map_rehash_0059e660 | Rehashes unordered_map buckets using integer key directly |
| 0x0059E7D0 | 362 | STL_unordered_map_rehash_0059e7d0 | Rehashes unordered_map buckets using integer key directly |
| 0x0059E940 | 512 | STL_unordered_map_rehash_string_key_0059e940 | Rehashes unordered_map with std::string keys using FNV-1a |
| 0x0059EB50 | 512 | STL_unordered_map_rehash_string_key_0059eb50 | Rehashes unordered_map with std::string keys using FNV-1a |
| 0x0059ED60 | 512 | STL_unordered_map_rehash_string_key_0059ed60 | Rehashes unordered_map with std::string keys using FNV-1a |
| 0x0059EF70 | 363 | STL_unordered_map_rehash_char_key_0059ef70 | Rehashes unordered_map with char/byte key |
| 0x0059F110 | 95 | STL_unordered_map_insert_node | Inserts pre-allocated node into hash bucket chain |
| 0x0059F170 | 22 | STL_hash_iterator_ctor_0059f170 | Constructs hash map iterator |
| 0x0059F190 | 22 | STL_hash_iterator_ctor_0059f190 | Constructs hash map iterator |
| 0x0059F1B0 | 197 | STL_vector_realloc_copy | Reallocates vector buffer, copies existing elements |
| 0x0059F350 | 478 | STL_unordered_map_erase_range_int_key | Erases range from unordered_map with FNV-1a 4-byte key |
| 0x0059F530 | 490 | STL_unordered_map_erase_range_string_key_0059f530 | Erases range from unordered_map with string key |
| 0x0059F720 | 490 | STL_unordered_map_erase_range_string_key_0059f720 | Erases range from unordered_map with string key |
| 0x0059F910 | 490 | STL_unordered_map_erase_range_string_key_0059f910 | Erases range from unordered_map with string key |
| 0x0059FB00 | 99 | STL_unordered_map_clear_0059fb00 | Clears all elements from unordered_map |
| 0x0059FB70 | 99 | STL_unordered_map_clear_0059fb70 | Clears all elements from unordered_map |
| 0x0059FBE0 | 99 | STL_unordered_map_clear_0059fbe0 | Clears all elements from unordered_map |
| 0x005A1110 | 103 | free_linked_list_nodes_0x10 | Frees singly-linked list of 0x10-byte nodes |
| 0x005A1AC0 | 173 | STL_map_destroy_subtree | Recursively destroys std::map subtree |
| 0x005A1C60 | 76 | STL_map_dtor_0x70_nodes_005a1c60 | Destroys std::map with 0x70-byte nodes |
| 0x005A1CC0 | 87 | STL_map_dtor_0x70_nodes_005a1cc0 | Destroys std::map with 0x70-byte nodes |
| 0x005A26E0 | 34 | memcpy_range_to_dest_005a26e0 | Copies memory range to destination |
| 0x005A2710 | 429 | STL_vector_insert_single_4byte | STL vector insert with 1.5x growth |
| 0x005A28E0 | 421 | STL_vector_insert_single_8byte | STL vector insert 8-byte element with growth |
| 0x005A2AB0 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x005A2B20 | 111 | free_linked_list_nodes_0x18 | Frees linked list of 0x18-byte nodes |
| 0x005A2B90 | 549 | STL_unordered_map_emplace_int_key | Emplaces into unordered_map with FNV-1a key |
| 0x005A2DC0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x005A2E30 | 31 | STL_fill_range_4byte_005a2e30 | STL template instantiation: STL fill range 4byte 005a2e30 |
| 0x005A2EF0 | 67 | free_optional_0x18_block | Frees optional 0x18-byte block |
| 0x005A2FB0 | 125 | STL_vector_dealloc_and_clear | Deallocates vector buffer, resets to zero |
| 0x005A3160 | 129 | STL_vector_dealloc_if_nonempty | Deallocates vector if non-null |
| 0x005A3250 | 103 | STL_unordered_map_clear_with_list_005a3250 | Clears unordered_map with 0x18-byte nodes |
| 0x005A40A0 | 235 | STL_vector_resize_fill_005a40a0 | STL vector resize with fill value |
| 0x005A4190 | 426 | STL_unordered_map_rehash_005a4190 | Rehashes unordered_map with FNV-1a key |
| 0x005A4340 | 129 | STL_vector_dealloc_8byte_if_nonempty | Deallocates 8-byte vector if non-null |
| 0x005A43D0 | 511 | STL_unordered_map_erase_range_int_key_0x18 | Erases range from unordered_map, frees 0x18-byte nodes |
| 0x005A45D0 | 10 | STL_throw_vector_too_long | Throws std::length_error vector too long |
| 0x005A4640 | 62 | STL_allocator_deallocate | STL std::allocator::deallocate - frees memory, handles oversized allocations by looking up original allocation pointer at ptr[-4] |
| 0x005B6930 | 75 | STL_tree_lower_bound | Generic STL red-black tree lower_bound operation. Walks tree to find first node >= key. Used by many classes (CUserSettings, CMapInfoMgr, CUINavMap, CEntity, etc.). |
| 0x005B6D60 | 517 | STL_tree_insert_node | STL std::_Tree_val::_Insert_node, inserts a node into red-black tree, performs rotations and recoloring to maintain balance. MSVC 2019 library function. |
| 0x005B6FF0 | 452 | STL_vector_insert_single_4byte_005b6ff0 | 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 | Inserts single 4-byte element into vector with 1.5x growth; delegates alloc to 005b8c70 |
| 0x005B7300 | 518 | STL_vector_insert_single_24byte | 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 | Inserts single 4-byte element into vector with 1.5x growth; identical pattern to 005b71c0 |
| 0x005B77A0 | 129 | STL_vector_clear_and_free_4byte | Frees vector buffer (aligned-aware), zeros begin/end/capacity pointers |
| 0x005B8AF0 | 90 | STL_vector__Change_array_005b8af0 | Reallocates a vector internal array to accommodate more elements. Copies existing data and frees old buffer. |
| 0x005B8B60 | 197 | STL_vector_reserve_4byte | Reserves capacity for param_2 4-byte elements; copies existing data, frees old buffer (aligned-aware) |
| 0x005B8C50 | 10 | STL_vector_throw_length_error_005b8c50 | Throws std::length_error with "vector too long" message |
| 0x005B8C60 | 10 | STL_vector_throw_length_error_005b8c60 | Throws std::length_error with "vector too long" message; identical to 005b8c50 |
| 0x005B8C70 | 92 | STL_vector_aligned_alloc_4byte | Allocates param_1*4 bytes for vector; uses aligned allocation (32-byte aligned) for buffers >= 0x1000 |
| 0x005B8CD0 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x005B8D10 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x005BAF30 | 281 | STL_string_concat_cstr | Concatenates std::string with C-string into new std::string result; handles SSO and heap allocation |
| 0x005BB050 | 260 | STL_vector_resize_24byte_fill | Resizes vector of 0x18-byte elements to param_2 count; initializes new elements with fill value, moves existing |
| 0x005BED20 | 34 | memcpy_range_to_dest_005bed20 | Copies memory range [param1, param2) to dest buffer, returns end pointer |
| 0x005BED50 | 34 | memcpy_range_to_dest_005bed50 | Copies memory range [param1, param2) to dest buffer, returns end pointer |
| 0x005BEE20 | 75 | _Find_lower_bound<> | STL tree lower_bound helper. Binary search for the first element not less than a key. |
| 0x005BEF80 | 37 | _Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_> | Value-initializes n elements in uninitialized memory by zeroing the range. |
| 0x005BEFB0 | 37 | _Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_> | Value-initializes n elements in uninitialized memory by zeroing the range. |
| 0x005BEFE0 | 28 | _Zero_range<> | Fills a memory range with zeros using memset. |
| 0x005BF000 | 28 | _Zero_range<> | Fills a memory range with zeros using memset. |
| 0x005BF020 | 34 | memcpy_range_to_dest_005bf020 | Copies memory range [param1, param2) to dest buffer, returns end pointer |
| 0x005BF050 | 34 | memcpy_range_to_dest_005bf050 | Copies memory range [param1, param2) to dest buffer, returns end pointer |
| 0x005BF6E0 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x005C17E0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x005C1C30 | 10 | STL_throw_deque_too_long_005c1c30 | Throws length_error with deque too long message |
| 0x005C1C40 | 10 | STL_throw_deque_too_long_005c1c40 | Throws std::length_error with "deque<T> too long" message. Duplicate of 005c1c30. |
| 0x005C2570 | 452 | STL_vector_4byte_insert_realloc_005c2570 | 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. |
| 0x005CA1F0 | 129 | STL_vector_int_clear_and_free | Clears and frees an STL vector<int>. 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 | Clears and frees an STL vector<int>. Identical to STL_vector_int_clear_and_free at 005ca1f0 -- duplicate code at a different address. |
| 0x005CA310 | 10 | STL_vector_throw_length_error_005ca310 | Throws std::length_error("vector too long"). Called when a vector exceeds its max size. |
| 0x005CA320 | 62 | std__allocator_uint_deallocate | std::allocator<unsigned int>::deallocate. Frees a buffer of (count * 4) bytes. Handles large allocations by checking the stored header pointer. |
| 0x005CD680 | 10 | STL_vector_xlength_error_party_recruit | Throws std::length_error("vector too long") for party recruit entry vector. Does not return. |
| 0x005D82E0 | 517 | STL_tree_insert_node_005d82e0 | 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. |
| 0x005D8720 | 362 | STL_vector_16byte_assign_range | std::vector assign for 16-byte elements |
| 0x005D8890 | 573 | STL_vector_76byte_emplace | std::vector emplace for 0x4C-byte elements |
| 0x005D8AE0 | 332 | STL_vector_16byte_emplace | std::vector emplace for 16-byte elements |
| 0x005D94C0 | 172 | STL_vector_76byte_destroy | Destroys vector of 0x4C elements |
| 0x005D9580 | 5 | STL_vector_16byte_free_buffer | Frees the 16-byte-aligned buffer of an std::vector and resets begin/end/capacity pointers to 0. |
| 0x005D9630 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x005DAAC0 | 704 | STL_rb_tree_erase_and_rebalance | RB tree erase with rebalancing |
| 0x005DAD80 | 517 | STL_rb_tree_insert_node | 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 | RB tree left rotation |
| 0x005DAFF0 | 88 | STL_rb_tree_rotate_right | RB tree right rotation |
| 0x005DB050 | 129 | STL_vector_16byte_free_buffer | Frees 16-byte vector buffer |
| 0x005DB0E0 | 122 | STL_vector_76byte_copy_range_forward | Copies 0x4C-byte range |
| 0x005DB160 | 36 | STL_vector_16byte_relocate_range | STL template instantiation: STL vector 16byte relocate range |
| 0x005DB190 | 120 | STL_vector_76byte_copy_construct_range | Copy-constructs 0x4C range |
| 0x005DB210 | 36 | STL_vector_16byte_relocate_with_offset | Relocates 16-byte with offset |
| 0x005DB240 | 10 | STL_throw_vector_too_long_005db240 | Throws vector too long |
| 0x005DB250 | 10 | STL_throw_vector_too_long_005db250 | Throws vector too long (second) |
| 0x005DB260 | 92 | STL_allocate_16byte_aligned | Allocates count*16 aligned |
| 0x005DB2C0 | 56 | STL_deallocate_76byte_buffer | Deallocates 0x4C buffer |
| 0x005DB300 | 58 | STL_deallocate_16byte_buffer | Deallocates 16-byte buffer |
| 0x005DB3B0 | 467 | STL_vector_28byte_emplace | Emplaces 0x1C element |
| 0x005DB5B0 | 330 | STL_vector_8byte_emplace | Emplaces 8-byte element |
| 0x005DB720 | 422 | STL_vector_12byte_emplace | Emplaces 12-byte element |
| 0x005DBAC0 | 630 | STL_partition_8byte_elements | Three-way partition for introsort |
| 0x005DBD40 | 177 | STL_heap_sift_down_8byte | Heap sift down for 8-byte |
| 0x005DBE00 | 603 | STL_introsort_8byte_elements | Introsort for 8-byte elements |
| 0x005DC060 | 70 | STL_relocate_12byte_range | Copies 12-byte range |
| 0x005DC260 | 178 | STL_vector_8byte_copy_construct | Copy constructs 8-byte vector |
| 0x005DC320 | 219 | STL_vector_12byte_copy_construct | Copy constructs 12-byte vector |
| 0x005DC480 | 202 | STL_vector_28byte_copy_construct | Copy constructs 0x1C vector |
| 0x005DC550 | 144 | STL_vector_extract_first_elements | Extracts first from pairs |
| 0x005DD9B0 | 517 | STL_tree_insert_node_005dd9b0 | 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 | 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 | Clears and frees a vector of 12-byte elements. Frees the backing allocation (with large-block alignment handling) and zeroes the 3 vector pointers. |
| 0x005DDDB0 | 49 | STL_copy_8byte_elements_005dddb0 | 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 | 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. |
| 0x005DDF00 | 43 | STL_relocate_8byte_elements | 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 | Throws std::length_error("vector too long") for 8-byte element vectors that exceed max_size. |
| 0x005DDF40 | 10 | STL_vector_throw_length_error_12byte | Throws std::length_error("vector too long") for 12-byte element vectors that exceed max_size. |
| 0x005DDF50 | 10 | STL_vector_throw_length_error_28byte | Throws std::length_error("vector too long") for 28-byte element vectors that exceed max_size. |
| 0x005DDF60 | 92 | STL_vector_allocate_8byte | 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 | 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 | Allocates memory for a vector of 28-byte (0x1c) elements. Handles aligned allocation for blocks > 0x1000 bytes. Max 0x924924A elements. |
| 0x005DE090 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x005DE0D0 | 61 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x005DE110 | 67 | STL_deallocate_28byte | 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. |
| 0x005DEAA0 | 467 | STL_vector_28byte_reallocate_insert | 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 | 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. |
| 0x005DEFA0 | 519 | STL_introsort_choose_pivot_4byte | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x005ED620 | 462 | STL_rbtree_insert_unique_string_key | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x005EED30 | 247 | STL_rbtree_emplace_composite_key | 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 | 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. |
| 0x005EF4E0 | 83 | operator++ | STL _Tree_unchecked_const_iterator::operator++ for std::set<unsigned int>. Advances the iterator to the next node in the red-black tree using in-order traversal. VS2019 library function. |
| 0x005EF540 | 83 | operator++ | STL _Tree_unchecked_const_iterator::operator++ for std::set<unsigned int>. Duplicate instance at different address. Advances the iterator to the next node in the red-black tree. VS2019 library function. |
| 0x005F6AC0 | 517 | Insert_node | STL _Tree_val::_Insert_node for std::set<unsigned int>. 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 _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 _Tree_val::_Insert_node for std::set<std::string>. Inserts a new node and rebalances the red-black tree. VS2019 library function. |
| 0x005F70F0 | 84 | STL_rbtree_rotate_left_005f70f0 | 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. |
| 0x005F7280 | 142 | STL_vector__Reallocate_exactly_005f7280 | std::vector<FileSymbolInfo>::_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 | 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. |
| 0x005F7470 | 52 | STL_vector_copy_elements_0x120 | STL template instantiation: STL vector copy elements 0x120 |
| 0x005F74B0 | 49 | STL_vector_move_elements_0x120 | 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 | Throws std::length_error("vector too long"). Called when a vector exceeds maximum capacity. |
| 0x005F7500 | 95 | STL_vector_allocate_0x120 | 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. |
| 0x005F7590 | 12 | STL_string_get_data_ptr | 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). |
| 0x005F7620 | 61 | deallocate | std::allocator<T>::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 | 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. |
| 0x005F8BE0 | 34 | STL_memcpy_range | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x005F9360 | 67 | STL_rbtree_free_sentinel_0x20 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x005FB650 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x005FB860 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x005FBA70 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x005FBC80 | 10 | STL_throw_vector_too_long_005fbc80 | Throws std::length_error with message "vector too long". Does not return. |
| 0x005FBC90 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x005FBCD0 | 34 | STL_uninitialized_copy_range_to_dest | 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 | 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 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 | 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. |
| 0x005FEB20 | 129 | STL_vector_int_free | 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 | 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 | Throws std::length_error with message 'vector too long'. Called when vector capacity would exceed max_size. |
| 0x005FEC90 | 62 | deallocate | std::allocator::deallocate for 4-byte elements. Handles MSVC aligned allocation (checks -4 header for large blocks). Multiple template instantiations (uint, CHN*, etc.). |
| 0x005FED40 | 34 | memcpy_range_to_dest_005fed40 | 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 vector<int> 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. |
| 0x00601BB0 | 10 | STL_vector_throw_length_error_00601bb0 | Throws std::length_error with message "vector too long". Called when vector exceeds maximum size. |
| 0x006023D0 | 62 | deallocate | STL allocator::deallocate. Frees aligned memory block, handling large allocations (>0xFFF bytes) that have a stored original pointer at offset -4 for alignment recovery. |
| 0x00602B30 | 34 | memcpy_range_00602b30 | 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 vector<int> 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. |
| 0x00603050 | 129 | STL_vector_int_clear_and_deallocate | Clears and deallocates an STL vector<int>. Frees the aligned buffer (handling large allocation alignment recovery), then zeroes the begin/end/capacity pointers. |
| 0x00605650 | 62 | deallocate | STL allocator deallocate for 4-byte elements. Frees memory with size validation for large allocations (>0xFFF bytes checks alignment header). |
| 0x0060A4B0 | 34 | STL_copy_range_memcpy | 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 | 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 _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<struct_std::_Parallelism_allocator<unsigned_int>_> | 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 _Zero_range: zero-fills a memory range [param_1, param_2) using memset. Returns param_2. |
| 0x0060A610 | 34 | STL_copy_range_memcpy_0060a610 | 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. |
| 0x0060B820 | 517 | STL_tree_insert_node_0060b820 | 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). |
| 0x0060BAF0 | 10 | STL_throw_deque_too_long_0060baf0 | Throws std::length_error with message 'deque<T> too long'. Called when deque capacity is exceeded. |
| 0x0060BD40 | 153 | STL_tree_node_value_init | 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 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 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 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 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 | 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 | 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 | 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 | 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 _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 _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 | 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). |
| 0x0060D000 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x0060E880 | 136 | STL_vector_allocate_raw_buffer | 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 | 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 | 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 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0060EC50 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0060EE60 | 129 | STL_vector_clear_and_free_uint64 | 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 | Throws std::length_error with message 'vector too long'. Does not return. |
| 0x0060EF00 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00610CD0 | 129 | STL_vector_ptr_free | Frees a vector of pointers: deallocates the backing buffer (with aligned allocation support for buffers > 0xFFF bytes), then zeroes the begin/end/capacity pointers. |
| 0x00610DD0 | 129 | STL_rbtree_lower_bound_string | 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. |
| 0x00611630 | 704 | STL_rbtree_extract_node_00611630 | 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 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 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. |
| 0x00612790 | 34 | memcpy_range_00612790 | 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 | 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 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 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). |
| 0x00613240 | 129 | STL_vector_deallocate_00613240 | 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 | Deallocates a std::vector's backing buffer. Identical to STL_vector_deallocate at 00613240, frees heap memory with aligned allocation support, zeroes vector pointers. |
| 0x00614060 | 10 | STL_vector_xlength_error | Throws std::length_error with message "vector too long". Called when vector exceeds max size. |
| 0x00614070 | 10 | STL_vector_xlength_error_00614070 | Throws std::length_error with message "vector too long". Duplicate of STL_vector_xlength_error at different address. |
| 0x00614080 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x006140C0 | 62 | deallocate | STL allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x00617CC0 | 10 | STL_vector_throw_length_error_00617cc0 | Throws std::length_error with "vector too long" message. Used by vector implementations for overflow checks. |
| 0x00617CD0 | 10 | STL_vector_throw_length_error_00617cd0 | Throws std::length_error with "vector too long" message. Duplicate of 00617cc0, used by a different vector instantiation. |
| 0x00617CE0 | 62 | deallocate | 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). |
| 0x0061DDF0 | 147 | STL_rbtree_node_ctor_int_key | Red-black tree node constructor for nodes with int key. Copies key from param_3, initializes two std::string fields (offsets 1-6 and 5-9) to empty. Used for map<int, pair<string,string>> type containers. |
| 0x0061DE90 | 159 | STL_rbtree_destroy_nodes_0x38 | 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 | 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 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 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Inserts or finds a node in a map<int, ...> 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 | Inserts or finds a node in a nested map<int, map<int,...>> 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 | 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 | 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. |
| 0x0061F440 | 517 | STL_tree_insert_node_0061f440 | 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 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). |
| 0x006328D0 | 224 | STL_string__insert_at_position | 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. |
| 0x006386D0 | 90 | STL_vector_Change_array | 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 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. |
| 0x0063DA60 | 36 | std__Facet_base__scalar_deleting_dtor | 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. |
| 0x00642160 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00642370 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x006429B0 | 171 | STL_vector_clear_and_free | Clears a std::vector by zeroing all elements, then freeing the backing buffer. Sets begin/end/capacity pointers to null. |
| 0x006451C0 | 102 | STL_unordered_map__find_short_key_a | Finds element by 2-byte key using FNV-1a hash A |
| 0x00645230 | 102 | STL_unordered_map__find_short_key_b | Finds element by 2-byte key using FNV-1a hash B |
| 0x006452A0 | 32 | STL_fnv1a_hash_2byte_seeded | 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 | Walks linked list freeing 0x38-byte nodes; releases vtable ref at node+0xD before freeing each node |
| 0x00645360 | 34 | STL_fnv1a_hash_2byte | 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 | Returns true if the pointed-to value is non-zero. Simple boolean conversion / null check. |
| 0x006453A0 | 363 | STL_unordered_map__insert_or_find_a | Insert or find in unordered_map variant A |
| 0x00645510 | 363 | STL_unordered_map__insert_or_find_b | Insert or find in unordered_map variant B |
| 0x00645680 | 363 | STL_unordered_map__insert_or_find_c | Insert or find in unordered_map variant C |
| 0x006457F0 | 363 | STL_unordered_map__insert_or_find_d | Insert or find in unordered_map variant D |
| 0x00645960 | 363 | STL_unordered_map__insert_or_find_e | Insert or find in unordered_map variant E |
| 0x00645AD0 | 363 | STL_unordered_map__insert_or_find_f | Insert or find in unordered_map variant F |
| 0x00645C40 | 363 | STL_unordered_map__insert_or_find_g | Insert or find in unordered_map variant G |
| 0x00645DB0 | 363 | STL_unordered_map__insert_or_find_h | Insert or find in unordered_map variant H |
| 0x00645F20 | 363 | STL_unordered_map__insert_or_find_i | Insert or find in unordered_map variant I |
| 0x00646090 | 363 | STL_unordered_map__insert_or_find_j | Insert or find in unordered_map variant J |
| 0x00646200 | 363 | STL_unordered_map__insert_or_find_k | Insert or find in unordered_map variant K |
| 0x00646370 | 363 | STL_unordered_map__insert_or_find_l | Insert or find in unordered_map variant L |
| 0x006464E0 | 363 | STL_unordered_map__insert_or_find_m | Insert or find in unordered_map variant M |
| 0x00646650 | 612 | STL_unordered_map__emplace_with_value | Emplaces key-value pair with optional value ctor |
| 0x006468C0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x00646930 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006469A0 | 31 | STL_fill_range_a | STL template instantiation: STL fill range a |
| 0x006469C0 | 31 | STL_fill_range_b | STL template instantiation: STL fill range b |
| 0x006543B0 | 68 | STL_unordered_map__contains_key | Checks if unordered_map contains key via FNV-1a |
| 0x00654D10 | 235 | STL_vector_assign_fill_00654d10 | STL vector assign with fill, reallocates if count exceeds capacity |
| 0x00654E00 | 235 | STL_vector_assign_fill_00654e00 | STL vector assign with fill, reallocates if count exceeds capacity |
| 0x00655690 | 92 | STL_allocate_aligned_array | Allocates aligned memory for array of 16-byte elements |
| 0x00656370 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006568A0 | 31 | STL_fill_dword_range_006568a0 | STL template instantiation: STL fill dword range 006568a0 |
| 0x006568C0 | 31 | STL_fill_dword_range_006568c0 | STL template instantiation: STL fill dword range 006568c0 |
| 0x00657170 | 125 | STL_vector_deallocate_00657170 | Deallocates vector buffer with aligned free, resets pointers to null |
| 0x00657200 | 125 | STL_vector_deallocate_00657200 | Deallocates vector buffer with aligned free, resets pointers to null |
| 0x00659FC0 | 320 | STL_vector_assign_or_fill_00659fc0 | STL vector assign: fills existing or reallocates and fills with value |
| 0x0065A110 | 235 | STL_vector_assign_fill_0065a110 | STL vector assign with fill, reallocates if count exceeds capacity |
| 0x0065B700 | 103 | STL_vector_resize_zeroed | STL vector resize: truncates if smaller, zero-fills new elements if larger, reallocates if exceeds capacity |
| 0x0065C490 | 34 | STL_uninitialized_copy_0065c490 | STL uninitialized_copy: memcpy from [param_1, param_2) range into param_3 destination |
| 0x0065C4C0 | 34 | STL_uninitialized_copy_0065c4c0 | STL uninitialized_copy: memcpy from [param_1, param_2) range into param_3 destination |
| 0x0065C4F0 | 37 | _Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_> | Value-initializes n elements in uninitialized memory by zeroing the range. |
| 0x0065C520 | 37 | _Uninitialized_value_construct_n<struct_std::_Parallelism_allocator<unsigned_int>_> | Value-initializes n elements in uninitialized memory by zeroing the range. |
| 0x0065C550 | 28 | _Zero_range<> | Fills a memory range with zeros using memset. |
| 0x0065C570 | 28 | _Zero_range<> | Fills a memory range with zeros using memset. |
| 0x0065C590 | 34 | STL_uninitialized_copy_0065c590 | STL uninitialized_copy: memcpy from [param_1, param_2) range into param_3 destination |
| 0x0065C5C0 | 34 | STL_uninitialized_copy_0065c5c0 | STL uninitialized_copy: memcpy from [param_1, param_2) range into param_3 destination |
| 0x0065D080 | 10 | STL_deque_xlength_error | Throws std::_Xlength_error("deque<T> too long") for the 8-byte element deque. |
| 0x0065D090 | 10 | STL_deque_xlength_error_0065d090 | Throws std::_Xlength_error("deque<T> too long") for the 12-byte element deque. |
| 0x0065D0C0 | 32 | std__ostream_write_string | 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 | 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 | 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 | 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<> | 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 | 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 | 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 | std::stringstream constructor. Initializes basic_iostream + basic_ios base classes, sets up the internal stringbuf streambuffer. Initializes internal string buffer pointers to 0. |
| 0x0065D870 | 156 | std__ostream_sentry_ctor | 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 | 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 | 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 | 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 | 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 | 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 | 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 | Clears rbtree nodes via CPacketStream__stub_0065c450 without deallocating the head node. Used when the tree structure will be reused. SEH protected wrapper. |
| 0x0065DCE0 | 69 | std__ostream_sentry_dtor | 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 | 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 | 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 | 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. |
| 0x0065EFA0 | 517 | Insert_node | 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<uint>, std::set<string>, and PCTableEntry sets. |
| 0x0065F1B0 | 247 | std__stringstream_str | 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. |
| 0x0065F350 | 152 | STL_map_node_construct_string_vector_0065f350 | 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 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 _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 | 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 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 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 | 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 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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 | 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 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 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 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 _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 | 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 | 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 | 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 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 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 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 | 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 | 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 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. |
| 0x00661160 | 144 | STL_init_2strings_and_vector | 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 _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 _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 _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 _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 _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 _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 _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 _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 _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 _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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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<string_vector> cleanup. |
| 0x00662190 | 87 | STL_tree_clear_and_delete_44byte_nodes_00662190 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x006676E0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x006678F0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00667B00 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00667D10 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00667F20 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00668130 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00668340 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0066BFB0 | 391 | STL_vector_NavEntry__assign | 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 | 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 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 | 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 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 | 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 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 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 | 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 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. |
| 0x0066CA90 | 65 | STL_rbtree_NavEntry__destroy_value | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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 | 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. |
| 0x0066CF40 | 65 | STL_rbtree_NavEntry__destroy_value_0066cf40 | Destroys a string value in an rbtree node for CNavigatorEntry. Wrapper around STL_string_dtor. Second instantiation for a different container/node type. |
| 0x0066FB50 | 517 | Insert_node | 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). |
| 0x0066FE20 | 10 | STL_vector_throw_length_error_0066fe20 | Throws std::length_error with 'vector too long' message. Called when a vector exceeds its maximum size. |
| 0x0066FE30 | 92 | STL_vector_allocate_aligned_32 | 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 | Frees memory for a vector of 0x20-byte elements. For large allocations (> 0xFFF bytes), retrieves the original unaligned pointer from offset -4 before freeing. |
| 0x00671750 | 517 | STL_rbtree_insert_node | STL std::_Tree_val::_Insert_node. Red-black tree node insertion with rebalancing (rotations and recoloring). Library function from Visual Studio 2019. |
| 0x00671CF0 | 439 | STL_vector_8byte_insert_realloc_00671cf0 | 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 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 | 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 | 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 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 | 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 | Moves a single 16-byte element from source to destination. Copies 4 dwords and zeroes the source's middle fields (move semantics). |
| 0x00672880 | 129 | STL_vector_8byte_clear_and_free | 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 | 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. |
| 0x006737F0 | 93 | STL_vector_16byte_destroy_range | 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 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 | 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 template instantiation: STL copy pairs forward |
| 0x00673B20 | 45 | STL_copy_pairs_with_offset | 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 | Throws std::_Xlength_error("vector too long") - called when vector exceeds max_size. |
| 0x00673B60 | 10 | STL_vector_throw_length_error_00673b60 | Throws std::_Xlength_error("vector too long") - duplicate instance for a different vector template instantiation. |
| 0x00673B70 | 92 | STL_vector_allocate_8byte_00673b70 | 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 | phmap container_internal::Deallocate<8> - deallocates 8-byte aligned memory blocks. Handles aligned allocation bookkeeping for blocks >0xFFF. |
| 0x00674290 | 333 | STL_vector_push_back_8byte | 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 | 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 | 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 | 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 | 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 | 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<> | 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<> | 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<> | 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 | 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. |
| 0x00674FB0 | 303 | STL_string_grow_and_insert_fill | 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. |
| 0x006756E0 | 388 | STL_string_concat | 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. |
| 0x006775C0 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x00677620 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x00677680 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x0067CB80 | 704 | STL_rbtree_extract_and_rebalance_ongoing | 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 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 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 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0067D5D0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0067D7E0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0067D9F0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0067DC00 | 84 | STL_rbtree_rotate_left_ongoing | 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 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 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 | 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 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 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 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 | 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 template instantiation: STL copy 8byte elements 0067df10 |
| 0x0067DF40 | 45 | STL_move_8byte_elements_forward | 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 | 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 | 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 allocator deallocate. Handles aligned (>0xFFF) and normal deallocation paths. |
| 0x0067E2A0 | 79 | STL_string_erase | 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 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. |
| 0x00684F50 | 517 | STL_rbtree_insert_node_00684f50 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00685160 | 517 | STL_rbtree_insert_node_00685160 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00685370 | 517 | STL_rbtree_insert_node_00685370 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00685580 | 517 | STL_rbtree_insert_node_00685580 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00685790 | 517 | STL_rbtree_insert_node_00685790 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x006859A0 | 517 | STL_rbtree_insert_node_006859a0 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00685BB0 | 517 | STL_rbtree_insert_node_00685bb0 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00685DC0 | 517 | STL_rbtree_insert_node_00685dc0 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00685FD0 | 517 | STL_rbtree_insert_node_00685fd0 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x006861E0 | 517 | STL_rbtree_insert_node_006861e0 | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x00689A90 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x0068DC10 | 232 | STL_rbtree_copy_nodes_recursive | 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 | 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 | 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 | 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 | Recursively deletes red-black tree nodes of size 0x18 bytes. Same pattern as 0x14 variant. |
| 0x0068DF00 | 75 | _Find_lower_bound<> | STL tree lower_bound helper. Binary search for the first element not less than a key. |
| 0x0068DF50 | 75 | _Find_lower_bound<> | STL tree lower_bound helper. Binary search for the first element not less than a key. |
| 0x00695EC0 | 147 | STL_rbtree_ctor_with_sentinel | 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 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 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 | 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 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 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 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 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 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 rbtree full destructor. First destroys all child nodes via CEnchantMgr__rbtree_destroy_all_nodes thunk, then deletes the 0x1c-byte sentinel node. |
| 0x006969D0 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x00696A30 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x00696A90 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x0069A730 | 704 | STL_rbtree_extract_and_rebalance_0069a730 | 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 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 |
| 0x0069ACD0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0069AEE0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x0069B0F0 | 517 | STL_Tree_val_Insert_node | 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 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 red-black tree left rotation (second template instantiation). Same logic as STL_tree_rotate_left. |
| 0x0069B3C0 | 88 | STL_tree_rotate_right | 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 red-black tree right rotation (second template instantiation). Same logic as STL_tree_rotate_right. |
| 0x0069B480 | 95 | STL_allocate_array_24byte | 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 allocator for arrays of 28-byte (0x1c) elements. Checks for overflow, aligns large allocations to 32 bytes. |
| 0x0069B550 | 54 | STL_tree_find_key | STL tree key lookup using _Find_lower_bound. Returns true (in low byte) if key is found in the tree, false otherwise. |
| 0x0069D7B0 | 103 | STL_rbtree_destroy_nodes_recursive_0069d7b0 | 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 hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069D890 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069D900 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069D970 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069D9E0 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DA50 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DAC0 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DB30 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DBA0 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DC10 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DC80 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DCF0 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DD60 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DDD0 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DE40 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x0069DEB0 | 107 | STL_umap_find_8byte_key_0069deb0 | 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 | 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 | 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 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 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 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 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 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 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 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 | 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A03F0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A0460 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A04D0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A0540 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A05B0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A0620 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A0690 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A0700 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A0770 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A07E0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A0850 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A08C0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A0930 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A09A0 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A0A10 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006A14B0 | 476 | STL_unordered_string_set_insert_range | Inserts elements from a linked list range into an std::unordered_set<string>. 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 template instantiation: STL fill 006a1690 |
| 0x006A16B0 | 31 | STL_fill_006a16b0 | STL template instantiation: STL fill 006a16b0 |
| 0x006A16D0 | 31 | STL_fill_006a16d0 | STL template instantiation: STL fill 006a16d0 |
| 0x006A16F0 | 31 | STL_fill_006a16f0 | STL template instantiation: STL fill 006a16f0 |
| 0x006A1710 | 31 | STL_fill_006a1710 | STL template instantiation: STL fill 006a1710 |
| 0x006A1730 | 31 | STL_fill_006a1730 | STL template instantiation: STL fill 006a1730 |
| 0x006A1750 | 31 | STL_fill_006a1750 | STL template instantiation: STL fill 006a1750 |
| 0x006A1770 | 31 | STL_fill_006a1770 | STL template instantiation: STL fill 006a1770 |
| 0x006A1790 | 31 | STL_fill_006a1790 | STL template instantiation: STL fill 006a1790 |
| 0x006A17B0 | 31 | STL_fill_006a17b0 | STL template instantiation: STL fill 006a17b0 |
| 0x006A17D0 | 31 | STL_fill_range_4byte_006a17d0 | STL template instantiation: STL fill range 4byte 006a17d0 |
| 0x006A17F0 | 31 | STL_fill_range_4byte_006a17f0 | STL template instantiation: STL fill range 4byte 006a17f0 |
| 0x006A1810 | 31 | STL_fill_range_4byte_006a1810 | STL template instantiation: STL fill range 4byte 006a1810 |
| 0x006A1830 | 31 | STL_fill_range_4byte_006a1830 | STL template instantiation: STL fill range 4byte 006a1830 |
| 0x006A1850 | 31 | STL_fill_range_4byte_006a1850 | STL template instantiation: STL fill range 4byte 006a1850 |
| 0x006A1870 | 31 | STL_fill_range_4byte_006a1870 | STL template instantiation: STL fill range 4byte 006a1870 |
| 0x006A63D0 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x006A6430 | 83 | operator++ | Red-black tree iterator increment. Advances to the next in-order node. |
| 0x006B7810 | 235 | STL_vector_resize_and_fill_4byte_006b7810 | 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value |
| 0x006B8710 | 704 | STL_rbtree_extract_node_006b8710 | STL red-black tree node extraction with rebalancing for std::set/map erase |
| 0x006B89D0 | 426 | STL_umap_rehash_4byte_key_006b89d0 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B8B80 | 426 | STL_umap_rehash_4byte_key_006b8b80 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B8D30 | 426 | STL_umap_rehash_4byte_key_006b8d30 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B8EE0 | 426 | STL_umap_rehash_4byte_key_006b8ee0 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B9090 | 426 | STL_umap_rehash_4byte_key_006b9090 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B9240 | 426 | STL_umap_rehash_4byte_key_006b9240 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B93F0 | 426 | STL_umap_rehash_4byte_key_006b93f0 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B95A0 | 426 | STL_umap_rehash_4byte_key_006b95a0 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B9750 | 426 | STL_umap_rehash_4byte_key_006b9750 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B9900 | 426 | STL_umap_rehash_4byte_key_006b9900 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006B9AB0 | 362 | STL_umap_rehash_uint_key_006b9ab0 | STL unordered_map rehash: recalculates bucket assignments for uint key elements |
| 0x006B9C20 | 362 | STL_umap_rehash_uint_key_006b9c20 | STL unordered_map rehash: recalculates bucket assignments for uint key elements |
| 0x006B9D90 | 362 | STL_umap_rehash_uint_key_006b9d90 | STL unordered_map rehash: recalculates bucket assignments for uint key elements |
| 0x006B9F00 | 362 | STL_umap_rehash_uint_key_006b9f00 | STL unordered_map rehash: recalculates bucket assignments for uint key elements |
| 0x006BA070 | 362 | STL_umap_rehash_uint_key_006ba070 | STL unordered_map rehash: recalculates bucket assignments for uint key elements |
| 0x006BA1E0 | 424 | STL_umap_rehash_8byte_key | STL unordered_map rehash using JsonReader hash for 8-byte key comparison |
| 0x006BA3A0 | 95 | STL_umap_insert_at_bucket_006ba3a0 | STL unordered_map bucket insert: links new node into bucket chain at computed hash position |
| 0x006BA400 | 95 | STL_umap_insert_at_bucket_006ba400 | STL unordered_map bucket insert: links new node into bucket chain at computed hash position |
| 0x006BA460 | 95 | STL_umap_insert_at_bucket_006ba460 | STL unordered_map bucket insert: links new node into bucket chain at computed hash position |
| 0x006BA4C0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x006BA6D0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x006BA8E0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x006BAAF0 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x006BAD00 | 517 | Insert_node | Red-black tree node insertion with rebalancing. Standard STL _Tree_insert implementation. |
| 0x006BAF10 | 84 | STL_rbtree_rotate_left_006baf10 | STL red-black tree left rotation for rebalancing after insert/erase |
| 0x006BB120 | 88 | STL_rbtree_rotate_right_006bb120 | STL red-black tree right rotation for rebalancing after insert/erase |
| 0x006BB180 | 478 | STL_umap_erase_range_16byte_006bb180 | STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators |
| 0x006BB360 | 478 | STL_umap_erase_range_16byte_006bb360 | STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators |
| 0x006BB540 | 478 | STL_umap_erase_range_16byte_006bb540 | STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators |
| 0x006BB720 | 478 | STL_umap_erase_range_16byte_006bb720 | STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators |
| 0x006BB900 | 478 | STL_umap_erase_range_16byte_006bb900 | STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators |
| 0x006BBAE0 | 478 | STL_umap_erase_range_16byte_006bbae0 | STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators |
| 0x006BBCC0 | 478 | STL_umap_erase_range_16byte_006bbcc0 | STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators |
| 0x006BBEA0 | 597 | STL_umap_erase_range_80byte | STL unordered_map erase range: removes nodes (0x50 bytes each) with dtor calls between iterators |
| 0x006BC100 | 533 | STL_umap_erase_range_with_dtor | STL unordered_map erase range: removes nodes calling STL_umap_0069e380 dtor for each |
| 0x006BC320 | 534 | STL_umap_erase_range_44byte | STL unordered_map erase range: removes nodes (0x2c bytes each) with cleanup between iterators |
| 0x006BC540 | 95 | STL_allocate_aligned_24byte | Allocates count * 0x18 bytes with aligned allocation for large blocks |
| 0x006BC5A0 | 182 | STL_umap_clear_16byte_nodes_006bc5a0 | 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 unordered_map clear: erases range or walks list freeing 0x10 byte nodes and resets buckets |
| 0x006BC720 | 182 | STL_umap_clear_16byte_nodes_006bc720 | 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 unordered_map clear: erases range or walks list freeing 0x10 byte nodes and resets buckets |
| 0x006BC8A0 | 495 | STL_umap_clear_24byte_nodes | STL unordered_map clear: erases range or walks list freeing 0x18 byte nodes with JsonReader hash |
| 0x006BCA90 | 251 | STL_rbtree_find_and_extract | STL std::set find by uint key and extract node if found, returns pair(node_ptr, found) |
| 0x006BF820 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x006BFD40 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006BFE20 | 31 | STL_fill_4byte_range | STL template instantiation: STL fill 4byte range |
| 0x006BFE40 | 31 | STL_fill_4byte_range_006bfe40 | STL template instantiation: STL fill 4byte range 006bfe40 |
| 0x006C01B0 | 67 | STL_free_node_16byte_006c01b0 | Frees a single 0x10 byte node if pointer at offset 4 is non-null |
| 0x006C0200 | 67 | STL_free_node_12byte | Frees a single 0xc byte node if pointer at offset 4 is non-null |
| 0x006C0370 | 125 | STL_vector_free_buffer | Frees STL vector backing buffer with aligned deallocation and zeroes size/capacity pointers |
| 0x006C0400 | 125 | STL_vector_free_buffer_006c0400 | Frees STL vector backing buffer with aligned deallocation and zeroes size/capacity pointers |
| 0x006C0490 | 78 | STL_free_node_16byte_006c0490 | Frees a single 0x10 byte node if pointer at offset 4 is non-null, with SEH frame |
| 0x006C04E0 | 78 | STL_free_node_12byte_006c04e0 | Frees a single 0xc byte (12-byte) node if pointer at offset 4 is non-null, with SEH frame |
| 0x006C0770 | 103 | STL_umap_destroy_12byte_nodes | Walks linked list freeing all 0xc byte nodes, then frees sentinel node |
| 0x006C2B10 | 320 | STL_vector_resize_and_fill_4byte_006c2b10 | 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 vector resize: reallocates to param_2 elements of 4 bytes, fills with param_3 value |
| 0x006C2DD0 | 426 | STL_umap_rehash_4byte_key_006c2dd0 | STL unordered_map rehash: recalculates bucket assignments using FNV-1a hash on 4-byte key |
| 0x006C30C0 | 478 | STL_umap_erase_range_16byte_006c30c0 | STL unordered_map erase range: removes nodes (0x10 bytes each) between two iterators |
| 0x006C32A0 | 10 | STL_vector_throw_length_error_006c32a0 | Throws std::length_error("vector too long") - called when vector capacity is exceeded |
| 0x006C33A0 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x006C3410 | 99 | _Find_last<> | STL hash map helper. Finds the last node in a bucket chain for insertion. |
| 0x006C3480 | 147 | STL_umap_destroy_nodes_A | 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 | 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 | 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 | Returns true if the unordered_map's first field is non-zero (i.e., map is non-empty or initialized). |
| 0x006C3A20 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006C3A90 | 97 | fill<> | STL fill algorithm. Sets all elements in a range to a specified value. |
| 0x006C3C40 | 67 | STL_umap_free_sentinel_A | Frees unordered_map sentinel node (0xc bytes) at offset+4 if present. |
| 0x006C3C90 | 67 | STL_umap_free_sentinel_B | Frees unordered_map sentinel node (0x38 bytes) if present |
| 0x006C3CE0 | 67 | STL_umap_free_sentinel_C | Frees unordered_map sentinel node (0x38 bytes) at offset+4 if present. |
| 0x006C3D30 | 78 | STL_umap_free_node_C | Frees 0xc-byte node at offset+4 if present. Variant C of umap node free. |
Part 2 of STL: functions 2,062 to 4,139, 0x006C3D80 to 0x00B8BB80
No function in this part matches that. Search all 47,061 functions instead.